summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog76
-rw-r--r--Makefile.am2
-rw-r--r--Makefile.in53
-rw-r--r--aclocal.m46708
-rwxr-xr-xarminst.sh20
-rw-r--r--bindings/bcppmake/MainCLXTest.cpp21
-rw-r--r--bindings/bcppmake/MainTest.cpp21
-rw-r--r--bindings/bcppmake/clxtest.cpp21
-rw-r--r--bindings/bcppmake/sword.c23
-rw-r--r--bindings/bcppmake/test.cpp21
-rw-r--r--bindings/corba/java/Makefile5
-rw-r--r--bindings/corba/java/src/org/crosswire/sword/orb/SwordOrb.java25
-rw-r--r--bindings/corba/java/src/org/crosswire/util/Base64.java22
-rw-r--r--bindings/corba/java/src/org/crosswire/web/i18n/ContextStart.java.notyet10
-rw-r--r--bindings/corba/java/src/org/crosswire/web/i18n/TranslateTag.java87
-rw-r--r--bindings/corba/orbitcpp/server.cpp18
-rw-r--r--bindings/corba/orbitcpp/swordorb-impl.cpp32
-rw-r--r--bindings/corba/orbitcpp/swordorb-impl.hpp17
-rw-r--r--bindings/corba/orbitcpp/testclient.cpp18
-rw-r--r--bindings/corba/orbitcpp/webmgr.hpp17
-rw-r--r--bindings/corba/swordorb.idl18
-rw-r--r--bindings/flatapi.cpp5
-rw-r--r--bindings/gsoap/gsoapsword.cpp17
-rw-r--r--bindings/gsoap/gsoapsword.h17
-rw-r--r--bindings/gsoap/include/stdsoap.h493
-rwxr-xr-xbindings/gsoap/soapcppbin534312 -> 0 bytes
-rw-r--r--bindings/gsoap/stdsoap.obin79640 -> 0 bytes
-rw-r--r--bindings/gsoap/testclient.cpp17
-rw-r--r--bindings/swig/README4
-rwxr-xr-xbindings/swig/examples/mod2zmod.pl20
-rwxr-xr-xbindings/swig/markupcallback.h71
-rw-r--r--bindings/swig/package/Makefile.am2
-rw-r--r--bindings/swig/package/Makefile.in72
-rw-r--r--bindings/swig/package/aclocal.m49099
-rwxr-xr-xbindings/swig/package/config.guess36
-rwxr-xr-xbindings/swig/package/config.sub48
-rwxr-xr-xbindings/swig/package/configure18776
-rwxr-xr-xbindings/swig/package/depcomp33
-rwxr-xr-xbindings/swig/package/install-sh228
-rwxr-xr-x[-rw-r--r--]bindings/swig/package/ltmain.sh8448
-rwxr-xr-xbindings/swig/package/markupcallback.h71
-rwxr-xr-xbindings/swig/package/rendercallback.h218
-rwxr-xr-xbindings/swig/package/searcher.h74
-rw-r--r--bindings/swig/package/swlocale.i27
-rw-r--r--bindings/swig/package/swmgr.i2
-rw-r--r--bindings/swig/package/sword.i3
-rw-r--r--bindings/swig/package/versekey.i84
-rwxr-xr-xbindings/swig/rendercallback.h218
-rwxr-xr-xbindings/swig/searcher.h74
-rw-r--r--bindings/swig/swlocale.i27
-rw-r--r--bindings/swig/swmgr.i2
-rw-r--r--bindings/swig/sword.i3
-rw-r--r--bindings/swig/sword.pl21
-rw-r--r--bindings/swig/versekey.i84
-rw-r--r--bindings/swig/vstudio/libsword_csharpsword.vcproj4
-rwxr-xr-xbindings/usrinst.sh20
-rw-r--r--buildtest.cpp22
-rwxr-xr-xconfig.guess36
-rwxr-xr-xconfig.sub48
-rwxr-xr-xconfigure19705
-rw-r--r--configure.ac15
-rwxr-xr-xdepcomp33
-rw-r--r--doc/Doxyfile1380
-rw-r--r--doc/translation-template.conf997
-rw-r--r--examples/.cvsignore3
-rw-r--r--examples/Makefile.in42
-rw-r--r--examples/classes/Makefile2
-rw-r--r--examples/classes/ciphercng.cpp17
-rw-r--r--examples/classes/swmgrex.cpp16
-rw-r--r--examples/cmdline/.cvsignore7
-rw-r--r--examples/cmdline/Makefile.am4
-rw-r--r--examples/cmdline/Makefile.in71
-rw-r--r--examples/cmdline/bcppmake/cmdline.bpg81
-rw-r--r--examples/cmdline/bcppmake/listoptions.bpf11
-rw-r--r--examples/cmdline/bcppmake/listoptions.bpr96
-rw-r--r--examples/cmdline/bcppmake/lookup.bpf11
-rw-r--r--examples/cmdline/bcppmake/lookup.bpr96
-rw-r--r--examples/cmdline/bcppmake/outplain.bpf11
-rw-r--r--examples/cmdline/bcppmake/outplain.bpr96
-rw-r--r--examples/cmdline/bcppmake/outrender.bpf11
-rw-r--r--examples/cmdline/bcppmake/outrender.bpr96
-rw-r--r--examples/cmdline/bcppmake/search.bpf11
-rw-r--r--examples/cmdline/bcppmake/search.bpr96
-rw-r--r--examples/cmdline/bcppmake/threaded_search.bpf11
-rw-r--r--examples/cmdline/bcppmake/threaded_search.bpr96
-rw-r--r--examples/cmdline/bcppmake/verserangeparse.bpf11
-rw-r--r--examples/cmdline/bcppmake/verserangeparse.bpr96
-rw-r--r--examples/cmdline/listoptions.cpp21
-rw-r--r--examples/cmdline/lookup.cpp22
-rw-r--r--examples/cmdline/outplain.cpp77
-rw-r--r--examples/cmdline/outrender.cpp62
-rw-r--r--examples/cmdline/search.cpp32
-rwxr-xr-xexamples/cmdline/threaded_search.cpp20
-rw-r--r--examples/cmdline/verserangeparse.cpp17
-rw-r--r--examples/simple.cpp16
-rw-r--r--icu/.cvsignore3
-rw-r--r--icu/Makefile.in29
-rw-r--r--include/.cvsignore2
-rw-r--r--include/Makefile.am6
-rw-r--r--include/apocrypha.h219
-rw-r--r--include/canon.h575
-rw-r--r--include/canon_abbrevs.h548
-rw-r--r--include/canon_kjva.h262
-rw-r--r--include/canon_leningrad.h166
-rw-r--r--include/canon_mt.h166
-rw-r--r--include/canon_nrsv.h179
-rw-r--r--include/canon_nrsva.h271
-rw-r--r--include/canon_null.h44
-rw-r--r--include/config.h29
-rw-r--r--include/config.h.in21
-rw-r--r--include/curlftpt.h20
-rw-r--r--include/curlhttpt.h52
-rw-r--r--include/defs.h2
-rw-r--r--include/encfiltmgr.h1
-rw-r--r--include/filemgr.h4
-rw-r--r--include/flatapi.h4
-rw-r--r--include/ftplibftpt.h20
-rw-r--r--include/ftptrans.h42
-rw-r--r--include/installmgr.h183
-rw-r--r--include/listkey.h7
-rw-r--r--include/osisbook.h640
-rw-r--r--include/osishtmlhref.h4
-rw-r--r--include/osismorphsegmentation.h2
-rw-r--r--include/osisplain.h12
-rw-r--r--include/osisruby.h (renamed from include/scsuutf8.h)78
-rw-r--r--include/rawcom.h16
-rw-r--r--include/rawcom4.h13
-rw-r--r--include/rawgenbook.h5
-rw-r--r--include/rawld.h6
-rw-r--r--include/rawld4.h6
-rw-r--r--include/rawstr.h17
-rw-r--r--include/rawstr4.h17
-rw-r--r--include/rawtext.h19
-rw-r--r--include/rawtext4.h16
-rw-r--r--include/rawverse.h5
-rw-r--r--include/rawverse4.h5
-rw-r--r--include/regex.h545
-rw-r--r--include/roman.h2
-rw-r--r--include/swbuf.h22
-rw-r--r--include/swcom.h30
-rw-r--r--include/swconfig.h3
-rw-r--r--include/swgenbook.h10
-rw-r--r--include/swkey.h64
-rw-r--r--include/swld.h11
-rw-r--r--include/swlocale.h11
-rw-r--r--include/swmgr.h15
-rw-r--r--include/swmodule.h52
-rw-r--r--include/swtext.h16
-rw-r--r--include/teirtf.h1
-rw-r--r--include/treekey.h25
-rw-r--r--include/treekeyidx.h16
-rw-r--r--include/utf8arabicpoints.h40
-rw-r--r--include/utf8transliterator.h16
-rw-r--r--include/utilstr.h26
-rw-r--r--include/utilxml.h9
-rw-r--r--include/versekey.h269
-rw-r--r--include/versemgr.h163
-rw-r--r--include/versetreekey.h27
-rw-r--r--include/zcom.h16
-rw-r--r--include/zld.h8
-rw-r--r--include/zlib.h893
-rw-r--r--include/zstr.h11
-rw-r--r--include/ztext.h16
-rw-r--r--include/zverse.h8
-rwxr-xr-xinstall-sh228
-rw-r--r--lib/.cvsignore6
-rw-r--r--lib/Makefile.am2
-rw-r--r--lib/Makefile.in274
-rw-r--r--lib/bcppmake/libsword.bdsproj2
-rw-r--r--lib/bcppmake/libsword.bpf6
-rw-r--r--lib/bcppmake/libsword.bpr67
-rw-r--r--lib/bcppmake/libsword6icu.bpf2
-rw-r--r--lib/bcppmake/libsword6icu.bpr7
-rw-r--r--lib/vcppmake/vc7.1/libsword.vcproj5614
-rw-r--r--lib/vcppmake/vc8/libsword.vcproj217
-rw-r--r--locales.d/abbr.conf187
-rw-r--r--locales.d/af-utf8.conf316
-rw-r--r--locales.d/af.conf869
-rw-r--r--locales.d/ar_EG-cp1256.conf534
-rw-r--r--locales.d/ar_EG-utf8.conf319
-rw-r--r--locales.d/bg_BG-cp1251.conf342
-rw-r--r--locales.d/bg_BG-utf8.conf342
-rw-r--r--locales.d/cs-utf8.conf520
-rw-r--r--locales.d/cs.conf520
-rw-r--r--locales.d/cy-utf8.conf171
-rw-r--r--locales.d/cy.conf171
-rw-r--r--locales.d/da-utf8.conf812
-rw-r--r--locales.d/da.conf812
-rw-r--r--locales.d/de-utf8.conf509
-rw-r--r--locales.d/de.conf508
-rw-r--r--locales.d/de_abbrev-utf8.conf315
-rw-r--r--locales.d/de_abbrev.conf315
-rw-r--r--locales.d/en_GB.conf188
-rw-r--r--locales.d/es-utf8.conf447
-rw-r--r--locales.d/es.conf447
-rw-r--r--locales.d/et-utf8.conf602
-rw-r--r--locales.d/et.conf602
-rw-r--r--locales.d/et_abbr-utf8.conf604
-rw-r--r--locales.d/et_abbr.conf602
-rw-r--r--locales.d/fa-utf8.conf461
-rw-r--r--locales.d/fi-utf8.conf641
-rwxr-xr-xlocales.d/fi.conf641
-rw-r--r--locales.d/fr-utf8.conf1056
-rw-r--r--locales.d/fr.conf1054
-rw-r--r--locales.d/fr_abbrev-utf8.conf317
-rw-r--r--locales.d/fr_abbrev.conf329
-rw-r--r--locales.d/ga-utf8.conf347
-rw-r--r--locales.d/he-utf8.conf490
-rw-r--r--locales.d/hu-utf8.conf456
-rw-r--r--locales.d/hu.conf456
-rw-r--r--locales.d/id-utf8.conf465
-rw-r--r--locales.d/id.conf786
-rw-r--r--locales.d/it-utf8.conf975
-rw-r--r--locales.d/it.conf973
-rw-r--r--locales.d/ja-utf8.conf201
-rw-r--r--locales.d/ja.conf401
-rw-r--r--locales.d/ko-utf8.conf480
-rw-r--r--locales.d/ko.conf482
-rw-r--r--locales.d/ko_abbrev-utf8.conf264
-rw-r--r--locales.d/ko_abbrev.conf269
-rw-r--r--locales.d/la-utf8.conf147
-rw-r--r--locales.d/la.conf321
-rw-r--r--locales.d/lt-utf8.conf822
-rw-r--r--locales.d/mt-utf8.conf211
-rw-r--r--locales.d/nb-utf8.conf295
-rw-r--r--locales.d/nb.conf295
-rw-r--r--locales.d/nl-utf8.conf263
-rw-r--r--locales.d/nl.conf562
-rw-r--r--locales.d/no-utf8.conf572
-rw-r--r--locales.d/no.conf572
-rw-r--r--locales.d/pl-utf8.conf342
-rw-r--r--locales.d/pl.conf349
-rw-r--r--locales.d/pt-utf8.conf448
-rw-r--r--locales.d/pt.conf448
-rw-r--r--locales.d/pt_BR-utf8.conf450
-rw-r--r--locales.d/pt_BR.conf448
-rw-r--r--locales.d/ro-utf8.conf147
-rw-r--r--locales.d/ro.conf317
-rwxr-xr-xlocales.d/ru_RU-cp1251.conf1100
-rwxr-xr-xlocales.d/ru_RU-koi8-r.conf1100
-rw-r--r--locales.d/ru_RU-utf8.conf1098
-rw-r--r--locales.d/sk-utf8.conf687
-rw-r--r--locales.d/sk.conf690
-rw-r--r--locales.d/sl-utf8.conf254
-rw-r--r--locales.d/sl.conf544
-rw-r--r--locales.d/sv-utf8.conf672
-rw-r--r--locales.d/sv.conf671
-rw-r--r--locales.d/th-utf8.conf413
-rwxr-xr-xlocales.d/uk_UA-cp1251.conf1090
-rwxr-xr-xlocales.d/uk_UA-koi8-u.conf1090
-rw-r--r--locales.d/uk_UA-utf8.conf1088
-rw-r--r--locales.d/vi-utf8.conf483
-rw-r--r--locales.d/zh_TW-utf8.conf141
-rw-r--r--locales.d/zh_english-utf8.conf141
-rwxr-xr-x[-rw-r--r--]ltmain.sh8448
-rw-r--r--m4/libtool.m47373
-rw-r--r--m4/ltoptions.m4368
-rw-r--r--m4/ltsugar.m4123
-rw-r--r--m4/ltversion.m423
-rw-r--r--m4/lt~obsolete.m492
-rw-r--r--olb/Convert.cpp17
-rw-r--r--olb/Doinit.c17
-rw-r--r--olb/Getstrng.c17
-rw-r--r--olb/Getvrsn.c17
-rw-r--r--olb/Mainfrm.cpp17
-rw-r--r--olb/Mainfrm.h17
-rw-r--r--olb/Online.c17
-rw-r--r--olb/addstrongs.cpp17
-rw-r--r--olb/dumpav.cpp19
-rw-r--r--olb/olb2sword.cpp17
-rw-r--r--olb/prn2sword.cpp17
-rw-r--r--olb/prn2swordfrm.cpp17
-rw-r--r--olb/prn2swordfrm.h17
-rwxr-xr-xscripts/backupmake.sh5
-rwxr-xr-xscripts/mkswordtar4
-rwxr-xr-xscripts/restoremake.sh5
-rwxr-xr-xscripts/sapphire.cpp65
-rw-r--r--src/frontend/framework/femain.cpp17
-rw-r--r--src/frontend/im/hebrewmcim.cpp13
-rw-r--r--src/frontend/im/nullim.cpp17
-rw-r--r--src/frontend/im/swinputmeth.cpp12
-rw-r--r--src/frontend/swdisp.cpp16
-rw-r--r--src/frontend/swlog.cpp17
-rw-r--r--src/keys/genarray.c17
-rw-r--r--src/keys/listkey.cpp41
-rw-r--r--src/keys/strkey.cpp21
-rw-r--r--src/keys/swkey.cpp66
-rw-r--r--src/keys/treekey.cpp3
-rw-r--r--src/keys/treekeyidx.cpp35
-rw-r--r--src/keys/versekey.cpp1193
-rw-r--r--src/keys/versetreekey.cpp238
-rw-r--r--src/mgr/Makefile.am2
-rw-r--r--src/mgr/curlftpt.cpp20
-rw-r--r--src/mgr/curlhttpt.cpp178
-rw-r--r--src/mgr/encfiltmgr.cpp7
-rw-r--r--src/mgr/filemgr.cpp4
-rw-r--r--src/mgr/ftplibftpt.cpp19
-rw-r--r--src/mgr/ftptrans.cpp23
-rw-r--r--src/mgr/installmgr.cpp262
-rw-r--r--src/mgr/localemgr.cpp33
-rw-r--r--src/mgr/swconfig.cpp52
-rw-r--r--src/mgr/swlocale.cpp104
-rw-r--r--src/mgr/swmgr.cpp253
-rw-r--r--src/mgr/versemgr.cpp369
-rw-r--r--src/modules/comments/hrefcom/hrefcom.cpp25
-rw-r--r--src/modules/comments/rawcom/rawcom.cpp66
-rw-r--r--src/modules/comments/rawcom4/rawcom4.cpp71
-rw-r--r--src/modules/comments/rawfiles/rawfiles.cpp111
-rw-r--r--src/modules/comments/swcom.cpp84
-rw-r--r--src/modules/comments/zcom/zcom.cpp73
-rw-r--r--src/modules/common/entriesblk.cpp17
-rw-r--r--src/modules/common/lzsscomprs.cpp16
-rw-r--r--src/modules/common/rawstr.cpp140
-rw-r--r--src/modules/common/rawstr4.cpp140
-rw-r--r--src/modules/common/rawverse.cpp132
-rw-r--r--src/modules/common/rawverse4.cpp129
-rw-r--r--src/modules/common/swcipher.cpp17
-rw-r--r--src/modules/common/swcomprs.cpp17
-rw-r--r--src/modules/common/zipcomprs.cpp17
-rw-r--r--src/modules/common/zstr.cpp124
-rw-r--r--src/modules/common/zverse.cpp219
-rw-r--r--src/modules/filters/Makefile.am3
-rw-r--r--src/modules/filters/cipherfil.cpp15
-rw-r--r--src/modules/filters/gbffootnotes.cpp28
-rw-r--r--src/modules/filters/gbfheadings.cpp16
-rw-r--r--src/modules/filters/gbfhtml.cpp34
-rw-r--r--src/modules/filters/gbfhtmlhref.cpp37
-rw-r--r--src/modules/filters/gbfmorph.cpp17
-rw-r--r--src/modules/filters/gbfosis.cpp58
-rw-r--r--src/modules/filters/gbfplain.cpp17
-rw-r--r--src/modules/filters/gbfredletterwords.cpp17
-rw-r--r--src/modules/filters/gbfrtf.cpp17
-rw-r--r--src/modules/filters/gbfstrongs.cpp17
-rw-r--r--src/modules/filters/gbfthml.cpp34
-rw-r--r--src/modules/filters/gbfwebif.cpp35
-rw-r--r--src/modules/filters/gbfwordjs.cpp17
-rw-r--r--src/modules/filters/greeklexattribs.cpp17
-rw-r--r--src/modules/filters/latin1utf16.cpp19
-rw-r--r--src/modules/filters/latin1utf8.cpp17
-rw-r--r--src/modules/filters/osisfootnotes.cpp46
-rw-r--r--src/modules/filters/osisheadings.cpp57
-rw-r--r--src/modules/filters/osishtmlhref.cpp165
-rw-r--r--src/modules/filters/osislemma.cpp17
-rw-r--r--src/modules/filters/osismorph.cpp17
-rw-r--r--src/modules/filters/osismorphsegmentation.cpp17
-rw-r--r--src/modules/filters/osisosis.cpp68
-rw-r--r--src/modules/filters/osisplain.cpp71
-rw-r--r--src/modules/filters/osisredletterwords.cpp17
-rw-r--r--src/modules/filters/osisrtf.cpp83
-rw-r--r--src/modules/filters/osisruby.cpp93
-rw-r--r--src/modules/filters/osisscripref.cpp17
-rw-r--r--src/modules/filters/osisstrongs.cpp42
-rw-r--r--src/modules/filters/osisvariants.cpp17
-rw-r--r--src/modules/filters/osiswebif.cpp44
-rw-r--r--src/modules/filters/osiswordjs.cpp22
-rw-r--r--src/modules/filters/papyriplain.cpp17
-rw-r--r--src/modules/filters/plainfootnotes.cpp36
-rw-r--r--src/modules/filters/plainhtml.cpp36
-rw-r--r--src/modules/filters/rtfhtml.cpp36
-rw-r--r--src/modules/filters/scsuutf8.cpp226
-rw-r--r--src/modules/filters/swoptfilter.cpp19
-rw-r--r--src/modules/filters/teihtmlhref.cpp100
-rw-r--r--src/modules/filters/teiplain.cpp34
-rw-r--r--src/modules/filters/teirtf.cpp58
-rw-r--r--src/modules/filters/thmlfootnotes.cpp28
-rw-r--r--src/modules/filters/thmlgbf.cpp35
-rw-r--r--src/modules/filters/thmlheadings.cpp17
-rw-r--r--src/modules/filters/thmlhtml.cpp35
-rw-r--r--src/modules/filters/thmlhtmlhref.cpp38
-rw-r--r--src/modules/filters/thmllemma.cpp17
-rw-r--r--src/modules/filters/thmlmorph.cpp17
-rw-r--r--src/modules/filters/thmlosis.cpp48
-rw-r--r--src/modules/filters/thmlplain.cpp213
-rw-r--r--src/modules/filters/thmlrtf.cpp35
-rw-r--r--src/modules/filters/thmlscripref.cpp30
-rw-r--r--src/modules/filters/thmlstrongs.cpp17
-rw-r--r--src/modules/filters/thmlvariants.cpp17
-rw-r--r--src/modules/filters/thmlwebif.cpp35
-rw-r--r--src/modules/filters/thmlwordjs.cpp17
-rw-r--r--src/modules/filters/unicodertf.cpp17
-rw-r--r--src/modules/filters/utf16utf8.cpp17
-rw-r--r--src/modules/filters/utf8arabicpoints.cpp61
-rw-r--r--src/modules/filters/utf8arshaping.cpp24
-rw-r--r--src/modules/filters/utf8bidireorder.cpp24
-rw-r--r--src/modules/filters/utf8cantillation.cpp17
-rw-r--r--src/modules/filters/utf8greekaccents.cpp17
-rw-r--r--src/modules/filters/utf8hebrewpoints.cpp17
-rw-r--r--src/modules/filters/utf8html.cpp17
-rw-r--r--src/modules/filters/utf8latin1.cpp16
-rw-r--r--src/modules/filters/utf8nfc.cpp24
-rw-r--r--src/modules/filters/utf8nfkd.cpp24
-rw-r--r--src/modules/filters/utf8transliterator.cpp158
-rw-r--r--src/modules/filters/utf8utf16.cpp79
-rw-r--r--src/modules/genbook/rawgenbook/rawgenbook.cpp75
-rw-r--r--src/modules/genbook/swgenbook.cpp74
-rw-r--r--src/modules/lexdict/rawld/rawld.cpp99
-rw-r--r--src/modules/lexdict/rawld4/rawld4.cpp100
-rw-r--r--src/modules/lexdict/swld.cpp85
-rw-r--r--src/modules/lexdict/zld/zld.cpp96
-rw-r--r--src/modules/swmodule.cpp259
-rw-r--r--src/modules/tests/echomod.cpp16
-rw-r--r--src/modules/texts/rawtext/rawtext.cpp452
-rw-r--r--src/modules/texts/rawtext4/rawtext4.cpp453
-rw-r--r--src/modules/texts/swtext.cpp80
-rw-r--r--src/modules/texts/ztext/ztext.cpp83
-rw-r--r--src/utilfuns/Makefile.am2
-rw-r--r--src/utilfuns/regex.c5721
-rw-r--r--src/utilfuns/roman.cpp38
-rw-r--r--src/utilfuns/sub.c36
-rw-r--r--src/utilfuns/swbuf.cpp5
-rw-r--r--src/utilfuns/swversion.cpp17
-rw-r--r--src/utilfuns/url.cpp38
-rw-r--r--src/utilfuns/utilstr.cpp135
-rw-r--r--src/utilfuns/utilxml.cpp27
-rw-r--r--src/utilfuns/win32/dirent.cpp131
-rw-r--r--src/utilfuns/win32/dirent.h32
-rw-r--r--src/utilfuns/zlib/adler32.c48
-rw-r--r--src/utilfuns/zlib/compress.c68
-rw-r--r--src/utilfuns/zlib/crc32.c162
-rw-r--r--src/utilfuns/zlib/deflate.c1350
-rw-r--r--src/utilfuns/zlib/deflate.h318
-rw-r--r--src/utilfuns/zlib/gzio.c875
-rw-r--r--src/utilfuns/zlib/infblock.c403
-rw-r--r--src/utilfuns/zlib/infblock.h39
-rw-r--r--src/utilfuns/zlib/infcodes.c251
-rw-r--r--src/utilfuns/zlib/infcodes.h27
-rw-r--r--src/utilfuns/zlib/inffast.c183
-rw-r--r--src/utilfuns/zlib/inffast.h17
-rw-r--r--src/utilfuns/zlib/inffixed.h151
-rw-r--r--src/utilfuns/zlib/inflate.c366
-rw-r--r--src/utilfuns/zlib/inftrees.c454
-rw-r--r--src/utilfuns/zlib/inftrees.h58
-rw-r--r--src/utilfuns/zlib/infutil.c87
-rw-r--r--src/utilfuns/zlib/infutil.h98
-rw-r--r--src/utilfuns/zlib/maketree.c85
-rw-r--r--src/utilfuns/zlib/trees.c1214
-rw-r--r--src/utilfuns/zlib/trees.h128
-rw-r--r--src/utilfuns/zlib/uncompr.c58
-rw-r--r--src/utilfuns/zlib/zutil.c225
-rw-r--r--src/utilfuns/zlib/zutil.h220
-rw-r--r--sword.kdevprj16
-rw-r--r--tests/.cvsignore34
-rw-r--r--tests/Makefile.am4
-rw-r--r--tests/Makefile.in79
-rw-r--r--tests/bcppmake/libsword.bpf1
-rw-r--r--tests/bcppmake/libsword.bpr1
-rw-r--r--tests/casttest.cpp17
-rw-r--r--tests/ciphertest.cpp17
-rw-r--r--tests/complzss.cpp17
-rw-r--r--tests/compnone.cpp17
-rw-r--r--tests/compzip.cpp17
-rw-r--r--tests/configtest.cpp17
-rw-r--r--tests/cppunit/Makefile.in73
-rw-r--r--tests/cppunit/main.cpp22
-rw-r--r--tests/cppunit/stringmgr_test.cpp17
-rw-r--r--tests/cppunit/swbuf_test.cpp17
-rw-r--r--tests/cppunit/url_test.cpp17
-rw-r--r--tests/cppunit/versekey_test.cpp17
-rw-r--r--tests/filtertest.cpp64
-rw-r--r--tests/icutest.cpp23
-rw-r--r--tests/indextest.cpp19
-rw-r--r--tests/installmgrtest.cpp17
-rw-r--r--tests/introtest.cpp17
-rw-r--r--tests/keycast.cpp17
-rw-r--r--tests/keytest.cpp74
-rw-r--r--tests/lextest.cpp28
-rw-r--r--tests/listtest.cpp69
-rw-r--r--tests/localetest.cpp17
-rw-r--r--tests/mgrtest.cpp21
-rw-r--r--tests/modtest.cpp17
-rw-r--r--tests/outputcps.cpp17
-rw-r--r--tests/parsekey.cpp51
-rw-r--r--tests/rawldidxtest.cpp17
-rw-r--r--tests/refsystest.cpp17
-rw-r--r--tests/romantest.cpp17
-rw-r--r--tests/swaptest.cpp17
-rw-r--r--tests/swbuftest.cpp17
-rw-r--r--tests/testblocks.cpp17
-rw-r--r--tests/testsuite/.cvsignore1
-rw-r--r--tests/testsuite/listtest.good184
-rwxr-xr-xtests/testsuite/listtest.sh21
-rwxr-xr-xtests/testsuite/runall.sh20
-rwxr-xr-xtests/testsuite/runtest.sh22
-rw-r--r--tests/testsuite/versekey.good5
-rwxr-xr-xtests/testsuite/versekey.sh3
-rw-r--r--tests/testsuite/versekeytest.good43
-rwxr-xr-xtests/testsuite/versekeytest.sh21
-rw-r--r--tests/testsuite/versemgrtest.good32369
-rwxr-xr-xtests/testsuite/versemgrtest.sh21
-rw-r--r--tests/testsuite/verseparsing-utf8.good23
-rwxr-xr-xtests/testsuite/verseparsing-utf8.sh19
-rw-r--r--tests/testsuite/verseparsing.good311
-rwxr-xr-xtests/testsuite/verseparsing.sh39
-rwxr-xr-xtests/testsuite/xmltag.sh18
-rw-r--r--tests/tlitmgrtest.cpp17
-rw-r--r--tests/tmp/.cvsignore2
-rw-r--r--tests/translittest.cpp17
-rw-r--r--tests/versekeytest.cpp196
-rw-r--r--tests/versemgrtest.cpp59
-rw-r--r--tests/vtreekeytest.cpp91
-rw-r--r--tests/webiftest.cpp17
-rw-r--r--tests/xmltest.cpp17
-rwxr-xr-xusrinst.sh38
-rw-r--r--utilities/.cvsignore31
-rw-r--r--utilities/Makefile.am3
-rw-r--r--utilities/Makefile.in71
-rw-r--r--utilities/addcomment.cpp17
-rw-r--r--utilities/addgb.cpp16
-rw-r--r--utilities/addld.cpp17
-rw-r--r--utilities/addvs.cpp17
-rw-r--r--utilities/bcppmake/addgb.bpf11
-rw-r--r--utilities/bcppmake/addgb.bpr126
-rw-r--r--utilities/bcppmake/addld.bpf11
-rw-r--r--utilities/bcppmake/addld.bpr126
-rw-r--r--utilities/bcppmake/addvs.bpf11
-rw-r--r--utilities/bcppmake/addvs.bpr126
-rw-r--r--utilities/bcppmake/libsword.bpf1
-rw-r--r--utilities/bcppmake/libsword.bpr1
-rw-r--r--utilities/bcppmake/treeidxutil.bpf11
-rw-r--r--utilities/bcppmake/treeidxutil.bpr122
-rw-r--r--utilities/bcppmake/utilities.bpg29
-rw-r--r--utilities/bcppmake/vs2osisreftxt.bpf11
-rw-r--r--utilities/bcppmake/vs2osisreftxt.bpr122
-rw-r--r--utilities/cipherraw.cpp17
-rw-r--r--utilities/diatheke/.cvsignore5
-rw-r--r--utilities/diatheke/Makefile.in48
-rwxr-xr-xutilities/diatheke/cgi/dia-def.pl17
-rwxr-xr-xutilities/diatheke/cgi/diatheke.pl31
-rw-r--r--utilities/diatheke/corediatheke.cpp126
-rw-r--r--utilities/diatheke/corediatheke.h24
-rw-r--r--utilities/diatheke/diafiltmgr.h3
-rw-r--r--utilities/diatheke/diatheke.cpp22
-rw-r--r--utilities/diatheke/diatheke.dsp204
-rw-r--r--utilities/diatheke/diatheke.dsw44
-rw-r--r--utilities/diatheke/diatheke.vcproj709
-rw-r--r--utilities/diatheke/diathekemgr.cpp42
-rw-r--r--utilities/diatheke/diathekemgr.h25
-rw-r--r--utilities/diatheke/gbfcgi.cpp35
-rw-r--r--utilities/diatheke/gbfcgi.h39
-rw-r--r--utilities/diatheke/osiscgi.cpp35
-rw-r--r--utilities/diatheke/osiscgi.h37
-rwxr-xr-xutilities/diatheke/soap/sapouni.cgi16
-rwxr-xr-xutilities/diatheke/soap/soapatheke.pl17
-rw-r--r--utilities/diatheke/tcl/biblebot-diatheke.tcl19
-rw-r--r--utilities/diatheke/thmlcgi.cpp35
-rw-r--r--utilities/diatheke/thmlcgi.h37
-rw-r--r--utilities/emptyvss.cpp18
-rw-r--r--utilities/gbfidx.cpp19
-rw-r--r--utilities/genbookutil.cpp17
-rw-r--r--utilities/imp2gbs.cpp17
-rw-r--r--utilities/imp2ld.cpp278
-rw-r--r--utilities/imp2vs.cpp373
-rw-r--r--utilities/installmgr.cpp160
-rw-r--r--utilities/kylixmake/libsword.bpr1
-rw-r--r--utilities/lexdump.c25
-rw-r--r--utilities/mkfastmod.cpp21
-rw-r--r--utilities/mod2imp.cpp128
-rw-r--r--utilities/mod2osis.cpp51
-rw-r--r--utilities/mod2vpl.cpp17
-rw-r--r--utilities/mod2zmod.cpp49
-rw-r--r--utilities/mod2zmod2.cpp205
-rw-r--r--utilities/modwrite.cpp17
-rw-r--r--utilities/no13.c20
-rw-r--r--utilities/osis2mod.cpp1798
-rwxr-xr-xutilities/perl/cipherkeygen.pl22
-rwxr-xr-xutilities/perl/linkvers.pl18
-rwxr-xr-xutilities/perl/localecap.pl21
-rwxr-xr-xutilities/perl/mkvsmod.pl19
-rw-r--r--utilities/step2vpl.cpp17
-rw-r--r--utilities/stepdump.cpp17
-rw-r--r--utilities/sub.c58
-rw-r--r--utilities/tei2mod.cpp103
-rw-r--r--utilities/treeidxutil.cpp17
-rw-r--r--utilities/vcppmake/addgb.vcproj194
-rw-r--r--utilities/vcppmake/addld.vcproj194
-rw-r--r--utilities/vcppmake/addvs.vcproj194
-rw-r--r--utilities/vcppmake/cipherraw.vcproj194
-rw-r--r--utilities/vcppmake/emptyvss.vcproj194
-rw-r--r--utilities/vcppmake/imp2gbs.vcproj194
-rw-r--r--utilities/vcppmake/imp2ld.vcproj194
-rw-r--r--utilities/vcppmake/imp2vs.vcproj194
-rw-r--r--utilities/vcppmake/installmgr.vcproj194
-rw-r--r--utilities/vcppmake/mkfastmod.vcproj194
-rw-r--r--utilities/vcppmake/mod2imp.vcproj194
-rw-r--r--utilities/vcppmake/mod2osis.vcproj194
-rw-r--r--utilities/vcppmake/mod2vpl.vcproj194
-rw-r--r--utilities/vcppmake/mod2zmod.vcproj194
-rw-r--r--utilities/vcppmake/osis2mod.vcproj194
-rw-r--r--utilities/vcppmake/step2vpl.vcproj194
-rw-r--r--utilities/vcppmake/stepdump.vcproj194
-rw-r--r--utilities/vcppmake/tei2mod.vcproj194
-rw-r--r--utilities/vcppmake/treeidxutil.vcproj194
-rw-r--r--utilities/vcppmake/utilities.sln246
-rw-r--r--utilities/vcppmake/vs2osisref.vcproj194
-rw-r--r--utilities/vcppmake/vs2osisreftxt.vcproj194
-rw-r--r--utilities/vcppmake/xml2gbs.vcproj194
-rw-r--r--utilities/vpl2mod.cpp18
-rw-r--r--utilities/vpl2zmod2.cpp293
-rw-r--r--utilities/vs2osisref.cpp63
-rw-r--r--utilities/vs2osisreftxt.cpp50
-rw-r--r--utilities/xml2gbs.cpp17
601 files changed, 113207 insertions, 93610 deletions
diff --git a/ChangeLog b/ChangeLog
index 65e7190..950e752 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,81 @@
API ChangeLog
+* Release 1.6.0 *
+
+14-May-2009 Troy A. Griffitts <scribe@crosswire.org>
+ General cleanup and prep for release
+
+04-May-2009 Troy A. Griffitts <scribe@crosswire.org>
+ Added ability for (SWBuf("xxx") == (const char *)0) to
+ return false;
+ Added OSIS Header logic to accept:
+ <div subType="x-preverse" sID="xyz"/>
+ Added initial set of v11n schemes (Chris Little):
+ KJV, Leningrad, MT, KJVA, NRSV, NRSVA
+
+12-Apr-2009 Troy A. Griffitts <scribe@crosswire.org>
+ Added '.' feature for entryAttrib search, e.g,
+ Word//Lemma./G932/ will find in Lemma, Lemma.1, etc.
+ Added LocalePath feature in sword.conf
+
+06-Apr-2009 Joachim A. <jansorg@crosswire.org>
+ Added Maltese bookname translation prepared by C. S.
+
+30-Mar-2009 Ben Morgan
+ Added new methods to SWModule:
+ bool isLinked(SWKey *k1, SWKey *k2)
+ - are two entries linked
+ bool hasEntry(SWKey *k1)
+ - does an entry for the given key exist?
+ Added new methods to SWLD:
+ long getEntryCount()
+ - number of entries in the dictionary
+ getKeyForEntry(long entry)
+ - get the key for the nth entry
+ getEntryForKey(const char *key)
+ - get the index for the given key
+ Updated strongsPad to work with keys with a prefix of G or H
+ Fixed a bug in SWMgr which would load certain files in the
+ mods.d directory which shouldn't have been loaded.
+ Fix for divineName with non-ascii text in OSISHTMLHREF filter
+
+07-Feb-2009 Troy A. Griffitts <scribe@crosswire.org>
+ Added fallback checks for OS specific module
+ locations:
+ $ALLUSERSPROFILE/Application Data/sword
+
+ ~ additionally looked for at:
+ $HOMEDRIVE$HOMEPATH/Application Data
+
+ added ~/sword (note the absense of '.')
+
+26-Dec-2008 Troy A. Griffitts <scribe@crosswire.org>
+ Added list support in OSIS HTML conversion (ghellings)
+
+23-Dec-2008 Troy A. Griffitts <scribe@crosswire.org>
+ Added ignore of comment lines starting with '#'
+ in SWConfig processing
+ Added requirement to call setUserDisclaimerConfirmed
+ in InstallMgr before remote functions operate
+ Added refreshRemoteSourceConfiguration to sync a
+ local InstallMgr.conf with a master remote list
+ Added ability for InstallMgr to use username/passwd
+ supplied by either .conf or globally in c-tor
+ Added VerseMgr to abstract versification scheme
+ functionality
+ Included 1 versification scheme: KJV
+ Added param on SWBuf::stripPrefix to allow use more
+ like a safe string tokenizer to replace strtok
+
+
+16-Dec-2008 Joachim A. <jansorg@crosswire.org>
+ Added two Chinese bookname translations provided by
+ F. Lee
+
+03-Sep-2008 Troy A. Griffitts <scribe@crosswire.org>
+ Added getOSISRefRangeText to SWKey- not yetimplemented
+ ideally or even correctly for all SWKey types
+
* Release 1.5.11 *
14-May-2008 Troy A. Griffitts <scribe@crosswire.org>
diff --git a/Makefile.am b/Makefile.am
index fa0baca..0f618d1 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -6,6 +6,8 @@ AUTOMAKE_OPTIONS = 1.6
legalexport := no
+ACLOCAL_AMFLAGS = -I m4
+
##### Customizable stuff. Set it how you like it #####
# if building dll with gcc on windoze (www.mingw.org)
diff --git a/Makefile.in b/Makefile.in
index faad9fc..64ef1f0 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -1,8 +1,8 @@
-# Makefile.in generated by automake 1.10 from Makefile.am.
+# Makefile.in generated by automake 1.10.2 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -45,7 +45,10 @@ DIST_COMMON = README $(am__configure_deps) $(srcdir)/Makefile.am \
subdir = .
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/m4/acx_clucene.m4 \
- $(top_srcdir)/m4/cppunit.m4 $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/cppunit.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
@@ -57,7 +60,7 @@ PROGRAMS = $(noinst_PROGRAMS)
am_buildtest_OBJECTS = buildtest.$(OBJEXT)
buildtest_OBJECTS = $(am_buildtest_OBJECTS)
buildtest_DEPENDENCIES = $(top_builddir)/lib/libsword.la
-DEFAULT_INCLUDES = -I. -I$(top_builddir)/include@am__isrc@
+DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/include
depcomp = $(SHELL) $(top_srcdir)/depcomp
am__depfiles_maybe = depfiles
CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
@@ -135,14 +138,14 @@ CYGPATH_W = @CYGPATH_W@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
DLLTOOL = @DLLTOOL@
-ECHO = @ECHO@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
-F77 = @F77@
-FFLAGS = @FFLAGS@
+FGREP = @FGREP@
GENCCODE = @GENCCODE@
GENCMN = @GENCMN@
GENRB = @GENRB@
@@ -156,17 +159,23 @@ INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LD = @LD@
LDFLAGS = @LDFLAGS@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
+LIPO = @LIPO@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MKDIR_P = @MKDIR_P@
+NM = @NM@
+NMEDIT = @NMEDIT@
OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
@@ -189,7 +198,7 @@ abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
-ac_ct_F77 = @ac_ct_F77@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
@@ -223,6 +232,7 @@ libdir = @libdir@
libexecdir = @libexecdir@
localedir = @localedir@
localstatedir = @localstatedir@
+lt_ECHO = @lt_ECHO@
mandir = @mandir@
mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@
@@ -241,6 +251,7 @@ target_mingw32 = @target_mingw32@
target_os = @target_os@
target_system = @target_system@
target_vendor = @target_vendor@
+top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
with_conf = @with_conf@
@@ -252,6 +263,7 @@ AUTOMAKE_OPTIONS = 1.6
# sapphire will omit enciphering code when set to yes, so leave
# as no, unless you really know what you're doing
legalexport := no
+ACLOCAL_AMFLAGS = -I m4
##### Customizable stuff. Set it how you like it #####
@@ -456,7 +468,7 @@ clean-libtool:
-rm -rf .libs _libs
distclean-libtool:
- -rm -f libtool
+ -rm -f libtool config.lt
install-pkgconfigDATA: $(pkgconfig_DATA)
@$(NORMAL_INSTALL)
test -z "$(pkgconfigdir)" || $(MKDIR_P) "$(DESTDIR)$(pkgconfigdir)"
@@ -567,8 +579,8 @@ ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
mkid -fID $$unique
tags: TAGS
@@ -593,8 +605,8 @@ TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
test -n "$$unique" || unique=$$empty_fix; \
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
@@ -604,13 +616,12 @@ ctags: CTAGS
CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
tags=; \
- here=`pwd`; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
test -z "$(CTAGS_ARGS)$$tags$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
$$tags $$unique
@@ -684,6 +695,10 @@ dist-bzip2: distdir
tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2
$(am__remove_distdir)
+dist-lzma: distdir
+ tardir=$(distdir) && $(am__tar) | lzma -9 -c >$(distdir).tar.lzma
+ $(am__remove_distdir)
+
dist-tarZ: distdir
tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z
$(am__remove_distdir)
@@ -710,6 +725,8 @@ distcheck: dist
GZIP=$(GZIP_ENV) gunzip -c $(distdir).tar.gz | $(am__untar) ;;\
*.tar.bz2*) \
bunzip2 -c $(distdir).tar.bz2 | $(am__untar) ;;\
+ *.tar.lzma*) \
+ unlzma -c $(distdir).tar.lzma | $(am__untar) ;;\
*.tar.Z*) \
uncompress -c $(distdir).tar.Z | $(am__untar) ;;\
*.shar.gz*) \
@@ -863,8 +880,8 @@ ps-am:
.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
all all-am am--refresh check check-am clean clean-generic \
clean-libtool clean-noinstPROGRAMS ctags ctags-recursive dist \
- dist-all dist-bzip2 dist-gzip dist-hook dist-shar dist-tarZ \
- dist-zip distcheck distclean distclean-compile \
+ dist-all dist-bzip2 dist-gzip dist-hook dist-lzma dist-shar \
+ dist-tarZ dist-zip distcheck distclean distclean-compile \
distclean-generic distclean-hdr distclean-libtool \
distclean-tags distcleancheck distdir distuninstallcheck dvi \
dvi-am html html-am info info-am install install-am \
diff --git a/aclocal.m4 b/aclocal.m4
index 7d24aca..db69215 100644
--- a/aclocal.m4
+++ b/aclocal.m4
@@ -1,7 +1,7 @@
-# generated automatically by aclocal 1.10 -*- Autoconf -*-
+# generated automatically by aclocal 1.10.2 -*- Autoconf -*-
# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
-# 2005, 2006 Free Software Foundation, Inc.
+# 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -11,6580 +11,15 @@
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE.
-m4_if(m4_PACKAGE_VERSION, [2.61],,
-[m4_fatal([this file was generated for autoconf 2.61.
-You have another version of autoconf. If you want to use that,
-you should regenerate the build system entirely.], [63])])
+m4_ifndef([AC_AUTOCONF_VERSION],
+ [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
+m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.63],,
+[m4_warning([this file was generated for autoconf 2.63.
+You have another version of autoconf. It may work, but is not guaranteed to.
+If you have problems, you may need to regenerate the build system entirely.
+To do so, use the procedure documented by the package, typically `autoreconf'.])])
-# libtool.m4 - Configure libtool for the host system. -*-Autoconf-*-
-
-# serial 51 AC_PROG_LIBTOOL
-
-
-# AC_PROVIDE_IFELSE(MACRO-NAME, IF-PROVIDED, IF-NOT-PROVIDED)
-# -----------------------------------------------------------
-# If this macro is not defined by Autoconf, define it here.
-m4_ifdef([AC_PROVIDE_IFELSE],
- [],
- [m4_define([AC_PROVIDE_IFELSE],
- [m4_ifdef([AC_PROVIDE_$1],
- [$2], [$3])])])
-
-
-# AC_PROG_LIBTOOL
-# ---------------
-AC_DEFUN([AC_PROG_LIBTOOL],
-[AC_REQUIRE([_AC_PROG_LIBTOOL])dnl
-dnl If AC_PROG_CXX has already been expanded, run AC_LIBTOOL_CXX
-dnl immediately, otherwise, hook it in at the end of AC_PROG_CXX.
- AC_PROVIDE_IFELSE([AC_PROG_CXX],
- [AC_LIBTOOL_CXX],
- [define([AC_PROG_CXX], defn([AC_PROG_CXX])[AC_LIBTOOL_CXX
- ])])
-dnl And a similar setup for Fortran 77 support
- AC_PROVIDE_IFELSE([AC_PROG_F77],
- [AC_LIBTOOL_F77],
- [define([AC_PROG_F77], defn([AC_PROG_F77])[AC_LIBTOOL_F77
-])])
-
-dnl Quote A][M_PROG_GCJ so that aclocal doesn't bring it in needlessly.
-dnl If either AC_PROG_GCJ or A][M_PROG_GCJ have already been expanded, run
-dnl AC_LIBTOOL_GCJ immediately, otherwise, hook it in at the end of both.
- AC_PROVIDE_IFELSE([AC_PROG_GCJ],
- [AC_LIBTOOL_GCJ],
- [AC_PROVIDE_IFELSE([A][M_PROG_GCJ],
- [AC_LIBTOOL_GCJ],
- [AC_PROVIDE_IFELSE([LT_AC_PROG_GCJ],
- [AC_LIBTOOL_GCJ],
- [ifdef([AC_PROG_GCJ],
- [define([AC_PROG_GCJ], defn([AC_PROG_GCJ])[AC_LIBTOOL_GCJ])])
- ifdef([A][M_PROG_GCJ],
- [define([A][M_PROG_GCJ], defn([A][M_PROG_GCJ])[AC_LIBTOOL_GCJ])])
- ifdef([LT_AC_PROG_GCJ],
- [define([LT_AC_PROG_GCJ],
- defn([LT_AC_PROG_GCJ])[AC_LIBTOOL_GCJ])])])])
-])])# AC_PROG_LIBTOOL
-
-
-# _AC_PROG_LIBTOOL
-# ----------------
-AC_DEFUN([_AC_PROG_LIBTOOL],
-[AC_REQUIRE([AC_LIBTOOL_SETUP])dnl
-AC_BEFORE([$0],[AC_LIBTOOL_CXX])dnl
-AC_BEFORE([$0],[AC_LIBTOOL_F77])dnl
-AC_BEFORE([$0],[AC_LIBTOOL_GCJ])dnl
-
-# This can be used to rebuild libtool when needed
-LIBTOOL_DEPS="$ac_aux_dir/ltmain.sh"
-
-# Always use our own libtool.
-LIBTOOL='$(SHELL) $(top_builddir)/libtool'
-AC_SUBST(LIBTOOL)dnl
-
-# Prevent multiple expansion
-define([AC_PROG_LIBTOOL], [])
-])# _AC_PROG_LIBTOOL
-
-
-# AC_LIBTOOL_SETUP
-# ----------------
-AC_DEFUN([AC_LIBTOOL_SETUP],
-[AC_PREREQ(2.50)dnl
-AC_REQUIRE([AC_ENABLE_SHARED])dnl
-AC_REQUIRE([AC_ENABLE_STATIC])dnl
-AC_REQUIRE([AC_ENABLE_FAST_INSTALL])dnl
-AC_REQUIRE([AC_CANONICAL_HOST])dnl
-AC_REQUIRE([AC_CANONICAL_BUILD])dnl
-AC_REQUIRE([AC_PROG_CC])dnl
-AC_REQUIRE([AC_PROG_LD])dnl
-AC_REQUIRE([AC_PROG_LD_RELOAD_FLAG])dnl
-AC_REQUIRE([AC_PROG_NM])dnl
-
-AC_REQUIRE([AC_PROG_LN_S])dnl
-AC_REQUIRE([AC_DEPLIBS_CHECK_METHOD])dnl
-# Autoconf 2.13's AC_OBJEXT and AC_EXEEXT macros only works for C compilers!
-AC_REQUIRE([AC_OBJEXT])dnl
-AC_REQUIRE([AC_EXEEXT])dnl
-dnl
-
-AC_LIBTOOL_SYS_MAX_CMD_LEN
-AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE
-AC_LIBTOOL_OBJDIR
-
-AC_REQUIRE([_LT_AC_SYS_COMPILER])dnl
-_LT_AC_PROG_ECHO_BACKSLASH
-
-case $host_os in
-aix3*)
- # AIX sometimes has problems with the GCC collect2 program. For some
- # reason, if we set the COLLECT_NAMES environment variable, the problems
- # vanish in a puff of smoke.
- if test "X${COLLECT_NAMES+set}" != Xset; then
- COLLECT_NAMES=
- export COLLECT_NAMES
- fi
- ;;
-esac
-
-# Sed substitution that helps us do robust quoting. It backslashifies
-# metacharacters that are still active within double-quoted strings.
-Xsed='sed -e 1s/^X//'
-[sed_quote_subst='s/\([\\"\\`$\\\\]\)/\\\1/g']
-
-# Same as above, but do not quote variable references.
-[double_quote_subst='s/\([\\"\\`\\\\]\)/\\\1/g']
-
-# Sed substitution to delay expansion of an escaped shell variable in a
-# double_quote_subst'ed string.
-delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g'
-
-# Sed substitution to avoid accidental globbing in evaled expressions
-no_glob_subst='s/\*/\\\*/g'
-
-# Constants:
-rm="rm -f"
-
-# Global variables:
-default_ofile=libtool
-can_build_shared=yes
-
-# All known linkers require a `.a' archive for static linking (except MSVC,
-# which needs '.lib').
-libext=a
-ltmain="$ac_aux_dir/ltmain.sh"
-ofile="$default_ofile"
-with_gnu_ld="$lt_cv_prog_gnu_ld"
-
-AC_CHECK_TOOL(AR, ar, false)
-AC_CHECK_TOOL(RANLIB, ranlib, :)
-AC_CHECK_TOOL(STRIP, strip, :)
-
-old_CC="$CC"
-old_CFLAGS="$CFLAGS"
-
-# Set sane defaults for various variables
-test -z "$AR" && AR=ar
-test -z "$AR_FLAGS" && AR_FLAGS=cru
-test -z "$AS" && AS=as
-test -z "$CC" && CC=cc
-test -z "$LTCC" && LTCC=$CC
-test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS
-test -z "$DLLTOOL" && DLLTOOL=dlltool
-test -z "$LD" && LD=ld
-test -z "$LN_S" && LN_S="ln -s"
-test -z "$MAGIC_CMD" && MAGIC_CMD=file
-test -z "$NM" && NM=nm
-test -z "$SED" && SED=sed
-test -z "$OBJDUMP" && OBJDUMP=objdump
-test -z "$RANLIB" && RANLIB=:
-test -z "$STRIP" && STRIP=:
-test -z "$ac_objext" && ac_objext=o
-
-# Determine commands to create old-style static archives.
-old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs'
-old_postinstall_cmds='chmod 644 $oldlib'
-old_postuninstall_cmds=
-
-if test -n "$RANLIB"; then
- case $host_os in
- openbsd*)
- old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib"
- ;;
- *)
- old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib"
- ;;
- esac
- old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib"
-fi
-
-_LT_CC_BASENAME([$compiler])
-
-# Only perform the check for file, if the check method requires it
-case $deplibs_check_method in
-file_magic*)
- if test "$file_magic_cmd" = '$MAGIC_CMD'; then
- AC_PATH_MAGIC
- fi
- ;;
-esac
-
-AC_PROVIDE_IFELSE([AC_LIBTOOL_DLOPEN], enable_dlopen=yes, enable_dlopen=no)
-AC_PROVIDE_IFELSE([AC_LIBTOOL_WIN32_DLL],
-enable_win32_dll=yes, enable_win32_dll=no)
-
-AC_ARG_ENABLE([libtool-lock],
- [AC_HELP_STRING([--disable-libtool-lock],
- [avoid locking (might break parallel builds)])])
-test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes
-
-AC_ARG_WITH([pic],
- [AC_HELP_STRING([--with-pic],
- [try to use only PIC/non-PIC objects @<:@default=use both@:>@])],
- [pic_mode="$withval"],
- [pic_mode=default])
-test -z "$pic_mode" && pic_mode=default
-
-# Use C for the default configuration in the libtool script
-tagname=
-AC_LIBTOOL_LANG_C_CONFIG
-_LT_AC_TAGCONFIG
-])# AC_LIBTOOL_SETUP
-
-
-# _LT_AC_SYS_COMPILER
-# -------------------
-AC_DEFUN([_LT_AC_SYS_COMPILER],
-[AC_REQUIRE([AC_PROG_CC])dnl
-
-# If no C compiler was specified, use CC.
-LTCC=${LTCC-"$CC"}
-
-# If no C compiler flags were specified, use CFLAGS.
-LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
-
-# Allow CC to be a program name with arguments.
-compiler=$CC
-])# _LT_AC_SYS_COMPILER
-
-
-# _LT_CC_BASENAME(CC)
-# -------------------
-# Calculate cc_basename. Skip known compiler wrappers and cross-prefix.
-AC_DEFUN([_LT_CC_BASENAME],
-[for cc_temp in $1""; do
- case $cc_temp in
- compile | *[[\\/]]compile | ccache | *[[\\/]]ccache ) ;;
- distcc | *[[\\/]]distcc | purify | *[[\\/]]purify ) ;;
- \-*) ;;
- *) break;;
- esac
-done
-cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
-])
-
-
-# _LT_COMPILER_BOILERPLATE
-# ------------------------
-# Check for compiler boilerplate output or warnings with
-# the simple compiler test code.
-AC_DEFUN([_LT_COMPILER_BOILERPLATE],
-[AC_REQUIRE([LT_AC_PROG_SED])dnl
-ac_outfile=conftest.$ac_objext
-echo "$lt_simple_compile_test_code" >conftest.$ac_ext
-eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
-_lt_compiler_boilerplate=`cat conftest.err`
-$rm conftest*
-])# _LT_COMPILER_BOILERPLATE
-
-
-# _LT_LINKER_BOILERPLATE
-# ----------------------
-# Check for linker boilerplate output or warnings with
-# the simple link test code.
-AC_DEFUN([_LT_LINKER_BOILERPLATE],
-[AC_REQUIRE([LT_AC_PROG_SED])dnl
-ac_outfile=conftest.$ac_objext
-echo "$lt_simple_link_test_code" >conftest.$ac_ext
-eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
-_lt_linker_boilerplate=`cat conftest.err`
-$rm conftest*
-])# _LT_LINKER_BOILERPLATE
-
-
-# _LT_AC_SYS_LIBPATH_AIX
-# ----------------------
-# Links a minimal program and checks the executable
-# for the system default hardcoded library path. In most cases,
-# this is /usr/lib:/lib, but when the MPI compilers are used
-# the location of the communication and MPI libs are included too.
-# If we don't find anything, use the default library path according
-# to the aix ld manual.
-AC_DEFUN([_LT_AC_SYS_LIBPATH_AIX],
-[AC_REQUIRE([LT_AC_PROG_SED])dnl
-AC_LINK_IFELSE(AC_LANG_PROGRAM,[
-lt_aix_libpath_sed='
- /Import File Strings/,/^$/ {
- /^0/ {
- s/^0 *\(.*\)$/\1/
- p
- }
- }'
-aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
-# Check for a 64-bit object if we didn't find anything.
-if test -z "$aix_libpath"; then
- aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
-fi],[])
-if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
-])# _LT_AC_SYS_LIBPATH_AIX
-
-
-# _LT_AC_SHELL_INIT(ARG)
-# ----------------------
-AC_DEFUN([_LT_AC_SHELL_INIT],
-[ifdef([AC_DIVERSION_NOTICE],
- [AC_DIVERT_PUSH(AC_DIVERSION_NOTICE)],
- [AC_DIVERT_PUSH(NOTICE)])
-$1
-AC_DIVERT_POP
-])# _LT_AC_SHELL_INIT
-
-
-# _LT_AC_PROG_ECHO_BACKSLASH
-# --------------------------
-# Add some code to the start of the generated configure script which
-# will find an echo command which doesn't interpret backslashes.
-AC_DEFUN([_LT_AC_PROG_ECHO_BACKSLASH],
-[_LT_AC_SHELL_INIT([
-# Check that we are running under the correct shell.
-SHELL=${CONFIG_SHELL-/bin/sh}
-
-case X$ECHO in
-X*--fallback-echo)
- # Remove one level of quotation (which was required for Make).
- ECHO=`echo "$ECHO" | sed 's,\\\\\[$]\\[$]0,'[$]0','`
- ;;
-esac
-
-echo=${ECHO-echo}
-if test "X[$]1" = X--no-reexec; then
- # Discard the --no-reexec flag, and continue.
- shift
-elif test "X[$]1" = X--fallback-echo; then
- # Avoid inline document here, it may be left over
- :
-elif test "X`($echo '\t') 2>/dev/null`" = 'X\t' ; then
- # Yippee, $echo works!
- :
-else
- # Restart under the correct shell.
- exec $SHELL "[$]0" --no-reexec ${1+"[$]@"}
-fi
-
-if test "X[$]1" = X--fallback-echo; then
- # used as fallback echo
- shift
- cat <<EOF
-[$]*
-EOF
- exit 0
-fi
-
-# The HP-UX ksh and POSIX shell print the target directory to stdout
-# if CDPATH is set.
-(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
-
-if test -z "$ECHO"; then
-if test "X${echo_test_string+set}" != Xset; then
-# find a string as large as possible, as long as the shell can cope with it
- for cmd in 'sed 50q "[$]0"' 'sed 20q "[$]0"' 'sed 10q "[$]0"' 'sed 2q "[$]0"' 'echo test'; do
- # expected sizes: less than 2Kb, 1Kb, 512 bytes, 16 bytes, ...
- if (echo_test_string=`eval $cmd`) 2>/dev/null &&
- echo_test_string=`eval $cmd` &&
- (test "X$echo_test_string" = "X$echo_test_string") 2>/dev/null
- then
- break
- fi
- done
-fi
-
-if test "X`($echo '\t') 2>/dev/null`" = 'X\t' &&
- echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` &&
- test "X$echo_testing_string" = "X$echo_test_string"; then
- :
-else
- # The Solaris, AIX, and Digital Unix default echo programs unquote
- # backslashes. This makes it impossible to quote backslashes using
- # echo "$something" | sed 's/\\/\\\\/g'
- #
- # So, first we look for a working echo in the user's PATH.
-
- lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
- for dir in $PATH /usr/ucb; do
- IFS="$lt_save_ifs"
- if (test -f $dir/echo || test -f $dir/echo$ac_exeext) &&
- test "X`($dir/echo '\t') 2>/dev/null`" = 'X\t' &&
- echo_testing_string=`($dir/echo "$echo_test_string") 2>/dev/null` &&
- test "X$echo_testing_string" = "X$echo_test_string"; then
- echo="$dir/echo"
- break
- fi
- done
- IFS="$lt_save_ifs"
-
- if test "X$echo" = Xecho; then
- # We didn't find a better echo, so look for alternatives.
- if test "X`(print -r '\t') 2>/dev/null`" = 'X\t' &&
- echo_testing_string=`(print -r "$echo_test_string") 2>/dev/null` &&
- test "X$echo_testing_string" = "X$echo_test_string"; then
- # This shell has a builtin print -r that does the trick.
- echo='print -r'
- elif (test -f /bin/ksh || test -f /bin/ksh$ac_exeext) &&
- test "X$CONFIG_SHELL" != X/bin/ksh; then
- # If we have ksh, try running configure again with it.
- ORIGINAL_CONFIG_SHELL=${CONFIG_SHELL-/bin/sh}
- export ORIGINAL_CONFIG_SHELL
- CONFIG_SHELL=/bin/ksh
- export CONFIG_SHELL
- exec $CONFIG_SHELL "[$]0" --no-reexec ${1+"[$]@"}
- else
- # Try using printf.
- echo='printf %s\n'
- if test "X`($echo '\t') 2>/dev/null`" = 'X\t' &&
- echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` &&
- test "X$echo_testing_string" = "X$echo_test_string"; then
- # Cool, printf works
- :
- elif echo_testing_string=`($ORIGINAL_CONFIG_SHELL "[$]0" --fallback-echo '\t') 2>/dev/null` &&
- test "X$echo_testing_string" = 'X\t' &&
- echo_testing_string=`($ORIGINAL_CONFIG_SHELL "[$]0" --fallback-echo "$echo_test_string") 2>/dev/null` &&
- test "X$echo_testing_string" = "X$echo_test_string"; then
- CONFIG_SHELL=$ORIGINAL_CONFIG_SHELL
- export CONFIG_SHELL
- SHELL="$CONFIG_SHELL"
- export SHELL
- echo="$CONFIG_SHELL [$]0 --fallback-echo"
- elif echo_testing_string=`($CONFIG_SHELL "[$]0" --fallback-echo '\t') 2>/dev/null` &&
- test "X$echo_testing_string" = 'X\t' &&
- echo_testing_string=`($CONFIG_SHELL "[$]0" --fallback-echo "$echo_test_string") 2>/dev/null` &&
- test "X$echo_testing_string" = "X$echo_test_string"; then
- echo="$CONFIG_SHELL [$]0 --fallback-echo"
- else
- # maybe with a smaller string...
- prev=:
-
- for cmd in 'echo test' 'sed 2q "[$]0"' 'sed 10q "[$]0"' 'sed 20q "[$]0"' 'sed 50q "[$]0"'; do
- if (test "X$echo_test_string" = "X`eval $cmd`") 2>/dev/null
- then
- break
- fi
- prev="$cmd"
- done
-
- if test "$prev" != 'sed 50q "[$]0"'; then
- echo_test_string=`eval $prev`
- export echo_test_string
- exec ${ORIGINAL_CONFIG_SHELL-${CONFIG_SHELL-/bin/sh}} "[$]0" ${1+"[$]@"}
- else
- # Oops. We lost completely, so just stick with echo.
- echo=echo
- fi
- fi
- fi
- fi
-fi
-fi
-
-# Copy echo and quote the copy suitably for passing to libtool from
-# the Makefile, instead of quoting the original, which is used later.
-ECHO=$echo
-if test "X$ECHO" = "X$CONFIG_SHELL [$]0 --fallback-echo"; then
- ECHO="$CONFIG_SHELL \\\$\[$]0 --fallback-echo"
-fi
-
-AC_SUBST(ECHO)
-])])# _LT_AC_PROG_ECHO_BACKSLASH
-
-
-# _LT_AC_LOCK
-# -----------
-AC_DEFUN([_LT_AC_LOCK],
-[AC_ARG_ENABLE([libtool-lock],
- [AC_HELP_STRING([--disable-libtool-lock],
- [avoid locking (might break parallel builds)])])
-test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes
-
-# Some flags need to be propagated to the compiler or linker for good
-# libtool support.
-case $host in
-ia64-*-hpux*)
- # Find out which ABI we are using.
- echo 'int i;' > conftest.$ac_ext
- if AC_TRY_EVAL(ac_compile); then
- case `/usr/bin/file conftest.$ac_objext` in
- *ELF-32*)
- HPUX_IA64_MODE="32"
- ;;
- *ELF-64*)
- HPUX_IA64_MODE="64"
- ;;
- esac
- fi
- rm -rf conftest*
- ;;
-*-*-irix6*)
- # Find out which ABI we are using.
- echo '[#]line __oline__ "configure"' > conftest.$ac_ext
- if AC_TRY_EVAL(ac_compile); then
- if test "$lt_cv_prog_gnu_ld" = yes; then
- case `/usr/bin/file conftest.$ac_objext` in
- *32-bit*)
- LD="${LD-ld} -melf32bsmip"
- ;;
- *N32*)
- LD="${LD-ld} -melf32bmipn32"
- ;;
- *64-bit*)
- LD="${LD-ld} -melf64bmip"
- ;;
- esac
- else
- case `/usr/bin/file conftest.$ac_objext` in
- *32-bit*)
- LD="${LD-ld} -32"
- ;;
- *N32*)
- LD="${LD-ld} -n32"
- ;;
- *64-bit*)
- LD="${LD-ld} -64"
- ;;
- esac
- fi
- fi
- rm -rf conftest*
- ;;
-
-x86_64-*kfreebsd*-gnu|x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*| \
-s390*-*linux*|sparc*-*linux*)
- # Find out which ABI we are using.
- echo 'int i;' > conftest.$ac_ext
- if AC_TRY_EVAL(ac_compile); then
- case `/usr/bin/file conftest.o` in
- *32-bit*)
- case $host in
- x86_64-*kfreebsd*-gnu)
- LD="${LD-ld} -m elf_i386_fbsd"
- ;;
- x86_64-*linux*)
- LD="${LD-ld} -m elf_i386"
- ;;
- ppc64-*linux*|powerpc64-*linux*)
- LD="${LD-ld} -m elf32ppclinux"
- ;;
- s390x-*linux*)
- LD="${LD-ld} -m elf_s390"
- ;;
- sparc64-*linux*)
- LD="${LD-ld} -m elf32_sparc"
- ;;
- esac
- ;;
- *64-bit*)
- libsuff=64
- case $host in
- x86_64-*kfreebsd*-gnu)
- LD="${LD-ld} -m elf_x86_64_fbsd"
- ;;
- x86_64-*linux*)
- LD="${LD-ld} -m elf_x86_64"
- ;;
- ppc*-*linux*|powerpc*-*linux*)
- LD="${LD-ld} -m elf64ppc"
- ;;
- s390*-*linux*)
- LD="${LD-ld} -m elf64_s390"
- ;;
- sparc*-*linux*)
- LD="${LD-ld} -m elf64_sparc"
- ;;
- esac
- ;;
- esac
- fi
- rm -rf conftest*
- ;;
-
-*-*-sco3.2v5*)
- # On SCO OpenServer 5, we need -belf to get full-featured binaries.
- SAVE_CFLAGS="$CFLAGS"
- CFLAGS="$CFLAGS -belf"
- AC_CACHE_CHECK([whether the C compiler needs -belf], lt_cv_cc_needs_belf,
- [AC_LANG_PUSH(C)
- AC_TRY_LINK([],[],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no])
- AC_LANG_POP])
- if test x"$lt_cv_cc_needs_belf" != x"yes"; then
- # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf
- CFLAGS="$SAVE_CFLAGS"
- fi
- ;;
-sparc*-*solaris*)
- # Find out which ABI we are using.
- echo 'int i;' > conftest.$ac_ext
- if AC_TRY_EVAL(ac_compile); then
- case `/usr/bin/file conftest.o` in
- *64-bit*)
- case $lt_cv_prog_gnu_ld in
- yes*) LD="${LD-ld} -m elf64_sparc" ;;
- *) LD="${LD-ld} -64" ;;
- esac
- ;;
- esac
- fi
- rm -rf conftest*
- ;;
-
-AC_PROVIDE_IFELSE([AC_LIBTOOL_WIN32_DLL],
-[*-*-cygwin* | *-*-mingw* | *-*-pw32*)
- AC_CHECK_TOOL(DLLTOOL, dlltool, false)
- AC_CHECK_TOOL(AS, as, false)
- AC_CHECK_TOOL(OBJDUMP, objdump, false)
- ;;
- ])
-esac
-
-need_locks="$enable_libtool_lock"
-
-])# _LT_AC_LOCK
-
-
-# AC_LIBTOOL_COMPILER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS,
-# [OUTPUT-FILE], [ACTION-SUCCESS], [ACTION-FAILURE])
-# ----------------------------------------------------------------
-# Check whether the given compiler option works
-AC_DEFUN([AC_LIBTOOL_COMPILER_OPTION],
-[AC_REQUIRE([LT_AC_PROG_SED])
-AC_CACHE_CHECK([$1], [$2],
- [$2=no
- ifelse([$4], , [ac_outfile=conftest.$ac_objext], [ac_outfile=$4])
- echo "$lt_simple_compile_test_code" > conftest.$ac_ext
- lt_compiler_flag="$3"
- # Insert the option either (1) after the last *FLAGS variable, or
- # (2) before a word containing "conftest.", or (3) at the end.
- # Note that $ac_compile itself does not contain backslashes and begins
- # with a dollar sign (not a hyphen), so the echo should work correctly.
- # The option is referenced via a variable to avoid confusing sed.
- lt_compile=`echo "$ac_compile" | $SED \
- -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
- -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \
- -e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&AS_MESSAGE_LOG_FD)
- (eval "$lt_compile" 2>conftest.err)
- ac_status=$?
- cat conftest.err >&AS_MESSAGE_LOG_FD
- echo "$as_me:__oline__: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
- if (exit $ac_status) && test -s "$ac_outfile"; then
- # The compiler can only warn and ignore the option if not recognized
- # So say no if there are warnings other than the usual output.
- $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp
- $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
- if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
- $2=yes
- fi
- fi
- $rm conftest*
-])
-
-if test x"[$]$2" = xyes; then
- ifelse([$5], , :, [$5])
-else
- ifelse([$6], , :, [$6])
-fi
-])# AC_LIBTOOL_COMPILER_OPTION
-
-
-# AC_LIBTOOL_LINKER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS,
-# [ACTION-SUCCESS], [ACTION-FAILURE])
-# ------------------------------------------------------------
-# Check whether the given compiler option works
-AC_DEFUN([AC_LIBTOOL_LINKER_OPTION],
-[AC_REQUIRE([LT_AC_PROG_SED])dnl
-AC_CACHE_CHECK([$1], [$2],
- [$2=no
- save_LDFLAGS="$LDFLAGS"
- LDFLAGS="$LDFLAGS $3"
- echo "$lt_simple_link_test_code" > conftest.$ac_ext
- if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
- # The linker can only warn and ignore the option if not recognized
- # So say no if there are warnings
- if test -s conftest.err; then
- # Append any errors to the config.log.
- cat conftest.err 1>&AS_MESSAGE_LOG_FD
- $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp
- $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
- if diff conftest.exp conftest.er2 >/dev/null; then
- $2=yes
- fi
- else
- $2=yes
- fi
- fi
- $rm conftest*
- LDFLAGS="$save_LDFLAGS"
-])
-
-if test x"[$]$2" = xyes; then
- ifelse([$4], , :, [$4])
-else
- ifelse([$5], , :, [$5])
-fi
-])# AC_LIBTOOL_LINKER_OPTION
-
-
-# AC_LIBTOOL_SYS_MAX_CMD_LEN
-# --------------------------
-AC_DEFUN([AC_LIBTOOL_SYS_MAX_CMD_LEN],
-[# find the maximum length of command line arguments
-AC_MSG_CHECKING([the maximum length of command line arguments])
-AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl
- i=0
- teststring="ABCD"
-
- case $build_os in
- msdosdjgpp*)
- # On DJGPP, this test can blow up pretty badly due to problems in libc
- # (any single argument exceeding 2000 bytes causes a buffer overrun
- # during glob expansion). Even if it were fixed, the result of this
- # check would be larger than it should be.
- lt_cv_sys_max_cmd_len=12288; # 12K is about right
- ;;
-
- gnu*)
- # Under GNU Hurd, this test is not required because there is
- # no limit to the length of command line arguments.
- # Libtool will interpret -1 as no limit whatsoever
- lt_cv_sys_max_cmd_len=-1;
- ;;
-
- cygwin* | mingw*)
- # On Win9x/ME, this test blows up -- it succeeds, but takes
- # about 5 minutes as the teststring grows exponentially.
- # Worse, since 9x/ME are not pre-emptively multitasking,
- # you end up with a "frozen" computer, even though with patience
- # the test eventually succeeds (with a max line length of 256k).
- # Instead, let's just punt: use the minimum linelength reported by
- # all of the supported platforms: 8192 (on NT/2K/XP).
- lt_cv_sys_max_cmd_len=8192;
- ;;
-
- amigaos*)
- # On AmigaOS with pdksh, this test takes hours, literally.
- # So we just punt and use a minimum line length of 8192.
- lt_cv_sys_max_cmd_len=8192;
- ;;
-
- netbsd* | freebsd* | openbsd* | darwin* | dragonfly*)
- # This has been around since 386BSD, at least. Likely further.
- if test -x /sbin/sysctl; then
- lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax`
- elif test -x /usr/sbin/sysctl; then
- lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax`
- else
- lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs
- fi
- # And add a safety zone
- lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
- lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
- ;;
-
- interix*)
- # We know the value 262144 and hardcode it with a safety zone (like BSD)
- lt_cv_sys_max_cmd_len=196608
- ;;
-
- osf*)
- # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure
- # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not
- # nice to cause kernel panics so lets avoid the loop below.
- # First set a reasonable default.
- lt_cv_sys_max_cmd_len=16384
- #
- if test -x /sbin/sysconfig; then
- case `/sbin/sysconfig -q proc exec_disable_arg_limit` in
- *1*) lt_cv_sys_max_cmd_len=-1 ;;
- esac
- fi
- ;;
- sco3.2v5*)
- lt_cv_sys_max_cmd_len=102400
- ;;
- sysv5* | sco5v6* | sysv4.2uw2*)
- kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null`
- if test -n "$kargmax"; then
- lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[[ ]]//'`
- else
- lt_cv_sys_max_cmd_len=32768
- fi
- ;;
- *)
- lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null`
- if test -n "$lt_cv_sys_max_cmd_len"; then
- lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
- lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
- else
- SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}}
- while (test "X"`$SHELL [$]0 --fallback-echo "X$teststring" 2>/dev/null` \
- = "XX$teststring") >/dev/null 2>&1 &&
- new_result=`expr "X$teststring" : ".*" 2>&1` &&
- lt_cv_sys_max_cmd_len=$new_result &&
- test $i != 17 # 1/2 MB should be enough
- do
- i=`expr $i + 1`
- teststring=$teststring$teststring
- done
- teststring=
- # Add a significant safety factor because C++ compilers can tack on massive
- # amounts of additional arguments before passing them to the linker.
- # It appears as though 1/2 is a usable value.
- lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2`
- fi
- ;;
- esac
-])
-if test -n $lt_cv_sys_max_cmd_len ; then
- AC_MSG_RESULT($lt_cv_sys_max_cmd_len)
-else
- AC_MSG_RESULT(none)
-fi
-])# AC_LIBTOOL_SYS_MAX_CMD_LEN
-
-
-# _LT_AC_CHECK_DLFCN
-# ------------------
-AC_DEFUN([_LT_AC_CHECK_DLFCN],
-[AC_CHECK_HEADERS(dlfcn.h)dnl
-])# _LT_AC_CHECK_DLFCN
-
-
-# _LT_AC_TRY_DLOPEN_SELF (ACTION-IF-TRUE, ACTION-IF-TRUE-W-USCORE,
-# ACTION-IF-FALSE, ACTION-IF-CROSS-COMPILING)
-# ---------------------------------------------------------------------
-AC_DEFUN([_LT_AC_TRY_DLOPEN_SELF],
-[AC_REQUIRE([_LT_AC_CHECK_DLFCN])dnl
-if test "$cross_compiling" = yes; then :
- [$4]
-else
- lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
- lt_status=$lt_dlunknown
- cat > conftest.$ac_ext <<EOF
-[#line __oline__ "configure"
-#include "confdefs.h"
-
-#if HAVE_DLFCN_H
-#include <dlfcn.h>
-#endif
-
-#include <stdio.h>
-
-#ifdef RTLD_GLOBAL
-# define LT_DLGLOBAL RTLD_GLOBAL
-#else
-# ifdef DL_GLOBAL
-# define LT_DLGLOBAL DL_GLOBAL
-# else
-# define LT_DLGLOBAL 0
-# endif
-#endif
-
-/* We may have to define LT_DLLAZY_OR_NOW in the command line if we
- find out it does not work in some platform. */
-#ifndef LT_DLLAZY_OR_NOW
-# ifdef RTLD_LAZY
-# define LT_DLLAZY_OR_NOW RTLD_LAZY
-# else
-# ifdef DL_LAZY
-# define LT_DLLAZY_OR_NOW DL_LAZY
-# else
-# ifdef RTLD_NOW
-# define LT_DLLAZY_OR_NOW RTLD_NOW
-# else
-# ifdef DL_NOW
-# define LT_DLLAZY_OR_NOW DL_NOW
-# else
-# define LT_DLLAZY_OR_NOW 0
-# endif
-# endif
-# endif
-# endif
-#endif
-
-#ifdef __cplusplus
-extern "C" void exit (int);
-#endif
-
-void fnord() { int i=42;}
-int main ()
-{
- void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
- int status = $lt_dlunknown;
-
- if (self)
- {
- if (dlsym (self,"fnord")) status = $lt_dlno_uscore;
- else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore;
- /* dlclose (self); */
- }
- else
- puts (dlerror ());
-
- exit (status);
-}]
-EOF
- if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext} 2>/dev/null; then
- (./conftest; exit; ) >&AS_MESSAGE_LOG_FD 2>/dev/null
- lt_status=$?
- case x$lt_status in
- x$lt_dlno_uscore) $1 ;;
- x$lt_dlneed_uscore) $2 ;;
- x$lt_dlunknown|x*) $3 ;;
- esac
- else :
- # compilation failed
- $3
- fi
-fi
-rm -fr conftest*
-])# _LT_AC_TRY_DLOPEN_SELF
-
-
-# AC_LIBTOOL_DLOPEN_SELF
-# ----------------------
-AC_DEFUN([AC_LIBTOOL_DLOPEN_SELF],
-[AC_REQUIRE([_LT_AC_CHECK_DLFCN])dnl
-if test "x$enable_dlopen" != xyes; then
- enable_dlopen=unknown
- enable_dlopen_self=unknown
- enable_dlopen_self_static=unknown
-else
- lt_cv_dlopen=no
- lt_cv_dlopen_libs=
-
- case $host_os in
- beos*)
- lt_cv_dlopen="load_add_on"
- lt_cv_dlopen_libs=
- lt_cv_dlopen_self=yes
- ;;
-
- mingw* | pw32*)
- lt_cv_dlopen="LoadLibrary"
- lt_cv_dlopen_libs=
- ;;
-
- cygwin*)
- lt_cv_dlopen="dlopen"
- lt_cv_dlopen_libs=
- ;;
-
- darwin*)
- # if libdl is installed we need to link against it
- AC_CHECK_LIB([dl], [dlopen],
- [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"],[
- lt_cv_dlopen="dyld"
- lt_cv_dlopen_libs=
- lt_cv_dlopen_self=yes
- ])
- ;;
-
- *)
- AC_CHECK_FUNC([shl_load],
- [lt_cv_dlopen="shl_load"],
- [AC_CHECK_LIB([dld], [shl_load],
- [lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-dld"],
- [AC_CHECK_FUNC([dlopen],
- [lt_cv_dlopen="dlopen"],
- [AC_CHECK_LIB([dl], [dlopen],
- [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"],
- [AC_CHECK_LIB([svld], [dlopen],
- [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"],
- [AC_CHECK_LIB([dld], [dld_link],
- [lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-dld"])
- ])
- ])
- ])
- ])
- ])
- ;;
- esac
-
- if test "x$lt_cv_dlopen" != xno; then
- enable_dlopen=yes
- else
- enable_dlopen=no
- fi
-
- case $lt_cv_dlopen in
- dlopen)
- save_CPPFLAGS="$CPPFLAGS"
- test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H"
-
- save_LDFLAGS="$LDFLAGS"
- wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\"
-
- save_LIBS="$LIBS"
- LIBS="$lt_cv_dlopen_libs $LIBS"
-
- AC_CACHE_CHECK([whether a program can dlopen itself],
- lt_cv_dlopen_self, [dnl
- _LT_AC_TRY_DLOPEN_SELF(
- lt_cv_dlopen_self=yes, lt_cv_dlopen_self=yes,
- lt_cv_dlopen_self=no, lt_cv_dlopen_self=cross)
- ])
-
- if test "x$lt_cv_dlopen_self" = xyes; then
- wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\"
- AC_CACHE_CHECK([whether a statically linked program can dlopen itself],
- lt_cv_dlopen_self_static, [dnl
- _LT_AC_TRY_DLOPEN_SELF(
- lt_cv_dlopen_self_static=yes, lt_cv_dlopen_self_static=yes,
- lt_cv_dlopen_self_static=no, lt_cv_dlopen_self_static=cross)
- ])
- fi
-
- CPPFLAGS="$save_CPPFLAGS"
- LDFLAGS="$save_LDFLAGS"
- LIBS="$save_LIBS"
- ;;
- esac
-
- case $lt_cv_dlopen_self in
- yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;;
- *) enable_dlopen_self=unknown ;;
- esac
-
- case $lt_cv_dlopen_self_static in
- yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;;
- *) enable_dlopen_self_static=unknown ;;
- esac
-fi
-])# AC_LIBTOOL_DLOPEN_SELF
-
-
-# AC_LIBTOOL_PROG_CC_C_O([TAGNAME])
-# ---------------------------------
-# Check to see if options -c and -o are simultaneously supported by compiler
-AC_DEFUN([AC_LIBTOOL_PROG_CC_C_O],
-[AC_REQUIRE([LT_AC_PROG_SED])dnl
-AC_REQUIRE([_LT_AC_SYS_COMPILER])dnl
-AC_CACHE_CHECK([if $compiler supports -c -o file.$ac_objext],
- [_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)],
- [_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)=no
- $rm -r conftest 2>/dev/null
- mkdir conftest
- cd conftest
- mkdir out
- echo "$lt_simple_compile_test_code" > conftest.$ac_ext
-
- lt_compiler_flag="-o out/conftest2.$ac_objext"
- # Insert the option either (1) after the last *FLAGS variable, or
- # (2) before a word containing "conftest.", or (3) at the end.
- # Note that $ac_compile itself does not contain backslashes and begins
- # with a dollar sign (not a hyphen), so the echo should work correctly.
- lt_compile=`echo "$ac_compile" | $SED \
- -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
- -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \
- -e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&AS_MESSAGE_LOG_FD)
- (eval "$lt_compile" 2>out/conftest.err)
- ac_status=$?
- cat out/conftest.err >&AS_MESSAGE_LOG_FD
- echo "$as_me:__oline__: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
- if (exit $ac_status) && test -s out/conftest2.$ac_objext
- then
- # The compiler can only warn and ignore the option if not recognized
- # So say no if there are warnings
- $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp
- $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
- if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
- _LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes
- fi
- fi
- chmod u+w . 2>&AS_MESSAGE_LOG_FD
- $rm conftest*
- # SGI C++ compiler will create directory out/ii_files/ for
- # template instantiation
- test -d out/ii_files && $rm out/ii_files/* && rmdir out/ii_files
- $rm out/* && rmdir out
- cd ..
- rmdir conftest
- $rm conftest*
-])
-])# AC_LIBTOOL_PROG_CC_C_O
-
-
-# AC_LIBTOOL_SYS_HARD_LINK_LOCKS([TAGNAME])
-# -----------------------------------------
-# Check to see if we can do hard links to lock some files if needed
-AC_DEFUN([AC_LIBTOOL_SYS_HARD_LINK_LOCKS],
-[AC_REQUIRE([_LT_AC_LOCK])dnl
-
-hard_links="nottested"
-if test "$_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)" = no && test "$need_locks" != no; then
- # do not overwrite the value of need_locks provided by the user
- AC_MSG_CHECKING([if we can lock with hard links])
- hard_links=yes
- $rm conftest*
- ln conftest.a conftest.b 2>/dev/null && hard_links=no
- touch conftest.a
- ln conftest.a conftest.b 2>&5 || hard_links=no
- ln conftest.a conftest.b 2>/dev/null && hard_links=no
- AC_MSG_RESULT([$hard_links])
- if test "$hard_links" = no; then
- AC_MSG_WARN([`$CC' does not support `-c -o', so `make -j' may be unsafe])
- need_locks=warn
- fi
-else
- need_locks=no
-fi
-])# AC_LIBTOOL_SYS_HARD_LINK_LOCKS
-
-
-# AC_LIBTOOL_OBJDIR
-# -----------------
-AC_DEFUN([AC_LIBTOOL_OBJDIR],
-[AC_CACHE_CHECK([for objdir], [lt_cv_objdir],
-[rm -f .libs 2>/dev/null
-mkdir .libs 2>/dev/null
-if test -d .libs; then
- lt_cv_objdir=.libs
-else
- # MS-DOS does not allow filenames that begin with a dot.
- lt_cv_objdir=_libs
-fi
-rmdir .libs 2>/dev/null])
-objdir=$lt_cv_objdir
-])# AC_LIBTOOL_OBJDIR
-
-
-# AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH([TAGNAME])
-# ----------------------------------------------
-# Check hardcoding attributes.
-AC_DEFUN([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH],
-[AC_MSG_CHECKING([how to hardcode library paths into programs])
-_LT_AC_TAGVAR(hardcode_action, $1)=
-if test -n "$_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)" || \
- test -n "$_LT_AC_TAGVAR(runpath_var, $1)" || \
- test "X$_LT_AC_TAGVAR(hardcode_automatic, $1)" = "Xyes" ; then
-
- # We can hardcode non-existant directories.
- if test "$_LT_AC_TAGVAR(hardcode_direct, $1)" != no &&
- # If the only mechanism to avoid hardcoding is shlibpath_var, we
- # have to relink, otherwise we might link with an installed library
- # when we should be linking with a yet-to-be-installed one
- ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, $1)" != no &&
- test "$_LT_AC_TAGVAR(hardcode_minus_L, $1)" != no; then
- # Linking always hardcodes the temporary library directory.
- _LT_AC_TAGVAR(hardcode_action, $1)=relink
- else
- # We can link without hardcoding, and we can hardcode nonexisting dirs.
- _LT_AC_TAGVAR(hardcode_action, $1)=immediate
- fi
-else
- # We cannot hardcode anything, or else we can only hardcode existing
- # directories.
- _LT_AC_TAGVAR(hardcode_action, $1)=unsupported
-fi
-AC_MSG_RESULT([$_LT_AC_TAGVAR(hardcode_action, $1)])
-
-if test "$_LT_AC_TAGVAR(hardcode_action, $1)" = relink; then
- # Fast installation is not supported
- enable_fast_install=no
-elif test "$shlibpath_overrides_runpath" = yes ||
- test "$enable_shared" = no; then
- # Fast installation is not necessary
- enable_fast_install=needless
-fi
-])# AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH
-
-
-# AC_LIBTOOL_SYS_LIB_STRIP
-# ------------------------
-AC_DEFUN([AC_LIBTOOL_SYS_LIB_STRIP],
-[striplib=
-old_striplib=
-AC_MSG_CHECKING([whether stripping libraries is possible])
-if test -n "$STRIP" && $STRIP -V 2>&1 | grep "GNU strip" >/dev/null; then
- test -z "$old_striplib" && old_striplib="$STRIP --strip-debug"
- test -z "$striplib" && striplib="$STRIP --strip-unneeded"
- AC_MSG_RESULT([yes])
-else
-# FIXME - insert some real tests, host_os isn't really good enough
- case $host_os in
- darwin*)
- if test -n "$STRIP" ; then
- striplib="$STRIP -x"
- old_striplib="$STRIP -S"
- AC_MSG_RESULT([yes])
- else
- AC_MSG_RESULT([no])
-fi
- ;;
- *)
- AC_MSG_RESULT([no])
- ;;
- esac
-fi
-])# AC_LIBTOOL_SYS_LIB_STRIP
-
-
-# AC_LIBTOOL_SYS_DYNAMIC_LINKER
-# -----------------------------
-# PORTME Fill in your ld.so characteristics
-AC_DEFUN([AC_LIBTOOL_SYS_DYNAMIC_LINKER],
-[AC_REQUIRE([LT_AC_PROG_SED])dnl
-AC_MSG_CHECKING([dynamic linker characteristics])
-library_names_spec=
-libname_spec='lib$name'
-soname_spec=
-shrext_cmds=".so"
-postinstall_cmds=
-postuninstall_cmds=
-finish_cmds=
-finish_eval=
-shlibpath_var=
-shlibpath_overrides_runpath=unknown
-version_type=none
-dynamic_linker="$host_os ld.so"
-sys_lib_dlsearch_path_spec="/lib /usr/lib"
-m4_if($1,[],[
-if test "$GCC" = yes; then
- case $host_os in
- darwin*) lt_awk_arg="/^libraries:/,/LR/" ;;
- *) lt_awk_arg="/^libraries:/" ;;
- esac
- lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e "s,=/,/,g"`
- if echo "$lt_search_path_spec" | grep ';' >/dev/null ; then
- # if the path contains ";" then we assume it to be the separator
- # otherwise default to the standard path separator (i.e. ":") - it is
- # assumed that no part of a normal pathname contains ";" but that should
- # okay in the real world where ";" in dirpaths is itself problematic.
- lt_search_path_spec=`echo "$lt_search_path_spec" | $SED -e 's/;/ /g'`
- else
- lt_search_path_spec=`echo "$lt_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
- fi
- # Ok, now we have the path, separated by spaces, we can step through it
- # and add multilib dir if necessary.
- lt_tmp_lt_search_path_spec=
- lt_multi_os_dir=`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null`
- for lt_sys_path in $lt_search_path_spec; do
- if test -d "$lt_sys_path/$lt_multi_os_dir"; then
- lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path/$lt_multi_os_dir"
- else
- test -d "$lt_sys_path" && \
- lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path"
- fi
- done
- lt_search_path_spec=`echo $lt_tmp_lt_search_path_spec | awk '
-BEGIN {RS=" "; FS="/|\n";} {
- lt_foo="";
- lt_count=0;
- for (lt_i = NF; lt_i > 0; lt_i--) {
- if ($lt_i != "" && $lt_i != ".") {
- if ($lt_i == "..") {
- lt_count++;
- } else {
- if (lt_count == 0) {
- lt_foo="/" $lt_i lt_foo;
- } else {
- lt_count--;
- }
- }
- }
- }
- if (lt_foo != "") { lt_freq[[lt_foo]]++; }
- if (lt_freq[[lt_foo]] == 1) { print lt_foo; }
-}'`
- sys_lib_search_path_spec=`echo $lt_search_path_spec`
-else
- sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
-fi])
-need_lib_prefix=unknown
-hardcode_into_libs=no
-
-# when you set need_version to no, make sure it does not cause -set_version
-# flags to be left without arguments
-need_version=unknown
-
-case $host_os in
-aix3*)
- version_type=linux
- library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a'
- shlibpath_var=LIBPATH
-
- # AIX 3 has no versioning support, so we append a major version to the name.
- soname_spec='${libname}${release}${shared_ext}$major'
- ;;
-
-aix4* | aix5*)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- hardcode_into_libs=yes
- if test "$host_cpu" = ia64; then
- # AIX 5 supports IA64
- library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}'
- shlibpath_var=LD_LIBRARY_PATH
- else
- # With GCC up to 2.95.x, collect2 would create an import file
- # for dependence libraries. The import file would start with
- # the line `#! .'. This would cause the generated library to
- # depend on `.', always an invalid library. This was fixed in
- # development snapshots of GCC prior to 3.0.
- case $host_os in
- aix4 | aix4.[[01]] | aix4.[[01]].*)
- if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
- echo ' yes '
- echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then
- :
- else
- can_build_shared=no
- fi
- ;;
- esac
- # AIX (on Power*) has no versioning support, so currently we can not hardcode correct
- # soname into executable. Probably we can add versioning support to
- # collect2, so additional links can be useful in future.
- if test "$aix_use_runtimelinking" = yes; then
- # If using run time linking (on AIX 4.2 or later) use lib<name>.so
- # instead of lib<name>.a to let people know that these are not
- # typical AIX shared libraries.
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- else
- # We preserve .a as extension for shared libraries through AIX4.2
- # and later when we are not doing run time linking.
- library_names_spec='${libname}${release}.a $libname.a'
- soname_spec='${libname}${release}${shared_ext}$major'
- fi
- shlibpath_var=LIBPATH
- fi
- ;;
-
-amigaos*)
- library_names_spec='$libname.ixlibrary $libname.a'
- # Create ${libname}_ixlibrary.a entries in /sys/libs.
- finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([[^/]]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'
- ;;
-
-beos*)
- library_names_spec='${libname}${shared_ext}'
- dynamic_linker="$host_os ld.so"
- shlibpath_var=LIBRARY_PATH
- ;;
-
-bsdi[[45]]*)
- version_type=linux
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir'
- shlibpath_var=LD_LIBRARY_PATH
- sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"
- sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib"
- # the default ld.so.conf also contains /usr/contrib/lib and
- # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow
- # libtool to hard-code these into programs
- ;;
-
-cygwin* | mingw* | pw32*)
- version_type=windows
- shrext_cmds=".dll"
- need_version=no
- need_lib_prefix=no
-
- case $GCC,$host_os in
- yes,cygwin* | yes,mingw* | yes,pw32*)
- library_names_spec='$libname.dll.a'
- # DLL is installed to $(libdir)/../bin by postinstall_cmds
- postinstall_cmds='base_file=`basename \${file}`~
- dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo \$dlname'\''`~
- dldir=$destdir/`dirname \$dlpath`~
- test -d \$dldir || mkdir -p \$dldir~
- $install_prog $dir/$dlname \$dldir/$dlname~
- chmod a+x \$dldir/$dlname'
- postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
- dlpath=$dir/\$dldll~
- $rm \$dlpath'
- shlibpath_overrides_runpath=yes
-
- case $host_os in
- cygwin*)
- # Cygwin DLLs use 'cyg' prefix rather than 'lib'
- soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
- sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib"
- ;;
- mingw*)
- # MinGW DLLs use traditional 'lib' prefix
- soname_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
- sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"`
- if echo "$sys_lib_search_path_spec" | [grep ';[c-zC-Z]:/' >/dev/null]; then
- # It is most probably a Windows format PATH printed by
- # mingw gcc, but we are running on Cygwin. Gcc prints its search
- # path with ; separators, and with drive letters. We can handle the
- # drive letters (cygwin fileutils understands them), so leave them,
- # especially as we might pass files found there to a mingw objdump,
- # which wouldn't understand a cygwinified path. Ahh.
- sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
- else
- sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
- fi
- ;;
- pw32*)
- # pw32 DLLs use 'pw' prefix rather than 'lib'
- library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
- ;;
- esac
- ;;
-
- *)
- library_names_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext} $libname.lib'
- ;;
- esac
- dynamic_linker='Win32 ld.exe'
- # FIXME: first we should search . and the directory the executable is in
- shlibpath_var=PATH
- ;;
-
-darwin* | rhapsody*)
- dynamic_linker="$host_os dyld"
- version_type=darwin
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${versuffix}$shared_ext ${libname}${release}${major}$shared_ext ${libname}$shared_ext'
- soname_spec='${libname}${release}${major}$shared_ext'
- shlibpath_overrides_runpath=yes
- shlibpath_var=DYLD_LIBRARY_PATH
- shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
- m4_if([$1], [],[
- sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib"])
- sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'
- ;;
-
-dgux*)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- ;;
-
-freebsd1*)
- dynamic_linker=no
- ;;
-
-freebsd* | dragonfly*)
- # DragonFly does not have aout. When/if they implement a new
- # versioning mechanism, adjust this.
- if test -x /usr/bin/objformat; then
- objformat=`/usr/bin/objformat`
- else
- case $host_os in
- freebsd[[123]]*) objformat=aout ;;
- *) objformat=elf ;;
- esac
- fi
- version_type=freebsd-$objformat
- case $version_type in
- freebsd-elf*)
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
- need_version=no
- need_lib_prefix=no
- ;;
- freebsd-*)
- library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix'
- need_version=yes
- ;;
- esac
- shlibpath_var=LD_LIBRARY_PATH
- case $host_os in
- freebsd2*)
- shlibpath_overrides_runpath=yes
- ;;
- freebsd3.[[01]]* | freebsdelf3.[[01]]*)
- shlibpath_overrides_runpath=yes
- hardcode_into_libs=yes
- ;;
- freebsd3.[[2-9]]* | freebsdelf3.[[2-9]]* | \
- freebsd4.[[0-5]] | freebsdelf4.[[0-5]] | freebsd4.1.1 | freebsdelf4.1.1)
- shlibpath_overrides_runpath=no
- hardcode_into_libs=yes
- ;;
- *) # from 4.6 on, and DragonFly
- shlibpath_overrides_runpath=yes
- hardcode_into_libs=yes
- ;;
- esac
- ;;
-
-gnu*)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- hardcode_into_libs=yes
- ;;
-
-hpux9* | hpux10* | hpux11*)
- # Give a soname corresponding to the major version so that dld.sl refuses to
- # link against other versions.
- version_type=sunos
- need_lib_prefix=no
- need_version=no
- case $host_cpu in
- ia64*)
- shrext_cmds='.so'
- hardcode_into_libs=yes
- dynamic_linker="$host_os dld.so"
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- if test "X$HPUX_IA64_MODE" = X32; then
- sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib"
- else
- sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64"
- fi
- sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
- ;;
- hppa*64*)
- shrext_cmds='.sl'
- hardcode_into_libs=yes
- dynamic_linker="$host_os dld.sl"
- shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
- shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64"
- sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
- ;;
- *)
- shrext_cmds='.sl'
- dynamic_linker="$host_os dld.sl"
- shlibpath_var=SHLIB_PATH
- shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- ;;
- esac
- # HP-UX runs *really* slowly unless shared libraries are mode 555.
- postinstall_cmds='chmod 555 $lib'
- ;;
-
-interix[[3-9]]*)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=no
- hardcode_into_libs=yes
- ;;
-
-irix5* | irix6* | nonstopux*)
- case $host_os in
- nonstopux*) version_type=nonstopux ;;
- *)
- if test "$lt_cv_prog_gnu_ld" = yes; then
- version_type=linux
- else
- version_type=irix
- fi ;;
- esac
- need_lib_prefix=no
- need_version=no
- soname_spec='${libname}${release}${shared_ext}$major'
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}'
- case $host_os in
- irix5* | nonstopux*)
- libsuff= shlibsuff=
- ;;
- *)
- case $LD in # libtool.m4 will add one of these switches to LD
- *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ")
- libsuff= shlibsuff= libmagic=32-bit;;
- *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ")
- libsuff=32 shlibsuff=N32 libmagic=N32;;
- *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ")
- libsuff=64 shlibsuff=64 libmagic=64-bit;;
- *) libsuff= shlibsuff= libmagic=never-match;;
- esac
- ;;
- esac
- shlibpath_var=LD_LIBRARY${shlibsuff}_PATH
- shlibpath_overrides_runpath=no
- sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}"
- sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}"
- hardcode_into_libs=yes
- ;;
-
-# No shared lib support for Linux oldld, aout, or coff.
-linux*oldld* | linux*aout* | linux*coff*)
- dynamic_linker=no
- ;;
-
-# This must be Linux ELF.
-linux* | k*bsd*-gnu)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=no
- # This implies no fast_install, which is unacceptable.
- # Some rework will be needed to allow for fast_install
- # before this can be enabled.
- hardcode_into_libs=yes
- sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}"
- sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}"
-
- # Append ld.so.conf contents to the search path
- if test -f /etc/ld.so.conf; then
- lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \[$]2)); skip = 1; } { if (!skip) print \[$]0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '`
- sys_lib_dlsearch_path_spec="$sys_lib_dlsearch_path_spec $lt_ld_extra"
- fi
-
- # We used to test for /lib/ld.so.1 and disable shared libraries on
- # powerpc, because MkLinux only supported shared libraries with the
- # GNU dynamic linker. Since this was broken with cross compilers,
- # most powerpc-linux boxes support dynamic linking these days and
- # people can always --disable-shared, the test was removed, and we
- # assume the GNU/Linux dynamic linker is in use.
- dynamic_linker='GNU/Linux ld.so'
- ;;
-
-netbsd*)
- version_type=sunos
- need_lib_prefix=no
- need_version=no
- if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
- finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
- dynamic_linker='NetBSD (a.out) ld.so'
- else
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- dynamic_linker='NetBSD ld.elf_so'
- fi
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=yes
- hardcode_into_libs=yes
- ;;
-
-newsos6)
- version_type=linux
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=yes
- ;;
-
-nto-qnx*)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=yes
- ;;
-
-openbsd*)
- version_type=sunos
- sys_lib_dlsearch_path_spec="/usr/lib"
- need_lib_prefix=no
- # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs.
- case $host_os in
- openbsd3.3 | openbsd3.3.*) need_version=yes ;;
- *) need_version=no ;;
- esac
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
- finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
- shlibpath_var=LD_LIBRARY_PATH
- if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
- case $host_os in
- openbsd2.[[89]] | openbsd2.[[89]].*)
- shlibpath_overrides_runpath=no
- ;;
- *)
- shlibpath_overrides_runpath=yes
- ;;
- esac
- else
- shlibpath_overrides_runpath=yes
- fi
- ;;
-
-os2*)
- libname_spec='$name'
- shrext_cmds=".dll"
- need_lib_prefix=no
- library_names_spec='$libname${shared_ext} $libname.a'
- dynamic_linker='OS/2 ld.exe'
- shlibpath_var=LIBPATH
- ;;
-
-osf3* | osf4* | osf5*)
- version_type=osf
- need_lib_prefix=no
- need_version=no
- soname_spec='${libname}${release}${shared_ext}$major'
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- shlibpath_var=LD_LIBRARY_PATH
- sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
- sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec"
- ;;
-
-rdos*)
- dynamic_linker=no
- ;;
-
-solaris*)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=yes
- hardcode_into_libs=yes
- # ldd complains unless libraries are executable
- postinstall_cmds='chmod +x $lib'
- ;;
-
-sunos4*)
- version_type=sunos
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
- finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=yes
- if test "$with_gnu_ld" = yes; then
- need_lib_prefix=no
- fi
- need_version=yes
- ;;
-
-sysv4 | sysv4.3*)
- version_type=linux
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- case $host_vendor in
- sni)
- shlibpath_overrides_runpath=no
- need_lib_prefix=no
- export_dynamic_flag_spec='${wl}-Blargedynsym'
- runpath_var=LD_RUN_PATH
- ;;
- siemens)
- need_lib_prefix=no
- ;;
- motorola)
- need_lib_prefix=no
- need_version=no
- shlibpath_overrides_runpath=no
- sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib'
- ;;
- esac
- ;;
-
-sysv4*MP*)
- if test -d /usr/nec ;then
- version_type=linux
- library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}'
- soname_spec='$libname${shared_ext}.$major'
- shlibpath_var=LD_LIBRARY_PATH
- fi
- ;;
-
-sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
- version_type=freebsd-elf
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- hardcode_into_libs=yes
- if test "$with_gnu_ld" = yes; then
- sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib'
- shlibpath_overrides_runpath=no
- else
- sys_lib_search_path_spec='/usr/ccs/lib /usr/lib'
- shlibpath_overrides_runpath=yes
- case $host_os in
- sco3.2v5*)
- sys_lib_search_path_spec="$sys_lib_search_path_spec /lib"
- ;;
- esac
- fi
- sys_lib_dlsearch_path_spec='/usr/lib'
- ;;
-
-uts4*)
- version_type=linux
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- ;;
-
-*)
- dynamic_linker=no
- ;;
-esac
-AC_MSG_RESULT([$dynamic_linker])
-test "$dynamic_linker" = no && can_build_shared=no
-
-variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
-if test "$GCC" = yes; then
- variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
-fi
-])# AC_LIBTOOL_SYS_DYNAMIC_LINKER
-
-
-# _LT_AC_TAGCONFIG
-# ----------------
-AC_DEFUN([_LT_AC_TAGCONFIG],
-[AC_REQUIRE([LT_AC_PROG_SED])dnl
-AC_ARG_WITH([tags],
- [AC_HELP_STRING([--with-tags@<:@=TAGS@:>@],
- [include additional configurations @<:@automatic@:>@])],
- [tagnames="$withval"])
-
-if test -f "$ltmain" && test -n "$tagnames"; then
- if test ! -f "${ofile}"; then
- AC_MSG_WARN([output file `$ofile' does not exist])
- fi
-
- if test -z "$LTCC"; then
- eval "`$SHELL ${ofile} --config | grep '^LTCC='`"
- if test -z "$LTCC"; then
- AC_MSG_WARN([output file `$ofile' does not look like a libtool script])
- else
- AC_MSG_WARN([using `LTCC=$LTCC', extracted from `$ofile'])
- fi
- fi
- if test -z "$LTCFLAGS"; then
- eval "`$SHELL ${ofile} --config | grep '^LTCFLAGS='`"
- fi
-
- # Extract list of available tagged configurations in $ofile.
- # Note that this assumes the entire list is on one line.
- available_tags=`grep "^available_tags=" "${ofile}" | $SED -e 's/available_tags=\(.*$\)/\1/' -e 's/\"//g'`
-
- lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
- for tagname in $tagnames; do
- IFS="$lt_save_ifs"
- # Check whether tagname contains only valid characters
- case `$echo "X$tagname" | $Xsed -e 's:[[-_ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890,/]]::g'` in
- "") ;;
- *) AC_MSG_ERROR([invalid tag name: $tagname])
- ;;
- esac
-
- if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$" < "${ofile}" > /dev/null
- then
- AC_MSG_ERROR([tag name \"$tagname\" already exists])
- fi
-
- # Update the list of available tags.
- if test -n "$tagname"; then
- echo appending configuration tag \"$tagname\" to $ofile
-
- case $tagname in
- CXX)
- if test -n "$CXX" && ( test "X$CXX" != "Xno" &&
- ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) ||
- (test "X$CXX" != "Xg++"))) ; then
- AC_LIBTOOL_LANG_CXX_CONFIG
- else
- tagname=""
- fi
- ;;
-
- F77)
- if test -n "$F77" && test "X$F77" != "Xno"; then
- AC_LIBTOOL_LANG_F77_CONFIG
- else
- tagname=""
- fi
- ;;
-
- GCJ)
- if test -n "$GCJ" && test "X$GCJ" != "Xno"; then
- AC_LIBTOOL_LANG_GCJ_CONFIG
- else
- tagname=""
- fi
- ;;
-
- RC)
- AC_LIBTOOL_LANG_RC_CONFIG
- ;;
-
- *)
- AC_MSG_ERROR([Unsupported tag name: $tagname])
- ;;
- esac
-
- # Append the new tag name to the list of available tags.
- if test -n "$tagname" ; then
- available_tags="$available_tags $tagname"
- fi
- fi
- done
- IFS="$lt_save_ifs"
-
- # Now substitute the updated list of available tags.
- if eval "sed -e 's/^available_tags=.*\$/available_tags=\"$available_tags\"/' \"$ofile\" > \"${ofile}T\""; then
- mv "${ofile}T" "$ofile"
- chmod +x "$ofile"
- else
- rm -f "${ofile}T"
- AC_MSG_ERROR([unable to update list of available tagged configurations.])
- fi
-fi
-])# _LT_AC_TAGCONFIG
-
-
-# AC_LIBTOOL_DLOPEN
-# -----------------
-# enable checks for dlopen support
-AC_DEFUN([AC_LIBTOOL_DLOPEN],
- [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])
-])# AC_LIBTOOL_DLOPEN
-
-
-# AC_LIBTOOL_WIN32_DLL
-# --------------------
-# declare package support for building win32 DLLs
-AC_DEFUN([AC_LIBTOOL_WIN32_DLL],
-[AC_BEFORE([$0], [AC_LIBTOOL_SETUP])
-])# AC_LIBTOOL_WIN32_DLL
-
-
-# AC_ENABLE_SHARED([DEFAULT])
-# ---------------------------
-# implement the --enable-shared flag
-# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'.
-AC_DEFUN([AC_ENABLE_SHARED],
-[define([AC_ENABLE_SHARED_DEFAULT], ifelse($1, no, no, yes))dnl
-AC_ARG_ENABLE([shared],
- [AC_HELP_STRING([--enable-shared@<:@=PKGS@:>@],
- [build shared libraries @<:@default=]AC_ENABLE_SHARED_DEFAULT[@:>@])],
- [p=${PACKAGE-default}
- case $enableval in
- yes) enable_shared=yes ;;
- no) enable_shared=no ;;
- *)
- enable_shared=no
- # Look at the argument we got. We use all the common list separators.
- lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
- for pkg in $enableval; do
- IFS="$lt_save_ifs"
- if test "X$pkg" = "X$p"; then
- enable_shared=yes
- fi
- done
- IFS="$lt_save_ifs"
- ;;
- esac],
- [enable_shared=]AC_ENABLE_SHARED_DEFAULT)
-])# AC_ENABLE_SHARED
-
-
-# AC_DISABLE_SHARED
-# -----------------
-# set the default shared flag to --disable-shared
-AC_DEFUN([AC_DISABLE_SHARED],
-[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
-AC_ENABLE_SHARED(no)
-])# AC_DISABLE_SHARED
-
-
-# AC_ENABLE_STATIC([DEFAULT])
-# ---------------------------
-# implement the --enable-static flag
-# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'.
-AC_DEFUN([AC_ENABLE_STATIC],
-[define([AC_ENABLE_STATIC_DEFAULT], ifelse($1, no, no, yes))dnl
-AC_ARG_ENABLE([static],
- [AC_HELP_STRING([--enable-static@<:@=PKGS@:>@],
- [build static libraries @<:@default=]AC_ENABLE_STATIC_DEFAULT[@:>@])],
- [p=${PACKAGE-default}
- case $enableval in
- yes) enable_static=yes ;;
- no) enable_static=no ;;
- *)
- enable_static=no
- # Look at the argument we got. We use all the common list separators.
- lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
- for pkg in $enableval; do
- IFS="$lt_save_ifs"
- if test "X$pkg" = "X$p"; then
- enable_static=yes
- fi
- done
- IFS="$lt_save_ifs"
- ;;
- esac],
- [enable_static=]AC_ENABLE_STATIC_DEFAULT)
-])# AC_ENABLE_STATIC
-
-
-# AC_DISABLE_STATIC
-# -----------------
-# set the default static flag to --disable-static
-AC_DEFUN([AC_DISABLE_STATIC],
-[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
-AC_ENABLE_STATIC(no)
-])# AC_DISABLE_STATIC
-
-
-# AC_ENABLE_FAST_INSTALL([DEFAULT])
-# ---------------------------------
-# implement the --enable-fast-install flag
-# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'.
-AC_DEFUN([AC_ENABLE_FAST_INSTALL],
-[define([AC_ENABLE_FAST_INSTALL_DEFAULT], ifelse($1, no, no, yes))dnl
-AC_ARG_ENABLE([fast-install],
- [AC_HELP_STRING([--enable-fast-install@<:@=PKGS@:>@],
- [optimize for fast installation @<:@default=]AC_ENABLE_FAST_INSTALL_DEFAULT[@:>@])],
- [p=${PACKAGE-default}
- case $enableval in
- yes) enable_fast_install=yes ;;
- no) enable_fast_install=no ;;
- *)
- enable_fast_install=no
- # Look at the argument we got. We use all the common list separators.
- lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
- for pkg in $enableval; do
- IFS="$lt_save_ifs"
- if test "X$pkg" = "X$p"; then
- enable_fast_install=yes
- fi
- done
- IFS="$lt_save_ifs"
- ;;
- esac],
- [enable_fast_install=]AC_ENABLE_FAST_INSTALL_DEFAULT)
-])# AC_ENABLE_FAST_INSTALL
-
-
-# AC_DISABLE_FAST_INSTALL
-# -----------------------
-# set the default to --disable-fast-install
-AC_DEFUN([AC_DISABLE_FAST_INSTALL],
-[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
-AC_ENABLE_FAST_INSTALL(no)
-])# AC_DISABLE_FAST_INSTALL
-
-
-# AC_LIBTOOL_PICMODE([MODE])
-# --------------------------
-# implement the --with-pic flag
-# MODE is either `yes' or `no'. If omitted, it defaults to `both'.
-AC_DEFUN([AC_LIBTOOL_PICMODE],
-[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
-pic_mode=ifelse($#,1,$1,default)
-])# AC_LIBTOOL_PICMODE
-
-
-# AC_PROG_EGREP
-# -------------
-# This is predefined starting with Autoconf 2.54, so this conditional
-# definition can be removed once we require Autoconf 2.54 or later.
-m4_ifndef([AC_PROG_EGREP], [AC_DEFUN([AC_PROG_EGREP],
-[AC_CACHE_CHECK([for egrep], [ac_cv_prog_egrep],
- [if echo a | (grep -E '(a|b)') >/dev/null 2>&1
- then ac_cv_prog_egrep='grep -E'
- else ac_cv_prog_egrep='egrep'
- fi])
- EGREP=$ac_cv_prog_egrep
- AC_SUBST([EGREP])
-])])
-
-
-# AC_PATH_TOOL_PREFIX
-# -------------------
-# find a file program which can recognize shared library
-AC_DEFUN([AC_PATH_TOOL_PREFIX],
-[AC_REQUIRE([AC_PROG_EGREP])dnl
-AC_MSG_CHECKING([for $1])
-AC_CACHE_VAL(lt_cv_path_MAGIC_CMD,
-[case $MAGIC_CMD in
-[[\\/*] | ?:[\\/]*])
- lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path.
- ;;
-*)
- lt_save_MAGIC_CMD="$MAGIC_CMD"
- lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
-dnl $ac_dummy forces splitting on constant user-supplied paths.
-dnl POSIX.2 word splitting is done only on the output of word expansions,
-dnl not every word. This closes a longstanding sh security hole.
- ac_dummy="ifelse([$2], , $PATH, [$2])"
- for ac_dir in $ac_dummy; do
- IFS="$lt_save_ifs"
- test -z "$ac_dir" && ac_dir=.
- if test -f $ac_dir/$1; then
- lt_cv_path_MAGIC_CMD="$ac_dir/$1"
- if test -n "$file_magic_test_file"; then
- case $deplibs_check_method in
- "file_magic "*)
- file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`
- MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
- if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
- $EGREP "$file_magic_regex" > /dev/null; then
- :
- else
- cat <<EOF 1>&2
-
-*** Warning: the command libtool uses to detect shared libraries,
-*** $file_magic_cmd, produces output that libtool cannot recognize.
-*** The result is that libtool may fail to recognize shared libraries
-*** as such. This will affect the creation of libtool libraries that
-*** depend on shared libraries, but programs linked with such libtool
-*** libraries will work regardless of this problem. Nevertheless, you
-*** may want to report the problem to your system manager and/or to
-*** bug-libtool@gnu.org
-
-EOF
- fi ;;
- esac
- fi
- break
- fi
- done
- IFS="$lt_save_ifs"
- MAGIC_CMD="$lt_save_MAGIC_CMD"
- ;;
-esac])
-MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
-if test -n "$MAGIC_CMD"; then
- AC_MSG_RESULT($MAGIC_CMD)
-else
- AC_MSG_RESULT(no)
-fi
-])# AC_PATH_TOOL_PREFIX
-
-
-# AC_PATH_MAGIC
-# -------------
-# find a file program which can recognize a shared library
-AC_DEFUN([AC_PATH_MAGIC],
-[AC_PATH_TOOL_PREFIX(${ac_tool_prefix}file, /usr/bin$PATH_SEPARATOR$PATH)
-if test -z "$lt_cv_path_MAGIC_CMD"; then
- if test -n "$ac_tool_prefix"; then
- AC_PATH_TOOL_PREFIX(file, /usr/bin$PATH_SEPARATOR$PATH)
- else
- MAGIC_CMD=:
- fi
-fi
-])# AC_PATH_MAGIC
-
-
-# AC_PROG_LD
-# ----------
-# find the pathname to the GNU or non-GNU linker
-AC_DEFUN([AC_PROG_LD],
-[AC_ARG_WITH([gnu-ld],
- [AC_HELP_STRING([--with-gnu-ld],
- [assume the C compiler uses GNU ld @<:@default=no@:>@])],
- [test "$withval" = no || with_gnu_ld=yes],
- [with_gnu_ld=no])
-AC_REQUIRE([LT_AC_PROG_SED])dnl
-AC_REQUIRE([AC_PROG_CC])dnl
-AC_REQUIRE([AC_CANONICAL_HOST])dnl
-AC_REQUIRE([AC_CANONICAL_BUILD])dnl
-ac_prog=ld
-if test "$GCC" = yes; then
- # Check if gcc -print-prog-name=ld gives a path.
- AC_MSG_CHECKING([for ld used by $CC])
- case $host in
- *-*-mingw*)
- # gcc leaves a trailing carriage return which upsets mingw
- ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
- *)
- ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
- esac
- case $ac_prog in
- # Accept absolute paths.
- [[\\/]]* | ?:[[\\/]]*)
- re_direlt='/[[^/]][[^/]]*/\.\./'
- # Canonicalize the pathname of ld
- ac_prog=`echo $ac_prog| $SED 's%\\\\%/%g'`
- while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do
- ac_prog=`echo $ac_prog| $SED "s%$re_direlt%/%"`
- done
- test -z "$LD" && LD="$ac_prog"
- ;;
- "")
- # If it fails, then pretend we aren't using GCC.
- ac_prog=ld
- ;;
- *)
- # If it is relative, then search for the first ld in PATH.
- with_gnu_ld=unknown
- ;;
- esac
-elif test "$with_gnu_ld" = yes; then
- AC_MSG_CHECKING([for GNU ld])
-else
- AC_MSG_CHECKING([for non-GNU ld])
-fi
-AC_CACHE_VAL(lt_cv_path_LD,
-[if test -z "$LD"; then
- lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
- for ac_dir in $PATH; do
- IFS="$lt_save_ifs"
- test -z "$ac_dir" && ac_dir=.
- if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
- lt_cv_path_LD="$ac_dir/$ac_prog"
- # Check to see if the program is GNU ld. I'd rather use --version,
- # but apparently some variants of GNU ld only accept -v.
- # Break only if it was the GNU/non-GNU ld that we prefer.
- case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in
- *GNU* | *'with BFD'*)
- test "$with_gnu_ld" != no && break
- ;;
- *)
- test "$with_gnu_ld" != yes && break
- ;;
- esac
- fi
- done
- IFS="$lt_save_ifs"
-else
- lt_cv_path_LD="$LD" # Let the user override the test with a path.
-fi])
-LD="$lt_cv_path_LD"
-if test -n "$LD"; then
- AC_MSG_RESULT($LD)
-else
- AC_MSG_RESULT(no)
-fi
-test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH])
-AC_PROG_LD_GNU
-])# AC_PROG_LD
-
-
-# AC_PROG_LD_GNU
-# --------------
-AC_DEFUN([AC_PROG_LD_GNU],
-[AC_REQUIRE([AC_PROG_EGREP])dnl
-AC_CACHE_CHECK([if the linker ($LD) is GNU ld], lt_cv_prog_gnu_ld,
-[# I'd rather use --version here, but apparently some GNU lds only accept -v.
-case `$LD -v 2>&1 </dev/null` in
-*GNU* | *'with BFD'*)
- lt_cv_prog_gnu_ld=yes
- ;;
-*)
- lt_cv_prog_gnu_ld=no
- ;;
-esac])
-with_gnu_ld=$lt_cv_prog_gnu_ld
-])# AC_PROG_LD_GNU
-
-
-# AC_PROG_LD_RELOAD_FLAG
-# ----------------------
-# find reload flag for linker
-# -- PORTME Some linkers may need a different reload flag.
-AC_DEFUN([AC_PROG_LD_RELOAD_FLAG],
-[AC_CACHE_CHECK([for $LD option to reload object files],
- lt_cv_ld_reload_flag,
- [lt_cv_ld_reload_flag='-r'])
-reload_flag=$lt_cv_ld_reload_flag
-case $reload_flag in
-"" | " "*) ;;
-*) reload_flag=" $reload_flag" ;;
-esac
-reload_cmds='$LD$reload_flag -o $output$reload_objs'
-case $host_os in
- darwin*)
- if test "$GCC" = yes; then
- reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs'
- else
- reload_cmds='$LD$reload_flag -o $output$reload_objs'
- fi
- ;;
-esac
-])# AC_PROG_LD_RELOAD_FLAG
-
-
-# AC_DEPLIBS_CHECK_METHOD
-# -----------------------
-# how to check for library dependencies
-# -- PORTME fill in with the dynamic library characteristics
-AC_DEFUN([AC_DEPLIBS_CHECK_METHOD],
-[AC_CACHE_CHECK([how to recognize dependent libraries],
-lt_cv_deplibs_check_method,
-[lt_cv_file_magic_cmd='$MAGIC_CMD'
-lt_cv_file_magic_test_file=
-lt_cv_deplibs_check_method='unknown'
-# Need to set the preceding variable on all platforms that support
-# interlibrary dependencies.
-# 'none' -- dependencies not supported.
-# `unknown' -- same as none, but documents that we really don't know.
-# 'pass_all' -- all dependencies passed with no checks.
-# 'test_compile' -- check by making test program.
-# 'file_magic [[regex]]' -- check by looking for files in library path
-# which responds to the $file_magic_cmd with a given extended regex.
-# If you have `file' or equivalent on your system and you're not sure
-# whether `pass_all' will *always* work, you probably want this one.
-
-case $host_os in
-aix4* | aix5*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-beos*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-bsdi[[45]]*)
- lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib)'
- lt_cv_file_magic_cmd='/usr/bin/file -L'
- lt_cv_file_magic_test_file=/shlib/libc.so
- ;;
-
-cygwin*)
- # func_win32_libid is a shell function defined in ltmain.sh
- lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
- lt_cv_file_magic_cmd='func_win32_libid'
- ;;
-
-mingw* | pw32*)
- # Base MSYS/MinGW do not provide the 'file' command needed by
- # func_win32_libid shell function, so use a weaker test based on 'objdump',
- # unless we find 'file', for example because we are cross-compiling.
- if ( file / ) >/dev/null 2>&1; then
- lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
- lt_cv_file_magic_cmd='func_win32_libid'
- else
- lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?'
- lt_cv_file_magic_cmd='$OBJDUMP -f'
- fi
- ;;
-
-darwin* | rhapsody*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-freebsd* | dragonfly*)
- if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
- case $host_cpu in
- i*86 )
- # Not sure whether the presence of OpenBSD here was a mistake.
- # Let's accept both of them until this is cleared up.
- lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[[3-9]]86 (compact )?demand paged shared library'
- lt_cv_file_magic_cmd=/usr/bin/file
- lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*`
- ;;
- esac
- else
- lt_cv_deplibs_check_method=pass_all
- fi
- ;;
-
-gnu*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-hpux10.20* | hpux11*)
- lt_cv_file_magic_cmd=/usr/bin/file
- case $host_cpu in
- ia64*)
- lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|ELF-[[0-9]][[0-9]]) shared object file - IA64'
- lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so
- ;;
- hppa*64*)
- [lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - PA-RISC [0-9].[0-9]']
- lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl
- ;;
- *)
- lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|PA-RISC[[0-9]].[[0-9]]) shared library'
- lt_cv_file_magic_test_file=/usr/lib/libc.sl
- ;;
- esac
- ;;
-
-interix[[3-9]]*)
- # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here
- lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|\.a)$'
- ;;
-
-irix5* | irix6* | nonstopux*)
- case $LD in
- *-32|*"-32 ") libmagic=32-bit;;
- *-n32|*"-n32 ") libmagic=N32;;
- *-64|*"-64 ") libmagic=64-bit;;
- *) libmagic=never-match;;
- esac
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-# This must be Linux ELF.
-linux* | k*bsd*-gnu)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-netbsd*)
- if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
- lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$'
- else
- lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|_pic\.a)$'
- fi
- ;;
-
-newos6*)
- lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (executable|dynamic lib)'
- lt_cv_file_magic_cmd=/usr/bin/file
- lt_cv_file_magic_test_file=/usr/lib/libnls.so
- ;;
-
-nto-qnx*)
- lt_cv_deplibs_check_method=unknown
- ;;
-
-openbsd*)
- if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
- lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|\.so|_pic\.a)$'
- else
- lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$'
- fi
- ;;
-
-osf3* | osf4* | osf5*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-rdos*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-solaris*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-sysv4 | sysv4.3*)
- case $host_vendor in
- motorola)
- lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib) M[[0-9]][[0-9]]* Version [[0-9]]'
- lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*`
- ;;
- ncr)
- lt_cv_deplibs_check_method=pass_all
- ;;
- sequent)
- lt_cv_file_magic_cmd='/bin/file'
- lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB (shared object|dynamic lib )'
- ;;
- sni)
- lt_cv_file_magic_cmd='/bin/file'
- lt_cv_deplibs_check_method="file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB dynamic lib"
- lt_cv_file_magic_test_file=/lib/libc.so
- ;;
- siemens)
- lt_cv_deplibs_check_method=pass_all
- ;;
- pc)
- lt_cv_deplibs_check_method=pass_all
- ;;
- esac
- ;;
-
-sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-esac
-])
-file_magic_cmd=$lt_cv_file_magic_cmd
-deplibs_check_method=$lt_cv_deplibs_check_method
-test -z "$deplibs_check_method" && deplibs_check_method=unknown
-])# AC_DEPLIBS_CHECK_METHOD
-
-
-# AC_PROG_NM
-# ----------
-# find the pathname to a BSD-compatible name lister
-AC_DEFUN([AC_PROG_NM],
-[AC_CACHE_CHECK([for BSD-compatible nm], lt_cv_path_NM,
-[if test -n "$NM"; then
- # Let the user override the test.
- lt_cv_path_NM="$NM"
-else
- lt_nm_to_check="${ac_tool_prefix}nm"
- if test -n "$ac_tool_prefix" && test "$build" = "$host"; then
- lt_nm_to_check="$lt_nm_to_check nm"
- fi
- for lt_tmp_nm in $lt_nm_to_check; do
- lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
- for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do
- IFS="$lt_save_ifs"
- test -z "$ac_dir" && ac_dir=.
- tmp_nm="$ac_dir/$lt_tmp_nm"
- if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then
- # Check to see if the nm accepts a BSD-compat flag.
- # Adding the `sed 1q' prevents false positives on HP-UX, which says:
- # nm: unknown option "B" ignored
- # Tru64's nm complains that /dev/null is an invalid object file
- case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in
- */dev/null* | *'Invalid file or object type'*)
- lt_cv_path_NM="$tmp_nm -B"
- break
- ;;
- *)
- case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in
- */dev/null*)
- lt_cv_path_NM="$tmp_nm -p"
- break
- ;;
- *)
- lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but
- continue # so that we can try to find one that supports BSD flags
- ;;
- esac
- ;;
- esac
- fi
- done
- IFS="$lt_save_ifs"
- done
- test -z "$lt_cv_path_NM" && lt_cv_path_NM=nm
-fi])
-NM="$lt_cv_path_NM"
-])# AC_PROG_NM
-
-
-# AC_CHECK_LIBM
-# -------------
-# check for math library
-AC_DEFUN([AC_CHECK_LIBM],
-[AC_REQUIRE([AC_CANONICAL_HOST])dnl
-LIBM=
-case $host in
-*-*-beos* | *-*-cygwin* | *-*-pw32* | *-*-darwin*)
- # These system don't have libm, or don't need it
- ;;
-*-ncr-sysv4.3*)
- AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM="-lmw")
- AC_CHECK_LIB(m, cos, LIBM="$LIBM -lm")
- ;;
-*)
- AC_CHECK_LIB(m, cos, LIBM="-lm")
- ;;
-esac
-])# AC_CHECK_LIBM
-
-
-# AC_LIBLTDL_CONVENIENCE([DIRECTORY])
-# -----------------------------------
-# sets LIBLTDL to the link flags for the libltdl convenience library and
-# LTDLINCL to the include flags for the libltdl header and adds
-# --enable-ltdl-convenience to the configure arguments. Note that
-# AC_CONFIG_SUBDIRS is not called here. If DIRECTORY is not provided,
-# it is assumed to be `libltdl'. LIBLTDL will be prefixed with
-# '${top_builddir}/' and LTDLINCL will be prefixed with '${top_srcdir}/'
-# (note the single quotes!). If your package is not flat and you're not
-# using automake, define top_builddir and top_srcdir appropriately in
-# the Makefiles.
-AC_DEFUN([AC_LIBLTDL_CONVENIENCE],
-[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
- case $enable_ltdl_convenience in
- no) AC_MSG_ERROR([this package needs a convenience libltdl]) ;;
- "") enable_ltdl_convenience=yes
- ac_configure_args="$ac_configure_args --enable-ltdl-convenience" ;;
- esac
- LIBLTDL='${top_builddir}/'ifelse($#,1,[$1],['libltdl'])/libltdlc.la
- LTDLINCL='-I${top_srcdir}/'ifelse($#,1,[$1],['libltdl'])
- # For backwards non-gettext consistent compatibility...
- INCLTDL="$LTDLINCL"
-])# AC_LIBLTDL_CONVENIENCE
-
-
-# AC_LIBLTDL_INSTALLABLE([DIRECTORY])
-# -----------------------------------
-# sets LIBLTDL to the link flags for the libltdl installable library and
-# LTDLINCL to the include flags for the libltdl header and adds
-# --enable-ltdl-install to the configure arguments. Note that
-# AC_CONFIG_SUBDIRS is not called here. If DIRECTORY is not provided,
-# and an installed libltdl is not found, it is assumed to be `libltdl'.
-# LIBLTDL will be prefixed with '${top_builddir}/'# and LTDLINCL with
-# '${top_srcdir}/' (note the single quotes!). If your package is not
-# flat and you're not using automake, define top_builddir and top_srcdir
-# appropriately in the Makefiles.
-# In the future, this macro may have to be called after AC_PROG_LIBTOOL.
-AC_DEFUN([AC_LIBLTDL_INSTALLABLE],
-[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
- AC_CHECK_LIB(ltdl, lt_dlinit,
- [test x"$enable_ltdl_install" != xyes && enable_ltdl_install=no],
- [if test x"$enable_ltdl_install" = xno; then
- AC_MSG_WARN([libltdl not installed, but installation disabled])
- else
- enable_ltdl_install=yes
- fi
- ])
- if test x"$enable_ltdl_install" = x"yes"; then
- ac_configure_args="$ac_configure_args --enable-ltdl-install"
- LIBLTDL='${top_builddir}/'ifelse($#,1,[$1],['libltdl'])/libltdl.la
- LTDLINCL='-I${top_srcdir}/'ifelse($#,1,[$1],['libltdl'])
- else
- ac_configure_args="$ac_configure_args --enable-ltdl-install=no"
- LIBLTDL="-lltdl"
- LTDLINCL=
- fi
- # For backwards non-gettext consistent compatibility...
- INCLTDL="$LTDLINCL"
-])# AC_LIBLTDL_INSTALLABLE
-
-
-# AC_LIBTOOL_CXX
-# --------------
-# enable support for C++ libraries
-AC_DEFUN([AC_LIBTOOL_CXX],
-[AC_REQUIRE([_LT_AC_LANG_CXX])
-])# AC_LIBTOOL_CXX
-
-
-# _LT_AC_LANG_CXX
-# ---------------
-AC_DEFUN([_LT_AC_LANG_CXX],
-[AC_REQUIRE([AC_PROG_CXX])
-AC_REQUIRE([_LT_AC_PROG_CXXCPP])
-_LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}CXX])
-])# _LT_AC_LANG_CXX
-
-# _LT_AC_PROG_CXXCPP
-# ------------------
-AC_DEFUN([_LT_AC_PROG_CXXCPP],
-[
-AC_REQUIRE([AC_PROG_CXX])
-if test -n "$CXX" && ( test "X$CXX" != "Xno" &&
- ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) ||
- (test "X$CXX" != "Xg++"))) ; then
- AC_PROG_CXXCPP
-fi
-])# _LT_AC_PROG_CXXCPP
-
-# AC_LIBTOOL_F77
-# --------------
-# enable support for Fortran 77 libraries
-AC_DEFUN([AC_LIBTOOL_F77],
-[AC_REQUIRE([_LT_AC_LANG_F77])
-])# AC_LIBTOOL_F77
-
-
-# _LT_AC_LANG_F77
-# ---------------
-AC_DEFUN([_LT_AC_LANG_F77],
-[AC_REQUIRE([AC_PROG_F77])
-_LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}F77])
-])# _LT_AC_LANG_F77
-
-
-# AC_LIBTOOL_GCJ
-# --------------
-# enable support for GCJ libraries
-AC_DEFUN([AC_LIBTOOL_GCJ],
-[AC_REQUIRE([_LT_AC_LANG_GCJ])
-])# AC_LIBTOOL_GCJ
-
-
-# _LT_AC_LANG_GCJ
-# ---------------
-AC_DEFUN([_LT_AC_LANG_GCJ],
-[AC_PROVIDE_IFELSE([AC_PROG_GCJ],[],
- [AC_PROVIDE_IFELSE([A][M_PROG_GCJ],[],
- [AC_PROVIDE_IFELSE([LT_AC_PROG_GCJ],[],
- [ifdef([AC_PROG_GCJ],[AC_REQUIRE([AC_PROG_GCJ])],
- [ifdef([A][M_PROG_GCJ],[AC_REQUIRE([A][M_PROG_GCJ])],
- [AC_REQUIRE([A][C_PROG_GCJ_OR_A][M_PROG_GCJ])])])])])])
-_LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}GCJ])
-])# _LT_AC_LANG_GCJ
-
-
-# AC_LIBTOOL_RC
-# -------------
-# enable support for Windows resource files
-AC_DEFUN([AC_LIBTOOL_RC],
-[AC_REQUIRE([LT_AC_PROG_RC])
-_LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}RC])
-])# AC_LIBTOOL_RC
-
-
-# AC_LIBTOOL_LANG_C_CONFIG
-# ------------------------
-# Ensure that the configuration vars for the C compiler are
-# suitably defined. Those variables are subsequently used by
-# AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'.
-AC_DEFUN([AC_LIBTOOL_LANG_C_CONFIG], [_LT_AC_LANG_C_CONFIG])
-AC_DEFUN([_LT_AC_LANG_C_CONFIG],
-[lt_save_CC="$CC"
-AC_LANG_PUSH(C)
-
-# Source file extension for C test sources.
-ac_ext=c
-
-# Object file extension for compiled C test sources.
-objext=o
-_LT_AC_TAGVAR(objext, $1)=$objext
-
-# Code to be used in simple compile tests
-lt_simple_compile_test_code="int some_variable = 0;"
-
-# Code to be used in simple link tests
-lt_simple_link_test_code='int main(){return(0);}'
-
-_LT_AC_SYS_COMPILER
-
-# save warnings/boilerplate of simple test code
-_LT_COMPILER_BOILERPLATE
-_LT_LINKER_BOILERPLATE
-
-AC_LIBTOOL_PROG_COMPILER_NO_RTTI($1)
-AC_LIBTOOL_PROG_COMPILER_PIC($1)
-AC_LIBTOOL_PROG_CC_C_O($1)
-AC_LIBTOOL_SYS_HARD_LINK_LOCKS($1)
-AC_LIBTOOL_PROG_LD_SHLIBS($1)
-AC_LIBTOOL_SYS_DYNAMIC_LINKER($1)
-AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH($1)
-AC_LIBTOOL_SYS_LIB_STRIP
-AC_LIBTOOL_DLOPEN_SELF
-
-# Report which library types will actually be built
-AC_MSG_CHECKING([if libtool supports shared libraries])
-AC_MSG_RESULT([$can_build_shared])
-
-AC_MSG_CHECKING([whether to build shared libraries])
-test "$can_build_shared" = "no" && enable_shared=no
-
-# On AIX, shared libraries and static libraries use the same namespace, and
-# are all built from PIC.
-case $host_os in
-aix3*)
- test "$enable_shared" = yes && enable_static=no
- if test -n "$RANLIB"; then
- archive_cmds="$archive_cmds~\$RANLIB \$lib"
- postinstall_cmds='$RANLIB $lib'
- fi
- ;;
-
-aix4* | aix5*)
- if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
- test "$enable_shared" = yes && enable_static=no
- fi
- ;;
-esac
-AC_MSG_RESULT([$enable_shared])
-
-AC_MSG_CHECKING([whether to build static libraries])
-# Make sure either enable_shared or enable_static is yes.
-test "$enable_shared" = yes || enable_static=yes
-AC_MSG_RESULT([$enable_static])
-
-AC_LIBTOOL_CONFIG($1)
-
-AC_LANG_POP
-CC="$lt_save_CC"
-])# AC_LIBTOOL_LANG_C_CONFIG
-
-
-# AC_LIBTOOL_LANG_CXX_CONFIG
-# --------------------------
-# Ensure that the configuration vars for the C compiler are
-# suitably defined. Those variables are subsequently used by
-# AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'.
-AC_DEFUN([AC_LIBTOOL_LANG_CXX_CONFIG], [_LT_AC_LANG_CXX_CONFIG(CXX)])
-AC_DEFUN([_LT_AC_LANG_CXX_CONFIG],
-[AC_LANG_PUSH(C++)
-AC_REQUIRE([AC_PROG_CXX])
-AC_REQUIRE([_LT_AC_PROG_CXXCPP])
-
-_LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
-_LT_AC_TAGVAR(allow_undefined_flag, $1)=
-_LT_AC_TAGVAR(always_export_symbols, $1)=no
-_LT_AC_TAGVAR(archive_expsym_cmds, $1)=
-_LT_AC_TAGVAR(export_dynamic_flag_spec, $1)=
-_LT_AC_TAGVAR(hardcode_direct, $1)=no
-_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)=
-_LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)=
-_LT_AC_TAGVAR(hardcode_libdir_separator, $1)=
-_LT_AC_TAGVAR(hardcode_minus_L, $1)=no
-_LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
-_LT_AC_TAGVAR(hardcode_automatic, $1)=no
-_LT_AC_TAGVAR(module_cmds, $1)=
-_LT_AC_TAGVAR(module_expsym_cmds, $1)=
-_LT_AC_TAGVAR(link_all_deplibs, $1)=unknown
-_LT_AC_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
-_LT_AC_TAGVAR(no_undefined_flag, $1)=
-_LT_AC_TAGVAR(whole_archive_flag_spec, $1)=
-_LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=no
-
-# Dependencies to place before and after the object being linked:
-_LT_AC_TAGVAR(predep_objects, $1)=
-_LT_AC_TAGVAR(postdep_objects, $1)=
-_LT_AC_TAGVAR(predeps, $1)=
-_LT_AC_TAGVAR(postdeps, $1)=
-_LT_AC_TAGVAR(compiler_lib_search_path, $1)=
-
-# Source file extension for C++ test sources.
-ac_ext=cpp
-
-# Object file extension for compiled C++ test sources.
-objext=o
-_LT_AC_TAGVAR(objext, $1)=$objext
-
-# Code to be used in simple compile tests
-lt_simple_compile_test_code="int some_variable = 0;"
-
-# Code to be used in simple link tests
-lt_simple_link_test_code='int main(int, char *[[]]) { return(0); }'
-
-# ltmain only uses $CC for tagged configurations so make sure $CC is set.
-_LT_AC_SYS_COMPILER
-
-# save warnings/boilerplate of simple test code
-_LT_COMPILER_BOILERPLATE
-_LT_LINKER_BOILERPLATE
-
-# Allow CC to be a program name with arguments.
-lt_save_CC=$CC
-lt_save_LD=$LD
-lt_save_GCC=$GCC
-GCC=$GXX
-lt_save_with_gnu_ld=$with_gnu_ld
-lt_save_path_LD=$lt_cv_path_LD
-if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then
- lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx
-else
- $as_unset lt_cv_prog_gnu_ld
-fi
-if test -n "${lt_cv_path_LDCXX+set}"; then
- lt_cv_path_LD=$lt_cv_path_LDCXX
-else
- $as_unset lt_cv_path_LD
-fi
-test -z "${LDCXX+set}" || LD=$LDCXX
-CC=${CXX-"c++"}
-compiler=$CC
-_LT_AC_TAGVAR(compiler, $1)=$CC
-_LT_CC_BASENAME([$compiler])
-
-# We don't want -fno-exception wen compiling C++ code, so set the
-# no_builtin_flag separately
-if test "$GXX" = yes; then
- _LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin'
-else
- _LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=
-fi
-
-if test "$GXX" = yes; then
- # Set up default GNU C++ configuration
-
- AC_PROG_LD
-
- # Check if GNU C++ uses GNU ld as the underlying linker, since the
- # archiving commands below assume that GNU ld is being used.
- if test "$with_gnu_ld" = yes; then
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
-
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir'
- _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
-
- # If archive_cmds runs LD, not CC, wlarc should be empty
- # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to
- # investigate it a little bit more. (MM)
- wlarc='${wl}'
-
- # ancient GNU ld didn't support --whole-archive et. al.
- if eval "`$CC -print-prog-name=ld` --help 2>&1" | \
- grep 'no-whole-archive' > /dev/null; then
- _LT_AC_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
- else
- _LT_AC_TAGVAR(whole_archive_flag_spec, $1)=
- fi
- else
- with_gnu_ld=no
- wlarc=
-
- # A generic and very simple default shared library creation
- # command for GNU C++ for the case where it uses the native
- # linker, instead of GNU ld. If possible, this setting should
- # overridden to take advantage of the native linker features on
- # the platform it is being used on.
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
- fi
-
- # Commands to make compiler produce verbose output that lists
- # what "hidden" libraries, object files and flags are used when
- # linking a shared library.
- output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"'
-
-else
- GXX=no
- with_gnu_ld=no
- wlarc=
-fi
-
-# PORTME: fill in a description of your system's C++ link characteristics
-AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries])
-_LT_AC_TAGVAR(ld_shlibs, $1)=yes
-case $host_os in
- aix3*)
- # FIXME: insert proper C++ library support
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- ;;
- aix4* | aix5*)
- if test "$host_cpu" = ia64; then
- # On IA64, the linker does run time linking by default, so we don't
- # have to do anything special.
- aix_use_runtimelinking=no
- exp_sym_flag='-Bexport'
- no_entry_flag=""
- else
- aix_use_runtimelinking=no
-
- # Test if we are trying to use run time linking or normal
- # AIX style linking. If -brtl is somewhere in LDFLAGS, we
- # need to do runtime linking.
- case $host_os in aix4.[[23]]|aix4.[[23]].*|aix5*)
- for ld_flag in $LDFLAGS; do
- case $ld_flag in
- *-brtl*)
- aix_use_runtimelinking=yes
- break
- ;;
- esac
- done
- ;;
- esac
-
- exp_sym_flag='-bexport'
- no_entry_flag='-bnoentry'
- fi
-
- # When large executables or shared objects are built, AIX ld can
- # have problems creating the table of contents. If linking a library
- # or program results in "error TOC overflow" add -mminimal-toc to
- # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not
- # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
-
- _LT_AC_TAGVAR(archive_cmds, $1)=''
- _LT_AC_TAGVAR(hardcode_direct, $1)=yes
- _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':'
- _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
-
- if test "$GXX" = yes; then
- case $host_os in aix4.[[012]]|aix4.[[012]].*)
- # We only want to do this on AIX 4.2 and lower, the check
- # below for broken collect2 doesn't work under 4.3+
- collect2name=`${CC} -print-prog-name=collect2`
- if test -f "$collect2name" && \
- strings "$collect2name" | grep resolve_lib_name >/dev/null
- then
- # We have reworked collect2
- :
- else
- # We have old collect2
- _LT_AC_TAGVAR(hardcode_direct, $1)=unsupported
- # It fails to find uninstalled libraries when the uninstalled
- # path is not listed in the libpath. Setting hardcode_minus_L
- # to unsupported forces relinking
- _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
- _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=
- fi
- ;;
- esac
- shared_flag='-shared'
- if test "$aix_use_runtimelinking" = yes; then
- shared_flag="$shared_flag "'${wl}-G'
- fi
- else
- # not using gcc
- if test "$host_cpu" = ia64; then
- # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
- # chokes on -Wl,-G. The following line is correct:
- shared_flag='-G'
- else
- if test "$aix_use_runtimelinking" = yes; then
- shared_flag='${wl}-G'
- else
- shared_flag='${wl}-bM:SRE'
- fi
- fi
- fi
-
- # It seems that -bexpall does not export symbols beginning with
- # underscore (_), so it is better to generate a list of symbols to export.
- _LT_AC_TAGVAR(always_export_symbols, $1)=yes
- if test "$aix_use_runtimelinking" = yes; then
- # Warning - without using the other runtime loading flags (-brtl),
- # -berok will link without error, but may produce a broken library.
- _LT_AC_TAGVAR(allow_undefined_flag, $1)='-berok'
- # Determine the default libpath from the value encoded in an empty executable.
- _LT_AC_SYS_LIBPATH_AIX
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
-
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
- else
- if test "$host_cpu" = ia64; then
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib'
- _LT_AC_TAGVAR(allow_undefined_flag, $1)="-z nodefs"
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols"
- else
- # Determine the default libpath from the value encoded in an empty executable.
- _LT_AC_SYS_LIBPATH_AIX
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
- # Warning - without using the other run time loading flags,
- # -berok will link without error, but may produce a broken library.
- _LT_AC_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok'
- _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok'
- # Exported symbols can be pulled into shared objects from archives
- _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='$convenience'
- _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes
- # This is similar to how AIX traditionally builds its shared libraries.
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
- fi
- fi
- ;;
-
- beos*)
- if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
- _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported
- # Joseph Beckenbach <jrb3@best.com> says some releases of gcc
- # support --undefined. This deserves some investigation. FIXME
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- else
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- fi
- ;;
-
- chorus*)
- case $cc_basename in
- *)
- # FIXME: insert proper C++ library support
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- ;;
- esac
- ;;
-
- cygwin* | mingw* | pw32*)
- # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless,
- # as there is no search path for DLLs.
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
- _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported
- _LT_AC_TAGVAR(always_export_symbols, $1)=no
- _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
-
- if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
- # If the export-symbols file already is a .def file (1st line
- # is EXPORTS), use it as is; otherwise, prepend...
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
- cp $export_symbols $output_objdir/$soname.def;
- else
- echo EXPORTS > $output_objdir/$soname.def;
- cat $export_symbols >> $output_objdir/$soname.def;
- fi~
- $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
- else
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- fi
- ;;
- darwin* | rhapsody*)
- case $host_os in
- rhapsody* | darwin1.[[012]])
- _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-undefined ${wl}suppress'
- ;;
- *) # Darwin 1.3 on
- if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then
- _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-flat_namespace ${wl}-undefined ${wl}suppress'
- else
- case ${MACOSX_DEPLOYMENT_TARGET} in
- 10.[[012]])
- _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-flat_namespace ${wl}-undefined ${wl}suppress'
- ;;
- 10.*)
- _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-undefined ${wl}dynamic_lookup'
- ;;
- esac
- fi
- ;;
- esac
- _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
- _LT_AC_TAGVAR(hardcode_direct, $1)=no
- _LT_AC_TAGVAR(hardcode_automatic, $1)=yes
- _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
- _LT_AC_TAGVAR(whole_archive_flag_spec, $1)=''
- _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
-
- if test "$GXX" = yes ; then
- lt_int_apple_cc_single_mod=no
- output_verbose_link_cmd='echo'
- if $CC -dumpspecs 2>&1 | $EGREP 'single_module' >/dev/null ; then
- lt_int_apple_cc_single_mod=yes
- fi
- if test "X$lt_int_apple_cc_single_mod" = Xyes ; then
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring'
- else
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -r -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring'
- fi
- _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
- # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds
- if test "X$lt_int_apple_cc_single_mod" = Xyes ; then
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
- else
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -r -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
- fi
- _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
- else
- case $cc_basename in
- xlc*)
- output_verbose_link_cmd='echo'
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $xlcverstring'
- _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
- # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $xlcverstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
- _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
- ;;
- *)
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- ;;
- esac
- fi
- ;;
-
- dgux*)
- case $cc_basename in
- ec++*)
- # FIXME: insert proper C++ library support
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- ;;
- ghcx*)
- # Green Hills C++ Compiler
- # FIXME: insert proper C++ library support
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- ;;
- *)
- # FIXME: insert proper C++ library support
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- ;;
- esac
- ;;
- freebsd[[12]]*)
- # C++ shared libraries reported to be fairly broken before switch to ELF
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- ;;
- freebsd-elf*)
- _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
- ;;
- freebsd* | dragonfly*)
- # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF
- # conventions
- _LT_AC_TAGVAR(ld_shlibs, $1)=yes
- ;;
- gnu*)
- ;;
- hpux9*)
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
- _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
- _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
- _LT_AC_TAGVAR(hardcode_direct, $1)=yes
- _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH,
- # but as the default
- # location of the library.
-
- case $cc_basename in
- CC*)
- # FIXME: insert proper C++ library support
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- ;;
- aCC*)
- _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$CC -b ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
- # Commands to make compiler produce verbose output that lists
- # what "hidden" libraries, object files and flags are used when
- # linking a shared library.
- #
- # There doesn't appear to be a way to prevent this compiler from
- # explicitly linking system object files so we need to strip them
- # from the output so that they don't get included in the library
- # dependencies.
- output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | grep "[[-]]L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
- ;;
- *)
- if test "$GXX" = yes; then
- _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$CC -shared -nostdlib -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
- else
- # FIXME: insert proper C++ library support
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- fi
- ;;
- esac
- ;;
- hpux10*|hpux11*)
- if test $with_gnu_ld = no; then
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
- _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
-
- case $host_cpu in
- hppa*64*|ia64*) ;;
- *)
- _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
- ;;
- esac
- fi
- case $host_cpu in
- hppa*64*|ia64*)
- _LT_AC_TAGVAR(hardcode_direct, $1)=no
- _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
- ;;
- *)
- _LT_AC_TAGVAR(hardcode_direct, $1)=yes
- _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH,
- # but as the default
- # location of the library.
- ;;
- esac
-
- case $cc_basename in
- CC*)
- # FIXME: insert proper C++ library support
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- ;;
- aCC*)
- case $host_cpu in
- hppa*64*)
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
- ;;
- ia64*)
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
- ;;
- *)
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
- ;;
- esac
- # Commands to make compiler produce verbose output that lists
- # what "hidden" libraries, object files and flags are used when
- # linking a shared library.
- #
- # There doesn't appear to be a way to prevent this compiler from
- # explicitly linking system object files so we need to strip them
- # from the output so that they don't get included in the library
- # dependencies.
- output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | grep "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
- ;;
- *)
- if test "$GXX" = yes; then
- if test $with_gnu_ld = no; then
- case $host_cpu in
- hppa*64*)
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
- ;;
- ia64*)
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
- ;;
- *)
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
- ;;
- esac
- fi
- else
- # FIXME: insert proper C++ library support
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- fi
- ;;
- esac
- ;;
- interix[[3-9]]*)
- _LT_AC_TAGVAR(hardcode_direct, $1)=no
- _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
- _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
- # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
- # Instead, shared libraries are loaded at an image base (0x10000000 by
- # default) and relocated if they conflict, which is a slow very memory
- # consuming and fragmenting process. To avoid this, we pick a random,
- # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
- # time. Moving up from 0x10000000 also allows more sbrk(2) space.
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
- ;;
- irix5* | irix6*)
- case $cc_basename in
- CC*)
- # SGI C++
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
-
- # Archives containing C++ object files must be created using
- # "CC -ar", where "CC" is the IRIX C++ compiler. This is
- # necessary to make sure instantiated templates are included
- # in the archive.
- _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -ar -WR,-u -o $oldlib $oldobjs'
- ;;
- *)
- if test "$GXX" = yes; then
- if test "$with_gnu_ld" = no; then
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
- else
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` -o $lib'
- fi
- fi
- _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
- ;;
- esac
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
- _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
- ;;
- linux* | k*bsd*-gnu)
- case $cc_basename in
- KCC*)
- # Kuck and Associates, Inc. (KAI) C++ Compiler
-
- # KCC will only create a shared library if the output file
- # ends with ".so" (or ".sl" for HP-UX), so rename the library
- # to its proper name (with version) after linking.
- _LT_AC_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib ${wl}-retain-symbols-file,$export_symbols; mv \$templib $lib'
- # Commands to make compiler produce verbose output that lists
- # what "hidden" libraries, object files and flags are used when
- # linking a shared library.
- #
- # There doesn't appear to be a way to prevent this compiler from
- # explicitly linking system object files so we need to strip them
- # from the output so that they don't get included in the library
- # dependencies.
- output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | grep "ld"`; rm -f libconftest$shared_ext; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
-
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath,$libdir'
- _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
-
- # Archives containing C++ object files must be created using
- # "CC -Bstatic", where "CC" is the KAI C++ compiler.
- _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs'
- ;;
- icpc*)
- # Intel C++
- with_gnu_ld=yes
- # version 8.0 and above of icpc choke on multiply defined symbols
- # if we add $predep_objects and $postdep_objects, however 7.1 and
- # earlier do not add the objects themselves.
- case `$CC -V 2>&1` in
- *"Version 7."*)
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
- ;;
- *) # Version 8.0 or newer
- tmp_idyn=
- case $host_cpu in
- ia64*) tmp_idyn=' -i_dynamic';;
- esac
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
- ;;
- esac
- _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
- _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
- _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive'
- ;;
- pgCC*)
- # Portland Group C++ compiler
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib'
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib'
-
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir'
- _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
- _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
- ;;
- cxx*)
- # Compaq C++
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib ${wl}-retain-symbols-file $wl$export_symbols'
-
- runpath_var=LD_RUN_PATH
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
- _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
-
- # Commands to make compiler produce verbose output that lists
- # what "hidden" libraries, object files and flags are used when
- # linking a shared library.
- #
- # There doesn't appear to be a way to prevent this compiler from
- # explicitly linking system object files so we need to strip them
- # from the output so that they don't get included in the library
- # dependencies.
- output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
- ;;
- *)
- case `$CC -V 2>&1 | sed 5q` in
- *Sun\ C*)
- # Sun C++ 5.9
- _LT_AC_TAGVAR(no_undefined_flag, $1)=' -zdefs'
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file ${wl}$export_symbols'
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
- _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
-
- # Not sure whether something based on
- # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1
- # would be better.
- output_verbose_link_cmd='echo'
-
- # Archives containing C++ object files must be created using
- # "CC -xar", where "CC" is the Sun C++ compiler. This is
- # necessary to make sure instantiated templates are included
- # in the archive.
- _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs'
- ;;
- esac
- ;;
- esac
- ;;
- lynxos*)
- # FIXME: insert proper C++ library support
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- ;;
- m88k*)
- # FIXME: insert proper C++ library support
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- ;;
- mvs*)
- case $cc_basename in
- cxx*)
- # FIXME: insert proper C++ library support
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- ;;
- *)
- # FIXME: insert proper C++ library support
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- ;;
- esac
- ;;
- netbsd*)
- if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
- _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags'
- wlarc=
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
- _LT_AC_TAGVAR(hardcode_direct, $1)=yes
- _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
- fi
- # Workaround some broken pre-1.5 toolchains
- output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"'
- ;;
- openbsd2*)
- # C++ shared libraries are fairly broken
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- ;;
- openbsd*)
- if test -f /usr/libexec/ld.so; then
- _LT_AC_TAGVAR(hardcode_direct, $1)=yes
- _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
- if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file,$export_symbols -o $lib'
- _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
- _LT_AC_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
- fi
- output_verbose_link_cmd='echo'
- else
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- fi
- ;;
- osf3*)
- case $cc_basename in
- KCC*)
- # Kuck and Associates, Inc. (KAI) C++ Compiler
-
- # KCC will only create a shared library if the output file
- # ends with ".so" (or ".sl" for HP-UX), so rename the library
- # to its proper name (with version) after linking.
- _LT_AC_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
-
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
- _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
-
- # Archives containing C++ object files must be created using
- # "CC -Bstatic", where "CC" is the KAI C++ compiler.
- _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs'
-
- ;;
- RCC*)
- # Rational C++ 2.4.1
- # FIXME: insert proper C++ library support
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- ;;
- cxx*)
- _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && echo ${wl}-set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
-
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
- _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
-
- # Commands to make compiler produce verbose output that lists
- # what "hidden" libraries, object files and flags are used when
- # linking a shared library.
- #
- # There doesn't appear to be a way to prevent this compiler from
- # explicitly linking system object files so we need to strip them
- # from the output so that they don't get included in the library
- # dependencies.
- output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld" | grep -v "ld:"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
- ;;
- *)
- if test "$GXX" = yes && test "$with_gnu_ld" = no; then
- _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
-
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
- _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
-
- # Commands to make compiler produce verbose output that lists
- # what "hidden" libraries, object files and flags are used when
- # linking a shared library.
- output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"'
-
- else
- # FIXME: insert proper C++ library support
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- fi
- ;;
- esac
- ;;
- osf4* | osf5*)
- case $cc_basename in
- KCC*)
- # Kuck and Associates, Inc. (KAI) C++ Compiler
-
- # KCC will only create a shared library if the output file
- # ends with ".so" (or ".sl" for HP-UX), so rename the library
- # to its proper name (with version) after linking.
- _LT_AC_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
-
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
- _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
-
- # Archives containing C++ object files must be created using
- # the KAI C++ compiler.
- _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -o $oldlib $oldobjs'
- ;;
- RCC*)
- # Rational C++ 2.4.1
- # FIXME: insert proper C++ library support
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- ;;
- cxx*)
- _LT_AC_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~
- echo "-hidden">> $lib.exp~
- $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname -Wl,-input -Wl,$lib.exp `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~
- $rm $lib.exp'
-
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
- _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
-
- # Commands to make compiler produce verbose output that lists
- # what "hidden" libraries, object files and flags are used when
- # linking a shared library.
- #
- # There doesn't appear to be a way to prevent this compiler from
- # explicitly linking system object files so we need to strip them
- # from the output so that they don't get included in the library
- # dependencies.
- output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld" | grep -v "ld:"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
- ;;
- *)
- if test "$GXX" = yes && test "$with_gnu_ld" = no; then
- _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
-
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
- _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
-
- # Commands to make compiler produce verbose output that lists
- # what "hidden" libraries, object files and flags are used when
- # linking a shared library.
- output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"'
-
- else
- # FIXME: insert proper C++ library support
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- fi
- ;;
- esac
- ;;
- psos*)
- # FIXME: insert proper C++ library support
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- ;;
- sunos4*)
- case $cc_basename in
- CC*)
- # Sun C++ 4.x
- # FIXME: insert proper C++ library support
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- ;;
- lcc*)
- # Lucid
- # FIXME: insert proper C++ library support
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- ;;
- *)
- # FIXME: insert proper C++ library support
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- ;;
- esac
- ;;
- solaris*)
- case $cc_basename in
- CC*)
- # Sun C++ 4.2, 5.x and Centerline C++
- _LT_AC_TAGVAR(archive_cmds_need_lc,$1)=yes
- _LT_AC_TAGVAR(no_undefined_flag, $1)=' -zdefs'
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
- $CC -G${allow_undefined_flag} ${wl}-M ${wl}$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp'
-
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
- _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
- case $host_os in
- solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
- *)
- # The compiler driver will combine and reorder linker options,
- # but understands `-z linker_flag'.
- # Supported since Solaris 2.6 (maybe 2.5.1?)
- _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract'
- ;;
- esac
- _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
-
- output_verbose_link_cmd='echo'
-
- # Archives containing C++ object files must be created using
- # "CC -xar", where "CC" is the Sun C++ compiler. This is
- # necessary to make sure instantiated templates are included
- # in the archive.
- _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs'
- ;;
- gcx*)
- # Green Hills C++ Compiler
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
-
- # The C++ compiler must be used to create the archive.
- _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC $LDFLAGS -archive -o $oldlib $oldobjs'
- ;;
- *)
- # GNU C++ compiler with Solaris linker
- if test "$GXX" = yes && test "$with_gnu_ld" = no; then
- _LT_AC_TAGVAR(no_undefined_flag, $1)=' ${wl}-z ${wl}defs'
- if $CC --version | grep -v '^2\.7' > /dev/null; then
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
- $CC -shared -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp'
-
- # Commands to make compiler produce verbose output that lists
- # what "hidden" libraries, object files and flags are used when
- # linking a shared library.
- output_verbose_link_cmd="$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep \"\-L\""
- else
- # g++ 2.7 appears to require `-G' NOT `-shared' on this
- # platform.
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
- $CC -G -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp'
-
- # Commands to make compiler produce verbose output that lists
- # what "hidden" libraries, object files and flags are used when
- # linking a shared library.
- output_verbose_link_cmd="$CC -G $CFLAGS -v conftest.$objext 2>&1 | grep \"\-L\""
- fi
-
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $wl$libdir'
- case $host_os in
- solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
- *)
- _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
- ;;
- esac
- fi
- ;;
- esac
- ;;
- sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*)
- _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
- _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
- _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
- runpath_var='LD_RUN_PATH'
-
- case $cc_basename in
- CC*)
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- *)
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- esac
- ;;
- sysv5* | sco3.2v5* | sco5v6*)
- # Note: We can NOT use -z defs as we might desire, because we do not
- # link with -lc, and that would cause any symbols used from libc to
- # always be unresolved, which means just about no library would
- # ever link correctly. If we're not using GNU ld we use -z text
- # though, which does catch some bad symbols but isn't as heavy-handed
- # as -z defs.
- # For security reasons, it is highly recommended that you always
- # use absolute paths for naming shared libraries, and exclude the
- # DT_RUNPATH tag from executables and libraries. But doing so
- # requires that you compile everything twice, which is a pain.
- # So that behaviour is only enabled if SCOABSPATH is set to a
- # non-empty value in the environment. Most likely only useful for
- # creating official distributions of packages.
- # This is a hack until libtool officially supports absolute path
- # names for shared libraries.
- _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
- _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs'
- _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
- _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`'
- _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':'
- _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
- _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport'
- runpath_var='LD_RUN_PATH'
-
- case $cc_basename in
- CC*)
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- *)
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- esac
- ;;
- tandem*)
- case $cc_basename in
- NCC*)
- # NonStop-UX NCC 3.20
- # FIXME: insert proper C++ library support
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- ;;
- *)
- # FIXME: insert proper C++ library support
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- ;;
- esac
- ;;
- vxworks*)
- # FIXME: insert proper C++ library support
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- ;;
- *)
- # FIXME: insert proper C++ library support
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- ;;
-esac
-AC_MSG_RESULT([$_LT_AC_TAGVAR(ld_shlibs, $1)])
-test "$_LT_AC_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no
-
-_LT_AC_TAGVAR(GCC, $1)="$GXX"
-_LT_AC_TAGVAR(LD, $1)="$LD"
-
-AC_LIBTOOL_POSTDEP_PREDEP($1)
-AC_LIBTOOL_PROG_COMPILER_PIC($1)
-AC_LIBTOOL_PROG_CC_C_O($1)
-AC_LIBTOOL_SYS_HARD_LINK_LOCKS($1)
-AC_LIBTOOL_PROG_LD_SHLIBS($1)
-AC_LIBTOOL_SYS_DYNAMIC_LINKER($1)
-AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH($1)
-
-AC_LIBTOOL_CONFIG($1)
-
-AC_LANG_POP
-CC=$lt_save_CC
-LDCXX=$LD
-LD=$lt_save_LD
-GCC=$lt_save_GCC
-with_gnu_ldcxx=$with_gnu_ld
-with_gnu_ld=$lt_save_with_gnu_ld
-lt_cv_path_LDCXX=$lt_cv_path_LD
-lt_cv_path_LD=$lt_save_path_LD
-lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld
-lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld
-])# AC_LIBTOOL_LANG_CXX_CONFIG
-
-# AC_LIBTOOL_POSTDEP_PREDEP([TAGNAME])
-# ------------------------------------
-# Figure out "hidden" library dependencies from verbose
-# compiler output when linking a shared library.
-# Parse the compiler output and extract the necessary
-# objects, libraries and library flags.
-AC_DEFUN([AC_LIBTOOL_POSTDEP_PREDEP],[
-dnl we can't use the lt_simple_compile_test_code here,
-dnl because it contains code intended for an executable,
-dnl not a library. It's possible we should let each
-dnl tag define a new lt_????_link_test_code variable,
-dnl but it's only used here...
-ifelse([$1],[],[cat > conftest.$ac_ext <<EOF
-int a;
-void foo (void) { a = 0; }
-EOF
-],[$1],[CXX],[cat > conftest.$ac_ext <<EOF
-class Foo
-{
-public:
- Foo (void) { a = 0; }
-private:
- int a;
-};
-EOF
-],[$1],[F77],[cat > conftest.$ac_ext <<EOF
- subroutine foo
- implicit none
- integer*4 a
- a=0
- return
- end
-EOF
-],[$1],[GCJ],[cat > conftest.$ac_ext <<EOF
-public class foo {
- private int a;
- public void bar (void) {
- a = 0;
- }
-};
-EOF
-])
-dnl Parse the compiler output and extract the necessary
-dnl objects, libraries and library flags.
-if AC_TRY_EVAL(ac_compile); then
- # Parse the compiler output and extract the necessary
- # objects, libraries and library flags.
-
- # Sentinel used to keep track of whether or not we are before
- # the conftest object file.
- pre_test_object_deps_done=no
-
- # The `*' in the case matches for architectures that use `case' in
- # $output_verbose_cmd can trigger glob expansion during the loop
- # eval without this substitution.
- output_verbose_link_cmd=`$echo "X$output_verbose_link_cmd" | $Xsed -e "$no_glob_subst"`
-
- for p in `eval $output_verbose_link_cmd`; do
- case $p in
-
- -L* | -R* | -l*)
- # Some compilers place space between "-{L,R}" and the path.
- # Remove the space.
- if test $p = "-L" \
- || test $p = "-R"; then
- prev=$p
- continue
- else
- prev=
- fi
-
- if test "$pre_test_object_deps_done" = no; then
- case $p in
- -L* | -R*)
- # Internal compiler library paths should come after those
- # provided the user. The postdeps already come after the
- # user supplied libs so there is no need to process them.
- if test -z "$_LT_AC_TAGVAR(compiler_lib_search_path, $1)"; then
- _LT_AC_TAGVAR(compiler_lib_search_path, $1)="${prev}${p}"
- else
- _LT_AC_TAGVAR(compiler_lib_search_path, $1)="${_LT_AC_TAGVAR(compiler_lib_search_path, $1)} ${prev}${p}"
- fi
- ;;
- # The "-l" case would never come before the object being
- # linked, so don't bother handling this case.
- esac
- else
- if test -z "$_LT_AC_TAGVAR(postdeps, $1)"; then
- _LT_AC_TAGVAR(postdeps, $1)="${prev}${p}"
- else
- _LT_AC_TAGVAR(postdeps, $1)="${_LT_AC_TAGVAR(postdeps, $1)} ${prev}${p}"
- fi
- fi
- ;;
-
- *.$objext)
- # This assumes that the test object file only shows up
- # once in the compiler output.
- if test "$p" = "conftest.$objext"; then
- pre_test_object_deps_done=yes
- continue
- fi
-
- if test "$pre_test_object_deps_done" = no; then
- if test -z "$_LT_AC_TAGVAR(predep_objects, $1)"; then
- _LT_AC_TAGVAR(predep_objects, $1)="$p"
- else
- _LT_AC_TAGVAR(predep_objects, $1)="$_LT_AC_TAGVAR(predep_objects, $1) $p"
- fi
- else
- if test -z "$_LT_AC_TAGVAR(postdep_objects, $1)"; then
- _LT_AC_TAGVAR(postdep_objects, $1)="$p"
- else
- _LT_AC_TAGVAR(postdep_objects, $1)="$_LT_AC_TAGVAR(postdep_objects, $1) $p"
- fi
- fi
- ;;
-
- *) ;; # Ignore the rest.
-
- esac
- done
-
- # Clean up.
- rm -f a.out a.exe
-else
- echo "libtool.m4: error: problem compiling $1 test program"
-fi
-
-$rm -f confest.$objext
-
-# PORTME: override above test on systems where it is broken
-ifelse([$1],[CXX],
-[case $host_os in
-interix[[3-9]]*)
- # Interix 3.5 installs completely hosed .la files for C++, so rather than
- # hack all around it, let's just trust "g++" to DTRT.
- _LT_AC_TAGVAR(predep_objects,$1)=
- _LT_AC_TAGVAR(postdep_objects,$1)=
- _LT_AC_TAGVAR(postdeps,$1)=
- ;;
-
-linux*)
- case `$CC -V 2>&1 | sed 5q` in
- *Sun\ C*)
- # Sun C++ 5.9
- #
- # The more standards-conforming stlport4 library is
- # incompatible with the Cstd library. Avoid specifying
- # it if it's in CXXFLAGS. Ignore libCrun as
- # -library=stlport4 depends on it.
- case " $CXX $CXXFLAGS " in
- *" -library=stlport4 "*)
- solaris_use_stlport4=yes
- ;;
- esac
- if test "$solaris_use_stlport4" != yes; then
- _LT_AC_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun'
- fi
- ;;
- esac
- ;;
-
-solaris*)
- case $cc_basename in
- CC*)
- # The more standards-conforming stlport4 library is
- # incompatible with the Cstd library. Avoid specifying
- # it if it's in CXXFLAGS. Ignore libCrun as
- # -library=stlport4 depends on it.
- case " $CXX $CXXFLAGS " in
- *" -library=stlport4 "*)
- solaris_use_stlport4=yes
- ;;
- esac
-
- # Adding this requires a known-good setup of shared libraries for
- # Sun compiler versions before 5.6, else PIC objects from an old
- # archive will be linked into the output, leading to subtle bugs.
- if test "$solaris_use_stlport4" != yes; then
- _LT_AC_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun'
- fi
- ;;
- esac
- ;;
-esac
-])
-
-case " $_LT_AC_TAGVAR(postdeps, $1) " in
-*" -lc "*) _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no ;;
-esac
-])# AC_LIBTOOL_POSTDEP_PREDEP
-
-# AC_LIBTOOL_LANG_F77_CONFIG
-# --------------------------
-# Ensure that the configuration vars for the C compiler are
-# suitably defined. Those variables are subsequently used by
-# AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'.
-AC_DEFUN([AC_LIBTOOL_LANG_F77_CONFIG], [_LT_AC_LANG_F77_CONFIG(F77)])
-AC_DEFUN([_LT_AC_LANG_F77_CONFIG],
-[AC_REQUIRE([AC_PROG_F77])
-AC_LANG_PUSH(Fortran 77)
-
-_LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
-_LT_AC_TAGVAR(allow_undefined_flag, $1)=
-_LT_AC_TAGVAR(always_export_symbols, $1)=no
-_LT_AC_TAGVAR(archive_expsym_cmds, $1)=
-_LT_AC_TAGVAR(export_dynamic_flag_spec, $1)=
-_LT_AC_TAGVAR(hardcode_direct, $1)=no
-_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)=
-_LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)=
-_LT_AC_TAGVAR(hardcode_libdir_separator, $1)=
-_LT_AC_TAGVAR(hardcode_minus_L, $1)=no
-_LT_AC_TAGVAR(hardcode_automatic, $1)=no
-_LT_AC_TAGVAR(module_cmds, $1)=
-_LT_AC_TAGVAR(module_expsym_cmds, $1)=
-_LT_AC_TAGVAR(link_all_deplibs, $1)=unknown
-_LT_AC_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
-_LT_AC_TAGVAR(no_undefined_flag, $1)=
-_LT_AC_TAGVAR(whole_archive_flag_spec, $1)=
-_LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=no
-
-# Source file extension for f77 test sources.
-ac_ext=f
-
-# Object file extension for compiled f77 test sources.
-objext=o
-_LT_AC_TAGVAR(objext, $1)=$objext
-
-# Code to be used in simple compile tests
-lt_simple_compile_test_code="\
- subroutine t
- return
- end
-"
-
-# Code to be used in simple link tests
-lt_simple_link_test_code="\
- program t
- end
-"
-
-# ltmain only uses $CC for tagged configurations so make sure $CC is set.
-_LT_AC_SYS_COMPILER
-
-# save warnings/boilerplate of simple test code
-_LT_COMPILER_BOILERPLATE
-_LT_LINKER_BOILERPLATE
-
-# Allow CC to be a program name with arguments.
-lt_save_CC="$CC"
-CC=${F77-"f77"}
-compiler=$CC
-_LT_AC_TAGVAR(compiler, $1)=$CC
-_LT_CC_BASENAME([$compiler])
-
-AC_MSG_CHECKING([if libtool supports shared libraries])
-AC_MSG_RESULT([$can_build_shared])
-
-AC_MSG_CHECKING([whether to build shared libraries])
-test "$can_build_shared" = "no" && enable_shared=no
-
-# On AIX, shared libraries and static libraries use the same namespace, and
-# are all built from PIC.
-case $host_os in
-aix3*)
- test "$enable_shared" = yes && enable_static=no
- if test -n "$RANLIB"; then
- archive_cmds="$archive_cmds~\$RANLIB \$lib"
- postinstall_cmds='$RANLIB $lib'
- fi
- ;;
-aix4* | aix5*)
- if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
- test "$enable_shared" = yes && enable_static=no
- fi
- ;;
-esac
-AC_MSG_RESULT([$enable_shared])
-
-AC_MSG_CHECKING([whether to build static libraries])
-# Make sure either enable_shared or enable_static is yes.
-test "$enable_shared" = yes || enable_static=yes
-AC_MSG_RESULT([$enable_static])
-
-_LT_AC_TAGVAR(GCC, $1)="$G77"
-_LT_AC_TAGVAR(LD, $1)="$LD"
-
-AC_LIBTOOL_PROG_COMPILER_PIC($1)
-AC_LIBTOOL_PROG_CC_C_O($1)
-AC_LIBTOOL_SYS_HARD_LINK_LOCKS($1)
-AC_LIBTOOL_PROG_LD_SHLIBS($1)
-AC_LIBTOOL_SYS_DYNAMIC_LINKER($1)
-AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH($1)
-
-AC_LIBTOOL_CONFIG($1)
-
-AC_LANG_POP
-CC="$lt_save_CC"
-])# AC_LIBTOOL_LANG_F77_CONFIG
-
-
-# AC_LIBTOOL_LANG_GCJ_CONFIG
-# --------------------------
-# Ensure that the configuration vars for the C compiler are
-# suitably defined. Those variables are subsequently used by
-# AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'.
-AC_DEFUN([AC_LIBTOOL_LANG_GCJ_CONFIG], [_LT_AC_LANG_GCJ_CONFIG(GCJ)])
-AC_DEFUN([_LT_AC_LANG_GCJ_CONFIG],
-[AC_LANG_SAVE
-
-# Source file extension for Java test sources.
-ac_ext=java
-
-# Object file extension for compiled Java test sources.
-objext=o
-_LT_AC_TAGVAR(objext, $1)=$objext
-
-# Code to be used in simple compile tests
-lt_simple_compile_test_code="class foo {}"
-
-# Code to be used in simple link tests
-lt_simple_link_test_code='public class conftest { public static void main(String[[]] argv) {}; }'
-
-# ltmain only uses $CC for tagged configurations so make sure $CC is set.
-_LT_AC_SYS_COMPILER
-
-# save warnings/boilerplate of simple test code
-_LT_COMPILER_BOILERPLATE
-_LT_LINKER_BOILERPLATE
-
-# Allow CC to be a program name with arguments.
-lt_save_CC="$CC"
-CC=${GCJ-"gcj"}
-compiler=$CC
-_LT_AC_TAGVAR(compiler, $1)=$CC
-_LT_CC_BASENAME([$compiler])
-
-# GCJ did not exist at the time GCC didn't implicitly link libc in.
-_LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
-
-_LT_AC_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
-
-AC_LIBTOOL_PROG_COMPILER_NO_RTTI($1)
-AC_LIBTOOL_PROG_COMPILER_PIC($1)
-AC_LIBTOOL_PROG_CC_C_O($1)
-AC_LIBTOOL_SYS_HARD_LINK_LOCKS($1)
-AC_LIBTOOL_PROG_LD_SHLIBS($1)
-AC_LIBTOOL_SYS_DYNAMIC_LINKER($1)
-AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH($1)
-
-AC_LIBTOOL_CONFIG($1)
-
-AC_LANG_RESTORE
-CC="$lt_save_CC"
-])# AC_LIBTOOL_LANG_GCJ_CONFIG
-
-
-# AC_LIBTOOL_LANG_RC_CONFIG
-# -------------------------
-# Ensure that the configuration vars for the Windows resource compiler are
-# suitably defined. Those variables are subsequently used by
-# AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'.
-AC_DEFUN([AC_LIBTOOL_LANG_RC_CONFIG], [_LT_AC_LANG_RC_CONFIG(RC)])
-AC_DEFUN([_LT_AC_LANG_RC_CONFIG],
-[AC_LANG_SAVE
-
-# Source file extension for RC test sources.
-ac_ext=rc
-
-# Object file extension for compiled RC test sources.
-objext=o
-_LT_AC_TAGVAR(objext, $1)=$objext
-
-# Code to be used in simple compile tests
-lt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }'
-
-# Code to be used in simple link tests
-lt_simple_link_test_code="$lt_simple_compile_test_code"
-
-# ltmain only uses $CC for tagged configurations so make sure $CC is set.
-_LT_AC_SYS_COMPILER
-
-# save warnings/boilerplate of simple test code
-_LT_COMPILER_BOILERPLATE
-_LT_LINKER_BOILERPLATE
-
-# Allow CC to be a program name with arguments.
-lt_save_CC="$CC"
-CC=${RC-"windres"}
-compiler=$CC
-_LT_AC_TAGVAR(compiler, $1)=$CC
-_LT_CC_BASENAME([$compiler])
-_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes
-
-AC_LIBTOOL_CONFIG($1)
-
-AC_LANG_RESTORE
-CC="$lt_save_CC"
-])# AC_LIBTOOL_LANG_RC_CONFIG
-
-
-# AC_LIBTOOL_CONFIG([TAGNAME])
-# ----------------------------
-# If TAGNAME is not passed, then create an initial libtool script
-# with a default configuration from the untagged config vars. Otherwise
-# add code to config.status for appending the configuration named by
-# TAGNAME from the matching tagged config vars.
-AC_DEFUN([AC_LIBTOOL_CONFIG],
-[# The else clause should only fire when bootstrapping the
-# libtool distribution, otherwise you forgot to ship ltmain.sh
-# with your package, and you will get complaints that there are
-# no rules to generate ltmain.sh.
-if test -f "$ltmain"; then
- # See if we are running on zsh, and set the options which allow our commands through
- # without removal of \ escapes.
- if test -n "${ZSH_VERSION+set}" ; then
- setopt NO_GLOB_SUBST
- fi
- # Now quote all the things that may contain metacharacters while being
- # careful not to overquote the AC_SUBSTed values. We take copies of the
- # variables and quote the copies for generation of the libtool script.
- for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC LTCFLAGS NM \
- SED SHELL STRIP \
- libname_spec library_names_spec soname_spec extract_expsyms_cmds \
- old_striplib striplib file_magic_cmd finish_cmds finish_eval \
- deplibs_check_method reload_flag reload_cmds need_locks \
- lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \
- lt_cv_sys_global_symbol_to_c_name_address \
- sys_lib_search_path_spec sys_lib_dlsearch_path_spec \
- old_postinstall_cmds old_postuninstall_cmds \
- _LT_AC_TAGVAR(compiler, $1) \
- _LT_AC_TAGVAR(CC, $1) \
- _LT_AC_TAGVAR(LD, $1) \
- _LT_AC_TAGVAR(lt_prog_compiler_wl, $1) \
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1) \
- _LT_AC_TAGVAR(lt_prog_compiler_static, $1) \
- _LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) \
- _LT_AC_TAGVAR(export_dynamic_flag_spec, $1) \
- _LT_AC_TAGVAR(thread_safe_flag_spec, $1) \
- _LT_AC_TAGVAR(whole_archive_flag_spec, $1) \
- _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1) \
- _LT_AC_TAGVAR(old_archive_cmds, $1) \
- _LT_AC_TAGVAR(old_archive_from_new_cmds, $1) \
- _LT_AC_TAGVAR(predep_objects, $1) \
- _LT_AC_TAGVAR(postdep_objects, $1) \
- _LT_AC_TAGVAR(predeps, $1) \
- _LT_AC_TAGVAR(postdeps, $1) \
- _LT_AC_TAGVAR(compiler_lib_search_path, $1) \
- _LT_AC_TAGVAR(archive_cmds, $1) \
- _LT_AC_TAGVAR(archive_expsym_cmds, $1) \
- _LT_AC_TAGVAR(postinstall_cmds, $1) \
- _LT_AC_TAGVAR(postuninstall_cmds, $1) \
- _LT_AC_TAGVAR(old_archive_from_expsyms_cmds, $1) \
- _LT_AC_TAGVAR(allow_undefined_flag, $1) \
- _LT_AC_TAGVAR(no_undefined_flag, $1) \
- _LT_AC_TAGVAR(export_symbols_cmds, $1) \
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1) \
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1) \
- _LT_AC_TAGVAR(hardcode_libdir_separator, $1) \
- _LT_AC_TAGVAR(hardcode_automatic, $1) \
- _LT_AC_TAGVAR(module_cmds, $1) \
- _LT_AC_TAGVAR(module_expsym_cmds, $1) \
- _LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1) \
- _LT_AC_TAGVAR(fix_srcfile_path, $1) \
- _LT_AC_TAGVAR(exclude_expsyms, $1) \
- _LT_AC_TAGVAR(include_expsyms, $1); do
-
- case $var in
- _LT_AC_TAGVAR(old_archive_cmds, $1) | \
- _LT_AC_TAGVAR(old_archive_from_new_cmds, $1) | \
- _LT_AC_TAGVAR(archive_cmds, $1) | \
- _LT_AC_TAGVAR(archive_expsym_cmds, $1) | \
- _LT_AC_TAGVAR(module_cmds, $1) | \
- _LT_AC_TAGVAR(module_expsym_cmds, $1) | \
- _LT_AC_TAGVAR(old_archive_from_expsyms_cmds, $1) | \
- _LT_AC_TAGVAR(export_symbols_cmds, $1) | \
- extract_expsyms_cmds | reload_cmds | finish_cmds | \
- postinstall_cmds | postuninstall_cmds | \
- old_postinstall_cmds | old_postuninstall_cmds | \
- sys_lib_search_path_spec | sys_lib_dlsearch_path_spec)
- # Double-quote double-evaled strings.
- eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\""
- ;;
- *)
- eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\""
- ;;
- esac
- done
-
- case $lt_echo in
- *'\[$]0 --fallback-echo"')
- lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\[$]0 --fallback-echo"[$]/[$]0 --fallback-echo"/'`
- ;;
- esac
-
-ifelse([$1], [],
- [cfgfile="${ofile}T"
- trap "$rm \"$cfgfile\"; exit 1" 1 2 15
- $rm -f "$cfgfile"
- AC_MSG_NOTICE([creating $ofile])],
- [cfgfile="$ofile"])
-
- cat <<__EOF__ >> "$cfgfile"
-ifelse([$1], [],
-[#! $SHELL
-
-# `$echo "$cfgfile" | sed 's%^.*/%%'` - Provide generalized library-building support services.
-# Generated automatically by $PROGRAM (GNU $PACKAGE $VERSION$TIMESTAMP)
-# NOTE: Changes made to this file will be lost: look at ltmain.sh.
-#
-# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007
-# Free Software Foundation, Inc.
-#
-# This file is part of GNU Libtool:
-# Originally by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful, but
-# WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-# General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
-#
-# As a special exception to the GNU General Public License, if you
-# distribute this file as part of a program that contains a
-# configuration script generated by Autoconf, you may include it under
-# the same distribution terms that you use for the rest of that program.
-
-# A sed program that does not truncate output.
-SED=$lt_SED
-
-# Sed that helps us avoid accidentally triggering echo(1) options like -n.
-Xsed="$SED -e 1s/^X//"
-
-# The HP-UX ksh and POSIX shell print the target directory to stdout
-# if CDPATH is set.
-(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
-
-# The names of the tagged configurations supported by this script.
-available_tags=
-
-# ### BEGIN LIBTOOL CONFIG],
-[# ### BEGIN LIBTOOL TAG CONFIG: $tagname])
-
-# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
-
-# Shell to use when invoking shell scripts.
-SHELL=$lt_SHELL
-
-# Whether or not to build shared libraries.
-build_libtool_libs=$enable_shared
-
-# Whether or not to build static libraries.
-build_old_libs=$enable_static
-
-# Whether or not to add -lc for building shared libraries.
-build_libtool_need_lc=$_LT_AC_TAGVAR(archive_cmds_need_lc, $1)
-
-# Whether or not to disallow shared libs when runtime libs are static
-allow_libtool_libs_with_static_runtimes=$_LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)
-
-# Whether or not to optimize for fast installation.
-fast_install=$enable_fast_install
-
-# The host system.
-host_alias=$host_alias
-host=$host
-host_os=$host_os
-
-# The build system.
-build_alias=$build_alias
-build=$build
-build_os=$build_os
-
-# An echo program that does not interpret backslashes.
-echo=$lt_echo
-
-# The archiver.
-AR=$lt_AR
-AR_FLAGS=$lt_AR_FLAGS
-
-# A C compiler.
-LTCC=$lt_LTCC
-
-# LTCC compiler flags.
-LTCFLAGS=$lt_LTCFLAGS
-
-# A language-specific compiler.
-CC=$lt_[]_LT_AC_TAGVAR(compiler, $1)
-
-# Is the compiler the GNU C compiler?
-with_gcc=$_LT_AC_TAGVAR(GCC, $1)
-
-# An ERE matcher.
-EGREP=$lt_EGREP
-
-# The linker used to build libraries.
-LD=$lt_[]_LT_AC_TAGVAR(LD, $1)
-
-# Whether we need hard or soft links.
-LN_S=$lt_LN_S
-
-# A BSD-compatible nm program.
-NM=$lt_NM
-
-# A symbol stripping program
-STRIP=$lt_STRIP
-
-# Used to examine libraries when file_magic_cmd begins "file"
-MAGIC_CMD=$MAGIC_CMD
-
-# Used on cygwin: DLL creation program.
-DLLTOOL="$DLLTOOL"
-
-# Used on cygwin: object dumper.
-OBJDUMP="$OBJDUMP"
-
-# Used on cygwin: assembler.
-AS="$AS"
-
-# The name of the directory that contains temporary libtool files.
-objdir=$objdir
-
-# How to create reloadable object files.
-reload_flag=$lt_reload_flag
-reload_cmds=$lt_reload_cmds
-
-# How to pass a linker flag through the compiler.
-wl=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_wl, $1)
-
-# Object file suffix (normally "o").
-objext="$ac_objext"
-
-# Old archive suffix (normally "a").
-libext="$libext"
-
-# Shared library suffix (normally ".so").
-shrext_cmds='$shrext_cmds'
-
-# Executable file suffix (normally "").
-exeext="$exeext"
-
-# Additional compiler flags for building library objects.
-pic_flag=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)
-pic_mode=$pic_mode
-
-# What is the maximum length of a command?
-max_cmd_len=$lt_cv_sys_max_cmd_len
-
-# Does compiler simultaneously support -c and -o options?
-compiler_c_o=$lt_[]_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)
-
-# Must we lock files when doing compilation?
-need_locks=$lt_need_locks
-
-# Do we need the lib prefix for modules?
-need_lib_prefix=$need_lib_prefix
-
-# Do we need a version for libraries?
-need_version=$need_version
-
-# Whether dlopen is supported.
-dlopen_support=$enable_dlopen
-
-# Whether dlopen of programs is supported.
-dlopen_self=$enable_dlopen_self
-
-# Whether dlopen of statically linked programs is supported.
-dlopen_self_static=$enable_dlopen_self_static
-
-# Compiler flag to prevent dynamic linking.
-link_static_flag=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_static, $1)
-
-# Compiler flag to turn off builtin functions.
-no_builtin_flag=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)
-
-# Compiler flag to allow reflexive dlopens.
-export_dynamic_flag_spec=$lt_[]_LT_AC_TAGVAR(export_dynamic_flag_spec, $1)
-
-# Compiler flag to generate shared objects directly from archives.
-whole_archive_flag_spec=$lt_[]_LT_AC_TAGVAR(whole_archive_flag_spec, $1)
-
-# Compiler flag to generate thread-safe objects.
-thread_safe_flag_spec=$lt_[]_LT_AC_TAGVAR(thread_safe_flag_spec, $1)
-
-# Library versioning type.
-version_type=$version_type
-
-# Format of library name prefix.
-libname_spec=$lt_libname_spec
-
-# List of archive names. First name is the real one, the rest are links.
-# The last name is the one that the linker finds with -lNAME.
-library_names_spec=$lt_library_names_spec
-
-# The coded name of the library, if different from the real name.
-soname_spec=$lt_soname_spec
-
-# Commands used to build and install an old-style archive.
-RANLIB=$lt_RANLIB
-old_archive_cmds=$lt_[]_LT_AC_TAGVAR(old_archive_cmds, $1)
-old_postinstall_cmds=$lt_old_postinstall_cmds
-old_postuninstall_cmds=$lt_old_postuninstall_cmds
-
-# Create an old-style archive from a shared archive.
-old_archive_from_new_cmds=$lt_[]_LT_AC_TAGVAR(old_archive_from_new_cmds, $1)
-
-# Create a temporary old-style archive to link instead of a shared archive.
-old_archive_from_expsyms_cmds=$lt_[]_LT_AC_TAGVAR(old_archive_from_expsyms_cmds, $1)
-
-# Commands used to build and install a shared archive.
-archive_cmds=$lt_[]_LT_AC_TAGVAR(archive_cmds, $1)
-archive_expsym_cmds=$lt_[]_LT_AC_TAGVAR(archive_expsym_cmds, $1)
-postinstall_cmds=$lt_postinstall_cmds
-postuninstall_cmds=$lt_postuninstall_cmds
-
-# Commands used to build a loadable module (assumed same as above if empty)
-module_cmds=$lt_[]_LT_AC_TAGVAR(module_cmds, $1)
-module_expsym_cmds=$lt_[]_LT_AC_TAGVAR(module_expsym_cmds, $1)
-
-# Commands to strip libraries.
-old_striplib=$lt_old_striplib
-striplib=$lt_striplib
-
-# Dependencies to place before the objects being linked to create a
-# shared library.
-predep_objects=$lt_[]_LT_AC_TAGVAR(predep_objects, $1)
-
-# Dependencies to place after the objects being linked to create a
-# shared library.
-postdep_objects=$lt_[]_LT_AC_TAGVAR(postdep_objects, $1)
-
-# Dependencies to place before the objects being linked to create a
-# shared library.
-predeps=$lt_[]_LT_AC_TAGVAR(predeps, $1)
-
-# Dependencies to place after the objects being linked to create a
-# shared library.
-postdeps=$lt_[]_LT_AC_TAGVAR(postdeps, $1)
-
-# The library search path used internally by the compiler when linking
-# a shared library.
-compiler_lib_search_path=$lt_[]_LT_AC_TAGVAR(compiler_lib_search_path, $1)
-
-# Method to check whether dependent libraries are shared objects.
-deplibs_check_method=$lt_deplibs_check_method
-
-# Command to use when deplibs_check_method == file_magic.
-file_magic_cmd=$lt_file_magic_cmd
-
-# Flag that allows shared libraries with undefined symbols to be built.
-allow_undefined_flag=$lt_[]_LT_AC_TAGVAR(allow_undefined_flag, $1)
-
-# Flag that forces no undefined symbols.
-no_undefined_flag=$lt_[]_LT_AC_TAGVAR(no_undefined_flag, $1)
-
-# Commands used to finish a libtool library installation in a directory.
-finish_cmds=$lt_finish_cmds
-
-# Same as above, but a single script fragment to be evaled but not shown.
-finish_eval=$lt_finish_eval
-
-# Take the output of nm and produce a listing of raw symbols and C names.
-global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe
-
-# Transform the output of nm in a proper C declaration
-global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl
-
-# Transform the output of nm in a C name address pair
-global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address
-
-# This is the shared library runtime path variable.
-runpath_var=$runpath_var
-
-# This is the shared library path variable.
-shlibpath_var=$shlibpath_var
-
-# Is shlibpath searched before the hard-coded library search path?
-shlibpath_overrides_runpath=$shlibpath_overrides_runpath
-
-# How to hardcode a shared library path into an executable.
-hardcode_action=$_LT_AC_TAGVAR(hardcode_action, $1)
-
-# Whether we should hardcode library paths into libraries.
-hardcode_into_libs=$hardcode_into_libs
-
-# Flag to hardcode \$libdir into a binary during linking.
-# This must work even if \$libdir does not exist.
-hardcode_libdir_flag_spec=$lt_[]_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)
-
-# If ld is used when linking, flag to hardcode \$libdir into
-# a binary during linking. This must work even if \$libdir does
-# not exist.
-hardcode_libdir_flag_spec_ld=$lt_[]_LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)
-
-# Whether we need a single -rpath flag with a separated argument.
-hardcode_libdir_separator=$lt_[]_LT_AC_TAGVAR(hardcode_libdir_separator, $1)
-
-# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the
-# resulting binary.
-hardcode_direct=$_LT_AC_TAGVAR(hardcode_direct, $1)
-
-# Set to yes if using the -LDIR flag during linking hardcodes DIR into the
-# resulting binary.
-hardcode_minus_L=$_LT_AC_TAGVAR(hardcode_minus_L, $1)
-
-# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into
-# the resulting binary.
-hardcode_shlibpath_var=$_LT_AC_TAGVAR(hardcode_shlibpath_var, $1)
-
-# Set to yes if building a shared library automatically hardcodes DIR into the library
-# and all subsequent libraries and executables linked against it.
-hardcode_automatic=$_LT_AC_TAGVAR(hardcode_automatic, $1)
-
-# Variables whose values should be saved in libtool wrapper scripts and
-# restored at relink time.
-variables_saved_for_relink="$variables_saved_for_relink"
-
-# Whether libtool must link a program against all its dependency libraries.
-link_all_deplibs=$_LT_AC_TAGVAR(link_all_deplibs, $1)
-
-# Compile-time system search path for libraries
-sys_lib_search_path_spec=$lt_sys_lib_search_path_spec
-
-# Run-time system search path for libraries
-sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec
-
-# Fix the shell variable \$srcfile for the compiler.
-fix_srcfile_path=$lt_fix_srcfile_path
-
-# Set to yes if exported symbols are required.
-always_export_symbols=$_LT_AC_TAGVAR(always_export_symbols, $1)
-
-# The commands to list exported symbols.
-export_symbols_cmds=$lt_[]_LT_AC_TAGVAR(export_symbols_cmds, $1)
-
-# The commands to extract the exported symbol list from a shared archive.
-extract_expsyms_cmds=$lt_extract_expsyms_cmds
-
-# Symbols that should not be listed in the preloaded symbols.
-exclude_expsyms=$lt_[]_LT_AC_TAGVAR(exclude_expsyms, $1)
-
-# Symbols that must always be exported.
-include_expsyms=$lt_[]_LT_AC_TAGVAR(include_expsyms, $1)
-
-ifelse([$1],[],
-[# ### END LIBTOOL CONFIG],
-[# ### END LIBTOOL TAG CONFIG: $tagname])
-
-__EOF__
-
-ifelse([$1],[], [
- case $host_os in
- aix3*)
- cat <<\EOF >> "$cfgfile"
-
-# AIX sometimes has problems with the GCC collect2 program. For some
-# reason, if we set the COLLECT_NAMES environment variable, the problems
-# vanish in a puff of smoke.
-if test "X${COLLECT_NAMES+set}" != Xset; then
- COLLECT_NAMES=
- export COLLECT_NAMES
-fi
-EOF
- ;;
- esac
-
- # We use sed instead of cat because bash on DJGPP gets confused if
- # if finds mixed CR/LF and LF-only lines. Since sed operates in
- # text mode, it properly converts lines to CR/LF. This bash problem
- # is reportedly fixed, but why not run on old versions too?
- sed '$q' "$ltmain" >> "$cfgfile" || (rm -f "$cfgfile"; exit 1)
-
- mv -f "$cfgfile" "$ofile" || \
- (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile")
- chmod +x "$ofile"
-])
-else
- # If there is no Makefile yet, we rely on a make rule to execute
- # `config.status --recheck' to rerun these tests and create the
- # libtool script then.
- ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'`
- if test -f "$ltmain_in"; then
- test -f Makefile && make "$ltmain"
- fi
-fi
-])# AC_LIBTOOL_CONFIG
-
-
-# AC_LIBTOOL_PROG_COMPILER_NO_RTTI([TAGNAME])
-# -------------------------------------------
-AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_NO_RTTI],
-[AC_REQUIRE([_LT_AC_SYS_COMPILER])dnl
-
-_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=
-
-if test "$GCC" = yes; then
- _LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin'
-
- AC_LIBTOOL_COMPILER_OPTION([if $compiler supports -fno-rtti -fno-exceptions],
- lt_cv_prog_compiler_rtti_exceptions,
- [-fno-rtti -fno-exceptions], [],
- [_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)="$_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) -fno-rtti -fno-exceptions"])
-fi
-])# AC_LIBTOOL_PROG_COMPILER_NO_RTTI
-
-
-# AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE
-# ---------------------------------
-AC_DEFUN([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE],
-[AC_REQUIRE([AC_CANONICAL_HOST])
-AC_REQUIRE([LT_AC_PROG_SED])
-AC_REQUIRE([AC_PROG_NM])
-AC_REQUIRE([AC_OBJEXT])
-# Check for command to grab the raw symbol name followed by C symbol from nm.
-AC_MSG_CHECKING([command to parse $NM output from $compiler object])
-AC_CACHE_VAL([lt_cv_sys_global_symbol_pipe],
-[
-# These are sane defaults that work on at least a few old systems.
-# [They come from Ultrix. What could be older than Ultrix?!! ;)]
-
-# Character class describing NM global symbol codes.
-symcode='[[BCDEGRST]]'
-
-# Regexp to match symbols that can be accessed directly from C.
-sympat='\([[_A-Za-z]][[_A-Za-z0-9]]*\)'
-
-# Transform an extracted symbol line into a proper C declaration
-lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^. .* \(.*\)$/extern int \1;/p'"
-
-# Transform an extracted symbol line into symbol name and symbol address
-lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'"
-
-# Define system-specific variables.
-case $host_os in
-aix*)
- symcode='[[BCDT]]'
- ;;
-cygwin* | mingw* | pw32*)
- symcode='[[ABCDGISTW]]'
- ;;
-hpux*) # Its linker distinguishes data from code symbols
- if test "$host_cpu" = ia64; then
- symcode='[[ABCDEGRST]]'
- fi
- lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
- lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'"
- ;;
-linux* | k*bsd*-gnu)
- if test "$host_cpu" = ia64; then
- symcode='[[ABCDGIRSTW]]'
- lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
- lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'"
- fi
- ;;
-irix* | nonstopux*)
- symcode='[[BCDEGRST]]'
- ;;
-osf*)
- symcode='[[BCDEGQRST]]'
- ;;
-solaris*)
- symcode='[[BDRT]]'
- ;;
-sco3.2v5*)
- symcode='[[DT]]'
- ;;
-sysv4.2uw2*)
- symcode='[[DT]]'
- ;;
-sysv5* | sco5v6* | unixware* | OpenUNIX*)
- symcode='[[ABDT]]'
- ;;
-sysv4)
- symcode='[[DFNSTU]]'
- ;;
-esac
-
-# Handle CRLF in mingw tool chain
-opt_cr=
-case $build_os in
-mingw*)
- opt_cr=`echo 'x\{0,1\}' | tr x '\015'` # option cr in regexp
- ;;
-esac
-
-# If we're using GNU nm, then use its standard symbol codes.
-case `$NM -V 2>&1` in
-*GNU* | *'with BFD'*)
- symcode='[[ABCDGIRSTW]]' ;;
-esac
-
-# Try without a prefix undercore, then with it.
-for ac_symprfx in "" "_"; do
-
- # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol.
- symxfrm="\\1 $ac_symprfx\\2 \\2"
-
- # Write the raw and C identifiers.
- lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[[ ]]\($symcode$symcode*\)[[ ]][[ ]]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'"
-
- # Check to see that the pipe works correctly.
- pipe_works=no
-
- rm -f conftest*
- cat > conftest.$ac_ext <<EOF
-#ifdef __cplusplus
-extern "C" {
-#endif
-char nm_test_var;
-void nm_test_func(){}
-#ifdef __cplusplus
-}
-#endif
-int main(){nm_test_var='a';nm_test_func();return(0);}
-EOF
-
- if AC_TRY_EVAL(ac_compile); then
- # Now try to grab the symbols.
- nlist=conftest.nm
- if AC_TRY_EVAL(NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist) && test -s "$nlist"; then
- # Try sorting and uniquifying the output.
- if sort "$nlist" | uniq > "$nlist"T; then
- mv -f "$nlist"T "$nlist"
- else
- rm -f "$nlist"T
- fi
-
- # Make sure that we snagged all the symbols we need.
- if grep ' nm_test_var$' "$nlist" >/dev/null; then
- if grep ' nm_test_func$' "$nlist" >/dev/null; then
- cat <<EOF > conftest.$ac_ext
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-EOF
- # Now generate the symbol file.
- eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | grep -v main >> conftest.$ac_ext'
-
- cat <<EOF >> conftest.$ac_ext
-#if defined (__STDC__) && __STDC__
-# define lt_ptr_t void *
-#else
-# define lt_ptr_t char *
-# define const
-#endif
-
-/* The mapping between symbol names and symbols. */
-const struct {
- const char *name;
- lt_ptr_t address;
-}
-lt_preloaded_symbols[[]] =
-{
-EOF
- $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (lt_ptr_t) \&\2},/" < "$nlist" | grep -v main >> conftest.$ac_ext
- cat <<\EOF >> conftest.$ac_ext
- {0, (lt_ptr_t) 0}
-};
-
-#ifdef __cplusplus
-}
-#endif
-EOF
- # Now try linking the two files.
- mv conftest.$ac_objext conftstm.$ac_objext
- lt_save_LIBS="$LIBS"
- lt_save_CFLAGS="$CFLAGS"
- LIBS="conftstm.$ac_objext"
- CFLAGS="$CFLAGS$_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)"
- if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext}; then
- pipe_works=yes
- fi
- LIBS="$lt_save_LIBS"
- CFLAGS="$lt_save_CFLAGS"
- else
- echo "cannot find nm_test_func in $nlist" >&AS_MESSAGE_LOG_FD
- fi
- else
- echo "cannot find nm_test_var in $nlist" >&AS_MESSAGE_LOG_FD
- fi
- else
- echo "cannot run $lt_cv_sys_global_symbol_pipe" >&AS_MESSAGE_LOG_FD
- fi
- else
- echo "$progname: failed program was:" >&AS_MESSAGE_LOG_FD
- cat conftest.$ac_ext >&5
- fi
- rm -f conftest* conftst*
-
- # Do not use the global_symbol_pipe unless it works.
- if test "$pipe_works" = yes; then
- break
- else
- lt_cv_sys_global_symbol_pipe=
- fi
-done
-])
-if test -z "$lt_cv_sys_global_symbol_pipe"; then
- lt_cv_sys_global_symbol_to_cdecl=
-fi
-if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then
- AC_MSG_RESULT(failed)
-else
- AC_MSG_RESULT(ok)
-fi
-]) # AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE
-
-
-# AC_LIBTOOL_PROG_COMPILER_PIC([TAGNAME])
-# ---------------------------------------
-AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_PIC],
-[_LT_AC_TAGVAR(lt_prog_compiler_wl, $1)=
-_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=
-_LT_AC_TAGVAR(lt_prog_compiler_static, $1)=
-
-AC_MSG_CHECKING([for $compiler option to produce PIC])
- ifelse([$1],[CXX],[
- # C++ specific cases for pic, static, wl, etc.
- if test "$GXX" = yes; then
- _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static'
-
- case $host_os in
- aix*)
- # All AIX code is PIC.
- if test "$host_cpu" = ia64; then
- # AIX 5 now supports IA64 processor
- _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
- fi
- ;;
- amigaos*)
- # FIXME: we need at least 68020 code to build shared libraries, but
- # adding the `-m68020' flag to GCC prevents building anything better,
- # like `-m68040'.
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4'
- ;;
- beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
- # PIC is the default for these OSes.
- ;;
- mingw* | cygwin* | os2* | pw32*)
- # This hack is so that the source file can tell whether it is being
- # built for inclusion in a dll (and should export symbols for example).
- # Although the cygwin gcc ignores -fPIC, still need this for old-style
- # (--disable-auto-import) libraries
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'
- ;;
- darwin* | rhapsody*)
- # PIC is the default on this platform
- # Common symbols not allowed in MH_DYLIB files
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common'
- ;;
- *djgpp*)
- # DJGPP does not support shared libraries at all
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=
- ;;
- interix[[3-9]]*)
- # Interix 3.x gcc -fpic/-fPIC options generate broken code.
- # Instead, we relocate shared libraries at runtime.
- ;;
- sysv4*MP*)
- if test -d /usr/nec; then
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic
- fi
- ;;
- hpux*)
- # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
- # not for PA HP-UX.
- case $host_cpu in
- hppa*64*|ia64*)
- ;;
- *)
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
- ;;
- esac
- ;;
- *)
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
- ;;
- esac
- else
- case $host_os in
- aix4* | aix5*)
- # All AIX code is PIC.
- if test "$host_cpu" = ia64; then
- # AIX 5 now supports IA64 processor
- _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
- else
- _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp'
- fi
- ;;
- chorus*)
- case $cc_basename in
- cxch68*)
- # Green Hills C++ Compiler
- # _LT_AC_TAGVAR(lt_prog_compiler_static, $1)="--no_auto_instantiation -u __main -u __premain -u _abort -r $COOL_DIR/lib/libOrb.a $MVME_DIR/lib/CC/libC.a $MVME_DIR/lib/classix/libcx.s.a"
- ;;
- esac
- ;;
- darwin*)
- # PIC is the default on this platform
- # Common symbols not allowed in MH_DYLIB files
- case $cc_basename in
- xlc*)
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-qnocommon'
- _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- ;;
- esac
- ;;
- dgux*)
- case $cc_basename in
- ec++*)
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
- ;;
- ghcx*)
- # Green Hills C++ Compiler
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
- ;;
- *)
- ;;
- esac
- ;;
- freebsd* | dragonfly*)
- # FreeBSD uses GNU C++
- ;;
- hpux9* | hpux10* | hpux11*)
- case $cc_basename in
- CC*)
- _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive'
- if test "$host_cpu" != ia64; then
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
- fi
- ;;
- aCC*)
- _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive'
- case $host_cpu in
- hppa*64*|ia64*)
- # +Z the default
- ;;
- *)
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
- ;;
- esac
- ;;
- *)
- ;;
- esac
- ;;
- interix*)
- # This is c89, which is MS Visual C++ (no shared libs)
- # Anyone wants to do a port?
- ;;
- irix5* | irix6* | nonstopux*)
- case $cc_basename in
- CC*)
- _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
- # CC pic flag -KPIC is the default.
- ;;
- *)
- ;;
- esac
- ;;
- linux* | k*bsd*-gnu)
- case $cc_basename in
- KCC*)
- # KAI C++ Compiler
- _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,'
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
- ;;
- icpc* | ecpc*)
- # Intel C++
- _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
- _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static'
- ;;
- pgCC*)
- # Portland Group C++ compiler.
- _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
- _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
- ;;
- cxx*)
- # Compaq C++
- # Make sure the PIC flag is empty. It appears that all Alpha
- # Linux and Compaq Tru64 Unix objects are PIC.
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=
- _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
- ;;
- *)
- case `$CC -V 2>&1 | sed 5q` in
- *Sun\ C*)
- # Sun C++ 5.9
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
- _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
- _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
- ;;
- esac
- ;;
- esac
- ;;
- lynxos*)
- ;;
- m88k*)
- ;;
- mvs*)
- case $cc_basename in
- cxx*)
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-W c,exportall'
- ;;
- *)
- ;;
- esac
- ;;
- netbsd*)
- ;;
- osf3* | osf4* | osf5*)
- case $cc_basename in
- KCC*)
- _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,'
- ;;
- RCC*)
- # Rational C++ 2.4.1
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
- ;;
- cxx*)
- # Digital/Compaq C++
- _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- # Make sure the PIC flag is empty. It appears that all Alpha
- # Linux and Compaq Tru64 Unix objects are PIC.
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=
- _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
- ;;
- *)
- ;;
- esac
- ;;
- psos*)
- ;;
- solaris*)
- case $cc_basename in
- CC*)
- # Sun C++ 4.2, 5.x and Centerline C++
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
- _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
- _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
- ;;
- gcx*)
- # Green Hills C++ Compiler
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
- ;;
- *)
- ;;
- esac
- ;;
- sunos4*)
- case $cc_basename in
- CC*)
- # Sun C++ 4.x
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
- _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
- ;;
- lcc*)
- # Lucid
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
- ;;
- *)
- ;;
- esac
- ;;
- tandem*)
- case $cc_basename in
- NCC*)
- # NonStop-UX NCC 3.20
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
- ;;
- *)
- ;;
- esac
- ;;
- sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
- case $cc_basename in
- CC*)
- _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
- _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
- ;;
- esac
- ;;
- vxworks*)
- ;;
- *)
- _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
- ;;
- esac
- fi
-],
-[
- if test "$GCC" = yes; then
- _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static'
-
- case $host_os in
- aix*)
- # All AIX code is PIC.
- if test "$host_cpu" = ia64; then
- # AIX 5 now supports IA64 processor
- _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
- fi
- ;;
-
- amigaos*)
- # FIXME: we need at least 68020 code to build shared libraries, but
- # adding the `-m68020' flag to GCC prevents building anything better,
- # like `-m68040'.
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4'
- ;;
-
- beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
- # PIC is the default for these OSes.
- ;;
-
- mingw* | cygwin* | pw32* | os2*)
- # This hack is so that the source file can tell whether it is being
- # built for inclusion in a dll (and should export symbols for example).
- # Although the cygwin gcc ignores -fPIC, still need this for old-style
- # (--disable-auto-import) libraries
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'
- ;;
-
- darwin* | rhapsody*)
- # PIC is the default on this platform
- # Common symbols not allowed in MH_DYLIB files
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common'
- ;;
-
- interix[[3-9]]*)
- # Interix 3.x gcc -fpic/-fPIC options generate broken code.
- # Instead, we relocate shared libraries at runtime.
- ;;
-
- msdosdjgpp*)
- # Just because we use GCC doesn't mean we suddenly get shared libraries
- # on systems that don't support them.
- _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
- enable_shared=no
- ;;
-
- sysv4*MP*)
- if test -d /usr/nec; then
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic
- fi
- ;;
-
- hpux*)
- # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
- # not for PA HP-UX.
- case $host_cpu in
- hppa*64*|ia64*)
- # +Z the default
- ;;
- *)
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
- ;;
- esac
- ;;
-
- *)
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
- ;;
- esac
- else
- # PORTME Check for flag to pass linker flags through the system compiler.
- case $host_os in
- aix*)
- _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- if test "$host_cpu" = ia64; then
- # AIX 5 now supports IA64 processor
- _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
- else
- _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp'
- fi
- ;;
- darwin*)
- # PIC is the default on this platform
- # Common symbols not allowed in MH_DYLIB files
- case $cc_basename in
- xlc*)
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-qnocommon'
- _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- ;;
- esac
- ;;
-
- mingw* | cygwin* | pw32* | os2*)
- # This hack is so that the source file can tell whether it is being
- # built for inclusion in a dll (and should export symbols for example).
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'
- ;;
-
- hpux9* | hpux10* | hpux11*)
- _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
- # not for PA HP-UX.
- case $host_cpu in
- hppa*64*|ia64*)
- # +Z the default
- ;;
- *)
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
- ;;
- esac
- # Is there a better lt_prog_compiler_static that works with the bundled CC?
- _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive'
- ;;
-
- irix5* | irix6* | nonstopux*)
- _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- # PIC (with -KPIC) is the default.
- _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
- ;;
-
- newsos6)
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
- _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
- ;;
-
- linux* | k*bsd*-gnu)
- case $cc_basename in
- icc* | ecc*)
- _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
- _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static'
- ;;
- pgcc* | pgf77* | pgf90* | pgf95*)
- # Portland Group compilers (*not* the Pentium gcc compiler,
- # which looks to be a dead project)
- _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
- _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
- ;;
- ccc*)
- _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- # All Alpha code is PIC.
- _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
- ;;
- *)
- case `$CC -V 2>&1 | sed 5q` in
- *Sun\ C*)
- # Sun C 5.9
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
- _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
- _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- ;;
- *Sun\ F*)
- # Sun Fortran 8.3 passes all unrecognized flags to the linker
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
- _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
- _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)=''
- ;;
- esac
- ;;
- esac
- ;;
-
- osf3* | osf4* | osf5*)
- _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- # All OSF/1 code is PIC.
- _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
- ;;
-
- rdos*)
- _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
- ;;
-
- solaris*)
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
- _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
- case $cc_basename in
- f77* | f90* | f95*)
- _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ';;
- *)
- _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,';;
- esac
- ;;
-
- sunos4*)
- _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
- _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
- ;;
-
- sysv4 | sysv4.2uw2* | sysv4.3*)
- _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
- _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
- ;;
-
- sysv4*MP*)
- if test -d /usr/nec ;then
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-Kconform_pic'
- _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
- fi
- ;;
-
- sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
- _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
- _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
- ;;
-
- unicos*)
- _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
- ;;
-
- uts4*)
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
- _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
- ;;
-
- *)
- _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
- ;;
- esac
- fi
-])
-AC_MSG_RESULT([$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)])
-
-#
-# Check to make sure the PIC flag actually works.
-#
-if test -n "$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)"; then
- AC_LIBTOOL_COMPILER_OPTION([if $compiler PIC flag $_LT_AC_TAGVAR(lt_prog_compiler_pic, $1) works],
- _LT_AC_TAGVAR(lt_prog_compiler_pic_works, $1),
- [$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)ifelse([$1],[],[ -DPIC],[ifelse([$1],[CXX],[ -DPIC],[])])], [],
- [case $_LT_AC_TAGVAR(lt_prog_compiler_pic, $1) in
- "" | " "*) ;;
- *) _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=" $_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)" ;;
- esac],
- [_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=
- _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no])
-fi
-case $host_os in
- # For platforms which do not support PIC, -DPIC is meaningless:
- *djgpp*)
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=
- ;;
- *)
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)="$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)ifelse([$1],[],[ -DPIC],[ifelse([$1],[CXX],[ -DPIC],[])])"
- ;;
-esac
-
-#
-# Check to make sure the static flag actually works.
-#
-wl=$_LT_AC_TAGVAR(lt_prog_compiler_wl, $1) eval lt_tmp_static_flag=\"$_LT_AC_TAGVAR(lt_prog_compiler_static, $1)\"
-AC_LIBTOOL_LINKER_OPTION([if $compiler static flag $lt_tmp_static_flag works],
- _LT_AC_TAGVAR(lt_prog_compiler_static_works, $1),
- $lt_tmp_static_flag,
- [],
- [_LT_AC_TAGVAR(lt_prog_compiler_static, $1)=])
-])
-
-
-# AC_LIBTOOL_PROG_LD_SHLIBS([TAGNAME])
-# ------------------------------------
-# See if the linker supports building shared libraries.
-AC_DEFUN([AC_LIBTOOL_PROG_LD_SHLIBS],
-[AC_REQUIRE([LT_AC_PROG_SED])dnl
-AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries])
-ifelse([$1],[CXX],[
- _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
- case $host_os in
- aix4* | aix5*)
- # If we're using GNU nm, then we don't want the "-C" option.
- # -C means demangle to AIX nm, but means don't demangle with GNU nm
- if $NM -V 2>&1 | grep 'GNU' > /dev/null; then
- _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\[$]2 == "T") || (\[$]2 == "D") || (\[$]2 == "B")) && ([substr](\[$]3,1,1) != ".")) { print \[$]3 } }'\'' | sort -u > $export_symbols'
- else
- _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\[$]2 == "T") || (\[$]2 == "D") || (\[$]2 == "B")) && ([substr](\[$]3,1,1) != ".")) { print \[$]3 } }'\'' | sort -u > $export_symbols'
- fi
- ;;
- pw32*)
- _LT_AC_TAGVAR(export_symbols_cmds, $1)="$ltdll_cmds"
- ;;
- cygwin* | mingw*)
- _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/;/^.*[[ ]]__nm__/s/^.*[[ ]]__nm__\([[^ ]]*\)[[ ]][[^ ]]*/\1 DATA/;/^I[[ ]]/d;/^[[AITW]][[ ]]/s/.*[[ ]]//'\'' | sort | uniq > $export_symbols'
- ;;
- *)
- _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
- ;;
- esac
-],[
- runpath_var=
- _LT_AC_TAGVAR(allow_undefined_flag, $1)=
- _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=no
- _LT_AC_TAGVAR(archive_cmds, $1)=
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)=
- _LT_AC_TAGVAR(old_archive_From_new_cmds, $1)=
- _LT_AC_TAGVAR(old_archive_from_expsyms_cmds, $1)=
- _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)=
- _LT_AC_TAGVAR(whole_archive_flag_spec, $1)=
- _LT_AC_TAGVAR(thread_safe_flag_spec, $1)=
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)=
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)=
- _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=
- _LT_AC_TAGVAR(hardcode_direct, $1)=no
- _LT_AC_TAGVAR(hardcode_minus_L, $1)=no
- _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
- _LT_AC_TAGVAR(link_all_deplibs, $1)=unknown
- _LT_AC_TAGVAR(hardcode_automatic, $1)=no
- _LT_AC_TAGVAR(module_cmds, $1)=
- _LT_AC_TAGVAR(module_expsym_cmds, $1)=
- _LT_AC_TAGVAR(always_export_symbols, $1)=no
- _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
- # include_expsyms should be a list of space-separated symbols to be *always*
- # included in the symbol list
- _LT_AC_TAGVAR(include_expsyms, $1)=
- # exclude_expsyms can be an extended regexp of symbols to exclude
- # it will be wrapped by ` (' and `)$', so one must not match beginning or
- # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc',
- # as well as any symbol that contains `d'.
- _LT_AC_TAGVAR(exclude_expsyms, $1)="_GLOBAL_OFFSET_TABLE_"
- # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out
- # platforms (ab)use it in PIC code, but their linkers get confused if
- # the symbol is explicitly referenced. Since portable code cannot
- # rely on this symbol name, it's probably fine to never include it in
- # preloaded symbol tables.
- extract_expsyms_cmds=
- # Just being paranoid about ensuring that cc_basename is set.
- _LT_CC_BASENAME([$compiler])
- case $host_os in
- cygwin* | mingw* | pw32*)
- # FIXME: the MSVC++ port hasn't been tested in a loooong time
- # When not using gcc, we currently assume that we are using
- # Microsoft Visual C++.
- if test "$GCC" != yes; then
- with_gnu_ld=no
- fi
- ;;
- interix*)
- # we just hope/assume this is gcc and not c89 (= MSVC++)
- with_gnu_ld=yes
- ;;
- openbsd*)
- with_gnu_ld=no
- ;;
- esac
-
- _LT_AC_TAGVAR(ld_shlibs, $1)=yes
- if test "$with_gnu_ld" = yes; then
- # If archive_cmds runs LD, not CC, wlarc should be empty
- wlarc='${wl}'
-
- # Set some defaults for GNU ld with shared library support. These
- # are reset later if shared libraries are not supported. Putting them
- # here allows them to be overridden if necessary.
- runpath_var=LD_RUN_PATH
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir'
- _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
- # ancient GNU ld didn't support --whole-archive et. al.
- if $LD --help 2>&1 | grep 'no-whole-archive' > /dev/null; then
- _LT_AC_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
- else
- _LT_AC_TAGVAR(whole_archive_flag_spec, $1)=
- fi
- supports_anon_versioning=no
- case `$LD -v 2>/dev/null` in
- *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.10.*) ;; # catch versions < 2.11
- *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ...
- *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ...
- *\ 2.11.*) ;; # other 2.11 versions
- *) supports_anon_versioning=yes ;;
- esac
-
- # See if GNU ld supports shared libraries.
- case $host_os in
- aix3* | aix4* | aix5*)
- # On AIX/PPC, the GNU linker is very broken
- if test "$host_cpu" != ia64; then
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- cat <<EOF 1>&2
-
-*** Warning: the GNU linker, at least up to release 2.9.1, is reported
-*** to be unable to reliably create shared libraries on AIX.
-*** Therefore, libtool is disabling shared libraries support. If you
-*** really care for shared libraries, you may want to modify your PATH
-*** so that a non-GNU linker is found, and then restart.
-
-EOF
- fi
- ;;
-
- amigaos*)
- _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
- _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
-
- # Samuel A. Falvo II <kc5tja@dolphin.openprojects.net> reports
- # that the semantics of dynamic libraries on AmigaOS, at least up
- # to version 4, is to share data among multiple programs linked
- # with the same dynamic library. Since this doesn't match the
- # behavior of shared libraries on other platforms, we can't use
- # them.
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- ;;
-
- beos*)
- if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
- _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported
- # Joseph Beckenbach <jrb3@best.com> says some releases of gcc
- # support --undefined. This deserves some investigation. FIXME
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- else
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- fi
- ;;
-
- cygwin* | mingw* | pw32*)
- # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless,
- # as there is no search path for DLLs.
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
- _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported
- _LT_AC_TAGVAR(always_export_symbols, $1)=no
- _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
- _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/'\'' -e '\''/^[[AITW]][[ ]]/s/.*[[ ]]//'\'' | sort | uniq > $export_symbols'
-
- if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
- # If the export-symbols file already is a .def file (1st line
- # is EXPORTS), use it as is; otherwise, prepend...
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
- cp $export_symbols $output_objdir/$soname.def;
- else
- echo EXPORTS > $output_objdir/$soname.def;
- cat $export_symbols >> $output_objdir/$soname.def;
- fi~
- $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
- else
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- fi
- ;;
-
- interix[[3-9]]*)
- _LT_AC_TAGVAR(hardcode_direct, $1)=no
- _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
- _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
- # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
- # Instead, shared libraries are loaded at an image base (0x10000000 by
- # default) and relocated if they conflict, which is a slow very memory
- # consuming and fragmenting process. To avoid this, we pick a random,
- # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
- # time. Moving up from 0x10000000 also allows more sbrk(2) space.
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
- ;;
-
- gnu* | linux* | k*bsd*-gnu)
- if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
- tmp_addflag=
- case $cc_basename,$host_cpu in
- pgcc*) # Portland Group C compiler
- _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
- tmp_addflag=' $pic_flag'
- ;;
- pgf77* | pgf90* | pgf95*) # Portland Group f77 and f90 compilers
- _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
- tmp_addflag=' $pic_flag -Mnomain' ;;
- ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64
- tmp_addflag=' -i_dynamic' ;;
- efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64
- tmp_addflag=' -i_dynamic -nofor_main' ;;
- ifc* | ifort*) # Intel Fortran compiler
- tmp_addflag=' -nofor_main' ;;
- esac
- case `$CC -V 2>&1 | sed 5q` in
- *Sun\ C*) # Sun C 5.9
- _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
- tmp_sharedflag='-G' ;;
- *Sun\ F*) # Sun Fortran 8.3
- tmp_sharedflag='-G' ;;
- *)
- tmp_sharedflag='-shared' ;;
- esac
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-
- if test $supports_anon_versioning = yes; then
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $output_objdir/$libname.ver~
- cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
- $echo "local: *; };" >> $output_objdir/$libname.ver~
- $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
- fi
- else
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- fi
- ;;
-
- netbsd*)
- if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
- _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
- wlarc=
- else
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
- fi
- ;;
-
- solaris*)
- if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- cat <<EOF 1>&2
-
-*** Warning: The releases 2.8.* of the GNU linker cannot reliably
-*** create shared libraries on Solaris systems. Therefore, libtool
-*** is disabling shared libraries support. We urge you to upgrade GNU
-*** binutils to release 2.9.1 or newer. Another option is to modify
-*** your PATH or compiler configuration so that the native linker is
-*** used, and then restart.
-
-EOF
- elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
- else
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- fi
- ;;
-
- sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*)
- case `$LD -v 2>&1` in
- *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.1[[0-5]].*)
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- cat <<_LT_EOF 1>&2
-
-*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not
-*** reliably create shared libraries on SCO systems. Therefore, libtool
-*** is disabling shared libraries support. We urge you to upgrade GNU
-*** binutils to release 2.16.91.0.3 or newer. Another option is to modify
-*** your PATH or compiler configuration so that the native linker is
-*** used, and then restart.
-
-_LT_EOF
- ;;
- *)
- if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`'
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib'
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname,-retain-symbols-file,$export_symbols -o $lib'
- else
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- fi
- ;;
- esac
- ;;
-
- sunos4*)
- _LT_AC_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags'
- wlarc=
- _LT_AC_TAGVAR(hardcode_direct, $1)=yes
- _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
- ;;
-
- *)
- if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
- else
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- fi
- ;;
- esac
-
- if test "$_LT_AC_TAGVAR(ld_shlibs, $1)" = no; then
- runpath_var=
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)=
- _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)=
- _LT_AC_TAGVAR(whole_archive_flag_spec, $1)=
- fi
- else
- # PORTME fill in a description of your system's linker (not GNU ld)
- case $host_os in
- aix3*)
- _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported
- _LT_AC_TAGVAR(always_export_symbols, $1)=yes
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname'
- # Note: this linker hardcodes the directories in LIBPATH if there
- # are no directories specified by -L.
- _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
- if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then
- # Neither direct hardcoding nor static linking is supported with a
- # broken collect2.
- _LT_AC_TAGVAR(hardcode_direct, $1)=unsupported
- fi
- ;;
-
- aix4* | aix5*)
- if test "$host_cpu" = ia64; then
- # On IA64, the linker does run time linking by default, so we don't
- # have to do anything special.
- aix_use_runtimelinking=no
- exp_sym_flag='-Bexport'
- no_entry_flag=""
- else
- # If we're using GNU nm, then we don't want the "-C" option.
- # -C means demangle to AIX nm, but means don't demangle with GNU nm
- if $NM -V 2>&1 | grep 'GNU' > /dev/null; then
- _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\[$]2 == "T") || (\[$]2 == "D") || (\[$]2 == "B")) && ([substr](\[$]3,1,1) != ".")) { print \[$]3 } }'\'' | sort -u > $export_symbols'
- else
- _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\[$]2 == "T") || (\[$]2 == "D") || (\[$]2 == "B")) && ([substr](\[$]3,1,1) != ".")) { print \[$]3 } }'\'' | sort -u > $export_symbols'
- fi
- aix_use_runtimelinking=no
-
- # Test if we are trying to use run time linking or normal
- # AIX style linking. If -brtl is somewhere in LDFLAGS, we
- # need to do runtime linking.
- case $host_os in aix4.[[23]]|aix4.[[23]].*|aix5*)
- for ld_flag in $LDFLAGS; do
- if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then
- aix_use_runtimelinking=yes
- break
- fi
- done
- ;;
- esac
-
- exp_sym_flag='-bexport'
- no_entry_flag='-bnoentry'
- fi
-
- # When large executables or shared objects are built, AIX ld can
- # have problems creating the table of contents. If linking a library
- # or program results in "error TOC overflow" add -mminimal-toc to
- # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not
- # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
-
- _LT_AC_TAGVAR(archive_cmds, $1)=''
- _LT_AC_TAGVAR(hardcode_direct, $1)=yes
- _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':'
- _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
-
- if test "$GCC" = yes; then
- case $host_os in aix4.[[012]]|aix4.[[012]].*)
- # We only want to do this on AIX 4.2 and lower, the check
- # below for broken collect2 doesn't work under 4.3+
- collect2name=`${CC} -print-prog-name=collect2`
- if test -f "$collect2name" && \
- strings "$collect2name" | grep resolve_lib_name >/dev/null
- then
- # We have reworked collect2
- :
- else
- # We have old collect2
- _LT_AC_TAGVAR(hardcode_direct, $1)=unsupported
- # It fails to find uninstalled libraries when the uninstalled
- # path is not listed in the libpath. Setting hardcode_minus_L
- # to unsupported forces relinking
- _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
- _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=
- fi
- ;;
- esac
- shared_flag='-shared'
- if test "$aix_use_runtimelinking" = yes; then
- shared_flag="$shared_flag "'${wl}-G'
- fi
- else
- # not using gcc
- if test "$host_cpu" = ia64; then
- # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
- # chokes on -Wl,-G. The following line is correct:
- shared_flag='-G'
- else
- if test "$aix_use_runtimelinking" = yes; then
- shared_flag='${wl}-G'
- else
- shared_flag='${wl}-bM:SRE'
- fi
- fi
- fi
-
- # It seems that -bexpall does not export symbols beginning with
- # underscore (_), so it is better to generate a list of symbols to export.
- _LT_AC_TAGVAR(always_export_symbols, $1)=yes
- if test "$aix_use_runtimelinking" = yes; then
- # Warning - without using the other runtime loading flags (-brtl),
- # -berok will link without error, but may produce a broken library.
- _LT_AC_TAGVAR(allow_undefined_flag, $1)='-berok'
- # Determine the default libpath from the value encoded in an empty executable.
- _LT_AC_SYS_LIBPATH_AIX
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
- else
- if test "$host_cpu" = ia64; then
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib'
- _LT_AC_TAGVAR(allow_undefined_flag, $1)="-z nodefs"
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols"
- else
- # Determine the default libpath from the value encoded in an empty executable.
- _LT_AC_SYS_LIBPATH_AIX
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
- # Warning - without using the other run time loading flags,
- # -berok will link without error, but may produce a broken library.
- _LT_AC_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok'
- _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok'
- # Exported symbols can be pulled into shared objects from archives
- _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='$convenience'
- _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes
- # This is similar to how AIX traditionally builds its shared libraries.
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
- fi
- fi
- ;;
-
- amigaos*)
- _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
- _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
- # see comment about different semantics on the GNU ld section
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- ;;
-
- bsdi[[45]]*)
- _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)=-rdynamic
- ;;
-
- cygwin* | mingw* | pw32*)
- # When not using gcc, we currently assume that we are using
- # Microsoft Visual C++.
- # hardcode_libdir_flag_spec is actually meaningless, as there is
- # no search path for DLLs.
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)=' '
- _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported
- # Tell ltmain to make .lib files, not .a files.
- libext=lib
- # Tell ltmain to make .dll files, not .so files.
- shrext_cmds=".dll"
- # FIXME: Setting linknames here is a bad hack.
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -o $lib $libobjs $compiler_flags `echo "$deplibs" | $SED -e '\''s/ -lc$//'\''` -link -dll~linknames='
- # The linker will automatically build a .lib file if we build a DLL.
- _LT_AC_TAGVAR(old_archive_From_new_cmds, $1)='true'
- # FIXME: Should let the user specify the lib program.
- _LT_AC_TAGVAR(old_archive_cmds, $1)='lib -OUT:$oldlib$oldobjs$old_deplibs'
- _LT_AC_TAGVAR(fix_srcfile_path, $1)='`cygpath -w "$srcfile"`'
- _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
- ;;
-
- darwin* | rhapsody*)
- case $host_os in
- rhapsody* | darwin1.[[012]])
- _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-undefined ${wl}suppress'
- ;;
- *) # Darwin 1.3 on
- if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then
- _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-flat_namespace ${wl}-undefined ${wl}suppress'
- else
- case ${MACOSX_DEPLOYMENT_TARGET} in
- 10.[[012]])
- _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-flat_namespace ${wl}-undefined ${wl}suppress'
- ;;
- 10.*)
- _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-undefined ${wl}dynamic_lookup'
- ;;
- esac
- fi
- ;;
- esac
- _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
- _LT_AC_TAGVAR(hardcode_direct, $1)=no
- _LT_AC_TAGVAR(hardcode_automatic, $1)=yes
- _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
- _LT_AC_TAGVAR(whole_archive_flag_spec, $1)=''
- _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
- if test "$GCC" = yes ; then
- output_verbose_link_cmd='echo'
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring'
- _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
- # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
- _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
- else
- case $cc_basename in
- xlc*)
- output_verbose_link_cmd='echo'
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $xlcverstring'
- _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
- # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $xlcverstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
- _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
- ;;
- *)
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- ;;
- esac
- fi
- ;;
-
- dgux*)
- _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
- _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
- ;;
-
- freebsd1*)
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- ;;
-
- # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor
- # support. Future versions do this automatically, but an explicit c++rt0.o
- # does not break anything, and helps significantly (at the cost of a little
- # extra space).
- freebsd2.2*)
- _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o'
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
- _LT_AC_TAGVAR(hardcode_direct, $1)=yes
- _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
- ;;
-
- # Unfortunately, older versions of FreeBSD 2 do not have this feature.
- freebsd2*)
- _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
- _LT_AC_TAGVAR(hardcode_direct, $1)=yes
- _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
- _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
- ;;
-
- # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
- freebsd* | dragonfly*)
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -o $lib $libobjs $deplibs $compiler_flags'
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
- _LT_AC_TAGVAR(hardcode_direct, $1)=yes
- _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
- ;;
-
- hpux9*)
- if test "$GCC" = yes; then
- _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
- else
- _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
- fi
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
- _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
- _LT_AC_TAGVAR(hardcode_direct, $1)=yes
-
- # hardcode_minus_L: Not really in the search PATH,
- # but as the default location of the library.
- _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
- _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
- ;;
-
- hpux10*)
- if test "$GCC" = yes -a "$with_gnu_ld" = no; then
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
- else
- _LT_AC_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
- fi
- if test "$with_gnu_ld" = no; then
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
- _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
-
- _LT_AC_TAGVAR(hardcode_direct, $1)=yes
- _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
-
- # hardcode_minus_L: Not really in the search PATH,
- # but as the default location of the library.
- _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
- fi
- ;;
-
- hpux11*)
- if test "$GCC" = yes -a "$with_gnu_ld" = no; then
- case $host_cpu in
- hppa*64*)
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- ia64*)
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- *)
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- esac
- else
- case $host_cpu in
- hppa*64*)
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- ia64*)
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- *)
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- esac
- fi
- if test "$with_gnu_ld" = no; then
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
- _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
-
- case $host_cpu in
- hppa*64*|ia64*)
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='+b $libdir'
- _LT_AC_TAGVAR(hardcode_direct, $1)=no
- _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
- ;;
- *)
- _LT_AC_TAGVAR(hardcode_direct, $1)=yes
- _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
-
- # hardcode_minus_L: Not really in the search PATH,
- # but as the default location of the library.
- _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
- ;;
- esac
- fi
- ;;
-
- irix5* | irix6* | nonstopux*)
- if test "$GCC" = yes; then
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
- else
- _LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='-rpath $libdir'
- fi
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
- _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
- _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
- ;;
-
- netbsd*)
- if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
- _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out
- else
- _LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF
- fi
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
- _LT_AC_TAGVAR(hardcode_direct, $1)=yes
- _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
- ;;
-
- newsos6)
- _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- _LT_AC_TAGVAR(hardcode_direct, $1)=yes
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
- _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
- _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
- ;;
-
- openbsd*)
- if test -f /usr/libexec/ld.so; then
- _LT_AC_TAGVAR(hardcode_direct, $1)=yes
- _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
- if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols'
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
- _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
- else
- case $host_os in
- openbsd[[01]].* | openbsd2.[[0-7]] | openbsd2.[[0-7]].*)
- _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
- ;;
- *)
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
- ;;
- esac
- fi
- else
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- fi
- ;;
-
- os2*)
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
- _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
- _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported
- _LT_AC_TAGVAR(archive_cmds, $1)='$echo "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$echo "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$echo DATA >> $output_objdir/$libname.def~$echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~$echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def'
- _LT_AC_TAGVAR(old_archive_From_new_cmds, $1)='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def'
- ;;
-
- osf3*)
- if test "$GCC" = yes; then
- _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
- else
- _LT_AC_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
- _LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
- fi
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
- _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
- ;;
-
- osf4* | osf5*) # as osf3* with the addition of -msym flag
- if test "$GCC" = yes; then
- _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
- else
- _LT_AC_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
- _LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; echo "-hidden">> $lib.exp~
- $LD -shared${allow_undefined_flag} -input $lib.exp $linker_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~$rm $lib.exp'
-
- # Both c and cxx compiler support -rpath directly
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
- fi
- _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
- ;;
-
- solaris*)
- _LT_AC_TAGVAR(no_undefined_flag, $1)=' -z text'
- if test "$GCC" = yes; then
- wlarc='${wl}'
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
- $CC -shared ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$rm $lib.exp'
- else
- wlarc=''
- _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags'
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
- $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp'
- fi
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
- _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
- case $host_os in
- solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
- *)
- # The compiler driver will combine and reorder linker options,
- # but understands `-z linker_flag'. GCC discards it without `$wl',
- # but is careful enough not to reorder.
- # Supported since Solaris 2.6 (maybe 2.5.1?)
- if test "$GCC" = yes; then
- _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
- else
- _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract'
- fi
- ;;
- esac
- _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
- ;;
-
- sunos4*)
- if test "x$host_vendor" = xsequent; then
- # Use $CC to link under sequent, because it throws in some extra .o
- # files that make .init and .fini sections work.
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags'
- else
- _LT_AC_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags'
- fi
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
- _LT_AC_TAGVAR(hardcode_direct, $1)=yes
- _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
- _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
- ;;
-
- sysv4)
- case $host_vendor in
- sni)
- _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- _LT_AC_TAGVAR(hardcode_direct, $1)=yes # is this really true???
- ;;
- siemens)
- ## LD is ld it makes a PLAMLIB
- ## CC just makes a GrossModule.
- _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -o $lib $libobjs $deplibs $linker_flags'
- _LT_AC_TAGVAR(reload_cmds, $1)='$CC -r -o $output$reload_objs'
- _LT_AC_TAGVAR(hardcode_direct, $1)=no
- ;;
- motorola)
- _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- _LT_AC_TAGVAR(hardcode_direct, $1)=no #Motorola manual says yes, but my tests say they lie
- ;;
- esac
- runpath_var='LD_RUN_PATH'
- _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
- ;;
-
- sysv4.3*)
- _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
- _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='-Bexport'
- ;;
-
- sysv4*MP*)
- if test -d /usr/nec; then
- _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
- runpath_var=LD_RUN_PATH
- hardcode_runpath_var=yes
- _LT_AC_TAGVAR(ld_shlibs, $1)=yes
- fi
- ;;
-
- sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*)
- _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
- _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
- _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
- runpath_var='LD_RUN_PATH'
-
- if test "$GCC" = yes; then
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- else
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- fi
- ;;
-
- sysv5* | sco3.2v5* | sco5v6*)
- # Note: We can NOT use -z defs as we might desire, because we do not
- # link with -lc, and that would cause any symbols used from libc to
- # always be unresolved, which means just about no library would
- # ever link correctly. If we're not using GNU ld we use -z text
- # though, which does catch some bad symbols but isn't as heavy-handed
- # as -z defs.
- _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
- _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs'
- _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
- _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`'
- _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':'
- _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
- _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport'
- runpath_var='LD_RUN_PATH'
-
- if test "$GCC" = yes; then
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
- else
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
- fi
- ;;
-
- uts4*)
- _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
- _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
- ;;
-
- *)
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- ;;
- esac
- fi
-])
-AC_MSG_RESULT([$_LT_AC_TAGVAR(ld_shlibs, $1)])
-test "$_LT_AC_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no
-
-#
-# Do we need to explicitly link libc?
-#
-case "x$_LT_AC_TAGVAR(archive_cmds_need_lc, $1)" in
-x|xyes)
- # Assume -lc should be added
- _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes
-
- if test "$enable_shared" = yes && test "$GCC" = yes; then
- case $_LT_AC_TAGVAR(archive_cmds, $1) in
- *'~'*)
- # FIXME: we may have to deal with multi-command sequences.
- ;;
- '$CC '*)
- # Test whether the compiler implicitly links with -lc since on some
- # systems, -lgcc has to come before -lc. If gcc already passes -lc
- # to ld, don't add -lc before -lgcc.
- AC_MSG_CHECKING([whether -lc should be explicitly linked in])
- $rm conftest*
- echo "$lt_simple_compile_test_code" > conftest.$ac_ext
-
- if AC_TRY_EVAL(ac_compile) 2>conftest.err; then
- soname=conftest
- lib=conftest
- libobjs=conftest.$ac_objext
- deplibs=
- wl=$_LT_AC_TAGVAR(lt_prog_compiler_wl, $1)
- pic_flag=$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)
- compiler_flags=-v
- linker_flags=-v
- verstring=
- output_objdir=.
- libname=conftest
- lt_save_allow_undefined_flag=$_LT_AC_TAGVAR(allow_undefined_flag, $1)
- _LT_AC_TAGVAR(allow_undefined_flag, $1)=
- if AC_TRY_EVAL(_LT_AC_TAGVAR(archive_cmds, $1) 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1)
- then
- _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
- else
- _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes
- fi
- _LT_AC_TAGVAR(allow_undefined_flag, $1)=$lt_save_allow_undefined_flag
- else
- cat conftest.err 1>&5
- fi
- $rm conftest*
- AC_MSG_RESULT([$_LT_AC_TAGVAR(archive_cmds_need_lc, $1)])
- ;;
- esac
- fi
- ;;
-esac
-])# AC_LIBTOOL_PROG_LD_SHLIBS
-
-
-# _LT_AC_FILE_LTDLL_C
-# -------------------
-# Be careful that the start marker always follows a newline.
-AC_DEFUN([_LT_AC_FILE_LTDLL_C], [
-# /* ltdll.c starts here */
-# #define WIN32_LEAN_AND_MEAN
-# #include <windows.h>
-# #undef WIN32_LEAN_AND_MEAN
-# #include <stdio.h>
-#
-# #ifndef __CYGWIN__
-# # ifdef __CYGWIN32__
-# # define __CYGWIN__ __CYGWIN32__
-# # endif
-# #endif
-#
-# #ifdef __cplusplus
-# extern "C" {
-# #endif
-# BOOL APIENTRY DllMain (HINSTANCE hInst, DWORD reason, LPVOID reserved);
-# #ifdef __cplusplus
-# }
-# #endif
-#
-# #ifdef __CYGWIN__
-# #include <cygwin/cygwin_dll.h>
-# DECLARE_CYGWIN_DLL( DllMain );
-# #endif
-# HINSTANCE __hDllInstance_base;
-#
-# BOOL APIENTRY
-# DllMain (HINSTANCE hInst, DWORD reason, LPVOID reserved)
-# {
-# __hDllInstance_base = hInst;
-# return TRUE;
-# }
-# /* ltdll.c ends here */
-])# _LT_AC_FILE_LTDLL_C
-
-
-# _LT_AC_TAGVAR(VARNAME, [TAGNAME])
-# ---------------------------------
-AC_DEFUN([_LT_AC_TAGVAR], [ifelse([$2], [], [$1], [$1_$2])])
-
-
-# old names
-AC_DEFUN([AM_PROG_LIBTOOL], [AC_PROG_LIBTOOL])
-AC_DEFUN([AM_ENABLE_SHARED], [AC_ENABLE_SHARED($@)])
-AC_DEFUN([AM_ENABLE_STATIC], [AC_ENABLE_STATIC($@)])
-AC_DEFUN([AM_DISABLE_SHARED], [AC_DISABLE_SHARED($@)])
-AC_DEFUN([AM_DISABLE_STATIC], [AC_DISABLE_STATIC($@)])
-AC_DEFUN([AM_PROG_LD], [AC_PROG_LD])
-AC_DEFUN([AM_PROG_NM], [AC_PROG_NM])
-
-# This is just to silence aclocal about the macro not being used
-ifelse([AC_DISABLE_FAST_INSTALL])
-
-AC_DEFUN([LT_AC_PROG_GCJ],
-[AC_CHECK_TOOL(GCJ, gcj, no)
- test "x${GCJFLAGS+set}" = xset || GCJFLAGS="-g -O2"
- AC_SUBST(GCJFLAGS)
-])
-
-AC_DEFUN([LT_AC_PROG_RC],
-[AC_CHECK_TOOL(RC, windres, no)
-])
-
-
-# Cheap backport of AS_EXECUTABLE_P and required macros
-# from Autoconf 2.59; we should not use $as_executable_p directly.
-
-# _AS_TEST_PREPARE
-# ----------------
-m4_ifndef([_AS_TEST_PREPARE],
-[m4_defun([_AS_TEST_PREPARE],
-[if test -x / >/dev/null 2>&1; then
- as_executable_p='test -x'
-else
- as_executable_p='test -f'
-fi
-])])# _AS_TEST_PREPARE
-
-# AS_EXECUTABLE_P
-# ---------------
-# Check whether a file is executable.
-m4_ifndef([AS_EXECUTABLE_P],
-[m4_defun([AS_EXECUTABLE_P],
-[AS_REQUIRE([_AS_TEST_PREPARE])dnl
-$as_executable_p $1[]dnl
-])])# AS_EXECUTABLE_P
-
-# NOTE: This macro has been submitted for inclusion into #
-# GNU Autoconf as AC_PROG_SED. When it is available in #
-# a released version of Autoconf we should remove this #
-# macro and use it instead. #
-# LT_AC_PROG_SED
-# --------------
-# Check for a fully-functional sed program, that truncates
-# as few characters as possible. Prefer GNU sed if found.
-AC_DEFUN([LT_AC_PROG_SED],
-[AC_MSG_CHECKING([for a sed that does not truncate output])
-AC_CACHE_VAL(lt_cv_path_SED,
-[# Loop through the user's path and test for sed and gsed.
-# Then use that list of sed's as ones to test for truncation.
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for lt_ac_prog in sed gsed; do
- for ac_exec_ext in '' $ac_executable_extensions; do
- if AS_EXECUTABLE_P(["$as_dir/$lt_ac_prog$ac_exec_ext"]); then
- lt_ac_sed_list="$lt_ac_sed_list $as_dir/$lt_ac_prog$ac_exec_ext"
- fi
- done
- done
-done
-IFS=$as_save_IFS
-lt_ac_max=0
-lt_ac_count=0
-# Add /usr/xpg4/bin/sed as it is typically found on Solaris
-# along with /bin/sed that truncates output.
-for lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do
- test ! -f $lt_ac_sed && continue
- cat /dev/null > conftest.in
- lt_ac_count=0
- echo $ECHO_N "0123456789$ECHO_C" >conftest.in
- # Check for GNU sed and select it if it is found.
- if "$lt_ac_sed" --version 2>&1 < /dev/null | grep 'GNU' > /dev/null; then
- lt_cv_path_SED=$lt_ac_sed
- break
- fi
- while true; do
- cat conftest.in conftest.in >conftest.tmp
- mv conftest.tmp conftest.in
- cp conftest.in conftest.nl
- echo >>conftest.nl
- $lt_ac_sed -e 's/a$//' < conftest.nl >conftest.out || break
- cmp -s conftest.out conftest.nl || break
- # 10000 chars as input seems more than enough
- test $lt_ac_count -gt 10 && break
- lt_ac_count=`expr $lt_ac_count + 1`
- if test $lt_ac_count -gt $lt_ac_max; then
- lt_ac_max=$lt_ac_count
- lt_cv_path_SED=$lt_ac_sed
- fi
- done
-done
-])
-SED=$lt_cv_path_SED
-AC_SUBST([SED])
-AC_MSG_RESULT([$SED])
-])
-
-# Copyright (C) 2002, 2003, 2005, 2006 Free Software Foundation, Inc.
+# Copyright (C) 2002, 2003, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -6599,7 +34,7 @@ AC_DEFUN([AM_AUTOMAKE_VERSION],
[am__api_version='1.10'
dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to
dnl require some minimum version. Point them to the right macro.
-m4_if([$1], [1.10], [],
+m4_if([$1], [1.10.2], [],
[AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
])
@@ -6613,10 +48,12 @@ m4_define([_AM_AUTOCONF_VERSION], [])
# AM_SET_CURRENT_AUTOMAKE_VERSION
# -------------------------------
# Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced.
-# This function is AC_REQUIREd by AC_INIT_AUTOMAKE.
+# This function is AC_REQUIREd by AM_INIT_AUTOMAKE.
AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
-[AM_AUTOMAKE_VERSION([1.10])dnl
-_AM_AUTOCONF_VERSION(m4_PACKAGE_VERSION)])
+[AM_AUTOMAKE_VERSION([1.10.2])dnl
+m4_ifndef([AC_AUTOCONF_VERSION],
+ [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
+_AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
# AM_AUX_DIR_EXPAND -*- Autoconf -*-
@@ -6866,57 +303,68 @@ _AM_SUBST_NOTMAKE([AMDEPBACKSLASH])dnl
# Generate code to set up dependency tracking. -*- Autoconf -*-
-# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005
+# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2008
# Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
-#serial 3
+#serial 5
# _AM_OUTPUT_DEPENDENCY_COMMANDS
# ------------------------------
AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS],
-[for mf in $CONFIG_FILES; do
- # Strip MF so we end up with the name of the file.
- mf=`echo "$mf" | sed -e 's/:.*$//'`
- # Check whether this is an Automake generated Makefile or not.
- # We used to match only the files named `Makefile.in', but
- # some people rename them; so instead we look at the file content.
- # Grep'ing the first line is not enough: some people post-process
- # each Makefile.in and add a new line on top of each file to say so.
- # Grep'ing the whole file is not good either: AIX grep has a line
- # limit of 2048, but all sed's we know have understand at least 4000.
- if sed 10q "$mf" | grep '^#.*generated by automake' > /dev/null 2>&1; then
- dirpart=`AS_DIRNAME("$mf")`
- else
- continue
- fi
- # Extract the definition of DEPDIR, am__include, and am__quote
- # from the Makefile without running `make'.
- DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
- test -z "$DEPDIR" && continue
- am__include=`sed -n 's/^am__include = //p' < "$mf"`
- test -z "am__include" && continue
- am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
- # When using ansi2knr, U may be empty or an underscore; expand it
- U=`sed -n 's/^U = //p' < "$mf"`
- # Find all dependency output files, they are included files with
- # $(DEPDIR) in their names. We invoke sed twice because it is the
- # simplest approach to changing $(DEPDIR) to its actual value in the
- # expansion.
- for file in `sed -n "
- s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
- sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
- # Make sure the directory exists.
- test -f "$dirpart/$file" && continue
- fdir=`AS_DIRNAME(["$file"])`
- AS_MKDIR_P([$dirpart/$fdir])
- # echo "creating $dirpart/$file"
- echo '# dummy' > "$dirpart/$file"
+[{
+ # Autoconf 2.62 quotes --file arguments for eval, but not when files
+ # are listed without --file. Let's play safe and only enable the eval
+ # if we detect the quoting.
+ case $CONFIG_FILES in
+ *\'*) eval set x "$CONFIG_FILES" ;;
+ *) set x $CONFIG_FILES ;;
+ esac
+ shift
+ for mf
+ do
+ # Strip MF so we end up with the name of the file.
+ mf=`echo "$mf" | sed -e 's/:.*$//'`
+ # Check whether this is an Automake generated Makefile or not.
+ # We used to match only the files named `Makefile.in', but
+ # some people rename them; so instead we look at the file content.
+ # Grep'ing the first line is not enough: some people post-process
+ # each Makefile.in and add a new line on top of each file to say so.
+ # Grep'ing the whole file is not good either: AIX grep has a line
+ # limit of 2048, but all sed's we know have understand at least 4000.
+ if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then
+ dirpart=`AS_DIRNAME("$mf")`
+ else
+ continue
+ fi
+ # Extract the definition of DEPDIR, am__include, and am__quote
+ # from the Makefile without running `make'.
+ DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
+ test -z "$DEPDIR" && continue
+ am__include=`sed -n 's/^am__include = //p' < "$mf"`
+ test -z "am__include" && continue
+ am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
+ # When using ansi2knr, U may be empty or an underscore; expand it
+ U=`sed -n 's/^U = //p' < "$mf"`
+ # Find all dependency output files, they are included files with
+ # $(DEPDIR) in their names. We invoke sed twice because it is the
+ # simplest approach to changing $(DEPDIR) to its actual value in the
+ # expansion.
+ for file in `sed -n "
+ s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
+ sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
+ # Make sure the directory exists.
+ test -f "$dirpart/$file" && continue
+ fdir=`AS_DIRNAME(["$file"])`
+ AS_MKDIR_P([$dirpart/$fdir])
+ # echo "creating $dirpart/$file"
+ echo '# dummy' > "$dirpart/$file"
+ done
done
-done
+}
])# _AM_OUTPUT_DEPENDENCY_COMMANDS
@@ -6948,13 +396,13 @@ AU_DEFUN([AM_CONFIG_HEADER], [AC_CONFIG_HEADERS($@)])
# Do all the work for Automake. -*- Autoconf -*-
# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
-# 2005, 2006 Free Software Foundation, Inc.
+# 2005, 2006, 2008 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
-# serial 12
+# serial 13
# This macro actually does too much. Some checks are only needed if
# your package does certain things. But this isn't really a big deal.
@@ -7059,16 +507,17 @@ AC_PROVIDE_IFELSE([AC_PROG_OBJC],
# our stamp files there.
AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK],
[# Compute $1's index in $config_headers.
+_am_arg=$1
_am_stamp_count=1
for _am_header in $config_headers :; do
case $_am_header in
- $1 | $1:* )
+ $_am_arg | $_am_arg:* )
break ;;
* )
_am_stamp_count=`expr $_am_stamp_count + 1` ;;
esac
done
-echo "timestamp for $1" >`AS_DIRNAME([$1])`/stamp-h[]$_am_stamp_count])
+echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count])
# Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc.
#
@@ -7250,13 +699,13 @@ esac
# Helper functions for option handling. -*- Autoconf -*-
-# Copyright (C) 2001, 2002, 2003, 2005 Free Software Foundation, Inc.
+# Copyright (C) 2001, 2002, 2003, 2005, 2008 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
-# serial 3
+# serial 4
# _AM_MANGLE_OPTION(NAME)
# -----------------------
@@ -7273,7 +722,7 @@ AC_DEFUN([_AM_SET_OPTION],
# ----------------------------------
# OPTIONS is a space-separated list of Automake options.
AC_DEFUN([_AM_SET_OPTIONS],
-[AC_FOREACH([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])])
+[m4_foreach_w([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])])
# _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET])
# -------------------------------------------
@@ -7369,7 +818,7 @@ AC_SUBST([INSTALL_STRIP_PROGRAM])])
# _AM_SUBST_NOTMAKE(VARIABLE)
# ---------------------------
-# Prevent Automake from outputing VARIABLE = @VARIABLE@ in Makefile.in.
+# Prevent Automake from outputting VARIABLE = @VARIABLE@ in Makefile.in.
# This macro is traced by Automake.
AC_DEFUN([_AM_SUBST_NOTMAKE])
@@ -7471,3 +920,8 @@ AC_SUBST([am__untar])
m4_include([m4/acx_clucene.m4])
m4_include([m4/cppunit.m4])
+m4_include([m4/libtool.m4])
+m4_include([m4/ltoptions.m4])
+m4_include([m4/ltsugar.m4])
+m4_include([m4/ltversion.m4])
+m4_include([m4/lt~obsolete.m4])
diff --git a/arminst.sh b/arminst.sh
index b57cf75..e3db839 100755
--- a/arminst.sh
+++ b/arminst.sh
@@ -1,4 +1,24 @@
#!/bin/sh
+#******************************************************************************
+# Convenience script specifying ARM options to ./configure
+#
+# $Id: arminst.sh 2327 2009-04-22 11:42:33Z scribe $
+#
+# Copyright 1998-2009 CrossWire Bible Society (http://www.crosswire.org)
+# CrossWire Bible Society
+# P. O. Box 2528
+# Tempe, AZ 85280-2528
+#
+# This program is free software; you can redistribute it and/or modify it
+# under the terms of the GNU General Public License as published by the
+# Free Software Foundation version 2.
+#
+# This program is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# General Public License for more details.
+#
+#
OPTIONS="--host=arm-linux $OPTIONS"
diff --git a/bindings/bcppmake/MainCLXTest.cpp b/bindings/bcppmake/MainCLXTest.cpp
index b82658a..4bca371 100644
--- a/bindings/bcppmake/MainCLXTest.cpp
+++ b/bindings/bcppmake/MainCLXTest.cpp
@@ -1,3 +1,24 @@
+/******************************************************************************
+ * This is part of a program to test CLX bindings
+ *
+ * $Id: MainCLXTest.cpp 2327 2009-04-22 11:42:33Z scribe $
+ *
+ * Copyright 1998-2009 CrossWire Bible Society (http://www.crosswire.org)
+ * CrossWire Bible Society
+ * P. O. Box 2528
+ * Tempe, AZ 85280-2528
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation version 2.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ */
+
//---------------------------------------------------------------------------
#include <vcl.h>
diff --git a/bindings/bcppmake/MainTest.cpp b/bindings/bcppmake/MainTest.cpp
index 46c0b65..9792ac7 100644
--- a/bindings/bcppmake/MainTest.cpp
+++ b/bindings/bcppmake/MainTest.cpp
@@ -1,3 +1,24 @@
+/******************************************************************************
+ * This is part of a program to test CLX bindings
+ *
+ * $Id: MainTest.cpp 2327 2009-04-22 11:42:33Z scribe $
+ *
+ * Copyright 1998-2009 CrossWire Bible Society (http://www.crosswire.org)
+ * CrossWire Bible Society
+ * P. O. Box 2528
+ * Tempe, AZ 85280-2528
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation version 2.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ */
+
//---------------------------------------------------------------------------
#include <vcl.h>
diff --git a/bindings/bcppmake/clxtest.cpp b/bindings/bcppmake/clxtest.cpp
index 9c481eb..0482bae 100644
--- a/bindings/bcppmake/clxtest.cpp
+++ b/bindings/bcppmake/clxtest.cpp
@@ -1,3 +1,24 @@
+/******************************************************************************
+ * This is part of a program to test CLX bindings
+ *
+ * $Id: clxtest.cpp 2327 2009-04-22 11:42:33Z scribe $
+ *
+ * Copyright 1998-2009 CrossWire Bible Society (http://www.crosswire.org)
+ * CrossWire Bible Society
+ * P. O. Box 2528
+ * Tempe, AZ 85280-2528
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation version 2.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ */
+
//---------------------------------------------------------------------------
#include <vcl.h>
diff --git a/bindings/bcppmake/sword.c b/bindings/bcppmake/sword.c
index 4c1c100..705684c 100644
--- a/bindings/bcppmake/sword.c
+++ b/bindings/bcppmake/sword.c
@@ -1,3 +1,24 @@
+/******************************************************************************
+ * This is part of a program to test CLX bindings
+ *
+ * $Id: sword.c 2327 2009-04-22 11:42:33Z scribe $
+ *
+ * Copyright 1998-2009 CrossWire Bible Society (http://www.crosswire.org)
+ * CrossWire Bible Society
+ * P. O. Box 2528
+ * Tempe, AZ 85280-2528
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation version 2.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ */
+
//---------------------------------------------------------------------------
#include <windows.h>
@@ -28,4 +49,4 @@ int WINAPI DllEntryPoint(HINSTANCE hinst, unsigned long reason, void* lpReserved
return 1;
}
//---------------------------------------------------------------------------
- \ No newline at end of file
+
diff --git a/bindings/bcppmake/test.cpp b/bindings/bcppmake/test.cpp
index 1d02c50..bbd74a6 100644
--- a/bindings/bcppmake/test.cpp
+++ b/bindings/bcppmake/test.cpp
@@ -1,3 +1,24 @@
+/******************************************************************************
+ * This is part of a program to test CLX bindings
+ *
+ * $Id: test.cpp 2327 2009-04-22 11:42:33Z scribe $
+ *
+ * Copyright 1998-2009 CrossWire Bible Society (http://www.crosswire.org)
+ * CrossWire Bible Society
+ * P. O. Box 2528
+ * Tempe, AZ 85280-2528
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation version 2.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ */
+
//---------------------------------------------------------------------------
#include <vcl.h>
diff --git a/bindings/corba/java/Makefile b/bindings/corba/java/Makefile
index 9f0ce39..e342a9c 100644
--- a/bindings/corba/java/Makefile
+++ b/bindings/corba/java/Makefile
@@ -1,8 +1,9 @@
TOMCAT_HOME=/opt/tomcat
#SERVLET_LIB=${TOMCAT_HOME}/common/lib/servlet-api.jar
SERVLET_LIB=${TOMCAT_HOME}/lib/servlet-api.jar
-#instdir=/home/scribe/public_html/
-instdir=/home/scribe/src/swordweb/webapp
+instdir=${TOMCAT_HOME}/webapps/swordweb
+#instdir=/home/swordweb/livehtml/webapp
+#instdir=/home/scribe/src/swordweb/webapp
all: src/org/crosswire/sword/orb/SWMgr.java classes/org/crosswire/sword/orb/SwordOrb.class
src/org/crosswire/sword/orb/SWMgr.java: ../swordorb.idl
diff --git a/bindings/corba/java/src/org/crosswire/sword/orb/SwordOrb.java b/bindings/corba/java/src/org/crosswire/sword/orb/SwordOrb.java
index 3597b4b..d6987e9 100644
--- a/bindings/corba/java/src/org/crosswire/sword/orb/SwordOrb.java
+++ b/bindings/corba/java/src/org/crosswire/sword/orb/SwordOrb.java
@@ -1,3 +1,20 @@
+/*
+ * Copyright 2009 CrossWire Bible Society (http://www.crosswire.org)
+ * CrossWire Bible Society
+ * P. O. Box 2528
+ * Tempe, AZ 85280-2528
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation version 2.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ */
+
package org.crosswire.sword.orb;
import java.io.File;
@@ -28,7 +45,13 @@ public class SwordOrb extends Object implements HttpSessionBindingListener {
public static final String GENBOOKS = "Generic Books";
public static final String DAILYDEVOS = "Daily Devotional";
- static org.omg.CORBA.ORB orb = org.omg.CORBA.ORB.init(new String[]{}, null);
+ static java.util.Properties p = new java.util.Properties();
+ static {
+ p.setProperty("com.sun.CORBA.codeset.charsets", "0x05010001, 0x00010109"); // UTF-8, UTF-16
+ p.setProperty("com.sun.CORBA.codeset.wcharsets", "0x00010109, 0x05010001"); // UTF-16, UTF-8
+ }
+
+ static org.omg.CORBA.ORB orb = org.omg.CORBA_2_3.ORB.init(new String[]{}, p);
static Hashtable clients = new Hashtable();
String ior = null;
String remoteAddr = null;
diff --git a/bindings/corba/java/src/org/crosswire/util/Base64.java b/bindings/corba/java/src/org/crosswire/util/Base64.java
index 984dc7b..a34401e 100644
--- a/bindings/corba/java/src/org/crosswire/util/Base64.java
+++ b/bindings/corba/java/src/org/crosswire/util/Base64.java
@@ -1,6 +1,17 @@
package org.crosswire.util;
/**
+ * <p>
+ * I am placing this code in the Public Domain. Do with it as you will.
+ * This software comes with no guarantees or warranties but with
+ * plenty of well-wishing instead!
+ * Please visit <a href="http://iharder.net/xmlizable">http://iharder.net/xmlizable</a>
+ * periodically to check for updates or to contribute improvements.
+ * </p>
+ *
+ * @author Robert Harder
+ * @author rob@iharder.net
+ * @version 1.3.4
* Changed last char from '/' to '-' because cookies can't use '/' so we're not really a BASE64
* standard encoder anymore
* Changed package name. --crosswire.
@@ -18,17 +29,6 @@ package org.crosswire.util;
* <li>v1.3.3 - Fixed I/O streams which were totally messed up.</li>
* </ul>
*
- * <p>
- * I am placing this code in the Public Domain. Do with it as you will.
- * This software comes with no guarantees or warranties but with
- * plenty of well-wishing instead!
- * Please visit <a href="http://iharder.net/xmlizable">http://iharder.net/xmlizable</a>
- * periodically to check for updates or to contribute improvements.
- * </p>
- *
- * @author Robert Harder
- * @author rob@iharder.net
- * @version 1.3.4
*/
public class Base64
{
diff --git a/bindings/corba/java/src/org/crosswire/web/i18n/ContextStart.java.notyet b/bindings/corba/java/src/org/crosswire/web/i18n/ContextStart.java.notyet
deleted file mode 100644
index f6823e2..0000000
--- a/bindings/corba/java/src/org/crosswire/web/i18n/ContextStart.java.notyet
+++ /dev/null
@@ -1,10 +0,0 @@
-package org.crosswire.web.i18n;
-
-import javax.servlet.jsp.tagext.*;
-
-public class ContextStart extends TagSupport {
-
- public ContextStart() {
- }
-
-}
diff --git a/bindings/corba/java/src/org/crosswire/web/i18n/TranslateTag.java b/bindings/corba/java/src/org/crosswire/web/i18n/TranslateTag.java
deleted file mode 100644
index 1ed20a5..0000000
--- a/bindings/corba/java/src/org/crosswire/web/i18n/TranslateTag.java
+++ /dev/null
@@ -1,87 +0,0 @@
-package org.crosswire.web.i18n;
-
-import javax.servlet.jsp.tagext.BodyTagSupport;
-import javax.servlet.jsp.tagext.BodyContent;
-import javax.servlet.jsp.JspException;
-import javax.servlet.jsp.JspTagException;
-//import javax.servlet.jsp.JspWriter;
-import javax.servlet.http.HttpSession;
-//import java.util.HashMap;
-//import java.io.StringWriter;
-import java.util.Locale;
-import java.util.ResourceBundle;
-import java.util.MissingResourceException;
-import java.util.Properties;
-import java.io.FileInputStream;
-import java.io.FileOutputStream;
-
-
-public class TranslateTag extends BodyTagSupport {
-
- private String _key=null;
- private ResourceBundle _bundle=null;
- private String _lang=null;
-
- /* Uses code from GNU gettext for translation */
- /* which is covered by the LGPL */
- public String doTranslate(ResourceBundle catalog, String msgid) throws JspTagException {
- String hashkey = "" + msgid.hashCode();
- try {
- if (catalog != null) {
- String result = (String)catalog.getObject(hashkey);
- if (result != null)
- return result;
- }
- } catch (MissingResourceException e) {
- // want to add the msgid to the properties file
- Properties props = new Properties();
-
- try {
- FileInputStream tbtin = new FileInputStream(pageContext.getServletContext().getRealPath("/WEB-INF/classes/tbt.properties"));
- props.load(tbtin);
- tbtin.close();
-
- props.put(hashkey, msgid);
-
- FileOutputStream tbtout = new FileOutputStream(pageContext.getServletContext().getRealPath("/WEB-INF/classes/tbt.properties"));
- props.store(tbtout, null);
- tbtout.close();
-
- }
- catch(java.io.IOException e2)
- {
- throw new JspTagException("IO Error: " + e2.getMessage());
- }
-
- }
- return msgid;
- }
-
- public int doAfterBody() throws JspTagException {
- BodyContent bc = getBodyContent();
- _key = bc.getString();
- HttpSession session = pageContext.getSession();
- Locale locale = (Locale) session.getAttribute("TranslateLocale");
-
- if ((_bundle == null) || (_lang != locale.toString())) {
- _lang = locale.toString();
- _bundle = ResourceBundle.getBundle("tbt", locale);
- }
-
- return 0;
- }
-
- public int doEndTag() throws JspException {
- try
- {
- pageContext.getOut().write(doTranslate(_bundle, _key));
- }
- catch(java.io.IOException e)
- {
- throw new JspTagException("IO Error: " + e.getMessage());
- }
- return EVAL_PAGE;
- }
-
-
-}
diff --git a/bindings/corba/orbitcpp/server.cpp b/bindings/corba/orbitcpp/server.cpp
index 83b1864..b7df734 100644
--- a/bindings/corba/orbitcpp/server.cpp
+++ b/bindings/corba/orbitcpp/server.cpp
@@ -1,5 +1,23 @@
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: t; c-basic-offset: 4 -*- */
+/*
+ * Copyright 2009 CrossWire Bible Society (http://www.crosswire.org)
+ * CrossWire Bible Society
+ * P. O. Box 2528
+ * Tempe, AZ 85280-2528
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation version 2.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ */
+
+
#include "swordorb-impl.hpp"
#include <iostream>
#include <swmgr.h>
diff --git a/bindings/corba/orbitcpp/swordorb-impl.cpp b/bindings/corba/orbitcpp/swordorb-impl.cpp
index 29b5b5e..da1819c 100644
--- a/bindings/corba/orbitcpp/swordorb-impl.cpp
+++ b/bindings/corba/orbitcpp/swordorb-impl.cpp
@@ -1,3 +1,20 @@
+/*
+ * Copyright 2009 CrossWire Bible Society (http://www.crosswire.org)
+ * CrossWire Bible Society
+ * P. O. Box 2528
+ * Tempe, AZ 85280-2528
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation version 2.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ */
+
#include "swordorb-impl.hpp"
#include <iostream>
#include <swmgr.h>
@@ -155,7 +172,6 @@ StringList *SWModule_impl::parseKeyList(const char *keyText) throw(CORBA::System
SearchHitList *SWModule_impl::search(const char *istr, SearchType searchType, CORBA::Long flags, const char *scope) throw(CORBA::SystemException) {
int stype = 2;
sword::ListKey lscope;
- sword::VerseKey parser;
if (searchType == REGEX) stype = 0;
if (searchType == PHRASE) stype = -1;
if (searchType == MULTIWORD) stype = -2;
@@ -164,8 +180,16 @@ SearchHitList *SWModule_impl::search(const char *istr, SearchType searchType, CO
sword::ListKey result;
if ((scope) && (strlen(scope)) > 0) {
- lscope = parser.ParseVerseList(scope, parser, true);
+ sword::SWKey *p = delegate->CreateKey();
+ sword::VerseKey *parser = SWDYNAMIC_CAST(VerseKey, p);
+ if (!parser) {
+ delete p;
+ parser = new VerseKey();
+ }
+ *parser = delegate->getKeyText();
+ lscope = parser->ParseVerseList(scope, *parser, true);
result = delegate->Search(istr, stype, flags, &lscope);
+ delete parser;
}
else result = delegate->Search(istr, stype, flags);
@@ -278,10 +302,10 @@ StringList *SWModule_impl::getKeyChildren() throw(CORBA::SystemException) {
num.appendFormatted("%d", vkey->Verse());
(*retVal)[3] = CORBA::string_dup(num.c_str());
num = "";
- num.appendFormatted("%d", vkey->books[vkey->Testament()-1][vkey->Book()-1].chapmax);
+ num.appendFormatted("%d", vkey->getChapterMax());
(*retVal)[4] = CORBA::string_dup(num.c_str());
num = "";
- num.appendFormatted("%d", vkey->books[vkey->Testament()-1][vkey->Book()-1].versemax[vkey->Chapter()-1]);
+ num.appendFormatted("%d", vkey->getVerseMax());
(*retVal)[5] = CORBA::string_dup(num.c_str());
}
else {
diff --git a/bindings/corba/orbitcpp/swordorb-impl.hpp b/bindings/corba/orbitcpp/swordorb-impl.hpp
index f9a88b1..a0801fe 100644
--- a/bindings/corba/orbitcpp/swordorb-impl.hpp
+++ b/bindings/corba/orbitcpp/swordorb-impl.hpp
@@ -1,3 +1,20 @@
+/*
+ * Copyright 2009 CrossWire Bible Society (http://www.crosswire.org)
+ * CrossWire Bible Society
+ * P. O. Box 2528
+ * Tempe, AZ 85280-2528
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation version 2.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ */
+
#ifndef _ORBIT_CPP_IDL_sword_IMPL_HH
#define _ORBIT_CPP_IDL_sword_IMPL_HH
diff --git a/bindings/corba/orbitcpp/testclient.cpp b/bindings/corba/orbitcpp/testclient.cpp
index 8477d18..340ea73 100644
--- a/bindings/corba/orbitcpp/testclient.cpp
+++ b/bindings/corba/orbitcpp/testclient.cpp
@@ -1,5 +1,23 @@
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: f; c-basic-offset: 4 -*- */
+/*
+ * Copyright 2009 CrossWire Bible Society (http://www.crosswire.org)
+ * CrossWire Bible Society
+ * P. O. Box 2528
+ * Tempe, AZ 85280-2528
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation version 2.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ */
+
+
#include "swordorb-cpp-stubs.h"
#include "swordorb-cpp-common.h"
#include <iostream>
diff --git a/bindings/corba/orbitcpp/webmgr.hpp b/bindings/corba/orbitcpp/webmgr.hpp
index 2fba2c3..c5c6207 100644
--- a/bindings/corba/orbitcpp/webmgr.hpp
+++ b/bindings/corba/orbitcpp/webmgr.hpp
@@ -1,3 +1,20 @@
+/*
+ * Copyright 2009 CrossWire Bible Society (http://www.crosswire.org)
+ * CrossWire Bible Society
+ * P. O. Box 2528
+ * Tempe, AZ 85280-2528
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation version 2.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ */
+
#ifndef WEBMGR_HPP
#define WEBMGR_HPP
diff --git a/bindings/corba/swordorb.idl b/bindings/corba/swordorb.idl
index 53c5aba..673681c 100644
--- a/bindings/corba/swordorb.idl
+++ b/bindings/corba/swordorb.idl
@@ -1,7 +1,25 @@
/******************************************************************************
* sword.idl - This file contains a simple idl for accessing sword
+ *
+ *
+ * Copyright 2009 CrossWire Bible Society (http://www.crosswire.org)
+ * CrossWire Bible Society
+ * P. O. Box 2528
+ * Tempe, AZ 85280-2528
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation version 2.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
*/
+
+
#ifndef SWORDORB_IDL
#define SWORDORB_IDL
diff --git a/bindings/flatapi.cpp b/bindings/flatapi.cpp
index 728f863..58476e8 100644
--- a/bindings/flatapi.cpp
+++ b/bindings/flatapi.cpp
@@ -2,7 +2,7 @@
* swordapi.cpp - This file contains an api usable by non-C++
* environments
*
- * $Id: flatapi.cpp 1685 2004-12-22 07:05:49Z scribe $
+ * $Id: flatapi.cpp 2325 2009-04-20 19:09:25Z scribe $
*
* Copyright 1998 CrossWire Bible Society (http://www.crosswire.org)
* CrossWire Bible Society
@@ -319,8 +319,9 @@ const char *SWModule_getFootnoteRefList(SWHANDLE hmodule, const char *key, const
-SWHANDLE listkey_getVerselistIterator(const char * list, const char * key) {
+SWHANDLE listkey_getVerselistIterator(const char *list, const char *key, const char *v11n) {
VerseKey versekey;
+ versekey.setVersificationSystem(v11n);
static ListKey verses;
versekey.setText(key);
diff --git a/bindings/gsoap/gsoapsword.cpp b/bindings/gsoap/gsoapsword.cpp
index cb3a58d..e4ad51a 100644
--- a/bindings/gsoap/gsoapsword.cpp
+++ b/bindings/gsoap/gsoapsword.cpp
@@ -1,3 +1,20 @@
+/*
+ * Copyright 2009 CrossWire Bible Society (http://www.crosswire.org)
+ * CrossWire Bible Society
+ * P. O. Box 2528
+ * Tempe, AZ 85280-2528
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation version 2.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ */
+
#include "soapH.h"
#include <flatapi.h>
#include <swmgr.h>
diff --git a/bindings/gsoap/gsoapsword.h b/bindings/gsoap/gsoapsword.h
index 1a712a5..fd4f7a7 100644
--- a/bindings/gsoap/gsoapsword.h
+++ b/bindings/gsoap/gsoapsword.h
@@ -1,3 +1,20 @@
+/*
+ * Copyright 2009 CrossWire Bible Society (http://www.crosswire.org)
+ * CrossWire Bible Society
+ * P. O. Box 2528
+ * Tempe, AZ 85280-2528
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation version 2.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ */
+
#ifndef GSOAPAPI_H
#define GSOAPAPI_H
diff --git a/bindings/gsoap/include/stdsoap.h b/bindings/gsoap/include/stdsoap.h
deleted file mode 100644
index 462483a..0000000
--- a/bindings/gsoap/include/stdsoap.h
+++ /dev/null
@@ -1,493 +0,0 @@
-/* stdsoap.h
-
- Copyright (C) 2001 Robert A. van Engelen, Florida State University.
- All rights reserved.
-*/
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <errno.h>
-#include <string.h>
-#include <ctype.h>
-#include <limits.h>
-#include <sys/types.h>
-#ifndef WIN32
-#include <netinet/tcp.h> /* for TCP_NODELAY */
-#include <arpa/inet.h>
-#endif
-
-#ifdef WITH_OPENSSL
-#include <openssl/ssl.h>
-#include <openssl/err.h>
-#ifndef ALLOW_OLD_VERSIONS
-#if (OPENSSL_VERSION_NUMBER < 0x00905100L)
-#error "Must use OpenSSL 0.9.6 or later"
-#endif
-#endif
-#endif
-
-#include <math.h> /* for isnan(): remove if NAN and INF support is not required */
-#include <time.h> /* for time_t (xsd:dateTime) support, remove if not required */
-
-#ifndef _MATH_H
-#define isnan(_) (0)
-#else
-extern struct soap_double_nan { int n1, n2; } soap_double_nan;
-#endif
-
-#ifndef STDSOAP
-#define STDSOAP
-
-#ifndef WIN32
-#define LONG64 long long
-#define ULONG64 unsigned long long
-#endif
-
-/* #define DEBUG */ /* Uncomment to debug sending (in file SENT.log) receiving (in file RECV.log) and messages (in file TEST.log) */
-
-#define SOAP_BUFLEN 8192 /* buffer length for socket packets */
-#define SOAP_MAXLEN 256 /* maximum length of buffer to hold XML number representations */
-#define SOAP_PTRHASH 1024 /* size of pointer analysis hash table (must be power of 2) */
-#define SOAP_IDHASH 16 /* size of hash table for element id's */
-#define SOAP_BLKLEN 256 /* size of blocks to collect long strings */
-#define SOAP_TAGLEN 256 /* maximum length of XML tag/element names + 1 */
-
-typedef long wchar; /* for compatibility */
-
-#ifndef FLT_NAN
-#ifdef _MATH_H
-#define FLT_NAN (*(float*)&soap_double_nan)
-#else
-#define FLT_NAN (0.0)
-#endif
-#endif
-#ifndef FLT_PINFTY
-#ifdef HUGE_VAL
-#define FLT_PINFTY (float)HUGE_VAL
-#else
-#ifdef FLT_MAX
-#define FLT_PINFTY FLT_MAX
-#else
-#ifdef FLOAT_MAX
-#define FLT_PINFTY FLOAT_MAX
-#else
-#define FLT_PINFTY (3.40282347e+38)
-#endif
-#endif
-#endif
-#endif
-#ifndef FLT_NINFTY
-#define FLT_NINFTY (-FLT_PINFTY)
-#endif
-
-#ifndef DBL_NAN
-#ifdef _MATH_H
-#define DBL_NAN (*(double*)&soap_double_nan)
-#else
-#define DBL_NAN (0.0)
-#endif
-#endif
-#ifndef DBL_PINFTY
-#ifdef HUGE_VAL
-#define DBL_PINFTY (double)HUGE_VAL
-#else
-#ifdef DBL_MAX
-#define DBL_PINFTY DBL_MAX
-#else
-#ifdef DOUBLE_MAX
-#define DBL_PINFTY DOUBLE_MAX
-#else
-#define DBL_PINFTY (1.7976931348623157e+308)
-#endif
-#endif
-#endif
-#endif
-#ifndef DBL_NINFTY
-#define DBL_NINFTY (-DBL_PINFTY)
-#endif
-
-extern int (*soap_fpost)(const char*, const char*, const char*, const char*, size_t);
-extern int (*soap_fresponse)(int, size_t);
-extern int (*soap_fparse)();
-extern int (*soap_fopen)(const char*, const char*, int);
-extern int (*soap_fclose)();
-extern int (*soap_fsend)(const char*, size_t);
-extern size_t (*soap_frecv)(char*, size_t);
-extern int (*soap_fignore)(const char*);
-
-extern const char *soap_float_format; /* points to user-definable format string */
-extern const char *soap_double_format; /* points to user-definable format string */
-
-extern const char *soap_http_version; /* default = "1.0" */
-extern const char *soap_encodingStyle; /* default = NULL which means that SOAP encoding is used for marshalling */
-extern const char *soap_defaultNamespace; /* default = NULL which means that no default namespace is used */
-extern int soap_disable_href; /* when !=0, disables hrefs so objects are duplicated on the output */
-extern int soap_enable_embedding; /* when !=0, enable hrefs within embedded elements */
-extern int soap_enable_null; /* when !=0, always sends null elements */
-extern int soap_enable_utf_string; /* when !=0, assume strings are UTF8/16 encoded and just emit them */
-extern int soap_disable_request_count; /* when !=0, do not include HTTP Content-Length in request */
-extern int soap_disable_response_count; /* when !=0, do not include HTTP Content-Length in service response (normally calculated by the Web server in case CGI is used so disabling saves time) */
-extern int soap_enable_array_overflow; /* when !=0, allows ignoring remaining elements that do not fit in a fixed-size array */
-extern int soap_keep_alive; /* when !=0, set SO_KEEPALIVE socket and do not close sockets, unless new host/port is accessed */
-
-extern const char *soap_proxy_host;
-extern int soap_proxy_port;
-
-#ifdef WITH_OPENSSL
-extern SSL_CTX *soap_ssl_ctx;
-extern BIO *soap_bio;
-extern SSL *soap_ssl;
-extern int soap_require_server_auth;
-extern const char *soap_keyfile;
-extern const char *soap_password;
-extern const char *soap_dhfile;
-extern const char *soap_cafile;
-#endif
-
-#ifdef WIN32
-#include <io.h>
-#include <winsock.h>
-#else
-#include <sys/socket.h>
-#include <netdb.h>
-#include <netinet/in.h>
-#include <unistd.h>
-#define closesocket(n) close(n)
-#endif
-
-int soap_serve();
-
-extern void soap_serializeheader();
-extern void soap_putheader();
-extern int soap_getheader();
-extern void soap_serializefault();
-extern void soap_putfault();
-extern int soap_getfault();
-extern void soap_putindependent();
-extern int soap_getindependent();
-
-int soap_bind(const char *hostname, int port, int backlog);
-int soap_accept();
-int soap_ssl_accept();
-
-struct Namespace {const char *id, *ns, *in;};
-extern struct Namespace namespaces[];
-
-static FILE * fdebug;
-
-struct soap_entry
-{ int id;
- void *entry;
- int type;
- short marked1;
- short marked2;
- struct soap_entry *next;
-};
-
-extern char soap_tag[SOAP_TAGLEN]; /* used by soap_element_begin_in */
-extern char soap_id[SOAP_TAGLEN]; /* set by soap_element_begin_in */
-extern char soap_href[SOAP_TAGLEN]; /* set by soap_element_begin_in */
-extern char soap_type[SOAP_TAGLEN];
-extern char soap_arrayType[SOAP_TAGLEN];
-extern char soap_arraySize[SOAP_TAGLEN];
-extern char soap_xmlns_name[SOAP_TAGLEN];
-extern char soap_xmlns_value[SOAP_TAGLEN];
-extern char soap_offset[SOAP_TAGLEN]; /* ditto */
-extern int soap_position; /* ditto */
-extern int soap_positions[32]; /* ditto */
-extern int soap_null; /* ditto */
-extern int soap_counting;
-extern int soap_level;
-extern int soap_is_in_header;
-
-/* Defining the std soap error codes */
-
-#define SOAP_OK 0
-#define SOAP_CLI_FAULT 1
-#define SOAP_SVR_FAULT 2
-#define SOAP_TAG_MISMATCH 3
-#define SOAP_TYPE_MISMATCH 4
-#define SOAP_SYNTAX_ERROR 5
-#define SOAP_NO_TAG 6
-#define SOAP_IOB 7
-#define SOAP_MUSTUNDERSTAND 8
-#define SOAP_NAMESPACE 9
-#define SOAP_OBJ_MISMATCH 10
-#define SOAP_FATAL_ERROR 11
-#define SOAP_FAULT 12
-#define SOAP_NO_METHOD 13
-#define SOAP_EOM 14
-#define SOAP_NULL 15
-#define SOAP_MULTI_ID 16
-#define SOAP_MISSING_ID 17
-#define SOAP_HREF 18
-#define SOAP_TCP_ERROR 19
-#define SOAP_HTTP_ERROR 20
-#define SOAP_SSL_ERROR 21
-#define SOAP_EOF EOF
-
-extern int soap_error ;
-
-/* DEBUG macros */
-
-#ifdef DEBUG
-#define DBGLOG(DBGFILE, DBGCMD) \
-{\
- fdebug = fopen(#DBGFILE".log", "a");\
- DBGCMD;\
- fclose(fdebug);\
-}
-#else
-#define DBGLOG(DBGFILE, DBGCMD)
-#endif
-
-struct soap_class
-{ void *ptr;
- int type;
- int size;
- struct soap_class *next;
-};
-
-extern struct soap_class *soap_class_chain;
-
-struct soap_stack
-{ struct soap_stack *next;
- char *id;
- int i;
- int level;
-};
-
-/* Hash table (temporarily replaced by array indexing) */
-
-extern struct soap_entry *soap_ptr[SOAP_PTRHASH];
-
-/*int sock;*/
-extern int soap_socket;
-extern int soap_recvfd;
-extern int soap_sendfd;
-extern int soap_buffering;
-extern unsigned long soap_ip; /* IP address of connecting party after soap_accept() */
-
-/* send routine */
-int soap_send(const char *buf);
-
-int soap_send_hex(int);
-int soap_send_base64(const unsigned char *, size_t);
-
-int soap_gethex();
-unsigned char *soap_getbase64(int *, int);
-
-extern int errmode ;
-
-int soap_pointer_lookup(const void *p, int t,struct soap_entry **np1);
-int soap_array_pointer_lookup(const void *p, int n, int t, struct soap_entry **np1);
-int soap_pointer_lookup_id(void *p, int t,struct soap_entry **np1);
-int soap_pointer_enter(const void *p, int t,struct soap_entry **np1);
-int soap_array_pointer_enter(const void *p, int t, struct soap_entry **np1);
-void soap_pointer_dump();
-void soap_begin_count();
-void soap_begin_send();
-int soap_end_send();
-
-void soap_embedded(const void *p, int t);
-int soap_reference(const void *p, int t);
-int soap_array_reference(const void *p, int n, int t);
-int soap_embedded_id(int id, const void *p, int t);
-int soap_is_embedded(struct soap_entry *);
-int soap_is_single(struct soap_entry *);
-int soap_is_multi(struct soap_entry *);
-void soap_set_embedded(struct soap_entry *);
-
-int soap_begin_recv();
-int soap_end_recv();
-int soap_getline(char *, int);
-
-void soap_send_namespaces();
-
-#ifdef WIN32
-#define atoll atoi
-#else
-extern void itoa(int, char*);
-#endif
-
-/* The hash table to hold IDs needs entries of the form: */
-struct soap_hash_entry
-{ int type;
- size_t size;
- void *link;
- void *copy;
- void *ptr;
- int level;
- struct soap_hash_entry *next;
- char s[4];
-};
-
-extern struct soap_hash_entry *soap_hash[SOAP_IDHASH];
-
-extern int soap_alloced ; /* keep this info so we know that object must be init'ed */
-extern void *soap_malloc_chain ;
-
-void * soap_malloc(size_t n);
-void soap_dealloc(void *p);
-
-int soap_lookup_type(const char *id);
-
-void * soap_id_lookup(const char *id, void **p, int t, size_t n, int k);
-
-void * soap_id_forward(const char *id, void *p, int t, size_t n);
-
-void * soap_id_enter(const char *id, void *p, int t, size_t n, int k);
-void * soap_class_id_enter(const char *id, void *p, int t, const char *type);
-
-extern int soap_size(const int *, int);
-extern int soap_getoffsets(const char *, const int *, int *, int);
-extern int soap_getsize(const char *, const char *, int *);
-extern int soap_getsizes(const char *, int *, int);
-extern int soap_getposition(const char *, int *);
-extern char * soap_putsize(const char *, int);
-extern char * soap_putsizesoffsets(const char *, const int *, const int *, int);
-extern char * soap_putsizes(const char *, const int *, int);
-extern char * soap_putoffset(int);
-extern char * soap_putoffsets(const int *, int);
-extern char * soap_putposition();
-
-extern int soap_peeked ;
-extern int soap_body;
-
-/* Support routines (library) */
-int soap_ignore_element();
-
-int soap_closesock();
-
-void soap_init();
-void soap_begin();
-
-int soap_match_tag(const char*, const char *);
-
-int soap_match_array(const char*);
-
-void soap_end();
-void soap_free();
-void soap_destroy();
-
-void soap_element_begin_out(const char *tag, int id, const char *type);
-void soap_array_begin_out(const char *tag, int id, const char *type, const char *offset);
-
-void soap_element_end_out(const char *tag);
-
-void soap_element_ref(const char *tag, int id, int href);
-
-void soap_element_null(const char *tag, int id, const char *type);
-
-int soap_element_begin_in(const char *tag);
-
-int soap_element_end_in(const char *tag);
-
-int soap_peek_element();
-void soap_revert();
-
-int soap_ignore_element();
-
-void soap_convert_string_out(const char *s);
-
-int soap_match_namespace(const char*, const char*, int, int);
-
-void soap_pop_namespace();
-int soap_push_namespace(const char *,const char *);
-
-extern int soap_block_size;
-extern int soap_new_block();
-extern void *soap_push_block(size_t);
-extern void soap_pop_block();
-extern void soap_store_block(char *);
-
-void *soap_instantiate(int t, const char *);
-void soap_delete(void *, int, int);
-
-void soap_outint(const char *tag, int id, const int *p, const char *, int);
-int * soap_inint(const char *tag, int *p, const char *, int);
-
-void soap_outbyte(const char *tag, int id, const char *p, const char *, int);
-char * soap_inbyte(const char *tag, char *p, const char *, int);
-
-void soap_outlong(const char *tag, int id, const long *p, const char *, int);
-long * soap_inlong(const char *tag, long *p, const char *, int);
-
-void soap_outLONG64(const char *tag, int id, const LONG64 *p, const char *, int);
-LONG64 * soap_inLONG64(const char *tag, LONG64 *p, const char *, int);
-
-void soap_outshort(const char *tag, int id, const short *p, const char *, int);
-short * soap_inshort(const char *tag, short *p, const char *, int);
-
-void soap_outfloat(const char *tag, int id, const float *p, const char *, int);
-float * soap_infloat(const char *tag, float *p, const char *, int);
-
-void soap_outdouble(const char *tag, int id, const double *p, const char *, int);
-double * soap_indouble(const char *tag, double *p, const char *, int);
-
-void soap_outunsignedByte(const char *tag, int id, const unsigned char *p, const char *, int);
-unsigned char * soap_inunsignedByte(const char *tag, unsigned char *p, const char *, int);
-
-void soap_outunsignedShort(const char *tag, int id, const unsigned short *p, const char *, int);
-unsigned short * soap_inunsignedShort(const char *tag, unsigned short *p, const char *, int);
-
-void soap_outunsignedInt(const char *tag, int id, const unsigned int *p, const char *, int);
-unsigned int * soap_inunsignedInt(const char *tag, unsigned int *p, const char *, int);
-
-void soap_outunsignedLong(const char *tag, int id, const unsigned long *p, const char *, int);
-unsigned long * soap_inunsignedLong(const char *tag, unsigned long *p, const char *, int);
-
-void soap_outunsignedLONG64(const char *tag, int id, const ULONG64 *p, const char *, int);
-ULONG64 * soap_inunsignedLONG64(const char *tag, ULONG64 *p, const char *, int);
-
-void soap_outstring(const char *tag, int id, char *const*p, const char *, int);
-char ** soap_instring(const char *tag, char **p, const char *, int);
-
-void soap_outwstring(const char *tag, int id, wchar_t *const*p, const char *, int);
-wchar_t **soap_inwstring(const char *tag, wchar_t **p, const char *, int);
-
-void soap_outliteral(const char *tag, char *const*p);
-char **soap_inliteral(const char *tag, char **p);
-
-void soap_outwliteral(const char *tag, wchar_t *const*p);
-wchar_t **soap_inwliteral(const char *tag, wchar_t **p);
-
-#ifdef _TIME_H
-void soap_outdateTime(const char *tag, int id, const time_t *p, const char *, int);
-time_t *soap_indateTime(const char *tag, time_t *p, const char *, int);
-#endif
-
-char *soap_value();
-
-wchar soap_skip();
-
-/* 1. generate the prototypes and encode all types (base types are defined above) */
-
-void soap_envelope_begin_out();
-void soap_envelope_end_out();
-
-int soap_envelope_begin_in();
-int soap_envelope_end_in();
-
-void soap_body_begin_out();
-void soap_body_end_out();
-
-int soap_body_begin_in();
-int soap_body_end_in();
-
-int soap_recv_header();
-
-int soap_connect(const char *URL, const char *action);
-
-int soap_response();
-
-/* Methods dealing with the fault struct*/
-
-int soap_send_fault();
-
-int soap_recv_fault();
-
-extern void soap_print_fault(FILE*);
-extern void soap_print_fault_location(FILE*);
-
-#endif
diff --git a/bindings/gsoap/soapcpp b/bindings/gsoap/soapcpp
deleted file mode 100755
index 462b1b5..0000000
--- a/bindings/gsoap/soapcpp
+++ /dev/null
Binary files differ
diff --git a/bindings/gsoap/stdsoap.o b/bindings/gsoap/stdsoap.o
deleted file mode 100644
index 2e4bae8..0000000
--- a/bindings/gsoap/stdsoap.o
+++ /dev/null
Binary files differ
diff --git a/bindings/gsoap/testclient.cpp b/bindings/gsoap/testclient.cpp
index b0d4d94..337705b 100644
--- a/bindings/gsoap/testclient.cpp
+++ b/bindings/gsoap/testclient.cpp
@@ -1,3 +1,20 @@
+/*
+ * Copyright 2009 CrossWire Bible Society (http://www.crosswire.org)
+ * CrossWire Bible Society
+ * P. O. Box 2528
+ * Tempe, AZ 85280-2528
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation version 2.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ */
+
#include "soapH.h"
#include <iostream.h>
diff --git a/bindings/swig/README b/bindings/swig/README
index 9b41f6d..4febafe 100644
--- a/bindings/swig/README
+++ b/bindings/swig/README
@@ -17,10 +17,10 @@ make
# Rather than make, you probably only care about one of the languages bindings.
# So you might try one of these pairs of commands instead:
#
-# make perl_swig
+# make perlswig
# make perl_make
#
-# make python_swig
+# make pythonswig
# make python_make
#
diff --git a/bindings/swig/examples/mod2zmod.pl b/bindings/swig/examples/mod2zmod.pl
index 2cc205c..c8d5d59 100755
--- a/bindings/swig/examples/mod2zmod.pl
+++ b/bindings/swig/examples/mod2zmod.pl
@@ -1,8 +1,26 @@
#!/usr/bin/perl
-
+#******************************************************************************
+#
# This program converts a given module into a compressed module of the same type.
# This is just an example to demomstrate the power of the Perl Sword bindings.
# The code is almost written the same way the C++ of mod2zmod.cpp code was written
+#
+# $Id: mod2zmod.pl 2327 2009-04-22 11:42:33Z scribe $
+#
+# Copyright 1998-2009 CrossWire Bible Society (http://www.crosswire.org)
+# CrossWire Bible Society
+# P. O. Box 2528
+# Tempe, AZ 85280-2528
+#
+# This program is free software; you can redistribute it and/or modify it
+# under the terms of the GNU General Public License as published by the
+# Free Software Foundation version 2.
+#
+# This program is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# General Public License for more details.
+#
use Sword;
use strict;
diff --git a/bindings/swig/markupcallback.h b/bindings/swig/markupcallback.h
index cef01b7..4898b1b 100755
--- a/bindings/swig/markupcallback.h
+++ b/bindings/swig/markupcallback.h
@@ -5,43 +5,42 @@ using namespace sword;
class MarkupCallback {
public:
- virtual ~MarkupCallback() { ;}
- virtual bool run(SWModule* x) {return false;}
+ virtual ~MarkupCallback() { ;}
+ virtual bool run(SWModule* x) {return false;}
};
- class MyMarkup : public MarkupFilterMgr
- {
-
- private:
- MarkupCallback* _callback;
-
- public:
-
- MyMarkup(MarkupCallback* callback, char markup = FMT_THML, char encoding = ENC_UTF8): MarkupFilterMgr(markup, encoding), _callback(callback)
- {}
- virtual ~MyMarkup() {
- delCallback();
- }
- void delCallback() {
- delete _callback; _callback = 0;
- }
- void setCallback(MarkupCallback *cb)
- {
- delCallback();
- _callback = cb;
- }
- bool call(SWModule* x) {
- if (_callback)
- return _callback->run(x);
- return false;
- }
- protected:
- virtual void AddRenderFilters(SWModule *module, ConfigEntMap
- &section) {
- if(!call(module)) {
- MarkupFilterMgr::AddRenderFilters(module, section);
- }
- }
- };
+class MyMarkup : public MarkupFilterMgr {
+private:
+ MarkupCallback* _callback;
+public:
+ MyMarkup(MarkupCallback* callback, char markup = FMT_THML, char encoding = ENC_UTF8) :
+ MarkupFilterMgr(markup, encoding), _callback(callback) {}
+ virtual ~MyMarkup() {
+ delCallback();
+ }
+
+ void delCallback() {
+ delete _callback; _callback = 0;
+ }
+
+ void setCallback(MarkupCallback *cb) {
+ delCallback();
+ _callback = cb;
+ }
+
+ bool call(SWModule* x) {
+ if (_callback)
+ return _callback->run(x);
+ return false;
+ }
+
+protected:
+ virtual void AddRenderFilters(SWModule *module,
+ ConfigEntMap &section) {
+ if(!call(module)) {
+ MarkupFilterMgr::AddRenderFilters(module, section);
+ }
+ }
+};
diff --git a/bindings/swig/package/Makefile.am b/bindings/swig/package/Makefile.am
index 5d05360..c440017 100644
--- a/bindings/swig/package/Makefile.am
+++ b/bindings/swig/package/Makefile.am
@@ -93,7 +93,7 @@ python_makebuild: $(PYTHONSWIG)
@echo " include_dirs=['$(SWORD_INCLUDE_DIR)', '..', '../..']," >> python/setup.py
@echo " ext_modules = [Extension(\"_Sword\", [\"Sword.cxx\"]," >> python/setup.py
@echo " libraries=[('sword')], " >> python/setup.py
- @echo " define_macros=[('SWIG',1)])], " >> python/setup.py
+ @echo " )], " >> python/setup.py
@echo ")" >> python/setup.py
diff --git a/bindings/swig/package/Makefile.in b/bindings/swig/package/Makefile.in
index 339679a..2fb09aa 100644
--- a/bindings/swig/package/Makefile.in
+++ b/bindings/swig/package/Makefile.in
@@ -1,8 +1,8 @@
-# Makefile.in generated by automake 1.10 from Makefile.am.
+# Makefile.in generated by automake 1.10.2 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -106,32 +106,39 @@ CXXFLAGS = @CXXFLAGS@
CYGPATH_W = @CYGPATH_W@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
-ECHO = @ECHO@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
-F77 = @F77@
-FFLAGS = @FFLAGS@
+FGREP = @FGREP@
GREP = @GREP@
INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LD = @LD@
LDFLAGS = @LDFLAGS@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
LIBZ = @LIBZ@
LIB_SWORD = @LIB_SWORD@
+LIPO = @LIPO@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MKDIR_P = @MKDIR_P@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
@@ -172,7 +179,7 @@ abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
-ac_ct_F77 = @ac_ct_F77@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
@@ -203,6 +210,7 @@ libdir = @libdir@
libexecdir = @libexecdir@
localedir = @localedir@
localstatedir = @localstatedir@
+lt_ECHO = @lt_ECHO@
mandir = @mandir@
mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@
@@ -215,6 +223,7 @@ sharedstatedir = @sharedstatedir@
srcdir = @srcdir@
sysconfdir = @sysconfdir@
target_alias = @target_alias@
+top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
INCLUDES = $(SWORD_INCLUDES)
@@ -273,8 +282,8 @@ install-libLTLIBRARIES: $(lib_LTLIBRARIES)
@list='$(lib_LTLIBRARIES)'; for p in $$list; do \
if test -f $$p; then \
f=$(am__strip_dir) \
- echo " $(LIBTOOL) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(libdir)/$$f'"; \
- $(LIBTOOL) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(libdir)/$$f"; \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(libdir)/$$f'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(libdir)/$$f"; \
else :; fi; \
done
@@ -282,8 +291,8 @@ uninstall-libLTLIBRARIES:
@$(NORMAL_UNINSTALL)
@list='$(lib_LTLIBRARIES)'; for p in $$list; do \
p=$(am__strip_dir) \
- echo " $(LIBTOOL) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$p'"; \
- $(LIBTOOL) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$p"; \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$p'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$p"; \
done
clean-libLTLIBRARIES:
@@ -340,15 +349,15 @@ clean-libtool:
-rm -rf .libs _libs
distclean-libtool:
- -rm -f libtool
+ -rm -f libtool config.lt
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
mkid -fID $$unique
tags: TAGS
@@ -360,8 +369,8 @@ TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
test -n "$$unique" || unique=$$empty_fix; \
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
@@ -371,13 +380,12 @@ ctags: CTAGS
CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
tags=; \
- here=`pwd`; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
test -z "$(CTAGS_ARGS)$$tags$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
$$tags $$unique
@@ -431,6 +439,10 @@ dist-bzip2: distdir
tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2
$(am__remove_distdir)
+dist-lzma: distdir
+ tardir=$(distdir) && $(am__tar) | lzma -9 -c >$(distdir).tar.lzma
+ $(am__remove_distdir)
+
dist-tarZ: distdir
tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z
$(am__remove_distdir)
@@ -457,6 +469,8 @@ distcheck: dist
GZIP=$(GZIP_ENV) gunzip -c $(distdir).tar.gz | $(am__untar) ;;\
*.tar.bz2*) \
bunzip2 -c $(distdir).tar.bz2 | $(am__untar) ;;\
+ *.tar.lzma*) \
+ unlzma -c $(distdir).tar.lzma | $(am__untar) ;;\
*.tar.Z*) \
uncompress -c $(distdir).tar.Z | $(am__untar) ;;\
*.shar.gz*) \
@@ -612,16 +626,16 @@ uninstall-am: uninstall-libLTLIBRARIES
.PHONY: CTAGS GTAGS all all-am am--refresh check check-am clean \
clean-generic clean-libLTLIBRARIES clean-libtool ctags dist \
- dist-all dist-bzip2 dist-gzip dist-shar dist-tarZ dist-zip \
- distcheck distclean distclean-compile distclean-generic \
- distclean-libtool distclean-tags distcleancheck distdir \
- distuninstallcheck dvi dvi-am html html-am info info-am \
- install install-am install-data install-data-am install-dvi \
- install-dvi-am install-exec install-exec-am install-html \
- install-html-am install-info install-info-am \
- install-libLTLIBRARIES install-man install-pdf install-pdf-am \
- install-ps install-ps-am install-strip installcheck \
- installcheck-am installdirs maintainer-clean \
+ dist-all dist-bzip2 dist-gzip dist-lzma dist-shar dist-tarZ \
+ dist-zip distcheck distclean distclean-compile \
+ distclean-generic distclean-libtool distclean-tags \
+ distcleancheck distdir distuninstallcheck dvi dvi-am html \
+ html-am info info-am install install-am install-data \
+ install-data-am install-dvi install-dvi-am install-exec \
+ install-exec-am install-html install-html-am install-info \
+ install-info-am install-libLTLIBRARIES install-man install-pdf \
+ install-pdf-am install-ps install-ps-am install-strip \
+ installcheck installcheck-am installdirs maintainer-clean \
maintainer-clean-generic mostlyclean mostlyclean-compile \
mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
tags uninstall uninstall-am uninstall-libLTLIBRARIES
@@ -702,7 +716,7 @@ python_makebuild: $(PYTHONSWIG)
@echo " include_dirs=['$(SWORD_INCLUDE_DIR)', '..', '../..']," >> python/setup.py
@echo " ext_modules = [Extension(\"_Sword\", [\"Sword.cxx\"]," >> python/setup.py
@echo " libraries=[('sword')], " >> python/setup.py
- @echo " define_macros=[('SWIG',1)])], " >> python/setup.py
+ @echo " )], " >> python/setup.py
@echo ")" >> python/setup.py
phpswig: sword.i
diff --git a/bindings/swig/package/aclocal.m4 b/bindings/swig/package/aclocal.m4
index fcced8e..8d6e40c 100644
--- a/bindings/swig/package/aclocal.m4
+++ b/bindings/swig/package/aclocal.m4
@@ -1,7 +1,7 @@
-# generated automatically by aclocal 1.10 -*- Autoconf -*-
+# generated automatically by aclocal 1.10.2 -*- Autoconf -*-
# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
-# 2005, 2006 Free Software Foundation, Inc.
+# 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -11,108 +11,196 @@
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE.
-m4_if(m4_PACKAGE_VERSION, [2.61],,
-[m4_fatal([this file was generated for autoconf 2.61.
-You have another version of autoconf. If you want to use that,
-you should regenerate the build system entirely.], [63])])
+m4_ifndef([AC_AUTOCONF_VERSION],
+ [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
+m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.63],,
+[m4_warning([this file was generated for autoconf 2.63.
+You have another version of autoconf. It may work, but is not guaranteed to.
+If you have problems, you may need to regenerate the build system entirely.
+To do so, use the procedure documented by the package, typically `autoreconf'.])])
# libtool.m4 - Configure libtool for the host system. -*-Autoconf-*-
+#
+# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
+# 2006, 2007, 2008 Free Software Foundation, Inc.
+# Written by Gordon Matzigkeit, 1996
+#
+# This file is free software; the Free Software Foundation gives
+# unlimited permission to copy and/or distribute it, with or without
+# modifications, as long as this notice is preserved.
+
+m4_define([_LT_COPYING], [dnl
+# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
+# 2006, 2007, 2008 Free Software Foundation, Inc.
+# Written by Gordon Matzigkeit, 1996
+#
+# This file is part of GNU Libtool.
+#
+# GNU Libtool is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License as
+# published by the Free Software Foundation; either version 2 of
+# the License, or (at your option) any later version.
+#
+# As a special exception to the GNU General Public License,
+# if you distribute this file as part of a program or library that
+# is built using GNU Libtool, you may include this file under the
+# same distribution terms that you use for the rest of that program.
+#
+# GNU Libtool is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with GNU Libtool; see the file COPYING. If not, a copy
+# can be downloaded from http://www.gnu.org/licenses/gpl.html, or
+# obtained by writing to the Free Software Foundation, Inc.,
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+])
-# serial 51 AC_PROG_LIBTOOL
+# serial 56 LT_INIT
-# AC_PROVIDE_IFELSE(MACRO-NAME, IF-PROVIDED, IF-NOT-PROVIDED)
-# -----------------------------------------------------------
-# If this macro is not defined by Autoconf, define it here.
-m4_ifdef([AC_PROVIDE_IFELSE],
- [],
- [m4_define([AC_PROVIDE_IFELSE],
- [m4_ifdef([AC_PROVIDE_$1],
- [$2], [$3])])])
+# LT_PREREQ(VERSION)
+# ------------------
+# Complain and exit if this libtool version is less that VERSION.
+m4_defun([LT_PREREQ],
+[m4_if(m4_version_compare(m4_defn([LT_PACKAGE_VERSION]), [$1]), -1,
+ [m4_default([$3],
+ [m4_fatal([Libtool version $1 or higher is required],
+ 63)])],
+ [$2])])
-# AC_PROG_LIBTOOL
-# ---------------
-AC_DEFUN([AC_PROG_LIBTOOL],
-[AC_REQUIRE([_AC_PROG_LIBTOOL])dnl
-dnl If AC_PROG_CXX has already been expanded, run AC_LIBTOOL_CXX
-dnl immediately, otherwise, hook it in at the end of AC_PROG_CXX.
- AC_PROVIDE_IFELSE([AC_PROG_CXX],
- [AC_LIBTOOL_CXX],
- [define([AC_PROG_CXX], defn([AC_PROG_CXX])[AC_LIBTOOL_CXX
- ])])
-dnl And a similar setup for Fortran 77 support
- AC_PROVIDE_IFELSE([AC_PROG_F77],
- [AC_LIBTOOL_F77],
- [define([AC_PROG_F77], defn([AC_PROG_F77])[AC_LIBTOOL_F77
-])])
-
-dnl Quote A][M_PROG_GCJ so that aclocal doesn't bring it in needlessly.
-dnl If either AC_PROG_GCJ or A][M_PROG_GCJ have already been expanded, run
-dnl AC_LIBTOOL_GCJ immediately, otherwise, hook it in at the end of both.
- AC_PROVIDE_IFELSE([AC_PROG_GCJ],
- [AC_LIBTOOL_GCJ],
- [AC_PROVIDE_IFELSE([A][M_PROG_GCJ],
- [AC_LIBTOOL_GCJ],
- [AC_PROVIDE_IFELSE([LT_AC_PROG_GCJ],
- [AC_LIBTOOL_GCJ],
- [ifdef([AC_PROG_GCJ],
- [define([AC_PROG_GCJ], defn([AC_PROG_GCJ])[AC_LIBTOOL_GCJ])])
- ifdef([A][M_PROG_GCJ],
- [define([A][M_PROG_GCJ], defn([A][M_PROG_GCJ])[AC_LIBTOOL_GCJ])])
- ifdef([LT_AC_PROG_GCJ],
- [define([LT_AC_PROG_GCJ],
- defn([LT_AC_PROG_GCJ])[AC_LIBTOOL_GCJ])])])])
-])])# AC_PROG_LIBTOOL
-
-
-# _AC_PROG_LIBTOOL
-# ----------------
-AC_DEFUN([_AC_PROG_LIBTOOL],
-[AC_REQUIRE([AC_LIBTOOL_SETUP])dnl
-AC_BEFORE([$0],[AC_LIBTOOL_CXX])dnl
-AC_BEFORE([$0],[AC_LIBTOOL_F77])dnl
-AC_BEFORE([$0],[AC_LIBTOOL_GCJ])dnl
+# _LT_CHECK_BUILDDIR
+# ------------------
+# Complain if the absolute build directory name contains unusual characters
+m4_defun([_LT_CHECK_BUILDDIR],
+[case `pwd` in
+ *\ * | *\ *)
+ AC_MSG_WARN([Libtool does not cope well with whitespace in `pwd`]) ;;
+esac
+])
+
+
+# LT_INIT([OPTIONS])
+# ------------------
+AC_DEFUN([LT_INIT],
+[AC_PREREQ([2.58])dnl We use AC_INCLUDES_DEFAULT
+AC_BEFORE([$0], [LT_LANG])dnl
+AC_BEFORE([$0], [LT_OUTPUT])dnl
+AC_BEFORE([$0], [LTDL_INIT])dnl
+m4_require([_LT_CHECK_BUILDDIR])dnl
+
+dnl Autoconf doesn't catch unexpanded LT_ macros by default:
+m4_pattern_forbid([^_?LT_[A-Z_]+$])dnl
+m4_pattern_allow([^(_LT_EOF|LT_DLGLOBAL|LT_DLLAZY_OR_NOW|LT_MULTI_MODULE)$])dnl
+dnl aclocal doesn't pull ltoptions.m4, ltsugar.m4, or ltversion.m4
+dnl unless we require an AC_DEFUNed macro:
+AC_REQUIRE([LTOPTIONS_VERSION])dnl
+AC_REQUIRE([LTSUGAR_VERSION])dnl
+AC_REQUIRE([LTVERSION_VERSION])dnl
+AC_REQUIRE([LTOBSOLETE_VERSION])dnl
+m4_require([_LT_PROG_LTMAIN])dnl
+
+dnl Parse OPTIONS
+_LT_SET_OPTIONS([$0], [$1])
# This can be used to rebuild libtool when needed
-LIBTOOL_DEPS="$ac_aux_dir/ltmain.sh"
+LIBTOOL_DEPS="$ltmain"
# Always use our own libtool.
LIBTOOL='$(SHELL) $(top_builddir)/libtool'
AC_SUBST(LIBTOOL)dnl
-# Prevent multiple expansion
-define([AC_PROG_LIBTOOL], [])
-])# _AC_PROG_LIBTOOL
+_LT_SETUP
+# Only expand once:
+m4_define([LT_INIT])
+])# LT_INIT
-# AC_LIBTOOL_SETUP
-# ----------------
-AC_DEFUN([AC_LIBTOOL_SETUP],
-[AC_PREREQ(2.50)dnl
-AC_REQUIRE([AC_ENABLE_SHARED])dnl
-AC_REQUIRE([AC_ENABLE_STATIC])dnl
-AC_REQUIRE([AC_ENABLE_FAST_INSTALL])dnl
-AC_REQUIRE([AC_CANONICAL_HOST])dnl
+# Old names:
+AU_ALIAS([AC_PROG_LIBTOOL], [LT_INIT])
+AU_ALIAS([AM_PROG_LIBTOOL], [LT_INIT])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_PROG_LIBTOOL], [])
+dnl AC_DEFUN([AM_PROG_LIBTOOL], [])
+
+
+# _LT_CC_BASENAME(CC)
+# -------------------
+# Calculate cc_basename. Skip known compiler wrappers and cross-prefix.
+m4_defun([_LT_CC_BASENAME],
+[for cc_temp in $1""; do
+ case $cc_temp in
+ compile | *[[\\/]]compile | ccache | *[[\\/]]ccache ) ;;
+ distcc | *[[\\/]]distcc | purify | *[[\\/]]purify ) ;;
+ \-*) ;;
+ *) break;;
+ esac
+done
+cc_basename=`$ECHO "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
+])
+
+
+# _LT_FILEUTILS_DEFAULTS
+# ----------------------
+# It is okay to use these file commands and assume they have been set
+# sensibly after `m4_require([_LT_FILEUTILS_DEFAULTS])'.
+m4_defun([_LT_FILEUTILS_DEFAULTS],
+[: ${CP="cp -f"}
+: ${MV="mv -f"}
+: ${RM="rm -f"}
+])# _LT_FILEUTILS_DEFAULTS
+
+
+# _LT_SETUP
+# ---------
+m4_defun([_LT_SETUP],
+[AC_REQUIRE([AC_CANONICAL_HOST])dnl
AC_REQUIRE([AC_CANONICAL_BUILD])dnl
+_LT_DECL([], [host_alias], [0], [The host system])dnl
+_LT_DECL([], [host], [0])dnl
+_LT_DECL([], [host_os], [0])dnl
+dnl
+_LT_DECL([], [build_alias], [0], [The build system])dnl
+_LT_DECL([], [build], [0])dnl
+_LT_DECL([], [build_os], [0])dnl
+dnl
AC_REQUIRE([AC_PROG_CC])dnl
-AC_REQUIRE([AC_PROG_LD])dnl
-AC_REQUIRE([AC_PROG_LD_RELOAD_FLAG])dnl
-AC_REQUIRE([AC_PROG_NM])dnl
-
+AC_REQUIRE([LT_PATH_LD])dnl
+AC_REQUIRE([LT_PATH_NM])dnl
+dnl
AC_REQUIRE([AC_PROG_LN_S])dnl
-AC_REQUIRE([AC_DEPLIBS_CHECK_METHOD])dnl
-# Autoconf 2.13's AC_OBJEXT and AC_EXEEXT macros only works for C compilers!
-AC_REQUIRE([AC_OBJEXT])dnl
-AC_REQUIRE([AC_EXEEXT])dnl
+test -z "$LN_S" && LN_S="ln -s"
+_LT_DECL([], [LN_S], [1], [Whether we need soft or hard links])dnl
+dnl
+AC_REQUIRE([LT_CMD_MAX_LEN])dnl
+_LT_DECL([objext], [ac_objext], [0], [Object file suffix (normally "o")])dnl
+_LT_DECL([], [exeext], [0], [Executable file suffix (normally "")])dnl
dnl
+m4_require([_LT_FILEUTILS_DEFAULTS])dnl
+m4_require([_LT_CHECK_SHELL_FEATURES])dnl
+m4_require([_LT_CMD_RELOAD])dnl
+m4_require([_LT_CHECK_MAGIC_METHOD])dnl
+m4_require([_LT_CMD_OLD_ARCHIVE])dnl
+m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl
+
+_LT_CONFIG_LIBTOOL_INIT([
+# See if we are running on zsh, and set the options which allow our
+# commands through without removal of \ escapes INIT.
+if test -n "\${ZSH_VERSION+set}" ; then
+ setopt NO_GLOB_SUBST
+fi
+])
+if test -n "${ZSH_VERSION+set}" ; then
+ setopt NO_GLOB_SUBST
+fi
-AC_LIBTOOL_SYS_MAX_CMD_LEN
-AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE
-AC_LIBTOOL_OBJDIR
+_LT_CHECK_OBJDIR
-AC_REQUIRE([_LT_AC_SYS_COMPILER])dnl
-_LT_AC_PROG_ECHO_BACKSLASH
+m4_require([_LT_TAG_COMPILER])dnl
+_LT_PROG_ECHO_BACKSLASH
case $host_os in
aix3*)
@@ -128,114 +216,653 @@ esac
# Sed substitution that helps us do robust quoting. It backslashifies
# metacharacters that are still active within double-quoted strings.
-Xsed='sed -e 1s/^X//'
-[sed_quote_subst='s/\([\\"\\`$\\\\]\)/\\\1/g']
+sed_quote_subst='s/\([["`$\\]]\)/\\\1/g'
# Same as above, but do not quote variable references.
-[double_quote_subst='s/\([\\"\\`\\\\]\)/\\\1/g']
+double_quote_subst='s/\([["`\\]]\)/\\\1/g'
# Sed substitution to delay expansion of an escaped shell variable in a
# double_quote_subst'ed string.
delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g'
+# Sed substitution to delay expansion of an escaped single quote.
+delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g'
+
# Sed substitution to avoid accidental globbing in evaled expressions
no_glob_subst='s/\*/\\\*/g'
-# Constants:
-rm="rm -f"
-
# Global variables:
-default_ofile=libtool
+ofile=libtool
can_build_shared=yes
# All known linkers require a `.a' archive for static linking (except MSVC,
# which needs '.lib').
libext=a
-ltmain="$ac_aux_dir/ltmain.sh"
-ofile="$default_ofile"
-with_gnu_ld="$lt_cv_prog_gnu_ld"
-AC_CHECK_TOOL(AR, ar, false)
-AC_CHECK_TOOL(RANLIB, ranlib, :)
-AC_CHECK_TOOL(STRIP, strip, :)
+with_gnu_ld="$lt_cv_prog_gnu_ld"
old_CC="$CC"
old_CFLAGS="$CFLAGS"
# Set sane defaults for various variables
-test -z "$AR" && AR=ar
-test -z "$AR_FLAGS" && AR_FLAGS=cru
-test -z "$AS" && AS=as
test -z "$CC" && CC=cc
test -z "$LTCC" && LTCC=$CC
test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS
-test -z "$DLLTOOL" && DLLTOOL=dlltool
test -z "$LD" && LD=ld
-test -z "$LN_S" && LN_S="ln -s"
-test -z "$MAGIC_CMD" && MAGIC_CMD=file
-test -z "$NM" && NM=nm
-test -z "$SED" && SED=sed
-test -z "$OBJDUMP" && OBJDUMP=objdump
-test -z "$RANLIB" && RANLIB=:
-test -z "$STRIP" && STRIP=:
test -z "$ac_objext" && ac_objext=o
-# Determine commands to create old-style static archives.
-old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs'
-old_postinstall_cmds='chmod 644 $oldlib'
-old_postuninstall_cmds=
-
-if test -n "$RANLIB"; then
- case $host_os in
- openbsd*)
- old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib"
- ;;
- *)
- old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib"
- ;;
- esac
- old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib"
-fi
-
_LT_CC_BASENAME([$compiler])
# Only perform the check for file, if the check method requires it
+test -z "$MAGIC_CMD" && MAGIC_CMD=file
case $deplibs_check_method in
file_magic*)
if test "$file_magic_cmd" = '$MAGIC_CMD'; then
- AC_PATH_MAGIC
+ _LT_PATH_MAGIC
fi
;;
esac
-AC_PROVIDE_IFELSE([AC_LIBTOOL_DLOPEN], enable_dlopen=yes, enable_dlopen=no)
-AC_PROVIDE_IFELSE([AC_LIBTOOL_WIN32_DLL],
-enable_win32_dll=yes, enable_win32_dll=no)
+# Use C for the default configuration in the libtool script
+LT_SUPPORTED_TAG([CC])
+_LT_LANG_C_CONFIG
+_LT_LANG_DEFAULT_CONFIG
+_LT_CONFIG_COMMANDS
+])# _LT_SETUP
-AC_ARG_ENABLE([libtool-lock],
- [AC_HELP_STRING([--disable-libtool-lock],
- [avoid locking (might break parallel builds)])])
-test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes
-AC_ARG_WITH([pic],
- [AC_HELP_STRING([--with-pic],
- [try to use only PIC/non-PIC objects @<:@default=use both@:>@])],
- [pic_mode="$withval"],
- [pic_mode=default])
-test -z "$pic_mode" && pic_mode=default
+# _LT_PROG_LTMAIN
+# ---------------
+# Note that this code is called both from `configure', and `config.status'
+# now that we use AC_CONFIG_COMMANDS to generate libtool. Notably,
+# `config.status' has no value for ac_aux_dir unless we are using Automake,
+# so we pass a copy along to make sure it has a sensible value anyway.
+m4_defun([_LT_PROG_LTMAIN],
+[m4_ifdef([AC_REQUIRE_AUX_FILE], [AC_REQUIRE_AUX_FILE([ltmain.sh])])dnl
+_LT_CONFIG_LIBTOOL_INIT([ac_aux_dir='$ac_aux_dir'])
+ltmain="$ac_aux_dir/ltmain.sh"
+])# _LT_PROG_LTMAIN
+
+
+
+# So that we can recreate a full libtool script including additional
+# tags, we accumulate the chunks of code to send to AC_CONFIG_COMMANDS
+# in macros and then make a single call at the end using the `libtool'
+# label.
+
+
+# _LT_CONFIG_LIBTOOL_INIT([INIT-COMMANDS])
+# ----------------------------------------
+# Register INIT-COMMANDS to be passed to AC_CONFIG_COMMANDS later.
+m4_define([_LT_CONFIG_LIBTOOL_INIT],
+[m4_ifval([$1],
+ [m4_append([_LT_OUTPUT_LIBTOOL_INIT],
+ [$1
+])])])
+
+# Initialize.
+m4_define([_LT_OUTPUT_LIBTOOL_INIT])
+
+
+# _LT_CONFIG_LIBTOOL([COMMANDS])
+# ------------------------------
+# Register COMMANDS to be passed to AC_CONFIG_COMMANDS later.
+m4_define([_LT_CONFIG_LIBTOOL],
+[m4_ifval([$1],
+ [m4_append([_LT_OUTPUT_LIBTOOL_COMMANDS],
+ [$1
+])])])
+
+# Initialize.
+m4_define([_LT_OUTPUT_LIBTOOL_COMMANDS])
+
+
+# _LT_CONFIG_SAVE_COMMANDS([COMMANDS], [INIT_COMMANDS])
+# -----------------------------------------------------
+m4_defun([_LT_CONFIG_SAVE_COMMANDS],
+[_LT_CONFIG_LIBTOOL([$1])
+_LT_CONFIG_LIBTOOL_INIT([$2])
+])
+
+
+# _LT_FORMAT_COMMENT([COMMENT])
+# -----------------------------
+# Add leading comment marks to the start of each line, and a trailing
+# full-stop to the whole comment if one is not present already.
+m4_define([_LT_FORMAT_COMMENT],
+[m4_ifval([$1], [
+m4_bpatsubst([m4_bpatsubst([$1], [^ *], [# ])],
+ [['`$\]], [\\\&])]m4_bmatch([$1], [[!?.]$], [], [.])
+)])
+
+
+
+
+
+# _LT_DECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION], [IS-TAGGED?])
+# -------------------------------------------------------------------
+# CONFIGNAME is the name given to the value in the libtool script.
+# VARNAME is the (base) name used in the configure script.
+# VALUE may be 0, 1 or 2 for a computed quote escaped value based on
+# VARNAME. Any other value will be used directly.
+m4_define([_LT_DECL],
+[lt_if_append_uniq([lt_decl_varnames], [$2], [, ],
+ [lt_dict_add_subkey([lt_decl_dict], [$2], [libtool_name],
+ [m4_ifval([$1], [$1], [$2])])
+ lt_dict_add_subkey([lt_decl_dict], [$2], [value], [$3])
+ m4_ifval([$4],
+ [lt_dict_add_subkey([lt_decl_dict], [$2], [description], [$4])])
+ lt_dict_add_subkey([lt_decl_dict], [$2],
+ [tagged?], [m4_ifval([$5], [yes], [no])])])
+])
-# Use C for the default configuration in the libtool script
-tagname=
-AC_LIBTOOL_LANG_C_CONFIG
-_LT_AC_TAGCONFIG
-])# AC_LIBTOOL_SETUP
+# _LT_TAGDECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION])
+# --------------------------------------------------------
+m4_define([_LT_TAGDECL], [_LT_DECL([$1], [$2], [$3], [$4], [yes])])
-# _LT_AC_SYS_COMPILER
+
+# lt_decl_tag_varnames([SEPARATOR], [VARNAME1...])
+# ------------------------------------------------
+m4_define([lt_decl_tag_varnames],
+[_lt_decl_filter([tagged?], [yes], $@)])
+
+
+# _lt_decl_filter(SUBKEY, VALUE, [SEPARATOR], [VARNAME1..])
+# ---------------------------------------------------------
+m4_define([_lt_decl_filter],
+[m4_case([$#],
+ [0], [m4_fatal([$0: too few arguments: $#])],
+ [1], [m4_fatal([$0: too few arguments: $#: $1])],
+ [2], [lt_dict_filter([lt_decl_dict], [$1], [$2], [], lt_decl_varnames)],
+ [3], [lt_dict_filter([lt_decl_dict], [$1], [$2], [$3], lt_decl_varnames)],
+ [lt_dict_filter([lt_decl_dict], $@)])[]dnl
+])
+
+
+# lt_decl_quote_varnames([SEPARATOR], [VARNAME1...])
+# --------------------------------------------------
+m4_define([lt_decl_quote_varnames],
+[_lt_decl_filter([value], [1], $@)])
+
+
+# lt_decl_dquote_varnames([SEPARATOR], [VARNAME1...])
+# ---------------------------------------------------
+m4_define([lt_decl_dquote_varnames],
+[_lt_decl_filter([value], [2], $@)])
+
+
+# lt_decl_varnames_tagged([SEPARATOR], [VARNAME1...])
+# ---------------------------------------------------
+m4_define([lt_decl_varnames_tagged],
+[m4_assert([$# <= 2])dnl
+_$0(m4_quote(m4_default([$1], [[, ]])),
+ m4_ifval([$2], [[$2]], [m4_dquote(lt_decl_tag_varnames)]),
+ m4_split(m4_normalize(m4_quote(_LT_TAGS)), [ ]))])
+m4_define([_lt_decl_varnames_tagged],
+[m4_ifval([$3], [lt_combine([$1], [$2], [_], $3)])])
+
+
+# lt_decl_all_varnames([SEPARATOR], [VARNAME1...])
+# ------------------------------------------------
+m4_define([lt_decl_all_varnames],
+[_$0(m4_quote(m4_default([$1], [[, ]])),
+ m4_if([$2], [],
+ m4_quote(lt_decl_varnames),
+ m4_quote(m4_shift($@))))[]dnl
+])
+m4_define([_lt_decl_all_varnames],
+[lt_join($@, lt_decl_varnames_tagged([$1],
+ lt_decl_tag_varnames([[, ]], m4_shift($@))))dnl
+])
+
+
+# _LT_CONFIG_STATUS_DECLARE([VARNAME])
+# ------------------------------------
+# Quote a variable value, and forward it to `config.status' so that its
+# declaration there will have the same value as in `configure'. VARNAME
+# must have a single quote delimited value for this to work.
+m4_define([_LT_CONFIG_STATUS_DECLARE],
+[$1='`$ECHO "X$][$1" | $Xsed -e "$delay_single_quote_subst"`'])
+
+
+# _LT_CONFIG_STATUS_DECLARATIONS
+# ------------------------------
+# We delimit libtool config variables with single quotes, so when
+# we write them to config.status, we have to be sure to quote all
+# embedded single quotes properly. In configure, this macro expands
+# each variable declared with _LT_DECL (and _LT_TAGDECL) into:
+#
+# <var>='`$ECHO "X$<var>" | $Xsed -e "$delay_single_quote_subst"`'
+m4_defun([_LT_CONFIG_STATUS_DECLARATIONS],
+[m4_foreach([_lt_var], m4_quote(lt_decl_all_varnames),
+ [m4_n([_LT_CONFIG_STATUS_DECLARE(_lt_var)])])])
+
+
+# _LT_LIBTOOL_TAGS
+# ----------------
+# Output comment and list of tags supported by the script
+m4_defun([_LT_LIBTOOL_TAGS],
+[_LT_FORMAT_COMMENT([The names of the tagged configurations supported by this script])dnl
+available_tags="_LT_TAGS"dnl
+])
+
+
+# _LT_LIBTOOL_DECLARE(VARNAME, [TAG])
+# -----------------------------------
+# Extract the dictionary values for VARNAME (optionally with TAG) and
+# expand to a commented shell variable setting:
+#
+# # Some comment about what VAR is for.
+# visible_name=$lt_internal_name
+m4_define([_LT_LIBTOOL_DECLARE],
+[_LT_FORMAT_COMMENT(m4_quote(lt_dict_fetch([lt_decl_dict], [$1],
+ [description])))[]dnl
+m4_pushdef([_libtool_name],
+ m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [libtool_name])))[]dnl
+m4_case(m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [value])),
+ [0], [_libtool_name=[$]$1],
+ [1], [_libtool_name=$lt_[]$1],
+ [2], [_libtool_name=$lt_[]$1],
+ [_libtool_name=lt_dict_fetch([lt_decl_dict], [$1], [value])])[]dnl
+m4_ifval([$2], [_$2])[]m4_popdef([_libtool_name])[]dnl
+])
+
+
+# _LT_LIBTOOL_CONFIG_VARS
+# -----------------------
+# Produce commented declarations of non-tagged libtool config variables
+# suitable for insertion in the LIBTOOL CONFIG section of the `libtool'
+# script. Tagged libtool config variables (even for the LIBTOOL CONFIG
+# section) are produced by _LT_LIBTOOL_TAG_VARS.
+m4_defun([_LT_LIBTOOL_CONFIG_VARS],
+[m4_foreach([_lt_var],
+ m4_quote(_lt_decl_filter([tagged?], [no], [], lt_decl_varnames)),
+ [m4_n([_LT_LIBTOOL_DECLARE(_lt_var)])])])
+
+
+# _LT_LIBTOOL_TAG_VARS(TAG)
+# -------------------------
+m4_define([_LT_LIBTOOL_TAG_VARS],
+[m4_foreach([_lt_var], m4_quote(lt_decl_tag_varnames),
+ [m4_n([_LT_LIBTOOL_DECLARE(_lt_var, [$1])])])])
+
+
+# _LT_TAGVAR(VARNAME, [TAGNAME])
+# ------------------------------
+m4_define([_LT_TAGVAR], [m4_ifval([$2], [$1_$2], [$1])])
+
+
+# _LT_CONFIG_COMMANDS
# -------------------
-AC_DEFUN([_LT_AC_SYS_COMPILER],
+# Send accumulated output to $CONFIG_STATUS. Thanks to the lists of
+# variables for single and double quote escaping we saved from calls
+# to _LT_DECL, we can put quote escaped variables declarations
+# into `config.status', and then the shell code to quote escape them in
+# for loops in `config.status'. Finally, any additional code accumulated
+# from calls to _LT_CONFIG_LIBTOOL_INIT is expanded.
+m4_defun([_LT_CONFIG_COMMANDS],
+[AC_PROVIDE_IFELSE([LT_OUTPUT],
+ dnl If the libtool generation code has been placed in $CONFIG_LT,
+ dnl instead of duplicating it all over again into config.status,
+ dnl then we will have config.status run $CONFIG_LT later, so it
+ dnl needs to know what name is stored there:
+ [AC_CONFIG_COMMANDS([libtool],
+ [$SHELL $CONFIG_LT || AS_EXIT(1)], [CONFIG_LT='$CONFIG_LT'])],
+ dnl If the libtool generation code is destined for config.status,
+ dnl expand the accumulated commands and init code now:
+ [AC_CONFIG_COMMANDS([libtool],
+ [_LT_OUTPUT_LIBTOOL_COMMANDS], [_LT_OUTPUT_LIBTOOL_COMMANDS_INIT])])
+])#_LT_CONFIG_COMMANDS
+
+
+# Initialize.
+m4_define([_LT_OUTPUT_LIBTOOL_COMMANDS_INIT],
+[
+
+# The HP-UX ksh and POSIX shell print the target directory to stdout
+# if CDPATH is set.
+(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
+
+sed_quote_subst='$sed_quote_subst'
+double_quote_subst='$double_quote_subst'
+delay_variable_subst='$delay_variable_subst'
+_LT_CONFIG_STATUS_DECLARATIONS
+LTCC='$LTCC'
+LTCFLAGS='$LTCFLAGS'
+compiler='$compiler_DEFAULT'
+
+# Quote evaled strings.
+for var in lt_decl_all_varnames([[ \
+]], lt_decl_quote_varnames); do
+ case \`eval \\\\\$ECHO "X\\\\\$\$var"\` in
+ *[[\\\\\\\`\\"\\\$]]*)
+ eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"X\\\$\$var\\" | \\\$Xsed -e \\"\\\$sed_quote_subst\\"\\\`\\\\\\""
+ ;;
+ *)
+ eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
+ ;;
+ esac
+done
+
+# Double-quote double-evaled strings.
+for var in lt_decl_all_varnames([[ \
+]], lt_decl_dquote_varnames); do
+ case \`eval \\\\\$ECHO "X\\\\\$\$var"\` in
+ *[[\\\\\\\`\\"\\\$]]*)
+ eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"X\\\$\$var\\" | \\\$Xsed -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\""
+ ;;
+ *)
+ eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
+ ;;
+ esac
+done
+
+# Fix-up fallback echo if it was mangled by the above quoting rules.
+case \$lt_ECHO in
+*'\\\[$]0 --fallback-echo"')dnl "
+ lt_ECHO=\`\$ECHO "X\$lt_ECHO" | \$Xsed -e 's/\\\\\\\\\\\\\\\[$]0 --fallback-echo"\[$]/\[$]0 --fallback-echo"/'\`
+ ;;
+esac
+
+_LT_OUTPUT_LIBTOOL_INIT
+])
+
+
+# LT_OUTPUT
+# ---------
+# This macro allows early generation of the libtool script (before
+# AC_OUTPUT is called), incase it is used in configure for compilation
+# tests.
+AC_DEFUN([LT_OUTPUT],
+[: ${CONFIG_LT=./config.lt}
+AC_MSG_NOTICE([creating $CONFIG_LT])
+cat >"$CONFIG_LT" <<_LTEOF
+#! $SHELL
+# Generated by $as_me.
+# Run this file to recreate a libtool stub with the current configuration.
+
+lt_cl_silent=false
+SHELL=\${CONFIG_SHELL-$SHELL}
+_LTEOF
+
+cat >>"$CONFIG_LT" <<\_LTEOF
+AS_SHELL_SANITIZE
+_AS_PREPARE
+
+exec AS_MESSAGE_FD>&1
+exec AS_MESSAGE_LOG_FD>>config.log
+{
+ echo
+ AS_BOX([Running $as_me.])
+} >&AS_MESSAGE_LOG_FD
+
+lt_cl_help="\
+\`$as_me' creates a local libtool stub from the current configuration,
+for use in further configure time tests before the real libtool is
+generated.
+
+Usage: $[0] [[OPTIONS]]
+
+ -h, --help print this help, then exit
+ -V, --version print version number, then exit
+ -q, --quiet do not print progress messages
+ -d, --debug don't remove temporary files
+
+Report bugs to <bug-libtool@gnu.org>."
+
+lt_cl_version="\
+m4_ifset([AC_PACKAGE_NAME], [AC_PACKAGE_NAME ])config.lt[]dnl
+m4_ifset([AC_PACKAGE_VERSION], [ AC_PACKAGE_VERSION])
+configured by $[0], generated by m4_PACKAGE_STRING.
+
+Copyright (C) 2008 Free Software Foundation, Inc.
+This config.lt script is free software; the Free Software Foundation
+gives unlimited permision to copy, distribute and modify it."
+
+while test $[#] != 0
+do
+ case $[1] in
+ --version | --v* | -V )
+ echo "$lt_cl_version"; exit 0 ;;
+ --help | --h* | -h )
+ echo "$lt_cl_help"; exit 0 ;;
+ --debug | --d* | -d )
+ debug=: ;;
+ --quiet | --q* | --silent | --s* | -q )
+ lt_cl_silent=: ;;
+
+ -*) AC_MSG_ERROR([unrecognized option: $[1]
+Try \`$[0] --help' for more information.]) ;;
+
+ *) AC_MSG_ERROR([unrecognized argument: $[1]
+Try \`$[0] --help' for more information.]) ;;
+ esac
+ shift
+done
+
+if $lt_cl_silent; then
+ exec AS_MESSAGE_FD>/dev/null
+fi
+_LTEOF
+
+cat >>"$CONFIG_LT" <<_LTEOF
+_LT_OUTPUT_LIBTOOL_COMMANDS_INIT
+_LTEOF
+
+cat >>"$CONFIG_LT" <<\_LTEOF
+AC_MSG_NOTICE([creating $ofile])
+_LT_OUTPUT_LIBTOOL_COMMANDS
+AS_EXIT(0)
+_LTEOF
+chmod +x "$CONFIG_LT"
+
+# configure is writing to config.log, but config.lt does its own redirection,
+# appending to config.log, which fails on DOS, as config.log is still kept
+# open by configure. Here we exec the FD to /dev/null, effectively closing
+# config.log, so it can be properly (re)opened and appended to by config.lt.
+if test "$no_create" != yes; then
+ lt_cl_success=:
+ test "$silent" = yes &&
+ lt_config_lt_args="$lt_config_lt_args --quiet"
+ exec AS_MESSAGE_LOG_FD>/dev/null
+ $SHELL "$CONFIG_LT" $lt_config_lt_args || lt_cl_success=false
+ exec AS_MESSAGE_LOG_FD>>config.log
+ $lt_cl_success || AS_EXIT(1)
+fi
+])# LT_OUTPUT
+
+
+# _LT_CONFIG(TAG)
+# ---------------
+# If TAG is the built-in tag, create an initial libtool script with a
+# default configuration from the untagged config vars. Otherwise add code
+# to config.status for appending the configuration named by TAG from the
+# matching tagged config vars.
+m4_defun([_LT_CONFIG],
+[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
+_LT_CONFIG_SAVE_COMMANDS([
+ m4_define([_LT_TAG], m4_if([$1], [], [C], [$1]))dnl
+ m4_if(_LT_TAG, [C], [
+ # See if we are running on zsh, and set the options which allow our
+ # commands through without removal of \ escapes.
+ if test -n "${ZSH_VERSION+set}" ; then
+ setopt NO_GLOB_SUBST
+ fi
+
+ cfgfile="${ofile}T"
+ trap "$RM \"$cfgfile\"; exit 1" 1 2 15
+ $RM "$cfgfile"
+
+ cat <<_LT_EOF >> "$cfgfile"
+#! $SHELL
+
+# `$ECHO "$ofile" | sed 's%^.*/%%'` - Provide generalized library-building support services.
+# Generated automatically by $as_me ($PACKAGE$TIMESTAMP) $VERSION
+# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
+# NOTE: Changes made to this file will be lost: look at ltmain.sh.
+#
+_LT_COPYING
+_LT_LIBTOOL_TAGS
+
+# ### BEGIN LIBTOOL CONFIG
+_LT_LIBTOOL_CONFIG_VARS
+_LT_LIBTOOL_TAG_VARS
+# ### END LIBTOOL CONFIG
+
+_LT_EOF
+
+ case $host_os in
+ aix3*)
+ cat <<\_LT_EOF >> "$cfgfile"
+# AIX sometimes has problems with the GCC collect2 program. For some
+# reason, if we set the COLLECT_NAMES environment variable, the problems
+# vanish in a puff of smoke.
+if test "X${COLLECT_NAMES+set}" != Xset; then
+ COLLECT_NAMES=
+ export COLLECT_NAMES
+fi
+_LT_EOF
+ ;;
+ esac
+
+ _LT_PROG_LTMAIN
+
+ # We use sed instead of cat because bash on DJGPP gets confused if
+ # if finds mixed CR/LF and LF-only lines. Since sed operates in
+ # text mode, it properly converts lines to CR/LF. This bash problem
+ # is reportedly fixed, but why not run on old versions too?
+ sed '/^# Generated shell functions inserted here/q' "$ltmain" >> "$cfgfile" \
+ || (rm -f "$cfgfile"; exit 1)
+
+ _LT_PROG_XSI_SHELLFNS
+
+ sed -n '/^# Generated shell functions inserted here/,$p' "$ltmain" >> "$cfgfile" \
+ || (rm -f "$cfgfile"; exit 1)
+
+ mv -f "$cfgfile" "$ofile" ||
+ (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile")
+ chmod +x "$ofile"
+],
+[cat <<_LT_EOF >> "$ofile"
+
+dnl Unfortunately we have to use $1 here, since _LT_TAG is not expanded
+dnl in a comment (ie after a #).
+# ### BEGIN LIBTOOL TAG CONFIG: $1
+_LT_LIBTOOL_TAG_VARS(_LT_TAG)
+# ### END LIBTOOL TAG CONFIG: $1
+_LT_EOF
+])dnl /m4_if
+],
+[m4_if([$1], [], [
+ PACKAGE='$PACKAGE'
+ VERSION='$VERSION'
+ TIMESTAMP='$TIMESTAMP'
+ RM='$RM'
+ ofile='$ofile'], [])
+])dnl /_LT_CONFIG_SAVE_COMMANDS
+])# _LT_CONFIG
+
+
+# LT_SUPPORTED_TAG(TAG)
+# ---------------------
+# Trace this macro to discover what tags are supported by the libtool
+# --tag option, using:
+# autoconf --trace 'LT_SUPPORTED_TAG:$1'
+AC_DEFUN([LT_SUPPORTED_TAG], [])
+
+
+# C support is built-in for now
+m4_define([_LT_LANG_C_enabled], [])
+m4_define([_LT_TAGS], [])
+
+
+# LT_LANG(LANG)
+# -------------
+# Enable libtool support for the given language if not already enabled.
+AC_DEFUN([LT_LANG],
+[AC_BEFORE([$0], [LT_OUTPUT])dnl
+m4_case([$1],
+ [C], [_LT_LANG(C)],
+ [C++], [_LT_LANG(CXX)],
+ [Java], [_LT_LANG(GCJ)],
+ [Fortran 77], [_LT_LANG(F77)],
+ [Fortran], [_LT_LANG(FC)],
+ [Windows Resource], [_LT_LANG(RC)],
+ [m4_ifdef([_LT_LANG_]$1[_CONFIG],
+ [_LT_LANG($1)],
+ [m4_fatal([$0: unsupported language: "$1"])])])dnl
+])# LT_LANG
+
+
+# _LT_LANG(LANGNAME)
+# ------------------
+m4_defun([_LT_LANG],
+[m4_ifdef([_LT_LANG_]$1[_enabled], [],
+ [LT_SUPPORTED_TAG([$1])dnl
+ m4_append([_LT_TAGS], [$1 ])dnl
+ m4_define([_LT_LANG_]$1[_enabled], [])dnl
+ _LT_LANG_$1_CONFIG($1)])dnl
+])# _LT_LANG
+
+
+# _LT_LANG_DEFAULT_CONFIG
+# -----------------------
+m4_defun([_LT_LANG_DEFAULT_CONFIG],
+[AC_PROVIDE_IFELSE([AC_PROG_CXX],
+ [LT_LANG(CXX)],
+ [m4_define([AC_PROG_CXX], defn([AC_PROG_CXX])[LT_LANG(CXX)])])
+
+AC_PROVIDE_IFELSE([AC_PROG_F77],
+ [LT_LANG(F77)],
+ [m4_define([AC_PROG_F77], defn([AC_PROG_F77])[LT_LANG(F77)])])
+
+AC_PROVIDE_IFELSE([AC_PROG_FC],
+ [LT_LANG(FC)],
+ [m4_define([AC_PROG_FC], defn([AC_PROG_FC])[LT_LANG(FC)])])
+
+dnl The call to [A][M_PROG_GCJ] is quoted like that to stop aclocal
+dnl pulling things in needlessly.
+AC_PROVIDE_IFELSE([AC_PROG_GCJ],
+ [LT_LANG(GCJ)],
+ [AC_PROVIDE_IFELSE([A][M_PROG_GCJ],
+ [LT_LANG(GCJ)],
+ [AC_PROVIDE_IFELSE([LT_PROG_GCJ],
+ [LT_LANG(GCJ)],
+ [m4_ifdef([AC_PROG_GCJ],
+ [m4_define([AC_PROG_GCJ], defn([AC_PROG_GCJ])[LT_LANG(GCJ)])])
+ m4_ifdef([A][M_PROG_GCJ],
+ [m4_define([A][M_PROG_GCJ], defn([A][M_PROG_GCJ])[LT_LANG(GCJ)])])
+ m4_ifdef([LT_PROG_GCJ],
+ [m4_define([LT_PROG_GCJ], defn([LT_PROG_GCJ])[LT_LANG(GCJ)])])])])])
+
+AC_PROVIDE_IFELSE([LT_PROG_RC],
+ [LT_LANG(RC)],
+ [m4_define([LT_PROG_RC], defn([LT_PROG_RC])[LT_LANG(RC)])])
+])# _LT_LANG_DEFAULT_CONFIG
+
+# Obsolete macros:
+AU_DEFUN([AC_LIBTOOL_CXX], [LT_LANG(C++)])
+AU_DEFUN([AC_LIBTOOL_F77], [LT_LANG(Fortran 77)])
+AU_DEFUN([AC_LIBTOOL_FC], [LT_LANG(Fortran)])
+AU_DEFUN([AC_LIBTOOL_GCJ], [LT_LANG(Java)])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_LIBTOOL_CXX], [])
+dnl AC_DEFUN([AC_LIBTOOL_F77], [])
+dnl AC_DEFUN([AC_LIBTOOL_FC], [])
+dnl AC_DEFUN([AC_LIBTOOL_GCJ], [])
+
+
+# _LT_TAG_COMPILER
+# ----------------
+m4_defun([_LT_TAG_COMPILER],
[AC_REQUIRE([AC_PROG_CC])dnl
+_LT_DECL([LTCC], [CC], [1], [A C compiler])dnl
+_LT_DECL([LTCFLAGS], [CFLAGS], [1], [LTCC compiler flags])dnl
+_LT_TAGDECL([CC], [compiler], [1], [A language specific compiler])dnl
+_LT_TAGDECL([with_gcc], [GCC], [0], [Is the compiler the GNU compiler?])dnl
+
# If no C compiler was specified, use CC.
LTCC=${LTCC-"$CC"}
@@ -244,36 +871,20 @@ LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
# Allow CC to be a program name with arguments.
compiler=$CC
-])# _LT_AC_SYS_COMPILER
-
-
-# _LT_CC_BASENAME(CC)
-# -------------------
-# Calculate cc_basename. Skip known compiler wrappers and cross-prefix.
-AC_DEFUN([_LT_CC_BASENAME],
-[for cc_temp in $1""; do
- case $cc_temp in
- compile | *[[\\/]]compile | ccache | *[[\\/]]ccache ) ;;
- distcc | *[[\\/]]distcc | purify | *[[\\/]]purify ) ;;
- \-*) ;;
- *) break;;
- esac
-done
-cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
-])
+])# _LT_TAG_COMPILER
# _LT_COMPILER_BOILERPLATE
# ------------------------
# Check for compiler boilerplate output or warnings with
# the simple compiler test code.
-AC_DEFUN([_LT_COMPILER_BOILERPLATE],
-[AC_REQUIRE([LT_AC_PROG_SED])dnl
+m4_defun([_LT_COMPILER_BOILERPLATE],
+[m4_require([_LT_DECL_SED])dnl
ac_outfile=conftest.$ac_objext
echo "$lt_simple_compile_test_code" >conftest.$ac_ext
eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
_lt_compiler_boilerplate=`cat conftest.err`
-$rm conftest*
+$RM conftest*
])# _LT_COMPILER_BOILERPLATE
@@ -281,26 +892,150 @@ $rm conftest*
# ----------------------
# Check for linker boilerplate output or warnings with
# the simple link test code.
-AC_DEFUN([_LT_LINKER_BOILERPLATE],
-[AC_REQUIRE([LT_AC_PROG_SED])dnl
+m4_defun([_LT_LINKER_BOILERPLATE],
+[m4_require([_LT_DECL_SED])dnl
ac_outfile=conftest.$ac_objext
echo "$lt_simple_link_test_code" >conftest.$ac_ext
eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
_lt_linker_boilerplate=`cat conftest.err`
-$rm conftest*
+$RM -r conftest*
])# _LT_LINKER_BOILERPLATE
+# _LT_REQUIRED_DARWIN_CHECKS
+# -------------------------
+m4_defun_once([_LT_REQUIRED_DARWIN_CHECKS],[
+ case $host_os in
+ rhapsody* | darwin*)
+ AC_CHECK_TOOL([DSYMUTIL], [dsymutil], [:])
+ AC_CHECK_TOOL([NMEDIT], [nmedit], [:])
+ AC_CHECK_TOOL([LIPO], [lipo], [:])
+ AC_CHECK_TOOL([OTOOL], [otool], [:])
+ AC_CHECK_TOOL([OTOOL64], [otool64], [:])
+ _LT_DECL([], [DSYMUTIL], [1],
+ [Tool to manipulate archived DWARF debug symbol files on Mac OS X])
+ _LT_DECL([], [NMEDIT], [1],
+ [Tool to change global to local symbols on Mac OS X])
+ _LT_DECL([], [LIPO], [1],
+ [Tool to manipulate fat objects and archives on Mac OS X])
+ _LT_DECL([], [OTOOL], [1],
+ [ldd/readelf like tool for Mach-O binaries on Mac OS X])
+ _LT_DECL([], [OTOOL64], [1],
+ [ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4])
+
+ AC_CACHE_CHECK([for -single_module linker flag],[lt_cv_apple_cc_single_mod],
+ [lt_cv_apple_cc_single_mod=no
+ if test -z "${LT_MULTI_MODULE}"; then
+ # By default we will add the -single_module flag. You can override
+ # by either setting the environment variable LT_MULTI_MODULE
+ # non-empty at configure time, or by adding -multi_module to the
+ # link flags.
+ rm -rf libconftest.dylib*
+ echo "int foo(void){return 1;}" > conftest.c
+ echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
+-dynamiclib -Wl,-single_module conftest.c" >&AS_MESSAGE_LOG_FD
+ $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
+ -dynamiclib -Wl,-single_module conftest.c 2>conftest.err
+ _lt_result=$?
+ if test -f libconftest.dylib && test ! -s conftest.err && test $_lt_result = 0; then
+ lt_cv_apple_cc_single_mod=yes
+ else
+ cat conftest.err >&AS_MESSAGE_LOG_FD
+ fi
+ rm -rf libconftest.dylib*
+ rm -f conftest.*
+ fi])
+ AC_CACHE_CHECK([for -exported_symbols_list linker flag],
+ [lt_cv_ld_exported_symbols_list],
+ [lt_cv_ld_exported_symbols_list=no
+ save_LDFLAGS=$LDFLAGS
+ echo "_main" > conftest.sym
+ LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym"
+ AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])],
+ [lt_cv_ld_exported_symbols_list=yes],
+ [lt_cv_ld_exported_symbols_list=no])
+ LDFLAGS="$save_LDFLAGS"
+ ])
+ case $host_os in
+ rhapsody* | darwin1.[[012]])
+ _lt_dar_allow_undefined='${wl}-undefined ${wl}suppress' ;;
+ darwin1.*)
+ _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
+ darwin*) # darwin 5.x on
+ # if running on 10.5 or later, the deployment target defaults
+ # to the OS version, if on x86, and 10.4, the deployment
+ # target defaults to 10.4. Don't you love it?
+ case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in
+ 10.0,*86*-darwin8*|10.0,*-darwin[[91]]*)
+ _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
+ 10.[[012]]*)
+ _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
+ 10.*)
+ _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
+ esac
+ ;;
+ esac
+ if test "$lt_cv_apple_cc_single_mod" = "yes"; then
+ _lt_dar_single_mod='$single_module'
+ fi
+ if test "$lt_cv_ld_exported_symbols_list" = "yes"; then
+ _lt_dar_export_syms=' ${wl}-exported_symbols_list,$output_objdir/${libname}-symbols.expsym'
+ else
+ _lt_dar_export_syms='~$NMEDIT -s $output_objdir/${libname}-symbols.expsym ${lib}'
+ fi
+ if test "$DSYMUTIL" != ":"; then
+ _lt_dsymutil='~$DSYMUTIL $lib || :'
+ else
+ _lt_dsymutil=
+ fi
+ ;;
+ esac
+])
+
-# _LT_AC_SYS_LIBPATH_AIX
-# ----------------------
+# _LT_DARWIN_LINKER_FEATURES
+# --------------------------
+# Checks for linker and compiler features on darwin
+m4_defun([_LT_DARWIN_LINKER_FEATURES],
+[
+ m4_require([_LT_REQUIRED_DARWIN_CHECKS])
+ _LT_TAGVAR(archive_cmds_need_lc, $1)=no
+ _LT_TAGVAR(hardcode_direct, $1)=no
+ _LT_TAGVAR(hardcode_automatic, $1)=yes
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
+ _LT_TAGVAR(whole_archive_flag_spec, $1)=''
+ _LT_TAGVAR(link_all_deplibs, $1)=yes
+ _LT_TAGVAR(allow_undefined_flag, $1)="$_lt_dar_allow_undefined"
+ case $cc_basename in
+ ifort*) _lt_dar_can_shared=yes ;;
+ *) _lt_dar_can_shared=$GCC ;;
+ esac
+ if test "$_lt_dar_can_shared" = "yes"; then
+ output_verbose_link_cmd=echo
+ _LT_TAGVAR(archive_cmds, $1)="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
+ _LT_TAGVAR(module_cmds, $1)="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
+ _LT_TAGVAR(archive_expsym_cmds, $1)="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
+ _LT_TAGVAR(module_expsym_cmds, $1)="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
+ m4_if([$1], [CXX],
+[ if test "$lt_cv_apple_cc_single_mod" != "yes"; then
+ _LT_TAGVAR(archive_cmds, $1)="\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dsymutil}"
+ _LT_TAGVAR(archive_expsym_cmds, $1)="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dar_export_syms}${_lt_dsymutil}"
+ fi
+],[])
+ else
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ fi
+])
+
+# _LT_SYS_MODULE_PATH_AIX
+# -----------------------
# Links a minimal program and checks the executable
# for the system default hardcoded library path. In most cases,
# this is /usr/lib:/lib, but when the MPI compilers are used
# the location of the communication and MPI libs are included too.
# If we don't find anything, use the default library path according
# to the aix ld manual.
-AC_DEFUN([_LT_AC_SYS_LIBPATH_AIX],
-[AC_REQUIRE([LT_AC_PROG_SED])dnl
+m4_defun([_LT_SYS_MODULE_PATH_AIX],
+[m4_require([_LT_DECL_SED])dnl
AC_LINK_IFELSE(AC_LANG_PROGRAM,[
lt_aix_libpath_sed='
/Import File Strings/,/^$/ {
@@ -315,45 +1050,45 @@ if test -z "$aix_libpath"; then
aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
fi],[])
if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
-])# _LT_AC_SYS_LIBPATH_AIX
+])# _LT_SYS_MODULE_PATH_AIX
-# _LT_AC_SHELL_INIT(ARG)
-# ----------------------
-AC_DEFUN([_LT_AC_SHELL_INIT],
+# _LT_SHELL_INIT(ARG)
+# -------------------
+m4_define([_LT_SHELL_INIT],
[ifdef([AC_DIVERSION_NOTICE],
[AC_DIVERT_PUSH(AC_DIVERSION_NOTICE)],
[AC_DIVERT_PUSH(NOTICE)])
$1
AC_DIVERT_POP
-])# _LT_AC_SHELL_INIT
+])# _LT_SHELL_INIT
-# _LT_AC_PROG_ECHO_BACKSLASH
-# --------------------------
+# _LT_PROG_ECHO_BACKSLASH
+# -----------------------
# Add some code to the start of the generated configure script which
# will find an echo command which doesn't interpret backslashes.
-AC_DEFUN([_LT_AC_PROG_ECHO_BACKSLASH],
-[_LT_AC_SHELL_INIT([
+m4_defun([_LT_PROG_ECHO_BACKSLASH],
+[_LT_SHELL_INIT([
# Check that we are running under the correct shell.
SHELL=${CONFIG_SHELL-/bin/sh}
-case X$ECHO in
+case X$lt_ECHO in
X*--fallback-echo)
# Remove one level of quotation (which was required for Make).
- ECHO=`echo "$ECHO" | sed 's,\\\\\[$]\\[$]0,'[$]0','`
+ ECHO=`echo "$lt_ECHO" | sed 's,\\\\\[$]\\[$]0,'[$]0','`
;;
esac
-echo=${ECHO-echo}
+ECHO=${lt_ECHO-echo}
if test "X[$]1" = X--no-reexec; then
# Discard the --no-reexec flag, and continue.
shift
elif test "X[$]1" = X--fallback-echo; then
# Avoid inline document here, it may be left over
:
-elif test "X`($echo '\t') 2>/dev/null`" = 'X\t' ; then
- # Yippee, $echo works!
+elif test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' ; then
+ # Yippee, $ECHO works!
:
else
# Restart under the correct shell.
@@ -363,9 +1098,9 @@ fi
if test "X[$]1" = X--fallback-echo; then
# used as fallback echo
shift
- cat <<EOF
+ cat <<_LT_EOF
[$]*
-EOF
+_LT_EOF
exit 0
fi
@@ -373,124 +1108,127 @@ fi
# if CDPATH is set.
(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
-if test -z "$ECHO"; then
-if test "X${echo_test_string+set}" != Xset; then
-# find a string as large as possible, as long as the shell can cope with it
- for cmd in 'sed 50q "[$]0"' 'sed 20q "[$]0"' 'sed 10q "[$]0"' 'sed 2q "[$]0"' 'echo test'; do
- # expected sizes: less than 2Kb, 1Kb, 512 bytes, 16 bytes, ...
- if (echo_test_string=`eval $cmd`) 2>/dev/null &&
- echo_test_string=`eval $cmd` &&
- (test "X$echo_test_string" = "X$echo_test_string") 2>/dev/null
- then
- break
- fi
- done
-fi
+if test -z "$lt_ECHO"; then
+ if test "X${echo_test_string+set}" != Xset; then
+ # find a string as large as possible, as long as the shell can cope with it
+ for cmd in 'sed 50q "[$]0"' 'sed 20q "[$]0"' 'sed 10q "[$]0"' 'sed 2q "[$]0"' 'echo test'; do
+ # expected sizes: less than 2Kb, 1Kb, 512 bytes, 16 bytes, ...
+ if { echo_test_string=`eval $cmd`; } 2>/dev/null &&
+ { test "X$echo_test_string" = "X$echo_test_string"; } 2>/dev/null
+ then
+ break
+ fi
+ done
+ fi
-if test "X`($echo '\t') 2>/dev/null`" = 'X\t' &&
- echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` &&
- test "X$echo_testing_string" = "X$echo_test_string"; then
- :
-else
- # The Solaris, AIX, and Digital Unix default echo programs unquote
- # backslashes. This makes it impossible to quote backslashes using
- # echo "$something" | sed 's/\\/\\\\/g'
- #
- # So, first we look for a working echo in the user's PATH.
+ if test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' &&
+ echo_testing_string=`{ $ECHO "$echo_test_string"; } 2>/dev/null` &&
+ test "X$echo_testing_string" = "X$echo_test_string"; then
+ :
+ else
+ # The Solaris, AIX, and Digital Unix default echo programs unquote
+ # backslashes. This makes it impossible to quote backslashes using
+ # echo "$something" | sed 's/\\/\\\\/g'
+ #
+ # So, first we look for a working echo in the user's PATH.
- lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
- for dir in $PATH /usr/ucb; do
+ lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
+ for dir in $PATH /usr/ucb; do
+ IFS="$lt_save_ifs"
+ if (test -f $dir/echo || test -f $dir/echo$ac_exeext) &&
+ test "X`($dir/echo '\t') 2>/dev/null`" = 'X\t' &&
+ echo_testing_string=`($dir/echo "$echo_test_string") 2>/dev/null` &&
+ test "X$echo_testing_string" = "X$echo_test_string"; then
+ ECHO="$dir/echo"
+ break
+ fi
+ done
IFS="$lt_save_ifs"
- if (test -f $dir/echo || test -f $dir/echo$ac_exeext) &&
- test "X`($dir/echo '\t') 2>/dev/null`" = 'X\t' &&
- echo_testing_string=`($dir/echo "$echo_test_string") 2>/dev/null` &&
- test "X$echo_testing_string" = "X$echo_test_string"; then
- echo="$dir/echo"
- break
- fi
- done
- IFS="$lt_save_ifs"
- if test "X$echo" = Xecho; then
- # We didn't find a better echo, so look for alternatives.
- if test "X`(print -r '\t') 2>/dev/null`" = 'X\t' &&
- echo_testing_string=`(print -r "$echo_test_string") 2>/dev/null` &&
- test "X$echo_testing_string" = "X$echo_test_string"; then
- # This shell has a builtin print -r that does the trick.
- echo='print -r'
- elif (test -f /bin/ksh || test -f /bin/ksh$ac_exeext) &&
- test "X$CONFIG_SHELL" != X/bin/ksh; then
- # If we have ksh, try running configure again with it.
- ORIGINAL_CONFIG_SHELL=${CONFIG_SHELL-/bin/sh}
- export ORIGINAL_CONFIG_SHELL
- CONFIG_SHELL=/bin/ksh
- export CONFIG_SHELL
- exec $CONFIG_SHELL "[$]0" --no-reexec ${1+"[$]@"}
- else
- # Try using printf.
- echo='printf %s\n'
- if test "X`($echo '\t') 2>/dev/null`" = 'X\t' &&
- echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` &&
- test "X$echo_testing_string" = "X$echo_test_string"; then
- # Cool, printf works
- :
- elif echo_testing_string=`($ORIGINAL_CONFIG_SHELL "[$]0" --fallback-echo '\t') 2>/dev/null` &&
- test "X$echo_testing_string" = 'X\t' &&
- echo_testing_string=`($ORIGINAL_CONFIG_SHELL "[$]0" --fallback-echo "$echo_test_string") 2>/dev/null` &&
- test "X$echo_testing_string" = "X$echo_test_string"; then
- CONFIG_SHELL=$ORIGINAL_CONFIG_SHELL
- export CONFIG_SHELL
- SHELL="$CONFIG_SHELL"
- export SHELL
- echo="$CONFIG_SHELL [$]0 --fallback-echo"
- elif echo_testing_string=`($CONFIG_SHELL "[$]0" --fallback-echo '\t') 2>/dev/null` &&
- test "X$echo_testing_string" = 'X\t' &&
- echo_testing_string=`($CONFIG_SHELL "[$]0" --fallback-echo "$echo_test_string") 2>/dev/null` &&
- test "X$echo_testing_string" = "X$echo_test_string"; then
- echo="$CONFIG_SHELL [$]0 --fallback-echo"
+ if test "X$ECHO" = Xecho; then
+ # We didn't find a better echo, so look for alternatives.
+ if test "X`{ print -r '\t'; } 2>/dev/null`" = 'X\t' &&
+ echo_testing_string=`{ print -r "$echo_test_string"; } 2>/dev/null` &&
+ test "X$echo_testing_string" = "X$echo_test_string"; then
+ # This shell has a builtin print -r that does the trick.
+ ECHO='print -r'
+ elif { test -f /bin/ksh || test -f /bin/ksh$ac_exeext; } &&
+ test "X$CONFIG_SHELL" != X/bin/ksh; then
+ # If we have ksh, try running configure again with it.
+ ORIGINAL_CONFIG_SHELL=${CONFIG_SHELL-/bin/sh}
+ export ORIGINAL_CONFIG_SHELL
+ CONFIG_SHELL=/bin/ksh
+ export CONFIG_SHELL
+ exec $CONFIG_SHELL "[$]0" --no-reexec ${1+"[$]@"}
else
- # maybe with a smaller string...
- prev=:
+ # Try using printf.
+ ECHO='printf %s\n'
+ if test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' &&
+ echo_testing_string=`{ $ECHO "$echo_test_string"; } 2>/dev/null` &&
+ test "X$echo_testing_string" = "X$echo_test_string"; then
+ # Cool, printf works
+ :
+ elif echo_testing_string=`($ORIGINAL_CONFIG_SHELL "[$]0" --fallback-echo '\t') 2>/dev/null` &&
+ test "X$echo_testing_string" = 'X\t' &&
+ echo_testing_string=`($ORIGINAL_CONFIG_SHELL "[$]0" --fallback-echo "$echo_test_string") 2>/dev/null` &&
+ test "X$echo_testing_string" = "X$echo_test_string"; then
+ CONFIG_SHELL=$ORIGINAL_CONFIG_SHELL
+ export CONFIG_SHELL
+ SHELL="$CONFIG_SHELL"
+ export SHELL
+ ECHO="$CONFIG_SHELL [$]0 --fallback-echo"
+ elif echo_testing_string=`($CONFIG_SHELL "[$]0" --fallback-echo '\t') 2>/dev/null` &&
+ test "X$echo_testing_string" = 'X\t' &&
+ echo_testing_string=`($CONFIG_SHELL "[$]0" --fallback-echo "$echo_test_string") 2>/dev/null` &&
+ test "X$echo_testing_string" = "X$echo_test_string"; then
+ ECHO="$CONFIG_SHELL [$]0 --fallback-echo"
+ else
+ # maybe with a smaller string...
+ prev=:
- for cmd in 'echo test' 'sed 2q "[$]0"' 'sed 10q "[$]0"' 'sed 20q "[$]0"' 'sed 50q "[$]0"'; do
- if (test "X$echo_test_string" = "X`eval $cmd`") 2>/dev/null
- then
- break
- fi
- prev="$cmd"
- done
+ for cmd in 'echo test' 'sed 2q "[$]0"' 'sed 10q "[$]0"' 'sed 20q "[$]0"' 'sed 50q "[$]0"'; do
+ if { test "X$echo_test_string" = "X`eval $cmd`"; } 2>/dev/null
+ then
+ break
+ fi
+ prev="$cmd"
+ done
- if test "$prev" != 'sed 50q "[$]0"'; then
- echo_test_string=`eval $prev`
- export echo_test_string
- exec ${ORIGINAL_CONFIG_SHELL-${CONFIG_SHELL-/bin/sh}} "[$]0" ${1+"[$]@"}
- else
- # Oops. We lost completely, so just stick with echo.
- echo=echo
- fi
+ if test "$prev" != 'sed 50q "[$]0"'; then
+ echo_test_string=`eval $prev`
+ export echo_test_string
+ exec ${ORIGINAL_CONFIG_SHELL-${CONFIG_SHELL-/bin/sh}} "[$]0" ${1+"[$]@"}
+ else
+ # Oops. We lost completely, so just stick with echo.
+ ECHO=echo
+ fi
+ fi
fi
fi
fi
fi
-fi
# Copy echo and quote the copy suitably for passing to libtool from
# the Makefile, instead of quoting the original, which is used later.
-ECHO=$echo
-if test "X$ECHO" = "X$CONFIG_SHELL [$]0 --fallback-echo"; then
- ECHO="$CONFIG_SHELL \\\$\[$]0 --fallback-echo"
+lt_ECHO=$ECHO
+if test "X$lt_ECHO" = "X$CONFIG_SHELL [$]0 --fallback-echo"; then
+ lt_ECHO="$CONFIG_SHELL \\\$\[$]0 --fallback-echo"
fi
-AC_SUBST(ECHO)
-])])# _LT_AC_PROG_ECHO_BACKSLASH
+AC_SUBST(lt_ECHO)
+])
+_LT_DECL([], [SHELL], [1], [Shell to use when invoking shell scripts])
+_LT_DECL([], [ECHO], [1],
+ [An echo program that does not interpret backslashes])
+])# _LT_PROG_ECHO_BACKSLASH
-# _LT_AC_LOCK
-# -----------
-AC_DEFUN([_LT_AC_LOCK],
+# _LT_ENABLE_LOCK
+# ---------------
+m4_defun([_LT_ENABLE_LOCK],
[AC_ARG_ENABLE([libtool-lock],
- [AC_HELP_STRING([--disable-libtool-lock],
- [avoid locking (might break parallel builds)])])
+ [AS_HELP_STRING([--disable-libtool-lock],
+ [avoid locking (might break parallel builds)])])
test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes
# Some flags need to be propagated to the compiler or linker for good
@@ -501,12 +1239,12 @@ ia64-*-hpux*)
echo 'int i;' > conftest.$ac_ext
if AC_TRY_EVAL(ac_compile); then
case `/usr/bin/file conftest.$ac_objext` in
- *ELF-32*)
- HPUX_IA64_MODE="32"
- ;;
- *ELF-64*)
- HPUX_IA64_MODE="64"
- ;;
+ *ELF-32*)
+ HPUX_IA64_MODE="32"
+ ;;
+ *ELF-64*)
+ HPUX_IA64_MODE="64"
+ ;;
esac
fi
rm -rf conftest*
@@ -515,80 +1253,79 @@ ia64-*-hpux*)
# Find out which ABI we are using.
echo '[#]line __oline__ "configure"' > conftest.$ac_ext
if AC_TRY_EVAL(ac_compile); then
- if test "$lt_cv_prog_gnu_ld" = yes; then
- case `/usr/bin/file conftest.$ac_objext` in
- *32-bit*)
- LD="${LD-ld} -melf32bsmip"
- ;;
- *N32*)
- LD="${LD-ld} -melf32bmipn32"
- ;;
- *64-bit*)
- LD="${LD-ld} -melf64bmip"
- ;;
- esac
- else
- case `/usr/bin/file conftest.$ac_objext` in
- *32-bit*)
- LD="${LD-ld} -32"
- ;;
- *N32*)
- LD="${LD-ld} -n32"
- ;;
- *64-bit*)
- LD="${LD-ld} -64"
- ;;
- esac
- fi
+ if test "$lt_cv_prog_gnu_ld" = yes; then
+ case `/usr/bin/file conftest.$ac_objext` in
+ *32-bit*)
+ LD="${LD-ld} -melf32bsmip"
+ ;;
+ *N32*)
+ LD="${LD-ld} -melf32bmipn32"
+ ;;
+ *64-bit*)
+ LD="${LD-ld} -melf64bmip"
+ ;;
+ esac
+ else
+ case `/usr/bin/file conftest.$ac_objext` in
+ *32-bit*)
+ LD="${LD-ld} -32"
+ ;;
+ *N32*)
+ LD="${LD-ld} -n32"
+ ;;
+ *64-bit*)
+ LD="${LD-ld} -64"
+ ;;
+ esac
+ fi
fi
rm -rf conftest*
;;
x86_64-*kfreebsd*-gnu|x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*| \
-s390*-*linux*|sparc*-*linux*)
+s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
# Find out which ABI we are using.
echo 'int i;' > conftest.$ac_ext
if AC_TRY_EVAL(ac_compile); then
case `/usr/bin/file conftest.o` in
- *32-bit*)
- case $host in
- x86_64-*kfreebsd*-gnu)
- LD="${LD-ld} -m elf_i386_fbsd"
- ;;
- x86_64-*linux*)
- LD="${LD-ld} -m elf_i386"
- ;;
- ppc64-*linux*|powerpc64-*linux*)
- LD="${LD-ld} -m elf32ppclinux"
- ;;
- s390x-*linux*)
- LD="${LD-ld} -m elf_s390"
- ;;
- sparc64-*linux*)
- LD="${LD-ld} -m elf32_sparc"
- ;;
- esac
- ;;
- *64-bit*)
- libsuff=64
- case $host in
- x86_64-*kfreebsd*-gnu)
- LD="${LD-ld} -m elf_x86_64_fbsd"
- ;;
- x86_64-*linux*)
- LD="${LD-ld} -m elf_x86_64"
- ;;
- ppc*-*linux*|powerpc*-*linux*)
- LD="${LD-ld} -m elf64ppc"
- ;;
- s390*-*linux*)
- LD="${LD-ld} -m elf64_s390"
- ;;
- sparc*-*linux*)
- LD="${LD-ld} -m elf64_sparc"
- ;;
- esac
- ;;
+ *32-bit*)
+ case $host in
+ x86_64-*kfreebsd*-gnu)
+ LD="${LD-ld} -m elf_i386_fbsd"
+ ;;
+ x86_64-*linux*)
+ LD="${LD-ld} -m elf_i386"
+ ;;
+ ppc64-*linux*|powerpc64-*linux*)
+ LD="${LD-ld} -m elf32ppclinux"
+ ;;
+ s390x-*linux*)
+ LD="${LD-ld} -m elf_s390"
+ ;;
+ sparc64-*linux*)
+ LD="${LD-ld} -m elf32_sparc"
+ ;;
+ esac
+ ;;
+ *64-bit*)
+ case $host in
+ x86_64-*kfreebsd*-gnu)
+ LD="${LD-ld} -m elf_x86_64_fbsd"
+ ;;
+ x86_64-*linux*)
+ LD="${LD-ld} -m elf_x86_64"
+ ;;
+ ppc*-*linux*|powerpc*-*linux*)
+ LD="${LD-ld} -m elf64ppc"
+ ;;
+ s390*-*linux*|s390*-*tpf*)
+ LD="${LD-ld} -m elf64_s390"
+ ;;
+ sparc*-*linux*)
+ LD="${LD-ld} -m elf64_sparc"
+ ;;
+ esac
+ ;;
esac
fi
rm -rf conftest*
@@ -600,7 +1337,7 @@ s390*-*linux*|sparc*-*linux*)
CFLAGS="$CFLAGS -belf"
AC_CACHE_CHECK([whether the C compiler needs -belf], lt_cv_cc_needs_belf,
[AC_LANG_PUSH(C)
- AC_TRY_LINK([],[],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no])
+ AC_LINK_IFELSE([AC_LANG_PROGRAM([[]],[[]])],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no])
AC_LANG_POP])
if test x"$lt_cv_cc_needs_belf" != x"yes"; then
# this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf
@@ -615,37 +1352,74 @@ sparc*-*solaris*)
*64-bit*)
case $lt_cv_prog_gnu_ld in
yes*) LD="${LD-ld} -m elf64_sparc" ;;
- *) LD="${LD-ld} -64" ;;
+ *)
+ if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then
+ LD="${LD-ld} -64"
+ fi
+ ;;
esac
;;
esac
fi
rm -rf conftest*
;;
-
-AC_PROVIDE_IFELSE([AC_LIBTOOL_WIN32_DLL],
-[*-*-cygwin* | *-*-mingw* | *-*-pw32*)
- AC_CHECK_TOOL(DLLTOOL, dlltool, false)
- AC_CHECK_TOOL(AS, as, false)
- AC_CHECK_TOOL(OBJDUMP, objdump, false)
- ;;
- ])
esac
need_locks="$enable_libtool_lock"
+])# _LT_ENABLE_LOCK
+
-])# _LT_AC_LOCK
+# _LT_CMD_OLD_ARCHIVE
+# -------------------
+m4_defun([_LT_CMD_OLD_ARCHIVE],
+[AC_CHECK_TOOL(AR, ar, false)
+test -z "$AR" && AR=ar
+test -z "$AR_FLAGS" && AR_FLAGS=cru
+_LT_DECL([], [AR], [1], [The archiver])
+_LT_DECL([], [AR_FLAGS], [1])
+AC_CHECK_TOOL(STRIP, strip, :)
+test -z "$STRIP" && STRIP=:
+_LT_DECL([], [STRIP], [1], [A symbol stripping program])
-# AC_LIBTOOL_COMPILER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS,
+AC_CHECK_TOOL(RANLIB, ranlib, :)
+test -z "$RANLIB" && RANLIB=:
+_LT_DECL([], [RANLIB], [1],
+ [Commands used to install an old-style archive])
+
+# Determine commands to create old-style static archives.
+old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs'
+old_postinstall_cmds='chmod 644 $oldlib'
+old_postuninstall_cmds=
+
+if test -n "$RANLIB"; then
+ case $host_os in
+ openbsd*)
+ old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib"
+ ;;
+ *)
+ old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib"
+ ;;
+ esac
+ old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib"
+fi
+_LT_DECL([], [old_postinstall_cmds], [2])
+_LT_DECL([], [old_postuninstall_cmds], [2])
+_LT_TAGDECL([], [old_archive_cmds], [2],
+ [Commands used to build an old-style archive])
+])# _LT_CMD_OLD_ARCHIVE
+
+
+# _LT_COMPILER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS,
# [OUTPUT-FILE], [ACTION-SUCCESS], [ACTION-FAILURE])
# ----------------------------------------------------------------
# Check whether the given compiler option works
-AC_DEFUN([AC_LIBTOOL_COMPILER_OPTION],
-[AC_REQUIRE([LT_AC_PROG_SED])
+AC_DEFUN([_LT_COMPILER_OPTION],
+[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
+m4_require([_LT_DECL_SED])dnl
AC_CACHE_CHECK([$1], [$2],
[$2=no
- ifelse([$4], , [ac_outfile=conftest.$ac_objext], [ac_outfile=$4])
+ m4_if([$4], , [ac_outfile=conftest.$ac_objext], [ac_outfile=$4])
echo "$lt_simple_compile_test_code" > conftest.$ac_ext
lt_compiler_flag="$3"
# Insert the option either (1) after the last *FLAGS variable, or
@@ -665,29 +1439,35 @@ AC_CACHE_CHECK([$1], [$2],
if (exit $ac_status) && test -s "$ac_outfile"; then
# The compiler can only warn and ignore the option if not recognized
# So say no if there are warnings other than the usual output.
- $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp
+ $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp
$SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
$2=yes
fi
fi
- $rm conftest*
+ $RM conftest*
])
if test x"[$]$2" = xyes; then
- ifelse([$5], , :, [$5])
+ m4_if([$5], , :, [$5])
else
- ifelse([$6], , :, [$6])
+ m4_if([$6], , :, [$6])
fi
-])# AC_LIBTOOL_COMPILER_OPTION
+])# _LT_COMPILER_OPTION
+# Old name:
+AU_ALIAS([AC_LIBTOOL_COMPILER_OPTION], [_LT_COMPILER_OPTION])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_LIBTOOL_COMPILER_OPTION], [])
-# AC_LIBTOOL_LINKER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS,
-# [ACTION-SUCCESS], [ACTION-FAILURE])
-# ------------------------------------------------------------
-# Check whether the given compiler option works
-AC_DEFUN([AC_LIBTOOL_LINKER_OPTION],
-[AC_REQUIRE([LT_AC_PROG_SED])dnl
+
+# _LT_LINKER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS,
+# [ACTION-SUCCESS], [ACTION-FAILURE])
+# ----------------------------------------------------
+# Check whether the given linker option works
+AC_DEFUN([_LT_LINKER_OPTION],
+[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
+m4_require([_LT_DECL_SED])dnl
AC_CACHE_CHECK([$1], [$2],
[$2=no
save_LDFLAGS="$LDFLAGS"
@@ -699,7 +1479,7 @@ AC_CACHE_CHECK([$1], [$2],
if test -s conftest.err; then
# Append any errors to the config.log.
cat conftest.err 1>&AS_MESSAGE_LOG_FD
- $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp
+ $ECHO "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp
$SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
if diff conftest.exp conftest.er2 >/dev/null; then
$2=yes
@@ -708,22 +1488,28 @@ AC_CACHE_CHECK([$1], [$2],
$2=yes
fi
fi
- $rm conftest*
+ $RM -r conftest*
LDFLAGS="$save_LDFLAGS"
])
if test x"[$]$2" = xyes; then
- ifelse([$4], , :, [$4])
+ m4_if([$4], , :, [$4])
else
- ifelse([$5], , :, [$5])
+ m4_if([$5], , :, [$5])
fi
-])# AC_LIBTOOL_LINKER_OPTION
+])# _LT_LINKER_OPTION
+# Old name:
+AU_ALIAS([AC_LIBTOOL_LINKER_OPTION], [_LT_LINKER_OPTION])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_LIBTOOL_LINKER_OPTION], [])
-# AC_LIBTOOL_SYS_MAX_CMD_LEN
-# --------------------------
-AC_DEFUN([AC_LIBTOOL_SYS_MAX_CMD_LEN],
-[# find the maximum length of command line arguments
+
+# LT_CMD_MAX_LEN
+#---------------
+AC_DEFUN([LT_CMD_MAX_LEN],
+[AC_REQUIRE([AC_CANONICAL_HOST])dnl
+# find the maximum length of command line arguments
AC_MSG_CHECKING([the maximum length of command line arguments])
AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl
i=0
@@ -745,7 +1531,7 @@ AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl
lt_cv_sys_max_cmd_len=-1;
;;
- cygwin* | mingw*)
+ cygwin* | mingw* | cegcc*)
# On Win9x/ME, this test blows up -- it succeeds, but takes
# about 5 minutes as the teststring grows exponentially.
# Worse, since 9x/ME are not pre-emptively multitasking,
@@ -800,7 +1586,7 @@ AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl
sysv5* | sco5v6* | sysv4.2uw2*)
kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null`
if test -n "$kargmax"; then
- lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[[ ]]//'`
+ lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[[ ]]//'`
else
lt_cv_sys_max_cmd_len=32768
fi
@@ -811,20 +1597,28 @@ AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl
lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
else
+ # Make teststring a little bigger before we do anything with it.
+ # a 1K string should be a reasonable start.
+ for i in 1 2 3 4 5 6 7 8 ; do
+ teststring=$teststring$teststring
+ done
SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}}
- while (test "X"`$SHELL [$]0 --fallback-echo "X$teststring" 2>/dev/null` \
- = "XX$teststring") >/dev/null 2>&1 &&
- new_result=`expr "X$teststring" : ".*" 2>&1` &&
- lt_cv_sys_max_cmd_len=$new_result &&
+ # If test is not a shell built-in, we'll probably end up computing a
+ # maximum length that is only half of the actual maximum length, but
+ # we can't tell.
+ while { test "X"`$SHELL [$]0 --fallback-echo "X$teststring$teststring" 2>/dev/null` \
+ = "XX$teststring$teststring"; } >/dev/null 2>&1 &&
test $i != 17 # 1/2 MB should be enough
do
i=`expr $i + 1`
teststring=$teststring$teststring
done
+ # Only check the string length outside the loop.
+ lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1`
teststring=
- # Add a significant safety factor because C++ compilers can tack on massive
- # amounts of additional arguments before passing them to the linker.
- # It appears as though 1/2 is a usable value.
+ # Add a significant safety factor because C++ compilers can tack on
+ # massive amounts of additional arguments before passing them to the
+ # linker. It appears as though 1/2 is a usable value.
lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2`
fi
;;
@@ -835,27 +1629,35 @@ if test -n $lt_cv_sys_max_cmd_len ; then
else
AC_MSG_RESULT(none)
fi
-])# AC_LIBTOOL_SYS_MAX_CMD_LEN
+max_cmd_len=$lt_cv_sys_max_cmd_len
+_LT_DECL([], [max_cmd_len], [0],
+ [What is the maximum length of a command?])
+])# LT_CMD_MAX_LEN
+# Old name:
+AU_ALIAS([AC_LIBTOOL_SYS_MAX_CMD_LEN], [LT_CMD_MAX_LEN])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_LIBTOOL_SYS_MAX_CMD_LEN], [])
-# _LT_AC_CHECK_DLFCN
-# ------------------
-AC_DEFUN([_LT_AC_CHECK_DLFCN],
-[AC_CHECK_HEADERS(dlfcn.h)dnl
-])# _LT_AC_CHECK_DLFCN
+
+# _LT_HEADER_DLFCN
+# ----------------
+m4_defun([_LT_HEADER_DLFCN],
+[AC_CHECK_HEADERS([dlfcn.h], [], [], [AC_INCLUDES_DEFAULT])dnl
+])# _LT_HEADER_DLFCN
-# _LT_AC_TRY_DLOPEN_SELF (ACTION-IF-TRUE, ACTION-IF-TRUE-W-USCORE,
-# ACTION-IF-FALSE, ACTION-IF-CROSS-COMPILING)
-# ---------------------------------------------------------------------
-AC_DEFUN([_LT_AC_TRY_DLOPEN_SELF],
-[AC_REQUIRE([_LT_AC_CHECK_DLFCN])dnl
+# _LT_TRY_DLOPEN_SELF (ACTION-IF-TRUE, ACTION-IF-TRUE-W-USCORE,
+# ACTION-IF-FALSE, ACTION-IF-CROSS-COMPILING)
+# ----------------------------------------------------------------
+m4_defun([_LT_TRY_DLOPEN_SELF],
+[m4_require([_LT_HEADER_DLFCN])dnl
if test "$cross_compiling" = yes; then :
[$4]
else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
- cat > conftest.$ac_ext <<EOF
+ cat > conftest.$ac_ext <<_LT_EOF
[#line __oline__ "configure"
#include "confdefs.h"
@@ -897,10 +1699,6 @@ else
# endif
#endif
-#ifdef __cplusplus
-extern "C" void exit (int);
-#endif
-
void fnord() { int i=42;}
int main ()
{
@@ -916,9 +1714,9 @@ int main ()
else
puts (dlerror ());
- exit (status);
+ return status;
}]
-EOF
+_LT_EOF
if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext} 2>/dev/null; then
(./conftest; exit; ) >&AS_MESSAGE_LOG_FD 2>/dev/null
lt_status=$?
@@ -933,13 +1731,13 @@ EOF
fi
fi
rm -fr conftest*
-])# _LT_AC_TRY_DLOPEN_SELF
+])# _LT_TRY_DLOPEN_SELF
-# AC_LIBTOOL_DLOPEN_SELF
-# ----------------------
-AC_DEFUN([AC_LIBTOOL_DLOPEN_SELF],
-[AC_REQUIRE([_LT_AC_CHECK_DLFCN])dnl
+# LT_SYS_DLOPEN_SELF
+# ------------------
+AC_DEFUN([LT_SYS_DLOPEN_SELF],
+[m4_require([_LT_HEADER_DLFCN])dnl
if test "x$enable_dlopen" != xyes; then
enable_dlopen=unknown
enable_dlopen_self=unknown
@@ -955,15 +1753,15 @@ else
lt_cv_dlopen_self=yes
;;
- mingw* | pw32*)
+ mingw* | pw32* | cegcc*)
lt_cv_dlopen="LoadLibrary"
lt_cv_dlopen_libs=
- ;;
+ ;;
cygwin*)
lt_cv_dlopen="dlopen"
lt_cv_dlopen_libs=
- ;;
+ ;;
darwin*)
# if libdl is installed we need to link against it
@@ -973,13 +1771,13 @@ else
lt_cv_dlopen_libs=
lt_cv_dlopen_self=yes
])
- ;;
+ ;;
*)
AC_CHECK_FUNC([shl_load],
[lt_cv_dlopen="shl_load"],
[AC_CHECK_LIB([dld], [shl_load],
- [lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-dld"],
+ [lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld"],
[AC_CHECK_FUNC([dlopen],
[lt_cv_dlopen="dlopen"],
[AC_CHECK_LIB([dl], [dlopen],
@@ -987,7 +1785,7 @@ else
[AC_CHECK_LIB([svld], [dlopen],
[lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"],
[AC_CHECK_LIB([dld], [dld_link],
- [lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-dld"])
+ [lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld"])
])
])
])
@@ -1015,7 +1813,7 @@ else
AC_CACHE_CHECK([whether a program can dlopen itself],
lt_cv_dlopen_self, [dnl
- _LT_AC_TRY_DLOPEN_SELF(
+ _LT_TRY_DLOPEN_SELF(
lt_cv_dlopen_self=yes, lt_cv_dlopen_self=yes,
lt_cv_dlopen_self=no, lt_cv_dlopen_self=cross)
])
@@ -1023,8 +1821,8 @@ else
if test "x$lt_cv_dlopen_self" = xyes; then
wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\"
AC_CACHE_CHECK([whether a statically linked program can dlopen itself],
- lt_cv_dlopen_self_static, [dnl
- _LT_AC_TRY_DLOPEN_SELF(
+ lt_cv_dlopen_self_static, [dnl
+ _LT_TRY_DLOPEN_SELF(
lt_cv_dlopen_self_static=yes, lt_cv_dlopen_self_static=yes,
lt_cv_dlopen_self_static=no, lt_cv_dlopen_self_static=cross)
])
@@ -1046,19 +1844,32 @@ else
*) enable_dlopen_self_static=unknown ;;
esac
fi
-])# AC_LIBTOOL_DLOPEN_SELF
+_LT_DECL([dlopen_support], [enable_dlopen], [0],
+ [Whether dlopen is supported])
+_LT_DECL([dlopen_self], [enable_dlopen_self], [0],
+ [Whether dlopen of programs is supported])
+_LT_DECL([dlopen_self_static], [enable_dlopen_self_static], [0],
+ [Whether dlopen of statically linked programs is supported])
+])# LT_SYS_DLOPEN_SELF
+# Old name:
+AU_ALIAS([AC_LIBTOOL_DLOPEN_SELF], [LT_SYS_DLOPEN_SELF])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_LIBTOOL_DLOPEN_SELF], [])
-# AC_LIBTOOL_PROG_CC_C_O([TAGNAME])
-# ---------------------------------
-# Check to see if options -c and -o are simultaneously supported by compiler
-AC_DEFUN([AC_LIBTOOL_PROG_CC_C_O],
-[AC_REQUIRE([LT_AC_PROG_SED])dnl
-AC_REQUIRE([_LT_AC_SYS_COMPILER])dnl
+
+# _LT_COMPILER_C_O([TAGNAME])
+# ---------------------------
+# Check to see if options -c and -o are simultaneously supported by compiler.
+# This macro does not hard code the compiler like AC_PROG_CC_C_O.
+m4_defun([_LT_COMPILER_C_O],
+[m4_require([_LT_DECL_SED])dnl
+m4_require([_LT_FILEUTILS_DEFAULTS])dnl
+m4_require([_LT_TAG_COMPILER])dnl
AC_CACHE_CHECK([if $compiler supports -c -o file.$ac_objext],
- [_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)],
- [_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)=no
- $rm -r conftest 2>/dev/null
+ [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)],
+ [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=no
+ $RM -r conftest 2>/dev/null
mkdir conftest
cd conftest
mkdir out
@@ -1082,37 +1893,41 @@ AC_CACHE_CHECK([if $compiler supports -c -o file.$ac_objext],
then
# The compiler can only warn and ignore the option if not recognized
# So say no if there are warnings
- $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp
+ $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp
$SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
- _LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes
+ _LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes
fi
fi
chmod u+w . 2>&AS_MESSAGE_LOG_FD
- $rm conftest*
+ $RM conftest*
# SGI C++ compiler will create directory out/ii_files/ for
# template instantiation
- test -d out/ii_files && $rm out/ii_files/* && rmdir out/ii_files
- $rm out/* && rmdir out
+ test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files
+ $RM out/* && rmdir out
cd ..
- rmdir conftest
- $rm conftest*
+ $RM -r conftest
+ $RM conftest*
])
-])# AC_LIBTOOL_PROG_CC_C_O
+_LT_TAGDECL([compiler_c_o], [lt_cv_prog_compiler_c_o], [1],
+ [Does compiler simultaneously support -c and -o options?])
+])# _LT_COMPILER_C_O
-# AC_LIBTOOL_SYS_HARD_LINK_LOCKS([TAGNAME])
-# -----------------------------------------
+# _LT_COMPILER_FILE_LOCKS([TAGNAME])
+# ----------------------------------
# Check to see if we can do hard links to lock some files if needed
-AC_DEFUN([AC_LIBTOOL_SYS_HARD_LINK_LOCKS],
-[AC_REQUIRE([_LT_AC_LOCK])dnl
+m4_defun([_LT_COMPILER_FILE_LOCKS],
+[m4_require([_LT_ENABLE_LOCK])dnl
+m4_require([_LT_FILEUTILS_DEFAULTS])dnl
+_LT_COMPILER_C_O([$1])
hard_links="nottested"
-if test "$_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)" = no && test "$need_locks" != no; then
+if test "$_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)" = no && test "$need_locks" != no; then
# do not overwrite the value of need_locks provided by the user
AC_MSG_CHECKING([if we can lock with hard links])
hard_links=yes
- $rm conftest*
+ $RM conftest*
ln conftest.a conftest.b 2>/dev/null && hard_links=no
touch conftest.a
ln conftest.a conftest.b 2>&5 || hard_links=no
@@ -1125,12 +1940,13 @@ if test "$_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)" = no && test "$need_locks"
else
need_locks=no
fi
-])# AC_LIBTOOL_SYS_HARD_LINK_LOCKS
+_LT_DECL([], [need_locks], [1], [Must we lock files when doing compilation?])
+])# _LT_COMPILER_FILE_LOCKS
-# AC_LIBTOOL_OBJDIR
-# -----------------
-AC_DEFUN([AC_LIBTOOL_OBJDIR],
+# _LT_CHECK_OBJDIR
+# ----------------
+m4_defun([_LT_CHECK_OBJDIR],
[AC_CACHE_CHECK([for objdir], [lt_cv_objdir],
[rm -f .libs 2>/dev/null
mkdir .libs 2>/dev/null
@@ -1142,40 +1958,46 @@ else
fi
rmdir .libs 2>/dev/null])
objdir=$lt_cv_objdir
-])# AC_LIBTOOL_OBJDIR
+_LT_DECL([], [objdir], [0],
+ [The name of the directory that contains temporary libtool files])dnl
+m4_pattern_allow([LT_OBJDIR])dnl
+AC_DEFINE_UNQUOTED(LT_OBJDIR, "$lt_cv_objdir/",
+ [Define to the sub-directory in which libtool stores uninstalled libraries.])
+])# _LT_CHECK_OBJDIR
-# AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH([TAGNAME])
-# ----------------------------------------------
+# _LT_LINKER_HARDCODE_LIBPATH([TAGNAME])
+# --------------------------------------
# Check hardcoding attributes.
-AC_DEFUN([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH],
+m4_defun([_LT_LINKER_HARDCODE_LIBPATH],
[AC_MSG_CHECKING([how to hardcode library paths into programs])
-_LT_AC_TAGVAR(hardcode_action, $1)=
-if test -n "$_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)" || \
- test -n "$_LT_AC_TAGVAR(runpath_var, $1)" || \
- test "X$_LT_AC_TAGVAR(hardcode_automatic, $1)" = "Xyes" ; then
+_LT_TAGVAR(hardcode_action, $1)=
+if test -n "$_LT_TAGVAR(hardcode_libdir_flag_spec, $1)" ||
+ test -n "$_LT_TAGVAR(runpath_var, $1)" ||
+ test "X$_LT_TAGVAR(hardcode_automatic, $1)" = "Xyes" ; then
- # We can hardcode non-existant directories.
- if test "$_LT_AC_TAGVAR(hardcode_direct, $1)" != no &&
+ # We can hardcode non-existent directories.
+ if test "$_LT_TAGVAR(hardcode_direct, $1)" != no &&
# If the only mechanism to avoid hardcoding is shlibpath_var, we
# have to relink, otherwise we might link with an installed library
# when we should be linking with a yet-to-be-installed one
- ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, $1)" != no &&
- test "$_LT_AC_TAGVAR(hardcode_minus_L, $1)" != no; then
+ ## test "$_LT_TAGVAR(hardcode_shlibpath_var, $1)" != no &&
+ test "$_LT_TAGVAR(hardcode_minus_L, $1)" != no; then
# Linking always hardcodes the temporary library directory.
- _LT_AC_TAGVAR(hardcode_action, $1)=relink
+ _LT_TAGVAR(hardcode_action, $1)=relink
else
# We can link without hardcoding, and we can hardcode nonexisting dirs.
- _LT_AC_TAGVAR(hardcode_action, $1)=immediate
+ _LT_TAGVAR(hardcode_action, $1)=immediate
fi
else
# We cannot hardcode anything, or else we can only hardcode existing
# directories.
- _LT_AC_TAGVAR(hardcode_action, $1)=unsupported
+ _LT_TAGVAR(hardcode_action, $1)=unsupported
fi
-AC_MSG_RESULT([$_LT_AC_TAGVAR(hardcode_action, $1)])
+AC_MSG_RESULT([$_LT_TAGVAR(hardcode_action, $1)])
-if test "$_LT_AC_TAGVAR(hardcode_action, $1)" = relink; then
+if test "$_LT_TAGVAR(hardcode_action, $1)" = relink ||
+ test "$_LT_TAGVAR(inherit_rpath, $1)" = yes; then
# Fast installation is not supported
enable_fast_install=no
elif test "$shlibpath_overrides_runpath" = yes ||
@@ -1183,73 +2005,70 @@ elif test "$shlibpath_overrides_runpath" = yes ||
# Fast installation is not necessary
enable_fast_install=needless
fi
-])# AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH
+_LT_TAGDECL([], [hardcode_action], [0],
+ [How to hardcode a shared library path into an executable])
+])# _LT_LINKER_HARDCODE_LIBPATH
-# AC_LIBTOOL_SYS_LIB_STRIP
-# ------------------------
-AC_DEFUN([AC_LIBTOOL_SYS_LIB_STRIP],
-[striplib=
+# _LT_CMD_STRIPLIB
+# ----------------
+m4_defun([_LT_CMD_STRIPLIB],
+[m4_require([_LT_DECL_EGREP])
+striplib=
old_striplib=
AC_MSG_CHECKING([whether stripping libraries is possible])
-if test -n "$STRIP" && $STRIP -V 2>&1 | grep "GNU strip" >/dev/null; then
+if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then
test -z "$old_striplib" && old_striplib="$STRIP --strip-debug"
test -z "$striplib" && striplib="$STRIP --strip-unneeded"
AC_MSG_RESULT([yes])
else
# FIXME - insert some real tests, host_os isn't really good enough
case $host_os in
- darwin*)
- if test -n "$STRIP" ; then
- striplib="$STRIP -x"
- old_striplib="$STRIP -S"
- AC_MSG_RESULT([yes])
- else
- AC_MSG_RESULT([no])
-fi
- ;;
- *)
- AC_MSG_RESULT([no])
+ darwin*)
+ if test -n "$STRIP" ; then
+ striplib="$STRIP -x"
+ old_striplib="$STRIP -S"
+ AC_MSG_RESULT([yes])
+ else
+ AC_MSG_RESULT([no])
+ fi
+ ;;
+ *)
+ AC_MSG_RESULT([no])
;;
esac
fi
-])# AC_LIBTOOL_SYS_LIB_STRIP
+_LT_DECL([], [old_striplib], [1], [Commands to strip libraries])
+_LT_DECL([], [striplib], [1])
+])# _LT_CMD_STRIPLIB
-# AC_LIBTOOL_SYS_DYNAMIC_LINKER
+# _LT_SYS_DYNAMIC_LINKER([TAG])
# -----------------------------
# PORTME Fill in your ld.so characteristics
-AC_DEFUN([AC_LIBTOOL_SYS_DYNAMIC_LINKER],
-[AC_REQUIRE([LT_AC_PROG_SED])dnl
+m4_defun([_LT_SYS_DYNAMIC_LINKER],
+[AC_REQUIRE([AC_CANONICAL_HOST])dnl
+m4_require([_LT_DECL_EGREP])dnl
+m4_require([_LT_FILEUTILS_DEFAULTS])dnl
+m4_require([_LT_DECL_OBJDUMP])dnl
+m4_require([_LT_DECL_SED])dnl
AC_MSG_CHECKING([dynamic linker characteristics])
-library_names_spec=
-libname_spec='lib$name'
-soname_spec=
-shrext_cmds=".so"
-postinstall_cmds=
-postuninstall_cmds=
-finish_cmds=
-finish_eval=
-shlibpath_var=
-shlibpath_overrides_runpath=unknown
-version_type=none
-dynamic_linker="$host_os ld.so"
-sys_lib_dlsearch_path_spec="/lib /usr/lib"
-m4_if($1,[],[
+m4_if([$1],
+ [], [
if test "$GCC" = yes; then
case $host_os in
darwin*) lt_awk_arg="/^libraries:/,/LR/" ;;
*) lt_awk_arg="/^libraries:/" ;;
esac
lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e "s,=/,/,g"`
- if echo "$lt_search_path_spec" | grep ';' >/dev/null ; then
+ if $ECHO "$lt_search_path_spec" | $GREP ';' >/dev/null ; then
# if the path contains ";" then we assume it to be the separator
# otherwise default to the standard path separator (i.e. ":") - it is
# assumed that no part of a normal pathname contains ";" but that should
# okay in the real world where ";" in dirpaths is itself problematic.
- lt_search_path_spec=`echo "$lt_search_path_spec" | $SED -e 's/;/ /g'`
+ lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED -e 's/;/ /g'`
else
- lt_search_path_spec=`echo "$lt_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
+ lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
fi
# Ok, now we have the path, separated by spaces, we can step through it
# and add multilib dir if necessary.
@@ -1263,7 +2082,7 @@ if test "$GCC" = yes; then
lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path"
fi
done
- lt_search_path_spec=`echo $lt_tmp_lt_search_path_spec | awk '
+ lt_search_path_spec=`$ECHO $lt_tmp_lt_search_path_spec | awk '
BEGIN {RS=" "; FS="/|\n";} {
lt_foo="";
lt_count=0;
@@ -1283,10 +2102,23 @@ BEGIN {RS=" "; FS="/|\n";} {
if (lt_foo != "") { lt_freq[[lt_foo]]++; }
if (lt_freq[[lt_foo]] == 1) { print lt_foo; }
}'`
- sys_lib_search_path_spec=`echo $lt_search_path_spec`
+ sys_lib_search_path_spec=`$ECHO $lt_search_path_spec`
else
sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
fi])
+library_names_spec=
+libname_spec='lib$name'
+soname_spec=
+shrext_cmds=".so"
+postinstall_cmds=
+postuninstall_cmds=
+finish_cmds=
+finish_eval=
+shlibpath_var=
+shlibpath_overrides_runpath=unknown
+version_type=none
+dynamic_linker="$host_os ld.so"
+sys_lib_dlsearch_path_spec="/lib /usr/lib"
need_lib_prefix=unknown
hardcode_into_libs=no
@@ -1304,7 +2136,7 @@ aix3*)
soname_spec='${libname}${release}${shared_ext}$major'
;;
-aix4* | aix5*)
+aix[[4-9]]*)
version_type=linux
need_lib_prefix=no
need_version=no
@@ -1323,7 +2155,7 @@ aix4* | aix5*)
aix4 | aix4.[[01]] | aix4.[[01]].*)
if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
echo ' yes '
- echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then
+ echo '#endif'; } | ${CC} -E - | $GREP yes > /dev/null; then
:
else
can_build_shared=no
@@ -1349,9 +2181,18 @@ aix4* | aix5*)
;;
amigaos*)
- library_names_spec='$libname.ixlibrary $libname.a'
- # Create ${libname}_ixlibrary.a entries in /sys/libs.
- finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([[^/]]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'
+ case $host_cpu in
+ powerpc)
+ # Since July 2007 AmigaOS4 officially supports .so libraries.
+ # When compiling the executable, add -use-dynld -Lsobjs: to the compileline.
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ ;;
+ m68k)
+ library_names_spec='$libname.ixlibrary $libname.a'
+ # Create ${libname}_ixlibrary.a entries in /sys/libs.
+ finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$ECHO "X$lib" | $Xsed -e '\''s%^.*/\([[^/]]*\)\.ixlibrary$%\1%'\''`; test $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'
+ ;;
+ esac
;;
beos*)
@@ -1374,25 +2215,28 @@ bsdi[[45]]*)
# libtool to hard-code these into programs
;;
-cygwin* | mingw* | pw32*)
+cygwin* | mingw* | pw32* | cegcc*)
version_type=windows
shrext_cmds=".dll"
need_version=no
need_lib_prefix=no
case $GCC,$host_os in
- yes,cygwin* | yes,mingw* | yes,pw32*)
+ yes,cygwin* | yes,mingw* | yes,pw32* | yes,cegcc*)
library_names_spec='$libname.dll.a'
# DLL is installed to $(libdir)/../bin by postinstall_cmds
postinstall_cmds='base_file=`basename \${file}`~
- dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo \$dlname'\''`~
+ dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~
dldir=$destdir/`dirname \$dlpath`~
test -d \$dldir || mkdir -p \$dldir~
$install_prog $dir/$dlname \$dldir/$dlname~
- chmod a+x \$dldir/$dlname'
+ chmod a+x \$dldir/$dlname~
+ if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then
+ eval '\''$striplib \$dldir/$dlname'\'' || exit \$?;
+ fi'
postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
dlpath=$dir/\$dldll~
- $rm \$dlpath'
+ $RM \$dlpath'
shlibpath_overrides_runpath=yes
case $host_os in
@@ -1401,20 +2245,20 @@ cygwin* | mingw* | pw32*)
soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib"
;;
- mingw*)
+ mingw* | cegcc*)
# MinGW DLLs use traditional 'lib' prefix
soname_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
- sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"`
- if echo "$sys_lib_search_path_spec" | [grep ';[c-zC-Z]:/' >/dev/null]; then
+ sys_lib_search_path_spec=`$CC -print-search-dirs | $GREP "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"`
+ if $ECHO "$sys_lib_search_path_spec" | [$GREP ';[c-zC-Z]:/' >/dev/null]; then
# It is most probably a Windows format PATH printed by
# mingw gcc, but we are running on Cygwin. Gcc prints its search
# path with ; separators, and with drive letters. We can handle the
# drive letters (cygwin fileutils understands them), so leave them,
# especially as we might pass files found there to a mingw objdump,
# which wouldn't understand a cygwinified path. Ahh.
- sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
+ sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
else
- sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
+ sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
fi
;;
pw32*)
@@ -1438,13 +2282,13 @@ darwin* | rhapsody*)
version_type=darwin
need_lib_prefix=no
need_version=no
- library_names_spec='${libname}${release}${versuffix}$shared_ext ${libname}${release}${major}$shared_ext ${libname}$shared_ext'
+ library_names_spec='${libname}${release}${major}$shared_ext ${libname}$shared_ext'
soname_spec='${libname}${release}${major}$shared_ext'
shlibpath_overrides_runpath=yes
shlibpath_var=DYLD_LIBRARY_PATH
shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
- m4_if([$1], [],[
- sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib"])
+m4_if([$1], [],[
+ sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib"])
sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'
;;
@@ -1537,18 +2381,18 @@ hpux9* | hpux10* | hpux11*)
fi
sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
;;
- hppa*64*)
- shrext_cmds='.sl'
- hardcode_into_libs=yes
- dynamic_linker="$host_os dld.sl"
- shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
- shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64"
- sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
- ;;
- *)
+ hppa*64*)
+ shrext_cmds='.sl'
+ hardcode_into_libs=yes
+ dynamic_linker="$host_os dld.sl"
+ shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
+ shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64"
+ sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
+ ;;
+ *)
shrext_cmds='.sl'
dynamic_linker="$host_os dld.sl"
shlibpath_var=SHLIB_PATH
@@ -1625,17 +2469,26 @@ linux* | k*bsd*-gnu)
finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
shlibpath_var=LD_LIBRARY_PATH
shlibpath_overrides_runpath=no
+ # Some binutils ld are patched to set DT_RUNPATH
+ save_LDFLAGS=$LDFLAGS
+ save_libdir=$libdir
+ eval "libdir=/foo; wl=\"$_LT_TAGVAR(lt_prog_compiler_wl, $1)\"; \
+ LDFLAGS=\"\$LDFLAGS $_LT_TAGVAR(hardcode_libdir_flag_spec, $1)\""
+ AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])],
+ [AS_IF([ ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null],
+ [shlibpath_overrides_runpath=yes])])
+ LDFLAGS=$save_LDFLAGS
+ libdir=$save_libdir
+
# This implies no fast_install, which is unacceptable.
# Some rework will be needed to allow for fast_install
# before this can be enabled.
hardcode_into_libs=yes
- sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}"
- sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}"
# Append ld.so.conf contents to the search path
if test -f /etc/ld.so.conf; then
- lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \[$]2)); skip = 1; } { if (!skip) print \[$]0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '`
- sys_lib_dlsearch_path_spec="$sys_lib_dlsearch_path_spec $lt_ld_extra"
+ lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \[$]2)); skip = 1; } { if (!skip) print \[$]0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '`
+ sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
fi
# We used to test for /lib/ld.so.1 and disable shared libraries on
@@ -1647,11 +2500,23 @@ linux* | k*bsd*-gnu)
dynamic_linker='GNU/Linux ld.so'
;;
+netbsdelf*-gnu)
+ version_type=linux
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=no
+ hardcode_into_libs=yes
+ dynamic_linker='NetBSD ld.elf_so'
+ ;;
+
netbsd*)
version_type=sunos
need_lib_prefix=no
need_version=no
- if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
+ if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
dynamic_linker='NetBSD (a.out) ld.so'
@@ -1672,14 +2537,16 @@ newsos6)
shlibpath_overrides_runpath=yes
;;
-nto-qnx*)
- version_type=linux
+*nto* | *qnx*)
+ version_type=qnx
need_lib_prefix=no
need_version=no
library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
soname_spec='${libname}${release}${shared_ext}$major'
shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=yes
+ shlibpath_overrides_runpath=no
+ hardcode_into_libs=yes
+ dynamic_linker='ldqnx.so'
;;
openbsd*)
@@ -1688,13 +2555,13 @@ openbsd*)
need_lib_prefix=no
# Some older versions of OpenBSD (3.3 at least) *do* need versioned libs.
case $host_os in
- openbsd3.3 | openbsd3.3.*) need_version=yes ;;
- *) need_version=no ;;
+ openbsd3.3 | openbsd3.3.*) need_version=yes ;;
+ *) need_version=no ;;
esac
library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
shlibpath_var=LD_LIBRARY_PATH
- if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+ if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
case $host_os in
openbsd2.[[89]] | openbsd2.[[89]].*)
shlibpath_overrides_runpath=no
@@ -1766,7 +2633,6 @@ sysv4 | sysv4.3*)
sni)
shlibpath_overrides_runpath=no
need_lib_prefix=no
- export_dynamic_flag_spec='${wl}-Blargedynsym'
runpath_var=LD_RUN_PATH
;;
siemens)
@@ -1797,13 +2663,12 @@ sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
soname_spec='${libname}${release}${shared_ext}$major'
shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=yes
hardcode_into_libs=yes
if test "$with_gnu_ld" = yes; then
sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib'
- shlibpath_overrides_runpath=no
else
sys_lib_search_path_spec='/usr/ccs/lib /usr/lib'
- shlibpath_overrides_runpath=yes
case $host_os in
sco3.2v5*)
sys_lib_search_path_spec="$sys_lib_search_path_spec /lib"
@@ -1813,6 +2678,17 @@ sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
sys_lib_dlsearch_path_spec='/usr/lib'
;;
+tpf*)
+ # TPF is a cross-target only. Preferred cross-host = GNU/Linux.
+ version_type=linux
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=no
+ hardcode_into_libs=yes
+ ;;
+
uts4*)
version_type=linux
library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
@@ -1831,277 +2707,54 @@ variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
if test "$GCC" = yes; then
variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
fi
-])# AC_LIBTOOL_SYS_DYNAMIC_LINKER
-
-
-# _LT_AC_TAGCONFIG
-# ----------------
-AC_DEFUN([_LT_AC_TAGCONFIG],
-[AC_REQUIRE([LT_AC_PROG_SED])dnl
-AC_ARG_WITH([tags],
- [AC_HELP_STRING([--with-tags@<:@=TAGS@:>@],
- [include additional configurations @<:@automatic@:>@])],
- [tagnames="$withval"])
-
-if test -f "$ltmain" && test -n "$tagnames"; then
- if test ! -f "${ofile}"; then
- AC_MSG_WARN([output file `$ofile' does not exist])
- fi
-
- if test -z "$LTCC"; then
- eval "`$SHELL ${ofile} --config | grep '^LTCC='`"
- if test -z "$LTCC"; then
- AC_MSG_WARN([output file `$ofile' does not look like a libtool script])
- else
- AC_MSG_WARN([using `LTCC=$LTCC', extracted from `$ofile'])
- fi
- fi
- if test -z "$LTCFLAGS"; then
- eval "`$SHELL ${ofile} --config | grep '^LTCFLAGS='`"
- fi
-
- # Extract list of available tagged configurations in $ofile.
- # Note that this assumes the entire list is on one line.
- available_tags=`grep "^available_tags=" "${ofile}" | $SED -e 's/available_tags=\(.*$\)/\1/' -e 's/\"//g'`
-
- lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
- for tagname in $tagnames; do
- IFS="$lt_save_ifs"
- # Check whether tagname contains only valid characters
- case `$echo "X$tagname" | $Xsed -e 's:[[-_ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890,/]]::g'` in
- "") ;;
- *) AC_MSG_ERROR([invalid tag name: $tagname])
- ;;
- esac
-
- if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$" < "${ofile}" > /dev/null
- then
- AC_MSG_ERROR([tag name \"$tagname\" already exists])
- fi
- # Update the list of available tags.
- if test -n "$tagname"; then
- echo appending configuration tag \"$tagname\" to $ofile
-
- case $tagname in
- CXX)
- if test -n "$CXX" && ( test "X$CXX" != "Xno" &&
- ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) ||
- (test "X$CXX" != "Xg++"))) ; then
- AC_LIBTOOL_LANG_CXX_CONFIG
- else
- tagname=""
- fi
- ;;
-
- F77)
- if test -n "$F77" && test "X$F77" != "Xno"; then
- AC_LIBTOOL_LANG_F77_CONFIG
- else
- tagname=""
- fi
- ;;
-
- GCJ)
- if test -n "$GCJ" && test "X$GCJ" != "Xno"; then
- AC_LIBTOOL_LANG_GCJ_CONFIG
- else
- tagname=""
- fi
- ;;
-
- RC)
- AC_LIBTOOL_LANG_RC_CONFIG
- ;;
-
- *)
- AC_MSG_ERROR([Unsupported tag name: $tagname])
- ;;
- esac
-
- # Append the new tag name to the list of available tags.
- if test -n "$tagname" ; then
- available_tags="$available_tags $tagname"
- fi
- fi
- done
- IFS="$lt_save_ifs"
-
- # Now substitute the updated list of available tags.
- if eval "sed -e 's/^available_tags=.*\$/available_tags=\"$available_tags\"/' \"$ofile\" > \"${ofile}T\""; then
- mv "${ofile}T" "$ofile"
- chmod +x "$ofile"
- else
- rm -f "${ofile}T"
- AC_MSG_ERROR([unable to update list of available tagged configurations.])
- fi
+if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then
+ sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec"
+fi
+if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then
+ sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec"
fi
-])# _LT_AC_TAGCONFIG
-
-
-# AC_LIBTOOL_DLOPEN
-# -----------------
-# enable checks for dlopen support
-AC_DEFUN([AC_LIBTOOL_DLOPEN],
- [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])
-])# AC_LIBTOOL_DLOPEN
-
-
-# AC_LIBTOOL_WIN32_DLL
-# --------------------
-# declare package support for building win32 DLLs
-AC_DEFUN([AC_LIBTOOL_WIN32_DLL],
-[AC_BEFORE([$0], [AC_LIBTOOL_SETUP])
-])# AC_LIBTOOL_WIN32_DLL
-
-
-# AC_ENABLE_SHARED([DEFAULT])
-# ---------------------------
-# implement the --enable-shared flag
-# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'.
-AC_DEFUN([AC_ENABLE_SHARED],
-[define([AC_ENABLE_SHARED_DEFAULT], ifelse($1, no, no, yes))dnl
-AC_ARG_ENABLE([shared],
- [AC_HELP_STRING([--enable-shared@<:@=PKGS@:>@],
- [build shared libraries @<:@default=]AC_ENABLE_SHARED_DEFAULT[@:>@])],
- [p=${PACKAGE-default}
- case $enableval in
- yes) enable_shared=yes ;;
- no) enable_shared=no ;;
- *)
- enable_shared=no
- # Look at the argument we got. We use all the common list separators.
- lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
- for pkg in $enableval; do
- IFS="$lt_save_ifs"
- if test "X$pkg" = "X$p"; then
- enable_shared=yes
- fi
- done
- IFS="$lt_save_ifs"
- ;;
- esac],
- [enable_shared=]AC_ENABLE_SHARED_DEFAULT)
-])# AC_ENABLE_SHARED
-
-
-# AC_DISABLE_SHARED
-# -----------------
-# set the default shared flag to --disable-shared
-AC_DEFUN([AC_DISABLE_SHARED],
-[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
-AC_ENABLE_SHARED(no)
-])# AC_DISABLE_SHARED
-
-
-# AC_ENABLE_STATIC([DEFAULT])
-# ---------------------------
-# implement the --enable-static flag
-# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'.
-AC_DEFUN([AC_ENABLE_STATIC],
-[define([AC_ENABLE_STATIC_DEFAULT], ifelse($1, no, no, yes))dnl
-AC_ARG_ENABLE([static],
- [AC_HELP_STRING([--enable-static@<:@=PKGS@:>@],
- [build static libraries @<:@default=]AC_ENABLE_STATIC_DEFAULT[@:>@])],
- [p=${PACKAGE-default}
- case $enableval in
- yes) enable_static=yes ;;
- no) enable_static=no ;;
- *)
- enable_static=no
- # Look at the argument we got. We use all the common list separators.
- lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
- for pkg in $enableval; do
- IFS="$lt_save_ifs"
- if test "X$pkg" = "X$p"; then
- enable_static=yes
- fi
- done
- IFS="$lt_save_ifs"
- ;;
- esac],
- [enable_static=]AC_ENABLE_STATIC_DEFAULT)
-])# AC_ENABLE_STATIC
-
-
-# AC_DISABLE_STATIC
-# -----------------
-# set the default static flag to --disable-static
-AC_DEFUN([AC_DISABLE_STATIC],
-[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
-AC_ENABLE_STATIC(no)
-])# AC_DISABLE_STATIC
-
-
-# AC_ENABLE_FAST_INSTALL([DEFAULT])
-# ---------------------------------
-# implement the --enable-fast-install flag
-# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'.
-AC_DEFUN([AC_ENABLE_FAST_INSTALL],
-[define([AC_ENABLE_FAST_INSTALL_DEFAULT], ifelse($1, no, no, yes))dnl
-AC_ARG_ENABLE([fast-install],
- [AC_HELP_STRING([--enable-fast-install@<:@=PKGS@:>@],
- [optimize for fast installation @<:@default=]AC_ENABLE_FAST_INSTALL_DEFAULT[@:>@])],
- [p=${PACKAGE-default}
- case $enableval in
- yes) enable_fast_install=yes ;;
- no) enable_fast_install=no ;;
- *)
- enable_fast_install=no
- # Look at the argument we got. We use all the common list separators.
- lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
- for pkg in $enableval; do
- IFS="$lt_save_ifs"
- if test "X$pkg" = "X$p"; then
- enable_fast_install=yes
- fi
- done
- IFS="$lt_save_ifs"
- ;;
- esac],
- [enable_fast_install=]AC_ENABLE_FAST_INSTALL_DEFAULT)
-])# AC_ENABLE_FAST_INSTALL
-
-
-# AC_DISABLE_FAST_INSTALL
-# -----------------------
-# set the default to --disable-fast-install
-AC_DEFUN([AC_DISABLE_FAST_INSTALL],
-[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
-AC_ENABLE_FAST_INSTALL(no)
-])# AC_DISABLE_FAST_INSTALL
-
-# AC_LIBTOOL_PICMODE([MODE])
+_LT_DECL([], [variables_saved_for_relink], [1],
+ [Variables whose values should be saved in libtool wrapper scripts and
+ restored at link time])
+_LT_DECL([], [need_lib_prefix], [0],
+ [Do we need the "lib" prefix for modules?])
+_LT_DECL([], [need_version], [0], [Do we need a version for libraries?])
+_LT_DECL([], [version_type], [0], [Library versioning type])
+_LT_DECL([], [runpath_var], [0], [Shared library runtime path variable])
+_LT_DECL([], [shlibpath_var], [0],[Shared library path variable])
+_LT_DECL([], [shlibpath_overrides_runpath], [0],
+ [Is shlibpath searched before the hard-coded library search path?])
+_LT_DECL([], [libname_spec], [1], [Format of library name prefix])
+_LT_DECL([], [library_names_spec], [1],
+ [[List of archive names. First name is the real one, the rest are links.
+ The last name is the one that the linker finds with -lNAME]])
+_LT_DECL([], [soname_spec], [1],
+ [[The coded name of the library, if different from the real name]])
+_LT_DECL([], [postinstall_cmds], [2],
+ [Command to use after installation of a shared archive])
+_LT_DECL([], [postuninstall_cmds], [2],
+ [Command to use after uninstallation of a shared archive])
+_LT_DECL([], [finish_cmds], [2],
+ [Commands used to finish a libtool library installation in a directory])
+_LT_DECL([], [finish_eval], [1],
+ [[As "finish_cmds", except a single script fragment to be evaled but
+ not shown]])
+_LT_DECL([], [hardcode_into_libs], [0],
+ [Whether we should hardcode library paths into libraries])
+_LT_DECL([], [sys_lib_search_path_spec], [2],
+ [Compile-time system search path for libraries])
+_LT_DECL([], [sys_lib_dlsearch_path_spec], [2],
+ [Run-time system search path for libraries])
+])# _LT_SYS_DYNAMIC_LINKER
+
+
+# _LT_PATH_TOOL_PREFIX(TOOL)
# --------------------------
-# implement the --with-pic flag
-# MODE is either `yes' or `no'. If omitted, it defaults to `both'.
-AC_DEFUN([AC_LIBTOOL_PICMODE],
-[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
-pic_mode=ifelse($#,1,$1,default)
-])# AC_LIBTOOL_PICMODE
-
-
-# AC_PROG_EGREP
-# -------------
-# This is predefined starting with Autoconf 2.54, so this conditional
-# definition can be removed once we require Autoconf 2.54 or later.
-m4_ifndef([AC_PROG_EGREP], [AC_DEFUN([AC_PROG_EGREP],
-[AC_CACHE_CHECK([for egrep], [ac_cv_prog_egrep],
- [if echo a | (grep -E '(a|b)') >/dev/null 2>&1
- then ac_cv_prog_egrep='grep -E'
- else ac_cv_prog_egrep='egrep'
- fi])
- EGREP=$ac_cv_prog_egrep
- AC_SUBST([EGREP])
-])])
-
-
-# AC_PATH_TOOL_PREFIX
-# -------------------
# find a file program which can recognize shared library
-AC_DEFUN([AC_PATH_TOOL_PREFIX],
-[AC_REQUIRE([AC_PROG_EGREP])dnl
+AC_DEFUN([_LT_PATH_TOOL_PREFIX],
+[m4_require([_LT_DECL_EGREP])dnl
AC_MSG_CHECKING([for $1])
AC_CACHE_VAL(lt_cv_path_MAGIC_CMD,
[case $MAGIC_CMD in
@@ -2114,7 +2767,7 @@ AC_CACHE_VAL(lt_cv_path_MAGIC_CMD,
dnl $ac_dummy forces splitting on constant user-supplied paths.
dnl POSIX.2 word splitting is done only on the output of word expansions,
dnl not every word. This closes a longstanding sh security hole.
- ac_dummy="ifelse([$2], , $PATH, [$2])"
+ ac_dummy="m4_if([$2], , $PATH, [$2])"
for ac_dir in $ac_dummy; do
IFS="$lt_save_ifs"
test -z "$ac_dir" && ac_dir=.
@@ -2129,7 +2782,7 @@ dnl not every word. This closes a longstanding sh security hole.
$EGREP "$file_magic_regex" > /dev/null; then
:
else
- cat <<EOF 1>&2
+ cat <<_LT_EOF 1>&2
*** Warning: the command libtool uses to detect shared libraries,
*** $file_magic_cmd, produces output that libtool cannot recognize.
@@ -2140,7 +2793,7 @@ dnl not every word. This closes a longstanding sh security hole.
*** may want to report the problem to your system manager and/or to
*** bug-libtool@gnu.org
-EOF
+_LT_EOF
fi ;;
esac
fi
@@ -2157,37 +2810,47 @@ if test -n "$MAGIC_CMD"; then
else
AC_MSG_RESULT(no)
fi
-])# AC_PATH_TOOL_PREFIX
+_LT_DECL([], [MAGIC_CMD], [0],
+ [Used to examine libraries when file_magic_cmd begins with "file"])dnl
+])# _LT_PATH_TOOL_PREFIX
+# Old name:
+AU_ALIAS([AC_PATH_TOOL_PREFIX], [_LT_PATH_TOOL_PREFIX])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_PATH_TOOL_PREFIX], [])
-# AC_PATH_MAGIC
-# -------------
+
+# _LT_PATH_MAGIC
+# --------------
# find a file program which can recognize a shared library
-AC_DEFUN([AC_PATH_MAGIC],
-[AC_PATH_TOOL_PREFIX(${ac_tool_prefix}file, /usr/bin$PATH_SEPARATOR$PATH)
+m4_defun([_LT_PATH_MAGIC],
+[_LT_PATH_TOOL_PREFIX(${ac_tool_prefix}file, /usr/bin$PATH_SEPARATOR$PATH)
if test -z "$lt_cv_path_MAGIC_CMD"; then
if test -n "$ac_tool_prefix"; then
- AC_PATH_TOOL_PREFIX(file, /usr/bin$PATH_SEPARATOR$PATH)
+ _LT_PATH_TOOL_PREFIX(file, /usr/bin$PATH_SEPARATOR$PATH)
else
MAGIC_CMD=:
fi
fi
-])# AC_PATH_MAGIC
+])# _LT_PATH_MAGIC
-# AC_PROG_LD
+# LT_PATH_LD
# ----------
# find the pathname to the GNU or non-GNU linker
-AC_DEFUN([AC_PROG_LD],
-[AC_ARG_WITH([gnu-ld],
- [AC_HELP_STRING([--with-gnu-ld],
- [assume the C compiler uses GNU ld @<:@default=no@:>@])],
- [test "$withval" = no || with_gnu_ld=yes],
- [with_gnu_ld=no])
-AC_REQUIRE([LT_AC_PROG_SED])dnl
-AC_REQUIRE([AC_PROG_CC])dnl
+AC_DEFUN([LT_PATH_LD],
+[AC_REQUIRE([AC_PROG_CC])dnl
AC_REQUIRE([AC_CANONICAL_HOST])dnl
AC_REQUIRE([AC_CANONICAL_BUILD])dnl
+m4_require([_LT_DECL_SED])dnl
+m4_require([_LT_DECL_EGREP])dnl
+
+AC_ARG_WITH([gnu-ld],
+ [AS_HELP_STRING([--with-gnu-ld],
+ [assume the C compiler uses GNU ld @<:@default=no@:>@])],
+ [test "$withval" = no || with_gnu_ld=yes],
+ [with_gnu_ld=no])dnl
+
ac_prog=ld
if test "$GCC" = yes; then
# Check if gcc -print-prog-name=ld gives a path.
@@ -2204,9 +2867,9 @@ if test "$GCC" = yes; then
[[\\/]]* | ?:[[\\/]]*)
re_direlt='/[[^/]][[^/]]*/\.\./'
# Canonicalize the pathname of ld
- ac_prog=`echo $ac_prog| $SED 's%\\\\%/%g'`
- while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do
- ac_prog=`echo $ac_prog| $SED "s%$re_direlt%/%"`
+ ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'`
+ while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do
+ ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"`
done
test -z "$LD" && LD="$ac_prog"
;;
@@ -2256,15 +2919,24 @@ else
AC_MSG_RESULT(no)
fi
test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH])
-AC_PROG_LD_GNU
-])# AC_PROG_LD
+_LT_PATH_LD_GNU
+AC_SUBST([LD])
+_LT_TAGDECL([], [LD], [1], [The linker used to build libraries])
+])# LT_PATH_LD
-# AC_PROG_LD_GNU
-# --------------
-AC_DEFUN([AC_PROG_LD_GNU],
-[AC_REQUIRE([AC_PROG_EGREP])dnl
-AC_CACHE_CHECK([if the linker ($LD) is GNU ld], lt_cv_prog_gnu_ld,
+# Old names:
+AU_ALIAS([AM_PROG_LD], [LT_PATH_LD])
+AU_ALIAS([AC_PROG_LD], [LT_PATH_LD])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AM_PROG_LD], [])
+dnl AC_DEFUN([AC_PROG_LD], [])
+
+
+# _LT_PATH_LD_GNU
+#- --------------
+m4_defun([_LT_PATH_LD_GNU],
+[AC_CACHE_CHECK([if the linker ($LD) is GNU ld], lt_cv_prog_gnu_ld,
[# I'd rather use --version here, but apparently some GNU lds only accept -v.
case `$LD -v 2>&1 </dev/null` in
*GNU* | *'with BFD'*)
@@ -2275,14 +2947,14 @@ case `$LD -v 2>&1 </dev/null` in
;;
esac])
with_gnu_ld=$lt_cv_prog_gnu_ld
-])# AC_PROG_LD_GNU
+])# _LT_PATH_LD_GNU
-# AC_PROG_LD_RELOAD_FLAG
-# ----------------------
+# _LT_CMD_RELOAD
+# --------------
# find reload flag for linker
# -- PORTME Some linkers may need a different reload flag.
-AC_DEFUN([AC_PROG_LD_RELOAD_FLAG],
+m4_defun([_LT_CMD_RELOAD],
[AC_CACHE_CHECK([for $LD option to reload object files],
lt_cv_ld_reload_flag,
[lt_cv_ld_reload_flag='-r'])
@@ -2301,15 +2973,19 @@ case $host_os in
fi
;;
esac
-])# AC_PROG_LD_RELOAD_FLAG
+_LT_DECL([], [reload_flag], [1], [How to create reloadable object files])dnl
+_LT_DECL([], [reload_cmds], [2])dnl
+])# _LT_CMD_RELOAD
-# AC_DEPLIBS_CHECK_METHOD
-# -----------------------
+# _LT_CHECK_MAGIC_METHOD
+# ----------------------
# how to check for library dependencies
# -- PORTME fill in with the dynamic library characteristics
-AC_DEFUN([AC_DEPLIBS_CHECK_METHOD],
-[AC_CACHE_CHECK([how to recognize dependent libraries],
+m4_defun([_LT_CHECK_MAGIC_METHOD],
+[m4_require([_LT_DECL_EGREP])
+m4_require([_LT_DECL_OBJDUMP])
+AC_CACHE_CHECK([how to recognize dependent libraries],
lt_cv_deplibs_check_method,
[lt_cv_file_magic_cmd='$MAGIC_CMD'
lt_cv_file_magic_test_file=
@@ -2326,7 +3002,7 @@ lt_cv_deplibs_check_method='unknown'
# whether `pass_all' will *always* work, you probably want this one.
case $host_os in
-aix4* | aix5*)
+aix[[4-9]]*)
lt_cv_deplibs_check_method=pass_all
;;
@@ -2359,12 +3035,18 @@ mingw* | pw32*)
fi
;;
+cegcc)
+ # use the weaker test based on 'objdump'. See mingw*.
+ lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?'
+ lt_cv_file_magic_cmd='$OBJDUMP -f'
+ ;;
+
darwin* | rhapsody*)
lt_cv_deplibs_check_method=pass_all
;;
freebsd* | dragonfly*)
- if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
+ if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
case $host_cpu in
i*86 )
# Not sure whether the presence of OpenBSD here was a mistake.
@@ -2421,8 +3103,8 @@ linux* | k*bsd*-gnu)
lt_cv_deplibs_check_method=pass_all
;;
-netbsd*)
- if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
+netbsd* | netbsdelf*-gnu)
+ if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$'
else
lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|_pic\.a)$'
@@ -2435,12 +3117,12 @@ newos6*)
lt_cv_file_magic_test_file=/usr/lib/libnls.so
;;
-nto-qnx*)
- lt_cv_deplibs_check_method=unknown
+*nto* | *qnx*)
+ lt_cv_deplibs_check_method=pass_all
;;
openbsd*)
- if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+ if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|\.so|_pic\.a)$'
else
lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$'
@@ -2459,6 +3141,10 @@ solaris*)
lt_cv_deplibs_check_method=pass_all
;;
+sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
sysv4 | sysv4.3*)
case $host_vendor in
motorola)
@@ -2486,7 +3172,7 @@ sysv4 | sysv4.3*)
esac
;;
-sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
+tpf*)
lt_cv_deplibs_check_method=pass_all
;;
esac
@@ -2494,14 +3180,20 @@ esac
file_magic_cmd=$lt_cv_file_magic_cmd
deplibs_check_method=$lt_cv_deplibs_check_method
test -z "$deplibs_check_method" && deplibs_check_method=unknown
-])# AC_DEPLIBS_CHECK_METHOD
+_LT_DECL([], [deplibs_check_method], [1],
+ [Method to check whether dependent libraries are shared objects])
+_LT_DECL([], [file_magic_cmd], [1],
+ [Command to use when deplibs_check_method == "file_magic"])
+])# _LT_CHECK_MAGIC_METHOD
-# AC_PROG_NM
+
+# LT_PATH_NM
# ----------
-# find the pathname to a BSD-compatible name lister
-AC_DEFUN([AC_PROG_NM],
-[AC_CACHE_CHECK([for BSD-compatible nm], lt_cv_path_NM,
+# find the pathname to a BSD- or MS-compatible name lister
+AC_DEFUN([LT_PATH_NM],
+[AC_REQUIRE([AC_PROG_CC])dnl
+AC_CACHE_CHECK([for BSD- or MS-compatible name lister (nm)], lt_cv_path_NM,
[if test -n "$NM"; then
# Let the user override the test.
lt_cv_path_NM="$NM"
@@ -2543,16 +3235,51 @@ else
done
IFS="$lt_save_ifs"
done
- test -z "$lt_cv_path_NM" && lt_cv_path_NM=nm
+ : ${lt_cv_path_NM=no}
fi])
-NM="$lt_cv_path_NM"
-])# AC_PROG_NM
+if test "$lt_cv_path_NM" != "no"; then
+ NM="$lt_cv_path_NM"
+else
+ # Didn't find any BSD compatible name lister, look for dumpbin.
+ AC_CHECK_TOOLS(DUMPBIN, ["dumpbin -symbols" "link -dump -symbols"], :)
+ AC_SUBST([DUMPBIN])
+ if test "$DUMPBIN" != ":"; then
+ NM="$DUMPBIN"
+ fi
+fi
+test -z "$NM" && NM=nm
+AC_SUBST([NM])
+_LT_DECL([], [NM], [1], [A BSD- or MS-compatible name lister])dnl
+
+AC_CACHE_CHECK([the name lister ($NM) interface], [lt_cv_nm_interface],
+ [lt_cv_nm_interface="BSD nm"
+ echo "int some_variable = 0;" > conftest.$ac_ext
+ (eval echo "\"\$as_me:__oline__: $ac_compile\"" >&AS_MESSAGE_LOG_FD)
+ (eval "$ac_compile" 2>conftest.err)
+ cat conftest.err >&AS_MESSAGE_LOG_FD
+ (eval echo "\"\$as_me:__oline__: $NM \\\"conftest.$ac_objext\\\"\"" >&AS_MESSAGE_LOG_FD)
+ (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out)
+ cat conftest.err >&AS_MESSAGE_LOG_FD
+ (eval echo "\"\$as_me:__oline__: output\"" >&AS_MESSAGE_LOG_FD)
+ cat conftest.out >&AS_MESSAGE_LOG_FD
+ if $GREP 'External.*some_variable' conftest.out > /dev/null; then
+ lt_cv_nm_interface="MS dumpbin"
+ fi
+ rm -f conftest*])
+])# LT_PATH_NM
+# Old names:
+AU_ALIAS([AM_PROG_NM], [LT_PATH_NM])
+AU_ALIAS([AC_PROG_NM], [LT_PATH_NM])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AM_PROG_NM], [])
+dnl AC_DEFUN([AC_PROG_NM], [])
-# AC_CHECK_LIBM
-# -------------
+
+# LT_LIB_M
+# --------
# check for math library
-AC_DEFUN([AC_CHECK_LIBM],
+AC_DEFUN([LT_LIB_M],
[AC_REQUIRE([AC_CANONICAL_HOST])dnl
LIBM=
case $host in
@@ -2567,2172 +3294,46 @@ case $host in
AC_CHECK_LIB(m, cos, LIBM="-lm")
;;
esac
-])# AC_CHECK_LIBM
-
-
-# AC_LIBLTDL_CONVENIENCE([DIRECTORY])
-# -----------------------------------
-# sets LIBLTDL to the link flags for the libltdl convenience library and
-# LTDLINCL to the include flags for the libltdl header and adds
-# --enable-ltdl-convenience to the configure arguments. Note that
-# AC_CONFIG_SUBDIRS is not called here. If DIRECTORY is not provided,
-# it is assumed to be `libltdl'. LIBLTDL will be prefixed with
-# '${top_builddir}/' and LTDLINCL will be prefixed with '${top_srcdir}/'
-# (note the single quotes!). If your package is not flat and you're not
-# using automake, define top_builddir and top_srcdir appropriately in
-# the Makefiles.
-AC_DEFUN([AC_LIBLTDL_CONVENIENCE],
-[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
- case $enable_ltdl_convenience in
- no) AC_MSG_ERROR([this package needs a convenience libltdl]) ;;
- "") enable_ltdl_convenience=yes
- ac_configure_args="$ac_configure_args --enable-ltdl-convenience" ;;
- esac
- LIBLTDL='${top_builddir}/'ifelse($#,1,[$1],['libltdl'])/libltdlc.la
- LTDLINCL='-I${top_srcdir}/'ifelse($#,1,[$1],['libltdl'])
- # For backwards non-gettext consistent compatibility...
- INCLTDL="$LTDLINCL"
-])# AC_LIBLTDL_CONVENIENCE
-
-
-# AC_LIBLTDL_INSTALLABLE([DIRECTORY])
-# -----------------------------------
-# sets LIBLTDL to the link flags for the libltdl installable library and
-# LTDLINCL to the include flags for the libltdl header and adds
-# --enable-ltdl-install to the configure arguments. Note that
-# AC_CONFIG_SUBDIRS is not called here. If DIRECTORY is not provided,
-# and an installed libltdl is not found, it is assumed to be `libltdl'.
-# LIBLTDL will be prefixed with '${top_builddir}/'# and LTDLINCL with
-# '${top_srcdir}/' (note the single quotes!). If your package is not
-# flat and you're not using automake, define top_builddir and top_srcdir
-# appropriately in the Makefiles.
-# In the future, this macro may have to be called after AC_PROG_LIBTOOL.
-AC_DEFUN([AC_LIBLTDL_INSTALLABLE],
-[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
- AC_CHECK_LIB(ltdl, lt_dlinit,
- [test x"$enable_ltdl_install" != xyes && enable_ltdl_install=no],
- [if test x"$enable_ltdl_install" = xno; then
- AC_MSG_WARN([libltdl not installed, but installation disabled])
- else
- enable_ltdl_install=yes
- fi
- ])
- if test x"$enable_ltdl_install" = x"yes"; then
- ac_configure_args="$ac_configure_args --enable-ltdl-install"
- LIBLTDL='${top_builddir}/'ifelse($#,1,[$1],['libltdl'])/libltdl.la
- LTDLINCL='-I${top_srcdir}/'ifelse($#,1,[$1],['libltdl'])
- else
- ac_configure_args="$ac_configure_args --enable-ltdl-install=no"
- LIBLTDL="-lltdl"
- LTDLINCL=
- fi
- # For backwards non-gettext consistent compatibility...
- INCLTDL="$LTDLINCL"
-])# AC_LIBLTDL_INSTALLABLE
-
-
-# AC_LIBTOOL_CXX
-# --------------
-# enable support for C++ libraries
-AC_DEFUN([AC_LIBTOOL_CXX],
-[AC_REQUIRE([_LT_AC_LANG_CXX])
-])# AC_LIBTOOL_CXX
-
-
-# _LT_AC_LANG_CXX
-# ---------------
-AC_DEFUN([_LT_AC_LANG_CXX],
-[AC_REQUIRE([AC_PROG_CXX])
-AC_REQUIRE([_LT_AC_PROG_CXXCPP])
-_LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}CXX])
-])# _LT_AC_LANG_CXX
-
-# _LT_AC_PROG_CXXCPP
-# ------------------
-AC_DEFUN([_LT_AC_PROG_CXXCPP],
-[
-AC_REQUIRE([AC_PROG_CXX])
-if test -n "$CXX" && ( test "X$CXX" != "Xno" &&
- ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) ||
- (test "X$CXX" != "Xg++"))) ; then
- AC_PROG_CXXCPP
-fi
-])# _LT_AC_PROG_CXXCPP
-
-# AC_LIBTOOL_F77
-# --------------
-# enable support for Fortran 77 libraries
-AC_DEFUN([AC_LIBTOOL_F77],
-[AC_REQUIRE([_LT_AC_LANG_F77])
-])# AC_LIBTOOL_F77
-
-
-# _LT_AC_LANG_F77
-# ---------------
-AC_DEFUN([_LT_AC_LANG_F77],
-[AC_REQUIRE([AC_PROG_F77])
-_LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}F77])
-])# _LT_AC_LANG_F77
+AC_SUBST([LIBM])
+])# LT_LIB_M
+# Old name:
+AU_ALIAS([AC_CHECK_LIBM], [LT_LIB_M])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_CHECK_LIBM], [])
-# AC_LIBTOOL_GCJ
-# --------------
-# enable support for GCJ libraries
-AC_DEFUN([AC_LIBTOOL_GCJ],
-[AC_REQUIRE([_LT_AC_LANG_GCJ])
-])# AC_LIBTOOL_GCJ
-
-
-# _LT_AC_LANG_GCJ
-# ---------------
-AC_DEFUN([_LT_AC_LANG_GCJ],
-[AC_PROVIDE_IFELSE([AC_PROG_GCJ],[],
- [AC_PROVIDE_IFELSE([A][M_PROG_GCJ],[],
- [AC_PROVIDE_IFELSE([LT_AC_PROG_GCJ],[],
- [ifdef([AC_PROG_GCJ],[AC_REQUIRE([AC_PROG_GCJ])],
- [ifdef([A][M_PROG_GCJ],[AC_REQUIRE([A][M_PROG_GCJ])],
- [AC_REQUIRE([A][C_PROG_GCJ_OR_A][M_PROG_GCJ])])])])])])
-_LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}GCJ])
-])# _LT_AC_LANG_GCJ
-
-
-# AC_LIBTOOL_RC
-# -------------
-# enable support for Windows resource files
-AC_DEFUN([AC_LIBTOOL_RC],
-[AC_REQUIRE([LT_AC_PROG_RC])
-_LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}RC])
-])# AC_LIBTOOL_RC
-
-
-# AC_LIBTOOL_LANG_C_CONFIG
-# ------------------------
-# Ensure that the configuration vars for the C compiler are
-# suitably defined. Those variables are subsequently used by
-# AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'.
-AC_DEFUN([AC_LIBTOOL_LANG_C_CONFIG], [_LT_AC_LANG_C_CONFIG])
-AC_DEFUN([_LT_AC_LANG_C_CONFIG],
-[lt_save_CC="$CC"
-AC_LANG_PUSH(C)
-
-# Source file extension for C test sources.
-ac_ext=c
-
-# Object file extension for compiled C test sources.
-objext=o
-_LT_AC_TAGVAR(objext, $1)=$objext
-
-# Code to be used in simple compile tests
-lt_simple_compile_test_code="int some_variable = 0;"
-
-# Code to be used in simple link tests
-lt_simple_link_test_code='int main(){return(0);}'
-_LT_AC_SYS_COMPILER
-
-# save warnings/boilerplate of simple test code
-_LT_COMPILER_BOILERPLATE
-_LT_LINKER_BOILERPLATE
-
-AC_LIBTOOL_PROG_COMPILER_NO_RTTI($1)
-AC_LIBTOOL_PROG_COMPILER_PIC($1)
-AC_LIBTOOL_PROG_CC_C_O($1)
-AC_LIBTOOL_SYS_HARD_LINK_LOCKS($1)
-AC_LIBTOOL_PROG_LD_SHLIBS($1)
-AC_LIBTOOL_SYS_DYNAMIC_LINKER($1)
-AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH($1)
-AC_LIBTOOL_SYS_LIB_STRIP
-AC_LIBTOOL_DLOPEN_SELF
-
-# Report which library types will actually be built
-AC_MSG_CHECKING([if libtool supports shared libraries])
-AC_MSG_RESULT([$can_build_shared])
-
-AC_MSG_CHECKING([whether to build shared libraries])
-test "$can_build_shared" = "no" && enable_shared=no
-
-# On AIX, shared libraries and static libraries use the same namespace, and
-# are all built from PIC.
-case $host_os in
-aix3*)
- test "$enable_shared" = yes && enable_static=no
- if test -n "$RANLIB"; then
- archive_cmds="$archive_cmds~\$RANLIB \$lib"
- postinstall_cmds='$RANLIB $lib'
- fi
- ;;
-
-aix4* | aix5*)
- if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
- test "$enable_shared" = yes && enable_static=no
- fi
- ;;
-esac
-AC_MSG_RESULT([$enable_shared])
-
-AC_MSG_CHECKING([whether to build static libraries])
-# Make sure either enable_shared or enable_static is yes.
-test "$enable_shared" = yes || enable_static=yes
-AC_MSG_RESULT([$enable_static])
-
-AC_LIBTOOL_CONFIG($1)
-
-AC_LANG_POP
-CC="$lt_save_CC"
-])# AC_LIBTOOL_LANG_C_CONFIG
-
-
-# AC_LIBTOOL_LANG_CXX_CONFIG
-# --------------------------
-# Ensure that the configuration vars for the C compiler are
-# suitably defined. Those variables are subsequently used by
-# AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'.
-AC_DEFUN([AC_LIBTOOL_LANG_CXX_CONFIG], [_LT_AC_LANG_CXX_CONFIG(CXX)])
-AC_DEFUN([_LT_AC_LANG_CXX_CONFIG],
-[AC_LANG_PUSH(C++)
-AC_REQUIRE([AC_PROG_CXX])
-AC_REQUIRE([_LT_AC_PROG_CXXCPP])
-
-_LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
-_LT_AC_TAGVAR(allow_undefined_flag, $1)=
-_LT_AC_TAGVAR(always_export_symbols, $1)=no
-_LT_AC_TAGVAR(archive_expsym_cmds, $1)=
-_LT_AC_TAGVAR(export_dynamic_flag_spec, $1)=
-_LT_AC_TAGVAR(hardcode_direct, $1)=no
-_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)=
-_LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)=
-_LT_AC_TAGVAR(hardcode_libdir_separator, $1)=
-_LT_AC_TAGVAR(hardcode_minus_L, $1)=no
-_LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
-_LT_AC_TAGVAR(hardcode_automatic, $1)=no
-_LT_AC_TAGVAR(module_cmds, $1)=
-_LT_AC_TAGVAR(module_expsym_cmds, $1)=
-_LT_AC_TAGVAR(link_all_deplibs, $1)=unknown
-_LT_AC_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
-_LT_AC_TAGVAR(no_undefined_flag, $1)=
-_LT_AC_TAGVAR(whole_archive_flag_spec, $1)=
-_LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=no
-
-# Dependencies to place before and after the object being linked:
-_LT_AC_TAGVAR(predep_objects, $1)=
-_LT_AC_TAGVAR(postdep_objects, $1)=
-_LT_AC_TAGVAR(predeps, $1)=
-_LT_AC_TAGVAR(postdeps, $1)=
-_LT_AC_TAGVAR(compiler_lib_search_path, $1)=
-
-# Source file extension for C++ test sources.
-ac_ext=cpp
-
-# Object file extension for compiled C++ test sources.
-objext=o
-_LT_AC_TAGVAR(objext, $1)=$objext
-
-# Code to be used in simple compile tests
-lt_simple_compile_test_code="int some_variable = 0;"
-
-# Code to be used in simple link tests
-lt_simple_link_test_code='int main(int, char *[[]]) { return(0); }'
-
-# ltmain only uses $CC for tagged configurations so make sure $CC is set.
-_LT_AC_SYS_COMPILER
-
-# save warnings/boilerplate of simple test code
-_LT_COMPILER_BOILERPLATE
-_LT_LINKER_BOILERPLATE
-
-# Allow CC to be a program name with arguments.
-lt_save_CC=$CC
-lt_save_LD=$LD
-lt_save_GCC=$GCC
-GCC=$GXX
-lt_save_with_gnu_ld=$with_gnu_ld
-lt_save_path_LD=$lt_cv_path_LD
-if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then
- lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx
-else
- $as_unset lt_cv_prog_gnu_ld
-fi
-if test -n "${lt_cv_path_LDCXX+set}"; then
- lt_cv_path_LD=$lt_cv_path_LDCXX
-else
- $as_unset lt_cv_path_LD
-fi
-test -z "${LDCXX+set}" || LD=$LDCXX
-CC=${CXX-"c++"}
-compiler=$CC
-_LT_AC_TAGVAR(compiler, $1)=$CC
-_LT_CC_BASENAME([$compiler])
-
-# We don't want -fno-exception wen compiling C++ code, so set the
-# no_builtin_flag separately
-if test "$GXX" = yes; then
- _LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin'
-else
- _LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=
-fi
-
-if test "$GXX" = yes; then
- # Set up default GNU C++ configuration
-
- AC_PROG_LD
-
- # Check if GNU C++ uses GNU ld as the underlying linker, since the
- # archiving commands below assume that GNU ld is being used.
- if test "$with_gnu_ld" = yes; then
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
-
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir'
- _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
-
- # If archive_cmds runs LD, not CC, wlarc should be empty
- # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to
- # investigate it a little bit more. (MM)
- wlarc='${wl}'
-
- # ancient GNU ld didn't support --whole-archive et. al.
- if eval "`$CC -print-prog-name=ld` --help 2>&1" | \
- grep 'no-whole-archive' > /dev/null; then
- _LT_AC_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
- else
- _LT_AC_TAGVAR(whole_archive_flag_spec, $1)=
- fi
- else
- with_gnu_ld=no
- wlarc=
-
- # A generic and very simple default shared library creation
- # command for GNU C++ for the case where it uses the native
- # linker, instead of GNU ld. If possible, this setting should
- # overridden to take advantage of the native linker features on
- # the platform it is being used on.
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
- fi
-
- # Commands to make compiler produce verbose output that lists
- # what "hidden" libraries, object files and flags are used when
- # linking a shared library.
- output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"'
-
-else
- GXX=no
- with_gnu_ld=no
- wlarc=
-fi
-
-# PORTME: fill in a description of your system's C++ link characteristics
-AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries])
-_LT_AC_TAGVAR(ld_shlibs, $1)=yes
-case $host_os in
- aix3*)
- # FIXME: insert proper C++ library support
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- ;;
- aix4* | aix5*)
- if test "$host_cpu" = ia64; then
- # On IA64, the linker does run time linking by default, so we don't
- # have to do anything special.
- aix_use_runtimelinking=no
- exp_sym_flag='-Bexport'
- no_entry_flag=""
- else
- aix_use_runtimelinking=no
-
- # Test if we are trying to use run time linking or normal
- # AIX style linking. If -brtl is somewhere in LDFLAGS, we
- # need to do runtime linking.
- case $host_os in aix4.[[23]]|aix4.[[23]].*|aix5*)
- for ld_flag in $LDFLAGS; do
- case $ld_flag in
- *-brtl*)
- aix_use_runtimelinking=yes
- break
- ;;
- esac
- done
- ;;
- esac
-
- exp_sym_flag='-bexport'
- no_entry_flag='-bnoentry'
- fi
-
- # When large executables or shared objects are built, AIX ld can
- # have problems creating the table of contents. If linking a library
- # or program results in "error TOC overflow" add -mminimal-toc to
- # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not
- # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
-
- _LT_AC_TAGVAR(archive_cmds, $1)=''
- _LT_AC_TAGVAR(hardcode_direct, $1)=yes
- _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':'
- _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
-
- if test "$GXX" = yes; then
- case $host_os in aix4.[[012]]|aix4.[[012]].*)
- # We only want to do this on AIX 4.2 and lower, the check
- # below for broken collect2 doesn't work under 4.3+
- collect2name=`${CC} -print-prog-name=collect2`
- if test -f "$collect2name" && \
- strings "$collect2name" | grep resolve_lib_name >/dev/null
- then
- # We have reworked collect2
- :
- else
- # We have old collect2
- _LT_AC_TAGVAR(hardcode_direct, $1)=unsupported
- # It fails to find uninstalled libraries when the uninstalled
- # path is not listed in the libpath. Setting hardcode_minus_L
- # to unsupported forces relinking
- _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
- _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=
- fi
- ;;
- esac
- shared_flag='-shared'
- if test "$aix_use_runtimelinking" = yes; then
- shared_flag="$shared_flag "'${wl}-G'
- fi
- else
- # not using gcc
- if test "$host_cpu" = ia64; then
- # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
- # chokes on -Wl,-G. The following line is correct:
- shared_flag='-G'
- else
- if test "$aix_use_runtimelinking" = yes; then
- shared_flag='${wl}-G'
- else
- shared_flag='${wl}-bM:SRE'
- fi
- fi
- fi
-
- # It seems that -bexpall does not export symbols beginning with
- # underscore (_), so it is better to generate a list of symbols to export.
- _LT_AC_TAGVAR(always_export_symbols, $1)=yes
- if test "$aix_use_runtimelinking" = yes; then
- # Warning - without using the other runtime loading flags (-brtl),
- # -berok will link without error, but may produce a broken library.
- _LT_AC_TAGVAR(allow_undefined_flag, $1)='-berok'
- # Determine the default libpath from the value encoded in an empty executable.
- _LT_AC_SYS_LIBPATH_AIX
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
-
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
- else
- if test "$host_cpu" = ia64; then
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib'
- _LT_AC_TAGVAR(allow_undefined_flag, $1)="-z nodefs"
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols"
- else
- # Determine the default libpath from the value encoded in an empty executable.
- _LT_AC_SYS_LIBPATH_AIX
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
- # Warning - without using the other run time loading flags,
- # -berok will link without error, but may produce a broken library.
- _LT_AC_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok'
- _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok'
- # Exported symbols can be pulled into shared objects from archives
- _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='$convenience'
- _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes
- # This is similar to how AIX traditionally builds its shared libraries.
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
- fi
- fi
- ;;
-
- beos*)
- if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
- _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported
- # Joseph Beckenbach <jrb3@best.com> says some releases of gcc
- # support --undefined. This deserves some investigation. FIXME
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- else
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- fi
- ;;
-
- chorus*)
- case $cc_basename in
- *)
- # FIXME: insert proper C++ library support
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- ;;
- esac
- ;;
-
- cygwin* | mingw* | pw32*)
- # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless,
- # as there is no search path for DLLs.
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
- _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported
- _LT_AC_TAGVAR(always_export_symbols, $1)=no
- _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
-
- if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
- # If the export-symbols file already is a .def file (1st line
- # is EXPORTS), use it as is; otherwise, prepend...
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
- cp $export_symbols $output_objdir/$soname.def;
- else
- echo EXPORTS > $output_objdir/$soname.def;
- cat $export_symbols >> $output_objdir/$soname.def;
- fi~
- $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
- else
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- fi
- ;;
- darwin* | rhapsody*)
- case $host_os in
- rhapsody* | darwin1.[[012]])
- _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-undefined ${wl}suppress'
- ;;
- *) # Darwin 1.3 on
- if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then
- _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-flat_namespace ${wl}-undefined ${wl}suppress'
- else
- case ${MACOSX_DEPLOYMENT_TARGET} in
- 10.[[012]])
- _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-flat_namespace ${wl}-undefined ${wl}suppress'
- ;;
- 10.*)
- _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-undefined ${wl}dynamic_lookup'
- ;;
- esac
- fi
- ;;
- esac
- _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
- _LT_AC_TAGVAR(hardcode_direct, $1)=no
- _LT_AC_TAGVAR(hardcode_automatic, $1)=yes
- _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
- _LT_AC_TAGVAR(whole_archive_flag_spec, $1)=''
- _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
-
- if test "$GXX" = yes ; then
- lt_int_apple_cc_single_mod=no
- output_verbose_link_cmd='echo'
- if $CC -dumpspecs 2>&1 | $EGREP 'single_module' >/dev/null ; then
- lt_int_apple_cc_single_mod=yes
- fi
- if test "X$lt_int_apple_cc_single_mod" = Xyes ; then
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring'
- else
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -r -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring'
- fi
- _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
- # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds
- if test "X$lt_int_apple_cc_single_mod" = Xyes ; then
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
- else
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -r -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
- fi
- _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
- else
- case $cc_basename in
- xlc*)
- output_verbose_link_cmd='echo'
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $xlcverstring'
- _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
- # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $xlcverstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
- _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
- ;;
- *)
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- ;;
- esac
- fi
- ;;
-
- dgux*)
- case $cc_basename in
- ec++*)
- # FIXME: insert proper C++ library support
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- ;;
- ghcx*)
- # Green Hills C++ Compiler
- # FIXME: insert proper C++ library support
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- ;;
- *)
- # FIXME: insert proper C++ library support
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- ;;
- esac
- ;;
- freebsd[[12]]*)
- # C++ shared libraries reported to be fairly broken before switch to ELF
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- ;;
- freebsd-elf*)
- _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
- ;;
- freebsd* | dragonfly*)
- # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF
- # conventions
- _LT_AC_TAGVAR(ld_shlibs, $1)=yes
- ;;
- gnu*)
- ;;
- hpux9*)
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
- _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
- _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
- _LT_AC_TAGVAR(hardcode_direct, $1)=yes
- _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH,
- # but as the default
- # location of the library.
-
- case $cc_basename in
- CC*)
- # FIXME: insert proper C++ library support
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- ;;
- aCC*)
- _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$CC -b ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
- # Commands to make compiler produce verbose output that lists
- # what "hidden" libraries, object files and flags are used when
- # linking a shared library.
- #
- # There doesn't appear to be a way to prevent this compiler from
- # explicitly linking system object files so we need to strip them
- # from the output so that they don't get included in the library
- # dependencies.
- output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | grep "[[-]]L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
- ;;
- *)
- if test "$GXX" = yes; then
- _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$CC -shared -nostdlib -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
- else
- # FIXME: insert proper C++ library support
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- fi
- ;;
- esac
- ;;
- hpux10*|hpux11*)
- if test $with_gnu_ld = no; then
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
- _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
-
- case $host_cpu in
- hppa*64*|ia64*) ;;
- *)
- _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
- ;;
- esac
- fi
- case $host_cpu in
- hppa*64*|ia64*)
- _LT_AC_TAGVAR(hardcode_direct, $1)=no
- _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
- ;;
- *)
- _LT_AC_TAGVAR(hardcode_direct, $1)=yes
- _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH,
- # but as the default
- # location of the library.
- ;;
- esac
-
- case $cc_basename in
- CC*)
- # FIXME: insert proper C++ library support
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- ;;
- aCC*)
- case $host_cpu in
- hppa*64*)
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
- ;;
- ia64*)
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
- ;;
- *)
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
- ;;
- esac
- # Commands to make compiler produce verbose output that lists
- # what "hidden" libraries, object files and flags are used when
- # linking a shared library.
- #
- # There doesn't appear to be a way to prevent this compiler from
- # explicitly linking system object files so we need to strip them
- # from the output so that they don't get included in the library
- # dependencies.
- output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | grep "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
- ;;
- *)
- if test "$GXX" = yes; then
- if test $with_gnu_ld = no; then
- case $host_cpu in
- hppa*64*)
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
- ;;
- ia64*)
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
- ;;
- *)
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
- ;;
- esac
- fi
- else
- # FIXME: insert proper C++ library support
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- fi
- ;;
- esac
- ;;
- interix[[3-9]]*)
- _LT_AC_TAGVAR(hardcode_direct, $1)=no
- _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
- _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
- # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
- # Instead, shared libraries are loaded at an image base (0x10000000 by
- # default) and relocated if they conflict, which is a slow very memory
- # consuming and fragmenting process. To avoid this, we pick a random,
- # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
- # time. Moving up from 0x10000000 also allows more sbrk(2) space.
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
- ;;
- irix5* | irix6*)
- case $cc_basename in
- CC*)
- # SGI C++
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
-
- # Archives containing C++ object files must be created using
- # "CC -ar", where "CC" is the IRIX C++ compiler. This is
- # necessary to make sure instantiated templates are included
- # in the archive.
- _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -ar -WR,-u -o $oldlib $oldobjs'
- ;;
- *)
- if test "$GXX" = yes; then
- if test "$with_gnu_ld" = no; then
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
- else
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` -o $lib'
- fi
- fi
- _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
- ;;
- esac
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
- _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
- ;;
- linux* | k*bsd*-gnu)
- case $cc_basename in
- KCC*)
- # Kuck and Associates, Inc. (KAI) C++ Compiler
-
- # KCC will only create a shared library if the output file
- # ends with ".so" (or ".sl" for HP-UX), so rename the library
- # to its proper name (with version) after linking.
- _LT_AC_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib ${wl}-retain-symbols-file,$export_symbols; mv \$templib $lib'
- # Commands to make compiler produce verbose output that lists
- # what "hidden" libraries, object files and flags are used when
- # linking a shared library.
- #
- # There doesn't appear to be a way to prevent this compiler from
- # explicitly linking system object files so we need to strip them
- # from the output so that they don't get included in the library
- # dependencies.
- output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | grep "ld"`; rm -f libconftest$shared_ext; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
-
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath,$libdir'
- _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
-
- # Archives containing C++ object files must be created using
- # "CC -Bstatic", where "CC" is the KAI C++ compiler.
- _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs'
- ;;
- icpc*)
- # Intel C++
- with_gnu_ld=yes
- # version 8.0 and above of icpc choke on multiply defined symbols
- # if we add $predep_objects and $postdep_objects, however 7.1 and
- # earlier do not add the objects themselves.
- case `$CC -V 2>&1` in
- *"Version 7."*)
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
- ;;
- *) # Version 8.0 or newer
- tmp_idyn=
- case $host_cpu in
- ia64*) tmp_idyn=' -i_dynamic';;
- esac
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
- ;;
- esac
- _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
- _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
- _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive'
- ;;
- pgCC*)
- # Portland Group C++ compiler
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib'
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib'
-
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir'
- _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
- _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
- ;;
- cxx*)
- # Compaq C++
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib ${wl}-retain-symbols-file $wl$export_symbols'
-
- runpath_var=LD_RUN_PATH
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
- _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
-
- # Commands to make compiler produce verbose output that lists
- # what "hidden" libraries, object files and flags are used when
- # linking a shared library.
- #
- # There doesn't appear to be a way to prevent this compiler from
- # explicitly linking system object files so we need to strip them
- # from the output so that they don't get included in the library
- # dependencies.
- output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
- ;;
- *)
- case `$CC -V 2>&1 | sed 5q` in
- *Sun\ C*)
- # Sun C++ 5.9
- _LT_AC_TAGVAR(no_undefined_flag, $1)=' -zdefs'
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file ${wl}$export_symbols'
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
- _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
-
- # Not sure whether something based on
- # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1
- # would be better.
- output_verbose_link_cmd='echo'
-
- # Archives containing C++ object files must be created using
- # "CC -xar", where "CC" is the Sun C++ compiler. This is
- # necessary to make sure instantiated templates are included
- # in the archive.
- _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs'
- ;;
- esac
- ;;
- esac
- ;;
- lynxos*)
- # FIXME: insert proper C++ library support
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- ;;
- m88k*)
- # FIXME: insert proper C++ library support
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- ;;
- mvs*)
- case $cc_basename in
- cxx*)
- # FIXME: insert proper C++ library support
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- ;;
- *)
- # FIXME: insert proper C++ library support
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- ;;
- esac
- ;;
- netbsd*)
- if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
- _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags'
- wlarc=
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
- _LT_AC_TAGVAR(hardcode_direct, $1)=yes
- _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
- fi
- # Workaround some broken pre-1.5 toolchains
- output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"'
- ;;
- openbsd2*)
- # C++ shared libraries are fairly broken
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- ;;
- openbsd*)
- if test -f /usr/libexec/ld.so; then
- _LT_AC_TAGVAR(hardcode_direct, $1)=yes
- _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
- if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file,$export_symbols -o $lib'
- _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
- _LT_AC_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
- fi
- output_verbose_link_cmd='echo'
- else
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- fi
- ;;
- osf3*)
- case $cc_basename in
- KCC*)
- # Kuck and Associates, Inc. (KAI) C++ Compiler
-
- # KCC will only create a shared library if the output file
- # ends with ".so" (or ".sl" for HP-UX), so rename the library
- # to its proper name (with version) after linking.
- _LT_AC_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
-
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
- _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
-
- # Archives containing C++ object files must be created using
- # "CC -Bstatic", where "CC" is the KAI C++ compiler.
- _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs'
-
- ;;
- RCC*)
- # Rational C++ 2.4.1
- # FIXME: insert proper C++ library support
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- ;;
- cxx*)
- _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && echo ${wl}-set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
-
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
- _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
-
- # Commands to make compiler produce verbose output that lists
- # what "hidden" libraries, object files and flags are used when
- # linking a shared library.
- #
- # There doesn't appear to be a way to prevent this compiler from
- # explicitly linking system object files so we need to strip them
- # from the output so that they don't get included in the library
- # dependencies.
- output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld" | grep -v "ld:"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
- ;;
- *)
- if test "$GXX" = yes && test "$with_gnu_ld" = no; then
- _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
-
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
- _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
-
- # Commands to make compiler produce verbose output that lists
- # what "hidden" libraries, object files and flags are used when
- # linking a shared library.
- output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"'
-
- else
- # FIXME: insert proper C++ library support
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- fi
- ;;
- esac
- ;;
- osf4* | osf5*)
- case $cc_basename in
- KCC*)
- # Kuck and Associates, Inc. (KAI) C++ Compiler
-
- # KCC will only create a shared library if the output file
- # ends with ".so" (or ".sl" for HP-UX), so rename the library
- # to its proper name (with version) after linking.
- _LT_AC_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
-
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
- _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
-
- # Archives containing C++ object files must be created using
- # the KAI C++ compiler.
- _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -o $oldlib $oldobjs'
- ;;
- RCC*)
- # Rational C++ 2.4.1
- # FIXME: insert proper C++ library support
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- ;;
- cxx*)
- _LT_AC_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~
- echo "-hidden">> $lib.exp~
- $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname -Wl,-input -Wl,$lib.exp `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~
- $rm $lib.exp'
-
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
- _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
-
- # Commands to make compiler produce verbose output that lists
- # what "hidden" libraries, object files and flags are used when
- # linking a shared library.
- #
- # There doesn't appear to be a way to prevent this compiler from
- # explicitly linking system object files so we need to strip them
- # from the output so that they don't get included in the library
- # dependencies.
- output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld" | grep -v "ld:"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
- ;;
- *)
- if test "$GXX" = yes && test "$with_gnu_ld" = no; then
- _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
-
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
- _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
-
- # Commands to make compiler produce verbose output that lists
- # what "hidden" libraries, object files and flags are used when
- # linking a shared library.
- output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"'
-
- else
- # FIXME: insert proper C++ library support
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- fi
- ;;
- esac
- ;;
- psos*)
- # FIXME: insert proper C++ library support
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- ;;
- sunos4*)
- case $cc_basename in
- CC*)
- # Sun C++ 4.x
- # FIXME: insert proper C++ library support
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- ;;
- lcc*)
- # Lucid
- # FIXME: insert proper C++ library support
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- ;;
- *)
- # FIXME: insert proper C++ library support
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- ;;
- esac
- ;;
- solaris*)
- case $cc_basename in
- CC*)
- # Sun C++ 4.2, 5.x and Centerline C++
- _LT_AC_TAGVAR(archive_cmds_need_lc,$1)=yes
- _LT_AC_TAGVAR(no_undefined_flag, $1)=' -zdefs'
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
- $CC -G${allow_undefined_flag} ${wl}-M ${wl}$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp'
-
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
- _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
- case $host_os in
- solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
- *)
- # The compiler driver will combine and reorder linker options,
- # but understands `-z linker_flag'.
- # Supported since Solaris 2.6 (maybe 2.5.1?)
- _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract'
- ;;
- esac
- _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
-
- output_verbose_link_cmd='echo'
-
- # Archives containing C++ object files must be created using
- # "CC -xar", where "CC" is the Sun C++ compiler. This is
- # necessary to make sure instantiated templates are included
- # in the archive.
- _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs'
- ;;
- gcx*)
- # Green Hills C++ Compiler
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
-
- # The C++ compiler must be used to create the archive.
- _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC $LDFLAGS -archive -o $oldlib $oldobjs'
- ;;
- *)
- # GNU C++ compiler with Solaris linker
- if test "$GXX" = yes && test "$with_gnu_ld" = no; then
- _LT_AC_TAGVAR(no_undefined_flag, $1)=' ${wl}-z ${wl}defs'
- if $CC --version | grep -v '^2\.7' > /dev/null; then
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
- $CC -shared -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp'
-
- # Commands to make compiler produce verbose output that lists
- # what "hidden" libraries, object files and flags are used when
- # linking a shared library.
- output_verbose_link_cmd="$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep \"\-L\""
- else
- # g++ 2.7 appears to require `-G' NOT `-shared' on this
- # platform.
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
- $CC -G -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp'
-
- # Commands to make compiler produce verbose output that lists
- # what "hidden" libraries, object files and flags are used when
- # linking a shared library.
- output_verbose_link_cmd="$CC -G $CFLAGS -v conftest.$objext 2>&1 | grep \"\-L\""
- fi
-
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $wl$libdir'
- case $host_os in
- solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
- *)
- _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
- ;;
- esac
- fi
- ;;
- esac
- ;;
- sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*)
- _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
- _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
- _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
- runpath_var='LD_RUN_PATH'
-
- case $cc_basename in
- CC*)
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- *)
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- esac
- ;;
- sysv5* | sco3.2v5* | sco5v6*)
- # Note: We can NOT use -z defs as we might desire, because we do not
- # link with -lc, and that would cause any symbols used from libc to
- # always be unresolved, which means just about no library would
- # ever link correctly. If we're not using GNU ld we use -z text
- # though, which does catch some bad symbols but isn't as heavy-handed
- # as -z defs.
- # For security reasons, it is highly recommended that you always
- # use absolute paths for naming shared libraries, and exclude the
- # DT_RUNPATH tag from executables and libraries. But doing so
- # requires that you compile everything twice, which is a pain.
- # So that behaviour is only enabled if SCOABSPATH is set to a
- # non-empty value in the environment. Most likely only useful for
- # creating official distributions of packages.
- # This is a hack until libtool officially supports absolute path
- # names for shared libraries.
- _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
- _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs'
- _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
- _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`'
- _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':'
- _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
- _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport'
- runpath_var='LD_RUN_PATH'
-
- case $cc_basename in
- CC*)
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- *)
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- esac
- ;;
- tandem*)
- case $cc_basename in
- NCC*)
- # NonStop-UX NCC 3.20
- # FIXME: insert proper C++ library support
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- ;;
- *)
- # FIXME: insert proper C++ library support
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- ;;
- esac
- ;;
- vxworks*)
- # FIXME: insert proper C++ library support
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- ;;
- *)
- # FIXME: insert proper C++ library support
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- ;;
-esac
-AC_MSG_RESULT([$_LT_AC_TAGVAR(ld_shlibs, $1)])
-test "$_LT_AC_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no
-
-_LT_AC_TAGVAR(GCC, $1)="$GXX"
-_LT_AC_TAGVAR(LD, $1)="$LD"
-
-AC_LIBTOOL_POSTDEP_PREDEP($1)
-AC_LIBTOOL_PROG_COMPILER_PIC($1)
-AC_LIBTOOL_PROG_CC_C_O($1)
-AC_LIBTOOL_SYS_HARD_LINK_LOCKS($1)
-AC_LIBTOOL_PROG_LD_SHLIBS($1)
-AC_LIBTOOL_SYS_DYNAMIC_LINKER($1)
-AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH($1)
-
-AC_LIBTOOL_CONFIG($1)
-
-AC_LANG_POP
-CC=$lt_save_CC
-LDCXX=$LD
-LD=$lt_save_LD
-GCC=$lt_save_GCC
-with_gnu_ldcxx=$with_gnu_ld
-with_gnu_ld=$lt_save_with_gnu_ld
-lt_cv_path_LDCXX=$lt_cv_path_LD
-lt_cv_path_LD=$lt_save_path_LD
-lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld
-lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld
-])# AC_LIBTOOL_LANG_CXX_CONFIG
-
-# AC_LIBTOOL_POSTDEP_PREDEP([TAGNAME])
-# ------------------------------------
-# Figure out "hidden" library dependencies from verbose
-# compiler output when linking a shared library.
-# Parse the compiler output and extract the necessary
-# objects, libraries and library flags.
-AC_DEFUN([AC_LIBTOOL_POSTDEP_PREDEP],[
-dnl we can't use the lt_simple_compile_test_code here,
-dnl because it contains code intended for an executable,
-dnl not a library. It's possible we should let each
-dnl tag define a new lt_????_link_test_code variable,
-dnl but it's only used here...
-ifelse([$1],[],[cat > conftest.$ac_ext <<EOF
-int a;
-void foo (void) { a = 0; }
-EOF
-],[$1],[CXX],[cat > conftest.$ac_ext <<EOF
-class Foo
-{
-public:
- Foo (void) { a = 0; }
-private:
- int a;
-};
-EOF
-],[$1],[F77],[cat > conftest.$ac_ext <<EOF
- subroutine foo
- implicit none
- integer*4 a
- a=0
- return
- end
-EOF
-],[$1],[GCJ],[cat > conftest.$ac_ext <<EOF
-public class foo {
- private int a;
- public void bar (void) {
- a = 0;
- }
-};
-EOF
-])
-dnl Parse the compiler output and extract the necessary
-dnl objects, libraries and library flags.
-if AC_TRY_EVAL(ac_compile); then
- # Parse the compiler output and extract the necessary
- # objects, libraries and library flags.
-
- # Sentinel used to keep track of whether or not we are before
- # the conftest object file.
- pre_test_object_deps_done=no
-
- # The `*' in the case matches for architectures that use `case' in
- # $output_verbose_cmd can trigger glob expansion during the loop
- # eval without this substitution.
- output_verbose_link_cmd=`$echo "X$output_verbose_link_cmd" | $Xsed -e "$no_glob_subst"`
-
- for p in `eval $output_verbose_link_cmd`; do
- case $p in
-
- -L* | -R* | -l*)
- # Some compilers place space between "-{L,R}" and the path.
- # Remove the space.
- if test $p = "-L" \
- || test $p = "-R"; then
- prev=$p
- continue
- else
- prev=
- fi
-
- if test "$pre_test_object_deps_done" = no; then
- case $p in
- -L* | -R*)
- # Internal compiler library paths should come after those
- # provided the user. The postdeps already come after the
- # user supplied libs so there is no need to process them.
- if test -z "$_LT_AC_TAGVAR(compiler_lib_search_path, $1)"; then
- _LT_AC_TAGVAR(compiler_lib_search_path, $1)="${prev}${p}"
- else
- _LT_AC_TAGVAR(compiler_lib_search_path, $1)="${_LT_AC_TAGVAR(compiler_lib_search_path, $1)} ${prev}${p}"
- fi
- ;;
- # The "-l" case would never come before the object being
- # linked, so don't bother handling this case.
- esac
- else
- if test -z "$_LT_AC_TAGVAR(postdeps, $1)"; then
- _LT_AC_TAGVAR(postdeps, $1)="${prev}${p}"
- else
- _LT_AC_TAGVAR(postdeps, $1)="${_LT_AC_TAGVAR(postdeps, $1)} ${prev}${p}"
- fi
- fi
- ;;
-
- *.$objext)
- # This assumes that the test object file only shows up
- # once in the compiler output.
- if test "$p" = "conftest.$objext"; then
- pre_test_object_deps_done=yes
- continue
- fi
-
- if test "$pre_test_object_deps_done" = no; then
- if test -z "$_LT_AC_TAGVAR(predep_objects, $1)"; then
- _LT_AC_TAGVAR(predep_objects, $1)="$p"
- else
- _LT_AC_TAGVAR(predep_objects, $1)="$_LT_AC_TAGVAR(predep_objects, $1) $p"
- fi
- else
- if test -z "$_LT_AC_TAGVAR(postdep_objects, $1)"; then
- _LT_AC_TAGVAR(postdep_objects, $1)="$p"
- else
- _LT_AC_TAGVAR(postdep_objects, $1)="$_LT_AC_TAGVAR(postdep_objects, $1) $p"
- fi
- fi
- ;;
-
- *) ;; # Ignore the rest.
-
- esac
- done
-
- # Clean up.
- rm -f a.out a.exe
-else
- echo "libtool.m4: error: problem compiling $1 test program"
-fi
-
-$rm -f confest.$objext
-
-# PORTME: override above test on systems where it is broken
-ifelse([$1],[CXX],
-[case $host_os in
-interix[[3-9]]*)
- # Interix 3.5 installs completely hosed .la files for C++, so rather than
- # hack all around it, let's just trust "g++" to DTRT.
- _LT_AC_TAGVAR(predep_objects,$1)=
- _LT_AC_TAGVAR(postdep_objects,$1)=
- _LT_AC_TAGVAR(postdeps,$1)=
- ;;
-
-linux*)
- case `$CC -V 2>&1 | sed 5q` in
- *Sun\ C*)
- # Sun C++ 5.9
- #
- # The more standards-conforming stlport4 library is
- # incompatible with the Cstd library. Avoid specifying
- # it if it's in CXXFLAGS. Ignore libCrun as
- # -library=stlport4 depends on it.
- case " $CXX $CXXFLAGS " in
- *" -library=stlport4 "*)
- solaris_use_stlport4=yes
- ;;
- esac
- if test "$solaris_use_stlport4" != yes; then
- _LT_AC_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun'
- fi
- ;;
- esac
- ;;
-
-solaris*)
- case $cc_basename in
- CC*)
- # The more standards-conforming stlport4 library is
- # incompatible with the Cstd library. Avoid specifying
- # it if it's in CXXFLAGS. Ignore libCrun as
- # -library=stlport4 depends on it.
- case " $CXX $CXXFLAGS " in
- *" -library=stlport4 "*)
- solaris_use_stlport4=yes
- ;;
- esac
-
- # Adding this requires a known-good setup of shared libraries for
- # Sun compiler versions before 5.6, else PIC objects from an old
- # archive will be linked into the output, leading to subtle bugs.
- if test "$solaris_use_stlport4" != yes; then
- _LT_AC_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun'
- fi
- ;;
- esac
- ;;
-esac
-])
-
-case " $_LT_AC_TAGVAR(postdeps, $1) " in
-*" -lc "*) _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no ;;
-esac
-])# AC_LIBTOOL_POSTDEP_PREDEP
-
-# AC_LIBTOOL_LANG_F77_CONFIG
-# --------------------------
-# Ensure that the configuration vars for the C compiler are
-# suitably defined. Those variables are subsequently used by
-# AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'.
-AC_DEFUN([AC_LIBTOOL_LANG_F77_CONFIG], [_LT_AC_LANG_F77_CONFIG(F77)])
-AC_DEFUN([_LT_AC_LANG_F77_CONFIG],
-[AC_REQUIRE([AC_PROG_F77])
-AC_LANG_PUSH(Fortran 77)
-
-_LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
-_LT_AC_TAGVAR(allow_undefined_flag, $1)=
-_LT_AC_TAGVAR(always_export_symbols, $1)=no
-_LT_AC_TAGVAR(archive_expsym_cmds, $1)=
-_LT_AC_TAGVAR(export_dynamic_flag_spec, $1)=
-_LT_AC_TAGVAR(hardcode_direct, $1)=no
-_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)=
-_LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)=
-_LT_AC_TAGVAR(hardcode_libdir_separator, $1)=
-_LT_AC_TAGVAR(hardcode_minus_L, $1)=no
-_LT_AC_TAGVAR(hardcode_automatic, $1)=no
-_LT_AC_TAGVAR(module_cmds, $1)=
-_LT_AC_TAGVAR(module_expsym_cmds, $1)=
-_LT_AC_TAGVAR(link_all_deplibs, $1)=unknown
-_LT_AC_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
-_LT_AC_TAGVAR(no_undefined_flag, $1)=
-_LT_AC_TAGVAR(whole_archive_flag_spec, $1)=
-_LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=no
-
-# Source file extension for f77 test sources.
-ac_ext=f
-
-# Object file extension for compiled f77 test sources.
-objext=o
-_LT_AC_TAGVAR(objext, $1)=$objext
-
-# Code to be used in simple compile tests
-lt_simple_compile_test_code="\
- subroutine t
- return
- end
-"
-
-# Code to be used in simple link tests
-lt_simple_link_test_code="\
- program t
- end
-"
-
-# ltmain only uses $CC for tagged configurations so make sure $CC is set.
-_LT_AC_SYS_COMPILER
-
-# save warnings/boilerplate of simple test code
-_LT_COMPILER_BOILERPLATE
-_LT_LINKER_BOILERPLATE
-
-# Allow CC to be a program name with arguments.
-lt_save_CC="$CC"
-CC=${F77-"f77"}
-compiler=$CC
-_LT_AC_TAGVAR(compiler, $1)=$CC
-_LT_CC_BASENAME([$compiler])
-
-AC_MSG_CHECKING([if libtool supports shared libraries])
-AC_MSG_RESULT([$can_build_shared])
-
-AC_MSG_CHECKING([whether to build shared libraries])
-test "$can_build_shared" = "no" && enable_shared=no
-
-# On AIX, shared libraries and static libraries use the same namespace, and
-# are all built from PIC.
-case $host_os in
-aix3*)
- test "$enable_shared" = yes && enable_static=no
- if test -n "$RANLIB"; then
- archive_cmds="$archive_cmds~\$RANLIB \$lib"
- postinstall_cmds='$RANLIB $lib'
- fi
- ;;
-aix4* | aix5*)
- if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
- test "$enable_shared" = yes && enable_static=no
- fi
- ;;
-esac
-AC_MSG_RESULT([$enable_shared])
-
-AC_MSG_CHECKING([whether to build static libraries])
-# Make sure either enable_shared or enable_static is yes.
-test "$enable_shared" = yes || enable_static=yes
-AC_MSG_RESULT([$enable_static])
-
-_LT_AC_TAGVAR(GCC, $1)="$G77"
-_LT_AC_TAGVAR(LD, $1)="$LD"
-
-AC_LIBTOOL_PROG_COMPILER_PIC($1)
-AC_LIBTOOL_PROG_CC_C_O($1)
-AC_LIBTOOL_SYS_HARD_LINK_LOCKS($1)
-AC_LIBTOOL_PROG_LD_SHLIBS($1)
-AC_LIBTOOL_SYS_DYNAMIC_LINKER($1)
-AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH($1)
-
-AC_LIBTOOL_CONFIG($1)
-
-AC_LANG_POP
-CC="$lt_save_CC"
-])# AC_LIBTOOL_LANG_F77_CONFIG
-
-
-# AC_LIBTOOL_LANG_GCJ_CONFIG
-# --------------------------
-# Ensure that the configuration vars for the C compiler are
-# suitably defined. Those variables are subsequently used by
-# AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'.
-AC_DEFUN([AC_LIBTOOL_LANG_GCJ_CONFIG], [_LT_AC_LANG_GCJ_CONFIG(GCJ)])
-AC_DEFUN([_LT_AC_LANG_GCJ_CONFIG],
-[AC_LANG_SAVE
-
-# Source file extension for Java test sources.
-ac_ext=java
-
-# Object file extension for compiled Java test sources.
-objext=o
-_LT_AC_TAGVAR(objext, $1)=$objext
-
-# Code to be used in simple compile tests
-lt_simple_compile_test_code="class foo {}"
-
-# Code to be used in simple link tests
-lt_simple_link_test_code='public class conftest { public static void main(String[[]] argv) {}; }'
-
-# ltmain only uses $CC for tagged configurations so make sure $CC is set.
-_LT_AC_SYS_COMPILER
-
-# save warnings/boilerplate of simple test code
-_LT_COMPILER_BOILERPLATE
-_LT_LINKER_BOILERPLATE
-
-# Allow CC to be a program name with arguments.
-lt_save_CC="$CC"
-CC=${GCJ-"gcj"}
-compiler=$CC
-_LT_AC_TAGVAR(compiler, $1)=$CC
-_LT_CC_BASENAME([$compiler])
-
-# GCJ did not exist at the time GCC didn't implicitly link libc in.
-_LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
-
-_LT_AC_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
-
-AC_LIBTOOL_PROG_COMPILER_NO_RTTI($1)
-AC_LIBTOOL_PROG_COMPILER_PIC($1)
-AC_LIBTOOL_PROG_CC_C_O($1)
-AC_LIBTOOL_SYS_HARD_LINK_LOCKS($1)
-AC_LIBTOOL_PROG_LD_SHLIBS($1)
-AC_LIBTOOL_SYS_DYNAMIC_LINKER($1)
-AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH($1)
-
-AC_LIBTOOL_CONFIG($1)
-
-AC_LANG_RESTORE
-CC="$lt_save_CC"
-])# AC_LIBTOOL_LANG_GCJ_CONFIG
-
-
-# AC_LIBTOOL_LANG_RC_CONFIG
-# -------------------------
-# Ensure that the configuration vars for the Windows resource compiler are
-# suitably defined. Those variables are subsequently used by
-# AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'.
-AC_DEFUN([AC_LIBTOOL_LANG_RC_CONFIG], [_LT_AC_LANG_RC_CONFIG(RC)])
-AC_DEFUN([_LT_AC_LANG_RC_CONFIG],
-[AC_LANG_SAVE
-
-# Source file extension for RC test sources.
-ac_ext=rc
-
-# Object file extension for compiled RC test sources.
-objext=o
-_LT_AC_TAGVAR(objext, $1)=$objext
-
-# Code to be used in simple compile tests
-lt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }'
-
-# Code to be used in simple link tests
-lt_simple_link_test_code="$lt_simple_compile_test_code"
-
-# ltmain only uses $CC for tagged configurations so make sure $CC is set.
-_LT_AC_SYS_COMPILER
-
-# save warnings/boilerplate of simple test code
-_LT_COMPILER_BOILERPLATE
-_LT_LINKER_BOILERPLATE
-
-# Allow CC to be a program name with arguments.
-lt_save_CC="$CC"
-CC=${RC-"windres"}
-compiler=$CC
-_LT_AC_TAGVAR(compiler, $1)=$CC
-_LT_CC_BASENAME([$compiler])
-_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes
-
-AC_LIBTOOL_CONFIG($1)
-
-AC_LANG_RESTORE
-CC="$lt_save_CC"
-])# AC_LIBTOOL_LANG_RC_CONFIG
-
-
-# AC_LIBTOOL_CONFIG([TAGNAME])
-# ----------------------------
-# If TAGNAME is not passed, then create an initial libtool script
-# with a default configuration from the untagged config vars. Otherwise
-# add code to config.status for appending the configuration named by
-# TAGNAME from the matching tagged config vars.
-AC_DEFUN([AC_LIBTOOL_CONFIG],
-[# The else clause should only fire when bootstrapping the
-# libtool distribution, otherwise you forgot to ship ltmain.sh
-# with your package, and you will get complaints that there are
-# no rules to generate ltmain.sh.
-if test -f "$ltmain"; then
- # See if we are running on zsh, and set the options which allow our commands through
- # without removal of \ escapes.
- if test -n "${ZSH_VERSION+set}" ; then
- setopt NO_GLOB_SUBST
- fi
- # Now quote all the things that may contain metacharacters while being
- # careful not to overquote the AC_SUBSTed values. We take copies of the
- # variables and quote the copies for generation of the libtool script.
- for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC LTCFLAGS NM \
- SED SHELL STRIP \
- libname_spec library_names_spec soname_spec extract_expsyms_cmds \
- old_striplib striplib file_magic_cmd finish_cmds finish_eval \
- deplibs_check_method reload_flag reload_cmds need_locks \
- lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \
- lt_cv_sys_global_symbol_to_c_name_address \
- sys_lib_search_path_spec sys_lib_dlsearch_path_spec \
- old_postinstall_cmds old_postuninstall_cmds \
- _LT_AC_TAGVAR(compiler, $1) \
- _LT_AC_TAGVAR(CC, $1) \
- _LT_AC_TAGVAR(LD, $1) \
- _LT_AC_TAGVAR(lt_prog_compiler_wl, $1) \
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1) \
- _LT_AC_TAGVAR(lt_prog_compiler_static, $1) \
- _LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) \
- _LT_AC_TAGVAR(export_dynamic_flag_spec, $1) \
- _LT_AC_TAGVAR(thread_safe_flag_spec, $1) \
- _LT_AC_TAGVAR(whole_archive_flag_spec, $1) \
- _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1) \
- _LT_AC_TAGVAR(old_archive_cmds, $1) \
- _LT_AC_TAGVAR(old_archive_from_new_cmds, $1) \
- _LT_AC_TAGVAR(predep_objects, $1) \
- _LT_AC_TAGVAR(postdep_objects, $1) \
- _LT_AC_TAGVAR(predeps, $1) \
- _LT_AC_TAGVAR(postdeps, $1) \
- _LT_AC_TAGVAR(compiler_lib_search_path, $1) \
- _LT_AC_TAGVAR(archive_cmds, $1) \
- _LT_AC_TAGVAR(archive_expsym_cmds, $1) \
- _LT_AC_TAGVAR(postinstall_cmds, $1) \
- _LT_AC_TAGVAR(postuninstall_cmds, $1) \
- _LT_AC_TAGVAR(old_archive_from_expsyms_cmds, $1) \
- _LT_AC_TAGVAR(allow_undefined_flag, $1) \
- _LT_AC_TAGVAR(no_undefined_flag, $1) \
- _LT_AC_TAGVAR(export_symbols_cmds, $1) \
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1) \
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1) \
- _LT_AC_TAGVAR(hardcode_libdir_separator, $1) \
- _LT_AC_TAGVAR(hardcode_automatic, $1) \
- _LT_AC_TAGVAR(module_cmds, $1) \
- _LT_AC_TAGVAR(module_expsym_cmds, $1) \
- _LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1) \
- _LT_AC_TAGVAR(fix_srcfile_path, $1) \
- _LT_AC_TAGVAR(exclude_expsyms, $1) \
- _LT_AC_TAGVAR(include_expsyms, $1); do
-
- case $var in
- _LT_AC_TAGVAR(old_archive_cmds, $1) | \
- _LT_AC_TAGVAR(old_archive_from_new_cmds, $1) | \
- _LT_AC_TAGVAR(archive_cmds, $1) | \
- _LT_AC_TAGVAR(archive_expsym_cmds, $1) | \
- _LT_AC_TAGVAR(module_cmds, $1) | \
- _LT_AC_TAGVAR(module_expsym_cmds, $1) | \
- _LT_AC_TAGVAR(old_archive_from_expsyms_cmds, $1) | \
- _LT_AC_TAGVAR(export_symbols_cmds, $1) | \
- extract_expsyms_cmds | reload_cmds | finish_cmds | \
- postinstall_cmds | postuninstall_cmds | \
- old_postinstall_cmds | old_postuninstall_cmds | \
- sys_lib_search_path_spec | sys_lib_dlsearch_path_spec)
- # Double-quote double-evaled strings.
- eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\""
- ;;
- *)
- eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\""
- ;;
- esac
- done
-
- case $lt_echo in
- *'\[$]0 --fallback-echo"')
- lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\[$]0 --fallback-echo"[$]/[$]0 --fallback-echo"/'`
- ;;
- esac
-
-ifelse([$1], [],
- [cfgfile="${ofile}T"
- trap "$rm \"$cfgfile\"; exit 1" 1 2 15
- $rm -f "$cfgfile"
- AC_MSG_NOTICE([creating $ofile])],
- [cfgfile="$ofile"])
-
- cat <<__EOF__ >> "$cfgfile"
-ifelse([$1], [],
-[#! $SHELL
-
-# `$echo "$cfgfile" | sed 's%^.*/%%'` - Provide generalized library-building support services.
-# Generated automatically by $PROGRAM (GNU $PACKAGE $VERSION$TIMESTAMP)
-# NOTE: Changes made to this file will be lost: look at ltmain.sh.
-#
-# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007
-# Free Software Foundation, Inc.
-#
-# This file is part of GNU Libtool:
-# Originally by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful, but
-# WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-# General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
-#
-# As a special exception to the GNU General Public License, if you
-# distribute this file as part of a program that contains a
-# configuration script generated by Autoconf, you may include it under
-# the same distribution terms that you use for the rest of that program.
-
-# A sed program that does not truncate output.
-SED=$lt_SED
-
-# Sed that helps us avoid accidentally triggering echo(1) options like -n.
-Xsed="$SED -e 1s/^X//"
-
-# The HP-UX ksh and POSIX shell print the target directory to stdout
-# if CDPATH is set.
-(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
-
-# The names of the tagged configurations supported by this script.
-available_tags=
-
-# ### BEGIN LIBTOOL CONFIG],
-[# ### BEGIN LIBTOOL TAG CONFIG: $tagname])
-
-# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
-
-# Shell to use when invoking shell scripts.
-SHELL=$lt_SHELL
-
-# Whether or not to build shared libraries.
-build_libtool_libs=$enable_shared
-
-# Whether or not to build static libraries.
-build_old_libs=$enable_static
-
-# Whether or not to add -lc for building shared libraries.
-build_libtool_need_lc=$_LT_AC_TAGVAR(archive_cmds_need_lc, $1)
-
-# Whether or not to disallow shared libs when runtime libs are static
-allow_libtool_libs_with_static_runtimes=$_LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)
-
-# Whether or not to optimize for fast installation.
-fast_install=$enable_fast_install
-
-# The host system.
-host_alias=$host_alias
-host=$host
-host_os=$host_os
-
-# The build system.
-build_alias=$build_alias
-build=$build
-build_os=$build_os
-
-# An echo program that does not interpret backslashes.
-echo=$lt_echo
-
-# The archiver.
-AR=$lt_AR
-AR_FLAGS=$lt_AR_FLAGS
-
-# A C compiler.
-LTCC=$lt_LTCC
-
-# LTCC compiler flags.
-LTCFLAGS=$lt_LTCFLAGS
-
-# A language-specific compiler.
-CC=$lt_[]_LT_AC_TAGVAR(compiler, $1)
-
-# Is the compiler the GNU C compiler?
-with_gcc=$_LT_AC_TAGVAR(GCC, $1)
-
-# An ERE matcher.
-EGREP=$lt_EGREP
-
-# The linker used to build libraries.
-LD=$lt_[]_LT_AC_TAGVAR(LD, $1)
-
-# Whether we need hard or soft links.
-LN_S=$lt_LN_S
-
-# A BSD-compatible nm program.
-NM=$lt_NM
-
-# A symbol stripping program
-STRIP=$lt_STRIP
-
-# Used to examine libraries when file_magic_cmd begins "file"
-MAGIC_CMD=$MAGIC_CMD
-
-# Used on cygwin: DLL creation program.
-DLLTOOL="$DLLTOOL"
-
-# Used on cygwin: object dumper.
-OBJDUMP="$OBJDUMP"
-
-# Used on cygwin: assembler.
-AS="$AS"
-
-# The name of the directory that contains temporary libtool files.
-objdir=$objdir
-
-# How to create reloadable object files.
-reload_flag=$lt_reload_flag
-reload_cmds=$lt_reload_cmds
-
-# How to pass a linker flag through the compiler.
-wl=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_wl, $1)
-
-# Object file suffix (normally "o").
-objext="$ac_objext"
-
-# Old archive suffix (normally "a").
-libext="$libext"
-
-# Shared library suffix (normally ".so").
-shrext_cmds='$shrext_cmds'
-
-# Executable file suffix (normally "").
-exeext="$exeext"
-
-# Additional compiler flags for building library objects.
-pic_flag=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)
-pic_mode=$pic_mode
-
-# What is the maximum length of a command?
-max_cmd_len=$lt_cv_sys_max_cmd_len
-
-# Does compiler simultaneously support -c and -o options?
-compiler_c_o=$lt_[]_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)
-
-# Must we lock files when doing compilation?
-need_locks=$lt_need_locks
-
-# Do we need the lib prefix for modules?
-need_lib_prefix=$need_lib_prefix
-
-# Do we need a version for libraries?
-need_version=$need_version
-
-# Whether dlopen is supported.
-dlopen_support=$enable_dlopen
-
-# Whether dlopen of programs is supported.
-dlopen_self=$enable_dlopen_self
-
-# Whether dlopen of statically linked programs is supported.
-dlopen_self_static=$enable_dlopen_self_static
-
-# Compiler flag to prevent dynamic linking.
-link_static_flag=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_static, $1)
-
-# Compiler flag to turn off builtin functions.
-no_builtin_flag=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)
-
-# Compiler flag to allow reflexive dlopens.
-export_dynamic_flag_spec=$lt_[]_LT_AC_TAGVAR(export_dynamic_flag_spec, $1)
-
-# Compiler flag to generate shared objects directly from archives.
-whole_archive_flag_spec=$lt_[]_LT_AC_TAGVAR(whole_archive_flag_spec, $1)
-
-# Compiler flag to generate thread-safe objects.
-thread_safe_flag_spec=$lt_[]_LT_AC_TAGVAR(thread_safe_flag_spec, $1)
-
-# Library versioning type.
-version_type=$version_type
-
-# Format of library name prefix.
-libname_spec=$lt_libname_spec
-
-# List of archive names. First name is the real one, the rest are links.
-# The last name is the one that the linker finds with -lNAME.
-library_names_spec=$lt_library_names_spec
-
-# The coded name of the library, if different from the real name.
-soname_spec=$lt_soname_spec
-
-# Commands used to build and install an old-style archive.
-RANLIB=$lt_RANLIB
-old_archive_cmds=$lt_[]_LT_AC_TAGVAR(old_archive_cmds, $1)
-old_postinstall_cmds=$lt_old_postinstall_cmds
-old_postuninstall_cmds=$lt_old_postuninstall_cmds
-
-# Create an old-style archive from a shared archive.
-old_archive_from_new_cmds=$lt_[]_LT_AC_TAGVAR(old_archive_from_new_cmds, $1)
-
-# Create a temporary old-style archive to link instead of a shared archive.
-old_archive_from_expsyms_cmds=$lt_[]_LT_AC_TAGVAR(old_archive_from_expsyms_cmds, $1)
-
-# Commands used to build and install a shared archive.
-archive_cmds=$lt_[]_LT_AC_TAGVAR(archive_cmds, $1)
-archive_expsym_cmds=$lt_[]_LT_AC_TAGVAR(archive_expsym_cmds, $1)
-postinstall_cmds=$lt_postinstall_cmds
-postuninstall_cmds=$lt_postuninstall_cmds
-
-# Commands used to build a loadable module (assumed same as above if empty)
-module_cmds=$lt_[]_LT_AC_TAGVAR(module_cmds, $1)
-module_expsym_cmds=$lt_[]_LT_AC_TAGVAR(module_expsym_cmds, $1)
-
-# Commands to strip libraries.
-old_striplib=$lt_old_striplib
-striplib=$lt_striplib
-
-# Dependencies to place before the objects being linked to create a
-# shared library.
-predep_objects=$lt_[]_LT_AC_TAGVAR(predep_objects, $1)
-
-# Dependencies to place after the objects being linked to create a
-# shared library.
-postdep_objects=$lt_[]_LT_AC_TAGVAR(postdep_objects, $1)
-
-# Dependencies to place before the objects being linked to create a
-# shared library.
-predeps=$lt_[]_LT_AC_TAGVAR(predeps, $1)
-
-# Dependencies to place after the objects being linked to create a
-# shared library.
-postdeps=$lt_[]_LT_AC_TAGVAR(postdeps, $1)
-
-# The library search path used internally by the compiler when linking
-# a shared library.
-compiler_lib_search_path=$lt_[]_LT_AC_TAGVAR(compiler_lib_search_path, $1)
-
-# Method to check whether dependent libraries are shared objects.
-deplibs_check_method=$lt_deplibs_check_method
-
-# Command to use when deplibs_check_method == file_magic.
-file_magic_cmd=$lt_file_magic_cmd
-
-# Flag that allows shared libraries with undefined symbols to be built.
-allow_undefined_flag=$lt_[]_LT_AC_TAGVAR(allow_undefined_flag, $1)
-
-# Flag that forces no undefined symbols.
-no_undefined_flag=$lt_[]_LT_AC_TAGVAR(no_undefined_flag, $1)
-
-# Commands used to finish a libtool library installation in a directory.
-finish_cmds=$lt_finish_cmds
-
-# Same as above, but a single script fragment to be evaled but not shown.
-finish_eval=$lt_finish_eval
-
-# Take the output of nm and produce a listing of raw symbols and C names.
-global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe
-
-# Transform the output of nm in a proper C declaration
-global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl
-
-# Transform the output of nm in a C name address pair
-global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address
-
-# This is the shared library runtime path variable.
-runpath_var=$runpath_var
-
-# This is the shared library path variable.
-shlibpath_var=$shlibpath_var
-
-# Is shlibpath searched before the hard-coded library search path?
-shlibpath_overrides_runpath=$shlibpath_overrides_runpath
-
-# How to hardcode a shared library path into an executable.
-hardcode_action=$_LT_AC_TAGVAR(hardcode_action, $1)
-
-# Whether we should hardcode library paths into libraries.
-hardcode_into_libs=$hardcode_into_libs
-
-# Flag to hardcode \$libdir into a binary during linking.
-# This must work even if \$libdir does not exist.
-hardcode_libdir_flag_spec=$lt_[]_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)
-
-# If ld is used when linking, flag to hardcode \$libdir into
-# a binary during linking. This must work even if \$libdir does
-# not exist.
-hardcode_libdir_flag_spec_ld=$lt_[]_LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)
-
-# Whether we need a single -rpath flag with a separated argument.
-hardcode_libdir_separator=$lt_[]_LT_AC_TAGVAR(hardcode_libdir_separator, $1)
-
-# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the
-# resulting binary.
-hardcode_direct=$_LT_AC_TAGVAR(hardcode_direct, $1)
-
-# Set to yes if using the -LDIR flag during linking hardcodes DIR into the
-# resulting binary.
-hardcode_minus_L=$_LT_AC_TAGVAR(hardcode_minus_L, $1)
-
-# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into
-# the resulting binary.
-hardcode_shlibpath_var=$_LT_AC_TAGVAR(hardcode_shlibpath_var, $1)
-
-# Set to yes if building a shared library automatically hardcodes DIR into the library
-# and all subsequent libraries and executables linked against it.
-hardcode_automatic=$_LT_AC_TAGVAR(hardcode_automatic, $1)
-
-# Variables whose values should be saved in libtool wrapper scripts and
-# restored at relink time.
-variables_saved_for_relink="$variables_saved_for_relink"
-
-# Whether libtool must link a program against all its dependency libraries.
-link_all_deplibs=$_LT_AC_TAGVAR(link_all_deplibs, $1)
-
-# Compile-time system search path for libraries
-sys_lib_search_path_spec=$lt_sys_lib_search_path_spec
-
-# Run-time system search path for libraries
-sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec
-
-# Fix the shell variable \$srcfile for the compiler.
-fix_srcfile_path=$lt_fix_srcfile_path
-
-# Set to yes if exported symbols are required.
-always_export_symbols=$_LT_AC_TAGVAR(always_export_symbols, $1)
-
-# The commands to list exported symbols.
-export_symbols_cmds=$lt_[]_LT_AC_TAGVAR(export_symbols_cmds, $1)
-
-# The commands to extract the exported symbol list from a shared archive.
-extract_expsyms_cmds=$lt_extract_expsyms_cmds
-
-# Symbols that should not be listed in the preloaded symbols.
-exclude_expsyms=$lt_[]_LT_AC_TAGVAR(exclude_expsyms, $1)
-
-# Symbols that must always be exported.
-include_expsyms=$lt_[]_LT_AC_TAGVAR(include_expsyms, $1)
-
-ifelse([$1],[],
-[# ### END LIBTOOL CONFIG],
-[# ### END LIBTOOL TAG CONFIG: $tagname])
-
-__EOF__
-
-ifelse([$1],[], [
- case $host_os in
- aix3*)
- cat <<\EOF >> "$cfgfile"
-
-# AIX sometimes has problems with the GCC collect2 program. For some
-# reason, if we set the COLLECT_NAMES environment variable, the problems
-# vanish in a puff of smoke.
-if test "X${COLLECT_NAMES+set}" != Xset; then
- COLLECT_NAMES=
- export COLLECT_NAMES
-fi
-EOF
- ;;
- esac
-
- # We use sed instead of cat because bash on DJGPP gets confused if
- # if finds mixed CR/LF and LF-only lines. Since sed operates in
- # text mode, it properly converts lines to CR/LF. This bash problem
- # is reportedly fixed, but why not run on old versions too?
- sed '$q' "$ltmain" >> "$cfgfile" || (rm -f "$cfgfile"; exit 1)
-
- mv -f "$cfgfile" "$ofile" || \
- (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile")
- chmod +x "$ofile"
-])
-else
- # If there is no Makefile yet, we rely on a make rule to execute
- # `config.status --recheck' to rerun these tests and create the
- # libtool script then.
- ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'`
- if test -f "$ltmain_in"; then
- test -f Makefile && make "$ltmain"
- fi
-fi
-])# AC_LIBTOOL_CONFIG
-
-
-# AC_LIBTOOL_PROG_COMPILER_NO_RTTI([TAGNAME])
-# -------------------------------------------
-AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_NO_RTTI],
-[AC_REQUIRE([_LT_AC_SYS_COMPILER])dnl
+# _LT_COMPILER_NO_RTTI([TAGNAME])
+# -------------------------------
+m4_defun([_LT_COMPILER_NO_RTTI],
+[m4_require([_LT_TAG_COMPILER])dnl
-_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=
+_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=
if test "$GCC" = yes; then
- _LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin'
+ _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin'
- AC_LIBTOOL_COMPILER_OPTION([if $compiler supports -fno-rtti -fno-exceptions],
+ _LT_COMPILER_OPTION([if $compiler supports -fno-rtti -fno-exceptions],
lt_cv_prog_compiler_rtti_exceptions,
[-fno-rtti -fno-exceptions], [],
- [_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)="$_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) -fno-rtti -fno-exceptions"])
+ [_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)="$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) -fno-rtti -fno-exceptions"])
fi
-])# AC_LIBTOOL_PROG_COMPILER_NO_RTTI
+_LT_TAGDECL([no_builtin_flag], [lt_prog_compiler_no_builtin_flag], [1],
+ [Compiler flag to turn off builtin functions])
+])# _LT_COMPILER_NO_RTTI
-# AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE
-# ---------------------------------
-AC_DEFUN([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE],
-[AC_REQUIRE([AC_CANONICAL_HOST])
-AC_REQUIRE([LT_AC_PROG_SED])
-AC_REQUIRE([AC_PROG_NM])
-AC_REQUIRE([AC_OBJEXT])
+# _LT_CMD_GLOBAL_SYMBOLS
+# ----------------------
+m4_defun([_LT_CMD_GLOBAL_SYMBOLS],
+[AC_REQUIRE([AC_CANONICAL_HOST])dnl
+AC_REQUIRE([AC_PROG_CC])dnl
+AC_REQUIRE([LT_PATH_NM])dnl
+AC_REQUIRE([LT_PATH_LD])dnl
+m4_require([_LT_DECL_SED])dnl
+m4_require([_LT_DECL_EGREP])dnl
+m4_require([_LT_TAG_COMPILER])dnl
+
# Check for command to grab the raw symbol name followed by C symbol from nm.
AC_MSG_CHECKING([command to parse $NM output from $compiler object])
AC_CACHE_VAL([lt_cv_sys_global_symbol_pipe],
@@ -4746,33 +3347,18 @@ symcode='[[BCDEGRST]]'
# Regexp to match symbols that can be accessed directly from C.
sympat='\([[_A-Za-z]][[_A-Za-z0-9]]*\)'
-# Transform an extracted symbol line into a proper C declaration
-lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^. .* \(.*\)$/extern int \1;/p'"
-
-# Transform an extracted symbol line into symbol name and symbol address
-lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'"
-
# Define system-specific variables.
case $host_os in
aix*)
symcode='[[BCDT]]'
;;
-cygwin* | mingw* | pw32*)
+cygwin* | mingw* | pw32* | cegcc*)
symcode='[[ABCDGISTW]]'
;;
-hpux*) # Its linker distinguishes data from code symbols
+hpux*)
if test "$host_cpu" = ia64; then
symcode='[[ABCDEGRST]]'
fi
- lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
- lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'"
- ;;
-linux* | k*bsd*-gnu)
- if test "$host_cpu" = ia64; then
- symcode='[[ABCDGIRSTW]]'
- lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
- lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'"
- fi
;;
irix* | nonstopux*)
symcode='[[BCDEGRST]]'
@@ -4797,44 +3383,72 @@ sysv4)
;;
esac
+# If we're using GNU nm, then use its standard symbol codes.
+case `$NM -V 2>&1` in
+*GNU* | *'with BFD'*)
+ symcode='[[ABCDGIRSTW]]' ;;
+esac
+
+# Transform an extracted symbol line into a proper C declaration.
+# Some systems (esp. on ia64) link data and code symbols differently,
+# so use this general approach.
+lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
+
+# Transform an extracted symbol line into symbol name and symbol address
+lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (void *) \&\2},/p'"
+lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n -e 's/^: \([[^ ]]*\) $/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \(lib[[^ ]]*\)$/ {\"\2\", (void *) \&\2},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"lib\2\", (void *) \&\2},/p'"
+
# Handle CRLF in mingw tool chain
opt_cr=
case $build_os in
mingw*)
- opt_cr=`echo 'x\{0,1\}' | tr x '\015'` # option cr in regexp
+ opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp
;;
esac
-# If we're using GNU nm, then use its standard symbol codes.
-case `$NM -V 2>&1` in
-*GNU* | *'with BFD'*)
- symcode='[[ABCDGIRSTW]]' ;;
-esac
-
-# Try without a prefix undercore, then with it.
+# Try without a prefix underscore, then with it.
for ac_symprfx in "" "_"; do
# Transform symcode, sympat, and symprfx into a raw symbol and a C symbol.
symxfrm="\\1 $ac_symprfx\\2 \\2"
# Write the raw and C identifiers.
- lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[[ ]]\($symcode$symcode*\)[[ ]][[ ]]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'"
+ if test "$lt_cv_nm_interface" = "MS dumpbin"; then
+ # Fake it for dumpbin and say T for any non-static function
+ # and D for any global variable.
+ # Also find C++ and __fastcall symbols from MSVC++,
+ # which start with @ or ?.
+ lt_cv_sys_global_symbol_pipe="$AWK ['"\
+" {last_section=section; section=\$ 3};"\
+" /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\
+" \$ 0!~/External *\|/{next};"\
+" / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\
+" {if(hide[section]) next};"\
+" {f=0}; \$ 0~/\(\).*\|/{f=1}; {printf f ? \"T \" : \"D \"};"\
+" {split(\$ 0, a, /\||\r/); split(a[2], s)};"\
+" s[1]~/^[@?]/{print s[1], s[1]; next};"\
+" s[1]~prfx {split(s[1],t,\"@\"); print t[1], substr(t[1],length(prfx))}"\
+" ' prfx=^$ac_symprfx]"
+ else
+ lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[[ ]]\($symcode$symcode*\)[[ ]][[ ]]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'"
+ fi
# Check to see that the pipe works correctly.
pipe_works=no
rm -f conftest*
- cat > conftest.$ac_ext <<EOF
+ cat > conftest.$ac_ext <<_LT_EOF
#ifdef __cplusplus
extern "C" {
#endif
char nm_test_var;
-void nm_test_func(){}
+void nm_test_func(void);
+void nm_test_func(void){}
#ifdef __cplusplus
}
#endif
int main(){nm_test_var='a';nm_test_func();return(0);}
-EOF
+_LT_EOF
if AC_TRY_EVAL(ac_compile); then
# Now try to grab the symbols.
@@ -4848,48 +3462,50 @@ EOF
fi
# Make sure that we snagged all the symbols we need.
- if grep ' nm_test_var$' "$nlist" >/dev/null; then
- if grep ' nm_test_func$' "$nlist" >/dev/null; then
- cat <<EOF > conftest.$ac_ext
+ if $GREP ' nm_test_var$' "$nlist" >/dev/null; then
+ if $GREP ' nm_test_func$' "$nlist" >/dev/null; then
+ cat <<_LT_EOF > conftest.$ac_ext
#ifdef __cplusplus
extern "C" {
#endif
-EOF
+_LT_EOF
# Now generate the symbol file.
- eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | grep -v main >> conftest.$ac_ext'
+ eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext'
- cat <<EOF >> conftest.$ac_ext
-#if defined (__STDC__) && __STDC__
-# define lt_ptr_t void *
-#else
-# define lt_ptr_t char *
-# define const
-#endif
+ cat <<_LT_EOF >> conftest.$ac_ext
-/* The mapping between symbol names and symbols. */
+/* The mapping between symbol names and symbols. */
const struct {
const char *name;
- lt_ptr_t address;
+ void *address;
}
-lt_preloaded_symbols[[]] =
+lt__PROGRAM__LTX_preloaded_symbols[[]] =
{
-EOF
- $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (lt_ptr_t) \&\2},/" < "$nlist" | grep -v main >> conftest.$ac_ext
- cat <<\EOF >> conftest.$ac_ext
- {0, (lt_ptr_t) 0}
+ { "@PROGRAM@", (void *) 0 },
+_LT_EOF
+ $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (void *) \&\2},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext
+ cat <<\_LT_EOF >> conftest.$ac_ext
+ {0, (void *) 0}
};
+/* This works around a problem in FreeBSD linker */
+#ifdef FREEBSD_WORKAROUND
+static const void *lt_preloaded_setup() {
+ return lt__PROGRAM__LTX_preloaded_symbols;
+}
+#endif
+
#ifdef __cplusplus
}
#endif
-EOF
+_LT_EOF
# Now try linking the two files.
mv conftest.$ac_objext conftstm.$ac_objext
lt_save_LIBS="$LIBS"
lt_save_CFLAGS="$CFLAGS"
LIBS="conftstm.$ac_objext"
- CFLAGS="$CFLAGS$_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)"
+ CFLAGS="$CFLAGS$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)"
if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext}; then
pipe_works=yes
fi
@@ -4908,7 +3524,7 @@ EOF
echo "$progname: failed program was:" >&AS_MESSAGE_LOG_FD
cat conftest.$ac_ext >&5
fi
- rm -f conftest* conftst*
+ rm -rf conftest* conftst*
# Do not use the global_symbol_pipe unless it works.
if test "$pipe_works" = yes; then
@@ -4926,55 +3542,78 @@ if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; the
else
AC_MSG_RESULT(ok)
fi
-]) # AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE
+_LT_DECL([global_symbol_pipe], [lt_cv_sys_global_symbol_pipe], [1],
+ [Take the output of nm and produce a listing of raw symbols and C names])
+_LT_DECL([global_symbol_to_cdecl], [lt_cv_sys_global_symbol_to_cdecl], [1],
+ [Transform the output of nm in a proper C declaration])
+_LT_DECL([global_symbol_to_c_name_address],
+ [lt_cv_sys_global_symbol_to_c_name_address], [1],
+ [Transform the output of nm in a C name address pair])
+_LT_DECL([global_symbol_to_c_name_address_lib_prefix],
+ [lt_cv_sys_global_symbol_to_c_name_address_lib_prefix], [1],
+ [Transform the output of nm in a C name address pair when lib prefix is needed])
+]) # _LT_CMD_GLOBAL_SYMBOLS
-# AC_LIBTOOL_PROG_COMPILER_PIC([TAGNAME])
-# ---------------------------------------
-AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_PIC],
-[_LT_AC_TAGVAR(lt_prog_compiler_wl, $1)=
-_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=
-_LT_AC_TAGVAR(lt_prog_compiler_static, $1)=
+
+# _LT_COMPILER_PIC([TAGNAME])
+# ---------------------------
+m4_defun([_LT_COMPILER_PIC],
+[m4_require([_LT_TAG_COMPILER])dnl
+_LT_TAGVAR(lt_prog_compiler_wl, $1)=
+_LT_TAGVAR(lt_prog_compiler_pic, $1)=
+_LT_TAGVAR(lt_prog_compiler_static, $1)=
AC_MSG_CHECKING([for $compiler option to produce PIC])
- ifelse([$1],[CXX],[
+m4_if([$1], [CXX], [
# C++ specific cases for pic, static, wl, etc.
if test "$GXX" = yes; then
- _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static'
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
case $host_os in
aix*)
# All AIX code is PIC.
if test "$host_cpu" = ia64; then
# AIX 5 now supports IA64 processor
- _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
fi
;;
+
amigaos*)
- # FIXME: we need at least 68020 code to build shared libraries, but
- # adding the `-m68020' flag to GCC prevents building anything better,
- # like `-m68040'.
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4'
+ case $host_cpu in
+ powerpc)
+ # see comment about AmigaOS4 .so support
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+ ;;
+ m68k)
+ # FIXME: we need at least 68020 code to build shared libraries, but
+ # adding the `-m68020' flag to GCC prevents building anything better,
+ # like `-m68040'.
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4'
+ ;;
+ esac
;;
+
beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
# PIC is the default for these OSes.
;;
- mingw* | cygwin* | os2* | pw32*)
+ mingw* | cygwin* | os2* | pw32* | cegcc*)
# This hack is so that the source file can tell whether it is being
# built for inclusion in a dll (and should export symbols for example).
# Although the cygwin gcc ignores -fPIC, still need this for old-style
# (--disable-auto-import) libraries
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'
+ m4_if([$1], [GCJ], [],
+ [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
;;
darwin* | rhapsody*)
# PIC is the default on this platform
# Common symbols not allowed in MH_DYLIB files
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common'
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common'
;;
*djgpp*)
# DJGPP does not support shared libraries at all
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)=
;;
interix[[3-9]]*)
# Interix 3.x gcc -fpic/-fPIC options generate broken code.
@@ -4982,61 +3621,57 @@ AC_MSG_CHECKING([for $compiler option to produce PIC])
;;
sysv4*MP*)
if test -d /usr/nec; then
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic
fi
;;
hpux*)
- # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
- # not for PA HP-UX.
+ # PIC is the default for 64-bit PA HP-UX, but not for 32-bit
+ # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag
+ # sets the default TLS model and affects inlining.
case $host_cpu in
- hppa*64*|ia64*)
+ hppa*64*)
;;
*)
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
;;
esac
;;
+ *qnx* | *nto*)
+ # QNX uses GNU C++, but need to define -shared option too, otherwise
+ # it will coredump.
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
+ ;;
*)
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
;;
esac
else
case $host_os in
- aix4* | aix5*)
+ aix[[4-9]]*)
# All AIX code is PIC.
if test "$host_cpu" = ia64; then
# AIX 5 now supports IA64 processor
- _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
else
- _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp'
fi
;;
chorus*)
case $cc_basename in
cxch68*)
# Green Hills C++ Compiler
- # _LT_AC_TAGVAR(lt_prog_compiler_static, $1)="--no_auto_instantiation -u __main -u __premain -u _abort -r $COOL_DIR/lib/libOrb.a $MVME_DIR/lib/CC/libC.a $MVME_DIR/lib/classix/libcx.s.a"
+ # _LT_TAGVAR(lt_prog_compiler_static, $1)="--no_auto_instantiation -u __main -u __premain -u _abort -r $COOL_DIR/lib/libOrb.a $MVME_DIR/lib/CC/libC.a $MVME_DIR/lib/classix/libcx.s.a"
;;
esac
;;
- darwin*)
- # PIC is the default on this platform
- # Common symbols not allowed in MH_DYLIB files
- case $cc_basename in
- xlc*)
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-qnocommon'
- _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- ;;
- esac
- ;;
dgux*)
case $cc_basename in
ec++*)
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
;;
ghcx*)
# Green Hills C++ Compiler
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
;;
*)
;;
@@ -5048,21 +3683,21 @@ AC_MSG_CHECKING([for $compiler option to produce PIC])
hpux9* | hpux10* | hpux11*)
case $cc_basename in
CC*)
- _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive'
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive'
if test "$host_cpu" != ia64; then
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
fi
;;
aCC*)
- _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive'
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive'
case $host_cpu in
hppa*64*|ia64*)
# +Z the default
;;
*)
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
;;
esac
;;
@@ -5077,8 +3712,8 @@ AC_MSG_CHECKING([for $compiler option to produce PIC])
irix5* | irix6* | nonstopux*)
case $cc_basename in
CC*)
- _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
# CC pic flag -KPIC is the default.
;;
*)
@@ -5089,35 +3724,48 @@ AC_MSG_CHECKING([for $compiler option to produce PIC])
case $cc_basename in
KCC*)
# KAI C++ Compiler
- _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,'
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,'
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
;;
- icpc* | ecpc*)
- # Intel C++
- _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
- _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static'
+ ecpc* )
+ # old Intel C++ for x86_64 which still supported -KPIC.
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
+ ;;
+ icpc* )
+ # Intel C++, used to be incompatible with GCC.
+ # ICC 10 doesn't accept -KPIC any more.
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
;;
- pgCC*)
- # Portland Group C++ compiler.
- _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
- _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ pgCC* | pgcpp*)
+ # Portland Group C++ compiler
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
;;
cxx*)
# Compaq C++
# Make sure the PIC flag is empty. It appears that all Alpha
# Linux and Compaq Tru64 Unix objects are PIC.
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=
- _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)=
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
+ ;;
+ xlc* | xlC*)
+ # IBM XL 8.0 on PPC
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink'
;;
*)
case `$CC -V 2>&1 | sed 5q` in
*Sun\ C*)
# Sun C++ 5.9
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
- _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
- _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
;;
esac
;;
@@ -5130,30 +3778,35 @@ AC_MSG_CHECKING([for $compiler option to produce PIC])
mvs*)
case $cc_basename in
cxx*)
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-W c,exportall'
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-W c,exportall'
;;
*)
;;
esac
;;
- netbsd*)
+ netbsd* | netbsdelf*-gnu)
;;
+ *qnx* | *nto*)
+ # QNX uses GNU C++, but need to define -shared option too, otherwise
+ # it will coredump.
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
+ ;;
osf3* | osf4* | osf5*)
case $cc_basename in
KCC*)
- _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,'
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,'
;;
RCC*)
# Rational C++ 2.4.1
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
;;
cxx*)
# Digital/Compaq C++
- _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
# Make sure the PIC flag is empty. It appears that all Alpha
# Linux and Compaq Tru64 Unix objects are PIC.
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=
- _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)=
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
;;
*)
;;
@@ -5165,13 +3818,13 @@ AC_MSG_CHECKING([for $compiler option to produce PIC])
case $cc_basename in
CC*)
# Sun C++ 4.2, 5.x and Centerline C++
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
- _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
- _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
;;
gcx*)
# Green Hills C++ Compiler
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
;;
*)
;;
@@ -5181,81 +3834,104 @@ AC_MSG_CHECKING([for $compiler option to produce PIC])
case $cc_basename in
CC*)
# Sun C++ 4.x
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
- _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
;;
lcc*)
# Lucid
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
;;
*)
;;
esac
;;
+ sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
+ case $cc_basename in
+ CC*)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ ;;
+ esac
+ ;;
tandem*)
case $cc_basename in
NCC*)
# NonStop-UX NCC 3.20
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
;;
*)
;;
esac
;;
- sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
- case $cc_basename in
- CC*)
- _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
- _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
- ;;
- esac
- ;;
vxworks*)
;;
*)
- _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
+ _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
;;
esac
fi
],
[
if test "$GCC" = yes; then
- _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static'
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
case $host_os in
aix*)
# All AIX code is PIC.
if test "$host_cpu" = ia64; then
# AIX 5 now supports IA64 processor
- _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
fi
;;
amigaos*)
- # FIXME: we need at least 68020 code to build shared libraries, but
- # adding the `-m68020' flag to GCC prevents building anything better,
- # like `-m68040'.
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4'
+ case $host_cpu in
+ powerpc)
+ # see comment about AmigaOS4 .so support
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+ ;;
+ m68k)
+ # FIXME: we need at least 68020 code to build shared libraries, but
+ # adding the `-m68020' flag to GCC prevents building anything better,
+ # like `-m68040'.
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4'
+ ;;
+ esac
;;
beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
# PIC is the default for these OSes.
;;
- mingw* | cygwin* | pw32* | os2*)
+ mingw* | cygwin* | pw32* | os2* | cegcc*)
# This hack is so that the source file can tell whether it is being
# built for inclusion in a dll (and should export symbols for example).
# Although the cygwin gcc ignores -fPIC, still need this for old-style
# (--disable-auto-import) libraries
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'
+ m4_if([$1], [GCJ], [],
+ [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
;;
darwin* | rhapsody*)
# PIC is the default on this platform
# Common symbols not allowed in MH_DYLIB files
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common'
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common'
+ ;;
+
+ hpux*)
+ # PIC is the default for 64-bit PA HP-UX, but not for 32-bit
+ # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag
+ # sets the default TLS model and affects inlining.
+ case $host_cpu in
+ hppa*64*)
+ # +Z the default
+ ;;
+ *)
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+ ;;
+ esac
;;
interix[[3-9]]*)
@@ -5266,64 +3942,48 @@ AC_MSG_CHECKING([for $compiler option to produce PIC])
msdosdjgpp*)
# Just because we use GCC doesn't mean we suddenly get shared libraries
# on systems that don't support them.
- _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
+ _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
enable_shared=no
;;
+ *nto* | *qnx*)
+ # QNX uses GNU C++, but need to define -shared option too, otherwise
+ # it will coredump.
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
+ ;;
+
sysv4*MP*)
if test -d /usr/nec; then
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic
fi
;;
- hpux*)
- # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
- # not for PA HP-UX.
- case $host_cpu in
- hppa*64*|ia64*)
- # +Z the default
- ;;
- *)
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
- ;;
- esac
- ;;
-
*)
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
;;
esac
else
# PORTME Check for flag to pass linker flags through the system compiler.
case $host_os in
aix*)
- _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
if test "$host_cpu" = ia64; then
# AIX 5 now supports IA64 processor
- _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
else
- _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp'
fi
;;
- darwin*)
- # PIC is the default on this platform
- # Common symbols not allowed in MH_DYLIB files
- case $cc_basename in
- xlc*)
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-qnocommon'
- _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- ;;
- esac
- ;;
- mingw* | cygwin* | pw32* | os2*)
+ mingw* | cygwin* | pw32* | os2* | cegcc*)
# This hack is so that the source file can tell whether it is being
# built for inclusion in a dll (and should export symbols for example).
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'
+ m4_if([$1], [GCJ], [],
+ [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
;;
hpux9* | hpux10* | hpux11*)
- _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
# PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
# not for PA HP-UX.
case $host_cpu in
@@ -5331,231 +3991,277 @@ AC_MSG_CHECKING([for $compiler option to produce PIC])
# +Z the default
;;
*)
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
;;
esac
# Is there a better lt_prog_compiler_static that works with the bundled CC?
- _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive'
;;
irix5* | irix6* | nonstopux*)
- _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
# PIC (with -KPIC) is the default.
- _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
- ;;
-
- newsos6)
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
- _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
;;
linux* | k*bsd*-gnu)
case $cc_basename in
- icc* | ecc*)
- _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
- _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static'
+ # old Intel for x86_64 which still supported -KPIC.
+ ecc*)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
+ ;;
+ # icc used to be incompatible with GCC.
+ # ICC 10 doesn't accept -KPIC any more.
+ icc* | ifort*)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
;;
+ # Lahey Fortran 8.1.
+ lf95*)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='--shared'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='--static'
+ ;;
pgcc* | pgf77* | pgf90* | pgf95*)
# Portland Group compilers (*not* the Pentium gcc compiler,
# which looks to be a dead project)
- _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
- _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
;;
ccc*)
- _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
# All Alpha code is PIC.
- _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
;;
+ xl*)
+ # IBM XL C 8.0/Fortran 10.1 on PPC
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink'
+ ;;
*)
- case `$CC -V 2>&1 | sed 5q` in
+ case `$CC -V 2>&1 | sed 5q` in
*Sun\ C*)
# Sun C 5.9
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
- _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
- _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
;;
*Sun\ F*)
# Sun Fortran 8.3 passes all unrecognized flags to the linker
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
- _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
- _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)=''
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)=''
;;
esac
;;
esac
;;
+ newsos6)
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ ;;
+
+ *nto* | *qnx*)
+ # QNX uses GNU C++, but need to define -shared option too, otherwise
+ # it will coredump.
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
+ ;;
+
osf3* | osf4* | osf5*)
- _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
# All OSF/1 code is PIC.
- _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
;;
rdos*)
- _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
;;
solaris*)
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
- _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
case $cc_basename in
f77* | f90* | f95*)
- _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ';;
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ';;
*)
- _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,';;
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,';;
esac
;;
sunos4*)
- _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
- _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
;;
sysv4 | sysv4.2uw2* | sysv4.3*)
- _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
- _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
;;
sysv4*MP*)
if test -d /usr/nec ;then
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-Kconform_pic'
- _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-Kconform_pic'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
fi
;;
sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
- _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
- _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
;;
unicos*)
- _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
;;
uts4*)
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
- _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
;;
*)
- _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
+ _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
;;
esac
fi
])
-AC_MSG_RESULT([$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)])
-
-#
-# Check to make sure the PIC flag actually works.
-#
-if test -n "$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)"; then
- AC_LIBTOOL_COMPILER_OPTION([if $compiler PIC flag $_LT_AC_TAGVAR(lt_prog_compiler_pic, $1) works],
- _LT_AC_TAGVAR(lt_prog_compiler_pic_works, $1),
- [$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)ifelse([$1],[],[ -DPIC],[ifelse([$1],[CXX],[ -DPIC],[])])], [],
- [case $_LT_AC_TAGVAR(lt_prog_compiler_pic, $1) in
- "" | " "*) ;;
- *) _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=" $_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)" ;;
- esac],
- [_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=
- _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no])
-fi
case $host_os in
# For platforms which do not support PIC, -DPIC is meaningless:
*djgpp*)
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)=
;;
*)
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)="$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)ifelse([$1],[],[ -DPIC],[ifelse([$1],[CXX],[ -DPIC],[])])"
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)="$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])"
;;
esac
+AC_MSG_RESULT([$_LT_TAGVAR(lt_prog_compiler_pic, $1)])
+_LT_TAGDECL([wl], [lt_prog_compiler_wl], [1],
+ [How to pass a linker flag through the compiler])
+
+#
+# Check to make sure the PIC flag actually works.
+#
+if test -n "$_LT_TAGVAR(lt_prog_compiler_pic, $1)"; then
+ _LT_COMPILER_OPTION([if $compiler PIC flag $_LT_TAGVAR(lt_prog_compiler_pic, $1) works],
+ [_LT_TAGVAR(lt_cv_prog_compiler_pic_works, $1)],
+ [$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])], [],
+ [case $_LT_TAGVAR(lt_prog_compiler_pic, $1) in
+ "" | " "*) ;;
+ *) _LT_TAGVAR(lt_prog_compiler_pic, $1)=" $_LT_TAGVAR(lt_prog_compiler_pic, $1)" ;;
+ esac],
+ [_LT_TAGVAR(lt_prog_compiler_pic, $1)=
+ _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no])
+fi
+_LT_TAGDECL([pic_flag], [lt_prog_compiler_pic], [1],
+ [Additional compiler flags for building library objects])
#
# Check to make sure the static flag actually works.
#
-wl=$_LT_AC_TAGVAR(lt_prog_compiler_wl, $1) eval lt_tmp_static_flag=\"$_LT_AC_TAGVAR(lt_prog_compiler_static, $1)\"
-AC_LIBTOOL_LINKER_OPTION([if $compiler static flag $lt_tmp_static_flag works],
- _LT_AC_TAGVAR(lt_prog_compiler_static_works, $1),
+wl=$_LT_TAGVAR(lt_prog_compiler_wl, $1) eval lt_tmp_static_flag=\"$_LT_TAGVAR(lt_prog_compiler_static, $1)\"
+_LT_LINKER_OPTION([if $compiler static flag $lt_tmp_static_flag works],
+ _LT_TAGVAR(lt_cv_prog_compiler_static_works, $1),
$lt_tmp_static_flag,
[],
- [_LT_AC_TAGVAR(lt_prog_compiler_static, $1)=])
-])
+ [_LT_TAGVAR(lt_prog_compiler_static, $1)=])
+_LT_TAGDECL([link_static_flag], [lt_prog_compiler_static], [1],
+ [Compiler flag to prevent dynamic linking])
+])# _LT_COMPILER_PIC
-# AC_LIBTOOL_PROG_LD_SHLIBS([TAGNAME])
-# ------------------------------------
+# _LT_LINKER_SHLIBS([TAGNAME])
+# ----------------------------
# See if the linker supports building shared libraries.
-AC_DEFUN([AC_LIBTOOL_PROG_LD_SHLIBS],
-[AC_REQUIRE([LT_AC_PROG_SED])dnl
+m4_defun([_LT_LINKER_SHLIBS],
+[AC_REQUIRE([LT_PATH_LD])dnl
+AC_REQUIRE([LT_PATH_NM])dnl
+m4_require([_LT_FILEUTILS_DEFAULTS])dnl
+m4_require([_LT_DECL_EGREP])dnl
+m4_require([_LT_DECL_SED])dnl
+m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl
+m4_require([_LT_TAG_COMPILER])dnl
AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries])
-ifelse([$1],[CXX],[
- _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
+m4_if([$1], [CXX], [
+ _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
case $host_os in
- aix4* | aix5*)
+ aix[[4-9]]*)
# If we're using GNU nm, then we don't want the "-C" option.
# -C means demangle to AIX nm, but means don't demangle with GNU nm
- if $NM -V 2>&1 | grep 'GNU' > /dev/null; then
- _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\[$]2 == "T") || (\[$]2 == "D") || (\[$]2 == "B")) && ([substr](\[$]3,1,1) != ".")) { print \[$]3 } }'\'' | sort -u > $export_symbols'
+ if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
+ _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
else
- _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\[$]2 == "T") || (\[$]2 == "D") || (\[$]2 == "B")) && ([substr](\[$]3,1,1) != ".")) { print \[$]3 } }'\'' | sort -u > $export_symbols'
+ _LT_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
fi
;;
pw32*)
- _LT_AC_TAGVAR(export_symbols_cmds, $1)="$ltdll_cmds"
+ _LT_TAGVAR(export_symbols_cmds, $1)="$ltdll_cmds"
+ ;;
+ cygwin* | mingw* | cegcc*)
+ _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/;/^.*[[ ]]__nm__/s/^.*[[ ]]__nm__\([[^ ]]*\)[[ ]][[^ ]]*/\1 DATA/;/^I[[ ]]/d;/^[[AITW]][[ ]]/s/.* //'\'' | sort | uniq > $export_symbols'
;;
- cygwin* | mingw*)
- _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/;/^.*[[ ]]__nm__/s/^.*[[ ]]__nm__\([[^ ]]*\)[[ ]][[^ ]]*/\1 DATA/;/^I[[ ]]/d;/^[[AITW]][[ ]]/s/.*[[ ]]//'\'' | sort | uniq > $export_symbols'
+ linux* | k*bsd*-gnu)
+ _LT_TAGVAR(link_all_deplibs, $1)=no
;;
*)
- _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
+ _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
;;
esac
-],[
+ _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*']
+], [
runpath_var=
- _LT_AC_TAGVAR(allow_undefined_flag, $1)=
- _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=no
- _LT_AC_TAGVAR(archive_cmds, $1)=
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)=
- _LT_AC_TAGVAR(old_archive_From_new_cmds, $1)=
- _LT_AC_TAGVAR(old_archive_from_expsyms_cmds, $1)=
- _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)=
- _LT_AC_TAGVAR(whole_archive_flag_spec, $1)=
- _LT_AC_TAGVAR(thread_safe_flag_spec, $1)=
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)=
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)=
- _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=
- _LT_AC_TAGVAR(hardcode_direct, $1)=no
- _LT_AC_TAGVAR(hardcode_minus_L, $1)=no
- _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
- _LT_AC_TAGVAR(link_all_deplibs, $1)=unknown
- _LT_AC_TAGVAR(hardcode_automatic, $1)=no
- _LT_AC_TAGVAR(module_cmds, $1)=
- _LT_AC_TAGVAR(module_expsym_cmds, $1)=
- _LT_AC_TAGVAR(always_export_symbols, $1)=no
- _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
+ _LT_TAGVAR(allow_undefined_flag, $1)=
+ _LT_TAGVAR(always_export_symbols, $1)=no
+ _LT_TAGVAR(archive_cmds, $1)=
+ _LT_TAGVAR(archive_expsym_cmds, $1)=
+ _LT_TAGVAR(compiler_needs_object, $1)=no
+ _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)=
+ _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
+ _LT_TAGVAR(hardcode_automatic, $1)=no
+ _LT_TAGVAR(hardcode_direct, $1)=no
+ _LT_TAGVAR(hardcode_direct_absolute, $1)=no
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
+ _LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)=
+ _LT_TAGVAR(hardcode_libdir_separator, $1)=
+ _LT_TAGVAR(hardcode_minus_L, $1)=no
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
+ _LT_TAGVAR(inherit_rpath, $1)=no
+ _LT_TAGVAR(link_all_deplibs, $1)=unknown
+ _LT_TAGVAR(module_cmds, $1)=
+ _LT_TAGVAR(module_expsym_cmds, $1)=
+ _LT_TAGVAR(old_archive_from_new_cmds, $1)=
+ _LT_TAGVAR(old_archive_from_expsyms_cmds, $1)=
+ _LT_TAGVAR(thread_safe_flag_spec, $1)=
+ _LT_TAGVAR(whole_archive_flag_spec, $1)=
# include_expsyms should be a list of space-separated symbols to be *always*
# included in the symbol list
- _LT_AC_TAGVAR(include_expsyms, $1)=
+ _LT_TAGVAR(include_expsyms, $1)=
# exclude_expsyms can be an extended regexp of symbols to exclude
# it will be wrapped by ` (' and `)$', so one must not match beginning or
# end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc',
# as well as any symbol that contains `d'.
- _LT_AC_TAGVAR(exclude_expsyms, $1)="_GLOBAL_OFFSET_TABLE_"
+ _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*']
# Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out
# platforms (ab)use it in PIC code, but their linkers get confused if
# the symbol is explicitly referenced. Since portable code cannot
# rely on this symbol name, it's probably fine to never include it in
# preloaded symbol tables.
+ # Exclude shared library initialization/finalization symbols.
+dnl Note also adjust exclude_expsyms for C++ above.
extract_expsyms_cmds=
- # Just being paranoid about ensuring that cc_basename is set.
- _LT_CC_BASENAME([$compiler])
+
case $host_os in
- cygwin* | mingw* | pw32*)
+ cygwin* | mingw* | pw32* | cegcc*)
# FIXME: the MSVC++ port hasn't been tested in a loooong time
# When not using gcc, we currently assume that we are using
# Microsoft Visual C++.
@@ -5572,7 +4278,7 @@ ifelse([$1],[CXX],[
;;
esac
- _LT_AC_TAGVAR(ld_shlibs, $1)=yes
+ _LT_TAGVAR(ld_shlibs, $1)=yes
if test "$with_gnu_ld" = yes; then
# If archive_cmds runs LD, not CC, wlarc should be empty
wlarc='${wl}'
@@ -5581,16 +4287,16 @@ ifelse([$1],[CXX],[
# are reset later if shared libraries are not supported. Putting them
# here allows them to be overridden if necessary.
runpath_var=LD_RUN_PATH
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir'
- _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
# ancient GNU ld didn't support --whole-archive et. al.
- if $LD --help 2>&1 | grep 'no-whole-archive' > /dev/null; then
- _LT_AC_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
- else
- _LT_AC_TAGVAR(whole_archive_flag_spec, $1)=
+ if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then
+ _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
+ else
+ _LT_TAGVAR(whole_archive_flag_spec, $1)=
fi
supports_anon_versioning=no
- case `$LD -v 2>/dev/null` in
+ case `$LD -v 2>&1` in
*\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.10.*) ;; # catch versions < 2.11
*\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ...
*\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ...
@@ -5600,11 +4306,11 @@ ifelse([$1],[CXX],[
# See if GNU ld supports shared libraries.
case $host_os in
- aix3* | aix4* | aix5*)
+ aix[[3-9]]*)
# On AIX/PPC, the GNU linker is very broken
if test "$host_cpu" != ia64; then
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- cat <<EOF 1>&2
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ cat <<_LT_EOF 1>&2
*** Warning: the GNU linker, at least up to release 2.9.1, is reported
*** to be unable to reliably create shared libraries on AIX.
@@ -5612,49 +4318,50 @@ ifelse([$1],[CXX],[
*** really care for shared libraries, you may want to modify your PATH
*** so that a non-GNU linker is found, and then restart.
-EOF
+_LT_EOF
fi
;;
amigaos*)
- _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
- _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
-
- # Samuel A. Falvo II <kc5tja@dolphin.openprojects.net> reports
- # that the semantics of dynamic libraries on AmigaOS, at least up
- # to version 4, is to share data among multiple programs linked
- # with the same dynamic library. Since this doesn't match the
- # behavior of shared libraries on other platforms, we can't use
- # them.
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
+ case $host_cpu in
+ powerpc)
+ # see comment about AmigaOS4 .so support
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)=''
+ ;;
+ m68k)
+ _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+ _LT_TAGVAR(hardcode_minus_L, $1)=yes
+ ;;
+ esac
;;
beos*)
- if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
- _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported
+ if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
+ _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
# Joseph Beckenbach <jrb3@best.com> says some releases of gcc
# support --undefined. This deserves some investigation. FIXME
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
else
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
+ _LT_TAGVAR(ld_shlibs, $1)=no
fi
;;
- cygwin* | mingw* | pw32*)
- # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless,
+ cygwin* | mingw* | pw32* | cegcc*)
+ # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless,
# as there is no search path for DLLs.
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
- _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported
- _LT_AC_TAGVAR(always_export_symbols, $1)=no
- _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
- _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/'\'' -e '\''/^[[AITW]][[ ]]/s/.*[[ ]]//'\'' | sort | uniq > $export_symbols'
-
- if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+ _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
+ _LT_TAGVAR(always_export_symbols, $1)=no
+ _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
+ _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/'\'' | $SED -e '\''/^[[AITW]][[ ]]/s/.*[[ ]]//'\'' | sort | uniq > $export_symbols'
+
+ if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
# If the export-symbols file already is a .def file (1st line
# is EXPORTS), use it as is; otherwise, prepend...
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
+ _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
cp $export_symbols $output_objdir/$soname.def;
else
echo EXPORTS > $output_objdir/$soname.def;
@@ -5662,79 +4369,109 @@ EOF
fi~
$CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
else
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
+ _LT_TAGVAR(ld_shlibs, $1)=no
fi
;;
interix[[3-9]]*)
- _LT_AC_TAGVAR(hardcode_direct, $1)=no
- _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
- _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+ _LT_TAGVAR(hardcode_direct, $1)=no
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
# Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
# Instead, shared libraries are loaded at an image base (0x10000000 by
# default) and relocated if they conflict, which is a slow very memory
# consuming and fragmenting process. To avoid this, we pick a random,
# 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
# time. Moving up from 0x10000000 also allows more sbrk(2) space.
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
;;
- gnu* | linux* | k*bsd*-gnu)
- if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
+ gnu* | linux* | tpf* | k*bsd*-gnu)
+ tmp_diet=no
+ if test "$host_os" = linux-dietlibc; then
+ case $cc_basename in
+ diet\ *) tmp_diet=yes;; # linux-dietlibc with static linking (!diet-dyn)
+ esac
+ fi
+ if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \
+ && test "$tmp_diet" = no
+ then
tmp_addflag=
+ tmp_sharedflag='-shared'
case $cc_basename,$host_cpu in
- pgcc*) # Portland Group C compiler
- _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
+ pgcc*) # Portland Group C compiler
+ _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive'
tmp_addflag=' $pic_flag'
;;
pgf77* | pgf90* | pgf95*) # Portland Group f77 and f90 compilers
- _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
+ _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive'
tmp_addflag=' $pic_flag -Mnomain' ;;
- ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64
+ ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64
tmp_addflag=' -i_dynamic' ;;
efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64
tmp_addflag=' -i_dynamic -nofor_main' ;;
ifc* | ifort*) # Intel Fortran compiler
tmp_addflag=' -nofor_main' ;;
+ lf95*) # Lahey Fortran 8.1
+ _LT_TAGVAR(whole_archive_flag_spec, $1)=
+ tmp_sharedflag='--shared' ;;
+ xl[[cC]]*) # IBM XL C 8.0 on PPC (deal with xlf below)
+ tmp_sharedflag='-qmkshrobj'
+ tmp_addflag= ;;
esac
case `$CC -V 2>&1 | sed 5q` in
*Sun\ C*) # Sun C 5.9
- _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
+ _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive'
+ _LT_TAGVAR(compiler_needs_object, $1)=yes
tmp_sharedflag='-G' ;;
*Sun\ F*) # Sun Fortran 8.3
tmp_sharedflag='-G' ;;
- *)
- tmp_sharedflag='-shared' ;;
esac
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ _LT_TAGVAR(archive_cmds, $1)='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- if test $supports_anon_versioning = yes; then
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $output_objdir/$libname.ver~
- cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
- $echo "local: *; };" >> $output_objdir/$libname.ver~
- $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
- fi
+ if test "x$supports_anon_versioning" = xyes; then
+ _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~
+ cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
+ echo "local: *; };" >> $output_objdir/$libname.ver~
+ $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
+ fi
+
+ case $cc_basename in
+ xlf*)
+ # IBM XL Fortran 10.1 on PPC cannot create shared libs itself
+ _LT_TAGVAR(whole_archive_flag_spec, $1)='--whole-archive$convenience --no-whole-archive'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
+ _LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='-rpath $libdir'
+ _LT_TAGVAR(archive_cmds, $1)='$LD -shared $libobjs $deplibs $compiler_flags -soname $soname -o $lib'
+ if test "x$supports_anon_versioning" = xyes; then
+ _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~
+ cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
+ echo "local: *; };" >> $output_objdir/$libname.ver~
+ $LD -shared $libobjs $deplibs $compiler_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib'
+ fi
+ ;;
+ esac
else
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
+ _LT_TAGVAR(ld_shlibs, $1)=no
fi
;;
- netbsd*)
- if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
- _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
+ netbsd* | netbsdelf*-gnu)
+ if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
+ _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
wlarc=
else
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
fi
;;
solaris*)
- if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- cat <<EOF 1>&2
+ if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ cat <<_LT_EOF 1>&2
*** Warning: The releases 2.8.* of the GNU linker cannot reliably
*** create shared libraries on Solaris systems. Therefore, libtool
@@ -5743,19 +4480,19 @@ EOF
*** your PATH or compiler configuration so that the native linker is
*** used, and then restart.
-EOF
- elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+_LT_EOF
+ elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
else
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
+ _LT_TAGVAR(ld_shlibs, $1)=no
fi
;;
sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*)
case `$LD -v 2>&1` in
*\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.1[[0-5]].*)
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
+ _LT_TAGVAR(ld_shlibs, $1)=no
cat <<_LT_EOF 1>&2
*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not
@@ -5768,58 +4505,62 @@ EOF
_LT_EOF
;;
*)
- if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`'
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib'
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname,-retain-symbols-file,$export_symbols -o $lib'
+ # For security reasons, it is highly recommended that you always
+ # use absolute paths for naming shared libraries, and exclude the
+ # DT_RUNPATH tag from executables and libraries. But doing so
+ # requires that you compile everything twice, which is a pain.
+ if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
else
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
+ _LT_TAGVAR(ld_shlibs, $1)=no
fi
;;
esac
;;
sunos4*)
- _LT_AC_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags'
+ _LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags'
wlarc=
- _LT_AC_TAGVAR(hardcode_direct, $1)=yes
- _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+ _LT_TAGVAR(hardcode_direct, $1)=yes
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
;;
*)
- if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+ if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
else
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
+ _LT_TAGVAR(ld_shlibs, $1)=no
fi
;;
esac
- if test "$_LT_AC_TAGVAR(ld_shlibs, $1)" = no; then
+ if test "$_LT_TAGVAR(ld_shlibs, $1)" = no; then
runpath_var=
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)=
- _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)=
- _LT_AC_TAGVAR(whole_archive_flag_spec, $1)=
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)=
+ _LT_TAGVAR(whole_archive_flag_spec, $1)=
fi
else
# PORTME fill in a description of your system's linker (not GNU ld)
case $host_os in
aix3*)
- _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported
- _LT_AC_TAGVAR(always_export_symbols, $1)=yes
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname'
+ _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
+ _LT_TAGVAR(always_export_symbols, $1)=yes
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname'
# Note: this linker hardcodes the directories in LIBPATH if there
# are no directories specified by -L.
- _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
+ _LT_TAGVAR(hardcode_minus_L, $1)=yes
if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then
# Neither direct hardcoding nor static linking is supported with a
# broken collect2.
- _LT_AC_TAGVAR(hardcode_direct, $1)=unsupported
+ _LT_TAGVAR(hardcode_direct, $1)=unsupported
fi
;;
- aix4* | aix5*)
+ aix[[4-9]]*)
if test "$host_cpu" = ia64; then
# On IA64, the linker does run time linking by default, so we don't
# have to do anything special.
@@ -5829,22 +4570,22 @@ _LT_EOF
else
# If we're using GNU nm, then we don't want the "-C" option.
# -C means demangle to AIX nm, but means don't demangle with GNU nm
- if $NM -V 2>&1 | grep 'GNU' > /dev/null; then
- _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\[$]2 == "T") || (\[$]2 == "D") || (\[$]2 == "B")) && ([substr](\[$]3,1,1) != ".")) { print \[$]3 } }'\'' | sort -u > $export_symbols'
+ if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
+ _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
else
- _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\[$]2 == "T") || (\[$]2 == "D") || (\[$]2 == "B")) && ([substr](\[$]3,1,1) != ".")) { print \[$]3 } }'\'' | sort -u > $export_symbols'
+ _LT_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
fi
aix_use_runtimelinking=no
# Test if we are trying to use run time linking or normal
# AIX style linking. If -brtl is somewhere in LDFLAGS, we
# need to do runtime linking.
- case $host_os in aix4.[[23]]|aix4.[[23]].*|aix5*)
+ case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*)
for ld_flag in $LDFLAGS; do
- if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then
- aix_use_runtimelinking=yes
- break
- fi
+ if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then
+ aix_use_runtimelinking=yes
+ break
+ fi
done
;;
esac
@@ -5859,30 +4600,32 @@ _LT_EOF
# CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not
# enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
- _LT_AC_TAGVAR(archive_cmds, $1)=''
- _LT_AC_TAGVAR(hardcode_direct, $1)=yes
- _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':'
- _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
+ _LT_TAGVAR(archive_cmds, $1)=''
+ _LT_TAGVAR(hardcode_direct, $1)=yes
+ _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
+ _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
+ _LT_TAGVAR(link_all_deplibs, $1)=yes
+ _LT_TAGVAR(file_list_spec, $1)='${wl}-f,'
if test "$GCC" = yes; then
case $host_os in aix4.[[012]]|aix4.[[012]].*)
# We only want to do this on AIX 4.2 and lower, the check
# below for broken collect2 doesn't work under 4.3+
collect2name=`${CC} -print-prog-name=collect2`
- if test -f "$collect2name" && \
- strings "$collect2name" | grep resolve_lib_name >/dev/null
+ if test -f "$collect2name" &&
+ strings "$collect2name" | $GREP resolve_lib_name >/dev/null
then
- # We have reworked collect2
- :
+ # We have reworked collect2
+ :
else
- # We have old collect2
- _LT_AC_TAGVAR(hardcode_direct, $1)=unsupported
- # It fails to find uninstalled libraries when the uninstalled
- # path is not listed in the libpath. Setting hardcode_minus_L
- # to unsupported forces relinking
- _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
- _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=
+ # We have old collect2
+ _LT_TAGVAR(hardcode_direct, $1)=unsupported
+ # It fails to find uninstalled libraries when the uninstalled
+ # path is not listed in the libpath. Setting hardcode_minus_L
+ # to unsupported forces relinking
+ _LT_TAGVAR(hardcode_minus_L, $1)=yes
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+ _LT_TAGVAR(hardcode_libdir_separator, $1)=
fi
;;
esac
@@ -5890,11 +4633,12 @@ _LT_EOF
if test "$aix_use_runtimelinking" = yes; then
shared_flag="$shared_flag "'${wl}-G'
fi
+ _LT_TAGVAR(link_all_deplibs, $1)=no
else
# not using gcc
if test "$host_cpu" = ia64; then
- # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
- # chokes on -Wl,-G. The following line is correct:
+ # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
+ # chokes on -Wl,-G. The following line is correct:
shared_flag='-G'
else
if test "$aix_use_runtimelinking" = yes; then
@@ -5905,130 +4649,94 @@ _LT_EOF
fi
fi
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-bexpall'
# It seems that -bexpall does not export symbols beginning with
# underscore (_), so it is better to generate a list of symbols to export.
- _LT_AC_TAGVAR(always_export_symbols, $1)=yes
+ _LT_TAGVAR(always_export_symbols, $1)=yes
if test "$aix_use_runtimelinking" = yes; then
# Warning - without using the other runtime loading flags (-brtl),
# -berok will link without error, but may produce a broken library.
- _LT_AC_TAGVAR(allow_undefined_flag, $1)='-berok'
- # Determine the default libpath from the value encoded in an empty executable.
- _LT_AC_SYS_LIBPATH_AIX
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
- else
+ _LT_TAGVAR(allow_undefined_flag, $1)='-berok'
+ # Determine the default libpath from the value encoded in an
+ # empty executable.
+ _LT_SYS_MODULE_PATH_AIX
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then $ECHO "X${wl}${allow_undefined_flag}" | $Xsed; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
+ else
if test "$host_cpu" = ia64; then
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib'
- _LT_AC_TAGVAR(allow_undefined_flag, $1)="-z nodefs"
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols"
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib'
+ _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs"
+ _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols"
else
- # Determine the default libpath from the value encoded in an empty executable.
- _LT_AC_SYS_LIBPATH_AIX
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
+ # Determine the default libpath from the value encoded in an
+ # empty executable.
+ _LT_SYS_MODULE_PATH_AIX
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
# Warning - without using the other run time loading flags,
# -berok will link without error, but may produce a broken library.
- _LT_AC_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok'
- _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok'
+ _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok'
+ _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok'
# Exported symbols can be pulled into shared objects from archives
- _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='$convenience'
- _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes
+ _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience'
+ _LT_TAGVAR(archive_cmds_need_lc, $1)=yes
# This is similar to how AIX traditionally builds its shared libraries.
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
+ _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
fi
fi
;;
amigaos*)
- _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
- _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
- # see comment about different semantics on the GNU ld section
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
+ case $host_cpu in
+ powerpc)
+ # see comment about AmigaOS4 .so support
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)=''
+ ;;
+ m68k)
+ _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+ _LT_TAGVAR(hardcode_minus_L, $1)=yes
+ ;;
+ esac
;;
bsdi[[45]]*)
- _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)=-rdynamic
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)=-rdynamic
;;
- cygwin* | mingw* | pw32*)
+ cygwin* | mingw* | pw32* | cegcc*)
# When not using gcc, we currently assume that we are using
# Microsoft Visual C++.
# hardcode_libdir_flag_spec is actually meaningless, as there is
# no search path for DLLs.
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)=' '
- _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' '
+ _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
# Tell ltmain to make .lib files, not .a files.
libext=lib
# Tell ltmain to make .dll files, not .so files.
shrext_cmds=".dll"
# FIXME: Setting linknames here is a bad hack.
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -o $lib $libobjs $compiler_flags `echo "$deplibs" | $SED -e '\''s/ -lc$//'\''` -link -dll~linknames='
+ _LT_TAGVAR(archive_cmds, $1)='$CC -o $lib $libobjs $compiler_flags `$ECHO "X$deplibs" | $Xsed -e '\''s/ -lc$//'\''` -link -dll~linknames='
# The linker will automatically build a .lib file if we build a DLL.
- _LT_AC_TAGVAR(old_archive_From_new_cmds, $1)='true'
+ _LT_TAGVAR(old_archive_from_new_cmds, $1)='true'
# FIXME: Should let the user specify the lib program.
- _LT_AC_TAGVAR(old_archive_cmds, $1)='lib -OUT:$oldlib$oldobjs$old_deplibs'
- _LT_AC_TAGVAR(fix_srcfile_path, $1)='`cygpath -w "$srcfile"`'
- _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
+ _LT_TAGVAR(old_archive_cmds, $1)='lib -OUT:$oldlib$oldobjs$old_deplibs'
+ _LT_TAGVAR(fix_srcfile_path, $1)='`cygpath -w "$srcfile"`'
+ _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
;;
darwin* | rhapsody*)
- case $host_os in
- rhapsody* | darwin1.[[012]])
- _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-undefined ${wl}suppress'
- ;;
- *) # Darwin 1.3 on
- if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then
- _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-flat_namespace ${wl}-undefined ${wl}suppress'
- else
- case ${MACOSX_DEPLOYMENT_TARGET} in
- 10.[[012]])
- _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-flat_namespace ${wl}-undefined ${wl}suppress'
- ;;
- 10.*)
- _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-undefined ${wl}dynamic_lookup'
- ;;
- esac
- fi
- ;;
- esac
- _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
- _LT_AC_TAGVAR(hardcode_direct, $1)=no
- _LT_AC_TAGVAR(hardcode_automatic, $1)=yes
- _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
- _LT_AC_TAGVAR(whole_archive_flag_spec, $1)=''
- _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
- if test "$GCC" = yes ; then
- output_verbose_link_cmd='echo'
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring'
- _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
- # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
- _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
- else
- case $cc_basename in
- xlc*)
- output_verbose_link_cmd='echo'
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $xlcverstring'
- _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
- # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $xlcverstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
- _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
- ;;
- *)
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
- ;;
- esac
- fi
+ _LT_DARWIN_LINKER_FEATURES($1)
;;
dgux*)
- _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
- _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+ _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
;;
freebsd1*)
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
+ _LT_TAGVAR(ld_shlibs, $1)=no
;;
# FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor
@@ -6036,60 +4744,60 @@ _LT_EOF
# does not break anything, and helps significantly (at the cost of a little
# extra space).
freebsd2.2*)
- _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o'
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
- _LT_AC_TAGVAR(hardcode_direct, $1)=yes
- _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+ _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
+ _LT_TAGVAR(hardcode_direct, $1)=yes
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
;;
# Unfortunately, older versions of FreeBSD 2 do not have this feature.
freebsd2*)
- _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
- _LT_AC_TAGVAR(hardcode_direct, $1)=yes
- _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
- _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+ _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
+ _LT_TAGVAR(hardcode_direct, $1)=yes
+ _LT_TAGVAR(hardcode_minus_L, $1)=yes
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
;;
# FreeBSD 3 and greater uses gcc -shared to do shared libraries.
freebsd* | dragonfly*)
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -o $lib $libobjs $deplibs $compiler_flags'
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
- _LT_AC_TAGVAR(hardcode_direct, $1)=yes
- _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
+ _LT_TAGVAR(hardcode_direct, $1)=yes
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
;;
hpux9*)
if test "$GCC" = yes; then
- _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+ _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
else
- _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+ _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
fi
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
- _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
- _LT_AC_TAGVAR(hardcode_direct, $1)=yes
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
+ _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+ _LT_TAGVAR(hardcode_direct, $1)=yes
# hardcode_minus_L: Not really in the search PATH,
# but as the default location of the library.
- _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
- _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+ _LT_TAGVAR(hardcode_minus_L, $1)=yes
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
;;
hpux10*)
if test "$GCC" = yes -a "$with_gnu_ld" = no; then
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
else
- _LT_AC_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
+ _LT_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
fi
if test "$with_gnu_ld" = no; then
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
- _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
-
- _LT_AC_TAGVAR(hardcode_direct, $1)=yes
- _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
-
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
+ _LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='+b $libdir'
+ _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+ _LT_TAGVAR(hardcode_direct, $1)=yes
+ _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
# hardcode_minus_L: Not really in the search PATH,
# but as the default location of the library.
- _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
+ _LT_TAGVAR(hardcode_minus_L, $1)=yes
fi
;;
@@ -6097,45 +4805,45 @@ _LT_EOF
if test "$GCC" = yes -a "$with_gnu_ld" = no; then
case $host_cpu in
hppa*64*)
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
;;
ia64*)
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
;;
*)
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
;;
esac
else
case $host_cpu in
hppa*64*)
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
;;
ia64*)
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
;;
*)
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
;;
esac
fi
if test "$with_gnu_ld" = no; then
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
- _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
+ _LT_TAGVAR(hardcode_libdir_separator, $1)=:
case $host_cpu in
hppa*64*|ia64*)
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='+b $libdir'
- _LT_AC_TAGVAR(hardcode_direct, $1)=no
- _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+ _LT_TAGVAR(hardcode_direct, $1)=no
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
;;
*)
- _LT_AC_TAGVAR(hardcode_direct, $1)=yes
- _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+ _LT_TAGVAR(hardcode_direct, $1)=yes
+ _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
# hardcode_minus_L: Not really in the search PATH,
# but as the default location of the library.
- _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
+ _LT_TAGVAR(hardcode_minus_L, $1)=yes
;;
esac
fi
@@ -6143,194 +4851,221 @@ _LT_EOF
irix5* | irix6* | nonstopux*)
if test "$GCC" = yes; then
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+ # Try to use the -exported_symbol ld option, if it does not
+ # work, assume that -exports_file does not work either and
+ # implicitly export all symbols.
+ save_LDFLAGS="$LDFLAGS"
+ LDFLAGS="$LDFLAGS -shared ${wl}-exported_symbol ${wl}foo ${wl}-update_registry ${wl}/dev/null"
+ AC_LINK_IFELSE(int foo(void) {},
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations ${wl}-exports_file ${wl}$export_symbols -o $lib'
+ )
+ LDFLAGS="$save_LDFLAGS"
else
- _LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='-rpath $libdir'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -exports_file $export_symbols -o $lib'
fi
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
- _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
- _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
+ _LT_TAGVAR(archive_cmds_need_lc, $1)='no'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+ _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+ _LT_TAGVAR(inherit_rpath, $1)=yes
+ _LT_TAGVAR(link_all_deplibs, $1)=yes
;;
- netbsd*)
- if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
- _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out
+ netbsd* | netbsdelf*-gnu)
+ if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
+ _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out
else
- _LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF
+ _LT_TAGVAR(archive_cmds, $1)='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF
fi
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
- _LT_AC_TAGVAR(hardcode_direct, $1)=yes
- _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
+ _LT_TAGVAR(hardcode_direct, $1)=yes
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
;;
newsos6)
- _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- _LT_AC_TAGVAR(hardcode_direct, $1)=yes
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
- _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
- _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+ _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ _LT_TAGVAR(hardcode_direct, $1)=yes
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+ _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ ;;
+
+ *nto* | *qnx*)
;;
openbsd*)
if test -f /usr/libexec/ld.so; then
- _LT_AC_TAGVAR(hardcode_direct, $1)=yes
- _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
- if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols'
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
- _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+ _LT_TAGVAR(hardcode_direct, $1)=yes
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
+ if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
else
case $host_os in
openbsd[[01]].* | openbsd2.[[0-7]] | openbsd2.[[0-7]].*)
- _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
+ _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
;;
*)
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
;;
esac
- fi
+ fi
else
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
+ _LT_TAGVAR(ld_shlibs, $1)=no
fi
;;
os2*)
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
- _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
- _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported
- _LT_AC_TAGVAR(archive_cmds, $1)='$echo "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$echo "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$echo DATA >> $output_objdir/$libname.def~$echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~$echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def'
- _LT_AC_TAGVAR(old_archive_From_new_cmds, $1)='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+ _LT_TAGVAR(hardcode_minus_L, $1)=yes
+ _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
+ _LT_TAGVAR(archive_cmds, $1)='$ECHO "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$ECHO DATA >> $output_objdir/$libname.def~$ECHO " SINGLE NONSHARED" >> $output_objdir/$libname.def~$ECHO EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def'
+ _LT_TAGVAR(old_archive_from_new_cmds, $1)='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def'
;;
osf3*)
if test "$GCC" = yes; then
- _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+ _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
else
- _LT_AC_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
- _LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
+ _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
fi
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
- _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
+ _LT_TAGVAR(archive_cmds_need_lc, $1)='no'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+ _LT_TAGVAR(hardcode_libdir_separator, $1)=:
;;
osf4* | osf5*) # as osf3* with the addition of -msym flag
if test "$GCC" = yes; then
- _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+ _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
else
- _LT_AC_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
- _LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; echo "-hidden">> $lib.exp~
- $LD -shared${allow_undefined_flag} -input $lib.exp $linker_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~$rm $lib.exp'
+ _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~
+ $CC -shared${allow_undefined_flag} ${wl}-input ${wl}$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib~$RM $lib.exp'
# Both c and cxx compiler support -rpath directly
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
fi
- _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
+ _LT_TAGVAR(archive_cmds_need_lc, $1)='no'
+ _LT_TAGVAR(hardcode_libdir_separator, $1)=:
;;
solaris*)
- _LT_AC_TAGVAR(no_undefined_flag, $1)=' -z text'
+ _LT_TAGVAR(no_undefined_flag, $1)=' -z defs'
if test "$GCC" = yes; then
wlarc='${wl}'
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
- $CC -shared ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$rm $lib.exp'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-z ${wl}text ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
+ $CC -shared ${wl}-z ${wl}text ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
else
- wlarc=''
- _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags'
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
- $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp'
+ case `$CC -V 2>&1` in
+ *"Compilers 5.0"*)
+ wlarc=''
+ _LT_TAGVAR(archive_cmds, $1)='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
+ $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp'
+ ;;
+ *)
+ wlarc='${wl}'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
+ $CC -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
+ ;;
+ esac
fi
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
- _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
case $host_os in
solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
*)
# The compiler driver will combine and reorder linker options,
# but understands `-z linker_flag'. GCC discards it without `$wl',
# but is careful enough not to reorder.
- # Supported since Solaris 2.6 (maybe 2.5.1?)
+ # Supported since Solaris 2.6 (maybe 2.5.1?)
if test "$GCC" = yes; then
- _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
+ _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
else
- _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract'
+ _LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract'
fi
;;
esac
- _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
+ _LT_TAGVAR(link_all_deplibs, $1)=yes
;;
sunos4*)
if test "x$host_vendor" = xsequent; then
# Use $CC to link under sequent, because it throws in some extra .o
# files that make .init and .fini sections work.
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags'
else
- _LT_AC_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags'
+ _LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags'
fi
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
- _LT_AC_TAGVAR(hardcode_direct, $1)=yes
- _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
- _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+ _LT_TAGVAR(hardcode_direct, $1)=yes
+ _LT_TAGVAR(hardcode_minus_L, $1)=yes
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
;;
sysv4)
case $host_vendor in
sni)
- _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- _LT_AC_TAGVAR(hardcode_direct, $1)=yes # is this really true???
+ _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ _LT_TAGVAR(hardcode_direct, $1)=yes # is this really true???
;;
siemens)
## LD is ld it makes a PLAMLIB
## CC just makes a GrossModule.
- _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -o $lib $libobjs $deplibs $linker_flags'
- _LT_AC_TAGVAR(reload_cmds, $1)='$CC -r -o $output$reload_objs'
- _LT_AC_TAGVAR(hardcode_direct, $1)=no
+ _LT_TAGVAR(archive_cmds, $1)='$LD -G -o $lib $libobjs $deplibs $linker_flags'
+ _LT_TAGVAR(reload_cmds, $1)='$CC -r -o $output$reload_objs'
+ _LT_TAGVAR(hardcode_direct, $1)=no
;;
motorola)
- _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- _LT_AC_TAGVAR(hardcode_direct, $1)=no #Motorola manual says yes, but my tests say they lie
+ _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ _LT_TAGVAR(hardcode_direct, $1)=no #Motorola manual says yes, but my tests say they lie
;;
esac
runpath_var='LD_RUN_PATH'
- _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
;;
sysv4.3*)
- _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
- _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='-Bexport'
+ _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='-Bexport'
;;
sysv4*MP*)
if test -d /usr/nec; then
- _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+ _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
runpath_var=LD_RUN_PATH
hardcode_runpath_var=yes
- _LT_AC_TAGVAR(ld_shlibs, $1)=yes
+ _LT_TAGVAR(ld_shlibs, $1)=yes
fi
;;
sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*)
- _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
- _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
- _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+ _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
+ _LT_TAGVAR(archive_cmds_need_lc, $1)=no
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
runpath_var='LD_RUN_PATH'
if test "$GCC" = yes; then
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
else
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
fi
;;
@@ -6341,50 +5076,65 @@ _LT_EOF
# ever link correctly. If we're not using GNU ld we use -z text
# though, which does catch some bad symbols but isn't as heavy-handed
# as -z defs.
- _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
- _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs'
- _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
- _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`'
- _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':'
- _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
- _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport'
+ _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
+ _LT_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs'
+ _LT_TAGVAR(archive_cmds_need_lc, $1)=no
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R,$libdir'
+ _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
+ _LT_TAGVAR(link_all_deplibs, $1)=yes
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport'
runpath_var='LD_RUN_PATH'
if test "$GCC" = yes; then
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
else
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
fi
;;
uts4*)
- _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
- _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+ _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
;;
*)
- _LT_AC_TAGVAR(ld_shlibs, $1)=no
+ _LT_TAGVAR(ld_shlibs, $1)=no
;;
esac
+
+ if test x$host_vendor = xsni; then
+ case $host in
+ sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Blargedynsym'
+ ;;
+ esac
+ fi
fi
])
-AC_MSG_RESULT([$_LT_AC_TAGVAR(ld_shlibs, $1)])
-test "$_LT_AC_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no
+AC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)])
+test "$_LT_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no
+
+_LT_TAGVAR(with_gnu_ld, $1)=$with_gnu_ld
+
+_LT_DECL([], [libext], [0], [Old archive suffix (normally "a")])dnl
+_LT_DECL([], [shrext_cmds], [1], [Shared library suffix (normally ".so")])dnl
+_LT_DECL([], [extract_expsyms_cmds], [2],
+ [The commands to extract the exported symbol list from a shared archive])
#
# Do we need to explicitly link libc?
#
-case "x$_LT_AC_TAGVAR(archive_cmds_need_lc, $1)" in
+case "x$_LT_TAGVAR(archive_cmds_need_lc, $1)" in
x|xyes)
# Assume -lc should be added
- _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes
+ _LT_TAGVAR(archive_cmds_need_lc, $1)=yes
if test "$enable_shared" = yes && test "$GCC" = yes; then
- case $_LT_AC_TAGVAR(archive_cmds, $1) in
+ case $_LT_TAGVAR(archive_cmds, $1) in
*'~'*)
# FIXME: we may have to deal with multi-command sequences.
;;
@@ -6393,7 +5143,7 @@ x|xyes)
# systems, -lgcc has to come before -lc. If gcc already passes -lc
# to ld, don't add -lc before -lgcc.
AC_MSG_CHECKING([whether -lc should be explicitly linked in])
- $rm conftest*
+ $RM conftest*
echo "$lt_simple_compile_test_code" > conftest.$ac_ext
if AC_TRY_EVAL(ac_compile) 2>conftest.err; then
@@ -6401,135 +5151,1916 @@ x|xyes)
lib=conftest
libobjs=conftest.$ac_objext
deplibs=
- wl=$_LT_AC_TAGVAR(lt_prog_compiler_wl, $1)
- pic_flag=$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)
+ wl=$_LT_TAGVAR(lt_prog_compiler_wl, $1)
+ pic_flag=$_LT_TAGVAR(lt_prog_compiler_pic, $1)
compiler_flags=-v
linker_flags=-v
verstring=
output_objdir=.
libname=conftest
- lt_save_allow_undefined_flag=$_LT_AC_TAGVAR(allow_undefined_flag, $1)
- _LT_AC_TAGVAR(allow_undefined_flag, $1)=
- if AC_TRY_EVAL(_LT_AC_TAGVAR(archive_cmds, $1) 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1)
+ lt_save_allow_undefined_flag=$_LT_TAGVAR(allow_undefined_flag, $1)
+ _LT_TAGVAR(allow_undefined_flag, $1)=
+ if AC_TRY_EVAL(_LT_TAGVAR(archive_cmds, $1) 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1)
then
- _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
+ _LT_TAGVAR(archive_cmds_need_lc, $1)=no
else
- _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes
+ _LT_TAGVAR(archive_cmds_need_lc, $1)=yes
fi
- _LT_AC_TAGVAR(allow_undefined_flag, $1)=$lt_save_allow_undefined_flag
+ _LT_TAGVAR(allow_undefined_flag, $1)=$lt_save_allow_undefined_flag
else
cat conftest.err 1>&5
fi
- $rm conftest*
- AC_MSG_RESULT([$_LT_AC_TAGVAR(archive_cmds_need_lc, $1)])
+ $RM conftest*
+ AC_MSG_RESULT([$_LT_TAGVAR(archive_cmds_need_lc, $1)])
;;
esac
fi
;;
esac
-])# AC_LIBTOOL_PROG_LD_SHLIBS
+_LT_TAGDECL([build_libtool_need_lc], [archive_cmds_need_lc], [0],
+ [Whether or not to add -lc for building shared libraries])
+_LT_TAGDECL([allow_libtool_libs_with_static_runtimes],
+ [enable_shared_with_static_runtimes], [0],
+ [Whether or not to disallow shared libs when runtime libs are static])
+_LT_TAGDECL([], [export_dynamic_flag_spec], [1],
+ [Compiler flag to allow reflexive dlopens])
+_LT_TAGDECL([], [whole_archive_flag_spec], [1],
+ [Compiler flag to generate shared objects directly from archives])
+_LT_TAGDECL([], [compiler_needs_object], [1],
+ [Whether the compiler copes with passing no objects directly])
+_LT_TAGDECL([], [old_archive_from_new_cmds], [2],
+ [Create an old-style archive from a shared archive])
+_LT_TAGDECL([], [old_archive_from_expsyms_cmds], [2],
+ [Create a temporary old-style archive to link instead of a shared archive])
+_LT_TAGDECL([], [archive_cmds], [2], [Commands used to build a shared archive])
+_LT_TAGDECL([], [archive_expsym_cmds], [2])
+_LT_TAGDECL([], [module_cmds], [2],
+ [Commands used to build a loadable module if different from building
+ a shared archive.])
+_LT_TAGDECL([], [module_expsym_cmds], [2])
+_LT_TAGDECL([], [with_gnu_ld], [1],
+ [Whether we are building with GNU ld or not])
+_LT_TAGDECL([], [allow_undefined_flag], [1],
+ [Flag that allows shared libraries with undefined symbols to be built])
+_LT_TAGDECL([], [no_undefined_flag], [1],
+ [Flag that enforces no undefined symbols])
+_LT_TAGDECL([], [hardcode_libdir_flag_spec], [1],
+ [Flag to hardcode $libdir into a binary during linking.
+ This must work even if $libdir does not exist])
+_LT_TAGDECL([], [hardcode_libdir_flag_spec_ld], [1],
+ [[If ld is used when linking, flag to hardcode $libdir into a binary
+ during linking. This must work even if $libdir does not exist]])
+_LT_TAGDECL([], [hardcode_libdir_separator], [1],
+ [Whether we need a single "-rpath" flag with a separated argument])
+_LT_TAGDECL([], [hardcode_direct], [0],
+ [Set to "yes" if using DIR/libNAME${shared_ext} during linking hardcodes
+ DIR into the resulting binary])
+_LT_TAGDECL([], [hardcode_direct_absolute], [0],
+ [Set to "yes" if using DIR/libNAME${shared_ext} during linking hardcodes
+ DIR into the resulting binary and the resulting library dependency is
+ "absolute", i.e impossible to change by setting ${shlibpath_var} if the
+ library is relocated])
+_LT_TAGDECL([], [hardcode_minus_L], [0],
+ [Set to "yes" if using the -LDIR flag during linking hardcodes DIR
+ into the resulting binary])
+_LT_TAGDECL([], [hardcode_shlibpath_var], [0],
+ [Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR
+ into the resulting binary])
+_LT_TAGDECL([], [hardcode_automatic], [0],
+ [Set to "yes" if building a shared library automatically hardcodes DIR
+ into the library and all subsequent libraries and executables linked
+ against it])
+_LT_TAGDECL([], [inherit_rpath], [0],
+ [Set to yes if linker adds runtime paths of dependent libraries
+ to runtime path list])
+_LT_TAGDECL([], [link_all_deplibs], [0],
+ [Whether libtool must link a program against all its dependency libraries])
+_LT_TAGDECL([], [fix_srcfile_path], [1],
+ [Fix the shell variable $srcfile for the compiler])
+_LT_TAGDECL([], [always_export_symbols], [0],
+ [Set to "yes" if exported symbols are required])
+_LT_TAGDECL([], [export_symbols_cmds], [2],
+ [The commands to list exported symbols])
+_LT_TAGDECL([], [exclude_expsyms], [1],
+ [Symbols that should not be listed in the preloaded symbols])
+_LT_TAGDECL([], [include_expsyms], [1],
+ [Symbols that must always be exported])
+_LT_TAGDECL([], [prelink_cmds], [2],
+ [Commands necessary for linking programs (against libraries) with templates])
+_LT_TAGDECL([], [file_list_spec], [1],
+ [Specify filename containing input files])
+dnl FIXME: Not yet implemented
+dnl _LT_TAGDECL([], [thread_safe_flag_spec], [1],
+dnl [Compiler flag to generate thread safe objects])
+])# _LT_LINKER_SHLIBS
+
+
+# _LT_LANG_C_CONFIG([TAG])
+# ------------------------
+# Ensure that the configuration variables for a C compiler are suitably
+# defined. These variables are subsequently used by _LT_CONFIG to write
+# the compiler configuration to `libtool'.
+m4_defun([_LT_LANG_C_CONFIG],
+[m4_require([_LT_DECL_EGREP])dnl
+lt_save_CC="$CC"
+AC_LANG_PUSH(C)
-# _LT_AC_FILE_LTDLL_C
-# -------------------
-# Be careful that the start marker always follows a newline.
-AC_DEFUN([_LT_AC_FILE_LTDLL_C], [
-# /* ltdll.c starts here */
-# #define WIN32_LEAN_AND_MEAN
-# #include <windows.h>
-# #undef WIN32_LEAN_AND_MEAN
-# #include <stdio.h>
-#
-# #ifndef __CYGWIN__
-# # ifdef __CYGWIN32__
-# # define __CYGWIN__ __CYGWIN32__
-# # endif
-# #endif
-#
-# #ifdef __cplusplus
-# extern "C" {
-# #endif
-# BOOL APIENTRY DllMain (HINSTANCE hInst, DWORD reason, LPVOID reserved);
-# #ifdef __cplusplus
-# }
-# #endif
-#
-# #ifdef __CYGWIN__
-# #include <cygwin/cygwin_dll.h>
-# DECLARE_CYGWIN_DLL( DllMain );
-# #endif
-# HINSTANCE __hDllInstance_base;
-#
-# BOOL APIENTRY
-# DllMain (HINSTANCE hInst, DWORD reason, LPVOID reserved)
-# {
-# __hDllInstance_base = hInst;
-# return TRUE;
-# }
-# /* ltdll.c ends here */
-])# _LT_AC_FILE_LTDLL_C
+# Source file extension for C test sources.
+ac_ext=c
+# Object file extension for compiled C test sources.
+objext=o
+_LT_TAGVAR(objext, $1)=$objext
-# _LT_AC_TAGVAR(VARNAME, [TAGNAME])
-# ---------------------------------
-AC_DEFUN([_LT_AC_TAGVAR], [ifelse([$2], [], [$1], [$1_$2])])
+# Code to be used in simple compile tests
+lt_simple_compile_test_code="int some_variable = 0;"
+# Code to be used in simple link tests
+lt_simple_link_test_code='int main(){return(0);}'
-# old names
-AC_DEFUN([AM_PROG_LIBTOOL], [AC_PROG_LIBTOOL])
-AC_DEFUN([AM_ENABLE_SHARED], [AC_ENABLE_SHARED($@)])
-AC_DEFUN([AM_ENABLE_STATIC], [AC_ENABLE_STATIC($@)])
-AC_DEFUN([AM_DISABLE_SHARED], [AC_DISABLE_SHARED($@)])
-AC_DEFUN([AM_DISABLE_STATIC], [AC_DISABLE_STATIC($@)])
-AC_DEFUN([AM_PROG_LD], [AC_PROG_LD])
-AC_DEFUN([AM_PROG_NM], [AC_PROG_NM])
+_LT_TAG_COMPILER
+# Save the default compiler, since it gets overwritten when the other
+# tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP.
+compiler_DEFAULT=$CC
-# This is just to silence aclocal about the macro not being used
-ifelse([AC_DISABLE_FAST_INSTALL])
+# save warnings/boilerplate of simple test code
+_LT_COMPILER_BOILERPLATE
+_LT_LINKER_BOILERPLATE
-AC_DEFUN([LT_AC_PROG_GCJ],
-[AC_CHECK_TOOL(GCJ, gcj, no)
- test "x${GCJFLAGS+set}" = xset || GCJFLAGS="-g -O2"
- AC_SUBST(GCJFLAGS)
-])
+if test -n "$compiler"; then
+ _LT_COMPILER_NO_RTTI($1)
+ _LT_COMPILER_PIC($1)
+ _LT_COMPILER_C_O($1)
+ _LT_COMPILER_FILE_LOCKS($1)
+ _LT_LINKER_SHLIBS($1)
+ _LT_SYS_DYNAMIC_LINKER($1)
+ _LT_LINKER_HARDCODE_LIBPATH($1)
+ LT_SYS_DLOPEN_SELF
+ _LT_CMD_STRIPLIB
+
+ # Report which library types will actually be built
+ AC_MSG_CHECKING([if libtool supports shared libraries])
+ AC_MSG_RESULT([$can_build_shared])
+
+ AC_MSG_CHECKING([whether to build shared libraries])
+ test "$can_build_shared" = "no" && enable_shared=no
+
+ # On AIX, shared libraries and static libraries use the same namespace, and
+ # are all built from PIC.
+ case $host_os in
+ aix3*)
+ test "$enable_shared" = yes && enable_static=no
+ if test -n "$RANLIB"; then
+ archive_cmds="$archive_cmds~\$RANLIB \$lib"
+ postinstall_cmds='$RANLIB $lib'
+ fi
+ ;;
+
+ aix[[4-9]]*)
+ if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
+ test "$enable_shared" = yes && enable_static=no
+ fi
+ ;;
+ esac
+ AC_MSG_RESULT([$enable_shared])
+
+ AC_MSG_CHECKING([whether to build static libraries])
+ # Make sure either enable_shared or enable_static is yes.
+ test "$enable_shared" = yes || enable_static=yes
+ AC_MSG_RESULT([$enable_static])
+
+ _LT_CONFIG($1)
+fi
+AC_LANG_POP
+CC="$lt_save_CC"
+])# _LT_LANG_C_CONFIG
+
+
+# _LT_PROG_CXX
+# ------------
+# Since AC_PROG_CXX is broken, in that it returns g++ if there is no c++
+# compiler, we have our own version here.
+m4_defun([_LT_PROG_CXX],
+[
+pushdef([AC_MSG_ERROR], [_lt_caught_CXX_error=yes])
+AC_PROG_CXX
+if test -n "$CXX" && ( test "X$CXX" != "Xno" &&
+ ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) ||
+ (test "X$CXX" != "Xg++"))) ; then
+ AC_PROG_CXXCPP
+else
+ _lt_caught_CXX_error=yes
+fi
+popdef([AC_MSG_ERROR])
+])# _LT_PROG_CXX
+
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([_LT_PROG_CXX], [])
+
+
+# _LT_LANG_CXX_CONFIG([TAG])
+# --------------------------
+# Ensure that the configuration variables for a C++ compiler are suitably
+# defined. These variables are subsequently used by _LT_CONFIG to write
+# the compiler configuration to `libtool'.
+m4_defun([_LT_LANG_CXX_CONFIG],
+[AC_REQUIRE([_LT_PROG_CXX])dnl
+m4_require([_LT_FILEUTILS_DEFAULTS])dnl
+m4_require([_LT_DECL_EGREP])dnl
+
+AC_LANG_PUSH(C++)
+_LT_TAGVAR(archive_cmds_need_lc, $1)=no
+_LT_TAGVAR(allow_undefined_flag, $1)=
+_LT_TAGVAR(always_export_symbols, $1)=no
+_LT_TAGVAR(archive_expsym_cmds, $1)=
+_LT_TAGVAR(compiler_needs_object, $1)=no
+_LT_TAGVAR(export_dynamic_flag_spec, $1)=
+_LT_TAGVAR(hardcode_direct, $1)=no
+_LT_TAGVAR(hardcode_direct_absolute, $1)=no
+_LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
+_LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)=
+_LT_TAGVAR(hardcode_libdir_separator, $1)=
+_LT_TAGVAR(hardcode_minus_L, $1)=no
+_LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
+_LT_TAGVAR(hardcode_automatic, $1)=no
+_LT_TAGVAR(inherit_rpath, $1)=no
+_LT_TAGVAR(module_cmds, $1)=
+_LT_TAGVAR(module_expsym_cmds, $1)=
+_LT_TAGVAR(link_all_deplibs, $1)=unknown
+_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
+_LT_TAGVAR(no_undefined_flag, $1)=
+_LT_TAGVAR(whole_archive_flag_spec, $1)=
+_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
+
+# Source file extension for C++ test sources.
+ac_ext=cpp
+
+# Object file extension for compiled C++ test sources.
+objext=o
+_LT_TAGVAR(objext, $1)=$objext
+
+# No sense in running all these tests if we already determined that
+# the CXX compiler isn't working. Some variables (like enable_shared)
+# are currently assumed to apply to all compilers on this platform,
+# and will be corrupted by setting them based on a non-working compiler.
+if test "$_lt_caught_CXX_error" != yes; then
+ # Code to be used in simple compile tests
+ lt_simple_compile_test_code="int some_variable = 0;"
+
+ # Code to be used in simple link tests
+ lt_simple_link_test_code='int main(int, char *[[]]) { return(0); }'
+
+ # ltmain only uses $CC for tagged configurations so make sure $CC is set.
+ _LT_TAG_COMPILER
+
+ # save warnings/boilerplate of simple test code
+ _LT_COMPILER_BOILERPLATE
+ _LT_LINKER_BOILERPLATE
+
+ # Allow CC to be a program name with arguments.
+ lt_save_CC=$CC
+ lt_save_LD=$LD
+ lt_save_GCC=$GCC
+ GCC=$GXX
+ lt_save_with_gnu_ld=$with_gnu_ld
+ lt_save_path_LD=$lt_cv_path_LD
+ if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then
+ lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx
+ else
+ $as_unset lt_cv_prog_gnu_ld
+ fi
+ if test -n "${lt_cv_path_LDCXX+set}"; then
+ lt_cv_path_LD=$lt_cv_path_LDCXX
+ else
+ $as_unset lt_cv_path_LD
+ fi
+ test -z "${LDCXX+set}" || LD=$LDCXX
+ CC=${CXX-"c++"}
+ compiler=$CC
+ _LT_TAGVAR(compiler, $1)=$CC
+ _LT_CC_BASENAME([$compiler])
+
+ if test -n "$compiler"; then
+ # We don't want -fno-exception when compiling C++ code, so set the
+ # no_builtin_flag separately
+ if test "$GXX" = yes; then
+ _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin'
+ else
+ _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=
+ fi
+
+ if test "$GXX" = yes; then
+ # Set up default GNU C++ configuration
+
+ LT_PATH_LD
+
+ # Check if GNU C++ uses GNU ld as the underlying linker, since the
+ # archiving commands below assume that GNU ld is being used.
+ if test "$with_gnu_ld" = yes; then
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
+
+ # If archive_cmds runs LD, not CC, wlarc should be empty
+ # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to
+ # investigate it a little bit more. (MM)
+ wlarc='${wl}'
+
+ # ancient GNU ld didn't support --whole-archive et. al.
+ if eval "`$CC -print-prog-name=ld` --help 2>&1" |
+ $GREP 'no-whole-archive' > /dev/null; then
+ _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
+ else
+ _LT_TAGVAR(whole_archive_flag_spec, $1)=
+ fi
+ else
+ with_gnu_ld=no
+ wlarc=
+
+ # A generic and very simple default shared library creation
+ # command for GNU C++ for the case where it uses the native
+ # linker, instead of GNU ld. If possible, this setting should
+ # overridden to take advantage of the native linker features on
+ # the platform it is being used on.
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
+ fi
+
+ # Commands to make compiler produce verbose output that lists
+ # what "hidden" libraries, object files and flags are used when
+ # linking a shared library.
+ output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"'
+
+ else
+ GXX=no
+ with_gnu_ld=no
+ wlarc=
+ fi
+
+ # PORTME: fill in a description of your system's C++ link characteristics
+ AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries])
+ _LT_TAGVAR(ld_shlibs, $1)=yes
+ case $host_os in
+ aix3*)
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ aix[[4-9]]*)
+ if test "$host_cpu" = ia64; then
+ # On IA64, the linker does run time linking by default, so we don't
+ # have to do anything special.
+ aix_use_runtimelinking=no
+ exp_sym_flag='-Bexport'
+ no_entry_flag=""
+ else
+ aix_use_runtimelinking=no
+
+ # Test if we are trying to use run time linking or normal
+ # AIX style linking. If -brtl is somewhere in LDFLAGS, we
+ # need to do runtime linking.
+ case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*)
+ for ld_flag in $LDFLAGS; do
+ case $ld_flag in
+ *-brtl*)
+ aix_use_runtimelinking=yes
+ break
+ ;;
+ esac
+ done
+ ;;
+ esac
+
+ exp_sym_flag='-bexport'
+ no_entry_flag='-bnoentry'
+ fi
+
+ # When large executables or shared objects are built, AIX ld can
+ # have problems creating the table of contents. If linking a library
+ # or program results in "error TOC overflow" add -mminimal-toc to
+ # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not
+ # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
+
+ _LT_TAGVAR(archive_cmds, $1)=''
+ _LT_TAGVAR(hardcode_direct, $1)=yes
+ _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
+ _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
+ _LT_TAGVAR(link_all_deplibs, $1)=yes
+ _LT_TAGVAR(file_list_spec, $1)='${wl}-f,'
+
+ if test "$GXX" = yes; then
+ case $host_os in aix4.[[012]]|aix4.[[012]].*)
+ # We only want to do this on AIX 4.2 and lower, the check
+ # below for broken collect2 doesn't work under 4.3+
+ collect2name=`${CC} -print-prog-name=collect2`
+ if test -f "$collect2name" &&
+ strings "$collect2name" | $GREP resolve_lib_name >/dev/null
+ then
+ # We have reworked collect2
+ :
+ else
+ # We have old collect2
+ _LT_TAGVAR(hardcode_direct, $1)=unsupported
+ # It fails to find uninstalled libraries when the uninstalled
+ # path is not listed in the libpath. Setting hardcode_minus_L
+ # to unsupported forces relinking
+ _LT_TAGVAR(hardcode_minus_L, $1)=yes
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+ _LT_TAGVAR(hardcode_libdir_separator, $1)=
+ fi
+ esac
+ shared_flag='-shared'
+ if test "$aix_use_runtimelinking" = yes; then
+ shared_flag="$shared_flag "'${wl}-G'
+ fi
+ else
+ # not using gcc
+ if test "$host_cpu" = ia64; then
+ # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
+ # chokes on -Wl,-G. The following line is correct:
+ shared_flag='-G'
+ else
+ if test "$aix_use_runtimelinking" = yes; then
+ shared_flag='${wl}-G'
+ else
+ shared_flag='${wl}-bM:SRE'
+ fi
+ fi
+ fi
+
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-bexpall'
+ # It seems that -bexpall does not export symbols beginning with
+ # underscore (_), so it is better to generate a list of symbols to
+ # export.
+ _LT_TAGVAR(always_export_symbols, $1)=yes
+ if test "$aix_use_runtimelinking" = yes; then
+ # Warning - without using the other runtime loading flags (-brtl),
+ # -berok will link without error, but may produce a broken library.
+ _LT_TAGVAR(allow_undefined_flag, $1)='-berok'
+ # Determine the default libpath from the value encoded in an empty
+ # executable.
+ _LT_SYS_MODULE_PATH_AIX
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
+
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then $ECHO "X${wl}${allow_undefined_flag}" | $Xsed; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
+ else
+ if test "$host_cpu" = ia64; then
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib'
+ _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs"
+ _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols"
+ else
+ # Determine the default libpath from the value encoded in an
+ # empty executable.
+ _LT_SYS_MODULE_PATH_AIX
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
+ # Warning - without using the other run time loading flags,
+ # -berok will link without error, but may produce a broken library.
+ _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok'
+ _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok'
+ # Exported symbols can be pulled into shared objects from archives
+ _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience'
+ _LT_TAGVAR(archive_cmds_need_lc, $1)=yes
+ # This is similar to how AIX traditionally builds its shared
+ # libraries.
+ _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
+ fi
+ fi
+ ;;
+
+ beos*)
+ if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
+ _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
+ # Joseph Beckenbach <jrb3@best.com> says some releases of gcc
+ # support --undefined. This deserves some investigation. FIXME
+ _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ else
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ fi
+ ;;
+
+ chorus*)
+ case $cc_basename in
+ *)
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ esac
+ ;;
+
+ cygwin* | mingw* | pw32* | cegcc*)
+ # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless,
+ # as there is no search path for DLLs.
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+ _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
+ _LT_TAGVAR(always_export_symbols, $1)=no
+ _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
+
+ if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
+ # If the export-symbols file already is a .def file (1st line
+ # is EXPORTS), use it as is; otherwise, prepend...
+ _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
+ cp $export_symbols $output_objdir/$soname.def;
+ else
+ echo EXPORTS > $output_objdir/$soname.def;
+ cat $export_symbols >> $output_objdir/$soname.def;
+ fi~
+ $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
+ else
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ fi
+ ;;
+ darwin* | rhapsody*)
+ _LT_DARWIN_LINKER_FEATURES($1)
+ ;;
+
+ dgux*)
+ case $cc_basename in
+ ec++*)
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ ghcx*)
+ # Green Hills C++ Compiler
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ *)
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ esac
+ ;;
+
+ freebsd[[12]]*)
+ # C++ shared libraries reported to be fairly broken before
+ # switch to ELF
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+
+ freebsd-elf*)
+ _LT_TAGVAR(archive_cmds_need_lc, $1)=no
+ ;;
+
+ freebsd* | dragonfly*)
+ # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF
+ # conventions
+ _LT_TAGVAR(ld_shlibs, $1)=yes
+ ;;
+
+ gnu*)
+ ;;
+
+ hpux9*)
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
+ _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+ _LT_TAGVAR(hardcode_direct, $1)=yes
+ _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH,
+ # but as the default
+ # location of the library.
+
+ case $cc_basename in
+ CC*)
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ aCC*)
+ _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -b ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+ # Commands to make compiler produce verbose output that lists
+ # what "hidden" libraries, object files and flags are used when
+ # linking a shared library.
+ #
+ # There doesn't appear to be a way to prevent this compiler from
+ # explicitly linking system object files so we need to strip them
+ # from the output so that they don't get included in the library
+ # dependencies.
+ output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $EGREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed'
+ ;;
+ *)
+ if test "$GXX" = yes; then
+ _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared -nostdlib -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+ else
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ fi
+ ;;
+ esac
+ ;;
+
+ hpux10*|hpux11*)
+ if test $with_gnu_ld = no; then
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
+ _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+
+ case $host_cpu in
+ hppa*64*|ia64*)
+ ;;
+ *)
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+ ;;
+ esac
+ fi
+ case $host_cpu in
+ hppa*64*|ia64*)
+ _LT_TAGVAR(hardcode_direct, $1)=no
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ ;;
+ *)
+ _LT_TAGVAR(hardcode_direct, $1)=yes
+ _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
+ _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH,
+ # but as the default
+ # location of the library.
+ ;;
+ esac
+
+ case $cc_basename in
+ CC*)
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ aCC*)
+ case $host_cpu in
+ hppa*64*)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+ ;;
+ ia64*)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+ ;;
+ *)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+ ;;
+ esac
+ # Commands to make compiler produce verbose output that lists
+ # what "hidden" libraries, object files and flags are used when
+ # linking a shared library.
+ #
+ # There doesn't appear to be a way to prevent this compiler from
+ # explicitly linking system object files so we need to strip them
+ # from the output so that they don't get included in the library
+ # dependencies.
+ output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $GREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed'
+ ;;
+ *)
+ if test "$GXX" = yes; then
+ if test $with_gnu_ld = no; then
+ case $host_cpu in
+ hppa*64*)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+ ;;
+ ia64*)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+ ;;
+ *)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+ ;;
+ esac
+ fi
+ else
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ fi
+ ;;
+ esac
+ ;;
+
+ interix[[3-9]]*)
+ _LT_TAGVAR(hardcode_direct, $1)=no
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+ # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
+ # Instead, shared libraries are loaded at an image base (0x10000000 by
+ # default) and relocated if they conflict, which is a slow very memory
+ # consuming and fragmenting process. To avoid this, we pick a random,
+ # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
+ # time. Moving up from 0x10000000 also allows more sbrk(2) space.
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+ ;;
+ irix5* | irix6*)
+ case $cc_basename in
+ CC*)
+ # SGI C++
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
+
+ # Archives containing C++ object files must be created using
+ # "CC -ar", where "CC" is the IRIX C++ compiler. This is
+ # necessary to make sure instantiated templates are included
+ # in the archive.
+ _LT_TAGVAR(old_archive_cmds, $1)='$CC -ar -WR,-u -o $oldlib $oldobjs'
+ ;;
+ *)
+ if test "$GXX" = yes; then
+ if test "$with_gnu_ld" = no; then
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+ else
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` -o $lib'
+ fi
+ fi
+ _LT_TAGVAR(link_all_deplibs, $1)=yes
+ ;;
+ esac
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+ _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+ _LT_TAGVAR(inherit_rpath, $1)=yes
+ ;;
+
+ linux* | k*bsd*-gnu)
+ case $cc_basename in
+ KCC*)
+ # Kuck and Associates, Inc. (KAI) C++ Compiler
+
+ # KCC will only create a shared library if the output file
+ # ends with ".so" (or ".sl" for HP-UX), so rename the library
+ # to its proper name (with version) after linking.
+ _LT_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib ${wl}-retain-symbols-file,$export_symbols; mv \$templib $lib'
+ # Commands to make compiler produce verbose output that lists
+ # what "hidden" libraries, object files and flags are used when
+ # linking a shared library.
+ #
+ # There doesn't appear to be a way to prevent this compiler from
+ # explicitly linking system object files so we need to strip them
+ # from the output so that they don't get included in the library
+ # dependencies.
+ output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | $GREP "ld"`; rm -f libconftest$shared_ext; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed'
+
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
+
+ # Archives containing C++ object files must be created using
+ # "CC -Bstatic", where "CC" is the KAI C++ compiler.
+ _LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs'
+ ;;
+ icpc* | ecpc* )
+ # Intel C++
+ with_gnu_ld=yes
+ # version 8.0 and above of icpc choke on multiply defined symbols
+ # if we add $predep_objects and $postdep_objects, however 7.1 and
+ # earlier do not add the objects themselves.
+ case `$CC -V 2>&1` in
+ *"Version 7."*)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+ ;;
+ *) # Version 8.0 or newer
+ tmp_idyn=
+ case $host_cpu in
+ ia64*) tmp_idyn=' -i_dynamic';;
+ esac
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+ ;;
+ esac
+ _LT_TAGVAR(archive_cmds_need_lc, $1)=no
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
+ _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive'
+ ;;
+ pgCC* | pgcpp*)
+ # Portland Group C++ compiler
+ case `$CC -V` in
+ *pgCC\ [[1-5]]* | *pgcpp\ [[1-5]]*)
+ _LT_TAGVAR(prelink_cmds, $1)='tpldir=Template.dir~
+ rm -rf $tpldir~
+ $CC --prelink_objects --instantiation_dir $tpldir $objs $libobjs $compile_deplibs~
+ compile_command="$compile_command `find $tpldir -name \*.o | $NL2SP`"'
+ _LT_TAGVAR(old_archive_cmds, $1)='tpldir=Template.dir~
+ rm -rf $tpldir~
+ $CC --prelink_objects --instantiation_dir $tpldir $oldobjs$old_deplibs~
+ $AR $AR_FLAGS $oldlib$oldobjs$old_deplibs `find $tpldir -name \*.o | $NL2SP`~
+ $RANLIB $oldlib'
+ _LT_TAGVAR(archive_cmds, $1)='tpldir=Template.dir~
+ rm -rf $tpldir~
+ $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~
+ $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='tpldir=Template.dir~
+ rm -rf $tpldir~
+ $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~
+ $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib'
+ ;;
+ *) # Version 6 will use weak symbols
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib'
+ ;;
+ esac
+
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir'
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
+ _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive'
+ ;;
+ cxx*)
+ # Compaq C++
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib ${wl}-retain-symbols-file $wl$export_symbols'
+
+ runpath_var=LD_RUN_PATH
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
+ _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+
+ # Commands to make compiler produce verbose output that lists
+ # what "hidden" libraries, object files and flags are used when
+ # linking a shared library.
+ #
+ # There doesn't appear to be a way to prevent this compiler from
+ # explicitly linking system object files so we need to strip them
+ # from the output so that they don't get included in the library
+ # dependencies.
+ output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld"`; templist=`$ECHO "X$templist" | $Xsed -e "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed'
+ ;;
+ xl*)
+ # IBM XL 8.0 on PPC, with GNU ld
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ if test "x$supports_anon_versioning" = xyes; then
+ _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~
+ cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
+ echo "local: *; };" >> $output_objdir/$libname.ver~
+ $CC -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
+ fi
+ ;;
+ *)
+ case `$CC -V 2>&1 | sed 5q` in
+ *Sun\ C*)
+ # Sun C++ 5.9
+ _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file ${wl}$export_symbols'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
+ _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive'
+ _LT_TAGVAR(compiler_needs_object, $1)=yes
+
+ # Not sure whether something based on
+ # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1
+ # would be better.
+ output_verbose_link_cmd='echo'
+
+ # Archives containing C++ object files must be created using
+ # "CC -xar", where "CC" is the Sun C++ compiler. This is
+ # necessary to make sure instantiated templates are included
+ # in the archive.
+ _LT_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs'
+ ;;
+ esac
+ ;;
+ esac
+ ;;
+
+ lynxos*)
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+
+ m88k*)
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+
+ mvs*)
+ case $cc_basename in
+ cxx*)
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ *)
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ esac
+ ;;
+
+ netbsd*)
+ if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
+ _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags'
+ wlarc=
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
+ _LT_TAGVAR(hardcode_direct, $1)=yes
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ fi
+ # Workaround some broken pre-1.5 toolchains
+ output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"'
+ ;;
+
+ *nto* | *qnx*)
+ _LT_TAGVAR(ld_shlibs, $1)=yes
+ ;;
+
+ openbsd2*)
+ # C++ shared libraries are fairly broken
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
-AC_DEFUN([LT_AC_PROG_RC],
-[AC_CHECK_TOOL(RC, windres, no)
+ openbsd*)
+ if test -f /usr/libexec/ld.so; then
+ _LT_TAGVAR(hardcode_direct, $1)=yes
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
+ if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file,$export_symbols -o $lib'
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+ _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
+ fi
+ output_verbose_link_cmd=echo
+ else
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ fi
+ ;;
+
+ osf3* | osf4* | osf5*)
+ case $cc_basename in
+ KCC*)
+ # Kuck and Associates, Inc. (KAI) C++ Compiler
+
+ # KCC will only create a shared library if the output file
+ # ends with ".so" (or ".sl" for HP-UX), so rename the library
+ # to its proper name (with version) after linking.
+ _LT_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo "$lib" | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
+
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
+ _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+
+ # Archives containing C++ object files must be created using
+ # the KAI C++ compiler.
+ case $host in
+ osf3*) _LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' ;;
+ *) _LT_TAGVAR(old_archive_cmds, $1)='$CC -o $oldlib $oldobjs' ;;
+ esac
+ ;;
+ RCC*)
+ # Rational C++ 2.4.1
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ cxx*)
+ case $host in
+ osf3*)
+ _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && $ECHO "X${wl}-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+ ;;
+ *)
+ _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~
+ echo "-hidden">> $lib.exp~
+ $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname ${wl}-input ${wl}$lib.exp `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib~
+ $RM $lib.exp'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
+ ;;
+ esac
+
+ _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+
+ # Commands to make compiler produce verbose output that lists
+ # what "hidden" libraries, object files and flags are used when
+ # linking a shared library.
+ #
+ # There doesn't appear to be a way to prevent this compiler from
+ # explicitly linking system object files so we need to strip them
+ # from the output so that they don't get included in the library
+ # dependencies.
+ output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld" | $GREP -v "ld:"`; templist=`$ECHO "X$templist" | $Xsed -e "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed'
+ ;;
+ *)
+ if test "$GXX" = yes && test "$with_gnu_ld" = no; then
+ _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
+ case $host in
+ osf3*)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+ ;;
+ *)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+ ;;
+ esac
+
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+ _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+
+ # Commands to make compiler produce verbose output that lists
+ # what "hidden" libraries, object files and flags are used when
+ # linking a shared library.
+ output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"'
+
+ else
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ fi
+ ;;
+ esac
+ ;;
+
+ psos*)
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+
+ sunos4*)
+ case $cc_basename in
+ CC*)
+ # Sun C++ 4.x
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ lcc*)
+ # Lucid
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ *)
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ esac
+ ;;
+
+ solaris*)
+ case $cc_basename in
+ CC*)
+ # Sun C++ 4.2, 5.x and Centerline C++
+ _LT_TAGVAR(archive_cmds_need_lc,$1)=yes
+ _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
+ $CC -G${allow_undefined_flag} ${wl}-M ${wl}$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
+
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ case $host_os in
+ solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
+ *)
+ # The compiler driver will combine and reorder linker options,
+ # but understands `-z linker_flag'.
+ # Supported since Solaris 2.6 (maybe 2.5.1?)
+ _LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract'
+ ;;
+ esac
+ _LT_TAGVAR(link_all_deplibs, $1)=yes
+
+ output_verbose_link_cmd='echo'
+
+ # Archives containing C++ object files must be created using
+ # "CC -xar", where "CC" is the Sun C++ compiler. This is
+ # necessary to make sure instantiated templates are included
+ # in the archive.
+ _LT_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs'
+ ;;
+ gcx*)
+ # Green Hills C++ Compiler
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
+
+ # The C++ compiler must be used to create the archive.
+ _LT_TAGVAR(old_archive_cmds, $1)='$CC $LDFLAGS -archive -o $oldlib $oldobjs'
+ ;;
+ *)
+ # GNU C++ compiler with Solaris linker
+ if test "$GXX" = yes && test "$with_gnu_ld" = no; then
+ _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-z ${wl}defs'
+ if $CC --version | $GREP -v '^2\.7' > /dev/null; then
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
+ $CC -shared -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
+
+ # Commands to make compiler produce verbose output that lists
+ # what "hidden" libraries, object files and flags are used when
+ # linking a shared library.
+ output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"'
+ else
+ # g++ 2.7 appears to require `-G' NOT `-shared' on this
+ # platform.
+ _LT_TAGVAR(archive_cmds, $1)='$CC -G -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
+ $CC -G -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
+
+ # Commands to make compiler produce verbose output that lists
+ # what "hidden" libraries, object files and flags are used when
+ # linking a shared library.
+ output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"'
+ fi
+
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $wl$libdir'
+ case $host_os in
+ solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
+ *)
+ _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
+ ;;
+ esac
+ fi
+ ;;
+ esac
+ ;;
+
+ sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*)
+ _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
+ _LT_TAGVAR(archive_cmds_need_lc, $1)=no
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ runpath_var='LD_RUN_PATH'
+
+ case $cc_basename in
+ CC*)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ *)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ esac
+ ;;
+
+ sysv5* | sco3.2v5* | sco5v6*)
+ # Note: We can NOT use -z defs as we might desire, because we do not
+ # link with -lc, and that would cause any symbols used from libc to
+ # always be unresolved, which means just about no library would
+ # ever link correctly. If we're not using GNU ld we use -z text
+ # though, which does catch some bad symbols but isn't as heavy-handed
+ # as -z defs.
+ _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
+ _LT_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs'
+ _LT_TAGVAR(archive_cmds_need_lc, $1)=no
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R,$libdir'
+ _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
+ _LT_TAGVAR(link_all_deplibs, $1)=yes
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport'
+ runpath_var='LD_RUN_PATH'
+
+ case $cc_basename in
+ CC*)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ *)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ esac
+ ;;
+
+ tandem*)
+ case $cc_basename in
+ NCC*)
+ # NonStop-UX NCC 3.20
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ *)
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ esac
+ ;;
+
+ vxworks*)
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+
+ *)
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ esac
+
+ AC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)])
+ test "$_LT_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no
+
+ _LT_TAGVAR(GCC, $1)="$GXX"
+ _LT_TAGVAR(LD, $1)="$LD"
+
+ ## CAVEAT EMPTOR:
+ ## There is no encapsulation within the following macros, do not change
+ ## the running order or otherwise move them around unless you know exactly
+ ## what you are doing...
+ _LT_SYS_HIDDEN_LIBDEPS($1)
+ _LT_COMPILER_PIC($1)
+ _LT_COMPILER_C_O($1)
+ _LT_COMPILER_FILE_LOCKS($1)
+ _LT_LINKER_SHLIBS($1)
+ _LT_SYS_DYNAMIC_LINKER($1)
+ _LT_LINKER_HARDCODE_LIBPATH($1)
+
+ _LT_CONFIG($1)
+ fi # test -n "$compiler"
+
+ CC=$lt_save_CC
+ LDCXX=$LD
+ LD=$lt_save_LD
+ GCC=$lt_save_GCC
+ with_gnu_ld=$lt_save_with_gnu_ld
+ lt_cv_path_LDCXX=$lt_cv_path_LD
+ lt_cv_path_LD=$lt_save_path_LD
+ lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld
+ lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld
+fi # test "$_lt_caught_CXX_error" != yes
+
+AC_LANG_POP
+])# _LT_LANG_CXX_CONFIG
+
+
+# _LT_SYS_HIDDEN_LIBDEPS([TAGNAME])
+# ---------------------------------
+# Figure out "hidden" library dependencies from verbose
+# compiler output when linking a shared library.
+# Parse the compiler output and extract the necessary
+# objects, libraries and library flags.
+m4_defun([_LT_SYS_HIDDEN_LIBDEPS],
+[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
+# Dependencies to place before and after the object being linked:
+_LT_TAGVAR(predep_objects, $1)=
+_LT_TAGVAR(postdep_objects, $1)=
+_LT_TAGVAR(predeps, $1)=
+_LT_TAGVAR(postdeps, $1)=
+_LT_TAGVAR(compiler_lib_search_path, $1)=
+
+dnl we can't use the lt_simple_compile_test_code here,
+dnl because it contains code intended for an executable,
+dnl not a library. It's possible we should let each
+dnl tag define a new lt_????_link_test_code variable,
+dnl but it's only used here...
+m4_if([$1], [], [cat > conftest.$ac_ext <<_LT_EOF
+int a;
+void foo (void) { a = 0; }
+_LT_EOF
+], [$1], [CXX], [cat > conftest.$ac_ext <<_LT_EOF
+class Foo
+{
+public:
+ Foo (void) { a = 0; }
+private:
+ int a;
+};
+_LT_EOF
+], [$1], [F77], [cat > conftest.$ac_ext <<_LT_EOF
+ subroutine foo
+ implicit none
+ integer*4 a
+ a=0
+ return
+ end
+_LT_EOF
+], [$1], [FC], [cat > conftest.$ac_ext <<_LT_EOF
+ subroutine foo
+ implicit none
+ integer a
+ a=0
+ return
+ end
+_LT_EOF
+], [$1], [GCJ], [cat > conftest.$ac_ext <<_LT_EOF
+public class foo {
+ private int a;
+ public void bar (void) {
+ a = 0;
+ }
+};
+_LT_EOF
])
+dnl Parse the compiler output and extract the necessary
+dnl objects, libraries and library flags.
+if AC_TRY_EVAL(ac_compile); then
+ # Parse the compiler output and extract the necessary
+ # objects, libraries and library flags.
+ # Sentinel used to keep track of whether or not we are before
+ # the conftest object file.
+ pre_test_object_deps_done=no
-# Cheap backport of AS_EXECUTABLE_P and required macros
-# from Autoconf 2.59; we should not use $as_executable_p directly.
+ for p in `eval "$output_verbose_link_cmd"`; do
+ case $p in
-# _AS_TEST_PREPARE
-# ----------------
-m4_ifndef([_AS_TEST_PREPARE],
-[m4_defun([_AS_TEST_PREPARE],
-[if test -x / >/dev/null 2>&1; then
- as_executable_p='test -x'
+ -L* | -R* | -l*)
+ # Some compilers place space between "-{L,R}" and the path.
+ # Remove the space.
+ if test $p = "-L" ||
+ test $p = "-R"; then
+ prev=$p
+ continue
+ else
+ prev=
+ fi
+
+ if test "$pre_test_object_deps_done" = no; then
+ case $p in
+ -L* | -R*)
+ # Internal compiler library paths should come after those
+ # provided the user. The postdeps already come after the
+ # user supplied libs so there is no need to process them.
+ if test -z "$_LT_TAGVAR(compiler_lib_search_path, $1)"; then
+ _LT_TAGVAR(compiler_lib_search_path, $1)="${prev}${p}"
+ else
+ _LT_TAGVAR(compiler_lib_search_path, $1)="${_LT_TAGVAR(compiler_lib_search_path, $1)} ${prev}${p}"
+ fi
+ ;;
+ # The "-l" case would never come before the object being
+ # linked, so don't bother handling this case.
+ esac
+ else
+ if test -z "$_LT_TAGVAR(postdeps, $1)"; then
+ _LT_TAGVAR(postdeps, $1)="${prev}${p}"
+ else
+ _LT_TAGVAR(postdeps, $1)="${_LT_TAGVAR(postdeps, $1)} ${prev}${p}"
+ fi
+ fi
+ ;;
+
+ *.$objext)
+ # This assumes that the test object file only shows up
+ # once in the compiler output.
+ if test "$p" = "conftest.$objext"; then
+ pre_test_object_deps_done=yes
+ continue
+ fi
+
+ if test "$pre_test_object_deps_done" = no; then
+ if test -z "$_LT_TAGVAR(predep_objects, $1)"; then
+ _LT_TAGVAR(predep_objects, $1)="$p"
+ else
+ _LT_TAGVAR(predep_objects, $1)="$_LT_TAGVAR(predep_objects, $1) $p"
+ fi
+ else
+ if test -z "$_LT_TAGVAR(postdep_objects, $1)"; then
+ _LT_TAGVAR(postdep_objects, $1)="$p"
+ else
+ _LT_TAGVAR(postdep_objects, $1)="$_LT_TAGVAR(postdep_objects, $1) $p"
+ fi
+ fi
+ ;;
+
+ *) ;; # Ignore the rest.
+
+ esac
+ done
+
+ # Clean up.
+ rm -f a.out a.exe
else
- as_executable_p='test -f'
+ echo "libtool.m4: error: problem compiling $1 test program"
fi
-])])# _AS_TEST_PREPARE
-# AS_EXECUTABLE_P
-# ---------------
-# Check whether a file is executable.
-m4_ifndef([AS_EXECUTABLE_P],
-[m4_defun([AS_EXECUTABLE_P],
-[AS_REQUIRE([_AS_TEST_PREPARE])dnl
-$as_executable_p $1[]dnl
-])])# AS_EXECUTABLE_P
+$RM -f confest.$objext
+
+# PORTME: override above test on systems where it is broken
+m4_if([$1], [CXX],
+[case $host_os in
+interix[[3-9]]*)
+ # Interix 3.5 installs completely hosed .la files for C++, so rather than
+ # hack all around it, let's just trust "g++" to DTRT.
+ _LT_TAGVAR(predep_objects,$1)=
+ _LT_TAGVAR(postdep_objects,$1)=
+ _LT_TAGVAR(postdeps,$1)=
+ ;;
+
+linux*)
+ case `$CC -V 2>&1 | sed 5q` in
+ *Sun\ C*)
+ # Sun C++ 5.9
+
+ # The more standards-conforming stlport4 library is
+ # incompatible with the Cstd library. Avoid specifying
+ # it if it's in CXXFLAGS. Ignore libCrun as
+ # -library=stlport4 depends on it.
+ case " $CXX $CXXFLAGS " in
+ *" -library=stlport4 "*)
+ solaris_use_stlport4=yes
+ ;;
+ esac
+
+ if test "$solaris_use_stlport4" != yes; then
+ _LT_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun'
+ fi
+ ;;
+ esac
+ ;;
+
+solaris*)
+ case $cc_basename in
+ CC*)
+ # The more standards-conforming stlport4 library is
+ # incompatible with the Cstd library. Avoid specifying
+ # it if it's in CXXFLAGS. Ignore libCrun as
+ # -library=stlport4 depends on it.
+ case " $CXX $CXXFLAGS " in
+ *" -library=stlport4 "*)
+ solaris_use_stlport4=yes
+ ;;
+ esac
+
+ # Adding this requires a known-good setup of shared libraries for
+ # Sun compiler versions before 5.6, else PIC objects from an old
+ # archive will be linked into the output, leading to subtle bugs.
+ if test "$solaris_use_stlport4" != yes; then
+ _LT_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun'
+ fi
+ ;;
+ esac
+ ;;
+esac
+])
+
+case " $_LT_TAGVAR(postdeps, $1) " in
+*" -lc "*) _LT_TAGVAR(archive_cmds_need_lc, $1)=no ;;
+esac
+ _LT_TAGVAR(compiler_lib_search_dirs, $1)=
+if test -n "${_LT_TAGVAR(compiler_lib_search_path, $1)}"; then
+ _LT_TAGVAR(compiler_lib_search_dirs, $1)=`echo " ${_LT_TAGVAR(compiler_lib_search_path, $1)}" | ${SED} -e 's! -L! !g' -e 's!^ !!'`
+fi
+_LT_TAGDECL([], [compiler_lib_search_dirs], [1],
+ [The directories searched by this compiler when creating a shared library])
+_LT_TAGDECL([], [predep_objects], [1],
+ [Dependencies to place before and after the objects being linked to
+ create a shared library])
+_LT_TAGDECL([], [postdep_objects], [1])
+_LT_TAGDECL([], [predeps], [1])
+_LT_TAGDECL([], [postdeps], [1])
+_LT_TAGDECL([], [compiler_lib_search_path], [1],
+ [The library search path used internally by the compiler when linking
+ a shared library])
+])# _LT_SYS_HIDDEN_LIBDEPS
+
+
+# _LT_PROG_F77
+# ------------
+# Since AC_PROG_F77 is broken, in that it returns the empty string
+# if there is no fortran compiler, we have our own version here.
+m4_defun([_LT_PROG_F77],
+[
+pushdef([AC_MSG_ERROR], [_lt_disable_F77=yes])
+AC_PROG_F77
+if test -z "$F77" || test "X$F77" = "Xno"; then
+ _lt_disable_F77=yes
+fi
+popdef([AC_MSG_ERROR])
+])# _LT_PROG_F77
+
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([_LT_PROG_F77], [])
+
+
+# _LT_LANG_F77_CONFIG([TAG])
+# --------------------------
+# Ensure that the configuration variables for a Fortran 77 compiler are
+# suitably defined. These variables are subsequently used by _LT_CONFIG
+# to write the compiler configuration to `libtool'.
+m4_defun([_LT_LANG_F77_CONFIG],
+[AC_REQUIRE([_LT_PROG_F77])dnl
+AC_LANG_PUSH(Fortran 77)
+
+_LT_TAGVAR(archive_cmds_need_lc, $1)=no
+_LT_TAGVAR(allow_undefined_flag, $1)=
+_LT_TAGVAR(always_export_symbols, $1)=no
+_LT_TAGVAR(archive_expsym_cmds, $1)=
+_LT_TAGVAR(export_dynamic_flag_spec, $1)=
+_LT_TAGVAR(hardcode_direct, $1)=no
+_LT_TAGVAR(hardcode_direct_absolute, $1)=no
+_LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
+_LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)=
+_LT_TAGVAR(hardcode_libdir_separator, $1)=
+_LT_TAGVAR(hardcode_minus_L, $1)=no
+_LT_TAGVAR(hardcode_automatic, $1)=no
+_LT_TAGVAR(inherit_rpath, $1)=no
+_LT_TAGVAR(module_cmds, $1)=
+_LT_TAGVAR(module_expsym_cmds, $1)=
+_LT_TAGVAR(link_all_deplibs, $1)=unknown
+_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
+_LT_TAGVAR(no_undefined_flag, $1)=
+_LT_TAGVAR(whole_archive_flag_spec, $1)=
+_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
+
+# Source file extension for f77 test sources.
+ac_ext=f
+
+# Object file extension for compiled f77 test sources.
+objext=o
+_LT_TAGVAR(objext, $1)=$objext
+
+# No sense in running all these tests if we already determined that
+# the F77 compiler isn't working. Some variables (like enable_shared)
+# are currently assumed to apply to all compilers on this platform,
+# and will be corrupted by setting them based on a non-working compiler.
+if test "$_lt_disable_F77" != yes; then
+ # Code to be used in simple compile tests
+ lt_simple_compile_test_code="\
+ subroutine t
+ return
+ end
+"
+
+ # Code to be used in simple link tests
+ lt_simple_link_test_code="\
+ program t
+ end
+"
+
+ # ltmain only uses $CC for tagged configurations so make sure $CC is set.
+ _LT_TAG_COMPILER
+
+ # save warnings/boilerplate of simple test code
+ _LT_COMPILER_BOILERPLATE
+ _LT_LINKER_BOILERPLATE
+
+ # Allow CC to be a program name with arguments.
+ lt_save_CC="$CC"
+ lt_save_GCC=$GCC
+ CC=${F77-"f77"}
+ compiler=$CC
+ _LT_TAGVAR(compiler, $1)=$CC
+ _LT_CC_BASENAME([$compiler])
+ GCC=$G77
+ if test -n "$compiler"; then
+ AC_MSG_CHECKING([if libtool supports shared libraries])
+ AC_MSG_RESULT([$can_build_shared])
+
+ AC_MSG_CHECKING([whether to build shared libraries])
+ test "$can_build_shared" = "no" && enable_shared=no
+
+ # On AIX, shared libraries and static libraries use the same namespace, and
+ # are all built from PIC.
+ case $host_os in
+ aix3*)
+ test "$enable_shared" = yes && enable_static=no
+ if test -n "$RANLIB"; then
+ archive_cmds="$archive_cmds~\$RANLIB \$lib"
+ postinstall_cmds='$RANLIB $lib'
+ fi
+ ;;
+ aix[[4-9]]*)
+ if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
+ test "$enable_shared" = yes && enable_static=no
+ fi
+ ;;
+ esac
+ AC_MSG_RESULT([$enable_shared])
+
+ AC_MSG_CHECKING([whether to build static libraries])
+ # Make sure either enable_shared or enable_static is yes.
+ test "$enable_shared" = yes || enable_static=yes
+ AC_MSG_RESULT([$enable_static])
+
+ _LT_TAGVAR(GCC, $1)="$G77"
+ _LT_TAGVAR(LD, $1)="$LD"
+
+ ## CAVEAT EMPTOR:
+ ## There is no encapsulation within the following macros, do not change
+ ## the running order or otherwise move them around unless you know exactly
+ ## what you are doing...
+ _LT_COMPILER_PIC($1)
+ _LT_COMPILER_C_O($1)
+ _LT_COMPILER_FILE_LOCKS($1)
+ _LT_LINKER_SHLIBS($1)
+ _LT_SYS_DYNAMIC_LINKER($1)
+ _LT_LINKER_HARDCODE_LIBPATH($1)
+
+ _LT_CONFIG($1)
+ fi # test -n "$compiler"
+
+ GCC=$lt_save_GCC
+ CC="$lt_save_CC"
+fi # test "$_lt_disable_F77" != yes
+
+AC_LANG_POP
+])# _LT_LANG_F77_CONFIG
+
+
+# _LT_PROG_FC
+# -----------
+# Since AC_PROG_FC is broken, in that it returns the empty string
+# if there is no fortran compiler, we have our own version here.
+m4_defun([_LT_PROG_FC],
+[
+pushdef([AC_MSG_ERROR], [_lt_disable_FC=yes])
+AC_PROG_FC
+if test -z "$FC" || test "X$FC" = "Xno"; then
+ _lt_disable_FC=yes
+fi
+popdef([AC_MSG_ERROR])
+])# _LT_PROG_FC
+
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([_LT_PROG_FC], [])
+
+
+# _LT_LANG_FC_CONFIG([TAG])
+# -------------------------
+# Ensure that the configuration variables for a Fortran compiler are
+# suitably defined. These variables are subsequently used by _LT_CONFIG
+# to write the compiler configuration to `libtool'.
+m4_defun([_LT_LANG_FC_CONFIG],
+[AC_REQUIRE([_LT_PROG_FC])dnl
+AC_LANG_PUSH(Fortran)
+
+_LT_TAGVAR(archive_cmds_need_lc, $1)=no
+_LT_TAGVAR(allow_undefined_flag, $1)=
+_LT_TAGVAR(always_export_symbols, $1)=no
+_LT_TAGVAR(archive_expsym_cmds, $1)=
+_LT_TAGVAR(export_dynamic_flag_spec, $1)=
+_LT_TAGVAR(hardcode_direct, $1)=no
+_LT_TAGVAR(hardcode_direct_absolute, $1)=no
+_LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
+_LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)=
+_LT_TAGVAR(hardcode_libdir_separator, $1)=
+_LT_TAGVAR(hardcode_minus_L, $1)=no
+_LT_TAGVAR(hardcode_automatic, $1)=no
+_LT_TAGVAR(inherit_rpath, $1)=no
+_LT_TAGVAR(module_cmds, $1)=
+_LT_TAGVAR(module_expsym_cmds, $1)=
+_LT_TAGVAR(link_all_deplibs, $1)=unknown
+_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
+_LT_TAGVAR(no_undefined_flag, $1)=
+_LT_TAGVAR(whole_archive_flag_spec, $1)=
+_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
+
+# Source file extension for fc test sources.
+ac_ext=${ac_fc_srcext-f}
+
+# Object file extension for compiled fc test sources.
+objext=o
+_LT_TAGVAR(objext, $1)=$objext
+
+# No sense in running all these tests if we already determined that
+# the FC compiler isn't working. Some variables (like enable_shared)
+# are currently assumed to apply to all compilers on this platform,
+# and will be corrupted by setting them based on a non-working compiler.
+if test "$_lt_disable_FC" != yes; then
+ # Code to be used in simple compile tests
+ lt_simple_compile_test_code="\
+ subroutine t
+ return
+ end
+"
+
+ # Code to be used in simple link tests
+ lt_simple_link_test_code="\
+ program t
+ end
+"
+
+ # ltmain only uses $CC for tagged configurations so make sure $CC is set.
+ _LT_TAG_COMPILER
+
+ # save warnings/boilerplate of simple test code
+ _LT_COMPILER_BOILERPLATE
+ _LT_LINKER_BOILERPLATE
+
+ # Allow CC to be a program name with arguments.
+ lt_save_CC="$CC"
+ lt_save_GCC=$GCC
+ CC=${FC-"f95"}
+ compiler=$CC
+ GCC=$ac_cv_fc_compiler_gnu
+
+ _LT_TAGVAR(compiler, $1)=$CC
+ _LT_CC_BASENAME([$compiler])
+
+ if test -n "$compiler"; then
+ AC_MSG_CHECKING([if libtool supports shared libraries])
+ AC_MSG_RESULT([$can_build_shared])
+
+ AC_MSG_CHECKING([whether to build shared libraries])
+ test "$can_build_shared" = "no" && enable_shared=no
+
+ # On AIX, shared libraries and static libraries use the same namespace, and
+ # are all built from PIC.
+ case $host_os in
+ aix3*)
+ test "$enable_shared" = yes && enable_static=no
+ if test -n "$RANLIB"; then
+ archive_cmds="$archive_cmds~\$RANLIB \$lib"
+ postinstall_cmds='$RANLIB $lib'
+ fi
+ ;;
+ aix[[4-9]]*)
+ if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
+ test "$enable_shared" = yes && enable_static=no
+ fi
+ ;;
+ esac
+ AC_MSG_RESULT([$enable_shared])
+
+ AC_MSG_CHECKING([whether to build static libraries])
+ # Make sure either enable_shared or enable_static is yes.
+ test "$enable_shared" = yes || enable_static=yes
+ AC_MSG_RESULT([$enable_static])
+
+ _LT_TAGVAR(GCC, $1)="$ac_cv_fc_compiler_gnu"
+ _LT_TAGVAR(LD, $1)="$LD"
+
+ ## CAVEAT EMPTOR:
+ ## There is no encapsulation within the following macros, do not change
+ ## the running order or otherwise move them around unless you know exactly
+ ## what you are doing...
+ _LT_SYS_HIDDEN_LIBDEPS($1)
+ _LT_COMPILER_PIC($1)
+ _LT_COMPILER_C_O($1)
+ _LT_COMPILER_FILE_LOCKS($1)
+ _LT_LINKER_SHLIBS($1)
+ _LT_SYS_DYNAMIC_LINKER($1)
+ _LT_LINKER_HARDCODE_LIBPATH($1)
+
+ _LT_CONFIG($1)
+ fi # test -n "$compiler"
+
+ GCC=$lt_save_GCC
+ CC="$lt_save_CC"
+fi # test "$_lt_disable_FC" != yes
+
+AC_LANG_POP
+])# _LT_LANG_FC_CONFIG
+
+
+# _LT_LANG_GCJ_CONFIG([TAG])
+# --------------------------
+# Ensure that the configuration variables for the GNU Java Compiler compiler
+# are suitably defined. These variables are subsequently used by _LT_CONFIG
+# to write the compiler configuration to `libtool'.
+m4_defun([_LT_LANG_GCJ_CONFIG],
+[AC_REQUIRE([LT_PROG_GCJ])dnl
+AC_LANG_SAVE
+
+# Source file extension for Java test sources.
+ac_ext=java
+
+# Object file extension for compiled Java test sources.
+objext=o
+_LT_TAGVAR(objext, $1)=$objext
+
+# Code to be used in simple compile tests
+lt_simple_compile_test_code="class foo {}"
+
+# Code to be used in simple link tests
+lt_simple_link_test_code='public class conftest { public static void main(String[[]] argv) {}; }'
+
+# ltmain only uses $CC for tagged configurations so make sure $CC is set.
+_LT_TAG_COMPILER
+
+# save warnings/boilerplate of simple test code
+_LT_COMPILER_BOILERPLATE
+_LT_LINKER_BOILERPLATE
+
+# Allow CC to be a program name with arguments.
+lt_save_CC="$CC"
+lt_save_GCC=$GCC
+GCC=yes
+CC=${GCJ-"gcj"}
+compiler=$CC
+_LT_TAGVAR(compiler, $1)=$CC
+_LT_TAGVAR(LD, $1)="$LD"
+_LT_CC_BASENAME([$compiler])
+
+# GCJ did not exist at the time GCC didn't implicitly link libc in.
+_LT_TAGVAR(archive_cmds_need_lc, $1)=no
+
+_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
+
+if test -n "$compiler"; then
+ _LT_COMPILER_NO_RTTI($1)
+ _LT_COMPILER_PIC($1)
+ _LT_COMPILER_C_O($1)
+ _LT_COMPILER_FILE_LOCKS($1)
+ _LT_LINKER_SHLIBS($1)
+ _LT_LINKER_HARDCODE_LIBPATH($1)
+
+ _LT_CONFIG($1)
+fi
+
+AC_LANG_RESTORE
+
+GCC=$lt_save_GCC
+CC="$lt_save_CC"
+])# _LT_LANG_GCJ_CONFIG
+
+
+# _LT_LANG_RC_CONFIG([TAG])
+# -------------------------
+# Ensure that the configuration variables for the Windows resource compiler
+# are suitably defined. These variables are subsequently used by _LT_CONFIG
+# to write the compiler configuration to `libtool'.
+m4_defun([_LT_LANG_RC_CONFIG],
+[AC_REQUIRE([LT_PROG_RC])dnl
+AC_LANG_SAVE
+
+# Source file extension for RC test sources.
+ac_ext=rc
+
+# Object file extension for compiled RC test sources.
+objext=o
+_LT_TAGVAR(objext, $1)=$objext
+
+# Code to be used in simple compile tests
+lt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }'
+
+# Code to be used in simple link tests
+lt_simple_link_test_code="$lt_simple_compile_test_code"
+
+# ltmain only uses $CC for tagged configurations so make sure $CC is set.
+_LT_TAG_COMPILER
+
+# save warnings/boilerplate of simple test code
+_LT_COMPILER_BOILERPLATE
+_LT_LINKER_BOILERPLATE
+
+# Allow CC to be a program name with arguments.
+lt_save_CC="$CC"
+lt_save_GCC=$GCC
+GCC=
+CC=${RC-"windres"}
+compiler=$CC
+_LT_TAGVAR(compiler, $1)=$CC
+_LT_CC_BASENAME([$compiler])
+_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes
+
+if test -n "$compiler"; then
+ :
+ _LT_CONFIG($1)
+fi
+
+GCC=$lt_save_GCC
+AC_LANG_RESTORE
+CC="$lt_save_CC"
+])# _LT_LANG_RC_CONFIG
+
+
+# LT_PROG_GCJ
+# -----------
+AC_DEFUN([LT_PROG_GCJ],
+[m4_ifdef([AC_PROG_GCJ], [AC_PROG_GCJ],
+ [m4_ifdef([A][M_PROG_GCJ], [A][M_PROG_GCJ],
+ [AC_CHECK_TOOL(GCJ, gcj,)
+ test "x${GCJFLAGS+set}" = xset || GCJFLAGS="-g -O2"
+ AC_SUBST(GCJFLAGS)])])[]dnl
+])
+
+# Old name:
+AU_ALIAS([LT_AC_PROG_GCJ], [LT_PROG_GCJ])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([LT_AC_PROG_GCJ], [])
+
+
+# LT_PROG_RC
+# ----------
+AC_DEFUN([LT_PROG_RC],
+[AC_CHECK_TOOL(RC, windres,)
+])
+
+# Old name:
+AU_ALIAS([LT_AC_PROG_RC], [LT_PROG_RC])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([LT_AC_PROG_RC], [])
+
+
+# _LT_DECL_EGREP
+# --------------
+# If we don't have a new enough Autoconf to choose the best grep
+# available, choose the one first in the user's PATH.
+m4_defun([_LT_DECL_EGREP],
+[AC_REQUIRE([AC_PROG_EGREP])dnl
+AC_REQUIRE([AC_PROG_FGREP])dnl
+test -z "$GREP" && GREP=grep
+_LT_DECL([], [GREP], [1], [A grep program that handles long lines])
+_LT_DECL([], [EGREP], [1], [An ERE matcher])
+_LT_DECL([], [FGREP], [1], [A literal string matcher])
+dnl Non-bleeding-edge autoconf doesn't subst GREP, so do it here too
+AC_SUBST([GREP])
+])
+
+
+# _LT_DECL_OBJDUMP
+# --------------
+# If we don't have a new enough Autoconf to choose the best objdump
+# available, choose the one first in the user's PATH.
+m4_defun([_LT_DECL_OBJDUMP],
+[AC_CHECK_TOOL(OBJDUMP, objdump, false)
+test -z "$OBJDUMP" && OBJDUMP=objdump
+_LT_DECL([], [OBJDUMP], [1], [An object symbol dumper])
+AC_SUBST([OBJDUMP])
+])
+
+# _LT_DECL_SED
+# ------------
+# Check for a fully-functional sed program, that truncates
+# as few characters as possible. Prefer GNU sed if found.
+m4_defun([_LT_DECL_SED],
+[AC_PROG_SED
+test -z "$SED" && SED=sed
+Xsed="$SED -e 1s/^X//"
+_LT_DECL([], [SED], [1], [A sed program that does not truncate output])
+_LT_DECL([], [Xsed], ["\$SED -e 1s/^X//"],
+ [Sed that helps us avoid accidentally triggering echo(1) options like -n])
+])# _LT_DECL_SED
+
+m4_ifndef([AC_PROG_SED], [
# NOTE: This macro has been submitted for inclusion into #
# GNU Autoconf as AC_PROG_SED. When it is available in #
# a released version of Autoconf we should remove this #
# macro and use it instead. #
-# LT_AC_PROG_SED
-# --------------
-# Check for a fully-functional sed program, that truncates
-# as few characters as possible. Prefer GNU sed if found.
-AC_DEFUN([LT_AC_PROG_SED],
+
+m4_defun([AC_PROG_SED],
[AC_MSG_CHECKING([for a sed that does not truncate output])
AC_CACHE_VAL(lt_cv_path_SED,
[# Loop through the user's path and test for sed and gsed.
@@ -6541,7 +7072,7 @@ do
test -z "$as_dir" && as_dir=.
for lt_ac_prog in sed gsed; do
for ac_exec_ext in '' $ac_executable_extensions; do
- if AS_EXECUTABLE_P(["$as_dir/$lt_ac_prog$ac_exec_ext"]); then
+ if $as_executable_p "$as_dir/$lt_ac_prog$ac_exec_ext"; then
lt_ac_sed_list="$lt_ac_sed_list $as_dir/$lt_ac_prog$ac_exec_ext"
fi
done
@@ -6582,9 +7113,875 @@ done
SED=$lt_cv_path_SED
AC_SUBST([SED])
AC_MSG_RESULT([$SED])
+])#AC_PROG_SED
+])#m4_ifndef
+
+# Old name:
+AU_ALIAS([LT_AC_PROG_SED], [AC_PROG_SED])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([LT_AC_PROG_SED], [])
+
+
+# _LT_CHECK_SHELL_FEATURES
+# ------------------------
+# Find out whether the shell is Bourne or XSI compatible,
+# or has some other useful features.
+m4_defun([_LT_CHECK_SHELL_FEATURES],
+[AC_MSG_CHECKING([whether the shell understands some XSI constructs])
+# Try some XSI features
+xsi_shell=no
+( _lt_dummy="a/b/c"
+ test "${_lt_dummy##*/},${_lt_dummy%/*},"${_lt_dummy%"$_lt_dummy"}, \
+ = c,a/b,, \
+ && eval 'test $(( 1 + 1 )) -eq 2 \
+ && test "${#_lt_dummy}" -eq 5' ) >/dev/null 2>&1 \
+ && xsi_shell=yes
+AC_MSG_RESULT([$xsi_shell])
+_LT_CONFIG_LIBTOOL_INIT([xsi_shell='$xsi_shell'])
+
+AC_MSG_CHECKING([whether the shell understands "+="])
+lt_shell_append=no
+( foo=bar; set foo baz; eval "$[1]+=\$[2]" && test "$foo" = barbaz ) \
+ >/dev/null 2>&1 \
+ && lt_shell_append=yes
+AC_MSG_RESULT([$lt_shell_append])
+_LT_CONFIG_LIBTOOL_INIT([lt_shell_append='$lt_shell_append'])
+
+if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
+ lt_unset=unset
+else
+ lt_unset=false
+fi
+_LT_DECL([], [lt_unset], [0], [whether the shell understands "unset"])dnl
+
+# test EBCDIC or ASCII
+case `echo X|tr X '\101'` in
+ A) # ASCII based system
+ # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr
+ lt_SP2NL='tr \040 \012'
+ lt_NL2SP='tr \015\012 \040\040'
+ ;;
+ *) # EBCDIC based system
+ lt_SP2NL='tr \100 \n'
+ lt_NL2SP='tr \r\n \100\100'
+ ;;
+esac
+_LT_DECL([SP2NL], [lt_SP2NL], [1], [turn spaces into newlines])dnl
+_LT_DECL([NL2SP], [lt_NL2SP], [1], [turn newlines into spaces])dnl
+])# _LT_CHECK_SHELL_FEATURES
+
+
+# _LT_PROG_XSI_SHELLFNS
+# ---------------------
+# Bourne and XSI compatible variants of some useful shell functions.
+m4_defun([_LT_PROG_XSI_SHELLFNS],
+[case $xsi_shell in
+ yes)
+ cat << \_LT_EOF >> "$cfgfile"
+
+# func_dirname file append nondir_replacement
+# Compute the dirname of FILE. If nonempty, add APPEND to the result,
+# otherwise set result to NONDIR_REPLACEMENT.
+func_dirname ()
+{
+ case ${1} in
+ */*) func_dirname_result="${1%/*}${2}" ;;
+ * ) func_dirname_result="${3}" ;;
+ esac
+}
+
+# func_basename file
+func_basename ()
+{
+ func_basename_result="${1##*/}"
+}
+
+# func_dirname_and_basename file append nondir_replacement
+# perform func_basename and func_dirname in a single function
+# call:
+# dirname: Compute the dirname of FILE. If nonempty,
+# add APPEND to the result, otherwise set result
+# to NONDIR_REPLACEMENT.
+# value returned in "$func_dirname_result"
+# basename: Compute filename of FILE.
+# value retuned in "$func_basename_result"
+# Implementation must be kept synchronized with func_dirname
+# and func_basename. For efficiency, we do not delegate to
+# those functions but instead duplicate the functionality here.
+func_dirname_and_basename ()
+{
+ case ${1} in
+ */*) func_dirname_result="${1%/*}${2}" ;;
+ * ) func_dirname_result="${3}" ;;
+ esac
+ func_basename_result="${1##*/}"
+}
+
+# func_stripname prefix suffix name
+# strip PREFIX and SUFFIX off of NAME.
+# PREFIX and SUFFIX must not contain globbing or regex special
+# characters, hashes, percent signs, but SUFFIX may contain a leading
+# dot (in which case that matches only a dot).
+func_stripname ()
+{
+ # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are
+ # positional parameters, so assign one to ordinary parameter first.
+ func_stripname_result=${3}
+ func_stripname_result=${func_stripname_result#"${1}"}
+ func_stripname_result=${func_stripname_result%"${2}"}
+}
+
+# func_opt_split
+func_opt_split ()
+{
+ func_opt_split_opt=${1%%=*}
+ func_opt_split_arg=${1#*=}
+}
+
+# func_lo2o object
+func_lo2o ()
+{
+ case ${1} in
+ *.lo) func_lo2o_result=${1%.lo}.${objext} ;;
+ *) func_lo2o_result=${1} ;;
+ esac
+}
+
+# func_xform libobj-or-source
+func_xform ()
+{
+ func_xform_result=${1%.*}.lo
+}
+
+# func_arith arithmetic-term...
+func_arith ()
+{
+ func_arith_result=$(( $[*] ))
+}
+
+# func_len string
+# STRING may not start with a hyphen.
+func_len ()
+{
+ func_len_result=${#1}
+}
+
+_LT_EOF
+ ;;
+ *) # Bourne compatible functions.
+ cat << \_LT_EOF >> "$cfgfile"
+
+# func_dirname file append nondir_replacement
+# Compute the dirname of FILE. If nonempty, add APPEND to the result,
+# otherwise set result to NONDIR_REPLACEMENT.
+func_dirname ()
+{
+ # Extract subdirectory from the argument.
+ func_dirname_result=`$ECHO "X${1}" | $Xsed -e "$dirname"`
+ if test "X$func_dirname_result" = "X${1}"; then
+ func_dirname_result="${3}"
+ else
+ func_dirname_result="$func_dirname_result${2}"
+ fi
+}
+
+# func_basename file
+func_basename ()
+{
+ func_basename_result=`$ECHO "X${1}" | $Xsed -e "$basename"`
+}
+
+dnl func_dirname_and_basename
+dnl A portable version of this function is already defined in general.m4sh
+dnl so there is no need for it here.
+
+# func_stripname prefix suffix name
+# strip PREFIX and SUFFIX off of NAME.
+# PREFIX and SUFFIX must not contain globbing or regex special
+# characters, hashes, percent signs, but SUFFIX may contain a leading
+# dot (in which case that matches only a dot).
+# func_strip_suffix prefix name
+func_stripname ()
+{
+ case ${2} in
+ .*) func_stripname_result=`$ECHO "X${3}" \
+ | $Xsed -e "s%^${1}%%" -e "s%\\\\${2}\$%%"`;;
+ *) func_stripname_result=`$ECHO "X${3}" \
+ | $Xsed -e "s%^${1}%%" -e "s%${2}\$%%"`;;
+ esac
+}
+
+# sed scripts:
+my_sed_long_opt='1s/^\(-[[^=]]*\)=.*/\1/;q'
+my_sed_long_arg='1s/^-[[^=]]*=//'
+
+# func_opt_split
+func_opt_split ()
+{
+ func_opt_split_opt=`$ECHO "X${1}" | $Xsed -e "$my_sed_long_opt"`
+ func_opt_split_arg=`$ECHO "X${1}" | $Xsed -e "$my_sed_long_arg"`
+}
+
+# func_lo2o object
+func_lo2o ()
+{
+ func_lo2o_result=`$ECHO "X${1}" | $Xsed -e "$lo2o"`
+}
+
+# func_xform libobj-or-source
+func_xform ()
+{
+ func_xform_result=`$ECHO "X${1}" | $Xsed -e 's/\.[[^.]]*$/.lo/'`
+}
+
+# func_arith arithmetic-term...
+func_arith ()
+{
+ func_arith_result=`expr "$[@]"`
+}
+
+# func_len string
+# STRING may not start with a hyphen.
+func_len ()
+{
+ func_len_result=`expr "$[1]" : ".*" 2>/dev/null || echo $max_cmd_len`
+}
+
+_LT_EOF
+esac
+
+case $lt_shell_append in
+ yes)
+ cat << \_LT_EOF >> "$cfgfile"
+
+# func_append var value
+# Append VALUE to the end of shell variable VAR.
+func_append ()
+{
+ eval "$[1]+=\$[2]"
+}
+_LT_EOF
+ ;;
+ *)
+ cat << \_LT_EOF >> "$cfgfile"
+
+# func_append var value
+# Append VALUE to the end of shell variable VAR.
+func_append ()
+{
+ eval "$[1]=\$$[1]\$[2]"
+}
+
+_LT_EOF
+ ;;
+ esac
+])
+
+# Helper functions for option handling. -*- Autoconf -*-
+#
+# Copyright (C) 2004, 2005, 2007, 2008 Free Software Foundation, Inc.
+# Written by Gary V. Vaughan, 2004
+#
+# This file is free software; the Free Software Foundation gives
+# unlimited permission to copy and/or distribute it, with or without
+# modifications, as long as this notice is preserved.
+
+# serial 6 ltoptions.m4
+
+# This is to help aclocal find these macros, as it can't see m4_define.
+AC_DEFUN([LTOPTIONS_VERSION], [m4_if([1])])
+
+
+# _LT_MANGLE_OPTION(MACRO-NAME, OPTION-NAME)
+# ------------------------------------------
+m4_define([_LT_MANGLE_OPTION],
+[[_LT_OPTION_]m4_bpatsubst($1__$2, [[^a-zA-Z0-9_]], [_])])
+
+
+# _LT_SET_OPTION(MACRO-NAME, OPTION-NAME)
+# ---------------------------------------
+# Set option OPTION-NAME for macro MACRO-NAME, and if there is a
+# matching handler defined, dispatch to it. Other OPTION-NAMEs are
+# saved as a flag.
+m4_define([_LT_SET_OPTION],
+[m4_define(_LT_MANGLE_OPTION([$1], [$2]))dnl
+m4_ifdef(_LT_MANGLE_DEFUN([$1], [$2]),
+ _LT_MANGLE_DEFUN([$1], [$2]),
+ [m4_warning([Unknown $1 option `$2'])])[]dnl
+])
+
+
+# _LT_IF_OPTION(MACRO-NAME, OPTION-NAME, IF-SET, [IF-NOT-SET])
+# ------------------------------------------------------------
+# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise.
+m4_define([_LT_IF_OPTION],
+[m4_ifdef(_LT_MANGLE_OPTION([$1], [$2]), [$3], [$4])])
+
+
+# _LT_UNLESS_OPTIONS(MACRO-NAME, OPTION-LIST, IF-NOT-SET)
+# -------------------------------------------------------
+# Execute IF-NOT-SET unless all options in OPTION-LIST for MACRO-NAME
+# are set.
+m4_define([_LT_UNLESS_OPTIONS],
+[m4_foreach([_LT_Option], m4_split(m4_normalize([$2])),
+ [m4_ifdef(_LT_MANGLE_OPTION([$1], _LT_Option),
+ [m4_define([$0_found])])])[]dnl
+m4_ifdef([$0_found], [m4_undefine([$0_found])], [$3
+])[]dnl
+])
+
+
+# _LT_SET_OPTIONS(MACRO-NAME, OPTION-LIST)
+# ----------------------------------------
+# OPTION-LIST is a space-separated list of Libtool options associated
+# with MACRO-NAME. If any OPTION has a matching handler declared with
+# LT_OPTION_DEFINE, dispatch to that macro; otherwise complain about
+# the unknown option and exit.
+m4_defun([_LT_SET_OPTIONS],
+[# Set options
+m4_foreach([_LT_Option], m4_split(m4_normalize([$2])),
+ [_LT_SET_OPTION([$1], _LT_Option)])
+
+m4_if([$1],[LT_INIT],[
+ dnl
+ dnl Simply set some default values (i.e off) if boolean options were not
+ dnl specified:
+ _LT_UNLESS_OPTIONS([LT_INIT], [dlopen], [enable_dlopen=no
+ ])
+ _LT_UNLESS_OPTIONS([LT_INIT], [win32-dll], [enable_win32_dll=no
+ ])
+ dnl
+ dnl If no reference was made to various pairs of opposing options, then
+ dnl we run the default mode handler for the pair. For example, if neither
+ dnl `shared' nor `disable-shared' was passed, we enable building of shared
+ dnl archives by default:
+ _LT_UNLESS_OPTIONS([LT_INIT], [shared disable-shared], [_LT_ENABLE_SHARED])
+ _LT_UNLESS_OPTIONS([LT_INIT], [static disable-static], [_LT_ENABLE_STATIC])
+ _LT_UNLESS_OPTIONS([LT_INIT], [pic-only no-pic], [_LT_WITH_PIC])
+ _LT_UNLESS_OPTIONS([LT_INIT], [fast-install disable-fast-install],
+ [_LT_ENABLE_FAST_INSTALL])
+ ])
+])# _LT_SET_OPTIONS
+
+
+
+# _LT_MANGLE_DEFUN(MACRO-NAME, OPTION-NAME)
+# -----------------------------------------
+m4_define([_LT_MANGLE_DEFUN],
+[[_LT_OPTION_DEFUN_]m4_bpatsubst(m4_toupper([$1__$2]), [[^A-Z0-9_]], [_])])
+
+
+# LT_OPTION_DEFINE(MACRO-NAME, OPTION-NAME, CODE)
+# -----------------------------------------------
+m4_define([LT_OPTION_DEFINE],
+[m4_define(_LT_MANGLE_DEFUN([$1], [$2]), [$3])[]dnl
+])# LT_OPTION_DEFINE
+
+
+# dlopen
+# ------
+LT_OPTION_DEFINE([LT_INIT], [dlopen], [enable_dlopen=yes
+])
+
+AU_DEFUN([AC_LIBTOOL_DLOPEN],
+[_LT_SET_OPTION([LT_INIT], [dlopen])
+AC_DIAGNOSE([obsolete],
+[$0: Remove this warning and the call to _LT_SET_OPTION when you
+put the `dlopen' option into LT_INIT's first parameter.])
+])
+
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_LIBTOOL_DLOPEN], [])
+
+
+# win32-dll
+# ---------
+# Declare package support for building win32 dll's.
+LT_OPTION_DEFINE([LT_INIT], [win32-dll],
+[enable_win32_dll=yes
+
+case $host in
+*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-cegcc*)
+ AC_CHECK_TOOL(AS, as, false)
+ AC_CHECK_TOOL(DLLTOOL, dlltool, false)
+ AC_CHECK_TOOL(OBJDUMP, objdump, false)
+ ;;
+esac
+
+test -z "$AS" && AS=as
+_LT_DECL([], [AS], [0], [Assembler program])dnl
+
+test -z "$DLLTOOL" && DLLTOOL=dlltool
+_LT_DECL([], [DLLTOOL], [0], [DLL creation program])dnl
+
+test -z "$OBJDUMP" && OBJDUMP=objdump
+_LT_DECL([], [OBJDUMP], [0], [Object dumper program])dnl
+])# win32-dll
+
+AU_DEFUN([AC_LIBTOOL_WIN32_DLL],
+[AC_REQUIRE([AC_CANONICAL_HOST])dnl
+_LT_SET_OPTION([LT_INIT], [win32-dll])
+AC_DIAGNOSE([obsolete],
+[$0: Remove this warning and the call to _LT_SET_OPTION when you
+put the `win32-dll' option into LT_INIT's first parameter.])
+])
+
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_LIBTOOL_WIN32_DLL], [])
+
+
+# _LT_ENABLE_SHARED([DEFAULT])
+# ----------------------------
+# implement the --enable-shared flag, and supports the `shared' and
+# `disable-shared' LT_INIT options.
+# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'.
+m4_define([_LT_ENABLE_SHARED],
+[m4_define([_LT_ENABLE_SHARED_DEFAULT], [m4_if($1, no, no, yes)])dnl
+AC_ARG_ENABLE([shared],
+ [AS_HELP_STRING([--enable-shared@<:@=PKGS@:>@],
+ [build shared libraries @<:@default=]_LT_ENABLE_SHARED_DEFAULT[@:>@])],
+ [p=${PACKAGE-default}
+ case $enableval in
+ yes) enable_shared=yes ;;
+ no) enable_shared=no ;;
+ *)
+ enable_shared=no
+ # Look at the argument we got. We use all the common list separators.
+ lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
+ for pkg in $enableval; do
+ IFS="$lt_save_ifs"
+ if test "X$pkg" = "X$p"; then
+ enable_shared=yes
+ fi
+ done
+ IFS="$lt_save_ifs"
+ ;;
+ esac],
+ [enable_shared=]_LT_ENABLE_SHARED_DEFAULT)
+
+ _LT_DECL([build_libtool_libs], [enable_shared], [0],
+ [Whether or not to build shared libraries])
+])# _LT_ENABLE_SHARED
+
+LT_OPTION_DEFINE([LT_INIT], [shared], [_LT_ENABLE_SHARED([yes])])
+LT_OPTION_DEFINE([LT_INIT], [disable-shared], [_LT_ENABLE_SHARED([no])])
+
+# Old names:
+AC_DEFUN([AC_ENABLE_SHARED],
+[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[shared])
+])
+
+AC_DEFUN([AC_DISABLE_SHARED],
+[_LT_SET_OPTION([LT_INIT], [disable-shared])
+])
+
+AU_DEFUN([AM_ENABLE_SHARED], [AC_ENABLE_SHARED($@)])
+AU_DEFUN([AM_DISABLE_SHARED], [AC_DISABLE_SHARED($@)])
+
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AM_ENABLE_SHARED], [])
+dnl AC_DEFUN([AM_DISABLE_SHARED], [])
+
+
+
+# _LT_ENABLE_STATIC([DEFAULT])
+# ----------------------------
+# implement the --enable-static flag, and support the `static' and
+# `disable-static' LT_INIT options.
+# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'.
+m4_define([_LT_ENABLE_STATIC],
+[m4_define([_LT_ENABLE_STATIC_DEFAULT], [m4_if($1, no, no, yes)])dnl
+AC_ARG_ENABLE([static],
+ [AS_HELP_STRING([--enable-static@<:@=PKGS@:>@],
+ [build static libraries @<:@default=]_LT_ENABLE_STATIC_DEFAULT[@:>@])],
+ [p=${PACKAGE-default}
+ case $enableval in
+ yes) enable_static=yes ;;
+ no) enable_static=no ;;
+ *)
+ enable_static=no
+ # Look at the argument we got. We use all the common list separators.
+ lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
+ for pkg in $enableval; do
+ IFS="$lt_save_ifs"
+ if test "X$pkg" = "X$p"; then
+ enable_static=yes
+ fi
+ done
+ IFS="$lt_save_ifs"
+ ;;
+ esac],
+ [enable_static=]_LT_ENABLE_STATIC_DEFAULT)
+
+ _LT_DECL([build_old_libs], [enable_static], [0],
+ [Whether or not to build static libraries])
+])# _LT_ENABLE_STATIC
+
+LT_OPTION_DEFINE([LT_INIT], [static], [_LT_ENABLE_STATIC([yes])])
+LT_OPTION_DEFINE([LT_INIT], [disable-static], [_LT_ENABLE_STATIC([no])])
+
+# Old names:
+AC_DEFUN([AC_ENABLE_STATIC],
+[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[static])
+])
+
+AC_DEFUN([AC_DISABLE_STATIC],
+[_LT_SET_OPTION([LT_INIT], [disable-static])
+])
+
+AU_DEFUN([AM_ENABLE_STATIC], [AC_ENABLE_STATIC($@)])
+AU_DEFUN([AM_DISABLE_STATIC], [AC_DISABLE_STATIC($@)])
+
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AM_ENABLE_STATIC], [])
+dnl AC_DEFUN([AM_DISABLE_STATIC], [])
+
+
+
+# _LT_ENABLE_FAST_INSTALL([DEFAULT])
+# ----------------------------------
+# implement the --enable-fast-install flag, and support the `fast-install'
+# and `disable-fast-install' LT_INIT options.
+# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'.
+m4_define([_LT_ENABLE_FAST_INSTALL],
+[m4_define([_LT_ENABLE_FAST_INSTALL_DEFAULT], [m4_if($1, no, no, yes)])dnl
+AC_ARG_ENABLE([fast-install],
+ [AS_HELP_STRING([--enable-fast-install@<:@=PKGS@:>@],
+ [optimize for fast installation @<:@default=]_LT_ENABLE_FAST_INSTALL_DEFAULT[@:>@])],
+ [p=${PACKAGE-default}
+ case $enableval in
+ yes) enable_fast_install=yes ;;
+ no) enable_fast_install=no ;;
+ *)
+ enable_fast_install=no
+ # Look at the argument we got. We use all the common list separators.
+ lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
+ for pkg in $enableval; do
+ IFS="$lt_save_ifs"
+ if test "X$pkg" = "X$p"; then
+ enable_fast_install=yes
+ fi
+ done
+ IFS="$lt_save_ifs"
+ ;;
+ esac],
+ [enable_fast_install=]_LT_ENABLE_FAST_INSTALL_DEFAULT)
+
+_LT_DECL([fast_install], [enable_fast_install], [0],
+ [Whether or not to optimize for fast installation])dnl
+])# _LT_ENABLE_FAST_INSTALL
+
+LT_OPTION_DEFINE([LT_INIT], [fast-install], [_LT_ENABLE_FAST_INSTALL([yes])])
+LT_OPTION_DEFINE([LT_INIT], [disable-fast-install], [_LT_ENABLE_FAST_INSTALL([no])])
+
+# Old names:
+AU_DEFUN([AC_ENABLE_FAST_INSTALL],
+[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[fast-install])
+AC_DIAGNOSE([obsolete],
+[$0: Remove this warning and the call to _LT_SET_OPTION when you put
+the `fast-install' option into LT_INIT's first parameter.])
+])
+
+AU_DEFUN([AC_DISABLE_FAST_INSTALL],
+[_LT_SET_OPTION([LT_INIT], [disable-fast-install])
+AC_DIAGNOSE([obsolete],
+[$0: Remove this warning and the call to _LT_SET_OPTION when you put
+the `disable-fast-install' option into LT_INIT's first parameter.])
])
-# Copyright (C) 2002, 2003, 2005, 2006 Free Software Foundation, Inc.
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_ENABLE_FAST_INSTALL], [])
+dnl AC_DEFUN([AM_DISABLE_FAST_INSTALL], [])
+
+
+# _LT_WITH_PIC([MODE])
+# --------------------
+# implement the --with-pic flag, and support the `pic-only' and `no-pic'
+# LT_INIT options.
+# MODE is either `yes' or `no'. If omitted, it defaults to `both'.
+m4_define([_LT_WITH_PIC],
+[AC_ARG_WITH([pic],
+ [AS_HELP_STRING([--with-pic],
+ [try to use only PIC/non-PIC objects @<:@default=use both@:>@])],
+ [pic_mode="$withval"],
+ [pic_mode=default])
+
+test -z "$pic_mode" && pic_mode=m4_default([$1], [default])
+
+_LT_DECL([], [pic_mode], [0], [What type of objects to build])dnl
+])# _LT_WITH_PIC
+
+LT_OPTION_DEFINE([LT_INIT], [pic-only], [_LT_WITH_PIC([yes])])
+LT_OPTION_DEFINE([LT_INIT], [no-pic], [_LT_WITH_PIC([no])])
+
+# Old name:
+AU_DEFUN([AC_LIBTOOL_PICMODE],
+[_LT_SET_OPTION([LT_INIT], [pic-only])
+AC_DIAGNOSE([obsolete],
+[$0: Remove this warning and the call to _LT_SET_OPTION when you
+put the `pic-only' option into LT_INIT's first parameter.])
+])
+
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_LIBTOOL_PICMODE], [])
+
+
+m4_define([_LTDL_MODE], [])
+LT_OPTION_DEFINE([LTDL_INIT], [nonrecursive],
+ [m4_define([_LTDL_MODE], [nonrecursive])])
+LT_OPTION_DEFINE([LTDL_INIT], [recursive],
+ [m4_define([_LTDL_MODE], [recursive])])
+LT_OPTION_DEFINE([LTDL_INIT], [subproject],
+ [m4_define([_LTDL_MODE], [subproject])])
+
+m4_define([_LTDL_TYPE], [])
+LT_OPTION_DEFINE([LTDL_INIT], [installable],
+ [m4_define([_LTDL_TYPE], [installable])])
+LT_OPTION_DEFINE([LTDL_INIT], [convenience],
+ [m4_define([_LTDL_TYPE], [convenience])])
+
+# ltsugar.m4 -- libtool m4 base layer. -*-Autoconf-*-
+#
+# Copyright (C) 2004, 2005, 2007, 2008 Free Software Foundation, Inc.
+# Written by Gary V. Vaughan, 2004
+#
+# This file is free software; the Free Software Foundation gives
+# unlimited permission to copy and/or distribute it, with or without
+# modifications, as long as this notice is preserved.
+
+# serial 6 ltsugar.m4
+
+# This is to help aclocal find these macros, as it can't see m4_define.
+AC_DEFUN([LTSUGAR_VERSION], [m4_if([0.1])])
+
+
+# lt_join(SEP, ARG1, [ARG2...])
+# -----------------------------
+# Produce ARG1SEPARG2...SEPARGn, omitting [] arguments and their
+# associated separator.
+# Needed until we can rely on m4_join from Autoconf 2.62, since all earlier
+# versions in m4sugar had bugs.
+m4_define([lt_join],
+[m4_if([$#], [1], [],
+ [$#], [2], [[$2]],
+ [m4_if([$2], [], [], [[$2]_])$0([$1], m4_shift(m4_shift($@)))])])
+m4_define([_lt_join],
+[m4_if([$#$2], [2], [],
+ [m4_if([$2], [], [], [[$1$2]])$0([$1], m4_shift(m4_shift($@)))])])
+
+
+# lt_car(LIST)
+# lt_cdr(LIST)
+# ------------
+# Manipulate m4 lists.
+# These macros are necessary as long as will still need to support
+# Autoconf-2.59 which quotes differently.
+m4_define([lt_car], [[$1]])
+m4_define([lt_cdr],
+[m4_if([$#], 0, [m4_fatal([$0: cannot be called without arguments])],
+ [$#], 1, [],
+ [m4_dquote(m4_shift($@))])])
+m4_define([lt_unquote], $1)
+
+
+# lt_append(MACRO-NAME, STRING, [SEPARATOR])
+# ------------------------------------------
+# Redefine MACRO-NAME to hold its former content plus `SEPARATOR'`STRING'.
+# Note that neither SEPARATOR nor STRING are expanded; they are appended
+# to MACRO-NAME as is (leaving the expansion for when MACRO-NAME is invoked).
+# No SEPARATOR is output if MACRO-NAME was previously undefined (different
+# than defined and empty).
+#
+# This macro is needed until we can rely on Autoconf 2.62, since earlier
+# versions of m4sugar mistakenly expanded SEPARATOR but not STRING.
+m4_define([lt_append],
+[m4_define([$1],
+ m4_ifdef([$1], [m4_defn([$1])[$3]])[$2])])
+
+
+
+# lt_combine(SEP, PREFIX-LIST, INFIX, SUFFIX1, [SUFFIX2...])
+# ----------------------------------------------------------
+# Produce a SEP delimited list of all paired combinations of elements of
+# PREFIX-LIST with SUFFIX1 through SUFFIXn. Each element of the list
+# has the form PREFIXmINFIXSUFFIXn.
+# Needed until we can rely on m4_combine added in Autoconf 2.62.
+m4_define([lt_combine],
+[m4_if(m4_eval([$# > 3]), [1],
+ [m4_pushdef([_Lt_sep], [m4_define([_Lt_sep], m4_defn([lt_car]))])]]dnl
+[[m4_foreach([_Lt_prefix], [$2],
+ [m4_foreach([_Lt_suffix],
+ ]m4_dquote(m4_dquote(m4_shift(m4_shift(m4_shift($@)))))[,
+ [_Lt_sep([$1])[]m4_defn([_Lt_prefix])[$3]m4_defn([_Lt_suffix])])])])])
+
+
+# lt_if_append_uniq(MACRO-NAME, VARNAME, [SEPARATOR], [UNIQ], [NOT-UNIQ])
+# -----------------------------------------------------------------------
+# Iff MACRO-NAME does not yet contain VARNAME, then append it (delimited
+# by SEPARATOR if supplied) and expand UNIQ, else NOT-UNIQ.
+m4_define([lt_if_append_uniq],
+[m4_ifdef([$1],
+ [m4_if(m4_index([$3]m4_defn([$1])[$3], [$3$2$3]), [-1],
+ [lt_append([$1], [$2], [$3])$4],
+ [$5])],
+ [lt_append([$1], [$2], [$3])$4])])
+
+
+# lt_dict_add(DICT, KEY, VALUE)
+# -----------------------------
+m4_define([lt_dict_add],
+[m4_define([$1($2)], [$3])])
+
+
+# lt_dict_add_subkey(DICT, KEY, SUBKEY, VALUE)
+# --------------------------------------------
+m4_define([lt_dict_add_subkey],
+[m4_define([$1($2:$3)], [$4])])
+
+
+# lt_dict_fetch(DICT, KEY, [SUBKEY])
+# ----------------------------------
+m4_define([lt_dict_fetch],
+[m4_ifval([$3],
+ m4_ifdef([$1($2:$3)], [m4_defn([$1($2:$3)])]),
+ m4_ifdef([$1($2)], [m4_defn([$1($2)])]))])
+
+
+# lt_if_dict_fetch(DICT, KEY, [SUBKEY], VALUE, IF-TRUE, [IF-FALSE])
+# -----------------------------------------------------------------
+m4_define([lt_if_dict_fetch],
+[m4_if(lt_dict_fetch([$1], [$2], [$3]), [$4],
+ [$5],
+ [$6])])
+
+
+# lt_dict_filter(DICT, [SUBKEY], VALUE, [SEPARATOR], KEY, [...])
+# --------------------------------------------------------------
+m4_define([lt_dict_filter],
+[m4_if([$5], [], [],
+ [lt_join(m4_quote(m4_default([$4], [[, ]])),
+ lt_unquote(m4_split(m4_normalize(m4_foreach(_Lt_key, lt_car([m4_shiftn(4, $@)]),
+ [lt_if_dict_fetch([$1], _Lt_key, [$2], [$3], [_Lt_key ])])))))])[]dnl
+])
+
+# ltversion.m4 -- version numbers -*- Autoconf -*-
+#
+# Copyright (C) 2004 Free Software Foundation, Inc.
+# Written by Scott James Remnant, 2004
+#
+# This file is free software; the Free Software Foundation gives
+# unlimited permission to copy and/or distribute it, with or without
+# modifications, as long as this notice is preserved.
+
+# Generated from ltversion.in.
+
+# serial 3012 ltversion.m4
+# This file is part of GNU Libtool
+
+m4_define([LT_PACKAGE_VERSION], [2.2.6])
+m4_define([LT_PACKAGE_REVISION], [1.3012])
+
+AC_DEFUN([LTVERSION_VERSION],
+[macro_version='2.2.6'
+macro_revision='1.3012'
+_LT_DECL(, macro_version, 0, [Which release of libtool.m4 was used?])
+_LT_DECL(, macro_revision, 0)
+])
+
+# lt~obsolete.m4 -- aclocal satisfying obsolete definitions. -*-Autoconf-*-
+#
+# Copyright (C) 2004, 2005, 2007 Free Software Foundation, Inc.
+# Written by Scott James Remnant, 2004.
+#
+# This file is free software; the Free Software Foundation gives
+# unlimited permission to copy and/or distribute it, with or without
+# modifications, as long as this notice is preserved.
+
+# serial 4 lt~obsolete.m4
+
+# These exist entirely to fool aclocal when bootstrapping libtool.
+#
+# In the past libtool.m4 has provided macros via AC_DEFUN (or AU_DEFUN)
+# which have later been changed to m4_define as they aren't part of the
+# exported API, or moved to Autoconf or Automake where they belong.
+#
+# The trouble is, aclocal is a bit thick. It'll see the old AC_DEFUN
+# in /usr/share/aclocal/libtool.m4 and remember it, then when it sees us
+# using a macro with the same name in our local m4/libtool.m4 it'll
+# pull the old libtool.m4 in (it doesn't see our shiny new m4_define
+# and doesn't know about Autoconf macros at all.)
+#
+# So we provide this file, which has a silly filename so it's always
+# included after everything else. This provides aclocal with the
+# AC_DEFUNs it wants, but when m4 processes it, it doesn't do anything
+# because those macros already exist, or will be overwritten later.
+# We use AC_DEFUN over AU_DEFUN for compatibility with aclocal-1.6.
+#
+# Anytime we withdraw an AC_DEFUN or AU_DEFUN, remember to add it here.
+# Yes, that means every name once taken will need to remain here until
+# we give up compatibility with versions before 1.7, at which point
+# we need to keep only those names which we still refer to.
+
+# This is to help aclocal find these macros, as it can't see m4_define.
+AC_DEFUN([LTOBSOLETE_VERSION], [m4_if([1])])
+
+m4_ifndef([AC_LIBTOOL_LINKER_OPTION], [AC_DEFUN([AC_LIBTOOL_LINKER_OPTION])])
+m4_ifndef([AC_PROG_EGREP], [AC_DEFUN([AC_PROG_EGREP])])
+m4_ifndef([_LT_AC_PROG_ECHO_BACKSLASH], [AC_DEFUN([_LT_AC_PROG_ECHO_BACKSLASH])])
+m4_ifndef([_LT_AC_SHELL_INIT], [AC_DEFUN([_LT_AC_SHELL_INIT])])
+m4_ifndef([_LT_AC_SYS_LIBPATH_AIX], [AC_DEFUN([_LT_AC_SYS_LIBPATH_AIX])])
+m4_ifndef([_LT_PROG_LTMAIN], [AC_DEFUN([_LT_PROG_LTMAIN])])
+m4_ifndef([_LT_AC_TAGVAR], [AC_DEFUN([_LT_AC_TAGVAR])])
+m4_ifndef([AC_LTDL_ENABLE_INSTALL], [AC_DEFUN([AC_LTDL_ENABLE_INSTALL])])
+m4_ifndef([AC_LTDL_PREOPEN], [AC_DEFUN([AC_LTDL_PREOPEN])])
+m4_ifndef([_LT_AC_SYS_COMPILER], [AC_DEFUN([_LT_AC_SYS_COMPILER])])
+m4_ifndef([_LT_AC_LOCK], [AC_DEFUN([_LT_AC_LOCK])])
+m4_ifndef([AC_LIBTOOL_SYS_OLD_ARCHIVE], [AC_DEFUN([AC_LIBTOOL_SYS_OLD_ARCHIVE])])
+m4_ifndef([_LT_AC_TRY_DLOPEN_SELF], [AC_DEFUN([_LT_AC_TRY_DLOPEN_SELF])])
+m4_ifndef([AC_LIBTOOL_PROG_CC_C_O], [AC_DEFUN([AC_LIBTOOL_PROG_CC_C_O])])
+m4_ifndef([AC_LIBTOOL_SYS_HARD_LINK_LOCKS], [AC_DEFUN([AC_LIBTOOL_SYS_HARD_LINK_LOCKS])])
+m4_ifndef([AC_LIBTOOL_OBJDIR], [AC_DEFUN([AC_LIBTOOL_OBJDIR])])
+m4_ifndef([AC_LTDL_OBJDIR], [AC_DEFUN([AC_LTDL_OBJDIR])])
+m4_ifndef([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH], [AC_DEFUN([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH])])
+m4_ifndef([AC_LIBTOOL_SYS_LIB_STRIP], [AC_DEFUN([AC_LIBTOOL_SYS_LIB_STRIP])])
+m4_ifndef([AC_PATH_MAGIC], [AC_DEFUN([AC_PATH_MAGIC])])
+m4_ifndef([AC_PROG_LD_GNU], [AC_DEFUN([AC_PROG_LD_GNU])])
+m4_ifndef([AC_PROG_LD_RELOAD_FLAG], [AC_DEFUN([AC_PROG_LD_RELOAD_FLAG])])
+m4_ifndef([AC_DEPLIBS_CHECK_METHOD], [AC_DEFUN([AC_DEPLIBS_CHECK_METHOD])])
+m4_ifndef([AC_LIBTOOL_PROG_COMPILER_NO_RTTI], [AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_NO_RTTI])])
+m4_ifndef([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE], [AC_DEFUN([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE])])
+m4_ifndef([AC_LIBTOOL_PROG_COMPILER_PIC], [AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_PIC])])
+m4_ifndef([AC_LIBTOOL_PROG_LD_SHLIBS], [AC_DEFUN([AC_LIBTOOL_PROG_LD_SHLIBS])])
+m4_ifndef([AC_LIBTOOL_POSTDEP_PREDEP], [AC_DEFUN([AC_LIBTOOL_POSTDEP_PREDEP])])
+m4_ifndef([LT_AC_PROG_EGREP], [AC_DEFUN([LT_AC_PROG_EGREP])])
+m4_ifndef([LT_AC_PROG_SED], [AC_DEFUN([LT_AC_PROG_SED])])
+m4_ifndef([_LT_CC_BASENAME], [AC_DEFUN([_LT_CC_BASENAME])])
+m4_ifndef([_LT_COMPILER_BOILERPLATE], [AC_DEFUN([_LT_COMPILER_BOILERPLATE])])
+m4_ifndef([_LT_LINKER_BOILERPLATE], [AC_DEFUN([_LT_LINKER_BOILERPLATE])])
+m4_ifndef([_AC_PROG_LIBTOOL], [AC_DEFUN([_AC_PROG_LIBTOOL])])
+m4_ifndef([AC_LIBTOOL_SETUP], [AC_DEFUN([AC_LIBTOOL_SETUP])])
+m4_ifndef([_LT_AC_CHECK_DLFCN], [AC_DEFUN([_LT_AC_CHECK_DLFCN])])
+m4_ifndef([AC_LIBTOOL_SYS_DYNAMIC_LINKER], [AC_DEFUN([AC_LIBTOOL_SYS_DYNAMIC_LINKER])])
+m4_ifndef([_LT_AC_TAGCONFIG], [AC_DEFUN([_LT_AC_TAGCONFIG])])
+m4_ifndef([AC_DISABLE_FAST_INSTALL], [AC_DEFUN([AC_DISABLE_FAST_INSTALL])])
+m4_ifndef([_LT_AC_LANG_CXX], [AC_DEFUN([_LT_AC_LANG_CXX])])
+m4_ifndef([_LT_AC_LANG_F77], [AC_DEFUN([_LT_AC_LANG_F77])])
+m4_ifndef([_LT_AC_LANG_GCJ], [AC_DEFUN([_LT_AC_LANG_GCJ])])
+m4_ifndef([AC_LIBTOOL_RC], [AC_DEFUN([AC_LIBTOOL_RC])])
+m4_ifndef([AC_LIBTOOL_LANG_C_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_C_CONFIG])])
+m4_ifndef([_LT_AC_LANG_C_CONFIG], [AC_DEFUN([_LT_AC_LANG_C_CONFIG])])
+m4_ifndef([AC_LIBTOOL_LANG_CXX_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_CXX_CONFIG])])
+m4_ifndef([_LT_AC_LANG_CXX_CONFIG], [AC_DEFUN([_LT_AC_LANG_CXX_CONFIG])])
+m4_ifndef([AC_LIBTOOL_LANG_F77_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_F77_CONFIG])])
+m4_ifndef([_LT_AC_LANG_F77_CONFIG], [AC_DEFUN([_LT_AC_LANG_F77_CONFIG])])
+m4_ifndef([AC_LIBTOOL_LANG_GCJ_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_GCJ_CONFIG])])
+m4_ifndef([_LT_AC_LANG_GCJ_CONFIG], [AC_DEFUN([_LT_AC_LANG_GCJ_CONFIG])])
+m4_ifndef([AC_LIBTOOL_LANG_RC_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_RC_CONFIG])])
+m4_ifndef([_LT_AC_LANG_RC_CONFIG], [AC_DEFUN([_LT_AC_LANG_RC_CONFIG])])
+m4_ifndef([AC_LIBTOOL_CONFIG], [AC_DEFUN([AC_LIBTOOL_CONFIG])])
+m4_ifndef([_LT_AC_FILE_LTDLL_C], [AC_DEFUN([_LT_AC_FILE_LTDLL_C])])
+
+# Copyright (C) 2002, 2003, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -6599,7 +7996,7 @@ AC_DEFUN([AM_AUTOMAKE_VERSION],
[am__api_version='1.10'
dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to
dnl require some minimum version. Point them to the right macro.
-m4_if([$1], [1.10], [],
+m4_if([$1], [1.10.2], [],
[AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
])
@@ -6613,10 +8010,12 @@ m4_define([_AM_AUTOCONF_VERSION], [])
# AM_SET_CURRENT_AUTOMAKE_VERSION
# -------------------------------
# Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced.
-# This function is AC_REQUIREd by AC_INIT_AUTOMAKE.
+# This function is AC_REQUIREd by AM_INIT_AUTOMAKE.
AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
-[AM_AUTOMAKE_VERSION([1.10])dnl
-_AM_AUTOCONF_VERSION(m4_PACKAGE_VERSION)])
+[AM_AUTOMAKE_VERSION([1.10.2])dnl
+m4_ifndef([AC_AUTOCONF_VERSION],
+ [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
+_AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
# AM_AUX_DIR_EXPAND -*- Autoconf -*-
@@ -6866,57 +8265,68 @@ _AM_SUBST_NOTMAKE([AMDEPBACKSLASH])dnl
# Generate code to set up dependency tracking. -*- Autoconf -*-
-# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005
+# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2008
# Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
-#serial 3
+#serial 5
# _AM_OUTPUT_DEPENDENCY_COMMANDS
# ------------------------------
AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS],
-[for mf in $CONFIG_FILES; do
- # Strip MF so we end up with the name of the file.
- mf=`echo "$mf" | sed -e 's/:.*$//'`
- # Check whether this is an Automake generated Makefile or not.
- # We used to match only the files named `Makefile.in', but
- # some people rename them; so instead we look at the file content.
- # Grep'ing the first line is not enough: some people post-process
- # each Makefile.in and add a new line on top of each file to say so.
- # Grep'ing the whole file is not good either: AIX grep has a line
- # limit of 2048, but all sed's we know have understand at least 4000.
- if sed 10q "$mf" | grep '^#.*generated by automake' > /dev/null 2>&1; then
- dirpart=`AS_DIRNAME("$mf")`
- else
- continue
- fi
- # Extract the definition of DEPDIR, am__include, and am__quote
- # from the Makefile without running `make'.
- DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
- test -z "$DEPDIR" && continue
- am__include=`sed -n 's/^am__include = //p' < "$mf"`
- test -z "am__include" && continue
- am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
- # When using ansi2knr, U may be empty or an underscore; expand it
- U=`sed -n 's/^U = //p' < "$mf"`
- # Find all dependency output files, they are included files with
- # $(DEPDIR) in their names. We invoke sed twice because it is the
- # simplest approach to changing $(DEPDIR) to its actual value in the
- # expansion.
- for file in `sed -n "
- s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
- sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
- # Make sure the directory exists.
- test -f "$dirpart/$file" && continue
- fdir=`AS_DIRNAME(["$file"])`
- AS_MKDIR_P([$dirpart/$fdir])
- # echo "creating $dirpart/$file"
- echo '# dummy' > "$dirpart/$file"
+[{
+ # Autoconf 2.62 quotes --file arguments for eval, but not when files
+ # are listed without --file. Let's play safe and only enable the eval
+ # if we detect the quoting.
+ case $CONFIG_FILES in
+ *\'*) eval set x "$CONFIG_FILES" ;;
+ *) set x $CONFIG_FILES ;;
+ esac
+ shift
+ for mf
+ do
+ # Strip MF so we end up with the name of the file.
+ mf=`echo "$mf" | sed -e 's/:.*$//'`
+ # Check whether this is an Automake generated Makefile or not.
+ # We used to match only the files named `Makefile.in', but
+ # some people rename them; so instead we look at the file content.
+ # Grep'ing the first line is not enough: some people post-process
+ # each Makefile.in and add a new line on top of each file to say so.
+ # Grep'ing the whole file is not good either: AIX grep has a line
+ # limit of 2048, but all sed's we know have understand at least 4000.
+ if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then
+ dirpart=`AS_DIRNAME("$mf")`
+ else
+ continue
+ fi
+ # Extract the definition of DEPDIR, am__include, and am__quote
+ # from the Makefile without running `make'.
+ DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
+ test -z "$DEPDIR" && continue
+ am__include=`sed -n 's/^am__include = //p' < "$mf"`
+ test -z "am__include" && continue
+ am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
+ # When using ansi2knr, U may be empty or an underscore; expand it
+ U=`sed -n 's/^U = //p' < "$mf"`
+ # Find all dependency output files, they are included files with
+ # $(DEPDIR) in their names. We invoke sed twice because it is the
+ # simplest approach to changing $(DEPDIR) to its actual value in the
+ # expansion.
+ for file in `sed -n "
+ s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
+ sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
+ # Make sure the directory exists.
+ test -f "$dirpart/$file" && continue
+ fdir=`AS_DIRNAME(["$file"])`
+ AS_MKDIR_P([$dirpart/$fdir])
+ # echo "creating $dirpart/$file"
+ echo '# dummy' > "$dirpart/$file"
+ done
done
-done
+}
])# _AM_OUTPUT_DEPENDENCY_COMMANDS
@@ -6936,13 +8346,13 @@ AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS],
# Do all the work for Automake. -*- Autoconf -*-
# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
-# 2005, 2006 Free Software Foundation, Inc.
+# 2005, 2006, 2008 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
-# serial 12
+# serial 13
# This macro actually does too much. Some checks are only needed if
# your package does certain things. But this isn't really a big deal.
@@ -7047,16 +8457,17 @@ AC_PROVIDE_IFELSE([AC_PROG_OBJC],
# our stamp files there.
AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK],
[# Compute $1's index in $config_headers.
+_am_arg=$1
_am_stamp_count=1
for _am_header in $config_headers :; do
case $_am_header in
- $1 | $1:* )
+ $_am_arg | $_am_arg:* )
break ;;
* )
_am_stamp_count=`expr $_am_stamp_count + 1` ;;
esac
done
-echo "timestamp for $1" >`AS_DIRNAME([$1])`/stamp-h[]$_am_stamp_count])
+echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count])
# Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc.
#
@@ -7238,13 +8649,13 @@ esac
# Helper functions for option handling. -*- Autoconf -*-
-# Copyright (C) 2001, 2002, 2003, 2005 Free Software Foundation, Inc.
+# Copyright (C) 2001, 2002, 2003, 2005, 2008 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
-# serial 3
+# serial 4
# _AM_MANGLE_OPTION(NAME)
# -----------------------
@@ -7261,7 +8672,7 @@ AC_DEFUN([_AM_SET_OPTION],
# ----------------------------------
# OPTIONS is a space-separated list of Automake options.
AC_DEFUN([_AM_SET_OPTIONS],
-[AC_FOREACH([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])])
+[m4_foreach_w([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])])
# _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET])
# -------------------------------------------
@@ -7357,7 +8768,7 @@ AC_SUBST([INSTALL_STRIP_PROGRAM])])
# _AM_SUBST_NOTMAKE(VARIABLE)
# ---------------------------
-# Prevent Automake from outputing VARIABLE = @VARIABLE@ in Makefile.in.
+# Prevent Automake from outputting VARIABLE = @VARIABLE@ in Makefile.in.
# This macro is traced by Automake.
AC_DEFUN([_AM_SUBST_NOTMAKE])
diff --git a/bindings/swig/package/config.guess b/bindings/swig/package/config.guess
index 951383e..f32079a 100755
--- a/bindings/swig/package/config.guess
+++ b/bindings/swig/package/config.guess
@@ -1,10 +1,10 @@
#! /bin/sh
# Attempt to guess a canonical system name.
# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
-# 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation,
-# Inc.
+# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008
+# Free Software Foundation, Inc.
-timestamp='2007-05-17'
+timestamp='2008-01-23'
# This file is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by
@@ -56,8 +56,8 @@ version="\
GNU config.guess ($timestamp)
Originally written by Per Bothner.
-Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005
-Free Software Foundation, Inc.
+Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
+2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
@@ -330,7 +330,7 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
exit ;;
- i86pc:SunOS:5.*:* | ix86xen:SunOS:5.*:*)
+ i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*)
echo i386-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
exit ;;
sun4*:SunOS:6*:*)
@@ -532,7 +532,7 @@ EOF
echo rs6000-ibm-aix3.2
fi
exit ;;
- *:AIX:*:[45])
+ *:AIX:*:[456])
IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'`
if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then
IBM_ARCH=rs6000
@@ -793,12 +793,15 @@ EOF
exit ;;
*:Interix*:[3456]*)
case ${UNAME_MACHINE} in
- x86)
+ x86)
echo i586-pc-interix${UNAME_RELEASE}
exit ;;
EM64T | authenticamd)
echo x86_64-unknown-interix${UNAME_RELEASE}
exit ;;
+ IA64)
+ echo ia64-unknown-interix${UNAME_RELEASE}
+ exit ;;
esac ;;
[345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*)
echo i${UNAME_MACHINE}-pc-mks
@@ -833,7 +836,14 @@ EOF
echo ${UNAME_MACHINE}-pc-minix
exit ;;
arm*:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-gnu
+ eval $set_cc_for_build
+ if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \
+ | grep -q __ARM_EABI__
+ then
+ echo ${UNAME_MACHINE}-unknown-linux-gnu
+ else
+ echo ${UNAME_MACHINE}-unknown-linux-gnueabi
+ fi
exit ;;
avr32*:Linux:*:*)
echo ${UNAME_MACHINE}-unknown-linux-gnu
@@ -954,8 +964,8 @@ EOF
x86_64:Linux:*:*)
echo x86_64-unknown-linux-gnu
exit ;;
- xtensa:Linux:*:*)
- echo xtensa-unknown-linux-gnu
+ xtensa*:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-gnu
exit ;;
i*86:Linux:*:*)
# The BFD linker knows what the default object file format is, so
@@ -1474,9 +1484,9 @@ This script, last modified $timestamp, has failed to recognize
the operating system you are using. It is advised that you
download the most up to date version of the config scripts from
- http://savannah.gnu.org/cgi-bin/viewcvs/*checkout*/config/config/config.guess
+ http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD
and
- http://savannah.gnu.org/cgi-bin/viewcvs/*checkout*/config/config/config.sub
+ http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
If the version you run ($0) is already up to date, please
send the following data and any information you think might be
diff --git a/bindings/swig/package/config.sub b/bindings/swig/package/config.sub
index c060f44..6759825 100755
--- a/bindings/swig/package/config.sub
+++ b/bindings/swig/package/config.sub
@@ -1,10 +1,10 @@
#! /bin/sh
# Configuration validation subroutine script.
# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
-# 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation,
-# Inc.
+# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008
+# Free Software Foundation, Inc.
-timestamp='2007-04-29'
+timestamp='2008-01-16'
# This file is (in principle) common to ALL GNU software.
# The presence of a machine in this file suggests that SOME GNU software
@@ -72,8 +72,8 @@ Report bugs and patches to <config-patches@gnu.org>."
version="\
GNU config.sub ($timestamp)
-Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005
-Free Software Foundation, Inc.
+Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
+2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
@@ -369,10 +369,14 @@ case $basic_machine in
| v850-* | v850e-* | vax-* \
| we32k-* \
| x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \
- | xstormy16-* | xtensa-* \
+ | xstormy16-* | xtensa*-* \
| ymp-* \
| z8k-*)
;;
+ # Recognize the basic CPU types without company name, with glob match.
+ xtensa*)
+ basic_machine=$basic_machine-unknown
+ ;;
# Recognize the various machine names and aliases which stand
# for a CPU type and a company and sometimes even an OS.
386bsd)
@@ -443,6 +447,14 @@ case $basic_machine in
basic_machine=ns32k-sequent
os=-dynix
;;
+ blackfin)
+ basic_machine=bfin-unknown
+ os=-linux
+ ;;
+ blackfin-*)
+ basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'`
+ os=-linux
+ ;;
c90)
basic_machine=c90-cray
os=-unicos
@@ -475,8 +487,8 @@ case $basic_machine in
basic_machine=craynv-cray
os=-unicosmp
;;
- cr16c)
- basic_machine=cr16c-unknown
+ cr16)
+ basic_machine=cr16-unknown
os=-elf
;;
crds | unos)
@@ -668,6 +680,14 @@ case $basic_machine in
basic_machine=m68k-isi
os=-sysv
;;
+ m68knommu)
+ basic_machine=m68k-unknown
+ os=-linux
+ ;;
+ m68knommu-*)
+ basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'`
+ os=-linux
+ ;;
m88k-omron*)
basic_machine=m88k-omron
;;
@@ -813,6 +833,14 @@ case $basic_machine in
basic_machine=i860-intel
os=-osf
;;
+ parisc)
+ basic_machine=hppa-unknown
+ os=-linux
+ ;;
+ parisc-*)
+ basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'`
+ os=-linux
+ ;;
pbd)
basic_machine=sparc-tti
;;
@@ -1021,6 +1049,10 @@ case $basic_machine in
basic_machine=tic6x-unknown
os=-coff
;;
+ tile*)
+ basic_machine=tile-unknown
+ os=-linux-gnu
+ ;;
tx39)
basic_machine=mipstx39-unknown
;;
diff --git a/bindings/swig/package/configure b/bindings/swig/package/configure
index 40fb86d..43a5d98 100755
--- a/bindings/swig/package/configure
+++ b/bindings/swig/package/configure
@@ -1,12 +1,12 @@
#! /bin/sh
# From configure.ac Revision: 1.2 .
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.61 for swordbindings 1.5.11.
+# Generated by GNU Autoconf 2.63 for swordbindings 1.5.11.
#
# Report bugs to <sword-bugs@crosswire.org>.
#
# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
-# 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
+# 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
# This configure script is free software; the Free Software Foundation
# gives unlimited permission to copy, distribute and modify it.
## --------------------- ##
@@ -18,7 +18,7 @@ DUALCASE=1; export DUALCASE # for MKS sh
if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
emulate sh
NULLCMD=:
- # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
+ # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
# is contrary to our usage. Disable this feature.
alias -g '${1+"$@"}'='"$@"'
setopt NO_GLOB_SUBST
@@ -40,17 +40,45 @@ as_cr_Letters=$as_cr_letters$as_cr_LETTERS
as_cr_digits='0123456789'
as_cr_alnum=$as_cr_Letters$as_cr_digits
-# The user is always right.
-if test "${PATH_SEPARATOR+set}" != set; then
- echo "#! /bin/sh" >conf$$.sh
- echo "exit 0" >>conf$$.sh
- chmod +x conf$$.sh
- if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
- PATH_SEPARATOR=';'
+as_nl='
+'
+export as_nl
+# Printing a long string crashes Solaris 7 /usr/bin/printf.
+as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
+as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo
+as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo
+if (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then
+ as_echo='printf %s\n'
+ as_echo_n='printf %s'
+else
+ if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then
+ as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"'
+ as_echo_n='/usr/ucb/echo -n'
else
- PATH_SEPARATOR=:
+ as_echo_body='eval expr "X$1" : "X\\(.*\\)"'
+ as_echo_n_body='eval
+ arg=$1;
+ case $arg in
+ *"$as_nl"*)
+ expr "X$arg" : "X\\(.*\\)$as_nl";
+ arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;;
+ esac;
+ expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl"
+ '
+ export as_echo_n_body
+ as_echo_n='sh -c $as_echo_n_body as_echo'
fi
- rm -f conf$$.sh
+ export as_echo_body
+ as_echo='sh -c $as_echo_body as_echo'
+fi
+
+# The user is always right.
+if test "${PATH_SEPARATOR+set}" != set; then
+ PATH_SEPARATOR=:
+ (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
+ (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
+ PATH_SEPARATOR=';'
+ }
fi
# Support unset when possible.
@@ -66,8 +94,6 @@ fi
# there to prevent editors from complaining about space-tab.
# (If _AS_PATH_WALK were called with IFS unset, it would disable word
# splitting by setting IFS to empty value.)
-as_nl='
-'
IFS=" "" $as_nl"
# Find who we are. Look in the path if we contain no directory separator.
@@ -90,7 +116,7 @@ if test "x$as_myself" = x; then
as_myself=$0
fi
if test ! -f "$as_myself"; then
- echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
+ $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
{ (exit 1); exit 1; }
fi
@@ -103,17 +129,10 @@ PS2='> '
PS4='+ '
# NLS nuisances.
-for as_var in \
- LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \
- LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \
- LC_TELEPHONE LC_TIME
-do
- if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then
- eval $as_var=C; export $as_var
- else
- ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
- fi
-done
+LC_ALL=C
+export LC_ALL
+LANGUAGE=C
+export LANGUAGE
# Required to use basename.
if expr a : '\(a\)' >/dev/null 2>&1 &&
@@ -135,7 +154,7 @@ as_me=`$as_basename -- "$0" ||
$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
X"$0" : 'X\(//\)$' \| \
X"$0" : 'X\(/\)' \| . 2>/dev/null ||
-echo X/"$0" |
+$as_echo X/"$0" |
sed '/^.*\/\([^/][^/]*\)\/*$/{
s//\1/
q
@@ -161,7 +180,7 @@ else
as_have_required=no
fi
- if test $as_have_required = yes && (eval ":
+ if test $as_have_required = yes && (eval ":
(as_func_return () {
(exit \$1)
}
@@ -243,7 +262,7 @@ IFS=$as_save_IFS
if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
emulate sh
NULLCMD=:
- # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
+ # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
# is contrary to our usage. Disable this feature.
alias -g '${1+"$@"}'='"$@"'
setopt NO_GLOB_SUBST
@@ -264,7 +283,7 @@ _ASEOF
if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
emulate sh
NULLCMD=:
- # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
+ # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
# is contrary to our usage. Disable this feature.
alias -g '${1+"$@"}'='"$@"'
setopt NO_GLOB_SUBST
@@ -344,10 +363,10 @@ fi
if test "x$CONFIG_SHELL" != x; then
for as_var in BASH_ENV ENV
- do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
- done
- export CONFIG_SHELL
- exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"}
+ do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
+ done
+ export CONFIG_SHELL
+ exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"}
fi
@@ -416,9 +435,10 @@ fi
test \$exitcode = 0") || {
echo No shell found that supports shell functions.
- echo Please tell autoconf@gnu.org about your system,
- echo including any error possibly output before this
- echo message
+ echo Please tell bug-autoconf@gnu.org about your system,
+ echo including any error possibly output before this message.
+ echo This can help us improve future autoconf versions.
+ echo Configuration will now proceed without shell functions.
}
@@ -454,7 +474,7 @@ test \$exitcode = 0") || {
s/-\n.*//
' >$as_me.lineno &&
chmod +x "$as_me.lineno" ||
- { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2
+ { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2
{ (exit 1); exit 1; }; }
# Don't try to exec as it changes $[0], causing all sort of problems
@@ -482,7 +502,6 @@ case `echo -n x` in
*)
ECHO_N='-n';;
esac
-
if expr a : '\(a\)' >/dev/null 2>&1 &&
test "X`expr 00001 : '.*\(...\)'`" = X001; then
as_expr=expr
@@ -495,19 +514,22 @@ if test -d conf$$.dir; then
rm -f conf$$.dir/conf$$.file
else
rm -f conf$$.dir
- mkdir conf$$.dir
-fi
-echo >conf$$.file
-if ln -s conf$$.file conf$$ 2>/dev/null; then
- as_ln_s='ln -s'
- # ... but there are two gotchas:
- # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
- # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
- # In both cases, we have to default to `cp -p'.
- ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
+ mkdir conf$$.dir 2>/dev/null
+fi
+if (echo >conf$$.file) 2>/dev/null; then
+ if ln -s conf$$.file conf$$ 2>/dev/null; then
+ as_ln_s='ln -s'
+ # ... but there are two gotchas:
+ # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
+ # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
+ # In both cases, we have to default to `cp -p'.
+ ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
+ as_ln_s='cp -p'
+ elif ln conf$$.file conf$$ 2>/dev/null; then
+ as_ln_s=ln
+ else
as_ln_s='cp -p'
-elif ln conf$$.file conf$$ 2>/dev/null; then
- as_ln_s=ln
+ fi
else
as_ln_s='cp -p'
fi
@@ -532,10 +554,10 @@ else
as_test_x='
eval sh -c '\''
if test -d "$1"; then
- test -d "$1/.";
+ test -d "$1/.";
else
case $1 in
- -*)set "./$1";;
+ -*)set "./$1";;
esac;
case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in
???[sx]*):;;*)false;;esac;fi
@@ -556,22 +578,22 @@ as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
# Check that we are running under the correct shell.
SHELL=${CONFIG_SHELL-/bin/sh}
-case X$ECHO in
+case X$lt_ECHO in
X*--fallback-echo)
# Remove one level of quotation (which was required for Make).
- ECHO=`echo "$ECHO" | sed 's,\\\\\$\\$0,'$0','`
+ ECHO=`echo "$lt_ECHO" | sed 's,\\\\\$\\$0,'$0','`
;;
esac
-echo=${ECHO-echo}
+ECHO=${lt_ECHO-echo}
if test "X$1" = X--no-reexec; then
# Discard the --no-reexec flag, and continue.
shift
elif test "X$1" = X--fallback-echo; then
# Avoid inline document here, it may be left over
:
-elif test "X`($echo '\t') 2>/dev/null`" = 'X\t' ; then
- # Yippee, $echo works!
+elif test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' ; then
+ # Yippee, $ECHO works!
:
else
# Restart under the correct shell.
@@ -581,9 +603,9 @@ fi
if test "X$1" = X--fallback-echo; then
# used as fallback echo
shift
- cat <<EOF
+ cat <<_LT_EOF
$*
-EOF
+_LT_EOF
exit 0
fi
@@ -591,121 +613,116 @@ fi
# if CDPATH is set.
(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
-if test -z "$ECHO"; then
-if test "X${echo_test_string+set}" != Xset; then
-# find a string as large as possible, as long as the shell can cope with it
- for cmd in 'sed 50q "$0"' 'sed 20q "$0"' 'sed 10q "$0"' 'sed 2q "$0"' 'echo test'; do
- # expected sizes: less than 2Kb, 1Kb, 512 bytes, 16 bytes, ...
- if (echo_test_string=`eval $cmd`) 2>/dev/null &&
- echo_test_string=`eval $cmd` &&
- (test "X$echo_test_string" = "X$echo_test_string") 2>/dev/null
- then
- break
- fi
- done
-fi
+if test -z "$lt_ECHO"; then
+ if test "X${echo_test_string+set}" != Xset; then
+ # find a string as large as possible, as long as the shell can cope with it
+ for cmd in 'sed 50q "$0"' 'sed 20q "$0"' 'sed 10q "$0"' 'sed 2q "$0"' 'echo test'; do
+ # expected sizes: less than 2Kb, 1Kb, 512 bytes, 16 bytes, ...
+ if { echo_test_string=`eval $cmd`; } 2>/dev/null &&
+ { test "X$echo_test_string" = "X$echo_test_string"; } 2>/dev/null
+ then
+ break
+ fi
+ done
+ fi
-if test "X`($echo '\t') 2>/dev/null`" = 'X\t' &&
- echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` &&
- test "X$echo_testing_string" = "X$echo_test_string"; then
- :
-else
- # The Solaris, AIX, and Digital Unix default echo programs unquote
- # backslashes. This makes it impossible to quote backslashes using
- # echo "$something" | sed 's/\\/\\\\/g'
- #
- # So, first we look for a working echo in the user's PATH.
+ if test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' &&
+ echo_testing_string=`{ $ECHO "$echo_test_string"; } 2>/dev/null` &&
+ test "X$echo_testing_string" = "X$echo_test_string"; then
+ :
+ else
+ # The Solaris, AIX, and Digital Unix default echo programs unquote
+ # backslashes. This makes it impossible to quote backslashes using
+ # echo "$something" | sed 's/\\/\\\\/g'
+ #
+ # So, first we look for a working echo in the user's PATH.
- lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
- for dir in $PATH /usr/ucb; do
+ lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
+ for dir in $PATH /usr/ucb; do
+ IFS="$lt_save_ifs"
+ if (test -f $dir/echo || test -f $dir/echo$ac_exeext) &&
+ test "X`($dir/echo '\t') 2>/dev/null`" = 'X\t' &&
+ echo_testing_string=`($dir/echo "$echo_test_string") 2>/dev/null` &&
+ test "X$echo_testing_string" = "X$echo_test_string"; then
+ ECHO="$dir/echo"
+ break
+ fi
+ done
IFS="$lt_save_ifs"
- if (test -f $dir/echo || test -f $dir/echo$ac_exeext) &&
- test "X`($dir/echo '\t') 2>/dev/null`" = 'X\t' &&
- echo_testing_string=`($dir/echo "$echo_test_string") 2>/dev/null` &&
- test "X$echo_testing_string" = "X$echo_test_string"; then
- echo="$dir/echo"
- break
- fi
- done
- IFS="$lt_save_ifs"
- if test "X$echo" = Xecho; then
- # We didn't find a better echo, so look for alternatives.
- if test "X`(print -r '\t') 2>/dev/null`" = 'X\t' &&
- echo_testing_string=`(print -r "$echo_test_string") 2>/dev/null` &&
- test "X$echo_testing_string" = "X$echo_test_string"; then
- # This shell has a builtin print -r that does the trick.
- echo='print -r'
- elif (test -f /bin/ksh || test -f /bin/ksh$ac_exeext) &&
- test "X$CONFIG_SHELL" != X/bin/ksh; then
- # If we have ksh, try running configure again with it.
- ORIGINAL_CONFIG_SHELL=${CONFIG_SHELL-/bin/sh}
- export ORIGINAL_CONFIG_SHELL
- CONFIG_SHELL=/bin/ksh
- export CONFIG_SHELL
- exec $CONFIG_SHELL "$0" --no-reexec ${1+"$@"}
- else
- # Try using printf.
- echo='printf %s\n'
- if test "X`($echo '\t') 2>/dev/null`" = 'X\t' &&
- echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` &&
- test "X$echo_testing_string" = "X$echo_test_string"; then
- # Cool, printf works
- :
- elif echo_testing_string=`($ORIGINAL_CONFIG_SHELL "$0" --fallback-echo '\t') 2>/dev/null` &&
- test "X$echo_testing_string" = 'X\t' &&
- echo_testing_string=`($ORIGINAL_CONFIG_SHELL "$0" --fallback-echo "$echo_test_string") 2>/dev/null` &&
- test "X$echo_testing_string" = "X$echo_test_string"; then
- CONFIG_SHELL=$ORIGINAL_CONFIG_SHELL
- export CONFIG_SHELL
- SHELL="$CONFIG_SHELL"
- export SHELL
- echo="$CONFIG_SHELL $0 --fallback-echo"
- elif echo_testing_string=`($CONFIG_SHELL "$0" --fallback-echo '\t') 2>/dev/null` &&
- test "X$echo_testing_string" = 'X\t' &&
- echo_testing_string=`($CONFIG_SHELL "$0" --fallback-echo "$echo_test_string") 2>/dev/null` &&
- test "X$echo_testing_string" = "X$echo_test_string"; then
- echo="$CONFIG_SHELL $0 --fallback-echo"
+ if test "X$ECHO" = Xecho; then
+ # We didn't find a better echo, so look for alternatives.
+ if test "X`{ print -r '\t'; } 2>/dev/null`" = 'X\t' &&
+ echo_testing_string=`{ print -r "$echo_test_string"; } 2>/dev/null` &&
+ test "X$echo_testing_string" = "X$echo_test_string"; then
+ # This shell has a builtin print -r that does the trick.
+ ECHO='print -r'
+ elif { test -f /bin/ksh || test -f /bin/ksh$ac_exeext; } &&
+ test "X$CONFIG_SHELL" != X/bin/ksh; then
+ # If we have ksh, try running configure again with it.
+ ORIGINAL_CONFIG_SHELL=${CONFIG_SHELL-/bin/sh}
+ export ORIGINAL_CONFIG_SHELL
+ CONFIG_SHELL=/bin/ksh
+ export CONFIG_SHELL
+ exec $CONFIG_SHELL "$0" --no-reexec ${1+"$@"}
else
- # maybe with a smaller string...
- prev=:
+ # Try using printf.
+ ECHO='printf %s\n'
+ if test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' &&
+ echo_testing_string=`{ $ECHO "$echo_test_string"; } 2>/dev/null` &&
+ test "X$echo_testing_string" = "X$echo_test_string"; then
+ # Cool, printf works
+ :
+ elif echo_testing_string=`($ORIGINAL_CONFIG_SHELL "$0" --fallback-echo '\t') 2>/dev/null` &&
+ test "X$echo_testing_string" = 'X\t' &&
+ echo_testing_string=`($ORIGINAL_CONFIG_SHELL "$0" --fallback-echo "$echo_test_string") 2>/dev/null` &&
+ test "X$echo_testing_string" = "X$echo_test_string"; then
+ CONFIG_SHELL=$ORIGINAL_CONFIG_SHELL
+ export CONFIG_SHELL
+ SHELL="$CONFIG_SHELL"
+ export SHELL
+ ECHO="$CONFIG_SHELL $0 --fallback-echo"
+ elif echo_testing_string=`($CONFIG_SHELL "$0" --fallback-echo '\t') 2>/dev/null` &&
+ test "X$echo_testing_string" = 'X\t' &&
+ echo_testing_string=`($CONFIG_SHELL "$0" --fallback-echo "$echo_test_string") 2>/dev/null` &&
+ test "X$echo_testing_string" = "X$echo_test_string"; then
+ ECHO="$CONFIG_SHELL $0 --fallback-echo"
+ else
+ # maybe with a smaller string...
+ prev=:
- for cmd in 'echo test' 'sed 2q "$0"' 'sed 10q "$0"' 'sed 20q "$0"' 'sed 50q "$0"'; do
- if (test "X$echo_test_string" = "X`eval $cmd`") 2>/dev/null
- then
- break
- fi
- prev="$cmd"
- done
+ for cmd in 'echo test' 'sed 2q "$0"' 'sed 10q "$0"' 'sed 20q "$0"' 'sed 50q "$0"'; do
+ if { test "X$echo_test_string" = "X`eval $cmd`"; } 2>/dev/null
+ then
+ break
+ fi
+ prev="$cmd"
+ done
- if test "$prev" != 'sed 50q "$0"'; then
- echo_test_string=`eval $prev`
- export echo_test_string
- exec ${ORIGINAL_CONFIG_SHELL-${CONFIG_SHELL-/bin/sh}} "$0" ${1+"$@"}
- else
- # Oops. We lost completely, so just stick with echo.
- echo=echo
- fi
+ if test "$prev" != 'sed 50q "$0"'; then
+ echo_test_string=`eval $prev`
+ export echo_test_string
+ exec ${ORIGINAL_CONFIG_SHELL-${CONFIG_SHELL-/bin/sh}} "$0" ${1+"$@"}
+ else
+ # Oops. We lost completely, so just stick with echo.
+ ECHO=echo
+ fi
+ fi
fi
fi
fi
fi
-fi
# Copy echo and quote the copy suitably for passing to libtool from
# the Makefile, instead of quoting the original, which is used later.
-ECHO=$echo
-if test "X$ECHO" = "X$CONFIG_SHELL $0 --fallback-echo"; then
- ECHO="$CONFIG_SHELL \\\$\$0 --fallback-echo"
+lt_ECHO=$ECHO
+if test "X$lt_ECHO" = "X$CONFIG_SHELL $0 --fallback-echo"; then
+ lt_ECHO="$CONFIG_SHELL \\\$\$0 --fallback-echo"
fi
-tagnames=${tagnames+${tagnames},}CXX
-
-tagnames=${tagnames+${tagnames},}F77
-
exec 7<&0 </dev/null 6>&1
# Name of the host.
@@ -770,139 +787,172 @@ ac_includes_default="\
# include <unistd.h>
#endif"
-ac_subst_vars='SHELL
-PATH_SEPARATOR
-PACKAGE_NAME
-PACKAGE_TARNAME
-PACKAGE_VERSION
-PACKAGE_STRING
-PACKAGE_BUGREPORT
-exec_prefix
-prefix
-program_transform_name
-bindir
-sbindir
-libexecdir
-datarootdir
-datadir
-sysconfdir
-sharedstatedir
-localstatedir
-includedir
-oldincludedir
-docdir
-infodir
-htmldir
-dvidir
-pdfdir
-psdir
-libdir
-localedir
-mandir
-DEFS
-ECHO_C
-ECHO_N
-ECHO_T
-LIBS
-build_alias
-host_alias
-target_alias
-INSTALL_PROGRAM
-INSTALL_SCRIPT
-INSTALL_DATA
-am__isrc
-CYGPATH_W
-PACKAGE
-VERSION
-ACLOCAL
-AUTOCONF
-AUTOMAKE
-AUTOHEADER
-MAKEINFO
-install_sh
-STRIP
-INSTALL_STRIP_PROGRAM
-mkdir_p
-AWK
-SET_MAKE
-am__leading_dot
-AMTAR
-am__tar
-am__untar
-CC
-CFLAGS
-LDFLAGS
-CPPFLAGS
-ac_ct_CC
-EXEEXT
-OBJEXT
-DEPDIR
-am__include
-am__quote
-AMDEP_TRUE
-AMDEP_FALSE
-AMDEPBACKSLASH
-CCDEPMODE
-am__fastdepCC_TRUE
-am__fastdepCC_FALSE
-CXX
-CXXFLAGS
-ac_ct_CXX
-CXXDEPMODE
-am__fastdepCXX_TRUE
-am__fastdepCXX_FALSE
-build
-build_cpu
-build_vendor
-build_os
-host
-host_cpu
-host_vendor
-host_os
-SED
-GREP
-EGREP
-LN_S
-ECHO
-AR
-RANLIB
-CPP
+ac_subst_vars='LTLIBOBJS
+LIBOBJS
+TCLDYNAMICLINKING
+TCLLIB
+TCLINCLUDE
+PHP4INC
+PHP4
+PYTHONDYNAMICLINKING
+PYTHONBUILD
+PYLINK
+PYLIB
+PYINCLUDE
+PYTHON
+PERLBUILD
+PERL5LIB
+PERL5DYNAMICLINKING
+PERL5EXT
+PERL
+MAINT
+MAINTAINER_MODE_FALSE
+MAINTAINER_MODE_TRUE
+SWORD_INCLUDE_DIR
+SWORD_INCLUDES
+LIB_SWORD
+LIBZ
+USER_LDFLAGS
+USER_INCLUDES
+RUNSWIG_FALSE
+RUNSWIG_TRUE
+SWIG
CXXCPP
-F77
-FFLAGS
-ac_ct_F77
+CPP
+OTOOL64
+OTOOL
+LIPO
+NMEDIT
+DSYMUTIL
+lt_ECHO
+RANLIB
+AR
+OBJDUMP
+LN_S
+NM
+ac_ct_DUMPBIN
+DUMPBIN
+LD
+FGREP
+EGREP
+GREP
+SED
+host_os
+host_vendor
+host_cpu
+host
+build_os
+build_vendor
+build_cpu
+build
LIBTOOL
-SWIG
-RUNSWIG_TRUE
-RUNSWIG_FALSE
-USER_INCLUDES
-USER_LDFLAGS
-LIBZ
-LIB_SWORD
-SWORD_INCLUDES
-SWORD_INCLUDE_DIR
-MAINTAINER_MODE_TRUE
-MAINTAINER_MODE_FALSE
-MAINT
-PERL
-PERL5EXT
-PERL5DYNAMICLINKING
-PERL5LIB
-PERLBUILD
-PYTHON
-PYINCLUDE
-PYLIB
-PYLINK
-PYTHONBUILD
-PYTHONDYNAMICLINKING
-PHP4
-PHP4INC
-TCLINCLUDE
-TCLLIB
-TCLDYNAMICLINKING
-LIBOBJS
-LTLIBOBJS'
+am__fastdepCXX_FALSE
+am__fastdepCXX_TRUE
+CXXDEPMODE
+ac_ct_CXX
+CXXFLAGS
+CXX
+am__fastdepCC_FALSE
+am__fastdepCC_TRUE
+CCDEPMODE
+AMDEPBACKSLASH
+AMDEP_FALSE
+AMDEP_TRUE
+am__quote
+am__include
+DEPDIR
+OBJEXT
+EXEEXT
+ac_ct_CC
+CPPFLAGS
+LDFLAGS
+CFLAGS
+CC
+am__untar
+am__tar
+AMTAR
+am__leading_dot
+SET_MAKE
+AWK
+mkdir_p
+MKDIR_P
+INSTALL_STRIP_PROGRAM
+STRIP
+install_sh
+MAKEINFO
+AUTOHEADER
+AUTOMAKE
+AUTOCONF
+ACLOCAL
+VERSION
+PACKAGE
+CYGPATH_W
+am__isrc
+INSTALL_DATA
+INSTALL_SCRIPT
+INSTALL_PROGRAM
+target_alias
+host_alias
+build_alias
+LIBS
+ECHO_T
+ECHO_N
+ECHO_C
+DEFS
+mandir
+localedir
+libdir
+psdir
+pdfdir
+dvidir
+htmldir
+infodir
+docdir
+oldincludedir
+includedir
+localstatedir
+sharedstatedir
+sysconfdir
+datadir
+datarootdir
+libexecdir
+sbindir
+bindir
+program_transform_name
+prefix
+exec_prefix
+PACKAGE_BUGREPORT
+PACKAGE_STRING
+PACKAGE_VERSION
+PACKAGE_TARNAME
+PACKAGE_NAME
+PATH_SEPARATOR
+SHELL'
ac_subst_files=''
+ac_user_opts='
+enable_option_checking
+enable_dependency_tracking
+enable_shared
+enable_static
+with_pic
+enable_fast_install
+with_gnu_ld
+enable_libtool_lock
+with_swigbin
+enable_swig
+with_sword_dir
+enable_static_sword
+with_extra_includes
+with_extra_libs
+enable_maintainer_mode
+with_perl
+with_python
+with_php4
+with_tclconfig
+with_tcl
+with_tclincl
+with_tcllib
+'
ac_precious_vars='build_alias
host_alias
target_alias
@@ -915,14 +965,14 @@ CXX
CXXFLAGS
CCC
CPP
-CXXCPP
-F77
-FFLAGS'
+CXXCPP'
# Initialize some variables set by options.
ac_init_help=
ac_init_version=false
+ac_unrecognized_opts=
+ac_unrecognized_sep=
# The variables have the same names as the options, with
# dashes changed to underlines.
cache_file=/dev/null
@@ -1021,13 +1071,21 @@ do
datarootdir=$ac_optarg ;;
-disable-* | --disable-*)
- ac_feature=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
+ ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
# Reject names that are not valid shell variable names.
- expr "x$ac_feature" : ".*[^-._$as_cr_alnum]" >/dev/null &&
- { echo "$as_me: error: invalid feature name: $ac_feature" >&2
+ expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
+ { $as_echo "$as_me: error: invalid feature name: $ac_useropt" >&2
{ (exit 1); exit 1; }; }
- ac_feature=`echo $ac_feature | sed 's/[-.]/_/g'`
- eval enable_$ac_feature=no ;;
+ ac_useropt_orig=$ac_useropt
+ ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
+ case $ac_user_opts in
+ *"
+"enable_$ac_useropt"
+"*) ;;
+ *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--disable-$ac_useropt_orig"
+ ac_unrecognized_sep=', ';;
+ esac
+ eval enable_$ac_useropt=no ;;
-docdir | --docdir | --docdi | --doc | --do)
ac_prev=docdir ;;
@@ -1040,13 +1098,21 @@ do
dvidir=$ac_optarg ;;
-enable-* | --enable-*)
- ac_feature=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
+ ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
# Reject names that are not valid shell variable names.
- expr "x$ac_feature" : ".*[^-._$as_cr_alnum]" >/dev/null &&
- { echo "$as_me: error: invalid feature name: $ac_feature" >&2
+ expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
+ { $as_echo "$as_me: error: invalid feature name: $ac_useropt" >&2
{ (exit 1); exit 1; }; }
- ac_feature=`echo $ac_feature | sed 's/[-.]/_/g'`
- eval enable_$ac_feature=\$ac_optarg ;;
+ ac_useropt_orig=$ac_useropt
+ ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
+ case $ac_user_opts in
+ *"
+"enable_$ac_useropt"
+"*) ;;
+ *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--enable-$ac_useropt_orig"
+ ac_unrecognized_sep=', ';;
+ esac
+ eval enable_$ac_useropt=\$ac_optarg ;;
-exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
| --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
@@ -1237,22 +1303,38 @@ do
ac_init_version=: ;;
-with-* | --with-*)
- ac_package=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
+ ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
# Reject names that are not valid shell variable names.
- expr "x$ac_package" : ".*[^-._$as_cr_alnum]" >/dev/null &&
- { echo "$as_me: error: invalid package name: $ac_package" >&2
+ expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
+ { $as_echo "$as_me: error: invalid package name: $ac_useropt" >&2
{ (exit 1); exit 1; }; }
- ac_package=`echo $ac_package | sed 's/[-.]/_/g'`
- eval with_$ac_package=\$ac_optarg ;;
+ ac_useropt_orig=$ac_useropt
+ ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
+ case $ac_user_opts in
+ *"
+"with_$ac_useropt"
+"*) ;;
+ *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--with-$ac_useropt_orig"
+ ac_unrecognized_sep=', ';;
+ esac
+ eval with_$ac_useropt=\$ac_optarg ;;
-without-* | --without-*)
- ac_package=`expr "x$ac_option" : 'x-*without-\(.*\)'`
+ ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'`
# Reject names that are not valid shell variable names.
- expr "x$ac_package" : ".*[^-._$as_cr_alnum]" >/dev/null &&
- { echo "$as_me: error: invalid package name: $ac_package" >&2
+ expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
+ { $as_echo "$as_me: error: invalid package name: $ac_useropt" >&2
{ (exit 1); exit 1; }; }
- ac_package=`echo $ac_package | sed 's/[-.]/_/g'`
- eval with_$ac_package=no ;;
+ ac_useropt_orig=$ac_useropt
+ ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
+ case $ac_user_opts in
+ *"
+"with_$ac_useropt"
+"*) ;;
+ *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--without-$ac_useropt_orig"
+ ac_unrecognized_sep=', ';;
+ esac
+ eval with_$ac_useropt=no ;;
--x)
# Obsolete; use --with-x.
@@ -1272,7 +1354,7 @@ do
| --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
x_libraries=$ac_optarg ;;
- -*) { echo "$as_me: error: unrecognized option: $ac_option
+ -*) { $as_echo "$as_me: error: unrecognized option: $ac_option
Try \`$0 --help' for more information." >&2
{ (exit 1); exit 1; }; }
;;
@@ -1281,16 +1363,16 @@ Try \`$0 --help' for more information." >&2
ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='`
# Reject names that are not valid shell variable names.
expr "x$ac_envvar" : ".*[^_$as_cr_alnum]" >/dev/null &&
- { echo "$as_me: error: invalid variable name: $ac_envvar" >&2
+ { $as_echo "$as_me: error: invalid variable name: $ac_envvar" >&2
{ (exit 1); exit 1; }; }
eval $ac_envvar=\$ac_optarg
export $ac_envvar ;;
*)
# FIXME: should be removed in autoconf 3.0.
- echo "$as_me: WARNING: you should use --build, --host, --target" >&2
+ $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2
expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null &&
- echo "$as_me: WARNING: invalid host type: $ac_option" >&2
+ $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2
: ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}
;;
@@ -1299,22 +1381,38 @@ done
if test -n "$ac_prev"; then
ac_option=--`echo $ac_prev | sed 's/_/-/g'`
- { echo "$as_me: error: missing argument to $ac_option" >&2
+ { $as_echo "$as_me: error: missing argument to $ac_option" >&2
{ (exit 1); exit 1; }; }
fi
-# Be sure to have absolute directory names.
+if test -n "$ac_unrecognized_opts"; then
+ case $enable_option_checking in
+ no) ;;
+ fatal) { $as_echo "$as_me: error: unrecognized options: $ac_unrecognized_opts" >&2
+ { (exit 1); exit 1; }; } ;;
+ *) $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;;
+ esac
+fi
+
+# Check all directory arguments for consistency.
for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \
datadir sysconfdir sharedstatedir localstatedir includedir \
oldincludedir docdir infodir htmldir dvidir pdfdir psdir \
libdir localedir mandir
do
eval ac_val=\$$ac_var
+ # Remove trailing slashes.
+ case $ac_val in
+ */ )
+ ac_val=`expr "X$ac_val" : 'X\(.*[^/]\)' \| "X$ac_val" : 'X\(.*\)'`
+ eval $ac_var=\$ac_val;;
+ esac
+ # Be sure to have absolute directory names.
case $ac_val in
[\\/$]* | ?:[\\/]* ) continue;;
NONE | '' ) case $ac_var in *prefix ) continue;; esac;;
esac
- { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2
+ { $as_echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2
{ (exit 1); exit 1; }; }
done
@@ -1329,7 +1427,7 @@ target=$target_alias
if test "x$host_alias" != x; then
if test "x$build_alias" = x; then
cross_compiling=maybe
- echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host.
+ $as_echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host.
If a cross compiler is detected then cross compile mode will be used." >&2
elif test "x$build_alias" != "x$host_alias"; then
cross_compiling=yes
@@ -1345,10 +1443,10 @@ test "$silent" = yes && exec 6>/dev/null
ac_pwd=`pwd` && test -n "$ac_pwd" &&
ac_ls_di=`ls -di .` &&
ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` ||
- { echo "$as_me: error: Working directory cannot be determined" >&2
+ { $as_echo "$as_me: error: working directory cannot be determined" >&2
{ (exit 1); exit 1; }; }
test "X$ac_ls_di" = "X$ac_pwd_ls_di" ||
- { echo "$as_me: error: pwd does not report name of working directory" >&2
+ { $as_echo "$as_me: error: pwd does not report name of working directory" >&2
{ (exit 1); exit 1; }; }
@@ -1356,12 +1454,12 @@ test "X$ac_ls_di" = "X$ac_pwd_ls_di" ||
if test -z "$srcdir"; then
ac_srcdir_defaulted=yes
# Try the directory containing this script, then the parent directory.
- ac_confdir=`$as_dirname -- "$0" ||
-$as_expr X"$0" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$0" : 'X\(//\)[^/]' \| \
- X"$0" : 'X\(//\)$' \| \
- X"$0" : 'X\(/\)' \| . 2>/dev/null ||
-echo X"$0" |
+ ac_confdir=`$as_dirname -- "$as_myself" ||
+$as_expr X"$as_myself" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+ X"$as_myself" : 'X\(//\)[^/]' \| \
+ X"$as_myself" : 'X\(//\)$' \| \
+ X"$as_myself" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X"$as_myself" |
sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
s//\1/
q
@@ -1388,12 +1486,12 @@ else
fi
if test ! -r "$srcdir/$ac_unique_file"; then
test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .."
- { echo "$as_me: error: cannot find sources ($ac_unique_file) in $srcdir" >&2
+ { $as_echo "$as_me: error: cannot find sources ($ac_unique_file) in $srcdir" >&2
{ (exit 1); exit 1; }; }
fi
ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work"
ac_abs_confdir=`(
- cd "$srcdir" && test -r "./$ac_unique_file" || { echo "$as_me: error: $ac_msg" >&2
+ cd "$srcdir" && test -r "./$ac_unique_file" || { $as_echo "$as_me: error: $ac_msg" >&2
{ (exit 1); exit 1; }; }
pwd)`
# When building in place, set srcdir=.
@@ -1442,9 +1540,9 @@ Configuration:
Installation directories:
--prefix=PREFIX install architecture-independent files in PREFIX
- [$ac_default_prefix]
+ [$ac_default_prefix]
--exec-prefix=EPREFIX install architecture-dependent files in EPREFIX
- [PREFIX]
+ [PREFIX]
By default, \`make install' will install all the files in
\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify
@@ -1454,25 +1552,25 @@ for instance \`--prefix=\$HOME'.
For better control, use the options below.
Fine tuning of the installation directories:
- --bindir=DIR user executables [EPREFIX/bin]
- --sbindir=DIR system admin executables [EPREFIX/sbin]
- --libexecdir=DIR program executables [EPREFIX/libexec]
- --sysconfdir=DIR read-only single-machine data [PREFIX/etc]
- --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com]
- --localstatedir=DIR modifiable single-machine data [PREFIX/var]
- --libdir=DIR object code libraries [EPREFIX/lib]
- --includedir=DIR C header files [PREFIX/include]
- --oldincludedir=DIR C header files for non-gcc [/usr/include]
- --datarootdir=DIR read-only arch.-independent data root [PREFIX/share]
- --datadir=DIR read-only architecture-independent data [DATAROOTDIR]
- --infodir=DIR info documentation [DATAROOTDIR/info]
- --localedir=DIR locale-dependent data [DATAROOTDIR/locale]
- --mandir=DIR man documentation [DATAROOTDIR/man]
- --docdir=DIR documentation root [DATAROOTDIR/doc/swordbindings]
- --htmldir=DIR html documentation [DOCDIR]
- --dvidir=DIR dvi documentation [DOCDIR]
- --pdfdir=DIR pdf documentation [DOCDIR]
- --psdir=DIR ps documentation [DOCDIR]
+ --bindir=DIR user executables [EPREFIX/bin]
+ --sbindir=DIR system admin executables [EPREFIX/sbin]
+ --libexecdir=DIR program executables [EPREFIX/libexec]
+ --sysconfdir=DIR read-only single-machine data [PREFIX/etc]
+ --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com]
+ --localstatedir=DIR modifiable single-machine data [PREFIX/var]
+ --libdir=DIR object code libraries [EPREFIX/lib]
+ --includedir=DIR C header files [PREFIX/include]
+ --oldincludedir=DIR C header files for non-gcc [/usr/include]
+ --datarootdir=DIR read-only arch.-independent data root [PREFIX/share]
+ --datadir=DIR read-only architecture-independent data [DATAROOTDIR]
+ --infodir=DIR info documentation [DATAROOTDIR/info]
+ --localedir=DIR locale-dependent data [DATAROOTDIR/locale]
+ --mandir=DIR man documentation [DATAROOTDIR/man]
+ --docdir=DIR documentation root [DATAROOTDIR/doc/swordbindings]
+ --htmldir=DIR html documentation [DOCDIR]
+ --dvidir=DIR dvi documentation [DOCDIR]
+ --pdfdir=DIR pdf documentation [DOCDIR]
+ --psdir=DIR ps documentation [DOCDIR]
_ACEOF
cat <<\_ACEOF
@@ -1495,6 +1593,7 @@ if test -n "$ac_init_help"; then
cat <<\_ACEOF
Optional Features:
+ --disable-option-checking ignore unrecognized --enable/--with options
--disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)
--enable-FEATURE[=ARG] include FEATURE [ARG=yes]
--disable-dependency-tracking speeds up one-time build
@@ -1513,10 +1612,9 @@ Optional Features:
Optional Packages:
--with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
--without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
- --with-gnu-ld assume the C compiler uses GNU ld [default=no]
--with-pic try to use only PIC/non-PIC objects [default=use
both]
- --with-tags[=TAGS] include additional configurations [automatic]
+ --with-gnu-ld assume the C compiler uses GNU ld [default=no]
--with-swigbin=path Set location of swig executable
--with-sword-dir=DIR Path where Sword is being installed (default=/usr)
--with-extra-includes=DIR
@@ -1542,8 +1640,6 @@ Some influential environment variables:
CXXFLAGS C++ compiler flags
CPP C preprocessor
CXXCPP C++ preprocessor
- F77 Fortran 77 compiler command
- FFLAGS Fortran 77 compiler flags
Use these variables to override the choices made by `configure' or to help
it to find libraries and programs with nonstandard names/locations.
@@ -1556,15 +1652,17 @@ fi
if test "$ac_init_help" = "recursive"; then
# If there are subdirs, report their specific --help.
for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue
- test -d "$ac_dir" || continue
+ test -d "$ac_dir" ||
+ { cd "$srcdir" && ac_pwd=`pwd` && srcdir=. && test -d "$ac_dir"; } ||
+ continue
ac_builddir=.
case "$ac_dir" in
.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
*)
- ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'`
+ ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'`
# A ".." for each directory in $ac_dir_suffix.
- ac_top_builddir_sub=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,/..,g;s,/,,'`
+ ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`
case $ac_top_builddir_sub in
"") ac_top_builddir_sub=. ac_top_build_prefix= ;;
*) ac_top_build_prefix=$ac_top_builddir_sub/ ;;
@@ -1600,7 +1698,7 @@ ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
echo &&
$SHELL "$ac_srcdir/configure" --help=recursive
else
- echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2
+ $as_echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2
fi || ac_status=$?
cd "$ac_pwd" || { ac_status=$?; break; }
done
@@ -1610,10 +1708,10 @@ test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
swordbindings configure 1.5.11
-generated by GNU Autoconf 2.61
+generated by GNU Autoconf 2.63
Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
-2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
+2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
This configure script is free software; the Free Software Foundation
gives unlimited permission to copy, distribute and modify it.
_ACEOF
@@ -1624,7 +1722,7 @@ This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
It was created by swordbindings $as_me 1.5.11, which was
-generated by GNU Autoconf 2.61. Invocation command line was
+generated by GNU Autoconf 2.63. Invocation command line was
$ $0 $@
@@ -1660,7 +1758,7 @@ for as_dir in $PATH
do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
- echo "PATH: $as_dir"
+ $as_echo "PATH: $as_dir"
done
IFS=$as_save_IFS
@@ -1695,7 +1793,7 @@ do
| -silent | --silent | --silen | --sile | --sil)
continue ;;
*\'*)
- ac_arg=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
+ ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
esac
case $ac_pass in
1) ac_configure_args0="$ac_configure_args0 '$ac_arg'" ;;
@@ -1747,11 +1845,12 @@ _ASBOX
case $ac_val in #(
*${as_nl}*)
case $ac_var in #(
- *_cv_*) { echo "$as_me:$LINENO: WARNING: Cache variable $ac_var contains a newline." >&5
-echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;;
+ *_cv_*) { $as_echo "$as_me:$LINENO: WARNING: cache variable $ac_var contains a newline" >&5
+$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
esac
case $ac_var in #(
_ | IFS | as_nl) ;; #(
+ BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #(
*) $as_unset $ac_var ;;
esac ;;
esac
@@ -1781,9 +1880,9 @@ _ASBOX
do
eval ac_val=\$$ac_var
case $ac_val in
- *\'\''*) ac_val=`echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
+ *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
esac
- echo "$ac_var='\''$ac_val'\''"
+ $as_echo "$ac_var='\''$ac_val'\''"
done | sort
echo
@@ -1798,9 +1897,9 @@ _ASBOX
do
eval ac_val=\$$ac_var
case $ac_val in
- *\'\''*) ac_val=`echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
+ *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
esac
- echo "$ac_var='\''$ac_val'\''"
+ $as_echo "$ac_var='\''$ac_val'\''"
done | sort
echo
fi
@@ -1816,8 +1915,8 @@ _ASBOX
echo
fi
test "$ac_signal" != 0 &&
- echo "$as_me: caught signal $ac_signal"
- echo "$as_me: exit $exit_status"
+ $as_echo "$as_me: caught signal $ac_signal"
+ $as_echo "$as_me: exit $exit_status"
} >&5
rm -f core *.core core.conftest.* &&
rm -f -r conftest* confdefs* conf$$* $ac_clean_files &&
@@ -1859,21 +1958,24 @@ _ACEOF
# Let the site file select an alternate cache file if it wants to.
-# Prefer explicitly selected file to automatically selected ones.
+# Prefer an explicitly selected file to automatically selected ones.
+ac_site_file1=NONE
+ac_site_file2=NONE
if test -n "$CONFIG_SITE"; then
- set x "$CONFIG_SITE"
+ ac_site_file1=$CONFIG_SITE
elif test "x$prefix" != xNONE; then
- set x "$prefix/share/config.site" "$prefix/etc/config.site"
+ ac_site_file1=$prefix/share/config.site
+ ac_site_file2=$prefix/etc/config.site
else
- set x "$ac_default_prefix/share/config.site" \
- "$ac_default_prefix/etc/config.site"
+ ac_site_file1=$ac_default_prefix/share/config.site
+ ac_site_file2=$ac_default_prefix/etc/config.site
fi
-shift
-for ac_site_file
+for ac_site_file in "$ac_site_file1" "$ac_site_file2"
do
+ test "x$ac_site_file" = xNONE && continue
if test -r "$ac_site_file"; then
- { echo "$as_me:$LINENO: loading site script $ac_site_file" >&5
-echo "$as_me: loading site script $ac_site_file" >&6;}
+ { $as_echo "$as_me:$LINENO: loading site script $ac_site_file" >&5
+$as_echo "$as_me: loading site script $ac_site_file" >&6;}
sed 's/^/| /' "$ac_site_file" >&5
. "$ac_site_file"
fi
@@ -1883,16 +1985,16 @@ if test -r "$cache_file"; then
# Some versions of bash will fail to source /dev/null (special
# files actually), so we avoid doing that.
if test -f "$cache_file"; then
- { echo "$as_me:$LINENO: loading cache $cache_file" >&5
-echo "$as_me: loading cache $cache_file" >&6;}
+ { $as_echo "$as_me:$LINENO: loading cache $cache_file" >&5
+$as_echo "$as_me: loading cache $cache_file" >&6;}
case $cache_file in
[\\/]* | ?:[\\/]* ) . "$cache_file";;
*) . "./$cache_file";;
esac
fi
else
- { echo "$as_me:$LINENO: creating cache $cache_file" >&5
-echo "$as_me: creating cache $cache_file" >&6;}
+ { $as_echo "$as_me:$LINENO: creating cache $cache_file" >&5
+$as_echo "$as_me: creating cache $cache_file" >&6;}
>$cache_file
fi
@@ -1906,29 +2008,38 @@ for ac_var in $ac_precious_vars; do
eval ac_new_val=\$ac_env_${ac_var}_value
case $ac_old_set,$ac_new_set in
set,)
- { echo "$as_me:$LINENO: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5
-echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;}
+ { $as_echo "$as_me:$LINENO: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5
+$as_echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;}
ac_cache_corrupted=: ;;
,set)
- { echo "$as_me:$LINENO: error: \`$ac_var' was not set in the previous run" >&5
-echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;}
+ { $as_echo "$as_me:$LINENO: error: \`$ac_var' was not set in the previous run" >&5
+$as_echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;}
ac_cache_corrupted=: ;;
,);;
*)
if test "x$ac_old_val" != "x$ac_new_val"; then
- { echo "$as_me:$LINENO: error: \`$ac_var' has changed since the previous run:" >&5
-echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;}
- { echo "$as_me:$LINENO: former value: $ac_old_val" >&5
-echo "$as_me: former value: $ac_old_val" >&2;}
- { echo "$as_me:$LINENO: current value: $ac_new_val" >&5
-echo "$as_me: current value: $ac_new_val" >&2;}
- ac_cache_corrupted=:
+ # differences in whitespace do not lead to failure.
+ ac_old_val_w=`echo x $ac_old_val`
+ ac_new_val_w=`echo x $ac_new_val`
+ if test "$ac_old_val_w" != "$ac_new_val_w"; then
+ { $as_echo "$as_me:$LINENO: error: \`$ac_var' has changed since the previous run:" >&5
+$as_echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;}
+ ac_cache_corrupted=:
+ else
+ { $as_echo "$as_me:$LINENO: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5
+$as_echo "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;}
+ eval $ac_var=\$ac_old_val
+ fi
+ { $as_echo "$as_me:$LINENO: former value: \`$ac_old_val'" >&5
+$as_echo "$as_me: former value: \`$ac_old_val'" >&2;}
+ { $as_echo "$as_me:$LINENO: current value: \`$ac_new_val'" >&5
+$as_echo "$as_me: current value: \`$ac_new_val'" >&2;}
fi;;
esac
# Pass precious variables to config.status.
if test "$ac_new_set" = set; then
case $ac_new_val in
- *\'*) ac_arg=$ac_var=`echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;;
+ *\'*) ac_arg=$ac_var=`$as_echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;;
*) ac_arg=$ac_var=$ac_new_val ;;
esac
case " $ac_configure_args " in
@@ -1938,10 +2049,12 @@ echo "$as_me: current value: $ac_new_val" >&2;}
fi
done
if $ac_cache_corrupted; then
- { echo "$as_me:$LINENO: error: changes in the environment can compromise the build" >&5
-echo "$as_me: error: changes in the environment can compromise the build" >&2;}
- { { echo "$as_me:$LINENO: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&5
-echo "$as_me: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&2;}
+ { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+ { $as_echo "$as_me:$LINENO: error: changes in the environment can compromise the build" >&5
+$as_echo "$as_me: error: changes in the environment can compromise the build" >&2;}
+ { { $as_echo "$as_me:$LINENO: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&5
+$as_echo "$as_me: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&2;}
{ (exit 1); exit 1; }; }
fi
@@ -1998,8 +2111,8 @@ for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do
fi
done
if test -z "$ac_aux_dir"; then
- { { echo "$as_me:$LINENO: error: cannot find install-sh or install.sh in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" >&5
-echo "$as_me: error: cannot find install-sh or install.sh in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" >&2;}
+ { { $as_echo "$as_me:$LINENO: error: cannot find install-sh or install.sh in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" >&5
+$as_echo "$as_me: error: cannot find install-sh or install.sh in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" >&2;}
{ (exit 1); exit 1; }; }
fi
@@ -2025,11 +2138,12 @@ ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var.
# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
# OS/2's system install, which has a completely different semantic
# ./install, which can be erroneously created by make from ./install.sh.
-{ echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5
-echo $ECHO_N "checking for a BSD-compatible install... $ECHO_C" >&6; }
+# Reject install programs that cannot install multiple files.
+{ $as_echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5
+$as_echo_n "checking for a BSD-compatible install... " >&6; }
if test -z "$INSTALL"; then
if test "${ac_cv_path_install+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
@@ -2058,17 +2172,29 @@ case $as_dir/ in
# program-specific install script used by HP pwplus--don't use.
:
else
- ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c"
- break 3
+ rm -rf conftest.one conftest.two conftest.dir
+ echo one > conftest.one
+ echo two > conftest.two
+ mkdir conftest.dir
+ if "$as_dir/$ac_prog$ac_exec_ext" -c conftest.one conftest.two "`pwd`/conftest.dir" &&
+ test -s conftest.one && test -s conftest.two &&
+ test -s conftest.dir/conftest.one &&
+ test -s conftest.dir/conftest.two
+ then
+ ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c"
+ break 3
+ fi
fi
fi
done
done
;;
esac
+
done
IFS=$as_save_IFS
+rm -rf conftest.one conftest.two conftest.dir
fi
if test "${ac_cv_path_install+set}" = set; then
@@ -2081,8 +2207,8 @@ fi
INSTALL=$ac_install_sh
fi
fi
-{ echo "$as_me:$LINENO: result: $INSTALL" >&5
-echo "${ECHO_T}$INSTALL" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $INSTALL" >&5
+$as_echo "$INSTALL" >&6; }
# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
# It thinks the first close brace ends the variable substitution.
@@ -2092,8 +2218,8 @@ test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}'
test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
-{ echo "$as_me:$LINENO: checking whether build environment is sane" >&5
-echo $ECHO_N "checking whether build environment is sane... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking whether build environment is sane" >&5
+$as_echo_n "checking whether build environment is sane... " >&6; }
# Just in case
sleep 1
echo timestamp > conftest.file
@@ -2116,9 +2242,9 @@ if (
# if, for instance, CONFIG_SHELL is bash and it inherits a
# broken ls alias from the environment. This has actually
# happened. Such a system could not be considered "sane".
- { { echo "$as_me:$LINENO: error: ls -t appears to fail. Make sure there is not a broken
+ { { $as_echo "$as_me:$LINENO: error: ls -t appears to fail. Make sure there is not a broken
alias in your environment" >&5
-echo "$as_me: error: ls -t appears to fail. Make sure there is not a broken
+$as_echo "$as_me: error: ls -t appears to fail. Make sure there is not a broken
alias in your environment" >&2;}
{ (exit 1); exit 1; }; }
fi
@@ -2129,26 +2255,23 @@ then
# Ok.
:
else
- { { echo "$as_me:$LINENO: error: newly created file is older than distributed files!
+ { { $as_echo "$as_me:$LINENO: error: newly created file is older than distributed files!
Check your system clock" >&5
-echo "$as_me: error: newly created file is older than distributed files!
+$as_echo "$as_me: error: newly created file is older than distributed files!
Check your system clock" >&2;}
{ (exit 1); exit 1; }; }
fi
-{ echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; }
+{ $as_echo "$as_me:$LINENO: result: yes" >&5
+$as_echo "yes" >&6; }
test "$program_prefix" != NONE &&
program_transform_name="s&^&$program_prefix&;$program_transform_name"
# Use a double $ so make ignores it.
test "$program_suffix" != NONE &&
program_transform_name="s&\$&$program_suffix&;$program_transform_name"
-# Double any \ or $. echo might interpret backslashes.
+# Double any \ or $.
# By default was `s,x,x', remove it if useless.
-cat <<\_ACEOF >conftest.sed
-s/[\\$]/&&/g;s/;s,x,x,$//
-_ACEOF
-program_transform_name=`echo $program_transform_name | sed -f conftest.sed`
-rm -f conftest.sed
+ac_script='s/[\\$]/&&/g;s/;s,x,x,$//'
+program_transform_name=`$as_echo "$program_transform_name" | sed "$ac_script"`
# expand $ac_aux_dir to an absolute path
am_aux_dir=`cd $ac_aux_dir && pwd`
@@ -2159,15 +2282,15 @@ if eval "$MISSING --run true"; then
am_missing_run="$MISSING --run "
else
am_missing_run=
- { echo "$as_me:$LINENO: WARNING: \`missing' script is too old or missing" >&5
-echo "$as_me: WARNING: \`missing' script is too old or missing" >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: \`missing' script is too old or missing" >&5
+$as_echo "$as_me: WARNING: \`missing' script is too old or missing" >&2;}
fi
-{ echo "$as_me:$LINENO: checking for a thread-safe mkdir -p" >&5
-echo $ECHO_N "checking for a thread-safe mkdir -p... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking for a thread-safe mkdir -p" >&5
+$as_echo_n "checking for a thread-safe mkdir -p... " >&6; }
if test -z "$MKDIR_P"; then
if test "${ac_cv_path_mkdir+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH$PATH_SEPARATOR/opt/sfw/bin
@@ -2202,8 +2325,8 @@ fi
MKDIR_P="$ac_install_sh -d"
fi
fi
-{ echo "$as_me:$LINENO: result: $MKDIR_P" >&5
-echo "${ECHO_T}$MKDIR_P" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $MKDIR_P" >&5
+$as_echo "$MKDIR_P" >&6; }
mkdir_p="$MKDIR_P"
case $mkdir_p in
@@ -2215,10 +2338,10 @@ for ac_prog in gawk mawk nawk awk
do
# Extract the first word of "$ac_prog", so it can be a program name with args.
set dummy $ac_prog; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
if test "${ac_cv_prog_AWK+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
if test -n "$AWK"; then
ac_cv_prog_AWK="$AWK" # Let the user override the test.
@@ -2231,7 +2354,7 @@ do
for ac_exec_ext in '' $ac_executable_extensions; do
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_prog_AWK="$ac_prog"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
@@ -2242,22 +2365,23 @@ fi
fi
AWK=$ac_cv_prog_AWK
if test -n "$AWK"; then
- { echo "$as_me:$LINENO: result: $AWK" >&5
-echo "${ECHO_T}$AWK" >&6; }
+ { $as_echo "$as_me:$LINENO: result: $AWK" >&5
+$as_echo "$AWK" >&6; }
else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
fi
test -n "$AWK" && break
done
-{ echo "$as_me:$LINENO: checking whether ${MAKE-make} sets \$(MAKE)" >&5
-echo $ECHO_N "checking whether ${MAKE-make} sets \$(MAKE)... $ECHO_C" >&6; }
-set x ${MAKE-make}; ac_make=`echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'`
+{ $as_echo "$as_me:$LINENO: checking whether ${MAKE-make} sets \$(MAKE)" >&5
+$as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; }
+set x ${MAKE-make}
+ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'`
if { as_var=ac_cv_prog_make_${ac_make}_set; eval "test \"\${$as_var+set}\" = set"; }; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
cat >conftest.make <<\_ACEOF
SHELL = /bin/sh
@@ -2274,12 +2398,12 @@ esac
rm -f conftest.make
fi
if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then
- { echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; }
+ { $as_echo "$as_me:$LINENO: result: yes" >&5
+$as_echo "yes" >&6; }
SET_MAKE=
else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
SET_MAKE="MAKE=${MAKE-make}"
fi
@@ -2298,8 +2422,8 @@ if test "`cd $srcdir && pwd`" != "`pwd`"; then
am__isrc=' -I$(srcdir)'
# test to see if srcdir already configured
if test -f $srcdir/config.status; then
- { { echo "$as_me:$LINENO: error: source directory already configured; run \"make distclean\" there first" >&5
-echo "$as_me: error: source directory already configured; run \"make distclean\" there first" >&2;}
+ { { $as_echo "$as_me:$LINENO: error: source directory already configured; run \"make distclean\" there first" >&5
+$as_echo "$as_me: error: source directory already configured; run \"make distclean\" there first" >&2;}
{ (exit 1); exit 1; }; }
fi
fi
@@ -2354,10 +2478,10 @@ if test "$cross_compiling" != no; then
if test -n "$ac_tool_prefix"; then
# Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
set dummy ${ac_tool_prefix}strip; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
if test "${ac_cv_prog_STRIP+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
if test -n "$STRIP"; then
ac_cv_prog_STRIP="$STRIP" # Let the user override the test.
@@ -2370,7 +2494,7 @@ do
for ac_exec_ext in '' $ac_executable_extensions; do
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_prog_STRIP="${ac_tool_prefix}strip"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
@@ -2381,11 +2505,11 @@ fi
fi
STRIP=$ac_cv_prog_STRIP
if test -n "$STRIP"; then
- { echo "$as_me:$LINENO: result: $STRIP" >&5
-echo "${ECHO_T}$STRIP" >&6; }
+ { $as_echo "$as_me:$LINENO: result: $STRIP" >&5
+$as_echo "$STRIP" >&6; }
else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
fi
@@ -2394,10 +2518,10 @@ if test -z "$ac_cv_prog_STRIP"; then
ac_ct_STRIP=$STRIP
# Extract the first word of "strip", so it can be a program name with args.
set dummy strip; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
if test -n "$ac_ct_STRIP"; then
ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test.
@@ -2410,7 +2534,7 @@ do
for ac_exec_ext in '' $ac_executable_extensions; do
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_prog_ac_ct_STRIP="strip"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
@@ -2421,11 +2545,11 @@ fi
fi
ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP
if test -n "$ac_ct_STRIP"; then
- { echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5
-echo "${ECHO_T}$ac_ct_STRIP" >&6; }
+ { $as_echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5
+$as_echo "$ac_ct_STRIP" >&6; }
else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
fi
if test "x$ac_ct_STRIP" = x; then
@@ -2433,12 +2557,8 @@ fi
else
case $cross_compiling:$ac_tool_warned in
yes:)
-{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
-whose name does not start with the host triplet. If you think this
-configuration is useful to you, please write to autoconf@gnu.org." >&5
-echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
-whose name does not start with the host triplet. If you think this
-configuration is useful to you, please write to autoconf@gnu.org." >&2;}
+{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
ac_tool_warned=yes ;;
esac
STRIP=$ac_ct_STRIP
@@ -2480,10 +2600,10 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
if test -n "$ac_tool_prefix"; then
# Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args.
set dummy ${ac_tool_prefix}gcc; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
if test "${ac_cv_prog_CC+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
if test -n "$CC"; then
ac_cv_prog_CC="$CC" # Let the user override the test.
@@ -2496,7 +2616,7 @@ do
for ac_exec_ext in '' $ac_executable_extensions; do
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_prog_CC="${ac_tool_prefix}gcc"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
@@ -2507,11 +2627,11 @@ fi
fi
CC=$ac_cv_prog_CC
if test -n "$CC"; then
- { echo "$as_me:$LINENO: result: $CC" >&5
-echo "${ECHO_T}$CC" >&6; }
+ { $as_echo "$as_me:$LINENO: result: $CC" >&5
+$as_echo "$CC" >&6; }
else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
fi
@@ -2520,10 +2640,10 @@ if test -z "$ac_cv_prog_CC"; then
ac_ct_CC=$CC
# Extract the first word of "gcc", so it can be a program name with args.
set dummy gcc; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
if test "${ac_cv_prog_ac_ct_CC+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
if test -n "$ac_ct_CC"; then
ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
@@ -2536,7 +2656,7 @@ do
for ac_exec_ext in '' $ac_executable_extensions; do
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_prog_ac_ct_CC="gcc"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
@@ -2547,11 +2667,11 @@ fi
fi
ac_ct_CC=$ac_cv_prog_ac_ct_CC
if test -n "$ac_ct_CC"; then
- { echo "$as_me:$LINENO: result: $ac_ct_CC" >&5
-echo "${ECHO_T}$ac_ct_CC" >&6; }
+ { $as_echo "$as_me:$LINENO: result: $ac_ct_CC" >&5
+$as_echo "$ac_ct_CC" >&6; }
else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
fi
if test "x$ac_ct_CC" = x; then
@@ -2559,12 +2679,8 @@ fi
else
case $cross_compiling:$ac_tool_warned in
yes:)
-{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
-whose name does not start with the host triplet. If you think this
-configuration is useful to you, please write to autoconf@gnu.org." >&5
-echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
-whose name does not start with the host triplet. If you think this
-configuration is useful to you, please write to autoconf@gnu.org." >&2;}
+{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
ac_tool_warned=yes ;;
esac
CC=$ac_ct_CC
@@ -2577,10 +2693,10 @@ if test -z "$CC"; then
if test -n "$ac_tool_prefix"; then
# Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args.
set dummy ${ac_tool_prefix}cc; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
if test "${ac_cv_prog_CC+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
if test -n "$CC"; then
ac_cv_prog_CC="$CC" # Let the user override the test.
@@ -2593,7 +2709,7 @@ do
for ac_exec_ext in '' $ac_executable_extensions; do
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_prog_CC="${ac_tool_prefix}cc"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
@@ -2604,11 +2720,11 @@ fi
fi
CC=$ac_cv_prog_CC
if test -n "$CC"; then
- { echo "$as_me:$LINENO: result: $CC" >&5
-echo "${ECHO_T}$CC" >&6; }
+ { $as_echo "$as_me:$LINENO: result: $CC" >&5
+$as_echo "$CC" >&6; }
else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
fi
@@ -2617,10 +2733,10 @@ fi
if test -z "$CC"; then
# Extract the first word of "cc", so it can be a program name with args.
set dummy cc; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
if test "${ac_cv_prog_CC+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
if test -n "$CC"; then
ac_cv_prog_CC="$CC" # Let the user override the test.
@@ -2638,7 +2754,7 @@ do
continue
fi
ac_cv_prog_CC="cc"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
@@ -2661,11 +2777,11 @@ fi
fi
CC=$ac_cv_prog_CC
if test -n "$CC"; then
- { echo "$as_me:$LINENO: result: $CC" >&5
-echo "${ECHO_T}$CC" >&6; }
+ { $as_echo "$as_me:$LINENO: result: $CC" >&5
+$as_echo "$CC" >&6; }
else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
fi
@@ -2676,10 +2792,10 @@ if test -z "$CC"; then
do
# Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
set dummy $ac_tool_prefix$ac_prog; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
if test "${ac_cv_prog_CC+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
if test -n "$CC"; then
ac_cv_prog_CC="$CC" # Let the user override the test.
@@ -2692,7 +2808,7 @@ do
for ac_exec_ext in '' $ac_executable_extensions; do
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
@@ -2703,11 +2819,11 @@ fi
fi
CC=$ac_cv_prog_CC
if test -n "$CC"; then
- { echo "$as_me:$LINENO: result: $CC" >&5
-echo "${ECHO_T}$CC" >&6; }
+ { $as_echo "$as_me:$LINENO: result: $CC" >&5
+$as_echo "$CC" >&6; }
else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
fi
@@ -2720,10 +2836,10 @@ if test -z "$CC"; then
do
# Extract the first word of "$ac_prog", so it can be a program name with args.
set dummy $ac_prog; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
if test "${ac_cv_prog_ac_ct_CC+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
if test -n "$ac_ct_CC"; then
ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
@@ -2736,7 +2852,7 @@ do
for ac_exec_ext in '' $ac_executable_extensions; do
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_prog_ac_ct_CC="$ac_prog"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
@@ -2747,11 +2863,11 @@ fi
fi
ac_ct_CC=$ac_cv_prog_ac_ct_CC
if test -n "$ac_ct_CC"; then
- { echo "$as_me:$LINENO: result: $ac_ct_CC" >&5
-echo "${ECHO_T}$ac_ct_CC" >&6; }
+ { $as_echo "$as_me:$LINENO: result: $ac_ct_CC" >&5
+$as_echo "$ac_ct_CC" >&6; }
else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
fi
@@ -2763,12 +2879,8 @@ done
else
case $cross_compiling:$ac_tool_warned in
yes:)
-{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
-whose name does not start with the host triplet. If you think this
-configuration is useful to you, please write to autoconf@gnu.org." >&5
-echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
-whose name does not start with the host triplet. If you think this
-configuration is useful to you, please write to autoconf@gnu.org." >&2;}
+{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
ac_tool_warned=yes ;;
esac
CC=$ac_ct_CC
@@ -2778,44 +2890,50 @@ fi
fi
-test -z "$CC" && { { echo "$as_me:$LINENO: error: no acceptable C compiler found in \$PATH
+test -z "$CC" && { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+{ { $as_echo "$as_me:$LINENO: error: no acceptable C compiler found in \$PATH
See \`config.log' for more details." >&5
-echo "$as_me: error: no acceptable C compiler found in \$PATH
+$as_echo "$as_me: error: no acceptable C compiler found in \$PATH
See \`config.log' for more details." >&2;}
- { (exit 1); exit 1; }; }
+ { (exit 1); exit 1; }; }; }
# Provide some information about the compiler.
-echo "$as_me:$LINENO: checking for C compiler version" >&5
-ac_compiler=`set X $ac_compile; echo $2`
+$as_echo "$as_me:$LINENO: checking for C compiler version" >&5
+set X $ac_compile
+ac_compiler=$2
{ (ac_try="$ac_compiler --version >&5"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
(eval "$ac_compiler --version >&5") 2>&5
ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }
{ (ac_try="$ac_compiler -v >&5"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
(eval "$ac_compiler -v >&5") 2>&5
ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }
{ (ac_try="$ac_compiler -V >&5"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
(eval "$ac_compiler -V >&5") 2>&5
ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }
cat >conftest.$ac_ext <<_ACEOF
@@ -2834,27 +2952,22 @@ main ()
}
_ACEOF
ac_clean_files_save=$ac_clean_files
-ac_clean_files="$ac_clean_files a.out a.exe b.out"
+ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out"
# Try to create an executable without -o first, disregard a.out.
# It will help us diagnose broken compilers, and finding out an intuition
# of exeext.
-{ echo "$as_me:$LINENO: checking for C compiler default output file name" >&5
-echo $ECHO_N "checking for C compiler default output file name... $ECHO_C" >&6; }
-ac_link_default=`echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'`
-#
-# List of possible output files, starting from the most likely.
-# The algorithm is not robust to junk in `.', hence go to wildcards (a.*)
-# only as a last resort. b.out is created by i960 compilers.
-ac_files='a_out.exe a.exe conftest.exe a.out conftest a.* conftest.* b.out'
-#
-# The IRIX 6 linker writes into existing files which may not be
-# executable, retaining their permissions. Remove them first so a
-# subsequent execution test works.
+{ $as_echo "$as_me:$LINENO: checking for C compiler default output file name" >&5
+$as_echo_n "checking for C compiler default output file name... " >&6; }
+ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'`
+
+# The possible output files:
+ac_files="a.out conftest.exe conftest a.exe a_out.exe b.out conftest.*"
+
ac_rmfiles=
for ac_file in $ac_files
do
case $ac_file in
- *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.o | *.obj ) ;;
+ *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;;
* ) ac_rmfiles="$ac_rmfiles $ac_file";;
esac
done
@@ -2865,10 +2978,11 @@ case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
(eval "$ac_link_default") 2>&5
ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; then
# Autoconf-2.13 could set the ac_cv_exeext variable to `no'.
# So ignore a value of `no', otherwise this would lead to `EXEEXT = no'
@@ -2879,7 +2993,7 @@ for ac_file in $ac_files ''
do
test -f "$ac_file" || continue
case $ac_file in
- *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.o | *.obj )
+ *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj )
;;
[ab].out )
# We found the default executable, but exeext='' is most
@@ -2906,25 +3020,27 @@ else
ac_file=''
fi
-{ echo "$as_me:$LINENO: result: $ac_file" >&5
-echo "${ECHO_T}$ac_file" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $ac_file" >&5
+$as_echo "$ac_file" >&6; }
if test -z "$ac_file"; then
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
-{ { echo "$as_me:$LINENO: error: C compiler cannot create executables
+{ { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+{ { $as_echo "$as_me:$LINENO: error: C compiler cannot create executables
See \`config.log' for more details." >&5
-echo "$as_me: error: C compiler cannot create executables
+$as_echo "$as_me: error: C compiler cannot create executables
See \`config.log' for more details." >&2;}
- { (exit 77); exit 77; }; }
+ { (exit 77); exit 77; }; }; }
fi
ac_exeext=$ac_cv_exeext
# Check that the compiler produces executables we can run. If not, either
# the compiler is broken, or we cross compile.
-{ echo "$as_me:$LINENO: checking whether the C compiler works" >&5
-echo $ECHO_N "checking whether the C compiler works... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking whether the C compiler works" >&5
+$as_echo_n "checking whether the C compiler works... " >&6; }
# FIXME: These cross compiler hacks should be removed for Autoconf 3.0
# If not cross compiling, check that we can run a simple program.
if test "$cross_compiling" != yes; then
@@ -2933,49 +3049,53 @@ if test "$cross_compiling" != yes; then
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
(eval "$ac_try") 2>&5
ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; }; then
cross_compiling=no
else
if test "$cross_compiling" = maybe; then
cross_compiling=yes
else
- { { echo "$as_me:$LINENO: error: cannot run C compiled programs.
+ { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+{ { $as_echo "$as_me:$LINENO: error: cannot run C compiled programs.
If you meant to cross compile, use \`--host'.
See \`config.log' for more details." >&5
-echo "$as_me: error: cannot run C compiled programs.
+$as_echo "$as_me: error: cannot run C compiled programs.
If you meant to cross compile, use \`--host'.
See \`config.log' for more details." >&2;}
- { (exit 1); exit 1; }; }
+ { (exit 1); exit 1; }; }; }
fi
fi
fi
-{ echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; }
+{ $as_echo "$as_me:$LINENO: result: yes" >&5
+$as_echo "yes" >&6; }
-rm -f a.out a.exe conftest$ac_cv_exeext b.out
+rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out
ac_clean_files=$ac_clean_files_save
# Check that the compiler produces executables we can run. If not, either
# the compiler is broken, or we cross compile.
-{ echo "$as_me:$LINENO: checking whether we are cross compiling" >&5
-echo $ECHO_N "checking whether we are cross compiling... $ECHO_C" >&6; }
-{ echo "$as_me:$LINENO: result: $cross_compiling" >&5
-echo "${ECHO_T}$cross_compiling" >&6; }
+{ $as_echo "$as_me:$LINENO: checking whether we are cross compiling" >&5
+$as_echo_n "checking whether we are cross compiling... " >&6; }
+{ $as_echo "$as_me:$LINENO: result: $cross_compiling" >&5
+$as_echo "$cross_compiling" >&6; }
-{ echo "$as_me:$LINENO: checking for suffix of executables" >&5
-echo $ECHO_N "checking for suffix of executables... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking for suffix of executables" >&5
+$as_echo_n "checking for suffix of executables... " >&6; }
if { (ac_try="$ac_link"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
(eval "$ac_link") 2>&5
ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; then
# If both `conftest.exe' and `conftest' are `present' (well, observable)
# catch `conftest.exe'. For instance with Cygwin, `ls conftest' will
@@ -2984,31 +3104,33 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
for ac_file in conftest.exe conftest conftest.*; do
test -f "$ac_file" || continue
case $ac_file in
- *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.o | *.obj ) ;;
+ *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;;
*.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
break;;
* ) break;;
esac
done
else
- { { echo "$as_me:$LINENO: error: cannot compute suffix of executables: cannot compile and link
+ { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+{ { $as_echo "$as_me:$LINENO: error: cannot compute suffix of executables: cannot compile and link
See \`config.log' for more details." >&5
-echo "$as_me: error: cannot compute suffix of executables: cannot compile and link
+$as_echo "$as_me: error: cannot compute suffix of executables: cannot compile and link
See \`config.log' for more details." >&2;}
- { (exit 1); exit 1; }; }
+ { (exit 1); exit 1; }; }; }
fi
rm -f conftest$ac_cv_exeext
-{ echo "$as_me:$LINENO: result: $ac_cv_exeext" >&5
-echo "${ECHO_T}$ac_cv_exeext" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_exeext" >&5
+$as_echo "$ac_cv_exeext" >&6; }
rm -f conftest.$ac_ext
EXEEXT=$ac_cv_exeext
ac_exeext=$EXEEXT
-{ echo "$as_me:$LINENO: checking for suffix of object files" >&5
-echo $ECHO_N "checking for suffix of object files... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking for suffix of object files" >&5
+$as_echo_n "checking for suffix of object files... " >&6; }
if test "${ac_cv_objext+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
@@ -3031,40 +3153,43 @@ case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
(eval "$ac_compile") 2>&5
ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; then
for ac_file in conftest.o conftest.obj conftest.*; do
test -f "$ac_file" || continue;
case $ac_file in
- *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf ) ;;
+ *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM ) ;;
*) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'`
break;;
esac
done
else
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
-{ { echo "$as_me:$LINENO: error: cannot compute suffix of object files: cannot compile
+{ { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+{ { $as_echo "$as_me:$LINENO: error: cannot compute suffix of object files: cannot compile
See \`config.log' for more details." >&5
-echo "$as_me: error: cannot compute suffix of object files: cannot compile
+$as_echo "$as_me: error: cannot compute suffix of object files: cannot compile
See \`config.log' for more details." >&2;}
- { (exit 1); exit 1; }; }
+ { (exit 1); exit 1; }; }; }
fi
rm -f conftest.$ac_cv_objext conftest.$ac_ext
fi
-{ echo "$as_me:$LINENO: result: $ac_cv_objext" >&5
-echo "${ECHO_T}$ac_cv_objext" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_objext" >&5
+$as_echo "$ac_cv_objext" >&6; }
OBJEXT=$ac_cv_objext
ac_objext=$OBJEXT
-{ echo "$as_me:$LINENO: checking whether we are using the GNU C compiler" >&5
-echo $ECHO_N "checking whether we are using the GNU C compiler... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking whether we are using the GNU C compiler" >&5
+$as_echo_n "checking whether we are using the GNU C compiler... " >&6; }
if test "${ac_cv_c_compiler_gnu+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
@@ -3090,20 +3215,21 @@ case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
(eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
test -z "$ac_c_werror_flag" ||
test ! -s conftest.err
} && test -s conftest.$ac_objext; then
ac_compiler_gnu=yes
else
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
ac_compiler_gnu=no
@@ -3113,15 +3239,19 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
ac_cv_c_compiler_gnu=$ac_compiler_gnu
fi
-{ echo "$as_me:$LINENO: result: $ac_cv_c_compiler_gnu" >&5
-echo "${ECHO_T}$ac_cv_c_compiler_gnu" >&6; }
-GCC=`test $ac_compiler_gnu = yes && echo yes`
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_c_compiler_gnu" >&5
+$as_echo "$ac_cv_c_compiler_gnu" >&6; }
+if test $ac_compiler_gnu = yes; then
+ GCC=yes
+else
+ GCC=
+fi
ac_test_CFLAGS=${CFLAGS+set}
ac_save_CFLAGS=$CFLAGS
-{ echo "$as_me:$LINENO: checking whether $CC accepts -g" >&5
-echo $ECHO_N "checking whether $CC accepts -g... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking whether $CC accepts -g" >&5
+$as_echo_n "checking whether $CC accepts -g... " >&6; }
if test "${ac_cv_prog_cc_g+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
ac_save_c_werror_flag=$ac_c_werror_flag
ac_c_werror_flag=yes
@@ -3148,20 +3278,21 @@ case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
(eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
test -z "$ac_c_werror_flag" ||
test ! -s conftest.err
} && test -s conftest.$ac_objext; then
ac_cv_prog_cc_g=yes
else
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
CFLAGS=""
@@ -3186,20 +3317,21 @@ case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
(eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
test -z "$ac_c_werror_flag" ||
test ! -s conftest.err
} && test -s conftest.$ac_objext; then
:
else
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
ac_c_werror_flag=$ac_save_c_werror_flag
@@ -3225,20 +3357,21 @@ case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
(eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
test -z "$ac_c_werror_flag" ||
test ! -s conftest.err
} && test -s conftest.$ac_objext; then
ac_cv_prog_cc_g=yes
else
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
@@ -3253,8 +3386,8 @@ fi
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
ac_c_werror_flag=$ac_save_c_werror_flag
fi
-{ echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5
-echo "${ECHO_T}$ac_cv_prog_cc_g" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5
+$as_echo "$ac_cv_prog_cc_g" >&6; }
if test "$ac_test_CFLAGS" = set; then
CFLAGS=$ac_save_CFLAGS
elif test $ac_cv_prog_cc_g = yes; then
@@ -3270,10 +3403,10 @@ else
CFLAGS=
fi
fi
-{ echo "$as_me:$LINENO: checking for $CC option to accept ISO C89" >&5
-echo $ECHO_N "checking for $CC option to accept ISO C89... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking for $CC option to accept ISO C89" >&5
+$as_echo_n "checking for $CC option to accept ISO C89... " >&6; }
if test "${ac_cv_prog_cc_c89+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
ac_cv_prog_cc_c89=no
ac_save_CC=$CC
@@ -3344,20 +3477,21 @@ case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
(eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
test -z "$ac_c_werror_flag" ||
test ! -s conftest.err
} && test -s conftest.$ac_objext; then
ac_cv_prog_cc_c89=$ac_arg
else
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
@@ -3373,15 +3507,15 @@ fi
# AC_CACHE_VAL
case "x$ac_cv_prog_cc_c89" in
x)
- { echo "$as_me:$LINENO: result: none needed" >&5
-echo "${ECHO_T}none needed" >&6; } ;;
+ { $as_echo "$as_me:$LINENO: result: none needed" >&5
+$as_echo "none needed" >&6; } ;;
xno)
- { echo "$as_me:$LINENO: result: unsupported" >&5
-echo "${ECHO_T}unsupported" >&6; } ;;
+ { $as_echo "$as_me:$LINENO: result: unsupported" >&5
+$as_echo "unsupported" >&6; } ;;
*)
CC="$CC $ac_cv_prog_cc_c89"
- { echo "$as_me:$LINENO: result: $ac_cv_prog_cc_c89" >&5
-echo "${ECHO_T}$ac_cv_prog_cc_c89" >&6; } ;;
+ { $as_echo "$as_me:$LINENO: result: $ac_cv_prog_cc_c89" >&5
+$as_echo "$ac_cv_prog_cc_c89" >&6; } ;;
esac
@@ -3402,8 +3536,8 @@ am__doit:
.PHONY: am__doit
END
# If we don't find an include directive, just comment out the code.
-{ echo "$as_me:$LINENO: checking for style of include used by $am_make" >&5
-echo $ECHO_N "checking for style of include used by $am_make... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking for style of include used by $am_make" >&5
+$as_echo_n "checking for style of include used by $am_make... " >&6; }
am__include="#"
am__quote=
_am_result=none
@@ -3430,8 +3564,8 @@ if test "$am__include" = "#"; then
fi
-{ echo "$as_me:$LINENO: result: $_am_result" >&5
-echo "${ECHO_T}$_am_result" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $_am_result" >&5
+$as_echo "$_am_result" >&6; }
rm -f confinc confmf
# Check whether --enable-dependency-tracking was given.
@@ -3455,10 +3589,10 @@ fi
depcc="$CC" am_compiler_list=
-{ echo "$as_me:$LINENO: checking dependency style of $depcc" >&5
-echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking dependency style of $depcc" >&5
+$as_echo_n "checking dependency style of $depcc... " >&6; }
if test "${am_cv_CC_dependencies_compiler_type+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
# We make a subdir and do the tests there. Otherwise we can end up
@@ -3546,8 +3680,8 @@ else
fi
fi
-{ echo "$as_me:$LINENO: result: $am_cv_CC_dependencies_compiler_type" >&5
-echo "${ECHO_T}$am_cv_CC_dependencies_compiler_type" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $am_cv_CC_dependencies_compiler_type" >&5
+$as_echo "$am_cv_CC_dependencies_compiler_type" >&6; }
CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type
if
@@ -3575,10 +3709,10 @@ if test -z "$CXX"; then
do
# Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
set dummy $ac_tool_prefix$ac_prog; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
if test "${ac_cv_prog_CXX+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
if test -n "$CXX"; then
ac_cv_prog_CXX="$CXX" # Let the user override the test.
@@ -3591,7 +3725,7 @@ do
for ac_exec_ext in '' $ac_executable_extensions; do
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_prog_CXX="$ac_tool_prefix$ac_prog"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
@@ -3602,11 +3736,11 @@ fi
fi
CXX=$ac_cv_prog_CXX
if test -n "$CXX"; then
- { echo "$as_me:$LINENO: result: $CXX" >&5
-echo "${ECHO_T}$CXX" >&6; }
+ { $as_echo "$as_me:$LINENO: result: $CXX" >&5
+$as_echo "$CXX" >&6; }
else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
fi
@@ -3619,10 +3753,10 @@ if test -z "$CXX"; then
do
# Extract the first word of "$ac_prog", so it can be a program name with args.
set dummy $ac_prog; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
if test "${ac_cv_prog_ac_ct_CXX+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
if test -n "$ac_ct_CXX"; then
ac_cv_prog_ac_ct_CXX="$ac_ct_CXX" # Let the user override the test.
@@ -3635,7 +3769,7 @@ do
for ac_exec_ext in '' $ac_executable_extensions; do
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_prog_ac_ct_CXX="$ac_prog"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
@@ -3646,11 +3780,11 @@ fi
fi
ac_ct_CXX=$ac_cv_prog_ac_ct_CXX
if test -n "$ac_ct_CXX"; then
- { echo "$as_me:$LINENO: result: $ac_ct_CXX" >&5
-echo "${ECHO_T}$ac_ct_CXX" >&6; }
+ { $as_echo "$as_me:$LINENO: result: $ac_ct_CXX" >&5
+$as_echo "$ac_ct_CXX" >&6; }
else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
fi
@@ -3662,12 +3796,8 @@ done
else
case $cross_compiling:$ac_tool_warned in
yes:)
-{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
-whose name does not start with the host triplet. If you think this
-configuration is useful to you, please write to autoconf@gnu.org." >&5
-echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
-whose name does not start with the host triplet. If you think this
-configuration is useful to you, please write to autoconf@gnu.org." >&2;}
+{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
ac_tool_warned=yes ;;
esac
CXX=$ac_ct_CXX
@@ -3677,43 +3807,47 @@ fi
fi
fi
# Provide some information about the compiler.
-echo "$as_me:$LINENO: checking for C++ compiler version" >&5
-ac_compiler=`set X $ac_compile; echo $2`
+$as_echo "$as_me:$LINENO: checking for C++ compiler version" >&5
+set X $ac_compile
+ac_compiler=$2
{ (ac_try="$ac_compiler --version >&5"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
(eval "$ac_compiler --version >&5") 2>&5
ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }
{ (ac_try="$ac_compiler -v >&5"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
(eval "$ac_compiler -v >&5") 2>&5
ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }
{ (ac_try="$ac_compiler -V >&5"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
(eval "$ac_compiler -V >&5") 2>&5
ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }
-{ echo "$as_me:$LINENO: checking whether we are using the GNU C++ compiler" >&5
-echo $ECHO_N "checking whether we are using the GNU C++ compiler... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking whether we are using the GNU C++ compiler" >&5
+$as_echo_n "checking whether we are using the GNU C++ compiler... " >&6; }
if test "${ac_cv_cxx_compiler_gnu+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
@@ -3739,20 +3873,21 @@ case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
(eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
test -z "$ac_cxx_werror_flag" ||
test ! -s conftest.err
} && test -s conftest.$ac_objext; then
ac_compiler_gnu=yes
else
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
ac_compiler_gnu=no
@@ -3762,15 +3897,19 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
ac_cv_cxx_compiler_gnu=$ac_compiler_gnu
fi
-{ echo "$as_me:$LINENO: result: $ac_cv_cxx_compiler_gnu" >&5
-echo "${ECHO_T}$ac_cv_cxx_compiler_gnu" >&6; }
-GXX=`test $ac_compiler_gnu = yes && echo yes`
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_cxx_compiler_gnu" >&5
+$as_echo "$ac_cv_cxx_compiler_gnu" >&6; }
+if test $ac_compiler_gnu = yes; then
+ GXX=yes
+else
+ GXX=
+fi
ac_test_CXXFLAGS=${CXXFLAGS+set}
ac_save_CXXFLAGS=$CXXFLAGS
-{ echo "$as_me:$LINENO: checking whether $CXX accepts -g" >&5
-echo $ECHO_N "checking whether $CXX accepts -g... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking whether $CXX accepts -g" >&5
+$as_echo_n "checking whether $CXX accepts -g... " >&6; }
if test "${ac_cv_prog_cxx_g+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
ac_save_cxx_werror_flag=$ac_cxx_werror_flag
ac_cxx_werror_flag=yes
@@ -3797,20 +3936,21 @@ case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
(eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
test -z "$ac_cxx_werror_flag" ||
test ! -s conftest.err
} && test -s conftest.$ac_objext; then
ac_cv_prog_cxx_g=yes
else
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
CXXFLAGS=""
@@ -3835,20 +3975,21 @@ case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
(eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
test -z "$ac_cxx_werror_flag" ||
test ! -s conftest.err
} && test -s conftest.$ac_objext; then
:
else
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
ac_cxx_werror_flag=$ac_save_cxx_werror_flag
@@ -3874,20 +4015,21 @@ case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
(eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
test -z "$ac_cxx_werror_flag" ||
test ! -s conftest.err
} && test -s conftest.$ac_objext; then
ac_cv_prog_cxx_g=yes
else
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
@@ -3902,8 +4044,8 @@ fi
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
ac_cxx_werror_flag=$ac_save_cxx_werror_flag
fi
-{ echo "$as_me:$LINENO: result: $ac_cv_prog_cxx_g" >&5
-echo "${ECHO_T}$ac_cv_prog_cxx_g" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_prog_cxx_g" >&5
+$as_echo "$ac_cv_prog_cxx_g" >&6; }
if test "$ac_test_CXXFLAGS" = set; then
CXXFLAGS=$ac_save_CXXFLAGS
elif test $ac_cv_prog_cxx_g = yes; then
@@ -3927,10 +4069,10 @@ ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
depcc="$CXX" am_compiler_list=
-{ echo "$as_me:$LINENO: checking dependency style of $depcc" >&5
-echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking dependency style of $depcc" >&5
+$as_echo_n "checking dependency style of $depcc... " >&6; }
if test "${am_cv_CXX_dependencies_compiler_type+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
# We make a subdir and do the tests there. Otherwise we can end up
@@ -4018,8 +4160,8 @@ else
fi
fi
-{ echo "$as_me:$LINENO: result: $am_cv_CXX_dependencies_compiler_type" >&5
-echo "${ECHO_T}$am_cv_CXX_dependencies_compiler_type" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $am_cv_CXX_dependencies_compiler_type" >&5
+$as_echo "$am_cv_CXX_dependencies_compiler_type" >&6; }
CXXDEPMODE=depmode=$am_cv_CXX_dependencies_compiler_type
if
@@ -4046,11 +4188,12 @@ fi
# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
# OS/2's system install, which has a completely different semantic
# ./install, which can be erroneously created by make from ./install.sh.
-{ echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5
-echo $ECHO_N "checking for a BSD-compatible install... $ECHO_C" >&6; }
+# Reject install programs that cannot install multiple files.
+{ $as_echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5
+$as_echo_n "checking for a BSD-compatible install... " >&6; }
if test -z "$INSTALL"; then
if test "${ac_cv_path_install+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
@@ -4079,17 +4222,29 @@ case $as_dir/ in
# program-specific install script used by HP pwplus--don't use.
:
else
- ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c"
- break 3
+ rm -rf conftest.one conftest.two conftest.dir
+ echo one > conftest.one
+ echo two > conftest.two
+ mkdir conftest.dir
+ if "$as_dir/$ac_prog$ac_exec_ext" -c conftest.one conftest.two "`pwd`/conftest.dir" &&
+ test -s conftest.one && test -s conftest.two &&
+ test -s conftest.dir/conftest.one &&
+ test -s conftest.dir/conftest.two
+ then
+ ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c"
+ break 3
+ fi
fi
fi
done
done
;;
esac
+
done
IFS=$as_save_IFS
+rm -rf conftest.one conftest.two conftest.dir
fi
if test "${ac_cv_path_install+set}" = set; then
@@ -4102,8 +4257,8 @@ fi
INSTALL=$ac_install_sh
fi
fi
-{ echo "$as_me:$LINENO: result: $INSTALL" >&5
-echo "${ECHO_T}$INSTALL" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $INSTALL" >&5
+$as_echo "$INSTALL" >&6; }
# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
# It thinks the first close brace ends the variable substitution.
@@ -4113,108 +4268,61 @@ test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}'
test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
-# Check whether --enable-shared was given.
-if test "${enable_shared+set}" = set; then
- enableval=$enable_shared; p=${PACKAGE-default}
- case $enableval in
- yes) enable_shared=yes ;;
- no) enable_shared=no ;;
- *)
- enable_shared=no
- # Look at the argument we got. We use all the common list separators.
- lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
- for pkg in $enableval; do
- IFS="$lt_save_ifs"
- if test "X$pkg" = "X$p"; then
- enable_shared=yes
- fi
- done
- IFS="$lt_save_ifs"
- ;;
- esac
-else
- enable_shared=yes
-fi
+case `pwd` in
+ *\ * | *\ *)
+ { $as_echo "$as_me:$LINENO: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&5
+$as_echo "$as_me: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&2;} ;;
+esac
+
+
+
+macro_version='2.2.6'
+macro_revision='1.3012'
+
+
+
+
+
-# Check whether --enable-static was given.
-if test "${enable_static+set}" = set; then
- enableval=$enable_static; p=${PACKAGE-default}
- case $enableval in
- yes) enable_static=yes ;;
- no) enable_static=no ;;
- *)
- enable_static=no
- # Look at the argument we got. We use all the common list separators.
- lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
- for pkg in $enableval; do
- IFS="$lt_save_ifs"
- if test "X$pkg" = "X$p"; then
- enable_static=yes
- fi
- done
- IFS="$lt_save_ifs"
- ;;
- esac
-else
- enable_static=yes
-fi
-# Check whether --enable-fast-install was given.
-if test "${enable_fast_install+set}" = set; then
- enableval=$enable_fast_install; p=${PACKAGE-default}
- case $enableval in
- yes) enable_fast_install=yes ;;
- no) enable_fast_install=no ;;
- *)
- enable_fast_install=no
- # Look at the argument we got. We use all the common list separators.
- lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
- for pkg in $enableval; do
- IFS="$lt_save_ifs"
- if test "X$pkg" = "X$p"; then
- enable_fast_install=yes
- fi
- done
- IFS="$lt_save_ifs"
- ;;
- esac
-else
- enable_fast_install=yes
-fi
+
+
+ltmain="$ac_aux_dir/ltmain.sh"
+
# Make sure we can run config.sub.
$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 ||
- { { echo "$as_me:$LINENO: error: cannot run $SHELL $ac_aux_dir/config.sub" >&5
-echo "$as_me: error: cannot run $SHELL $ac_aux_dir/config.sub" >&2;}
+ { { $as_echo "$as_me:$LINENO: error: cannot run $SHELL $ac_aux_dir/config.sub" >&5
+$as_echo "$as_me: error: cannot run $SHELL $ac_aux_dir/config.sub" >&2;}
{ (exit 1); exit 1; }; }
-{ echo "$as_me:$LINENO: checking build system type" >&5
-echo $ECHO_N "checking build system type... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking build system type" >&5
+$as_echo_n "checking build system type... " >&6; }
if test "${ac_cv_build+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
ac_build_alias=$build_alias
test "x$ac_build_alias" = x &&
ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"`
test "x$ac_build_alias" = x &&
- { { echo "$as_me:$LINENO: error: cannot guess build type; you must specify one" >&5
-echo "$as_me: error: cannot guess build type; you must specify one" >&2;}
+ { { $as_echo "$as_me:$LINENO: error: cannot guess build type; you must specify one" >&5
+$as_echo "$as_me: error: cannot guess build type; you must specify one" >&2;}
{ (exit 1); exit 1; }; }
ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` ||
- { { echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $ac_build_alias failed" >&5
-echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $ac_build_alias failed" >&2;}
+ { { $as_echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $ac_build_alias failed" >&5
+$as_echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $ac_build_alias failed" >&2;}
{ (exit 1); exit 1; }; }
fi
-{ echo "$as_me:$LINENO: result: $ac_cv_build" >&5
-echo "${ECHO_T}$ac_cv_build" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_build" >&5
+$as_echo "$ac_cv_build" >&6; }
case $ac_cv_build in
*-*-*) ;;
-*) { { echo "$as_me:$LINENO: error: invalid value of canonical build" >&5
-echo "$as_me: error: invalid value of canonical build" >&2;}
+*) { { $as_echo "$as_me:$LINENO: error: invalid value of canonical build" >&5
+$as_echo "$as_me: error: invalid value of canonical build" >&2;}
{ (exit 1); exit 1; }; };;
esac
build=$ac_cv_build
@@ -4231,27 +4339,27 @@ IFS=$ac_save_IFS
case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac
-{ echo "$as_me:$LINENO: checking host system type" >&5
-echo $ECHO_N "checking host system type... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking host system type" >&5
+$as_echo_n "checking host system type... " >&6; }
if test "${ac_cv_host+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
if test "x$host_alias" = x; then
ac_cv_host=$ac_cv_build
else
ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` ||
- { { echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $host_alias failed" >&5
-echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $host_alias failed" >&2;}
+ { { $as_echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $host_alias failed" >&5
+$as_echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $host_alias failed" >&2;}
{ (exit 1); exit 1; }; }
fi
fi
-{ echo "$as_me:$LINENO: result: $ac_cv_host" >&5
-echo "${ECHO_T}$ac_cv_host" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_host" >&5
+$as_echo "$ac_cv_host" >&6; }
case $ac_cv_host in
*-*-*) ;;
-*) { { echo "$as_me:$LINENO: error: invalid value of canonical host" >&5
-echo "$as_me: error: invalid value of canonical host" >&2;}
+*) { { $as_echo "$as_me:$LINENO: error: invalid value of canonical host" >&5
+$as_echo "$as_me: error: invalid value of canonical host" >&2;}
{ (exit 1); exit 1; }; };;
esac
host=$ac_cv_host
@@ -4268,101 +4376,121 @@ IFS=$ac_save_IFS
case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac
-{ echo "$as_me:$LINENO: checking for a sed that does not truncate output" >&5
-echo $ECHO_N "checking for a sed that does not truncate output... $ECHO_C" >&6; }
-if test "${lt_cv_path_SED+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- # Loop through the user's path and test for sed and gsed.
-# Then use that list of sed's as ones to test for truncation.
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+{ $as_echo "$as_me:$LINENO: checking for a sed that does not truncate output" >&5
+$as_echo_n "checking for a sed that does not truncate output... " >&6; }
+if test "${ac_cv_path_SED+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ ac_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/
+ for ac_i in 1 2 3 4 5 6 7; do
+ ac_script="$ac_script$as_nl$ac_script"
+ done
+ echo "$ac_script" 2>/dev/null | sed 99q >conftest.sed
+ $as_unset ac_script || ac_script=
+ if test -z "$SED"; then
+ ac_path_SED_found=false
+ # Loop through the user's path and test for each of PROGNAME-LIST
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
- for lt_ac_prog in sed gsed; do
+ for ac_prog in sed gsed; do
for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$lt_ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$lt_ac_prog$ac_exec_ext"; }; then
- lt_ac_sed_list="$lt_ac_sed_list $as_dir/$lt_ac_prog$ac_exec_ext"
- fi
+ ac_path_SED="$as_dir/$ac_prog$ac_exec_ext"
+ { test -f "$ac_path_SED" && $as_test_x "$ac_path_SED"; } || continue
+# Check for GNU ac_path_SED and select it if it is found.
+ # Check for GNU $ac_path_SED
+case `"$ac_path_SED" --version 2>&1` in
+*GNU*)
+ ac_cv_path_SED="$ac_path_SED" ac_path_SED_found=:;;
+*)
+ ac_count=0
+ $as_echo_n 0123456789 >"conftest.in"
+ while :
+ do
+ cat "conftest.in" "conftest.in" >"conftest.tmp"
+ mv "conftest.tmp" "conftest.in"
+ cp "conftest.in" "conftest.nl"
+ $as_echo '' >> "conftest.nl"
+ "$ac_path_SED" -f conftest.sed < "conftest.nl" >"conftest.out" 2>/dev/null || break
+ diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
+ ac_count=`expr $ac_count + 1`
+ if test $ac_count -gt ${ac_path_SED_max-0}; then
+ # Best one so far, save it but keep looking for a better one
+ ac_cv_path_SED="$ac_path_SED"
+ ac_path_SED_max=$ac_count
+ fi
+ # 10*(2^10) chars as input seems more than enough
+ test $ac_count -gt 10 && break
+ done
+ rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
+esac
+
+ $ac_path_SED_found && break 3
done
done
done
IFS=$as_save_IFS
-lt_ac_max=0
-lt_ac_count=0
-# Add /usr/xpg4/bin/sed as it is typically found on Solaris
-# along with /bin/sed that truncates output.
-for lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do
- test ! -f $lt_ac_sed && continue
- cat /dev/null > conftest.in
- lt_ac_count=0
- echo $ECHO_N "0123456789$ECHO_C" >conftest.in
- # Check for GNU sed and select it if it is found.
- if "$lt_ac_sed" --version 2>&1 < /dev/null | grep 'GNU' > /dev/null; then
- lt_cv_path_SED=$lt_ac_sed
- break
+ if test -z "$ac_cv_path_SED"; then
+ { { $as_echo "$as_me:$LINENO: error: no acceptable sed could be found in \$PATH" >&5
+$as_echo "$as_me: error: no acceptable sed could be found in \$PATH" >&2;}
+ { (exit 1); exit 1; }; }
fi
- while true; do
- cat conftest.in conftest.in >conftest.tmp
- mv conftest.tmp conftest.in
- cp conftest.in conftest.nl
- echo >>conftest.nl
- $lt_ac_sed -e 's/a$//' < conftest.nl >conftest.out || break
- cmp -s conftest.out conftest.nl || break
- # 10000 chars as input seems more than enough
- test $lt_ac_count -gt 10 && break
- lt_ac_count=`expr $lt_ac_count + 1`
- if test $lt_ac_count -gt $lt_ac_max; then
- lt_ac_max=$lt_ac_count
- lt_cv_path_SED=$lt_ac_sed
- fi
- done
-done
+else
+ ac_cv_path_SED=$SED
+fi
fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_path_SED" >&5
+$as_echo "$ac_cv_path_SED" >&6; }
+ SED="$ac_cv_path_SED"
+ rm -f conftest.sed
-SED=$lt_cv_path_SED
+test -z "$SED" && SED=sed
+Xsed="$SED -e 1s/^X//"
-{ echo "$as_me:$LINENO: result: $SED" >&5
-echo "${ECHO_T}$SED" >&6; }
-{ echo "$as_me:$LINENO: checking for grep that handles long lines and -e" >&5
-echo $ECHO_N "checking for grep that handles long lines and -e... $ECHO_C" >&6; }
-if test "${ac_cv_path_GREP+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- # Extract the first word of "grep ggrep" to use in msg output
-if test -z "$GREP"; then
-set dummy grep ggrep; ac_prog_name=$2
+
+
+
+
+
+
+
+
+
+{ $as_echo "$as_me:$LINENO: checking for grep that handles long lines and -e" >&5
+$as_echo_n "checking for grep that handles long lines and -e... " >&6; }
if test "${ac_cv_path_GREP+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
+ if test -z "$GREP"; then
ac_path_GREP_found=false
-# Loop through the user's path and test for each of PROGNAME-LIST
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+ # Loop through the user's path and test for each of PROGNAME-LIST
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_prog in grep ggrep; do
- for ac_exec_ext in '' $ac_executable_extensions; do
- ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext"
- { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue
- # Check for GNU ac_path_GREP and select it if it is found.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext"
+ { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue
+# Check for GNU ac_path_GREP and select it if it is found.
# Check for GNU $ac_path_GREP
case `"$ac_path_GREP" --version 2>&1` in
*GNU*)
ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;;
*)
ac_count=0
- echo $ECHO_N "0123456789$ECHO_C" >"conftest.in"
+ $as_echo_n 0123456789 >"conftest.in"
while :
do
cat "conftest.in" "conftest.in" >"conftest.tmp"
mv "conftest.tmp" "conftest.in"
cp "conftest.in" "conftest.nl"
- echo 'GREP' >> "conftest.nl"
+ $as_echo 'GREP' >> "conftest.nl"
"$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break
diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
ac_count=`expr $ac_count + 1`
@@ -4377,74 +4505,60 @@ case `"$ac_path_GREP" --version 2>&1` in
rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
esac
-
- $ac_path_GREP_found && break 3
+ $ac_path_GREP_found && break 3
+ done
done
done
-
-done
IFS=$as_save_IFS
-
-
-fi
-
-GREP="$ac_cv_path_GREP"
-if test -z "$GREP"; then
- { { echo "$as_me:$LINENO: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5
-echo "$as_me: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;}
+ if test -z "$ac_cv_path_GREP"; then
+ { { $as_echo "$as_me:$LINENO: error: no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5
+$as_echo "$as_me: error: no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;}
{ (exit 1); exit 1; }; }
-fi
-
+ fi
else
ac_cv_path_GREP=$GREP
fi
-
fi
-{ echo "$as_me:$LINENO: result: $ac_cv_path_GREP" >&5
-echo "${ECHO_T}$ac_cv_path_GREP" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_path_GREP" >&5
+$as_echo "$ac_cv_path_GREP" >&6; }
GREP="$ac_cv_path_GREP"
-{ echo "$as_me:$LINENO: checking for egrep" >&5
-echo $ECHO_N "checking for egrep... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking for egrep" >&5
+$as_echo_n "checking for egrep... " >&6; }
if test "${ac_cv_path_EGREP+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
if echo a | $GREP -E '(a|b)' >/dev/null 2>&1
then ac_cv_path_EGREP="$GREP -E"
else
- # Extract the first word of "egrep" to use in msg output
-if test -z "$EGREP"; then
-set dummy egrep; ac_prog_name=$2
-if test "${ac_cv_path_EGREP+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
+ if test -z "$EGREP"; then
ac_path_EGREP_found=false
-# Loop through the user's path and test for each of PROGNAME-LIST
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+ # Loop through the user's path and test for each of PROGNAME-LIST
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_prog in egrep; do
- for ac_exec_ext in '' $ac_executable_extensions; do
- ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext"
- { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue
- # Check for GNU ac_path_EGREP and select it if it is found.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext"
+ { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue
+# Check for GNU ac_path_EGREP and select it if it is found.
# Check for GNU $ac_path_EGREP
case `"$ac_path_EGREP" --version 2>&1` in
*GNU*)
ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;;
*)
ac_count=0
- echo $ECHO_N "0123456789$ECHO_C" >"conftest.in"
+ $as_echo_n 0123456789 >"conftest.in"
while :
do
cat "conftest.in" "conftest.in" >"conftest.tmp"
mv "conftest.tmp" "conftest.in"
cp "conftest.in" "conftest.nl"
- echo 'EGREP' >> "conftest.nl"
+ $as_echo 'EGREP' >> "conftest.nl"
"$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break
diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
ac_count=`expr $ac_count + 1`
@@ -4459,34 +4573,113 @@ case `"$ac_path_EGREP" --version 2>&1` in
rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
esac
-
- $ac_path_EGREP_found && break 3
+ $ac_path_EGREP_found && break 3
+ done
done
done
-
-done
IFS=$as_save_IFS
-
-
+ if test -z "$ac_cv_path_EGREP"; then
+ { { $as_echo "$as_me:$LINENO: error: no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5
+$as_echo "$as_me: error: no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;}
+ { (exit 1); exit 1; }; }
+ fi
+else
+ ac_cv_path_EGREP=$EGREP
fi
-EGREP="$ac_cv_path_EGREP"
-if test -z "$EGREP"; then
- { { echo "$as_me:$LINENO: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5
-echo "$as_me: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;}
- { (exit 1); exit 1; }; }
+ fi
fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_path_EGREP" >&5
+$as_echo "$ac_cv_path_EGREP" >&6; }
+ EGREP="$ac_cv_path_EGREP"
+
+{ $as_echo "$as_me:$LINENO: checking for fgrep" >&5
+$as_echo_n "checking for fgrep... " >&6; }
+if test "${ac_cv_path_FGREP+set}" = set; then
+ $as_echo_n "(cached) " >&6
else
- ac_cv_path_EGREP=$EGREP
-fi
+ if echo 'ab*c' | $GREP -F 'ab*c' >/dev/null 2>&1
+ then ac_cv_path_FGREP="$GREP -F"
+ else
+ if test -z "$FGREP"; then
+ ac_path_FGREP_found=false
+ # Loop through the user's path and test for each of PROGNAME-LIST
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_prog in fgrep; do
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ ac_path_FGREP="$as_dir/$ac_prog$ac_exec_ext"
+ { test -f "$ac_path_FGREP" && $as_test_x "$ac_path_FGREP"; } || continue
+# Check for GNU ac_path_FGREP and select it if it is found.
+ # Check for GNU $ac_path_FGREP
+case `"$ac_path_FGREP" --version 2>&1` in
+*GNU*)
+ ac_cv_path_FGREP="$ac_path_FGREP" ac_path_FGREP_found=:;;
+*)
+ ac_count=0
+ $as_echo_n 0123456789 >"conftest.in"
+ while :
+ do
+ cat "conftest.in" "conftest.in" >"conftest.tmp"
+ mv "conftest.tmp" "conftest.in"
+ cp "conftest.in" "conftest.nl"
+ $as_echo 'FGREP' >> "conftest.nl"
+ "$ac_path_FGREP" FGREP < "conftest.nl" >"conftest.out" 2>/dev/null || break
+ diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
+ ac_count=`expr $ac_count + 1`
+ if test $ac_count -gt ${ac_path_FGREP_max-0}; then
+ # Best one so far, save it but keep looking for a better one
+ ac_cv_path_FGREP="$ac_path_FGREP"
+ ac_path_FGREP_max=$ac_count
+ fi
+ # 10*(2^10) chars as input seems more than enough
+ test $ac_count -gt 10 && break
+ done
+ rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
+esac
+ $ac_path_FGREP_found && break 3
+ done
+ done
+done
+IFS=$as_save_IFS
+ if test -z "$ac_cv_path_FGREP"; then
+ { { $as_echo "$as_me:$LINENO: error: no acceptable fgrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5
+$as_echo "$as_me: error: no acceptable fgrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;}
+ { (exit 1); exit 1; }; }
+ fi
+else
+ ac_cv_path_FGREP=$FGREP
+fi
fi
fi
-{ echo "$as_me:$LINENO: result: $ac_cv_path_EGREP" >&5
-echo "${ECHO_T}$ac_cv_path_EGREP" >&6; }
- EGREP="$ac_cv_path_EGREP"
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_path_FGREP" >&5
+$as_echo "$ac_cv_path_FGREP" >&6; }
+ FGREP="$ac_cv_path_FGREP"
+
+
+test -z "$GREP" && GREP=grep
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -4500,8 +4693,8 @@ fi
ac_prog=ld
if test "$GCC" = yes; then
# Check if gcc -print-prog-name=ld gives a path.
- { echo "$as_me:$LINENO: checking for ld used by $CC" >&5
-echo $ECHO_N "checking for ld used by $CC... $ECHO_C" >&6; }
+ { $as_echo "$as_me:$LINENO: checking for ld used by $CC" >&5
+$as_echo_n "checking for ld used by $CC... " >&6; }
case $host in
*-*-mingw*)
# gcc leaves a trailing carriage return which upsets mingw
@@ -4514,9 +4707,9 @@ echo $ECHO_N "checking for ld used by $CC... $ECHO_C" >&6; }
[\\/]* | ?:[\\/]*)
re_direlt='/[^/][^/]*/\.\./'
# Canonicalize the pathname of ld
- ac_prog=`echo $ac_prog| $SED 's%\\\\%/%g'`
- while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do
- ac_prog=`echo $ac_prog| $SED "s%$re_direlt%/%"`
+ ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'`
+ while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do
+ ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"`
done
test -z "$LD" && LD="$ac_prog"
;;
@@ -4530,14 +4723,14 @@ echo $ECHO_N "checking for ld used by $CC... $ECHO_C" >&6; }
;;
esac
elif test "$with_gnu_ld" = yes; then
- { echo "$as_me:$LINENO: checking for GNU ld" >&5
-echo $ECHO_N "checking for GNU ld... $ECHO_C" >&6; }
+ { $as_echo "$as_me:$LINENO: checking for GNU ld" >&5
+$as_echo_n "checking for GNU ld... " >&6; }
else
- { echo "$as_me:$LINENO: checking for non-GNU ld" >&5
-echo $ECHO_N "checking for non-GNU ld... $ECHO_C" >&6; }
+ { $as_echo "$as_me:$LINENO: checking for non-GNU ld" >&5
+$as_echo_n "checking for non-GNU ld... " >&6; }
fi
if test "${lt_cv_path_LD+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
if test -z "$LD"; then
lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
@@ -4567,19 +4760,19 @@ fi
LD="$lt_cv_path_LD"
if test -n "$LD"; then
- { echo "$as_me:$LINENO: result: $LD" >&5
-echo "${ECHO_T}$LD" >&6; }
+ { $as_echo "$as_me:$LINENO: result: $LD" >&5
+$as_echo "$LD" >&6; }
else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
fi
-test -z "$LD" && { { echo "$as_me:$LINENO: error: no acceptable ld found in \$PATH" >&5
-echo "$as_me: error: no acceptable ld found in \$PATH" >&2;}
+test -z "$LD" && { { $as_echo "$as_me:$LINENO: error: no acceptable ld found in \$PATH" >&5
+$as_echo "$as_me: error: no acceptable ld found in \$PATH" >&2;}
{ (exit 1); exit 1; }; }
-{ echo "$as_me:$LINENO: checking if the linker ($LD) is GNU ld" >&5
-echo $ECHO_N "checking if the linker ($LD) is GNU ld... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking if the linker ($LD) is GNU ld" >&5
+$as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; }
if test "${lt_cv_prog_gnu_ld+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
# I'd rather use --version here, but apparently some GNU lds only accept -v.
case `$LD -v 2>&1 </dev/null` in
@@ -4591,40 +4784,22 @@ case `$LD -v 2>&1 </dev/null` in
;;
esac
fi
-{ echo "$as_me:$LINENO: result: $lt_cv_prog_gnu_ld" >&5
-echo "${ECHO_T}$lt_cv_prog_gnu_ld" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $lt_cv_prog_gnu_ld" >&5
+$as_echo "$lt_cv_prog_gnu_ld" >&6; }
with_gnu_ld=$lt_cv_prog_gnu_ld
-{ echo "$as_me:$LINENO: checking for $LD option to reload object files" >&5
-echo $ECHO_N "checking for $LD option to reload object files... $ECHO_C" >&6; }
-if test "${lt_cv_ld_reload_flag+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- lt_cv_ld_reload_flag='-r'
-fi
-{ echo "$as_me:$LINENO: result: $lt_cv_ld_reload_flag" >&5
-echo "${ECHO_T}$lt_cv_ld_reload_flag" >&6; }
-reload_flag=$lt_cv_ld_reload_flag
-case $reload_flag in
-"" | " "*) ;;
-*) reload_flag=" $reload_flag" ;;
-esac
-reload_cmds='$LD$reload_flag -o $output$reload_objs'
-case $host_os in
- darwin*)
- if test "$GCC" = yes; then
- reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs'
- else
- reload_cmds='$LD$reload_flag -o $output$reload_objs'
- fi
- ;;
-esac
-{ echo "$as_me:$LINENO: checking for BSD-compatible nm" >&5
-echo $ECHO_N "checking for BSD-compatible nm... $ECHO_C" >&6; }
+
+
+
+
+
+
+{ $as_echo "$as_me:$LINENO: checking for BSD- or MS-compatible name lister (nm)" >&5
+$as_echo_n "checking for BSD- or MS-compatible name lister (nm)... " >&6; }
if test "${lt_cv_path_NM+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
if test -n "$NM"; then
# Let the user override the test.
@@ -4667,28 +4842,493 @@ else
done
IFS="$lt_save_ifs"
done
- test -z "$lt_cv_path_NM" && lt_cv_path_NM=nm
+ : ${lt_cv_path_NM=no}
+fi
+fi
+{ $as_echo "$as_me:$LINENO: result: $lt_cv_path_NM" >&5
+$as_echo "$lt_cv_path_NM" >&6; }
+if test "$lt_cv_path_NM" != "no"; then
+ NM="$lt_cv_path_NM"
+else
+ # Didn't find any BSD compatible name lister, look for dumpbin.
+ if test -n "$ac_tool_prefix"; then
+ for ac_prog in "dumpbin -symbols" "link -dump -symbols"
+ do
+ # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
+set dummy $ac_tool_prefix$ac_prog; ac_word=$2
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_DUMPBIN+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$DUMPBIN"; then
+ ac_cv_prog_DUMPBIN="$DUMPBIN" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_DUMPBIN="$ac_tool_prefix$ac_prog"
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+DUMPBIN=$ac_cv_prog_DUMPBIN
+if test -n "$DUMPBIN"; then
+ { $as_echo "$as_me:$LINENO: result: $DUMPBIN" >&5
+$as_echo "$DUMPBIN" >&6; }
+else
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+ test -n "$DUMPBIN" && break
+ done
+fi
+if test -z "$DUMPBIN"; then
+ ac_ct_DUMPBIN=$DUMPBIN
+ for ac_prog in "dumpbin -symbols" "link -dump -symbols"
+do
+ # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_ac_ct_DUMPBIN+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$ac_ct_DUMPBIN"; then
+ ac_cv_prog_ac_ct_DUMPBIN="$ac_ct_DUMPBIN" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_ac_ct_DUMPBIN="$ac_prog"
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
+
+fi
fi
+ac_ct_DUMPBIN=$ac_cv_prog_ac_ct_DUMPBIN
+if test -n "$ac_ct_DUMPBIN"; then
+ { $as_echo "$as_me:$LINENO: result: $ac_ct_DUMPBIN" >&5
+$as_echo "$ac_ct_DUMPBIN" >&6; }
+else
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
fi
-{ echo "$as_me:$LINENO: result: $lt_cv_path_NM" >&5
-echo "${ECHO_T}$lt_cv_path_NM" >&6; }
-NM="$lt_cv_path_NM"
-{ echo "$as_me:$LINENO: checking whether ln -s works" >&5
-echo $ECHO_N "checking whether ln -s works... $ECHO_C" >&6; }
+
+ test -n "$ac_ct_DUMPBIN" && break
+done
+
+ if test "x$ac_ct_DUMPBIN" = x; then
+ DUMPBIN=":"
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+ DUMPBIN=$ac_ct_DUMPBIN
+ fi
+fi
+
+
+ if test "$DUMPBIN" != ":"; then
+ NM="$DUMPBIN"
+ fi
+fi
+test -z "$NM" && NM=nm
+
+
+
+
+
+
+{ $as_echo "$as_me:$LINENO: checking the name lister ($NM) interface" >&5
+$as_echo_n "checking the name lister ($NM) interface... " >&6; }
+if test "${lt_cv_nm_interface+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ lt_cv_nm_interface="BSD nm"
+ echo "int some_variable = 0;" > conftest.$ac_ext
+ (eval echo "\"\$as_me:4973: $ac_compile\"" >&5)
+ (eval "$ac_compile" 2>conftest.err)
+ cat conftest.err >&5
+ (eval echo "\"\$as_me:4976: $NM \\\"conftest.$ac_objext\\\"\"" >&5)
+ (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out)
+ cat conftest.err >&5
+ (eval echo "\"\$as_me:4979: output\"" >&5)
+ cat conftest.out >&5
+ if $GREP 'External.*some_variable' conftest.out > /dev/null; then
+ lt_cv_nm_interface="MS dumpbin"
+ fi
+ rm -f conftest*
+fi
+{ $as_echo "$as_me:$LINENO: result: $lt_cv_nm_interface" >&5
+$as_echo "$lt_cv_nm_interface" >&6; }
+
+{ $as_echo "$as_me:$LINENO: checking whether ln -s works" >&5
+$as_echo_n "checking whether ln -s works... " >&6; }
LN_S=$as_ln_s
if test "$LN_S" = "ln -s"; then
- { echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; }
+ { $as_echo "$as_me:$LINENO: result: yes" >&5
+$as_echo "yes" >&6; }
else
- { echo "$as_me:$LINENO: result: no, using $LN_S" >&5
-echo "${ECHO_T}no, using $LN_S" >&6; }
+ { $as_echo "$as_me:$LINENO: result: no, using $LN_S" >&5
+$as_echo "no, using $LN_S" >&6; }
fi
-{ echo "$as_me:$LINENO: checking how to recognize dependent libraries" >&5
-echo $ECHO_N "checking how to recognize dependent libraries... $ECHO_C" >&6; }
+# find the maximum length of command line arguments
+{ $as_echo "$as_me:$LINENO: checking the maximum length of command line arguments" >&5
+$as_echo_n "checking the maximum length of command line arguments... " >&6; }
+if test "${lt_cv_sys_max_cmd_len+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ i=0
+ teststring="ABCD"
+
+ case $build_os in
+ msdosdjgpp*)
+ # On DJGPP, this test can blow up pretty badly due to problems in libc
+ # (any single argument exceeding 2000 bytes causes a buffer overrun
+ # during glob expansion). Even if it were fixed, the result of this
+ # check would be larger than it should be.
+ lt_cv_sys_max_cmd_len=12288; # 12K is about right
+ ;;
+
+ gnu*)
+ # Under GNU Hurd, this test is not required because there is
+ # no limit to the length of command line arguments.
+ # Libtool will interpret -1 as no limit whatsoever
+ lt_cv_sys_max_cmd_len=-1;
+ ;;
+
+ cygwin* | mingw* | cegcc*)
+ # On Win9x/ME, this test blows up -- it succeeds, but takes
+ # about 5 minutes as the teststring grows exponentially.
+ # Worse, since 9x/ME are not pre-emptively multitasking,
+ # you end up with a "frozen" computer, even though with patience
+ # the test eventually succeeds (with a max line length of 256k).
+ # Instead, let's just punt: use the minimum linelength reported by
+ # all of the supported platforms: 8192 (on NT/2K/XP).
+ lt_cv_sys_max_cmd_len=8192;
+ ;;
+
+ amigaos*)
+ # On AmigaOS with pdksh, this test takes hours, literally.
+ # So we just punt and use a minimum line length of 8192.
+ lt_cv_sys_max_cmd_len=8192;
+ ;;
+
+ netbsd* | freebsd* | openbsd* | darwin* | dragonfly*)
+ # This has been around since 386BSD, at least. Likely further.
+ if test -x /sbin/sysctl; then
+ lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax`
+ elif test -x /usr/sbin/sysctl; then
+ lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax`
+ else
+ lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs
+ fi
+ # And add a safety zone
+ lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
+ lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
+ ;;
+
+ interix*)
+ # We know the value 262144 and hardcode it with a safety zone (like BSD)
+ lt_cv_sys_max_cmd_len=196608
+ ;;
+
+ osf*)
+ # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure
+ # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not
+ # nice to cause kernel panics so lets avoid the loop below.
+ # First set a reasonable default.
+ lt_cv_sys_max_cmd_len=16384
+ #
+ if test -x /sbin/sysconfig; then
+ case `/sbin/sysconfig -q proc exec_disable_arg_limit` in
+ *1*) lt_cv_sys_max_cmd_len=-1 ;;
+ esac
+ fi
+ ;;
+ sco3.2v5*)
+ lt_cv_sys_max_cmd_len=102400
+ ;;
+ sysv5* | sco5v6* | sysv4.2uw2*)
+ kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null`
+ if test -n "$kargmax"; then
+ lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[ ]//'`
+ else
+ lt_cv_sys_max_cmd_len=32768
+ fi
+ ;;
+ *)
+ lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null`
+ if test -n "$lt_cv_sys_max_cmd_len"; then
+ lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
+ lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
+ else
+ # Make teststring a little bigger before we do anything with it.
+ # a 1K string should be a reasonable start.
+ for i in 1 2 3 4 5 6 7 8 ; do
+ teststring=$teststring$teststring
+ done
+ SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}}
+ # If test is not a shell built-in, we'll probably end up computing a
+ # maximum length that is only half of the actual maximum length, but
+ # we can't tell.
+ while { test "X"`$SHELL $0 --fallback-echo "X$teststring$teststring" 2>/dev/null` \
+ = "XX$teststring$teststring"; } >/dev/null 2>&1 &&
+ test $i != 17 # 1/2 MB should be enough
+ do
+ i=`expr $i + 1`
+ teststring=$teststring$teststring
+ done
+ # Only check the string length outside the loop.
+ lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1`
+ teststring=
+ # Add a significant safety factor because C++ compilers can tack on
+ # massive amounts of additional arguments before passing them to the
+ # linker. It appears as though 1/2 is a usable value.
+ lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2`
+ fi
+ ;;
+ esac
+
+fi
+
+if test -n $lt_cv_sys_max_cmd_len ; then
+ { $as_echo "$as_me:$LINENO: result: $lt_cv_sys_max_cmd_len" >&5
+$as_echo "$lt_cv_sys_max_cmd_len" >&6; }
+else
+ { $as_echo "$as_me:$LINENO: result: none" >&5
+$as_echo "none" >&6; }
+fi
+max_cmd_len=$lt_cv_sys_max_cmd_len
+
+
+
+
+
+
+: ${CP="cp -f"}
+: ${MV="mv -f"}
+: ${RM="rm -f"}
+
+{ $as_echo "$as_me:$LINENO: checking whether the shell understands some XSI constructs" >&5
+$as_echo_n "checking whether the shell understands some XSI constructs... " >&6; }
+# Try some XSI features
+xsi_shell=no
+( _lt_dummy="a/b/c"
+ test "${_lt_dummy##*/},${_lt_dummy%/*},"${_lt_dummy%"$_lt_dummy"}, \
+ = c,a/b,, \
+ && eval 'test $(( 1 + 1 )) -eq 2 \
+ && test "${#_lt_dummy}" -eq 5' ) >/dev/null 2>&1 \
+ && xsi_shell=yes
+{ $as_echo "$as_me:$LINENO: result: $xsi_shell" >&5
+$as_echo "$xsi_shell" >&6; }
+
+
+{ $as_echo "$as_me:$LINENO: checking whether the shell understands \"+=\"" >&5
+$as_echo_n "checking whether the shell understands \"+=\"... " >&6; }
+lt_shell_append=no
+( foo=bar; set foo baz; eval "$1+=\$2" && test "$foo" = barbaz ) \
+ >/dev/null 2>&1 \
+ && lt_shell_append=yes
+{ $as_echo "$as_me:$LINENO: result: $lt_shell_append" >&5
+$as_echo "$lt_shell_append" >&6; }
+
+
+if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
+ lt_unset=unset
+else
+ lt_unset=false
+fi
+
+
+
+
+
+# test EBCDIC or ASCII
+case `echo X|tr X '\101'` in
+ A) # ASCII based system
+ # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr
+ lt_SP2NL='tr \040 \012'
+ lt_NL2SP='tr \015\012 \040\040'
+ ;;
+ *) # EBCDIC based system
+ lt_SP2NL='tr \100 \n'
+ lt_NL2SP='tr \r\n \100\100'
+ ;;
+esac
+
+
+
+
+
+
+
+
+
+{ $as_echo "$as_me:$LINENO: checking for $LD option to reload object files" >&5
+$as_echo_n "checking for $LD option to reload object files... " >&6; }
+if test "${lt_cv_ld_reload_flag+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ lt_cv_ld_reload_flag='-r'
+fi
+{ $as_echo "$as_me:$LINENO: result: $lt_cv_ld_reload_flag" >&5
+$as_echo "$lt_cv_ld_reload_flag" >&6; }
+reload_flag=$lt_cv_ld_reload_flag
+case $reload_flag in
+"" | " "*) ;;
+*) reload_flag=" $reload_flag" ;;
+esac
+reload_cmds='$LD$reload_flag -o $output$reload_objs'
+case $host_os in
+ darwin*)
+ if test "$GCC" = yes; then
+ reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs'
+ else
+ reload_cmds='$LD$reload_flag -o $output$reload_objs'
+ fi
+ ;;
+esac
+
+
+
+
+
+
+
+
+
+if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}objdump", so it can be a program name with args.
+set dummy ${ac_tool_prefix}objdump; ac_word=$2
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_OBJDUMP+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$OBJDUMP"; then
+ ac_cv_prog_OBJDUMP="$OBJDUMP" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_OBJDUMP="${ac_tool_prefix}objdump"
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+OBJDUMP=$ac_cv_prog_OBJDUMP
+if test -n "$OBJDUMP"; then
+ { $as_echo "$as_me:$LINENO: result: $OBJDUMP" >&5
+$as_echo "$OBJDUMP" >&6; }
+else
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_OBJDUMP"; then
+ ac_ct_OBJDUMP=$OBJDUMP
+ # Extract the first word of "objdump", so it can be a program name with args.
+set dummy objdump; ac_word=$2
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_ac_ct_OBJDUMP+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$ac_ct_OBJDUMP"; then
+ ac_cv_prog_ac_ct_OBJDUMP="$ac_ct_OBJDUMP" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_ac_ct_OBJDUMP="objdump"
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_OBJDUMP=$ac_cv_prog_ac_ct_OBJDUMP
+if test -n "$ac_ct_OBJDUMP"; then
+ { $as_echo "$as_me:$LINENO: result: $ac_ct_OBJDUMP" >&5
+$as_echo "$ac_ct_OBJDUMP" >&6; }
+else
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+ if test "x$ac_ct_OBJDUMP" = x; then
+ OBJDUMP="false"
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+ OBJDUMP=$ac_ct_OBJDUMP
+ fi
+else
+ OBJDUMP="$ac_cv_prog_OBJDUMP"
+fi
+
+test -z "$OBJDUMP" && OBJDUMP=objdump
+
+
+
+
+
+
+
+
+
+{ $as_echo "$as_me:$LINENO: checking how to recognize dependent libraries" >&5
+$as_echo_n "checking how to recognize dependent libraries... " >&6; }
if test "${lt_cv_deplibs_check_method+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
lt_cv_file_magic_cmd='$MAGIC_CMD'
lt_cv_file_magic_test_file=
@@ -4705,7 +5345,7 @@ lt_cv_deplibs_check_method='unknown'
# whether `pass_all' will *always* work, you probably want this one.
case $host_os in
-aix4* | aix5*)
+aix[4-9]*)
lt_cv_deplibs_check_method=pass_all
;;
@@ -4738,12 +5378,18 @@ mingw* | pw32*)
fi
;;
+cegcc)
+ # use the weaker test based on 'objdump'. See mingw*.
+ lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?'
+ lt_cv_file_magic_cmd='$OBJDUMP -f'
+ ;;
+
darwin* | rhapsody*)
lt_cv_deplibs_check_method=pass_all
;;
freebsd* | dragonfly*)
- if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
+ if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
case $host_cpu in
i*86 )
# Not sure whether the presence of OpenBSD here was a mistake.
@@ -4800,8 +5446,8 @@ linux* | k*bsd*-gnu)
lt_cv_deplibs_check_method=pass_all
;;
-netbsd*)
- if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
+netbsd* | netbsdelf*-gnu)
+ if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$'
else
lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|_pic\.a)$'
@@ -4814,12 +5460,12 @@ newos6*)
lt_cv_file_magic_test_file=/usr/lib/libnls.so
;;
-nto-qnx*)
- lt_cv_deplibs_check_method=unknown
+*nto* | *qnx*)
+ lt_cv_deplibs_check_method=pass_all
;;
openbsd*)
- if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+ if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|\.so|_pic\.a)$'
else
lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$'
@@ -4838,6 +5484,10 @@ solaris*)
lt_cv_deplibs_check_method=pass_all
;;
+sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
sysv4 | sysv4.3*)
case $host_vendor in
motorola)
@@ -4865,14 +5515,14 @@ sysv4 | sysv4.3*)
esac
;;
-sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
+tpf*)
lt_cv_deplibs_check_method=pass_all
;;
esac
fi
-{ echo "$as_me:$LINENO: result: $lt_cv_deplibs_check_method" >&5
-echo "${ECHO_T}$lt_cv_deplibs_check_method" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $lt_cv_deplibs_check_method" >&5
+$as_echo "$lt_cv_deplibs_check_method" >&6; }
file_magic_cmd=$lt_cv_file_magic_cmd
deplibs_check_method=$lt_cv_deplibs_check_method
test -z "$deplibs_check_method" && deplibs_check_method=unknown
@@ -4880,6 +5530,367 @@ test -z "$deplibs_check_method" && deplibs_check_method=unknown
+
+
+
+
+
+
+
+
+if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args.
+set dummy ${ac_tool_prefix}ar; ac_word=$2
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_AR+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$AR"; then
+ ac_cv_prog_AR="$AR" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_AR="${ac_tool_prefix}ar"
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+AR=$ac_cv_prog_AR
+if test -n "$AR"; then
+ { $as_echo "$as_me:$LINENO: result: $AR" >&5
+$as_echo "$AR" >&6; }
+else
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_AR"; then
+ ac_ct_AR=$AR
+ # Extract the first word of "ar", so it can be a program name with args.
+set dummy ar; ac_word=$2
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_ac_ct_AR+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$ac_ct_AR"; then
+ ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_ac_ct_AR="ar"
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_AR=$ac_cv_prog_ac_ct_AR
+if test -n "$ac_ct_AR"; then
+ { $as_echo "$as_me:$LINENO: result: $ac_ct_AR" >&5
+$as_echo "$ac_ct_AR" >&6; }
+else
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+ if test "x$ac_ct_AR" = x; then
+ AR="false"
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+ AR=$ac_ct_AR
+ fi
+else
+ AR="$ac_cv_prog_AR"
+fi
+
+test -z "$AR" && AR=ar
+test -z "$AR_FLAGS" && AR_FLAGS=cru
+
+
+
+
+
+
+
+
+
+
+
+if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
+set dummy ${ac_tool_prefix}strip; ac_word=$2
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_STRIP+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$STRIP"; then
+ ac_cv_prog_STRIP="$STRIP" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_STRIP="${ac_tool_prefix}strip"
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+STRIP=$ac_cv_prog_STRIP
+if test -n "$STRIP"; then
+ { $as_echo "$as_me:$LINENO: result: $STRIP" >&5
+$as_echo "$STRIP" >&6; }
+else
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_STRIP"; then
+ ac_ct_STRIP=$STRIP
+ # Extract the first word of "strip", so it can be a program name with args.
+set dummy strip; ac_word=$2
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$ac_ct_STRIP"; then
+ ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_ac_ct_STRIP="strip"
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP
+if test -n "$ac_ct_STRIP"; then
+ { $as_echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5
+$as_echo "$ac_ct_STRIP" >&6; }
+else
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+ if test "x$ac_ct_STRIP" = x; then
+ STRIP=":"
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+ STRIP=$ac_ct_STRIP
+ fi
+else
+ STRIP="$ac_cv_prog_STRIP"
+fi
+
+test -z "$STRIP" && STRIP=:
+
+
+
+
+
+
+if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
+set dummy ${ac_tool_prefix}ranlib; ac_word=$2
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_RANLIB+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$RANLIB"; then
+ ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+RANLIB=$ac_cv_prog_RANLIB
+if test -n "$RANLIB"; then
+ { $as_echo "$as_me:$LINENO: result: $RANLIB" >&5
+$as_echo "$RANLIB" >&6; }
+else
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_RANLIB"; then
+ ac_ct_RANLIB=$RANLIB
+ # Extract the first word of "ranlib", so it can be a program name with args.
+set dummy ranlib; ac_word=$2
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$ac_ct_RANLIB"; then
+ ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_ac_ct_RANLIB="ranlib"
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB
+if test -n "$ac_ct_RANLIB"; then
+ { $as_echo "$as_me:$LINENO: result: $ac_ct_RANLIB" >&5
+$as_echo "$ac_ct_RANLIB" >&6; }
+else
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+ if test "x$ac_ct_RANLIB" = x; then
+ RANLIB=":"
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+ RANLIB=$ac_ct_RANLIB
+ fi
+else
+ RANLIB="$ac_cv_prog_RANLIB"
+fi
+
+test -z "$RANLIB" && RANLIB=:
+
+
+
+
+
+
+# Determine commands to create old-style static archives.
+old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs'
+old_postinstall_cmds='chmod 644 $oldlib'
+old_postuninstall_cmds=
+
+if test -n "$RANLIB"; then
+ case $host_os in
+ openbsd*)
+ old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib"
+ ;;
+ *)
+ old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib"
+ ;;
+ esac
+ old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib"
+fi
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
# If no C compiler was specified, use CC.
LTCC=${LTCC-"$CC"}
@@ -4890,6 +5901,256 @@ LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
compiler=$CC
+# Check for command to grab the raw symbol name followed by C symbol from nm.
+{ $as_echo "$as_me:$LINENO: checking command to parse $NM output from $compiler object" >&5
+$as_echo_n "checking command to parse $NM output from $compiler object... " >&6; }
+if test "${lt_cv_sys_global_symbol_pipe+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+
+# These are sane defaults that work on at least a few old systems.
+# [They come from Ultrix. What could be older than Ultrix?!! ;)]
+
+# Character class describing NM global symbol codes.
+symcode='[BCDEGRST]'
+
+# Regexp to match symbols that can be accessed directly from C.
+sympat='\([_A-Za-z][_A-Za-z0-9]*\)'
+
+# Define system-specific variables.
+case $host_os in
+aix*)
+ symcode='[BCDT]'
+ ;;
+cygwin* | mingw* | pw32* | cegcc*)
+ symcode='[ABCDGISTW]'
+ ;;
+hpux*)
+ if test "$host_cpu" = ia64; then
+ symcode='[ABCDEGRST]'
+ fi
+ ;;
+irix* | nonstopux*)
+ symcode='[BCDEGRST]'
+ ;;
+osf*)
+ symcode='[BCDEGQRST]'
+ ;;
+solaris*)
+ symcode='[BDRT]'
+ ;;
+sco3.2v5*)
+ symcode='[DT]'
+ ;;
+sysv4.2uw2*)
+ symcode='[DT]'
+ ;;
+sysv5* | sco5v6* | unixware* | OpenUNIX*)
+ symcode='[ABDT]'
+ ;;
+sysv4)
+ symcode='[DFNSTU]'
+ ;;
+esac
+
+# If we're using GNU nm, then use its standard symbol codes.
+case `$NM -V 2>&1` in
+*GNU* | *'with BFD'*)
+ symcode='[ABCDGIRSTW]' ;;
+esac
+
+# Transform an extracted symbol line into a proper C declaration.
+# Some systems (esp. on ia64) link data and code symbols differently,
+# so use this general approach.
+lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
+
+# Transform an extracted symbol line into symbol name and symbol address
+lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\) $/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"\2\", (void *) \&\2},/p'"
+lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n -e 's/^: \([^ ]*\) $/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([^ ]*\) \(lib[^ ]*\)$/ {\"\2\", (void *) \&\2},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"lib\2\", (void *) \&\2},/p'"
+
+# Handle CRLF in mingw tool chain
+opt_cr=
+case $build_os in
+mingw*)
+ opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp
+ ;;
+esac
+
+# Try without a prefix underscore, then with it.
+for ac_symprfx in "" "_"; do
+
+ # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol.
+ symxfrm="\\1 $ac_symprfx\\2 \\2"
+
+ # Write the raw and C identifiers.
+ if test "$lt_cv_nm_interface" = "MS dumpbin"; then
+ # Fake it for dumpbin and say T for any non-static function
+ # and D for any global variable.
+ # Also find C++ and __fastcall symbols from MSVC++,
+ # which start with @ or ?.
+ lt_cv_sys_global_symbol_pipe="$AWK '"\
+" {last_section=section; section=\$ 3};"\
+" /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\
+" \$ 0!~/External *\|/{next};"\
+" / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\
+" {if(hide[section]) next};"\
+" {f=0}; \$ 0~/\(\).*\|/{f=1}; {printf f ? \"T \" : \"D \"};"\
+" {split(\$ 0, a, /\||\r/); split(a[2], s)};"\
+" s[1]~/^[@?]/{print s[1], s[1]; next};"\
+" s[1]~prfx {split(s[1],t,\"@\"); print t[1], substr(t[1],length(prfx))}"\
+" ' prfx=^$ac_symprfx"
+ else
+ lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[ ]\($symcode$symcode*\)[ ][ ]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'"
+ fi
+
+ # Check to see that the pipe works correctly.
+ pipe_works=no
+
+ rm -f conftest*
+ cat > conftest.$ac_ext <<_LT_EOF
+#ifdef __cplusplus
+extern "C" {
+#endif
+char nm_test_var;
+void nm_test_func(void);
+void nm_test_func(void){}
+#ifdef __cplusplus
+}
+#endif
+int main(){nm_test_var='a';nm_test_func();return(0);}
+_LT_EOF
+
+ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; then
+ # Now try to grab the symbols.
+ nlist=conftest.nm
+ if { (eval echo "$as_me:$LINENO: \"$NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist\"") >&5
+ (eval $NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist) 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && test -s "$nlist"; then
+ # Try sorting and uniquifying the output.
+ if sort "$nlist" | uniq > "$nlist"T; then
+ mv -f "$nlist"T "$nlist"
+ else
+ rm -f "$nlist"T
+ fi
+
+ # Make sure that we snagged all the symbols we need.
+ if $GREP ' nm_test_var$' "$nlist" >/dev/null; then
+ if $GREP ' nm_test_func$' "$nlist" >/dev/null; then
+ cat <<_LT_EOF > conftest.$ac_ext
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+_LT_EOF
+ # Now generate the symbol file.
+ eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext'
+
+ cat <<_LT_EOF >> conftest.$ac_ext
+
+/* The mapping between symbol names and symbols. */
+const struct {
+ const char *name;
+ void *address;
+}
+lt__PROGRAM__LTX_preloaded_symbols[] =
+{
+ { "@PROGRAM@", (void *) 0 },
+_LT_EOF
+ $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (void *) \&\2},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext
+ cat <<\_LT_EOF >> conftest.$ac_ext
+ {0, (void *) 0}
+};
+
+/* This works around a problem in FreeBSD linker */
+#ifdef FREEBSD_WORKAROUND
+static const void *lt_preloaded_setup() {
+ return lt__PROGRAM__LTX_preloaded_symbols;
+}
+#endif
+
+#ifdef __cplusplus
+}
+#endif
+_LT_EOF
+ # Now try linking the two files.
+ mv conftest.$ac_objext conftstm.$ac_objext
+ lt_save_LIBS="$LIBS"
+ lt_save_CFLAGS="$CFLAGS"
+ LIBS="conftstm.$ac_objext"
+ CFLAGS="$CFLAGS$lt_prog_compiler_no_builtin_flag"
+ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && test -s conftest${ac_exeext}; then
+ pipe_works=yes
+ fi
+ LIBS="$lt_save_LIBS"
+ CFLAGS="$lt_save_CFLAGS"
+ else
+ echo "cannot find nm_test_func in $nlist" >&5
+ fi
+ else
+ echo "cannot find nm_test_var in $nlist" >&5
+ fi
+ else
+ echo "cannot run $lt_cv_sys_global_symbol_pipe" >&5
+ fi
+ else
+ echo "$progname: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ fi
+ rm -rf conftest* conftst*
+
+ # Do not use the global_symbol_pipe unless it works.
+ if test "$pipe_works" = yes; then
+ break
+ else
+ lt_cv_sys_global_symbol_pipe=
+ fi
+done
+
+fi
+
+if test -z "$lt_cv_sys_global_symbol_pipe"; then
+ lt_cv_sys_global_symbol_to_cdecl=
+fi
+if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then
+ { $as_echo "$as_me:$LINENO: result: failed" >&5
+$as_echo "failed" >&6; }
+else
+ { $as_echo "$as_me:$LINENO: result: ok" >&5
+$as_echo "ok" >&6; }
+fi
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
# Check whether --enable-libtool-lock was given.
if test "${enable_libtool_lock+set}" = set; then
enableval=$enable_libtool_lock;
@@ -4906,105 +6167,104 @@ ia64-*-hpux*)
if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
(eval $ac_compile) 2>&5
ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; then
case `/usr/bin/file conftest.$ac_objext` in
- *ELF-32*)
- HPUX_IA64_MODE="32"
- ;;
- *ELF-64*)
- HPUX_IA64_MODE="64"
- ;;
+ *ELF-32*)
+ HPUX_IA64_MODE="32"
+ ;;
+ *ELF-64*)
+ HPUX_IA64_MODE="64"
+ ;;
esac
fi
rm -rf conftest*
;;
*-*-irix6*)
# Find out which ABI we are using.
- echo '#line 4924 "configure"' > conftest.$ac_ext
+ echo '#line 6185 "configure"' > conftest.$ac_ext
if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
(eval $ac_compile) 2>&5
ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; then
- if test "$lt_cv_prog_gnu_ld" = yes; then
- case `/usr/bin/file conftest.$ac_objext` in
- *32-bit*)
- LD="${LD-ld} -melf32bsmip"
- ;;
- *N32*)
- LD="${LD-ld} -melf32bmipn32"
- ;;
- *64-bit*)
- LD="${LD-ld} -melf64bmip"
- ;;
- esac
- else
- case `/usr/bin/file conftest.$ac_objext` in
- *32-bit*)
- LD="${LD-ld} -32"
- ;;
- *N32*)
- LD="${LD-ld} -n32"
- ;;
- *64-bit*)
- LD="${LD-ld} -64"
- ;;
- esac
- fi
+ if test "$lt_cv_prog_gnu_ld" = yes; then
+ case `/usr/bin/file conftest.$ac_objext` in
+ *32-bit*)
+ LD="${LD-ld} -melf32bsmip"
+ ;;
+ *N32*)
+ LD="${LD-ld} -melf32bmipn32"
+ ;;
+ *64-bit*)
+ LD="${LD-ld} -melf64bmip"
+ ;;
+ esac
+ else
+ case `/usr/bin/file conftest.$ac_objext` in
+ *32-bit*)
+ LD="${LD-ld} -32"
+ ;;
+ *N32*)
+ LD="${LD-ld} -n32"
+ ;;
+ *64-bit*)
+ LD="${LD-ld} -64"
+ ;;
+ esac
+ fi
fi
rm -rf conftest*
;;
x86_64-*kfreebsd*-gnu|x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*| \
-s390*-*linux*|sparc*-*linux*)
+s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
# Find out which ABI we are using.
echo 'int i;' > conftest.$ac_ext
if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
(eval $ac_compile) 2>&5
ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; then
case `/usr/bin/file conftest.o` in
- *32-bit*)
- case $host in
- x86_64-*kfreebsd*-gnu)
- LD="${LD-ld} -m elf_i386_fbsd"
- ;;
- x86_64-*linux*)
- LD="${LD-ld} -m elf_i386"
- ;;
- ppc64-*linux*|powerpc64-*linux*)
- LD="${LD-ld} -m elf32ppclinux"
- ;;
- s390x-*linux*)
- LD="${LD-ld} -m elf_s390"
- ;;
- sparc64-*linux*)
- LD="${LD-ld} -m elf32_sparc"
- ;;
- esac
- ;;
- *64-bit*)
- libsuff=64
- case $host in
- x86_64-*kfreebsd*-gnu)
- LD="${LD-ld} -m elf_x86_64_fbsd"
- ;;
- x86_64-*linux*)
- LD="${LD-ld} -m elf_x86_64"
- ;;
- ppc*-*linux*|powerpc*-*linux*)
- LD="${LD-ld} -m elf64ppc"
- ;;
- s390*-*linux*)
- LD="${LD-ld} -m elf64_s390"
- ;;
- sparc*-*linux*)
- LD="${LD-ld} -m elf64_sparc"
- ;;
- esac
- ;;
+ *32-bit*)
+ case $host in
+ x86_64-*kfreebsd*-gnu)
+ LD="${LD-ld} -m elf_i386_fbsd"
+ ;;
+ x86_64-*linux*)
+ LD="${LD-ld} -m elf_i386"
+ ;;
+ ppc64-*linux*|powerpc64-*linux*)
+ LD="${LD-ld} -m elf32ppclinux"
+ ;;
+ s390x-*linux*)
+ LD="${LD-ld} -m elf_s390"
+ ;;
+ sparc64-*linux*)
+ LD="${LD-ld} -m elf32_sparc"
+ ;;
+ esac
+ ;;
+ *64-bit*)
+ case $host in
+ x86_64-*kfreebsd*-gnu)
+ LD="${LD-ld} -m elf_x86_64_fbsd"
+ ;;
+ x86_64-*linux*)
+ LD="${LD-ld} -m elf_x86_64"
+ ;;
+ ppc*-*linux*|powerpc*-*linux*)
+ LD="${LD-ld} -m elf64ppc"
+ ;;
+ s390*-*linux*|s390*-*tpf*)
+ LD="${LD-ld} -m elf64_s390"
+ ;;
+ sparc*-*linux*)
+ LD="${LD-ld} -m elf64_sparc"
+ ;;
+ esac
+ ;;
esac
fi
rm -rf conftest*
@@ -5014,10 +6274,10 @@ s390*-*linux*|sparc*-*linux*)
# On SCO OpenServer 5, we need -belf to get full-featured binaries.
SAVE_CFLAGS="$CFLAGS"
CFLAGS="$CFLAGS -belf"
- { echo "$as_me:$LINENO: checking whether the C compiler needs -belf" >&5
-echo $ECHO_N "checking whether the C compiler needs -belf... $ECHO_C" >&6; }
+ { $as_echo "$as_me:$LINENO: checking whether the C compiler needs -belf" >&5
+$as_echo_n "checking whether the C compiler needs -belf... " >&6; }
if test "${lt_cv_cc_needs_belf+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
ac_ext=c
ac_cpp='$CPP $CPPFLAGS'
@@ -5046,26 +6306,30 @@ case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
(eval "$ac_link") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
test -z "$ac_c_werror_flag" ||
test ! -s conftest.err
- } && test -s conftest$ac_exeext &&
- $as_test_x conftest$ac_exeext; then
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
lt_cv_cc_needs_belf=yes
else
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
lt_cv_cc_needs_belf=no
fi
+rm -rf conftest.dSYM
rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
conftest$ac_exeext conftest.$ac_ext
ac_ext=c
@@ -5075,8 +6339,8 @@ ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $
ac_compiler_gnu=$ac_cv_c_compiler_gnu
fi
-{ echo "$as_me:$LINENO: result: $lt_cv_cc_needs_belf" >&5
-echo "${ECHO_T}$lt_cv_cc_needs_belf" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $lt_cv_cc_needs_belf" >&5
+$as_echo "$lt_cv_cc_needs_belf" >&6; }
if test x"$lt_cv_cc_needs_belf" != x"yes"; then
# this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf
CFLAGS="$SAVE_CFLAGS"
@@ -5088,40 +6352,655 @@ sparc*-*solaris*)
if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
(eval $ac_compile) 2>&5
ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; then
case `/usr/bin/file conftest.o` in
*64-bit*)
case $lt_cv_prog_gnu_ld in
yes*) LD="${LD-ld} -m elf64_sparc" ;;
- *) LD="${LD-ld} -64" ;;
+ *)
+ if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then
+ LD="${LD-ld} -64"
+ fi
+ ;;
esac
;;
esac
fi
rm -rf conftest*
;;
+esac
+need_locks="$enable_libtool_lock"
+
+ case $host_os in
+ rhapsody* | darwin*)
+ if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}dsymutil", so it can be a program name with args.
+set dummy ${ac_tool_prefix}dsymutil; ac_word=$2
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_DSYMUTIL+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$DSYMUTIL"; then
+ ac_cv_prog_DSYMUTIL="$DSYMUTIL" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_DSYMUTIL="${ac_tool_prefix}dsymutil"
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+DSYMUTIL=$ac_cv_prog_DSYMUTIL
+if test -n "$DSYMUTIL"; then
+ { $as_echo "$as_me:$LINENO: result: $DSYMUTIL" >&5
+$as_echo "$DSYMUTIL" >&6; }
+else
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_DSYMUTIL"; then
+ ac_ct_DSYMUTIL=$DSYMUTIL
+ # Extract the first word of "dsymutil", so it can be a program name with args.
+set dummy dsymutil; ac_word=$2
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_ac_ct_DSYMUTIL+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$ac_ct_DSYMUTIL"; then
+ ac_cv_prog_ac_ct_DSYMUTIL="$ac_ct_DSYMUTIL" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_ac_ct_DSYMUTIL="dsymutil"
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_DSYMUTIL=$ac_cv_prog_ac_ct_DSYMUTIL
+if test -n "$ac_ct_DSYMUTIL"; then
+ { $as_echo "$as_me:$LINENO: result: $ac_ct_DSYMUTIL" >&5
+$as_echo "$ac_ct_DSYMUTIL" >&6; }
+else
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+ if test "x$ac_ct_DSYMUTIL" = x; then
+ DSYMUTIL=":"
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
esac
+ DSYMUTIL=$ac_ct_DSYMUTIL
+ fi
+else
+ DSYMUTIL="$ac_cv_prog_DSYMUTIL"
+fi
-need_locks="$enable_libtool_lock"
+ if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}nmedit", so it can be a program name with args.
+set dummy ${ac_tool_prefix}nmedit; ac_word=$2
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_NMEDIT+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$NMEDIT"; then
+ ac_cv_prog_NMEDIT="$NMEDIT" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_NMEDIT="${ac_tool_prefix}nmedit"
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+NMEDIT=$ac_cv_prog_NMEDIT
+if test -n "$NMEDIT"; then
+ { $as_echo "$as_me:$LINENO: result: $NMEDIT" >&5
+$as_echo "$NMEDIT" >&6; }
+else
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_NMEDIT"; then
+ ac_ct_NMEDIT=$NMEDIT
+ # Extract the first word of "nmedit", so it can be a program name with args.
+set dummy nmedit; ac_word=$2
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_ac_ct_NMEDIT+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$ac_ct_NMEDIT"; then
+ ac_cv_prog_ac_ct_NMEDIT="$ac_ct_NMEDIT" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_ac_ct_NMEDIT="nmedit"
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_NMEDIT=$ac_cv_prog_ac_ct_NMEDIT
+if test -n "$ac_ct_NMEDIT"; then
+ { $as_echo "$as_me:$LINENO: result: $ac_ct_NMEDIT" >&5
+$as_echo "$ac_ct_NMEDIT" >&6; }
+else
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+ if test "x$ac_ct_NMEDIT" = x; then
+ NMEDIT=":"
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+ NMEDIT=$ac_ct_NMEDIT
+ fi
+else
+ NMEDIT="$ac_cv_prog_NMEDIT"
+fi
+
+ if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}lipo", so it can be a program name with args.
+set dummy ${ac_tool_prefix}lipo; ac_word=$2
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_LIPO+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$LIPO"; then
+ ac_cv_prog_LIPO="$LIPO" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_LIPO="${ac_tool_prefix}lipo"
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+LIPO=$ac_cv_prog_LIPO
+if test -n "$LIPO"; then
+ { $as_echo "$as_me:$LINENO: result: $LIPO" >&5
+$as_echo "$LIPO" >&6; }
+else
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_LIPO"; then
+ ac_ct_LIPO=$LIPO
+ # Extract the first word of "lipo", so it can be a program name with args.
+set dummy lipo; ac_word=$2
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_ac_ct_LIPO+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$ac_ct_LIPO"; then
+ ac_cv_prog_ac_ct_LIPO="$ac_ct_LIPO" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_ac_ct_LIPO="lipo"
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_LIPO=$ac_cv_prog_ac_ct_LIPO
+if test -n "$ac_ct_LIPO"; then
+ { $as_echo "$as_me:$LINENO: result: $ac_ct_LIPO" >&5
+$as_echo "$ac_ct_LIPO" >&6; }
+else
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+ if test "x$ac_ct_LIPO" = x; then
+ LIPO=":"
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+ LIPO=$ac_ct_LIPO
+ fi
+else
+ LIPO="$ac_cv_prog_LIPO"
+fi
+
+ if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}otool", so it can be a program name with args.
+set dummy ${ac_tool_prefix}otool; ac_word=$2
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_OTOOL+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$OTOOL"; then
+ ac_cv_prog_OTOOL="$OTOOL" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_OTOOL="${ac_tool_prefix}otool"
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+OTOOL=$ac_cv_prog_OTOOL
+if test -n "$OTOOL"; then
+ { $as_echo "$as_me:$LINENO: result: $OTOOL" >&5
+$as_echo "$OTOOL" >&6; }
+else
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_OTOOL"; then
+ ac_ct_OTOOL=$OTOOL
+ # Extract the first word of "otool", so it can be a program name with args.
+set dummy otool; ac_word=$2
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_ac_ct_OTOOL+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$ac_ct_OTOOL"; then
+ ac_cv_prog_ac_ct_OTOOL="$ac_ct_OTOOL" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_ac_ct_OTOOL="otool"
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_OTOOL=$ac_cv_prog_ac_ct_OTOOL
+if test -n "$ac_ct_OTOOL"; then
+ { $as_echo "$as_me:$LINENO: result: $ac_ct_OTOOL" >&5
+$as_echo "$ac_ct_OTOOL" >&6; }
+else
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+ if test "x$ac_ct_OTOOL" = x; then
+ OTOOL=":"
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+ OTOOL=$ac_ct_OTOOL
+ fi
+else
+ OTOOL="$ac_cv_prog_OTOOL"
+fi
+
+ if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}otool64", so it can be a program name with args.
+set dummy ${ac_tool_prefix}otool64; ac_word=$2
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_OTOOL64+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$OTOOL64"; then
+ ac_cv_prog_OTOOL64="$OTOOL64" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_OTOOL64="${ac_tool_prefix}otool64"
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+OTOOL64=$ac_cv_prog_OTOOL64
+if test -n "$OTOOL64"; then
+ { $as_echo "$as_me:$LINENO: result: $OTOOL64" >&5
+$as_echo "$OTOOL64" >&6; }
+else
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_OTOOL64"; then
+ ac_ct_OTOOL64=$OTOOL64
+ # Extract the first word of "otool64", so it can be a program name with args.
+set dummy otool64; ac_word=$2
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_ac_ct_OTOOL64+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$ac_ct_OTOOL64"; then
+ ac_cv_prog_ac_ct_OTOOL64="$ac_ct_OTOOL64" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_ac_ct_OTOOL64="otool64"
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_OTOOL64=$ac_cv_prog_ac_ct_OTOOL64
+if test -n "$ac_ct_OTOOL64"; then
+ { $as_echo "$as_me:$LINENO: result: $ac_ct_OTOOL64" >&5
+$as_echo "$ac_ct_OTOOL64" >&6; }
+else
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+ if test "x$ac_ct_OTOOL64" = x; then
+ OTOOL64=":"
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+ OTOOL64=$ac_ct_OTOOL64
+ fi
+else
+ OTOOL64="$ac_cv_prog_OTOOL64"
+fi
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ { $as_echo "$as_me:$LINENO: checking for -single_module linker flag" >&5
+$as_echo_n "checking for -single_module linker flag... " >&6; }
+if test "${lt_cv_apple_cc_single_mod+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ lt_cv_apple_cc_single_mod=no
+ if test -z "${LT_MULTI_MODULE}"; then
+ # By default we will add the -single_module flag. You can override
+ # by either setting the environment variable LT_MULTI_MODULE
+ # non-empty at configure time, or by adding -multi_module to the
+ # link flags.
+ rm -rf libconftest.dylib*
+ echo "int foo(void){return 1;}" > conftest.c
+ echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
+-dynamiclib -Wl,-single_module conftest.c" >&5
+ $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
+ -dynamiclib -Wl,-single_module conftest.c 2>conftest.err
+ _lt_result=$?
+ if test -f libconftest.dylib && test ! -s conftest.err && test $_lt_result = 0; then
+ lt_cv_apple_cc_single_mod=yes
+ else
+ cat conftest.err >&5
+ fi
+ rm -rf libconftest.dylib*
+ rm -f conftest.*
+ fi
+fi
+{ $as_echo "$as_me:$LINENO: result: $lt_cv_apple_cc_single_mod" >&5
+$as_echo "$lt_cv_apple_cc_single_mod" >&6; }
+ { $as_echo "$as_me:$LINENO: checking for -exported_symbols_list linker flag" >&5
+$as_echo_n "checking for -exported_symbols_list linker flag... " >&6; }
+if test "${lt_cv_ld_exported_symbols_list+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ lt_cv_ld_exported_symbols_list=no
+ save_LDFLAGS=$LDFLAGS
+ echo "_main" > conftest.sym
+ LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
+ lt_cv_ld_exported_symbols_list=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ lt_cv_ld_exported_symbols_list=no
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+ LDFLAGS="$save_LDFLAGS"
+
+fi
+{ $as_echo "$as_me:$LINENO: result: $lt_cv_ld_exported_symbols_list" >&5
+$as_echo "$lt_cv_ld_exported_symbols_list" >&6; }
+ case $host_os in
+ rhapsody* | darwin1.[012])
+ _lt_dar_allow_undefined='${wl}-undefined ${wl}suppress' ;;
+ darwin1.*)
+ _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
+ darwin*) # darwin 5.x on
+ # if running on 10.5 or later, the deployment target defaults
+ # to the OS version, if on x86, and 10.4, the deployment
+ # target defaults to 10.4. Don't you love it?
+ case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in
+ 10.0,*86*-darwin8*|10.0,*-darwin[91]*)
+ _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
+ 10.[012]*)
+ _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
+ 10.*)
+ _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
+ esac
+ ;;
+ esac
+ if test "$lt_cv_apple_cc_single_mod" = "yes"; then
+ _lt_dar_single_mod='$single_module'
+ fi
+ if test "$lt_cv_ld_exported_symbols_list" = "yes"; then
+ _lt_dar_export_syms=' ${wl}-exported_symbols_list,$output_objdir/${libname}-symbols.expsym'
+ else
+ _lt_dar_export_syms='~$NMEDIT -s $output_objdir/${libname}-symbols.expsym ${lib}'
+ fi
+ if test "$DSYMUTIL" != ":"; then
+ _lt_dsymutil='~$DSYMUTIL $lib || :'
+ else
+ _lt_dsymutil=
+ fi
+ ;;
+ esac
+
ac_ext=c
ac_cpp='$CPP $CPPFLAGS'
ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
ac_compiler_gnu=$ac_cv_c_compiler_gnu
-{ echo "$as_me:$LINENO: checking how to run the C preprocessor" >&5
-echo $ECHO_N "checking how to run the C preprocessor... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking how to run the C preprocessor" >&5
+$as_echo_n "checking how to run the C preprocessor... " >&6; }
# On Suns, sometimes $CPP names a directory.
if test -n "$CPP" && test -d "$CPP"; then
CPP=
fi
if test -z "$CPP"; then
if test "${ac_cv_prog_CPP+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
# Double quotes because CPP needs to be expanded
for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp"
@@ -5153,20 +7032,21 @@ case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
(eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } >/dev/null && {
test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
test ! -s conftest.err
}; then
:
else
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
# Broken: fails on valid input.
@@ -5190,13 +7070,14 @@ case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
(eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } >/dev/null && {
test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
test ! -s conftest.err
@@ -5204,7 +7085,7 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
# Broken: success on invalid input.
continue
else
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
# Passes both tests.
@@ -5229,8 +7110,8 @@ fi
else
ac_cv_prog_CPP=$CPP
fi
-{ echo "$as_me:$LINENO: result: $CPP" >&5
-echo "${ECHO_T}$CPP" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $CPP" >&5
+$as_echo "$CPP" >&6; }
ac_preproc_ok=false
for ac_c_preproc_warn_flag in '' yes
do
@@ -5258,20 +7139,21 @@ case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
(eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } >/dev/null && {
test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
test ! -s conftest.err
}; then
:
else
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
# Broken: fails on valid input.
@@ -5295,13 +7177,14 @@ case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
(eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } >/dev/null && {
test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
test ! -s conftest.err
@@ -5309,7 +7192,7 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
# Broken: success on invalid input.
continue
else
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
# Passes both tests.
@@ -5325,11 +7208,13 @@ rm -f conftest.err conftest.$ac_ext
if $ac_preproc_ok; then
:
else
- { { echo "$as_me:$LINENO: error: C preprocessor \"$CPP\" fails sanity check
+ { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+{ { $as_echo "$as_me:$LINENO: error: C preprocessor \"$CPP\" fails sanity check
See \`config.log' for more details." >&5
-echo "$as_me: error: C preprocessor \"$CPP\" fails sanity check
+$as_echo "$as_me: error: C preprocessor \"$CPP\" fails sanity check
See \`config.log' for more details." >&2;}
- { (exit 1); exit 1; }; }
+ { (exit 1); exit 1; }; }; }
fi
ac_ext=c
@@ -5339,10 +7224,10 @@ ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $
ac_compiler_gnu=$ac_cv_c_compiler_gnu
-{ echo "$as_me:$LINENO: checking for ANSI C header files" >&5
-echo $ECHO_N "checking for ANSI C header files... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking for ANSI C header files" >&5
+$as_echo_n "checking for ANSI C header files... " >&6; }
if test "${ac_cv_header_stdc+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
@@ -5369,20 +7254,21 @@ case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
(eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
test -z "$ac_c_werror_flag" ||
test ! -s conftest.err
} && test -s conftest.$ac_objext; then
ac_cv_header_stdc=yes
else
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
ac_cv_header_stdc=no
@@ -5474,37 +7360,40 @@ case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
(eval "$ac_link") 2>&5
ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && { ac_try='./conftest$ac_exeext'
{ (case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
(eval "$ac_try") 2>&5
ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; }; then
:
else
- echo "$as_me: program exited with status $ac_status" >&5
-echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: program exited with status $ac_status" >&5
+$as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
( exit $ac_status )
ac_cv_header_stdc=no
fi
+rm -rf conftest.dSYM
rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
fi
fi
fi
-{ echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5
-echo "${ECHO_T}$ac_cv_header_stdc" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5
+$as_echo "$ac_cv_header_stdc" >&6; }
if test $ac_cv_header_stdc = yes; then
cat >>confdefs.h <<\_ACEOF
@@ -5526,11 +7415,11 @@ fi
for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \
inttypes.h stdint.h unistd.h
do
-as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
-{ echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
+as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
+{ $as_echo "$as_me:$LINENO: checking for $ac_header" >&5
+$as_echo_n "checking for $ac_header... " >&6; }
if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
@@ -5548,20 +7437,21 @@ case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
(eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
test -z "$ac_c_werror_flag" ||
test ! -s conftest.err
} && test -s conftest.$ac_objext; then
eval "$as_ac_Header=yes"
else
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
eval "$as_ac_Header=no"
@@ -5569,12 +7459,15 @@ fi
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
fi
-ac_res=`eval echo '${'$as_ac_Header'}'`
- { echo "$as_me:$LINENO: result: $ac_res" >&5
-echo "${ECHO_T}$ac_res" >&6; }
-if test `eval echo '${'$as_ac_Header'}'` = yes; then
+ac_res=`eval 'as_val=${'$as_ac_Header'}
+ $as_echo "$as_val"'`
+ { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+as_val=`eval 'as_val=${'$as_ac_Header'}
+ $as_echo "$as_val"'`
+ if test "x$as_val" = x""yes; then
cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
+#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
_ACEOF
fi
@@ -5585,27 +7478,20 @@ done
for ac_header in dlfcn.h
do
-as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
-if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
- { echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
+as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
+{ $as_echo "$as_me:$LINENO: checking for $ac_header" >&5
+$as_echo_n "checking for $ac_header... " >&6; }
if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-fi
-ac_res=`eval echo '${'$as_ac_Header'}'`
- { echo "$as_me:$LINENO: result: $ac_res" >&5
-echo "${ECHO_T}$ac_res" >&6; }
+ $as_echo_n "(cached) " >&6
else
- # Is the header compilable?
-{ echo "$as_me:$LINENO: checking $ac_header usability" >&5
-echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; }
-cat >conftest.$ac_ext <<_ACEOF
+ cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
$ac_includes_default
+
#include <$ac_header>
_ACEOF
rm -f conftest.$ac_objext
@@ -5614,119 +7500,523 @@ case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
(eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
test -z "$ac_c_werror_flag" ||
test ! -s conftest.err
} && test -s conftest.$ac_objext; then
- ac_header_compiler=yes
+ eval "$as_ac_Header=yes"
else
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
- ac_header_compiler=no
+ eval "$as_ac_Header=no"
fi
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-echo "${ECHO_T}$ac_header_compiler" >&6; }
+fi
+ac_res=`eval 'as_val=${'$as_ac_Header'}
+ $as_echo "$as_val"'`
+ { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+as_val=`eval 'as_val=${'$as_ac_Header'}
+ $as_echo "$as_val"'`
+ if test "x$as_val" = x""yes; then
+ cat >>confdefs.h <<_ACEOF
+#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
+_ACEOF
-# Is the header present?
-{ echo "$as_me:$LINENO: checking $ac_header presence" >&5
-echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; }
-cat >conftest.$ac_ext <<_ACEOF
+fi
+
+done
+
+
+
+ac_ext=cpp
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+if test -z "$CXX"; then
+ if test -n "$CCC"; then
+ CXX=$CCC
+ else
+ if test -n "$ac_tool_prefix"; then
+ for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC
+ do
+ # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
+set dummy $ac_tool_prefix$ac_prog; ac_word=$2
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_CXX+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$CXX"; then
+ ac_cv_prog_CXX="$CXX" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_CXX="$ac_tool_prefix$ac_prog"
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+CXX=$ac_cv_prog_CXX
+if test -n "$CXX"; then
+ { $as_echo "$as_me:$LINENO: result: $CXX" >&5
+$as_echo "$CXX" >&6; }
+else
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+ test -n "$CXX" && break
+ done
+fi
+if test -z "$CXX"; then
+ ac_ct_CXX=$CXX
+ for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC
+do
+ # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_ac_ct_CXX+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$ac_ct_CXX"; then
+ ac_cv_prog_ac_ct_CXX="$ac_ct_CXX" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_ac_ct_CXX="$ac_prog"
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_CXX=$ac_cv_prog_ac_ct_CXX
+if test -n "$ac_ct_CXX"; then
+ { $as_echo "$as_me:$LINENO: result: $ac_ct_CXX" >&5
+$as_echo "$ac_ct_CXX" >&6; }
+else
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+ test -n "$ac_ct_CXX" && break
+done
+
+ if test "x$ac_ct_CXX" = x; then
+ CXX="g++"
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+ CXX=$ac_ct_CXX
+ fi
+fi
+
+ fi
+fi
+# Provide some information about the compiler.
+$as_echo "$as_me:$LINENO: checking for C++ compiler version" >&5
+set X $ac_compile
+ac_compiler=$2
+{ (ac_try="$ac_compiler --version >&5"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compiler --version >&5") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }
+{ (ac_try="$ac_compiler -v >&5"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compiler -v >&5") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }
+{ (ac_try="$ac_compiler -V >&5"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compiler -V >&5") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }
+
+{ $as_echo "$as_me:$LINENO: checking whether we are using the GNU C++ compiler" >&5
+$as_echo_n "checking whether we are using the GNU C++ compiler... " >&6; }
+if test "${ac_cv_cxx_compiler_gnu+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
-#include <$ac_header>
+
+int
+main ()
+{
+#ifndef __GNUC__
+ choke me
+#endif
+
+ ;
+ return 0;
+}
_ACEOF
-if { (ac_try="$ac_cpp conftest.$ac_ext"
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } >/dev/null && {
- test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_cxx_werror_flag" ||
test ! -s conftest.err
- }; then
- ac_header_preproc=yes
+ } && test -s conftest.$ac_objext; then
+ ac_compiler_gnu=yes
else
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
- ac_header_preproc=no
+ ac_compiler_gnu=no
fi
-rm -f conftest.err conftest.$ac_ext
-{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-echo "${ECHO_T}$ac_header_preproc" >&6; }
-
-# So? What about this header?
-case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
- yes:no: )
- { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
-echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5
-echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;}
- ac_header_preproc=yes
- ;;
- no:yes:* )
- { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
-echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5
-echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5
-echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5
-echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
-echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
-echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
- ( cat <<\_ASBOX
-## --------------------------------------- ##
-## Report this to sword-bugs@crosswire.org ##
-## --------------------------------------- ##
-_ASBOX
- ) | sed "s/^/$as_me: WARNING: /" >&2
- ;;
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ac_cv_cxx_compiler_gnu=$ac_compiler_gnu
+
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_cxx_compiler_gnu" >&5
+$as_echo "$ac_cv_cxx_compiler_gnu" >&6; }
+if test $ac_compiler_gnu = yes; then
+ GXX=yes
+else
+ GXX=
+fi
+ac_test_CXXFLAGS=${CXXFLAGS+set}
+ac_save_CXXFLAGS=$CXXFLAGS
+{ $as_echo "$as_me:$LINENO: checking whether $CXX accepts -g" >&5
+$as_echo_n "checking whether $CXX accepts -g... " >&6; }
+if test "${ac_cv_prog_cxx_g+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ ac_save_cxx_werror_flag=$ac_cxx_werror_flag
+ ac_cxx_werror_flag=yes
+ ac_cv_prog_cxx_g=no
+ CXXFLAGS="-g"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
esac
-{ echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
-if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_cxx_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_prog_cxx_g=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ CXXFLAGS=""
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_cxx_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ :
else
- eval "$as_ac_Header=\$ac_header_preproc"
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cxx_werror_flag=$ac_save_cxx_werror_flag
+ CXXFLAGS="-g"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_cxx_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_prog_cxx_g=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+
fi
-ac_res=`eval echo '${'$as_ac_Header'}'`
- { echo "$as_me:$LINENO: result: $ac_res" >&5
-echo "${ECHO_T}$ac_res" >&6; }
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
fi
-if test `eval echo '${'$as_ac_Header'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
-_ACEOF
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
fi
-done
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ ac_cxx_werror_flag=$ac_save_cxx_werror_flag
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_prog_cxx_g" >&5
+$as_echo "$ac_cv_prog_cxx_g" >&6; }
+if test "$ac_test_CXXFLAGS" = set; then
+ CXXFLAGS=$ac_save_CXXFLAGS
+elif test $ac_cv_prog_cxx_g = yes; then
+ if test "$GXX" = yes; then
+ CXXFLAGS="-g -O2"
+ else
+ CXXFLAGS="-g"
+ fi
+else
+ if test "$GXX" = yes; then
+ CXXFLAGS="-O2"
+ else
+ CXXFLAGS=
+ fi
+fi
+ac_ext=cpp
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+
+depcc="$CXX" am_compiler_list=
+
+{ $as_echo "$as_me:$LINENO: checking dependency style of $depcc" >&5
+$as_echo_n "checking dependency style of $depcc... " >&6; }
+if test "${am_cv_CXX_dependencies_compiler_type+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
+ # We make a subdir and do the tests there. Otherwise we can end up
+ # making bogus files that we don't know about and never remove. For
+ # instance it was reported that on HP-UX the gcc test will end up
+ # making a dummy file named `D' -- because `-MD' means `put the output
+ # in D'.
+ mkdir conftest.dir
+ # Copy depcomp to subdir because otherwise we won't find it if we're
+ # using a relative directory.
+ cp "$am_depcomp" conftest.dir
+ cd conftest.dir
+ # We will build objects and dependencies in a subdirectory because
+ # it helps to detect inapplicable dependency modes. For instance
+ # both Tru64's cc and ICC support -MD to output dependencies as a
+ # side effect of compilation, but ICC will put the dependencies in
+ # the current directory while Tru64 will put them in the object
+ # directory.
+ mkdir sub
+
+ am_cv_CXX_dependencies_compiler_type=none
+ if test "$am_compiler_list" = ""; then
+ am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp`
+ fi
+ for depmode in $am_compiler_list; do
+ # Setup a source with many dependencies, because some compilers
+ # like to wrap large dependency lists on column 80 (with \), and
+ # we should not choose a depcomp mode which is confused by this.
+ #
+ # We need to recreate these files for each test, as the compiler may
+ # overwrite some of them when testing with obscure command lines.
+ # This happens at least with the AIX C compiler.
+ : > sub/conftest.c
+ for i in 1 2 3 4 5 6; do
+ echo '#include "conftst'$i'.h"' >> sub/conftest.c
+ # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
+ # Solaris 8's {/usr,}/bin/sh.
+ touch sub/conftst$i.h
+ done
+ echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
+
+ case $depmode in
+ nosideeffect)
+ # after this tag, mechanisms are not by side-effect, so they'll
+ # only be used when explicitly requested
+ if test "x$enable_dependency_tracking" = xyes; then
+ continue
+ else
+ break
+ fi
+ ;;
+ none) break ;;
+ esac
+ # We check with `-c' and `-o' for the sake of the "dashmstdout"
+ # mode. It turns out that the SunPro C++ compiler does not properly
+ # handle `-M -o', and we need to detect this.
+ if depmode=$depmode \
+ source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \
+ depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
+ $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \
+ >/dev/null 2>conftest.err &&
+ grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
+ grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
+ grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 &&
+ ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
+ # icc doesn't choke on unknown options, it will just issue warnings
+ # or remarks (even with -Werror). So we grep stderr for any message
+ # that says an option was ignored or not supported.
+ # When given -MP, icc 7.0 and 7.1 complain thusly:
+ # icc: Command line warning: ignoring option '-M'; no argument required
+ # The diagnosis changed in icc 8.0:
+ # icc: Command line remark: option '-MP' not supported
+ if (grep 'ignoring option' conftest.err ||
+ grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
+ am_cv_CXX_dependencies_compiler_type=$depmode
+ break
+ fi
+ fi
+ done
+ cd ..
+ rm -rf conftest.dir
+else
+ am_cv_CXX_dependencies_compiler_type=none
+fi
+
+fi
+{ $as_echo "$as_me:$LINENO: result: $am_cv_CXX_dependencies_compiler_type" >&5
+$as_echo "$am_cv_CXX_dependencies_compiler_type" >&6; }
+CXXDEPMODE=depmode=$am_cv_CXX_dependencies_compiler_type
+
+ if
+ test "x$enable_dependency_tracking" != xno \
+ && test "$am_cv_CXX_dependencies_compiler_type" = gcc3; then
+ am__fastdepCXX_TRUE=
+ am__fastdepCXX_FALSE='#'
+else
+ am__fastdepCXX_TRUE='#'
+ am__fastdepCXX_FALSE=
+fi
if test -n "$CXX" && ( test "X$CXX" != "Xno" &&
@@ -5737,11 +8027,11 @@ ac_cpp='$CXXCPP $CPPFLAGS'
ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-{ echo "$as_me:$LINENO: checking how to run the C++ preprocessor" >&5
-echo $ECHO_N "checking how to run the C++ preprocessor... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking how to run the C++ preprocessor" >&5
+$as_echo_n "checking how to run the C++ preprocessor... " >&6; }
if test -z "$CXXCPP"; then
if test "${ac_cv_prog_CXXCPP+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
# Double quotes because CXXCPP needs to be expanded
for CXXCPP in "$CXX -E" "/lib/cpp"
@@ -5773,20 +8063,21 @@ case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
(eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } >/dev/null && {
test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" ||
test ! -s conftest.err
}; then
:
else
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
# Broken: fails on valid input.
@@ -5810,13 +8101,14 @@ case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
(eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } >/dev/null && {
test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" ||
test ! -s conftest.err
@@ -5824,7 +8116,7 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
# Broken: success on invalid input.
continue
else
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
# Passes both tests.
@@ -5849,8 +8141,8 @@ fi
else
ac_cv_prog_CXXCPP=$CXXCPP
fi
-{ echo "$as_me:$LINENO: result: $CXXCPP" >&5
-echo "${ECHO_T}$CXXCPP" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $CXXCPP" >&5
+$as_echo "$CXXCPP" >&6; }
ac_preproc_ok=false
for ac_cxx_preproc_warn_flag in '' yes
do
@@ -5878,20 +8170,21 @@ case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
(eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } >/dev/null && {
test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" ||
test ! -s conftest.err
}; then
:
else
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
# Broken: fails on valid input.
@@ -5915,13 +8208,14 @@ case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
(eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } >/dev/null && {
test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" ||
test ! -s conftest.err
@@ -5929,7 +8223,7 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
# Broken: success on invalid input.
continue
else
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
# Passes both tests.
@@ -5945,11 +8239,9 @@ rm -f conftest.err conftest.$ac_ext
if $ac_preproc_ok; then
:
else
- { { echo "$as_me:$LINENO: error: C++ preprocessor \"$CXXCPP\" fails sanity check
-See \`config.log' for more details." >&5
-echo "$as_me: error: C++ preprocessor \"$CXXCPP\" fails sanity check
-See \`config.log' for more details." >&2;}
- { (exit 1); exit 1; }; }
+ { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+_lt_caught_CXX_error=yes; }
fi
ac_ext=cpp
@@ -5958,614 +8250,189 @@ ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+else
+ _lt_caught_CXX_error=yes
fi
-ac_ext=f
-ac_compile='$F77 -c $FFLAGS conftest.$ac_ext >&5'
-ac_link='$F77 -o conftest$ac_exeext $FFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_f77_compiler_gnu
-if test -n "$ac_tool_prefix"; then
- for ac_prog in g77 xlf f77 frt pgf77 cf77 fort77 fl32 af77 xlf90 f90 pgf90 pghpf epcf90 gfortran g95 xlf95 f95 fort ifort ifc efc pgf95 lf95 ftn
- do
- # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
-set dummy $ac_tool_prefix$ac_prog; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
-if test "${ac_cv_prog_F77+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test -n "$F77"; then
- ac_cv_prog_F77="$F77" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_F77="$ac_tool_prefix$ac_prog"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-IFS=$as_save_IFS
-fi
-fi
-F77=$ac_cv_prog_F77
-if test -n "$F77"; then
- { echo "$as_me:$LINENO: result: $F77" >&5
-echo "${ECHO_T}$F77" >&6; }
+
+
+# Set options
+
+
+
+ enable_dlopen=no
+
+
+ enable_win32_dll=no
+
+
+ # Check whether --enable-shared was given.
+if test "${enable_shared+set}" = set; then
+ enableval=$enable_shared; p=${PACKAGE-default}
+ case $enableval in
+ yes) enable_shared=yes ;;
+ no) enable_shared=no ;;
+ *)
+ enable_shared=no
+ # Look at the argument we got. We use all the common list separators.
+ lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
+ for pkg in $enableval; do
+ IFS="$lt_save_ifs"
+ if test "X$pkg" = "X$p"; then
+ enable_shared=yes
+ fi
+ done
+ IFS="$lt_save_ifs"
+ ;;
+ esac
else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
+ enable_shared=yes
fi
- test -n "$F77" && break
- done
-fi
-if test -z "$F77"; then
- ac_ct_F77=$F77
- for ac_prog in g77 xlf f77 frt pgf77 cf77 fort77 fl32 af77 xlf90 f90 pgf90 pghpf epcf90 gfortran g95 xlf95 f95 fort ifort ifc efc pgf95 lf95 ftn
-do
- # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
-if test "${ac_cv_prog_ac_ct_F77+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test -n "$ac_ct_F77"; then
- ac_cv_prog_ac_ct_F77="$ac_ct_F77" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_ac_ct_F77="$ac_prog"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-IFS=$as_save_IFS
-fi
-fi
-ac_ct_F77=$ac_cv_prog_ac_ct_F77
-if test -n "$ac_ct_F77"; then
- { echo "$as_me:$LINENO: result: $ac_ct_F77" >&5
-echo "${ECHO_T}$ac_ct_F77" >&6; }
+
+
+
+
+
+
+ # Check whether --enable-static was given.
+if test "${enable_static+set}" = set; then
+ enableval=$enable_static; p=${PACKAGE-default}
+ case $enableval in
+ yes) enable_static=yes ;;
+ no) enable_static=no ;;
+ *)
+ enable_static=no
+ # Look at the argument we got. We use all the common list separators.
+ lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
+ for pkg in $enableval; do
+ IFS="$lt_save_ifs"
+ if test "X$pkg" = "X$p"; then
+ enable_static=yes
+ fi
+ done
+ IFS="$lt_save_ifs"
+ ;;
+ esac
else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
+ enable_static=yes
fi
- test -n "$ac_ct_F77" && break
-done
- if test "x$ac_ct_F77" = x; then
- F77=""
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
-whose name does not start with the host triplet. If you think this
-configuration is useful to you, please write to autoconf@gnu.org." >&5
-echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
-whose name does not start with the host triplet. If you think this
-configuration is useful to you, please write to autoconf@gnu.org." >&2;}
-ac_tool_warned=yes ;;
-esac
- F77=$ac_ct_F77
- fi
-fi
-# Provide some information about the compiler.
-echo "$as_me:$LINENO: checking for Fortran 77 compiler version" >&5
-ac_compiler=`set X $ac_compile; echo $2`
-{ (ac_try="$ac_compiler --version >&5"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_compiler --version >&5") 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }
-{ (ac_try="$ac_compiler -v >&5"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_compiler -v >&5") 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }
-{ (ac_try="$ac_compiler -V >&5"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_compiler -V >&5") 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }
-rm -f a.out
-# If we don't use `.F' as extension, the preprocessor is not run on the
-# input file. (Note that this only needs to work for GNU compilers.)
-ac_save_ext=$ac_ext
-ac_ext=F
-{ echo "$as_me:$LINENO: checking whether we are using the GNU Fortran 77 compiler" >&5
-echo $ECHO_N "checking whether we are using the GNU Fortran 77 compiler... $ECHO_C" >&6; }
-if test "${ac_cv_f77_compiler_gnu+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
- program main
-#ifndef __GNUC__
- choke me
-#endif
- end
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_compile") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_f77_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
- ac_compiler_gnu=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
- ac_compiler_gnu=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-ac_cv_f77_compiler_gnu=$ac_compiler_gnu
-fi
-{ echo "$as_me:$LINENO: result: $ac_cv_f77_compiler_gnu" >&5
-echo "${ECHO_T}$ac_cv_f77_compiler_gnu" >&6; }
-ac_ext=$ac_save_ext
-ac_test_FFLAGS=${FFLAGS+set}
-ac_save_FFLAGS=$FFLAGS
-FFLAGS=
-{ echo "$as_me:$LINENO: checking whether $F77 accepts -g" >&5
-echo $ECHO_N "checking whether $F77 accepts -g... $ECHO_C" >&6; }
-if test "${ac_cv_prog_f77_g+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+# Check whether --with-pic was given.
+if test "${with_pic+set}" = set; then
+ withval=$with_pic; pic_mode="$withval"
else
- FFLAGS=-g
-cat >conftest.$ac_ext <<_ACEOF
- program main
+ pic_mode=default
+fi
- end
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_compile") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_f77_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
- ac_cv_prog_f77_g=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
- ac_cv_prog_f77_g=no
-fi
+test -z "$pic_mode" && pic_mode=default
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-{ echo "$as_me:$LINENO: result: $ac_cv_prog_f77_g" >&5
-echo "${ECHO_T}$ac_cv_prog_f77_g" >&6; }
-if test "$ac_test_FFLAGS" = set; then
- FFLAGS=$ac_save_FFLAGS
-elif test $ac_cv_prog_f77_g = yes; then
- if test "x$ac_cv_f77_compiler_gnu" = xyes; then
- FFLAGS="-g -O2"
- else
- FFLAGS="-g"
- fi
+
+
+
+
+
+ # Check whether --enable-fast-install was given.
+if test "${enable_fast_install+set}" = set; then
+ enableval=$enable_fast_install; p=${PACKAGE-default}
+ case $enableval in
+ yes) enable_fast_install=yes ;;
+ no) enable_fast_install=no ;;
+ *)
+ enable_fast_install=no
+ # Look at the argument we got. We use all the common list separators.
+ lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
+ for pkg in $enableval; do
+ IFS="$lt_save_ifs"
+ if test "X$pkg" = "X$p"; then
+ enable_fast_install=yes
+ fi
+ done
+ IFS="$lt_save_ifs"
+ ;;
+ esac
else
- if test "x$ac_cv_f77_compiler_gnu" = xyes; then
- FFLAGS="-O2"
- else
- FFLAGS=
- fi
+ enable_fast_install=yes
fi
-G77=`test $ac_compiler_gnu = yes && echo yes`
-ac_ext=cpp
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-# Autoconf 2.13's AC_OBJEXT and AC_EXEEXT macros only works for C compilers!
-# find the maximum length of command line arguments
-{ echo "$as_me:$LINENO: checking the maximum length of command line arguments" >&5
-echo $ECHO_N "checking the maximum length of command line arguments... $ECHO_C" >&6; }
-if test "${lt_cv_sys_max_cmd_len+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- i=0
- teststring="ABCD"
- case $build_os in
- msdosdjgpp*)
- # On DJGPP, this test can blow up pretty badly due to problems in libc
- # (any single argument exceeding 2000 bytes causes a buffer overrun
- # during glob expansion). Even if it were fixed, the result of this
- # check would be larger than it should be.
- lt_cv_sys_max_cmd_len=12288; # 12K is about right
- ;;
- gnu*)
- # Under GNU Hurd, this test is not required because there is
- # no limit to the length of command line arguments.
- # Libtool will interpret -1 as no limit whatsoever
- lt_cv_sys_max_cmd_len=-1;
- ;;
- cygwin* | mingw*)
- # On Win9x/ME, this test blows up -- it succeeds, but takes
- # about 5 minutes as the teststring grows exponentially.
- # Worse, since 9x/ME are not pre-emptively multitasking,
- # you end up with a "frozen" computer, even though with patience
- # the test eventually succeeds (with a max line length of 256k).
- # Instead, let's just punt: use the minimum linelength reported by
- # all of the supported platforms: 8192 (on NT/2K/XP).
- lt_cv_sys_max_cmd_len=8192;
- ;;
- amigaos*)
- # On AmigaOS with pdksh, this test takes hours, literally.
- # So we just punt and use a minimum line length of 8192.
- lt_cv_sys_max_cmd_len=8192;
- ;;
- netbsd* | freebsd* | openbsd* | darwin* | dragonfly*)
- # This has been around since 386BSD, at least. Likely further.
- if test -x /sbin/sysctl; then
- lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax`
- elif test -x /usr/sbin/sysctl; then
- lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax`
- else
- lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs
- fi
- # And add a safety zone
- lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
- lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
- ;;
- interix*)
- # We know the value 262144 and hardcode it with a safety zone (like BSD)
- lt_cv_sys_max_cmd_len=196608
- ;;
+# This can be used to rebuild libtool when needed
+LIBTOOL_DEPS="$ltmain"
- osf*)
- # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure
- # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not
- # nice to cause kernel panics so lets avoid the loop below.
- # First set a reasonable default.
- lt_cv_sys_max_cmd_len=16384
- #
- if test -x /sbin/sysconfig; then
- case `/sbin/sysconfig -q proc exec_disable_arg_limit` in
- *1*) lt_cv_sys_max_cmd_len=-1 ;;
- esac
- fi
- ;;
- sco3.2v5*)
- lt_cv_sys_max_cmd_len=102400
- ;;
- sysv5* | sco5v6* | sysv4.2uw2*)
- kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null`
- if test -n "$kargmax"; then
- lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[ ]//'`
- else
- lt_cv_sys_max_cmd_len=32768
- fi
- ;;
- *)
- lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null`
- if test -n "$lt_cv_sys_max_cmd_len"; then
- lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
- lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
- else
- SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}}
- while (test "X"`$SHELL $0 --fallback-echo "X$teststring" 2>/dev/null` \
- = "XX$teststring") >/dev/null 2>&1 &&
- new_result=`expr "X$teststring" : ".*" 2>&1` &&
- lt_cv_sys_max_cmd_len=$new_result &&
- test $i != 17 # 1/2 MB should be enough
- do
- i=`expr $i + 1`
- teststring=$teststring$teststring
- done
- teststring=
- # Add a significant safety factor because C++ compilers can tack on massive
- # amounts of additional arguments before passing them to the linker.
- # It appears as though 1/2 is a usable value.
- lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2`
- fi
- ;;
- esac
+# Always use our own libtool.
+LIBTOOL='$(SHELL) $(top_builddir)/libtool'
-fi
-if test -n $lt_cv_sys_max_cmd_len ; then
- { echo "$as_me:$LINENO: result: $lt_cv_sys_max_cmd_len" >&5
-echo "${ECHO_T}$lt_cv_sys_max_cmd_len" >&6; }
-else
- { echo "$as_me:$LINENO: result: none" >&5
-echo "${ECHO_T}none" >&6; }
-fi
-# Check for command to grab the raw symbol name followed by C symbol from nm.
-{ echo "$as_me:$LINENO: checking command to parse $NM output from $compiler object" >&5
-echo $ECHO_N "checking command to parse $NM output from $compiler object... $ECHO_C" >&6; }
-if test "${lt_cv_sys_global_symbol_pipe+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-# These are sane defaults that work on at least a few old systems.
-# [They come from Ultrix. What could be older than Ultrix?!! ;)]
-# Character class describing NM global symbol codes.
-symcode='[BCDEGRST]'
-# Regexp to match symbols that can be accessed directly from C.
-sympat='\([_A-Za-z][_A-Za-z0-9]*\)'
-# Transform an extracted symbol line into a proper C declaration
-lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^. .* \(.*\)$/extern int \1;/p'"
-# Transform an extracted symbol line into symbol name and symbol address
-lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode \([^ ]*\) \([^ ]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'"
-# Define system-specific variables.
-case $host_os in
-aix*)
- symcode='[BCDT]'
- ;;
-cygwin* | mingw* | pw32*)
- symcode='[ABCDGISTW]'
- ;;
-hpux*) # Its linker distinguishes data from code symbols
- if test "$host_cpu" = ia64; then
- symcode='[ABCDEGRST]'
- fi
- lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
- lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'"
- ;;
-linux* | k*bsd*-gnu)
- if test "$host_cpu" = ia64; then
- symcode='[ABCDGIRSTW]'
- lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
- lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'"
- fi
- ;;
-irix* | nonstopux*)
- symcode='[BCDEGRST]'
- ;;
-osf*)
- symcode='[BCDEGQRST]'
- ;;
-solaris*)
- symcode='[BDRT]'
- ;;
-sco3.2v5*)
- symcode='[DT]'
- ;;
-sysv4.2uw2*)
- symcode='[DT]'
- ;;
-sysv5* | sco5v6* | unixware* | OpenUNIX*)
- symcode='[ABDT]'
- ;;
-sysv4)
- symcode='[DFNSTU]'
- ;;
-esac
-# Handle CRLF in mingw tool chain
-opt_cr=
-case $build_os in
-mingw*)
- opt_cr=`echo 'x\{0,1\}' | tr x '\015'` # option cr in regexp
- ;;
-esac
-# If we're using GNU nm, then use its standard symbol codes.
-case `$NM -V 2>&1` in
-*GNU* | *'with BFD'*)
- symcode='[ABCDGIRSTW]' ;;
-esac
-# Try without a prefix undercore, then with it.
-for ac_symprfx in "" "_"; do
- # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol.
- symxfrm="\\1 $ac_symprfx\\2 \\2"
- # Write the raw and C identifiers.
- lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[ ]\($symcode$symcode*\)[ ][ ]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'"
- # Check to see that the pipe works correctly.
- pipe_works=no
- rm -f conftest*
- cat > conftest.$ac_ext <<EOF
-#ifdef __cplusplus
-extern "C" {
-#endif
-char nm_test_var;
-void nm_test_func(){}
-#ifdef __cplusplus
-}
-#endif
-int main(){nm_test_var='a';nm_test_func();return(0);}
-EOF
- if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; then
- # Now try to grab the symbols.
- nlist=conftest.nm
- if { (eval echo "$as_me:$LINENO: \"$NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist\"") >&5
- (eval $NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && test -s "$nlist"; then
- # Try sorting and uniquifying the output.
- if sort "$nlist" | uniq > "$nlist"T; then
- mv -f "$nlist"T "$nlist"
- else
- rm -f "$nlist"T
- fi
- # Make sure that we snagged all the symbols we need.
- if grep ' nm_test_var$' "$nlist" >/dev/null; then
- if grep ' nm_test_func$' "$nlist" >/dev/null; then
- cat <<EOF > conftest.$ac_ext
-#ifdef __cplusplus
-extern "C" {
-#endif
-EOF
- # Now generate the symbol file.
- eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | grep -v main >> conftest.$ac_ext'
- cat <<EOF >> conftest.$ac_ext
-#if defined (__STDC__) && __STDC__
-# define lt_ptr_t void *
-#else
-# define lt_ptr_t char *
-# define const
-#endif
-/* The mapping between symbol names and symbols. */
-const struct {
- const char *name;
- lt_ptr_t address;
-}
-lt_preloaded_symbols[] =
-{
-EOF
- $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (lt_ptr_t) \&\2},/" < "$nlist" | grep -v main >> conftest.$ac_ext
- cat <<\EOF >> conftest.$ac_ext
- {0, (lt_ptr_t) 0}
-};
+test -z "$LN_S" && LN_S="ln -s"
-#ifdef __cplusplus
-}
-#endif
-EOF
- # Now try linking the two files.
- mv conftest.$ac_objext conftstm.$ac_objext
- lt_save_LIBS="$LIBS"
- lt_save_CFLAGS="$CFLAGS"
- LIBS="conftstm.$ac_objext"
- CFLAGS="$CFLAGS$lt_prog_compiler_no_builtin_flag"
- if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && test -s conftest${ac_exeext}; then
- pipe_works=yes
- fi
- LIBS="$lt_save_LIBS"
- CFLAGS="$lt_save_CFLAGS"
- else
- echo "cannot find nm_test_func in $nlist" >&5
- fi
- else
- echo "cannot find nm_test_var in $nlist" >&5
- fi
- else
- echo "cannot run $lt_cv_sys_global_symbol_pipe" >&5
- fi
- else
- echo "$progname: failed program was:" >&5
- cat conftest.$ac_ext >&5
- fi
- rm -f conftest* conftst*
- # Do not use the global_symbol_pipe unless it works.
- if test "$pipe_works" = yes; then
- break
- else
- lt_cv_sys_global_symbol_pipe=
- fi
-done
-fi
-if test -z "$lt_cv_sys_global_symbol_pipe"; then
- lt_cv_sys_global_symbol_to_cdecl=
-fi
-if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then
- { echo "$as_me:$LINENO: result: failed" >&5
-echo "${ECHO_T}failed" >&6; }
-else
- { echo "$as_me:$LINENO: result: ok" >&5
-echo "${ECHO_T}ok" >&6; }
+
+
+
+
+
+
+
+
+
+
+if test -n "${ZSH_VERSION+set}" ; then
+ setopt NO_GLOB_SUBST
fi
-{ echo "$as_me:$LINENO: checking for objdir" >&5
-echo $ECHO_N "checking for objdir... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking for objdir" >&5
+$as_echo_n "checking for objdir... " >&6; }
if test "${lt_cv_objdir+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
rm -f .libs 2>/dev/null
mkdir .libs 2>/dev/null
@@ -6577,14 +8444,34 @@ else
fi
rmdir .libs 2>/dev/null
fi
-{ echo "$as_me:$LINENO: result: $lt_cv_objdir" >&5
-echo "${ECHO_T}$lt_cv_objdir" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $lt_cv_objdir" >&5
+$as_echo "$lt_cv_objdir" >&6; }
objdir=$lt_cv_objdir
+cat >>confdefs.h <<_ACEOF
+#define LT_OBJDIR "$lt_cv_objdir/"
+_ACEOF
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
case $host_os in
aix3*)
# AIX sometimes has problems with the GCC collect2 program. For some
@@ -6599,360 +8486,41 @@ esac
# Sed substitution that helps us do robust quoting. It backslashifies
# metacharacters that are still active within double-quoted strings.
-Xsed='sed -e 1s/^X//'
-sed_quote_subst='s/\([\\"\\`$\\\\]\)/\\\1/g'
+sed_quote_subst='s/\(["`$\\]\)/\\\1/g'
# Same as above, but do not quote variable references.
-double_quote_subst='s/\([\\"\\`\\\\]\)/\\\1/g'
+double_quote_subst='s/\(["`\\]\)/\\\1/g'
# Sed substitution to delay expansion of an escaped shell variable in a
# double_quote_subst'ed string.
delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g'
+# Sed substitution to delay expansion of an escaped single quote.
+delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g'
+
# Sed substitution to avoid accidental globbing in evaled expressions
no_glob_subst='s/\*/\\\*/g'
-# Constants:
-rm="rm -f"
-
# Global variables:
-default_ofile=libtool
+ofile=libtool
can_build_shared=yes
# All known linkers require a `.a' archive for static linking (except MSVC,
# which needs '.lib').
libext=a
-ltmain="$ac_aux_dir/ltmain.sh"
-ofile="$default_ofile"
-with_gnu_ld="$lt_cv_prog_gnu_ld"
-
-if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args.
-set dummy ${ac_tool_prefix}ar; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
-if test "${ac_cv_prog_AR+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test -n "$AR"; then
- ac_cv_prog_AR="$AR" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_AR="${ac_tool_prefix}ar"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-IFS=$as_save_IFS
-
-fi
-fi
-AR=$ac_cv_prog_AR
-if test -n "$AR"; then
- { echo "$as_me:$LINENO: result: $AR" >&5
-echo "${ECHO_T}$AR" >&6; }
-else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_AR"; then
- ac_ct_AR=$AR
- # Extract the first word of "ar", so it can be a program name with args.
-set dummy ar; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
-if test "${ac_cv_prog_ac_ct_AR+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test -n "$ac_ct_AR"; then
- ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_ac_ct_AR="ar"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_AR=$ac_cv_prog_ac_ct_AR
-if test -n "$ac_ct_AR"; then
- { echo "$as_me:$LINENO: result: $ac_ct_AR" >&5
-echo "${ECHO_T}$ac_ct_AR" >&6; }
-else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
-fi
-
- if test "x$ac_ct_AR" = x; then
- AR="false"
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
-whose name does not start with the host triplet. If you think this
-configuration is useful to you, please write to autoconf@gnu.org." >&5
-echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
-whose name does not start with the host triplet. If you think this
-configuration is useful to you, please write to autoconf@gnu.org." >&2;}
-ac_tool_warned=yes ;;
-esac
- AR=$ac_ct_AR
- fi
-else
- AR="$ac_cv_prog_AR"
-fi
-
-if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
-set dummy ${ac_tool_prefix}ranlib; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
-if test "${ac_cv_prog_RANLIB+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test -n "$RANLIB"; then
- ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-IFS=$as_save_IFS
-
-fi
-fi
-RANLIB=$ac_cv_prog_RANLIB
-if test -n "$RANLIB"; then
- { echo "$as_me:$LINENO: result: $RANLIB" >&5
-echo "${ECHO_T}$RANLIB" >&6; }
-else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_RANLIB"; then
- ac_ct_RANLIB=$RANLIB
- # Extract the first word of "ranlib", so it can be a program name with args.
-set dummy ranlib; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
-if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test -n "$ac_ct_RANLIB"; then
- ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_ac_ct_RANLIB="ranlib"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB
-if test -n "$ac_ct_RANLIB"; then
- { echo "$as_me:$LINENO: result: $ac_ct_RANLIB" >&5
-echo "${ECHO_T}$ac_ct_RANLIB" >&6; }
-else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
-fi
-
- if test "x$ac_ct_RANLIB" = x; then
- RANLIB=":"
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
-whose name does not start with the host triplet. If you think this
-configuration is useful to you, please write to autoconf@gnu.org." >&5
-echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
-whose name does not start with the host triplet. If you think this
-configuration is useful to you, please write to autoconf@gnu.org." >&2;}
-ac_tool_warned=yes ;;
-esac
- RANLIB=$ac_ct_RANLIB
- fi
-else
- RANLIB="$ac_cv_prog_RANLIB"
-fi
-
-if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
-set dummy ${ac_tool_prefix}strip; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
-if test "${ac_cv_prog_STRIP+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test -n "$STRIP"; then
- ac_cv_prog_STRIP="$STRIP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_STRIP="${ac_tool_prefix}strip"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-IFS=$as_save_IFS
-
-fi
-fi
-STRIP=$ac_cv_prog_STRIP
-if test -n "$STRIP"; then
- { echo "$as_me:$LINENO: result: $STRIP" >&5
-echo "${ECHO_T}$STRIP" >&6; }
-else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_STRIP"; then
- ac_ct_STRIP=$STRIP
- # Extract the first word of "strip", so it can be a program name with args.
-set dummy strip; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
-if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test -n "$ac_ct_STRIP"; then
- ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_ac_ct_STRIP="strip"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP
-if test -n "$ac_ct_STRIP"; then
- { echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5
-echo "${ECHO_T}$ac_ct_STRIP" >&6; }
-else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
-fi
-
- if test "x$ac_ct_STRIP" = x; then
- STRIP=":"
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
-whose name does not start with the host triplet. If you think this
-configuration is useful to you, please write to autoconf@gnu.org." >&5
-echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
-whose name does not start with the host triplet. If you think this
-configuration is useful to you, please write to autoconf@gnu.org." >&2;}
-ac_tool_warned=yes ;;
-esac
- STRIP=$ac_ct_STRIP
- fi
-else
- STRIP="$ac_cv_prog_STRIP"
-fi
+with_gnu_ld="$lt_cv_prog_gnu_ld"
old_CC="$CC"
old_CFLAGS="$CFLAGS"
# Set sane defaults for various variables
-test -z "$AR" && AR=ar
-test -z "$AR_FLAGS" && AR_FLAGS=cru
-test -z "$AS" && AS=as
test -z "$CC" && CC=cc
test -z "$LTCC" && LTCC=$CC
test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS
-test -z "$DLLTOOL" && DLLTOOL=dlltool
test -z "$LD" && LD=ld
-test -z "$LN_S" && LN_S="ln -s"
-test -z "$MAGIC_CMD" && MAGIC_CMD=file
-test -z "$NM" && NM=nm
-test -z "$SED" && SED=sed
-test -z "$OBJDUMP" && OBJDUMP=objdump
-test -z "$RANLIB" && RANLIB=:
-test -z "$STRIP" && STRIP=:
test -z "$ac_objext" && ac_objext=o
-# Determine commands to create old-style static archives.
-old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs'
-old_postinstall_cmds='chmod 644 $oldlib'
-old_postuninstall_cmds=
-
-if test -n "$RANLIB"; then
- case $host_os in
- openbsd*)
- old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib"
- ;;
- *)
- old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib"
- ;;
- esac
- old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib"
-fi
-
for cc_temp in $compiler""; do
case $cc_temp in
compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
@@ -6961,17 +8529,18 @@ for cc_temp in $compiler""; do
*) break;;
esac
done
-cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
+cc_basename=`$ECHO "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
# Only perform the check for file, if the check method requires it
+test -z "$MAGIC_CMD" && MAGIC_CMD=file
case $deplibs_check_method in
file_magic*)
if test "$file_magic_cmd" = '$MAGIC_CMD'; then
- { echo "$as_me:$LINENO: checking for ${ac_tool_prefix}file" >&5
-echo $ECHO_N "checking for ${ac_tool_prefix}file... $ECHO_C" >&6; }
+ { $as_echo "$as_me:$LINENO: checking for ${ac_tool_prefix}file" >&5
+$as_echo_n "checking for ${ac_tool_prefix}file... " >&6; }
if test "${lt_cv_path_MAGIC_CMD+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
case $MAGIC_CMD in
[\\/*] | ?:[\\/]*)
@@ -6995,7 +8564,7 @@ else
$EGREP "$file_magic_regex" > /dev/null; then
:
else
- cat <<EOF 1>&2
+ cat <<_LT_EOF 1>&2
*** Warning: the command libtool uses to detect shared libraries,
*** $file_magic_cmd, produces output that libtool cannot recognize.
@@ -7006,7 +8575,7 @@ else
*** may want to report the problem to your system manager and/or to
*** bug-libtool@gnu.org
-EOF
+_LT_EOF
fi ;;
esac
fi
@@ -7021,19 +8590,23 @@ fi
MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
if test -n "$MAGIC_CMD"; then
- { echo "$as_me:$LINENO: result: $MAGIC_CMD" >&5
-echo "${ECHO_T}$MAGIC_CMD" >&6; }
+ { $as_echo "$as_me:$LINENO: result: $MAGIC_CMD" >&5
+$as_echo "$MAGIC_CMD" >&6; }
else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
fi
+
+
+
+
if test -z "$lt_cv_path_MAGIC_CMD"; then
if test -n "$ac_tool_prefix"; then
- { echo "$as_me:$LINENO: checking for file" >&5
-echo $ECHO_N "checking for file... $ECHO_C" >&6; }
+ { $as_echo "$as_me:$LINENO: checking for file" >&5
+$as_echo_n "checking for file... " >&6; }
if test "${lt_cv_path_MAGIC_CMD+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
case $MAGIC_CMD in
[\\/*] | ?:[\\/]*)
@@ -7057,7 +8630,7 @@ else
$EGREP "$file_magic_regex" > /dev/null; then
:
else
- cat <<EOF 1>&2
+ cat <<_LT_EOF 1>&2
*** Warning: the command libtool uses to detect shared libraries,
*** $file_magic_cmd, produces output that libtool cannot recognize.
@@ -7068,7 +8641,7 @@ else
*** may want to report the problem to your system manager and/or to
*** bug-libtool@gnu.org
-EOF
+_LT_EOF
fi ;;
esac
fi
@@ -7083,13 +8656,14 @@ fi
MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
if test -n "$MAGIC_CMD"; then
- { echo "$as_me:$LINENO: result: $MAGIC_CMD" >&5
-echo "${ECHO_T}$MAGIC_CMD" >&6; }
+ { $as_echo "$as_me:$LINENO: result: $MAGIC_CMD" >&5
+$as_echo "$MAGIC_CMD" >&6; }
else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
fi
+
else
MAGIC_CMD=:
fi
@@ -7099,28 +8673,8 @@ fi
;;
esac
-enable_dlopen=no
-enable_win32_dll=no
-
-# Check whether --enable-libtool-lock was given.
-if test "${enable_libtool_lock+set}" = set; then
- enableval=$enable_libtool_lock;
-fi
-
-test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes
-
-
-# Check whether --with-pic was given.
-if test "${with_pic+set}" = set; then
- withval=$with_pic; pic_mode="$withval"
-else
- pic_mode=default
-fi
-
-test -z "$pic_mode" && pic_mode=default
-
# Use C for the default configuration in the libtool script
-tagname=
+
lt_save_CC="$CC"
ac_ext=c
ac_cpp='$CPP $CPPFLAGS'
@@ -7143,6 +8697,11 @@ lt_simple_compile_test_code="int some_variable = 0;"
lt_simple_link_test_code='int main(){return(0);}'
+
+
+
+
+
# If no C compiler was specified, use CC.
LTCC=${LTCC-"$CC"}
@@ -7152,35 +8711,38 @@ LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
# Allow CC to be a program name with arguments.
compiler=$CC
+# Save the default compiler, since it gets overwritten when the other
+# tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP.
+compiler_DEFAULT=$CC
# save warnings/boilerplate of simple test code
ac_outfile=conftest.$ac_objext
echo "$lt_simple_compile_test_code" >conftest.$ac_ext
eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
_lt_compiler_boilerplate=`cat conftest.err`
-$rm conftest*
+$RM conftest*
ac_outfile=conftest.$ac_objext
echo "$lt_simple_link_test_code" >conftest.$ac_ext
eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
_lt_linker_boilerplate=`cat conftest.err`
-$rm conftest*
+$RM -r conftest*
+if test -n "$compiler"; then
lt_prog_compiler_no_builtin_flag=
if test "$GCC" = yes; then
lt_prog_compiler_no_builtin_flag=' -fno-builtin'
-
-{ echo "$as_me:$LINENO: checking if $compiler supports -fno-rtti -fno-exceptions" >&5
-echo $ECHO_N "checking if $compiler supports -fno-rtti -fno-exceptions... $ECHO_C" >&6; }
+ { $as_echo "$as_me:$LINENO: checking if $compiler supports -fno-rtti -fno-exceptions" >&5
+$as_echo_n "checking if $compiler supports -fno-rtti -fno-exceptions... " >&6; }
if test "${lt_cv_prog_compiler_rtti_exceptions+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
lt_cv_prog_compiler_rtti_exceptions=no
- ac_outfile=conftest.$ac_objext
+ ac_outfile=conftest.$ac_objext
echo "$lt_simple_compile_test_code" > conftest.$ac_ext
lt_compiler_flag="-fno-rtti -fno-exceptions"
# Insert the option either (1) after the last *FLAGS variable, or
@@ -7192,25 +8754,25 @@ else
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:7195: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:8757: $lt_compile\"" >&5)
(eval "$lt_compile" 2>conftest.err)
ac_status=$?
cat conftest.err >&5
- echo "$as_me:7199: \$? = $ac_status" >&5
+ echo "$as_me:8761: \$? = $ac_status" >&5
if (exit $ac_status) && test -s "$ac_outfile"; then
# The compiler can only warn and ignore the option if not recognized
# So say no if there are warnings other than the usual output.
- $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp
+ $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp
$SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
lt_cv_prog_compiler_rtti_exceptions=yes
fi
fi
- $rm conftest*
+ $RM conftest*
fi
-{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_rtti_exceptions" >&5
-echo "${ECHO_T}$lt_cv_prog_compiler_rtti_exceptions" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_rtti_exceptions" >&5
+$as_echo "$lt_cv_prog_compiler_rtti_exceptions" >&6; }
if test x"$lt_cv_prog_compiler_rtti_exceptions" = xyes; then
lt_prog_compiler_no_builtin_flag="$lt_prog_compiler_no_builtin_flag -fno-rtti -fno-exceptions"
@@ -7220,12 +8782,17 @@ fi
fi
-lt_prog_compiler_wl=
+
+
+
+
+
+ lt_prog_compiler_wl=
lt_prog_compiler_pic=
lt_prog_compiler_static=
-{ echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5
-echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5
+$as_echo_n "checking for $compiler option to produce PIC... " >&6; }
if test "$GCC" = yes; then
lt_prog_compiler_wl='-Wl,'
@@ -7241,17 +8808,25 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; }
;;
amigaos*)
- # FIXME: we need at least 68020 code to build shared libraries, but
- # adding the `-m68020' flag to GCC prevents building anything better,
- # like `-m68040'.
- lt_prog_compiler_pic='-m68020 -resident32 -malways-restore-a4'
+ case $host_cpu in
+ powerpc)
+ # see comment about AmigaOS4 .so support
+ lt_prog_compiler_pic='-fPIC'
+ ;;
+ m68k)
+ # FIXME: we need at least 68020 code to build shared libraries, but
+ # adding the `-m68020' flag to GCC prevents building anything better,
+ # like `-m68040'.
+ lt_prog_compiler_pic='-m68020 -resident32 -malways-restore-a4'
+ ;;
+ esac
;;
beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
# PIC is the default for these OSes.
;;
- mingw* | cygwin* | pw32* | os2*)
+ mingw* | cygwin* | pw32* | os2* | cegcc*)
# This hack is so that the source file can tell whether it is being
# built for inclusion in a dll (and should export symbols for example).
# Although the cygwin gcc ignores -fPIC, still need this for old-style
@@ -7265,6 +8840,20 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; }
lt_prog_compiler_pic='-fno-common'
;;
+ hpux*)
+ # PIC is the default for 64-bit PA HP-UX, but not for 32-bit
+ # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag
+ # sets the default TLS model and affects inlining.
+ case $host_cpu in
+ hppa*64*)
+ # +Z the default
+ ;;
+ *)
+ lt_prog_compiler_pic='-fPIC'
+ ;;
+ esac
+ ;;
+
interix[3-9]*)
# Interix 3.x gcc -fpic/-fPIC options generate broken code.
# Instead, we relocate shared libraries at runtime.
@@ -7277,25 +8866,18 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; }
enable_shared=no
;;
+ *nto* | *qnx*)
+ # QNX uses GNU C++, but need to define -shared option too, otherwise
+ # it will coredump.
+ lt_prog_compiler_pic='-fPIC -shared'
+ ;;
+
sysv4*MP*)
if test -d /usr/nec; then
lt_prog_compiler_pic=-Kconform_pic
fi
;;
- hpux*)
- # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
- # not for PA HP-UX.
- case $host_cpu in
- hppa*64*|ia64*)
- # +Z the default
- ;;
- *)
- lt_prog_compiler_pic='-fPIC'
- ;;
- esac
- ;;
-
*)
lt_prog_compiler_pic='-fPIC'
;;
@@ -7312,18 +8894,8 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; }
lt_prog_compiler_static='-bnso -bI:/lib/syscalls.exp'
fi
;;
- darwin*)
- # PIC is the default on this platform
- # Common symbols not allowed in MH_DYLIB files
- case $cc_basename in
- xlc*)
- lt_prog_compiler_pic='-qnocommon'
- lt_prog_compiler_wl='-Wl,'
- ;;
- esac
- ;;
- mingw* | cygwin* | pw32* | os2*)
+ mingw* | cygwin* | pw32* | os2* | cegcc*)
# This hack is so that the source file can tell whether it is being
# built for inclusion in a dll (and should export symbols for example).
lt_prog_compiler_pic='-DDLL_EXPORT'
@@ -7351,18 +8923,27 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; }
lt_prog_compiler_static='-non_shared'
;;
- newsos6)
- lt_prog_compiler_pic='-KPIC'
- lt_prog_compiler_static='-Bstatic'
- ;;
-
linux* | k*bsd*-gnu)
case $cc_basename in
- icc* | ecc*)
+ # old Intel for x86_64 which still supported -KPIC.
+ ecc*)
lt_prog_compiler_wl='-Wl,'
lt_prog_compiler_pic='-KPIC'
lt_prog_compiler_static='-static'
;;
+ # icc used to be incompatible with GCC.
+ # ICC 10 doesn't accept -KPIC any more.
+ icc* | ifort*)
+ lt_prog_compiler_wl='-Wl,'
+ lt_prog_compiler_pic='-fPIC'
+ lt_prog_compiler_static='-static'
+ ;;
+ # Lahey Fortran 8.1.
+ lf95*)
+ lt_prog_compiler_wl='-Wl,'
+ lt_prog_compiler_pic='--shared'
+ lt_prog_compiler_static='--static'
+ ;;
pgcc* | pgf77* | pgf90* | pgf95*)
# Portland Group compilers (*not* the Pentium gcc compiler,
# which looks to be a dead project)
@@ -7375,8 +8956,14 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; }
# All Alpha code is PIC.
lt_prog_compiler_static='-non_shared'
;;
+ xl*)
+ # IBM XL C 8.0/Fortran 10.1 on PPC
+ lt_prog_compiler_wl='-Wl,'
+ lt_prog_compiler_pic='-qpic'
+ lt_prog_compiler_static='-qstaticlink'
+ ;;
*)
- case `$CC -V 2>&1 | sed 5q` in
+ case `$CC -V 2>&1 | sed 5q` in
*Sun\ C*)
# Sun C 5.9
lt_prog_compiler_pic='-KPIC'
@@ -7394,6 +8981,17 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; }
esac
;;
+ newsos6)
+ lt_prog_compiler_pic='-KPIC'
+ lt_prog_compiler_static='-Bstatic'
+ ;;
+
+ *nto* | *qnx*)
+ # QNX uses GNU C++, but need to define -shared option too, otherwise
+ # it will coredump.
+ lt_prog_compiler_pic='-fPIC -shared'
+ ;;
+
osf3* | osf4* | osf5*)
lt_prog_compiler_wl='-Wl,'
# All OSF/1 code is PIC.
@@ -7456,21 +9054,34 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; }
esac
fi
-{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic" >&5
-echo "${ECHO_T}$lt_prog_compiler_pic" >&6; }
+case $host_os in
+ # For platforms which do not support PIC, -DPIC is meaningless:
+ *djgpp*)
+ lt_prog_compiler_pic=
+ ;;
+ *)
+ lt_prog_compiler_pic="$lt_prog_compiler_pic -DPIC"
+ ;;
+esac
+{ $as_echo "$as_me:$LINENO: result: $lt_prog_compiler_pic" >&5
+$as_echo "$lt_prog_compiler_pic" >&6; }
+
+
+
+
+
#
# Check to make sure the PIC flag actually works.
#
if test -n "$lt_prog_compiler_pic"; then
-
-{ echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5
-echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic works... $ECHO_C" >&6; }
-if test "${lt_prog_compiler_pic_works+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ { $as_echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5
+$as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic works... " >&6; }
+if test "${lt_cv_prog_compiler_pic_works+set}" = set; then
+ $as_echo_n "(cached) " >&6
else
- lt_prog_compiler_pic_works=no
- ac_outfile=conftest.$ac_objext
+ lt_cv_prog_compiler_pic_works=no
+ ac_outfile=conftest.$ac_objext
echo "$lt_simple_compile_test_code" > conftest.$ac_ext
lt_compiler_flag="$lt_prog_compiler_pic -DPIC"
# Insert the option either (1) after the last *FLAGS variable, or
@@ -7482,27 +9093,27 @@ else
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:7485: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:9096: $lt_compile\"" >&5)
(eval "$lt_compile" 2>conftest.err)
ac_status=$?
cat conftest.err >&5
- echo "$as_me:7489: \$? = $ac_status" >&5
+ echo "$as_me:9100: \$? = $ac_status" >&5
if (exit $ac_status) && test -s "$ac_outfile"; then
# The compiler can only warn and ignore the option if not recognized
# So say no if there are warnings other than the usual output.
- $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp
+ $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp
$SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
- lt_prog_compiler_pic_works=yes
+ lt_cv_prog_compiler_pic_works=yes
fi
fi
- $rm conftest*
+ $RM conftest*
fi
-{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_works" >&5
-echo "${ECHO_T}$lt_prog_compiler_pic_works" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_pic_works" >&5
+$as_echo "$lt_cv_prog_compiler_pic_works" >&6; }
-if test x"$lt_prog_compiler_pic_works" = xyes; then
+if test x"$lt_cv_prog_compiler_pic_works" = xyes; then
case $lt_prog_compiler_pic in
"" | " "*) ;;
*) lt_prog_compiler_pic=" $lt_prog_compiler_pic" ;;
@@ -7513,26 +9124,22 @@ else
fi
fi
-case $host_os in
- # For platforms which do not support PIC, -DPIC is meaningless:
- *djgpp*)
- lt_prog_compiler_pic=
- ;;
- *)
- lt_prog_compiler_pic="$lt_prog_compiler_pic -DPIC"
- ;;
-esac
+
+
+
+
+
#
# Check to make sure the static flag actually works.
#
wl=$lt_prog_compiler_wl eval lt_tmp_static_flag=\"$lt_prog_compiler_static\"
-{ echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5
-echo $ECHO_N "checking if $compiler static flag $lt_tmp_static_flag works... $ECHO_C" >&6; }
-if test "${lt_prog_compiler_static_works+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+{ $as_echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5
+$as_echo_n "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; }
+if test "${lt_cv_prog_compiler_static_works+set}" = set; then
+ $as_echo_n "(cached) " >&6
else
- lt_prog_compiler_static_works=no
+ lt_cv_prog_compiler_static_works=no
save_LDFLAGS="$LDFLAGS"
LDFLAGS="$LDFLAGS $lt_tmp_static_flag"
echo "$lt_simple_link_test_code" > conftest.$ac_ext
@@ -7542,36 +9149,41 @@ else
if test -s conftest.err; then
# Append any errors to the config.log.
cat conftest.err 1>&5
- $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp
+ $ECHO "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp
$SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
if diff conftest.exp conftest.er2 >/dev/null; then
- lt_prog_compiler_static_works=yes
+ lt_cv_prog_compiler_static_works=yes
fi
else
- lt_prog_compiler_static_works=yes
+ lt_cv_prog_compiler_static_works=yes
fi
fi
- $rm conftest*
+ $RM -r conftest*
LDFLAGS="$save_LDFLAGS"
fi
-{ echo "$as_me:$LINENO: result: $lt_prog_compiler_static_works" >&5
-echo "${ECHO_T}$lt_prog_compiler_static_works" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_static_works" >&5
+$as_echo "$lt_cv_prog_compiler_static_works" >&6; }
-if test x"$lt_prog_compiler_static_works" = xyes; then
+if test x"$lt_cv_prog_compiler_static_works" = xyes; then
:
else
lt_prog_compiler_static=
fi
-{ echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5
-echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6; }
+
+
+
+
+
+ { $as_echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5
+$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
if test "${lt_cv_prog_compiler_c_o+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
lt_cv_prog_compiler_c_o=no
- $rm -r conftest 2>/dev/null
+ $RM -r conftest 2>/dev/null
mkdir conftest
cd conftest
mkdir out
@@ -7586,83 +9198,148 @@ else
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:7589: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:9201: $lt_compile\"" >&5)
(eval "$lt_compile" 2>out/conftest.err)
ac_status=$?
cat out/conftest.err >&5
- echo "$as_me:7593: \$? = $ac_status" >&5
+ echo "$as_me:9205: \$? = $ac_status" >&5
if (exit $ac_status) && test -s out/conftest2.$ac_objext
then
# The compiler can only warn and ignore the option if not recognized
# So say no if there are warnings
- $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp
+ $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp
$SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
lt_cv_prog_compiler_c_o=yes
fi
fi
chmod u+w . 2>&5
- $rm conftest*
+ $RM conftest*
# SGI C++ compiler will create directory out/ii_files/ for
# template instantiation
- test -d out/ii_files && $rm out/ii_files/* && rmdir out/ii_files
- $rm out/* && rmdir out
+ test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files
+ $RM out/* && rmdir out
cd ..
- rmdir conftest
- $rm conftest*
+ $RM -r conftest
+ $RM conftest*
fi
-{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o" >&5
-echo "${ECHO_T}$lt_cv_prog_compiler_c_o" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o" >&5
+$as_echo "$lt_cv_prog_compiler_c_o" >&6; }
+
+
+
+
+
+
+ { $as_echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5
+$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
+if test "${lt_cv_prog_compiler_c_o+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ lt_cv_prog_compiler_c_o=no
+ $RM -r conftest 2>/dev/null
+ mkdir conftest
+ cd conftest
+ mkdir out
+ echo "$lt_simple_compile_test_code" > conftest.$ac_ext
+
+ lt_compiler_flag="-o out/conftest2.$ac_objext"
+ # Insert the option either (1) after the last *FLAGS variable, or
+ # (2) before a word containing "conftest.", or (3) at the end.
+ # Note that $ac_compile itself does not contain backslashes and begins
+ # with a dollar sign (not a hyphen), so the echo should work correctly.
+ lt_compile=`echo "$ac_compile" | $SED \
+ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
+ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
+ -e 's:$: $lt_compiler_flag:'`
+ (eval echo "\"\$as_me:9256: $lt_compile\"" >&5)
+ (eval "$lt_compile" 2>out/conftest.err)
+ ac_status=$?
+ cat out/conftest.err >&5
+ echo "$as_me:9260: \$? = $ac_status" >&5
+ if (exit $ac_status) && test -s out/conftest2.$ac_objext
+ then
+ # The compiler can only warn and ignore the option if not recognized
+ # So say no if there are warnings
+ $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp
+ $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
+ if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
+ lt_cv_prog_compiler_c_o=yes
+ fi
+ fi
+ chmod u+w . 2>&5
+ $RM conftest*
+ # SGI C++ compiler will create directory out/ii_files/ for
+ # template instantiation
+ test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files
+ $RM out/* && rmdir out
+ cd ..
+ $RM -r conftest
+ $RM conftest*
+
+fi
+{ $as_echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o" >&5
+$as_echo "$lt_cv_prog_compiler_c_o" >&6; }
+
+
hard_links="nottested"
if test "$lt_cv_prog_compiler_c_o" = no && test "$need_locks" != no; then
# do not overwrite the value of need_locks provided by the user
- { echo "$as_me:$LINENO: checking if we can lock with hard links" >&5
-echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6; }
+ { $as_echo "$as_me:$LINENO: checking if we can lock with hard links" >&5
+$as_echo_n "checking if we can lock with hard links... " >&6; }
hard_links=yes
- $rm conftest*
+ $RM conftest*
ln conftest.a conftest.b 2>/dev/null && hard_links=no
touch conftest.a
ln conftest.a conftest.b 2>&5 || hard_links=no
ln conftest.a conftest.b 2>/dev/null && hard_links=no
- { echo "$as_me:$LINENO: result: $hard_links" >&5
-echo "${ECHO_T}$hard_links" >&6; }
+ { $as_echo "$as_me:$LINENO: result: $hard_links" >&5
+$as_echo "$hard_links" >&6; }
if test "$hard_links" = no; then
- { echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5
-echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5
+$as_echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;}
need_locks=warn
fi
else
need_locks=no
fi
-{ echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5
-echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6; }
+
+
+
+
+
+ { $as_echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5
+$as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; }
runpath_var=
allow_undefined_flag=
- enable_shared_with_static_runtimes=no
+ always_export_symbols=no
archive_cmds=
archive_expsym_cmds=
- old_archive_From_new_cmds=
- old_archive_from_expsyms_cmds=
+ compiler_needs_object=no
+ enable_shared_with_static_runtimes=no
export_dynamic_flag_spec=
- whole_archive_flag_spec=
- thread_safe_flag_spec=
+ export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
+ hardcode_automatic=no
+ hardcode_direct=no
+ hardcode_direct_absolute=no
hardcode_libdir_flag_spec=
hardcode_libdir_flag_spec_ld=
hardcode_libdir_separator=
- hardcode_direct=no
hardcode_minus_L=no
hardcode_shlibpath_var=unsupported
+ inherit_rpath=no
link_all_deplibs=unknown
- hardcode_automatic=no
module_cmds=
module_expsym_cmds=
- always_export_symbols=no
- export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
+ old_archive_from_new_cmds=
+ old_archive_from_expsyms_cmds=
+ thread_safe_flag_spec=
+ whole_archive_flag_spec=
# include_expsyms should be a list of space-separated symbols to be *always*
# included in the symbol list
include_expsyms=
@@ -7670,26 +9347,17 @@ echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared librar
# it will be wrapped by ` (' and `)$', so one must not match beginning or
# end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc',
# as well as any symbol that contains `d'.
- exclude_expsyms="_GLOBAL_OFFSET_TABLE_"
+ exclude_expsyms='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'
# Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out
# platforms (ab)use it in PIC code, but their linkers get confused if
# the symbol is explicitly referenced. Since portable code cannot
# rely on this symbol name, it's probably fine to never include it in
# preloaded symbol tables.
+ # Exclude shared library initialization/finalization symbols.
extract_expsyms_cmds=
- # Just being paranoid about ensuring that cc_basename is set.
- for cc_temp in $compiler""; do
- case $cc_temp in
- compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
- distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
- \-*) ;;
- *) break;;
- esac
-done
-cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
case $host_os in
- cygwin* | mingw* | pw32*)
+ cygwin* | mingw* | pw32* | cegcc*)
# FIXME: the MSVC++ port hasn't been tested in a loooong time
# When not using gcc, we currently assume that we are using
# Microsoft Visual C++.
@@ -7715,16 +9383,16 @@ cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
# are reset later if shared libraries are not supported. Putting them
# here allows them to be overridden if necessary.
runpath_var=LD_RUN_PATH
- hardcode_libdir_flag_spec='${wl}--rpath ${wl}$libdir'
+ hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
export_dynamic_flag_spec='${wl}--export-dynamic'
# ancient GNU ld didn't support --whole-archive et. al.
- if $LD --help 2>&1 | grep 'no-whole-archive' > /dev/null; then
- whole_archive_flag_spec="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
- else
- whole_archive_flag_spec=
+ if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then
+ whole_archive_flag_spec="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
+ else
+ whole_archive_flag_spec=
fi
supports_anon_versioning=no
- case `$LD -v 2>/dev/null` in
+ case `$LD -v 2>&1` in
*\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11
*\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ...
*\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ...
@@ -7734,11 +9402,11 @@ cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
# See if GNU ld supports shared libraries.
case $host_os in
- aix3* | aix4* | aix5*)
+ aix[3-9]*)
# On AIX/PPC, the GNU linker is very broken
if test "$host_cpu" != ia64; then
ld_shlibs=no
- cat <<EOF 1>&2
+ cat <<_LT_EOF 1>&2
*** Warning: the GNU linker, at least up to release 2.9.1, is reported
*** to be unable to reliably create shared libraries on AIX.
@@ -7746,26 +9414,27 @@ cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
*** really care for shared libraries, you may want to modify your PATH
*** so that a non-GNU linker is found, and then restart.
-EOF
+_LT_EOF
fi
;;
amigaos*)
- archive_cmds='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
- hardcode_libdir_flag_spec='-L$libdir'
- hardcode_minus_L=yes
-
- # Samuel A. Falvo II <kc5tja@dolphin.openprojects.net> reports
- # that the semantics of dynamic libraries on AmigaOS, at least up
- # to version 4, is to share data among multiple programs linked
- # with the same dynamic library. Since this doesn't match the
- # behavior of shared libraries on other platforms, we can't use
- # them.
- ld_shlibs=no
+ case $host_cpu in
+ powerpc)
+ # see comment about AmigaOS4 .so support
+ archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ archive_expsym_cmds=''
+ ;;
+ m68k)
+ archive_cmds='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
+ hardcode_libdir_flag_spec='-L$libdir'
+ hardcode_minus_L=yes
+ ;;
+ esac
;;
beos*)
- if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
+ if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
allow_undefined_flag=unsupported
# Joseph Beckenbach <jrb3@best.com> says some releases of gcc
# support --undefined. This deserves some investigation. FIXME
@@ -7775,16 +9444,16 @@ EOF
fi
;;
- cygwin* | mingw* | pw32*)
- # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, ) is actually meaningless,
+ cygwin* | mingw* | pw32* | cegcc*)
+ # _LT_TAGVAR(hardcode_libdir_flag_spec, ) is actually meaningless,
# as there is no search path for DLLs.
hardcode_libdir_flag_spec='-L$libdir'
allow_undefined_flag=unsupported
always_export_symbols=no
enable_shared_with_static_runtimes=yes
- export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/'\'' -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols'
+ export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/'\'' | $SED -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols'
- if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then
+ if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
# If the export-symbols file already is a .def file (1st line
# is EXPORTS), use it as is; otherwise, prepend...
@@ -7815,48 +9484,78 @@ EOF
archive_expsym_cmds='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
;;
- gnu* | linux* | k*bsd*-gnu)
- if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
+ gnu* | linux* | tpf* | k*bsd*-gnu)
+ tmp_diet=no
+ if test "$host_os" = linux-dietlibc; then
+ case $cc_basename in
+ diet\ *) tmp_diet=yes;; # linux-dietlibc with static linking (!diet-dyn)
+ esac
+ fi
+ if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \
+ && test "$tmp_diet" = no
+ then
tmp_addflag=
+ tmp_sharedflag='-shared'
case $cc_basename,$host_cpu in
- pgcc*) # Portland Group C compiler
- whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
+ pgcc*) # Portland Group C compiler
+ whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive'
tmp_addflag=' $pic_flag'
;;
pgf77* | pgf90* | pgf95*) # Portland Group f77 and f90 compilers
- whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
+ whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive'
tmp_addflag=' $pic_flag -Mnomain' ;;
- ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64
+ ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64
tmp_addflag=' -i_dynamic' ;;
efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64
tmp_addflag=' -i_dynamic -nofor_main' ;;
ifc* | ifort*) # Intel Fortran compiler
tmp_addflag=' -nofor_main' ;;
+ lf95*) # Lahey Fortran 8.1
+ whole_archive_flag_spec=
+ tmp_sharedflag='--shared' ;;
+ xl[cC]*) # IBM XL C 8.0 on PPC (deal with xlf below)
+ tmp_sharedflag='-qmkshrobj'
+ tmp_addflag= ;;
esac
case `$CC -V 2>&1 | sed 5q` in
*Sun\ C*) # Sun C 5.9
- whole_archive_flag_spec='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
+ whole_archive_flag_spec='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive'
+ compiler_needs_object=yes
tmp_sharedflag='-G' ;;
*Sun\ F*) # Sun Fortran 8.3
tmp_sharedflag='-G' ;;
- *)
- tmp_sharedflag='-shared' ;;
esac
archive_cmds='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- if test $supports_anon_versioning = yes; then
- archive_expsym_cmds='$echo "{ global:" > $output_objdir/$libname.ver~
- cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
- $echo "local: *; };" >> $output_objdir/$libname.ver~
- $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
- fi
+ if test "x$supports_anon_versioning" = xyes; then
+ archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~
+ cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
+ echo "local: *; };" >> $output_objdir/$libname.ver~
+ $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
+ fi
+
+ case $cc_basename in
+ xlf*)
+ # IBM XL Fortran 10.1 on PPC cannot create shared libs itself
+ whole_archive_flag_spec='--whole-archive$convenience --no-whole-archive'
+ hardcode_libdir_flag_spec=
+ hardcode_libdir_flag_spec_ld='-rpath $libdir'
+ archive_cmds='$LD -shared $libobjs $deplibs $compiler_flags -soname $soname -o $lib'
+ if test "x$supports_anon_versioning" = xyes; then
+ archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~
+ cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
+ echo "local: *; };" >> $output_objdir/$libname.ver~
+ $LD -shared $libobjs $deplibs $compiler_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib'
+ fi
+ ;;
+ esac
else
- ld_shlibs=no
+ ld_shlibs=no
fi
;;
- netbsd*)
- if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
+ netbsd* | netbsdelf*-gnu)
+ if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
wlarc=
else
@@ -7866,9 +9565,9 @@ EOF
;;
solaris*)
- if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then
+ if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then
ld_shlibs=no
- cat <<EOF 1>&2
+ cat <<_LT_EOF 1>&2
*** Warning: The releases 2.8.* of the GNU linker cannot reliably
*** create shared libraries on Solaris systems. Therefore, libtool
@@ -7877,8 +9576,8 @@ EOF
*** your PATH or compiler configuration so that the native linker is
*** used, and then restart.
-EOF
- elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
+_LT_EOF
+ elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
else
@@ -7902,10 +9601,14 @@ EOF
_LT_EOF
;;
*)
- if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
- hardcode_libdir_flag_spec='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`'
- archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib'
- archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname,-retain-symbols-file,$export_symbols -o $lib'
+ # For security reasons, it is highly recommended that you always
+ # use absolute paths for naming shared libraries, and exclude the
+ # DT_RUNPATH tag from executables and libraries. But doing so
+ # requires that you compile everything twice, which is a pain.
+ if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
+ hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
+ archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
else
ld_shlibs=no
fi
@@ -7921,7 +9624,7 @@ _LT_EOF
;;
*)
- if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
+ if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
else
@@ -7953,7 +9656,7 @@ _LT_EOF
fi
;;
- aix4* | aix5*)
+ aix[4-9]*)
if test "$host_cpu" = ia64; then
# On IA64, the linker does run time linking by default, so we don't
# have to do anything special.
@@ -7963,22 +9666,22 @@ _LT_EOF
else
# If we're using GNU nm, then we don't want the "-C" option.
# -C means demangle to AIX nm, but means don't demangle with GNU nm
- if $NM -V 2>&1 | grep 'GNU' > /dev/null; then
- export_symbols_cmds='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols'
+ if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
+ export_symbols_cmds='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
else
- export_symbols_cmds='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols'
+ export_symbols_cmds='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
fi
aix_use_runtimelinking=no
# Test if we are trying to use run time linking or normal
# AIX style linking. If -brtl is somewhere in LDFLAGS, we
# need to do runtime linking.
- case $host_os in aix4.[23]|aix4.[23].*|aix5*)
+ case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*)
for ld_flag in $LDFLAGS; do
- if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then
- aix_use_runtimelinking=yes
- break
- fi
+ if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then
+ aix_use_runtimelinking=yes
+ break
+ fi
done
;;
esac
@@ -7995,28 +9698,30 @@ _LT_EOF
archive_cmds=''
hardcode_direct=yes
+ hardcode_direct_absolute=yes
hardcode_libdir_separator=':'
link_all_deplibs=yes
+ file_list_spec='${wl}-f,'
if test "$GCC" = yes; then
case $host_os in aix4.[012]|aix4.[012].*)
# We only want to do this on AIX 4.2 and lower, the check
# below for broken collect2 doesn't work under 4.3+
collect2name=`${CC} -print-prog-name=collect2`
- if test -f "$collect2name" && \
- strings "$collect2name" | grep resolve_lib_name >/dev/null
+ if test -f "$collect2name" &&
+ strings "$collect2name" | $GREP resolve_lib_name >/dev/null
then
- # We have reworked collect2
- :
+ # We have reworked collect2
+ :
else
- # We have old collect2
- hardcode_direct=unsupported
- # It fails to find uninstalled libraries when the uninstalled
- # path is not listed in the libpath. Setting hardcode_minus_L
- # to unsupported forces relinking
- hardcode_minus_L=yes
- hardcode_libdir_flag_spec='-L$libdir'
- hardcode_libdir_separator=
+ # We have old collect2
+ hardcode_direct=unsupported
+ # It fails to find uninstalled libraries when the uninstalled
+ # path is not listed in the libpath. Setting hardcode_minus_L
+ # to unsupported forces relinking
+ hardcode_minus_L=yes
+ hardcode_libdir_flag_spec='-L$libdir'
+ hardcode_libdir_separator=
fi
;;
esac
@@ -8024,11 +9729,12 @@ _LT_EOF
if test "$aix_use_runtimelinking" = yes; then
shared_flag="$shared_flag "'${wl}-G'
fi
+ link_all_deplibs=no
else
# not using gcc
if test "$host_cpu" = ia64; then
- # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
- # chokes on -Wl,-G. The following line is correct:
+ # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
+ # chokes on -Wl,-G. The following line is correct:
shared_flag='-G'
else
if test "$aix_use_runtimelinking" = yes; then
@@ -8039,6 +9745,7 @@ _LT_EOF
fi
fi
+ export_dynamic_flag_spec='${wl}-bexpall'
# It seems that -bexpall does not export symbols beginning with
# underscore (_), so it is better to generate a list of symbols to export.
always_export_symbols=yes
@@ -8046,8 +9753,9 @@ _LT_EOF
# Warning - without using the other runtime loading flags (-brtl),
# -berok will link without error, but may produce a broken library.
allow_undefined_flag='-berok'
- # Determine the default libpath from the value encoded in an empty executable.
- cat >conftest.$ac_ext <<_ACEOF
+ # Determine the default libpath from the value encoded in an
+ # empty executable.
+ cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
@@ -8068,18 +9776,21 @@ case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
(eval "$ac_link") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
test -z "$ac_c_werror_flag" ||
test ! -s conftest.err
- } && test -s conftest$ac_exeext &&
- $as_test_x conftest$ac_exeext; then
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
lt_aix_libpath_sed='
/Import File Strings/,/^$/ {
@@ -8094,25 +9805,27 @@ if test -z "$aix_libpath"; then
aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
fi
else
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
fi
+rm -rf conftest.dSYM
rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
conftest$ac_exeext conftest.$ac_ext
if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
- hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
- archive_expsym_cmds="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
- else
+ hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
+ archive_expsym_cmds='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then $ECHO "X${wl}${allow_undefined_flag}" | $Xsed; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
+ else
if test "$host_cpu" = ia64; then
hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib'
allow_undefined_flag="-z nodefs"
archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols"
else
- # Determine the default libpath from the value encoded in an empty executable.
+ # Determine the default libpath from the value encoded in an
+ # empty executable.
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
_ACEOF
@@ -8134,18 +9847,21 @@ case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
(eval "$ac_link") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
test -z "$ac_c_werror_flag" ||
test ! -s conftest.err
- } && test -s conftest$ac_exeext &&
- $as_test_x conftest$ac_exeext; then
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
lt_aix_libpath_sed='
/Import File Strings/,/^$/ {
@@ -8160,12 +9876,13 @@ if test -z "$aix_libpath"; then
aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
fi
else
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
fi
+rm -rf conftest.dSYM
rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
conftest$ac_exeext conftest.$ac_ext
if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
@@ -8185,18 +9902,25 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
;;
amigaos*)
- archive_cmds='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
- hardcode_libdir_flag_spec='-L$libdir'
- hardcode_minus_L=yes
- # see comment about different semantics on the GNU ld section
- ld_shlibs=no
+ case $host_cpu in
+ powerpc)
+ # see comment about AmigaOS4 .so support
+ archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ archive_expsym_cmds=''
+ ;;
+ m68k)
+ archive_cmds='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
+ hardcode_libdir_flag_spec='-L$libdir'
+ hardcode_minus_L=yes
+ ;;
+ esac
;;
bsdi[45]*)
export_dynamic_flag_spec=-rdynamic
;;
- cygwin* | mingw* | pw32*)
+ cygwin* | mingw* | pw32* | cegcc*)
# When not using gcc, we currently assume that we are using
# Microsoft Visual C++.
# hardcode_libdir_flag_spec is actually meaningless, as there is
@@ -8208,9 +9932,9 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
# Tell ltmain to make .dll files, not .so files.
shrext_cmds=".dll"
# FIXME: Setting linknames here is a bad hack.
- archive_cmds='$CC -o $lib $libobjs $compiler_flags `echo "$deplibs" | $SED -e '\''s/ -lc$//'\''` -link -dll~linknames='
+ archive_cmds='$CC -o $lib $libobjs $compiler_flags `$ECHO "X$deplibs" | $Xsed -e '\''s/ -lc$//'\''` -link -dll~linknames='
# The linker will automatically build a .lib file if we build a DLL.
- old_archive_From_new_cmds='true'
+ old_archive_from_new_cmds='true'
# FIXME: Should let the user specify the lib program.
old_archive_cmds='lib -OUT:$oldlib$oldobjs$old_deplibs'
fix_srcfile_path='`cygpath -w "$srcfile"`'
@@ -8218,53 +9942,30 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
;;
darwin* | rhapsody*)
- case $host_os in
- rhapsody* | darwin1.[012])
- allow_undefined_flag='${wl}-undefined ${wl}suppress'
- ;;
- *) # Darwin 1.3 on
- if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then
- allow_undefined_flag='${wl}-flat_namespace ${wl}-undefined ${wl}suppress'
- else
- case ${MACOSX_DEPLOYMENT_TARGET} in
- 10.[012])
- allow_undefined_flag='${wl}-flat_namespace ${wl}-undefined ${wl}suppress'
- ;;
- 10.*)
- allow_undefined_flag='${wl}-undefined ${wl}dynamic_lookup'
- ;;
- esac
- fi
- ;;
- esac
- archive_cmds_need_lc=no
- hardcode_direct=no
- hardcode_automatic=yes
- hardcode_shlibpath_var=unsupported
- whole_archive_flag_spec=''
- link_all_deplibs=yes
- if test "$GCC" = yes ; then
- output_verbose_link_cmd='echo'
- archive_cmds='$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring'
- module_cmds='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
- # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds
- archive_expsym_cmds='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
- module_expsym_cmds='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
- else
- case $cc_basename in
- xlc*)
- output_verbose_link_cmd='echo'
- archive_cmds='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $xlcverstring'
- module_cmds='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
- # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds
- archive_expsym_cmds='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $xlcverstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
- module_expsym_cmds='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
- ;;
- *)
- ld_shlibs=no
- ;;
- esac
- fi
+
+
+ archive_cmds_need_lc=no
+ hardcode_direct=no
+ hardcode_automatic=yes
+ hardcode_shlibpath_var=unsupported
+ whole_archive_flag_spec=''
+ link_all_deplibs=yes
+ allow_undefined_flag="$_lt_dar_allow_undefined"
+ case $cc_basename in
+ ifort*) _lt_dar_can_shared=yes ;;
+ *) _lt_dar_can_shared=$GCC ;;
+ esac
+ if test "$_lt_dar_can_shared" = "yes"; then
+ output_verbose_link_cmd=echo
+ archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
+ module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
+ archive_expsym_cmds="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
+ module_expsym_cmds="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
+
+ else
+ ld_shlibs=no
+ fi
+
;;
dgux*)
@@ -8306,9 +10007,9 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
hpux9*)
if test "$GCC" = yes; then
- archive_cmds='$rm $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+ archive_cmds='$RM $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
else
- archive_cmds='$rm $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+ archive_cmds='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
fi
hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
hardcode_libdir_separator=:
@@ -8328,11 +10029,11 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
fi
if test "$with_gnu_ld" = no; then
hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
+ hardcode_libdir_flag_spec_ld='+b $libdir'
hardcode_libdir_separator=:
-
hardcode_direct=yes
+ hardcode_direct_absolute=yes
export_dynamic_flag_spec='${wl}-E'
-
# hardcode_minus_L: Not really in the search PATH,
# but as the default location of the library.
hardcode_minus_L=yes
@@ -8346,7 +10047,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
archive_cmds='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
;;
ia64*)
- archive_cmds='$CC -shared ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
+ archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
;;
*)
archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
@@ -8371,12 +10072,12 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
case $host_cpu in
hppa*64*|ia64*)
- hardcode_libdir_flag_spec_ld='+b $libdir'
hardcode_direct=no
hardcode_shlibpath_var=no
;;
*)
hardcode_direct=yes
+ hardcode_direct_absolute=yes
export_dynamic_flag_spec='${wl}-E'
# hardcode_minus_L: Not really in the search PATH,
@@ -8389,18 +10090,62 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
irix5* | irix6* | nonstopux*)
if test "$GCC" = yes; then
- archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+ archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+ # Try to use the -exported_symbol ld option, if it does not
+ # work, assume that -exports_file does not work either and
+ # implicitly export all symbols.
+ save_LDFLAGS="$LDFLAGS"
+ LDFLAGS="$LDFLAGS -shared ${wl}-exported_symbol ${wl}foo ${wl}-update_registry ${wl}/dev/null"
+ cat >conftest.$ac_ext <<_ACEOF
+int foo(void) {}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
+ archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations ${wl}-exports_file ${wl}$export_symbols -o $lib'
+
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+ LDFLAGS="$save_LDFLAGS"
else
- archive_cmds='$LD -shared $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
- hardcode_libdir_flag_spec_ld='-rpath $libdir'
+ archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
+ archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -exports_file $export_symbols -o $lib'
fi
+ archive_cmds_need_lc='no'
hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
hardcode_libdir_separator=:
+ inherit_rpath=yes
link_all_deplibs=yes
;;
- netbsd*)
- if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
+ netbsd* | netbsdelf*-gnu)
+ if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out
else
archive_cmds='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF
@@ -8418,11 +10163,15 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
hardcode_shlibpath_var=no
;;
+ *nto* | *qnx*)
+ ;;
+
openbsd*)
if test -f /usr/libexec/ld.so; then
hardcode_direct=yes
hardcode_shlibpath_var=no
- if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+ hardcode_direct_absolute=yes
+ if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
archive_expsym_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols'
hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
@@ -8438,7 +10187,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
;;
esac
- fi
+ fi
else
ld_shlibs=no
fi
@@ -8448,18 +10197,19 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
hardcode_libdir_flag_spec='-L$libdir'
hardcode_minus_L=yes
allow_undefined_flag=unsupported
- archive_cmds='$echo "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$echo "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$echo DATA >> $output_objdir/$libname.def~$echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~$echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def'
- old_archive_From_new_cmds='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def'
+ archive_cmds='$ECHO "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$ECHO DATA >> $output_objdir/$libname.def~$ECHO " SINGLE NONSHARED" >> $output_objdir/$libname.def~$ECHO EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def'
+ old_archive_from_new_cmds='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def'
;;
osf3*)
if test "$GCC" = yes; then
allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*'
- archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+ archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
else
allow_undefined_flag=' -expect_unresolved \*'
- archive_cmds='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
+ archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
fi
+ archive_cmds_need_lc='no'
hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
hardcode_libdir_separator=:
;;
@@ -8467,32 +10217,43 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
osf4* | osf5*) # as osf3* with the addition of -msym flag
if test "$GCC" = yes; then
allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*'
- archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+ archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
else
allow_undefined_flag=' -expect_unresolved \*'
- archive_cmds='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
- archive_expsym_cmds='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; echo "-hidden">> $lib.exp~
- $LD -shared${allow_undefined_flag} -input $lib.exp $linker_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~$rm $lib.exp'
+ archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
+ archive_expsym_cmds='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~
+ $CC -shared${allow_undefined_flag} ${wl}-input ${wl}$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib~$RM $lib.exp'
# Both c and cxx compiler support -rpath directly
hardcode_libdir_flag_spec='-rpath $libdir'
fi
+ archive_cmds_need_lc='no'
hardcode_libdir_separator=:
;;
solaris*)
- no_undefined_flag=' -z text'
+ no_undefined_flag=' -z defs'
if test "$GCC" = yes; then
wlarc='${wl}'
- archive_cmds='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
- archive_expsym_cmds='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
- $CC -shared ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$rm $lib.exp'
+ archive_cmds='$CC -shared ${wl}-z ${wl}text ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
+ archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
+ $CC -shared ${wl}-z ${wl}text ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
else
- wlarc=''
- archive_cmds='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags'
- archive_expsym_cmds='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
- $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp'
+ case `$CC -V 2>&1` in
+ *"Compilers 5.0"*)
+ wlarc=''
+ archive_cmds='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
+ $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp'
+ ;;
+ *)
+ wlarc='${wl}'
+ archive_cmds='$CC -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $compiler_flags'
+ archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
+ $CC -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
+ ;;
+ esac
fi
hardcode_libdir_flag_spec='-R$libdir'
hardcode_shlibpath_var=no
@@ -8502,7 +10263,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
# The compiler driver will combine and reorder linker options,
# but understands `-z linker_flag'. GCC discards it without `$wl',
# but is careful enough not to reorder.
- # Supported since Solaris 2.6 (maybe 2.5.1?)
+ # Supported since Solaris 2.6 (maybe 2.5.1?)
if test "$GCC" = yes; then
whole_archive_flag_spec='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
else
@@ -8591,18 +10352,18 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
allow_undefined_flag='${wl}-z,nodefs'
archive_cmds_need_lc=no
hardcode_shlibpath_var=no
- hardcode_libdir_flag_spec='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`'
+ hardcode_libdir_flag_spec='${wl}-R,$libdir'
hardcode_libdir_separator=':'
link_all_deplibs=yes
export_dynamic_flag_spec='${wl}-Bexport'
runpath_var='LD_RUN_PATH'
if test "$GCC" = yes; then
- archive_cmds='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
- archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
+ archive_cmds='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
else
- archive_cmds='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
- archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
+ archive_cmds='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
fi
;;
@@ -8616,12 +10377,36 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
ld_shlibs=no
;;
esac
+
+ if test x$host_vendor = xsni; then
+ case $host in
+ sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
+ export_dynamic_flag_spec='${wl}-Blargedynsym'
+ ;;
+ esac
+ fi
fi
-{ echo "$as_me:$LINENO: result: $ld_shlibs" >&5
-echo "${ECHO_T}$ld_shlibs" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $ld_shlibs" >&5
+$as_echo "$ld_shlibs" >&6; }
test "$ld_shlibs" = no && can_build_shared=no
+with_gnu_ld=$with_gnu_ld
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
#
# Do we need to explicitly link libc?
#
@@ -8639,15 +10424,15 @@ x|xyes)
# Test whether the compiler implicitly links with -lc since on some
# systems, -lgcc has to come before -lc. If gcc already passes -lc
# to ld, don't add -lc before -lgcc.
- { echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5
-echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6; }
- $rm conftest*
+ { $as_echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5
+$as_echo_n "checking whether -lc should be explicitly linked in... " >&6; }
+ $RM conftest*
echo "$lt_simple_compile_test_code" > conftest.$ac_ext
if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
(eval $ac_compile) 2>&5
ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } 2>conftest.err; then
soname=conftest
lib=conftest
@@ -8662,10 +10447,10 @@ echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&
libname=conftest
lt_save_allow_undefined_flag=$allow_undefined_flag
allow_undefined_flag=
- if { (eval echo "$as_me:$LINENO: \"$archive_cmds 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1\"") >&5
- (eval $archive_cmds 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) 2>&5
+ if { (eval echo "$as_me:$LINENO: \"$archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1\"") >&5
+ (eval $archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) 2>&5
ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }
then
archive_cmds_need_lc=no
@@ -8676,30 +10461,173 @@ echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&
else
cat conftest.err 1>&5
fi
- $rm conftest*
- { echo "$as_me:$LINENO: result: $archive_cmds_need_lc" >&5
-echo "${ECHO_T}$archive_cmds_need_lc" >&6; }
+ $RM conftest*
+ { $as_echo "$as_me:$LINENO: result: $archive_cmds_need_lc" >&5
+$as_echo "$archive_cmds_need_lc" >&6; }
;;
esac
fi
;;
esac
-{ echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5
-echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6; }
-library_names_spec=
-libname_spec='lib$name'
-soname_spec=
-shrext_cmds=".so"
-postinstall_cmds=
-postuninstall_cmds=
-finish_cmds=
-finish_eval=
-shlibpath_var=
-shlibpath_overrides_runpath=unknown
-version_type=none
-dynamic_linker="$host_os ld.so"
-sys_lib_dlsearch_path_spec="/lib /usr/lib"
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ { $as_echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5
+$as_echo_n "checking dynamic linker characteristics... " >&6; }
if test "$GCC" = yes; then
case $host_os in
@@ -8707,14 +10635,14 @@ if test "$GCC" = yes; then
*) lt_awk_arg="/^libraries:/" ;;
esac
lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e "s,=/,/,g"`
- if echo "$lt_search_path_spec" | grep ';' >/dev/null ; then
+ if $ECHO "$lt_search_path_spec" | $GREP ';' >/dev/null ; then
# if the path contains ";" then we assume it to be the separator
# otherwise default to the standard path separator (i.e. ":") - it is
# assumed that no part of a normal pathname contains ";" but that should
# okay in the real world where ";" in dirpaths is itself problematic.
- lt_search_path_spec=`echo "$lt_search_path_spec" | $SED -e 's/;/ /g'`
+ lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED -e 's/;/ /g'`
else
- lt_search_path_spec=`echo "$lt_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
+ lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
fi
# Ok, now we have the path, separated by spaces, we can step through it
# and add multilib dir if necessary.
@@ -8728,7 +10656,7 @@ if test "$GCC" = yes; then
lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path"
fi
done
- lt_search_path_spec=`echo $lt_tmp_lt_search_path_spec | awk '
+ lt_search_path_spec=`$ECHO $lt_tmp_lt_search_path_spec | awk '
BEGIN {RS=" "; FS="/|\n";} {
lt_foo="";
lt_count=0;
@@ -8748,10 +10676,23 @@ BEGIN {RS=" "; FS="/|\n";} {
if (lt_foo != "") { lt_freq[lt_foo]++; }
if (lt_freq[lt_foo] == 1) { print lt_foo; }
}'`
- sys_lib_search_path_spec=`echo $lt_search_path_spec`
+ sys_lib_search_path_spec=`$ECHO $lt_search_path_spec`
else
sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
fi
+library_names_spec=
+libname_spec='lib$name'
+soname_spec=
+shrext_cmds=".so"
+postinstall_cmds=
+postuninstall_cmds=
+finish_cmds=
+finish_eval=
+shlibpath_var=
+shlibpath_overrides_runpath=unknown
+version_type=none
+dynamic_linker="$host_os ld.so"
+sys_lib_dlsearch_path_spec="/lib /usr/lib"
need_lib_prefix=unknown
hardcode_into_libs=no
@@ -8769,7 +10710,7 @@ aix3*)
soname_spec='${libname}${release}${shared_ext}$major'
;;
-aix4* | aix5*)
+aix[4-9]*)
version_type=linux
need_lib_prefix=no
need_version=no
@@ -8788,7 +10729,7 @@ aix4* | aix5*)
aix4 | aix4.[01] | aix4.[01].*)
if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
echo ' yes '
- echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then
+ echo '#endif'; } | ${CC} -E - | $GREP yes > /dev/null; then
:
else
can_build_shared=no
@@ -8814,9 +10755,18 @@ aix4* | aix5*)
;;
amigaos*)
- library_names_spec='$libname.ixlibrary $libname.a'
- # Create ${libname}_ixlibrary.a entries in /sys/libs.
- finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'
+ case $host_cpu in
+ powerpc)
+ # Since July 2007 AmigaOS4 officially supports .so libraries.
+ # When compiling the executable, add -use-dynld -Lsobjs: to the compileline.
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ ;;
+ m68k)
+ library_names_spec='$libname.ixlibrary $libname.a'
+ # Create ${libname}_ixlibrary.a entries in /sys/libs.
+ finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$ECHO "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'
+ ;;
+ esac
;;
beos*)
@@ -8839,25 +10789,28 @@ bsdi[45]*)
# libtool to hard-code these into programs
;;
-cygwin* | mingw* | pw32*)
+cygwin* | mingw* | pw32* | cegcc*)
version_type=windows
shrext_cmds=".dll"
need_version=no
need_lib_prefix=no
case $GCC,$host_os in
- yes,cygwin* | yes,mingw* | yes,pw32*)
+ yes,cygwin* | yes,mingw* | yes,pw32* | yes,cegcc*)
library_names_spec='$libname.dll.a'
# DLL is installed to $(libdir)/../bin by postinstall_cmds
postinstall_cmds='base_file=`basename \${file}`~
- dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo \$dlname'\''`~
+ dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~
dldir=$destdir/`dirname \$dlpath`~
test -d \$dldir || mkdir -p \$dldir~
$install_prog $dir/$dlname \$dldir/$dlname~
- chmod a+x \$dldir/$dlname'
+ chmod a+x \$dldir/$dlname~
+ if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then
+ eval '\''$striplib \$dldir/$dlname'\'' || exit \$?;
+ fi'
postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
dlpath=$dir/\$dldll~
- $rm \$dlpath'
+ $RM \$dlpath'
shlibpath_overrides_runpath=yes
case $host_os in
@@ -8866,20 +10819,20 @@ cygwin* | mingw* | pw32*)
soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib"
;;
- mingw*)
+ mingw* | cegcc*)
# MinGW DLLs use traditional 'lib' prefix
soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
- sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"`
- if echo "$sys_lib_search_path_spec" | grep ';[c-zC-Z]:/' >/dev/null; then
+ sys_lib_search_path_spec=`$CC -print-search-dirs | $GREP "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"`
+ if $ECHO "$sys_lib_search_path_spec" | $GREP ';[c-zC-Z]:/' >/dev/null; then
# It is most probably a Windows format PATH printed by
# mingw gcc, but we are running on Cygwin. Gcc prints its search
# path with ; separators, and with drive letters. We can handle the
# drive letters (cygwin fileutils understands them), so leave them,
# especially as we might pass files found there to a mingw objdump,
# which wouldn't understand a cygwinified path. Ahh.
- sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
+ sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
else
- sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
+ sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
fi
;;
pw32*)
@@ -8903,7 +10856,7 @@ darwin* | rhapsody*)
version_type=darwin
need_lib_prefix=no
need_version=no
- library_names_spec='${libname}${release}${versuffix}$shared_ext ${libname}${release}${major}$shared_ext ${libname}$shared_ext'
+ library_names_spec='${libname}${release}${major}$shared_ext ${libname}$shared_ext'
soname_spec='${libname}${release}${major}$shared_ext'
shlibpath_overrides_runpath=yes
shlibpath_var=DYLD_LIBRARY_PATH
@@ -9002,18 +10955,18 @@ hpux9* | hpux10* | hpux11*)
fi
sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
;;
- hppa*64*)
- shrext_cmds='.sl'
- hardcode_into_libs=yes
- dynamic_linker="$host_os dld.sl"
- shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
- shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64"
- sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
- ;;
- *)
+ hppa*64*)
+ shrext_cmds='.sl'
+ hardcode_into_libs=yes
+ dynamic_linker="$host_os dld.sl"
+ shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
+ shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64"
+ sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
+ ;;
+ *)
shrext_cmds='.sl'
dynamic_linker="$host_os dld.sl"
shlibpath_var=SHLIB_PATH
@@ -9090,17 +11043,73 @@ linux* | k*bsd*-gnu)
finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
shlibpath_var=LD_LIBRARY_PATH
shlibpath_overrides_runpath=no
+ # Some binutils ld are patched to set DT_RUNPATH
+ save_LDFLAGS=$LDFLAGS
+ save_libdir=$libdir
+ eval "libdir=/foo; wl=\"$lt_prog_compiler_wl\"; \
+ LDFLAGS=\"\$LDFLAGS $hardcode_libdir_flag_spec\""
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
+ if ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null; then
+ shlibpath_overrides_runpath=yes
+fi
+
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+ LDFLAGS=$save_LDFLAGS
+ libdir=$save_libdir
+
# This implies no fast_install, which is unacceptable.
# Some rework will be needed to allow for fast_install
# before this can be enabled.
hardcode_into_libs=yes
- sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}"
- sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}"
# Append ld.so.conf contents to the search path
if test -f /etc/ld.so.conf; then
- lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '`
- sys_lib_dlsearch_path_spec="$sys_lib_dlsearch_path_spec $lt_ld_extra"
+ lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '`
+ sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
fi
# We used to test for /lib/ld.so.1 and disable shared libraries on
@@ -9112,11 +11121,23 @@ linux* | k*bsd*-gnu)
dynamic_linker='GNU/Linux ld.so'
;;
+netbsdelf*-gnu)
+ version_type=linux
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=no
+ hardcode_into_libs=yes
+ dynamic_linker='NetBSD ld.elf_so'
+ ;;
+
netbsd*)
version_type=sunos
need_lib_prefix=no
need_version=no
- if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
+ if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
dynamic_linker='NetBSD (a.out) ld.so'
@@ -9137,14 +11158,16 @@ newsos6)
shlibpath_overrides_runpath=yes
;;
-nto-qnx*)
- version_type=linux
+*nto* | *qnx*)
+ version_type=qnx
need_lib_prefix=no
need_version=no
library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
soname_spec='${libname}${release}${shared_ext}$major'
shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=yes
+ shlibpath_overrides_runpath=no
+ hardcode_into_libs=yes
+ dynamic_linker='ldqnx.so'
;;
openbsd*)
@@ -9153,13 +11176,13 @@ openbsd*)
need_lib_prefix=no
# Some older versions of OpenBSD (3.3 at least) *do* need versioned libs.
case $host_os in
- openbsd3.3 | openbsd3.3.*) need_version=yes ;;
- *) need_version=no ;;
+ openbsd3.3 | openbsd3.3.*) need_version=yes ;;
+ *) need_version=no ;;
esac
library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
shlibpath_var=LD_LIBRARY_PATH
- if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+ if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
case $host_os in
openbsd2.[89] | openbsd2.[89].*)
shlibpath_overrides_runpath=no
@@ -9231,7 +11254,6 @@ sysv4 | sysv4.3*)
sni)
shlibpath_overrides_runpath=no
need_lib_prefix=no
- export_dynamic_flag_spec='${wl}-Blargedynsym'
runpath_var=LD_RUN_PATH
;;
siemens)
@@ -9262,13 +11284,12 @@ sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
soname_spec='${libname}${release}${shared_ext}$major'
shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=yes
hardcode_into_libs=yes
if test "$with_gnu_ld" = yes; then
sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib'
- shlibpath_overrides_runpath=no
else
sys_lib_search_path_spec='/usr/ccs/lib /usr/lib'
- shlibpath_overrides_runpath=yes
case $host_os in
sco3.2v5*)
sys_lib_search_path_spec="$sys_lib_search_path_spec /lib"
@@ -9278,6 +11299,17 @@ sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
sys_lib_dlsearch_path_spec='/usr/lib'
;;
+tpf*)
+ # TPF is a cross-target only. Preferred cross-host = GNU/Linux.
+ version_type=linux
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=no
+ hardcode_into_libs=yes
+ ;;
+
uts4*)
version_type=linux
library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
@@ -9289,8 +11321,8 @@ uts4*)
dynamic_linker=no
;;
esac
-{ echo "$as_me:$LINENO: result: $dynamic_linker" >&5
-echo "${ECHO_T}$dynamic_linker" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $dynamic_linker" >&5
+$as_echo "$dynamic_linker" >&6; }
test "$dynamic_linker" = no && can_build_shared=no
variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
@@ -9298,19 +11330,112 @@ if test "$GCC" = yes; then
variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
fi
-{ echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5
-echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6; }
+if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then
+ sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec"
+fi
+if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then
+ sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec"
+fi
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ { $as_echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5
+$as_echo_n "checking how to hardcode library paths into programs... " >&6; }
hardcode_action=
-if test -n "$hardcode_libdir_flag_spec" || \
- test -n "$runpath_var" || \
+if test -n "$hardcode_libdir_flag_spec" ||
+ test -n "$runpath_var" ||
test "X$hardcode_automatic" = "Xyes" ; then
- # We can hardcode non-existant directories.
+ # We can hardcode non-existent directories.
if test "$hardcode_direct" != no &&
# If the only mechanism to avoid hardcoding is shlibpath_var, we
# have to relink, otherwise we might link with an installed library
# when we should be linking with a yet-to-be-installed one
- ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, )" != no &&
+ ## test "$_LT_TAGVAR(hardcode_shlibpath_var, )" != no &&
test "$hardcode_minus_L" != no; then
# Linking always hardcodes the temporary library directory.
hardcode_action=relink
@@ -9323,10 +11448,11 @@ else
# directories.
hardcode_action=unsupported
fi
-{ echo "$as_me:$LINENO: result: $hardcode_action" >&5
-echo "${ECHO_T}$hardcode_action" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $hardcode_action" >&5
+$as_echo "$hardcode_action" >&6; }
-if test "$hardcode_action" = relink; then
+if test "$hardcode_action" = relink ||
+ test "$inherit_rpath" = yes; then
# Fast installation is not supported
enable_fast_install=no
elif test "$shlibpath_overrides_runpath" = yes ||
@@ -9335,37 +11461,12 @@ elif test "$shlibpath_overrides_runpath" = yes ||
enable_fast_install=needless
fi
-striplib=
-old_striplib=
-{ echo "$as_me:$LINENO: checking whether stripping libraries is possible" >&5
-echo $ECHO_N "checking whether stripping libraries is possible... $ECHO_C" >&6; }
-if test -n "$STRIP" && $STRIP -V 2>&1 | grep "GNU strip" >/dev/null; then
- test -z "$old_striplib" && old_striplib="$STRIP --strip-debug"
- test -z "$striplib" && striplib="$STRIP --strip-unneeded"
- { echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; }
-else
-# FIXME - insert some real tests, host_os isn't really good enough
- case $host_os in
- darwin*)
- if test -n "$STRIP" ; then
- striplib="$STRIP -x"
- old_striplib="$STRIP -S"
- { echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; }
- else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
-fi
- ;;
- *)
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
- ;;
- esac
-fi
-if test "x$enable_dlopen" != xyes; then
+
+
+
+
+ if test "x$enable_dlopen" != xyes; then
enable_dlopen=unknown
enable_dlopen_self=unknown
enable_dlopen_self_static=unknown
@@ -9380,22 +11481,22 @@ else
lt_cv_dlopen_self=yes
;;
- mingw* | pw32*)
+ mingw* | pw32* | cegcc*)
lt_cv_dlopen="LoadLibrary"
lt_cv_dlopen_libs=
- ;;
+ ;;
cygwin*)
lt_cv_dlopen="dlopen"
lt_cv_dlopen_libs=
- ;;
+ ;;
darwin*)
# if libdl is installed we need to link against it
- { echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5
-echo $ECHO_N "checking for dlopen in -ldl... $ECHO_C" >&6; }
+ { $as_echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5
+$as_echo_n "checking for dlopen in -ldl... " >&6; }
if test "${ac_cv_lib_dl_dlopen+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
ac_check_lib_save_LIBS=$LIBS
LIBS="-ldl $LIBS"
@@ -9427,33 +11528,37 @@ case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
(eval "$ac_link") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
test -z "$ac_c_werror_flag" ||
test ! -s conftest.err
- } && test -s conftest$ac_exeext &&
- $as_test_x conftest$ac_exeext; then
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
ac_cv_lib_dl_dlopen=yes
else
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
ac_cv_lib_dl_dlopen=no
fi
+rm -rf conftest.dSYM
rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
conftest$ac_exeext conftest.$ac_ext
LIBS=$ac_check_lib_save_LIBS
fi
-{ echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5
-echo "${ECHO_T}$ac_cv_lib_dl_dlopen" >&6; }
-if test $ac_cv_lib_dl_dlopen = yes; then
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5
+$as_echo "$ac_cv_lib_dl_dlopen" >&6; }
+if test "x$ac_cv_lib_dl_dlopen" = x""yes; then
lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"
else
@@ -9463,13 +11568,13 @@ else
fi
- ;;
+ ;;
*)
- { echo "$as_me:$LINENO: checking for shl_load" >&5
-echo $ECHO_N "checking for shl_load... $ECHO_C" >&6; }
+ { $as_echo "$as_me:$LINENO: checking for shl_load" >&5
+$as_echo_n "checking for shl_load... " >&6; }
if test "${ac_cv_func_shl_load+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
@@ -9522,38 +11627,42 @@ case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
(eval "$ac_link") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
test -z "$ac_c_werror_flag" ||
test ! -s conftest.err
- } && test -s conftest$ac_exeext &&
- $as_test_x conftest$ac_exeext; then
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
ac_cv_func_shl_load=yes
else
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
ac_cv_func_shl_load=no
fi
+rm -rf conftest.dSYM
rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
conftest$ac_exeext conftest.$ac_ext
fi
-{ echo "$as_me:$LINENO: result: $ac_cv_func_shl_load" >&5
-echo "${ECHO_T}$ac_cv_func_shl_load" >&6; }
-if test $ac_cv_func_shl_load = yes; then
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_func_shl_load" >&5
+$as_echo "$ac_cv_func_shl_load" >&6; }
+if test "x$ac_cv_func_shl_load" = x""yes; then
lt_cv_dlopen="shl_load"
else
- { echo "$as_me:$LINENO: checking for shl_load in -ldld" >&5
-echo $ECHO_N "checking for shl_load in -ldld... $ECHO_C" >&6; }
+ { $as_echo "$as_me:$LINENO: checking for shl_load in -ldld" >&5
+$as_echo_n "checking for shl_load in -ldld... " >&6; }
if test "${ac_cv_lib_dld_shl_load+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
ac_check_lib_save_LIBS=$LIBS
LIBS="-ldld $LIBS"
@@ -9585,39 +11694,43 @@ case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
(eval "$ac_link") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
test -z "$ac_c_werror_flag" ||
test ! -s conftest.err
- } && test -s conftest$ac_exeext &&
- $as_test_x conftest$ac_exeext; then
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
ac_cv_lib_dld_shl_load=yes
else
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
ac_cv_lib_dld_shl_load=no
fi
+rm -rf conftest.dSYM
rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
conftest$ac_exeext conftest.$ac_ext
LIBS=$ac_check_lib_save_LIBS
fi
-{ echo "$as_me:$LINENO: result: $ac_cv_lib_dld_shl_load" >&5
-echo "${ECHO_T}$ac_cv_lib_dld_shl_load" >&6; }
-if test $ac_cv_lib_dld_shl_load = yes; then
- lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-dld"
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_dld_shl_load" >&5
+$as_echo "$ac_cv_lib_dld_shl_load" >&6; }
+if test "x$ac_cv_lib_dld_shl_load" = x""yes; then
+ lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld"
else
- { echo "$as_me:$LINENO: checking for dlopen" >&5
-echo $ECHO_N "checking for dlopen... $ECHO_C" >&6; }
+ { $as_echo "$as_me:$LINENO: checking for dlopen" >&5
+$as_echo_n "checking for dlopen... " >&6; }
if test "${ac_cv_func_dlopen+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
@@ -9670,38 +11783,42 @@ case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
(eval "$ac_link") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
test -z "$ac_c_werror_flag" ||
test ! -s conftest.err
- } && test -s conftest$ac_exeext &&
- $as_test_x conftest$ac_exeext; then
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
ac_cv_func_dlopen=yes
else
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
ac_cv_func_dlopen=no
fi
+rm -rf conftest.dSYM
rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
conftest$ac_exeext conftest.$ac_ext
fi
-{ echo "$as_me:$LINENO: result: $ac_cv_func_dlopen" >&5
-echo "${ECHO_T}$ac_cv_func_dlopen" >&6; }
-if test $ac_cv_func_dlopen = yes; then
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_func_dlopen" >&5
+$as_echo "$ac_cv_func_dlopen" >&6; }
+if test "x$ac_cv_func_dlopen" = x""yes; then
lt_cv_dlopen="dlopen"
else
- { echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5
-echo $ECHO_N "checking for dlopen in -ldl... $ECHO_C" >&6; }
+ { $as_echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5
+$as_echo_n "checking for dlopen in -ldl... " >&6; }
if test "${ac_cv_lib_dl_dlopen+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
ac_check_lib_save_LIBS=$LIBS
LIBS="-ldl $LIBS"
@@ -9733,39 +11850,43 @@ case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
(eval "$ac_link") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
test -z "$ac_c_werror_flag" ||
test ! -s conftest.err
- } && test -s conftest$ac_exeext &&
- $as_test_x conftest$ac_exeext; then
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
ac_cv_lib_dl_dlopen=yes
else
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
ac_cv_lib_dl_dlopen=no
fi
+rm -rf conftest.dSYM
rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
conftest$ac_exeext conftest.$ac_ext
LIBS=$ac_check_lib_save_LIBS
fi
-{ echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5
-echo "${ECHO_T}$ac_cv_lib_dl_dlopen" >&6; }
-if test $ac_cv_lib_dl_dlopen = yes; then
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5
+$as_echo "$ac_cv_lib_dl_dlopen" >&6; }
+if test "x$ac_cv_lib_dl_dlopen" = x""yes; then
lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"
else
- { echo "$as_me:$LINENO: checking for dlopen in -lsvld" >&5
-echo $ECHO_N "checking for dlopen in -lsvld... $ECHO_C" >&6; }
+ { $as_echo "$as_me:$LINENO: checking for dlopen in -lsvld" >&5
+$as_echo_n "checking for dlopen in -lsvld... " >&6; }
if test "${ac_cv_lib_svld_dlopen+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
ac_check_lib_save_LIBS=$LIBS
LIBS="-lsvld $LIBS"
@@ -9797,39 +11918,43 @@ case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
(eval "$ac_link") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
test -z "$ac_c_werror_flag" ||
test ! -s conftest.err
- } && test -s conftest$ac_exeext &&
- $as_test_x conftest$ac_exeext; then
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
ac_cv_lib_svld_dlopen=yes
else
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
ac_cv_lib_svld_dlopen=no
fi
+rm -rf conftest.dSYM
rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
conftest$ac_exeext conftest.$ac_ext
LIBS=$ac_check_lib_save_LIBS
fi
-{ echo "$as_me:$LINENO: result: $ac_cv_lib_svld_dlopen" >&5
-echo "${ECHO_T}$ac_cv_lib_svld_dlopen" >&6; }
-if test $ac_cv_lib_svld_dlopen = yes; then
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_svld_dlopen" >&5
+$as_echo "$ac_cv_lib_svld_dlopen" >&6; }
+if test "x$ac_cv_lib_svld_dlopen" = x""yes; then
lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"
else
- { echo "$as_me:$LINENO: checking for dld_link in -ldld" >&5
-echo $ECHO_N "checking for dld_link in -ldld... $ECHO_C" >&6; }
+ { $as_echo "$as_me:$LINENO: checking for dld_link in -ldld" >&5
+$as_echo_n "checking for dld_link in -ldld... " >&6; }
if test "${ac_cv_lib_dld_dld_link+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
ac_check_lib_save_LIBS=$LIBS
LIBS="-ldld $LIBS"
@@ -9861,34 +11986,38 @@ case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
(eval "$ac_link") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
test -z "$ac_c_werror_flag" ||
test ! -s conftest.err
- } && test -s conftest$ac_exeext &&
- $as_test_x conftest$ac_exeext; then
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
ac_cv_lib_dld_dld_link=yes
else
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
ac_cv_lib_dld_dld_link=no
fi
+rm -rf conftest.dSYM
rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
conftest$ac_exeext conftest.$ac_ext
LIBS=$ac_check_lib_save_LIBS
fi
-{ echo "$as_me:$LINENO: result: $ac_cv_lib_dld_dld_link" >&5
-echo "${ECHO_T}$ac_cv_lib_dld_dld_link" >&6; }
-if test $ac_cv_lib_dld_dld_link = yes; then
- lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-dld"
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_dld_dld_link" >&5
+$as_echo "$ac_cv_lib_dld_dld_link" >&6; }
+if test "x$ac_cv_lib_dld_dld_link" = x""yes; then
+ lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld"
fi
@@ -9926,18 +12055,18 @@ fi
save_LIBS="$LIBS"
LIBS="$lt_cv_dlopen_libs $LIBS"
- { echo "$as_me:$LINENO: checking whether a program can dlopen itself" >&5
-echo $ECHO_N "checking whether a program can dlopen itself... $ECHO_C" >&6; }
+ { $as_echo "$as_me:$LINENO: checking whether a program can dlopen itself" >&5
+$as_echo_n "checking whether a program can dlopen itself... " >&6; }
if test "${lt_cv_dlopen_self+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
if test "$cross_compiling" = yes; then :
lt_cv_dlopen_self=cross
else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
- cat > conftest.$ac_ext <<EOF
-#line 9940 "configure"
+ cat > conftest.$ac_ext <<_LT_EOF
+#line 12069 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
@@ -9978,10 +12107,6 @@ else
# endif
#endif
-#ifdef __cplusplus
-extern "C" void exit (int);
-#endif
-
void fnord() { int i=42;}
int main ()
{
@@ -9997,13 +12122,13 @@ int main ()
else
puts (dlerror ());
- exit (status);
+ return status;
}
-EOF
+_LT_EOF
if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
(eval $ac_link) 2>&5
ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && test -s conftest${ac_exeext} 2>/dev/null; then
(./conftest; exit; ) >&5 2>/dev/null
lt_status=$?
@@ -10021,23 +12146,23 @@ rm -fr conftest*
fi
-{ echo "$as_me:$LINENO: result: $lt_cv_dlopen_self" >&5
-echo "${ECHO_T}$lt_cv_dlopen_self" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $lt_cv_dlopen_self" >&5
+$as_echo "$lt_cv_dlopen_self" >&6; }
if test "x$lt_cv_dlopen_self" = xyes; then
wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\"
- { echo "$as_me:$LINENO: checking whether a statically linked program can dlopen itself" >&5
-echo $ECHO_N "checking whether a statically linked program can dlopen itself... $ECHO_C" >&6; }
+ { $as_echo "$as_me:$LINENO: checking whether a statically linked program can dlopen itself" >&5
+$as_echo_n "checking whether a statically linked program can dlopen itself... " >&6; }
if test "${lt_cv_dlopen_self_static+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
if test "$cross_compiling" = yes; then :
lt_cv_dlopen_self_static=cross
else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
- cat > conftest.$ac_ext <<EOF
-#line 10040 "configure"
+ cat > conftest.$ac_ext <<_LT_EOF
+#line 12165 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
@@ -10078,10 +12203,6 @@ else
# endif
#endif
-#ifdef __cplusplus
-extern "C" void exit (int);
-#endif
-
void fnord() { int i=42;}
int main ()
{
@@ -10097,13 +12218,13 @@ int main ()
else
puts (dlerror ());
- exit (status);
+ return status;
}
-EOF
+_LT_EOF
if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
(eval $ac_link) 2>&5
ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && test -s conftest${ac_exeext} 2>/dev/null; then
(./conftest; exit; ) >&5 2>/dev/null
lt_status=$?
@@ -10121,8 +12242,8 @@ rm -fr conftest*
fi
-{ echo "$as_me:$LINENO: result: $lt_cv_dlopen_self_static" >&5
-echo "${ECHO_T}$lt_cv_dlopen_self_static" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $lt_cv_dlopen_self_static" >&5
+$as_echo "$lt_cv_dlopen_self_static" >&6; }
fi
CPPFLAGS="$save_CPPFLAGS"
@@ -10143,525 +12264,103 @@ echo "${ECHO_T}$lt_cv_dlopen_self_static" >&6; }
fi
-# Report which library types will actually be built
-{ echo "$as_me:$LINENO: checking if libtool supports shared libraries" >&5
-echo $ECHO_N "checking if libtool supports shared libraries... $ECHO_C" >&6; }
-{ echo "$as_me:$LINENO: result: $can_build_shared" >&5
-echo "${ECHO_T}$can_build_shared" >&6; }
-
-{ echo "$as_me:$LINENO: checking whether to build shared libraries" >&5
-echo $ECHO_N "checking whether to build shared libraries... $ECHO_C" >&6; }
-test "$can_build_shared" = "no" && enable_shared=no
-
-# On AIX, shared libraries and static libraries use the same namespace, and
-# are all built from PIC.
-case $host_os in
-aix3*)
- test "$enable_shared" = yes && enable_static=no
- if test -n "$RANLIB"; then
- archive_cmds="$archive_cmds~\$RANLIB \$lib"
- postinstall_cmds='$RANLIB $lib'
- fi
- ;;
-
-aix4* | aix5*)
- if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
- test "$enable_shared" = yes && enable_static=no
- fi
- ;;
-esac
-{ echo "$as_me:$LINENO: result: $enable_shared" >&5
-echo "${ECHO_T}$enable_shared" >&6; }
-
-{ echo "$as_me:$LINENO: checking whether to build static libraries" >&5
-echo $ECHO_N "checking whether to build static libraries... $ECHO_C" >&6; }
-# Make sure either enable_shared or enable_static is yes.
-test "$enable_shared" = yes || enable_static=yes
-{ echo "$as_me:$LINENO: result: $enable_static" >&5
-echo "${ECHO_T}$enable_static" >&6; }
-
-# The else clause should only fire when bootstrapping the
-# libtool distribution, otherwise you forgot to ship ltmain.sh
-# with your package, and you will get complaints that there are
-# no rules to generate ltmain.sh.
-if test -f "$ltmain"; then
- # See if we are running on zsh, and set the options which allow our commands through
- # without removal of \ escapes.
- if test -n "${ZSH_VERSION+set}" ; then
- setopt NO_GLOB_SUBST
- fi
- # Now quote all the things that may contain metacharacters while being
- # careful not to overquote the AC_SUBSTed values. We take copies of the
- # variables and quote the copies for generation of the libtool script.
- for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC LTCFLAGS NM \
- SED SHELL STRIP \
- libname_spec library_names_spec soname_spec extract_expsyms_cmds \
- old_striplib striplib file_magic_cmd finish_cmds finish_eval \
- deplibs_check_method reload_flag reload_cmds need_locks \
- lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \
- lt_cv_sys_global_symbol_to_c_name_address \
- sys_lib_search_path_spec sys_lib_dlsearch_path_spec \
- old_postinstall_cmds old_postuninstall_cmds \
- compiler \
- CC \
- LD \
- lt_prog_compiler_wl \
- lt_prog_compiler_pic \
- lt_prog_compiler_static \
- lt_prog_compiler_no_builtin_flag \
- export_dynamic_flag_spec \
- thread_safe_flag_spec \
- whole_archive_flag_spec \
- enable_shared_with_static_runtimes \
- old_archive_cmds \
- old_archive_from_new_cmds \
- predep_objects \
- postdep_objects \
- predeps \
- postdeps \
- compiler_lib_search_path \
- archive_cmds \
- archive_expsym_cmds \
- postinstall_cmds \
- postuninstall_cmds \
- old_archive_from_expsyms_cmds \
- allow_undefined_flag \
- no_undefined_flag \
- export_symbols_cmds \
- hardcode_libdir_flag_spec \
- hardcode_libdir_flag_spec_ld \
- hardcode_libdir_separator \
- hardcode_automatic \
- module_cmds \
- module_expsym_cmds \
- lt_cv_prog_compiler_c_o \
- fix_srcfile_path \
- exclude_expsyms \
- include_expsyms; do
-
- case $var in
- old_archive_cmds | \
- old_archive_from_new_cmds | \
- archive_cmds | \
- archive_expsym_cmds | \
- module_cmds | \
- module_expsym_cmds | \
- old_archive_from_expsyms_cmds | \
- export_symbols_cmds | \
- extract_expsyms_cmds | reload_cmds | finish_cmds | \
- postinstall_cmds | postuninstall_cmds | \
- old_postinstall_cmds | old_postuninstall_cmds | \
- sys_lib_search_path_spec | sys_lib_dlsearch_path_spec)
- # Double-quote double-evaled strings.
- eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\""
- ;;
- *)
- eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\""
- ;;
- esac
- done
-
- case $lt_echo in
- *'\$0 --fallback-echo"')
- lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\$0 --fallback-echo"$/$0 --fallback-echo"/'`
- ;;
- esac
-
-cfgfile="${ofile}T"
- trap "$rm \"$cfgfile\"; exit 1" 1 2 15
- $rm -f "$cfgfile"
- { echo "$as_me:$LINENO: creating $ofile" >&5
-echo "$as_me: creating $ofile" >&6;}
-
- cat <<__EOF__ >> "$cfgfile"
-#! $SHELL
-
-# `$echo "$cfgfile" | sed 's%^.*/%%'` - Provide generalized library-building support services.
-# Generated automatically by $PROGRAM (GNU $PACKAGE $VERSION$TIMESTAMP)
-# NOTE: Changes made to this file will be lost: look at ltmain.sh.
-#
-# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007
-# Free Software Foundation, Inc.
-#
-# This file is part of GNU Libtool:
-# Originally by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful, but
-# WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-# General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
-#
-# As a special exception to the GNU General Public License, if you
-# distribute this file as part of a program that contains a
-# configuration script generated by Autoconf, you may include it under
-# the same distribution terms that you use for the rest of that program.
-
-# A sed program that does not truncate output.
-SED=$lt_SED
-
-# Sed that helps us avoid accidentally triggering echo(1) options like -n.
-Xsed="$SED -e 1s/^X//"
-
-# The HP-UX ksh and POSIX shell print the target directory to stdout
-# if CDPATH is set.
-(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
-# The names of the tagged configurations supported by this script.
-available_tags=
-# ### BEGIN LIBTOOL CONFIG
-# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
-# Shell to use when invoking shell scripts.
-SHELL=$lt_SHELL
-# Whether or not to build shared libraries.
-build_libtool_libs=$enable_shared
-# Whether or not to build static libraries.
-build_old_libs=$enable_static
-# Whether or not to add -lc for building shared libraries.
-build_libtool_need_lc=$archive_cmds_need_lc
-# Whether or not to disallow shared libs when runtime libs are static
-allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes
-# Whether or not to optimize for fast installation.
-fast_install=$enable_fast_install
-
-# The host system.
-host_alias=$host_alias
-host=$host
-host_os=$host_os
-
-# The build system.
-build_alias=$build_alias
-build=$build
-build_os=$build_os
-# An echo program that does not interpret backslashes.
-echo=$lt_echo
-# The archiver.
-AR=$lt_AR
-AR_FLAGS=$lt_AR_FLAGS
-# A C compiler.
-LTCC=$lt_LTCC
-# LTCC compiler flags.
-LTCFLAGS=$lt_LTCFLAGS
-# A language-specific compiler.
-CC=$lt_compiler
-
-# Is the compiler the GNU C compiler?
-with_gcc=$GCC
-
-# An ERE matcher.
-EGREP=$lt_EGREP
-
-# The linker used to build libraries.
-LD=$lt_LD
-
-# Whether we need hard or soft links.
-LN_S=$lt_LN_S
-
-# A BSD-compatible nm program.
-NM=$lt_NM
-
-# A symbol stripping program
-STRIP=$lt_STRIP
-
-# Used to examine libraries when file_magic_cmd begins "file"
-MAGIC_CMD=$MAGIC_CMD
-
-# Used on cygwin: DLL creation program.
-DLLTOOL="$DLLTOOL"
-
-# Used on cygwin: object dumper.
-OBJDUMP="$OBJDUMP"
-
-# Used on cygwin: assembler.
-AS="$AS"
-
-# The name of the directory that contains temporary libtool files.
-objdir=$objdir
-
-# How to create reloadable object files.
-reload_flag=$lt_reload_flag
-reload_cmds=$lt_reload_cmds
-
-# How to pass a linker flag through the compiler.
-wl=$lt_lt_prog_compiler_wl
-
-# Object file suffix (normally "o").
-objext="$ac_objext"
-
-# Old archive suffix (normally "a").
-libext="$libext"
-
-# Shared library suffix (normally ".so").
-shrext_cmds='$shrext_cmds'
-# Executable file suffix (normally "").
-exeext="$exeext"
-
-# Additional compiler flags for building library objects.
-pic_flag=$lt_lt_prog_compiler_pic
-pic_mode=$pic_mode
-
-# What is the maximum length of a command?
-max_cmd_len=$lt_cv_sys_max_cmd_len
-
-# Does compiler simultaneously support -c and -o options?
-compiler_c_o=$lt_lt_cv_prog_compiler_c_o
-
-# Must we lock files when doing compilation?
-need_locks=$lt_need_locks
-
-# Do we need the lib prefix for modules?
-need_lib_prefix=$need_lib_prefix
-
-# Do we need a version for libraries?
-need_version=$need_version
-
-# Whether dlopen is supported.
-dlopen_support=$enable_dlopen
-
-# Whether dlopen of programs is supported.
-dlopen_self=$enable_dlopen_self
-
-# Whether dlopen of statically linked programs is supported.
-dlopen_self_static=$enable_dlopen_self_static
-
-# Compiler flag to prevent dynamic linking.
-link_static_flag=$lt_lt_prog_compiler_static
-
-# Compiler flag to turn off builtin functions.
-no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag
-
-# Compiler flag to allow reflexive dlopens.
-export_dynamic_flag_spec=$lt_export_dynamic_flag_spec
-
-# Compiler flag to generate shared objects directly from archives.
-whole_archive_flag_spec=$lt_whole_archive_flag_spec
-
-# Compiler flag to generate thread-safe objects.
-thread_safe_flag_spec=$lt_thread_safe_flag_spec
-
-# Library versioning type.
-version_type=$version_type
-
-# Format of library name prefix.
-libname_spec=$lt_libname_spec
-
-# List of archive names. First name is the real one, the rest are links.
-# The last name is the one that the linker finds with -lNAME.
-library_names_spec=$lt_library_names_spec
-
-# The coded name of the library, if different from the real name.
-soname_spec=$lt_soname_spec
-
-# Commands used to build and install an old-style archive.
-RANLIB=$lt_RANLIB
-old_archive_cmds=$lt_old_archive_cmds
-old_postinstall_cmds=$lt_old_postinstall_cmds
-old_postuninstall_cmds=$lt_old_postuninstall_cmds
-
-# Create an old-style archive from a shared archive.
-old_archive_from_new_cmds=$lt_old_archive_from_new_cmds
-
-# Create a temporary old-style archive to link instead of a shared archive.
-old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds
-
-# Commands used to build and install a shared archive.
-archive_cmds=$lt_archive_cmds
-archive_expsym_cmds=$lt_archive_expsym_cmds
-postinstall_cmds=$lt_postinstall_cmds
-postuninstall_cmds=$lt_postuninstall_cmds
-
-# Commands used to build a loadable module (assumed same as above if empty)
-module_cmds=$lt_module_cmds
-module_expsym_cmds=$lt_module_expsym_cmds
-
-# Commands to strip libraries.
-old_striplib=$lt_old_striplib
-striplib=$lt_striplib
-
-# Dependencies to place before the objects being linked to create a
-# shared library.
-predep_objects=$lt_predep_objects
-
-# Dependencies to place after the objects being linked to create a
-# shared library.
-postdep_objects=$lt_postdep_objects
-
-# Dependencies to place before the objects being linked to create a
-# shared library.
-predeps=$lt_predeps
-
-# Dependencies to place after the objects being linked to create a
-# shared library.
-postdeps=$lt_postdeps
-
-# The library search path used internally by the compiler when linking
-# a shared library.
-compiler_lib_search_path=$lt_compiler_lib_search_path
-
-# Method to check whether dependent libraries are shared objects.
-deplibs_check_method=$lt_deplibs_check_method
-
-# Command to use when deplibs_check_method == file_magic.
-file_magic_cmd=$lt_file_magic_cmd
-
-# Flag that allows shared libraries with undefined symbols to be built.
-allow_undefined_flag=$lt_allow_undefined_flag
-
-# Flag that forces no undefined symbols.
-no_undefined_flag=$lt_no_undefined_flag
-
-# Commands used to finish a libtool library installation in a directory.
-finish_cmds=$lt_finish_cmds
-
-# Same as above, but a single script fragment to be evaled but not shown.
-finish_eval=$lt_finish_eval
-
-# Take the output of nm and produce a listing of raw symbols and C names.
-global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe
-
-# Transform the output of nm in a proper C declaration
-global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl
-
-# Transform the output of nm in a C name address pair
-global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address
-
-# This is the shared library runtime path variable.
-runpath_var=$runpath_var
-
-# This is the shared library path variable.
-shlibpath_var=$shlibpath_var
-
-# Is shlibpath searched before the hard-coded library search path?
-shlibpath_overrides_runpath=$shlibpath_overrides_runpath
-
-# How to hardcode a shared library path into an executable.
-hardcode_action=$hardcode_action
-
-# Whether we should hardcode library paths into libraries.
-hardcode_into_libs=$hardcode_into_libs
-
-# Flag to hardcode \$libdir into a binary during linking.
-# This must work even if \$libdir does not exist.
-hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec
-
-# If ld is used when linking, flag to hardcode \$libdir into
-# a binary during linking. This must work even if \$libdir does
-# not exist.
-hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld
-
-# Whether we need a single -rpath flag with a separated argument.
-hardcode_libdir_separator=$lt_hardcode_libdir_separator
-
-# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the
-# resulting binary.
-hardcode_direct=$hardcode_direct
-
-# Set to yes if using the -LDIR flag during linking hardcodes DIR into the
-# resulting binary.
-hardcode_minus_L=$hardcode_minus_L
-
-# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into
-# the resulting binary.
-hardcode_shlibpath_var=$hardcode_shlibpath_var
-
-# Set to yes if building a shared library automatically hardcodes DIR into the library
-# and all subsequent libraries and executables linked against it.
-hardcode_automatic=$hardcode_automatic
+striplib=
+old_striplib=
+{ $as_echo "$as_me:$LINENO: checking whether stripping libraries is possible" >&5
+$as_echo_n "checking whether stripping libraries is possible... " >&6; }
+if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then
+ test -z "$old_striplib" && old_striplib="$STRIP --strip-debug"
+ test -z "$striplib" && striplib="$STRIP --strip-unneeded"
+ { $as_echo "$as_me:$LINENO: result: yes" >&5
+$as_echo "yes" >&6; }
+else
+# FIXME - insert some real tests, host_os isn't really good enough
+ case $host_os in
+ darwin*)
+ if test -n "$STRIP" ; then
+ striplib="$STRIP -x"
+ old_striplib="$STRIP -S"
+ { $as_echo "$as_me:$LINENO: result: yes" >&5
+$as_echo "yes" >&6; }
+ else
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+ fi
+ ;;
+ *)
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+ ;;
+ esac
+fi
-# Variables whose values should be saved in libtool wrapper scripts and
-# restored at relink time.
-variables_saved_for_relink="$variables_saved_for_relink"
-# Whether libtool must link a program against all its dependency libraries.
-link_all_deplibs=$link_all_deplibs
-# Compile-time system search path for libraries
-sys_lib_search_path_spec=$lt_sys_lib_search_path_spec
-# Run-time system search path for libraries
-sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec
-# Fix the shell variable \$srcfile for the compiler.
-fix_srcfile_path=$lt_fix_srcfile_path
-# Set to yes if exported symbols are required.
-always_export_symbols=$always_export_symbols
-# The commands to list exported symbols.
-export_symbols_cmds=$lt_export_symbols_cmds
-# The commands to extract the exported symbol list from a shared archive.
-extract_expsyms_cmds=$lt_extract_expsyms_cmds
-# Symbols that should not be listed in the preloaded symbols.
-exclude_expsyms=$lt_exclude_expsyms
-# Symbols that must always be exported.
-include_expsyms=$lt_include_expsyms
-# ### END LIBTOOL CONFIG
-__EOF__
+ # Report which library types will actually be built
+ { $as_echo "$as_me:$LINENO: checking if libtool supports shared libraries" >&5
+$as_echo_n "checking if libtool supports shared libraries... " >&6; }
+ { $as_echo "$as_me:$LINENO: result: $can_build_shared" >&5
+$as_echo "$can_build_shared" >&6; }
+ { $as_echo "$as_me:$LINENO: checking whether to build shared libraries" >&5
+$as_echo_n "checking whether to build shared libraries... " >&6; }
+ test "$can_build_shared" = "no" && enable_shared=no
+ # On AIX, shared libraries and static libraries use the same namespace, and
+ # are all built from PIC.
case $host_os in
aix3*)
- cat <<\EOF >> "$cfgfile"
+ test "$enable_shared" = yes && enable_static=no
+ if test -n "$RANLIB"; then
+ archive_cmds="$archive_cmds~\$RANLIB \$lib"
+ postinstall_cmds='$RANLIB $lib'
+ fi
+ ;;
-# AIX sometimes has problems with the GCC collect2 program. For some
-# reason, if we set the COLLECT_NAMES environment variable, the problems
-# vanish in a puff of smoke.
-if test "X${COLLECT_NAMES+set}" != Xset; then
- COLLECT_NAMES=
- export COLLECT_NAMES
-fi
-EOF
+ aix[4-9]*)
+ if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
+ test "$enable_shared" = yes && enable_static=no
+ fi
;;
esac
+ { $as_echo "$as_me:$LINENO: result: $enable_shared" >&5
+$as_echo "$enable_shared" >&6; }
- # We use sed instead of cat because bash on DJGPP gets confused if
- # if finds mixed CR/LF and LF-only lines. Since sed operates in
- # text mode, it properly converts lines to CR/LF. This bash problem
- # is reportedly fixed, but why not run on old versions too?
- sed '$q' "$ltmain" >> "$cfgfile" || (rm -f "$cfgfile"; exit 1)
+ { $as_echo "$as_me:$LINENO: checking whether to build static libraries" >&5
+$as_echo_n "checking whether to build static libraries... " >&6; }
+ # Make sure either enable_shared or enable_static is yes.
+ test "$enable_shared" = yes || enable_static=yes
+ { $as_echo "$as_me:$LINENO: result: $enable_static" >&5
+$as_echo "$enable_static" >&6; }
- mv -f "$cfgfile" "$ofile" || \
- (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile")
- chmod +x "$ofile"
-else
- # If there is no Makefile yet, we rely on a make rule to execute
- # `config.status --recheck' to rerun these tests and create the
- # libtool script then.
- ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'`
- if test -f "$ltmain_in"; then
- test -f Makefile && make "$ltmain"
- fi
-fi
+fi
ac_ext=cpp
ac_cpp='$CXXCPP $CPPFLAGS'
ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
@@ -10671,85 +12370,27 @@ ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
CC="$lt_save_CC"
-# Check whether --with-tags was given.
-if test "${with_tags+set}" = set; then
- withval=$with_tags; tagnames="$withval"
-fi
-
-
-if test -f "$ltmain" && test -n "$tagnames"; then
- if test ! -f "${ofile}"; then
- { echo "$as_me:$LINENO: WARNING: output file \`$ofile' does not exist" >&5
-echo "$as_me: WARNING: output file \`$ofile' does not exist" >&2;}
- fi
-
- if test -z "$LTCC"; then
- eval "`$SHELL ${ofile} --config | grep '^LTCC='`"
- if test -z "$LTCC"; then
- { echo "$as_me:$LINENO: WARNING: output file \`$ofile' does not look like a libtool script" >&5
-echo "$as_me: WARNING: output file \`$ofile' does not look like a libtool script" >&2;}
- else
- { echo "$as_me:$LINENO: WARNING: using \`LTCC=$LTCC', extracted from \`$ofile'" >&5
-echo "$as_me: WARNING: using \`LTCC=$LTCC', extracted from \`$ofile'" >&2;}
- fi
- fi
- if test -z "$LTCFLAGS"; then
- eval "`$SHELL ${ofile} --config | grep '^LTCFLAGS='`"
- fi
-
- # Extract list of available tagged configurations in $ofile.
- # Note that this assumes the entire list is on one line.
- available_tags=`grep "^available_tags=" "${ofile}" | $SED -e 's/available_tags=\(.*$\)/\1/' -e 's/\"//g'`
-
- lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
- for tagname in $tagnames; do
- IFS="$lt_save_ifs"
- # Check whether tagname contains only valid characters
- case `$echo "X$tagname" | $Xsed -e 's:[-_ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890,/]::g'` in
- "") ;;
- *) { { echo "$as_me:$LINENO: error: invalid tag name: $tagname" >&5
-echo "$as_me: error: invalid tag name: $tagname" >&2;}
- { (exit 1); exit 1; }; }
- ;;
- esac
-
- if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$" < "${ofile}" > /dev/null
- then
- { { echo "$as_me:$LINENO: error: tag name \"$tagname\" already exists" >&5
-echo "$as_me: error: tag name \"$tagname\" already exists" >&2;}
- { (exit 1); exit 1; }; }
- fi
-
- # Update the list of available tags.
- if test -n "$tagname"; then
- echo appending configuration tag \"$tagname\" to $ofile
-
- case $tagname in
- CXX)
- if test -n "$CXX" && ( test "X$CXX" != "Xno" &&
- ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) ||
- (test "X$CXX" != "Xg++"))) ; then
- ac_ext=cpp
+ac_ext=cpp
ac_cpp='$CXXCPP $CPPFLAGS'
ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
-
-
archive_cmds_need_lc_CXX=no
allow_undefined_flag_CXX=
always_export_symbols_CXX=no
archive_expsym_cmds_CXX=
+compiler_needs_object_CXX=no
export_dynamic_flag_spec_CXX=
hardcode_direct_CXX=no
+hardcode_direct_absolute_CXX=no
hardcode_libdir_flag_spec_CXX=
hardcode_libdir_flag_spec_ld_CXX=
hardcode_libdir_separator_CXX=
hardcode_minus_L_CXX=no
hardcode_shlibpath_var_CXX=unsupported
hardcode_automatic_CXX=no
+inherit_rpath_CXX=no
module_cmds_CXX=
module_expsym_cmds_CXX=
link_all_deplibs_CXX=unknown
@@ -10758,13 +12399,6 @@ no_undefined_flag_CXX=
whole_archive_flag_spec_CXX=
enable_shared_with_static_runtimes_CXX=no
-# Dependencies to place before and after the object being linked:
-predep_objects_CXX=
-postdep_objects_CXX=
-predeps_CXX=
-postdeps_CXX=
-compiler_lib_search_path_CXX=
-
# Source file extension for C++ test sources.
ac_ext=cpp
@@ -10772,13 +12406,23 @@ ac_ext=cpp
objext=o
objext_CXX=$objext
-# Code to be used in simple compile tests
-lt_simple_compile_test_code="int some_variable = 0;"
+# No sense in running all these tests if we already determined that
+# the CXX compiler isn't working. Some variables (like enable_shared)
+# are currently assumed to apply to all compilers on this platform,
+# and will be corrupted by setting them based on a non-working compiler.
+if test "$_lt_caught_CXX_error" != yes; then
+ # Code to be used in simple compile tests
+ lt_simple_compile_test_code="int some_variable = 0;"
+
+ # Code to be used in simple link tests
+ lt_simple_link_test_code='int main(int, char *[]) { return(0); }'
+
+ # ltmain only uses $CC for tagged configurations so make sure $CC is set.
+
+
+
-# Code to be used in simple link tests
-lt_simple_link_test_code='int main(int, char *[]) { return(0); }'
-# ltmain only uses $CC for tagged configurations so make sure $CC is set.
# If no C compiler was specified, use CC.
LTCC=${LTCC-"$CC"}
@@ -10790,42 +12434,42 @@ LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
compiler=$CC
-# save warnings/boilerplate of simple test code
-ac_outfile=conftest.$ac_objext
+ # save warnings/boilerplate of simple test code
+ ac_outfile=conftest.$ac_objext
echo "$lt_simple_compile_test_code" >conftest.$ac_ext
eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
_lt_compiler_boilerplate=`cat conftest.err`
-$rm conftest*
+$RM conftest*
-ac_outfile=conftest.$ac_objext
+ ac_outfile=conftest.$ac_objext
echo "$lt_simple_link_test_code" >conftest.$ac_ext
eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
_lt_linker_boilerplate=`cat conftest.err`
-$rm conftest*
-
-
-# Allow CC to be a program name with arguments.
-lt_save_CC=$CC
-lt_save_LD=$LD
-lt_save_GCC=$GCC
-GCC=$GXX
-lt_save_with_gnu_ld=$with_gnu_ld
-lt_save_path_LD=$lt_cv_path_LD
-if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then
- lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx
-else
- $as_unset lt_cv_prog_gnu_ld
-fi
-if test -n "${lt_cv_path_LDCXX+set}"; then
- lt_cv_path_LD=$lt_cv_path_LDCXX
-else
- $as_unset lt_cv_path_LD
-fi
-test -z "${LDCXX+set}" || LD=$LDCXX
-CC=${CXX-"c++"}
-compiler=$CC
-compiler_CXX=$CC
-for cc_temp in $compiler""; do
+$RM -r conftest*
+
+
+ # Allow CC to be a program name with arguments.
+ lt_save_CC=$CC
+ lt_save_LD=$LD
+ lt_save_GCC=$GCC
+ GCC=$GXX
+ lt_save_with_gnu_ld=$with_gnu_ld
+ lt_save_path_LD=$lt_cv_path_LD
+ if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then
+ lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx
+ else
+ $as_unset lt_cv_prog_gnu_ld
+ fi
+ if test -n "${lt_cv_path_LDCXX+set}"; then
+ lt_cv_path_LD=$lt_cv_path_LDCXX
+ else
+ $as_unset lt_cv_path_LD
+ fi
+ test -z "${LDCXX+set}" || LD=$LDCXX
+ CC=${CXX-"c++"}
+ compiler=$CC
+ compiler_CXX=$CC
+ for cc_temp in $compiler""; do
case $cc_temp in
compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
@@ -10833,19 +12477,21 @@ for cc_temp in $compiler""; do
*) break;;
esac
done
-cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
+cc_basename=`$ECHO "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
-# We don't want -fno-exception wen compiling C++ code, so set the
-# no_builtin_flag separately
-if test "$GXX" = yes; then
- lt_prog_compiler_no_builtin_flag_CXX=' -fno-builtin'
-else
- lt_prog_compiler_no_builtin_flag_CXX=
-fi
+ if test -n "$compiler"; then
+ # We don't want -fno-exception when compiling C++ code, so set the
+ # no_builtin_flag separately
+ if test "$GXX" = yes; then
+ lt_prog_compiler_no_builtin_flag_CXX=' -fno-builtin'
+ else
+ lt_prog_compiler_no_builtin_flag_CXX=
+ fi
+
+ if test "$GXX" = yes; then
+ # Set up default GNU C++ configuration
-if test "$GXX" = yes; then
- # Set up default GNU C++ configuration
# Check whether --with-gnu-ld was given.
@@ -10858,8 +12504,8 @@ fi
ac_prog=ld
if test "$GCC" = yes; then
# Check if gcc -print-prog-name=ld gives a path.
- { echo "$as_me:$LINENO: checking for ld used by $CC" >&5
-echo $ECHO_N "checking for ld used by $CC... $ECHO_C" >&6; }
+ { $as_echo "$as_me:$LINENO: checking for ld used by $CC" >&5
+$as_echo_n "checking for ld used by $CC... " >&6; }
case $host in
*-*-mingw*)
# gcc leaves a trailing carriage return which upsets mingw
@@ -10872,9 +12518,9 @@ echo $ECHO_N "checking for ld used by $CC... $ECHO_C" >&6; }
[\\/]* | ?:[\\/]*)
re_direlt='/[^/][^/]*/\.\./'
# Canonicalize the pathname of ld
- ac_prog=`echo $ac_prog| $SED 's%\\\\%/%g'`
- while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do
- ac_prog=`echo $ac_prog| $SED "s%$re_direlt%/%"`
+ ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'`
+ while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do
+ ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"`
done
test -z "$LD" && LD="$ac_prog"
;;
@@ -10888,14 +12534,14 @@ echo $ECHO_N "checking for ld used by $CC... $ECHO_C" >&6; }
;;
esac
elif test "$with_gnu_ld" = yes; then
- { echo "$as_me:$LINENO: checking for GNU ld" >&5
-echo $ECHO_N "checking for GNU ld... $ECHO_C" >&6; }
+ { $as_echo "$as_me:$LINENO: checking for GNU ld" >&5
+$as_echo_n "checking for GNU ld... " >&6; }
else
- { echo "$as_me:$LINENO: checking for non-GNU ld" >&5
-echo $ECHO_N "checking for non-GNU ld... $ECHO_C" >&6; }
+ { $as_echo "$as_me:$LINENO: checking for non-GNU ld" >&5
+$as_echo_n "checking for non-GNU ld... " >&6; }
fi
if test "${lt_cv_path_LD+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
if test -z "$LD"; then
lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
@@ -10925,19 +12571,19 @@ fi
LD="$lt_cv_path_LD"
if test -n "$LD"; then
- { echo "$as_me:$LINENO: result: $LD" >&5
-echo "${ECHO_T}$LD" >&6; }
+ { $as_echo "$as_me:$LINENO: result: $LD" >&5
+$as_echo "$LD" >&6; }
else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
fi
-test -z "$LD" && { { echo "$as_me:$LINENO: error: no acceptable ld found in \$PATH" >&5
-echo "$as_me: error: no acceptable ld found in \$PATH" >&2;}
+test -z "$LD" && { { $as_echo "$as_me:$LINENO: error: no acceptable ld found in \$PATH" >&5
+$as_echo "$as_me: error: no acceptable ld found in \$PATH" >&2;}
{ (exit 1); exit 1; }; }
-{ echo "$as_me:$LINENO: checking if the linker ($LD) is GNU ld" >&5
-echo $ECHO_N "checking if the linker ($LD) is GNU ld... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking if the linker ($LD) is GNU ld" >&5
+$as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; }
if test "${lt_cv_prog_gnu_ld+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
# I'd rather use --version here, but apparently some GNU lds only accept -v.
case `$LD -v 2>&1 </dev/null` in
@@ -10949,155 +12595,163 @@ case `$LD -v 2>&1 </dev/null` in
;;
esac
fi
-{ echo "$as_me:$LINENO: result: $lt_cv_prog_gnu_ld" >&5
-echo "${ECHO_T}$lt_cv_prog_gnu_ld" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $lt_cv_prog_gnu_ld" >&5
+$as_echo "$lt_cv_prog_gnu_ld" >&6; }
with_gnu_ld=$lt_cv_prog_gnu_ld
- # Check if GNU C++ uses GNU ld as the underlying linker, since the
- # archiving commands below assume that GNU ld is being used.
- if test "$with_gnu_ld" = yes; then
- archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
- archive_expsym_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
- hardcode_libdir_flag_spec_CXX='${wl}--rpath ${wl}$libdir'
- export_dynamic_flag_spec_CXX='${wl}--export-dynamic'
- # If archive_cmds runs LD, not CC, wlarc should be empty
- # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to
- # investigate it a little bit more. (MM)
- wlarc='${wl}'
-
- # ancient GNU ld didn't support --whole-archive et. al.
- if eval "`$CC -print-prog-name=ld` --help 2>&1" | \
- grep 'no-whole-archive' > /dev/null; then
- whole_archive_flag_spec_CXX="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
- else
- whole_archive_flag_spec_CXX=
- fi
- else
- with_gnu_ld=no
- wlarc=
-
- # A generic and very simple default shared library creation
- # command for GNU C++ for the case where it uses the native
- # linker, instead of GNU ld. If possible, this setting should
- # overridden to take advantage of the native linker features on
- # the platform it is being used on.
- archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
- fi
- # Commands to make compiler produce verbose output that lists
- # what "hidden" libraries, object files and flags are used when
- # linking a shared library.
- output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"'
-else
- GXX=no
- with_gnu_ld=no
- wlarc=
-fi
+ # Check if GNU C++ uses GNU ld as the underlying linker, since the
+ # archiving commands below assume that GNU ld is being used.
+ if test "$with_gnu_ld" = yes; then
+ archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ archive_expsym_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
-# PORTME: fill in a description of your system's C++ link characteristics
-{ echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5
-echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6; }
-ld_shlibs_CXX=yes
-case $host_os in
- aix3*)
- # FIXME: insert proper C++ library support
- ld_shlibs_CXX=no
- ;;
- aix4* | aix5*)
- if test "$host_cpu" = ia64; then
- # On IA64, the linker does run time linking by default, so we don't
- # have to do anything special.
- aix_use_runtimelinking=no
- exp_sym_flag='-Bexport'
- no_entry_flag=""
- else
- aix_use_runtimelinking=no
-
- # Test if we are trying to use run time linking or normal
- # AIX style linking. If -brtl is somewhere in LDFLAGS, we
- # need to do runtime linking.
- case $host_os in aix4.[23]|aix4.[23].*|aix5*)
- for ld_flag in $LDFLAGS; do
- case $ld_flag in
- *-brtl*)
- aix_use_runtimelinking=yes
- break
- ;;
- esac
- done
- ;;
- esac
+ hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir'
+ export_dynamic_flag_spec_CXX='${wl}--export-dynamic'
- exp_sym_flag='-bexport'
- no_entry_flag='-bnoentry'
- fi
+ # If archive_cmds runs LD, not CC, wlarc should be empty
+ # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to
+ # investigate it a little bit more. (MM)
+ wlarc='${wl}'
- # When large executables or shared objects are built, AIX ld can
- # have problems creating the table of contents. If linking a library
- # or program results in "error TOC overflow" add -mminimal-toc to
- # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not
- # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
+ # ancient GNU ld didn't support --whole-archive et. al.
+ if eval "`$CC -print-prog-name=ld` --help 2>&1" |
+ $GREP 'no-whole-archive' > /dev/null; then
+ whole_archive_flag_spec_CXX="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
+ else
+ whole_archive_flag_spec_CXX=
+ fi
+ else
+ with_gnu_ld=no
+ wlarc=
+
+ # A generic and very simple default shared library creation
+ # command for GNU C++ for the case where it uses the native
+ # linker, instead of GNU ld. If possible, this setting should
+ # overridden to take advantage of the native linker features on
+ # the platform it is being used on.
+ archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
+ fi
- archive_cmds_CXX=''
- hardcode_direct_CXX=yes
- hardcode_libdir_separator_CXX=':'
- link_all_deplibs_CXX=yes
+ # Commands to make compiler produce verbose output that lists
+ # what "hidden" libraries, object files and flags are used when
+ # linking a shared library.
+ output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"'
- if test "$GXX" = yes; then
- case $host_os in aix4.[012]|aix4.[012].*)
- # We only want to do this on AIX 4.2 and lower, the check
- # below for broken collect2 doesn't work under 4.3+
- collect2name=`${CC} -print-prog-name=collect2`
- if test -f "$collect2name" && \
- strings "$collect2name" | grep resolve_lib_name >/dev/null
- then
- # We have reworked collect2
- :
- else
- # We have old collect2
- hardcode_direct_CXX=unsupported
- # It fails to find uninstalled libraries when the uninstalled
- # path is not listed in the libpath. Setting hardcode_minus_L
- # to unsupported forces relinking
- hardcode_minus_L_CXX=yes
- hardcode_libdir_flag_spec_CXX='-L$libdir'
- hardcode_libdir_separator_CXX=
- fi
- ;;
- esac
- shared_flag='-shared'
- if test "$aix_use_runtimelinking" = yes; then
- shared_flag="$shared_flag "'${wl}-G'
- fi
else
- # not using gcc
- if test "$host_cpu" = ia64; then
- # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
- # chokes on -Wl,-G. The following line is correct:
- shared_flag='-G'
- else
- if test "$aix_use_runtimelinking" = yes; then
- shared_flag='${wl}-G'
- else
- shared_flag='${wl}-bM:SRE'
- fi
- fi
+ GXX=no
+ with_gnu_ld=no
+ wlarc=
fi
- # It seems that -bexpall does not export symbols beginning with
- # underscore (_), so it is better to generate a list of symbols to export.
- always_export_symbols_CXX=yes
- if test "$aix_use_runtimelinking" = yes; then
- # Warning - without using the other runtime loading flags (-brtl),
- # -berok will link without error, but may produce a broken library.
- allow_undefined_flag_CXX='-berok'
- # Determine the default libpath from the value encoded in an empty executable.
- cat >conftest.$ac_ext <<_ACEOF
+ # PORTME: fill in a description of your system's C++ link characteristics
+ { $as_echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5
+$as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; }
+ ld_shlibs_CXX=yes
+ case $host_os in
+ aix3*)
+ # FIXME: insert proper C++ library support
+ ld_shlibs_CXX=no
+ ;;
+ aix[4-9]*)
+ if test "$host_cpu" = ia64; then
+ # On IA64, the linker does run time linking by default, so we don't
+ # have to do anything special.
+ aix_use_runtimelinking=no
+ exp_sym_flag='-Bexport'
+ no_entry_flag=""
+ else
+ aix_use_runtimelinking=no
+
+ # Test if we are trying to use run time linking or normal
+ # AIX style linking. If -brtl is somewhere in LDFLAGS, we
+ # need to do runtime linking.
+ case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*)
+ for ld_flag in $LDFLAGS; do
+ case $ld_flag in
+ *-brtl*)
+ aix_use_runtimelinking=yes
+ break
+ ;;
+ esac
+ done
+ ;;
+ esac
+
+ exp_sym_flag='-bexport'
+ no_entry_flag='-bnoentry'
+ fi
+
+ # When large executables or shared objects are built, AIX ld can
+ # have problems creating the table of contents. If linking a library
+ # or program results in "error TOC overflow" add -mminimal-toc to
+ # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not
+ # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
+
+ archive_cmds_CXX=''
+ hardcode_direct_CXX=yes
+ hardcode_direct_absolute_CXX=yes
+ hardcode_libdir_separator_CXX=':'
+ link_all_deplibs_CXX=yes
+ file_list_spec_CXX='${wl}-f,'
+
+ if test "$GXX" = yes; then
+ case $host_os in aix4.[012]|aix4.[012].*)
+ # We only want to do this on AIX 4.2 and lower, the check
+ # below for broken collect2 doesn't work under 4.3+
+ collect2name=`${CC} -print-prog-name=collect2`
+ if test -f "$collect2name" &&
+ strings "$collect2name" | $GREP resolve_lib_name >/dev/null
+ then
+ # We have reworked collect2
+ :
+ else
+ # We have old collect2
+ hardcode_direct_CXX=unsupported
+ # It fails to find uninstalled libraries when the uninstalled
+ # path is not listed in the libpath. Setting hardcode_minus_L
+ # to unsupported forces relinking
+ hardcode_minus_L_CXX=yes
+ hardcode_libdir_flag_spec_CXX='-L$libdir'
+ hardcode_libdir_separator_CXX=
+ fi
+ esac
+ shared_flag='-shared'
+ if test "$aix_use_runtimelinking" = yes; then
+ shared_flag="$shared_flag "'${wl}-G'
+ fi
+ else
+ # not using gcc
+ if test "$host_cpu" = ia64; then
+ # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
+ # chokes on -Wl,-G. The following line is correct:
+ shared_flag='-G'
+ else
+ if test "$aix_use_runtimelinking" = yes; then
+ shared_flag='${wl}-G'
+ else
+ shared_flag='${wl}-bM:SRE'
+ fi
+ fi
+ fi
+
+ export_dynamic_flag_spec_CXX='${wl}-bexpall'
+ # It seems that -bexpall does not export symbols beginning with
+ # underscore (_), so it is better to generate a list of symbols to
+ # export.
+ always_export_symbols_CXX=yes
+ if test "$aix_use_runtimelinking" = yes; then
+ # Warning - without using the other runtime loading flags (-brtl),
+ # -berok will link without error, but may produce a broken library.
+ allow_undefined_flag_CXX='-berok'
+ # Determine the default libpath from the value encoded in an empty
+ # executable.
+ cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
@@ -11118,18 +12772,21 @@ case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
(eval "$ac_link") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
test -z "$ac_cxx_werror_flag" ||
test ! -s conftest.err
- } && test -s conftest$ac_exeext &&
- $as_test_x conftest$ac_exeext; then
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
lt_aix_libpath_sed='
/Import File Strings/,/^$/ {
@@ -11144,27 +12801,29 @@ if test -z "$aix_libpath"; then
aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
fi
else
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
fi
+rm -rf conftest.dSYM
rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
conftest$ac_exeext conftest.$ac_ext
if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
- hardcode_libdir_flag_spec_CXX='${wl}-blibpath:$libdir:'"$aix_libpath"
+ hardcode_libdir_flag_spec_CXX='${wl}-blibpath:$libdir:'"$aix_libpath"
- archive_expsym_cmds_CXX="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
- else
- if test "$host_cpu" = ia64; then
- hardcode_libdir_flag_spec_CXX='${wl}-R $libdir:/usr/lib:/lib'
- allow_undefined_flag_CXX="-z nodefs"
- archive_expsym_cmds_CXX="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols"
- else
- # Determine the default libpath from the value encoded in an empty executable.
- cat >conftest.$ac_ext <<_ACEOF
+ archive_expsym_cmds_CXX='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then $ECHO "X${wl}${allow_undefined_flag}" | $Xsed; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
+ else
+ if test "$host_cpu" = ia64; then
+ hardcode_libdir_flag_spec_CXX='${wl}-R $libdir:/usr/lib:/lib'
+ allow_undefined_flag_CXX="-z nodefs"
+ archive_expsym_cmds_CXX="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols"
+ else
+ # Determine the default libpath from the value encoded in an
+ # empty executable.
+ cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
@@ -11185,18 +12844,21 @@ case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
(eval "$ac_link") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
test -z "$ac_cxx_werror_flag" ||
test ! -s conftest.err
- } && test -s conftest$ac_exeext &&
- $as_test_x conftest$ac_exeext; then
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
lt_aix_libpath_sed='
/Import File Strings/,/^$/ {
@@ -11211,778 +12873,777 @@ if test -z "$aix_libpath"; then
aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
fi
else
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
fi
+rm -rf conftest.dSYM
rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
conftest$ac_exeext conftest.$ac_ext
if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
- hardcode_libdir_flag_spec_CXX='${wl}-blibpath:$libdir:'"$aix_libpath"
- # Warning - without using the other run time loading flags,
- # -berok will link without error, but may produce a broken library.
- no_undefined_flag_CXX=' ${wl}-bernotok'
- allow_undefined_flag_CXX=' ${wl}-berok'
- # Exported symbols can be pulled into shared objects from archives
- whole_archive_flag_spec_CXX='$convenience'
- archive_cmds_need_lc_CXX=yes
- # This is similar to how AIX traditionally builds its shared libraries.
- archive_expsym_cmds_CXX="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
- fi
- fi
- ;;
-
- beos*)
- if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
- allow_undefined_flag_CXX=unsupported
- # Joseph Beckenbach <jrb3@best.com> says some releases of gcc
- # support --undefined. This deserves some investigation. FIXME
- archive_cmds_CXX='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- else
- ld_shlibs_CXX=no
- fi
- ;;
+ hardcode_libdir_flag_spec_CXX='${wl}-blibpath:$libdir:'"$aix_libpath"
+ # Warning - without using the other run time loading flags,
+ # -berok will link without error, but may produce a broken library.
+ no_undefined_flag_CXX=' ${wl}-bernotok'
+ allow_undefined_flag_CXX=' ${wl}-berok'
+ # Exported symbols can be pulled into shared objects from archives
+ whole_archive_flag_spec_CXX='$convenience'
+ archive_cmds_need_lc_CXX=yes
+ # This is similar to how AIX traditionally builds its shared
+ # libraries.
+ archive_expsym_cmds_CXX="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
+ fi
+ fi
+ ;;
- chorus*)
- case $cc_basename in
- *)
- # FIXME: insert proper C++ library support
- ld_shlibs_CXX=no
+ beos*)
+ if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
+ allow_undefined_flag_CXX=unsupported
+ # Joseph Beckenbach <jrb3@best.com> says some releases of gcc
+ # support --undefined. This deserves some investigation. FIXME
+ archive_cmds_CXX='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ else
+ ld_shlibs_CXX=no
+ fi
;;
- esac
- ;;
- cygwin* | mingw* | pw32*)
- # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, CXX) is actually meaningless,
- # as there is no search path for DLLs.
- hardcode_libdir_flag_spec_CXX='-L$libdir'
- allow_undefined_flag_CXX=unsupported
- always_export_symbols_CXX=no
- enable_shared_with_static_runtimes_CXX=yes
-
- if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then
- archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
- # If the export-symbols file already is a .def file (1st line
- # is EXPORTS), use it as is; otherwise, prepend...
- archive_expsym_cmds_CXX='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
- cp $export_symbols $output_objdir/$soname.def;
- else
- echo EXPORTS > $output_objdir/$soname.def;
- cat $export_symbols >> $output_objdir/$soname.def;
- fi~
- $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
- else
- ld_shlibs_CXX=no
- fi
- ;;
- darwin* | rhapsody*)
- case $host_os in
- rhapsody* | darwin1.[012])
- allow_undefined_flag_CXX='${wl}-undefined ${wl}suppress'
- ;;
- *) # Darwin 1.3 on
- if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then
- allow_undefined_flag_CXX='${wl}-flat_namespace ${wl}-undefined ${wl}suppress'
- else
- case ${MACOSX_DEPLOYMENT_TARGET} in
- 10.[012])
- allow_undefined_flag_CXX='${wl}-flat_namespace ${wl}-undefined ${wl}suppress'
- ;;
- 10.*)
- allow_undefined_flag_CXX='${wl}-undefined ${wl}dynamic_lookup'
- ;;
- esac
- fi
- ;;
+ chorus*)
+ case $cc_basename in
+ *)
+ # FIXME: insert proper C++ library support
+ ld_shlibs_CXX=no
+ ;;
esac
- archive_cmds_need_lc_CXX=no
- hardcode_direct_CXX=no
- hardcode_automatic_CXX=yes
- hardcode_shlibpath_var_CXX=unsupported
- whole_archive_flag_spec_CXX=''
- link_all_deplibs_CXX=yes
-
- if test "$GXX" = yes ; then
- lt_int_apple_cc_single_mod=no
- output_verbose_link_cmd='echo'
- if $CC -dumpspecs 2>&1 | $EGREP 'single_module' >/dev/null ; then
- lt_int_apple_cc_single_mod=yes
- fi
- if test "X$lt_int_apple_cc_single_mod" = Xyes ; then
- archive_cmds_CXX='$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring'
- else
- archive_cmds_CXX='$CC -r -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring'
- fi
- module_cmds_CXX='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
- # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds
- if test "X$lt_int_apple_cc_single_mod" = Xyes ; then
- archive_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+ ;;
+
+ cygwin* | mingw* | pw32* | cegcc*)
+ # _LT_TAGVAR(hardcode_libdir_flag_spec, CXX) is actually meaningless,
+ # as there is no search path for DLLs.
+ hardcode_libdir_flag_spec_CXX='-L$libdir'
+ allow_undefined_flag_CXX=unsupported
+ always_export_symbols_CXX=no
+ enable_shared_with_static_runtimes_CXX=yes
+
+ if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
+ archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
+ # If the export-symbols file already is a .def file (1st line
+ # is EXPORTS), use it as is; otherwise, prepend...
+ archive_expsym_cmds_CXX='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
+ cp $export_symbols $output_objdir/$soname.def;
else
- archive_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -r -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
- fi
- module_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
- else
- case $cc_basename in
- xlc*)
- output_verbose_link_cmd='echo'
- archive_cmds_CXX='$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $xlcverstring'
- module_cmds_CXX='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
- # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds
- archive_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $xlcverstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
- module_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
- ;;
- *)
- ld_shlibs_CXX=no
- ;;
- esac
- fi
+ echo EXPORTS > $output_objdir/$soname.def;
+ cat $export_symbols >> $output_objdir/$soname.def;
+ fi~
+ $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
+ else
+ ld_shlibs_CXX=no
+ fi
;;
+ darwin* | rhapsody*)
+
+
+ archive_cmds_need_lc_CXX=no
+ hardcode_direct_CXX=no
+ hardcode_automatic_CXX=yes
+ hardcode_shlibpath_var_CXX=unsupported
+ whole_archive_flag_spec_CXX=''
+ link_all_deplibs_CXX=yes
+ allow_undefined_flag_CXX="$_lt_dar_allow_undefined"
+ case $cc_basename in
+ ifort*) _lt_dar_can_shared=yes ;;
+ *) _lt_dar_can_shared=$GCC ;;
+ esac
+ if test "$_lt_dar_can_shared" = "yes"; then
+ output_verbose_link_cmd=echo
+ archive_cmds_CXX="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
+ module_cmds_CXX="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
+ archive_expsym_cmds_CXX="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
+ module_expsym_cmds_CXX="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
+ if test "$lt_cv_apple_cc_single_mod" != "yes"; then
+ archive_cmds_CXX="\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dsymutil}"
+ archive_expsym_cmds_CXX="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dar_export_syms}${_lt_dsymutil}"
+ fi
+
+ else
+ ld_shlibs_CXX=no
+ fi
- dgux*)
- case $cc_basename in
- ec++*)
- # FIXME: insert proper C++ library support
- ld_shlibs_CXX=no
- ;;
- ghcx*)
- # Green Hills C++ Compiler
- # FIXME: insert proper C++ library support
- ld_shlibs_CXX=no
- ;;
- *)
- # FIXME: insert proper C++ library support
- ld_shlibs_CXX=no
;;
- esac
- ;;
- freebsd[12]*)
- # C++ shared libraries reported to be fairly broken before switch to ELF
- ld_shlibs_CXX=no
- ;;
- freebsd-elf*)
- archive_cmds_need_lc_CXX=no
- ;;
- freebsd* | dragonfly*)
- # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF
- # conventions
- ld_shlibs_CXX=yes
- ;;
- gnu*)
- ;;
- hpux9*)
- hardcode_libdir_flag_spec_CXX='${wl}+b ${wl}$libdir'
- hardcode_libdir_separator_CXX=:
- export_dynamic_flag_spec_CXX='${wl}-E'
- hardcode_direct_CXX=yes
- hardcode_minus_L_CXX=yes # Not in the search PATH,
- # but as the default
- # location of the library.
-
- case $cc_basename in
- CC*)
- # FIXME: insert proper C++ library support
- ld_shlibs_CXX=no
- ;;
- aCC*)
- archive_cmds_CXX='$rm $output_objdir/$soname~$CC -b ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
- # Commands to make compiler produce verbose output that lists
- # what "hidden" libraries, object files and flags are used when
- # linking a shared library.
- #
- # There doesn't appear to be a way to prevent this compiler from
- # explicitly linking system object files so we need to strip them
- # from the output so that they don't get included in the library
- # dependencies.
- output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | grep "[-]L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
- ;;
- *)
- if test "$GXX" = yes; then
- archive_cmds_CXX='$rm $output_objdir/$soname~$CC -shared -nostdlib -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
- else
- # FIXME: insert proper C++ library support
+
+ dgux*)
+ case $cc_basename in
+ ec++*)
+ # FIXME: insert proper C++ library support
+ ld_shlibs_CXX=no
+ ;;
+ ghcx*)
+ # Green Hills C++ Compiler
+ # FIXME: insert proper C++ library support
+ ld_shlibs_CXX=no
+ ;;
+ *)
+ # FIXME: insert proper C++ library support
+ ld_shlibs_CXX=no
+ ;;
+ esac
+ ;;
+
+ freebsd[12]*)
+ # C++ shared libraries reported to be fairly broken before
+ # switch to ELF
ld_shlibs_CXX=no
- fi
- ;;
- esac
- ;;
- hpux10*|hpux11*)
- if test $with_gnu_ld = no; then
- hardcode_libdir_flag_spec_CXX='${wl}+b ${wl}$libdir'
- hardcode_libdir_separator_CXX=:
+ ;;
- case $host_cpu in
- hppa*64*|ia64*) ;;
- *)
- export_dynamic_flag_spec_CXX='${wl}-E'
+ freebsd-elf*)
+ archive_cmds_need_lc_CXX=no
;;
- esac
- fi
- case $host_cpu in
- hppa*64*|ia64*)
- hardcode_direct_CXX=no
- hardcode_shlibpath_var_CXX=no
- ;;
- *)
- hardcode_direct_CXX=yes
- hardcode_minus_L_CXX=yes # Not in the search PATH,
- # but as the default
- # location of the library.
- ;;
- esac
- case $cc_basename in
- CC*)
- # FIXME: insert proper C++ library support
- ld_shlibs_CXX=no
- ;;
- aCC*)
- case $host_cpu in
- hppa*64*)
- archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
- ;;
- ia64*)
- archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
- ;;
- *)
- archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
- ;;
- esac
- # Commands to make compiler produce verbose output that lists
- # what "hidden" libraries, object files and flags are used when
- # linking a shared library.
- #
- # There doesn't appear to be a way to prevent this compiler from
- # explicitly linking system object files so we need to strip them
- # from the output so that they don't get included in the library
- # dependencies.
- output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | grep "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
- ;;
- *)
- if test "$GXX" = yes; then
- if test $with_gnu_ld = no; then
+ freebsd* | dragonfly*)
+ # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF
+ # conventions
+ ld_shlibs_CXX=yes
+ ;;
+
+ gnu*)
+ ;;
+
+ hpux9*)
+ hardcode_libdir_flag_spec_CXX='${wl}+b ${wl}$libdir'
+ hardcode_libdir_separator_CXX=:
+ export_dynamic_flag_spec_CXX='${wl}-E'
+ hardcode_direct_CXX=yes
+ hardcode_minus_L_CXX=yes # Not in the search PATH,
+ # but as the default
+ # location of the library.
+
+ case $cc_basename in
+ CC*)
+ # FIXME: insert proper C++ library support
+ ld_shlibs_CXX=no
+ ;;
+ aCC*)
+ archive_cmds_CXX='$RM $output_objdir/$soname~$CC -b ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+ # Commands to make compiler produce verbose output that lists
+ # what "hidden" libraries, object files and flags are used when
+ # linking a shared library.
+ #
+ # There doesn't appear to be a way to prevent this compiler from
+ # explicitly linking system object files so we need to strip them
+ # from the output so that they don't get included in the library
+ # dependencies.
+ output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $EGREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed'
+ ;;
+ *)
+ if test "$GXX" = yes; then
+ archive_cmds_CXX='$RM $output_objdir/$soname~$CC -shared -nostdlib -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+ else
+ # FIXME: insert proper C++ library support
+ ld_shlibs_CXX=no
+ fi
+ ;;
+ esac
+ ;;
+
+ hpux10*|hpux11*)
+ if test $with_gnu_ld = no; then
+ hardcode_libdir_flag_spec_CXX='${wl}+b ${wl}$libdir'
+ hardcode_libdir_separator_CXX=:
+
+ case $host_cpu in
+ hppa*64*|ia64*)
+ ;;
+ *)
+ export_dynamic_flag_spec_CXX='${wl}-E'
+ ;;
+ esac
+ fi
+ case $host_cpu in
+ hppa*64*|ia64*)
+ hardcode_direct_CXX=no
+ hardcode_shlibpath_var_CXX=no
+ ;;
+ *)
+ hardcode_direct_CXX=yes
+ hardcode_direct_absolute_CXX=yes
+ hardcode_minus_L_CXX=yes # Not in the search PATH,
+ # but as the default
+ # location of the library.
+ ;;
+ esac
+
+ case $cc_basename in
+ CC*)
+ # FIXME: insert proper C++ library support
+ ld_shlibs_CXX=no
+ ;;
+ aCC*)
case $host_cpu in
- hppa*64*)
- archive_cmds_CXX='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
- ;;
- ia64*)
- archive_cmds_CXX='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
- ;;
- *)
- archive_cmds_CXX='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
- ;;
+ hppa*64*)
+ archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+ ;;
+ ia64*)
+ archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+ ;;
+ *)
+ archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+ ;;
esac
- fi
- else
- # FIXME: insert proper C++ library support
- ld_shlibs_CXX=no
- fi
- ;;
- esac
- ;;
- interix[3-9]*)
- hardcode_direct_CXX=no
- hardcode_shlibpath_var_CXX=no
- hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir'
- export_dynamic_flag_spec_CXX='${wl}-E'
- # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
- # Instead, shared libraries are loaded at an image base (0x10000000 by
- # default) and relocated if they conflict, which is a slow very memory
- # consuming and fragmenting process. To avoid this, we pick a random,
- # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
- # time. Moving up from 0x10000000 also allows more sbrk(2) space.
- archive_cmds_CXX='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
- archive_expsym_cmds_CXX='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
- ;;
- irix5* | irix6*)
- case $cc_basename in
- CC*)
- # SGI C++
- archive_cmds_CXX='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
-
- # Archives containing C++ object files must be created using
- # "CC -ar", where "CC" is the IRIX C++ compiler. This is
- # necessary to make sure instantiated templates are included
- # in the archive.
- old_archive_cmds_CXX='$CC -ar -WR,-u -o $oldlib $oldobjs'
- ;;
- *)
- if test "$GXX" = yes; then
- if test "$with_gnu_ld" = no; then
- archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
- else
- archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` -o $lib'
- fi
- fi
- link_all_deplibs_CXX=yes
- ;;
- esac
- hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir'
- hardcode_libdir_separator_CXX=:
- ;;
- linux* | k*bsd*-gnu)
- case $cc_basename in
- KCC*)
- # Kuck and Associates, Inc. (KAI) C++ Compiler
-
- # KCC will only create a shared library if the output file
- # ends with ".so" (or ".sl" for HP-UX), so rename the library
- # to its proper name (with version) after linking.
- archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
- archive_expsym_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib ${wl}-retain-symbols-file,$export_symbols; mv \$templib $lib'
- # Commands to make compiler produce verbose output that lists
- # what "hidden" libraries, object files and flags are used when
- # linking a shared library.
- #
- # There doesn't appear to be a way to prevent this compiler from
- # explicitly linking system object files so we need to strip them
- # from the output so that they don't get included in the library
- # dependencies.
- output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | grep "ld"`; rm -f libconftest$shared_ext; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
-
- hardcode_libdir_flag_spec_CXX='${wl}--rpath,$libdir'
- export_dynamic_flag_spec_CXX='${wl}--export-dynamic'
-
- # Archives containing C++ object files must be created using
- # "CC -Bstatic", where "CC" is the KAI C++ compiler.
- old_archive_cmds_CXX='$CC -Bstatic -o $oldlib $oldobjs'
- ;;
- icpc*)
- # Intel C++
- with_gnu_ld=yes
- # version 8.0 and above of icpc choke on multiply defined symbols
- # if we add $predep_objects and $postdep_objects, however 7.1 and
- # earlier do not add the objects themselves.
- case `$CC -V 2>&1` in
- *"Version 7."*)
- archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
- archive_expsym_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
- ;;
- *) # Version 8.0 or newer
- tmp_idyn=
- case $host_cpu in
- ia64*) tmp_idyn=' -i_dynamic';;
- esac
- archive_cmds_CXX='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- archive_expsym_cmds_CXX='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
- ;;
- esac
- archive_cmds_need_lc_CXX=no
- hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir'
- export_dynamic_flag_spec_CXX='${wl}--export-dynamic'
- whole_archive_flag_spec_CXX='${wl}--whole-archive$convenience ${wl}--no-whole-archive'
- ;;
- pgCC*)
- # Portland Group C++ compiler
- archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib'
- archive_expsym_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib'
-
- hardcode_libdir_flag_spec_CXX='${wl}--rpath ${wl}$libdir'
- export_dynamic_flag_spec_CXX='${wl}--export-dynamic'
- whole_archive_flag_spec_CXX='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
+ # Commands to make compiler produce verbose output that lists
+ # what "hidden" libraries, object files and flags are used when
+ # linking a shared library.
+ #
+ # There doesn't appear to be a way to prevent this compiler from
+ # explicitly linking system object files so we need to strip them
+ # from the output so that they don't get included in the library
+ # dependencies.
+ output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $GREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed'
+ ;;
+ *)
+ if test "$GXX" = yes; then
+ if test $with_gnu_ld = no; then
+ case $host_cpu in
+ hppa*64*)
+ archive_cmds_CXX='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+ ;;
+ ia64*)
+ archive_cmds_CXX='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+ ;;
+ *)
+ archive_cmds_CXX='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+ ;;
+ esac
+ fi
+ else
+ # FIXME: insert proper C++ library support
+ ld_shlibs_CXX=no
+ fi
+ ;;
+ esac
;;
- cxx*)
- # Compaq C++
- archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
- archive_expsym_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib ${wl}-retain-symbols-file $wl$export_symbols'
- runpath_var=LD_RUN_PATH
- hardcode_libdir_flag_spec_CXX='-rpath $libdir'
- hardcode_libdir_separator_CXX=:
-
- # Commands to make compiler produce verbose output that lists
- # what "hidden" libraries, object files and flags are used when
- # linking a shared library.
- #
- # There doesn't appear to be a way to prevent this compiler from
- # explicitly linking system object files so we need to strip them
- # from the output so that they don't get included in the library
- # dependencies.
- output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
- ;;
- *)
- case `$CC -V 2>&1 | sed 5q` in
- *Sun\ C*)
- # Sun C++ 5.9
- no_undefined_flag_CXX=' -zdefs'
- archive_cmds_CXX='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
- archive_expsym_cmds_CXX='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file ${wl}$export_symbols'
- hardcode_libdir_flag_spec_CXX='-R$libdir'
- whole_archive_flag_spec_CXX='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
-
- # Not sure whether something based on
- # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1
- # would be better.
- output_verbose_link_cmd='echo'
-
- # Archives containing C++ object files must be created using
- # "CC -xar", where "CC" is the Sun C++ compiler. This is
- # necessary to make sure instantiated templates are included
- # in the archive.
- old_archive_cmds_CXX='$CC -xar -o $oldlib $oldobjs'
- ;;
- esac
- ;;
- esac
- ;;
- lynxos*)
- # FIXME: insert proper C++ library support
- ld_shlibs_CXX=no
- ;;
- m88k*)
- # FIXME: insert proper C++ library support
- ld_shlibs_CXX=no
- ;;
- mvs*)
- case $cc_basename in
- cxx*)
- # FIXME: insert proper C++ library support
- ld_shlibs_CXX=no
- ;;
- *)
- # FIXME: insert proper C++ library support
- ld_shlibs_CXX=no
- ;;
- esac
- ;;
- netbsd*)
- if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
- archive_cmds_CXX='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags'
- wlarc=
- hardcode_libdir_flag_spec_CXX='-R$libdir'
- hardcode_direct_CXX=yes
- hardcode_shlibpath_var_CXX=no
- fi
- # Workaround some broken pre-1.5 toolchains
- output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"'
- ;;
- openbsd2*)
- # C++ shared libraries are fairly broken
- ld_shlibs_CXX=no
- ;;
- openbsd*)
- if test -f /usr/libexec/ld.so; then
- hardcode_direct_CXX=yes
- hardcode_shlibpath_var_CXX=no
- archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
- hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir'
- if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
- archive_expsym_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file,$export_symbols -o $lib'
+ interix[3-9]*)
+ hardcode_direct_CXX=no
+ hardcode_shlibpath_var_CXX=no
+ hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir'
export_dynamic_flag_spec_CXX='${wl}-E'
- whole_archive_flag_spec_CXX="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
- fi
- output_verbose_link_cmd='echo'
- else
- ld_shlibs_CXX=no
- fi
- ;;
- osf3*)
- case $cc_basename in
- KCC*)
- # Kuck and Associates, Inc. (KAI) C++ Compiler
+ # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
+ # Instead, shared libraries are loaded at an image base (0x10000000 by
+ # default) and relocated if they conflict, which is a slow very memory
+ # consuming and fragmenting process. To avoid this, we pick a random,
+ # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
+ # time. Moving up from 0x10000000 also allows more sbrk(2) space.
+ archive_cmds_CXX='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+ archive_expsym_cmds_CXX='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+ ;;
+ irix5* | irix6*)
+ case $cc_basename in
+ CC*)
+ # SGI C++
+ archive_cmds_CXX='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
+
+ # Archives containing C++ object files must be created using
+ # "CC -ar", where "CC" is the IRIX C++ compiler. This is
+ # necessary to make sure instantiated templates are included
+ # in the archive.
+ old_archive_cmds_CXX='$CC -ar -WR,-u -o $oldlib $oldobjs'
+ ;;
+ *)
+ if test "$GXX" = yes; then
+ if test "$with_gnu_ld" = no; then
+ archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+ else
+ archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` -o $lib'
+ fi
+ fi
+ link_all_deplibs_CXX=yes
+ ;;
+ esac
+ hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir'
+ hardcode_libdir_separator_CXX=:
+ inherit_rpath_CXX=yes
+ ;;
- # KCC will only create a shared library if the output file
- # ends with ".so" (or ".sl" for HP-UX), so rename the library
- # to its proper name (with version) after linking.
- archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
+ linux* | k*bsd*-gnu)
+ case $cc_basename in
+ KCC*)
+ # Kuck and Associates, Inc. (KAI) C++ Compiler
+
+ # KCC will only create a shared library if the output file
+ # ends with ".so" (or ".sl" for HP-UX), so rename the library
+ # to its proper name (with version) after linking.
+ archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
+ archive_expsym_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib ${wl}-retain-symbols-file,$export_symbols; mv \$templib $lib'
+ # Commands to make compiler produce verbose output that lists
+ # what "hidden" libraries, object files and flags are used when
+ # linking a shared library.
+ #
+ # There doesn't appear to be a way to prevent this compiler from
+ # explicitly linking system object files so we need to strip them
+ # from the output so that they don't get included in the library
+ # dependencies.
+ output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | $GREP "ld"`; rm -f libconftest$shared_ext; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed'
+
+ hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir'
+ export_dynamic_flag_spec_CXX='${wl}--export-dynamic'
+
+ # Archives containing C++ object files must be created using
+ # "CC -Bstatic", where "CC" is the KAI C++ compiler.
+ old_archive_cmds_CXX='$CC -Bstatic -o $oldlib $oldobjs'
+ ;;
+ icpc* | ecpc* )
+ # Intel C++
+ with_gnu_ld=yes
+ # version 8.0 and above of icpc choke on multiply defined symbols
+ # if we add $predep_objects and $postdep_objects, however 7.1 and
+ # earlier do not add the objects themselves.
+ case `$CC -V 2>&1` in
+ *"Version 7."*)
+ archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ archive_expsym_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+ ;;
+ *) # Version 8.0 or newer
+ tmp_idyn=
+ case $host_cpu in
+ ia64*) tmp_idyn=' -i_dynamic';;
+ esac
+ archive_cmds_CXX='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ archive_expsym_cmds_CXX='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+ ;;
+ esac
+ archive_cmds_need_lc_CXX=no
+ hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir'
+ export_dynamic_flag_spec_CXX='${wl}--export-dynamic'
+ whole_archive_flag_spec_CXX='${wl}--whole-archive$convenience ${wl}--no-whole-archive'
+ ;;
+ pgCC* | pgcpp*)
+ # Portland Group C++ compiler
+ case `$CC -V` in
+ *pgCC\ [1-5]* | *pgcpp\ [1-5]*)
+ prelink_cmds_CXX='tpldir=Template.dir~
+ rm -rf $tpldir~
+ $CC --prelink_objects --instantiation_dir $tpldir $objs $libobjs $compile_deplibs~
+ compile_command="$compile_command `find $tpldir -name \*.o | $NL2SP`"'
+ old_archive_cmds_CXX='tpldir=Template.dir~
+ rm -rf $tpldir~
+ $CC --prelink_objects --instantiation_dir $tpldir $oldobjs$old_deplibs~
+ $AR $AR_FLAGS $oldlib$oldobjs$old_deplibs `find $tpldir -name \*.o | $NL2SP`~
+ $RANLIB $oldlib'
+ archive_cmds_CXX='tpldir=Template.dir~
+ rm -rf $tpldir~
+ $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~
+ $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib'
+ archive_expsym_cmds_CXX='tpldir=Template.dir~
+ rm -rf $tpldir~
+ $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~
+ $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib'
+ ;;
+ *) # Version 6 will use weak symbols
+ archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib'
+ archive_expsym_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib'
+ ;;
+ esac
- hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir'
- hardcode_libdir_separator_CXX=:
+ hardcode_libdir_flag_spec_CXX='${wl}--rpath ${wl}$libdir'
+ export_dynamic_flag_spec_CXX='${wl}--export-dynamic'
+ whole_archive_flag_spec_CXX='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive'
+ ;;
+ cxx*)
+ # Compaq C++
+ archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ archive_expsym_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib ${wl}-retain-symbols-file $wl$export_symbols'
- # Archives containing C++ object files must be created using
- # "CC -Bstatic", where "CC" is the KAI C++ compiler.
- old_archive_cmds_CXX='$CC -Bstatic -o $oldlib $oldobjs'
+ runpath_var=LD_RUN_PATH
+ hardcode_libdir_flag_spec_CXX='-rpath $libdir'
+ hardcode_libdir_separator_CXX=:
+ # Commands to make compiler produce verbose output that lists
+ # what "hidden" libraries, object files and flags are used when
+ # linking a shared library.
+ #
+ # There doesn't appear to be a way to prevent this compiler from
+ # explicitly linking system object files so we need to strip them
+ # from the output so that they don't get included in the library
+ # dependencies.
+ output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld"`; templist=`$ECHO "X$templist" | $Xsed -e "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed'
+ ;;
+ xl*)
+ # IBM XL 8.0 on PPC, with GNU ld
+ hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir'
+ export_dynamic_flag_spec_CXX='${wl}--export-dynamic'
+ archive_cmds_CXX='$CC -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ if test "x$supports_anon_versioning" = xyes; then
+ archive_expsym_cmds_CXX='echo "{ global:" > $output_objdir/$libname.ver~
+ cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
+ echo "local: *; };" >> $output_objdir/$libname.ver~
+ $CC -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
+ fi
+ ;;
+ *)
+ case `$CC -V 2>&1 | sed 5q` in
+ *Sun\ C*)
+ # Sun C++ 5.9
+ no_undefined_flag_CXX=' -zdefs'
+ archive_cmds_CXX='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+ archive_expsym_cmds_CXX='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file ${wl}$export_symbols'
+ hardcode_libdir_flag_spec_CXX='-R$libdir'
+ whole_archive_flag_spec_CXX='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive'
+ compiler_needs_object_CXX=yes
+
+ # Not sure whether something based on
+ # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1
+ # would be better.
+ output_verbose_link_cmd='echo'
+
+ # Archives containing C++ object files must be created using
+ # "CC -xar", where "CC" is the Sun C++ compiler. This is
+ # necessary to make sure instantiated templates are included
+ # in the archive.
+ old_archive_cmds_CXX='$CC -xar -o $oldlib $oldobjs'
+ ;;
+ esac
+ ;;
+ esac
;;
- RCC*)
- # Rational C++ 2.4.1
- # FIXME: insert proper C++ library support
+
+ lynxos*)
+ # FIXME: insert proper C++ library support
ld_shlibs_CXX=no
;;
- cxx*)
- allow_undefined_flag_CXX=' ${wl}-expect_unresolved ${wl}\*'
- archive_cmds_CXX='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && echo ${wl}-set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
-
- hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir'
- hardcode_libdir_separator_CXX=:
-
- # Commands to make compiler produce verbose output that lists
- # what "hidden" libraries, object files and flags are used when
- # linking a shared library.
- #
- # There doesn't appear to be a way to prevent this compiler from
- # explicitly linking system object files so we need to strip them
- # from the output so that they don't get included in the library
- # dependencies.
- output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld" | grep -v "ld:"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
- ;;
- *)
- if test "$GXX" = yes && test "$with_gnu_ld" = no; then
- allow_undefined_flag_CXX=' ${wl}-expect_unresolved ${wl}\*'
- archive_cmds_CXX='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
- hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir'
- hardcode_libdir_separator_CXX=:
+ m88k*)
+ # FIXME: insert proper C++ library support
+ ld_shlibs_CXX=no
+ ;;
- # Commands to make compiler produce verbose output that lists
- # what "hidden" libraries, object files and flags are used when
- # linking a shared library.
- output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"'
+ mvs*)
+ case $cc_basename in
+ cxx*)
+ # FIXME: insert proper C++ library support
+ ld_shlibs_CXX=no
+ ;;
+ *)
+ # FIXME: insert proper C++ library support
+ ld_shlibs_CXX=no
+ ;;
+ esac
+ ;;
- else
- # FIXME: insert proper C++ library support
- ld_shlibs_CXX=no
+ netbsd*)
+ if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
+ archive_cmds_CXX='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags'
+ wlarc=
+ hardcode_libdir_flag_spec_CXX='-R$libdir'
+ hardcode_direct_CXX=yes
+ hardcode_shlibpath_var_CXX=no
fi
+ # Workaround some broken pre-1.5 toolchains
+ output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"'
;;
- esac
- ;;
- osf4* | osf5*)
- case $cc_basename in
- KCC*)
- # Kuck and Associates, Inc. (KAI) C++ Compiler
-
- # KCC will only create a shared library if the output file
- # ends with ".so" (or ".sl" for HP-UX), so rename the library
- # to its proper name (with version) after linking.
- archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
- hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir'
- hardcode_libdir_separator_CXX=:
-
- # Archives containing C++ object files must be created using
- # the KAI C++ compiler.
- old_archive_cmds_CXX='$CC -o $oldlib $oldobjs'
+ *nto* | *qnx*)
+ ld_shlibs_CXX=yes
;;
- RCC*)
- # Rational C++ 2.4.1
- # FIXME: insert proper C++ library support
+
+ openbsd2*)
+ # C++ shared libraries are fairly broken
ld_shlibs_CXX=no
;;
- cxx*)
- allow_undefined_flag_CXX=' -expect_unresolved \*'
- archive_cmds_CXX='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
- archive_expsym_cmds_CXX='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~
- echo "-hidden">> $lib.exp~
- $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname -Wl,-input -Wl,$lib.exp `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~
- $rm $lib.exp'
-
- hardcode_libdir_flag_spec_CXX='-rpath $libdir'
- hardcode_libdir_separator_CXX=:
-
- # Commands to make compiler produce verbose output that lists
- # what "hidden" libraries, object files and flags are used when
- # linking a shared library.
- #
- # There doesn't appear to be a way to prevent this compiler from
- # explicitly linking system object files so we need to strip them
- # from the output so that they don't get included in the library
- # dependencies.
- output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld" | grep -v "ld:"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
- ;;
- *)
- if test "$GXX" = yes && test "$with_gnu_ld" = no; then
- allow_undefined_flag_CXX=' ${wl}-expect_unresolved ${wl}\*'
- archive_cmds_CXX='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
-
- hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir'
- hardcode_libdir_separator_CXX=:
-
- # Commands to make compiler produce verbose output that lists
- # what "hidden" libraries, object files and flags are used when
- # linking a shared library.
- output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"'
+ openbsd*)
+ if test -f /usr/libexec/ld.so; then
+ hardcode_direct_CXX=yes
+ hardcode_shlibpath_var_CXX=no
+ hardcode_direct_absolute_CXX=yes
+ archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
+ hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir'
+ if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+ archive_expsym_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file,$export_symbols -o $lib'
+ export_dynamic_flag_spec_CXX='${wl}-E'
+ whole_archive_flag_spec_CXX="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
+ fi
+ output_verbose_link_cmd=echo
else
- # FIXME: insert proper C++ library support
ld_shlibs_CXX=no
fi
;;
- esac
- ;;
- psos*)
- # FIXME: insert proper C++ library support
- ld_shlibs_CXX=no
- ;;
- sunos4*)
- case $cc_basename in
- CC*)
- # Sun C++ 4.x
- # FIXME: insert proper C++ library support
- ld_shlibs_CXX=no
- ;;
- lcc*)
- # Lucid
- # FIXME: insert proper C++ library support
- ld_shlibs_CXX=no
- ;;
- *)
- # FIXME: insert proper C++ library support
- ld_shlibs_CXX=no
- ;;
- esac
- ;;
- solaris*)
- case $cc_basename in
- CC*)
- # Sun C++ 4.2, 5.x and Centerline C++
- archive_cmds_need_lc_CXX=yes
- no_undefined_flag_CXX=' -zdefs'
- archive_cmds_CXX='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
- archive_expsym_cmds_CXX='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
- $CC -G${allow_undefined_flag} ${wl}-M ${wl}$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp'
-
- hardcode_libdir_flag_spec_CXX='-R$libdir'
- hardcode_shlibpath_var_CXX=no
- case $host_os in
- solaris2.[0-5] | solaris2.[0-5].*) ;;
- *)
- # The compiler driver will combine and reorder linker options,
- # but understands `-z linker_flag'.
- # Supported since Solaris 2.6 (maybe 2.5.1?)
- whole_archive_flag_spec_CXX='-z allextract$convenience -z defaultextract'
- ;;
- esac
- link_all_deplibs_CXX=yes
- output_verbose_link_cmd='echo'
-
- # Archives containing C++ object files must be created using
- # "CC -xar", where "CC" is the Sun C++ compiler. This is
- # necessary to make sure instantiated templates are included
- # in the archive.
- old_archive_cmds_CXX='$CC -xar -o $oldlib $oldobjs'
- ;;
- gcx*)
- # Green Hills C++ Compiler
- archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
+ osf3* | osf4* | osf5*)
+ case $cc_basename in
+ KCC*)
+ # Kuck and Associates, Inc. (KAI) C++ Compiler
+
+ # KCC will only create a shared library if the output file
+ # ends with ".so" (or ".sl" for HP-UX), so rename the library
+ # to its proper name (with version) after linking.
+ archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo "$lib" | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
+
+ hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir'
+ hardcode_libdir_separator_CXX=:
+
+ # Archives containing C++ object files must be created using
+ # the KAI C++ compiler.
+ case $host in
+ osf3*) old_archive_cmds_CXX='$CC -Bstatic -o $oldlib $oldobjs' ;;
+ *) old_archive_cmds_CXX='$CC -o $oldlib $oldobjs' ;;
+ esac
+ ;;
+ RCC*)
+ # Rational C++ 2.4.1
+ # FIXME: insert proper C++ library support
+ ld_shlibs_CXX=no
+ ;;
+ cxx*)
+ case $host in
+ osf3*)
+ allow_undefined_flag_CXX=' ${wl}-expect_unresolved ${wl}\*'
+ archive_cmds_CXX='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && $ECHO "X${wl}-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
+ hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir'
+ ;;
+ *)
+ allow_undefined_flag_CXX=' -expect_unresolved \*'
+ archive_cmds_CXX='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
+ archive_expsym_cmds_CXX='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~
+ echo "-hidden">> $lib.exp~
+ $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname ${wl}-input ${wl}$lib.exp `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib~
+ $RM $lib.exp'
+ hardcode_libdir_flag_spec_CXX='-rpath $libdir'
+ ;;
+ esac
- # The C++ compiler must be used to create the archive.
- old_archive_cmds_CXX='$CC $LDFLAGS -archive -o $oldlib $oldobjs'
- ;;
- *)
- # GNU C++ compiler with Solaris linker
- if test "$GXX" = yes && test "$with_gnu_ld" = no; then
- no_undefined_flag_CXX=' ${wl}-z ${wl}defs'
- if $CC --version | grep -v '^2\.7' > /dev/null; then
- archive_cmds_CXX='$CC -shared -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
- archive_expsym_cmds_CXX='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
- $CC -shared -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp'
+ hardcode_libdir_separator_CXX=:
# Commands to make compiler produce verbose output that lists
# what "hidden" libraries, object files and flags are used when
# linking a shared library.
- output_verbose_link_cmd="$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep \"\-L\""
- else
- # g++ 2.7 appears to require `-G' NOT `-shared' on this
- # platform.
- archive_cmds_CXX='$CC -G -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
- archive_expsym_cmds_CXX='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
- $CC -G -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp'
+ #
+ # There doesn't appear to be a way to prevent this compiler from
+ # explicitly linking system object files so we need to strip them
+ # from the output so that they don't get included in the library
+ # dependencies.
+ output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld" | $GREP -v "ld:"`; templist=`$ECHO "X$templist" | $Xsed -e "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed'
+ ;;
+ *)
+ if test "$GXX" = yes && test "$with_gnu_ld" = no; then
+ allow_undefined_flag_CXX=' ${wl}-expect_unresolved ${wl}\*'
+ case $host in
+ osf3*)
+ archive_cmds_CXX='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+ ;;
+ *)
+ archive_cmds_CXX='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+ ;;
+ esac
+
+ hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir'
+ hardcode_libdir_separator_CXX=:
+
+ # Commands to make compiler produce verbose output that lists
+ # what "hidden" libraries, object files and flags are used when
+ # linking a shared library.
+ output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"'
+
+ else
+ # FIXME: insert proper C++ library support
+ ld_shlibs_CXX=no
+ fi
+ ;;
+ esac
+ ;;
- # Commands to make compiler produce verbose output that lists
- # what "hidden" libraries, object files and flags are used when
- # linking a shared library.
- output_verbose_link_cmd="$CC -G $CFLAGS -v conftest.$objext 2>&1 | grep \"\-L\""
- fi
+ psos*)
+ # FIXME: insert proper C++ library support
+ ld_shlibs_CXX=no
+ ;;
- hardcode_libdir_flag_spec_CXX='${wl}-R $wl$libdir'
- case $host_os in
- solaris2.[0-5] | solaris2.[0-5].*) ;;
+ sunos4*)
+ case $cc_basename in
+ CC*)
+ # Sun C++ 4.x
+ # FIXME: insert proper C++ library support
+ ld_shlibs_CXX=no
+ ;;
+ lcc*)
+ # Lucid
+ # FIXME: insert proper C++ library support
+ ld_shlibs_CXX=no
+ ;;
+ *)
+ # FIXME: insert proper C++ library support
+ ld_shlibs_CXX=no
+ ;;
+ esac
+ ;;
+
+ solaris*)
+ case $cc_basename in
+ CC*)
+ # Sun C++ 4.2, 5.x and Centerline C++
+ archive_cmds_need_lc_CXX=yes
+ no_undefined_flag_CXX=' -zdefs'
+ archive_cmds_CXX='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+ archive_expsym_cmds_CXX='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
+ $CC -G${allow_undefined_flag} ${wl}-M ${wl}$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
+
+ hardcode_libdir_flag_spec_CXX='-R$libdir'
+ hardcode_shlibpath_var_CXX=no
+ case $host_os in
+ solaris2.[0-5] | solaris2.[0-5].*) ;;
+ *)
+ # The compiler driver will combine and reorder linker options,
+ # but understands `-z linker_flag'.
+ # Supported since Solaris 2.6 (maybe 2.5.1?)
+ whole_archive_flag_spec_CXX='-z allextract$convenience -z defaultextract'
+ ;;
+ esac
+ link_all_deplibs_CXX=yes
+
+ output_verbose_link_cmd='echo'
+
+ # Archives containing C++ object files must be created using
+ # "CC -xar", where "CC" is the Sun C++ compiler. This is
+ # necessary to make sure instantiated templates are included
+ # in the archive.
+ old_archive_cmds_CXX='$CC -xar -o $oldlib $oldobjs'
+ ;;
+ gcx*)
+ # Green Hills C++ Compiler
+ archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
+
+ # The C++ compiler must be used to create the archive.
+ old_archive_cmds_CXX='$CC $LDFLAGS -archive -o $oldlib $oldobjs'
+ ;;
+ *)
+ # GNU C++ compiler with Solaris linker
+ if test "$GXX" = yes && test "$with_gnu_ld" = no; then
+ no_undefined_flag_CXX=' ${wl}-z ${wl}defs'
+ if $CC --version | $GREP -v '^2\.7' > /dev/null; then
+ archive_cmds_CXX='$CC -shared -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
+ archive_expsym_cmds_CXX='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
+ $CC -shared -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
+
+ # Commands to make compiler produce verbose output that lists
+ # what "hidden" libraries, object files and flags are used when
+ # linking a shared library.
+ output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"'
+ else
+ # g++ 2.7 appears to require `-G' NOT `-shared' on this
+ # platform.
+ archive_cmds_CXX='$CC -G -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
+ archive_expsym_cmds_CXX='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
+ $CC -G -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
+
+ # Commands to make compiler produce verbose output that lists
+ # what "hidden" libraries, object files and flags are used when
+ # linking a shared library.
+ output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"'
+ fi
+
+ hardcode_libdir_flag_spec_CXX='${wl}-R $wl$libdir'
+ case $host_os in
+ solaris2.[0-5] | solaris2.[0-5].*) ;;
+ *)
+ whole_archive_flag_spec_CXX='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
+ ;;
+ esac
+ fi
+ ;;
+ esac
+ ;;
+
+ sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*)
+ no_undefined_flag_CXX='${wl}-z,text'
+ archive_cmds_need_lc_CXX=no
+ hardcode_shlibpath_var_CXX=no
+ runpath_var='LD_RUN_PATH'
+
+ case $cc_basename in
+ CC*)
+ archive_cmds_CXX='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ archive_expsym_cmds_CXX='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ *)
+ archive_cmds_CXX='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ archive_expsym_cmds_CXX='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ esac
+ ;;
+
+ sysv5* | sco3.2v5* | sco5v6*)
+ # Note: We can NOT use -z defs as we might desire, because we do not
+ # link with -lc, and that would cause any symbols used from libc to
+ # always be unresolved, which means just about no library would
+ # ever link correctly. If we're not using GNU ld we use -z text
+ # though, which does catch some bad symbols but isn't as heavy-handed
+ # as -z defs.
+ no_undefined_flag_CXX='${wl}-z,text'
+ allow_undefined_flag_CXX='${wl}-z,nodefs'
+ archive_cmds_need_lc_CXX=no
+ hardcode_shlibpath_var_CXX=no
+ hardcode_libdir_flag_spec_CXX='${wl}-R,$libdir'
+ hardcode_libdir_separator_CXX=':'
+ link_all_deplibs_CXX=yes
+ export_dynamic_flag_spec_CXX='${wl}-Bexport'
+ runpath_var='LD_RUN_PATH'
+
+ case $cc_basename in
+ CC*)
+ archive_cmds_CXX='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ archive_expsym_cmds_CXX='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
*)
- whole_archive_flag_spec_CXX='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
+ archive_cmds_CXX='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ archive_expsym_cmds_CXX='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
;;
- esac
- fi
- ;;
- esac
- ;;
- sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*)
- no_undefined_flag_CXX='${wl}-z,text'
- archive_cmds_need_lc_CXX=no
- hardcode_shlibpath_var_CXX=no
- runpath_var='LD_RUN_PATH'
-
- case $cc_basename in
- CC*)
- archive_cmds_CXX='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- archive_expsym_cmds_CXX='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- *)
- archive_cmds_CXX='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- archive_expsym_cmds_CXX='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- esac
- ;;
- sysv5* | sco3.2v5* | sco5v6*)
- # Note: We can NOT use -z defs as we might desire, because we do not
- # link with -lc, and that would cause any symbols used from libc to
- # always be unresolved, which means just about no library would
- # ever link correctly. If we're not using GNU ld we use -z text
- # though, which does catch some bad symbols but isn't as heavy-handed
- # as -z defs.
- # For security reasons, it is highly recommended that you always
- # use absolute paths for naming shared libraries, and exclude the
- # DT_RUNPATH tag from executables and libraries. But doing so
- # requires that you compile everything twice, which is a pain.
- # So that behaviour is only enabled if SCOABSPATH is set to a
- # non-empty value in the environment. Most likely only useful for
- # creating official distributions of packages.
- # This is a hack until libtool officially supports absolute path
- # names for shared libraries.
- no_undefined_flag_CXX='${wl}-z,text'
- allow_undefined_flag_CXX='${wl}-z,nodefs'
- archive_cmds_need_lc_CXX=no
- hardcode_shlibpath_var_CXX=no
- hardcode_libdir_flag_spec_CXX='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`'
- hardcode_libdir_separator_CXX=':'
- link_all_deplibs_CXX=yes
- export_dynamic_flag_spec_CXX='${wl}-Bexport'
- runpath_var='LD_RUN_PATH'
-
- case $cc_basename in
- CC*)
- archive_cmds_CXX='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
- archive_expsym_cmds_CXX='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- *)
- archive_cmds_CXX='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
- archive_expsym_cmds_CXX='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- esac
- ;;
- tandem*)
- case $cc_basename in
- NCC*)
- # NonStop-UX NCC 3.20
- # FIXME: insert proper C++ library support
- ld_shlibs_CXX=no
- ;;
+ esac
+ ;;
+
+ tandem*)
+ case $cc_basename in
+ NCC*)
+ # NonStop-UX NCC 3.20
+ # FIXME: insert proper C++ library support
+ ld_shlibs_CXX=no
+ ;;
+ *)
+ # FIXME: insert proper C++ library support
+ ld_shlibs_CXX=no
+ ;;
+ esac
+ ;;
+
+ vxworks*)
+ # FIXME: insert proper C++ library support
+ ld_shlibs_CXX=no
+ ;;
+
*)
- # FIXME: insert proper C++ library support
- ld_shlibs_CXX=no
- ;;
+ # FIXME: insert proper C++ library support
+ ld_shlibs_CXX=no
+ ;;
esac
- ;;
- vxworks*)
- # FIXME: insert proper C++ library support
- ld_shlibs_CXX=no
- ;;
- *)
- # FIXME: insert proper C++ library support
- ld_shlibs_CXX=no
- ;;
-esac
-{ echo "$as_me:$LINENO: result: $ld_shlibs_CXX" >&5
-echo "${ECHO_T}$ld_shlibs_CXX" >&6; }
-test "$ld_shlibs_CXX" = no && can_build_shared=no
-GCC_CXX="$GXX"
-LD_CXX="$LD"
+ { $as_echo "$as_me:$LINENO: result: $ld_shlibs_CXX" >&5
+$as_echo "$ld_shlibs_CXX" >&6; }
+ test "$ld_shlibs_CXX" = no && can_build_shared=no
+ GCC_CXX="$GXX"
+ LD_CXX="$LD"
-cat > conftest.$ac_ext <<EOF
+ ## CAVEAT EMPTOR:
+ ## There is no encapsulation within the following macros, do not change
+ ## the running order or otherwise move them around unless you know exactly
+ ## what you are doing...
+ # Dependencies to place before and after the object being linked:
+predep_objects_CXX=
+postdep_objects_CXX=
+predeps_CXX=
+postdeps_CXX=
+compiler_lib_search_path_CXX=
+
+cat > conftest.$ac_ext <<_LT_EOF
class Foo
{
public:
@@ -11990,12 +13651,12 @@ public:
private:
int a;
};
-EOF
+_LT_EOF
if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
(eval $ac_compile) 2>&5
ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; then
# Parse the compiler output and extract the necessary
# objects, libraries and library flags.
@@ -12004,19 +13665,14 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
# the conftest object file.
pre_test_object_deps_done=no
- # The `*' in the case matches for architectures that use `case' in
- # $output_verbose_cmd can trigger glob expansion during the loop
- # eval without this substitution.
- output_verbose_link_cmd=`$echo "X$output_verbose_link_cmd" | $Xsed -e "$no_glob_subst"`
-
- for p in `eval $output_verbose_link_cmd`; do
+ for p in `eval "$output_verbose_link_cmd"`; do
case $p in
-L* | -R* | -l*)
# Some compilers place space between "-{L,R}" and the path.
# Remove the space.
- if test $p = "-L" \
- || test $p = "-R"; then
+ if test $p = "-L" ||
+ test $p = "-R"; then
prev=$p
continue
else
@@ -12081,7 +13737,7 @@ else
echo "libtool.m4: error: problem compiling CXX test program"
fi
-$rm -f confest.$objext
+$RM -f confest.$objext
# PORTME: override above test on systems where it is broken
case $host_os in
@@ -12097,7 +13753,7 @@ linux*)
case `$CC -V 2>&1 | sed 5q` in
*Sun\ C*)
# Sun C++ 5.9
- #
+
# The more standards-conforming stlport4 library is
# incompatible with the Cstd library. Avoid specifying
# it if it's in CXXFLAGS. Ignore libCrun as
@@ -12107,6 +13763,7 @@ linux*)
solaris_use_stlport4=yes
;;
esac
+
if test "$solaris_use_stlport4" != yes; then
postdeps_CXX='-library=Cstd -library=Crun'
fi
@@ -12142,13 +13799,47 @@ esac
case " $postdeps_CXX " in
*" -lc "*) archive_cmds_need_lc_CXX=no ;;
esac
+ compiler_lib_search_dirs_CXX=
+if test -n "${compiler_lib_search_path_CXX}"; then
+ compiler_lib_search_dirs_CXX=`echo " ${compiler_lib_search_path_CXX}" | ${SED} -e 's! -L! !g' -e 's!^ !!'`
+fi
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-lt_prog_compiler_wl_CXX=
+
+
+
+
+
+
+
+
+
+
+
+
+
+ lt_prog_compiler_wl_CXX=
lt_prog_compiler_pic_CXX=
lt_prog_compiler_static_CXX=
-{ echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5
-echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5
+$as_echo_n "checking for $compiler option to produce PIC... " >&6; }
# C++ specific cases for pic, static, wl, etc.
if test "$GXX" = yes; then
@@ -12163,16 +13854,26 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; }
lt_prog_compiler_static_CXX='-Bstatic'
fi
;;
+
amigaos*)
- # FIXME: we need at least 68020 code to build shared libraries, but
- # adding the `-m68020' flag to GCC prevents building anything better,
- # like `-m68040'.
- lt_prog_compiler_pic_CXX='-m68020 -resident32 -malways-restore-a4'
+ case $host_cpu in
+ powerpc)
+ # see comment about AmigaOS4 .so support
+ lt_prog_compiler_pic_CXX='-fPIC'
+ ;;
+ m68k)
+ # FIXME: we need at least 68020 code to build shared libraries, but
+ # adding the `-m68020' flag to GCC prevents building anything better,
+ # like `-m68040'.
+ lt_prog_compiler_pic_CXX='-m68020 -resident32 -malways-restore-a4'
+ ;;
+ esac
;;
+
beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
# PIC is the default for these OSes.
;;
- mingw* | cygwin* | os2* | pw32*)
+ mingw* | cygwin* | os2* | pw32* | cegcc*)
# This hack is so that the source file can tell whether it is being
# built for inclusion in a dll (and should export symbols for example).
# Although the cygwin gcc ignores -fPIC, still need this for old-style
@@ -12198,23 +13899,29 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; }
fi
;;
hpux*)
- # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
- # not for PA HP-UX.
+ # PIC is the default for 64-bit PA HP-UX, but not for 32-bit
+ # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag
+ # sets the default TLS model and affects inlining.
case $host_cpu in
- hppa*64*|ia64*)
+ hppa*64*)
;;
*)
lt_prog_compiler_pic_CXX='-fPIC'
;;
esac
;;
+ *qnx* | *nto*)
+ # QNX uses GNU C++, but need to define -shared option too, otherwise
+ # it will coredump.
+ lt_prog_compiler_pic_CXX='-fPIC -shared'
+ ;;
*)
lt_prog_compiler_pic_CXX='-fPIC'
;;
esac
else
case $host_os in
- aix4* | aix5*)
+ aix[4-9]*)
# All AIX code is PIC.
if test "$host_cpu" = ia64; then
# AIX 5 now supports IA64 processor
@@ -12227,20 +13934,10 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; }
case $cc_basename in
cxch68*)
# Green Hills C++ Compiler
- # _LT_AC_TAGVAR(lt_prog_compiler_static, CXX)="--no_auto_instantiation -u __main -u __premain -u _abort -r $COOL_DIR/lib/libOrb.a $MVME_DIR/lib/CC/libC.a $MVME_DIR/lib/classix/libcx.s.a"
+ # _LT_TAGVAR(lt_prog_compiler_static, CXX)="--no_auto_instantiation -u __main -u __premain -u _abort -r $COOL_DIR/lib/libOrb.a $MVME_DIR/lib/CC/libC.a $MVME_DIR/lib/classix/libcx.s.a"
;;
esac
;;
- darwin*)
- # PIC is the default on this platform
- # Common symbols not allowed in MH_DYLIB files
- case $cc_basename in
- xlc*)
- lt_prog_compiler_pic_CXX='-qnocommon'
- lt_prog_compiler_wl_CXX='-Wl,'
- ;;
- esac
- ;;
dgux*)
case $cc_basename in
ec++*)
@@ -12304,14 +14001,21 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; }
lt_prog_compiler_wl_CXX='--backend -Wl,'
lt_prog_compiler_pic_CXX='-fPIC'
;;
- icpc* | ecpc*)
- # Intel C++
+ ecpc* )
+ # old Intel C++ for x86_64 which still supported -KPIC.
lt_prog_compiler_wl_CXX='-Wl,'
lt_prog_compiler_pic_CXX='-KPIC'
lt_prog_compiler_static_CXX='-static'
;;
- pgCC*)
- # Portland Group C++ compiler.
+ icpc* )
+ # Intel C++, used to be incompatible with GCC.
+ # ICC 10 doesn't accept -KPIC any more.
+ lt_prog_compiler_wl_CXX='-Wl,'
+ lt_prog_compiler_pic_CXX='-fPIC'
+ lt_prog_compiler_static_CXX='-static'
+ ;;
+ pgCC* | pgcpp*)
+ # Portland Group C++ compiler
lt_prog_compiler_wl_CXX='-Wl,'
lt_prog_compiler_pic_CXX='-fpic'
lt_prog_compiler_static_CXX='-Bstatic'
@@ -12323,6 +14027,12 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; }
lt_prog_compiler_pic_CXX=
lt_prog_compiler_static_CXX='-non_shared'
;;
+ xlc* | xlC*)
+ # IBM XL 8.0 on PPC
+ lt_prog_compiler_wl_CXX='-Wl,'
+ lt_prog_compiler_pic_CXX='-qpic'
+ lt_prog_compiler_static_CXX='-qstaticlink'
+ ;;
*)
case `$CC -V 2>&1 | sed 5q` in
*Sun\ C*)
@@ -12348,8 +14058,13 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; }
;;
esac
;;
- netbsd*)
+ netbsd* | netbsdelf*-gnu)
;;
+ *qnx* | *nto*)
+ # QNX uses GNU C++, but need to define -shared option too, otherwise
+ # it will coredump.
+ lt_prog_compiler_pic_CXX='-fPIC -shared'
+ ;;
osf3* | osf4* | osf5*)
case $cc_basename in
KCC*)
@@ -12404,22 +14119,22 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; }
;;
esac
;;
- tandem*)
+ sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
case $cc_basename in
- NCC*)
- # NonStop-UX NCC 3.20
+ CC*)
+ lt_prog_compiler_wl_CXX='-Wl,'
lt_prog_compiler_pic_CXX='-KPIC'
- ;;
- *)
+ lt_prog_compiler_static_CXX='-Bstatic'
;;
esac
;;
- sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
+ tandem*)
case $cc_basename in
- CC*)
- lt_prog_compiler_wl_CXX='-Wl,'
+ NCC*)
+ # NonStop-UX NCC 3.20
lt_prog_compiler_pic_CXX='-KPIC'
- lt_prog_compiler_static_CXX='-Bstatic'
+ ;;
+ *)
;;
esac
;;
@@ -12431,21 +14146,31 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; }
esac
fi
-{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_CXX" >&5
-echo "${ECHO_T}$lt_prog_compiler_pic_CXX" >&6; }
+case $host_os in
+ # For platforms which do not support PIC, -DPIC is meaningless:
+ *djgpp*)
+ lt_prog_compiler_pic_CXX=
+ ;;
+ *)
+ lt_prog_compiler_pic_CXX="$lt_prog_compiler_pic_CXX -DPIC"
+ ;;
+esac
+{ $as_echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_CXX" >&5
+$as_echo "$lt_prog_compiler_pic_CXX" >&6; }
+
+
#
# Check to make sure the PIC flag actually works.
#
if test -n "$lt_prog_compiler_pic_CXX"; then
-
-{ echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works" >&5
-echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works... $ECHO_C" >&6; }
-if test "${lt_prog_compiler_pic_works_CXX+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ { $as_echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works" >&5
+$as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works... " >&6; }
+if test "${lt_cv_prog_compiler_pic_works_CXX+set}" = set; then
+ $as_echo_n "(cached) " >&6
else
- lt_prog_compiler_pic_works_CXX=no
- ac_outfile=conftest.$ac_objext
+ lt_cv_prog_compiler_pic_works_CXX=no
+ ac_outfile=conftest.$ac_objext
echo "$lt_simple_compile_test_code" > conftest.$ac_ext
lt_compiler_flag="$lt_prog_compiler_pic_CXX -DPIC"
# Insert the option either (1) after the last *FLAGS variable, or
@@ -12457,27 +14182,27 @@ else
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:12460: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:14185: $lt_compile\"" >&5)
(eval "$lt_compile" 2>conftest.err)
ac_status=$?
cat conftest.err >&5
- echo "$as_me:12464: \$? = $ac_status" >&5
+ echo "$as_me:14189: \$? = $ac_status" >&5
if (exit $ac_status) && test -s "$ac_outfile"; then
# The compiler can only warn and ignore the option if not recognized
# So say no if there are warnings other than the usual output.
- $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp
+ $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp
$SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
- lt_prog_compiler_pic_works_CXX=yes
+ lt_cv_prog_compiler_pic_works_CXX=yes
fi
fi
- $rm conftest*
+ $RM conftest*
fi
-{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_works_CXX" >&5
-echo "${ECHO_T}$lt_prog_compiler_pic_works_CXX" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_pic_works_CXX" >&5
+$as_echo "$lt_cv_prog_compiler_pic_works_CXX" >&6; }
-if test x"$lt_prog_compiler_pic_works_CXX" = xyes; then
+if test x"$lt_cv_prog_compiler_pic_works_CXX" = xyes; then
case $lt_prog_compiler_pic_CXX in
"" | " "*) ;;
*) lt_prog_compiler_pic_CXX=" $lt_prog_compiler_pic_CXX" ;;
@@ -12488,26 +14213,19 @@ else
fi
fi
-case $host_os in
- # For platforms which do not support PIC, -DPIC is meaningless:
- *djgpp*)
- lt_prog_compiler_pic_CXX=
- ;;
- *)
- lt_prog_compiler_pic_CXX="$lt_prog_compiler_pic_CXX -DPIC"
- ;;
-esac
+
+
#
# Check to make sure the static flag actually works.
#
wl=$lt_prog_compiler_wl_CXX eval lt_tmp_static_flag=\"$lt_prog_compiler_static_CXX\"
-{ echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5
-echo $ECHO_N "checking if $compiler static flag $lt_tmp_static_flag works... $ECHO_C" >&6; }
-if test "${lt_prog_compiler_static_works_CXX+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+{ $as_echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5
+$as_echo_n "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; }
+if test "${lt_cv_prog_compiler_static_works_CXX+set}" = set; then
+ $as_echo_n "(cached) " >&6
else
- lt_prog_compiler_static_works_CXX=no
+ lt_cv_prog_compiler_static_works_CXX=no
save_LDFLAGS="$LDFLAGS"
LDFLAGS="$LDFLAGS $lt_tmp_static_flag"
echo "$lt_simple_link_test_code" > conftest.$ac_ext
@@ -12517,36 +14235,90 @@ else
if test -s conftest.err; then
# Append any errors to the config.log.
cat conftest.err 1>&5
- $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp
+ $ECHO "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp
$SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
if diff conftest.exp conftest.er2 >/dev/null; then
- lt_prog_compiler_static_works_CXX=yes
+ lt_cv_prog_compiler_static_works_CXX=yes
fi
else
- lt_prog_compiler_static_works_CXX=yes
+ lt_cv_prog_compiler_static_works_CXX=yes
fi
fi
- $rm conftest*
+ $RM -r conftest*
LDFLAGS="$save_LDFLAGS"
fi
-{ echo "$as_me:$LINENO: result: $lt_prog_compiler_static_works_CXX" >&5
-echo "${ECHO_T}$lt_prog_compiler_static_works_CXX" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_static_works_CXX" >&5
+$as_echo "$lt_cv_prog_compiler_static_works_CXX" >&6; }
-if test x"$lt_prog_compiler_static_works_CXX" = xyes; then
+if test x"$lt_cv_prog_compiler_static_works_CXX" = xyes; then
:
else
lt_prog_compiler_static_CXX=
fi
-{ echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5
-echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6; }
+
+
+ { $as_echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5
+$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
+if test "${lt_cv_prog_compiler_c_o_CXX+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ lt_cv_prog_compiler_c_o_CXX=no
+ $RM -r conftest 2>/dev/null
+ mkdir conftest
+ cd conftest
+ mkdir out
+ echo "$lt_simple_compile_test_code" > conftest.$ac_ext
+
+ lt_compiler_flag="-o out/conftest2.$ac_objext"
+ # Insert the option either (1) after the last *FLAGS variable, or
+ # (2) before a word containing "conftest.", or (3) at the end.
+ # Note that $ac_compile itself does not contain backslashes and begins
+ # with a dollar sign (not a hyphen), so the echo should work correctly.
+ lt_compile=`echo "$ac_compile" | $SED \
+ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
+ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
+ -e 's:$: $lt_compiler_flag:'`
+ (eval echo "\"\$as_me:14284: $lt_compile\"" >&5)
+ (eval "$lt_compile" 2>out/conftest.err)
+ ac_status=$?
+ cat out/conftest.err >&5
+ echo "$as_me:14288: \$? = $ac_status" >&5
+ if (exit $ac_status) && test -s out/conftest2.$ac_objext
+ then
+ # The compiler can only warn and ignore the option if not recognized
+ # So say no if there are warnings
+ $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp
+ $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
+ if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
+ lt_cv_prog_compiler_c_o_CXX=yes
+ fi
+ fi
+ chmod u+w . 2>&5
+ $RM conftest*
+ # SGI C++ compiler will create directory out/ii_files/ for
+ # template instantiation
+ test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files
+ $RM out/* && rmdir out
+ cd ..
+ $RM -r conftest
+ $RM conftest*
+
+fi
+{ $as_echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o_CXX" >&5
+$as_echo "$lt_cv_prog_compiler_c_o_CXX" >&6; }
+
+
+
+ { $as_echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5
+$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
if test "${lt_cv_prog_compiler_c_o_CXX+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
lt_cv_prog_compiler_c_o_CXX=no
- $rm -r conftest 2>/dev/null
+ $RM -r conftest 2>/dev/null
mkdir conftest
cd conftest
mkdir out
@@ -12561,87 +14333,102 @@ else
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:12564: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:14336: $lt_compile\"" >&5)
(eval "$lt_compile" 2>out/conftest.err)
ac_status=$?
cat out/conftest.err >&5
- echo "$as_me:12568: \$? = $ac_status" >&5
+ echo "$as_me:14340: \$? = $ac_status" >&5
if (exit $ac_status) && test -s out/conftest2.$ac_objext
then
# The compiler can only warn and ignore the option if not recognized
# So say no if there are warnings
- $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp
+ $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp
$SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
lt_cv_prog_compiler_c_o_CXX=yes
fi
fi
chmod u+w . 2>&5
- $rm conftest*
+ $RM conftest*
# SGI C++ compiler will create directory out/ii_files/ for
# template instantiation
- test -d out/ii_files && $rm out/ii_files/* && rmdir out/ii_files
- $rm out/* && rmdir out
+ test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files
+ $RM out/* && rmdir out
cd ..
- rmdir conftest
- $rm conftest*
+ $RM -r conftest
+ $RM conftest*
fi
-{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o_CXX" >&5
-echo "${ECHO_T}$lt_cv_prog_compiler_c_o_CXX" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o_CXX" >&5
+$as_echo "$lt_cv_prog_compiler_c_o_CXX" >&6; }
+
+
hard_links="nottested"
if test "$lt_cv_prog_compiler_c_o_CXX" = no && test "$need_locks" != no; then
# do not overwrite the value of need_locks provided by the user
- { echo "$as_me:$LINENO: checking if we can lock with hard links" >&5
-echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6; }
+ { $as_echo "$as_me:$LINENO: checking if we can lock with hard links" >&5
+$as_echo_n "checking if we can lock with hard links... " >&6; }
hard_links=yes
- $rm conftest*
+ $RM conftest*
ln conftest.a conftest.b 2>/dev/null && hard_links=no
touch conftest.a
ln conftest.a conftest.b 2>&5 || hard_links=no
ln conftest.a conftest.b 2>/dev/null && hard_links=no
- { echo "$as_me:$LINENO: result: $hard_links" >&5
-echo "${ECHO_T}$hard_links" >&6; }
+ { $as_echo "$as_me:$LINENO: result: $hard_links" >&5
+$as_echo "$hard_links" >&6; }
if test "$hard_links" = no; then
- { echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5
-echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5
+$as_echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;}
need_locks=warn
fi
else
need_locks=no
fi
-{ echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5
-echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6; }
+
+
+ { $as_echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5
+$as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; }
export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
case $host_os in
- aix4* | aix5*)
+ aix[4-9]*)
# If we're using GNU nm, then we don't want the "-C" option.
# -C means demangle to AIX nm, but means don't demangle with GNU nm
- if $NM -V 2>&1 | grep 'GNU' > /dev/null; then
- export_symbols_cmds_CXX='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols'
+ if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
+ export_symbols_cmds_CXX='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
else
- export_symbols_cmds_CXX='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols'
+ export_symbols_cmds_CXX='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
fi
;;
pw32*)
export_symbols_cmds_CXX="$ltdll_cmds"
;;
- cygwin* | mingw*)
- export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/;/^.*[ ]__nm__/s/^.*[ ]__nm__\([^ ]*\)[ ][^ ]*/\1 DATA/;/^I[ ]/d;/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols'
+ cygwin* | mingw* | cegcc*)
+ export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/;/^.*[ ]__nm__/s/^.*[ ]__nm__\([^ ]*\)[ ][^ ]*/\1 DATA/;/^I[ ]/d;/^[AITW][ ]/s/.* //'\'' | sort | uniq > $export_symbols'
+ ;;
+ linux* | k*bsd*-gnu)
+ link_all_deplibs_CXX=no
;;
*)
export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
;;
esac
+ exclude_expsyms_CXX='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'
-{ echo "$as_me:$LINENO: result: $ld_shlibs_CXX" >&5
-echo "${ECHO_T}$ld_shlibs_CXX" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $ld_shlibs_CXX" >&5
+$as_echo "$ld_shlibs_CXX" >&6; }
test "$ld_shlibs_CXX" = no && can_build_shared=no
+with_gnu_ld_CXX=$with_gnu_ld
+
+
+
+
+
+
#
# Do we need to explicitly link libc?
#
@@ -12659,15 +14446,15 @@ x|xyes)
# Test whether the compiler implicitly links with -lc since on some
# systems, -lgcc has to come before -lc. If gcc already passes -lc
# to ld, don't add -lc before -lgcc.
- { echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5
-echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6; }
- $rm conftest*
+ { $as_echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5
+$as_echo_n "checking whether -lc should be explicitly linked in... " >&6; }
+ $RM conftest*
echo "$lt_simple_compile_test_code" > conftest.$ac_ext
if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
(eval $ac_compile) 2>&5
ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } 2>conftest.err; then
soname=conftest
lib=conftest
@@ -12682,10 +14469,10 @@ echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&
libname=conftest
lt_save_allow_undefined_flag=$allow_undefined_flag_CXX
allow_undefined_flag_CXX=
- if { (eval echo "$as_me:$LINENO: \"$archive_cmds_CXX 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1\"") >&5
- (eval $archive_cmds_CXX 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) 2>&5
+ if { (eval echo "$as_me:$LINENO: \"$archive_cmds_CXX 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1\"") >&5
+ (eval $archive_cmds_CXX 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) 2>&5
ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }
then
archive_cmds_need_lc_CXX=no
@@ -12696,2620 +14483,81 @@ echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&
else
cat conftest.err 1>&5
fi
- $rm conftest*
- { echo "$as_me:$LINENO: result: $archive_cmds_need_lc_CXX" >&5
-echo "${ECHO_T}$archive_cmds_need_lc_CXX" >&6; }
+ $RM conftest*
+ { $as_echo "$as_me:$LINENO: result: $archive_cmds_need_lc_CXX" >&5
+$as_echo "$archive_cmds_need_lc_CXX" >&6; }
;;
esac
fi
;;
esac
-{ echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5
-echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6; }
-library_names_spec=
-libname_spec='lib$name'
-soname_spec=
-shrext_cmds=".so"
-postinstall_cmds=
-postuninstall_cmds=
-finish_cmds=
-finish_eval=
-shlibpath_var=
-shlibpath_overrides_runpath=unknown
-version_type=none
-dynamic_linker="$host_os ld.so"
-sys_lib_dlsearch_path_spec="/lib /usr/lib"
-
-need_lib_prefix=unknown
-hardcode_into_libs=no
-
-# when you set need_version to no, make sure it does not cause -set_version
-# flags to be left without arguments
-need_version=unknown
-
-case $host_os in
-aix3*)
- version_type=linux
- library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a'
- shlibpath_var=LIBPATH
-
- # AIX 3 has no versioning support, so we append a major version to the name.
- soname_spec='${libname}${release}${shared_ext}$major'
- ;;
-
-aix4* | aix5*)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- hardcode_into_libs=yes
- if test "$host_cpu" = ia64; then
- # AIX 5 supports IA64
- library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}'
- shlibpath_var=LD_LIBRARY_PATH
- else
- # With GCC up to 2.95.x, collect2 would create an import file
- # for dependence libraries. The import file would start with
- # the line `#! .'. This would cause the generated library to
- # depend on `.', always an invalid library. This was fixed in
- # development snapshots of GCC prior to 3.0.
- case $host_os in
- aix4 | aix4.[01] | aix4.[01].*)
- if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
- echo ' yes '
- echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then
- :
- else
- can_build_shared=no
- fi
- ;;
- esac
- # AIX (on Power*) has no versioning support, so currently we can not hardcode correct
- # soname into executable. Probably we can add versioning support to
- # collect2, so additional links can be useful in future.
- if test "$aix_use_runtimelinking" = yes; then
- # If using run time linking (on AIX 4.2 or later) use lib<name>.so
- # instead of lib<name>.a to let people know that these are not
- # typical AIX shared libraries.
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- else
- # We preserve .a as extension for shared libraries through AIX4.2
- # and later when we are not doing run time linking.
- library_names_spec='${libname}${release}.a $libname.a'
- soname_spec='${libname}${release}${shared_ext}$major'
- fi
- shlibpath_var=LIBPATH
- fi
- ;;
-
-amigaos*)
- library_names_spec='$libname.ixlibrary $libname.a'
- # Create ${libname}_ixlibrary.a entries in /sys/libs.
- finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'
- ;;
-
-beos*)
- library_names_spec='${libname}${shared_ext}'
- dynamic_linker="$host_os ld.so"
- shlibpath_var=LIBRARY_PATH
- ;;
-
-bsdi[45]*)
- version_type=linux
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir'
- shlibpath_var=LD_LIBRARY_PATH
- sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"
- sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib"
- # the default ld.so.conf also contains /usr/contrib/lib and
- # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow
- # libtool to hard-code these into programs
- ;;
-
-cygwin* | mingw* | pw32*)
- version_type=windows
- shrext_cmds=".dll"
- need_version=no
- need_lib_prefix=no
-
- case $GCC,$host_os in
- yes,cygwin* | yes,mingw* | yes,pw32*)
- library_names_spec='$libname.dll.a'
- # DLL is installed to $(libdir)/../bin by postinstall_cmds
- postinstall_cmds='base_file=`basename \${file}`~
- dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo \$dlname'\''`~
- dldir=$destdir/`dirname \$dlpath`~
- test -d \$dldir || mkdir -p \$dldir~
- $install_prog $dir/$dlname \$dldir/$dlname~
- chmod a+x \$dldir/$dlname'
- postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
- dlpath=$dir/\$dldll~
- $rm \$dlpath'
- shlibpath_overrides_runpath=yes
-
- case $host_os in
- cygwin*)
- # Cygwin DLLs use 'cyg' prefix rather than 'lib'
- soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
- sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib"
- ;;
- mingw*)
- # MinGW DLLs use traditional 'lib' prefix
- soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
- sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"`
- if echo "$sys_lib_search_path_spec" | grep ';[c-zC-Z]:/' >/dev/null; then
- # It is most probably a Windows format PATH printed by
- # mingw gcc, but we are running on Cygwin. Gcc prints its search
- # path with ; separators, and with drive letters. We can handle the
- # drive letters (cygwin fileutils understands them), so leave them,
- # especially as we might pass files found there to a mingw objdump,
- # which wouldn't understand a cygwinified path. Ahh.
- sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
- else
- sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
- fi
- ;;
- pw32*)
- # pw32 DLLs use 'pw' prefix rather than 'lib'
- library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
- ;;
- esac
- ;;
-
- *)
- library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib'
- ;;
- esac
- dynamic_linker='Win32 ld.exe'
- # FIXME: first we should search . and the directory the executable is in
- shlibpath_var=PATH
- ;;
-
-darwin* | rhapsody*)
- dynamic_linker="$host_os dyld"
- version_type=darwin
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${versuffix}$shared_ext ${libname}${release}${major}$shared_ext ${libname}$shared_ext'
- soname_spec='${libname}${release}${major}$shared_ext'
- shlibpath_overrides_runpath=yes
- shlibpath_var=DYLD_LIBRARY_PATH
- shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
-
- sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'
- ;;
-
-dgux*)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- ;;
-
-freebsd1*)
- dynamic_linker=no
- ;;
-
-freebsd* | dragonfly*)
- # DragonFly does not have aout. When/if they implement a new
- # versioning mechanism, adjust this.
- if test -x /usr/bin/objformat; then
- objformat=`/usr/bin/objformat`
- else
- case $host_os in
- freebsd[123]*) objformat=aout ;;
- *) objformat=elf ;;
- esac
- fi
- version_type=freebsd-$objformat
- case $version_type in
- freebsd-elf*)
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
- need_version=no
- need_lib_prefix=no
- ;;
- freebsd-*)
- library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix'
- need_version=yes
- ;;
- esac
- shlibpath_var=LD_LIBRARY_PATH
- case $host_os in
- freebsd2*)
- shlibpath_overrides_runpath=yes
- ;;
- freebsd3.[01]* | freebsdelf3.[01]*)
- shlibpath_overrides_runpath=yes
- hardcode_into_libs=yes
- ;;
- freebsd3.[2-9]* | freebsdelf3.[2-9]* | \
- freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1)
- shlibpath_overrides_runpath=no
- hardcode_into_libs=yes
- ;;
- *) # from 4.6 on, and DragonFly
- shlibpath_overrides_runpath=yes
- hardcode_into_libs=yes
- ;;
- esac
- ;;
-
-gnu*)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- hardcode_into_libs=yes
- ;;
-
-hpux9* | hpux10* | hpux11*)
- # Give a soname corresponding to the major version so that dld.sl refuses to
- # link against other versions.
- version_type=sunos
- need_lib_prefix=no
- need_version=no
- case $host_cpu in
- ia64*)
- shrext_cmds='.so'
- hardcode_into_libs=yes
- dynamic_linker="$host_os dld.so"
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- if test "X$HPUX_IA64_MODE" = X32; then
- sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib"
- else
- sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64"
- fi
- sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
- ;;
- hppa*64*)
- shrext_cmds='.sl'
- hardcode_into_libs=yes
- dynamic_linker="$host_os dld.sl"
- shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
- shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64"
- sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
- ;;
- *)
- shrext_cmds='.sl'
- dynamic_linker="$host_os dld.sl"
- shlibpath_var=SHLIB_PATH
- shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- ;;
- esac
- # HP-UX runs *really* slowly unless shared libraries are mode 555.
- postinstall_cmds='chmod 555 $lib'
- ;;
-
-interix[3-9]*)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=no
- hardcode_into_libs=yes
- ;;
-
-irix5* | irix6* | nonstopux*)
- case $host_os in
- nonstopux*) version_type=nonstopux ;;
- *)
- if test "$lt_cv_prog_gnu_ld" = yes; then
- version_type=linux
- else
- version_type=irix
- fi ;;
- esac
- need_lib_prefix=no
- need_version=no
- soname_spec='${libname}${release}${shared_ext}$major'
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}'
- case $host_os in
- irix5* | nonstopux*)
- libsuff= shlibsuff=
- ;;
- *)
- case $LD in # libtool.m4 will add one of these switches to LD
- *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ")
- libsuff= shlibsuff= libmagic=32-bit;;
- *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ")
- libsuff=32 shlibsuff=N32 libmagic=N32;;
- *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ")
- libsuff=64 shlibsuff=64 libmagic=64-bit;;
- *) libsuff= shlibsuff= libmagic=never-match;;
- esac
- ;;
- esac
- shlibpath_var=LD_LIBRARY${shlibsuff}_PATH
- shlibpath_overrides_runpath=no
- sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}"
- sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}"
- hardcode_into_libs=yes
- ;;
-
-# No shared lib support for Linux oldld, aout, or coff.
-linux*oldld* | linux*aout* | linux*coff*)
- dynamic_linker=no
- ;;
-
-# This must be Linux ELF.
-linux* | k*bsd*-gnu)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=no
- # This implies no fast_install, which is unacceptable.
- # Some rework will be needed to allow for fast_install
- # before this can be enabled.
- hardcode_into_libs=yes
- sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}"
- sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}"
-
- # Append ld.so.conf contents to the search path
- if test -f /etc/ld.so.conf; then
- lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '`
- sys_lib_dlsearch_path_spec="$sys_lib_dlsearch_path_spec $lt_ld_extra"
- fi
-
- # We used to test for /lib/ld.so.1 and disable shared libraries on
- # powerpc, because MkLinux only supported shared libraries with the
- # GNU dynamic linker. Since this was broken with cross compilers,
- # most powerpc-linux boxes support dynamic linking these days and
- # people can always --disable-shared, the test was removed, and we
- # assume the GNU/Linux dynamic linker is in use.
- dynamic_linker='GNU/Linux ld.so'
- ;;
-
-netbsd*)
- version_type=sunos
- need_lib_prefix=no
- need_version=no
- if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
- finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
- dynamic_linker='NetBSD (a.out) ld.so'
- else
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- dynamic_linker='NetBSD ld.elf_so'
- fi
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=yes
- hardcode_into_libs=yes
- ;;
-
-newsos6)
- version_type=linux
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=yes
- ;;
-
-nto-qnx*)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=yes
- ;;
-
-openbsd*)
- version_type=sunos
- sys_lib_dlsearch_path_spec="/usr/lib"
- need_lib_prefix=no
- # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs.
- case $host_os in
- openbsd3.3 | openbsd3.3.*) need_version=yes ;;
- *) need_version=no ;;
- esac
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
- finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
- shlibpath_var=LD_LIBRARY_PATH
- if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
- case $host_os in
- openbsd2.[89] | openbsd2.[89].*)
- shlibpath_overrides_runpath=no
- ;;
- *)
- shlibpath_overrides_runpath=yes
- ;;
- esac
- else
- shlibpath_overrides_runpath=yes
- fi
- ;;
-
-os2*)
- libname_spec='$name'
- shrext_cmds=".dll"
- need_lib_prefix=no
- library_names_spec='$libname${shared_ext} $libname.a'
- dynamic_linker='OS/2 ld.exe'
- shlibpath_var=LIBPATH
- ;;
-
-osf3* | osf4* | osf5*)
- version_type=osf
- need_lib_prefix=no
- need_version=no
- soname_spec='${libname}${release}${shared_ext}$major'
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- shlibpath_var=LD_LIBRARY_PATH
- sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
- sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec"
- ;;
-
-rdos*)
- dynamic_linker=no
- ;;
-
-solaris*)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=yes
- hardcode_into_libs=yes
- # ldd complains unless libraries are executable
- postinstall_cmds='chmod +x $lib'
- ;;
-
-sunos4*)
- version_type=sunos
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
- finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=yes
- if test "$with_gnu_ld" = yes; then
- need_lib_prefix=no
- fi
- need_version=yes
- ;;
-
-sysv4 | sysv4.3*)
- version_type=linux
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- case $host_vendor in
- sni)
- shlibpath_overrides_runpath=no
- need_lib_prefix=no
- export_dynamic_flag_spec='${wl}-Blargedynsym'
- runpath_var=LD_RUN_PATH
- ;;
- siemens)
- need_lib_prefix=no
- ;;
- motorola)
- need_lib_prefix=no
- need_version=no
- shlibpath_overrides_runpath=no
- sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib'
- ;;
- esac
- ;;
-
-sysv4*MP*)
- if test -d /usr/nec ;then
- version_type=linux
- library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}'
- soname_spec='$libname${shared_ext}.$major'
- shlibpath_var=LD_LIBRARY_PATH
- fi
- ;;
-
-sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
- version_type=freebsd-elf
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- hardcode_into_libs=yes
- if test "$with_gnu_ld" = yes; then
- sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib'
- shlibpath_overrides_runpath=no
- else
- sys_lib_search_path_spec='/usr/ccs/lib /usr/lib'
- shlibpath_overrides_runpath=yes
- case $host_os in
- sco3.2v5*)
- sys_lib_search_path_spec="$sys_lib_search_path_spec /lib"
- ;;
- esac
- fi
- sys_lib_dlsearch_path_spec='/usr/lib'
- ;;
-
-uts4*)
- version_type=linux
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- ;;
-
-*)
- dynamic_linker=no
- ;;
-esac
-{ echo "$as_me:$LINENO: result: $dynamic_linker" >&5
-echo "${ECHO_T}$dynamic_linker" >&6; }
-test "$dynamic_linker" = no && can_build_shared=no
-
-variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
-if test "$GCC" = yes; then
- variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
-fi
-
-{ echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5
-echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6; }
-hardcode_action_CXX=
-if test -n "$hardcode_libdir_flag_spec_CXX" || \
- test -n "$runpath_var_CXX" || \
- test "X$hardcode_automatic_CXX" = "Xyes" ; then
-
- # We can hardcode non-existant directories.
- if test "$hardcode_direct_CXX" != no &&
- # If the only mechanism to avoid hardcoding is shlibpath_var, we
- # have to relink, otherwise we might link with an installed library
- # when we should be linking with a yet-to-be-installed one
- ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, CXX)" != no &&
- test "$hardcode_minus_L_CXX" != no; then
- # Linking always hardcodes the temporary library directory.
- hardcode_action_CXX=relink
- else
- # We can link without hardcoding, and we can hardcode nonexisting dirs.
- hardcode_action_CXX=immediate
- fi
-else
- # We cannot hardcode anything, or else we can only hardcode existing
- # directories.
- hardcode_action_CXX=unsupported
-fi
-{ echo "$as_me:$LINENO: result: $hardcode_action_CXX" >&5
-echo "${ECHO_T}$hardcode_action_CXX" >&6; }
-
-if test "$hardcode_action_CXX" = relink; then
- # Fast installation is not supported
- enable_fast_install=no
-elif test "$shlibpath_overrides_runpath" = yes ||
- test "$enable_shared" = no; then
- # Fast installation is not necessary
- enable_fast_install=needless
-fi
-
-
-# The else clause should only fire when bootstrapping the
-# libtool distribution, otherwise you forgot to ship ltmain.sh
-# with your package, and you will get complaints that there are
-# no rules to generate ltmain.sh.
-if test -f "$ltmain"; then
- # See if we are running on zsh, and set the options which allow our commands through
- # without removal of \ escapes.
- if test -n "${ZSH_VERSION+set}" ; then
- setopt NO_GLOB_SUBST
- fi
- # Now quote all the things that may contain metacharacters while being
- # careful not to overquote the AC_SUBSTed values. We take copies of the
- # variables and quote the copies for generation of the libtool script.
- for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC LTCFLAGS NM \
- SED SHELL STRIP \
- libname_spec library_names_spec soname_spec extract_expsyms_cmds \
- old_striplib striplib file_magic_cmd finish_cmds finish_eval \
- deplibs_check_method reload_flag reload_cmds need_locks \
- lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \
- lt_cv_sys_global_symbol_to_c_name_address \
- sys_lib_search_path_spec sys_lib_dlsearch_path_spec \
- old_postinstall_cmds old_postuninstall_cmds \
- compiler_CXX \
- CC_CXX \
- LD_CXX \
- lt_prog_compiler_wl_CXX \
- lt_prog_compiler_pic_CXX \
- lt_prog_compiler_static_CXX \
- lt_prog_compiler_no_builtin_flag_CXX \
- export_dynamic_flag_spec_CXX \
- thread_safe_flag_spec_CXX \
- whole_archive_flag_spec_CXX \
- enable_shared_with_static_runtimes_CXX \
- old_archive_cmds_CXX \
- old_archive_from_new_cmds_CXX \
- predep_objects_CXX \
- postdep_objects_CXX \
- predeps_CXX \
- postdeps_CXX \
- compiler_lib_search_path_CXX \
- archive_cmds_CXX \
- archive_expsym_cmds_CXX \
- postinstall_cmds_CXX \
- postuninstall_cmds_CXX \
- old_archive_from_expsyms_cmds_CXX \
- allow_undefined_flag_CXX \
- no_undefined_flag_CXX \
- export_symbols_cmds_CXX \
- hardcode_libdir_flag_spec_CXX \
- hardcode_libdir_flag_spec_ld_CXX \
- hardcode_libdir_separator_CXX \
- hardcode_automatic_CXX \
- module_cmds_CXX \
- module_expsym_cmds_CXX \
- lt_cv_prog_compiler_c_o_CXX \
- fix_srcfile_path_CXX \
- exclude_expsyms_CXX \
- include_expsyms_CXX; do
-
- case $var in
- old_archive_cmds_CXX | \
- old_archive_from_new_cmds_CXX | \
- archive_cmds_CXX | \
- archive_expsym_cmds_CXX | \
- module_cmds_CXX | \
- module_expsym_cmds_CXX | \
- old_archive_from_expsyms_cmds_CXX | \
- export_symbols_cmds_CXX | \
- extract_expsyms_cmds | reload_cmds | finish_cmds | \
- postinstall_cmds | postuninstall_cmds | \
- old_postinstall_cmds | old_postuninstall_cmds | \
- sys_lib_search_path_spec | sys_lib_dlsearch_path_spec)
- # Double-quote double-evaled strings.
- eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\""
- ;;
- *)
- eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\""
- ;;
- esac
- done
-
- case $lt_echo in
- *'\$0 --fallback-echo"')
- lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\$0 --fallback-echo"$/$0 --fallback-echo"/'`
- ;;
- esac
-
-cfgfile="$ofile"
-
- cat <<__EOF__ >> "$cfgfile"
-# ### BEGIN LIBTOOL TAG CONFIG: $tagname
-
-# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
-
-# Shell to use when invoking shell scripts.
-SHELL=$lt_SHELL
-
-# Whether or not to build shared libraries.
-build_libtool_libs=$enable_shared
-# Whether or not to build static libraries.
-build_old_libs=$enable_static
-# Whether or not to add -lc for building shared libraries.
-build_libtool_need_lc=$archive_cmds_need_lc_CXX
-# Whether or not to disallow shared libs when runtime libs are static
-allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_CXX
-# Whether or not to optimize for fast installation.
-fast_install=$enable_fast_install
-# The host system.
-host_alias=$host_alias
-host=$host
-host_os=$host_os
-# The build system.
-build_alias=$build_alias
-build=$build
-build_os=$build_os
-# An echo program that does not interpret backslashes.
-echo=$lt_echo
-# The archiver.
-AR=$lt_AR
-AR_FLAGS=$lt_AR_FLAGS
-# A C compiler.
-LTCC=$lt_LTCC
-# LTCC compiler flags.
-LTCFLAGS=$lt_LTCFLAGS
-# A language-specific compiler.
-CC=$lt_compiler_CXX
-# Is the compiler the GNU C compiler?
-with_gcc=$GCC_CXX
-# An ERE matcher.
-EGREP=$lt_EGREP
-# The linker used to build libraries.
-LD=$lt_LD_CXX
-# Whether we need hard or soft links.
-LN_S=$lt_LN_S
-# A BSD-compatible nm program.
-NM=$lt_NM
-# A symbol stripping program
-STRIP=$lt_STRIP
-# Used to examine libraries when file_magic_cmd begins "file"
-MAGIC_CMD=$MAGIC_CMD
-# Used on cygwin: DLL creation program.
-DLLTOOL="$DLLTOOL"
-# Used on cygwin: object dumper.
-OBJDUMP="$OBJDUMP"
-# Used on cygwin: assembler.
-AS="$AS"
-# The name of the directory that contains temporary libtool files.
-objdir=$objdir
-# How to create reloadable object files.
-reload_flag=$lt_reload_flag
-reload_cmds=$lt_reload_cmds
-# How to pass a linker flag through the compiler.
-wl=$lt_lt_prog_compiler_wl_CXX
-# Object file suffix (normally "o").
-objext="$ac_objext"
-# Old archive suffix (normally "a").
-libext="$libext"
-# Shared library suffix (normally ".so").
-shrext_cmds='$shrext_cmds'
-# Executable file suffix (normally "").
-exeext="$exeext"
-# Additional compiler flags for building library objects.
-pic_flag=$lt_lt_prog_compiler_pic_CXX
-pic_mode=$pic_mode
-# What is the maximum length of a command?
-max_cmd_len=$lt_cv_sys_max_cmd_len
-# Does compiler simultaneously support -c and -o options?
-compiler_c_o=$lt_lt_cv_prog_compiler_c_o_CXX
-# Must we lock files when doing compilation?
-need_locks=$lt_need_locks
-# Do we need the lib prefix for modules?
-need_lib_prefix=$need_lib_prefix
-# Do we need a version for libraries?
-need_version=$need_version
-# Whether dlopen is supported.
-dlopen_support=$enable_dlopen
-# Whether dlopen of programs is supported.
-dlopen_self=$enable_dlopen_self
-# Whether dlopen of statically linked programs is supported.
-dlopen_self_static=$enable_dlopen_self_static
-# Compiler flag to prevent dynamic linking.
-link_static_flag=$lt_lt_prog_compiler_static_CXX
-# Compiler flag to turn off builtin functions.
-no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_CXX
-# Compiler flag to allow reflexive dlopens.
-export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_CXX
-# Compiler flag to generate shared objects directly from archives.
-whole_archive_flag_spec=$lt_whole_archive_flag_spec_CXX
-# Compiler flag to generate thread-safe objects.
-thread_safe_flag_spec=$lt_thread_safe_flag_spec_CXX
-# Library versioning type.
-version_type=$version_type
-# Format of library name prefix.
-libname_spec=$lt_libname_spec
-# List of archive names. First name is the real one, the rest are links.
-# The last name is the one that the linker finds with -lNAME.
-library_names_spec=$lt_library_names_spec
-# The coded name of the library, if different from the real name.
-soname_spec=$lt_soname_spec
-# Commands used to build and install an old-style archive.
-RANLIB=$lt_RANLIB
-old_archive_cmds=$lt_old_archive_cmds_CXX
-old_postinstall_cmds=$lt_old_postinstall_cmds
-old_postuninstall_cmds=$lt_old_postuninstall_cmds
-# Create an old-style archive from a shared archive.
-old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_CXX
-# Create a temporary old-style archive to link instead of a shared archive.
-old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_CXX
-# Commands used to build and install a shared archive.
-archive_cmds=$lt_archive_cmds_CXX
-archive_expsym_cmds=$lt_archive_expsym_cmds_CXX
-postinstall_cmds=$lt_postinstall_cmds
-postuninstall_cmds=$lt_postuninstall_cmds
-# Commands used to build a loadable module (assumed same as above if empty)
-module_cmds=$lt_module_cmds_CXX
-module_expsym_cmds=$lt_module_expsym_cmds_CXX
-# Commands to strip libraries.
-old_striplib=$lt_old_striplib
-striplib=$lt_striplib
-# Dependencies to place before the objects being linked to create a
-# shared library.
-predep_objects=$lt_predep_objects_CXX
-# Dependencies to place after the objects being linked to create a
-# shared library.
-postdep_objects=$lt_postdep_objects_CXX
-# Dependencies to place before the objects being linked to create a
-# shared library.
-predeps=$lt_predeps_CXX
-# Dependencies to place after the objects being linked to create a
-# shared library.
-postdeps=$lt_postdeps_CXX
-# The library search path used internally by the compiler when linking
-# a shared library.
-compiler_lib_search_path=$lt_compiler_lib_search_path_CXX
-# Method to check whether dependent libraries are shared objects.
-deplibs_check_method=$lt_deplibs_check_method
-# Command to use when deplibs_check_method == file_magic.
-file_magic_cmd=$lt_file_magic_cmd
-# Flag that allows shared libraries with undefined symbols to be built.
-allow_undefined_flag=$lt_allow_undefined_flag_CXX
-# Flag that forces no undefined symbols.
-no_undefined_flag=$lt_no_undefined_flag_CXX
-# Commands used to finish a libtool library installation in a directory.
-finish_cmds=$lt_finish_cmds
-# Same as above, but a single script fragment to be evaled but not shown.
-finish_eval=$lt_finish_eval
-
-# Take the output of nm and produce a listing of raw symbols and C names.
-global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe
-
-# Transform the output of nm in a proper C declaration
-global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl
-
-# Transform the output of nm in a C name address pair
-global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address
-
-# This is the shared library runtime path variable.
-runpath_var=$runpath_var
-
-# This is the shared library path variable.
-shlibpath_var=$shlibpath_var
-
-# Is shlibpath searched before the hard-coded library search path?
-shlibpath_overrides_runpath=$shlibpath_overrides_runpath
-
-# How to hardcode a shared library path into an executable.
-hardcode_action=$hardcode_action_CXX
-
-# Whether we should hardcode library paths into libraries.
-hardcode_into_libs=$hardcode_into_libs
-
-# Flag to hardcode \$libdir into a binary during linking.
-# This must work even if \$libdir does not exist.
-hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_CXX
-
-# If ld is used when linking, flag to hardcode \$libdir into
-# a binary during linking. This must work even if \$libdir does
-# not exist.
-hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld_CXX
-
-# Whether we need a single -rpath flag with a separated argument.
-hardcode_libdir_separator=$lt_hardcode_libdir_separator_CXX
-
-# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the
-# resulting binary.
-hardcode_direct=$hardcode_direct_CXX
-
-# Set to yes if using the -LDIR flag during linking hardcodes DIR into the
-# resulting binary.
-hardcode_minus_L=$hardcode_minus_L_CXX
-
-# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into
-# the resulting binary.
-hardcode_shlibpath_var=$hardcode_shlibpath_var_CXX
-
-# Set to yes if building a shared library automatically hardcodes DIR into the library
-# and all subsequent libraries and executables linked against it.
-hardcode_automatic=$hardcode_automatic_CXX
+ { $as_echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5
+$as_echo_n "checking dynamic linker characteristics... " >&6; }
-# Variables whose values should be saved in libtool wrapper scripts and
-# restored at relink time.
-variables_saved_for_relink="$variables_saved_for_relink"
-
-# Whether libtool must link a program against all its dependency libraries.
-link_all_deplibs=$link_all_deplibs_CXX
-
-# Compile-time system search path for libraries
-sys_lib_search_path_spec=$lt_sys_lib_search_path_spec
-
-# Run-time system search path for libraries
-sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec
-
-# Fix the shell variable \$srcfile for the compiler.
-fix_srcfile_path=$lt_fix_srcfile_path
-
-# Set to yes if exported symbols are required.
-always_export_symbols=$always_export_symbols_CXX
-
-# The commands to list exported symbols.
-export_symbols_cmds=$lt_export_symbols_cmds_CXX
-
-# The commands to extract the exported symbol list from a shared archive.
-extract_expsyms_cmds=$lt_extract_expsyms_cmds
-
-# Symbols that should not be listed in the preloaded symbols.
-exclude_expsyms=$lt_exclude_expsyms_CXX
-
-# Symbols that must always be exported.
-include_expsyms=$lt_include_expsyms_CXX
-
-# ### END LIBTOOL TAG CONFIG: $tagname
-
-__EOF__
-
-
-else
- # If there is no Makefile yet, we rely on a make rule to execute
- # `config.status --recheck' to rerun these tests and create the
- # libtool script then.
- ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'`
- if test -f "$ltmain_in"; then
- test -f Makefile && make "$ltmain"
- fi
-fi
-
-
-ac_ext=cpp
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
-CC=$lt_save_CC
-LDCXX=$LD
-LD=$lt_save_LD
-GCC=$lt_save_GCC
-with_gnu_ldcxx=$with_gnu_ld
-with_gnu_ld=$lt_save_with_gnu_ld
-lt_cv_path_LDCXX=$lt_cv_path_LD
-lt_cv_path_LD=$lt_save_path_LD
-lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld
-lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld
-
- else
- tagname=""
- fi
- ;;
-
- F77)
- if test -n "$F77" && test "X$F77" != "Xno"; then
-
-ac_ext=f
-ac_compile='$F77 -c $FFLAGS conftest.$ac_ext >&5'
-ac_link='$F77 -o conftest$ac_exeext $FFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_f77_compiler_gnu
-
-
-archive_cmds_need_lc_F77=no
-allow_undefined_flag_F77=
-always_export_symbols_F77=no
-archive_expsym_cmds_F77=
-export_dynamic_flag_spec_F77=
-hardcode_direct_F77=no
-hardcode_libdir_flag_spec_F77=
-hardcode_libdir_flag_spec_ld_F77=
-hardcode_libdir_separator_F77=
-hardcode_minus_L_F77=no
-hardcode_automatic_F77=no
-module_cmds_F77=
-module_expsym_cmds_F77=
-link_all_deplibs_F77=unknown
-old_archive_cmds_F77=$old_archive_cmds
-no_undefined_flag_F77=
-whole_archive_flag_spec_F77=
-enable_shared_with_static_runtimes_F77=no
-
-# Source file extension for f77 test sources.
-ac_ext=f
-
-# Object file extension for compiled f77 test sources.
-objext=o
-objext_F77=$objext
-
-# Code to be used in simple compile tests
-lt_simple_compile_test_code="\
- subroutine t
- return
- end
-"
-
-# Code to be used in simple link tests
-lt_simple_link_test_code="\
- program t
- end
-"
-
-# ltmain only uses $CC for tagged configurations so make sure $CC is set.
-
-# If no C compiler was specified, use CC.
-LTCC=${LTCC-"$CC"}
-
-# If no C compiler flags were specified, use CFLAGS.
-LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
-
-# Allow CC to be a program name with arguments.
-compiler=$CC
-
-
-# save warnings/boilerplate of simple test code
-ac_outfile=conftest.$ac_objext
-echo "$lt_simple_compile_test_code" >conftest.$ac_ext
-eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
-_lt_compiler_boilerplate=`cat conftest.err`
-$rm conftest*
-
-ac_outfile=conftest.$ac_objext
-echo "$lt_simple_link_test_code" >conftest.$ac_ext
-eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
-_lt_linker_boilerplate=`cat conftest.err`
-$rm conftest*
-
-
-# Allow CC to be a program name with arguments.
-lt_save_CC="$CC"
-CC=${F77-"f77"}
-compiler=$CC
-compiler_F77=$CC
-for cc_temp in $compiler""; do
- case $cc_temp in
- compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
- distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
- \-*) ;;
- *) break;;
- esac
-done
-cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
-
-
-{ echo "$as_me:$LINENO: checking if libtool supports shared libraries" >&5
-echo $ECHO_N "checking if libtool supports shared libraries... $ECHO_C" >&6; }
-{ echo "$as_me:$LINENO: result: $can_build_shared" >&5
-echo "${ECHO_T}$can_build_shared" >&6; }
-
-{ echo "$as_me:$LINENO: checking whether to build shared libraries" >&5
-echo $ECHO_N "checking whether to build shared libraries... $ECHO_C" >&6; }
-test "$can_build_shared" = "no" && enable_shared=no
-
-# On AIX, shared libraries and static libraries use the same namespace, and
-# are all built from PIC.
-case $host_os in
-aix3*)
- test "$enable_shared" = yes && enable_static=no
- if test -n "$RANLIB"; then
- archive_cmds="$archive_cmds~\$RANLIB \$lib"
- postinstall_cmds='$RANLIB $lib'
- fi
- ;;
-aix4* | aix5*)
- if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
- test "$enable_shared" = yes && enable_static=no
- fi
- ;;
-esac
-{ echo "$as_me:$LINENO: result: $enable_shared" >&5
-echo "${ECHO_T}$enable_shared" >&6; }
-
-{ echo "$as_me:$LINENO: checking whether to build static libraries" >&5
-echo $ECHO_N "checking whether to build static libraries... $ECHO_C" >&6; }
-# Make sure either enable_shared or enable_static is yes.
-test "$enable_shared" = yes || enable_static=yes
-{ echo "$as_me:$LINENO: result: $enable_static" >&5
-echo "${ECHO_T}$enable_static" >&6; }
-
-GCC_F77="$G77"
-LD_F77="$LD"
-
-lt_prog_compiler_wl_F77=
-lt_prog_compiler_pic_F77=
-lt_prog_compiler_static_F77=
-
-{ echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5
-echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; }
-
- if test "$GCC" = yes; then
- lt_prog_compiler_wl_F77='-Wl,'
- lt_prog_compiler_static_F77='-static'
-
- case $host_os in
- aix*)
- # All AIX code is PIC.
- if test "$host_cpu" = ia64; then
- # AIX 5 now supports IA64 processor
- lt_prog_compiler_static_F77='-Bstatic'
- fi
- ;;
-
- amigaos*)
- # FIXME: we need at least 68020 code to build shared libraries, but
- # adding the `-m68020' flag to GCC prevents building anything better,
- # like `-m68040'.
- lt_prog_compiler_pic_F77='-m68020 -resident32 -malways-restore-a4'
- ;;
-
- beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
- # PIC is the default for these OSes.
- ;;
-
- mingw* | cygwin* | pw32* | os2*)
- # This hack is so that the source file can tell whether it is being
- # built for inclusion in a dll (and should export symbols for example).
- # Although the cygwin gcc ignores -fPIC, still need this for old-style
- # (--disable-auto-import) libraries
- lt_prog_compiler_pic_F77='-DDLL_EXPORT'
- ;;
-
- darwin* | rhapsody*)
- # PIC is the default on this platform
- # Common symbols not allowed in MH_DYLIB files
- lt_prog_compiler_pic_F77='-fno-common'
- ;;
-
- interix[3-9]*)
- # Interix 3.x gcc -fpic/-fPIC options generate broken code.
- # Instead, we relocate shared libraries at runtime.
- ;;
-
- msdosdjgpp*)
- # Just because we use GCC doesn't mean we suddenly get shared libraries
- # on systems that don't support them.
- lt_prog_compiler_can_build_shared_F77=no
- enable_shared=no
- ;;
-
- sysv4*MP*)
- if test -d /usr/nec; then
- lt_prog_compiler_pic_F77=-Kconform_pic
- fi
- ;;
-
- hpux*)
- # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
- # not for PA HP-UX.
- case $host_cpu in
- hppa*64*|ia64*)
- # +Z the default
- ;;
- *)
- lt_prog_compiler_pic_F77='-fPIC'
- ;;
- esac
- ;;
-
- *)
- lt_prog_compiler_pic_F77='-fPIC'
- ;;
- esac
- else
- # PORTME Check for flag to pass linker flags through the system compiler.
- case $host_os in
- aix*)
- lt_prog_compiler_wl_F77='-Wl,'
- if test "$host_cpu" = ia64; then
- # AIX 5 now supports IA64 processor
- lt_prog_compiler_static_F77='-Bstatic'
- else
- lt_prog_compiler_static_F77='-bnso -bI:/lib/syscalls.exp'
- fi
- ;;
- darwin*)
- # PIC is the default on this platform
- # Common symbols not allowed in MH_DYLIB files
- case $cc_basename in
- xlc*)
- lt_prog_compiler_pic_F77='-qnocommon'
- lt_prog_compiler_wl_F77='-Wl,'
- ;;
- esac
- ;;
-
- mingw* | cygwin* | pw32* | os2*)
- # This hack is so that the source file can tell whether it is being
- # built for inclusion in a dll (and should export symbols for example).
- lt_prog_compiler_pic_F77='-DDLL_EXPORT'
- ;;
-
- hpux9* | hpux10* | hpux11*)
- lt_prog_compiler_wl_F77='-Wl,'
- # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
- # not for PA HP-UX.
- case $host_cpu in
- hppa*64*|ia64*)
- # +Z the default
- ;;
- *)
- lt_prog_compiler_pic_F77='+Z'
- ;;
- esac
- # Is there a better lt_prog_compiler_static that works with the bundled CC?
- lt_prog_compiler_static_F77='${wl}-a ${wl}archive'
- ;;
-
- irix5* | irix6* | nonstopux*)
- lt_prog_compiler_wl_F77='-Wl,'
- # PIC (with -KPIC) is the default.
- lt_prog_compiler_static_F77='-non_shared'
- ;;
-
- newsos6)
- lt_prog_compiler_pic_F77='-KPIC'
- lt_prog_compiler_static_F77='-Bstatic'
- ;;
-
- linux* | k*bsd*-gnu)
- case $cc_basename in
- icc* | ecc*)
- lt_prog_compiler_wl_F77='-Wl,'
- lt_prog_compiler_pic_F77='-KPIC'
- lt_prog_compiler_static_F77='-static'
- ;;
- pgcc* | pgf77* | pgf90* | pgf95*)
- # Portland Group compilers (*not* the Pentium gcc compiler,
- # which looks to be a dead project)
- lt_prog_compiler_wl_F77='-Wl,'
- lt_prog_compiler_pic_F77='-fpic'
- lt_prog_compiler_static_F77='-Bstatic'
- ;;
- ccc*)
- lt_prog_compiler_wl_F77='-Wl,'
- # All Alpha code is PIC.
- lt_prog_compiler_static_F77='-non_shared'
- ;;
- *)
- case `$CC -V 2>&1 | sed 5q` in
- *Sun\ C*)
- # Sun C 5.9
- lt_prog_compiler_pic_F77='-KPIC'
- lt_prog_compiler_static_F77='-Bstatic'
- lt_prog_compiler_wl_F77='-Wl,'
- ;;
- *Sun\ F*)
- # Sun Fortran 8.3 passes all unrecognized flags to the linker
- lt_prog_compiler_pic_F77='-KPIC'
- lt_prog_compiler_static_F77='-Bstatic'
- lt_prog_compiler_wl_F77=''
- ;;
- esac
- ;;
- esac
- ;;
-
- osf3* | osf4* | osf5*)
- lt_prog_compiler_wl_F77='-Wl,'
- # All OSF/1 code is PIC.
- lt_prog_compiler_static_F77='-non_shared'
- ;;
-
- rdos*)
- lt_prog_compiler_static_F77='-non_shared'
- ;;
-
- solaris*)
- lt_prog_compiler_pic_F77='-KPIC'
- lt_prog_compiler_static_F77='-Bstatic'
- case $cc_basename in
- f77* | f90* | f95*)
- lt_prog_compiler_wl_F77='-Qoption ld ';;
- *)
- lt_prog_compiler_wl_F77='-Wl,';;
- esac
- ;;
-
- sunos4*)
- lt_prog_compiler_wl_F77='-Qoption ld '
- lt_prog_compiler_pic_F77='-PIC'
- lt_prog_compiler_static_F77='-Bstatic'
- ;;
-
- sysv4 | sysv4.2uw2* | sysv4.3*)
- lt_prog_compiler_wl_F77='-Wl,'
- lt_prog_compiler_pic_F77='-KPIC'
- lt_prog_compiler_static_F77='-Bstatic'
- ;;
-
- sysv4*MP*)
- if test -d /usr/nec ;then
- lt_prog_compiler_pic_F77='-Kconform_pic'
- lt_prog_compiler_static_F77='-Bstatic'
- fi
- ;;
-
- sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
- lt_prog_compiler_wl_F77='-Wl,'
- lt_prog_compiler_pic_F77='-KPIC'
- lt_prog_compiler_static_F77='-Bstatic'
- ;;
-
- unicos*)
- lt_prog_compiler_wl_F77='-Wl,'
- lt_prog_compiler_can_build_shared_F77=no
- ;;
-
- uts4*)
- lt_prog_compiler_pic_F77='-pic'
- lt_prog_compiler_static_F77='-Bstatic'
- ;;
-
- *)
- lt_prog_compiler_can_build_shared_F77=no
- ;;
- esac
- fi
-
-{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_F77" >&5
-echo "${ECHO_T}$lt_prog_compiler_pic_F77" >&6; }
-
-#
-# Check to make sure the PIC flag actually works.
-#
-if test -n "$lt_prog_compiler_pic_F77"; then
-
-{ echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic_F77 works" >&5
-echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic_F77 works... $ECHO_C" >&6; }
-if test "${lt_prog_compiler_pic_works_F77+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- lt_prog_compiler_pic_works_F77=no
- ac_outfile=conftest.$ac_objext
- echo "$lt_simple_compile_test_code" > conftest.$ac_ext
- lt_compiler_flag="$lt_prog_compiler_pic_F77"
- # Insert the option either (1) after the last *FLAGS variable, or
- # (2) before a word containing "conftest.", or (3) at the end.
- # Note that $ac_compile itself does not contain backslashes and begins
- # with a dollar sign (not a hyphen), so the echo should work correctly.
- # The option is referenced via a variable to avoid confusing sed.
- lt_compile=`echo "$ac_compile" | $SED \
- -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
- -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
- -e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:14128: $lt_compile\"" >&5)
- (eval "$lt_compile" 2>conftest.err)
- ac_status=$?
- cat conftest.err >&5
- echo "$as_me:14132: \$? = $ac_status" >&5
- if (exit $ac_status) && test -s "$ac_outfile"; then
- # The compiler can only warn and ignore the option if not recognized
- # So say no if there are warnings other than the usual output.
- $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp
- $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
- if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
- lt_prog_compiler_pic_works_F77=yes
- fi
- fi
- $rm conftest*
-
-fi
-{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_works_F77" >&5
-echo "${ECHO_T}$lt_prog_compiler_pic_works_F77" >&6; }
-
-if test x"$lt_prog_compiler_pic_works_F77" = xyes; then
- case $lt_prog_compiler_pic_F77 in
- "" | " "*) ;;
- *) lt_prog_compiler_pic_F77=" $lt_prog_compiler_pic_F77" ;;
- esac
-else
- lt_prog_compiler_pic_F77=
- lt_prog_compiler_can_build_shared_F77=no
-fi
-
-fi
-case $host_os in
- # For platforms which do not support PIC, -DPIC is meaningless:
- *djgpp*)
- lt_prog_compiler_pic_F77=
- ;;
- *)
- lt_prog_compiler_pic_F77="$lt_prog_compiler_pic_F77"
- ;;
-esac
-
-#
-# Check to make sure the static flag actually works.
-#
-wl=$lt_prog_compiler_wl_F77 eval lt_tmp_static_flag=\"$lt_prog_compiler_static_F77\"
-{ echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5
-echo $ECHO_N "checking if $compiler static flag $lt_tmp_static_flag works... $ECHO_C" >&6; }
-if test "${lt_prog_compiler_static_works_F77+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- lt_prog_compiler_static_works_F77=no
- save_LDFLAGS="$LDFLAGS"
- LDFLAGS="$LDFLAGS $lt_tmp_static_flag"
- echo "$lt_simple_link_test_code" > conftest.$ac_ext
- if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
- # The linker can only warn and ignore the option if not recognized
- # So say no if there are warnings
- if test -s conftest.err; then
- # Append any errors to the config.log.
- cat conftest.err 1>&5
- $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp
- $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
- if diff conftest.exp conftest.er2 >/dev/null; then
- lt_prog_compiler_static_works_F77=yes
- fi
- else
- lt_prog_compiler_static_works_F77=yes
- fi
- fi
- $rm conftest*
- LDFLAGS="$save_LDFLAGS"
-
-fi
-{ echo "$as_me:$LINENO: result: $lt_prog_compiler_static_works_F77" >&5
-echo "${ECHO_T}$lt_prog_compiler_static_works_F77" >&6; }
-
-if test x"$lt_prog_compiler_static_works_F77" = xyes; then
- :
-else
- lt_prog_compiler_static_F77=
-fi
-
-
-{ echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5
-echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6; }
-if test "${lt_cv_prog_compiler_c_o_F77+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- lt_cv_prog_compiler_c_o_F77=no
- $rm -r conftest 2>/dev/null
- mkdir conftest
- cd conftest
- mkdir out
- echo "$lt_simple_compile_test_code" > conftest.$ac_ext
-
- lt_compiler_flag="-o out/conftest2.$ac_objext"
- # Insert the option either (1) after the last *FLAGS variable, or
- # (2) before a word containing "conftest.", or (3) at the end.
- # Note that $ac_compile itself does not contain backslashes and begins
- # with a dollar sign (not a hyphen), so the echo should work correctly.
- lt_compile=`echo "$ac_compile" | $SED \
- -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
- -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
- -e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:14232: $lt_compile\"" >&5)
- (eval "$lt_compile" 2>out/conftest.err)
- ac_status=$?
- cat out/conftest.err >&5
- echo "$as_me:14236: \$? = $ac_status" >&5
- if (exit $ac_status) && test -s out/conftest2.$ac_objext
- then
- # The compiler can only warn and ignore the option if not recognized
- # So say no if there are warnings
- $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp
- $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
- if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
- lt_cv_prog_compiler_c_o_F77=yes
- fi
- fi
- chmod u+w . 2>&5
- $rm conftest*
- # SGI C++ compiler will create directory out/ii_files/ for
- # template instantiation
- test -d out/ii_files && $rm out/ii_files/* && rmdir out/ii_files
- $rm out/* && rmdir out
- cd ..
- rmdir conftest
- $rm conftest*
-
-fi
-{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o_F77" >&5
-echo "${ECHO_T}$lt_cv_prog_compiler_c_o_F77" >&6; }
-
-
-hard_links="nottested"
-if test "$lt_cv_prog_compiler_c_o_F77" = no && test "$need_locks" != no; then
- # do not overwrite the value of need_locks provided by the user
- { echo "$as_me:$LINENO: checking if we can lock with hard links" >&5
-echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6; }
- hard_links=yes
- $rm conftest*
- ln conftest.a conftest.b 2>/dev/null && hard_links=no
- touch conftest.a
- ln conftest.a conftest.b 2>&5 || hard_links=no
- ln conftest.a conftest.b 2>/dev/null && hard_links=no
- { echo "$as_me:$LINENO: result: $hard_links" >&5
-echo "${ECHO_T}$hard_links" >&6; }
- if test "$hard_links" = no; then
- { echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5
-echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;}
- need_locks=warn
- fi
-else
- need_locks=no
-fi
-
-{ echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5
-echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6; }
-
- runpath_var=
- allow_undefined_flag_F77=
- enable_shared_with_static_runtimes_F77=no
- archive_cmds_F77=
- archive_expsym_cmds_F77=
- old_archive_From_new_cmds_F77=
- old_archive_from_expsyms_cmds_F77=
- export_dynamic_flag_spec_F77=
- whole_archive_flag_spec_F77=
- thread_safe_flag_spec_F77=
- hardcode_libdir_flag_spec_F77=
- hardcode_libdir_flag_spec_ld_F77=
- hardcode_libdir_separator_F77=
- hardcode_direct_F77=no
- hardcode_minus_L_F77=no
- hardcode_shlibpath_var_F77=unsupported
- link_all_deplibs_F77=unknown
- hardcode_automatic_F77=no
- module_cmds_F77=
- module_expsym_cmds_F77=
- always_export_symbols_F77=no
- export_symbols_cmds_F77='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
- # include_expsyms should be a list of space-separated symbols to be *always*
- # included in the symbol list
- include_expsyms_F77=
- # exclude_expsyms can be an extended regexp of symbols to exclude
- # it will be wrapped by ` (' and `)$', so one must not match beginning or
- # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc',
- # as well as any symbol that contains `d'.
- exclude_expsyms_F77="_GLOBAL_OFFSET_TABLE_"
- # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out
- # platforms (ab)use it in PIC code, but their linkers get confused if
- # the symbol is explicitly referenced. Since portable code cannot
- # rely on this symbol name, it's probably fine to never include it in
- # preloaded symbol tables.
- extract_expsyms_cmds=
- # Just being paranoid about ensuring that cc_basename is set.
- for cc_temp in $compiler""; do
- case $cc_temp in
- compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
- distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
- \-*) ;;
- *) break;;
- esac
-done
-cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
-
- case $host_os in
- cygwin* | mingw* | pw32*)
- # FIXME: the MSVC++ port hasn't been tested in a loooong time
- # When not using gcc, we currently assume that we are using
- # Microsoft Visual C++.
- if test "$GCC" != yes; then
- with_gnu_ld=no
- fi
- ;;
- interix*)
- # we just hope/assume this is gcc and not c89 (= MSVC++)
- with_gnu_ld=yes
- ;;
- openbsd*)
- with_gnu_ld=no
- ;;
- esac
-
- ld_shlibs_F77=yes
- if test "$with_gnu_ld" = yes; then
- # If archive_cmds runs LD, not CC, wlarc should be empty
- wlarc='${wl}'
-
- # Set some defaults for GNU ld with shared library support. These
- # are reset later if shared libraries are not supported. Putting them
- # here allows them to be overridden if necessary.
- runpath_var=LD_RUN_PATH
- hardcode_libdir_flag_spec_F77='${wl}--rpath ${wl}$libdir'
- export_dynamic_flag_spec_F77='${wl}--export-dynamic'
- # ancient GNU ld didn't support --whole-archive et. al.
- if $LD --help 2>&1 | grep 'no-whole-archive' > /dev/null; then
- whole_archive_flag_spec_F77="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
- else
- whole_archive_flag_spec_F77=
- fi
- supports_anon_versioning=no
- case `$LD -v 2>/dev/null` in
- *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11
- *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ...
- *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ...
- *\ 2.11.*) ;; # other 2.11 versions
- *) supports_anon_versioning=yes ;;
- esac
-
- # See if GNU ld supports shared libraries.
- case $host_os in
- aix3* | aix4* | aix5*)
- # On AIX/PPC, the GNU linker is very broken
- if test "$host_cpu" != ia64; then
- ld_shlibs_F77=no
- cat <<EOF 1>&2
-
-*** Warning: the GNU linker, at least up to release 2.9.1, is reported
-*** to be unable to reliably create shared libraries on AIX.
-*** Therefore, libtool is disabling shared libraries support. If you
-*** really care for shared libraries, you may want to modify your PATH
-*** so that a non-GNU linker is found, and then restart.
-
-EOF
- fi
- ;;
-
- amigaos*)
- archive_cmds_F77='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
- hardcode_libdir_flag_spec_F77='-L$libdir'
- hardcode_minus_L_F77=yes
-
- # Samuel A. Falvo II <kc5tja@dolphin.openprojects.net> reports
- # that the semantics of dynamic libraries on AmigaOS, at least up
- # to version 4, is to share data among multiple programs linked
- # with the same dynamic library. Since this doesn't match the
- # behavior of shared libraries on other platforms, we can't use
- # them.
- ld_shlibs_F77=no
- ;;
-
- beos*)
- if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
- allow_undefined_flag_F77=unsupported
- # Joseph Beckenbach <jrb3@best.com> says some releases of gcc
- # support --undefined. This deserves some investigation. FIXME
- archive_cmds_F77='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- else
- ld_shlibs_F77=no
- fi
- ;;
-
- cygwin* | mingw* | pw32*)
- # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, F77) is actually meaningless,
- # as there is no search path for DLLs.
- hardcode_libdir_flag_spec_F77='-L$libdir'
- allow_undefined_flag_F77=unsupported
- always_export_symbols_F77=no
- enable_shared_with_static_runtimes_F77=yes
- export_symbols_cmds_F77='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/'\'' -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols'
-
- if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then
- archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
- # If the export-symbols file already is a .def file (1st line
- # is EXPORTS), use it as is; otherwise, prepend...
- archive_expsym_cmds_F77='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
- cp $export_symbols $output_objdir/$soname.def;
- else
- echo EXPORTS > $output_objdir/$soname.def;
- cat $export_symbols >> $output_objdir/$soname.def;
- fi~
- $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
- else
- ld_shlibs_F77=no
- fi
- ;;
-
- interix[3-9]*)
- hardcode_direct_F77=no
- hardcode_shlibpath_var_F77=no
- hardcode_libdir_flag_spec_F77='${wl}-rpath,$libdir'
- export_dynamic_flag_spec_F77='${wl}-E'
- # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
- # Instead, shared libraries are loaded at an image base (0x10000000 by
- # default) and relocated if they conflict, which is a slow very memory
- # consuming and fragmenting process. To avoid this, we pick a random,
- # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
- # time. Moving up from 0x10000000 also allows more sbrk(2) space.
- archive_cmds_F77='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
- archive_expsym_cmds_F77='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
- ;;
-
- gnu* | linux* | k*bsd*-gnu)
- if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
- tmp_addflag=
- case $cc_basename,$host_cpu in
- pgcc*) # Portland Group C compiler
- whole_archive_flag_spec_F77='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
- tmp_addflag=' $pic_flag'
- ;;
- pgf77* | pgf90* | pgf95*) # Portland Group f77 and f90 compilers
- whole_archive_flag_spec_F77='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
- tmp_addflag=' $pic_flag -Mnomain' ;;
- ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64
- tmp_addflag=' -i_dynamic' ;;
- efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64
- tmp_addflag=' -i_dynamic -nofor_main' ;;
- ifc* | ifort*) # Intel Fortran compiler
- tmp_addflag=' -nofor_main' ;;
- esac
- case `$CC -V 2>&1 | sed 5q` in
- *Sun\ C*) # Sun C 5.9
- whole_archive_flag_spec_F77='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
- tmp_sharedflag='-G' ;;
- *Sun\ F*) # Sun Fortran 8.3
- tmp_sharedflag='-G' ;;
- *)
- tmp_sharedflag='-shared' ;;
- esac
- archive_cmds_F77='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-
- if test $supports_anon_versioning = yes; then
- archive_expsym_cmds_F77='$echo "{ global:" > $output_objdir/$libname.ver~
- cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
- $echo "local: *; };" >> $output_objdir/$libname.ver~
- $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
- fi
- else
- ld_shlibs_F77=no
- fi
- ;;
-
- netbsd*)
- if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
- archive_cmds_F77='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
- wlarc=
- else
- archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- archive_expsym_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
- fi
- ;;
-
- solaris*)
- if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then
- ld_shlibs_F77=no
- cat <<EOF 1>&2
-
-*** Warning: The releases 2.8.* of the GNU linker cannot reliably
-*** create shared libraries on Solaris systems. Therefore, libtool
-*** is disabling shared libraries support. We urge you to upgrade GNU
-*** binutils to release 2.9.1 or newer. Another option is to modify
-*** your PATH or compiler configuration so that the native linker is
-*** used, and then restart.
-
-EOF
- elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
- archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- archive_expsym_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
- else
- ld_shlibs_F77=no
- fi
- ;;
-
- sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*)
- case `$LD -v 2>&1` in
- *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*)
- ld_shlibs_F77=no
- cat <<_LT_EOF 1>&2
-
-*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not
-*** reliably create shared libraries on SCO systems. Therefore, libtool
-*** is disabling shared libraries support. We urge you to upgrade GNU
-*** binutils to release 2.16.91.0.3 or newer. Another option is to modify
-*** your PATH or compiler configuration so that the native linker is
-*** used, and then restart.
-
-_LT_EOF
- ;;
- *)
- if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
- hardcode_libdir_flag_spec_F77='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`'
- archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib'
- archive_expsym_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname,-retain-symbols-file,$export_symbols -o $lib'
- else
- ld_shlibs_F77=no
- fi
- ;;
- esac
- ;;
-
- sunos4*)
- archive_cmds_F77='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags'
- wlarc=
- hardcode_direct_F77=yes
- hardcode_shlibpath_var_F77=no
- ;;
-
- *)
- if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
- archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- archive_expsym_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
- else
- ld_shlibs_F77=no
- fi
- ;;
- esac
-
- if test "$ld_shlibs_F77" = no; then
- runpath_var=
- hardcode_libdir_flag_spec_F77=
- export_dynamic_flag_spec_F77=
- whole_archive_flag_spec_F77=
- fi
- else
- # PORTME fill in a description of your system's linker (not GNU ld)
- case $host_os in
- aix3*)
- allow_undefined_flag_F77=unsupported
- always_export_symbols_F77=yes
- archive_expsym_cmds_F77='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname'
- # Note: this linker hardcodes the directories in LIBPATH if there
- # are no directories specified by -L.
- hardcode_minus_L_F77=yes
- if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then
- # Neither direct hardcoding nor static linking is supported with a
- # broken collect2.
- hardcode_direct_F77=unsupported
- fi
- ;;
-
- aix4* | aix5*)
- if test "$host_cpu" = ia64; then
- # On IA64, the linker does run time linking by default, so we don't
- # have to do anything special.
- aix_use_runtimelinking=no
- exp_sym_flag='-Bexport'
- no_entry_flag=""
- else
- # If we're using GNU nm, then we don't want the "-C" option.
- # -C means demangle to AIX nm, but means don't demangle with GNU nm
- if $NM -V 2>&1 | grep 'GNU' > /dev/null; then
- export_symbols_cmds_F77='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols'
- else
- export_symbols_cmds_F77='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols'
- fi
- aix_use_runtimelinking=no
-
- # Test if we are trying to use run time linking or normal
- # AIX style linking. If -brtl is somewhere in LDFLAGS, we
- # need to do runtime linking.
- case $host_os in aix4.[23]|aix4.[23].*|aix5*)
- for ld_flag in $LDFLAGS; do
- if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then
- aix_use_runtimelinking=yes
- break
- fi
- done
- ;;
- esac
-
- exp_sym_flag='-bexport'
- no_entry_flag='-bnoentry'
- fi
-
- # When large executables or shared objects are built, AIX ld can
- # have problems creating the table of contents. If linking a library
- # or program results in "error TOC overflow" add -mminimal-toc to
- # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not
- # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
-
- archive_cmds_F77=''
- hardcode_direct_F77=yes
- hardcode_libdir_separator_F77=':'
- link_all_deplibs_F77=yes
-
- if test "$GCC" = yes; then
- case $host_os in aix4.[012]|aix4.[012].*)
- # We only want to do this on AIX 4.2 and lower, the check
- # below for broken collect2 doesn't work under 4.3+
- collect2name=`${CC} -print-prog-name=collect2`
- if test -f "$collect2name" && \
- strings "$collect2name" | grep resolve_lib_name >/dev/null
- then
- # We have reworked collect2
- :
- else
- # We have old collect2
- hardcode_direct_F77=unsupported
- # It fails to find uninstalled libraries when the uninstalled
- # path is not listed in the libpath. Setting hardcode_minus_L
- # to unsupported forces relinking
- hardcode_minus_L_F77=yes
- hardcode_libdir_flag_spec_F77='-L$libdir'
- hardcode_libdir_separator_F77=
- fi
- ;;
- esac
- shared_flag='-shared'
- if test "$aix_use_runtimelinking" = yes; then
- shared_flag="$shared_flag "'${wl}-G'
- fi
- else
- # not using gcc
- if test "$host_cpu" = ia64; then
- # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
- # chokes on -Wl,-G. The following line is correct:
- shared_flag='-G'
- else
- if test "$aix_use_runtimelinking" = yes; then
- shared_flag='${wl}-G'
- else
- shared_flag='${wl}-bM:SRE'
- fi
- fi
- fi
-
- # It seems that -bexpall does not export symbols beginning with
- # underscore (_), so it is better to generate a list of symbols to export.
- always_export_symbols_F77=yes
- if test "$aix_use_runtimelinking" = yes; then
- # Warning - without using the other runtime loading flags (-brtl),
- # -berok will link without error, but may produce a broken library.
- allow_undefined_flag_F77='-berok'
- # Determine the default libpath from the value encoded in an empty executable.
- cat >conftest.$ac_ext <<_ACEOF
- program main
-
- end
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_link") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_f77_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest$ac_exeext &&
- $as_test_x conftest$ac_exeext; then
-
-lt_aix_libpath_sed='
- /Import File Strings/,/^$/ {
- /^0/ {
- s/^0 *\(.*\)$/\1/
- p
- }
- }'
-aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
-# Check for a 64-bit object if we didn't find anything.
-if test -z "$aix_libpath"; then
- aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
-fi
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
- conftest$ac_exeext conftest.$ac_ext
-if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
-
- hardcode_libdir_flag_spec_F77='${wl}-blibpath:$libdir:'"$aix_libpath"
- archive_expsym_cmds_F77="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
- else
- if test "$host_cpu" = ia64; then
- hardcode_libdir_flag_spec_F77='${wl}-R $libdir:/usr/lib:/lib'
- allow_undefined_flag_F77="-z nodefs"
- archive_expsym_cmds_F77="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols"
- else
- # Determine the default libpath from the value encoded in an empty executable.
- cat >conftest.$ac_ext <<_ACEOF
- program main
-
- end
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_link") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_f77_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest$ac_exeext &&
- $as_test_x conftest$ac_exeext; then
-
-lt_aix_libpath_sed='
- /Import File Strings/,/^$/ {
- /^0/ {
- s/^0 *\(.*\)$/\1/
- p
- }
- }'
-aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
-# Check for a 64-bit object if we didn't find anything.
-if test -z "$aix_libpath"; then
- aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
-fi
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
- conftest$ac_exeext conftest.$ac_ext
-if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
-
- hardcode_libdir_flag_spec_F77='${wl}-blibpath:$libdir:'"$aix_libpath"
- # Warning - without using the other run time loading flags,
- # -berok will link without error, but may produce a broken library.
- no_undefined_flag_F77=' ${wl}-bernotok'
- allow_undefined_flag_F77=' ${wl}-berok'
- # Exported symbols can be pulled into shared objects from archives
- whole_archive_flag_spec_F77='$convenience'
- archive_cmds_need_lc_F77=yes
- # This is similar to how AIX traditionally builds its shared libraries.
- archive_expsym_cmds_F77="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
- fi
- fi
- ;;
-
- amigaos*)
- archive_cmds_F77='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
- hardcode_libdir_flag_spec_F77='-L$libdir'
- hardcode_minus_L_F77=yes
- # see comment about different semantics on the GNU ld section
- ld_shlibs_F77=no
- ;;
-
- bsdi[45]*)
- export_dynamic_flag_spec_F77=-rdynamic
- ;;
-
- cygwin* | mingw* | pw32*)
- # When not using gcc, we currently assume that we are using
- # Microsoft Visual C++.
- # hardcode_libdir_flag_spec is actually meaningless, as there is
- # no search path for DLLs.
- hardcode_libdir_flag_spec_F77=' '
- allow_undefined_flag_F77=unsupported
- # Tell ltmain to make .lib files, not .a files.
- libext=lib
- # Tell ltmain to make .dll files, not .so files.
- shrext_cmds=".dll"
- # FIXME: Setting linknames here is a bad hack.
- archive_cmds_F77='$CC -o $lib $libobjs $compiler_flags `echo "$deplibs" | $SED -e '\''s/ -lc$//'\''` -link -dll~linknames='
- # The linker will automatically build a .lib file if we build a DLL.
- old_archive_From_new_cmds_F77='true'
- # FIXME: Should let the user specify the lib program.
- old_archive_cmds_F77='lib -OUT:$oldlib$oldobjs$old_deplibs'
- fix_srcfile_path_F77='`cygpath -w "$srcfile"`'
- enable_shared_with_static_runtimes_F77=yes
- ;;
-
- darwin* | rhapsody*)
- case $host_os in
- rhapsody* | darwin1.[012])
- allow_undefined_flag_F77='${wl}-undefined ${wl}suppress'
- ;;
- *) # Darwin 1.3 on
- if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then
- allow_undefined_flag_F77='${wl}-flat_namespace ${wl}-undefined ${wl}suppress'
- else
- case ${MACOSX_DEPLOYMENT_TARGET} in
- 10.[012])
- allow_undefined_flag_F77='${wl}-flat_namespace ${wl}-undefined ${wl}suppress'
- ;;
- 10.*)
- allow_undefined_flag_F77='${wl}-undefined ${wl}dynamic_lookup'
- ;;
- esac
- fi
- ;;
- esac
- archive_cmds_need_lc_F77=no
- hardcode_direct_F77=no
- hardcode_automatic_F77=yes
- hardcode_shlibpath_var_F77=unsupported
- whole_archive_flag_spec_F77=''
- link_all_deplibs_F77=yes
- if test "$GCC" = yes ; then
- output_verbose_link_cmd='echo'
- archive_cmds_F77='$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring'
- module_cmds_F77='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
- # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds
- archive_expsym_cmds_F77='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
- module_expsym_cmds_F77='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
- else
- case $cc_basename in
- xlc*)
- output_verbose_link_cmd='echo'
- archive_cmds_F77='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $xlcverstring'
- module_cmds_F77='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
- # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds
- archive_expsym_cmds_F77='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $xlcverstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
- module_expsym_cmds_F77='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
- ;;
- *)
- ld_shlibs_F77=no
- ;;
- esac
- fi
- ;;
-
- dgux*)
- archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- hardcode_libdir_flag_spec_F77='-L$libdir'
- hardcode_shlibpath_var_F77=no
- ;;
-
- freebsd1*)
- ld_shlibs_F77=no
- ;;
-
- # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor
- # support. Future versions do this automatically, but an explicit c++rt0.o
- # does not break anything, and helps significantly (at the cost of a little
- # extra space).
- freebsd2.2*)
- archive_cmds_F77='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o'
- hardcode_libdir_flag_spec_F77='-R$libdir'
- hardcode_direct_F77=yes
- hardcode_shlibpath_var_F77=no
- ;;
-
- # Unfortunately, older versions of FreeBSD 2 do not have this feature.
- freebsd2*)
- archive_cmds_F77='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
- hardcode_direct_F77=yes
- hardcode_minus_L_F77=yes
- hardcode_shlibpath_var_F77=no
- ;;
-
- # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
- freebsd* | dragonfly*)
- archive_cmds_F77='$CC -shared -o $lib $libobjs $deplibs $compiler_flags'
- hardcode_libdir_flag_spec_F77='-R$libdir'
- hardcode_direct_F77=yes
- hardcode_shlibpath_var_F77=no
- ;;
-
- hpux9*)
- if test "$GCC" = yes; then
- archive_cmds_F77='$rm $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
- else
- archive_cmds_F77='$rm $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
- fi
- hardcode_libdir_flag_spec_F77='${wl}+b ${wl}$libdir'
- hardcode_libdir_separator_F77=:
- hardcode_direct_F77=yes
-
- # hardcode_minus_L: Not really in the search PATH,
- # but as the default location of the library.
- hardcode_minus_L_F77=yes
- export_dynamic_flag_spec_F77='${wl}-E'
- ;;
-
- hpux10*)
- if test "$GCC" = yes -a "$with_gnu_ld" = no; then
- archive_cmds_F77='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
- else
- archive_cmds_F77='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
- fi
- if test "$with_gnu_ld" = no; then
- hardcode_libdir_flag_spec_F77='${wl}+b ${wl}$libdir'
- hardcode_libdir_separator_F77=:
-
- hardcode_direct_F77=yes
- export_dynamic_flag_spec_F77='${wl}-E'
-
- # hardcode_minus_L: Not really in the search PATH,
- # but as the default location of the library.
- hardcode_minus_L_F77=yes
- fi
- ;;
-
- hpux11*)
- if test "$GCC" = yes -a "$with_gnu_ld" = no; then
- case $host_cpu in
- hppa*64*)
- archive_cmds_F77='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- ia64*)
- archive_cmds_F77='$CC -shared ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- *)
- archive_cmds_F77='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- esac
- else
- case $host_cpu in
- hppa*64*)
- archive_cmds_F77='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- ia64*)
- archive_cmds_F77='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- *)
- archive_cmds_F77='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- esac
- fi
- if test "$with_gnu_ld" = no; then
- hardcode_libdir_flag_spec_F77='${wl}+b ${wl}$libdir'
- hardcode_libdir_separator_F77=:
-
- case $host_cpu in
- hppa*64*|ia64*)
- hardcode_libdir_flag_spec_ld_F77='+b $libdir'
- hardcode_direct_F77=no
- hardcode_shlibpath_var_F77=no
- ;;
- *)
- hardcode_direct_F77=yes
- export_dynamic_flag_spec_F77='${wl}-E'
-
- # hardcode_minus_L: Not really in the search PATH,
- # but as the default location of the library.
- hardcode_minus_L_F77=yes
- ;;
- esac
- fi
- ;;
-
- irix5* | irix6* | nonstopux*)
- if test "$GCC" = yes; then
- archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
- else
- archive_cmds_F77='$LD -shared $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
- hardcode_libdir_flag_spec_ld_F77='-rpath $libdir'
- fi
- hardcode_libdir_flag_spec_F77='${wl}-rpath ${wl}$libdir'
- hardcode_libdir_separator_F77=:
- link_all_deplibs_F77=yes
- ;;
-
- netbsd*)
- if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
- archive_cmds_F77='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out
- else
- archive_cmds_F77='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF
- fi
- hardcode_libdir_flag_spec_F77='-R$libdir'
- hardcode_direct_F77=yes
- hardcode_shlibpath_var_F77=no
- ;;
-
- newsos6)
- archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- hardcode_direct_F77=yes
- hardcode_libdir_flag_spec_F77='${wl}-rpath ${wl}$libdir'
- hardcode_libdir_separator_F77=:
- hardcode_shlibpath_var_F77=no
- ;;
-
- openbsd*)
- if test -f /usr/libexec/ld.so; then
- hardcode_direct_F77=yes
- hardcode_shlibpath_var_F77=no
- if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
- archive_cmds_F77='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
- archive_expsym_cmds_F77='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols'
- hardcode_libdir_flag_spec_F77='${wl}-rpath,$libdir'
- export_dynamic_flag_spec_F77='${wl}-E'
- else
- case $host_os in
- openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*)
- archive_cmds_F77='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
- hardcode_libdir_flag_spec_F77='-R$libdir'
- ;;
- *)
- archive_cmds_F77='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
- hardcode_libdir_flag_spec_F77='${wl}-rpath,$libdir'
- ;;
- esac
- fi
- else
- ld_shlibs_F77=no
- fi
- ;;
-
- os2*)
- hardcode_libdir_flag_spec_F77='-L$libdir'
- hardcode_minus_L_F77=yes
- allow_undefined_flag_F77=unsupported
- archive_cmds_F77='$echo "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$echo "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$echo DATA >> $output_objdir/$libname.def~$echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~$echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def'
- old_archive_From_new_cmds_F77='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def'
- ;;
-
- osf3*)
- if test "$GCC" = yes; then
- allow_undefined_flag_F77=' ${wl}-expect_unresolved ${wl}\*'
- archive_cmds_F77='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
- else
- allow_undefined_flag_F77=' -expect_unresolved \*'
- archive_cmds_F77='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
- fi
- hardcode_libdir_flag_spec_F77='${wl}-rpath ${wl}$libdir'
- hardcode_libdir_separator_F77=:
- ;;
-
- osf4* | osf5*) # as osf3* with the addition of -msym flag
- if test "$GCC" = yes; then
- allow_undefined_flag_F77=' ${wl}-expect_unresolved ${wl}\*'
- archive_cmds_F77='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
- hardcode_libdir_flag_spec_F77='${wl}-rpath ${wl}$libdir'
- else
- allow_undefined_flag_F77=' -expect_unresolved \*'
- archive_cmds_F77='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
- archive_expsym_cmds_F77='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; echo "-hidden">> $lib.exp~
- $LD -shared${allow_undefined_flag} -input $lib.exp $linker_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~$rm $lib.exp'
-
- # Both c and cxx compiler support -rpath directly
- hardcode_libdir_flag_spec_F77='-rpath $libdir'
- fi
- hardcode_libdir_separator_F77=:
- ;;
-
- solaris*)
- no_undefined_flag_F77=' -z text'
- if test "$GCC" = yes; then
- wlarc='${wl}'
- archive_cmds_F77='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
- archive_expsym_cmds_F77='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
- $CC -shared ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$rm $lib.exp'
- else
- wlarc=''
- archive_cmds_F77='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags'
- archive_expsym_cmds_F77='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
- $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp'
- fi
- hardcode_libdir_flag_spec_F77='-R$libdir'
- hardcode_shlibpath_var_F77=no
- case $host_os in
- solaris2.[0-5] | solaris2.[0-5].*) ;;
- *)
- # The compiler driver will combine and reorder linker options,
- # but understands `-z linker_flag'. GCC discards it without `$wl',
- # but is careful enough not to reorder.
- # Supported since Solaris 2.6 (maybe 2.5.1?)
- if test "$GCC" = yes; then
- whole_archive_flag_spec_F77='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
- else
- whole_archive_flag_spec_F77='-z allextract$convenience -z defaultextract'
- fi
- ;;
- esac
- link_all_deplibs_F77=yes
- ;;
-
- sunos4*)
- if test "x$host_vendor" = xsequent; then
- # Use $CC to link under sequent, because it throws in some extra .o
- # files that make .init and .fini sections work.
- archive_cmds_F77='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags'
- else
- archive_cmds_F77='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags'
- fi
- hardcode_libdir_flag_spec_F77='-L$libdir'
- hardcode_direct_F77=yes
- hardcode_minus_L_F77=yes
- hardcode_shlibpath_var_F77=no
- ;;
-
- sysv4)
- case $host_vendor in
- sni)
- archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- hardcode_direct_F77=yes # is this really true???
- ;;
- siemens)
- ## LD is ld it makes a PLAMLIB
- ## CC just makes a GrossModule.
- archive_cmds_F77='$LD -G -o $lib $libobjs $deplibs $linker_flags'
- reload_cmds_F77='$CC -r -o $output$reload_objs'
- hardcode_direct_F77=no
- ;;
- motorola)
- archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- hardcode_direct_F77=no #Motorola manual says yes, but my tests say they lie
- ;;
- esac
- runpath_var='LD_RUN_PATH'
- hardcode_shlibpath_var_F77=no
- ;;
-
- sysv4.3*)
- archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- hardcode_shlibpath_var_F77=no
- export_dynamic_flag_spec_F77='-Bexport'
- ;;
-
- sysv4*MP*)
- if test -d /usr/nec; then
- archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- hardcode_shlibpath_var_F77=no
- runpath_var=LD_RUN_PATH
- hardcode_runpath_var=yes
- ld_shlibs_F77=yes
- fi
- ;;
-
- sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*)
- no_undefined_flag_F77='${wl}-z,text'
- archive_cmds_need_lc_F77=no
- hardcode_shlibpath_var_F77=no
- runpath_var='LD_RUN_PATH'
-
- if test "$GCC" = yes; then
- archive_cmds_F77='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- archive_expsym_cmds_F77='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- else
- archive_cmds_F77='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- archive_expsym_cmds_F77='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- fi
- ;;
-
- sysv5* | sco3.2v5* | sco5v6*)
- # Note: We can NOT use -z defs as we might desire, because we do not
- # link with -lc, and that would cause any symbols used from libc to
- # always be unresolved, which means just about no library would
- # ever link correctly. If we're not using GNU ld we use -z text
- # though, which does catch some bad symbols but isn't as heavy-handed
- # as -z defs.
- no_undefined_flag_F77='${wl}-z,text'
- allow_undefined_flag_F77='${wl}-z,nodefs'
- archive_cmds_need_lc_F77=no
- hardcode_shlibpath_var_F77=no
- hardcode_libdir_flag_spec_F77='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`'
- hardcode_libdir_separator_F77=':'
- link_all_deplibs_F77=yes
- export_dynamic_flag_spec_F77='${wl}-Bexport'
- runpath_var='LD_RUN_PATH'
-
- if test "$GCC" = yes; then
- archive_cmds_F77='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
- archive_expsym_cmds_F77='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
- else
- archive_cmds_F77='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
- archive_expsym_cmds_F77='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
- fi
- ;;
-
- uts4*)
- archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- hardcode_libdir_flag_spec_F77='-L$libdir'
- hardcode_shlibpath_var_F77=no
- ;;
-
- *)
- ld_shlibs_F77=no
- ;;
- esac
- fi
-
-{ echo "$as_me:$LINENO: result: $ld_shlibs_F77" >&5
-echo "${ECHO_T}$ld_shlibs_F77" >&6; }
-test "$ld_shlibs_F77" = no && can_build_shared=no
-
-#
-# Do we need to explicitly link libc?
-#
-case "x$archive_cmds_need_lc_F77" in
-x|xyes)
- # Assume -lc should be added
- archive_cmds_need_lc_F77=yes
-
- if test "$enable_shared" = yes && test "$GCC" = yes; then
- case $archive_cmds_F77 in
- *'~'*)
- # FIXME: we may have to deal with multi-command sequences.
- ;;
- '$CC '*)
- # Test whether the compiler implicitly links with -lc since on some
- # systems, -lgcc has to come before -lc. If gcc already passes -lc
- # to ld, don't add -lc before -lgcc.
- { echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5
-echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6; }
- $rm conftest*
- echo "$lt_simple_compile_test_code" > conftest.$ac_ext
-
- if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } 2>conftest.err; then
- soname=conftest
- lib=conftest
- libobjs=conftest.$ac_objext
- deplibs=
- wl=$lt_prog_compiler_wl_F77
- pic_flag=$lt_prog_compiler_pic_F77
- compiler_flags=-v
- linker_flags=-v
- verstring=
- output_objdir=.
- libname=conftest
- lt_save_allow_undefined_flag=$allow_undefined_flag_F77
- allow_undefined_flag_F77=
- if { (eval echo "$as_me:$LINENO: \"$archive_cmds_F77 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1\"") >&5
- (eval $archive_cmds_F77 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }
- then
- archive_cmds_need_lc_F77=no
- else
- archive_cmds_need_lc_F77=yes
- fi
- allow_undefined_flag_F77=$lt_save_allow_undefined_flag
- else
- cat conftest.err 1>&5
- fi
- $rm conftest*
- { echo "$as_me:$LINENO: result: $archive_cmds_need_lc_F77" >&5
-echo "${ECHO_T}$archive_cmds_need_lc_F77" >&6; }
- ;;
- esac
- fi
- ;;
-esac
-
-{ echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5
-echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6; }
library_names_spec=
libname_spec='lib$name'
soname_spec=
@@ -15323,7 +14571,6 @@ shlibpath_overrides_runpath=unknown
version_type=none
dynamic_linker="$host_os ld.so"
sys_lib_dlsearch_path_spec="/lib /usr/lib"
-
need_lib_prefix=unknown
hardcode_into_libs=no
@@ -15341,7 +14588,7 @@ aix3*)
soname_spec='${libname}${release}${shared_ext}$major'
;;
-aix4* | aix5*)
+aix[4-9]*)
version_type=linux
need_lib_prefix=no
need_version=no
@@ -15360,7 +14607,7 @@ aix4* | aix5*)
aix4 | aix4.[01] | aix4.[01].*)
if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
echo ' yes '
- echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then
+ echo '#endif'; } | ${CC} -E - | $GREP yes > /dev/null; then
:
else
can_build_shared=no
@@ -15386,9 +14633,18 @@ aix4* | aix5*)
;;
amigaos*)
- library_names_spec='$libname.ixlibrary $libname.a'
- # Create ${libname}_ixlibrary.a entries in /sys/libs.
- finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'
+ case $host_cpu in
+ powerpc)
+ # Since July 2007 AmigaOS4 officially supports .so libraries.
+ # When compiling the executable, add -use-dynld -Lsobjs: to the compileline.
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ ;;
+ m68k)
+ library_names_spec='$libname.ixlibrary $libname.a'
+ # Create ${libname}_ixlibrary.a entries in /sys/libs.
+ finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$ECHO "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'
+ ;;
+ esac
;;
beos*)
@@ -15411,25 +14667,28 @@ bsdi[45]*)
# libtool to hard-code these into programs
;;
-cygwin* | mingw* | pw32*)
+cygwin* | mingw* | pw32* | cegcc*)
version_type=windows
shrext_cmds=".dll"
need_version=no
need_lib_prefix=no
case $GCC,$host_os in
- yes,cygwin* | yes,mingw* | yes,pw32*)
+ yes,cygwin* | yes,mingw* | yes,pw32* | yes,cegcc*)
library_names_spec='$libname.dll.a'
# DLL is installed to $(libdir)/../bin by postinstall_cmds
postinstall_cmds='base_file=`basename \${file}`~
- dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo \$dlname'\''`~
+ dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~
dldir=$destdir/`dirname \$dlpath`~
test -d \$dldir || mkdir -p \$dldir~
$install_prog $dir/$dlname \$dldir/$dlname~
- chmod a+x \$dldir/$dlname'
+ chmod a+x \$dldir/$dlname~
+ if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then
+ eval '\''$striplib \$dldir/$dlname'\'' || exit \$?;
+ fi'
postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
dlpath=$dir/\$dldll~
- $rm \$dlpath'
+ $RM \$dlpath'
shlibpath_overrides_runpath=yes
case $host_os in
@@ -15438,20 +14697,20 @@ cygwin* | mingw* | pw32*)
soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib"
;;
- mingw*)
+ mingw* | cegcc*)
# MinGW DLLs use traditional 'lib' prefix
soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
- sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"`
- if echo "$sys_lib_search_path_spec" | grep ';[c-zC-Z]:/' >/dev/null; then
+ sys_lib_search_path_spec=`$CC -print-search-dirs | $GREP "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"`
+ if $ECHO "$sys_lib_search_path_spec" | $GREP ';[c-zC-Z]:/' >/dev/null; then
# It is most probably a Windows format PATH printed by
# mingw gcc, but we are running on Cygwin. Gcc prints its search
# path with ; separators, and with drive letters. We can handle the
# drive letters (cygwin fileutils understands them), so leave them,
# especially as we might pass files found there to a mingw objdump,
# which wouldn't understand a cygwinified path. Ahh.
- sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
+ sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
else
- sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
+ sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
fi
;;
pw32*)
@@ -15475,7 +14734,7 @@ darwin* | rhapsody*)
version_type=darwin
need_lib_prefix=no
need_version=no
- library_names_spec='${libname}${release}${versuffix}$shared_ext ${libname}${release}${major}$shared_ext ${libname}$shared_ext'
+ library_names_spec='${libname}${release}${major}$shared_ext ${libname}$shared_ext'
soname_spec='${libname}${release}${major}$shared_ext'
shlibpath_overrides_runpath=yes
shlibpath_var=DYLD_LIBRARY_PATH
@@ -15573,18 +14832,18 @@ hpux9* | hpux10* | hpux11*)
fi
sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
;;
- hppa*64*)
- shrext_cmds='.sl'
- hardcode_into_libs=yes
- dynamic_linker="$host_os dld.sl"
- shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
- shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64"
- sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
- ;;
- *)
+ hppa*64*)
+ shrext_cmds='.sl'
+ hardcode_into_libs=yes
+ dynamic_linker="$host_os dld.sl"
+ shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
+ shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64"
+ sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
+ ;;
+ *)
shrext_cmds='.sl'
dynamic_linker="$host_os dld.sl"
shlibpath_var=SHLIB_PATH
@@ -15661,1619 +14920,12 @@ linux* | k*bsd*-gnu)
finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
shlibpath_var=LD_LIBRARY_PATH
shlibpath_overrides_runpath=no
- # This implies no fast_install, which is unacceptable.
- # Some rework will be needed to allow for fast_install
- # before this can be enabled.
- hardcode_into_libs=yes
- sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}"
- sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}"
-
- # Append ld.so.conf contents to the search path
- if test -f /etc/ld.so.conf; then
- lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '`
- sys_lib_dlsearch_path_spec="$sys_lib_dlsearch_path_spec $lt_ld_extra"
- fi
-
- # We used to test for /lib/ld.so.1 and disable shared libraries on
- # powerpc, because MkLinux only supported shared libraries with the
- # GNU dynamic linker. Since this was broken with cross compilers,
- # most powerpc-linux boxes support dynamic linking these days and
- # people can always --disable-shared, the test was removed, and we
- # assume the GNU/Linux dynamic linker is in use.
- dynamic_linker='GNU/Linux ld.so'
- ;;
-
-netbsd*)
- version_type=sunos
- need_lib_prefix=no
- need_version=no
- if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
- finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
- dynamic_linker='NetBSD (a.out) ld.so'
- else
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- dynamic_linker='NetBSD ld.elf_so'
- fi
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=yes
- hardcode_into_libs=yes
- ;;
-
-newsos6)
- version_type=linux
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=yes
- ;;
-
-nto-qnx*)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=yes
- ;;
-
-openbsd*)
- version_type=sunos
- sys_lib_dlsearch_path_spec="/usr/lib"
- need_lib_prefix=no
- # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs.
- case $host_os in
- openbsd3.3 | openbsd3.3.*) need_version=yes ;;
- *) need_version=no ;;
- esac
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
- finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
- shlibpath_var=LD_LIBRARY_PATH
- if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
- case $host_os in
- openbsd2.[89] | openbsd2.[89].*)
- shlibpath_overrides_runpath=no
- ;;
- *)
- shlibpath_overrides_runpath=yes
- ;;
- esac
- else
- shlibpath_overrides_runpath=yes
- fi
- ;;
-
-os2*)
- libname_spec='$name'
- shrext_cmds=".dll"
- need_lib_prefix=no
- library_names_spec='$libname${shared_ext} $libname.a'
- dynamic_linker='OS/2 ld.exe'
- shlibpath_var=LIBPATH
- ;;
-
-osf3* | osf4* | osf5*)
- version_type=osf
- need_lib_prefix=no
- need_version=no
- soname_spec='${libname}${release}${shared_ext}$major'
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- shlibpath_var=LD_LIBRARY_PATH
- sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
- sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec"
- ;;
-
-rdos*)
- dynamic_linker=no
- ;;
-
-solaris*)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=yes
- hardcode_into_libs=yes
- # ldd complains unless libraries are executable
- postinstall_cmds='chmod +x $lib'
- ;;
-
-sunos4*)
- version_type=sunos
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
- finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=yes
- if test "$with_gnu_ld" = yes; then
- need_lib_prefix=no
- fi
- need_version=yes
- ;;
-
-sysv4 | sysv4.3*)
- version_type=linux
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- case $host_vendor in
- sni)
- shlibpath_overrides_runpath=no
- need_lib_prefix=no
- export_dynamic_flag_spec='${wl}-Blargedynsym'
- runpath_var=LD_RUN_PATH
- ;;
- siemens)
- need_lib_prefix=no
- ;;
- motorola)
- need_lib_prefix=no
- need_version=no
- shlibpath_overrides_runpath=no
- sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib'
- ;;
- esac
- ;;
-
-sysv4*MP*)
- if test -d /usr/nec ;then
- version_type=linux
- library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}'
- soname_spec='$libname${shared_ext}.$major'
- shlibpath_var=LD_LIBRARY_PATH
- fi
- ;;
-
-sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
- version_type=freebsd-elf
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- hardcode_into_libs=yes
- if test "$with_gnu_ld" = yes; then
- sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib'
- shlibpath_overrides_runpath=no
- else
- sys_lib_search_path_spec='/usr/ccs/lib /usr/lib'
- shlibpath_overrides_runpath=yes
- case $host_os in
- sco3.2v5*)
- sys_lib_search_path_spec="$sys_lib_search_path_spec /lib"
- ;;
- esac
- fi
- sys_lib_dlsearch_path_spec='/usr/lib'
- ;;
-
-uts4*)
- version_type=linux
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- ;;
-
-*)
- dynamic_linker=no
- ;;
-esac
-{ echo "$as_me:$LINENO: result: $dynamic_linker" >&5
-echo "${ECHO_T}$dynamic_linker" >&6; }
-test "$dynamic_linker" = no && can_build_shared=no
-
-variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
-if test "$GCC" = yes; then
- variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
-fi
-
-{ echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5
-echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6; }
-hardcode_action_F77=
-if test -n "$hardcode_libdir_flag_spec_F77" || \
- test -n "$runpath_var_F77" || \
- test "X$hardcode_automatic_F77" = "Xyes" ; then
-
- # We can hardcode non-existant directories.
- if test "$hardcode_direct_F77" != no &&
- # If the only mechanism to avoid hardcoding is shlibpath_var, we
- # have to relink, otherwise we might link with an installed library
- # when we should be linking with a yet-to-be-installed one
- ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, F77)" != no &&
- test "$hardcode_minus_L_F77" != no; then
- # Linking always hardcodes the temporary library directory.
- hardcode_action_F77=relink
- else
- # We can link without hardcoding, and we can hardcode nonexisting dirs.
- hardcode_action_F77=immediate
- fi
-else
- # We cannot hardcode anything, or else we can only hardcode existing
- # directories.
- hardcode_action_F77=unsupported
-fi
-{ echo "$as_me:$LINENO: result: $hardcode_action_F77" >&5
-echo "${ECHO_T}$hardcode_action_F77" >&6; }
-
-if test "$hardcode_action_F77" = relink; then
- # Fast installation is not supported
- enable_fast_install=no
-elif test "$shlibpath_overrides_runpath" = yes ||
- test "$enable_shared" = no; then
- # Fast installation is not necessary
- enable_fast_install=needless
-fi
-
-
-# The else clause should only fire when bootstrapping the
-# libtool distribution, otherwise you forgot to ship ltmain.sh
-# with your package, and you will get complaints that there are
-# no rules to generate ltmain.sh.
-if test -f "$ltmain"; then
- # See if we are running on zsh, and set the options which allow our commands through
- # without removal of \ escapes.
- if test -n "${ZSH_VERSION+set}" ; then
- setopt NO_GLOB_SUBST
- fi
- # Now quote all the things that may contain metacharacters while being
- # careful not to overquote the AC_SUBSTed values. We take copies of the
- # variables and quote the copies for generation of the libtool script.
- for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC LTCFLAGS NM \
- SED SHELL STRIP \
- libname_spec library_names_spec soname_spec extract_expsyms_cmds \
- old_striplib striplib file_magic_cmd finish_cmds finish_eval \
- deplibs_check_method reload_flag reload_cmds need_locks \
- lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \
- lt_cv_sys_global_symbol_to_c_name_address \
- sys_lib_search_path_spec sys_lib_dlsearch_path_spec \
- old_postinstall_cmds old_postuninstall_cmds \
- compiler_F77 \
- CC_F77 \
- LD_F77 \
- lt_prog_compiler_wl_F77 \
- lt_prog_compiler_pic_F77 \
- lt_prog_compiler_static_F77 \
- lt_prog_compiler_no_builtin_flag_F77 \
- export_dynamic_flag_spec_F77 \
- thread_safe_flag_spec_F77 \
- whole_archive_flag_spec_F77 \
- enable_shared_with_static_runtimes_F77 \
- old_archive_cmds_F77 \
- old_archive_from_new_cmds_F77 \
- predep_objects_F77 \
- postdep_objects_F77 \
- predeps_F77 \
- postdeps_F77 \
- compiler_lib_search_path_F77 \
- archive_cmds_F77 \
- archive_expsym_cmds_F77 \
- postinstall_cmds_F77 \
- postuninstall_cmds_F77 \
- old_archive_from_expsyms_cmds_F77 \
- allow_undefined_flag_F77 \
- no_undefined_flag_F77 \
- export_symbols_cmds_F77 \
- hardcode_libdir_flag_spec_F77 \
- hardcode_libdir_flag_spec_ld_F77 \
- hardcode_libdir_separator_F77 \
- hardcode_automatic_F77 \
- module_cmds_F77 \
- module_expsym_cmds_F77 \
- lt_cv_prog_compiler_c_o_F77 \
- fix_srcfile_path_F77 \
- exclude_expsyms_F77 \
- include_expsyms_F77; do
-
- case $var in
- old_archive_cmds_F77 | \
- old_archive_from_new_cmds_F77 | \
- archive_cmds_F77 | \
- archive_expsym_cmds_F77 | \
- module_cmds_F77 | \
- module_expsym_cmds_F77 | \
- old_archive_from_expsyms_cmds_F77 | \
- export_symbols_cmds_F77 | \
- extract_expsyms_cmds | reload_cmds | finish_cmds | \
- postinstall_cmds | postuninstall_cmds | \
- old_postinstall_cmds | old_postuninstall_cmds | \
- sys_lib_search_path_spec | sys_lib_dlsearch_path_spec)
- # Double-quote double-evaled strings.
- eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\""
- ;;
- *)
- eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\""
- ;;
- esac
- done
-
- case $lt_echo in
- *'\$0 --fallback-echo"')
- lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\$0 --fallback-echo"$/$0 --fallback-echo"/'`
- ;;
- esac
-
-cfgfile="$ofile"
-
- cat <<__EOF__ >> "$cfgfile"
-# ### BEGIN LIBTOOL TAG CONFIG: $tagname
-
-# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
-
-# Shell to use when invoking shell scripts.
-SHELL=$lt_SHELL
-
-# Whether or not to build shared libraries.
-build_libtool_libs=$enable_shared
-
-# Whether or not to build static libraries.
-build_old_libs=$enable_static
-
-# Whether or not to add -lc for building shared libraries.
-build_libtool_need_lc=$archive_cmds_need_lc_F77
-
-# Whether or not to disallow shared libs when runtime libs are static
-allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_F77
-
-# Whether or not to optimize for fast installation.
-fast_install=$enable_fast_install
-
-# The host system.
-host_alias=$host_alias
-host=$host
-host_os=$host_os
-
-# The build system.
-build_alias=$build_alias
-build=$build
-build_os=$build_os
-
-# An echo program that does not interpret backslashes.
-echo=$lt_echo
-
-# The archiver.
-AR=$lt_AR
-AR_FLAGS=$lt_AR_FLAGS
-
-# A C compiler.
-LTCC=$lt_LTCC
-
-# LTCC compiler flags.
-LTCFLAGS=$lt_LTCFLAGS
-
-# A language-specific compiler.
-CC=$lt_compiler_F77
-
-# Is the compiler the GNU C compiler?
-with_gcc=$GCC_F77
-
-# An ERE matcher.
-EGREP=$lt_EGREP
-
-# The linker used to build libraries.
-LD=$lt_LD_F77
-
-# Whether we need hard or soft links.
-LN_S=$lt_LN_S
-
-# A BSD-compatible nm program.
-NM=$lt_NM
-
-# A symbol stripping program
-STRIP=$lt_STRIP
-
-# Used to examine libraries when file_magic_cmd begins "file"
-MAGIC_CMD=$MAGIC_CMD
-
-# Used on cygwin: DLL creation program.
-DLLTOOL="$DLLTOOL"
-
-# Used on cygwin: object dumper.
-OBJDUMP="$OBJDUMP"
-
-# Used on cygwin: assembler.
-AS="$AS"
-
-# The name of the directory that contains temporary libtool files.
-objdir=$objdir
-
-# How to create reloadable object files.
-reload_flag=$lt_reload_flag
-reload_cmds=$lt_reload_cmds
-
-# How to pass a linker flag through the compiler.
-wl=$lt_lt_prog_compiler_wl_F77
-
-# Object file suffix (normally "o").
-objext="$ac_objext"
-
-# Old archive suffix (normally "a").
-libext="$libext"
-
-# Shared library suffix (normally ".so").
-shrext_cmds='$shrext_cmds'
-
-# Executable file suffix (normally "").
-exeext="$exeext"
-
-# Additional compiler flags for building library objects.
-pic_flag=$lt_lt_prog_compiler_pic_F77
-pic_mode=$pic_mode
-
-# What is the maximum length of a command?
-max_cmd_len=$lt_cv_sys_max_cmd_len
-
-# Does compiler simultaneously support -c and -o options?
-compiler_c_o=$lt_lt_cv_prog_compiler_c_o_F77
-
-# Must we lock files when doing compilation?
-need_locks=$lt_need_locks
-
-# Do we need the lib prefix for modules?
-need_lib_prefix=$need_lib_prefix
-
-# Do we need a version for libraries?
-need_version=$need_version
-
-# Whether dlopen is supported.
-dlopen_support=$enable_dlopen
-
-# Whether dlopen of programs is supported.
-dlopen_self=$enable_dlopen_self
-
-# Whether dlopen of statically linked programs is supported.
-dlopen_self_static=$enable_dlopen_self_static
-
-# Compiler flag to prevent dynamic linking.
-link_static_flag=$lt_lt_prog_compiler_static_F77
-
-# Compiler flag to turn off builtin functions.
-no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_F77
-
-# Compiler flag to allow reflexive dlopens.
-export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_F77
-
-# Compiler flag to generate shared objects directly from archives.
-whole_archive_flag_spec=$lt_whole_archive_flag_spec_F77
-
-# Compiler flag to generate thread-safe objects.
-thread_safe_flag_spec=$lt_thread_safe_flag_spec_F77
-
-# Library versioning type.
-version_type=$version_type
-
-# Format of library name prefix.
-libname_spec=$lt_libname_spec
-
-# List of archive names. First name is the real one, the rest are links.
-# The last name is the one that the linker finds with -lNAME.
-library_names_spec=$lt_library_names_spec
-
-# The coded name of the library, if different from the real name.
-soname_spec=$lt_soname_spec
-
-# Commands used to build and install an old-style archive.
-RANLIB=$lt_RANLIB
-old_archive_cmds=$lt_old_archive_cmds_F77
-old_postinstall_cmds=$lt_old_postinstall_cmds
-old_postuninstall_cmds=$lt_old_postuninstall_cmds
-
-# Create an old-style archive from a shared archive.
-old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_F77
-
-# Create a temporary old-style archive to link instead of a shared archive.
-old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_F77
-
-# Commands used to build and install a shared archive.
-archive_cmds=$lt_archive_cmds_F77
-archive_expsym_cmds=$lt_archive_expsym_cmds_F77
-postinstall_cmds=$lt_postinstall_cmds
-postuninstall_cmds=$lt_postuninstall_cmds
-
-# Commands used to build a loadable module (assumed same as above if empty)
-module_cmds=$lt_module_cmds_F77
-module_expsym_cmds=$lt_module_expsym_cmds_F77
-
-# Commands to strip libraries.
-old_striplib=$lt_old_striplib
-striplib=$lt_striplib
-
-# Dependencies to place before the objects being linked to create a
-# shared library.
-predep_objects=$lt_predep_objects_F77
-
-# Dependencies to place after the objects being linked to create a
-# shared library.
-postdep_objects=$lt_postdep_objects_F77
-
-# Dependencies to place before the objects being linked to create a
-# shared library.
-predeps=$lt_predeps_F77
-
-# Dependencies to place after the objects being linked to create a
-# shared library.
-postdeps=$lt_postdeps_F77
-
-# The library search path used internally by the compiler when linking
-# a shared library.
-compiler_lib_search_path=$lt_compiler_lib_search_path_F77
-
-# Method to check whether dependent libraries are shared objects.
-deplibs_check_method=$lt_deplibs_check_method
-
-# Command to use when deplibs_check_method == file_magic.
-file_magic_cmd=$lt_file_magic_cmd
-
-# Flag that allows shared libraries with undefined symbols to be built.
-allow_undefined_flag=$lt_allow_undefined_flag_F77
-
-# Flag that forces no undefined symbols.
-no_undefined_flag=$lt_no_undefined_flag_F77
-
-# Commands used to finish a libtool library installation in a directory.
-finish_cmds=$lt_finish_cmds
-
-# Same as above, but a single script fragment to be evaled but not shown.
-finish_eval=$lt_finish_eval
-
-# Take the output of nm and produce a listing of raw symbols and C names.
-global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe
-
-# Transform the output of nm in a proper C declaration
-global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl
-
-# Transform the output of nm in a C name address pair
-global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address
-
-# This is the shared library runtime path variable.
-runpath_var=$runpath_var
-
-# This is the shared library path variable.
-shlibpath_var=$shlibpath_var
-
-# Is shlibpath searched before the hard-coded library search path?
-shlibpath_overrides_runpath=$shlibpath_overrides_runpath
-
-# How to hardcode a shared library path into an executable.
-hardcode_action=$hardcode_action_F77
-
-# Whether we should hardcode library paths into libraries.
-hardcode_into_libs=$hardcode_into_libs
-
-# Flag to hardcode \$libdir into a binary during linking.
-# This must work even if \$libdir does not exist.
-hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_F77
-
-# If ld is used when linking, flag to hardcode \$libdir into
-# a binary during linking. This must work even if \$libdir does
-# not exist.
-hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld_F77
-
-# Whether we need a single -rpath flag with a separated argument.
-hardcode_libdir_separator=$lt_hardcode_libdir_separator_F77
-
-# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the
-# resulting binary.
-hardcode_direct=$hardcode_direct_F77
-
-# Set to yes if using the -LDIR flag during linking hardcodes DIR into the
-# resulting binary.
-hardcode_minus_L=$hardcode_minus_L_F77
-
-# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into
-# the resulting binary.
-hardcode_shlibpath_var=$hardcode_shlibpath_var_F77
-
-# Set to yes if building a shared library automatically hardcodes DIR into the library
-# and all subsequent libraries and executables linked against it.
-hardcode_automatic=$hardcode_automatic_F77
-
-# Variables whose values should be saved in libtool wrapper scripts and
-# restored at relink time.
-variables_saved_for_relink="$variables_saved_for_relink"
-
-# Whether libtool must link a program against all its dependency libraries.
-link_all_deplibs=$link_all_deplibs_F77
-
-# Compile-time system search path for libraries
-sys_lib_search_path_spec=$lt_sys_lib_search_path_spec
-
-# Run-time system search path for libraries
-sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec
-
-# Fix the shell variable \$srcfile for the compiler.
-fix_srcfile_path=$lt_fix_srcfile_path
-
-# Set to yes if exported symbols are required.
-always_export_symbols=$always_export_symbols_F77
-
-# The commands to list exported symbols.
-export_symbols_cmds=$lt_export_symbols_cmds_F77
-
-# The commands to extract the exported symbol list from a shared archive.
-extract_expsyms_cmds=$lt_extract_expsyms_cmds
-
-# Symbols that should not be listed in the preloaded symbols.
-exclude_expsyms=$lt_exclude_expsyms_F77
-
-# Symbols that must always be exported.
-include_expsyms=$lt_include_expsyms_F77
-
-# ### END LIBTOOL TAG CONFIG: $tagname
-
-__EOF__
-
-
-else
- # If there is no Makefile yet, we rely on a make rule to execute
- # `config.status --recheck' to rerun these tests and create the
- # libtool script then.
- ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'`
- if test -f "$ltmain_in"; then
- test -f Makefile && make "$ltmain"
- fi
-fi
-
-
-ac_ext=cpp
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
-CC="$lt_save_CC"
-
- else
- tagname=""
- fi
- ;;
-
- GCJ)
- if test -n "$GCJ" && test "X$GCJ" != "Xno"; then
-
-
-# Source file extension for Java test sources.
-ac_ext=java
-
-# Object file extension for compiled Java test sources.
-objext=o
-objext_GCJ=$objext
-
-# Code to be used in simple compile tests
-lt_simple_compile_test_code="class foo {}"
-
-# Code to be used in simple link tests
-lt_simple_link_test_code='public class conftest { public static void main(String[] argv) {}; }'
-
-# ltmain only uses $CC for tagged configurations so make sure $CC is set.
-
-# If no C compiler was specified, use CC.
-LTCC=${LTCC-"$CC"}
-
-# If no C compiler flags were specified, use CFLAGS.
-LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
-
-# Allow CC to be a program name with arguments.
-compiler=$CC
-
-
-# save warnings/boilerplate of simple test code
-ac_outfile=conftest.$ac_objext
-echo "$lt_simple_compile_test_code" >conftest.$ac_ext
-eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
-_lt_compiler_boilerplate=`cat conftest.err`
-$rm conftest*
-
-ac_outfile=conftest.$ac_objext
-echo "$lt_simple_link_test_code" >conftest.$ac_ext
-eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
-_lt_linker_boilerplate=`cat conftest.err`
-$rm conftest*
-
-
-# Allow CC to be a program name with arguments.
-lt_save_CC="$CC"
-CC=${GCJ-"gcj"}
-compiler=$CC
-compiler_GCJ=$CC
-for cc_temp in $compiler""; do
- case $cc_temp in
- compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
- distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
- \-*) ;;
- *) break;;
- esac
-done
-cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
-
-
-# GCJ did not exist at the time GCC didn't implicitly link libc in.
-archive_cmds_need_lc_GCJ=no
-
-old_archive_cmds_GCJ=$old_archive_cmds
-
-
-lt_prog_compiler_no_builtin_flag_GCJ=
-
-if test "$GCC" = yes; then
- lt_prog_compiler_no_builtin_flag_GCJ=' -fno-builtin'
-
-
-{ echo "$as_me:$LINENO: checking if $compiler supports -fno-rtti -fno-exceptions" >&5
-echo $ECHO_N "checking if $compiler supports -fno-rtti -fno-exceptions... $ECHO_C" >&6; }
-if test "${lt_cv_prog_compiler_rtti_exceptions+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- lt_cv_prog_compiler_rtti_exceptions=no
- ac_outfile=conftest.$ac_objext
- echo "$lt_simple_compile_test_code" > conftest.$ac_ext
- lt_compiler_flag="-fno-rtti -fno-exceptions"
- # Insert the option either (1) after the last *FLAGS variable, or
- # (2) before a word containing "conftest.", or (3) at the end.
- # Note that $ac_compile itself does not contain backslashes and begins
- # with a dollar sign (not a hyphen), so the echo should work correctly.
- # The option is referenced via a variable to avoid confusing sed.
- lt_compile=`echo "$ac_compile" | $SED \
- -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
- -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
- -e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:16421: $lt_compile\"" >&5)
- (eval "$lt_compile" 2>conftest.err)
- ac_status=$?
- cat conftest.err >&5
- echo "$as_me:16425: \$? = $ac_status" >&5
- if (exit $ac_status) && test -s "$ac_outfile"; then
- # The compiler can only warn and ignore the option if not recognized
- # So say no if there are warnings other than the usual output.
- $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp
- $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
- if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
- lt_cv_prog_compiler_rtti_exceptions=yes
- fi
- fi
- $rm conftest*
-
-fi
-{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_rtti_exceptions" >&5
-echo "${ECHO_T}$lt_cv_prog_compiler_rtti_exceptions" >&6; }
-
-if test x"$lt_cv_prog_compiler_rtti_exceptions" = xyes; then
- lt_prog_compiler_no_builtin_flag_GCJ="$lt_prog_compiler_no_builtin_flag_GCJ -fno-rtti -fno-exceptions"
-else
- :
-fi
-
-fi
-
-lt_prog_compiler_wl_GCJ=
-lt_prog_compiler_pic_GCJ=
-lt_prog_compiler_static_GCJ=
-
-{ echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5
-echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; }
-
- if test "$GCC" = yes; then
- lt_prog_compiler_wl_GCJ='-Wl,'
- lt_prog_compiler_static_GCJ='-static'
-
- case $host_os in
- aix*)
- # All AIX code is PIC.
- if test "$host_cpu" = ia64; then
- # AIX 5 now supports IA64 processor
- lt_prog_compiler_static_GCJ='-Bstatic'
- fi
- ;;
-
- amigaos*)
- # FIXME: we need at least 68020 code to build shared libraries, but
- # adding the `-m68020' flag to GCC prevents building anything better,
- # like `-m68040'.
- lt_prog_compiler_pic_GCJ='-m68020 -resident32 -malways-restore-a4'
- ;;
-
- beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
- # PIC is the default for these OSes.
- ;;
-
- mingw* | cygwin* | pw32* | os2*)
- # This hack is so that the source file can tell whether it is being
- # built for inclusion in a dll (and should export symbols for example).
- # Although the cygwin gcc ignores -fPIC, still need this for old-style
- # (--disable-auto-import) libraries
- lt_prog_compiler_pic_GCJ='-DDLL_EXPORT'
- ;;
-
- darwin* | rhapsody*)
- # PIC is the default on this platform
- # Common symbols not allowed in MH_DYLIB files
- lt_prog_compiler_pic_GCJ='-fno-common'
- ;;
-
- interix[3-9]*)
- # Interix 3.x gcc -fpic/-fPIC options generate broken code.
- # Instead, we relocate shared libraries at runtime.
- ;;
-
- msdosdjgpp*)
- # Just because we use GCC doesn't mean we suddenly get shared libraries
- # on systems that don't support them.
- lt_prog_compiler_can_build_shared_GCJ=no
- enable_shared=no
- ;;
-
- sysv4*MP*)
- if test -d /usr/nec; then
- lt_prog_compiler_pic_GCJ=-Kconform_pic
- fi
- ;;
-
- hpux*)
- # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
- # not for PA HP-UX.
- case $host_cpu in
- hppa*64*|ia64*)
- # +Z the default
- ;;
- *)
- lt_prog_compiler_pic_GCJ='-fPIC'
- ;;
- esac
- ;;
-
- *)
- lt_prog_compiler_pic_GCJ='-fPIC'
- ;;
- esac
- else
- # PORTME Check for flag to pass linker flags through the system compiler.
- case $host_os in
- aix*)
- lt_prog_compiler_wl_GCJ='-Wl,'
- if test "$host_cpu" = ia64; then
- # AIX 5 now supports IA64 processor
- lt_prog_compiler_static_GCJ='-Bstatic'
- else
- lt_prog_compiler_static_GCJ='-bnso -bI:/lib/syscalls.exp'
- fi
- ;;
- darwin*)
- # PIC is the default on this platform
- # Common symbols not allowed in MH_DYLIB files
- case $cc_basename in
- xlc*)
- lt_prog_compiler_pic_GCJ='-qnocommon'
- lt_prog_compiler_wl_GCJ='-Wl,'
- ;;
- esac
- ;;
-
- mingw* | cygwin* | pw32* | os2*)
- # This hack is so that the source file can tell whether it is being
- # built for inclusion in a dll (and should export symbols for example).
- lt_prog_compiler_pic_GCJ='-DDLL_EXPORT'
- ;;
-
- hpux9* | hpux10* | hpux11*)
- lt_prog_compiler_wl_GCJ='-Wl,'
- # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
- # not for PA HP-UX.
- case $host_cpu in
- hppa*64*|ia64*)
- # +Z the default
- ;;
- *)
- lt_prog_compiler_pic_GCJ='+Z'
- ;;
- esac
- # Is there a better lt_prog_compiler_static that works with the bundled CC?
- lt_prog_compiler_static_GCJ='${wl}-a ${wl}archive'
- ;;
-
- irix5* | irix6* | nonstopux*)
- lt_prog_compiler_wl_GCJ='-Wl,'
- # PIC (with -KPIC) is the default.
- lt_prog_compiler_static_GCJ='-non_shared'
- ;;
-
- newsos6)
- lt_prog_compiler_pic_GCJ='-KPIC'
- lt_prog_compiler_static_GCJ='-Bstatic'
- ;;
-
- linux* | k*bsd*-gnu)
- case $cc_basename in
- icc* | ecc*)
- lt_prog_compiler_wl_GCJ='-Wl,'
- lt_prog_compiler_pic_GCJ='-KPIC'
- lt_prog_compiler_static_GCJ='-static'
- ;;
- pgcc* | pgf77* | pgf90* | pgf95*)
- # Portland Group compilers (*not* the Pentium gcc compiler,
- # which looks to be a dead project)
- lt_prog_compiler_wl_GCJ='-Wl,'
- lt_prog_compiler_pic_GCJ='-fpic'
- lt_prog_compiler_static_GCJ='-Bstatic'
- ;;
- ccc*)
- lt_prog_compiler_wl_GCJ='-Wl,'
- # All Alpha code is PIC.
- lt_prog_compiler_static_GCJ='-non_shared'
- ;;
- *)
- case `$CC -V 2>&1 | sed 5q` in
- *Sun\ C*)
- # Sun C 5.9
- lt_prog_compiler_pic_GCJ='-KPIC'
- lt_prog_compiler_static_GCJ='-Bstatic'
- lt_prog_compiler_wl_GCJ='-Wl,'
- ;;
- *Sun\ F*)
- # Sun Fortran 8.3 passes all unrecognized flags to the linker
- lt_prog_compiler_pic_GCJ='-KPIC'
- lt_prog_compiler_static_GCJ='-Bstatic'
- lt_prog_compiler_wl_GCJ=''
- ;;
- esac
- ;;
- esac
- ;;
-
- osf3* | osf4* | osf5*)
- lt_prog_compiler_wl_GCJ='-Wl,'
- # All OSF/1 code is PIC.
- lt_prog_compiler_static_GCJ='-non_shared'
- ;;
-
- rdos*)
- lt_prog_compiler_static_GCJ='-non_shared'
- ;;
-
- solaris*)
- lt_prog_compiler_pic_GCJ='-KPIC'
- lt_prog_compiler_static_GCJ='-Bstatic'
- case $cc_basename in
- f77* | f90* | f95*)
- lt_prog_compiler_wl_GCJ='-Qoption ld ';;
- *)
- lt_prog_compiler_wl_GCJ='-Wl,';;
- esac
- ;;
-
- sunos4*)
- lt_prog_compiler_wl_GCJ='-Qoption ld '
- lt_prog_compiler_pic_GCJ='-PIC'
- lt_prog_compiler_static_GCJ='-Bstatic'
- ;;
-
- sysv4 | sysv4.2uw2* | sysv4.3*)
- lt_prog_compiler_wl_GCJ='-Wl,'
- lt_prog_compiler_pic_GCJ='-KPIC'
- lt_prog_compiler_static_GCJ='-Bstatic'
- ;;
-
- sysv4*MP*)
- if test -d /usr/nec ;then
- lt_prog_compiler_pic_GCJ='-Kconform_pic'
- lt_prog_compiler_static_GCJ='-Bstatic'
- fi
- ;;
-
- sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
- lt_prog_compiler_wl_GCJ='-Wl,'
- lt_prog_compiler_pic_GCJ='-KPIC'
- lt_prog_compiler_static_GCJ='-Bstatic'
- ;;
-
- unicos*)
- lt_prog_compiler_wl_GCJ='-Wl,'
- lt_prog_compiler_can_build_shared_GCJ=no
- ;;
-
- uts4*)
- lt_prog_compiler_pic_GCJ='-pic'
- lt_prog_compiler_static_GCJ='-Bstatic'
- ;;
-
- *)
- lt_prog_compiler_can_build_shared_GCJ=no
- ;;
- esac
- fi
-
-{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_GCJ" >&5
-echo "${ECHO_T}$lt_prog_compiler_pic_GCJ" >&6; }
-
-#
-# Check to make sure the PIC flag actually works.
-#
-if test -n "$lt_prog_compiler_pic_GCJ"; then
-
-{ echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic_GCJ works" >&5
-echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic_GCJ works... $ECHO_C" >&6; }
-if test "${lt_prog_compiler_pic_works_GCJ+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- lt_prog_compiler_pic_works_GCJ=no
- ac_outfile=conftest.$ac_objext
- echo "$lt_simple_compile_test_code" > conftest.$ac_ext
- lt_compiler_flag="$lt_prog_compiler_pic_GCJ"
- # Insert the option either (1) after the last *FLAGS variable, or
- # (2) before a word containing "conftest.", or (3) at the end.
- # Note that $ac_compile itself does not contain backslashes and begins
- # with a dollar sign (not a hyphen), so the echo should work correctly.
- # The option is referenced via a variable to avoid confusing sed.
- lt_compile=`echo "$ac_compile" | $SED \
- -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
- -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
- -e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:16711: $lt_compile\"" >&5)
- (eval "$lt_compile" 2>conftest.err)
- ac_status=$?
- cat conftest.err >&5
- echo "$as_me:16715: \$? = $ac_status" >&5
- if (exit $ac_status) && test -s "$ac_outfile"; then
- # The compiler can only warn and ignore the option if not recognized
- # So say no if there are warnings other than the usual output.
- $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp
- $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
- if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
- lt_prog_compiler_pic_works_GCJ=yes
- fi
- fi
- $rm conftest*
-
-fi
-{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_works_GCJ" >&5
-echo "${ECHO_T}$lt_prog_compiler_pic_works_GCJ" >&6; }
-
-if test x"$lt_prog_compiler_pic_works_GCJ" = xyes; then
- case $lt_prog_compiler_pic_GCJ in
- "" | " "*) ;;
- *) lt_prog_compiler_pic_GCJ=" $lt_prog_compiler_pic_GCJ" ;;
- esac
-else
- lt_prog_compiler_pic_GCJ=
- lt_prog_compiler_can_build_shared_GCJ=no
-fi
-
-fi
-case $host_os in
- # For platforms which do not support PIC, -DPIC is meaningless:
- *djgpp*)
- lt_prog_compiler_pic_GCJ=
- ;;
- *)
- lt_prog_compiler_pic_GCJ="$lt_prog_compiler_pic_GCJ"
- ;;
-esac
-
-#
-# Check to make sure the static flag actually works.
-#
-wl=$lt_prog_compiler_wl_GCJ eval lt_tmp_static_flag=\"$lt_prog_compiler_static_GCJ\"
-{ echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5
-echo $ECHO_N "checking if $compiler static flag $lt_tmp_static_flag works... $ECHO_C" >&6; }
-if test "${lt_prog_compiler_static_works_GCJ+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- lt_prog_compiler_static_works_GCJ=no
- save_LDFLAGS="$LDFLAGS"
- LDFLAGS="$LDFLAGS $lt_tmp_static_flag"
- echo "$lt_simple_link_test_code" > conftest.$ac_ext
- if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
- # The linker can only warn and ignore the option if not recognized
- # So say no if there are warnings
- if test -s conftest.err; then
- # Append any errors to the config.log.
- cat conftest.err 1>&5
- $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp
- $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
- if diff conftest.exp conftest.er2 >/dev/null; then
- lt_prog_compiler_static_works_GCJ=yes
- fi
- else
- lt_prog_compiler_static_works_GCJ=yes
- fi
- fi
- $rm conftest*
- LDFLAGS="$save_LDFLAGS"
-
-fi
-{ echo "$as_me:$LINENO: result: $lt_prog_compiler_static_works_GCJ" >&5
-echo "${ECHO_T}$lt_prog_compiler_static_works_GCJ" >&6; }
-
-if test x"$lt_prog_compiler_static_works_GCJ" = xyes; then
- :
-else
- lt_prog_compiler_static_GCJ=
-fi
-
-
-{ echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5
-echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6; }
-if test "${lt_cv_prog_compiler_c_o_GCJ+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- lt_cv_prog_compiler_c_o_GCJ=no
- $rm -r conftest 2>/dev/null
- mkdir conftest
- cd conftest
- mkdir out
- echo "$lt_simple_compile_test_code" > conftest.$ac_ext
-
- lt_compiler_flag="-o out/conftest2.$ac_objext"
- # Insert the option either (1) after the last *FLAGS variable, or
- # (2) before a word containing "conftest.", or (3) at the end.
- # Note that $ac_compile itself does not contain backslashes and begins
- # with a dollar sign (not a hyphen), so the echo should work correctly.
- lt_compile=`echo "$ac_compile" | $SED \
- -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
- -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
- -e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:16815: $lt_compile\"" >&5)
- (eval "$lt_compile" 2>out/conftest.err)
- ac_status=$?
- cat out/conftest.err >&5
- echo "$as_me:16819: \$? = $ac_status" >&5
- if (exit $ac_status) && test -s out/conftest2.$ac_objext
- then
- # The compiler can only warn and ignore the option if not recognized
- # So say no if there are warnings
- $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp
- $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
- if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
- lt_cv_prog_compiler_c_o_GCJ=yes
- fi
- fi
- chmod u+w . 2>&5
- $rm conftest*
- # SGI C++ compiler will create directory out/ii_files/ for
- # template instantiation
- test -d out/ii_files && $rm out/ii_files/* && rmdir out/ii_files
- $rm out/* && rmdir out
- cd ..
- rmdir conftest
- $rm conftest*
-
-fi
-{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o_GCJ" >&5
-echo "${ECHO_T}$lt_cv_prog_compiler_c_o_GCJ" >&6; }
-
-
-hard_links="nottested"
-if test "$lt_cv_prog_compiler_c_o_GCJ" = no && test "$need_locks" != no; then
- # do not overwrite the value of need_locks provided by the user
- { echo "$as_me:$LINENO: checking if we can lock with hard links" >&5
-echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6; }
- hard_links=yes
- $rm conftest*
- ln conftest.a conftest.b 2>/dev/null && hard_links=no
- touch conftest.a
- ln conftest.a conftest.b 2>&5 || hard_links=no
- ln conftest.a conftest.b 2>/dev/null && hard_links=no
- { echo "$as_me:$LINENO: result: $hard_links" >&5
-echo "${ECHO_T}$hard_links" >&6; }
- if test "$hard_links" = no; then
- { echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5
-echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;}
- need_locks=warn
- fi
-else
- need_locks=no
-fi
-
-{ echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5
-echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6; }
-
- runpath_var=
- allow_undefined_flag_GCJ=
- enable_shared_with_static_runtimes_GCJ=no
- archive_cmds_GCJ=
- archive_expsym_cmds_GCJ=
- old_archive_From_new_cmds_GCJ=
- old_archive_from_expsyms_cmds_GCJ=
- export_dynamic_flag_spec_GCJ=
- whole_archive_flag_spec_GCJ=
- thread_safe_flag_spec_GCJ=
- hardcode_libdir_flag_spec_GCJ=
- hardcode_libdir_flag_spec_ld_GCJ=
- hardcode_libdir_separator_GCJ=
- hardcode_direct_GCJ=no
- hardcode_minus_L_GCJ=no
- hardcode_shlibpath_var_GCJ=unsupported
- link_all_deplibs_GCJ=unknown
- hardcode_automatic_GCJ=no
- module_cmds_GCJ=
- module_expsym_cmds_GCJ=
- always_export_symbols_GCJ=no
- export_symbols_cmds_GCJ='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
- # include_expsyms should be a list of space-separated symbols to be *always*
- # included in the symbol list
- include_expsyms_GCJ=
- # exclude_expsyms can be an extended regexp of symbols to exclude
- # it will be wrapped by ` (' and `)$', so one must not match beginning or
- # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc',
- # as well as any symbol that contains `d'.
- exclude_expsyms_GCJ="_GLOBAL_OFFSET_TABLE_"
- # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out
- # platforms (ab)use it in PIC code, but their linkers get confused if
- # the symbol is explicitly referenced. Since portable code cannot
- # rely on this symbol name, it's probably fine to never include it in
- # preloaded symbol tables.
- extract_expsyms_cmds=
- # Just being paranoid about ensuring that cc_basename is set.
- for cc_temp in $compiler""; do
- case $cc_temp in
- compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
- distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
- \-*) ;;
- *) break;;
- esac
-done
-cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
-
- case $host_os in
- cygwin* | mingw* | pw32*)
- # FIXME: the MSVC++ port hasn't been tested in a loooong time
- # When not using gcc, we currently assume that we are using
- # Microsoft Visual C++.
- if test "$GCC" != yes; then
- with_gnu_ld=no
- fi
- ;;
- interix*)
- # we just hope/assume this is gcc and not c89 (= MSVC++)
- with_gnu_ld=yes
- ;;
- openbsd*)
- with_gnu_ld=no
- ;;
- esac
-
- ld_shlibs_GCJ=yes
- if test "$with_gnu_ld" = yes; then
- # If archive_cmds runs LD, not CC, wlarc should be empty
- wlarc='${wl}'
-
- # Set some defaults for GNU ld with shared library support. These
- # are reset later if shared libraries are not supported. Putting them
- # here allows them to be overridden if necessary.
- runpath_var=LD_RUN_PATH
- hardcode_libdir_flag_spec_GCJ='${wl}--rpath ${wl}$libdir'
- export_dynamic_flag_spec_GCJ='${wl}--export-dynamic'
- # ancient GNU ld didn't support --whole-archive et. al.
- if $LD --help 2>&1 | grep 'no-whole-archive' > /dev/null; then
- whole_archive_flag_spec_GCJ="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
- else
- whole_archive_flag_spec_GCJ=
- fi
- supports_anon_versioning=no
- case `$LD -v 2>/dev/null` in
- *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11
- *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ...
- *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ...
- *\ 2.11.*) ;; # other 2.11 versions
- *) supports_anon_versioning=yes ;;
- esac
-
- # See if GNU ld supports shared libraries.
- case $host_os in
- aix3* | aix4* | aix5*)
- # On AIX/PPC, the GNU linker is very broken
- if test "$host_cpu" != ia64; then
- ld_shlibs_GCJ=no
- cat <<EOF 1>&2
-
-*** Warning: the GNU linker, at least up to release 2.9.1, is reported
-*** to be unable to reliably create shared libraries on AIX.
-*** Therefore, libtool is disabling shared libraries support. If you
-*** really care for shared libraries, you may want to modify your PATH
-*** so that a non-GNU linker is found, and then restart.
-
-EOF
- fi
- ;;
-
- amigaos*)
- archive_cmds_GCJ='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
- hardcode_libdir_flag_spec_GCJ='-L$libdir'
- hardcode_minus_L_GCJ=yes
-
- # Samuel A. Falvo II <kc5tja@dolphin.openprojects.net> reports
- # that the semantics of dynamic libraries on AmigaOS, at least up
- # to version 4, is to share data among multiple programs linked
- # with the same dynamic library. Since this doesn't match the
- # behavior of shared libraries on other platforms, we can't use
- # them.
- ld_shlibs_GCJ=no
- ;;
-
- beos*)
- if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
- allow_undefined_flag_GCJ=unsupported
- # Joseph Beckenbach <jrb3@best.com> says some releases of gcc
- # support --undefined. This deserves some investigation. FIXME
- archive_cmds_GCJ='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- else
- ld_shlibs_GCJ=no
- fi
- ;;
-
- cygwin* | mingw* | pw32*)
- # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, GCJ) is actually meaningless,
- # as there is no search path for DLLs.
- hardcode_libdir_flag_spec_GCJ='-L$libdir'
- allow_undefined_flag_GCJ=unsupported
- always_export_symbols_GCJ=no
- enable_shared_with_static_runtimes_GCJ=yes
- export_symbols_cmds_GCJ='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/'\'' -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols'
-
- if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then
- archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
- # If the export-symbols file already is a .def file (1st line
- # is EXPORTS), use it as is; otherwise, prepend...
- archive_expsym_cmds_GCJ='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
- cp $export_symbols $output_objdir/$soname.def;
- else
- echo EXPORTS > $output_objdir/$soname.def;
- cat $export_symbols >> $output_objdir/$soname.def;
- fi~
- $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
- else
- ld_shlibs_GCJ=no
- fi
- ;;
-
- interix[3-9]*)
- hardcode_direct_GCJ=no
- hardcode_shlibpath_var_GCJ=no
- hardcode_libdir_flag_spec_GCJ='${wl}-rpath,$libdir'
- export_dynamic_flag_spec_GCJ='${wl}-E'
- # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
- # Instead, shared libraries are loaded at an image base (0x10000000 by
- # default) and relocated if they conflict, which is a slow very memory
- # consuming and fragmenting process. To avoid this, we pick a random,
- # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
- # time. Moving up from 0x10000000 also allows more sbrk(2) space.
- archive_cmds_GCJ='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
- archive_expsym_cmds_GCJ='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
- ;;
-
- gnu* | linux* | k*bsd*-gnu)
- if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
- tmp_addflag=
- case $cc_basename,$host_cpu in
- pgcc*) # Portland Group C compiler
- whole_archive_flag_spec_GCJ='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
- tmp_addflag=' $pic_flag'
- ;;
- pgf77* | pgf90* | pgf95*) # Portland Group f77 and f90 compilers
- whole_archive_flag_spec_GCJ='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
- tmp_addflag=' $pic_flag -Mnomain' ;;
- ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64
- tmp_addflag=' -i_dynamic' ;;
- efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64
- tmp_addflag=' -i_dynamic -nofor_main' ;;
- ifc* | ifort*) # Intel Fortran compiler
- tmp_addflag=' -nofor_main' ;;
- esac
- case `$CC -V 2>&1 | sed 5q` in
- *Sun\ C*) # Sun C 5.9
- whole_archive_flag_spec_GCJ='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
- tmp_sharedflag='-G' ;;
- *Sun\ F*) # Sun Fortran 8.3
- tmp_sharedflag='-G' ;;
- *)
- tmp_sharedflag='-shared' ;;
- esac
- archive_cmds_GCJ='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-
- if test $supports_anon_versioning = yes; then
- archive_expsym_cmds_GCJ='$echo "{ global:" > $output_objdir/$libname.ver~
- cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
- $echo "local: *; };" >> $output_objdir/$libname.ver~
- $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
- fi
- else
- ld_shlibs_GCJ=no
- fi
- ;;
-
- netbsd*)
- if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
- archive_cmds_GCJ='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
- wlarc=
- else
- archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- archive_expsym_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
- fi
- ;;
-
- solaris*)
- if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then
- ld_shlibs_GCJ=no
- cat <<EOF 1>&2
-
-*** Warning: The releases 2.8.* of the GNU linker cannot reliably
-*** create shared libraries on Solaris systems. Therefore, libtool
-*** is disabling shared libraries support. We urge you to upgrade GNU
-*** binutils to release 2.9.1 or newer. Another option is to modify
-*** your PATH or compiler configuration so that the native linker is
-*** used, and then restart.
-
-EOF
- elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
- archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- archive_expsym_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
- else
- ld_shlibs_GCJ=no
- fi
- ;;
-
- sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*)
- case `$LD -v 2>&1` in
- *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*)
- ld_shlibs_GCJ=no
- cat <<_LT_EOF 1>&2
-
-*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not
-*** reliably create shared libraries on SCO systems. Therefore, libtool
-*** is disabling shared libraries support. We urge you to upgrade GNU
-*** binutils to release 2.16.91.0.3 or newer. Another option is to modify
-*** your PATH or compiler configuration so that the native linker is
-*** used, and then restart.
-
-_LT_EOF
- ;;
- *)
- if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
- hardcode_libdir_flag_spec_GCJ='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`'
- archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib'
- archive_expsym_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname,-retain-symbols-file,$export_symbols -o $lib'
- else
- ld_shlibs_GCJ=no
- fi
- ;;
- esac
- ;;
-
- sunos4*)
- archive_cmds_GCJ='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags'
- wlarc=
- hardcode_direct_GCJ=yes
- hardcode_shlibpath_var_GCJ=no
- ;;
-
- *)
- if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
- archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- archive_expsym_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
- else
- ld_shlibs_GCJ=no
- fi
- ;;
- esac
-
- if test "$ld_shlibs_GCJ" = no; then
- runpath_var=
- hardcode_libdir_flag_spec_GCJ=
- export_dynamic_flag_spec_GCJ=
- whole_archive_flag_spec_GCJ=
- fi
- else
- # PORTME fill in a description of your system's linker (not GNU ld)
- case $host_os in
- aix3*)
- allow_undefined_flag_GCJ=unsupported
- always_export_symbols_GCJ=yes
- archive_expsym_cmds_GCJ='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname'
- # Note: this linker hardcodes the directories in LIBPATH if there
- # are no directories specified by -L.
- hardcode_minus_L_GCJ=yes
- if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then
- # Neither direct hardcoding nor static linking is supported with a
- # broken collect2.
- hardcode_direct_GCJ=unsupported
- fi
- ;;
-
- aix4* | aix5*)
- if test "$host_cpu" = ia64; then
- # On IA64, the linker does run time linking by default, so we don't
- # have to do anything special.
- aix_use_runtimelinking=no
- exp_sym_flag='-Bexport'
- no_entry_flag=""
- else
- # If we're using GNU nm, then we don't want the "-C" option.
- # -C means demangle to AIX nm, but means don't demangle with GNU nm
- if $NM -V 2>&1 | grep 'GNU' > /dev/null; then
- export_symbols_cmds_GCJ='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols'
- else
- export_symbols_cmds_GCJ='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols'
- fi
- aix_use_runtimelinking=no
-
- # Test if we are trying to use run time linking or normal
- # AIX style linking. If -brtl is somewhere in LDFLAGS, we
- # need to do runtime linking.
- case $host_os in aix4.[23]|aix4.[23].*|aix5*)
- for ld_flag in $LDFLAGS; do
- if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then
- aix_use_runtimelinking=yes
- break
- fi
- done
- ;;
- esac
-
- exp_sym_flag='-bexport'
- no_entry_flag='-bnoentry'
- fi
-
- # When large executables or shared objects are built, AIX ld can
- # have problems creating the table of contents. If linking a library
- # or program results in "error TOC overflow" add -mminimal-toc to
- # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not
- # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
-
- archive_cmds_GCJ=''
- hardcode_direct_GCJ=yes
- hardcode_libdir_separator_GCJ=':'
- link_all_deplibs_GCJ=yes
-
- if test "$GCC" = yes; then
- case $host_os in aix4.[012]|aix4.[012].*)
- # We only want to do this on AIX 4.2 and lower, the check
- # below for broken collect2 doesn't work under 4.3+
- collect2name=`${CC} -print-prog-name=collect2`
- if test -f "$collect2name" && \
- strings "$collect2name" | grep resolve_lib_name >/dev/null
- then
- # We have reworked collect2
- :
- else
- # We have old collect2
- hardcode_direct_GCJ=unsupported
- # It fails to find uninstalled libraries when the uninstalled
- # path is not listed in the libpath. Setting hardcode_minus_L
- # to unsupported forces relinking
- hardcode_minus_L_GCJ=yes
- hardcode_libdir_flag_spec_GCJ='-L$libdir'
- hardcode_libdir_separator_GCJ=
- fi
- ;;
- esac
- shared_flag='-shared'
- if test "$aix_use_runtimelinking" = yes; then
- shared_flag="$shared_flag "'${wl}-G'
- fi
- else
- # not using gcc
- if test "$host_cpu" = ia64; then
- # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
- # chokes on -Wl,-G. The following line is correct:
- shared_flag='-G'
- else
- if test "$aix_use_runtimelinking" = yes; then
- shared_flag='${wl}-G'
- else
- shared_flag='${wl}-bM:SRE'
- fi
- fi
- fi
-
- # It seems that -bexpall does not export symbols beginning with
- # underscore (_), so it is better to generate a list of symbols to export.
- always_export_symbols_GCJ=yes
- if test "$aix_use_runtimelinking" = yes; then
- # Warning - without using the other runtime loading flags (-brtl),
- # -berok will link without error, but may produce a broken library.
- allow_undefined_flag_GCJ='-berok'
- # Determine the default libpath from the value encoded in an empty executable.
- cat >conftest.$ac_ext <<_ACEOF
+ # Some binutils ld are patched to set DT_RUNPATH
+ save_LDFLAGS=$LDFLAGS
+ save_libdir=$libdir
+ eval "libdir=/foo; wl=\"$lt_prog_compiler_wl_CXX\"; \
+ LDFLAGS=\"\$LDFLAGS $hardcode_libdir_flag_spec_CXX\""
+ cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
@@ -17294,987 +14946,47 @@ case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
(eval "$ac_link") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
test -z "$ac_cxx_werror_flag" ||
test ! -s conftest.err
- } && test -s conftest$ac_exeext &&
- $as_test_x conftest$ac_exeext; then
-
-lt_aix_libpath_sed='
- /Import File Strings/,/^$/ {
- /^0/ {
- s/^0 *\(.*\)$/\1/
- p
- }
- }'
-aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
-# Check for a 64-bit object if we didn't find anything.
-if test -z "$aix_libpath"; then
- aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
-fi
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
+ if ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null; then
+ shlibpath_overrides_runpath=yes
fi
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
- conftest$ac_exeext conftest.$ac_ext
-if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
-
- hardcode_libdir_flag_spec_GCJ='${wl}-blibpath:$libdir:'"$aix_libpath"
- archive_expsym_cmds_GCJ="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
- else
- if test "$host_cpu" = ia64; then
- hardcode_libdir_flag_spec_GCJ='${wl}-R $libdir:/usr/lib:/lib'
- allow_undefined_flag_GCJ="-z nodefs"
- archive_expsym_cmds_GCJ="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols"
- else
- # Determine the default libpath from the value encoded in an empty executable.
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_link") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_cxx_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest$ac_exeext &&
- $as_test_x conftest$ac_exeext; then
-
-lt_aix_libpath_sed='
- /Import File Strings/,/^$/ {
- /^0/ {
- s/^0 *\(.*\)$/\1/
- p
- }
- }'
-aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
-# Check for a 64-bit object if we didn't find anything.
-if test -z "$aix_libpath"; then
- aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
-fi
else
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
fi
+rm -rf conftest.dSYM
rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
conftest$ac_exeext conftest.$ac_ext
-if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
-
- hardcode_libdir_flag_spec_GCJ='${wl}-blibpath:$libdir:'"$aix_libpath"
- # Warning - without using the other run time loading flags,
- # -berok will link without error, but may produce a broken library.
- no_undefined_flag_GCJ=' ${wl}-bernotok'
- allow_undefined_flag_GCJ=' ${wl}-berok'
- # Exported symbols can be pulled into shared objects from archives
- whole_archive_flag_spec_GCJ='$convenience'
- archive_cmds_need_lc_GCJ=yes
- # This is similar to how AIX traditionally builds its shared libraries.
- archive_expsym_cmds_GCJ="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
- fi
- fi
- ;;
-
- amigaos*)
- archive_cmds_GCJ='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
- hardcode_libdir_flag_spec_GCJ='-L$libdir'
- hardcode_minus_L_GCJ=yes
- # see comment about different semantics on the GNU ld section
- ld_shlibs_GCJ=no
- ;;
-
- bsdi[45]*)
- export_dynamic_flag_spec_GCJ=-rdynamic
- ;;
+ LDFLAGS=$save_LDFLAGS
+ libdir=$save_libdir
- cygwin* | mingw* | pw32*)
- # When not using gcc, we currently assume that we are using
- # Microsoft Visual C++.
- # hardcode_libdir_flag_spec is actually meaningless, as there is
- # no search path for DLLs.
- hardcode_libdir_flag_spec_GCJ=' '
- allow_undefined_flag_GCJ=unsupported
- # Tell ltmain to make .lib files, not .a files.
- libext=lib
- # Tell ltmain to make .dll files, not .so files.
- shrext_cmds=".dll"
- # FIXME: Setting linknames here is a bad hack.
- archive_cmds_GCJ='$CC -o $lib $libobjs $compiler_flags `echo "$deplibs" | $SED -e '\''s/ -lc$//'\''` -link -dll~linknames='
- # The linker will automatically build a .lib file if we build a DLL.
- old_archive_From_new_cmds_GCJ='true'
- # FIXME: Should let the user specify the lib program.
- old_archive_cmds_GCJ='lib -OUT:$oldlib$oldobjs$old_deplibs'
- fix_srcfile_path_GCJ='`cygpath -w "$srcfile"`'
- enable_shared_with_static_runtimes_GCJ=yes
- ;;
-
- darwin* | rhapsody*)
- case $host_os in
- rhapsody* | darwin1.[012])
- allow_undefined_flag_GCJ='${wl}-undefined ${wl}suppress'
- ;;
- *) # Darwin 1.3 on
- if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then
- allow_undefined_flag_GCJ='${wl}-flat_namespace ${wl}-undefined ${wl}suppress'
- else
- case ${MACOSX_DEPLOYMENT_TARGET} in
- 10.[012])
- allow_undefined_flag_GCJ='${wl}-flat_namespace ${wl}-undefined ${wl}suppress'
- ;;
- 10.*)
- allow_undefined_flag_GCJ='${wl}-undefined ${wl}dynamic_lookup'
- ;;
- esac
- fi
- ;;
- esac
- archive_cmds_need_lc_GCJ=no
- hardcode_direct_GCJ=no
- hardcode_automatic_GCJ=yes
- hardcode_shlibpath_var_GCJ=unsupported
- whole_archive_flag_spec_GCJ=''
- link_all_deplibs_GCJ=yes
- if test "$GCC" = yes ; then
- output_verbose_link_cmd='echo'
- archive_cmds_GCJ='$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring'
- module_cmds_GCJ='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
- # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds
- archive_expsym_cmds_GCJ='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
- module_expsym_cmds_GCJ='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
- else
- case $cc_basename in
- xlc*)
- output_verbose_link_cmd='echo'
- archive_cmds_GCJ='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $xlcverstring'
- module_cmds_GCJ='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
- # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds
- archive_expsym_cmds_GCJ='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $xlcverstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
- module_expsym_cmds_GCJ='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
- ;;
- *)
- ld_shlibs_GCJ=no
- ;;
- esac
- fi
- ;;
-
- dgux*)
- archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- hardcode_libdir_flag_spec_GCJ='-L$libdir'
- hardcode_shlibpath_var_GCJ=no
- ;;
-
- freebsd1*)
- ld_shlibs_GCJ=no
- ;;
-
- # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor
- # support. Future versions do this automatically, but an explicit c++rt0.o
- # does not break anything, and helps significantly (at the cost of a little
- # extra space).
- freebsd2.2*)
- archive_cmds_GCJ='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o'
- hardcode_libdir_flag_spec_GCJ='-R$libdir'
- hardcode_direct_GCJ=yes
- hardcode_shlibpath_var_GCJ=no
- ;;
-
- # Unfortunately, older versions of FreeBSD 2 do not have this feature.
- freebsd2*)
- archive_cmds_GCJ='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
- hardcode_direct_GCJ=yes
- hardcode_minus_L_GCJ=yes
- hardcode_shlibpath_var_GCJ=no
- ;;
-
- # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
- freebsd* | dragonfly*)
- archive_cmds_GCJ='$CC -shared -o $lib $libobjs $deplibs $compiler_flags'
- hardcode_libdir_flag_spec_GCJ='-R$libdir'
- hardcode_direct_GCJ=yes
- hardcode_shlibpath_var_GCJ=no
- ;;
-
- hpux9*)
- if test "$GCC" = yes; then
- archive_cmds_GCJ='$rm $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
- else
- archive_cmds_GCJ='$rm $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
- fi
- hardcode_libdir_flag_spec_GCJ='${wl}+b ${wl}$libdir'
- hardcode_libdir_separator_GCJ=:
- hardcode_direct_GCJ=yes
-
- # hardcode_minus_L: Not really in the search PATH,
- # but as the default location of the library.
- hardcode_minus_L_GCJ=yes
- export_dynamic_flag_spec_GCJ='${wl}-E'
- ;;
-
- hpux10*)
- if test "$GCC" = yes -a "$with_gnu_ld" = no; then
- archive_cmds_GCJ='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
- else
- archive_cmds_GCJ='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
- fi
- if test "$with_gnu_ld" = no; then
- hardcode_libdir_flag_spec_GCJ='${wl}+b ${wl}$libdir'
- hardcode_libdir_separator_GCJ=:
-
- hardcode_direct_GCJ=yes
- export_dynamic_flag_spec_GCJ='${wl}-E'
-
- # hardcode_minus_L: Not really in the search PATH,
- # but as the default location of the library.
- hardcode_minus_L_GCJ=yes
- fi
- ;;
-
- hpux11*)
- if test "$GCC" = yes -a "$with_gnu_ld" = no; then
- case $host_cpu in
- hppa*64*)
- archive_cmds_GCJ='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- ia64*)
- archive_cmds_GCJ='$CC -shared ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- *)
- archive_cmds_GCJ='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- esac
- else
- case $host_cpu in
- hppa*64*)
- archive_cmds_GCJ='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- ia64*)
- archive_cmds_GCJ='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- *)
- archive_cmds_GCJ='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- esac
- fi
- if test "$with_gnu_ld" = no; then
- hardcode_libdir_flag_spec_GCJ='${wl}+b ${wl}$libdir'
- hardcode_libdir_separator_GCJ=:
-
- case $host_cpu in
- hppa*64*|ia64*)
- hardcode_libdir_flag_spec_ld_GCJ='+b $libdir'
- hardcode_direct_GCJ=no
- hardcode_shlibpath_var_GCJ=no
- ;;
- *)
- hardcode_direct_GCJ=yes
- export_dynamic_flag_spec_GCJ='${wl}-E'
-
- # hardcode_minus_L: Not really in the search PATH,
- # but as the default location of the library.
- hardcode_minus_L_GCJ=yes
- ;;
- esac
- fi
- ;;
-
- irix5* | irix6* | nonstopux*)
- if test "$GCC" = yes; then
- archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
- else
- archive_cmds_GCJ='$LD -shared $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
- hardcode_libdir_flag_spec_ld_GCJ='-rpath $libdir'
- fi
- hardcode_libdir_flag_spec_GCJ='${wl}-rpath ${wl}$libdir'
- hardcode_libdir_separator_GCJ=:
- link_all_deplibs_GCJ=yes
- ;;
-
- netbsd*)
- if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
- archive_cmds_GCJ='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out
- else
- archive_cmds_GCJ='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF
- fi
- hardcode_libdir_flag_spec_GCJ='-R$libdir'
- hardcode_direct_GCJ=yes
- hardcode_shlibpath_var_GCJ=no
- ;;
-
- newsos6)
- archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- hardcode_direct_GCJ=yes
- hardcode_libdir_flag_spec_GCJ='${wl}-rpath ${wl}$libdir'
- hardcode_libdir_separator_GCJ=:
- hardcode_shlibpath_var_GCJ=no
- ;;
-
- openbsd*)
- if test -f /usr/libexec/ld.so; then
- hardcode_direct_GCJ=yes
- hardcode_shlibpath_var_GCJ=no
- if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
- archive_cmds_GCJ='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
- archive_expsym_cmds_GCJ='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols'
- hardcode_libdir_flag_spec_GCJ='${wl}-rpath,$libdir'
- export_dynamic_flag_spec_GCJ='${wl}-E'
- else
- case $host_os in
- openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*)
- archive_cmds_GCJ='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
- hardcode_libdir_flag_spec_GCJ='-R$libdir'
- ;;
- *)
- archive_cmds_GCJ='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
- hardcode_libdir_flag_spec_GCJ='${wl}-rpath,$libdir'
- ;;
- esac
- fi
- else
- ld_shlibs_GCJ=no
- fi
- ;;
-
- os2*)
- hardcode_libdir_flag_spec_GCJ='-L$libdir'
- hardcode_minus_L_GCJ=yes
- allow_undefined_flag_GCJ=unsupported
- archive_cmds_GCJ='$echo "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$echo "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$echo DATA >> $output_objdir/$libname.def~$echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~$echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def'
- old_archive_From_new_cmds_GCJ='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def'
- ;;
-
- osf3*)
- if test "$GCC" = yes; then
- allow_undefined_flag_GCJ=' ${wl}-expect_unresolved ${wl}\*'
- archive_cmds_GCJ='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
- else
- allow_undefined_flag_GCJ=' -expect_unresolved \*'
- archive_cmds_GCJ='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
- fi
- hardcode_libdir_flag_spec_GCJ='${wl}-rpath ${wl}$libdir'
- hardcode_libdir_separator_GCJ=:
- ;;
-
- osf4* | osf5*) # as osf3* with the addition of -msym flag
- if test "$GCC" = yes; then
- allow_undefined_flag_GCJ=' ${wl}-expect_unresolved ${wl}\*'
- archive_cmds_GCJ='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
- hardcode_libdir_flag_spec_GCJ='${wl}-rpath ${wl}$libdir'
- else
- allow_undefined_flag_GCJ=' -expect_unresolved \*'
- archive_cmds_GCJ='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
- archive_expsym_cmds_GCJ='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; echo "-hidden">> $lib.exp~
- $LD -shared${allow_undefined_flag} -input $lib.exp $linker_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~$rm $lib.exp'
-
- # Both c and cxx compiler support -rpath directly
- hardcode_libdir_flag_spec_GCJ='-rpath $libdir'
- fi
- hardcode_libdir_separator_GCJ=:
- ;;
-
- solaris*)
- no_undefined_flag_GCJ=' -z text'
- if test "$GCC" = yes; then
- wlarc='${wl}'
- archive_cmds_GCJ='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
- archive_expsym_cmds_GCJ='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
- $CC -shared ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$rm $lib.exp'
- else
- wlarc=''
- archive_cmds_GCJ='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags'
- archive_expsym_cmds_GCJ='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
- $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp'
- fi
- hardcode_libdir_flag_spec_GCJ='-R$libdir'
- hardcode_shlibpath_var_GCJ=no
- case $host_os in
- solaris2.[0-5] | solaris2.[0-5].*) ;;
- *)
- # The compiler driver will combine and reorder linker options,
- # but understands `-z linker_flag'. GCC discards it without `$wl',
- # but is careful enough not to reorder.
- # Supported since Solaris 2.6 (maybe 2.5.1?)
- if test "$GCC" = yes; then
- whole_archive_flag_spec_GCJ='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
- else
- whole_archive_flag_spec_GCJ='-z allextract$convenience -z defaultextract'
- fi
- ;;
- esac
- link_all_deplibs_GCJ=yes
- ;;
-
- sunos4*)
- if test "x$host_vendor" = xsequent; then
- # Use $CC to link under sequent, because it throws in some extra .o
- # files that make .init and .fini sections work.
- archive_cmds_GCJ='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags'
- else
- archive_cmds_GCJ='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags'
- fi
- hardcode_libdir_flag_spec_GCJ='-L$libdir'
- hardcode_direct_GCJ=yes
- hardcode_minus_L_GCJ=yes
- hardcode_shlibpath_var_GCJ=no
- ;;
-
- sysv4)
- case $host_vendor in
- sni)
- archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- hardcode_direct_GCJ=yes # is this really true???
- ;;
- siemens)
- ## LD is ld it makes a PLAMLIB
- ## CC just makes a GrossModule.
- archive_cmds_GCJ='$LD -G -o $lib $libobjs $deplibs $linker_flags'
- reload_cmds_GCJ='$CC -r -o $output$reload_objs'
- hardcode_direct_GCJ=no
- ;;
- motorola)
- archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- hardcode_direct_GCJ=no #Motorola manual says yes, but my tests say they lie
- ;;
- esac
- runpath_var='LD_RUN_PATH'
- hardcode_shlibpath_var_GCJ=no
- ;;
-
- sysv4.3*)
- archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- hardcode_shlibpath_var_GCJ=no
- export_dynamic_flag_spec_GCJ='-Bexport'
- ;;
-
- sysv4*MP*)
- if test -d /usr/nec; then
- archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- hardcode_shlibpath_var_GCJ=no
- runpath_var=LD_RUN_PATH
- hardcode_runpath_var=yes
- ld_shlibs_GCJ=yes
- fi
- ;;
-
- sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*)
- no_undefined_flag_GCJ='${wl}-z,text'
- archive_cmds_need_lc_GCJ=no
- hardcode_shlibpath_var_GCJ=no
- runpath_var='LD_RUN_PATH'
-
- if test "$GCC" = yes; then
- archive_cmds_GCJ='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- archive_expsym_cmds_GCJ='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- else
- archive_cmds_GCJ='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- archive_expsym_cmds_GCJ='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- fi
- ;;
-
- sysv5* | sco3.2v5* | sco5v6*)
- # Note: We can NOT use -z defs as we might desire, because we do not
- # link with -lc, and that would cause any symbols used from libc to
- # always be unresolved, which means just about no library would
- # ever link correctly. If we're not using GNU ld we use -z text
- # though, which does catch some bad symbols but isn't as heavy-handed
- # as -z defs.
- no_undefined_flag_GCJ='${wl}-z,text'
- allow_undefined_flag_GCJ='${wl}-z,nodefs'
- archive_cmds_need_lc_GCJ=no
- hardcode_shlibpath_var_GCJ=no
- hardcode_libdir_flag_spec_GCJ='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`'
- hardcode_libdir_separator_GCJ=':'
- link_all_deplibs_GCJ=yes
- export_dynamic_flag_spec_GCJ='${wl}-Bexport'
- runpath_var='LD_RUN_PATH'
-
- if test "$GCC" = yes; then
- archive_cmds_GCJ='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
- archive_expsym_cmds_GCJ='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
- else
- archive_cmds_GCJ='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
- archive_expsym_cmds_GCJ='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
- fi
- ;;
-
- uts4*)
- archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- hardcode_libdir_flag_spec_GCJ='-L$libdir'
- hardcode_shlibpath_var_GCJ=no
- ;;
-
- *)
- ld_shlibs_GCJ=no
- ;;
- esac
- fi
-
-{ echo "$as_me:$LINENO: result: $ld_shlibs_GCJ" >&5
-echo "${ECHO_T}$ld_shlibs_GCJ" >&6; }
-test "$ld_shlibs_GCJ" = no && can_build_shared=no
-
-#
-# Do we need to explicitly link libc?
-#
-case "x$archive_cmds_need_lc_GCJ" in
-x|xyes)
- # Assume -lc should be added
- archive_cmds_need_lc_GCJ=yes
-
- if test "$enable_shared" = yes && test "$GCC" = yes; then
- case $archive_cmds_GCJ in
- *'~'*)
- # FIXME: we may have to deal with multi-command sequences.
- ;;
- '$CC '*)
- # Test whether the compiler implicitly links with -lc since on some
- # systems, -lgcc has to come before -lc. If gcc already passes -lc
- # to ld, don't add -lc before -lgcc.
- { echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5
-echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6; }
- $rm conftest*
- echo "$lt_simple_compile_test_code" > conftest.$ac_ext
-
- if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } 2>conftest.err; then
- soname=conftest
- lib=conftest
- libobjs=conftest.$ac_objext
- deplibs=
- wl=$lt_prog_compiler_wl_GCJ
- pic_flag=$lt_prog_compiler_pic_GCJ
- compiler_flags=-v
- linker_flags=-v
- verstring=
- output_objdir=.
- libname=conftest
- lt_save_allow_undefined_flag=$allow_undefined_flag_GCJ
- allow_undefined_flag_GCJ=
- if { (eval echo "$as_me:$LINENO: \"$archive_cmds_GCJ 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1\"") >&5
- (eval $archive_cmds_GCJ 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }
- then
- archive_cmds_need_lc_GCJ=no
- else
- archive_cmds_need_lc_GCJ=yes
- fi
- allow_undefined_flag_GCJ=$lt_save_allow_undefined_flag
- else
- cat conftest.err 1>&5
- fi
- $rm conftest*
- { echo "$as_me:$LINENO: result: $archive_cmds_need_lc_GCJ" >&5
-echo "${ECHO_T}$archive_cmds_need_lc_GCJ" >&6; }
- ;;
- esac
- fi
- ;;
-esac
-
-{ echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5
-echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6; }
-library_names_spec=
-libname_spec='lib$name'
-soname_spec=
-shrext_cmds=".so"
-postinstall_cmds=
-postuninstall_cmds=
-finish_cmds=
-finish_eval=
-shlibpath_var=
-shlibpath_overrides_runpath=unknown
-version_type=none
-dynamic_linker="$host_os ld.so"
-sys_lib_dlsearch_path_spec="/lib /usr/lib"
-
-need_lib_prefix=unknown
-hardcode_into_libs=no
-
-# when you set need_version to no, make sure it does not cause -set_version
-# flags to be left without arguments
-need_version=unknown
-
-case $host_os in
-aix3*)
- version_type=linux
- library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a'
- shlibpath_var=LIBPATH
-
- # AIX 3 has no versioning support, so we append a major version to the name.
- soname_spec='${libname}${release}${shared_ext}$major'
- ;;
-
-aix4* | aix5*)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- hardcode_into_libs=yes
- if test "$host_cpu" = ia64; then
- # AIX 5 supports IA64
- library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}'
- shlibpath_var=LD_LIBRARY_PATH
- else
- # With GCC up to 2.95.x, collect2 would create an import file
- # for dependence libraries. The import file would start with
- # the line `#! .'. This would cause the generated library to
- # depend on `.', always an invalid library. This was fixed in
- # development snapshots of GCC prior to 3.0.
- case $host_os in
- aix4 | aix4.[01] | aix4.[01].*)
- if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
- echo ' yes '
- echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then
- :
- else
- can_build_shared=no
- fi
- ;;
- esac
- # AIX (on Power*) has no versioning support, so currently we can not hardcode correct
- # soname into executable. Probably we can add versioning support to
- # collect2, so additional links can be useful in future.
- if test "$aix_use_runtimelinking" = yes; then
- # If using run time linking (on AIX 4.2 or later) use lib<name>.so
- # instead of lib<name>.a to let people know that these are not
- # typical AIX shared libraries.
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- else
- # We preserve .a as extension for shared libraries through AIX4.2
- # and later when we are not doing run time linking.
- library_names_spec='${libname}${release}.a $libname.a'
- soname_spec='${libname}${release}${shared_ext}$major'
- fi
- shlibpath_var=LIBPATH
- fi
- ;;
-
-amigaos*)
- library_names_spec='$libname.ixlibrary $libname.a'
- # Create ${libname}_ixlibrary.a entries in /sys/libs.
- finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'
- ;;
-
-beos*)
- library_names_spec='${libname}${shared_ext}'
- dynamic_linker="$host_os ld.so"
- shlibpath_var=LIBRARY_PATH
- ;;
-
-bsdi[45]*)
- version_type=linux
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir'
- shlibpath_var=LD_LIBRARY_PATH
- sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"
- sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib"
- # the default ld.so.conf also contains /usr/contrib/lib and
- # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow
- # libtool to hard-code these into programs
- ;;
-
-cygwin* | mingw* | pw32*)
- version_type=windows
- shrext_cmds=".dll"
- need_version=no
- need_lib_prefix=no
-
- case $GCC,$host_os in
- yes,cygwin* | yes,mingw* | yes,pw32*)
- library_names_spec='$libname.dll.a'
- # DLL is installed to $(libdir)/../bin by postinstall_cmds
- postinstall_cmds='base_file=`basename \${file}`~
- dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo \$dlname'\''`~
- dldir=$destdir/`dirname \$dlpath`~
- test -d \$dldir || mkdir -p \$dldir~
- $install_prog $dir/$dlname \$dldir/$dlname~
- chmod a+x \$dldir/$dlname'
- postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
- dlpath=$dir/\$dldll~
- $rm \$dlpath'
- shlibpath_overrides_runpath=yes
-
- case $host_os in
- cygwin*)
- # Cygwin DLLs use 'cyg' prefix rather than 'lib'
- soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
- sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib"
- ;;
- mingw*)
- # MinGW DLLs use traditional 'lib' prefix
- soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
- sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"`
- if echo "$sys_lib_search_path_spec" | grep ';[c-zC-Z]:/' >/dev/null; then
- # It is most probably a Windows format PATH printed by
- # mingw gcc, but we are running on Cygwin. Gcc prints its search
- # path with ; separators, and with drive letters. We can handle the
- # drive letters (cygwin fileutils understands them), so leave them,
- # especially as we might pass files found there to a mingw objdump,
- # which wouldn't understand a cygwinified path. Ahh.
- sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
- else
- sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
- fi
- ;;
- pw32*)
- # pw32 DLLs use 'pw' prefix rather than 'lib'
- library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
- ;;
- esac
- ;;
-
- *)
- library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib'
- ;;
- esac
- dynamic_linker='Win32 ld.exe'
- # FIXME: first we should search . and the directory the executable is in
- shlibpath_var=PATH
- ;;
-
-darwin* | rhapsody*)
- dynamic_linker="$host_os dyld"
- version_type=darwin
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${versuffix}$shared_ext ${libname}${release}${major}$shared_ext ${libname}$shared_ext'
- soname_spec='${libname}${release}${major}$shared_ext'
- shlibpath_overrides_runpath=yes
- shlibpath_var=DYLD_LIBRARY_PATH
- shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
-
- sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'
- ;;
-
-dgux*)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- ;;
-
-freebsd1*)
- dynamic_linker=no
- ;;
-
-freebsd* | dragonfly*)
- # DragonFly does not have aout. When/if they implement a new
- # versioning mechanism, adjust this.
- if test -x /usr/bin/objformat; then
- objformat=`/usr/bin/objformat`
- else
- case $host_os in
- freebsd[123]*) objformat=aout ;;
- *) objformat=elf ;;
- esac
- fi
- version_type=freebsd-$objformat
- case $version_type in
- freebsd-elf*)
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
- need_version=no
- need_lib_prefix=no
- ;;
- freebsd-*)
- library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix'
- need_version=yes
- ;;
- esac
- shlibpath_var=LD_LIBRARY_PATH
- case $host_os in
- freebsd2*)
- shlibpath_overrides_runpath=yes
- ;;
- freebsd3.[01]* | freebsdelf3.[01]*)
- shlibpath_overrides_runpath=yes
- hardcode_into_libs=yes
- ;;
- freebsd3.[2-9]* | freebsdelf3.[2-9]* | \
- freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1)
- shlibpath_overrides_runpath=no
- hardcode_into_libs=yes
- ;;
- *) # from 4.6 on, and DragonFly
- shlibpath_overrides_runpath=yes
- hardcode_into_libs=yes
- ;;
- esac
- ;;
-
-gnu*)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- hardcode_into_libs=yes
- ;;
-
-hpux9* | hpux10* | hpux11*)
- # Give a soname corresponding to the major version so that dld.sl refuses to
- # link against other versions.
- version_type=sunos
- need_lib_prefix=no
- need_version=no
- case $host_cpu in
- ia64*)
- shrext_cmds='.so'
- hardcode_into_libs=yes
- dynamic_linker="$host_os dld.so"
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- if test "X$HPUX_IA64_MODE" = X32; then
- sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib"
- else
- sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64"
- fi
- sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
- ;;
- hppa*64*)
- shrext_cmds='.sl'
- hardcode_into_libs=yes
- dynamic_linker="$host_os dld.sl"
- shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
- shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64"
- sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
- ;;
- *)
- shrext_cmds='.sl'
- dynamic_linker="$host_os dld.sl"
- shlibpath_var=SHLIB_PATH
- shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- ;;
- esac
- # HP-UX runs *really* slowly unless shared libraries are mode 555.
- postinstall_cmds='chmod 555 $lib'
- ;;
-
-interix[3-9]*)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=no
- hardcode_into_libs=yes
- ;;
-
-irix5* | irix6* | nonstopux*)
- case $host_os in
- nonstopux*) version_type=nonstopux ;;
- *)
- if test "$lt_cv_prog_gnu_ld" = yes; then
- version_type=linux
- else
- version_type=irix
- fi ;;
- esac
- need_lib_prefix=no
- need_version=no
- soname_spec='${libname}${release}${shared_ext}$major'
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}'
- case $host_os in
- irix5* | nonstopux*)
- libsuff= shlibsuff=
- ;;
- *)
- case $LD in # libtool.m4 will add one of these switches to LD
- *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ")
- libsuff= shlibsuff= libmagic=32-bit;;
- *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ")
- libsuff=32 shlibsuff=N32 libmagic=N32;;
- *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ")
- libsuff=64 shlibsuff=64 libmagic=64-bit;;
- *) libsuff= shlibsuff= libmagic=never-match;;
- esac
- ;;
- esac
- shlibpath_var=LD_LIBRARY${shlibsuff}_PATH
- shlibpath_overrides_runpath=no
- sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}"
- sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}"
- hardcode_into_libs=yes
- ;;
-
-# No shared lib support for Linux oldld, aout, or coff.
-linux*oldld* | linux*aout* | linux*coff*)
- dynamic_linker=no
- ;;
-
-# This must be Linux ELF.
-linux* | k*bsd*-gnu)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=no
# This implies no fast_install, which is unacceptable.
# Some rework will be needed to allow for fast_install
# before this can be enabled.
hardcode_into_libs=yes
- sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}"
- sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}"
# Append ld.so.conf contents to the search path
if test -f /etc/ld.so.conf; then
- lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '`
- sys_lib_dlsearch_path_spec="$sys_lib_dlsearch_path_spec $lt_ld_extra"
+ lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '`
+ sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
fi
# We used to test for /lib/ld.so.1 and disable shared libraries on
@@ -18286,11 +14998,23 @@ linux* | k*bsd*-gnu)
dynamic_linker='GNU/Linux ld.so'
;;
+netbsdelf*-gnu)
+ version_type=linux
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=no
+ hardcode_into_libs=yes
+ dynamic_linker='NetBSD ld.elf_so'
+ ;;
+
netbsd*)
version_type=sunos
need_lib_prefix=no
need_version=no
- if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
+ if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
dynamic_linker='NetBSD (a.out) ld.so'
@@ -18311,14 +15035,16 @@ newsos6)
shlibpath_overrides_runpath=yes
;;
-nto-qnx*)
- version_type=linux
+*nto* | *qnx*)
+ version_type=qnx
need_lib_prefix=no
need_version=no
library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
soname_spec='${libname}${release}${shared_ext}$major'
shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=yes
+ shlibpath_overrides_runpath=no
+ hardcode_into_libs=yes
+ dynamic_linker='ldqnx.so'
;;
openbsd*)
@@ -18327,13 +15053,13 @@ openbsd*)
need_lib_prefix=no
# Some older versions of OpenBSD (3.3 at least) *do* need versioned libs.
case $host_os in
- openbsd3.3 | openbsd3.3.*) need_version=yes ;;
- *) need_version=no ;;
+ openbsd3.3 | openbsd3.3.*) need_version=yes ;;
+ *) need_version=no ;;
esac
library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
shlibpath_var=LD_LIBRARY_PATH
- if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+ if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
case $host_os in
openbsd2.[89] | openbsd2.[89].*)
shlibpath_overrides_runpath=no
@@ -18405,7 +15131,6 @@ sysv4 | sysv4.3*)
sni)
shlibpath_overrides_runpath=no
need_lib_prefix=no
- export_dynamic_flag_spec='${wl}-Blargedynsym'
runpath_var=LD_RUN_PATH
;;
siemens)
@@ -18436,13 +15161,12 @@ sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
soname_spec='${libname}${release}${shared_ext}$major'
shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=yes
hardcode_into_libs=yes
if test "$with_gnu_ld" = yes; then
sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib'
- shlibpath_overrides_runpath=no
else
sys_lib_search_path_spec='/usr/ccs/lib /usr/lib'
- shlibpath_overrides_runpath=yes
case $host_os in
sco3.2v5*)
sys_lib_search_path_spec="$sys_lib_search_path_spec /lib"
@@ -18452,6 +15176,17 @@ sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
sys_lib_dlsearch_path_spec='/usr/lib'
;;
+tpf*)
+ # TPF is a cross-target only. Preferred cross-host = GNU/Linux.
+ version_type=linux
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=no
+ hardcode_into_libs=yes
+ ;;
+
uts4*)
version_type=linux
library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
@@ -18463,8 +15198,8 @@ uts4*)
dynamic_linker=no
;;
esac
-{ echo "$as_me:$LINENO: result: $dynamic_linker" >&5
-echo "${ECHO_T}$dynamic_linker" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $dynamic_linker" >&5
+$as_echo "$dynamic_linker" >&6; }
test "$dynamic_linker" = no && can_build_shared=no
variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
@@ -18472,933 +15207,104 @@ if test "$GCC" = yes; then
variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
fi
-{ echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5
-echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6; }
-hardcode_action_GCJ=
-if test -n "$hardcode_libdir_flag_spec_GCJ" || \
- test -n "$runpath_var_GCJ" || \
- test "X$hardcode_automatic_GCJ" = "Xyes" ; then
-
- # We can hardcode non-existant directories.
- if test "$hardcode_direct_GCJ" != no &&
- # If the only mechanism to avoid hardcoding is shlibpath_var, we
- # have to relink, otherwise we might link with an installed library
- # when we should be linking with a yet-to-be-installed one
- ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, GCJ)" != no &&
- test "$hardcode_minus_L_GCJ" != no; then
- # Linking always hardcodes the temporary library directory.
- hardcode_action_GCJ=relink
- else
- # We can link without hardcoding, and we can hardcode nonexisting dirs.
- hardcode_action_GCJ=immediate
- fi
-else
- # We cannot hardcode anything, or else we can only hardcode existing
- # directories.
- hardcode_action_GCJ=unsupported
+if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then
+ sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec"
fi
-{ echo "$as_me:$LINENO: result: $hardcode_action_GCJ" >&5
-echo "${ECHO_T}$hardcode_action_GCJ" >&6; }
-
-if test "$hardcode_action_GCJ" = relink; then
- # Fast installation is not supported
- enable_fast_install=no
-elif test "$shlibpath_overrides_runpath" = yes ||
- test "$enable_shared" = no; then
- # Fast installation is not necessary
- enable_fast_install=needless
+if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then
+ sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec"
fi
-# The else clause should only fire when bootstrapping the
-# libtool distribution, otherwise you forgot to ship ltmain.sh
-# with your package, and you will get complaints that there are
-# no rules to generate ltmain.sh.
-if test -f "$ltmain"; then
- # See if we are running on zsh, and set the options which allow our commands through
- # without removal of \ escapes.
- if test -n "${ZSH_VERSION+set}" ; then
- setopt NO_GLOB_SUBST
- fi
- # Now quote all the things that may contain metacharacters while being
- # careful not to overquote the AC_SUBSTed values. We take copies of the
- # variables and quote the copies for generation of the libtool script.
- for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC LTCFLAGS NM \
- SED SHELL STRIP \
- libname_spec library_names_spec soname_spec extract_expsyms_cmds \
- old_striplib striplib file_magic_cmd finish_cmds finish_eval \
- deplibs_check_method reload_flag reload_cmds need_locks \
- lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \
- lt_cv_sys_global_symbol_to_c_name_address \
- sys_lib_search_path_spec sys_lib_dlsearch_path_spec \
- old_postinstall_cmds old_postuninstall_cmds \
- compiler_GCJ \
- CC_GCJ \
- LD_GCJ \
- lt_prog_compiler_wl_GCJ \
- lt_prog_compiler_pic_GCJ \
- lt_prog_compiler_static_GCJ \
- lt_prog_compiler_no_builtin_flag_GCJ \
- export_dynamic_flag_spec_GCJ \
- thread_safe_flag_spec_GCJ \
- whole_archive_flag_spec_GCJ \
- enable_shared_with_static_runtimes_GCJ \
- old_archive_cmds_GCJ \
- old_archive_from_new_cmds_GCJ \
- predep_objects_GCJ \
- postdep_objects_GCJ \
- predeps_GCJ \
- postdeps_GCJ \
- compiler_lib_search_path_GCJ \
- archive_cmds_GCJ \
- archive_expsym_cmds_GCJ \
- postinstall_cmds_GCJ \
- postuninstall_cmds_GCJ \
- old_archive_from_expsyms_cmds_GCJ \
- allow_undefined_flag_GCJ \
- no_undefined_flag_GCJ \
- export_symbols_cmds_GCJ \
- hardcode_libdir_flag_spec_GCJ \
- hardcode_libdir_flag_spec_ld_GCJ \
- hardcode_libdir_separator_GCJ \
- hardcode_automatic_GCJ \
- module_cmds_GCJ \
- module_expsym_cmds_GCJ \
- lt_cv_prog_compiler_c_o_GCJ \
- fix_srcfile_path_GCJ \
- exclude_expsyms_GCJ \
- include_expsyms_GCJ; do
-
- case $var in
- old_archive_cmds_GCJ | \
- old_archive_from_new_cmds_GCJ | \
- archive_cmds_GCJ | \
- archive_expsym_cmds_GCJ | \
- module_cmds_GCJ | \
- module_expsym_cmds_GCJ | \
- old_archive_from_expsyms_cmds_GCJ | \
- export_symbols_cmds_GCJ | \
- extract_expsyms_cmds | reload_cmds | finish_cmds | \
- postinstall_cmds | postuninstall_cmds | \
- old_postinstall_cmds | old_postuninstall_cmds | \
- sys_lib_search_path_spec | sys_lib_dlsearch_path_spec)
- # Double-quote double-evaled strings.
- eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\""
- ;;
- *)
- eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\""
- ;;
- esac
- done
- case $lt_echo in
- *'\$0 --fallback-echo"')
- lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\$0 --fallback-echo"$/$0 --fallback-echo"/'`
- ;;
- esac
-cfgfile="$ofile"
- cat <<__EOF__ >> "$cfgfile"
-# ### BEGIN LIBTOOL TAG CONFIG: $tagname
-# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
-# Shell to use when invoking shell scripts.
-SHELL=$lt_SHELL
-# Whether or not to build shared libraries.
-build_libtool_libs=$enable_shared
-# Whether or not to build static libraries.
-build_old_libs=$enable_static
-# Whether or not to add -lc for building shared libraries.
-build_libtool_need_lc=$archive_cmds_need_lc_GCJ
-# Whether or not to disallow shared libs when runtime libs are static
-allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_GCJ
-# Whether or not to optimize for fast installation.
-fast_install=$enable_fast_install
-# The host system.
-host_alias=$host_alias
-host=$host
-host_os=$host_os
-# The build system.
-build_alias=$build_alias
-build=$build
-build_os=$build_os
-# An echo program that does not interpret backslashes.
-echo=$lt_echo
-# The archiver.
-AR=$lt_AR
-AR_FLAGS=$lt_AR_FLAGS
-# A C compiler.
-LTCC=$lt_LTCC
-# LTCC compiler flags.
-LTCFLAGS=$lt_LTCFLAGS
-# A language-specific compiler.
-CC=$lt_compiler_GCJ
-# Is the compiler the GNU C compiler?
-with_gcc=$GCC_GCJ
-# An ERE matcher.
-EGREP=$lt_EGREP
-# The linker used to build libraries.
-LD=$lt_LD_GCJ
-# Whether we need hard or soft links.
-LN_S=$lt_LN_S
-# A BSD-compatible nm program.
-NM=$lt_NM
-# A symbol stripping program
-STRIP=$lt_STRIP
-# Used to examine libraries when file_magic_cmd begins "file"
-MAGIC_CMD=$MAGIC_CMD
-# Used on cygwin: DLL creation program.
-DLLTOOL="$DLLTOOL"
-# Used on cygwin: object dumper.
-OBJDUMP="$OBJDUMP"
-# Used on cygwin: assembler.
-AS="$AS"
-# The name of the directory that contains temporary libtool files.
-objdir=$objdir
-# How to create reloadable object files.
-reload_flag=$lt_reload_flag
-reload_cmds=$lt_reload_cmds
-# How to pass a linker flag through the compiler.
-wl=$lt_lt_prog_compiler_wl_GCJ
-# Object file suffix (normally "o").
-objext="$ac_objext"
-# Old archive suffix (normally "a").
-libext="$libext"
-# Shared library suffix (normally ".so").
-shrext_cmds='$shrext_cmds'
-
-# Executable file suffix (normally "").
-exeext="$exeext"
-
-# Additional compiler flags for building library objects.
-pic_flag=$lt_lt_prog_compiler_pic_GCJ
-pic_mode=$pic_mode
-
-# What is the maximum length of a command?
-max_cmd_len=$lt_cv_sys_max_cmd_len
-
-# Does compiler simultaneously support -c and -o options?
-compiler_c_o=$lt_lt_cv_prog_compiler_c_o_GCJ
-
-# Must we lock files when doing compilation?
-need_locks=$lt_need_locks
-
-# Do we need the lib prefix for modules?
-need_lib_prefix=$need_lib_prefix
-
-# Do we need a version for libraries?
-need_version=$need_version
-
-# Whether dlopen is supported.
-dlopen_support=$enable_dlopen
-
-# Whether dlopen of programs is supported.
-dlopen_self=$enable_dlopen_self
-
-# Whether dlopen of statically linked programs is supported.
-dlopen_self_static=$enable_dlopen_self_static
-
-# Compiler flag to prevent dynamic linking.
-link_static_flag=$lt_lt_prog_compiler_static_GCJ
-
-# Compiler flag to turn off builtin functions.
-no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_GCJ
-
-# Compiler flag to allow reflexive dlopens.
-export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_GCJ
-
-# Compiler flag to generate shared objects directly from archives.
-whole_archive_flag_spec=$lt_whole_archive_flag_spec_GCJ
-
-# Compiler flag to generate thread-safe objects.
-thread_safe_flag_spec=$lt_thread_safe_flag_spec_GCJ
-
-# Library versioning type.
-version_type=$version_type
-
-# Format of library name prefix.
-libname_spec=$lt_libname_spec
-
-# List of archive names. First name is the real one, the rest are links.
-# The last name is the one that the linker finds with -lNAME.
-library_names_spec=$lt_library_names_spec
-
-# The coded name of the library, if different from the real name.
-soname_spec=$lt_soname_spec
-
-# Commands used to build and install an old-style archive.
-RANLIB=$lt_RANLIB
-old_archive_cmds=$lt_old_archive_cmds_GCJ
-old_postinstall_cmds=$lt_old_postinstall_cmds
-old_postuninstall_cmds=$lt_old_postuninstall_cmds
-
-# Create an old-style archive from a shared archive.
-old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_GCJ
-
-# Create a temporary old-style archive to link instead of a shared archive.
-old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_GCJ
-
-# Commands used to build and install a shared archive.
-archive_cmds=$lt_archive_cmds_GCJ
-archive_expsym_cmds=$lt_archive_expsym_cmds_GCJ
-postinstall_cmds=$lt_postinstall_cmds
-postuninstall_cmds=$lt_postuninstall_cmds
-
-# Commands used to build a loadable module (assumed same as above if empty)
-module_cmds=$lt_module_cmds_GCJ
-module_expsym_cmds=$lt_module_expsym_cmds_GCJ
-
-# Commands to strip libraries.
-old_striplib=$lt_old_striplib
-striplib=$lt_striplib
-
-# Dependencies to place before the objects being linked to create a
-# shared library.
-predep_objects=$lt_predep_objects_GCJ
-
-# Dependencies to place after the objects being linked to create a
-# shared library.
-postdep_objects=$lt_postdep_objects_GCJ
-
-# Dependencies to place before the objects being linked to create a
-# shared library.
-predeps=$lt_predeps_GCJ
-
-# Dependencies to place after the objects being linked to create a
-# shared library.
-postdeps=$lt_postdeps_GCJ
-
-# The library search path used internally by the compiler when linking
-# a shared library.
-compiler_lib_search_path=$lt_compiler_lib_search_path_GCJ
-
-# Method to check whether dependent libraries are shared objects.
-deplibs_check_method=$lt_deplibs_check_method
-
-# Command to use when deplibs_check_method == file_magic.
-file_magic_cmd=$lt_file_magic_cmd
-
-# Flag that allows shared libraries with undefined symbols to be built.
-allow_undefined_flag=$lt_allow_undefined_flag_GCJ
-
-# Flag that forces no undefined symbols.
-no_undefined_flag=$lt_no_undefined_flag_GCJ
-
-# Commands used to finish a libtool library installation in a directory.
-finish_cmds=$lt_finish_cmds
-
-# Same as above, but a single script fragment to be evaled but not shown.
-finish_eval=$lt_finish_eval
-
-# Take the output of nm and produce a listing of raw symbols and C names.
-global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe
-
-# Transform the output of nm in a proper C declaration
-global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl
-
-# Transform the output of nm in a C name address pair
-global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address
-
-# This is the shared library runtime path variable.
-runpath_var=$runpath_var
-
-# This is the shared library path variable.
-shlibpath_var=$shlibpath_var
-
-# Is shlibpath searched before the hard-coded library search path?
-shlibpath_overrides_runpath=$shlibpath_overrides_runpath
-
-# How to hardcode a shared library path into an executable.
-hardcode_action=$hardcode_action_GCJ
-
-# Whether we should hardcode library paths into libraries.
-hardcode_into_libs=$hardcode_into_libs
-
-# Flag to hardcode \$libdir into a binary during linking.
-# This must work even if \$libdir does not exist.
-hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_GCJ
-
-# If ld is used when linking, flag to hardcode \$libdir into
-# a binary during linking. This must work even if \$libdir does
-# not exist.
-hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld_GCJ
-
-# Whether we need a single -rpath flag with a separated argument.
-hardcode_libdir_separator=$lt_hardcode_libdir_separator_GCJ
-
-# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the
-# resulting binary.
-hardcode_direct=$hardcode_direct_GCJ
-
-# Set to yes if using the -LDIR flag during linking hardcodes DIR into the
-# resulting binary.
-hardcode_minus_L=$hardcode_minus_L_GCJ
-
-# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into
-# the resulting binary.
-hardcode_shlibpath_var=$hardcode_shlibpath_var_GCJ
-
-# Set to yes if building a shared library automatically hardcodes DIR into the library
-# and all subsequent libraries and executables linked against it.
-hardcode_automatic=$hardcode_automatic_GCJ
-
-# Variables whose values should be saved in libtool wrapper scripts and
-# restored at relink time.
-variables_saved_for_relink="$variables_saved_for_relink"
-
-# Whether libtool must link a program against all its dependency libraries.
-link_all_deplibs=$link_all_deplibs_GCJ
-
-# Compile-time system search path for libraries
-sys_lib_search_path_spec=$lt_sys_lib_search_path_spec
-
-# Run-time system search path for libraries
-sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec
-
-# Fix the shell variable \$srcfile for the compiler.
-fix_srcfile_path=$lt_fix_srcfile_path
-
-# Set to yes if exported symbols are required.
-always_export_symbols=$always_export_symbols_GCJ
-
-# The commands to list exported symbols.
-export_symbols_cmds=$lt_export_symbols_cmds_GCJ
-
-# The commands to extract the exported symbol list from a shared archive.
-extract_expsyms_cmds=$lt_extract_expsyms_cmds
-
-# Symbols that should not be listed in the preloaded symbols.
-exclude_expsyms=$lt_exclude_expsyms_GCJ
-
-# Symbols that must always be exported.
-include_expsyms=$lt_include_expsyms_GCJ
-
-# ### END LIBTOOL TAG CONFIG: $tagname
-
-__EOF__
+ { $as_echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5
+$as_echo_n "checking how to hardcode library paths into programs... " >&6; }
+hardcode_action_CXX=
+if test -n "$hardcode_libdir_flag_spec_CXX" ||
+ test -n "$runpath_var_CXX" ||
+ test "X$hardcode_automatic_CXX" = "Xyes" ; then
-else
- # If there is no Makefile yet, we rely on a make rule to execute
- # `config.status --recheck' to rerun these tests and create the
- # libtool script then.
- ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'`
- if test -f "$ltmain_in"; then
- test -f Makefile && make "$ltmain"
+ # We can hardcode non-existent directories.
+ if test "$hardcode_direct_CXX" != no &&
+ # If the only mechanism to avoid hardcoding is shlibpath_var, we
+ # have to relink, otherwise we might link with an installed library
+ # when we should be linking with a yet-to-be-installed one
+ ## test "$_LT_TAGVAR(hardcode_shlibpath_var, CXX)" != no &&
+ test "$hardcode_minus_L_CXX" != no; then
+ # Linking always hardcodes the temporary library directory.
+ hardcode_action_CXX=relink
+ else
+ # We can link without hardcoding, and we can hardcode nonexisting dirs.
+ hardcode_action_CXX=immediate
fi
+else
+ # We cannot hardcode anything, or else we can only hardcode existing
+ # directories.
+ hardcode_action_CXX=unsupported
fi
+{ $as_echo "$as_me:$LINENO: result: $hardcode_action_CXX" >&5
+$as_echo "$hardcode_action_CXX" >&6; }
+if test "$hardcode_action_CXX" = relink ||
+ test "$inherit_rpath_CXX" = yes; then
+ # Fast installation is not supported
+ enable_fast_install=no
+elif test "$shlibpath_overrides_runpath" = yes ||
+ test "$enable_shared" = no; then
+ # Fast installation is not necessary
+ enable_fast_install=needless
+fi
-ac_ext=cpp
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
-CC="$lt_save_CC"
-
- else
- tagname=""
- fi
- ;;
-
- RC)
-
-
-# Source file extension for RC test sources.
-ac_ext=rc
-
-# Object file extension for compiled RC test sources.
-objext=o
-objext_RC=$objext
-
-# Code to be used in simple compile tests
-lt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }'
-
-# Code to be used in simple link tests
-lt_simple_link_test_code="$lt_simple_compile_test_code"
-
-# ltmain only uses $CC for tagged configurations so make sure $CC is set.
-
-# If no C compiler was specified, use CC.
-LTCC=${LTCC-"$CC"}
-
-# If no C compiler flags were specified, use CFLAGS.
-LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
-
-# Allow CC to be a program name with arguments.
-compiler=$CC
-
-
-# save warnings/boilerplate of simple test code
-ac_outfile=conftest.$ac_objext
-echo "$lt_simple_compile_test_code" >conftest.$ac_ext
-eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
-_lt_compiler_boilerplate=`cat conftest.err`
-$rm conftest*
-
-ac_outfile=conftest.$ac_objext
-echo "$lt_simple_link_test_code" >conftest.$ac_ext
-eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
-_lt_linker_boilerplate=`cat conftest.err`
-$rm conftest*
-
-
-# Allow CC to be a program name with arguments.
-lt_save_CC="$CC"
-CC=${RC-"windres"}
-compiler=$CC
-compiler_RC=$CC
-for cc_temp in $compiler""; do
- case $cc_temp in
- compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
- distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
- \-*) ;;
- *) break;;
- esac
-done
-cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
-
-lt_cv_prog_compiler_c_o_RC=yes
-
-# The else clause should only fire when bootstrapping the
-# libtool distribution, otherwise you forgot to ship ltmain.sh
-# with your package, and you will get complaints that there are
-# no rules to generate ltmain.sh.
-if test -f "$ltmain"; then
- # See if we are running on zsh, and set the options which allow our commands through
- # without removal of \ escapes.
- if test -n "${ZSH_VERSION+set}" ; then
- setopt NO_GLOB_SUBST
- fi
- # Now quote all the things that may contain metacharacters while being
- # careful not to overquote the AC_SUBSTed values. We take copies of the
- # variables and quote the copies for generation of the libtool script.
- for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC LTCFLAGS NM \
- SED SHELL STRIP \
- libname_spec library_names_spec soname_spec extract_expsyms_cmds \
- old_striplib striplib file_magic_cmd finish_cmds finish_eval \
- deplibs_check_method reload_flag reload_cmds need_locks \
- lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \
- lt_cv_sys_global_symbol_to_c_name_address \
- sys_lib_search_path_spec sys_lib_dlsearch_path_spec \
- old_postinstall_cmds old_postuninstall_cmds \
- compiler_RC \
- CC_RC \
- LD_RC \
- lt_prog_compiler_wl_RC \
- lt_prog_compiler_pic_RC \
- lt_prog_compiler_static_RC \
- lt_prog_compiler_no_builtin_flag_RC \
- export_dynamic_flag_spec_RC \
- thread_safe_flag_spec_RC \
- whole_archive_flag_spec_RC \
- enable_shared_with_static_runtimes_RC \
- old_archive_cmds_RC \
- old_archive_from_new_cmds_RC \
- predep_objects_RC \
- postdep_objects_RC \
- predeps_RC \
- postdeps_RC \
- compiler_lib_search_path_RC \
- archive_cmds_RC \
- archive_expsym_cmds_RC \
- postinstall_cmds_RC \
- postuninstall_cmds_RC \
- old_archive_from_expsyms_cmds_RC \
- allow_undefined_flag_RC \
- no_undefined_flag_RC \
- export_symbols_cmds_RC \
- hardcode_libdir_flag_spec_RC \
- hardcode_libdir_flag_spec_ld_RC \
- hardcode_libdir_separator_RC \
- hardcode_automatic_RC \
- module_cmds_RC \
- module_expsym_cmds_RC \
- lt_cv_prog_compiler_c_o_RC \
- fix_srcfile_path_RC \
- exclude_expsyms_RC \
- include_expsyms_RC; do
-
- case $var in
- old_archive_cmds_RC | \
- old_archive_from_new_cmds_RC | \
- archive_cmds_RC | \
- archive_expsym_cmds_RC | \
- module_cmds_RC | \
- module_expsym_cmds_RC | \
- old_archive_from_expsyms_cmds_RC | \
- export_symbols_cmds_RC | \
- extract_expsyms_cmds | reload_cmds | finish_cmds | \
- postinstall_cmds | postuninstall_cmds | \
- old_postinstall_cmds | old_postuninstall_cmds | \
- sys_lib_search_path_spec | sys_lib_dlsearch_path_spec)
- # Double-quote double-evaled strings.
- eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\""
- ;;
- *)
- eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\""
- ;;
- esac
- done
-
- case $lt_echo in
- *'\$0 --fallback-echo"')
- lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\$0 --fallback-echo"$/$0 --fallback-echo"/'`
- ;;
- esac
-
-cfgfile="$ofile"
-
- cat <<__EOF__ >> "$cfgfile"
-# ### BEGIN LIBTOOL TAG CONFIG: $tagname
-
-# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
-
-# Shell to use when invoking shell scripts.
-SHELL=$lt_SHELL
-
-# Whether or not to build shared libraries.
-build_libtool_libs=$enable_shared
-
-# Whether or not to build static libraries.
-build_old_libs=$enable_static
-
-# Whether or not to add -lc for building shared libraries.
-build_libtool_need_lc=$archive_cmds_need_lc_RC
-
-# Whether or not to disallow shared libs when runtime libs are static
-allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_RC
-
-# Whether or not to optimize for fast installation.
-fast_install=$enable_fast_install
-
-# The host system.
-host_alias=$host_alias
-host=$host
-host_os=$host_os
-
-# The build system.
-build_alias=$build_alias
-build=$build
-build_os=$build_os
-
-# An echo program that does not interpret backslashes.
-echo=$lt_echo
-
-# The archiver.
-AR=$lt_AR
-AR_FLAGS=$lt_AR_FLAGS
-
-# A C compiler.
-LTCC=$lt_LTCC
-
-# LTCC compiler flags.
-LTCFLAGS=$lt_LTCFLAGS
-
-# A language-specific compiler.
-CC=$lt_compiler_RC
-
-# Is the compiler the GNU C compiler?
-with_gcc=$GCC_RC
-
-# An ERE matcher.
-EGREP=$lt_EGREP
-
-# The linker used to build libraries.
-LD=$lt_LD_RC
-
-# Whether we need hard or soft links.
-LN_S=$lt_LN_S
-
-# A BSD-compatible nm program.
-NM=$lt_NM
-
-# A symbol stripping program
-STRIP=$lt_STRIP
-
-# Used to examine libraries when file_magic_cmd begins "file"
-MAGIC_CMD=$MAGIC_CMD
-
-# Used on cygwin: DLL creation program.
-DLLTOOL="$DLLTOOL"
-
-# Used on cygwin: object dumper.
-OBJDUMP="$OBJDUMP"
-
-# Used on cygwin: assembler.
-AS="$AS"
-
-# The name of the directory that contains temporary libtool files.
-objdir=$objdir
-
-# How to create reloadable object files.
-reload_flag=$lt_reload_flag
-reload_cmds=$lt_reload_cmds
-
-# How to pass a linker flag through the compiler.
-wl=$lt_lt_prog_compiler_wl_RC
-
-# Object file suffix (normally "o").
-objext="$ac_objext"
-
-# Old archive suffix (normally "a").
-libext="$libext"
-
-# Shared library suffix (normally ".so").
-shrext_cmds='$shrext_cmds'
-
-# Executable file suffix (normally "").
-exeext="$exeext"
-
-# Additional compiler flags for building library objects.
-pic_flag=$lt_lt_prog_compiler_pic_RC
-pic_mode=$pic_mode
-
-# What is the maximum length of a command?
-max_cmd_len=$lt_cv_sys_max_cmd_len
-
-# Does compiler simultaneously support -c and -o options?
-compiler_c_o=$lt_lt_cv_prog_compiler_c_o_RC
-
-# Must we lock files when doing compilation?
-need_locks=$lt_need_locks
-
-# Do we need the lib prefix for modules?
-need_lib_prefix=$need_lib_prefix
-
-# Do we need a version for libraries?
-need_version=$need_version
-
-# Whether dlopen is supported.
-dlopen_support=$enable_dlopen
-
-# Whether dlopen of programs is supported.
-dlopen_self=$enable_dlopen_self
-
-# Whether dlopen of statically linked programs is supported.
-dlopen_self_static=$enable_dlopen_self_static
-
-# Compiler flag to prevent dynamic linking.
-link_static_flag=$lt_lt_prog_compiler_static_RC
-
-# Compiler flag to turn off builtin functions.
-no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_RC
-
-# Compiler flag to allow reflexive dlopens.
-export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_RC
-
-# Compiler flag to generate shared objects directly from archives.
-whole_archive_flag_spec=$lt_whole_archive_flag_spec_RC
-
-# Compiler flag to generate thread-safe objects.
-thread_safe_flag_spec=$lt_thread_safe_flag_spec_RC
-
-# Library versioning type.
-version_type=$version_type
-
-# Format of library name prefix.
-libname_spec=$lt_libname_spec
-
-# List of archive names. First name is the real one, the rest are links.
-# The last name is the one that the linker finds with -lNAME.
-library_names_spec=$lt_library_names_spec
-
-# The coded name of the library, if different from the real name.
-soname_spec=$lt_soname_spec
-
-# Commands used to build and install an old-style archive.
-RANLIB=$lt_RANLIB
-old_archive_cmds=$lt_old_archive_cmds_RC
-old_postinstall_cmds=$lt_old_postinstall_cmds
-old_postuninstall_cmds=$lt_old_postuninstall_cmds
-
-# Create an old-style archive from a shared archive.
-old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_RC
-
-# Create a temporary old-style archive to link instead of a shared archive.
-old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_RC
-
-# Commands used to build and install a shared archive.
-archive_cmds=$lt_archive_cmds_RC
-archive_expsym_cmds=$lt_archive_expsym_cmds_RC
-postinstall_cmds=$lt_postinstall_cmds
-postuninstall_cmds=$lt_postuninstall_cmds
-
-# Commands used to build a loadable module (assumed same as above if empty)
-module_cmds=$lt_module_cmds_RC
-module_expsym_cmds=$lt_module_expsym_cmds_RC
-
-# Commands to strip libraries.
-old_striplib=$lt_old_striplib
-striplib=$lt_striplib
-
-# Dependencies to place before the objects being linked to create a
-# shared library.
-predep_objects=$lt_predep_objects_RC
-
-# Dependencies to place after the objects being linked to create a
-# shared library.
-postdep_objects=$lt_postdep_objects_RC
-
-# Dependencies to place before the objects being linked to create a
-# shared library.
-predeps=$lt_predeps_RC
-
-# Dependencies to place after the objects being linked to create a
-# shared library.
-postdeps=$lt_postdeps_RC
-
-# The library search path used internally by the compiler when linking
-# a shared library.
-compiler_lib_search_path=$lt_compiler_lib_search_path_RC
-
-# Method to check whether dependent libraries are shared objects.
-deplibs_check_method=$lt_deplibs_check_method
-
-# Command to use when deplibs_check_method == file_magic.
-file_magic_cmd=$lt_file_magic_cmd
-
-# Flag that allows shared libraries with undefined symbols to be built.
-allow_undefined_flag=$lt_allow_undefined_flag_RC
-
-# Flag that forces no undefined symbols.
-no_undefined_flag=$lt_no_undefined_flag_RC
-
-# Commands used to finish a libtool library installation in a directory.
-finish_cmds=$lt_finish_cmds
-
-# Same as above, but a single script fragment to be evaled but not shown.
-finish_eval=$lt_finish_eval
-
-# Take the output of nm and produce a listing of raw symbols and C names.
-global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe
-
-# Transform the output of nm in a proper C declaration
-global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl
-
-# Transform the output of nm in a C name address pair
-global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address
-
-# This is the shared library runtime path variable.
-runpath_var=$runpath_var
-
-# This is the shared library path variable.
-shlibpath_var=$shlibpath_var
-
-# Is shlibpath searched before the hard-coded library search path?
-shlibpath_overrides_runpath=$shlibpath_overrides_runpath
-
-# How to hardcode a shared library path into an executable.
-hardcode_action=$hardcode_action_RC
-
-# Whether we should hardcode library paths into libraries.
-hardcode_into_libs=$hardcode_into_libs
-
-# Flag to hardcode \$libdir into a binary during linking.
-# This must work even if \$libdir does not exist.
-hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_RC
-
-# If ld is used when linking, flag to hardcode \$libdir into
-# a binary during linking. This must work even if \$libdir does
-# not exist.
-hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld_RC
-
-# Whether we need a single -rpath flag with a separated argument.
-hardcode_libdir_separator=$lt_hardcode_libdir_separator_RC
-
-# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the
-# resulting binary.
-hardcode_direct=$hardcode_direct_RC
-
-# Set to yes if using the -LDIR flag during linking hardcodes DIR into the
-# resulting binary.
-hardcode_minus_L=$hardcode_minus_L_RC
-
-# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into
-# the resulting binary.
-hardcode_shlibpath_var=$hardcode_shlibpath_var_RC
-
-# Set to yes if building a shared library automatically hardcodes DIR into the library
-# and all subsequent libraries and executables linked against it.
-hardcode_automatic=$hardcode_automatic_RC
-
-# Variables whose values should be saved in libtool wrapper scripts and
-# restored at relink time.
-variables_saved_for_relink="$variables_saved_for_relink"
-
-# Whether libtool must link a program against all its dependency libraries.
-link_all_deplibs=$link_all_deplibs_RC
-
-# Compile-time system search path for libraries
-sys_lib_search_path_spec=$lt_sys_lib_search_path_spec
-
-# Run-time system search path for libraries
-sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec
-
-# Fix the shell variable \$srcfile for the compiler.
-fix_srcfile_path=$lt_fix_srcfile_path
-
-# Set to yes if exported symbols are required.
-always_export_symbols=$always_export_symbols_RC
-
-# The commands to list exported symbols.
-export_symbols_cmds=$lt_export_symbols_cmds_RC
-
-# The commands to extract the exported symbol list from a shared archive.
-extract_expsyms_cmds=$lt_extract_expsyms_cmds
-# Symbols that should not be listed in the preloaded symbols.
-exclude_expsyms=$lt_exclude_expsyms_RC
-# Symbols that must always be exported.
-include_expsyms=$lt_include_expsyms_RC
-# ### END LIBTOOL TAG CONFIG: $tagname
-__EOF__
-else
- # If there is no Makefile yet, we rely on a make rule to execute
- # `config.status --recheck' to rerun these tests and create the
- # libtool script then.
- ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'`
- if test -f "$ltmain_in"; then
- test -f Makefile && make "$ltmain"
- fi
-fi
+ fi # test -n "$compiler"
+ CC=$lt_save_CC
+ LDCXX=$LD
+ LD=$lt_save_LD
+ GCC=$lt_save_GCC
+ with_gnu_ld=$lt_save_with_gnu_ld
+ lt_cv_path_LDCXX=$lt_cv_path_LD
+ lt_cv_path_LD=$lt_save_path_LD
+ lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld
+ lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld
+fi # test "$_lt_caught_CXX_error" != yes
ac_ext=cpp
ac_cpp='$CXXCPP $CPPFLAGS'
@@ -19406,48 +15312,6 @@ ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-CC="$lt_save_CC"
-
- ;;
-
- *)
- { { echo "$as_me:$LINENO: error: Unsupported tag name: $tagname" >&5
-echo "$as_me: error: Unsupported tag name: $tagname" >&2;}
- { (exit 1); exit 1; }; }
- ;;
- esac
-
- # Append the new tag name to the list of available tags.
- if test -n "$tagname" ; then
- available_tags="$available_tags $tagname"
- fi
- fi
- done
- IFS="$lt_save_ifs"
-
- # Now substitute the updated list of available tags.
- if eval "sed -e 's/^available_tags=.*\$/available_tags=\"$available_tags\"/' \"$ofile\" > \"${ofile}T\""; then
- mv "${ofile}T" "$ofile"
- chmod +x "$ofile"
- else
- rm -f "${ofile}T"
- { { echo "$as_me:$LINENO: error: unable to update list of available tagged configurations." >&5
-echo "$as_me: error: unable to update list of available tagged configurations." >&2;}
- { (exit 1); exit 1; }; }
- fi
-fi
-
-
-
-# This can be used to rebuild libtool when needed
-LIBTOOL_DEPS="$ac_aux_dir/ltmain.sh"
-
-# Always use our own libtool.
-LIBTOOL='$(SHELL) $(top_builddir)/libtool'
-
-# Prevent multiple expansion
-
-
@@ -19460,10 +15324,12 @@ LIBTOOL='$(SHELL) $(top_builddir)/libtool'
+ ac_config_commands="$ac_config_commands libtool"
+# Only expand once:
@@ -19487,10 +15353,10 @@ fi
if test -z "$SWIGBIN"; then
# Extract the first word of "swig", so it can be a program name with args.
set dummy swig; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
if test "${ac_cv_path_SWIG+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
case $SWIG in
[\\/]* | ?:[\\/]*)
@@ -19505,7 +15371,7 @@ do
for ac_exec_ext in '' $ac_executable_extensions; do
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_path_SWIG="$as_dir/$ac_word$ac_exec_ext"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
@@ -19517,21 +15383,21 @@ esac
fi
SWIG=$ac_cv_path_SWIG
if test -n "$SWIG"; then
- { echo "$as_me:$LINENO: result: $SWIG" >&5
-echo "${ECHO_T}$SWIG" >&6; }
+ { $as_echo "$as_me:$LINENO: result: $SWIG" >&5
+$as_echo "$SWIG" >&6; }
else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
fi
else
# Extract the first word of "swig", so it can be a program name with args.
set dummy swig; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
if test "${ac_cv_path_SWIG+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
case $SWIG in
[\\/]* | ?:[\\/]*)
@@ -19546,7 +15412,7 @@ do
for ac_exec_ext in '' $ac_executable_extensions; do
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_path_SWIG="$as_dir/$ac_word$ac_exec_ext"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
@@ -19559,11 +15425,11 @@ esac
fi
SWIG=$ac_cv_path_SWIG
if test -n "$SWIG"; then
- { echo "$as_me:$LINENO: result: $SWIG" >&5
-echo "${ECHO_T}$SWIG" >&6; }
+ { $as_echo "$as_me:$LINENO: result: $SWIG" >&5
+$as_echo "$SWIG" >&6; }
else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
fi
@@ -19594,8 +15460,8 @@ fi
# Check libraries
# ---------------------------------------------------------------------
-{ echo "$as_me:$LINENO: checking for extra includes" >&5
-echo $ECHO_N "checking for extra includes... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking for extra includes" >&5
+$as_echo_n "checking for extra includes... " >&6; }
# Check whether --with-extra-includes was given.
if test "${with_extra_includes+set}" = set; then
@@ -19622,12 +15488,12 @@ else
fi
-{ echo "$as_me:$LINENO: result: $kde_use_extra_includes" >&5
-echo "${ECHO_T}$kde_use_extra_includes" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $kde_use_extra_includes" >&5
+$as_echo "$kde_use_extra_includes" >&6; }
kde_extra_libs=
-{ echo "$as_me:$LINENO: checking for extra libs" >&5
-echo $ECHO_N "checking for extra libs... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking for extra libs" >&5
+$as_echo_n "checking for extra libs... " >&6; }
# Check whether --with-extra-libs was given.
if test "${with_extra_libs+set}" = set; then
@@ -19655,16 +15521,16 @@ fi
-{ echo "$as_me:$LINENO: result: $kde_use_extra_libs" >&5
-echo "${ECHO_T}$kde_use_extra_libs" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $kde_use_extra_libs" >&5
+$as_echo "$kde_use_extra_libs" >&6; }
-{ echo "$as_me:$LINENO: checking for libz" >&5
-echo $ECHO_N "checking for libz... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking for libz" >&5
+$as_echo_n "checking for libz... " >&6; }
if test "${ac_cv_lib_z+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
ac_ext=c
@@ -19700,26 +15566,30 @@ case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
(eval "$ac_link") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
test -z "$ac_c_werror_flag" ||
test ! -s conftest.err
- } && test -s conftest$ac_exeext &&
- $as_test_x conftest$ac_exeext; then
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
eval "ac_cv_lib_z='-lz'"
else
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
eval "ac_cv_lib_z=no"
fi
+rm -rf conftest.dSYM
rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
conftest$ac_exeext conftest.$ac_ext
LIBS="$kde_save_LIBS"
@@ -19734,11 +15604,11 @@ _ACEOF
LIBZ="$ac_cv_lib_z"
- { echo "$as_me:$LINENO: result: $ac_cv_lib_z" >&5
-echo "${ECHO_T}$ac_cv_lib_z" >&6; }
+ { $as_echo "$as_me:$LINENO: result: $ac_cv_lib_z" >&5
+$as_echo "$ac_cv_lib_z" >&6; }
else
- { { echo "$as_me:$LINENO: error: not found. Check your installation and look into config.log" >&5
-echo "$as_me: error: not found. Check your installation and look into config.log" >&2;}
+ { { $as_echo "$as_me:$LINENO: error: not found. Check your installation and look into config.log" >&5
+$as_echo "$as_me: error: not found. Check your installation and look into config.log" >&2;}
{ (exit 1); exit 1; }; }
LIBZ=""
@@ -19767,8 +15637,8 @@ else
fi
-{ echo "$as_me:$LINENO: checking for Sword library files" >&5
-echo $ECHO_N "checking for Sword library files... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking for Sword library files" >&5
+$as_echo_n "checking for Sword library files... " >&6; }
ac_sword_library_dirs="$ac_sword_dir/lib /usr/lib /usr/lib/sword /usr/local/lib /usr/local/lib/sword /usr/local/sword/lib"
@@ -19780,7 +15650,7 @@ fi
if test "${ac_cv_sword_libdir+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
ac_cv_sword_libdir=NO
@@ -19788,7 +15658,7 @@ for i in $ac_sword_library_dirs;
do
for j in $SEARCH_LIBS;
do
- echo "configure: 19791: $i/$j" >&5
+ echo "configure: 15661: $i/$j" >&5
if test -r "$i/$j"; then
echo "taking that" >&5
ac_cv_sword_libdir=$i
@@ -19801,8 +15671,8 @@ fi
if test "$ac_cv_sword_libdir" = "NO"; then
- { { echo "$as_me:$LINENO: error: SWORD library not found. Try to use configure with --with-sword-dir=/your/SWORD/path!" >&5
-echo "$as_me: error: SWORD library not found. Try to use configure with --with-sword-dir=/your/SWORD/path!" >&2;}
+ { { $as_echo "$as_me:$LINENO: error: SWORD library not found. Try to use configure with --with-sword-dir=/your/SWORD/path!" >&5
+$as_echo "$as_me: error: SWORD library not found. Try to use configure with --with-sword-dir=/your/SWORD/path!" >&2;}
{ (exit 1); exit 1; }; };
fi
@@ -19821,17 +15691,17 @@ if test "$ac_static_sword" = "YES"; then
else
MESSAGE="$ac_cv_sword_libdir";
fi
-{ echo "$as_me:$LINENO: result: $MESSAGE" >&5
-echo "${ECHO_T}$MESSAGE" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $MESSAGE" >&5
+$as_echo "$MESSAGE" >&6; }
-{ echo "$as_me:$LINENO: checking for Sword include files" >&5
-echo $ECHO_N "checking for Sword include files... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking for Sword include files" >&5
+$as_echo_n "checking for Sword include files... " >&6; }
ac_sword_include_dirs="$ac_sword_dir/include/sword $ac_sword_dir/include /usr/include/sword /usr/include /usr/local/include/sword /usr/local/include /usr/local/sword/include /usr/local/sword/include/sword"
if test "${ac_cv_sword_incdir+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
ac_cv_sword_incdir=NO
@@ -19839,7 +15709,7 @@ for i in $ac_sword_include_dirs;
do
for j in swmgr.h;
do
- echo "configure: 19842: $i/$j" >&5
+ echo "configure: 15712: $i/$j" >&5
if test -r "$i/$j"; then
echo "taking that" >&5
ac_cv_sword_incdir=$i
@@ -19852,10 +15722,10 @@ fi
if test "$ac_cv_sword_incdir" = "NO"; then
- { { echo "$as_me:$LINENO: error: The Sword include file files were not found.
+ { { $as_echo "$as_me:$LINENO: error: The Sword include file files were not found.
Please try to use configure with --with-sword-dir=/your/SWORD/path !
" >&5
-echo "$as_me: error: The Sword include file files were not found.
+$as_echo "$as_me: error: The Sword include file files were not found.
Please try to use configure with --with-sword-dir=/your/SWORD/path !
" >&2;}
{ (exit 1); exit 1; }; }
@@ -19867,16 +15737,16 @@ SWORD_INCLUDE_DIR="$ac_cv_sword_incdir"
all_includes="$all_includes -I$ac_cv_sword_incdir"
-{ echo "$as_me:$LINENO: result: $ac_cv_sword_incdir" >&5
-echo "${ECHO_T}$ac_cv_sword_incdir" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_sword_incdir" >&5
+$as_echo "$ac_cv_sword_incdir" >&6; }
-{ echo "$as_me:$LINENO: checking if you have Sword 1.5.7 or later" >&5
-echo $ECHO_N "checking if you have Sword 1.5.7 or later... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking if you have Sword 1.5.7 or later" >&5
+$as_echo_n "checking if you have Sword 1.5.7 or later... " >&6; }
if test "${ac_cv_installed_sword_version+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
@@ -19932,7 +15802,7 @@ ac_link='${CXX-g++} -o conftest $CXXFLAGS $all_includes $CPPFLAGS $LDFLAGS conft
if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
(eval $ac_link) 2>&5
ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && test -s conftest; then
if test -x conftest; then
eval ac_cv_installed_sword_version=`./conftest 2>&5`
@@ -19970,13 +15840,13 @@ if test "x$sword_test_returncode" = "x1"; then
right_version="wrong version";
fi;
-{ echo "$as_me:$LINENO: result: $ac_cv_installed_sword_version" >&5
-echo "${ECHO_T}$ac_cv_installed_sword_version" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_installed_sword_version" >&5
+$as_echo "$ac_cv_installed_sword_version" >&6; }
echo "configure: right_version=$right_version" >&5
if test "x$right_version" != "xok"; then
- { { echo "$as_me:$LINENO: error: Your Sword installation is not recent enough! $sword_test_returncode Please
+ { { $as_echo "$as_me:$LINENO: error: Your Sword installation is not recent enough! $sword_test_returncode Please
upgrade to version 1.5.7!" >&5
-echo "$as_me: error: Your Sword installation is not recent enough! $sword_test_returncode Please
+$as_echo "$as_me: error: Your Sword installation is not recent enough! $sword_test_returncode Please
upgrade to version 1.5.7!" >&2;}
{ (exit 1); exit 1; }; };
fi;
@@ -19986,8 +15856,8 @@ fi;
# ---------------------------------------------------------------------
# Misc
# ---------------------------------------------------------------------
-{ echo "$as_me:$LINENO: checking whether to enable maintainer-specific portions of Makefiles" >&5
-echo $ECHO_N "checking whether to enable maintainer-specific portions of Makefiles... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking whether to enable maintainer-specific portions of Makefiles" >&5
+$as_echo_n "checking whether to enable maintainer-specific portions of Makefiles... " >&6; }
# Check whether --enable-maintainer-mode was given.
if test "${enable_maintainer_mode+set}" = set; then
enableval=$enable_maintainer_mode; USE_MAINTAINER_MODE=$enableval
@@ -19995,8 +15865,8 @@ else
USE_MAINTAINER_MODE=no
fi
- { echo "$as_me:$LINENO: result: $USE_MAINTAINER_MODE" >&5
-echo "${ECHO_T}$USE_MAINTAINER_MODE" >&6; }
+ { $as_echo "$as_me:$LINENO: result: $USE_MAINTAINER_MODE" >&5
+$as_echo "$USE_MAINTAINER_MODE" >&6; }
if test $USE_MAINTAINER_MODE = yes; then
MAINTAINER_MODE_TRUE=
MAINTAINER_MODE_FALSE='#'
@@ -20049,10 +15919,10 @@ for ac_prog in perl perl5.6.1 perl5.6.0 perl5.004 perl5.003 perl5.002 perl5.001
do
# Extract the first word of "$ac_prog", so it can be a program name with args.
set dummy $ac_prog; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
if test "${ac_cv_path_PERL+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
case $PERL in
[\\/]* | ?:[\\/]*)
@@ -20067,7 +15937,7 @@ do
for ac_exec_ext in '' $ac_executable_extensions; do
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_path_PERL="$as_dir/$ac_word$ac_exec_ext"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
@@ -20079,11 +15949,11 @@ esac
fi
PERL=$ac_cv_path_PERL
if test -n "$PERL"; then
- { echo "$as_me:$LINENO: result: $PERL" >&5
-echo "${ECHO_T}$PERL" >&6; }
+ { $as_echo "$as_me:$LINENO: result: $PERL" >&5
+$as_echo "$PERL" >&6; }
else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
fi
@@ -20093,10 +15963,10 @@ done
else
# Extract the first word of "perl", so it can be a program name with args.
set dummy perl; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
if test "${ac_cv_path_PERL+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
case $PERL in
[\\/]* | ?:[\\/]*)
@@ -20111,7 +15981,7 @@ do
for ac_exec_ext in '' $ac_executable_extensions; do
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_path_PERL="$as_dir/$ac_word$ac_exec_ext"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
@@ -20123,11 +15993,11 @@ esac
fi
PERL=$ac_cv_path_PERL
if test -n "$PERL"; then
- { echo "$as_me:$LINENO: result: $PERL" >&5
-echo "${ECHO_T}$PERL" >&6; }
+ { $as_echo "$as_me:$LINENO: result: $PERL" >&5
+$as_echo "$PERL" >&6; }
else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
fi
@@ -20135,8 +16005,8 @@ fi
fi
-{ echo "$as_me:$LINENO: checking for Perl5 header files" >&5
-echo $ECHO_N "checking for Perl5 header files... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking for Perl5 header files" >&5
+$as_echo_n "checking for Perl5 header files... " >&6; }
if test -n "$PERL"; then
PERL5DIR=`($PERL -e 'use Config; print $Config{archlib};') 2>/dev/null`
if test "$PERL5DIR" != ""; then
@@ -20145,36 +16015,36 @@ if test -n "$PERL"; then
PERLBUILD=perl_make
for i in $dirs; do
if test -r $i/perl.h; then
- { echo "$as_me:$LINENO: result: $i" >&5
-echo "${ECHO_T}$i" >&6; }
+ { $as_echo "$as_me:$LINENO: result: $i" >&5
+$as_echo "$i" >&6; }
PERL5EXT="$i"
break;
fi
done
if test "$PERL5EXT" = none; then
PERL5EXT="$PERL5DIR/CORE"
- { echo "$as_me:$LINENO: result: could not locate perl.h...using $PERL5EXT" >&5
-echo "${ECHO_T}could not locate perl.h...using $PERL5EXT" >&6; }
+ { $as_echo "$as_me:$LINENO: result: could not locate perl.h...using $PERL5EXT" >&5
+$as_echo "could not locate perl.h...using $PERL5EXT" >&6; }
fi
- { echo "$as_me:$LINENO: checking for Perl5 library" >&5
-echo $ECHO_N "checking for Perl5 library... $ECHO_C" >&6; }
+ { $as_echo "$as_me:$LINENO: checking for Perl5 library" >&5
+$as_echo_n "checking for Perl5 library... " >&6; }
PERL5LIB=`($PERL -e 'use Config; $_=$Config{libperl}; s/^lib//; s/$Config{_a}$//; print $_') 2>/dev/null`
if test "$PERL5LIB" = "" ; then
- { echo "$as_me:$LINENO: result: not found" >&5
-echo "${ECHO_T}not found" >&6; }
+ { $as_echo "$as_me:$LINENO: result: not found" >&5
+$as_echo "not found" >&6; }
else
- { echo "$as_me:$LINENO: result: $PERL5LIB" >&5
-echo "${ECHO_T}$PERL5LIB" >&6; }
+ { $as_echo "$as_me:$LINENO: result: $PERL5LIB" >&5
+$as_echo "$PERL5LIB" >&6; }
fi
else
- { echo "$as_me:$LINENO: result: unable to determine perl5 configuration" >&5
-echo "${ECHO_T}unable to determine perl5 configuration" >&6; }
+ { $as_echo "$as_me:$LINENO: result: unable to determine perl5 configuration" >&5
+$as_echo "unable to determine perl5 configuration" >&6; }
PERL5EXT=$PERL5DIR
fi
else
- { echo "$as_me:$LINENO: result: could not figure out how to run perl5" >&5
-echo "${ECHO_T}could not figure out how to run perl5" >&6; }
+ { $as_echo "$as_me:$LINENO: result: could not figure out how to run perl5" >&5
+$as_echo "could not figure out how to run perl5" >&6; }
# PERL5EXT="/usr/local/lib/perl/archname/5.003/CORE"
fi
@@ -20237,10 +16107,10 @@ for ac_prog in $prefix/bin/python python python2.4 python2.3 python2.2 python2.1
do
# Extract the first word of "$ac_prog", so it can be a program name with args.
set dummy $ac_prog; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
if test "${ac_cv_path_PYTHON+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
case $PYTHON in
[\\/]* | ?:[\\/]*)
@@ -20255,7 +16125,7 @@ do
for ac_exec_ext in '' $ac_executable_extensions; do
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_path_PYTHON="$as_dir/$ac_word$ac_exec_ext"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
@@ -20267,11 +16137,11 @@ esac
fi
PYTHON=$ac_cv_path_PYTHON
if test -n "$PYTHON"; then
- { echo "$as_me:$LINENO: result: $PYTHON" >&5
-echo "${ECHO_T}$PYTHON" >&6; }
+ { $as_echo "$as_me:$LINENO: result: $PYTHON" >&5
+$as_echo "$PYTHON" >&6; }
else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
fi
@@ -20283,34 +16153,34 @@ PYTHON="$PYBIN"
fi
if test -n "$PYTHON"; then
- { echo "$as_me:$LINENO: checking for Python prefix" >&5
-echo $ECHO_N "checking for Python prefix... $ECHO_C" >&6; }
+ { $as_echo "$as_me:$LINENO: checking for Python prefix" >&5
+$as_echo_n "checking for Python prefix... " >&6; }
PYPREFIX=`($PYTHON -c "import sys; print sys.prefix") 2>/dev/null`
- { echo "$as_me:$LINENO: result: $PYPREFIX" >&5
-echo "${ECHO_T}$PYPREFIX" >&6; }
- { echo "$as_me:$LINENO: checking for Python exec-prefix" >&5
-echo $ECHO_N "checking for Python exec-prefix... $ECHO_C" >&6; }
+ { $as_echo "$as_me:$LINENO: result: $PYPREFIX" >&5
+$as_echo "$PYPREFIX" >&6; }
+ { $as_echo "$as_me:$LINENO: checking for Python exec-prefix" >&5
+$as_echo_n "checking for Python exec-prefix... " >&6; }
PYEPREFIX=`($PYTHON -c "import sys; print sys.exec_prefix") 2>/dev/null`
- { echo "$as_me:$LINENO: result: $PYEPREFIX" >&5
-echo "${ECHO_T}$PYEPREFIX" >&6; }
+ { $as_echo "$as_me:$LINENO: result: $PYEPREFIX" >&5
+$as_echo "$PYEPREFIX" >&6; }
# Note: I could not think of a standard way to get the version string from different versions.
# This trick pulls it out of the file location for a standard library file.
- { echo "$as_me:$LINENO: checking for Python version" >&5
-echo $ECHO_N "checking for Python version... $ECHO_C" >&6; }
+ { $as_echo "$as_me:$LINENO: checking for Python version" >&5
+$as_echo_n "checking for Python version... " >&6; }
# Need to do this hack since autoconf replaces __file__ with the name of the configure file
filehack="file__"
PYVERSION=`($PYTHON -c "import string,operator; print operator.getitem(string.split(string.__$filehack,'/'),-2)")`
- { echo "$as_me:$LINENO: result: $PYVERSION" >&5
-echo "${ECHO_T}$PYVERSION" >&6; }
+ { $as_echo "$as_me:$LINENO: result: $PYVERSION" >&5
+$as_echo "$PYVERSION" >&6; }
# Set the include directory
- { echo "$as_me:$LINENO: checking for Python header files" >&5
-echo $ECHO_N "checking for Python header files... $ECHO_C" >&6; }
+ { $as_echo "$as_me:$LINENO: checking for Python header files" >&5
+$as_echo_n "checking for Python header files... " >&6; }
if test -r $PYPREFIX/include/$PYVERSION/Python.h; then
PYINCLUDE="-I$PYPREFIX/include/$PYVERSION -I$PYEPREFIX/lib/$PYVERSION/config"
fi
@@ -20319,12 +16189,12 @@ echo $ECHO_N "checking for Python header files... $ECHO_C" >&6; }
PYINCLUDE="-I$PYPREFIX/include/Py -I$PYEPREFIX/lib/python/lib"
fi
fi
- { echo "$as_me:$LINENO: result: $PYINCLUDE" >&5
-echo "${ECHO_T}$PYINCLUDE" >&6; }
+ { $as_echo "$as_me:$LINENO: result: $PYINCLUDE" >&5
+$as_echo "$PYINCLUDE" >&6; }
# Set the library directory blindly. This probably won't work with older versions
- { echo "$as_me:$LINENO: checking for Python library" >&5
-echo $ECHO_N "checking for Python library... $ECHO_C" >&6; }
+ { $as_echo "$as_me:$LINENO: checking for Python library" >&5
+$as_echo_n "checking for Python library... " >&6; }
dirs="$PYVERSION/config $PYVERSION/lib python/lib"
for i in $dirs; do
if test -d $PYEPREFIX/lib/$i; then
@@ -20334,11 +16204,11 @@ echo $ECHO_N "checking for Python library... $ECHO_C" >&6; }
fi
done
if test -z "$PYLIB"; then
- { echo "$as_me:$LINENO: result: Not found" >&5
-echo "${ECHO_T}Not found" >&6; }
+ { $as_echo "$as_me:$LINENO: result: Not found" >&5
+$as_echo "Not found" >&6; }
else
- { echo "$as_me:$LINENO: result: $PYLIB" >&5
-echo "${ECHO_T}$PYLIB" >&6; }
+ { $as_echo "$as_me:$LINENO: result: $PYLIB" >&5
+$as_echo "$PYLIB" >&6; }
fi
# Check for really old versions
@@ -20383,10 +16253,10 @@ for ac_prog in php php4
do
# Extract the first word of "$ac_prog", so it can be a program name with args.
set dummy $ac_prog; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
if test "${ac_cv_path_PHP4+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
case $PHP4 in
[\\/]* | ?:[\\/]*)
@@ -20401,7 +16271,7 @@ do
for ac_exec_ext in '' $ac_executable_extensions; do
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_path_PHP4="$as_dir/$ac_word$ac_exec_ext"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
@@ -20413,11 +16283,11 @@ esac
fi
PHP4=$ac_cv_path_PHP4
if test -n "$PHP4"; then
- { echo "$as_me:$LINENO: result: $PHP4" >&5
-echo "${ECHO_T}$PHP4" >&6; }
+ { $as_echo "$as_me:$LINENO: result: $PHP4" >&5
+$as_echo "$PHP4" >&6; }
else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
fi
@@ -20427,21 +16297,21 @@ done
else
PHP4="$PHP4BIN"
fi
-{ echo "$as_me:$LINENO: checking for PHP4 header files" >&5
-echo $ECHO_N "checking for PHP4 header files... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking for PHP4 header files" >&5
+$as_echo_n "checking for PHP4 header files... " >&6; }
dirs="/usr/include/php /usr/local/include/php /usr/local/apache/php /usr/include/php4 /usr/local/include/php4 /usr/local/apache/php4"
for i in $dirs; do
if test -r $i/php_config.h -o -r $i/php_version.h; then
- { echo "$as_me:$LINENO: result: $i" >&5
-echo "${ECHO_T}$i" >&6; }
+ { $as_echo "$as_me:$LINENO: result: $i" >&5
+$as_echo "$i" >&6; }
PHP4EXT="$i"
PHP4INC="-I$PHP4EXT -I$PHP4EXT/Zend -I$PHP4EXT/main -I$PHP4EXT/TSRM"
break;
fi
done
if test -z "$PHP4INC"; then
- { echo "$as_me:$LINENO: result: not found" >&5
-echo "${ECHO_T}not found" >&6; }
+ { $as_echo "$as_me:$LINENO: result: not found" >&5
+$as_echo "not found" >&6; }
fi
@@ -20489,15 +16359,15 @@ else
fi
-{ echo "$as_me:$LINENO: checking for Tcl configuration" >&5
-echo $ECHO_N "checking for Tcl configuration... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking for Tcl configuration" >&5
+$as_echo_n "checking for Tcl configuration... " >&6; }
# First check to see if --with-tclconfig was specified.
if test x"${with_tclconfig}" != x ; then
if test -f "${with_tclconfig}/tclConfig.sh" ; then
TCLCONFIG=`(cd ${with_tclconfig}; pwd)`
else
- { { echo "$as_me:$LINENO: error: ${with_tcl} directory doesn't contain tclConfig.sh" >&5
-echo "$as_me: error: ${with_tcl} directory doesn't contain tclConfig.sh" >&2;}
+ { { $as_echo "$as_me:$LINENO: error: ${with_tcl} directory doesn't contain tclConfig.sh" >&5
+$as_echo "$as_me: error: ${with_tcl} directory doesn't contain tclConfig.sh" >&2;}
{ (exit 1); exit 1; }; }
fi
fi
@@ -20513,11 +16383,11 @@ if test x"${TCLCONFIG}" = x ; then
done
fi
if test x"${TCLCONFIG}" = x ; then
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
else
- { echo "$as_me:$LINENO: result: found $TCLCONFIG/tclConfig.sh" >&5
-echo "${ECHO_T}found $TCLCONFIG/tclConfig.sh" >&6; }
+ { $as_echo "$as_me:$LINENO: result: found $TCLCONFIG/tclConfig.sh" >&5
+$as_echo "found $TCLCONFIG/tclConfig.sh" >&6; }
. $TCLCONFIG/tclConfig.sh
TCLINCLUDE=-I$TCL_PREFIX/include
TCLLIB=$TCL_LIB_SPEC
@@ -20535,8 +16405,8 @@ if test -z "$TCLLIB"; then
fi
fi
-{ echo "$as_me:$LINENO: checking for Tcl header files" >&5
-echo $ECHO_N "checking for Tcl header files... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking for Tcl header files" >&5
+$as_echo_n "checking for Tcl header files... " >&6; }
if test -z "$TCLINCLUDE"; then
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
@@ -20551,20 +16421,21 @@ case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
(eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } >/dev/null && {
test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
test ! -s conftest.err
}; then
:
else
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
TCLINCLUDE=""
@@ -20575,8 +16446,8 @@ if test -z "$TCLINCLUDE"; then
dirs="$prefix/include /usr/local/include /usr/include /opt/local/include"
for i in $dirs ; do
if test -r $i/tcl.h; then
- { echo "$as_me:$LINENO: result: $i" >&5
-echo "${ECHO_T}$i" >&6; }
+ { $as_echo "$as_me:$LINENO: result: $i" >&5
+$as_echo "$i" >&6; }
TCLINCLUDE="-I$i"
break
fi
@@ -20584,34 +16455,34 @@ echo "${ECHO_T}$i" >&6; }
fi
if test -z "$TCLINCLUDE"; then
# TCLINCLUDE="-I/usr/local/include"
- { echo "$as_me:$LINENO: result: not found" >&5
-echo "${ECHO_T}not found" >&6; }
+ { $as_echo "$as_me:$LINENO: result: not found" >&5
+$as_echo "not found" >&6; }
fi
else
- { echo "$as_me:$LINENO: result: $TCLINCLUDE" >&5
-echo "${ECHO_T}$TCLINCLUDE" >&6; }
+ { $as_echo "$as_me:$LINENO: result: $TCLINCLUDE" >&5
+$as_echo "$TCLINCLUDE" >&6; }
fi
-{ echo "$as_me:$LINENO: checking for Tcl library" >&5
-echo $ECHO_N "checking for Tcl library... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking for Tcl library" >&5
+$as_echo_n "checking for Tcl library... " >&6; }
if test -z "$TCLLIB"; then
dirs="$prefix/lib /usr/local/lib /usr/lib /opt/local/lib"
for i in $dirs ; do
if test -r $i/libtcl.a; then
- { echo "$as_me:$LINENO: result: $i" >&5
-echo "${ECHO_T}$i" >&6; }
+ { $as_echo "$as_me:$LINENO: result: $i" >&5
+$as_echo "$i" >&6; }
TCLLIB="-L$i -ltcl"
break
fi
done
if test -z "$TCLLIB"; then
- { echo "$as_me:$LINENO: result: not found" >&5
-echo "${ECHO_T}not found" >&6; }
+ { $as_echo "$as_me:$LINENO: result: not found" >&5
+$as_echo "not found" >&6; }
# TCLLIB="-L/usr/local/lib"
fi
else
-{ echo "$as_me:$LINENO: result: $TCLLIB" >&5
-echo "${ECHO_T}$TCLLIB" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $TCLLIB" >&5
+$as_echo "$TCLLIB" >&6; }
fi
# Only cygwin (Windows) needs the library for dynamic linking
@@ -20659,11 +16530,12 @@ _ACEOF
case $ac_val in #(
*${as_nl}*)
case $ac_var in #(
- *_cv_*) { echo "$as_me:$LINENO: WARNING: Cache variable $ac_var contains a newline." >&5
-echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;;
+ *_cv_*) { $as_echo "$as_me:$LINENO: WARNING: cache variable $ac_var contains a newline" >&5
+$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
esac
case $ac_var in #(
_ | IFS | as_nl) ;; #(
+ BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #(
*) $as_unset $ac_var ;;
esac ;;
esac
@@ -20696,12 +16568,12 @@ echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;;
if diff "$cache_file" confcache >/dev/null 2>&1; then :; else
if test -w "$cache_file"; then
test "x$cache_file" != "x/dev/null" &&
- { echo "$as_me:$LINENO: updating cache $cache_file" >&5
-echo "$as_me: updating cache $cache_file" >&6;}
+ { $as_echo "$as_me:$LINENO: updating cache $cache_file" >&5
+$as_echo "$as_me: updating cache $cache_file" >&6;}
cat confcache >$cache_file
else
- { echo "$as_me:$LINENO: not updating unwritable cache $cache_file" >&5
-echo "$as_me: not updating unwritable cache $cache_file" >&6;}
+ { $as_echo "$as_me:$LINENO: not updating unwritable cache $cache_file" >&5
+$as_echo "$as_me: not updating unwritable cache $cache_file" >&6;}
fi
fi
rm -f confcache
@@ -20718,6 +16590,12 @@ test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
# take arguments), then branch to the quote section. Otherwise,
# look for a macro that doesn't take arguments.
ac_script='
+:mline
+/\\$/{
+ N
+ s,\\\n,,
+ b mline
+}
t clear
:clear
s/^[ ]*#[ ]*define[ ][ ]*\([^ (][^ (]*([^)]*)\)[ ]*\(.*\)/-D\1=\2/g
@@ -20747,7 +16625,7 @@ ac_ltlibobjs=
for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue
# 1. Remove the extension, and $U if already installed.
ac_script='s/\$U\././;s/\.o$//;s/\.obj$//'
- ac_i=`echo "$ac_i" | sed "$ac_script"`
+ ac_i=`$as_echo "$ac_i" | sed "$ac_script"`
# 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR
# will be set to the directory where LIBOBJS objects are built.
ac_libobjs="$ac_libobjs \${LIBOBJDIR}$ac_i\$U.$ac_objext"
@@ -20759,54 +16637,62 @@ LTLIBOBJS=$ac_ltlibobjs
if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then
- { { echo "$as_me:$LINENO: error: conditional \"AMDEP\" was never defined.
+ { { $as_echo "$as_me:$LINENO: error: conditional \"AMDEP\" was never defined.
Usually this means the macro was only invoked conditionally." >&5
-echo "$as_me: error: conditional \"AMDEP\" was never defined.
+$as_echo "$as_me: error: conditional \"AMDEP\" was never defined.
Usually this means the macro was only invoked conditionally." >&2;}
{ (exit 1); exit 1; }; }
fi
if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then
- { { echo "$as_me:$LINENO: error: conditional \"am__fastdepCC\" was never defined.
+ { { $as_echo "$as_me:$LINENO: error: conditional \"am__fastdepCC\" was never defined.
Usually this means the macro was only invoked conditionally." >&5
-echo "$as_me: error: conditional \"am__fastdepCC\" was never defined.
+$as_echo "$as_me: error: conditional \"am__fastdepCC\" was never defined.
Usually this means the macro was only invoked conditionally." >&2;}
{ (exit 1); exit 1; }; }
fi
if test -z "${am__fastdepCXX_TRUE}" && test -z "${am__fastdepCXX_FALSE}"; then
- { { echo "$as_me:$LINENO: error: conditional \"am__fastdepCXX\" was never defined.
+ { { $as_echo "$as_me:$LINENO: error: conditional \"am__fastdepCXX\" was never defined.
Usually this means the macro was only invoked conditionally." >&5
-echo "$as_me: error: conditional \"am__fastdepCXX\" was never defined.
+$as_echo "$as_me: error: conditional \"am__fastdepCXX\" was never defined.
+Usually this means the macro was only invoked conditionally." >&2;}
+ { (exit 1); exit 1; }; }
+fi
+if test -z "${am__fastdepCXX_TRUE}" && test -z "${am__fastdepCXX_FALSE}"; then
+ { { $as_echo "$as_me:$LINENO: error: conditional \"am__fastdepCXX\" was never defined.
+Usually this means the macro was only invoked conditionally." >&5
+$as_echo "$as_me: error: conditional \"am__fastdepCXX\" was never defined.
Usually this means the macro was only invoked conditionally." >&2;}
{ (exit 1); exit 1; }; }
fi
if test -z "${RUNSWIG_TRUE}" && test -z "${RUNSWIG_FALSE}"; then
- { { echo "$as_me:$LINENO: error: conditional \"RUNSWIG\" was never defined.
+ { { $as_echo "$as_me:$LINENO: error: conditional \"RUNSWIG\" was never defined.
Usually this means the macro was only invoked conditionally." >&5
-echo "$as_me: error: conditional \"RUNSWIG\" was never defined.
+$as_echo "$as_me: error: conditional \"RUNSWIG\" was never defined.
Usually this means the macro was only invoked conditionally." >&2;}
{ (exit 1); exit 1; }; }
fi
if test -z "${MAINTAINER_MODE_TRUE}" && test -z "${MAINTAINER_MODE_FALSE}"; then
- { { echo "$as_me:$LINENO: error: conditional \"MAINTAINER_MODE\" was never defined.
+ { { $as_echo "$as_me:$LINENO: error: conditional \"MAINTAINER_MODE\" was never defined.
Usually this means the macro was only invoked conditionally." >&5
-echo "$as_me: error: conditional \"MAINTAINER_MODE\" was never defined.
+$as_echo "$as_me: error: conditional \"MAINTAINER_MODE\" was never defined.
Usually this means the macro was only invoked conditionally." >&2;}
{ (exit 1); exit 1; }; }
fi
if test -z "${RUNSWIG_TRUE}" && test -z "${RUNSWIG_FALSE}"; then
- { { echo "$as_me:$LINENO: error: conditional \"RUNSWIG\" was never defined.
+ { { $as_echo "$as_me:$LINENO: error: conditional \"RUNSWIG\" was never defined.
Usually this means the macro was only invoked conditionally." >&5
-echo "$as_me: error: conditional \"RUNSWIG\" was never defined.
+$as_echo "$as_me: error: conditional \"RUNSWIG\" was never defined.
Usually this means the macro was only invoked conditionally." >&2;}
{ (exit 1); exit 1; }; }
fi
: ${CONFIG_STATUS=./config.status}
+ac_write_fail=0
ac_clean_files_save=$ac_clean_files
ac_clean_files="$ac_clean_files $CONFIG_STATUS"
-{ echo "$as_me:$LINENO: creating $CONFIG_STATUS" >&5
-echo "$as_me: creating $CONFIG_STATUS" >&6;}
-cat >$CONFIG_STATUS <<_ACEOF
+{ $as_echo "$as_me:$LINENO: creating $CONFIG_STATUS" >&5
+$as_echo "$as_me: creating $CONFIG_STATUS" >&6;}
+cat >$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
#! $SHELL
# Generated by $as_me.
# Run this file to recreate the current configuration.
@@ -20819,7 +16705,7 @@ ac_cs_silent=false
SHELL=\${CONFIG_SHELL-$SHELL}
_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
## --------------------- ##
## M4sh Initialization. ##
## --------------------- ##
@@ -20829,7 +16715,7 @@ DUALCASE=1; export DUALCASE # for MKS sh
if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
emulate sh
NULLCMD=:
- # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
+ # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
# is contrary to our usage. Disable this feature.
alias -g '${1+"$@"}'='"$@"'
setopt NO_GLOB_SUBST
@@ -20851,17 +16737,45 @@ as_cr_Letters=$as_cr_letters$as_cr_LETTERS
as_cr_digits='0123456789'
as_cr_alnum=$as_cr_Letters$as_cr_digits
-# The user is always right.
-if test "${PATH_SEPARATOR+set}" != set; then
- echo "#! /bin/sh" >conf$$.sh
- echo "exit 0" >>conf$$.sh
- chmod +x conf$$.sh
- if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
- PATH_SEPARATOR=';'
+as_nl='
+'
+export as_nl
+# Printing a long string crashes Solaris 7 /usr/bin/printf.
+as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
+as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo
+as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo
+if (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then
+ as_echo='printf %s\n'
+ as_echo_n='printf %s'
+else
+ if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then
+ as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"'
+ as_echo_n='/usr/ucb/echo -n'
else
- PATH_SEPARATOR=:
+ as_echo_body='eval expr "X$1" : "X\\(.*\\)"'
+ as_echo_n_body='eval
+ arg=$1;
+ case $arg in
+ *"$as_nl"*)
+ expr "X$arg" : "X\\(.*\\)$as_nl";
+ arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;;
+ esac;
+ expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl"
+ '
+ export as_echo_n_body
+ as_echo_n='sh -c $as_echo_n_body as_echo'
fi
- rm -f conf$$.sh
+ export as_echo_body
+ as_echo='sh -c $as_echo_body as_echo'
+fi
+
+# The user is always right.
+if test "${PATH_SEPARATOR+set}" != set; then
+ PATH_SEPARATOR=:
+ (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
+ (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
+ PATH_SEPARATOR=';'
+ }
fi
# Support unset when possible.
@@ -20877,8 +16791,6 @@ fi
# there to prevent editors from complaining about space-tab.
# (If _AS_PATH_WALK were called with IFS unset, it would disable word
# splitting by setting IFS to empty value.)
-as_nl='
-'
IFS=" "" $as_nl"
# Find who we are. Look in the path if we contain no directory separator.
@@ -20901,7 +16813,7 @@ if test "x$as_myself" = x; then
as_myself=$0
fi
if test ! -f "$as_myself"; then
- echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
+ $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
{ (exit 1); exit 1; }
fi
@@ -20914,17 +16826,10 @@ PS2='> '
PS4='+ '
# NLS nuisances.
-for as_var in \
- LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \
- LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \
- LC_TELEPHONE LC_TIME
-do
- if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then
- eval $as_var=C; export $as_var
- else
- ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
- fi
-done
+LC_ALL=C
+export LC_ALL
+LANGUAGE=C
+export LANGUAGE
# Required to use basename.
if expr a : '\(a\)' >/dev/null 2>&1 &&
@@ -20946,7 +16851,7 @@ as_me=`$as_basename -- "$0" ||
$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
X"$0" : 'X\(//\)$' \| \
X"$0" : 'X\(/\)' \| . 2>/dev/null ||
-echo X/"$0" |
+$as_echo X/"$0" |
sed '/^.*\/\([^/][^/]*\)\/*$/{
s//\1/
q
@@ -20997,7 +16902,7 @@ $as_unset CDPATH
s/-\n.*//
' >$as_me.lineno &&
chmod +x "$as_me.lineno" ||
- { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2
+ { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2
{ (exit 1); exit 1; }; }
# Don't try to exec as it changes $[0], causing all sort of problems
@@ -21025,7 +16930,6 @@ case `echo -n x` in
*)
ECHO_N='-n';;
esac
-
if expr a : '\(a\)' >/dev/null 2>&1 &&
test "X`expr 00001 : '.*\(...\)'`" = X001; then
as_expr=expr
@@ -21038,19 +16942,22 @@ if test -d conf$$.dir; then
rm -f conf$$.dir/conf$$.file
else
rm -f conf$$.dir
- mkdir conf$$.dir
-fi
-echo >conf$$.file
-if ln -s conf$$.file conf$$ 2>/dev/null; then
- as_ln_s='ln -s'
- # ... but there are two gotchas:
- # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
- # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
- # In both cases, we have to default to `cp -p'.
- ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
+ mkdir conf$$.dir 2>/dev/null
+fi
+if (echo >conf$$.file) 2>/dev/null; then
+ if ln -s conf$$.file conf$$ 2>/dev/null; then
+ as_ln_s='ln -s'
+ # ... but there are two gotchas:
+ # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
+ # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
+ # In both cases, we have to default to `cp -p'.
+ ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
+ as_ln_s='cp -p'
+ elif ln conf$$.file conf$$ 2>/dev/null; then
+ as_ln_s=ln
+ else
as_ln_s='cp -p'
-elif ln conf$$.file conf$$ 2>/dev/null; then
- as_ln_s=ln
+ fi
else
as_ln_s='cp -p'
fi
@@ -21075,10 +16982,10 @@ else
as_test_x='
eval sh -c '\''
if test -d "$1"; then
- test -d "$1/.";
+ test -d "$1/.";
else
case $1 in
- -*)set "./$1";;
+ -*)set "./$1";;
esac;
case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in
???[sx]*):;;*)false;;esac;fi
@@ -21101,7 +17008,7 @@ exec 6>&1
# values after options handling.
ac_log="
This file was extended by swordbindings $as_me 1.5.11, which was
-generated by GNU Autoconf 2.61. Invocation command line was
+generated by GNU Autoconf 2.63. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
CONFIG_HEADERS = $CONFIG_HEADERS
@@ -21114,27 +17021,34 @@ on `(hostname || uname -n) 2>/dev/null | sed 1q`
_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF
+case $ac_config_files in *"
+"*) set x $ac_config_files; shift; ac_config_files=$*;;
+esac
+
+
+
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
# Files that config.status was made for.
config_files="$ac_config_files"
config_commands="$ac_config_commands"
_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
ac_cs_usage="\
\`$as_me' instantiates files from templates according to the
current configuration.
-Usage: $0 [OPTIONS] [FILE]...
+Usage: $0 [OPTION]... [FILE]...
-h, --help print this help, then exit
-V, --version print version number and configuration settings, then exit
- -q, --quiet do not print progress messages
+ -q, --quiet, --silent
+ do not print progress messages
-d, --debug don't remove temporary files
--recheck update $as_me by reconfiguring in the same conditions
- --file=FILE[:TEMPLATE]
- instantiate the configuration file FILE
+ --file=FILE[:TEMPLATE]
+ instantiate the configuration file FILE
Configuration files:
$config_files
@@ -21145,13 +17059,13 @@ $config_commands
Report bugs to <bug-autoconf@gnu.org>."
_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_version="\\
swordbindings config.status 1.5.11
-configured by $0, generated by GNU Autoconf 2.61,
- with options \\"`echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
+configured by $0, generated by GNU Autoconf 2.63,
+ with options \\"`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
-Copyright (C) 2006 Free Software Foundation, Inc.
+Copyright (C) 2008 Free Software Foundation, Inc.
This config.status script is free software; the Free Software Foundation
gives unlimited permission to copy, distribute and modify it."
@@ -21159,11 +17073,12 @@ ac_pwd='$ac_pwd'
srcdir='$srcdir'
INSTALL='$INSTALL'
MKDIR_P='$MKDIR_P'
+AWK='$AWK'
+test -n "\$AWK" || AWK=awk
_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF
-# If no file are specified by the user, then we need to provide default
-# value. By we need to know if files were specified by the user.
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+# The default lists apply if the user does not specify any file.
ac_need_defaults=:
while test $# != 0
do
@@ -21185,21 +17100,24 @@ do
-recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
ac_cs_recheck=: ;;
--version | --versio | --versi | --vers | --ver | --ve | --v | -V )
- echo "$ac_cs_version"; exit ;;
+ $as_echo "$ac_cs_version"; exit ;;
--debug | --debu | --deb | --de | --d | -d )
debug=: ;;
--file | --fil | --fi | --f )
$ac_shift
- CONFIG_FILES="$CONFIG_FILES $ac_optarg"
+ case $ac_optarg in
+ *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
+ esac
+ CONFIG_FILES="$CONFIG_FILES '$ac_optarg'"
ac_need_defaults=false;;
--he | --h | --help | --hel | -h )
- echo "$ac_cs_usage"; exit ;;
+ $as_echo "$ac_cs_usage"; exit ;;
-q | -quiet | --quiet | --quie | --qui | --qu | --q \
| -silent | --silent | --silen | --sile | --sil | --si | --s)
ac_cs_silent=: ;;
# This is an error.
- -*) { echo "$as_me: error: unrecognized option: $1
+ -*) { $as_echo "$as_me: error: unrecognized option: $1
Try \`$0 --help' for more information." >&2
{ (exit 1); exit 1; }; } ;;
@@ -21218,45 +17136,399 @@ if $ac_cs_silent; then
fi
_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
if \$ac_cs_recheck; then
- echo "running CONFIG_SHELL=$SHELL $SHELL $0 "$ac_configure_args \$ac_configure_extra_args " --no-create --no-recursion" >&6
- CONFIG_SHELL=$SHELL
+ set X '$SHELL' '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
+ shift
+ \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6
+ CONFIG_SHELL='$SHELL'
export CONFIG_SHELL
- exec $SHELL "$0"$ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
+ exec "\$@"
fi
_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
exec 5>>config.log
{
echo
sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX
## Running $as_me. ##
_ASBOX
- echo "$ac_log"
+ $as_echo "$ac_log"
} >&5
_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
#
# INIT-COMMANDS
#
AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"
+
+# The HP-UX ksh and POSIX shell print the target directory to stdout
+# if CDPATH is set.
+(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
+
+sed_quote_subst='$sed_quote_subst'
+double_quote_subst='$double_quote_subst'
+delay_variable_subst='$delay_variable_subst'
+macro_version='`$ECHO "X$macro_version" | $Xsed -e "$delay_single_quote_subst"`'
+macro_revision='`$ECHO "X$macro_revision" | $Xsed -e "$delay_single_quote_subst"`'
+enable_shared='`$ECHO "X$enable_shared" | $Xsed -e "$delay_single_quote_subst"`'
+enable_static='`$ECHO "X$enable_static" | $Xsed -e "$delay_single_quote_subst"`'
+pic_mode='`$ECHO "X$pic_mode" | $Xsed -e "$delay_single_quote_subst"`'
+enable_fast_install='`$ECHO "X$enable_fast_install" | $Xsed -e "$delay_single_quote_subst"`'
+host_alias='`$ECHO "X$host_alias" | $Xsed -e "$delay_single_quote_subst"`'
+host='`$ECHO "X$host" | $Xsed -e "$delay_single_quote_subst"`'
+host_os='`$ECHO "X$host_os" | $Xsed -e "$delay_single_quote_subst"`'
+build_alias='`$ECHO "X$build_alias" | $Xsed -e "$delay_single_quote_subst"`'
+build='`$ECHO "X$build" | $Xsed -e "$delay_single_quote_subst"`'
+build_os='`$ECHO "X$build_os" | $Xsed -e "$delay_single_quote_subst"`'
+SED='`$ECHO "X$SED" | $Xsed -e "$delay_single_quote_subst"`'
+Xsed='`$ECHO "X$Xsed" | $Xsed -e "$delay_single_quote_subst"`'
+GREP='`$ECHO "X$GREP" | $Xsed -e "$delay_single_quote_subst"`'
+EGREP='`$ECHO "X$EGREP" | $Xsed -e "$delay_single_quote_subst"`'
+FGREP='`$ECHO "X$FGREP" | $Xsed -e "$delay_single_quote_subst"`'
+LD='`$ECHO "X$LD" | $Xsed -e "$delay_single_quote_subst"`'
+NM='`$ECHO "X$NM" | $Xsed -e "$delay_single_quote_subst"`'
+LN_S='`$ECHO "X$LN_S" | $Xsed -e "$delay_single_quote_subst"`'
+max_cmd_len='`$ECHO "X$max_cmd_len" | $Xsed -e "$delay_single_quote_subst"`'
+ac_objext='`$ECHO "X$ac_objext" | $Xsed -e "$delay_single_quote_subst"`'
+exeext='`$ECHO "X$exeext" | $Xsed -e "$delay_single_quote_subst"`'
+lt_unset='`$ECHO "X$lt_unset" | $Xsed -e "$delay_single_quote_subst"`'
+lt_SP2NL='`$ECHO "X$lt_SP2NL" | $Xsed -e "$delay_single_quote_subst"`'
+lt_NL2SP='`$ECHO "X$lt_NL2SP" | $Xsed -e "$delay_single_quote_subst"`'
+reload_flag='`$ECHO "X$reload_flag" | $Xsed -e "$delay_single_quote_subst"`'
+reload_cmds='`$ECHO "X$reload_cmds" | $Xsed -e "$delay_single_quote_subst"`'
+OBJDUMP='`$ECHO "X$OBJDUMP" | $Xsed -e "$delay_single_quote_subst"`'
+deplibs_check_method='`$ECHO "X$deplibs_check_method" | $Xsed -e "$delay_single_quote_subst"`'
+file_magic_cmd='`$ECHO "X$file_magic_cmd" | $Xsed -e "$delay_single_quote_subst"`'
+AR='`$ECHO "X$AR" | $Xsed -e "$delay_single_quote_subst"`'
+AR_FLAGS='`$ECHO "X$AR_FLAGS" | $Xsed -e "$delay_single_quote_subst"`'
+STRIP='`$ECHO "X$STRIP" | $Xsed -e "$delay_single_quote_subst"`'
+RANLIB='`$ECHO "X$RANLIB" | $Xsed -e "$delay_single_quote_subst"`'
+old_postinstall_cmds='`$ECHO "X$old_postinstall_cmds" | $Xsed -e "$delay_single_quote_subst"`'
+old_postuninstall_cmds='`$ECHO "X$old_postuninstall_cmds" | $Xsed -e "$delay_single_quote_subst"`'
+old_archive_cmds='`$ECHO "X$old_archive_cmds" | $Xsed -e "$delay_single_quote_subst"`'
+CC='`$ECHO "X$CC" | $Xsed -e "$delay_single_quote_subst"`'
+CFLAGS='`$ECHO "X$CFLAGS" | $Xsed -e "$delay_single_quote_subst"`'
+compiler='`$ECHO "X$compiler" | $Xsed -e "$delay_single_quote_subst"`'
+GCC='`$ECHO "X$GCC" | $Xsed -e "$delay_single_quote_subst"`'
+lt_cv_sys_global_symbol_pipe='`$ECHO "X$lt_cv_sys_global_symbol_pipe" | $Xsed -e "$delay_single_quote_subst"`'
+lt_cv_sys_global_symbol_to_cdecl='`$ECHO "X$lt_cv_sys_global_symbol_to_cdecl" | $Xsed -e "$delay_single_quote_subst"`'
+lt_cv_sys_global_symbol_to_c_name_address='`$ECHO "X$lt_cv_sys_global_symbol_to_c_name_address" | $Xsed -e "$delay_single_quote_subst"`'
+lt_cv_sys_global_symbol_to_c_name_address_lib_prefix='`$ECHO "X$lt_cv_sys_global_symbol_to_c_name_address_lib_prefix" | $Xsed -e "$delay_single_quote_subst"`'
+objdir='`$ECHO "X$objdir" | $Xsed -e "$delay_single_quote_subst"`'
+SHELL='`$ECHO "X$SHELL" | $Xsed -e "$delay_single_quote_subst"`'
+ECHO='`$ECHO "X$ECHO" | $Xsed -e "$delay_single_quote_subst"`'
+MAGIC_CMD='`$ECHO "X$MAGIC_CMD" | $Xsed -e "$delay_single_quote_subst"`'
+lt_prog_compiler_no_builtin_flag='`$ECHO "X$lt_prog_compiler_no_builtin_flag" | $Xsed -e "$delay_single_quote_subst"`'
+lt_prog_compiler_wl='`$ECHO "X$lt_prog_compiler_wl" | $Xsed -e "$delay_single_quote_subst"`'
+lt_prog_compiler_pic='`$ECHO "X$lt_prog_compiler_pic" | $Xsed -e "$delay_single_quote_subst"`'
+lt_prog_compiler_static='`$ECHO "X$lt_prog_compiler_static" | $Xsed -e "$delay_single_quote_subst"`'
+lt_cv_prog_compiler_c_o='`$ECHO "X$lt_cv_prog_compiler_c_o" | $Xsed -e "$delay_single_quote_subst"`'
+need_locks='`$ECHO "X$need_locks" | $Xsed -e "$delay_single_quote_subst"`'
+DSYMUTIL='`$ECHO "X$DSYMUTIL" | $Xsed -e "$delay_single_quote_subst"`'
+NMEDIT='`$ECHO "X$NMEDIT" | $Xsed -e "$delay_single_quote_subst"`'
+LIPO='`$ECHO "X$LIPO" | $Xsed -e "$delay_single_quote_subst"`'
+OTOOL='`$ECHO "X$OTOOL" | $Xsed -e "$delay_single_quote_subst"`'
+OTOOL64='`$ECHO "X$OTOOL64" | $Xsed -e "$delay_single_quote_subst"`'
+libext='`$ECHO "X$libext" | $Xsed -e "$delay_single_quote_subst"`'
+shrext_cmds='`$ECHO "X$shrext_cmds" | $Xsed -e "$delay_single_quote_subst"`'
+extract_expsyms_cmds='`$ECHO "X$extract_expsyms_cmds" | $Xsed -e "$delay_single_quote_subst"`'
+archive_cmds_need_lc='`$ECHO "X$archive_cmds_need_lc" | $Xsed -e "$delay_single_quote_subst"`'
+enable_shared_with_static_runtimes='`$ECHO "X$enable_shared_with_static_runtimes" | $Xsed -e "$delay_single_quote_subst"`'
+export_dynamic_flag_spec='`$ECHO "X$export_dynamic_flag_spec" | $Xsed -e "$delay_single_quote_subst"`'
+whole_archive_flag_spec='`$ECHO "X$whole_archive_flag_spec" | $Xsed -e "$delay_single_quote_subst"`'
+compiler_needs_object='`$ECHO "X$compiler_needs_object" | $Xsed -e "$delay_single_quote_subst"`'
+old_archive_from_new_cmds='`$ECHO "X$old_archive_from_new_cmds" | $Xsed -e "$delay_single_quote_subst"`'
+old_archive_from_expsyms_cmds='`$ECHO "X$old_archive_from_expsyms_cmds" | $Xsed -e "$delay_single_quote_subst"`'
+archive_cmds='`$ECHO "X$archive_cmds" | $Xsed -e "$delay_single_quote_subst"`'
+archive_expsym_cmds='`$ECHO "X$archive_expsym_cmds" | $Xsed -e "$delay_single_quote_subst"`'
+module_cmds='`$ECHO "X$module_cmds" | $Xsed -e "$delay_single_quote_subst"`'
+module_expsym_cmds='`$ECHO "X$module_expsym_cmds" | $Xsed -e "$delay_single_quote_subst"`'
+with_gnu_ld='`$ECHO "X$with_gnu_ld" | $Xsed -e "$delay_single_quote_subst"`'
+allow_undefined_flag='`$ECHO "X$allow_undefined_flag" | $Xsed -e "$delay_single_quote_subst"`'
+no_undefined_flag='`$ECHO "X$no_undefined_flag" | $Xsed -e "$delay_single_quote_subst"`'
+hardcode_libdir_flag_spec='`$ECHO "X$hardcode_libdir_flag_spec" | $Xsed -e "$delay_single_quote_subst"`'
+hardcode_libdir_flag_spec_ld='`$ECHO "X$hardcode_libdir_flag_spec_ld" | $Xsed -e "$delay_single_quote_subst"`'
+hardcode_libdir_separator='`$ECHO "X$hardcode_libdir_separator" | $Xsed -e "$delay_single_quote_subst"`'
+hardcode_direct='`$ECHO "X$hardcode_direct" | $Xsed -e "$delay_single_quote_subst"`'
+hardcode_direct_absolute='`$ECHO "X$hardcode_direct_absolute" | $Xsed -e "$delay_single_quote_subst"`'
+hardcode_minus_L='`$ECHO "X$hardcode_minus_L" | $Xsed -e "$delay_single_quote_subst"`'
+hardcode_shlibpath_var='`$ECHO "X$hardcode_shlibpath_var" | $Xsed -e "$delay_single_quote_subst"`'
+hardcode_automatic='`$ECHO "X$hardcode_automatic" | $Xsed -e "$delay_single_quote_subst"`'
+inherit_rpath='`$ECHO "X$inherit_rpath" | $Xsed -e "$delay_single_quote_subst"`'
+link_all_deplibs='`$ECHO "X$link_all_deplibs" | $Xsed -e "$delay_single_quote_subst"`'
+fix_srcfile_path='`$ECHO "X$fix_srcfile_path" | $Xsed -e "$delay_single_quote_subst"`'
+always_export_symbols='`$ECHO "X$always_export_symbols" | $Xsed -e "$delay_single_quote_subst"`'
+export_symbols_cmds='`$ECHO "X$export_symbols_cmds" | $Xsed -e "$delay_single_quote_subst"`'
+exclude_expsyms='`$ECHO "X$exclude_expsyms" | $Xsed -e "$delay_single_quote_subst"`'
+include_expsyms='`$ECHO "X$include_expsyms" | $Xsed -e "$delay_single_quote_subst"`'
+prelink_cmds='`$ECHO "X$prelink_cmds" | $Xsed -e "$delay_single_quote_subst"`'
+file_list_spec='`$ECHO "X$file_list_spec" | $Xsed -e "$delay_single_quote_subst"`'
+variables_saved_for_relink='`$ECHO "X$variables_saved_for_relink" | $Xsed -e "$delay_single_quote_subst"`'
+need_lib_prefix='`$ECHO "X$need_lib_prefix" | $Xsed -e "$delay_single_quote_subst"`'
+need_version='`$ECHO "X$need_version" | $Xsed -e "$delay_single_quote_subst"`'
+version_type='`$ECHO "X$version_type" | $Xsed -e "$delay_single_quote_subst"`'
+runpath_var='`$ECHO "X$runpath_var" | $Xsed -e "$delay_single_quote_subst"`'
+shlibpath_var='`$ECHO "X$shlibpath_var" | $Xsed -e "$delay_single_quote_subst"`'
+shlibpath_overrides_runpath='`$ECHO "X$shlibpath_overrides_runpath" | $Xsed -e "$delay_single_quote_subst"`'
+libname_spec='`$ECHO "X$libname_spec" | $Xsed -e "$delay_single_quote_subst"`'
+library_names_spec='`$ECHO "X$library_names_spec" | $Xsed -e "$delay_single_quote_subst"`'
+soname_spec='`$ECHO "X$soname_spec" | $Xsed -e "$delay_single_quote_subst"`'
+postinstall_cmds='`$ECHO "X$postinstall_cmds" | $Xsed -e "$delay_single_quote_subst"`'
+postuninstall_cmds='`$ECHO "X$postuninstall_cmds" | $Xsed -e "$delay_single_quote_subst"`'
+finish_cmds='`$ECHO "X$finish_cmds" | $Xsed -e "$delay_single_quote_subst"`'
+finish_eval='`$ECHO "X$finish_eval" | $Xsed -e "$delay_single_quote_subst"`'
+hardcode_into_libs='`$ECHO "X$hardcode_into_libs" | $Xsed -e "$delay_single_quote_subst"`'
+sys_lib_search_path_spec='`$ECHO "X$sys_lib_search_path_spec" | $Xsed -e "$delay_single_quote_subst"`'
+sys_lib_dlsearch_path_spec='`$ECHO "X$sys_lib_dlsearch_path_spec" | $Xsed -e "$delay_single_quote_subst"`'
+hardcode_action='`$ECHO "X$hardcode_action" | $Xsed -e "$delay_single_quote_subst"`'
+enable_dlopen='`$ECHO "X$enable_dlopen" | $Xsed -e "$delay_single_quote_subst"`'
+enable_dlopen_self='`$ECHO "X$enable_dlopen_self" | $Xsed -e "$delay_single_quote_subst"`'
+enable_dlopen_self_static='`$ECHO "X$enable_dlopen_self_static" | $Xsed -e "$delay_single_quote_subst"`'
+old_striplib='`$ECHO "X$old_striplib" | $Xsed -e "$delay_single_quote_subst"`'
+striplib='`$ECHO "X$striplib" | $Xsed -e "$delay_single_quote_subst"`'
+compiler_lib_search_dirs='`$ECHO "X$compiler_lib_search_dirs" | $Xsed -e "$delay_single_quote_subst"`'
+predep_objects='`$ECHO "X$predep_objects" | $Xsed -e "$delay_single_quote_subst"`'
+postdep_objects='`$ECHO "X$postdep_objects" | $Xsed -e "$delay_single_quote_subst"`'
+predeps='`$ECHO "X$predeps" | $Xsed -e "$delay_single_quote_subst"`'
+postdeps='`$ECHO "X$postdeps" | $Xsed -e "$delay_single_quote_subst"`'
+compiler_lib_search_path='`$ECHO "X$compiler_lib_search_path" | $Xsed -e "$delay_single_quote_subst"`'
+LD_CXX='`$ECHO "X$LD_CXX" | $Xsed -e "$delay_single_quote_subst"`'
+old_archive_cmds_CXX='`$ECHO "X$old_archive_cmds_CXX" | $Xsed -e "$delay_single_quote_subst"`'
+compiler_CXX='`$ECHO "X$compiler_CXX" | $Xsed -e "$delay_single_quote_subst"`'
+GCC_CXX='`$ECHO "X$GCC_CXX" | $Xsed -e "$delay_single_quote_subst"`'
+lt_prog_compiler_no_builtin_flag_CXX='`$ECHO "X$lt_prog_compiler_no_builtin_flag_CXX" | $Xsed -e "$delay_single_quote_subst"`'
+lt_prog_compiler_wl_CXX='`$ECHO "X$lt_prog_compiler_wl_CXX" | $Xsed -e "$delay_single_quote_subst"`'
+lt_prog_compiler_pic_CXX='`$ECHO "X$lt_prog_compiler_pic_CXX" | $Xsed -e "$delay_single_quote_subst"`'
+lt_prog_compiler_static_CXX='`$ECHO "X$lt_prog_compiler_static_CXX" | $Xsed -e "$delay_single_quote_subst"`'
+lt_cv_prog_compiler_c_o_CXX='`$ECHO "X$lt_cv_prog_compiler_c_o_CXX" | $Xsed -e "$delay_single_quote_subst"`'
+archive_cmds_need_lc_CXX='`$ECHO "X$archive_cmds_need_lc_CXX" | $Xsed -e "$delay_single_quote_subst"`'
+enable_shared_with_static_runtimes_CXX='`$ECHO "X$enable_shared_with_static_runtimes_CXX" | $Xsed -e "$delay_single_quote_subst"`'
+export_dynamic_flag_spec_CXX='`$ECHO "X$export_dynamic_flag_spec_CXX" | $Xsed -e "$delay_single_quote_subst"`'
+whole_archive_flag_spec_CXX='`$ECHO "X$whole_archive_flag_spec_CXX" | $Xsed -e "$delay_single_quote_subst"`'
+compiler_needs_object_CXX='`$ECHO "X$compiler_needs_object_CXX" | $Xsed -e "$delay_single_quote_subst"`'
+old_archive_from_new_cmds_CXX='`$ECHO "X$old_archive_from_new_cmds_CXX" | $Xsed -e "$delay_single_quote_subst"`'
+old_archive_from_expsyms_cmds_CXX='`$ECHO "X$old_archive_from_expsyms_cmds_CXX" | $Xsed -e "$delay_single_quote_subst"`'
+archive_cmds_CXX='`$ECHO "X$archive_cmds_CXX" | $Xsed -e "$delay_single_quote_subst"`'
+archive_expsym_cmds_CXX='`$ECHO "X$archive_expsym_cmds_CXX" | $Xsed -e "$delay_single_quote_subst"`'
+module_cmds_CXX='`$ECHO "X$module_cmds_CXX" | $Xsed -e "$delay_single_quote_subst"`'
+module_expsym_cmds_CXX='`$ECHO "X$module_expsym_cmds_CXX" | $Xsed -e "$delay_single_quote_subst"`'
+with_gnu_ld_CXX='`$ECHO "X$with_gnu_ld_CXX" | $Xsed -e "$delay_single_quote_subst"`'
+allow_undefined_flag_CXX='`$ECHO "X$allow_undefined_flag_CXX" | $Xsed -e "$delay_single_quote_subst"`'
+no_undefined_flag_CXX='`$ECHO "X$no_undefined_flag_CXX" | $Xsed -e "$delay_single_quote_subst"`'
+hardcode_libdir_flag_spec_CXX='`$ECHO "X$hardcode_libdir_flag_spec_CXX" | $Xsed -e "$delay_single_quote_subst"`'
+hardcode_libdir_flag_spec_ld_CXX='`$ECHO "X$hardcode_libdir_flag_spec_ld_CXX" | $Xsed -e "$delay_single_quote_subst"`'
+hardcode_libdir_separator_CXX='`$ECHO "X$hardcode_libdir_separator_CXX" | $Xsed -e "$delay_single_quote_subst"`'
+hardcode_direct_CXX='`$ECHO "X$hardcode_direct_CXX" | $Xsed -e "$delay_single_quote_subst"`'
+hardcode_direct_absolute_CXX='`$ECHO "X$hardcode_direct_absolute_CXX" | $Xsed -e "$delay_single_quote_subst"`'
+hardcode_minus_L_CXX='`$ECHO "X$hardcode_minus_L_CXX" | $Xsed -e "$delay_single_quote_subst"`'
+hardcode_shlibpath_var_CXX='`$ECHO "X$hardcode_shlibpath_var_CXX" | $Xsed -e "$delay_single_quote_subst"`'
+hardcode_automatic_CXX='`$ECHO "X$hardcode_automatic_CXX" | $Xsed -e "$delay_single_quote_subst"`'
+inherit_rpath_CXX='`$ECHO "X$inherit_rpath_CXX" | $Xsed -e "$delay_single_quote_subst"`'
+link_all_deplibs_CXX='`$ECHO "X$link_all_deplibs_CXX" | $Xsed -e "$delay_single_quote_subst"`'
+fix_srcfile_path_CXX='`$ECHO "X$fix_srcfile_path_CXX" | $Xsed -e "$delay_single_quote_subst"`'
+always_export_symbols_CXX='`$ECHO "X$always_export_symbols_CXX" | $Xsed -e "$delay_single_quote_subst"`'
+export_symbols_cmds_CXX='`$ECHO "X$export_symbols_cmds_CXX" | $Xsed -e "$delay_single_quote_subst"`'
+exclude_expsyms_CXX='`$ECHO "X$exclude_expsyms_CXX" | $Xsed -e "$delay_single_quote_subst"`'
+include_expsyms_CXX='`$ECHO "X$include_expsyms_CXX" | $Xsed -e "$delay_single_quote_subst"`'
+prelink_cmds_CXX='`$ECHO "X$prelink_cmds_CXX" | $Xsed -e "$delay_single_quote_subst"`'
+file_list_spec_CXX='`$ECHO "X$file_list_spec_CXX" | $Xsed -e "$delay_single_quote_subst"`'
+hardcode_action_CXX='`$ECHO "X$hardcode_action_CXX" | $Xsed -e "$delay_single_quote_subst"`'
+compiler_lib_search_dirs_CXX='`$ECHO "X$compiler_lib_search_dirs_CXX" | $Xsed -e "$delay_single_quote_subst"`'
+predep_objects_CXX='`$ECHO "X$predep_objects_CXX" | $Xsed -e "$delay_single_quote_subst"`'
+postdep_objects_CXX='`$ECHO "X$postdep_objects_CXX" | $Xsed -e "$delay_single_quote_subst"`'
+predeps_CXX='`$ECHO "X$predeps_CXX" | $Xsed -e "$delay_single_quote_subst"`'
+postdeps_CXX='`$ECHO "X$postdeps_CXX" | $Xsed -e "$delay_single_quote_subst"`'
+compiler_lib_search_path_CXX='`$ECHO "X$compiler_lib_search_path_CXX" | $Xsed -e "$delay_single_quote_subst"`'
+
+LTCC='$LTCC'
+LTCFLAGS='$LTCFLAGS'
+compiler='$compiler_DEFAULT'
+
+# Quote evaled strings.
+for var in SED \
+GREP \
+EGREP \
+FGREP \
+LD \
+NM \
+LN_S \
+lt_SP2NL \
+lt_NL2SP \
+reload_flag \
+OBJDUMP \
+deplibs_check_method \
+file_magic_cmd \
+AR \
+AR_FLAGS \
+STRIP \
+RANLIB \
+CC \
+CFLAGS \
+compiler \
+lt_cv_sys_global_symbol_pipe \
+lt_cv_sys_global_symbol_to_cdecl \
+lt_cv_sys_global_symbol_to_c_name_address \
+lt_cv_sys_global_symbol_to_c_name_address_lib_prefix \
+SHELL \
+ECHO \
+lt_prog_compiler_no_builtin_flag \
+lt_prog_compiler_wl \
+lt_prog_compiler_pic \
+lt_prog_compiler_static \
+lt_cv_prog_compiler_c_o \
+need_locks \
+DSYMUTIL \
+NMEDIT \
+LIPO \
+OTOOL \
+OTOOL64 \
+shrext_cmds \
+export_dynamic_flag_spec \
+whole_archive_flag_spec \
+compiler_needs_object \
+with_gnu_ld \
+allow_undefined_flag \
+no_undefined_flag \
+hardcode_libdir_flag_spec \
+hardcode_libdir_flag_spec_ld \
+hardcode_libdir_separator \
+fix_srcfile_path \
+exclude_expsyms \
+include_expsyms \
+file_list_spec \
+variables_saved_for_relink \
+libname_spec \
+library_names_spec \
+soname_spec \
+finish_eval \
+old_striplib \
+striplib \
+compiler_lib_search_dirs \
+predep_objects \
+postdep_objects \
+predeps \
+postdeps \
+compiler_lib_search_path \
+LD_CXX \
+compiler_CXX \
+lt_prog_compiler_no_builtin_flag_CXX \
+lt_prog_compiler_wl_CXX \
+lt_prog_compiler_pic_CXX \
+lt_prog_compiler_static_CXX \
+lt_cv_prog_compiler_c_o_CXX \
+export_dynamic_flag_spec_CXX \
+whole_archive_flag_spec_CXX \
+compiler_needs_object_CXX \
+with_gnu_ld_CXX \
+allow_undefined_flag_CXX \
+no_undefined_flag_CXX \
+hardcode_libdir_flag_spec_CXX \
+hardcode_libdir_flag_spec_ld_CXX \
+hardcode_libdir_separator_CXX \
+fix_srcfile_path_CXX \
+exclude_expsyms_CXX \
+include_expsyms_CXX \
+file_list_spec_CXX \
+compiler_lib_search_dirs_CXX \
+predep_objects_CXX \
+postdep_objects_CXX \
+predeps_CXX \
+postdeps_CXX \
+compiler_lib_search_path_CXX; do
+ case \`eval \\\\\$ECHO "X\\\\\$\$var"\` in
+ *[\\\\\\\`\\"\\\$]*)
+ eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"X\\\$\$var\\" | \\\$Xsed -e \\"\\\$sed_quote_subst\\"\\\`\\\\\\""
+ ;;
+ *)
+ eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
+ ;;
+ esac
+done
+
+# Double-quote double-evaled strings.
+for var in reload_cmds \
+old_postinstall_cmds \
+old_postuninstall_cmds \
+old_archive_cmds \
+extract_expsyms_cmds \
+old_archive_from_new_cmds \
+old_archive_from_expsyms_cmds \
+archive_cmds \
+archive_expsym_cmds \
+module_cmds \
+module_expsym_cmds \
+export_symbols_cmds \
+prelink_cmds \
+postinstall_cmds \
+postuninstall_cmds \
+finish_cmds \
+sys_lib_search_path_spec \
+sys_lib_dlsearch_path_spec \
+old_archive_cmds_CXX \
+old_archive_from_new_cmds_CXX \
+old_archive_from_expsyms_cmds_CXX \
+archive_cmds_CXX \
+archive_expsym_cmds_CXX \
+module_cmds_CXX \
+module_expsym_cmds_CXX \
+export_symbols_cmds_CXX \
+prelink_cmds_CXX; do
+ case \`eval \\\\\$ECHO "X\\\\\$\$var"\` in
+ *[\\\\\\\`\\"\\\$]*)
+ eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"X\\\$\$var\\" | \\\$Xsed -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\""
+ ;;
+ *)
+ eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
+ ;;
+ esac
+done
+
+# Fix-up fallback echo if it was mangled by the above quoting rules.
+case \$lt_ECHO in
+*'\\\$0 --fallback-echo"') lt_ECHO=\`\$ECHO "X\$lt_ECHO" | \$Xsed -e 's/\\\\\\\\\\\\\\\$0 --fallback-echo"\$/\$0 --fallback-echo"/'\`
+ ;;
+esac
+
+ac_aux_dir='$ac_aux_dir'
+xsi_shell='$xsi_shell'
+lt_shell_append='$lt_shell_append'
+
+# See if we are running on zsh, and set the options which allow our
+# commands through without removal of \ escapes INIT.
+if test -n "\${ZSH_VERSION+set}" ; then
+ setopt NO_GLOB_SUBST
+fi
+
+
+ PACKAGE='$PACKAGE'
+ VERSION='$VERSION'
+ TIMESTAMP='$TIMESTAMP'
+ RM='$RM'
+ ofile='$ofile'
+
+
+
+
+
+
_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
# Handling of arguments.
for ac_config_target in $ac_config_targets
do
case $ac_config_target in
"depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;;
+ "libtool") CONFIG_COMMANDS="$CONFIG_COMMANDS libtool" ;;
"Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;;
- *) { { echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5
-echo "$as_me: error: invalid argument: $ac_config_target" >&2;}
+ *) { { $as_echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5
+$as_echo "$as_me: error: invalid argument: $ac_config_target" >&2;}
{ (exit 1); exit 1; }; };;
esac
done
@@ -21296,238 +17568,144 @@ $debug ||
(umask 077 && mkdir "$tmp")
} ||
{
- echo "$me: cannot create a temporary directory in ." >&2
+ $as_echo "$as_me: cannot create a temporary directory in ." >&2
{ (exit 1); exit 1; }
}
-#
-# Set up the sed scripts for CONFIG_FILES section.
-#
-
-# No need to generate the scripts if there are no CONFIG_FILES.
-# This happens for instance when ./config.status config.h
+# Set up the scripts for CONFIG_FILES section.
+# No need to generate them if there are no CONFIG_FILES.
+# This happens for instance with `./config.status config.h'.
if test -n "$CONFIG_FILES"; then
-_ACEOF
-
-
-ac_delim='%!_!# '
-for ac_last_try in false false false false false :; do
- cat >conf$$subs.sed <<_ACEOF
-SHELL!$SHELL$ac_delim
-PATH_SEPARATOR!$PATH_SEPARATOR$ac_delim
-PACKAGE_NAME!$PACKAGE_NAME$ac_delim
-PACKAGE_TARNAME!$PACKAGE_TARNAME$ac_delim
-PACKAGE_VERSION!$PACKAGE_VERSION$ac_delim
-PACKAGE_STRING!$PACKAGE_STRING$ac_delim
-PACKAGE_BUGREPORT!$PACKAGE_BUGREPORT$ac_delim
-exec_prefix!$exec_prefix$ac_delim
-prefix!$prefix$ac_delim
-program_transform_name!$program_transform_name$ac_delim
-bindir!$bindir$ac_delim
-sbindir!$sbindir$ac_delim
-libexecdir!$libexecdir$ac_delim
-datarootdir!$datarootdir$ac_delim
-datadir!$datadir$ac_delim
-sysconfdir!$sysconfdir$ac_delim
-sharedstatedir!$sharedstatedir$ac_delim
-localstatedir!$localstatedir$ac_delim
-includedir!$includedir$ac_delim
-oldincludedir!$oldincludedir$ac_delim
-docdir!$docdir$ac_delim
-infodir!$infodir$ac_delim
-htmldir!$htmldir$ac_delim
-dvidir!$dvidir$ac_delim
-pdfdir!$pdfdir$ac_delim
-psdir!$psdir$ac_delim
-libdir!$libdir$ac_delim
-localedir!$localedir$ac_delim
-mandir!$mandir$ac_delim
-DEFS!$DEFS$ac_delim
-ECHO_C!$ECHO_C$ac_delim
-ECHO_N!$ECHO_N$ac_delim
-ECHO_T!$ECHO_T$ac_delim
-LIBS!$LIBS$ac_delim
-build_alias!$build_alias$ac_delim
-host_alias!$host_alias$ac_delim
-target_alias!$target_alias$ac_delim
-INSTALL_PROGRAM!$INSTALL_PROGRAM$ac_delim
-INSTALL_SCRIPT!$INSTALL_SCRIPT$ac_delim
-INSTALL_DATA!$INSTALL_DATA$ac_delim
-am__isrc!$am__isrc$ac_delim
-CYGPATH_W!$CYGPATH_W$ac_delim
-PACKAGE!$PACKAGE$ac_delim
-VERSION!$VERSION$ac_delim
-ACLOCAL!$ACLOCAL$ac_delim
-AUTOCONF!$AUTOCONF$ac_delim
-AUTOMAKE!$AUTOMAKE$ac_delim
-AUTOHEADER!$AUTOHEADER$ac_delim
-MAKEINFO!$MAKEINFO$ac_delim
-install_sh!$install_sh$ac_delim
-STRIP!$STRIP$ac_delim
-INSTALL_STRIP_PROGRAM!$INSTALL_STRIP_PROGRAM$ac_delim
-mkdir_p!$mkdir_p$ac_delim
-AWK!$AWK$ac_delim
-SET_MAKE!$SET_MAKE$ac_delim
-am__leading_dot!$am__leading_dot$ac_delim
-AMTAR!$AMTAR$ac_delim
-am__tar!$am__tar$ac_delim
-am__untar!$am__untar$ac_delim
-CC!$CC$ac_delim
-CFLAGS!$CFLAGS$ac_delim
-LDFLAGS!$LDFLAGS$ac_delim
-CPPFLAGS!$CPPFLAGS$ac_delim
-ac_ct_CC!$ac_ct_CC$ac_delim
-EXEEXT!$EXEEXT$ac_delim
-OBJEXT!$OBJEXT$ac_delim
-DEPDIR!$DEPDIR$ac_delim
-am__include!$am__include$ac_delim
-am__quote!$am__quote$ac_delim
-AMDEP_TRUE!$AMDEP_TRUE$ac_delim
-AMDEP_FALSE!$AMDEP_FALSE$ac_delim
-AMDEPBACKSLASH!$AMDEPBACKSLASH$ac_delim
-CCDEPMODE!$CCDEPMODE$ac_delim
-am__fastdepCC_TRUE!$am__fastdepCC_TRUE$ac_delim
-am__fastdepCC_FALSE!$am__fastdepCC_FALSE$ac_delim
-CXX!$CXX$ac_delim
-CXXFLAGS!$CXXFLAGS$ac_delim
-ac_ct_CXX!$ac_ct_CXX$ac_delim
-CXXDEPMODE!$CXXDEPMODE$ac_delim
-am__fastdepCXX_TRUE!$am__fastdepCXX_TRUE$ac_delim
-am__fastdepCXX_FALSE!$am__fastdepCXX_FALSE$ac_delim
-build!$build$ac_delim
-build_cpu!$build_cpu$ac_delim
-build_vendor!$build_vendor$ac_delim
-build_os!$build_os$ac_delim
-host!$host$ac_delim
-host_cpu!$host_cpu$ac_delim
-host_vendor!$host_vendor$ac_delim
-host_os!$host_os$ac_delim
-SED!$SED$ac_delim
-GREP!$GREP$ac_delim
-EGREP!$EGREP$ac_delim
-LN_S!$LN_S$ac_delim
-ECHO!$ECHO$ac_delim
-AR!$AR$ac_delim
-RANLIB!$RANLIB$ac_delim
-CPP!$CPP$ac_delim
-_ACEOF
-
- if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 97; then
- break
- elif $ac_last_try; then
- { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5
-echo "$as_me: error: could not make $CONFIG_STATUS" >&2;}
- { (exit 1); exit 1; }; }
- else
- ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
- fi
-done
-
-ac_eof=`sed -n '/^CEOF[0-9]*$/s/CEOF/0/p' conf$$subs.sed`
-if test -n "$ac_eof"; then
- ac_eof=`echo "$ac_eof" | sort -nru | sed 1q`
- ac_eof=`expr $ac_eof + 1`
+ac_cr=' '
+ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' </dev/null 2>/dev/null`
+if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then
+ ac_cs_awk_cr='\\r'
+else
+ ac_cs_awk_cr=$ac_cr
fi
-cat >>$CONFIG_STATUS <<_ACEOF
-cat >"\$tmp/subs-1.sed" <<\CEOF$ac_eof
-/@[a-zA-Z_][a-zA-Z_0-9]*@/!b
-_ACEOF
-sed '
-s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g
-s/^/s,@/; s/!/@,|#_!!_#|/
-:n
-t n
-s/'"$ac_delim"'$/,g/; t
-s/$/\\/; p
-N; s/^.*\n//; s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g; b n
-' >>$CONFIG_STATUS <conf$$subs.sed
-rm -f conf$$subs.sed
-cat >>$CONFIG_STATUS <<_ACEOF
-CEOF$ac_eof
+echo 'BEGIN {' >"$tmp/subs1.awk" &&
_ACEOF
+{
+ echo "cat >conf$$subs.awk <<_ACEOF" &&
+ echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' &&
+ echo "_ACEOF"
+} >conf$$subs.sh ||
+ { { $as_echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5
+$as_echo "$as_me: error: could not make $CONFIG_STATUS" >&2;}
+ { (exit 1); exit 1; }; }
+ac_delim_num=`echo "$ac_subst_vars" | grep -c '$'`
ac_delim='%!_!# '
for ac_last_try in false false false false false :; do
- cat >conf$$subs.sed <<_ACEOF
-CXXCPP!$CXXCPP$ac_delim
-F77!$F77$ac_delim
-FFLAGS!$FFLAGS$ac_delim
-ac_ct_F77!$ac_ct_F77$ac_delim
-LIBTOOL!$LIBTOOL$ac_delim
-SWIG!$SWIG$ac_delim
-RUNSWIG_TRUE!$RUNSWIG_TRUE$ac_delim
-RUNSWIG_FALSE!$RUNSWIG_FALSE$ac_delim
-USER_INCLUDES!$USER_INCLUDES$ac_delim
-USER_LDFLAGS!$USER_LDFLAGS$ac_delim
-LIBZ!$LIBZ$ac_delim
-LIB_SWORD!$LIB_SWORD$ac_delim
-SWORD_INCLUDES!$SWORD_INCLUDES$ac_delim
-SWORD_INCLUDE_DIR!$SWORD_INCLUDE_DIR$ac_delim
-MAINTAINER_MODE_TRUE!$MAINTAINER_MODE_TRUE$ac_delim
-MAINTAINER_MODE_FALSE!$MAINTAINER_MODE_FALSE$ac_delim
-MAINT!$MAINT$ac_delim
-PERL!$PERL$ac_delim
-PERL5EXT!$PERL5EXT$ac_delim
-PERL5DYNAMICLINKING!$PERL5DYNAMICLINKING$ac_delim
-PERL5LIB!$PERL5LIB$ac_delim
-PERLBUILD!$PERLBUILD$ac_delim
-PYTHON!$PYTHON$ac_delim
-PYINCLUDE!$PYINCLUDE$ac_delim
-PYLIB!$PYLIB$ac_delim
-PYLINK!$PYLINK$ac_delim
-PYTHONBUILD!$PYTHONBUILD$ac_delim
-PYTHONDYNAMICLINKING!$PYTHONDYNAMICLINKING$ac_delim
-PHP4!$PHP4$ac_delim
-PHP4INC!$PHP4INC$ac_delim
-TCLINCLUDE!$TCLINCLUDE$ac_delim
-TCLLIB!$TCLLIB$ac_delim
-TCLDYNAMICLINKING!$TCLDYNAMICLINKING$ac_delim
-LIBOBJS!$LIBOBJS$ac_delim
-LTLIBOBJS!$LTLIBOBJS$ac_delim
-_ACEOF
+ . ./conf$$subs.sh ||
+ { { $as_echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5
+$as_echo "$as_me: error: could not make $CONFIG_STATUS" >&2;}
+ { (exit 1); exit 1; }; }
- if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 35; then
+ ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X`
+ if test $ac_delim_n = $ac_delim_num; then
break
elif $ac_last_try; then
- { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5
-echo "$as_me: error: could not make $CONFIG_STATUS" >&2;}
+ { { $as_echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5
+$as_echo "$as_me: error: could not make $CONFIG_STATUS" >&2;}
{ (exit 1); exit 1; }; }
else
ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
fi
done
+rm -f conf$$subs.sh
-ac_eof=`sed -n '/^CEOF[0-9]*$/s/CEOF/0/p' conf$$subs.sed`
-if test -n "$ac_eof"; then
- ac_eof=`echo "$ac_eof" | sort -nru | sed 1q`
- ac_eof=`expr $ac_eof + 1`
-fi
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+cat >>"\$tmp/subs1.awk" <<\\_ACAWK &&
+_ACEOF
+sed -n '
+h
+s/^/S["/; s/!.*/"]=/
+p
+g
+s/^[^!]*!//
+:repl
+t repl
+s/'"$ac_delim"'$//
+t delim
+:nl
+h
+s/\(.\{148\}\).*/\1/
+t more1
+s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/
+p
+n
+b repl
+:more1
+s/["\\]/\\&/g; s/^/"/; s/$/"\\/
+p
+g
+s/.\{148\}//
+t nl
+:delim
+h
+s/\(.\{148\}\).*/\1/
+t more2
+s/["\\]/\\&/g; s/^/"/; s/$/"/
+p
+b
+:more2
+s/["\\]/\\&/g; s/^/"/; s/$/"\\/
+p
+g
+s/.\{148\}//
+t delim
+' <conf$$subs.awk | sed '
+/^[^""]/{
+ N
+ s/\n//
+}
+' >>$CONFIG_STATUS || ac_write_fail=1
+rm -f conf$$subs.awk
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+_ACAWK
+cat >>"\$tmp/subs1.awk" <<_ACAWK &&
+ for (key in S) S_is_set[key] = 1
+ FS = ""
+
+}
+{
+ line = $ 0
+ nfields = split(line, field, "@")
+ substed = 0
+ len = length(field[1])
+ for (i = 2; i < nfields; i++) {
+ key = field[i]
+ keylen = length(key)
+ if (S_is_set[key]) {
+ value = S[key]
+ line = substr(line, 1, len) "" value "" substr(line, len + keylen + 3)
+ len += length(value) + length(field[++i])
+ substed = 1
+ } else
+ len += 1 + keylen
+ }
-cat >>$CONFIG_STATUS <<_ACEOF
-cat >"\$tmp/subs-2.sed" <<\CEOF$ac_eof
-/@[a-zA-Z_][a-zA-Z_0-9]*@/!b end
+ print line
+}
+
+_ACAWK
_ACEOF
-sed '
-s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g
-s/^/s,@/; s/!/@,|#_!!_#|/
-:n
-t n
-s/'"$ac_delim"'$/,g/; t
-s/$/\\/; p
-N; s/^.*\n//; s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g; b n
-' >>$CONFIG_STATUS <conf$$subs.sed
-rm -f conf$$subs.sed
-cat >>$CONFIG_STATUS <<_ACEOF
-:end
-s/|#_!!_#|//g
-CEOF$ac_eof
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then
+ sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g"
+else
+ cat
+fi < "$tmp/subs1.awk" > "$tmp/subs.awk" \
+ || { { $as_echo "$as_me:$LINENO: error: could not setup config files machinery" >&5
+$as_echo "$as_me: error: could not setup config files machinery" >&2;}
+ { (exit 1); exit 1; }; }
_ACEOF
-
# VPATH may cause trouble with some makes, so we remove $(srcdir),
# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and
# trailing colons and then remove the whole line if VPATH becomes empty
@@ -21543,19 +17721,21 @@ s/^[^=]*=[ ]*$//
}'
fi
-cat >>$CONFIG_STATUS <<\_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
fi # test -n "$CONFIG_FILES"
-for ac_tag in :F $CONFIG_FILES :C $CONFIG_COMMANDS
+eval set X " :F $CONFIG_FILES :C $CONFIG_COMMANDS"
+shift
+for ac_tag
do
case $ac_tag in
:[FHLC]) ac_mode=$ac_tag; continue;;
esac
case $ac_mode$ac_tag in
:[FHL]*:*);;
- :L* | :C*:*) { { echo "$as_me:$LINENO: error: Invalid tag $ac_tag." >&5
-echo "$as_me: error: Invalid tag $ac_tag." >&2;}
+ :L* | :C*:*) { { $as_echo "$as_me:$LINENO: error: invalid tag $ac_tag" >&5
+$as_echo "$as_me: error: invalid tag $ac_tag" >&2;}
{ (exit 1); exit 1; }; };;
:[FH]-) ac_tag=-:-;;
:[FH]*) ac_tag=$ac_tag:$ac_tag.in;;
@@ -21584,26 +17764,38 @@ echo "$as_me: error: Invalid tag $ac_tag." >&2;}
[\\/$]*) false;;
*) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";;
esac ||
- { { echo "$as_me:$LINENO: error: cannot find input file: $ac_f" >&5
-echo "$as_me: error: cannot find input file: $ac_f" >&2;}
+ { { $as_echo "$as_me:$LINENO: error: cannot find input file: $ac_f" >&5
+$as_echo "$as_me: error: cannot find input file: $ac_f" >&2;}
{ (exit 1); exit 1; }; };;
esac
- ac_file_inputs="$ac_file_inputs $ac_f"
+ case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac
+ ac_file_inputs="$ac_file_inputs '$ac_f'"
done
# Let's still pretend it is `configure' which instantiates (i.e., don't
# use $as_me), people would be surprised to read:
# /* config.h. Generated by config.status. */
- configure_input="Generated from "`IFS=:
- echo $* | sed 's|^[^:]*/||;s|:[^:]*/|, |g'`" by configure."
+ configure_input='Generated from '`
+ $as_echo "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g'
+ `' by configure.'
if test x"$ac_file" != x-; then
configure_input="$ac_file. $configure_input"
- { echo "$as_me:$LINENO: creating $ac_file" >&5
-echo "$as_me: creating $ac_file" >&6;}
+ { $as_echo "$as_me:$LINENO: creating $ac_file" >&5
+$as_echo "$as_me: creating $ac_file" >&6;}
fi
+ # Neutralize special characters interpreted by sed in replacement strings.
+ case $configure_input in #(
+ *\&* | *\|* | *\\* )
+ ac_sed_conf_input=`$as_echo "$configure_input" |
+ sed 's/[\\\\&|]/\\\\&/g'`;; #(
+ *) ac_sed_conf_input=$configure_input;;
+ esac
case $ac_tag in
- *:-:* | *:-) cat >"$tmp/stdin";;
+ *:-:* | *:-) cat >"$tmp/stdin" \
+ || { { $as_echo "$as_me:$LINENO: error: could not create $ac_file" >&5
+$as_echo "$as_me: error: could not create $ac_file" >&2;}
+ { (exit 1); exit 1; }; } ;;
esac
;;
esac
@@ -21613,7 +17805,7 @@ $as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
X"$ac_file" : 'X\(//\)[^/]' \| \
X"$ac_file" : 'X\(//\)$' \| \
X"$ac_file" : 'X\(/\)' \| . 2>/dev/null ||
-echo X"$ac_file" |
+$as_echo X"$ac_file" |
sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
s//\1/
q
@@ -21639,7 +17831,7 @@ echo X"$ac_file" |
as_dirs=
while :; do
case $as_dir in #(
- *\'*) as_qdir=`echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #(
+ *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
*) as_qdir=$as_dir;;
esac
as_dirs="'$as_qdir' $as_dirs"
@@ -21648,7 +17840,7 @@ $as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
X"$as_dir" : 'X\(//\)[^/]' \| \
X"$as_dir" : 'X\(//\)$' \| \
X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
-echo X"$as_dir" |
+$as_echo X"$as_dir" |
sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
s//\1/
q
@@ -21669,17 +17861,17 @@ echo X"$as_dir" |
test -d "$as_dir" && break
done
test -z "$as_dirs" || eval "mkdir $as_dirs"
- } || test -d "$as_dir" || { { echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5
-echo "$as_me: error: cannot create directory $as_dir" >&2;}
+ } || test -d "$as_dir" || { { $as_echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5
+$as_echo "$as_me: error: cannot create directory $as_dir" >&2;}
{ (exit 1); exit 1; }; }; }
ac_builddir=.
case "$ac_dir" in
.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
*)
- ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'`
+ ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'`
# A ".." for each directory in $ac_dir_suffix.
- ac_top_builddir_sub=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,/..,g;s,/,,'`
+ ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`
case $ac_top_builddir_sub in
"") ac_top_builddir_sub=. ac_top_build_prefix= ;;
*) ac_top_build_prefix=$ac_top_builddir_sub/ ;;
@@ -21724,12 +17916,13 @@ ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
esac
_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
# If the template does not know about datarootdir, expand it.
# FIXME: This hack should be removed a few years after 2.60.
ac_datarootdir_hack=; ac_datarootdir_seen=
-case `sed -n '/datarootdir/ {
+ac_sed_dataroot='
+/datarootdir/ {
p
q
}
@@ -21738,13 +17931,14 @@ case `sed -n '/datarootdir/ {
/@infodir@/p
/@localedir@/p
/@mandir@/p
-' $ac_file_inputs` in
+'
+case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in
*datarootdir*) ac_datarootdir_seen=yes;;
*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*)
- { echo "$as_me:$LINENO: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5
-echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5
+$as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;}
_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_datarootdir_hack='
s&@datadir@&$datadir&g
s&@docdir@&$docdir&g
@@ -21758,15 +17952,16 @@ _ACEOF
# Neutralize VPATH when `$srcdir' = `.'.
# Shell code in configure.ac might set extrasub.
# FIXME: do we really want to maintain this feature?
-cat >>$CONFIG_STATUS <<_ACEOF
- sed "$ac_vpsub
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+ac_sed_extra="$ac_vpsub
$extrasub
_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
:t
/@[a-zA-Z_][a-zA-Z_0-9]*@/!b
-s&@configure_input@&$configure_input&;t t
+s|@configure_input@|$ac_sed_conf_input|;t t
s&@top_builddir@&$ac_top_builddir_sub&;t t
+s&@top_build_prefix@&$ac_top_build_prefix&;t t
s&@srcdir@&$ac_srcdir&;t t
s&@abs_srcdir@&$ac_abs_srcdir&;t t
s&@top_srcdir@&$ac_top_srcdir&;t t
@@ -21777,48 +17972,65 @@ s&@abs_top_builddir@&$ac_abs_top_builddir&;t t
s&@INSTALL@&$ac_INSTALL&;t t
s&@MKDIR_P@&$ac_MKDIR_P&;t t
$ac_datarootdir_hack
-" $ac_file_inputs | sed -f "$tmp/subs-1.sed" | sed -f "$tmp/subs-2.sed" >$tmp/out
+"
+eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$tmp/subs.awk" >$tmp/out \
+ || { { $as_echo "$as_me:$LINENO: error: could not create $ac_file" >&5
+$as_echo "$as_me: error: could not create $ac_file" >&2;}
+ { (exit 1); exit 1; }; }
test -z "$ac_datarootdir_hack$ac_datarootdir_seen" &&
{ ac_out=`sed -n '/\${datarootdir}/p' "$tmp/out"`; test -n "$ac_out"; } &&
{ ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' "$tmp/out"`; test -z "$ac_out"; } &&
- { echo "$as_me:$LINENO: WARNING: $ac_file contains a reference to the variable \`datarootdir'
+ { $as_echo "$as_me:$LINENO: WARNING: $ac_file contains a reference to the variable \`datarootdir'
which seems to be undefined. Please make sure it is defined." >&5
-echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir'
+$as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir'
which seems to be undefined. Please make sure it is defined." >&2;}
rm -f "$tmp/stdin"
case $ac_file in
- -) cat "$tmp/out"; rm -f "$tmp/out";;
- *) rm -f "$ac_file"; mv "$tmp/out" $ac_file;;
- esac
+ -) cat "$tmp/out" && rm -f "$tmp/out";;
+ *) rm -f "$ac_file" && mv "$tmp/out" "$ac_file";;
+ esac \
+ || { { $as_echo "$as_me:$LINENO: error: could not create $ac_file" >&5
+$as_echo "$as_me: error: could not create $ac_file" >&2;}
+ { (exit 1); exit 1; }; }
;;
- :C) { echo "$as_me:$LINENO: executing $ac_file commands" >&5
-echo "$as_me: executing $ac_file commands" >&6;}
+ :C) { $as_echo "$as_me:$LINENO: executing $ac_file commands" >&5
+$as_echo "$as_me: executing $ac_file commands" >&6;}
;;
esac
case $ac_file$ac_mode in
- "depfiles":C) test x"$AMDEP_TRUE" != x"" || for mf in $CONFIG_FILES; do
- # Strip MF so we end up with the name of the file.
- mf=`echo "$mf" | sed -e 's/:.*$//'`
- # Check whether this is an Automake generated Makefile or not.
- # We used to match only the files named `Makefile.in', but
- # some people rename them; so instead we look at the file content.
- # Grep'ing the first line is not enough: some people post-process
- # each Makefile.in and add a new line on top of each file to say so.
- # Grep'ing the whole file is not good either: AIX grep has a line
- # limit of 2048, but all sed's we know have understand at least 4000.
- if sed 10q "$mf" | grep '^#.*generated by automake' > /dev/null 2>&1; then
- dirpart=`$as_dirname -- "$mf" ||
+ "depfiles":C) test x"$AMDEP_TRUE" != x"" || {
+ # Autoconf 2.62 quotes --file arguments for eval, but not when files
+ # are listed without --file. Let's play safe and only enable the eval
+ # if we detect the quoting.
+ case $CONFIG_FILES in
+ *\'*) eval set x "$CONFIG_FILES" ;;
+ *) set x $CONFIG_FILES ;;
+ esac
+ shift
+ for mf
+ do
+ # Strip MF so we end up with the name of the file.
+ mf=`echo "$mf" | sed -e 's/:.*$//'`
+ # Check whether this is an Automake generated Makefile or not.
+ # We used to match only the files named `Makefile.in', but
+ # some people rename them; so instead we look at the file content.
+ # Grep'ing the first line is not enough: some people post-process
+ # each Makefile.in and add a new line on top of each file to say so.
+ # Grep'ing the whole file is not good either: AIX grep has a line
+ # limit of 2048, but all sed's we know have understand at least 4000.
+ if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then
+ dirpart=`$as_dirname -- "$mf" ||
$as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
X"$mf" : 'X\(//\)[^/]' \| \
X"$mf" : 'X\(//\)$' \| \
X"$mf" : 'X\(/\)' \| . 2>/dev/null ||
-echo X"$mf" |
+$as_echo X"$mf" |
sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
s//\1/
q
@@ -21836,33 +18048,33 @@ echo X"$mf" |
q
}
s/.*/./; q'`
- else
- continue
- fi
- # Extract the definition of DEPDIR, am__include, and am__quote
- # from the Makefile without running `make'.
- DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
- test -z "$DEPDIR" && continue
- am__include=`sed -n 's/^am__include = //p' < "$mf"`
- test -z "am__include" && continue
- am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
- # When using ansi2knr, U may be empty or an underscore; expand it
- U=`sed -n 's/^U = //p' < "$mf"`
- # Find all dependency output files, they are included files with
- # $(DEPDIR) in their names. We invoke sed twice because it is the
- # simplest approach to changing $(DEPDIR) to its actual value in the
- # expansion.
- for file in `sed -n "
- s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
- sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
- # Make sure the directory exists.
- test -f "$dirpart/$file" && continue
- fdir=`$as_dirname -- "$file" ||
+ else
+ continue
+ fi
+ # Extract the definition of DEPDIR, am__include, and am__quote
+ # from the Makefile without running `make'.
+ DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
+ test -z "$DEPDIR" && continue
+ am__include=`sed -n 's/^am__include = //p' < "$mf"`
+ test -z "am__include" && continue
+ am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
+ # When using ansi2knr, U may be empty or an underscore; expand it
+ U=`sed -n 's/^U = //p' < "$mf"`
+ # Find all dependency output files, they are included files with
+ # $(DEPDIR) in their names. We invoke sed twice because it is the
+ # simplest approach to changing $(DEPDIR) to its actual value in the
+ # expansion.
+ for file in `sed -n "
+ s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
+ sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
+ # Make sure the directory exists.
+ test -f "$dirpart/$file" && continue
+ fdir=`$as_dirname -- "$file" ||
$as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
X"$file" : 'X\(//\)[^/]' \| \
X"$file" : 'X\(//\)$' \| \
X"$file" : 'X\(/\)' \| . 2>/dev/null ||
-echo X"$file" |
+$as_echo X"$file" |
sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
s//\1/
q
@@ -21880,7 +18092,7 @@ echo X"$file" |
q
}
s/.*/./; q'`
- { as_dir=$dirpart/$fdir
+ { as_dir=$dirpart/$fdir
case $as_dir in #(
-*) as_dir=./$as_dir;;
esac
@@ -21888,7 +18100,7 @@ echo X"$file" |
as_dirs=
while :; do
case $as_dir in #(
- *\'*) as_qdir=`echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #(
+ *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
*) as_qdir=$as_dir;;
esac
as_dirs="'$as_qdir' $as_dirs"
@@ -21897,7 +18109,7 @@ $as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
X"$as_dir" : 'X\(//\)[^/]' \| \
X"$as_dir" : 'X\(//\)$' \| \
X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
-echo X"$as_dir" |
+$as_echo X"$as_dir" |
sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
s//\1/
q
@@ -21918,13 +18130,816 @@ echo X"$as_dir" |
test -d "$as_dir" && break
done
test -z "$as_dirs" || eval "mkdir $as_dirs"
- } || test -d "$as_dir" || { { echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5
-echo "$as_me: error: cannot create directory $as_dir" >&2;}
+ } || test -d "$as_dir" || { { $as_echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5
+$as_echo "$as_me: error: cannot create directory $as_dir" >&2;}
{ (exit 1); exit 1; }; }; }
- # echo "creating $dirpart/$file"
- echo '# dummy' > "$dirpart/$file"
+ # echo "creating $dirpart/$file"
+ echo '# dummy' > "$dirpart/$file"
+ done
done
-done
+}
+ ;;
+ "libtool":C)
+
+ # See if we are running on zsh, and set the options which allow our
+ # commands through without removal of \ escapes.
+ if test -n "${ZSH_VERSION+set}" ; then
+ setopt NO_GLOB_SUBST
+ fi
+
+ cfgfile="${ofile}T"
+ trap "$RM \"$cfgfile\"; exit 1" 1 2 15
+ $RM "$cfgfile"
+
+ cat <<_LT_EOF >> "$cfgfile"
+#! $SHELL
+
+# `$ECHO "$ofile" | sed 's%^.*/%%'` - Provide generalized library-building support services.
+# Generated automatically by $as_me ($PACKAGE$TIMESTAMP) $VERSION
+# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
+# NOTE: Changes made to this file will be lost: look at ltmain.sh.
+#
+# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
+# 2006, 2007, 2008 Free Software Foundation, Inc.
+# Written by Gordon Matzigkeit, 1996
+#
+# This file is part of GNU Libtool.
+#
+# GNU Libtool is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License as
+# published by the Free Software Foundation; either version 2 of
+# the License, or (at your option) any later version.
+#
+# As a special exception to the GNU General Public License,
+# if you distribute this file as part of a program or library that
+# is built using GNU Libtool, you may include this file under the
+# same distribution terms that you use for the rest of that program.
+#
+# GNU Libtool is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with GNU Libtool; see the file COPYING. If not, a copy
+# can be downloaded from http://www.gnu.org/licenses/gpl.html, or
+# obtained by writing to the Free Software Foundation, Inc.,
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+
+
+# The names of the tagged configurations supported by this script.
+available_tags="CXX "
+
+# ### BEGIN LIBTOOL CONFIG
+
+# Which release of libtool.m4 was used?
+macro_version=$macro_version
+macro_revision=$macro_revision
+
+# Whether or not to build shared libraries.
+build_libtool_libs=$enable_shared
+
+# Whether or not to build static libraries.
+build_old_libs=$enable_static
+
+# What type of objects to build.
+pic_mode=$pic_mode
+
+# Whether or not to optimize for fast installation.
+fast_install=$enable_fast_install
+
+# The host system.
+host_alias=$host_alias
+host=$host
+host_os=$host_os
+
+# The build system.
+build_alias=$build_alias
+build=$build
+build_os=$build_os
+
+# A sed program that does not truncate output.
+SED=$lt_SED
+
+# Sed that helps us avoid accidentally triggering echo(1) options like -n.
+Xsed="\$SED -e 1s/^X//"
+
+# A grep program that handles long lines.
+GREP=$lt_GREP
+
+# An ERE matcher.
+EGREP=$lt_EGREP
+
+# A literal string matcher.
+FGREP=$lt_FGREP
+
+# A BSD- or MS-compatible name lister.
+NM=$lt_NM
+
+# Whether we need soft or hard links.
+LN_S=$lt_LN_S
+
+# What is the maximum length of a command?
+max_cmd_len=$max_cmd_len
+
+# Object file suffix (normally "o").
+objext=$ac_objext
+
+# Executable file suffix (normally "").
+exeext=$exeext
+
+# whether the shell understands "unset".
+lt_unset=$lt_unset
+
+# turn spaces into newlines.
+SP2NL=$lt_lt_SP2NL
+
+# turn newlines into spaces.
+NL2SP=$lt_lt_NL2SP
+
+# How to create reloadable object files.
+reload_flag=$lt_reload_flag
+reload_cmds=$lt_reload_cmds
+
+# An object symbol dumper.
+OBJDUMP=$lt_OBJDUMP
+
+# Method to check whether dependent libraries are shared objects.
+deplibs_check_method=$lt_deplibs_check_method
+
+# Command to use when deplibs_check_method == "file_magic".
+file_magic_cmd=$lt_file_magic_cmd
+
+# The archiver.
+AR=$lt_AR
+AR_FLAGS=$lt_AR_FLAGS
+
+# A symbol stripping program.
+STRIP=$lt_STRIP
+
+# Commands used to install an old-style archive.
+RANLIB=$lt_RANLIB
+old_postinstall_cmds=$lt_old_postinstall_cmds
+old_postuninstall_cmds=$lt_old_postuninstall_cmds
+
+# A C compiler.
+LTCC=$lt_CC
+
+# LTCC compiler flags.
+LTCFLAGS=$lt_CFLAGS
+
+# Take the output of nm and produce a listing of raw symbols and C names.
+global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe
+
+# Transform the output of nm in a proper C declaration.
+global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl
+
+# Transform the output of nm in a C name address pair.
+global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address
+
+# Transform the output of nm in a C name address pair when lib prefix is needed.
+global_symbol_to_c_name_address_lib_prefix=$lt_lt_cv_sys_global_symbol_to_c_name_address_lib_prefix
+
+# The name of the directory that contains temporary libtool files.
+objdir=$objdir
+
+# Shell to use when invoking shell scripts.
+SHELL=$lt_SHELL
+
+# An echo program that does not interpret backslashes.
+ECHO=$lt_ECHO
+
+# Used to examine libraries when file_magic_cmd begins with "file".
+MAGIC_CMD=$MAGIC_CMD
+
+# Must we lock files when doing compilation?
+need_locks=$lt_need_locks
+
+# Tool to manipulate archived DWARF debug symbol files on Mac OS X.
+DSYMUTIL=$lt_DSYMUTIL
+
+# Tool to change global to local symbols on Mac OS X.
+NMEDIT=$lt_NMEDIT
+
+# Tool to manipulate fat objects and archives on Mac OS X.
+LIPO=$lt_LIPO
+
+# ldd/readelf like tool for Mach-O binaries on Mac OS X.
+OTOOL=$lt_OTOOL
+
+# ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4.
+OTOOL64=$lt_OTOOL64
+
+# Old archive suffix (normally "a").
+libext=$libext
+
+# Shared library suffix (normally ".so").
+shrext_cmds=$lt_shrext_cmds
+
+# The commands to extract the exported symbol list from a shared archive.
+extract_expsyms_cmds=$lt_extract_expsyms_cmds
+
+# Variables whose values should be saved in libtool wrapper scripts and
+# restored at link time.
+variables_saved_for_relink=$lt_variables_saved_for_relink
+
+# Do we need the "lib" prefix for modules?
+need_lib_prefix=$need_lib_prefix
+
+# Do we need a version for libraries?
+need_version=$need_version
+
+# Library versioning type.
+version_type=$version_type
+
+# Shared library runtime path variable.
+runpath_var=$runpath_var
+
+# Shared library path variable.
+shlibpath_var=$shlibpath_var
+
+# Is shlibpath searched before the hard-coded library search path?
+shlibpath_overrides_runpath=$shlibpath_overrides_runpath
+
+# Format of library name prefix.
+libname_spec=$lt_libname_spec
+
+# List of archive names. First name is the real one, the rest are links.
+# The last name is the one that the linker finds with -lNAME
+library_names_spec=$lt_library_names_spec
+
+# The coded name of the library, if different from the real name.
+soname_spec=$lt_soname_spec
+
+# Command to use after installation of a shared archive.
+postinstall_cmds=$lt_postinstall_cmds
+
+# Command to use after uninstallation of a shared archive.
+postuninstall_cmds=$lt_postuninstall_cmds
+
+# Commands used to finish a libtool library installation in a directory.
+finish_cmds=$lt_finish_cmds
+
+# As "finish_cmds", except a single script fragment to be evaled but
+# not shown.
+finish_eval=$lt_finish_eval
+
+# Whether we should hardcode library paths into libraries.
+hardcode_into_libs=$hardcode_into_libs
+
+# Compile-time system search path for libraries.
+sys_lib_search_path_spec=$lt_sys_lib_search_path_spec
+
+# Run-time system search path for libraries.
+sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec
+
+# Whether dlopen is supported.
+dlopen_support=$enable_dlopen
+
+# Whether dlopen of programs is supported.
+dlopen_self=$enable_dlopen_self
+
+# Whether dlopen of statically linked programs is supported.
+dlopen_self_static=$enable_dlopen_self_static
+
+# Commands to strip libraries.
+old_striplib=$lt_old_striplib
+striplib=$lt_striplib
+
+
+# The linker used to build libraries.
+LD=$lt_LD
+
+# Commands used to build an old-style archive.
+old_archive_cmds=$lt_old_archive_cmds
+
+# A language specific compiler.
+CC=$lt_compiler
+
+# Is the compiler the GNU compiler?
+with_gcc=$GCC
+
+# Compiler flag to turn off builtin functions.
+no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag
+
+# How to pass a linker flag through the compiler.
+wl=$lt_lt_prog_compiler_wl
+
+# Additional compiler flags for building library objects.
+pic_flag=$lt_lt_prog_compiler_pic
+
+# Compiler flag to prevent dynamic linking.
+link_static_flag=$lt_lt_prog_compiler_static
+
+# Does compiler simultaneously support -c and -o options?
+compiler_c_o=$lt_lt_cv_prog_compiler_c_o
+
+# Whether or not to add -lc for building shared libraries.
+build_libtool_need_lc=$archive_cmds_need_lc
+
+# Whether or not to disallow shared libs when runtime libs are static.
+allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes
+
+# Compiler flag to allow reflexive dlopens.
+export_dynamic_flag_spec=$lt_export_dynamic_flag_spec
+
+# Compiler flag to generate shared objects directly from archives.
+whole_archive_flag_spec=$lt_whole_archive_flag_spec
+
+# Whether the compiler copes with passing no objects directly.
+compiler_needs_object=$lt_compiler_needs_object
+
+# Create an old-style archive from a shared archive.
+old_archive_from_new_cmds=$lt_old_archive_from_new_cmds
+
+# Create a temporary old-style archive to link instead of a shared archive.
+old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds
+
+# Commands used to build a shared archive.
+archive_cmds=$lt_archive_cmds
+archive_expsym_cmds=$lt_archive_expsym_cmds
+
+# Commands used to build a loadable module if different from building
+# a shared archive.
+module_cmds=$lt_module_cmds
+module_expsym_cmds=$lt_module_expsym_cmds
+
+# Whether we are building with GNU ld or not.
+with_gnu_ld=$lt_with_gnu_ld
+
+# Flag that allows shared libraries with undefined symbols to be built.
+allow_undefined_flag=$lt_allow_undefined_flag
+
+# Flag that enforces no undefined symbols.
+no_undefined_flag=$lt_no_undefined_flag
+
+# Flag to hardcode \$libdir into a binary during linking.
+# This must work even if \$libdir does not exist
+hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec
+
+# If ld is used when linking, flag to hardcode \$libdir into a binary
+# during linking. This must work even if \$libdir does not exist.
+hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld
+
+# Whether we need a single "-rpath" flag with a separated argument.
+hardcode_libdir_separator=$lt_hardcode_libdir_separator
+
+# Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes
+# DIR into the resulting binary.
+hardcode_direct=$hardcode_direct
+
+# Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes
+# DIR into the resulting binary and the resulting library dependency is
+# "absolute",i.e impossible to change by setting \${shlibpath_var} if the
+# library is relocated.
+hardcode_direct_absolute=$hardcode_direct_absolute
+
+# Set to "yes" if using the -LDIR flag during linking hardcodes DIR
+# into the resulting binary.
+hardcode_minus_L=$hardcode_minus_L
+
+# Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR
+# into the resulting binary.
+hardcode_shlibpath_var=$hardcode_shlibpath_var
+
+# Set to "yes" if building a shared library automatically hardcodes DIR
+# into the library and all subsequent libraries and executables linked
+# against it.
+hardcode_automatic=$hardcode_automatic
+
+# Set to yes if linker adds runtime paths of dependent libraries
+# to runtime path list.
+inherit_rpath=$inherit_rpath
+
+# Whether libtool must link a program against all its dependency libraries.
+link_all_deplibs=$link_all_deplibs
+
+# Fix the shell variable \$srcfile for the compiler.
+fix_srcfile_path=$lt_fix_srcfile_path
+
+# Set to "yes" if exported symbols are required.
+always_export_symbols=$always_export_symbols
+
+# The commands to list exported symbols.
+export_symbols_cmds=$lt_export_symbols_cmds
+
+# Symbols that should not be listed in the preloaded symbols.
+exclude_expsyms=$lt_exclude_expsyms
+
+# Symbols that must always be exported.
+include_expsyms=$lt_include_expsyms
+
+# Commands necessary for linking programs (against libraries) with templates.
+prelink_cmds=$lt_prelink_cmds
+
+# Specify filename containing input files.
+file_list_spec=$lt_file_list_spec
+
+# How to hardcode a shared library path into an executable.
+hardcode_action=$hardcode_action
+
+# The directories searched by this compiler when creating a shared library.
+compiler_lib_search_dirs=$lt_compiler_lib_search_dirs
+
+# Dependencies to place before and after the objects being linked to
+# create a shared library.
+predep_objects=$lt_predep_objects
+postdep_objects=$lt_postdep_objects
+predeps=$lt_predeps
+postdeps=$lt_postdeps
+
+# The library search path used internally by the compiler when linking
+# a shared library.
+compiler_lib_search_path=$lt_compiler_lib_search_path
+
+# ### END LIBTOOL CONFIG
+
+_LT_EOF
+
+ case $host_os in
+ aix3*)
+ cat <<\_LT_EOF >> "$cfgfile"
+# AIX sometimes has problems with the GCC collect2 program. For some
+# reason, if we set the COLLECT_NAMES environment variable, the problems
+# vanish in a puff of smoke.
+if test "X${COLLECT_NAMES+set}" != Xset; then
+ COLLECT_NAMES=
+ export COLLECT_NAMES
+fi
+_LT_EOF
+ ;;
+ esac
+
+
+ltmain="$ac_aux_dir/ltmain.sh"
+
+
+ # We use sed instead of cat because bash on DJGPP gets confused if
+ # if finds mixed CR/LF and LF-only lines. Since sed operates in
+ # text mode, it properly converts lines to CR/LF. This bash problem
+ # is reportedly fixed, but why not run on old versions too?
+ sed '/^# Generated shell functions inserted here/q' "$ltmain" >> "$cfgfile" \
+ || (rm -f "$cfgfile"; exit 1)
+
+ case $xsi_shell in
+ yes)
+ cat << \_LT_EOF >> "$cfgfile"
+
+# func_dirname file append nondir_replacement
+# Compute the dirname of FILE. If nonempty, add APPEND to the result,
+# otherwise set result to NONDIR_REPLACEMENT.
+func_dirname ()
+{
+ case ${1} in
+ */*) func_dirname_result="${1%/*}${2}" ;;
+ * ) func_dirname_result="${3}" ;;
+ esac
+}
+
+# func_basename file
+func_basename ()
+{
+ func_basename_result="${1##*/}"
+}
+
+# func_dirname_and_basename file append nondir_replacement
+# perform func_basename and func_dirname in a single function
+# call:
+# dirname: Compute the dirname of FILE. If nonempty,
+# add APPEND to the result, otherwise set result
+# to NONDIR_REPLACEMENT.
+# value returned in "$func_dirname_result"
+# basename: Compute filename of FILE.
+# value retuned in "$func_basename_result"
+# Implementation must be kept synchronized with func_dirname
+# and func_basename. For efficiency, we do not delegate to
+# those functions but instead duplicate the functionality here.
+func_dirname_and_basename ()
+{
+ case ${1} in
+ */*) func_dirname_result="${1%/*}${2}" ;;
+ * ) func_dirname_result="${3}" ;;
+ esac
+ func_basename_result="${1##*/}"
+}
+
+# func_stripname prefix suffix name
+# strip PREFIX and SUFFIX off of NAME.
+# PREFIX and SUFFIX must not contain globbing or regex special
+# characters, hashes, percent signs, but SUFFIX may contain a leading
+# dot (in which case that matches only a dot).
+func_stripname ()
+{
+ # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are
+ # positional parameters, so assign one to ordinary parameter first.
+ func_stripname_result=${3}
+ func_stripname_result=${func_stripname_result#"${1}"}
+ func_stripname_result=${func_stripname_result%"${2}"}
+}
+
+# func_opt_split
+func_opt_split ()
+{
+ func_opt_split_opt=${1%%=*}
+ func_opt_split_arg=${1#*=}
+}
+
+# func_lo2o object
+func_lo2o ()
+{
+ case ${1} in
+ *.lo) func_lo2o_result=${1%.lo}.${objext} ;;
+ *) func_lo2o_result=${1} ;;
+ esac
+}
+
+# func_xform libobj-or-source
+func_xform ()
+{
+ func_xform_result=${1%.*}.lo
+}
+
+# func_arith arithmetic-term...
+func_arith ()
+{
+ func_arith_result=$(( $* ))
+}
+
+# func_len string
+# STRING may not start with a hyphen.
+func_len ()
+{
+ func_len_result=${#1}
+}
+
+_LT_EOF
+ ;;
+ *) # Bourne compatible functions.
+ cat << \_LT_EOF >> "$cfgfile"
+
+# func_dirname file append nondir_replacement
+# Compute the dirname of FILE. If nonempty, add APPEND to the result,
+# otherwise set result to NONDIR_REPLACEMENT.
+func_dirname ()
+{
+ # Extract subdirectory from the argument.
+ func_dirname_result=`$ECHO "X${1}" | $Xsed -e "$dirname"`
+ if test "X$func_dirname_result" = "X${1}"; then
+ func_dirname_result="${3}"
+ else
+ func_dirname_result="$func_dirname_result${2}"
+ fi
+}
+
+# func_basename file
+func_basename ()
+{
+ func_basename_result=`$ECHO "X${1}" | $Xsed -e "$basename"`
+}
+
+
+# func_stripname prefix suffix name
+# strip PREFIX and SUFFIX off of NAME.
+# PREFIX and SUFFIX must not contain globbing or regex special
+# characters, hashes, percent signs, but SUFFIX may contain a leading
+# dot (in which case that matches only a dot).
+# func_strip_suffix prefix name
+func_stripname ()
+{
+ case ${2} in
+ .*) func_stripname_result=`$ECHO "X${3}" \
+ | $Xsed -e "s%^${1}%%" -e "s%\\\\${2}\$%%"`;;
+ *) func_stripname_result=`$ECHO "X${3}" \
+ | $Xsed -e "s%^${1}%%" -e "s%${2}\$%%"`;;
+ esac
+}
+
+# sed scripts:
+my_sed_long_opt='1s/^\(-[^=]*\)=.*/\1/;q'
+my_sed_long_arg='1s/^-[^=]*=//'
+
+# func_opt_split
+func_opt_split ()
+{
+ func_opt_split_opt=`$ECHO "X${1}" | $Xsed -e "$my_sed_long_opt"`
+ func_opt_split_arg=`$ECHO "X${1}" | $Xsed -e "$my_sed_long_arg"`
+}
+
+# func_lo2o object
+func_lo2o ()
+{
+ func_lo2o_result=`$ECHO "X${1}" | $Xsed -e "$lo2o"`
+}
+
+# func_xform libobj-or-source
+func_xform ()
+{
+ func_xform_result=`$ECHO "X${1}" | $Xsed -e 's/\.[^.]*$/.lo/'`
+}
+
+# func_arith arithmetic-term...
+func_arith ()
+{
+ func_arith_result=`expr "$@"`
+}
+
+# func_len string
+# STRING may not start with a hyphen.
+func_len ()
+{
+ func_len_result=`expr "$1" : ".*" 2>/dev/null || echo $max_cmd_len`
+}
+
+_LT_EOF
+esac
+
+case $lt_shell_append in
+ yes)
+ cat << \_LT_EOF >> "$cfgfile"
+
+# func_append var value
+# Append VALUE to the end of shell variable VAR.
+func_append ()
+{
+ eval "$1+=\$2"
+}
+_LT_EOF
+ ;;
+ *)
+ cat << \_LT_EOF >> "$cfgfile"
+
+# func_append var value
+# Append VALUE to the end of shell variable VAR.
+func_append ()
+{
+ eval "$1=\$$1\$2"
+}
+
+_LT_EOF
+ ;;
+ esac
+
+
+ sed -n '/^# Generated shell functions inserted here/,$p' "$ltmain" >> "$cfgfile" \
+ || (rm -f "$cfgfile"; exit 1)
+
+ mv -f "$cfgfile" "$ofile" ||
+ (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile")
+ chmod +x "$ofile"
+
+
+ cat <<_LT_EOF >> "$ofile"
+
+# ### BEGIN LIBTOOL TAG CONFIG: CXX
+
+# The linker used to build libraries.
+LD=$lt_LD_CXX
+
+# Commands used to build an old-style archive.
+old_archive_cmds=$lt_old_archive_cmds_CXX
+
+# A language specific compiler.
+CC=$lt_compiler_CXX
+
+# Is the compiler the GNU compiler?
+with_gcc=$GCC_CXX
+
+# Compiler flag to turn off builtin functions.
+no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_CXX
+
+# How to pass a linker flag through the compiler.
+wl=$lt_lt_prog_compiler_wl_CXX
+
+# Additional compiler flags for building library objects.
+pic_flag=$lt_lt_prog_compiler_pic_CXX
+
+# Compiler flag to prevent dynamic linking.
+link_static_flag=$lt_lt_prog_compiler_static_CXX
+
+# Does compiler simultaneously support -c and -o options?
+compiler_c_o=$lt_lt_cv_prog_compiler_c_o_CXX
+
+# Whether or not to add -lc for building shared libraries.
+build_libtool_need_lc=$archive_cmds_need_lc_CXX
+
+# Whether or not to disallow shared libs when runtime libs are static.
+allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_CXX
+
+# Compiler flag to allow reflexive dlopens.
+export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_CXX
+
+# Compiler flag to generate shared objects directly from archives.
+whole_archive_flag_spec=$lt_whole_archive_flag_spec_CXX
+
+# Whether the compiler copes with passing no objects directly.
+compiler_needs_object=$lt_compiler_needs_object_CXX
+
+# Create an old-style archive from a shared archive.
+old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_CXX
+
+# Create a temporary old-style archive to link instead of a shared archive.
+old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_CXX
+
+# Commands used to build a shared archive.
+archive_cmds=$lt_archive_cmds_CXX
+archive_expsym_cmds=$lt_archive_expsym_cmds_CXX
+
+# Commands used to build a loadable module if different from building
+# a shared archive.
+module_cmds=$lt_module_cmds_CXX
+module_expsym_cmds=$lt_module_expsym_cmds_CXX
+
+# Whether we are building with GNU ld or not.
+with_gnu_ld=$lt_with_gnu_ld_CXX
+
+# Flag that allows shared libraries with undefined symbols to be built.
+allow_undefined_flag=$lt_allow_undefined_flag_CXX
+
+# Flag that enforces no undefined symbols.
+no_undefined_flag=$lt_no_undefined_flag_CXX
+
+# Flag to hardcode \$libdir into a binary during linking.
+# This must work even if \$libdir does not exist
+hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_CXX
+
+# If ld is used when linking, flag to hardcode \$libdir into a binary
+# during linking. This must work even if \$libdir does not exist.
+hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld_CXX
+
+# Whether we need a single "-rpath" flag with a separated argument.
+hardcode_libdir_separator=$lt_hardcode_libdir_separator_CXX
+
+# Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes
+# DIR into the resulting binary.
+hardcode_direct=$hardcode_direct_CXX
+
+# Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes
+# DIR into the resulting binary and the resulting library dependency is
+# "absolute",i.e impossible to change by setting \${shlibpath_var} if the
+# library is relocated.
+hardcode_direct_absolute=$hardcode_direct_absolute_CXX
+
+# Set to "yes" if using the -LDIR flag during linking hardcodes DIR
+# into the resulting binary.
+hardcode_minus_L=$hardcode_minus_L_CXX
+
+# Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR
+# into the resulting binary.
+hardcode_shlibpath_var=$hardcode_shlibpath_var_CXX
+
+# Set to "yes" if building a shared library automatically hardcodes DIR
+# into the library and all subsequent libraries and executables linked
+# against it.
+hardcode_automatic=$hardcode_automatic_CXX
+
+# Set to yes if linker adds runtime paths of dependent libraries
+# to runtime path list.
+inherit_rpath=$inherit_rpath_CXX
+
+# Whether libtool must link a program against all its dependency libraries.
+link_all_deplibs=$link_all_deplibs_CXX
+
+# Fix the shell variable \$srcfile for the compiler.
+fix_srcfile_path=$lt_fix_srcfile_path_CXX
+
+# Set to "yes" if exported symbols are required.
+always_export_symbols=$always_export_symbols_CXX
+
+# The commands to list exported symbols.
+export_symbols_cmds=$lt_export_symbols_cmds_CXX
+
+# Symbols that should not be listed in the preloaded symbols.
+exclude_expsyms=$lt_exclude_expsyms_CXX
+
+# Symbols that must always be exported.
+include_expsyms=$lt_include_expsyms_CXX
+
+# Commands necessary for linking programs (against libraries) with templates.
+prelink_cmds=$lt_prelink_cmds_CXX
+
+# Specify filename containing input files.
+file_list_spec=$lt_file_list_spec_CXX
+
+# How to hardcode a shared library path into an executable.
+hardcode_action=$hardcode_action_CXX
+
+# The directories searched by this compiler when creating a shared library.
+compiler_lib_search_dirs=$lt_compiler_lib_search_dirs_CXX
+
+# Dependencies to place before and after the objects being linked to
+# create a shared library.
+predep_objects=$lt_predep_objects_CXX
+postdep_objects=$lt_postdep_objects_CXX
+predeps=$lt_predeps_CXX
+postdeps=$lt_postdeps_CXX
+
+# The library search path used internally by the compiler when linking
+# a shared library.
+compiler_lib_search_path=$lt_compiler_lib_search_path_CXX
+
+# ### END LIBTOOL TAG CONFIG: CXX
+_LT_EOF
+
;;
esac
@@ -21936,6 +18951,11 @@ _ACEOF
chmod +x $CONFIG_STATUS
ac_clean_files=$ac_clean_files_save
+test $ac_write_fail = 0 ||
+ { { $as_echo "$as_me:$LINENO: error: write failure creating $CONFIG_STATUS" >&5
+$as_echo "$as_me: error: write failure creating $CONFIG_STATUS" >&2;}
+ { (exit 1); exit 1; }; }
+
# configure is writing to config.log, and then calls config.status.
# config.status does its own redirection, appending to config.log.
@@ -21957,4 +18977,8 @@ if test "$no_create" != yes; then
# would make configure fail if this is the last instruction.
$ac_cs_success || { (exit 1); exit 1; }
fi
+if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then
+ { $as_echo "$as_me:$LINENO: WARNING: unrecognized options: $ac_unrecognized_opts" >&5
+$as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;}
+fi
diff --git a/bindings/swig/package/depcomp b/bindings/swig/package/depcomp
index ca5ea4e..e5f9736 100755
--- a/bindings/swig/package/depcomp
+++ b/bindings/swig/package/depcomp
@@ -1,9 +1,9 @@
#! /bin/sh
# depcomp - compile a program generating dependencies as side-effects
-scriptversion=2006-10-15.18
+scriptversion=2007-03-29.01
-# Copyright (C) 1999, 2000, 2003, 2004, 2005, 2006 Free Software
+# Copyright (C) 1999, 2000, 2003, 2004, 2005, 2006, 2007 Free Software
# Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
@@ -215,34 +215,39 @@ aix)
# current directory. Also, the AIX compiler puts `$object:' at the
# start of each line; $object doesn't have directory information.
# Version 6 uses the directory in both cases.
- stripped=`echo "$object" | sed 's/\(.*\)\..*$/\1/'`
- tmpdepfile="$stripped.u"
+ dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
+ test "x$dir" = "x$object" && dir=
+ base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
if test "$libtool" = yes; then
+ tmpdepfile1=$dir$base.u
+ tmpdepfile2=$base.u
+ tmpdepfile3=$dir.libs/$base.u
"$@" -Wc,-M
else
+ tmpdepfile1=$dir$base.u
+ tmpdepfile2=$dir$base.u
+ tmpdepfile3=$dir$base.u
"$@" -M
fi
stat=$?
- if test -f "$tmpdepfile"; then :
- else
- stripped=`echo "$stripped" | sed 's,^.*/,,'`
- tmpdepfile="$stripped.u"
- fi
-
if test $stat -eq 0; then :
else
- rm -f "$tmpdepfile"
+ rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
exit $stat
fi
+ for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
+ do
+ test -f "$tmpdepfile" && break
+ done
if test -f "$tmpdepfile"; then
- outname="$stripped.o"
# Each line is of the form `foo.o: dependent.h'.
# Do two passes, one to just change these to
# `$object: dependent.h' and one to simply `dependent.h:'.
- sed -e "s,^$outname:,$object :," < "$tmpdepfile" > "$depfile"
- sed -e "s,^$outname: \(.*\)$,\1:," < "$tmpdepfile" >> "$depfile"
+ sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile"
+ # That's a tab and a space in the [].
+ sed -e 's,^.*\.[a-z]*:[ ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile"
else
# The sourcefile does not contain any dependencies, so just
# store a dummy comment line, to avoid errors with the Makefile
diff --git a/bindings/swig/package/install-sh b/bindings/swig/package/install-sh
index 4fbbae7..a5897de 100755
--- a/bindings/swig/package/install-sh
+++ b/bindings/swig/package/install-sh
@@ -1,7 +1,7 @@
#!/bin/sh
# install - install a program, script, or datafile
-scriptversion=2006-10-14.15
+scriptversion=2006-12-25.00
# This originates from X11R5 (mit/util/scripts/install.sh), which was
# later released in X11R6 (xc/config/util/install.sh) with the
@@ -48,7 +48,7 @@ IFS=" "" $nl"
# set DOITPROG to echo to test this script
# Don't use :- since 4.3BSD and earlier shells don't like it.
-doit="${DOITPROG-}"
+doit=${DOITPROG-}
if test -z "$doit"; then
doit_exec=exec
else
@@ -58,34 +58,49 @@ fi
# Put in absolute file names if you don't have them in your path;
# or use environment vars.
-mvprog="${MVPROG-mv}"
-cpprog="${CPPROG-cp}"
-chmodprog="${CHMODPROG-chmod}"
-chownprog="${CHOWNPROG-chown}"
-chgrpprog="${CHGRPPROG-chgrp}"
-stripprog="${STRIPPROG-strip}"
-rmprog="${RMPROG-rm}"
-mkdirprog="${MKDIRPROG-mkdir}"
+chgrpprog=${CHGRPPROG-chgrp}
+chmodprog=${CHMODPROG-chmod}
+chownprog=${CHOWNPROG-chown}
+cmpprog=${CMPPROG-cmp}
+cpprog=${CPPROG-cp}
+mkdirprog=${MKDIRPROG-mkdir}
+mvprog=${MVPROG-mv}
+rmprog=${RMPROG-rm}
+stripprog=${STRIPPROG-strip}
+
+posix_glob='?'
+initialize_posix_glob='
+ test "$posix_glob" != "?" || {
+ if (set -f) 2>/dev/null; then
+ posix_glob=
+ else
+ posix_glob=:
+ fi
+ }
+'
-posix_glob=
posix_mkdir=
# Desired mode of installed file.
mode=0755
+chgrpcmd=
chmodcmd=$chmodprog
chowncmd=
-chgrpcmd=
-stripcmd=
+mvcmd=$mvprog
rmcmd="$rmprog -f"
-mvcmd="$mvprog"
+stripcmd=
+
src=
dst=
dir_arg=
-dstarg=
+dst_arg=
+
+copy_on_change=false
no_target_directory=
-usage="Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE
+usage="\
+Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE
or: $0 [OPTION]... SRCFILES... DIRECTORY
or: $0 [OPTION]... -t DIRECTORY SRCFILES...
or: $0 [OPTION]... -d DIRECTORIES...
@@ -95,65 +110,55 @@ In the 2nd and 3rd, copy all SRCFILES to DIRECTORY.
In the 4th, create DIRECTORIES.
Options:
--c (ignored)
--d create directories instead of installing files.
--g GROUP $chgrpprog installed files to GROUP.
--m MODE $chmodprog installed files to MODE.
--o USER $chownprog installed files to USER.
--s $stripprog installed files.
--t DIRECTORY install into DIRECTORY.
--T report an error if DSTFILE is a directory.
---help display this help and exit.
---version display version info and exit.
+ --help display this help and exit.
+ --version display version info and exit.
+
+ -c (ignored)
+ -C install only if different (preserve the last data modification time)
+ -d create directories instead of installing files.
+ -g GROUP $chgrpprog installed files to GROUP.
+ -m MODE $chmodprog installed files to MODE.
+ -o USER $chownprog installed files to USER.
+ -s $stripprog installed files.
+ -t DIRECTORY install into DIRECTORY.
+ -T report an error if DSTFILE is a directory.
Environment variables override the default commands:
- CHGRPPROG CHMODPROG CHOWNPROG CPPROG MKDIRPROG MVPROG RMPROG STRIPPROG
+ CHGRPPROG CHMODPROG CHOWNPROG CMPPROG CPPROG MKDIRPROG MVPROG
+ RMPROG STRIPPROG
"
while test $# -ne 0; do
case $1 in
- -c) shift
- continue;;
+ -c) ;;
+
+ -C) copy_on_change=true;;
- -d) dir_arg=true
- shift
- continue;;
+ -d) dir_arg=true;;
-g) chgrpcmd="$chgrpprog $2"
- shift
- shift
- continue;;
+ shift;;
--help) echo "$usage"; exit $?;;
-m) mode=$2
- shift
- shift
case $mode in
*' '* | *' '* | *'
'* | *'*'* | *'?'* | *'['*)
echo "$0: invalid mode: $mode" >&2
exit 1;;
esac
- continue;;
+ shift;;
-o) chowncmd="$chownprog $2"
- shift
- shift
- continue;;
+ shift;;
- -s) stripcmd=$stripprog
- shift
- continue;;
+ -s) stripcmd=$stripprog;;
- -t) dstarg=$2
- shift
- shift
- continue;;
+ -t) dst_arg=$2
+ shift;;
- -T) no_target_directory=true
- shift
- continue;;
+ -T) no_target_directory=true;;
--version) echo "$0 $scriptversion"; exit $?;;
@@ -165,21 +170,22 @@ while test $# -ne 0; do
*) break;;
esac
+ shift
done
-if test $# -ne 0 && test -z "$dir_arg$dstarg"; then
+if test $# -ne 0 && test -z "$dir_arg$dst_arg"; then
# When -d is used, all remaining arguments are directories to create.
# When -t is used, the destination is already specified.
# Otherwise, the last argument is the destination. Remove it from $@.
for arg
do
- if test -n "$dstarg"; then
+ if test -n "$dst_arg"; then
# $@ is not empty: it contains at least $arg.
- set fnord "$@" "$dstarg"
+ set fnord "$@" "$dst_arg"
shift # fnord
fi
shift # arg
- dstarg=$arg
+ dst_arg=$arg
done
fi
@@ -224,7 +230,7 @@ for src
do
# Protect names starting with `-'.
case $src in
- -*) src=./$src ;;
+ -*) src=./$src;;
esac
if test -n "$dir_arg"; then
@@ -242,22 +248,22 @@ do
exit 1
fi
- if test -z "$dstarg"; then
+ if test -z "$dst_arg"; then
echo "$0: no destination specified." >&2
exit 1
fi
- dst=$dstarg
+ dst=$dst_arg
# Protect names starting with `-'.
case $dst in
- -*) dst=./$dst ;;
+ -*) dst=./$dst;;
esac
# If destination is a directory, append the input filename; won't work
# if double slashes aren't ignored.
if test -d "$dst"; then
if test -n "$no_target_directory"; then
- echo "$0: $dstarg: Is a directory" >&2
+ echo "$0: $dst_arg: Is a directory" >&2
exit 1
fi
dstdir=$dst
@@ -378,26 +384,19 @@ do
# directory the slow way, step by step, checking for races as we go.
case $dstdir in
- /*) prefix=/ ;;
- -*) prefix=./ ;;
- *) prefix= ;;
+ /*) prefix='/';;
+ -*) prefix='./';;
+ *) prefix='';;
esac
- case $posix_glob in
- '')
- if (set -f) 2>/dev/null; then
- posix_glob=true
- else
- posix_glob=false
- fi ;;
- esac
+ eval "$initialize_posix_glob"
oIFS=$IFS
IFS=/
- $posix_glob && set -f
+ $posix_glob set -f
set fnord $dstdir
shift
- $posix_glob && set +f
+ $posix_glob set +f
IFS=$oIFS
prefixes=
@@ -459,41 +458,54 @@ do
# ignore errors from any of these, just make sure not to ignore
# errors from the above "$doit $cpprog $src $dsttmp" command.
#
- { test -z "$chowncmd" || $doit $chowncmd "$dsttmp"; } \
- && { test -z "$chgrpcmd" || $doit $chgrpcmd "$dsttmp"; } \
- && { test -z "$stripcmd" || $doit $stripcmd "$dsttmp"; } \
- && { test -z "$chmodcmd" || $doit $chmodcmd $mode "$dsttmp"; } &&
-
- # Now rename the file to the real destination.
- { $doit $mvcmd -f "$dsttmp" "$dst" 2>/dev/null \
- || {
- # The rename failed, perhaps because mv can't rename something else
- # to itself, or perhaps because mv is so ancient that it does not
- # support -f.
-
- # Now remove or move aside any old file at destination location.
- # We try this two ways since rm can't unlink itself on some
- # systems and the destination file might be busy for other
- # reasons. In this case, the final cleanup might fail but the new
- # file should still install successfully.
- {
- if test -f "$dst"; then
- $doit $rmcmd -f "$dst" 2>/dev/null \
- || { $doit $mvcmd -f "$dst" "$rmtmp" 2>/dev/null \
- && { $doit $rmcmd -f "$rmtmp" 2>/dev/null; :; }; }\
- || {
- echo "$0: cannot unlink or rename $dst" >&2
- (exit 1); exit 1
- }
- else
- :
- fi
- } &&
-
- # Now rename the file to the real destination.
- $doit $mvcmd "$dsttmp" "$dst"
- }
- } || exit 1
+ { test -z "$chowncmd" || $doit $chowncmd "$dsttmp"; } &&
+ { test -z "$chgrpcmd" || $doit $chgrpcmd "$dsttmp"; } &&
+ { test -z "$stripcmd" || $doit $stripcmd "$dsttmp"; } &&
+ { test -z "$chmodcmd" || $doit $chmodcmd $mode "$dsttmp"; } &&
+
+ # If -C, don't bother to copy if it wouldn't change the file.
+ if $copy_on_change &&
+ old=`LC_ALL=C ls -dlL "$dst" 2>/dev/null` &&
+ new=`LC_ALL=C ls -dlL "$dsttmp" 2>/dev/null` &&
+
+ eval "$initialize_posix_glob" &&
+ $posix_glob set -f &&
+ set X $old && old=:$2:$4:$5:$6 &&
+ set X $new && new=:$2:$4:$5:$6 &&
+ $posix_glob set +f &&
+
+ test "$old" = "$new" &&
+ $cmpprog "$dst" "$dsttmp" >/dev/null 2>&1
+ then
+ rm -f "$dsttmp"
+ else
+ # Rename the file to the real destination.
+ $doit $mvcmd -f "$dsttmp" "$dst" 2>/dev/null ||
+
+ # The rename failed, perhaps because mv can't rename something else
+ # to itself, or perhaps because mv is so ancient that it does not
+ # support -f.
+ {
+ # Now remove or move aside any old file at destination location.
+ # We try this two ways since rm can't unlink itself on some
+ # systems and the destination file might be busy for other
+ # reasons. In this case, the final cleanup might fail but the new
+ # file should still install successfully.
+ {
+ test ! -f "$dst" ||
+ $doit $rmcmd -f "$dst" 2>/dev/null ||
+ { $doit $mvcmd -f "$dst" "$rmtmp" 2>/dev/null &&
+ { $doit $rmcmd -f "$rmtmp" 2>/dev/null; :; }
+ } ||
+ { echo "$0: cannot unlink or rename $dst" >&2
+ (exit 1); exit 1
+ }
+ } &&
+
+ # Now rename the file to the real destination.
+ $doit $mvcmd "$dsttmp" "$dst"
+ }
+ fi || exit 1
trap '' 0
fi
diff --git a/bindings/swig/package/ltmain.sh b/bindings/swig/package/ltmain.sh
index 8e5a930..b612e9a 100644..100755
--- a/bindings/swig/package/ltmain.sh
+++ b/bindings/swig/package/ltmain.sh
@@ -1,52 +1,83 @@
-# ltmain.sh - Provide generalized library-building support services.
-# NOTE: Changing this file will not affect anything until you rerun configure.
-#
-# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, 2006,
-# 2007 Free Software Foundation, Inc.
-# Originally by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
-#
-# This program is free software; you can redistribute it and/or modify
+# Generated from ltmain.m4sh.
+
+# ltmain.sh (GNU libtool) 2.2.6
+# Written by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
+
+# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, 2006, 2007 2008 Free Software Foundation, Inc.
+# This is free software; see the source for copying conditions. There is NO
+# warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+# GNU Libtool is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
-# This program is distributed in the hope that it will be useful, but
+# As a special exception to the GNU General Public License,
+# if you distribute this file as part of a program or library that
+# is built using GNU Libtool, you may include this file under the
+# same distribution terms that you use for the rest of that program.
+#
+# GNU Libtool is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# General Public License for more details.
#
# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
-#
-# As a special exception to the GNU General Public License, if you
-# distribute this file as part of a program that contains a
-# configuration script generated by Autoconf, you may include it under
-# the same distribution terms that you use for the rest of that program.
-
-basename="s,^.*/,,g"
-
-# Work around backward compatibility issue on IRIX 6.5. On IRIX 6.4+, sh
-# is ksh but when the shell is invoked as "sh" and the current value of
-# the _XPG environment variable is not equal to 1 (one), the special
-# positional parameter $0, within a function call, is the name of the
-# function.
-progpath="$0"
+# along with GNU Libtool; see the file COPYING. If not, a copy
+# can be downloaded from http://www.gnu.org/licenses/gpl.html,
+# or obtained by writing to the Free Software Foundation, Inc.,
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
-# The name of this program:
-progname=`echo "$progpath" | $SED $basename`
-modename="$progname"
-
-# Global variables:
-EXIT_SUCCESS=0
-EXIT_FAILURE=1
+# Usage: $progname [OPTION]... [MODE-ARG]...
+#
+# Provide generalized library-building support services.
+#
+# --config show all configuration variables
+# --debug enable verbose shell tracing
+# -n, --dry-run display commands without modifying any files
+# --features display basic configuration information and exit
+# --mode=MODE use operation mode MODE
+# --preserve-dup-deps don't remove duplicate dependency libraries
+# --quiet, --silent don't print informational messages
+# --tag=TAG use configuration variables from tag TAG
+# -v, --verbose print informational messages (default)
+# --version print version information
+# -h, --help print short or long help message
+#
+# MODE must be one of the following:
+#
+# clean remove files from the build directory
+# compile compile a source file into a libtool object
+# execute automatically set library path, then run a program
+# finish complete the installation of libtool libraries
+# install install libraries or executables
+# link create a library or an executable
+# uninstall remove libraries from an installed directory
+#
+# MODE-ARGS vary depending on the MODE.
+# Try `$progname --help --mode=MODE' for a more detailed description of MODE.
+#
+# When reporting a bug, please describe a test case to reproduce it and
+# include the following information:
+#
+# host-triplet: $host
+# shell: $SHELL
+# compiler: $LTCC
+# compiler flags: $LTCFLAGS
+# linker: $LD (gnu? $with_gnu_ld)
+# $progname: (GNU libtool) 2.2.6 Debian-2.2.6a-1ubuntu1
+# automake: $automake_version
+# autoconf: $autoconf_version
+#
+# Report bugs to <bug-libtool@gnu.org>.
PROGRAM=ltmain.sh
PACKAGE=libtool
-VERSION=1.5.24
-TIMESTAMP=" (1.1220.2.456 2007/06/24 02:25:32)"
+VERSION="2.2.6 Debian-2.2.6a-1ubuntu1"
+TIMESTAMP=""
+package_revision=1.3012
-# Be Bourne compatible (taken from Autoconf:_AS_BOURNE_COMPATIBLE).
+# Be Bourne compatible
if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
emulate sh
NULLCMD=:
@@ -60,98 +91,261 @@ fi
BIN_SH=xpg4; export BIN_SH # for Tru64
DUALCASE=1; export DUALCASE # for MKS sh
-# Check that we have a working $echo.
-if test "X$1" = X--no-reexec; then
- # Discard the --no-reexec flag, and continue.
- shift
-elif test "X$1" = X--fallback-echo; then
- # Avoid inline document here, it may be left over
- :
-elif test "X`($echo '\t') 2>/dev/null`" = 'X\t'; then
- # Yippee, $echo works!
- :
-else
- # Restart under the correct shell, and then maybe $echo will work.
- exec $SHELL "$progpath" --no-reexec ${1+"$@"}
-fi
-
-if test "X$1" = X--fallback-echo; then
- # used as fallback echo
- shift
- cat <<EOF
-$*
-EOF
- exit $EXIT_SUCCESS
-fi
-
-default_mode=
-help="Try \`$progname --help' for more information."
-magic="%%%MAGIC variable%%%"
-mkdir="mkdir"
-mv="mv -f"
-rm="rm -f"
-
-# Sed substitution that helps us do robust quoting. It backslashifies
-# metacharacters that are still active within double-quoted strings.
-Xsed="${SED}"' -e 1s/^X//'
-sed_quote_subst='s/\([\\`\\"$\\\\]\)/\\\1/g'
-# test EBCDIC or ASCII
-case `echo X|tr X '\101'` in
- A) # ASCII based system
- # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr
- SP2NL='tr \040 \012'
- NL2SP='tr \015\012 \040\040'
- ;;
- *) # EBCDIC based system
- SP2NL='tr \100 \n'
- NL2SP='tr \r\n \100\100'
- ;;
-esac
-
-# NLS nuisances.
+# NLS nuisances: We save the old values to restore during execute mode.
# Only set LANG and LC_ALL to C if already set.
# These must not be set unconditionally because not all systems understand
# e.g. LANG=C (notably SCO).
-# We save the old values to restore during execute mode.
-for lt_var in LANG LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES
+lt_user_locale=
+lt_safe_locale=
+for lt_var in LANG LANGUAGE LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES
do
eval "if test \"\${$lt_var+set}\" = set; then
- save_$lt_var=\$$lt_var
- $lt_var=C
+ save_$lt_var=\$$lt_var
+ $lt_var=C
export $lt_var
+ lt_user_locale=\"$lt_var=\\\$save_\$lt_var; \$lt_user_locale\"
+ lt_safe_locale=\"$lt_var=C; \$lt_safe_locale\"
fi"
done
+$lt_unset CDPATH
+
+
+
+
+
+: ${CP="cp -f"}
+: ${ECHO="echo"}
+: ${EGREP="/bin/grep -E"}
+: ${FGREP="/bin/grep -F"}
+: ${GREP="/bin/grep"}
+: ${LN_S="ln -s"}
+: ${MAKE="make"}
+: ${MKDIR="mkdir"}
+: ${MV="mv -f"}
+: ${RM="rm -f"}
+: ${SED="/bin/sed"}
+: ${SHELL="${CONFIG_SHELL-/bin/sh}"}
+: ${Xsed="$SED -e 1s/^X//"}
+
+# Global variables:
+EXIT_SUCCESS=0
+EXIT_FAILURE=1
+EXIT_MISMATCH=63 # $? = 63 is used to indicate version mismatch to missing.
+EXIT_SKIP=77 # $? = 77 is used to indicate a skipped test to automake.
+
+exit_status=$EXIT_SUCCESS
+
# Make sure IFS has a sensible default
lt_nl='
'
IFS=" $lt_nl"
-if test "$build_libtool_libs" != yes && test "$build_old_libs" != yes; then
- $echo "$modename: not configured to build any kind of library" 1>&2
- $echo "Fatal configuration error. See the $PACKAGE docs for more information." 1>&2
- exit $EXIT_FAILURE
-fi
+dirname="s,/[^/]*$,,"
+basename="s,^.*/,,"
+
+# func_dirname_and_basename file append nondir_replacement
+# perform func_basename and func_dirname in a single function
+# call:
+# dirname: Compute the dirname of FILE. If nonempty,
+# add APPEND to the result, otherwise set result
+# to NONDIR_REPLACEMENT.
+# value returned in "$func_dirname_result"
+# basename: Compute filename of FILE.
+# value retuned in "$func_basename_result"
+# Implementation must be kept synchronized with func_dirname
+# and func_basename. For efficiency, we do not delegate to
+# those functions but instead duplicate the functionality here.
+func_dirname_and_basename ()
+{
+ # Extract subdirectory from the argument.
+ func_dirname_result=`$ECHO "X${1}" | $Xsed -e "$dirname"`
+ if test "X$func_dirname_result" = "X${1}"; then
+ func_dirname_result="${3}"
+ else
+ func_dirname_result="$func_dirname_result${2}"
+ fi
+ func_basename_result=`$ECHO "X${1}" | $Xsed -e "$basename"`
+}
-# Global variables.
-mode=$default_mode
-nonopt=
-prev=
-prevopt=
-run=
-show="$echo"
-show_help=
-execute_dlfiles=
-duplicate_deps=no
-preserve_args=
-lo2o="s/\\.lo\$/.${objext}/"
-o2lo="s/\\.${objext}\$/.lo/"
-extracted_archives=
-extracted_serial=0
+# Generated shell functions inserted here.
+
+# Work around backward compatibility issue on IRIX 6.5. On IRIX 6.4+, sh
+# is ksh but when the shell is invoked as "sh" and the current value of
+# the _XPG environment variable is not equal to 1 (one), the special
+# positional parameter $0, within a function call, is the name of the
+# function.
+progpath="$0"
+
+# The name of this program:
+# In the unlikely event $progname began with a '-', it would play havoc with
+# func_echo (imagine progname=-n), so we prepend ./ in that case:
+func_dirname_and_basename "$progpath"
+progname=$func_basename_result
+case $progname in
+ -*) progname=./$progname ;;
+esac
+
+# Make sure we have an absolute path for reexecution:
+case $progpath in
+ [\\/]*|[A-Za-z]:\\*) ;;
+ *[\\/]*)
+ progdir=$func_dirname_result
+ progdir=`cd "$progdir" && pwd`
+ progpath="$progdir/$progname"
+ ;;
+ *)
+ save_IFS="$IFS"
+ IFS=:
+ for progdir in $PATH; do
+ IFS="$save_IFS"
+ test -x "$progdir/$progname" && break
+ done
+ IFS="$save_IFS"
+ test -n "$progdir" || progdir=`pwd`
+ progpath="$progdir/$progname"
+ ;;
+esac
+
+# Sed substitution that helps us do robust quoting. It backslashifies
+# metacharacters that are still active within double-quoted strings.
+Xsed="${SED}"' -e 1s/^X//'
+sed_quote_subst='s/\([`"$\\]\)/\\\1/g'
+
+# Same as above, but do not quote variable references.
+double_quote_subst='s/\(["`\\]\)/\\\1/g'
+
+# Re-`\' parameter expansions in output of double_quote_subst that were
+# `\'-ed in input to the same. If an odd number of `\' preceded a '$'
+# in input to double_quote_subst, that '$' was protected from expansion.
+# Since each input `\' is now two `\'s, look for any number of runs of
+# four `\'s followed by two `\'s and then a '$'. `\' that '$'.
+bs='\\'
+bs2='\\\\'
+bs4='\\\\\\\\'
+dollar='\$'
+sed_double_backslash="\
+ s/$bs4/&\\
+/g
+ s/^$bs2$dollar/$bs&/
+ s/\\([^$bs]\\)$bs2$dollar/\\1$bs2$bs$dollar/g
+ s/\n//g"
+
+# Standard options:
+opt_dry_run=false
+opt_help=false
+opt_quiet=false
+opt_verbose=false
+opt_warning=:
+
+# func_echo arg...
+# Echo program name prefixed message, along with the current mode
+# name if it has been set yet.
+func_echo ()
+{
+ $ECHO "$progname${mode+: }$mode: $*"
+}
+
+# func_verbose arg...
+# Echo program name prefixed message in verbose mode only.
+func_verbose ()
+{
+ $opt_verbose && func_echo ${1+"$@"}
+
+ # A bug in bash halts the script if the last line of a function
+ # fails when set -e is in force, so we need another command to
+ # work around that:
+ :
+}
+
+# func_error arg...
+# Echo program name prefixed message to standard error.
+func_error ()
+{
+ $ECHO "$progname${mode+: }$mode: "${1+"$@"} 1>&2
+}
+
+# func_warning arg...
+# Echo program name prefixed warning message to standard error.
+func_warning ()
+{
+ $opt_warning && $ECHO "$progname${mode+: }$mode: warning: "${1+"$@"} 1>&2
+
+ # bash bug again:
+ :
+}
+
+# func_fatal_error arg...
+# Echo program name prefixed message to standard error, and exit.
+func_fatal_error ()
+{
+ func_error ${1+"$@"}
+ exit $EXIT_FAILURE
+}
+
+# func_fatal_help arg...
+# Echo program name prefixed message to standard error, followed by
+# a help hint, and exit.
+func_fatal_help ()
+{
+ func_error ${1+"$@"}
+ func_fatal_error "$help"
+}
+help="Try \`$progname --help' for more information." ## default
+
+
+# func_grep expression filename
+# Check whether EXPRESSION matches any line of FILENAME, without output.
+func_grep ()
+{
+ $GREP "$1" "$2" >/dev/null 2>&1
+}
+
+
+# func_mkdir_p directory-path
+# Make sure the entire path to DIRECTORY-PATH is available.
+func_mkdir_p ()
+{
+ my_directory_path="$1"
+ my_dir_list=
+
+ if test -n "$my_directory_path" && test "$opt_dry_run" != ":"; then
+
+ # Protect directory names starting with `-'
+ case $my_directory_path in
+ -*) my_directory_path="./$my_directory_path" ;;
+ esac
+
+ # While some portion of DIR does not yet exist...
+ while test ! -d "$my_directory_path"; do
+ # ...make a list in topmost first order. Use a colon delimited
+ # list incase some portion of path contains whitespace.
+ my_dir_list="$my_directory_path:$my_dir_list"
+
+ # If the last portion added has no slash in it, the list is done
+ case $my_directory_path in */*) ;; *) break ;; esac
+
+ # ...otherwise throw away the child directory and loop
+ my_directory_path=`$ECHO "X$my_directory_path" | $Xsed -e "$dirname"`
+ done
+ my_dir_list=`$ECHO "X$my_dir_list" | $Xsed -e 's,:*$,,'`
+
+ save_mkdir_p_IFS="$IFS"; IFS=':'
+ for my_dir in $my_dir_list; do
+ IFS="$save_mkdir_p_IFS"
+ # mkdir can fail with a `File exist' error if two processes
+ # try to create one of the directories concurrently. Don't
+ # stop in that case!
+ $MKDIR "$my_dir" 2>/dev/null || :
+ done
+ IFS="$save_mkdir_p_IFS"
+
+ # Bail out if we (or some other process) failed to create a directory.
+ test -d "$my_directory_path" || \
+ func_fatal_error "Failed to create \`$1'"
+ fi
+}
-#####################################
-# Shell function definitions:
-# This seems to be the best place for them
# func_mktempdir [string]
# Make a temporary directory that won't clash with other running
@@ -161,7 +355,7 @@ func_mktempdir ()
{
my_template="${TMPDIR-/tmp}/${1-$progname}"
- if test "$run" = ":"; then
+ if test "$opt_dry_run" = ":"; then
# Return a directory name, but don't create it in dry-run mode
my_tmpdir="${my_template}-$$"
else
@@ -170,486 +364,743 @@ func_mktempdir ()
my_tmpdir=`mktemp -d "${my_template}-XXXXXXXX" 2>/dev/null`
if test ! -d "$my_tmpdir"; then
- # Failing that, at least try and use $RANDOM to avoid a race
- my_tmpdir="${my_template}-${RANDOM-0}$$"
+ # Failing that, at least try and use $RANDOM to avoid a race
+ my_tmpdir="${my_template}-${RANDOM-0}$$"
- save_mktempdir_umask=`umask`
- umask 0077
- $mkdir "$my_tmpdir"
- umask $save_mktempdir_umask
+ save_mktempdir_umask=`umask`
+ umask 0077
+ $MKDIR "$my_tmpdir"
+ umask $save_mktempdir_umask
fi
# If we're not in dry-run mode, bomb out on failure
- test -d "$my_tmpdir" || {
- $echo "cannot create temporary directory \`$my_tmpdir'" 1>&2
- exit $EXIT_FAILURE
- }
+ test -d "$my_tmpdir" || \
+ func_fatal_error "cannot create temporary directory \`$my_tmpdir'"
fi
- $echo "X$my_tmpdir" | $Xsed
+ $ECHO "X$my_tmpdir" | $Xsed
}
-# func_win32_libid arg
-# return the library type of file 'arg'
-#
-# Need a lot of goo to handle *both* DLLs and import libs
-# Has to be a shell function in order to 'eat' the argument
-# that is supplied when $file_magic_command is called.
-func_win32_libid ()
+# func_quote_for_eval arg
+# Aesthetically quote ARG to be evaled later.
+# This function returns two values: FUNC_QUOTE_FOR_EVAL_RESULT
+# is double-quoted, suitable for a subsequent eval, whereas
+# FUNC_QUOTE_FOR_EVAL_UNQUOTED_RESULT has merely all characters
+# which are still active within double quotes backslashified.
+func_quote_for_eval ()
{
- win32_libid_type="unknown"
- win32_fileres=`file -L $1 2>/dev/null`
- case $win32_fileres in
- *ar\ archive\ import\ library*) # definitely import
- win32_libid_type="x86 archive import"
- ;;
- *ar\ archive*) # could be an import, or static
- if eval $OBJDUMP -f $1 | $SED -e '10q' 2>/dev/null | \
- $EGREP -e 'file format pe-i386(.*architecture: i386)?' >/dev/null ; then
- win32_nmres=`eval $NM -f posix -A $1 | \
- $SED -n -e '1,100{
- / I /{
- s,.*,import,
- p
- q
- }
- }'`
- case $win32_nmres in
- import*) win32_libid_type="x86 archive import";;
- *) win32_libid_type="x86 archive static";;
- esac
- fi
- ;;
- *DLL*)
- win32_libid_type="x86 DLL"
- ;;
- *executable*) # but shell scripts are "executable" too...
- case $win32_fileres in
- *MS\ Windows\ PE\ Intel*)
- win32_libid_type="x86 DLL"
- ;;
+ case $1 in
+ *[\\\`\"\$]*)
+ func_quote_for_eval_unquoted_result=`$ECHO "X$1" | $Xsed -e "$sed_quote_subst"` ;;
+ *)
+ func_quote_for_eval_unquoted_result="$1" ;;
+ esac
+
+ case $func_quote_for_eval_unquoted_result in
+ # Double-quote args containing shell metacharacters to delay
+ # word splitting, command substitution and and variable
+ # expansion for a subsequent eval.
+ # Many Bourne shells cannot handle close brackets correctly
+ # in scan sets, so we specify it separately.
+ *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
+ func_quote_for_eval_result="\"$func_quote_for_eval_unquoted_result\""
+ ;;
+ *)
+ func_quote_for_eval_result="$func_quote_for_eval_unquoted_result"
esac
- ;;
- esac
- $echo $win32_libid_type
}
-# func_infer_tag arg
-# Infer tagged configuration to use if any are available and
-# if one wasn't chosen via the "--tag" command line option.
-# Only attempt this if the compiler in the base compile
-# command doesn't match the default compiler.
-# arg is usually of the form 'gcc ...'
-func_infer_tag ()
+# func_quote_for_expand arg
+# Aesthetically quote ARG to be evaled later; same as above,
+# but do not quote variable references.
+func_quote_for_expand ()
{
- if test -n "$available_tags" && test -z "$tagname"; then
- CC_quoted=
- for arg in $CC; do
- case $arg in
- *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
- arg="\"$arg\""
- ;;
- esac
- CC_quoted="$CC_quoted $arg"
- done
- case $@ in
- # Blanks in the command may have been stripped by the calling shell,
- # but not from the CC environment variable when configure was run.
- " $CC "* | "$CC "* | " `$echo $CC` "* | "`$echo $CC` "* | " $CC_quoted"* | "$CC_quoted "* | " `$echo $CC_quoted` "* | "`$echo $CC_quoted` "*) ;;
- # Blanks at the start of $base_compile will cause this to fail
- # if we don't check for them as well.
+ case $1 in
+ *[\\\`\"]*)
+ my_arg=`$ECHO "X$1" | $Xsed \
+ -e "$double_quote_subst" -e "$sed_double_backslash"` ;;
*)
- for z in $available_tags; do
- if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $z$" < "$progpath" > /dev/null; then
- # Evaluate the configuration.
- eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$z'$/,/^# ### END LIBTOOL TAG CONFIG: '$z'$/p' < $progpath`"
- CC_quoted=
- for arg in $CC; do
- # Double-quote args containing other shell metacharacters.
- case $arg in
- *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
- arg="\"$arg\""
- ;;
- esac
- CC_quoted="$CC_quoted $arg"
- done
- case "$@ " in
- " $CC "* | "$CC "* | " `$echo $CC` "* | "`$echo $CC` "* | " $CC_quoted"* | "$CC_quoted "* | " `$echo $CC_quoted` "* | "`$echo $CC_quoted` "*)
- # The compiler in the base compile command matches
- # the one in the tagged configuration.
- # Assume this is the tagged configuration we want.
- tagname=$z
- break
- ;;
- esac
- fi
- done
- # If $tagname still isn't set, then no tagged configuration
- # was found and let the user know that the "--tag" command
- # line option must be used.
- if test -z "$tagname"; then
- $echo "$modename: unable to infer tagged configuration"
- $echo "$modename: specify a tag with \`--tag'" 1>&2
- exit $EXIT_FAILURE
-# else
-# $echo "$modename: using $tagname tagged configuration"
- fi
- ;;
- esac
- fi
+ my_arg="$1" ;;
+ esac
+
+ case $my_arg in
+ # Double-quote args containing shell metacharacters to delay
+ # word splitting and command substitution for a subsequent eval.
+ # Many Bourne shells cannot handle close brackets correctly
+ # in scan sets, so we specify it separately.
+ *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
+ my_arg="\"$my_arg\""
+ ;;
+ esac
+
+ func_quote_for_expand_result="$my_arg"
}
-# func_extract_an_archive dir oldlib
-func_extract_an_archive ()
+# func_show_eval cmd [fail_exp]
+# Unless opt_silent is true, then output CMD. Then, if opt_dryrun is
+# not true, evaluate CMD. If the evaluation of CMD fails, and FAIL_EXP
+# is given, then evaluate it.
+func_show_eval ()
{
- f_ex_an_ar_dir="$1"; shift
- f_ex_an_ar_oldlib="$1"
+ my_cmd="$1"
+ my_fail_exp="${2-:}"
- $show "(cd $f_ex_an_ar_dir && $AR x $f_ex_an_ar_oldlib)"
- $run eval "(cd \$f_ex_an_ar_dir && $AR x \$f_ex_an_ar_oldlib)" || exit $?
- if ($AR t "$f_ex_an_ar_oldlib" | sort | sort -uc >/dev/null 2>&1); then
- :
- else
- $echo "$modename: ERROR: object name conflicts: $f_ex_an_ar_dir/$f_ex_an_ar_oldlib" 1>&2
- exit $EXIT_FAILURE
+ ${opt_silent-false} || {
+ func_quote_for_expand "$my_cmd"
+ eval "func_echo $func_quote_for_expand_result"
+ }
+
+ if ${opt_dry_run-false}; then :; else
+ eval "$my_cmd"
+ my_status=$?
+ if test "$my_status" -eq 0; then :; else
+ eval "(exit $my_status); $my_fail_exp"
+ fi
fi
}
-# func_extract_archives gentop oldlib ...
-func_extract_archives ()
+
+# func_show_eval_locale cmd [fail_exp]
+# Unless opt_silent is true, then output CMD. Then, if opt_dryrun is
+# not true, evaluate CMD. If the evaluation of CMD fails, and FAIL_EXP
+# is given, then evaluate it. Use the saved locale for evaluation.
+func_show_eval_locale ()
{
- my_gentop="$1"; shift
- my_oldlibs=${1+"$@"}
- my_oldobjs=""
- my_xlib=""
- my_xabs=""
- my_xdir=""
- my_status=""
-
- $show "${rm}r $my_gentop"
- $run ${rm}r "$my_gentop"
- $show "$mkdir $my_gentop"
- $run $mkdir "$my_gentop"
- my_status=$?
- if test "$my_status" -ne 0 && test ! -d "$my_gentop"; then
- exit $my_status
- fi
+ my_cmd="$1"
+ my_fail_exp="${2-:}"
- for my_xlib in $my_oldlibs; do
- # Extract the objects.
- case $my_xlib in
- [\\/]* | [A-Za-z]:[\\/]*) my_xabs="$my_xlib" ;;
- *) my_xabs=`pwd`"/$my_xlib" ;;
- esac
- my_xlib=`$echo "X$my_xlib" | $Xsed -e 's%^.*/%%'`
- my_xlib_u=$my_xlib
- while :; do
- case " $extracted_archives " in
- *" $my_xlib_u "*)
- extracted_serial=`expr $extracted_serial + 1`
- my_xlib_u=lt$extracted_serial-$my_xlib ;;
- *) break ;;
- esac
- done
- extracted_archives="$extracted_archives $my_xlib_u"
- my_xdir="$my_gentop/$my_xlib_u"
+ ${opt_silent-false} || {
+ func_quote_for_expand "$my_cmd"
+ eval "func_echo $func_quote_for_expand_result"
+ }
- $show "${rm}r $my_xdir"
- $run ${rm}r "$my_xdir"
- $show "$mkdir $my_xdir"
- $run $mkdir "$my_xdir"
- exit_status=$?
- if test "$exit_status" -ne 0 && test ! -d "$my_xdir"; then
- exit $exit_status
+ if ${opt_dry_run-false}; then :; else
+ eval "$lt_user_locale
+ $my_cmd"
+ my_status=$?
+ eval "$lt_safe_locale"
+ if test "$my_status" -eq 0; then :; else
+ eval "(exit $my_status); $my_fail_exp"
fi
- case $host in
- *-darwin*)
- $show "Extracting $my_xabs"
- # Do not bother doing anything if just a dry run
- if test -z "$run"; then
- darwin_orig_dir=`pwd`
- cd $my_xdir || exit $?
- darwin_archive=$my_xabs
- darwin_curdir=`pwd`
- darwin_base_archive=`$echo "X$darwin_archive" | $Xsed -e 's%^.*/%%'`
- darwin_arches=`lipo -info "$darwin_archive" 2>/dev/null | $EGREP Architectures 2>/dev/null`
- if test -n "$darwin_arches"; then
- darwin_arches=`echo "$darwin_arches" | $SED -e 's/.*are://'`
- darwin_arch=
- $show "$darwin_base_archive has multiple architectures $darwin_arches"
- for darwin_arch in $darwin_arches ; do
- mkdir -p "unfat-$$/${darwin_base_archive}-${darwin_arch}"
- lipo -thin $darwin_arch -output "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}" "${darwin_archive}"
- cd "unfat-$$/${darwin_base_archive}-${darwin_arch}"
- func_extract_an_archive "`pwd`" "${darwin_base_archive}"
- cd "$darwin_curdir"
- $rm "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}"
- done # $darwin_arches
- ## Okay now we have a bunch of thin objects, gotta fatten them up :)
- darwin_filelist=`find unfat-$$ -type f -name \*.o -print -o -name \*.lo -print| xargs basename | sort -u | $NL2SP`
- darwin_file=
- darwin_files=
- for darwin_file in $darwin_filelist; do
- darwin_files=`find unfat-$$ -name $darwin_file -print | $NL2SP`
- lipo -create -output "$darwin_file" $darwin_files
- done # $darwin_filelist
- ${rm}r unfat-$$
- cd "$darwin_orig_dir"
- else
- cd "$darwin_orig_dir"
- func_extract_an_archive "$my_xdir" "$my_xabs"
- fi # $darwin_arches
- fi # $run
- ;;
- *)
- func_extract_an_archive "$my_xdir" "$my_xabs"
- ;;
- esac
- my_oldobjs="$my_oldobjs "`find $my_xdir -name \*.$objext -print -o -name \*.lo -print | $NL2SP`
- done
- func_extract_archives_result="$my_oldobjs"
+ fi
}
-# End of Shell function definitions
-#####################################
-# Darwin sucks
-eval std_shrext=\"$shrext_cmds\"
-disable_libs=no
-# Parse our command line options once, thoroughly.
-while test "$#" -gt 0
-do
- arg="$1"
+
+
+# func_version
+# Echo version message to standard output and exit.
+func_version ()
+{
+ $SED -n '/^# '$PROGRAM' (GNU /,/# warranty; / {
+ s/^# //
+ s/^# *$//
+ s/\((C)\)[ 0-9,-]*\( [1-9][0-9]*\)/\1\2/
+ p
+ }' < "$progpath"
+ exit $?
+}
+
+# func_usage
+# Echo short help message to standard output and exit.
+func_usage ()
+{
+ $SED -n '/^# Usage:/,/# -h/ {
+ s/^# //
+ s/^# *$//
+ s/\$progname/'$progname'/
+ p
+ }' < "$progpath"
+ $ECHO
+ $ECHO "run \`$progname --help | more' for full usage"
+ exit $?
+}
+
+# func_help
+# Echo long help message to standard output and exit.
+func_help ()
+{
+ $SED -n '/^# Usage:/,/# Report bugs to/ {
+ s/^# //
+ s/^# *$//
+ s*\$progname*'$progname'*
+ s*\$host*'"$host"'*
+ s*\$SHELL*'"$SHELL"'*
+ s*\$LTCC*'"$LTCC"'*
+ s*\$LTCFLAGS*'"$LTCFLAGS"'*
+ s*\$LD*'"$LD"'*
+ s/\$with_gnu_ld/'"$with_gnu_ld"'/
+ s/\$automake_version/'"`(automake --version) 2>/dev/null |$SED 1q`"'/
+ s/\$autoconf_version/'"`(autoconf --version) 2>/dev/null |$SED 1q`"'/
+ p
+ }' < "$progpath"
+ exit $?
+}
+
+# func_missing_arg argname
+# Echo program name prefixed message to standard error and set global
+# exit_cmd.
+func_missing_arg ()
+{
+ func_error "missing argument for $1"
+ exit_cmd=exit
+}
+
+exit_cmd=:
+
+
+
+
+
+# Check that we have a working $ECHO.
+if test "X$1" = X--no-reexec; then
+ # Discard the --no-reexec flag, and continue.
shift
+elif test "X$1" = X--fallback-echo; then
+ # Avoid inline document here, it may be left over
+ :
+elif test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t'; then
+ # Yippee, $ECHO works!
+ :
+else
+ # Restart under the correct shell, and then maybe $ECHO will work.
+ exec $SHELL "$progpath" --no-reexec ${1+"$@"}
+fi
- case $arg in
- -*=*) optarg=`$echo "X$arg" | $Xsed -e 's/[-_a-zA-Z0-9]*=//'` ;;
- *) optarg= ;;
- esac
+if test "X$1" = X--fallback-echo; then
+ # used as fallback echo
+ shift
+ cat <<EOF
+$*
+EOF
+ exit $EXIT_SUCCESS
+fi
- # If the previous option needs an argument, assign it.
- if test -n "$prev"; then
- case $prev in
- execute_dlfiles)
- execute_dlfiles="$execute_dlfiles $arg"
- ;;
- tag)
- tagname="$arg"
- preserve_args="${preserve_args}=$arg"
-
- # Check whether tagname contains only valid characters
- case $tagname in
- *[!-_A-Za-z0-9,/]*)
- $echo "$progname: invalid tag name: $tagname" 1>&2
- exit $EXIT_FAILURE
- ;;
- esac
+magic="%%%MAGIC variable%%%"
+magic_exe="%%%MAGIC EXE variable%%%"
- case $tagname in
- CC)
- # Don't test for the "default" C tag, as we know, it's there, but
- # not specially marked.
- ;;
- *)
- if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$" < "$progpath" > /dev/null; then
- taglist="$taglist $tagname"
- # Evaluate the configuration.
- eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$tagname'$/,/^# ### END LIBTOOL TAG CONFIG: '$tagname'$/p' < $progpath`"
- else
- $echo "$progname: ignoring unknown tag $tagname" 1>&2
- fi
- ;;
- esac
- ;;
- *)
- eval "$prev=\$arg"
- ;;
- esac
+# Global variables.
+# $mode is unset
+nonopt=
+execute_dlfiles=
+preserve_args=
+lo2o="s/\\.lo\$/.${objext}/"
+o2lo="s/\\.${objext}\$/.lo/"
+extracted_archives=
+extracted_serial=0
- prev=
- prevopt=
- continue
- fi
+opt_dry_run=false
+opt_duplicate_deps=false
+opt_silent=false
+opt_debug=:
- # Have we seen a non-optional argument yet?
- case $arg in
- --help)
- show_help=yes
- ;;
+# If this variable is set in any of the actions, the command in it
+# will be execed at the end. This prevents here-documents from being
+# left over by shells.
+exec_cmd=
+
+# func_fatal_configuration arg...
+# Echo program name prefixed message to standard error, followed by
+# a configuration failure hint, and exit.
+func_fatal_configuration ()
+{
+ func_error ${1+"$@"}
+ func_error "See the $PACKAGE documentation for more information."
+ func_fatal_error "Fatal configuration error."
+}
- --version)
- echo "\
-$PROGRAM (GNU $PACKAGE) $VERSION$TIMESTAMP
-Copyright (C) 2007 Free Software Foundation, Inc.
-This is free software; see the source for copying conditions. There is NO
-warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
- exit $?
- ;;
+# func_config
+# Display the configuration for all the tags in this script.
+func_config ()
+{
+ re_begincf='^# ### BEGIN LIBTOOL'
+ re_endcf='^# ### END LIBTOOL'
+
+ # Default configuration.
+ $SED "1,/$re_begincf CONFIG/d;/$re_endcf CONFIG/,\$d" < "$progpath"
- --config)
- ${SED} -e '1,/^# ### BEGIN LIBTOOL CONFIG/d' -e '/^# ### END LIBTOOL CONFIG/,$d' $progpath
# Now print the configurations for the tags.
for tagname in $taglist; do
- ${SED} -n -e "/^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$/,/^# ### END LIBTOOL TAG CONFIG: $tagname$/p" < "$progpath"
+ $SED -n "/$re_begincf TAG CONFIG: $tagname\$/,/$re_endcf TAG CONFIG: $tagname\$/p" < "$progpath"
done
- exit $?
- ;;
-
- --debug)
- $echo "$progname: enabling shell trace mode"
- set -x
- preserve_args="$preserve_args $arg"
- ;;
- --dry-run | -n)
- run=:
- ;;
+ exit $?
+}
- --features)
- $echo "host: $host"
+# func_features
+# Display the features supported by this script.
+func_features ()
+{
+ $ECHO "host: $host"
if test "$build_libtool_libs" = yes; then
- $echo "enable shared libraries"
+ $ECHO "enable shared libraries"
else
- $echo "disable shared libraries"
+ $ECHO "disable shared libraries"
fi
if test "$build_old_libs" = yes; then
- $echo "enable static libraries"
+ $ECHO "enable static libraries"
else
- $echo "disable static libraries"
+ $ECHO "disable static libraries"
fi
+
exit $?
- ;;
+}
- --finish) mode="finish" ;;
+# func_enable_tag tagname
+# Verify that TAGNAME is valid, and either flag an error and exit, or
+# enable the TAGNAME tag. We also add TAGNAME to the global $taglist
+# variable here.
+func_enable_tag ()
+{
+ # Global variable:
+ tagname="$1"
- --mode) prevopt="--mode" prev=mode ;;
- --mode=*) mode="$optarg" ;;
+ re_begincf="^# ### BEGIN LIBTOOL TAG CONFIG: $tagname\$"
+ re_endcf="^# ### END LIBTOOL TAG CONFIG: $tagname\$"
+ sed_extractcf="/$re_begincf/,/$re_endcf/p"
- --preserve-dup-deps) duplicate_deps="yes" ;;
+ # Validate tagname.
+ case $tagname in
+ *[!-_A-Za-z0-9,/]*)
+ func_fatal_error "invalid tag name: $tagname"
+ ;;
+ esac
- --quiet | --silent)
- show=:
- preserve_args="$preserve_args $arg"
- ;;
+ # Don't test for the "default" C tag, as we know it's
+ # there but not specially marked.
+ case $tagname in
+ CC) ;;
+ *)
+ if $GREP "$re_begincf" "$progpath" >/dev/null 2>&1; then
+ taglist="$taglist $tagname"
+
+ # Evaluate the configuration. Be careful to quote the path
+ # and the sed script, to avoid splitting on whitespace, but
+ # also don't use non-portable quotes within backquotes within
+ # quotes we have to do it in 2 steps:
+ extractedcf=`$SED -n -e "$sed_extractcf" < "$progpath"`
+ eval "$extractedcf"
+ else
+ func_error "ignoring unknown tag $tagname"
+ fi
+ ;;
+ esac
+}
+
+# Parse options once, thoroughly. This comes as soon as possible in
+# the script to make things like `libtool --version' happen quickly.
+{
- --tag)
- prevopt="--tag"
- prev=tag
- preserve_args="$preserve_args --tag"
+ # Shorthand for --mode=foo, only valid as the first argument
+ case $1 in
+ clean|clea|cle|cl)
+ shift; set dummy --mode clean ${1+"$@"}; shift
;;
- --tag=*)
- set tag "$optarg" ${1+"$@"}
- shift
- prev=tag
- preserve_args="$preserve_args --tag"
+ compile|compil|compi|comp|com|co|c)
+ shift; set dummy --mode compile ${1+"$@"}; shift
;;
-
- -dlopen)
- prevopt="-dlopen"
- prev=execute_dlfiles
+ execute|execut|execu|exec|exe|ex|e)
+ shift; set dummy --mode execute ${1+"$@"}; shift
;;
-
- -*)
- $echo "$modename: unrecognized option \`$arg'" 1>&2
- $echo "$help" 1>&2
- exit $EXIT_FAILURE
+ finish|finis|fini|fin|fi|f)
+ shift; set dummy --mode finish ${1+"$@"}; shift
;;
-
- *)
- nonopt="$arg"
- break
+ install|instal|insta|inst|ins|in|i)
+ shift; set dummy --mode install ${1+"$@"}; shift
+ ;;
+ link|lin|li|l)
+ shift; set dummy --mode link ${1+"$@"}; shift
+ ;;
+ uninstall|uninstal|uninsta|uninst|unins|unin|uni|un|u)
+ shift; set dummy --mode uninstall ${1+"$@"}; shift
;;
esac
-done
-if test -n "$prevopt"; then
- $echo "$modename: option \`$prevopt' requires an argument" 1>&2
- $echo "$help" 1>&2
- exit $EXIT_FAILURE
-fi
+ # Parse non-mode specific arguments:
+ while test "$#" -gt 0; do
+ opt="$1"
+ shift
-case $disable_libs in
-no)
- ;;
-shared)
- build_libtool_libs=no
- build_old_libs=yes
- ;;
-static)
- build_old_libs=`case $build_libtool_libs in yes) echo no;; *) echo yes;; esac`
- ;;
-esac
+ case $opt in
+ --config) func_config ;;
-# If this variable is set in any of the actions, the command in it
-# will be execed at the end. This prevents here-documents from being
-# left over by shells.
-exec_cmd=
+ --debug) preserve_args="$preserve_args $opt"
+ func_echo "enabling shell trace mode"
+ opt_debug='set -x'
+ $opt_debug
+ ;;
-if test -z "$show_help"; then
+ -dlopen) test "$#" -eq 0 && func_missing_arg "$opt" && break
+ execute_dlfiles="$execute_dlfiles $1"
+ shift
+ ;;
- # Infer the operation mode.
- if test -z "$mode"; then
- $echo "*** Warning: inferring the mode of operation is deprecated." 1>&2
- $echo "*** Future versions of Libtool will require --mode=MODE be specified." 1>&2
- case $nonopt in
- *cc | cc* | *++ | gcc* | *-gcc* | g++* | xlc*)
- mode=link
- for arg
- do
- case $arg in
- -c)
- mode=compile
- break
- ;;
- esac
- done
- ;;
- *db | *dbx | *strace | *truss)
- mode=execute
- ;;
- *install*|cp|mv)
- mode=install
- ;;
- *rm)
- mode=uninstall
+ --dry-run | -n) opt_dry_run=: ;;
+ --features) func_features ;;
+ --finish) mode="finish" ;;
+
+ --mode) test "$#" -eq 0 && func_missing_arg "$opt" && break
+ case $1 in
+ # Valid mode arguments:
+ clean) ;;
+ compile) ;;
+ execute) ;;
+ finish) ;;
+ install) ;;
+ link) ;;
+ relink) ;;
+ uninstall) ;;
+
+ # Catch anything else as an error
+ *) func_error "invalid argument for $opt"
+ exit_cmd=exit
+ break
+ ;;
+ esac
+
+ mode="$1"
+ shift
+ ;;
+
+ --preserve-dup-deps)
+ opt_duplicate_deps=: ;;
+
+ --quiet|--silent) preserve_args="$preserve_args $opt"
+ opt_silent=:
+ ;;
+
+ --verbose| -v) preserve_args="$preserve_args $opt"
+ opt_silent=false
+ ;;
+
+ --tag) test "$#" -eq 0 && func_missing_arg "$opt" && break
+ preserve_args="$preserve_args $opt $1"
+ func_enable_tag "$1" # tagname is set here
+ shift
+ ;;
+
+ # Separate optargs to long options:
+ -dlopen=*|--mode=*|--tag=*)
+ func_opt_split "$opt"
+ set dummy "$func_opt_split_opt" "$func_opt_split_arg" ${1+"$@"}
+ shift
+ ;;
+
+ -\?|-h) func_usage ;;
+ --help) opt_help=: ;;
+ --version) func_version ;;
+
+ -*) func_fatal_help "unrecognized option \`$opt'" ;;
+
+ *) nonopt="$opt"
+ break
+ ;;
+ esac
+ done
+
+
+ case $host in
+ *cygwin* | *mingw* | *pw32* | *cegcc*)
+ # don't eliminate duplications in $postdeps and $predeps
+ opt_duplicate_compiler_generated_deps=:
;;
*)
- # If we have no mode, but dlfiles were specified, then do execute mode.
- test -n "$execute_dlfiles" && mode=execute
+ opt_duplicate_compiler_generated_deps=$opt_duplicate_deps
+ ;;
+ esac
- # Just use the default operation mode.
- if test -z "$mode"; then
- if test -n "$nonopt"; then
- $echo "$modename: warning: cannot infer operation mode from \`$nonopt'" 1>&2
- else
- $echo "$modename: warning: cannot infer operation mode without MODE-ARGS" 1>&2
- fi
+ # Having warned about all mis-specified options, bail out if
+ # anything was wrong.
+ $exit_cmd $EXIT_FAILURE
+}
+
+# func_check_version_match
+# Ensure that we are using m4 macros, and libtool script from the same
+# release of libtool.
+func_check_version_match ()
+{
+ if test "$package_revision" != "$macro_revision"; then
+ if test "$VERSION" != "$macro_version"; then
+ if test -z "$macro_version"; then
+ cat >&2 <<_LT_EOF
+$progname: Version mismatch error. This is $PACKAGE $VERSION, but the
+$progname: definition of this LT_INIT comes from an older release.
+$progname: You should recreate aclocal.m4 with macros from $PACKAGE $VERSION
+$progname: and run autoconf again.
+_LT_EOF
+ else
+ cat >&2 <<_LT_EOF
+$progname: Version mismatch error. This is $PACKAGE $VERSION, but the
+$progname: definition of this LT_INIT comes from $PACKAGE $macro_version.
+$progname: You should recreate aclocal.m4 with macros from $PACKAGE $VERSION
+$progname: and run autoconf again.
+_LT_EOF
fi
- ;;
- esac
+ else
+ cat >&2 <<_LT_EOF
+$progname: Version mismatch error. This is $PACKAGE $VERSION, revision $package_revision,
+$progname: but the definition of this LT_INIT comes from revision $macro_revision.
+$progname: You should recreate aclocal.m4 with macros from revision $package_revision
+$progname: of $PACKAGE $VERSION and run autoconf again.
+_LT_EOF
+ fi
+
+ exit $EXIT_MISMATCH
fi
+}
+
+
+## ----------- ##
+## Main. ##
+## ----------- ##
+
+$opt_help || {
+ # Sanity checks first:
+ func_check_version_match
+
+ if test "$build_libtool_libs" != yes && test "$build_old_libs" != yes; then
+ func_fatal_configuration "not configured to build any kind of library"
+ fi
+
+ test -z "$mode" && func_fatal_error "error: you must specify a MODE."
+
+
+ # Darwin sucks
+ eval std_shrext=\"$shrext_cmds\"
+
# Only execute mode is allowed to have -dlopen flags.
if test -n "$execute_dlfiles" && test "$mode" != execute; then
- $echo "$modename: unrecognized option \`-dlopen'" 1>&2
- $echo "$help" 1>&2
+ func_error "unrecognized option \`-dlopen'"
+ $ECHO "$help" 1>&2
exit $EXIT_FAILURE
fi
# Change the help message to a mode-specific one.
generic_help="$help"
- help="Try \`$modename --help --mode=$mode' for more information."
+ help="Try \`$progname --help --mode=$mode' for more information."
+}
+
+
+# func_lalib_p file
+# True iff FILE is a libtool `.la' library or `.lo' object file.
+# This function is only a basic sanity check; it will hardly flush out
+# determined imposters.
+func_lalib_p ()
+{
+ test -f "$1" &&
+ $SED -e 4q "$1" 2>/dev/null \
+ | $GREP "^# Generated by .*$PACKAGE" > /dev/null 2>&1
+}
+
+# func_lalib_unsafe_p file
+# True iff FILE is a libtool `.la' library or `.lo' object file.
+# This function implements the same check as func_lalib_p without
+# resorting to external programs. To this end, it redirects stdin and
+# closes it afterwards, without saving the original file descriptor.
+# As a safety measure, use it only where a negative result would be
+# fatal anyway. Works if `file' does not exist.
+func_lalib_unsafe_p ()
+{
+ lalib_p=no
+ if test -f "$1" && test -r "$1" && exec 5<&0 <"$1"; then
+ for lalib_p_l in 1 2 3 4
+ do
+ read lalib_p_line
+ case "$lalib_p_line" in
+ \#\ Generated\ by\ *$PACKAGE* ) lalib_p=yes; break;;
+ esac
+ done
+ exec 0<&5 5<&-
+ fi
+ test "$lalib_p" = yes
+}
+
+# func_ltwrapper_script_p file
+# True iff FILE is a libtool wrapper script
+# This function is only a basic sanity check; it will hardly flush out
+# determined imposters.
+func_ltwrapper_script_p ()
+{
+ func_lalib_p "$1"
+}
+
+# func_ltwrapper_executable_p file
+# True iff FILE is a libtool wrapper executable
+# This function is only a basic sanity check; it will hardly flush out
+# determined imposters.
+func_ltwrapper_executable_p ()
+{
+ func_ltwrapper_exec_suffix=
+ case $1 in
+ *.exe) ;;
+ *) func_ltwrapper_exec_suffix=.exe ;;
+ esac
+ $GREP "$magic_exe" "$1$func_ltwrapper_exec_suffix" >/dev/null 2>&1
+}
+
+# func_ltwrapper_scriptname file
+# Assumes file is an ltwrapper_executable
+# uses $file to determine the appropriate filename for a
+# temporary ltwrapper_script.
+func_ltwrapper_scriptname ()
+{
+ func_ltwrapper_scriptname_result=""
+ if func_ltwrapper_executable_p "$1"; then
+ func_dirname_and_basename "$1" "" "."
+ func_stripname '' '.exe' "$func_basename_result"
+ func_ltwrapper_scriptname_result="$func_dirname_result/$objdir/${func_stripname_result}_ltshwrapper"
+ fi
+}
+
+# func_ltwrapper_p file
+# True iff FILE is a libtool wrapper script or wrapper executable
+# This function is only a basic sanity check; it will hardly flush out
+# determined imposters.
+func_ltwrapper_p ()
+{
+ func_ltwrapper_script_p "$1" || func_ltwrapper_executable_p "$1"
+}
+
+
+# func_execute_cmds commands fail_cmd
+# Execute tilde-delimited COMMANDS.
+# If FAIL_CMD is given, eval that upon failure.
+# FAIL_CMD may read-access the current command in variable CMD!
+func_execute_cmds ()
+{
+ $opt_debug
+ save_ifs=$IFS; IFS='~'
+ for cmd in $1; do
+ IFS=$save_ifs
+ eval cmd=\"$cmd\"
+ func_show_eval "$cmd" "${2-:}"
+ done
+ IFS=$save_ifs
+}
+
- # These modes are in order of execution frequency so that they run quickly.
- case $mode in
- # libtool compile mode
- compile)
- modename="$modename: compile"
+# func_source file
+# Source FILE, adding directory component if necessary.
+# Note that it is not necessary on cygwin/mingw to append a dot to
+# FILE even if both FILE and FILE.exe exist: automatic-append-.exe
+# behavior happens only for exec(3), not for open(2)! Also, sourcing
+# `FILE.' does not work on cygwin managed mounts.
+func_source ()
+{
+ $opt_debug
+ case $1 in
+ */* | *\\*) . "$1" ;;
+ *) . "./$1" ;;
+ esac
+}
+
+
+# func_infer_tag arg
+# Infer tagged configuration to use if any are available and
+# if one wasn't chosen via the "--tag" command line option.
+# Only attempt this if the compiler in the base compile
+# command doesn't match the default compiler.
+# arg is usually of the form 'gcc ...'
+func_infer_tag ()
+{
+ $opt_debug
+ if test -n "$available_tags" && test -z "$tagname"; then
+ CC_quoted=
+ for arg in $CC; do
+ func_quote_for_eval "$arg"
+ CC_quoted="$CC_quoted $func_quote_for_eval_result"
+ done
+ case $@ in
+ # Blanks in the command may have been stripped by the calling shell,
+ # but not from the CC environment variable when configure was run.
+ " $CC "* | "$CC "* | " `$ECHO $CC` "* | "`$ECHO $CC` "* | " $CC_quoted"* | "$CC_quoted "* | " `$ECHO $CC_quoted` "* | "`$ECHO $CC_quoted` "*) ;;
+ # Blanks at the start of $base_compile will cause this to fail
+ # if we don't check for them as well.
+ *)
+ for z in $available_tags; do
+ if $GREP "^# ### BEGIN LIBTOOL TAG CONFIG: $z$" < "$progpath" > /dev/null; then
+ # Evaluate the configuration.
+ eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$z'$/,/^# ### END LIBTOOL TAG CONFIG: '$z'$/p' < $progpath`"
+ CC_quoted=
+ for arg in $CC; do
+ # Double-quote args containing other shell metacharacters.
+ func_quote_for_eval "$arg"
+ CC_quoted="$CC_quoted $func_quote_for_eval_result"
+ done
+ case "$@ " in
+ " $CC "* | "$CC "* | " `$ECHO $CC` "* | "`$ECHO $CC` "* | " $CC_quoted"* | "$CC_quoted "* | " `$ECHO $CC_quoted` "* | "`$ECHO $CC_quoted` "*)
+ # The compiler in the base compile command matches
+ # the one in the tagged configuration.
+ # Assume this is the tagged configuration we want.
+ tagname=$z
+ break
+ ;;
+ esac
+ fi
+ done
+ # If $tagname still isn't set, then no tagged configuration
+ # was found and let the user know that the "--tag" command
+ # line option must be used.
+ if test -z "$tagname"; then
+ func_echo "unable to infer tagged configuration"
+ func_fatal_error "specify a tag with \`--tag'"
+# else
+# func_verbose "using $tagname tagged configuration"
+ fi
+ ;;
+ esac
+ fi
+}
+
+
+
+# func_write_libtool_object output_name pic_name nonpic_name
+# Create a libtool object file (analogous to a ".la" file),
+# but don't create it if we're doing a dry run.
+func_write_libtool_object ()
+{
+ write_libobj=${1}
+ if test "$build_libtool_libs" = yes; then
+ write_lobj=\'${2}\'
+ else
+ write_lobj=none
+ fi
+
+ if test "$build_old_libs" = yes; then
+ write_oldobj=\'${3}\'
+ else
+ write_oldobj=none
+ fi
+
+ $opt_dry_run || {
+ cat >${write_libobj}T <<EOF
+# $write_libobj - a libtool object file
+# Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# Name of the PIC object.
+pic_object=$write_lobj
+
+# Name of the non-PIC object
+non_pic_object=$write_oldobj
+
+EOF
+ $MV "${write_libobj}T" "${write_libobj}"
+ }
+}
+
+# func_mode_compile arg...
+func_mode_compile ()
+{
+ $opt_debug
# Get the compilation command and the source file.
base_compile=
srcfile="$nonopt" # always keep a non-empty value in "srcfile"
@@ -658,6 +1109,7 @@ if test -z "$show_help"; then
arg_mode=normal
libobj=
later=
+ pie_flag=
for arg
do
@@ -678,15 +1130,18 @@ if test -z "$show_help"; then
# Accept any command-line options.
case $arg in
-o)
- if test -n "$libobj" ; then
- $echo "$modename: you cannot specify \`-o' more than once" 1>&2
- exit $EXIT_FAILURE
- fi
+ test -n "$libobj" && \
+ func_fatal_error "you cannot specify \`-o' more than once"
arg_mode=target
continue
;;
- -static | -prefer-pic | -prefer-non-pic)
+ -pie | -fpie | -fPIE)
+ pie_flag="$pie_flag $arg"
+ continue
+ ;;
+
+ -shared | -static | -prefer-pic | -prefer-non-pic)
later="$later $arg"
continue
;;
@@ -702,31 +1157,25 @@ if test -z "$show_help"; then
;; # replaced later. I would guess that would be a bug.
-Wc,*)
- args=`$echo "X$arg" | $Xsed -e "s/^-Wc,//"`
+ func_stripname '-Wc,' '' "$arg"
+ args=$func_stripname_result
lastarg=
save_ifs="$IFS"; IFS=','
- for arg in $args; do
+ for arg in $args; do
IFS="$save_ifs"
-
- # Double-quote args containing other shell metacharacters.
- # Many Bourne shells cannot handle close brackets correctly
- # in scan sets, so we specify it separately.
- case $arg in
- *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
- arg="\"$arg\""
- ;;
- esac
- lastarg="$lastarg $arg"
+ func_quote_for_eval "$arg"
+ lastarg="$lastarg $func_quote_for_eval_result"
done
IFS="$save_ifs"
- lastarg=`$echo "X$lastarg" | $Xsed -e "s/^ //"`
+ func_stripname ' ' '' "$lastarg"
+ lastarg=$func_stripname_result
# Add the arguments to base_compile.
base_compile="$base_compile $lastarg"
continue
;;
- * )
+ *)
# Accept the current argument as the source file.
# The previous "srcfile" becomes the current argument.
#
@@ -738,65 +1187,42 @@ if test -z "$show_help"; then
esac # case $arg_mode
# Aesthetically quote the previous argument.
- lastarg=`$echo "X$lastarg" | $Xsed -e "$sed_quote_subst"`
-
- case $lastarg in
- # Double-quote args containing other shell metacharacters.
- # Many Bourne shells cannot handle close brackets correctly
- # in scan sets, and some SunOS ksh mistreat backslash-escaping
- # in scan sets (worked around with variable expansion),
- # and furthermore cannot handle '|' '&' '(' ')' in scan sets
- # at all, so we specify them separately.
- *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
- lastarg="\"$lastarg\""
- ;;
- esac
-
- base_compile="$base_compile $lastarg"
+ func_quote_for_eval "$lastarg"
+ base_compile="$base_compile $func_quote_for_eval_result"
done # for arg
case $arg_mode in
arg)
- $echo "$modename: you must specify an argument for -Xcompile"
- exit $EXIT_FAILURE
+ func_fatal_error "you must specify an argument for -Xcompile"
;;
target)
- $echo "$modename: you must specify a target with \`-o'" 1>&2
- exit $EXIT_FAILURE
+ func_fatal_error "you must specify a target with \`-o'"
;;
*)
# Get the name of the library object.
- [ -z "$libobj" ] && libobj=`$echo "X$srcfile" | $Xsed -e 's%^.*/%%'`
+ test -z "$libobj" && {
+ func_basename "$srcfile"
+ libobj="$func_basename_result"
+ }
;;
esac
# Recognize several different file suffixes.
# If the user specifies -o file.o, it is replaced with file.lo
- xform='[cCFSifmso]'
case $libobj in
- *.ada) xform=ada ;;
- *.adb) xform=adb ;;
- *.ads) xform=ads ;;
- *.asm) xform=asm ;;
- *.c++) xform=c++ ;;
- *.cc) xform=cc ;;
- *.ii) xform=ii ;;
- *.class) xform=class ;;
- *.cpp) xform=cpp ;;
- *.cxx) xform=cxx ;;
- *.[fF][09]?) xform=[fF][09]. ;;
- *.for) xform=for ;;
- *.java) xform=java ;;
- *.obj) xform=obj ;;
+ *.[cCFSifmso] | \
+ *.ada | *.adb | *.ads | *.asm | \
+ *.c++ | *.cc | *.ii | *.class | *.cpp | *.cxx | \
+ *.[fF][09]? | *.for | *.java | *.obj | *.sx)
+ func_xform "$libobj"
+ libobj=$func_xform_result
+ ;;
esac
- libobj=`$echo "X$libobj" | $Xsed -e "s/\.$xform$/.lo/"`
-
case $libobj in
- *.lo) obj=`$echo "X$libobj" | $Xsed -e "$lo2o"` ;;
+ *.lo) func_lo2o "$libobj"; obj=$func_lo2o_result ;;
*)
- $echo "$modename: cannot determine name of library object from \`$libobj'" 1>&2
- exit $EXIT_FAILURE
+ func_fatal_error "cannot determine name of library object from \`$libobj'"
;;
esac
@@ -804,7 +1230,15 @@ if test -z "$show_help"; then
for arg in $later; do
case $arg in
+ -shared)
+ test "$build_libtool_libs" != yes && \
+ func_fatal_configuration "can not build a shared library"
+ build_old_libs=no
+ continue
+ ;;
+
-static)
+ build_libtool_libs=no
build_old_libs=yes
continue
;;
@@ -821,28 +1255,17 @@ if test -z "$show_help"; then
esac
done
- qlibobj=`$echo "X$libobj" | $Xsed -e "$sed_quote_subst"`
- case $qlibobj in
- *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
- qlibobj="\"$qlibobj\"" ;;
- esac
- test "X$libobj" != "X$qlibobj" \
- && $echo "X$libobj" | grep '[]~#^*{};<>?"'"'"' &()|`$[]' \
- && $echo "$modename: libobj name \`$libobj' may not contain shell special characters."
- objname=`$echo "X$obj" | $Xsed -e 's%^.*/%%'`
- xdir=`$echo "X$obj" | $Xsed -e 's%/[^/]*$%%'`
- if test "X$xdir" = "X$obj"; then
- xdir=
- else
- xdir=$xdir/
- fi
+ func_quote_for_eval "$libobj"
+ test "X$libobj" != "X$func_quote_for_eval_result" \
+ && $ECHO "X$libobj" | $GREP '[]~#^*{};<>?"'"'"' &()|`$[]' \
+ && func_warning "libobj name \`$libobj' may not contain shell special characters."
+ func_dirname_and_basename "$obj" "/" ""
+ objname="$func_basename_result"
+ xdir="$func_dirname_result"
lobj=${xdir}$objdir/$objname
- if test -z "$base_compile"; then
- $echo "$modename: you must specify a compilation command" 1>&2
- $echo "$help" 1>&2
- exit $EXIT_FAILURE
- fi
+ test -z "$base_compile" && \
+ func_fatal_help "you must specify a compilation command"
# Delete any leftover library objects.
if test "$build_old_libs" = yes; then
@@ -851,12 +1274,9 @@ if test -z "$show_help"; then
removelist="$lobj $libobj ${libobj}T"
fi
- $run $rm $removelist
- trap "$run $rm $removelist; exit $EXIT_FAILURE" 1 2 15
-
# On Cygwin there's no "real" PIC flag so we must build both object types
case $host_os in
- cygwin* | mingw* | pw32* | os2*)
+ cygwin* | mingw* | pw32* | os2* | cegcc*)
pic_mode=default
;;
esac
@@ -868,10 +1288,8 @@ if test -z "$show_help"; then
# Calculate the filename of the output object if compiler does
# not support -o with -c
if test "$compiler_c_o" = no; then
- output_obj=`$echo "X$srcfile" | $Xsed -e 's%^.*/%%' -e 's%\.[^.]*$%%'`.${objext}
+ output_obj=`$ECHO "X$srcfile" | $Xsed -e 's%^.*/%%' -e 's%\.[^.]*$%%'`.${objext}
lockfile="$output_obj.lock"
- removelist="$removelist $output_obj $lockfile"
- trap "$run $rm $removelist; exit $EXIT_FAILURE" 1 2 15
else
output_obj=
need_locks=no
@@ -881,13 +1299,13 @@ if test -z "$show_help"; then
# Lock this critical section if it is needed
# We use this script file to make the link, it avoids creating a new file
if test "$need_locks" = yes; then
- until $run ln "$progpath" "$lockfile" 2>/dev/null; do
- $show "Waiting for $lockfile to be removed"
+ until $opt_dry_run || ln "$progpath" "$lockfile" 2>/dev/null; do
+ func_echo "Waiting for $lockfile to be removed"
sleep 2
done
elif test "$need_locks" = warn; then
if test -f "$lockfile"; then
- $echo "\
+ $ECHO "\
*** ERROR, $lockfile exists and contains:
`cat $lockfile 2>/dev/null`
@@ -898,34 +1316,22 @@ repeat this compilation, it may succeed, by chance, but you had better
avoid parallel builds (make -j) in this platform, or get a better
compiler."
- $run $rm $removelist
+ $opt_dry_run || $RM $removelist
exit $EXIT_FAILURE
fi
- $echo "$srcfile" > "$lockfile"
+ removelist="$removelist $output_obj"
+ $ECHO "$srcfile" > "$lockfile"
fi
+ $opt_dry_run || $RM $removelist
+ removelist="$removelist $lockfile"
+ trap '$opt_dry_run || $RM $removelist; exit $EXIT_FAILURE' 1 2 15
+
if test -n "$fix_srcfile_path"; then
eval srcfile=\"$fix_srcfile_path\"
fi
- qsrcfile=`$echo "X$srcfile" | $Xsed -e "$sed_quote_subst"`
- case $qsrcfile in
- *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
- qsrcfile="\"$qsrcfile\"" ;;
- esac
-
- $run $rm "$libobj" "${libobj}T"
-
- # Create a libtool object file (analogous to a ".la" file),
- # but don't create it if we're doing a dry run.
- test -z "$run" && cat > ${libobj}T <<EOF
-# $libobj - a libtool object file
-# Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP
-#
-# Please DO NOT delete this file!
-# It is necessary for linking the library.
-
-# Name of the PIC object.
-EOF
+ func_quote_for_eval "$srcfile"
+ qsrcfile=$func_quote_for_eval_result
# Only build a PIC object if we are building libtool libraries.
if test "$build_libtool_libs" = yes; then
@@ -939,32 +1345,19 @@ EOF
command="$base_compile $qsrcfile"
fi
- if test ! -d "${xdir}$objdir"; then
- $show "$mkdir ${xdir}$objdir"
- $run $mkdir ${xdir}$objdir
- exit_status=$?
- if test "$exit_status" -ne 0 && test ! -d "${xdir}$objdir"; then
- exit $exit_status
- fi
- fi
+ func_mkdir_p "$xdir$objdir"
if test -z "$output_obj"; then
# Place PIC objects in $objdir
command="$command -o $lobj"
fi
- $run $rm "$lobj" "$output_obj"
-
- $show "$command"
- if $run eval "$command"; then :
- else
- test -n "$output_obj" && $run $rm $removelist
- exit $EXIT_FAILURE
- fi
+ func_show_eval_locale "$command" \
+ 'test -n "$output_obj" && $RM $removelist; exit $EXIT_FAILURE'
if test "$need_locks" = warn &&
test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then
- $echo "\
+ $ECHO "\
*** ERROR, $lockfile contains:
`cat $lockfile 2>/dev/null`
@@ -978,45 +1371,27 @@ repeat this compilation, it may succeed, by chance, but you had better
avoid parallel builds (make -j) in this platform, or get a better
compiler."
- $run $rm $removelist
+ $opt_dry_run || $RM $removelist
exit $EXIT_FAILURE
fi
# Just move the object if needed, then go on to compile the next one
if test -n "$output_obj" && test "X$output_obj" != "X$lobj"; then
- $show "$mv $output_obj $lobj"
- if $run $mv $output_obj $lobj; then :
- else
- error=$?
- $run $rm $removelist
- exit $error
- fi
+ func_show_eval '$MV "$output_obj" "$lobj"' \
+ 'error=$?; $opt_dry_run || $RM $removelist; exit $error'
fi
- # Append the name of the PIC object to the libtool object file.
- test -z "$run" && cat >> ${libobj}T <<EOF
-pic_object='$objdir/$objname'
-
-EOF
-
# Allow error messages only from the first compilation.
if test "$suppress_opt" = yes; then
- suppress_output=' >/dev/null 2>&1'
+ suppress_output=' >/dev/null 2>&1'
fi
- else
- # No PIC object so indicate it doesn't exist in the libtool
- # object file.
- test -z "$run" && cat >> ${libobj}T <<EOF
-pic_object=none
-
-EOF
fi
# Only build a position-dependent object if we build old libraries.
if test "$build_old_libs" = yes; then
if test "$pic_mode" != yes; then
# Don't build PIC code
- command="$base_compile $qsrcfile"
+ command="$base_compile $qsrcfile$pie_flag"
else
command="$base_compile $qsrcfile $pic_flag"
fi
@@ -1026,17 +1401,12 @@ EOF
# Suppress compiler output if we already did a PIC compilation.
command="$command$suppress_output"
- $run $rm "$obj" "$output_obj"
- $show "$command"
- if $run eval "$command"; then :
- else
- $run $rm $removelist
- exit $EXIT_FAILURE
- fi
+ func_show_eval_locale "$command" \
+ '$opt_dry_run || $RM $removelist; exit $EXIT_FAILURE'
if test "$need_locks" = warn &&
test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then
- $echo "\
+ $ECHO "\
*** ERROR, $lockfile contains:
`cat $lockfile 2>/dev/null`
@@ -1050,53 +1420,2620 @@ repeat this compilation, it may succeed, by chance, but you had better
avoid parallel builds (make -j) in this platform, or get a better
compiler."
- $run $rm $removelist
+ $opt_dry_run || $RM $removelist
exit $EXIT_FAILURE
fi
# Just move the object if needed
if test -n "$output_obj" && test "X$output_obj" != "X$obj"; then
- $show "$mv $output_obj $obj"
- if $run $mv $output_obj $obj; then :
+ func_show_eval '$MV "$output_obj" "$obj"' \
+ 'error=$?; $opt_dry_run || $RM $removelist; exit $error'
+ fi
+ fi
+
+ $opt_dry_run || {
+ func_write_libtool_object "$libobj" "$objdir/$objname" "$objname"
+
+ # Unlock the critical section if it was locked
+ if test "$need_locks" != no; then
+ removelist=$lockfile
+ $RM "$lockfile"
+ fi
+ }
+
+ exit $EXIT_SUCCESS
+}
+
+$opt_help || {
+test "$mode" = compile && func_mode_compile ${1+"$@"}
+}
+
+func_mode_help ()
+{
+ # We need to display help for each of the modes.
+ case $mode in
+ "")
+ # Generic help is extracted from the usage comments
+ # at the start of this file.
+ func_help
+ ;;
+
+ clean)
+ $ECHO \
+"Usage: $progname [OPTION]... --mode=clean RM [RM-OPTION]... FILE...
+
+Remove files from the build directory.
+
+RM is the name of the program to use to delete files associated with each FILE
+(typically \`/bin/rm'). RM-OPTIONS are options (such as \`-f') to be passed
+to RM.
+
+If FILE is a libtool library, object or program, all the files associated
+with it are deleted. Otherwise, only FILE itself is deleted using RM."
+ ;;
+
+ compile)
+ $ECHO \
+"Usage: $progname [OPTION]... --mode=compile COMPILE-COMMAND... SOURCEFILE
+
+Compile a source file into a libtool library object.
+
+This mode accepts the following additional options:
+
+ -o OUTPUT-FILE set the output file name to OUTPUT-FILE
+ -no-suppress do not suppress compiler output for multiple passes
+ -prefer-pic try to building PIC objects only
+ -prefer-non-pic try to building non-PIC objects only
+ -shared do not build a \`.o' file suitable for static linking
+ -static only build a \`.o' file suitable for static linking
+
+COMPILE-COMMAND is a command to be used in creating a \`standard' object file
+from the given SOURCEFILE.
+
+The output file name is determined by removing the directory component from
+SOURCEFILE, then substituting the C source code suffix \`.c' with the
+library object suffix, \`.lo'."
+ ;;
+
+ execute)
+ $ECHO \
+"Usage: $progname [OPTION]... --mode=execute COMMAND [ARGS]...
+
+Automatically set library path, then run a program.
+
+This mode accepts the following additional options:
+
+ -dlopen FILE add the directory containing FILE to the library path
+
+This mode sets the library path environment variable according to \`-dlopen'
+flags.
+
+If any of the ARGS are libtool executable wrappers, then they are translated
+into their corresponding uninstalled binary, and any of their required library
+directories are added to the library path.
+
+Then, COMMAND is executed, with ARGS as arguments."
+ ;;
+
+ finish)
+ $ECHO \
+"Usage: $progname [OPTION]... --mode=finish [LIBDIR]...
+
+Complete the installation of libtool libraries.
+
+Each LIBDIR is a directory that contains libtool libraries.
+
+The commands that this mode executes may require superuser privileges. Use
+the \`--dry-run' option if you just want to see what would be executed."
+ ;;
+
+ install)
+ $ECHO \
+"Usage: $progname [OPTION]... --mode=install INSTALL-COMMAND...
+
+Install executables or libraries.
+
+INSTALL-COMMAND is the installation command. The first component should be
+either the \`install' or \`cp' program.
+
+The following components of INSTALL-COMMAND are treated specially:
+
+ -inst-prefix PREFIX-DIR Use PREFIX-DIR as a staging area for installation
+
+The rest of the components are interpreted as arguments to that command (only
+BSD-compatible install options are recognized)."
+ ;;
+
+ link)
+ $ECHO \
+"Usage: $progname [OPTION]... --mode=link LINK-COMMAND...
+
+Link object files or libraries together to form another library, or to
+create an executable program.
+
+LINK-COMMAND is a command using the C compiler that you would use to create
+a program from several object files.
+
+The following components of LINK-COMMAND are treated specially:
+
+ -all-static do not do any dynamic linking at all
+ -avoid-version do not add a version suffix if possible
+ -dlopen FILE \`-dlpreopen' FILE if it cannot be dlopened at runtime
+ -dlpreopen FILE link in FILE and add its symbols to lt_preloaded_symbols
+ -export-dynamic allow symbols from OUTPUT-FILE to be resolved with dlsym(3)
+ -export-symbols SYMFILE
+ try to export only the symbols listed in SYMFILE
+ -export-symbols-regex REGEX
+ try to export only the symbols matching REGEX
+ -LLIBDIR search LIBDIR for required installed libraries
+ -lNAME OUTPUT-FILE requires the installed library libNAME
+ -module build a library that can dlopened
+ -no-fast-install disable the fast-install mode
+ -no-install link a not-installable executable
+ -no-undefined declare that a library does not refer to external symbols
+ -o OUTPUT-FILE create OUTPUT-FILE from the specified objects
+ -objectlist FILE Use a list of object files found in FILE to specify objects
+ -precious-files-regex REGEX
+ don't remove output files matching REGEX
+ -release RELEASE specify package release information
+ -rpath LIBDIR the created library will eventually be installed in LIBDIR
+ -R[ ]LIBDIR add LIBDIR to the runtime path of programs and libraries
+ -shared only do dynamic linking of libtool libraries
+ -shrext SUFFIX override the standard shared library file extension
+ -static do not do any dynamic linking of uninstalled libtool libraries
+ -static-libtool-libs
+ do not do any dynamic linking of libtool libraries
+ -version-info CURRENT[:REVISION[:AGE]]
+ specify library version info [each variable defaults to 0]
+ -weak LIBNAME declare that the target provides the LIBNAME interface
+
+All other options (arguments beginning with \`-') are ignored.
+
+Every other argument is treated as a filename. Files ending in \`.la' are
+treated as uninstalled libtool libraries, other files are standard or library
+object files.
+
+If the OUTPUT-FILE ends in \`.la', then a libtool library is created,
+only library objects (\`.lo' files) may be specified, and \`-rpath' is
+required, except when creating a convenience library.
+
+If OUTPUT-FILE ends in \`.a' or \`.lib', then a standard library is created
+using \`ar' and \`ranlib', or on Windows using \`lib'.
+
+If OUTPUT-FILE ends in \`.lo' or \`.${objext}', then a reloadable object file
+is created, otherwise an executable program is created."
+ ;;
+
+ uninstall)
+ $ECHO \
+"Usage: $progname [OPTION]... --mode=uninstall RM [RM-OPTION]... FILE...
+
+Remove libraries from an installation directory.
+
+RM is the name of the program to use to delete files associated with each FILE
+(typically \`/bin/rm'). RM-OPTIONS are options (such as \`-f') to be passed
+to RM.
+
+If FILE is a libtool library, all the files associated with it are deleted.
+Otherwise, only FILE itself is deleted using RM."
+ ;;
+
+ *)
+ func_fatal_help "invalid operation mode \`$mode'"
+ ;;
+ esac
+
+ $ECHO
+ $ECHO "Try \`$progname --help' for more information about other modes."
+
+ exit $?
+}
+
+ # Now that we've collected a possible --mode arg, show help if necessary
+ $opt_help && func_mode_help
+
+
+# func_mode_execute arg...
+func_mode_execute ()
+{
+ $opt_debug
+ # The first argument is the command name.
+ cmd="$nonopt"
+ test -z "$cmd" && \
+ func_fatal_help "you must specify a COMMAND"
+
+ # Handle -dlopen flags immediately.
+ for file in $execute_dlfiles; do
+ test -f "$file" \
+ || func_fatal_help "\`$file' is not a file"
+
+ dir=
+ case $file in
+ *.la)
+ # Check to see that this really is a libtool archive.
+ func_lalib_unsafe_p "$file" \
+ || func_fatal_help "\`$lib' is not a valid libtool archive"
+
+ # Read the libtool library.
+ dlname=
+ library_names=
+ func_source "$file"
+
+ # Skip this library if it cannot be dlopened.
+ if test -z "$dlname"; then
+ # Warn if it was a shared library.
+ test -n "$library_names" && \
+ func_warning "\`$file' was not linked with \`-export-dynamic'"
+ continue
+ fi
+
+ func_dirname "$file" "" "."
+ dir="$func_dirname_result"
+
+ if test -f "$dir/$objdir/$dlname"; then
+ dir="$dir/$objdir"
else
- error=$?
- $run $rm $removelist
- exit $error
+ if test ! -f "$dir/$dlname"; then
+ func_fatal_error "cannot find \`$dlname' in \`$dir' or \`$dir/$objdir'"
+ fi
fi
+ ;;
+
+ *.lo)
+ # Just add the directory containing the .lo file.
+ func_dirname "$file" "" "."
+ dir="$func_dirname_result"
+ ;;
+
+ *)
+ func_warning "\`-dlopen' is ignored for non-libtool libraries and objects"
+ continue
+ ;;
+ esac
+
+ # Get the absolute pathname.
+ absdir=`cd "$dir" && pwd`
+ test -n "$absdir" && dir="$absdir"
+
+ # Now add the directory to shlibpath_var.
+ if eval "test -z \"\$$shlibpath_var\""; then
+ eval "$shlibpath_var=\"\$dir\""
+ else
+ eval "$shlibpath_var=\"\$dir:\$$shlibpath_var\""
fi
+ done
- # Append the name of the non-PIC object the libtool object file.
- # Only append if the libtool object file exists.
- test -z "$run" && cat >> ${libobj}T <<EOF
-# Name of the non-PIC object.
-non_pic_object='$objname'
+ # This variable tells wrapper scripts just to set shlibpath_var
+ # rather than running their programs.
+ libtool_execute_magic="$magic"
-EOF
+ # Check if any of the arguments is a wrapper script.
+ args=
+ for file
+ do
+ case $file in
+ -*) ;;
+ *)
+ # Do a test to see if this is really a libtool program.
+ if func_ltwrapper_script_p "$file"; then
+ func_source "$file"
+ # Transform arg to wrapped name.
+ file="$progdir/$program"
+ elif func_ltwrapper_executable_p "$file"; then
+ func_ltwrapper_scriptname "$file"
+ func_source "$func_ltwrapper_scriptname_result"
+ # Transform arg to wrapped name.
+ file="$progdir/$program"
+ fi
+ ;;
+ esac
+ # Quote arguments (to preserve shell metacharacters).
+ func_quote_for_eval "$file"
+ args="$args $func_quote_for_eval_result"
+ done
+
+ if test "X$opt_dry_run" = Xfalse; then
+ if test -n "$shlibpath_var"; then
+ # Export the shlibpath_var.
+ eval "export $shlibpath_var"
+ fi
+
+ # Restore saved environment variables
+ for lt_var in LANG LANGUAGE LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES
+ do
+ eval "if test \"\${save_$lt_var+set}\" = set; then
+ $lt_var=\$save_$lt_var; export $lt_var
+ else
+ $lt_unset $lt_var
+ fi"
+ done
+
+ # Now prepare to actually exec the command.
+ exec_cmd="\$cmd$args"
else
- # Append the name of the non-PIC object the libtool object file.
- # Only append if the libtool object file exists.
- test -z "$run" && cat >> ${libobj}T <<EOF
-# Name of the non-PIC object.
-non_pic_object=none
+ # Display what would be done.
+ if test -n "$shlibpath_var"; then
+ eval "\$ECHO \"\$shlibpath_var=\$$shlibpath_var\""
+ $ECHO "export $shlibpath_var"
+ fi
+ $ECHO "$cmd$args"
+ exit $EXIT_SUCCESS
+ fi
+}
-EOF
+test "$mode" = execute && func_mode_execute ${1+"$@"}
+
+
+# func_mode_finish arg...
+func_mode_finish ()
+{
+ $opt_debug
+ libdirs="$nonopt"
+ admincmds=
+
+ if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then
+ for dir
+ do
+ libdirs="$libdirs $dir"
+ done
+
+ for libdir in $libdirs; do
+ if test -n "$finish_cmds"; then
+ # Do each command in the finish commands.
+ func_execute_cmds "$finish_cmds" 'admincmds="$admincmds
+'"$cmd"'"'
+ fi
+ if test -n "$finish_eval"; then
+ # Do the single finish_eval.
+ eval cmds=\"$finish_eval\"
+ $opt_dry_run || eval "$cmds" || admincmds="$admincmds
+ $cmds"
+ fi
+ done
fi
- $run $mv "${libobj}T" "${libobj}"
+ # Exit here if they wanted silent mode.
+ $opt_silent && exit $EXIT_SUCCESS
+
+ $ECHO "X----------------------------------------------------------------------" | $Xsed
+ $ECHO "Libraries have been installed in:"
+ for libdir in $libdirs; do
+ $ECHO " $libdir"
+ done
+ $ECHO
+ $ECHO "If you ever happen to want to link against installed libraries"
+ $ECHO "in a given directory, LIBDIR, you must either use libtool, and"
+ $ECHO "specify the full pathname of the library, or use the \`-LLIBDIR'"
+ $ECHO "flag during linking and do at least one of the following:"
+ if test -n "$shlibpath_var"; then
+ $ECHO " - add LIBDIR to the \`$shlibpath_var' environment variable"
+ $ECHO " during execution"
+ fi
+ if test -n "$runpath_var"; then
+ $ECHO " - add LIBDIR to the \`$runpath_var' environment variable"
+ $ECHO " during linking"
+ fi
+ if test -n "$hardcode_libdir_flag_spec"; then
+ libdir=LIBDIR
+ eval flag=\"$hardcode_libdir_flag_spec\"
- # Unlock the critical section if it was locked
- if test "$need_locks" != no; then
- $run $rm "$lockfile"
+ $ECHO " - use the \`$flag' linker flag"
fi
+ if test -n "$admincmds"; then
+ $ECHO " - have your system administrator run these commands:$admincmds"
+ fi
+ if test -f /etc/ld.so.conf; then
+ $ECHO " - have your system administrator add LIBDIR to \`/etc/ld.so.conf'"
+ fi
+ $ECHO
+ $ECHO "See any operating system documentation about shared libraries for"
+ case $host in
+ solaris2.[6789]|solaris2.1[0-9])
+ $ECHO "more information, such as the ld(1), crle(1) and ld.so(8) manual"
+ $ECHO "pages."
+ ;;
+ *)
+ $ECHO "more information, such as the ld(1) and ld.so(8) manual pages."
+ ;;
+ esac
+ $ECHO "X----------------------------------------------------------------------" | $Xsed
exit $EXIT_SUCCESS
+}
+
+test "$mode" = finish && func_mode_finish ${1+"$@"}
+
+
+# func_mode_install arg...
+func_mode_install ()
+{
+ $opt_debug
+ # There may be an optional sh(1) argument at the beginning of
+ # install_prog (especially on Windows NT).
+ if test "$nonopt" = "$SHELL" || test "$nonopt" = /bin/sh ||
+ # Allow the use of GNU shtool's install command.
+ $ECHO "X$nonopt" | $GREP shtool >/dev/null; then
+ # Aesthetically quote it.
+ func_quote_for_eval "$nonopt"
+ install_prog="$func_quote_for_eval_result "
+ arg=$1
+ shift
+ else
+ install_prog=
+ arg=$nonopt
+ fi
+
+ # The real first argument should be the name of the installation program.
+ # Aesthetically quote it.
+ func_quote_for_eval "$arg"
+ install_prog="$install_prog$func_quote_for_eval_result"
+
+ # We need to accept at least all the BSD install flags.
+ dest=
+ files=
+ opts=
+ prev=
+ install_type=
+ isdir=no
+ stripme=
+ for arg
+ do
+ if test -n "$dest"; then
+ files="$files $dest"
+ dest=$arg
+ continue
+ fi
+
+ case $arg in
+ -d) isdir=yes ;;
+ -f)
+ case " $install_prog " in
+ *[\\\ /]cp\ *) ;;
+ *) prev=$arg ;;
+ esac
+ ;;
+ -g | -m | -o)
+ prev=$arg
+ ;;
+ -s)
+ stripme=" -s"
+ continue
+ ;;
+ -*)
+ ;;
+ *)
+ # If the previous option needed an argument, then skip it.
+ if test -n "$prev"; then
+ prev=
+ else
+ dest=$arg
+ continue
+ fi
+ ;;
+ esac
+
+ # Aesthetically quote the argument.
+ func_quote_for_eval "$arg"
+ install_prog="$install_prog $func_quote_for_eval_result"
+ done
+
+ test -z "$install_prog" && \
+ func_fatal_help "you must specify an install program"
+
+ test -n "$prev" && \
+ func_fatal_help "the \`$prev' option requires an argument"
+
+ if test -z "$files"; then
+ if test -z "$dest"; then
+ func_fatal_help "no file or destination specified"
+ else
+ func_fatal_help "you must specify a destination"
+ fi
+ fi
+
+ # Strip any trailing slash from the destination.
+ func_stripname '' '/' "$dest"
+ dest=$func_stripname_result
+
+ # Check to see that the destination is a directory.
+ test -d "$dest" && isdir=yes
+ if test "$isdir" = yes; then
+ destdir="$dest"
+ destname=
+ else
+ func_dirname_and_basename "$dest" "" "."
+ destdir="$func_dirname_result"
+ destname="$func_basename_result"
+
+ # Not a directory, so check to see that there is only one file specified.
+ set dummy $files; shift
+ test "$#" -gt 1 && \
+ func_fatal_help "\`$dest' is not a directory"
+ fi
+ case $destdir in
+ [\\/]* | [A-Za-z]:[\\/]*) ;;
+ *)
+ for file in $files; do
+ case $file in
+ *.lo) ;;
+ *)
+ func_fatal_help "\`$destdir' must be an absolute directory name"
+ ;;
+ esac
+ done
+ ;;
+ esac
+
+ # This variable tells wrapper scripts just to set variables rather
+ # than running their programs.
+ libtool_install_magic="$magic"
+
+ staticlibs=
+ future_libdirs=
+ current_libdirs=
+ for file in $files; do
+
+ # Do each installation.
+ case $file in
+ *.$libext)
+ # Do the static libraries later.
+ staticlibs="$staticlibs $file"
+ ;;
+
+ *.la)
+ # Check to see that this really is a libtool archive.
+ func_lalib_unsafe_p "$file" \
+ || func_fatal_help "\`$file' is not a valid libtool archive"
+
+ library_names=
+ old_library=
+ relink_command=
+ func_source "$file"
+
+ # Add the libdir to current_libdirs if it is the destination.
+ if test "X$destdir" = "X$libdir"; then
+ case "$current_libdirs " in
+ *" $libdir "*) ;;
+ *) current_libdirs="$current_libdirs $libdir" ;;
+ esac
+ else
+ # Note the libdir as a future libdir.
+ case "$future_libdirs " in
+ *" $libdir "*) ;;
+ *) future_libdirs="$future_libdirs $libdir" ;;
+ esac
+ fi
+
+ func_dirname "$file" "/" ""
+ dir="$func_dirname_result"
+ dir="$dir$objdir"
+
+ if test -n "$relink_command"; then
+ # Determine the prefix the user has applied to our future dir.
+ inst_prefix_dir=`$ECHO "X$destdir" | $Xsed -e "s%$libdir\$%%"`
+
+ # Don't allow the user to place us outside of our expected
+ # location b/c this prevents finding dependent libraries that
+ # are installed to the same prefix.
+ # At present, this check doesn't affect windows .dll's that
+ # are installed into $libdir/../bin (currently, that works fine)
+ # but it's something to keep an eye on.
+ test "$inst_prefix_dir" = "$destdir" && \
+ func_fatal_error "error: cannot install \`$file' to a directory not ending in $libdir"
+
+ if test -n "$inst_prefix_dir"; then
+ # Stick the inst_prefix_dir data into the link command.
+ relink_command=`$ECHO "X$relink_command" | $Xsed -e "s%@inst_prefix_dir@%-inst-prefix-dir $inst_prefix_dir%"`
+ else
+ relink_command=`$ECHO "X$relink_command" | $Xsed -e "s%@inst_prefix_dir@%%"`
+ fi
+
+ func_warning "relinking \`$file'"
+ func_show_eval "$relink_command" \
+ 'func_fatal_error "error: relink \`$file'\'' with the above command before installing it"'
+ fi
+
+ # See the names of the shared library.
+ set dummy $library_names; shift
+ if test -n "$1"; then
+ realname="$1"
+ shift
+
+ srcname="$realname"
+ test -n "$relink_command" && srcname="$realname"T
+
+ # Install the shared library and build the symlinks.
+ func_show_eval "$install_prog $dir/$srcname $destdir/$realname" \
+ 'exit $?'
+ tstripme="$stripme"
+ case $host_os in
+ cygwin* | mingw* | pw32* | cegcc*)
+ case $realname in
+ *.dll.a)
+ tstripme=""
+ ;;
+ esac
+ ;;
+ esac
+ if test -n "$tstripme" && test -n "$striplib"; then
+ func_show_eval "$striplib $destdir/$realname" 'exit $?'
+ fi
+
+ if test "$#" -gt 0; then
+ # Delete the old symlinks, and create new ones.
+ # Try `ln -sf' first, because the `ln' binary might depend on
+ # the symlink we replace! Solaris /bin/ln does not understand -f,
+ # so we also need to try rm && ln -s.
+ for linkname
+ do
+ test "$linkname" != "$realname" \
+ && func_show_eval "(cd $destdir && { $LN_S -f $realname $linkname || { $RM $linkname && $LN_S $realname $linkname; }; })"
+ done
+ fi
+
+ # Do each command in the postinstall commands.
+ lib="$destdir/$realname"
+ func_execute_cmds "$postinstall_cmds" 'exit $?'
+ fi
+
+ # Install the pseudo-library for information purposes.
+ func_basename "$file"
+ name="$func_basename_result"
+ instname="$dir/$name"i
+ func_show_eval "$install_prog $instname $destdir/$name" 'exit $?'
+
+ # Maybe install the static library, too.
+ test -n "$old_library" && staticlibs="$staticlibs $dir/$old_library"
+ ;;
+
+ *.lo)
+ # Install (i.e. copy) a libtool object.
+
+ # Figure out destination file name, if it wasn't already specified.
+ if test -n "$destname"; then
+ destfile="$destdir/$destname"
+ else
+ func_basename "$file"
+ destfile="$func_basename_result"
+ destfile="$destdir/$destfile"
+ fi
+
+ # Deduce the name of the destination old-style object file.
+ case $destfile in
+ *.lo)
+ func_lo2o "$destfile"
+ staticdest=$func_lo2o_result
+ ;;
+ *.$objext)
+ staticdest="$destfile"
+ destfile=
+ ;;
+ *)
+ func_fatal_help "cannot copy a libtool object to \`$destfile'"
+ ;;
+ esac
+
+ # Install the libtool object if requested.
+ test -n "$destfile" && \
+ func_show_eval "$install_prog $file $destfile" 'exit $?'
+
+ # Install the old object if enabled.
+ if test "$build_old_libs" = yes; then
+ # Deduce the name of the old-style object file.
+ func_lo2o "$file"
+ staticobj=$func_lo2o_result
+ func_show_eval "$install_prog \$staticobj \$staticdest" 'exit $?'
+ fi
+ exit $EXIT_SUCCESS
+ ;;
+
+ *)
+ # Figure out destination file name, if it wasn't already specified.
+ if test -n "$destname"; then
+ destfile="$destdir/$destname"
+ else
+ func_basename "$file"
+ destfile="$func_basename_result"
+ destfile="$destdir/$destfile"
+ fi
+
+ # If the file is missing, and there is a .exe on the end, strip it
+ # because it is most likely a libtool script we actually want to
+ # install
+ stripped_ext=""
+ case $file in
+ *.exe)
+ if test ! -f "$file"; then
+ func_stripname '' '.exe' "$file"
+ file=$func_stripname_result
+ stripped_ext=".exe"
+ fi
+ ;;
+ esac
+
+ # Do a test to see if this is really a libtool program.
+ case $host in
+ *cygwin* | *mingw*)
+ if func_ltwrapper_executable_p "$file"; then
+ func_ltwrapper_scriptname "$file"
+ wrapper=$func_ltwrapper_scriptname_result
+ else
+ func_stripname '' '.exe' "$file"
+ wrapper=$func_stripname_result
+ fi
+ ;;
+ *)
+ wrapper=$file
+ ;;
+ esac
+ if func_ltwrapper_script_p "$wrapper"; then
+ notinst_deplibs=
+ relink_command=
+
+ func_source "$wrapper"
+
+ # Check the variables that should have been set.
+ test -z "$generated_by_libtool_version" && \
+ func_fatal_error "invalid libtool wrapper script \`$wrapper'"
+
+ finalize=yes
+ for lib in $notinst_deplibs; do
+ # Check to see that each library is installed.
+ libdir=
+ if test -f "$lib"; then
+ func_source "$lib"
+ fi
+ libfile="$libdir/"`$ECHO "X$lib" | $Xsed -e 's%^.*/%%g'` ### testsuite: skip nested quoting test
+ if test -n "$libdir" && test ! -f "$libfile"; then
+ func_warning "\`$lib' has not been installed in \`$libdir'"
+ finalize=no
+ fi
+ done
+
+ relink_command=
+ func_source "$wrapper"
+
+ outputname=
+ if test "$fast_install" = no && test -n "$relink_command"; then
+ $opt_dry_run || {
+ if test "$finalize" = yes; then
+ tmpdir=`func_mktempdir`
+ func_basename "$file$stripped_ext"
+ file="$func_basename_result"
+ outputname="$tmpdir/$file"
+ # Replace the output file specification.
+ relink_command=`$ECHO "X$relink_command" | $Xsed -e 's%@OUTPUT@%'"$outputname"'%g'`
+
+ $opt_silent || {
+ func_quote_for_expand "$relink_command"
+ eval "func_echo $func_quote_for_expand_result"
+ }
+ if eval "$relink_command"; then :
+ else
+ func_error "error: relink \`$file' with the above command before installing it"
+ $opt_dry_run || ${RM}r "$tmpdir"
+ continue
+ fi
+ file="$outputname"
+ else
+ func_warning "cannot relink \`$file'"
+ fi
+ }
+ else
+ # Install the binary that we compiled earlier.
+ file=`$ECHO "X$file$stripped_ext" | $Xsed -e "s%\([^/]*\)$%$objdir/\1%"`
+ fi
+ fi
+
+ # remove .exe since cygwin /usr/bin/install will append another
+ # one anyway
+ case $install_prog,$host in
+ */usr/bin/install*,*cygwin*)
+ case $file:$destfile in
+ *.exe:*.exe)
+ # this is ok
+ ;;
+ *.exe:*)
+ destfile=$destfile.exe
+ ;;
+ *:*.exe)
+ func_stripname '' '.exe' "$destfile"
+ destfile=$func_stripname_result
+ ;;
+ esac
+ ;;
+ esac
+ func_show_eval "$install_prog\$stripme \$file \$destfile" 'exit $?'
+ $opt_dry_run || if test -n "$outputname"; then
+ ${RM}r "$tmpdir"
+ fi
+ ;;
+ esac
+ done
+
+ for file in $staticlibs; do
+ func_basename "$file"
+ name="$func_basename_result"
+
+ # Set up the ranlib parameters.
+ oldlib="$destdir/$name"
+
+ func_show_eval "$install_prog \$file \$oldlib" 'exit $?'
+
+ if test -n "$stripme" && test -n "$old_striplib"; then
+ func_show_eval "$old_striplib $oldlib" 'exit $?'
+ fi
+
+ # Do each command in the postinstall commands.
+ func_execute_cmds "$old_postinstall_cmds" 'exit $?'
+ done
+
+ test -n "$future_libdirs" && \
+ func_warning "remember to run \`$progname --finish$future_libdirs'"
+
+ if test -n "$current_libdirs"; then
+ # Maybe just do a dry run.
+ $opt_dry_run && current_libdirs=" -n$current_libdirs"
+ exec_cmd='$SHELL $progpath $preserve_args --finish$current_libdirs'
+ else
+ exit $EXIT_SUCCESS
+ fi
+}
+
+test "$mode" = install && func_mode_install ${1+"$@"}
+
+
+# func_generate_dlsyms outputname originator pic_p
+# Extract symbols from dlprefiles and create ${outputname}S.o with
+# a dlpreopen symbol table.
+func_generate_dlsyms ()
+{
+ $opt_debug
+ my_outputname="$1"
+ my_originator="$2"
+ my_pic_p="${3-no}"
+ my_prefix=`$ECHO "$my_originator" | sed 's%[^a-zA-Z0-9]%_%g'`
+ my_dlsyms=
+
+ if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then
+ if test -n "$NM" && test -n "$global_symbol_pipe"; then
+ my_dlsyms="${my_outputname}S.c"
+ else
+ func_error "not configured to extract global symbols from dlpreopened files"
+ fi
+ fi
+
+ if test -n "$my_dlsyms"; then
+ case $my_dlsyms in
+ "") ;;
+ *.c)
+ # Discover the nlist of each of the dlfiles.
+ nlist="$output_objdir/${my_outputname}.nm"
+
+ func_show_eval "$RM $nlist ${nlist}S ${nlist}T"
+
+ # Parse the name list into a source file.
+ func_verbose "creating $output_objdir/$my_dlsyms"
+
+ $opt_dry_run || $ECHO > "$output_objdir/$my_dlsyms" "\
+/* $my_dlsyms - symbol resolution table for \`$my_outputname' dlsym emulation. */
+/* Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION */
+
+#ifdef __cplusplus
+extern \"C\" {
+#endif
+
+/* External symbol declarations for the compiler. */\
+"
+
+ if test "$dlself" = yes; then
+ func_verbose "generating symbol list for \`$output'"
+
+ $opt_dry_run || echo ': @PROGRAM@ ' > "$nlist"
+
+ # Add our own program objects to the symbol list.
+ progfiles=`$ECHO "X$objs$old_deplibs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
+ for progfile in $progfiles; do
+ func_verbose "extracting global C symbols from \`$progfile'"
+ $opt_dry_run || eval "$NM $progfile | $global_symbol_pipe >> '$nlist'"
+ done
+
+ if test -n "$exclude_expsyms"; then
+ $opt_dry_run || {
+ eval '$EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T'
+ eval '$MV "$nlist"T "$nlist"'
+ }
+ fi
+
+ if test -n "$export_symbols_regex"; then
+ $opt_dry_run || {
+ eval '$EGREP -e "$export_symbols_regex" "$nlist" > "$nlist"T'
+ eval '$MV "$nlist"T "$nlist"'
+ }
+ fi
+
+ # Prepare the list of exported symbols
+ if test -z "$export_symbols"; then
+ export_symbols="$output_objdir/$outputname.exp"
+ $opt_dry_run || {
+ $RM $export_symbols
+ eval "${SED} -n -e '/^: @PROGRAM@ $/d' -e 's/^.* \(.*\)$/\1/p' "'< "$nlist" > "$export_symbols"'
+ case $host in
+ *cygwin* | *mingw* | *cegcc* )
+ eval "echo EXPORTS "'> "$output_objdir/$outputname.def"'
+ eval 'cat "$export_symbols" >> "$output_objdir/$outputname.def"'
+ ;;
+ esac
+ }
+ else
+ $opt_dry_run || {
+ eval "${SED} -e 's/\([].[*^$]\)/\\\\\1/g' -e 's/^/ /' -e 's/$/$/'"' < "$export_symbols" > "$output_objdir/$outputname.exp"'
+ eval '$GREP -f "$output_objdir/$outputname.exp" < "$nlist" > "$nlist"T'
+ eval '$MV "$nlist"T "$nlist"'
+ case $host in
+ *cygwin | *mingw* | *cegcc* )
+ eval "echo EXPORTS "'> "$output_objdir/$outputname.def"'
+ eval 'cat "$nlist" >> "$output_objdir/$outputname.def"'
+ ;;
+ esac
+ }
+ fi
+ fi
+
+ for dlprefile in $dlprefiles; do
+ func_verbose "extracting global C symbols from \`$dlprefile'"
+ func_basename "$dlprefile"
+ name="$func_basename_result"
+ $opt_dry_run || {
+ eval '$ECHO ": $name " >> "$nlist"'
+ eval "$NM $dlprefile 2>/dev/null | $global_symbol_pipe >> '$nlist'"
+ }
+ done
+
+ $opt_dry_run || {
+ # Make sure we have at least an empty file.
+ test -f "$nlist" || : > "$nlist"
+
+ if test -n "$exclude_expsyms"; then
+ $EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T
+ $MV "$nlist"T "$nlist"
+ fi
+
+ # Try sorting and uniquifying the output.
+ if $GREP -v "^: " < "$nlist" |
+ if sort -k 3 </dev/null >/dev/null 2>&1; then
+ sort -k 3
+ else
+ sort +2
+ fi |
+ uniq > "$nlist"S; then
+ :
+ else
+ $GREP -v "^: " < "$nlist" > "$nlist"S
+ fi
+
+ if test -f "$nlist"S; then
+ eval "$global_symbol_to_cdecl"' < "$nlist"S >> "$output_objdir/$my_dlsyms"'
+ else
+ $ECHO '/* NONE */' >> "$output_objdir/$my_dlsyms"
+ fi
+
+ $ECHO >> "$output_objdir/$my_dlsyms" "\
+
+/* The mapping between symbol names and symbols. */
+typedef struct {
+ const char *name;
+ void *address;
+} lt_dlsymlist;
+"
+ case $host in
+ *cygwin* | *mingw* | *cegcc* )
+ $ECHO >> "$output_objdir/$my_dlsyms" "\
+/* DATA imports from DLLs on WIN32 con't be const, because
+ runtime relocations are performed -- see ld's documentation
+ on pseudo-relocs. */"
+ lt_dlsym_const= ;;
+ *osf5*)
+ echo >> "$output_objdir/$my_dlsyms" "\
+/* This system does not cope well with relocations in const data */"
+ lt_dlsym_const= ;;
+ *)
+ lt_dlsym_const=const ;;
+ esac
+
+ $ECHO >> "$output_objdir/$my_dlsyms" "\
+extern $lt_dlsym_const lt_dlsymlist
+lt_${my_prefix}_LTX_preloaded_symbols[];
+$lt_dlsym_const lt_dlsymlist
+lt_${my_prefix}_LTX_preloaded_symbols[] =
+{\
+ { \"$my_originator\", (void *) 0 },"
+
+ case $need_lib_prefix in
+ no)
+ eval "$global_symbol_to_c_name_address" < "$nlist" >> "$output_objdir/$my_dlsyms"
+ ;;
+ *)
+ eval "$global_symbol_to_c_name_address_lib_prefix" < "$nlist" >> "$output_objdir/$my_dlsyms"
+ ;;
+ esac
+ $ECHO >> "$output_objdir/$my_dlsyms" "\
+ {0, (void *) 0}
+};
+
+/* This works around a problem in FreeBSD linker */
+#ifdef FREEBSD_WORKAROUND
+static const void *lt_preloaded_setup() {
+ return lt_${my_prefix}_LTX_preloaded_symbols;
+}
+#endif
+
+#ifdef __cplusplus
+}
+#endif\
+"
+ } # !$opt_dry_run
+
+ pic_flag_for_symtable=
+ case "$compile_command " in
+ *" -static "*) ;;
+ *)
+ case $host in
+ # compiling the symbol table file with pic_flag works around
+ # a FreeBSD bug that causes programs to crash when -lm is
+ # linked before any other PIC object. But we must not use
+ # pic_flag when linking with -static. The problem exists in
+ # FreeBSD 2.2.6 and is fixed in FreeBSD 3.1.
+ *-*-freebsd2*|*-*-freebsd3.0*|*-*-freebsdelf3.0*)
+ pic_flag_for_symtable=" $pic_flag -DFREEBSD_WORKAROUND" ;;
+ *-*-hpux*)
+ pic_flag_for_symtable=" $pic_flag" ;;
+ *)
+ if test "X$my_pic_p" != Xno; then
+ pic_flag_for_symtable=" $pic_flag"
+ fi
+ ;;
+ esac
+ ;;
+ esac
+ symtab_cflags=
+ for arg in $LTCFLAGS; do
+ case $arg in
+ -pie | -fpie | -fPIE) ;;
+ *) symtab_cflags="$symtab_cflags $arg" ;;
+ esac
+ done
+
+ # Now compile the dynamic symbol file.
+ func_show_eval '(cd $output_objdir && $LTCC$symtab_cflags -c$no_builtin_flag$pic_flag_for_symtable "$my_dlsyms")' 'exit $?'
+
+ # Clean up the generated files.
+ func_show_eval '$RM "$output_objdir/$my_dlsyms" "$nlist" "${nlist}S" "${nlist}T"'
+
+ # Transform the symbol file into the correct name.
+ symfileobj="$output_objdir/${my_outputname}S.$objext"
+ case $host in
+ *cygwin* | *mingw* | *cegcc* )
+ if test -f "$output_objdir/$my_outputname.def"; then
+ compile_command=`$ECHO "X$compile_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/$my_outputname.def $symfileobj%"`
+ finalize_command=`$ECHO "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/$my_outputname.def $symfileobj%"`
+ else
+ compile_command=`$ECHO "X$compile_command" | $Xsed -e "s%@SYMFILE@%$symfileobj%"`
+ finalize_command=`$ECHO "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$symfileobj%"`
+ fi
+ ;;
+ *)
+ compile_command=`$ECHO "X$compile_command" | $Xsed -e "s%@SYMFILE@%$symfileobj%"`
+ finalize_command=`$ECHO "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$symfileobj%"`
+ ;;
+ esac
+ ;;
+ *)
+ func_fatal_error "unknown suffix for \`$my_dlsyms'"
+ ;;
+ esac
+ else
+ # We keep going just in case the user didn't refer to
+ # lt_preloaded_symbols. The linker will fail if global_symbol_pipe
+ # really was required.
+
+ # Nullify the symbol file.
+ compile_command=`$ECHO "X$compile_command" | $Xsed -e "s% @SYMFILE@%%"`
+ finalize_command=`$ECHO "X$finalize_command" | $Xsed -e "s% @SYMFILE@%%"`
+ fi
+}
+
+# func_win32_libid arg
+# return the library type of file 'arg'
+#
+# Need a lot of goo to handle *both* DLLs and import libs
+# Has to be a shell function in order to 'eat' the argument
+# that is supplied when $file_magic_command is called.
+func_win32_libid ()
+{
+ $opt_debug
+ win32_libid_type="unknown"
+ win32_fileres=`file -L $1 2>/dev/null`
+ case $win32_fileres in
+ *ar\ archive\ import\ library*) # definitely import
+ win32_libid_type="x86 archive import"
+ ;;
+ *ar\ archive*) # could be an import, or static
+ if eval $OBJDUMP -f $1 | $SED -e '10q' 2>/dev/null |
+ $EGREP 'file format pe-i386(.*architecture: i386)?' >/dev/null ; then
+ win32_nmres=`eval $NM -f posix -A $1 |
+ $SED -n -e '
+ 1,100{
+ / I /{
+ s,.*,import,
+ p
+ q
+ }
+ }'`
+ case $win32_nmres in
+ import*) win32_libid_type="x86 archive import";;
+ *) win32_libid_type="x86 archive static";;
+ esac
+ fi
+ ;;
+ *DLL*)
+ win32_libid_type="x86 DLL"
+ ;;
+ *executable*) # but shell scripts are "executable" too...
+ case $win32_fileres in
+ *MS\ Windows\ PE\ Intel*)
+ win32_libid_type="x86 DLL"
+ ;;
+ esac
;;
+ esac
+ $ECHO "$win32_libid_type"
+}
+
- # libtool link mode
- link | relink)
- modename="$modename: link"
+
+# func_extract_an_archive dir oldlib
+func_extract_an_archive ()
+{
+ $opt_debug
+ f_ex_an_ar_dir="$1"; shift
+ f_ex_an_ar_oldlib="$1"
+ func_show_eval "(cd \$f_ex_an_ar_dir && $AR x \"\$f_ex_an_ar_oldlib\")" 'exit $?'
+ if ($AR t "$f_ex_an_ar_oldlib" | sort | sort -uc >/dev/null 2>&1); then
+ :
+ else
+ func_fatal_error "object name conflicts in archive: $f_ex_an_ar_dir/$f_ex_an_ar_oldlib"
+ fi
+}
+
+
+# func_extract_archives gentop oldlib ...
+func_extract_archives ()
+{
+ $opt_debug
+ my_gentop="$1"; shift
+ my_oldlibs=${1+"$@"}
+ my_oldobjs=""
+ my_xlib=""
+ my_xabs=""
+ my_xdir=""
+
+ for my_xlib in $my_oldlibs; do
+ # Extract the objects.
+ case $my_xlib in
+ [\\/]* | [A-Za-z]:[\\/]*) my_xabs="$my_xlib" ;;
+ *) my_xabs=`pwd`"/$my_xlib" ;;
+ esac
+ func_basename "$my_xlib"
+ my_xlib="$func_basename_result"
+ my_xlib_u=$my_xlib
+ while :; do
+ case " $extracted_archives " in
+ *" $my_xlib_u "*)
+ func_arith $extracted_serial + 1
+ extracted_serial=$func_arith_result
+ my_xlib_u=lt$extracted_serial-$my_xlib ;;
+ *) break ;;
+ esac
+ done
+ extracted_archives="$extracted_archives $my_xlib_u"
+ my_xdir="$my_gentop/$my_xlib_u"
+
+ func_mkdir_p "$my_xdir"
+
+ case $host in
+ *-darwin*)
+ func_verbose "Extracting $my_xabs"
+ # Do not bother doing anything if just a dry run
+ $opt_dry_run || {
+ darwin_orig_dir=`pwd`
+ cd $my_xdir || exit $?
+ darwin_archive=$my_xabs
+ darwin_curdir=`pwd`
+ darwin_base_archive=`basename "$darwin_archive"`
+ darwin_arches=`$LIPO -info "$darwin_archive" 2>/dev/null | $GREP Architectures 2>/dev/null || true`
+ if test -n "$darwin_arches"; then
+ darwin_arches=`$ECHO "$darwin_arches" | $SED -e 's/.*are://'`
+ darwin_arch=
+ func_verbose "$darwin_base_archive has multiple architectures $darwin_arches"
+ for darwin_arch in $darwin_arches ; do
+ func_mkdir_p "unfat-$$/${darwin_base_archive}-${darwin_arch}"
+ $LIPO -thin $darwin_arch -output "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}" "${darwin_archive}"
+ cd "unfat-$$/${darwin_base_archive}-${darwin_arch}"
+ func_extract_an_archive "`pwd`" "${darwin_base_archive}"
+ cd "$darwin_curdir"
+ $RM "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}"
+ done # $darwin_arches
+ ## Okay now we've a bunch of thin objects, gotta fatten them up :)
+ darwin_filelist=`find unfat-$$ -type f -name \*.o -print -o -name \*.lo -print | $SED -e "$basename" | sort -u`
+ darwin_file=
+ darwin_files=
+ for darwin_file in $darwin_filelist; do
+ darwin_files=`find unfat-$$ -name $darwin_file -print | $NL2SP`
+ $LIPO -create -output "$darwin_file" $darwin_files
+ done # $darwin_filelist
+ $RM -rf unfat-$$
+ cd "$darwin_orig_dir"
+ else
+ cd $darwin_orig_dir
+ func_extract_an_archive "$my_xdir" "$my_xabs"
+ fi # $darwin_arches
+ } # !$opt_dry_run
+ ;;
+ *)
+ func_extract_an_archive "$my_xdir" "$my_xabs"
+ ;;
+ esac
+ my_oldobjs="$my_oldobjs "`find $my_xdir -name \*.$objext -print -o -name \*.lo -print | $NL2SP`
+ done
+
+ func_extract_archives_result="$my_oldobjs"
+}
+
+
+
+# func_emit_wrapper_part1 [arg=no]
+#
+# Emit the first part of a libtool wrapper script on stdout.
+# For more information, see the description associated with
+# func_emit_wrapper(), below.
+func_emit_wrapper_part1 ()
+{
+ func_emit_wrapper_part1_arg1=no
+ if test -n "$1" ; then
+ func_emit_wrapper_part1_arg1=$1
+ fi
+
+ $ECHO "\
+#! $SHELL
+
+# $output - temporary wrapper script for $objdir/$outputname
+# Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION
+#
+# The $output program cannot be directly executed until all the libtool
+# libraries that it depends on are installed.
+#
+# This wrapper script should never be moved out of the build directory.
+# If it is, it will not operate correctly.
+
+# Sed substitution that helps us do robust quoting. It backslashifies
+# metacharacters that are still active within double-quoted strings.
+Xsed='${SED} -e 1s/^X//'
+sed_quote_subst='$sed_quote_subst'
+
+# Be Bourne compatible
+if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then
+ emulate sh
+ NULLCMD=:
+ # Zsh 3.x and 4.x performs word splitting on \${1+\"\$@\"}, which
+ # is contrary to our usage. Disable this feature.
+ alias -g '\${1+\"\$@\"}'='\"\$@\"'
+ setopt NO_GLOB_SUBST
+else
+ case \`(set -o) 2>/dev/null\` in *posix*) set -o posix;; esac
+fi
+BIN_SH=xpg4; export BIN_SH # for Tru64
+DUALCASE=1; export DUALCASE # for MKS sh
+
+# The HP-UX ksh and POSIX shell print the target directory to stdout
+# if CDPATH is set.
+(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
+
+relink_command=\"$relink_command\"
+
+# This environment variable determines our operation mode.
+if test \"\$libtool_install_magic\" = \"$magic\"; then
+ # install mode needs the following variables:
+ generated_by_libtool_version='$macro_version'
+ notinst_deplibs='$notinst_deplibs'
+else
+ # When we are sourced in execute mode, \$file and \$ECHO are already set.
+ if test \"\$libtool_execute_magic\" != \"$magic\"; then
+ ECHO=\"$qecho\"
+ file=\"\$0\"
+ # Make sure echo works.
+ if test \"X\$1\" = X--no-reexec; then
+ # Discard the --no-reexec flag, and continue.
+ shift
+ elif test \"X\`{ \$ECHO '\t'; } 2>/dev/null\`\" = 'X\t'; then
+ # Yippee, \$ECHO works!
+ :
+ else
+ # Restart under the correct shell, and then maybe \$ECHO will work.
+ exec $SHELL \"\$0\" --no-reexec \${1+\"\$@\"}
+ fi
+ fi\
+"
+ $ECHO "\
+
+ # Find the directory that this script lives in.
+ thisdir=\`\$ECHO \"X\$file\" | \$Xsed -e 's%/[^/]*$%%'\`
+ test \"x\$thisdir\" = \"x\$file\" && thisdir=.
+
+ # Follow symbolic links until we get to the real thisdir.
+ file=\`ls -ld \"\$file\" | ${SED} -n 's/.*-> //p'\`
+ while test -n \"\$file\"; do
+ destdir=\`\$ECHO \"X\$file\" | \$Xsed -e 's%/[^/]*\$%%'\`
+
+ # If there was a directory component, then change thisdir.
+ if test \"x\$destdir\" != \"x\$file\"; then
+ case \"\$destdir\" in
+ [\\\\/]* | [A-Za-z]:[\\\\/]*) thisdir=\"\$destdir\" ;;
+ *) thisdir=\"\$thisdir/\$destdir\" ;;
+ esac
+ fi
+
+ file=\`\$ECHO \"X\$file\" | \$Xsed -e 's%^.*/%%'\`
+ file=\`ls -ld \"\$thisdir/\$file\" | ${SED} -n 's/.*-> //p'\`
+ done
+"
+}
+# end: func_emit_wrapper_part1
+
+# func_emit_wrapper_part2 [arg=no]
+#
+# Emit the second part of a libtool wrapper script on stdout.
+# For more information, see the description associated with
+# func_emit_wrapper(), below.
+func_emit_wrapper_part2 ()
+{
+ func_emit_wrapper_part2_arg1=no
+ if test -n "$1" ; then
+ func_emit_wrapper_part2_arg1=$1
+ fi
+
+ $ECHO "\
+
+ # Usually 'no', except on cygwin/mingw when embedded into
+ # the cwrapper.
+ WRAPPER_SCRIPT_BELONGS_IN_OBJDIR=$func_emit_wrapper_part2_arg1
+ if test \"\$WRAPPER_SCRIPT_BELONGS_IN_OBJDIR\" = \"yes\"; then
+ # special case for '.'
+ if test \"\$thisdir\" = \".\"; then
+ thisdir=\`pwd\`
+ fi
+ # remove .libs from thisdir
+ case \"\$thisdir\" in
+ *[\\\\/]$objdir ) thisdir=\`\$ECHO \"X\$thisdir\" | \$Xsed -e 's%[\\\\/][^\\\\/]*$%%'\` ;;
+ $objdir ) thisdir=. ;;
+ esac
+ fi
+
+ # Try to get the absolute directory name.
+ absdir=\`cd \"\$thisdir\" && pwd\`
+ test -n \"\$absdir\" && thisdir=\"\$absdir\"
+"
+
+ if test "$fast_install" = yes; then
+ $ECHO "\
+ program=lt-'$outputname'$exeext
+ progdir=\"\$thisdir/$objdir\"
+
+ if test ! -f \"\$progdir/\$program\" ||
+ { file=\`ls -1dt \"\$progdir/\$program\" \"\$progdir/../\$program\" 2>/dev/null | ${SED} 1q\`; \\
+ test \"X\$file\" != \"X\$progdir/\$program\"; }; then
+
+ file=\"\$\$-\$program\"
+
+ if test ! -d \"\$progdir\"; then
+ $MKDIR \"\$progdir\"
+ else
+ $RM \"\$progdir/\$file\"
+ fi"
+
+ $ECHO "\
+
+ # relink executable if necessary
+ if test -n \"\$relink_command\"; then
+ if relink_command_output=\`eval \$relink_command 2>&1\`; then :
+ else
+ $ECHO \"\$relink_command_output\" >&2
+ $RM \"\$progdir/\$file\"
+ exit 1
+ fi
+ fi
+
+ $MV \"\$progdir/\$file\" \"\$progdir/\$program\" 2>/dev/null ||
+ { $RM \"\$progdir/\$program\";
+ $MV \"\$progdir/\$file\" \"\$progdir/\$program\"; }
+ $RM \"\$progdir/\$file\"
+ fi"
+ else
+ $ECHO "\
+ program='$outputname'
+ progdir=\"\$thisdir/$objdir\"
+"
+ fi
+
+ $ECHO "\
+
+ if test -f \"\$progdir/\$program\"; then"
+
+ # Export our shlibpath_var if we have one.
+ if test "$shlibpath_overrides_runpath" = yes && test -n "$shlibpath_var" && test -n "$temp_rpath"; then
+ $ECHO "\
+ # Add our own library path to $shlibpath_var
+ $shlibpath_var=\"$temp_rpath\$$shlibpath_var\"
+
+ # Some systems cannot cope with colon-terminated $shlibpath_var
+ # The second colon is a workaround for a bug in BeOS R4 sed
+ $shlibpath_var=\`\$ECHO \"X\$$shlibpath_var\" | \$Xsed -e 's/::*\$//'\`
+
+ export $shlibpath_var
+"
+ fi
+
+ # fixup the dll searchpath if we need to.
+ if test -n "$dllsearchpath"; then
+ $ECHO "\
+ # Add the dll search path components to the executable PATH
+ PATH=$dllsearchpath:\$PATH
+"
+ fi
+
+ $ECHO "\
+ if test \"\$libtool_execute_magic\" != \"$magic\"; then
+ # Run the actual program with our arguments.
+"
+ case $host in
+ # Backslashes separate directories on plain windows
+ *-*-mingw | *-*-os2* | *-cegcc*)
+ $ECHO "\
+ exec \"\$progdir\\\\\$program\" \${1+\"\$@\"}
+"
+ ;;
+
+ *)
+ $ECHO "\
+ exec \"\$progdir/\$program\" \${1+\"\$@\"}
+"
+ ;;
+ esac
+ $ECHO "\
+ \$ECHO \"\$0: cannot exec \$program \$*\" 1>&2
+ exit 1
+ fi
+ else
+ # The program doesn't exist.
+ \$ECHO \"\$0: error: \\\`\$progdir/\$program' does not exist\" 1>&2
+ \$ECHO \"This script is just a wrapper for \$program.\" 1>&2
+ $ECHO \"See the $PACKAGE documentation for more information.\" 1>&2
+ exit 1
+ fi
+fi\
+"
+}
+# end: func_emit_wrapper_part2
+
+
+# func_emit_wrapper [arg=no]
+#
+# Emit a libtool wrapper script on stdout.
+# Don't directly open a file because we may want to
+# incorporate the script contents within a cygwin/mingw
+# wrapper executable. Must ONLY be called from within
+# func_mode_link because it depends on a number of variables
+# set therein.
+#
+# ARG is the value that the WRAPPER_SCRIPT_BELONGS_IN_OBJDIR
+# variable will take. If 'yes', then the emitted script
+# will assume that the directory in which it is stored is
+# the $objdir directory. This is a cygwin/mingw-specific
+# behavior.
+func_emit_wrapper ()
+{
+ func_emit_wrapper_arg1=no
+ if test -n "$1" ; then
+ func_emit_wrapper_arg1=$1
+ fi
+
+ # split this up so that func_emit_cwrapperexe_src
+ # can call each part independently.
+ func_emit_wrapper_part1 "${func_emit_wrapper_arg1}"
+ func_emit_wrapper_part2 "${func_emit_wrapper_arg1}"
+}
+
+
+# func_to_host_path arg
+#
+# Convert paths to host format when used with build tools.
+# Intended for use with "native" mingw (where libtool itself
+# is running under the msys shell), or in the following cross-
+# build environments:
+# $build $host
+# mingw (msys) mingw [e.g. native]
+# cygwin mingw
+# *nix + wine mingw
+# where wine is equipped with the `winepath' executable.
+# In the native mingw case, the (msys) shell automatically
+# converts paths for any non-msys applications it launches,
+# but that facility isn't available from inside the cwrapper.
+# Similar accommodations are necessary for $host mingw and
+# $build cygwin. Calling this function does no harm for other
+# $host/$build combinations not listed above.
+#
+# ARG is the path (on $build) that should be converted to
+# the proper representation for $host. The result is stored
+# in $func_to_host_path_result.
+func_to_host_path ()
+{
+ func_to_host_path_result="$1"
+ if test -n "$1" ; then
+ case $host in
+ *mingw* )
+ lt_sed_naive_backslashify='s|\\\\*|\\|g;s|/|\\|g;s|\\|\\\\|g'
+ case $build in
+ *mingw* ) # actually, msys
+ # awkward: cmd appends spaces to result
+ lt_sed_strip_trailing_spaces="s/[ ]*\$//"
+ func_to_host_path_tmp1=`( cmd //c echo "$1" |\
+ $SED -e "$lt_sed_strip_trailing_spaces" ) 2>/dev/null || echo ""`
+ func_to_host_path_result=`echo "$func_to_host_path_tmp1" |\
+ $SED -e "$lt_sed_naive_backslashify"`
+ ;;
+ *cygwin* )
+ func_to_host_path_tmp1=`cygpath -w "$1"`
+ func_to_host_path_result=`echo "$func_to_host_path_tmp1" |\
+ $SED -e "$lt_sed_naive_backslashify"`
+ ;;
+ * )
+ # Unfortunately, winepath does not exit with a non-zero
+ # error code, so we are forced to check the contents of
+ # stdout. On the other hand, if the command is not
+ # found, the shell will set an exit code of 127 and print
+ # *an error message* to stdout. So we must check for both
+ # error code of zero AND non-empty stdout, which explains
+ # the odd construction:
+ func_to_host_path_tmp1=`winepath -w "$1" 2>/dev/null`
+ if test "$?" -eq 0 && test -n "${func_to_host_path_tmp1}"; then
+ func_to_host_path_result=`echo "$func_to_host_path_tmp1" |\
+ $SED -e "$lt_sed_naive_backslashify"`
+ else
+ # Allow warning below.
+ func_to_host_path_result=""
+ fi
+ ;;
+ esac
+ if test -z "$func_to_host_path_result" ; then
+ func_error "Could not determine host path corresponding to"
+ func_error " '$1'"
+ func_error "Continuing, but uninstalled executables may not work."
+ # Fallback:
+ func_to_host_path_result="$1"
+ fi
+ ;;
+ esac
+ fi
+}
+# end: func_to_host_path
+
+# func_to_host_pathlist arg
+#
+# Convert pathlists to host format when used with build tools.
+# See func_to_host_path(), above. This function supports the
+# following $build/$host combinations (but does no harm for
+# combinations not listed here):
+# $build $host
+# mingw (msys) mingw [e.g. native]
+# cygwin mingw
+# *nix + wine mingw
+#
+# Path separators are also converted from $build format to
+# $host format. If ARG begins or ends with a path separator
+# character, it is preserved (but converted to $host format)
+# on output.
+#
+# ARG is a pathlist (on $build) that should be converted to
+# the proper representation on $host. The result is stored
+# in $func_to_host_pathlist_result.
+func_to_host_pathlist ()
+{
+ func_to_host_pathlist_result="$1"
+ if test -n "$1" ; then
case $host in
- *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*)
+ *mingw* )
+ lt_sed_naive_backslashify='s|\\\\*|\\|g;s|/|\\|g;s|\\|\\\\|g'
+ # Remove leading and trailing path separator characters from
+ # ARG. msys behavior is inconsistent here, cygpath turns them
+ # into '.;' and ';.', and winepath ignores them completely.
+ func_to_host_pathlist_tmp2="$1"
+ # Once set for this call, this variable should not be
+ # reassigned. It is used in tha fallback case.
+ func_to_host_pathlist_tmp1=`echo "$func_to_host_pathlist_tmp2" |\
+ $SED -e 's|^:*||' -e 's|:*$||'`
+ case $build in
+ *mingw* ) # Actually, msys.
+ # Awkward: cmd appends spaces to result.
+ lt_sed_strip_trailing_spaces="s/[ ]*\$//"
+ func_to_host_pathlist_tmp2=`( cmd //c echo "$func_to_host_pathlist_tmp1" |\
+ $SED -e "$lt_sed_strip_trailing_spaces" ) 2>/dev/null || echo ""`
+ func_to_host_pathlist_result=`echo "$func_to_host_pathlist_tmp2" |\
+ $SED -e "$lt_sed_naive_backslashify"`
+ ;;
+ *cygwin* )
+ func_to_host_pathlist_tmp2=`cygpath -w -p "$func_to_host_pathlist_tmp1"`
+ func_to_host_pathlist_result=`echo "$func_to_host_pathlist_tmp2" |\
+ $SED -e "$lt_sed_naive_backslashify"`
+ ;;
+ * )
+ # unfortunately, winepath doesn't convert pathlists
+ func_to_host_pathlist_result=""
+ func_to_host_pathlist_oldIFS=$IFS
+ IFS=:
+ for func_to_host_pathlist_f in $func_to_host_pathlist_tmp1 ; do
+ IFS=$func_to_host_pathlist_oldIFS
+ if test -n "$func_to_host_pathlist_f" ; then
+ func_to_host_path "$func_to_host_pathlist_f"
+ if test -n "$func_to_host_path_result" ; then
+ if test -z "$func_to_host_pathlist_result" ; then
+ func_to_host_pathlist_result="$func_to_host_path_result"
+ else
+ func_to_host_pathlist_result="$func_to_host_pathlist_result;$func_to_host_path_result"
+ fi
+ fi
+ fi
+ IFS=:
+ done
+ IFS=$func_to_host_pathlist_oldIFS
+ ;;
+ esac
+ if test -z "$func_to_host_pathlist_result" ; then
+ func_error "Could not determine the host path(s) corresponding to"
+ func_error " '$1'"
+ func_error "Continuing, but uninstalled executables may not work."
+ # Fallback. This may break if $1 contains DOS-style drive
+ # specifications. The fix is not to complicate the expression
+ # below, but for the user to provide a working wine installation
+ # with winepath so that path translation in the cross-to-mingw
+ # case works properly.
+ lt_replace_pathsep_nix_to_dos="s|:|;|g"
+ func_to_host_pathlist_result=`echo "$func_to_host_pathlist_tmp1" |\
+ $SED -e "$lt_replace_pathsep_nix_to_dos"`
+ fi
+ # Now, add the leading and trailing path separators back
+ case "$1" in
+ :* ) func_to_host_pathlist_result=";$func_to_host_pathlist_result"
+ ;;
+ esac
+ case "$1" in
+ *: ) func_to_host_pathlist_result="$func_to_host_pathlist_result;"
+ ;;
+ esac
+ ;;
+ esac
+ fi
+}
+# end: func_to_host_pathlist
+
+# func_emit_cwrapperexe_src
+# emit the source code for a wrapper executable on stdout
+# Must ONLY be called from within func_mode_link because
+# it depends on a number of variable set therein.
+func_emit_cwrapperexe_src ()
+{
+ cat <<EOF
+
+/* $cwrappersource - temporary wrapper executable for $objdir/$outputname
+ Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION
+
+ The $output program cannot be directly executed until all the libtool
+ libraries that it depends on are installed.
+
+ This wrapper executable should never be moved out of the build directory.
+ If it is, it will not operate correctly.
+
+ Currently, it simply execs the wrapper *script* "$SHELL $output",
+ but could eventually absorb all of the scripts functionality and
+ exec $objdir/$outputname directly.
+*/
+EOF
+ cat <<"EOF"
+#include <stdio.h>
+#include <stdlib.h>
+#ifdef _MSC_VER
+# include <direct.h>
+# include <process.h>
+# include <io.h>
+# define setmode _setmode
+#else
+# include <unistd.h>
+# include <stdint.h>
+# ifdef __CYGWIN__
+# include <io.h>
+# define HAVE_SETENV
+# ifdef __STRICT_ANSI__
+char *realpath (const char *, char *);
+int putenv (char *);
+int setenv (const char *, const char *, int);
+# endif
+# endif
+#endif
+#include <malloc.h>
+#include <stdarg.h>
+#include <assert.h>
+#include <string.h>
+#include <ctype.h>
+#include <errno.h>
+#include <fcntl.h>
+#include <sys/stat.h>
+
+#if defined(PATH_MAX)
+# define LT_PATHMAX PATH_MAX
+#elif defined(MAXPATHLEN)
+# define LT_PATHMAX MAXPATHLEN
+#else
+# define LT_PATHMAX 1024
+#endif
+
+#ifndef S_IXOTH
+# define S_IXOTH 0
+#endif
+#ifndef S_IXGRP
+# define S_IXGRP 0
+#endif
+
+#ifdef _MSC_VER
+# define S_IXUSR _S_IEXEC
+# define stat _stat
+# ifndef _INTPTR_T_DEFINED
+# define intptr_t int
+# endif
+#endif
+
+#ifndef DIR_SEPARATOR
+# define DIR_SEPARATOR '/'
+# define PATH_SEPARATOR ':'
+#endif
+
+#if defined (_WIN32) || defined (__MSDOS__) || defined (__DJGPP__) || \
+ defined (__OS2__)
+# define HAVE_DOS_BASED_FILE_SYSTEM
+# define FOPEN_WB "wb"
+# ifndef DIR_SEPARATOR_2
+# define DIR_SEPARATOR_2 '\\'
+# endif
+# ifndef PATH_SEPARATOR_2
+# define PATH_SEPARATOR_2 ';'
+# endif
+#endif
+
+#ifndef DIR_SEPARATOR_2
+# define IS_DIR_SEPARATOR(ch) ((ch) == DIR_SEPARATOR)
+#else /* DIR_SEPARATOR_2 */
+# define IS_DIR_SEPARATOR(ch) \
+ (((ch) == DIR_SEPARATOR) || ((ch) == DIR_SEPARATOR_2))
+#endif /* DIR_SEPARATOR_2 */
+
+#ifndef PATH_SEPARATOR_2
+# define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR)
+#else /* PATH_SEPARATOR_2 */
+# define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR_2)
+#endif /* PATH_SEPARATOR_2 */
+
+#ifdef __CYGWIN__
+# define FOPEN_WB "wb"
+#endif
+
+#ifndef FOPEN_WB
+# define FOPEN_WB "w"
+#endif
+#ifndef _O_BINARY
+# define _O_BINARY 0
+#endif
+
+#define XMALLOC(type, num) ((type *) xmalloc ((num) * sizeof(type)))
+#define XFREE(stale) do { \
+ if (stale) { free ((void *) stale); stale = 0; } \
+} while (0)
+
+#undef LTWRAPPER_DEBUGPRINTF
+#if defined DEBUGWRAPPER
+# define LTWRAPPER_DEBUGPRINTF(args) ltwrapper_debugprintf args
+static void
+ltwrapper_debugprintf (const char *fmt, ...)
+{
+ va_list args;
+ va_start (args, fmt);
+ (void) vfprintf (stderr, fmt, args);
+ va_end (args);
+}
+#else
+# define LTWRAPPER_DEBUGPRINTF(args)
+#endif
+
+const char *program_name = NULL;
+
+void *xmalloc (size_t num);
+char *xstrdup (const char *string);
+const char *base_name (const char *name);
+char *find_executable (const char *wrapper);
+char *chase_symlinks (const char *pathspec);
+int make_executable (const char *path);
+int check_executable (const char *path);
+char *strendzap (char *str, const char *pat);
+void lt_fatal (const char *message, ...);
+void lt_setenv (const char *name, const char *value);
+char *lt_extend_str (const char *orig_value, const char *add, int to_end);
+void lt_opt_process_env_set (const char *arg);
+void lt_opt_process_env_prepend (const char *arg);
+void lt_opt_process_env_append (const char *arg);
+int lt_split_name_value (const char *arg, char** name, char** value);
+void lt_update_exe_path (const char *name, const char *value);
+void lt_update_lib_path (const char *name, const char *value);
+
+static const char *script_text_part1 =
+EOF
+
+ func_emit_wrapper_part1 yes |
+ $SED -e 's/\([\\"]\)/\\\1/g' \
+ -e 's/^/ "/' -e 's/$/\\n"/'
+ echo ";"
+ cat <<EOF
+
+static const char *script_text_part2 =
+EOF
+ func_emit_wrapper_part2 yes |
+ $SED -e 's/\([\\"]\)/\\\1/g' \
+ -e 's/^/ "/' -e 's/$/\\n"/'
+ echo ";"
+
+ cat <<EOF
+const char * MAGIC_EXE = "$magic_exe";
+const char * LIB_PATH_VARNAME = "$shlibpath_var";
+EOF
+
+ if test "$shlibpath_overrides_runpath" = yes && test -n "$shlibpath_var" && test -n "$temp_rpath"; then
+ func_to_host_pathlist "$temp_rpath"
+ cat <<EOF
+const char * LIB_PATH_VALUE = "$func_to_host_pathlist_result";
+EOF
+ else
+ cat <<"EOF"
+const char * LIB_PATH_VALUE = "";
+EOF
+ fi
+
+ if test -n "$dllsearchpath"; then
+ func_to_host_pathlist "$dllsearchpath:"
+ cat <<EOF
+const char * EXE_PATH_VARNAME = "PATH";
+const char * EXE_PATH_VALUE = "$func_to_host_pathlist_result";
+EOF
+ else
+ cat <<"EOF"
+const char * EXE_PATH_VARNAME = "";
+const char * EXE_PATH_VALUE = "";
+EOF
+ fi
+
+ if test "$fast_install" = yes; then
+ cat <<EOF
+const char * TARGET_PROGRAM_NAME = "lt-$outputname"; /* hopefully, no .exe */
+EOF
+ else
+ cat <<EOF
+const char * TARGET_PROGRAM_NAME = "$outputname"; /* hopefully, no .exe */
+EOF
+ fi
+
+
+ cat <<"EOF"
+
+#define LTWRAPPER_OPTION_PREFIX "--lt-"
+#define LTWRAPPER_OPTION_PREFIX_LENGTH 5
+
+static const size_t opt_prefix_len = LTWRAPPER_OPTION_PREFIX_LENGTH;
+static const char *ltwrapper_option_prefix = LTWRAPPER_OPTION_PREFIX;
+
+static const char *dumpscript_opt = LTWRAPPER_OPTION_PREFIX "dump-script";
+
+static const size_t env_set_opt_len = LTWRAPPER_OPTION_PREFIX_LENGTH + 7;
+static const char *env_set_opt = LTWRAPPER_OPTION_PREFIX "env-set";
+ /* argument is putenv-style "foo=bar", value of foo is set to bar */
+
+static const size_t env_prepend_opt_len = LTWRAPPER_OPTION_PREFIX_LENGTH + 11;
+static const char *env_prepend_opt = LTWRAPPER_OPTION_PREFIX "env-prepend";
+ /* argument is putenv-style "foo=bar", new value of foo is bar${foo} */
+
+static const size_t env_append_opt_len = LTWRAPPER_OPTION_PREFIX_LENGTH + 10;
+static const char *env_append_opt = LTWRAPPER_OPTION_PREFIX "env-append";
+ /* argument is putenv-style "foo=bar", new value of foo is ${foo}bar */
+
+int
+main (int argc, char *argv[])
+{
+ char **newargz;
+ int newargc;
+ char *tmp_pathspec;
+ char *actual_cwrapper_path;
+ char *actual_cwrapper_name;
+ char *target_name;
+ char *lt_argv_zero;
+ intptr_t rval = 127;
+
+ int i;
+
+ program_name = (char *) xstrdup (base_name (argv[0]));
+ LTWRAPPER_DEBUGPRINTF (("(main) argv[0] : %s\n", argv[0]));
+ LTWRAPPER_DEBUGPRINTF (("(main) program_name : %s\n", program_name));
+
+ /* very simple arg parsing; don't want to rely on getopt */
+ for (i = 1; i < argc; i++)
+ {
+ if (strcmp (argv[i], dumpscript_opt) == 0)
+ {
+EOF
+ case "$host" in
+ *mingw* | *cygwin* )
+ # make stdout use "unix" line endings
+ echo " setmode(1,_O_BINARY);"
+ ;;
+ esac
+
+ cat <<"EOF"
+ printf ("%s", script_text_part1);
+ printf ("%s", script_text_part2);
+ return 0;
+ }
+ }
+
+ newargz = XMALLOC (char *, argc + 1);
+ tmp_pathspec = find_executable (argv[0]);
+ if (tmp_pathspec == NULL)
+ lt_fatal ("Couldn't find %s", argv[0]);
+ LTWRAPPER_DEBUGPRINTF (("(main) found exe (before symlink chase) at : %s\n",
+ tmp_pathspec));
+
+ actual_cwrapper_path = chase_symlinks (tmp_pathspec);
+ LTWRAPPER_DEBUGPRINTF (("(main) found exe (after symlink chase) at : %s\n",
+ actual_cwrapper_path));
+ XFREE (tmp_pathspec);
+
+ actual_cwrapper_name = xstrdup( base_name (actual_cwrapper_path));
+ strendzap (actual_cwrapper_path, actual_cwrapper_name);
+
+ /* wrapper name transforms */
+ strendzap (actual_cwrapper_name, ".exe");
+ tmp_pathspec = lt_extend_str (actual_cwrapper_name, ".exe", 1);
+ XFREE (actual_cwrapper_name);
+ actual_cwrapper_name = tmp_pathspec;
+ tmp_pathspec = 0;
+
+ /* target_name transforms -- use actual target program name; might have lt- prefix */
+ target_name = xstrdup (base_name (TARGET_PROGRAM_NAME));
+ strendzap (target_name, ".exe");
+ tmp_pathspec = lt_extend_str (target_name, ".exe", 1);
+ XFREE (target_name);
+ target_name = tmp_pathspec;
+ tmp_pathspec = 0;
+
+ LTWRAPPER_DEBUGPRINTF (("(main) libtool target name: %s\n",
+ target_name));
+EOF
+
+ cat <<EOF
+ newargz[0] =
+ XMALLOC (char, (strlen (actual_cwrapper_path) +
+ strlen ("$objdir") + 1 + strlen (actual_cwrapper_name) + 1));
+ strcpy (newargz[0], actual_cwrapper_path);
+ strcat (newargz[0], "$objdir");
+ strcat (newargz[0], "/");
+EOF
+
+ cat <<"EOF"
+ /* stop here, and copy so we don't have to do this twice */
+ tmp_pathspec = xstrdup (newargz[0]);
+
+ /* do NOT want the lt- prefix here, so use actual_cwrapper_name */
+ strcat (newargz[0], actual_cwrapper_name);
+
+ /* DO want the lt- prefix here if it exists, so use target_name */
+ lt_argv_zero = lt_extend_str (tmp_pathspec, target_name, 1);
+ XFREE (tmp_pathspec);
+ tmp_pathspec = NULL;
+EOF
+
+ case $host_os in
+ mingw*)
+ cat <<"EOF"
+ {
+ char* p;
+ while ((p = strchr (newargz[0], '\\')) != NULL)
+ {
+ *p = '/';
+ }
+ while ((p = strchr (lt_argv_zero, '\\')) != NULL)
+ {
+ *p = '/';
+ }
+ }
+EOF
+ ;;
+ esac
+
+ cat <<"EOF"
+ XFREE (target_name);
+ XFREE (actual_cwrapper_path);
+ XFREE (actual_cwrapper_name);
+
+ lt_setenv ("BIN_SH", "xpg4"); /* for Tru64 */
+ lt_setenv ("DUALCASE", "1"); /* for MSK sh */
+ lt_update_lib_path (LIB_PATH_VARNAME, LIB_PATH_VALUE);
+ lt_update_exe_path (EXE_PATH_VARNAME, EXE_PATH_VALUE);
+
+ newargc=0;
+ for (i = 1; i < argc; i++)
+ {
+ if (strncmp (argv[i], env_set_opt, env_set_opt_len) == 0)
+ {
+ if (argv[i][env_set_opt_len] == '=')
+ {
+ const char *p = argv[i] + env_set_opt_len + 1;
+ lt_opt_process_env_set (p);
+ }
+ else if (argv[i][env_set_opt_len] == '\0' && i + 1 < argc)
+ {
+ lt_opt_process_env_set (argv[++i]); /* don't copy */
+ }
+ else
+ lt_fatal ("%s missing required argument", env_set_opt);
+ continue;
+ }
+ if (strncmp (argv[i], env_prepend_opt, env_prepend_opt_len) == 0)
+ {
+ if (argv[i][env_prepend_opt_len] == '=')
+ {
+ const char *p = argv[i] + env_prepend_opt_len + 1;
+ lt_opt_process_env_prepend (p);
+ }
+ else if (argv[i][env_prepend_opt_len] == '\0' && i + 1 < argc)
+ {
+ lt_opt_process_env_prepend (argv[++i]); /* don't copy */
+ }
+ else
+ lt_fatal ("%s missing required argument", env_prepend_opt);
+ continue;
+ }
+ if (strncmp (argv[i], env_append_opt, env_append_opt_len) == 0)
+ {
+ if (argv[i][env_append_opt_len] == '=')
+ {
+ const char *p = argv[i] + env_append_opt_len + 1;
+ lt_opt_process_env_append (p);
+ }
+ else if (argv[i][env_append_opt_len] == '\0' && i + 1 < argc)
+ {
+ lt_opt_process_env_append (argv[++i]); /* don't copy */
+ }
+ else
+ lt_fatal ("%s missing required argument", env_append_opt);
+ continue;
+ }
+ if (strncmp (argv[i], ltwrapper_option_prefix, opt_prefix_len) == 0)
+ {
+ /* however, if there is an option in the LTWRAPPER_OPTION_PREFIX
+ namespace, but it is not one of the ones we know about and
+ have already dealt with, above (inluding dump-script), then
+ report an error. Otherwise, targets might begin to believe
+ they are allowed to use options in the LTWRAPPER_OPTION_PREFIX
+ namespace. The first time any user complains about this, we'll
+ need to make LTWRAPPER_OPTION_PREFIX a configure-time option
+ or a configure.ac-settable value.
+ */
+ lt_fatal ("Unrecognized option in %s namespace: '%s'",
+ ltwrapper_option_prefix, argv[i]);
+ }
+ /* otherwise ... */
+ newargz[++newargc] = xstrdup (argv[i]);
+ }
+ newargz[++newargc] = NULL;
+
+ LTWRAPPER_DEBUGPRINTF (("(main) lt_argv_zero : %s\n", (lt_argv_zero ? lt_argv_zero : "<NULL>")));
+ for (i = 0; i < newargc; i++)
+ {
+ LTWRAPPER_DEBUGPRINTF (("(main) newargz[%d] : %s\n", i, (newargz[i] ? newargz[i] : "<NULL>")));
+ }
+
+EOF
+
+ case $host_os in
+ mingw*)
+ cat <<"EOF"
+ /* execv doesn't actually work on mingw as expected on unix */
+ rval = _spawnv (_P_WAIT, lt_argv_zero, (const char * const *) newargz);
+ if (rval == -1)
+ {
+ /* failed to start process */
+ LTWRAPPER_DEBUGPRINTF (("(main) failed to launch target \"%s\": errno = %d\n", lt_argv_zero, errno));
+ return 127;
+ }
+ return rval;
+EOF
+ ;;
+ *)
+ cat <<"EOF"
+ execv (lt_argv_zero, newargz);
+ return rval; /* =127, but avoids unused variable warning */
+EOF
+ ;;
+ esac
+
+ cat <<"EOF"
+}
+
+void *
+xmalloc (size_t num)
+{
+ void *p = (void *) malloc (num);
+ if (!p)
+ lt_fatal ("Memory exhausted");
+
+ return p;
+}
+
+char *
+xstrdup (const char *string)
+{
+ return string ? strcpy ((char *) xmalloc (strlen (string) + 1),
+ string) : NULL;
+}
+
+const char *
+base_name (const char *name)
+{
+ const char *base;
+
+#if defined (HAVE_DOS_BASED_FILE_SYSTEM)
+ /* Skip over the disk name in MSDOS pathnames. */
+ if (isalpha ((unsigned char) name[0]) && name[1] == ':')
+ name += 2;
+#endif
+
+ for (base = name; *name; name++)
+ if (IS_DIR_SEPARATOR (*name))
+ base = name + 1;
+ return base;
+}
+
+int
+check_executable (const char *path)
+{
+ struct stat st;
+
+ LTWRAPPER_DEBUGPRINTF (("(check_executable) : %s\n",
+ path ? (*path ? path : "EMPTY!") : "NULL!"));
+ if ((!path) || (!*path))
+ return 0;
+
+ if ((stat (path, &st) >= 0)
+ && (st.st_mode & (S_IXUSR | S_IXGRP | S_IXOTH)))
+ return 1;
+ else
+ return 0;
+}
+
+int
+make_executable (const char *path)
+{
+ int rval = 0;
+ struct stat st;
+
+ LTWRAPPER_DEBUGPRINTF (("(make_executable) : %s\n",
+ path ? (*path ? path : "EMPTY!") : "NULL!"));
+ if ((!path) || (!*path))
+ return 0;
+
+ if (stat (path, &st) >= 0)
+ {
+ rval = chmod (path, st.st_mode | S_IXOTH | S_IXGRP | S_IXUSR);
+ }
+ return rval;
+}
+
+/* Searches for the full path of the wrapper. Returns
+ newly allocated full path name if found, NULL otherwise
+ Does not chase symlinks, even on platforms that support them.
+*/
+char *
+find_executable (const char *wrapper)
+{
+ int has_slash = 0;
+ const char *p;
+ const char *p_next;
+ /* static buffer for getcwd */
+ char tmp[LT_PATHMAX + 1];
+ int tmp_len;
+ char *concat_name;
+
+ LTWRAPPER_DEBUGPRINTF (("(find_executable) : %s\n",
+ wrapper ? (*wrapper ? wrapper : "EMPTY!") : "NULL!"));
+
+ if ((wrapper == NULL) || (*wrapper == '\0'))
+ return NULL;
+
+ /* Absolute path? */
+#if defined (HAVE_DOS_BASED_FILE_SYSTEM)
+ if (isalpha ((unsigned char) wrapper[0]) && wrapper[1] == ':')
+ {
+ concat_name = xstrdup (wrapper);
+ if (check_executable (concat_name))
+ return concat_name;
+ XFREE (concat_name);
+ }
+ else
+ {
+#endif
+ if (IS_DIR_SEPARATOR (wrapper[0]))
+ {
+ concat_name = xstrdup (wrapper);
+ if (check_executable (concat_name))
+ return concat_name;
+ XFREE (concat_name);
+ }
+#if defined (HAVE_DOS_BASED_FILE_SYSTEM)
+ }
+#endif
+
+ for (p = wrapper; *p; p++)
+ if (*p == '/')
+ {
+ has_slash = 1;
+ break;
+ }
+ if (!has_slash)
+ {
+ /* no slashes; search PATH */
+ const char *path = getenv ("PATH");
+ if (path != NULL)
+ {
+ for (p = path; *p; p = p_next)
+ {
+ const char *q;
+ size_t p_len;
+ for (q = p; *q; q++)
+ if (IS_PATH_SEPARATOR (*q))
+ break;
+ p_len = q - p;
+ p_next = (*q == '\0' ? q : q + 1);
+ if (p_len == 0)
+ {
+ /* empty path: current directory */
+ if (getcwd (tmp, LT_PATHMAX) == NULL)
+ lt_fatal ("getcwd failed");
+ tmp_len = strlen (tmp);
+ concat_name =
+ XMALLOC (char, tmp_len + 1 + strlen (wrapper) + 1);
+ memcpy (concat_name, tmp, tmp_len);
+ concat_name[tmp_len] = '/';
+ strcpy (concat_name + tmp_len + 1, wrapper);
+ }
+ else
+ {
+ concat_name =
+ XMALLOC (char, p_len + 1 + strlen (wrapper) + 1);
+ memcpy (concat_name, p, p_len);
+ concat_name[p_len] = '/';
+ strcpy (concat_name + p_len + 1, wrapper);
+ }
+ if (check_executable (concat_name))
+ return concat_name;
+ XFREE (concat_name);
+ }
+ }
+ /* not found in PATH; assume curdir */
+ }
+ /* Relative path | not found in path: prepend cwd */
+ if (getcwd (tmp, LT_PATHMAX) == NULL)
+ lt_fatal ("getcwd failed");
+ tmp_len = strlen (tmp);
+ concat_name = XMALLOC (char, tmp_len + 1 + strlen (wrapper) + 1);
+ memcpy (concat_name, tmp, tmp_len);
+ concat_name[tmp_len] = '/';
+ strcpy (concat_name + tmp_len + 1, wrapper);
+
+ if (check_executable (concat_name))
+ return concat_name;
+ XFREE (concat_name);
+ return NULL;
+}
+
+char *
+chase_symlinks (const char *pathspec)
+{
+#ifndef S_ISLNK
+ return xstrdup (pathspec);
+#else
+ char buf[LT_PATHMAX];
+ struct stat s;
+ char *tmp_pathspec = xstrdup (pathspec);
+ char *p;
+ int has_symlinks = 0;
+ while (strlen (tmp_pathspec) && !has_symlinks)
+ {
+ LTWRAPPER_DEBUGPRINTF (("checking path component for symlinks: %s\n",
+ tmp_pathspec));
+ if (lstat (tmp_pathspec, &s) == 0)
+ {
+ if (S_ISLNK (s.st_mode) != 0)
+ {
+ has_symlinks = 1;
+ break;
+ }
+
+ /* search backwards for last DIR_SEPARATOR */
+ p = tmp_pathspec + strlen (tmp_pathspec) - 1;
+ while ((p > tmp_pathspec) && (!IS_DIR_SEPARATOR (*p)))
+ p--;
+ if ((p == tmp_pathspec) && (!IS_DIR_SEPARATOR (*p)))
+ {
+ /* no more DIR_SEPARATORS left */
+ break;
+ }
+ *p = '\0';
+ }
+ else
+ {
+ char *errstr = strerror (errno);
+ lt_fatal ("Error accessing file %s (%s)", tmp_pathspec, errstr);
+ }
+ }
+ XFREE (tmp_pathspec);
+
+ if (!has_symlinks)
+ {
+ return xstrdup (pathspec);
+ }
+
+ tmp_pathspec = realpath (pathspec, buf);
+ if (tmp_pathspec == 0)
+ {
+ lt_fatal ("Could not follow symlinks for %s", pathspec);
+ }
+ return xstrdup (tmp_pathspec);
+#endif
+}
+
+char *
+strendzap (char *str, const char *pat)
+{
+ size_t len, patlen;
+
+ assert (str != NULL);
+ assert (pat != NULL);
+
+ len = strlen (str);
+ patlen = strlen (pat);
+
+ if (patlen <= len)
+ {
+ str += len - patlen;
+ if (strcmp (str, pat) == 0)
+ *str = '\0';
+ }
+ return str;
+}
+
+static void
+lt_error_core (int exit_status, const char *mode,
+ const char *message, va_list ap)
+{
+ fprintf (stderr, "%s: %s: ", program_name, mode);
+ vfprintf (stderr, message, ap);
+ fprintf (stderr, ".\n");
+
+ if (exit_status >= 0)
+ exit (exit_status);
+}
+
+void
+lt_fatal (const char *message, ...)
+{
+ va_list ap;
+ va_start (ap, message);
+ lt_error_core (EXIT_FAILURE, "FATAL", message, ap);
+ va_end (ap);
+}
+
+void
+lt_setenv (const char *name, const char *value)
+{
+ LTWRAPPER_DEBUGPRINTF (("(lt_setenv) setting '%s' to '%s'\n",
+ (name ? name : "<NULL>"),
+ (value ? value : "<NULL>")));
+ {
+#ifdef HAVE_SETENV
+ /* always make a copy, for consistency with !HAVE_SETENV */
+ char *str = xstrdup (value);
+ setenv (name, str, 1);
+#else
+ int len = strlen (name) + 1 + strlen (value) + 1;
+ char *str = XMALLOC (char, len);
+ sprintf (str, "%s=%s", name, value);
+ if (putenv (str) != EXIT_SUCCESS)
+ {
+ XFREE (str);
+ }
+#endif
+ }
+}
+
+char *
+lt_extend_str (const char *orig_value, const char *add, int to_end)
+{
+ char *new_value;
+ if (orig_value && *orig_value)
+ {
+ int orig_value_len = strlen (orig_value);
+ int add_len = strlen (add);
+ new_value = XMALLOC (char, add_len + orig_value_len + 1);
+ if (to_end)
+ {
+ strcpy (new_value, orig_value);
+ strcpy (new_value + orig_value_len, add);
+ }
+ else
+ {
+ strcpy (new_value, add);
+ strcpy (new_value + add_len, orig_value);
+ }
+ }
+ else
+ {
+ new_value = xstrdup (add);
+ }
+ return new_value;
+}
+
+int
+lt_split_name_value (const char *arg, char** name, char** value)
+{
+ const char *p;
+ int len;
+ if (!arg || !*arg)
+ return 1;
+
+ p = strchr (arg, (int)'=');
+
+ if (!p)
+ return 1;
+
+ *value = xstrdup (++p);
+
+ len = strlen (arg) - strlen (*value);
+ *name = XMALLOC (char, len);
+ strncpy (*name, arg, len-1);
+ (*name)[len - 1] = '\0';
+
+ return 0;
+}
+
+void
+lt_opt_process_env_set (const char *arg)
+{
+ char *name = NULL;
+ char *value = NULL;
+
+ if (lt_split_name_value (arg, &name, &value) != 0)
+ {
+ XFREE (name);
+ XFREE (value);
+ lt_fatal ("bad argument for %s: '%s'", env_set_opt, arg);
+ }
+
+ lt_setenv (name, value);
+ XFREE (name);
+ XFREE (value);
+}
+
+void
+lt_opt_process_env_prepend (const char *arg)
+{
+ char *name = NULL;
+ char *value = NULL;
+ char *new_value = NULL;
+
+ if (lt_split_name_value (arg, &name, &value) != 0)
+ {
+ XFREE (name);
+ XFREE (value);
+ lt_fatal ("bad argument for %s: '%s'", env_prepend_opt, arg);
+ }
+
+ new_value = lt_extend_str (getenv (name), value, 0);
+ lt_setenv (name, new_value);
+ XFREE (new_value);
+ XFREE (name);
+ XFREE (value);
+}
+
+void
+lt_opt_process_env_append (const char *arg)
+{
+ char *name = NULL;
+ char *value = NULL;
+ char *new_value = NULL;
+
+ if (lt_split_name_value (arg, &name, &value) != 0)
+ {
+ XFREE (name);
+ XFREE (value);
+ lt_fatal ("bad argument for %s: '%s'", env_append_opt, arg);
+ }
+
+ new_value = lt_extend_str (getenv (name), value, 1);
+ lt_setenv (name, new_value);
+ XFREE (new_value);
+ XFREE (name);
+ XFREE (value);
+}
+
+void
+lt_update_exe_path (const char *name, const char *value)
+{
+ LTWRAPPER_DEBUGPRINTF (("(lt_update_exe_path) modifying '%s' by prepending '%s'\n",
+ (name ? name : "<NULL>"),
+ (value ? value : "<NULL>")));
+
+ if (name && *name && value && *value)
+ {
+ char *new_value = lt_extend_str (getenv (name), value, 0);
+ /* some systems can't cope with a ':'-terminated path #' */
+ int len = strlen (new_value);
+ while (((len = strlen (new_value)) > 0) && IS_PATH_SEPARATOR (new_value[len-1]))
+ {
+ new_value[len-1] = '\0';
+ }
+ lt_setenv (name, new_value);
+ XFREE (new_value);
+ }
+}
+
+void
+lt_update_lib_path (const char *name, const char *value)
+{
+ LTWRAPPER_DEBUGPRINTF (("(lt_update_lib_path) modifying '%s' by prepending '%s'\n",
+ (name ? name : "<NULL>"),
+ (value ? value : "<NULL>")));
+
+ if (name && *name && value && *value)
+ {
+ char *new_value = lt_extend_str (getenv (name), value, 0);
+ lt_setenv (name, new_value);
+ XFREE (new_value);
+ }
+}
+
+
+EOF
+}
+# end: func_emit_cwrapperexe_src
+
+# func_mode_link arg...
+func_mode_link ()
+{
+ $opt_debug
+ case $host in
+ *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*)
# It is impossible to link a dll without this setting, and
# we shouldn't force the makefile maintainer to figure out
# which system we are compiling for in order to pass an extra
@@ -1114,10 +4051,10 @@ EOF
allow_undefined=yes
;;
esac
- libtool_args="$nonopt"
+ libtool_args=$nonopt
base_compile="$nonopt $@"
- compile_command="$nonopt"
- finalize_command="$nonopt"
+ compile_command=$nonopt
+ finalize_command=$nonopt
compile_rpath=
finalize_rpath=
@@ -1132,6 +4069,7 @@ EOF
dllsearchpath=
lib_search_path=`pwd`
inst_prefix_dir=
+ new_inherited_linker_flags=
avoid_version=no
dlfiles=
@@ -1147,7 +4085,6 @@ EOF
no_install=no
objs=
non_pic_objects=
- notinst_path= # paths that contain not-installed libtool libraries
precious_files_regex=
prefer_static_libs=no
preload=no
@@ -1161,18 +4098,25 @@ EOF
thread_safe=no
vinfo=
vinfo_number=no
-
+ weak_libs=
+ single_module="${wl}-single_module"
func_infer_tag $base_compile
# We need to know -static, to get the right output filenames.
for arg
do
case $arg in
+ -shared)
+ test "$build_libtool_libs" != yes && \
+ func_fatal_configuration "can not build a shared library"
+ build_old_libs=no
+ break
+ ;;
-all-static | -static | -static-libtool-libs)
case $arg in
-all-static)
if test "$build_libtool_libs" = yes && test -z "$link_static_flag"; then
- $echo "$modename: warning: complete static linking is impossible in this configuration" 1>&2
+ func_warning "complete static linking is impossible in this configuration"
fi
if test -n "$link_static_flag"; then
dlopen_self=$dlopen_self_static
@@ -1206,20 +4150,16 @@ EOF
while test "$#" -gt 0; do
arg="$1"
shift
- case $arg in
- *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
- qarg=\"`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`\" ### testsuite: skip nested quoting test
- ;;
- *) qarg=$arg ;;
- esac
- libtool_args="$libtool_args $qarg"
+ func_quote_for_eval "$arg"
+ qarg=$func_quote_for_eval_unquoted_result
+ func_append libtool_args " $func_quote_for_eval_result"
# If the previous option needs an argument, assign it.
if test -n "$prev"; then
case $prev in
output)
- compile_command="$compile_command @OUTPUT@"
- finalize_command="$finalize_command @OUTPUT@"
+ func_append compile_command " @OUTPUT@"
+ func_append finalize_command " @OUTPUT@"
;;
esac
@@ -1227,8 +4167,8 @@ EOF
dlfiles|dlprefiles)
if test "$preload" = no; then
# Add the symbol object into the linking commands.
- compile_command="$compile_command @SYMFILE@"
- finalize_command="$finalize_command @SYMFILE@"
+ func_append compile_command " @SYMFILE@"
+ func_append finalize_command " @SYMFILE@"
preload=yes
fi
case $arg in
@@ -1266,10 +4206,8 @@ EOF
;;
expsyms)
export_symbols="$arg"
- if test ! -f "$arg"; then
- $echo "$modename: symbol file \`$arg' does not exist"
- exit $EXIT_FAILURE
- fi
+ test -f "$arg" \
+ || func_fatal_error "symbol file \`$arg' does not exist"
prev=
continue
;;
@@ -1278,18 +4216,21 @@ EOF
prev=
continue
;;
- inst_prefix)
- inst_prefix_dir="$arg"
- prev=
- continue
- ;;
- precious_regex)
- precious_files_regex="$arg"
+ framework)
+ case $host in
+ *-*-darwin*)
+ case "$deplibs " in
+ *" $qarg.ltframework "*) ;;
+ *) deplibs="$deplibs $qarg.ltframework" # this is fixed later
+ ;;
+ esac
+ ;;
+ esac
prev=
continue
;;
- release)
- release="-$arg"
+ inst_prefix)
+ inst_prefix_dir="$arg"
prev=
continue
;;
@@ -1297,39 +4238,30 @@ EOF
if test -f "$arg"; then
save_arg=$arg
moreargs=
- for fil in `cat $save_arg`
+ for fil in `cat "$save_arg"`
do
# moreargs="$moreargs $fil"
arg=$fil
# A libtool-controlled object.
# Check to see that this really is a libtool object.
- if (${SED} -e '2q' $arg | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then
+ if func_lalib_unsafe_p "$arg"; then
pic_object=
non_pic_object=
# Read the .lo file
- # If there is no directory component, then add one.
- case $arg in
- */* | *\\*) . $arg ;;
- *) . ./$arg ;;
- esac
+ func_source "$arg"
- if test -z "$pic_object" || \
+ if test -z "$pic_object" ||
test -z "$non_pic_object" ||
- test "$pic_object" = none && \
+ test "$pic_object" = none &&
test "$non_pic_object" = none; then
- $echo "$modename: cannot find name of object for \`$arg'" 1>&2
- exit $EXIT_FAILURE
+ func_fatal_error "cannot find name of object for \`$arg'"
fi
# Extract subdirectory from the argument.
- xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'`
- if test "X$xdir" = "X$arg"; then
- xdir=
- else
- xdir="$xdir/"
- fi
+ func_dirname "$arg" "/" ""
+ xdir="$func_dirname_result"
if test "$pic_object" != none; then
# Prepend the subdirectory the object is found in.
@@ -1354,7 +4286,7 @@ EOF
fi
# A PIC object.
- libobjs="$libobjs $pic_object"
+ func_append libobjs " $pic_object"
arg="$pic_object"
fi
@@ -1364,7 +4296,7 @@ EOF
non_pic_object="$xdir$non_pic_object"
# A standard non-PIC object
- non_pic_objects="$non_pic_objects $non_pic_object"
+ func_append non_pic_objects " $non_pic_object"
if test -z "$pic_object" || test "$pic_object" = none ; then
arg="$non_pic_object"
fi
@@ -1372,46 +4304,48 @@ EOF
# If the PIC object exists, use it instead.
# $xdir was prepended to $pic_object above.
non_pic_object="$pic_object"
- non_pic_objects="$non_pic_objects $non_pic_object"
+ func_append non_pic_objects " $non_pic_object"
fi
else
# Only an error if not doing a dry-run.
- if test -z "$run"; then
- $echo "$modename: \`$arg' is not a valid libtool object" 1>&2
- exit $EXIT_FAILURE
- else
- # Dry-run case.
-
+ if $opt_dry_run; then
# Extract subdirectory from the argument.
- xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'`
- if test "X$xdir" = "X$arg"; then
- xdir=
- else
- xdir="$xdir/"
- fi
-
- pic_object=`$echo "X${xdir}${objdir}/${arg}" | $Xsed -e "$lo2o"`
- non_pic_object=`$echo "X${xdir}${arg}" | $Xsed -e "$lo2o"`
- libobjs="$libobjs $pic_object"
- non_pic_objects="$non_pic_objects $non_pic_object"
+ func_dirname "$arg" "/" ""
+ xdir="$func_dirname_result"
+
+ func_lo2o "$arg"
+ pic_object=$xdir$objdir/$func_lo2o_result
+ non_pic_object=$xdir$func_lo2o_result
+ func_append libobjs " $pic_object"
+ func_append non_pic_objects " $non_pic_object"
+ else
+ func_fatal_error "\`$arg' is not a valid libtool object"
fi
fi
done
else
- $echo "$modename: link input file \`$save_arg' does not exist"
- exit $EXIT_FAILURE
+ func_fatal_error "link input file \`$arg' does not exist"
fi
arg=$save_arg
prev=
continue
;;
+ precious_regex)
+ precious_files_regex="$arg"
+ prev=
+ continue
+ ;;
+ release)
+ release="-$arg"
+ prev=
+ continue
+ ;;
rpath | xrpath)
# We need an absolute path.
case $arg in
[\\/]* | [A-Za-z]:[\\/]*) ;;
*)
- $echo "$modename: only absolute run-paths are allowed" 1>&2
- exit $EXIT_FAILURE
+ func_fatal_error "only absolute run-paths are allowed"
;;
esac
if test "$prev" = rpath; then
@@ -1428,39 +4362,37 @@ EOF
prev=
continue
;;
- xcompiler)
- compiler_flags="$compiler_flags $qarg"
+ shrext)
+ shrext_cmds="$arg"
prev=
- compile_command="$compile_command $qarg"
- finalize_command="$finalize_command $qarg"
continue
;;
- xlinker)
- linker_flags="$linker_flags $qarg"
- compiler_flags="$compiler_flags $wl$qarg"
+ weak)
+ weak_libs="$weak_libs $arg"
prev=
- compile_command="$compile_command $wl$qarg"
- finalize_command="$finalize_command $wl$qarg"
continue
;;
xcclinker)
linker_flags="$linker_flags $qarg"
compiler_flags="$compiler_flags $qarg"
prev=
- compile_command="$compile_command $qarg"
- finalize_command="$finalize_command $qarg"
+ func_append compile_command " $qarg"
+ func_append finalize_command " $qarg"
continue
;;
- shrext)
- shrext_cmds="$arg"
+ xcompiler)
+ compiler_flags="$compiler_flags $qarg"
prev=
+ func_append compile_command " $qarg"
+ func_append finalize_command " $qarg"
continue
;;
- darwin_framework|darwin_framework_skip)
- test "$prev" = "darwin_framework" && compiler_flags="$compiler_flags $arg"
- compile_command="$compile_command $arg"
- finalize_command="$finalize_command $arg"
+ xlinker)
+ linker_flags="$linker_flags $qarg"
+ compiler_flags="$compiler_flags $wl$qarg"
prev=
+ func_append compile_command " $wl$qarg"
+ func_append finalize_command " $wl$qarg"
continue
;;
*)
@@ -1476,16 +4408,16 @@ EOF
case $arg in
-all-static)
if test -n "$link_static_flag"; then
- compile_command="$compile_command $link_static_flag"
- finalize_command="$finalize_command $link_static_flag"
+ # See comment for -static flag below, for more details.
+ func_append compile_command " $link_static_flag"
+ func_append finalize_command " $link_static_flag"
fi
continue
;;
-allow-undefined)
# FIXME: remove this flag sometime in the future.
- $echo "$modename: \`-allow-undefined' is deprecated because it is the default" 1>&2
- continue
+ func_fatal_error "\`-allow-undefined' must not be used because it is the default"
;;
-avoid-version)
@@ -1510,8 +4442,7 @@ EOF
-export-symbols | -export-symbols-regex)
if test -n "$export_symbols" || test -n "$export_symbols_regex"; then
- $echo "$modename: more than one -exported-symbols argument is not allowed"
- exit $EXIT_FAILURE
+ func_fatal_error "more than one -exported-symbols argument is not allowed"
fi
if test "X$arg" = "X-export-symbols"; then
prev=expsyms
@@ -1521,15 +4452,8 @@ EOF
continue
;;
- -framework|-arch|-isysroot)
- case " $CC " in
- *" ${arg} ${1} "* | *" ${arg} ${1} "*)
- prev=darwin_framework_skip ;;
- *) compiler_flags="$compiler_flags $arg"
- prev=darwin_framework ;;
- esac
- compile_command="$compile_command $arg"
- finalize_command="$finalize_command $arg"
+ -framework)
+ prev=framework
continue
;;
@@ -1543,25 +4467,30 @@ EOF
-L[A-Z][A-Z]*:*)
case $with_gcc/$host in
no/*-*-irix* | /*-*-irix*)
- compile_command="$compile_command $arg"
- finalize_command="$finalize_command $arg"
+ func_append compile_command " $arg"
+ func_append finalize_command " $arg"
;;
esac
continue
;;
-L*)
- dir=`$echo "X$arg" | $Xsed -e 's/^-L//'`
+ func_stripname '-L' '' "$arg"
+ dir=$func_stripname_result
+ if test -z "$dir"; then
+ if test "$#" -gt 0; then
+ func_fatal_error "require no space between \`-L' and \`$1'"
+ else
+ func_fatal_error "need path for \`-L' option"
+ fi
+ fi
# We need an absolute path.
case $dir in
[\\/]* | [A-Za-z]:[\\/]*) ;;
*)
absdir=`cd "$dir" && pwd`
- if test -z "$absdir"; then
- $echo "$modename: cannot determine absolute directory name of \`$dir'" 1>&2
- absdir="$dir"
- notinst_path="$notinst_path $dir"
- fi
+ test -z "$absdir" && \
+ func_fatal_error "cannot determine absolute directory name of \`$dir'"
dir="$absdir"
;;
esac
@@ -1573,14 +4502,16 @@ EOF
;;
esac
case $host in
- *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*)
- testbindir=`$echo "X$dir" | $Xsed -e 's*/lib$*/bin*'`
+ *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*)
+ testbindir=`$ECHO "X$dir" | $Xsed -e 's*/lib$*/bin*'`
case :$dllsearchpath: in
*":$dir:"*) ;;
+ ::) dllsearchpath=$dir;;
*) dllsearchpath="$dllsearchpath:$dir";;
esac
case :$dllsearchpath: in
*":$testbindir:"*) ;;
+ ::) dllsearchpath=$testbindir;;
*) dllsearchpath="$dllsearchpath:$testbindir";;
esac
;;
@@ -1591,7 +4522,7 @@ EOF
-l*)
if test "X$arg" = "X-lc" || test "X$arg" = "X-lm"; then
case $host in
- *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-beos*)
+ *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-beos* | *-cegcc*)
# These systems don't actually have a C or math library (as such)
continue
;;
@@ -1605,7 +4536,7 @@ EOF
;;
*-*-rhapsody* | *-*-darwin1.[012])
# Rhapsody C and math libraries are in the System framework
- deplibs="$deplibs -framework System"
+ deplibs="$deplibs System.ltframework"
continue
;;
*-*-sco3.2v5* | *-*-sco5v6*)
@@ -1629,58 +4560,35 @@ EOF
continue
;;
+ -module)
+ module=yes
+ continue
+ ;;
+
# Tru64 UNIX uses -model [arg] to determine the layout of C++
# classes, name mangling, and exception handling.
- -model)
- compile_command="$compile_command $arg"
+ # Darwin uses the -arch flag to determine output architecture.
+ -model|-arch|-isysroot)
compiler_flags="$compiler_flags $arg"
- finalize_command="$finalize_command $arg"
+ func_append compile_command " $arg"
+ func_append finalize_command " $arg"
prev=xcompiler
continue
;;
- -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe|-threads)
+ -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe|-threads)
compiler_flags="$compiler_flags $arg"
- compile_command="$compile_command $arg"
- finalize_command="$finalize_command $arg"
+ func_append compile_command " $arg"
+ func_append finalize_command " $arg"
+ case "$new_inherited_linker_flags " in
+ *" $arg "*) ;;
+ * ) new_inherited_linker_flags="$new_inherited_linker_flags $arg" ;;
+ esac
continue
;;
- -module)
- module=yes
- continue
- ;;
-
- # -64, -mips[0-9] enable 64-bit mode on the SGI compiler
- # -r[0-9][0-9]* specifies the processor on the SGI compiler
- # -xarch=*, -xtarget=* enable 64-bit mode on the Sun compiler
- # +DA*, +DD* enable 64-bit mode on the HP compiler
- # -q* pass through compiler args for the IBM compiler
- # -m* pass through architecture-specific compiler args for GCC
- # -m*, -t[45]*, -txscale* pass through architecture-specific
- # compiler args for GCC
- # -p, -pg, --coverage, -fprofile-* pass through profiling flag for GCC
- # -F/path gives path to uninstalled frameworks, gcc on darwin
- # @file GCC response files
- -64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*| \
- -t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*)
-
- # Unknown arguments in both finalize_command and compile_command need
- # to be aesthetically quoted because they are evaled later.
- arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
- case $arg in
- *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
- arg="\"$arg\""
- ;;
- esac
- compile_command="$compile_command $arg"
- finalize_command="$finalize_command $arg"
- compiler_flags="$compiler_flags $arg"
- continue
- ;;
-
- -shrext)
- prev=shrext
+ -multi_module)
+ single_module="${wl}-multi_module"
continue
;;
@@ -1691,11 +4599,11 @@ EOF
-no-install)
case $host in
- *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-darwin*)
+ *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-darwin* | *-cegcc*)
# The PATH hackery in wrapper scripts is required on Windows
# and Darwin in order for the loader to find any dlls it needs.
- $echo "$modename: warning: \`-no-install' is ignored for $host" 1>&2
- $echo "$modename: warning: assuming \`-no-fast-install' instead" 1>&2
+ func_warning "\`-no-install' is ignored for $host"
+ func_warning "assuming \`-no-fast-install' instead"
fast_install=no
;;
*) no_install=yes ;;
@@ -1736,13 +4644,13 @@ EOF
;;
-R*)
- dir=`$echo "X$arg" | $Xsed -e 's/^-R//'`
+ func_stripname '-R' '' "$arg"
+ dir=$func_stripname_result
# We need an absolute path.
case $dir in
[\\/]* | [A-Za-z]:[\\/]*) ;;
*)
- $echo "$modename: only absolute run-paths are allowed" 1>&2
- exit $EXIT_FAILURE
+ func_fatal_error "only absolute run-paths are allowed"
;;
esac
case "$xrpath " in
@@ -1752,6 +4660,16 @@ EOF
continue
;;
+ -shared)
+ # The effects of -shared are defined in a previous loop.
+ continue
+ ;;
+
+ -shrext)
+ prev=shrext
+ continue
+ ;;
+
-static | -static-libtool-libs)
# The effects of -static are defined in a previous loop.
# We used to do the same as -all-static on platforms that
@@ -1770,47 +4688,49 @@ EOF
prev=vinfo
continue
;;
+
-version-number)
prev=vinfo
vinfo_number=yes
continue
;;
+ -weak)
+ prev=weak
+ continue
+ ;;
+
-Wc,*)
- args=`$echo "X$arg" | $Xsed -e "$sed_quote_subst" -e 's/^-Wc,//'`
+ func_stripname '-Wc,' '' "$arg"
+ args=$func_stripname_result
arg=
save_ifs="$IFS"; IFS=','
for flag in $args; do
IFS="$save_ifs"
- case $flag in
- *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
- flag="\"$flag\""
- ;;
- esac
- arg="$arg $wl$flag"
- compiler_flags="$compiler_flags $flag"
+ func_quote_for_eval "$flag"
+ arg="$arg $wl$func_quote_for_eval_result"
+ compiler_flags="$compiler_flags $func_quote_for_eval_result"
done
IFS="$save_ifs"
- arg=`$echo "X$arg" | $Xsed -e "s/^ //"`
+ func_stripname ' ' '' "$arg"
+ arg=$func_stripname_result
;;
-Wl,*)
- args=`$echo "X$arg" | $Xsed -e "$sed_quote_subst" -e 's/^-Wl,//'`
+ func_stripname '-Wl,' '' "$arg"
+ args=$func_stripname_result
arg=
save_ifs="$IFS"; IFS=','
for flag in $args; do
IFS="$save_ifs"
- case $flag in
- *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
- flag="\"$flag\""
- ;;
- esac
- arg="$arg $wl$flag"
- compiler_flags="$compiler_flags $wl$flag"
- linker_flags="$linker_flags $flag"
+ func_quote_for_eval "$flag"
+ arg="$arg $wl$func_quote_for_eval_result"
+ compiler_flags="$compiler_flags $wl$func_quote_for_eval_result"
+ linker_flags="$linker_flags $func_quote_for_eval_result"
done
IFS="$save_ifs"
- arg=`$echo "X$arg" | $Xsed -e "s/^ //"`
+ func_stripname ' ' '' "$arg"
+ arg=$func_stripname_result
;;
-Xcompiler)
@@ -1828,16 +4748,36 @@ EOF
continue
;;
+ # -msg_* for osf cc
+ -msg_*)
+ func_quote_for_eval "$arg"
+ arg="$func_quote_for_eval_result"
+ ;;
+
+ # -64, -mips[0-9] enable 64-bit mode on the SGI compiler
+ # -r[0-9][0-9]* specifies the processor on the SGI compiler
+ # -xarch=*, -xtarget=* enable 64-bit mode on the Sun compiler
+ # +DA*, +DD* enable 64-bit mode on the HP compiler
+ # -q* pass through compiler args for the IBM compiler
+ # -m*, -t[45]*, -txscale* pass through architecture-specific
+ # compiler args for GCC
+ # -F/path gives path to uninstalled frameworks, gcc on darwin
+ # -p, -pg, --coverage, -fprofile-* pass through profiling flag for GCC
+ # @file GCC response files
+ -64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*| \
+ -t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*)
+ func_quote_for_eval "$arg"
+ arg="$func_quote_for_eval_result"
+ func_append compile_command " $arg"
+ func_append finalize_command " $arg"
+ compiler_flags="$compiler_flags $arg"
+ continue
+ ;;
+
# Some other compiler flag.
-* | +*)
- # Unknown arguments in both finalize_command and compile_command need
- # to be aesthetically quoted because they are evaled later.
- arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
- case $arg in
- *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
- arg="\"$arg\""
- ;;
- esac
+ func_quote_for_eval "$arg"
+ arg="$func_quote_for_eval_result"
;;
*.$objext)
@@ -1849,32 +4789,23 @@ EOF
# A libtool-controlled object.
# Check to see that this really is a libtool object.
- if (${SED} -e '2q' $arg | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then
+ if func_lalib_unsafe_p "$arg"; then
pic_object=
non_pic_object=
# Read the .lo file
- # If there is no directory component, then add one.
- case $arg in
- */* | *\\*) . $arg ;;
- *) . ./$arg ;;
- esac
+ func_source "$arg"
- if test -z "$pic_object" || \
+ if test -z "$pic_object" ||
test -z "$non_pic_object" ||
- test "$pic_object" = none && \
+ test "$pic_object" = none &&
test "$non_pic_object" = none; then
- $echo "$modename: cannot find name of object for \`$arg'" 1>&2
- exit $EXIT_FAILURE
+ func_fatal_error "cannot find name of object for \`$arg'"
fi
# Extract subdirectory from the argument.
- xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'`
- if test "X$xdir" = "X$arg"; then
- xdir=
- else
- xdir="$xdir/"
- fi
+ func_dirname "$arg" "/" ""
+ xdir="$func_dirname_result"
if test "$pic_object" != none; then
# Prepend the subdirectory the object is found in.
@@ -1899,7 +4830,7 @@ EOF
fi
# A PIC object.
- libobjs="$libobjs $pic_object"
+ func_append libobjs " $pic_object"
arg="$pic_object"
fi
@@ -1909,7 +4840,7 @@ EOF
non_pic_object="$xdir$non_pic_object"
# A standard non-PIC object
- non_pic_objects="$non_pic_objects $non_pic_object"
+ func_append non_pic_objects " $non_pic_object"
if test -z "$pic_object" || test "$pic_object" = none ; then
arg="$non_pic_object"
fi
@@ -1917,28 +4848,22 @@ EOF
# If the PIC object exists, use it instead.
# $xdir was prepended to $pic_object above.
non_pic_object="$pic_object"
- non_pic_objects="$non_pic_objects $non_pic_object"
+ func_append non_pic_objects " $non_pic_object"
fi
else
# Only an error if not doing a dry-run.
- if test -z "$run"; then
- $echo "$modename: \`$arg' is not a valid libtool object" 1>&2
- exit $EXIT_FAILURE
- else
- # Dry-run case.
-
+ if $opt_dry_run; then
# Extract subdirectory from the argument.
- xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'`
- if test "X$xdir" = "X$arg"; then
- xdir=
- else
- xdir="$xdir/"
- fi
-
- pic_object=`$echo "X${xdir}${objdir}/${arg}" | $Xsed -e "$lo2o"`
- non_pic_object=`$echo "X${xdir}${arg}" | $Xsed -e "$lo2o"`
- libobjs="$libobjs $pic_object"
- non_pic_objects="$non_pic_objects $non_pic_object"
+ func_dirname "$arg" "/" ""
+ xdir="$func_dirname_result"
+
+ func_lo2o "$arg"
+ pic_object=$xdir$objdir/$func_lo2o_result
+ non_pic_object=$xdir$func_lo2o_result
+ func_append libobjs " $pic_object"
+ func_append non_pic_objects " $non_pic_object"
+ else
+ func_fatal_error "\`$arg' is not a valid libtool object"
fi
fi
;;
@@ -1971,70 +4896,51 @@ EOF
*)
# Unknown arguments in both finalize_command and compile_command need
# to be aesthetically quoted because they are evaled later.
- arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
- case $arg in
- *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
- arg="\"$arg\""
- ;;
- esac
+ func_quote_for_eval "$arg"
+ arg="$func_quote_for_eval_result"
;;
esac # arg
# Now actually substitute the argument into the commands.
if test -n "$arg"; then
- compile_command="$compile_command $arg"
- finalize_command="$finalize_command $arg"
+ func_append compile_command " $arg"
+ func_append finalize_command " $arg"
fi
done # argument parsing loop
- if test -n "$prev"; then
- $echo "$modename: the \`$prevarg' option requires an argument" 1>&2
- $echo "$help" 1>&2
- exit $EXIT_FAILURE
- fi
+ test -n "$prev" && \
+ func_fatal_help "the \`$prevarg' option requires an argument"
if test "$export_dynamic" = yes && test -n "$export_dynamic_flag_spec"; then
eval arg=\"$export_dynamic_flag_spec\"
- compile_command="$compile_command $arg"
- finalize_command="$finalize_command $arg"
+ func_append compile_command " $arg"
+ func_append finalize_command " $arg"
fi
oldlibs=
# calculate the name of the file, without its directory
- outputname=`$echo "X$output" | $Xsed -e 's%^.*/%%'`
+ func_basename "$output"
+ outputname="$func_basename_result"
libobjs_save="$libobjs"
if test -n "$shlibpath_var"; then
# get the directories listed in $shlibpath_var
- eval shlib_search_path=\`\$echo \"X\${$shlibpath_var}\" \| \$Xsed -e \'s/:/ /g\'\`
+ eval shlib_search_path=\`\$ECHO \"X\${$shlibpath_var}\" \| \$Xsed -e \'s/:/ /g\'\`
else
shlib_search_path=
fi
eval sys_lib_search_path=\"$sys_lib_search_path_spec\"
eval sys_lib_dlsearch_path=\"$sys_lib_dlsearch_path_spec\"
- output_objdir=`$echo "X$output" | $Xsed -e 's%/[^/]*$%%'`
- if test "X$output_objdir" = "X$output"; then
- output_objdir="$objdir"
- else
- output_objdir="$output_objdir/$objdir"
- fi
+ func_dirname "$output" "/" ""
+ output_objdir="$func_dirname_result$objdir"
# Create the object directory.
- if test ! -d "$output_objdir"; then
- $show "$mkdir $output_objdir"
- $run $mkdir $output_objdir
- exit_status=$?
- if test "$exit_status" -ne 0 && test ! -d "$output_objdir"; then
- exit $exit_status
- fi
- fi
+ func_mkdir_p "$output_objdir"
# Determine the type of output
case $output in
"")
- $echo "$modename: you must specify an output file" 1>&2
- $echo "$help" 1>&2
- exit $EXIT_FAILURE
+ func_fatal_help "you must specify an output file"
;;
*.$libext) linkmode=oldlib ;;
*.lo | *.$objext) linkmode=obj ;;
@@ -2042,22 +4948,13 @@ EOF
*) linkmode=prog ;; # Anything else should be a program.
esac
- case $host in
- *cygwin* | *mingw* | *pw32*)
- # don't eliminate duplications in $postdeps and $predeps
- duplicate_compiler_generated_deps=yes
- ;;
- *)
- duplicate_compiler_generated_deps=$duplicate_deps
- ;;
- esac
specialdeplibs=
libs=
# Find all interdependent deplibs by searching for libraries
# that are linked more than once (e.g. -la -lb -la)
for deplib in $deplibs; do
- if test "X$duplicate_deps" = "Xyes" ; then
+ if $opt_duplicate_deps ; then
case "$libs " in
*" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
esac
@@ -2072,7 +4969,7 @@ EOF
# $postdeps and mark them as special (i.e., whose duplicates are
# not to be eliminated).
pre_post_deps=
- if test "X$duplicate_compiler_generated_deps" = "Xyes" ; then
+ if $opt_duplicate_compiler_generated_deps; then
for pre_post_dep in $predeps $postdeps; do
case "$pre_post_deps " in
*" $pre_post_dep "*) specialdeplibs="$specialdeplibs $pre_post_deps" ;;
@@ -2088,15 +4985,16 @@ EOF
newlib_search_path=
need_relink=no # whether we're linking any uninstalled libtool libraries
notinst_deplibs= # not-installed libtool libraries
+ notinst_path= # paths that contain not-installed libtool libraries
+
case $linkmode in
lib)
- passes="conv link"
+ passes="conv dlpreopen link"
for file in $dlfiles $dlprefiles; do
case $file in
*.la) ;;
*)
- $echo "$modename: libraries can \`-dlopen' only libtool libraries: $file" 1>&2
- exit $EXIT_FAILURE
+ func_fatal_help "libraries can \`-dlopen' only libtool libraries: $file"
;;
esac
done
@@ -2112,7 +5010,20 @@ EOF
*) passes="conv"
;;
esac
+
for pass in $passes; do
+ # The preopen pass in lib mode reverses $deplibs; put it back here
+ # so that -L comes before libs that need it for instance...
+ if test "$linkmode,$pass" = "lib,link"; then
+ ## FIXME: Find the place where the list is rebuilt in the wrong
+ ## order, and fix it there properly
+ tmp_deplibs=
+ for deplib in $deplibs; do
+ tmp_deplibs="$deplib $tmp_deplibs"
+ done
+ deplibs="$tmp_deplibs"
+ fi
+
if test "$linkmode,$pass" = "lib,link" ||
test "$linkmode,$pass" = "prog,scan"; then
libs="$deplibs"
@@ -2122,14 +5033,39 @@ EOF
case $pass in
dlopen) libs="$dlfiles" ;;
dlpreopen) libs="$dlprefiles" ;;
- link) libs="$deplibs %DEPLIBS% $dependency_libs" ;;
+ link)
+ libs="$deplibs %DEPLIBS%"
+ test "X$link_all_deplibs" != Xno && libs="$libs $dependency_libs"
+ ;;
esac
fi
+ if test "$linkmode,$pass" = "lib,dlpreopen"; then
+ # Collect and forward deplibs of preopened libtool libs
+ for lib in $dlprefiles; do
+ # Ignore non-libtool-libs
+ dependency_libs=
+ case $lib in
+ *.la) func_source "$lib" ;;
+ esac
+
+ # Collect preopened libtool deplibs, except any this library
+ # has declared as weak libs
+ for deplib in $dependency_libs; do
+ deplib_base=`$ECHO "X$deplib" | $Xsed -e "$basename"`
+ case " $weak_libs " in
+ *" $deplib_base "*) ;;
+ *) deplibs="$deplibs $deplib" ;;
+ esac
+ done
+ done
+ libs="$dlprefiles"
+ fi
if test "$pass" = dlopen; then
# Collect dlpreopened libraries
save_deplibs="$deplibs"
deplibs=
fi
+
for deplib in $libs; do
lib=
found=no
@@ -2140,16 +5076,28 @@ EOF
finalize_deplibs="$deplib $finalize_deplibs"
else
compiler_flags="$compiler_flags $deplib"
+ if test "$linkmode" = lib ; then
+ case "$new_inherited_linker_flags " in
+ *" $deplib "*) ;;
+ * ) new_inherited_linker_flags="$new_inherited_linker_flags $deplib" ;;
+ esac
+ fi
fi
continue
;;
-l*)
if test "$linkmode" != lib && test "$linkmode" != prog; then
- $echo "$modename: warning: \`-l' is ignored for archives/objects" 1>&2
+ func_warning "\`-l' is ignored for archives/objects"
continue
fi
- name=`$echo "X$deplib" | $Xsed -e 's/^-l//'`
- for searchdir in $newlib_search_path $lib_search_path $sys_lib_search_path $shlib_search_path; do
+ func_stripname '-l' '' "$deplib"
+ name=$func_stripname_result
+ if test "$linkmode" = lib; then
+ searchdirs="$newlib_search_path $lib_search_path $compiler_lib_search_dirs $sys_lib_search_path $shlib_search_path"
+ else
+ searchdirs="$newlib_search_path $lib_search_path $sys_lib_search_path $shlib_search_path"
+ fi
+ for searchdir in $searchdirs; do
for search_ext in .la $std_shrext .so .a; do
# Search the libtool library
lib="$searchdir/lib${name}${search_ext}"
@@ -2179,21 +5127,17 @@ EOF
if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
case " $predeps $postdeps " in
*" $deplib "*)
- if (${SED} -e '2q' $lib |
- grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then
+ if func_lalib_p "$lib"; then
library_names=
old_library=
- case $lib in
- */* | *\\*) . $lib ;;
- *) . ./$lib ;;
- esac
+ func_source "$lib"
for l in $old_library $library_names; do
ll="$l"
done
if test "X$ll" = "X$old_library" ; then # only static version available
found=no
- ladir=`$echo "X$lib" | $Xsed -e 's%/[^/]*$%%'`
- test "X$ladir" = "X$lib" && ladir="."
+ func_dirname "$lib" "" "."
+ ladir="$func_dirname_result"
lib=$ladir/$old_library
if test "$linkmode,$pass" = "prog,link"; then
compile_deplibs="$deplib $compile_deplibs"
@@ -2205,19 +5149,35 @@ EOF
continue
fi
fi
- ;;
+ ;;
*) ;;
esac
fi
fi
;; # -l
+ *.ltframework)
+ if test "$linkmode,$pass" = "prog,link"; then
+ compile_deplibs="$deplib $compile_deplibs"
+ finalize_deplibs="$deplib $finalize_deplibs"
+ else
+ deplibs="$deplib $deplibs"
+ if test "$linkmode" = lib ; then
+ case "$new_inherited_linker_flags " in
+ *" $deplib "*) ;;
+ * ) new_inherited_linker_flags="$new_inherited_linker_flags $deplib" ;;
+ esac
+ fi
+ fi
+ continue
+ ;;
-L*)
case $linkmode in
lib)
deplibs="$deplib $deplibs"
test "$pass" = conv && continue
newdependency_libs="$deplib $newdependency_libs"
- newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'`
+ func_stripname '-L' '' "$deplib"
+ newlib_search_path="$newlib_search_path $func_stripname_result"
;;
prog)
if test "$pass" = conv; then
@@ -2230,17 +5190,19 @@ EOF
compile_deplibs="$deplib $compile_deplibs"
finalize_deplibs="$deplib $finalize_deplibs"
fi
- newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'`
+ func_stripname '-L' '' "$deplib"
+ newlib_search_path="$newlib_search_path $func_stripname_result"
;;
*)
- $echo "$modename: warning: \`-L' is ignored for archives/objects" 1>&2
+ func_warning "\`-L' is ignored for archives/objects"
;;
esac # linkmode
continue
;; # -L
-R*)
if test "$pass" = link; then
- dir=`$echo "X$deplib" | $Xsed -e 's/^-R//'`
+ func_stripname '-R' '' "$deplib"
+ dir=$func_stripname_result
# Make sure the xrpath contains only unique directories.
case "$xrpath " in
*" $dir "*) ;;
@@ -2258,35 +5220,41 @@ EOF
fi
case $linkmode in
lib)
- valid_a_lib=no
- case $deplibs_check_method in
- match_pattern*)
- set dummy $deplibs_check_method
- match_pattern_regex=`expr "$deplibs_check_method" : "$2 \(.*\)"`
- if eval $echo \"$deplib\" 2>/dev/null \
- | $SED 10q \
+ # Linking convenience modules into shared libraries is allowed,
+ # but linking other static libraries is non-portable.
+ case " $dlpreconveniencelibs " in
+ *" $deplib "*) ;;
+ *)
+ valid_a_lib=no
+ case $deplibs_check_method in
+ match_pattern*)
+ set dummy $deplibs_check_method; shift
+ match_pattern_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"`
+ if eval "\$ECHO \"X$deplib\"" 2>/dev/null | $Xsed -e 10q \
| $EGREP "$match_pattern_regex" > /dev/null; then
- valid_a_lib=yes
- fi
+ valid_a_lib=yes
+ fi
;;
- pass_all)
- valid_a_lib=yes
+ pass_all)
+ valid_a_lib=yes
;;
- esac
- if test "$valid_a_lib" != yes; then
- $echo
- $echo "*** Warning: Trying to link with static lib archive $deplib."
- $echo "*** I have the capability to make that library automatically link in when"
- $echo "*** you link to this library. But I can only do this if you have a"
- $echo "*** shared version of the library, which you do not appear to have"
- $echo "*** because the file extensions .$libext of this argument makes me believe"
- $echo "*** that it is just a static archive that I should not used here."
- else
- $echo
- $echo "*** Warning: Linking the shared library $output against the"
- $echo "*** static library $deplib is not portable!"
- deplibs="$deplib $deplibs"
- fi
+ esac
+ if test "$valid_a_lib" != yes; then
+ $ECHO
+ $ECHO "*** Warning: Trying to link with static lib archive $deplib."
+ $ECHO "*** I have the capability to make that library automatically link in when"
+ $ECHO "*** you link to this library. But I can only do this if you have a"
+ $ECHO "*** shared version of the library, which you do not appear to have"
+ $ECHO "*** because the file extensions .$libext of this argument makes me believe"
+ $ECHO "*** that it is just a static archive that I should not use here."
+ else
+ $ECHO
+ $ECHO "*** Warning: Linking the shared library $output against the"
+ $ECHO "*** static library $deplib is not portable!"
+ deplibs="$deplib $deplibs"
+ fi
+ ;;
+ esac
continue
;;
prog)
@@ -2321,21 +5289,18 @@ EOF
continue
;;
esac # case $deplib
+
if test "$found" = yes || test -f "$lib"; then :
else
- $echo "$modename: cannot find the library \`$lib' or unhandled argument \`$deplib'" 1>&2
- exit $EXIT_FAILURE
+ func_fatal_error "cannot find the library \`$lib' or unhandled argument \`$deplib'"
fi
# Check to see that this really is a libtool archive.
- if (${SED} -e '2q' $lib | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then :
- else
- $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2
- exit $EXIT_FAILURE
- fi
+ func_lalib_unsafe_p "$lib" \
+ || func_fatal_error "\`$lib' is not a valid libtool archive"
- ladir=`$echo "X$lib" | $Xsed -e 's%/[^/]*$%%'`
- test "X$ladir" = "X$lib" && ladir="."
+ func_dirname "$lib" "" "."
+ ladir="$func_dirname_result"
dlname=
dlopen=
@@ -2343,6 +5308,7 @@ EOF
libdir=
library_names=
old_library=
+ inherited_linker_flags=
# If the library was installed with an old release of libtool,
# it will not redefine variables installed, or shouldnotlink
installed=yes
@@ -2351,11 +5317,19 @@ EOF
# Read the .la file
- case $lib in
- */* | *\\*) . $lib ;;
- *) . ./$lib ;;
- esac
-
+ func_source "$lib"
+
+ # Convert "-framework foo" to "foo.ltframework"
+ if test -n "$inherited_linker_flags"; then
+ tmp_inherited_linker_flags=`$ECHO "X$inherited_linker_flags" | $Xsed -e 's/-framework \([^ $]*\)/\1.ltframework/g'`
+ for tmp_inherited_linker_flag in $tmp_inherited_linker_flags; do
+ case " $new_inherited_linker_flags " in
+ *" $tmp_inherited_linker_flag "*) ;;
+ *) new_inherited_linker_flags="$new_inherited_linker_flags $tmp_inherited_linker_flag";;
+ esac
+ done
+ fi
+ dependency_libs=`$ECHO "X $dependency_libs" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'`
if test "$linkmode,$pass" = "lib,link" ||
test "$linkmode,$pass" = "prog,scan" ||
{ test "$linkmode" != prog && test "$linkmode" != lib; }; then
@@ -2368,26 +5342,24 @@ EOF
deplibs="$lib $deplibs"
if test -z "$libdir"; then
if test -z "$old_library"; then
- $echo "$modename: cannot find name of link library for \`$lib'" 1>&2
- exit $EXIT_FAILURE
+ func_fatal_error "cannot find name of link library for \`$lib'"
fi
# It is a libtool convenience library, so add in its objects.
convenience="$convenience $ladir/$objdir/$old_library"
old_convenience="$old_convenience $ladir/$objdir/$old_library"
- tmp_libs=
- for deplib in $dependency_libs; do
- deplibs="$deplib $deplibs"
- if test "X$duplicate_deps" = "Xyes" ; then
- case "$tmp_libs " in
- *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
- esac
- fi
- tmp_libs="$tmp_libs $deplib"
- done
elif test "$linkmode" != prog && test "$linkmode" != lib; then
- $echo "$modename: \`$lib' is not a convenience library" 1>&2
- exit $EXIT_FAILURE
+ func_fatal_error "\`$lib' is not a convenience library"
fi
+ tmp_libs=
+ for deplib in $dependency_libs; do
+ deplibs="$deplib $deplibs"
+ if $opt_duplicate_deps ; then
+ case "$tmp_libs " in
+ *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
+ esac
+ fi
+ tmp_libs="$tmp_libs $deplib"
+ done
continue
fi # $pass = conv
@@ -2398,15 +5370,13 @@ EOF
linklib="$l"
done
if test -z "$linklib"; then
- $echo "$modename: cannot find name of link library for \`$lib'" 1>&2
- exit $EXIT_FAILURE
+ func_fatal_error "cannot find name of link library for \`$lib'"
fi
# This library was specified with -dlopen.
if test "$pass" = dlopen; then
if test -z "$libdir"; then
- $echo "$modename: cannot -dlopen a convenience library: \`$lib'" 1>&2
- exit $EXIT_FAILURE
+ func_fatal_error "cannot -dlopen a convenience library: \`$lib'"
fi
if test -z "$dlname" ||
test "$dlopen_support" != yes ||
@@ -2428,18 +5398,19 @@ EOF
*)
abs_ladir=`cd "$ladir" && pwd`
if test -z "$abs_ladir"; then
- $echo "$modename: warning: cannot determine absolute directory name of \`$ladir'" 1>&2
- $echo "$modename: passing it literally to the linker, although it might fail" 1>&2
+ func_warning "cannot determine absolute directory name of \`$ladir'"
+ func_warning "passing it literally to the linker, although it might fail"
abs_ladir="$ladir"
fi
;;
esac
- laname=`$echo "X$lib" | $Xsed -e 's%^.*/%%'`
+ func_basename "$lib"
+ laname="$func_basename_result"
# Find the relevant object directory and library name.
if test "X$installed" = Xyes; then
if test ! -f "$libdir/$linklib" && test -f "$abs_ladir/$linklib"; then
- $echo "$modename: warning: library \`$lib' was moved." 1>&2
+ func_warning "library \`$lib' was moved."
dir="$ladir"
absdir="$abs_ladir"
libdir="$abs_ladir"
@@ -2461,18 +5432,22 @@ EOF
notinst_path="$notinst_path $abs_ladir"
fi
fi # $installed = yes
- name=`$echo "X$laname" | $Xsed -e 's/\.la$//' -e 's/^lib//'`
+ func_stripname 'lib' '.la' "$laname"
+ name=$func_stripname_result
# This library was specified with -dlpreopen.
if test "$pass" = dlpreopen; then
- if test -z "$libdir"; then
- $echo "$modename: cannot -dlpreopen a convenience library: \`$lib'" 1>&2
- exit $EXIT_FAILURE
+ if test -z "$libdir" && test "$linkmode" = prog; then
+ func_fatal_error "only libraries may -dlpreopen a convenience library: \`$lib'"
fi
# Prefer using a static library (so that no silly _DYNAMIC symbols
# are required to link).
if test -n "$old_library"; then
newdlprefiles="$newdlprefiles $dir/$old_library"
+ # Keep a list of preopened convenience libraries to check
+ # that they are being used correctly in the link pass.
+ test -z "$libdir" && \
+ dlpreconveniencelibs="$dlpreconveniencelibs $dir/$old_library"
# Otherwise, use the dlname, so that lt_dlopen finds it.
elif test -n "$dlname"; then
newdlprefiles="$newdlprefiles $dir/$dlname"
@@ -2508,7 +5483,9 @@ EOF
tmp_libs=
for deplib in $dependency_libs; do
case $deplib in
- -L*) newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'`;; ### testsuite: skip nested quoting test
+ -L*) func_stripname '-L' '' "$deplib"
+ newlib_search_path="$newlib_search_path $func_stripname_result"
+ ;;
esac
# Need to link against all dependency_libs?
if test "$linkalldeplibs" = yes; then
@@ -2518,7 +5495,7 @@ EOF
# or/and link against static libraries
newdependency_libs="$deplib $newdependency_libs"
fi
- if test "X$duplicate_deps" = "Xyes" ; then
+ if $opt_duplicate_deps ; then
case "$tmp_libs " in
*" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
esac
@@ -2531,15 +5508,14 @@ EOF
if test "$linkmode,$pass" = "prog,link"; then
if test -n "$library_names" &&
{ { test "$prefer_static_libs" = no ||
- test "$prefer_static_libs,$installed" = "built,yes"; } ||
+ test "$prefer_static_libs,$installed" = "built,yes"; } ||
test -z "$old_library"; }; then
# We need to hardcode the library path
if test -n "$shlibpath_var" && test -z "$avoidtemprpath" ; then
# Make sure the rpath contains only unique directories.
- case "$temp_rpath " in
- *" $dir "*) ;;
- *" $absdir "*) ;;
- *) temp_rpath="$temp_rpath $absdir" ;;
+ case "$temp_rpath:" in
+ *"$absdir:"*) ;;
+ *) temp_rpath="$temp_rpath$absdir:" ;;
esac
fi
@@ -2577,27 +5553,43 @@ EOF
link_static=no # Whether the deplib will be linked statically
use_static_libs=$prefer_static_libs
- if test "$use_static_libs" = built && test "$installed" = yes ; then
+ if test "$use_static_libs" = built && test "$installed" = yes; then
use_static_libs=no
fi
if test -n "$library_names" &&
{ test "$use_static_libs" = no || test -z "$old_library"; }; then
- if test "$installed" = no; then
- notinst_deplibs="$notinst_deplibs $lib"
- need_relink=yes
- fi
+ case $host in
+ *cygwin* | *mingw* | *cegcc*)
+ # No point in relinking DLLs because paths are not encoded
+ notinst_deplibs="$notinst_deplibs $lib"
+ need_relink=no
+ ;;
+ *)
+ if test "$installed" = no; then
+ notinst_deplibs="$notinst_deplibs $lib"
+ need_relink=yes
+ fi
+ ;;
+ esac
# This is a shared library
- # Warn about portability, can't link against -module's on
- # some systems (darwin)
- if test "$shouldnotlink" = yes && test "$pass" = link ; then
- $echo
+ # Warn about portability, can't link against -module's on some
+ # systems (darwin). Don't bleat about dlopened modules though!
+ dlopenmodule=""
+ for dlpremoduletest in $dlprefiles; do
+ if test "X$dlpremoduletest" = "X$lib"; then
+ dlopenmodule="$dlpremoduletest"
+ break
+ fi
+ done
+ if test -z "$dlopenmodule" && test "$shouldnotlink" = yes && test "$pass" = link; then
+ $ECHO
if test "$linkmode" = prog; then
- $echo "*** Warning: Linking the executable $output against the loadable module"
+ $ECHO "*** Warning: Linking the executable $output against the loadable module"
else
- $echo "*** Warning: Linking the shared library $output against the loadable module"
+ $ECHO "*** Warning: Linking the shared library $output against the loadable module"
fi
- $echo "*** $linklib is not portable!"
+ $ECHO "*** $linklib is not portable!"
fi
if test "$linkmode" = lib &&
test "$hardcode_into_libs" = yes; then
@@ -2627,17 +5619,19 @@ EOF
if test -n "$old_archive_from_expsyms_cmds"; then
# figure out the soname
set dummy $library_names
- realname="$2"
- shift; shift
- libname=`eval \\$echo \"$libname_spec\"`
+ shift
+ realname="$1"
+ shift
+ libname=`eval "\\$ECHO \"$libname_spec\""`
# use dlname if we got it. it's perfectly good, no?
if test -n "$dlname"; then
soname="$dlname"
elif test -n "$soname_spec"; then
# bleh windows
case $host in
- *cygwin* | mingw*)
- major=`expr $current - $age`
+ *cygwin* | mingw* | *cegcc*)
+ func_arith $current - $age
+ major=$func_arith_result
versuffix="-$major"
;;
esac
@@ -2648,36 +5642,22 @@ EOF
# Make a new name for the extract_expsyms_cmds to use
soroot="$soname"
- soname=`$echo $soroot | ${SED} -e 's/^.*\///'`
- newlib="libimp-`$echo $soname | ${SED} 's/^lib//;s/\.dll$//'`.a"
+ func_basename "$soroot"
+ soname="$func_basename_result"
+ func_stripname 'lib' '.dll' "$soname"
+ newlib=libimp-$func_stripname_result.a
# If the library has no export list, then create one now
if test -f "$output_objdir/$soname-def"; then :
else
- $show "extracting exported symbol list from \`$soname'"
- save_ifs="$IFS"; IFS='~'
- cmds=$extract_expsyms_cmds
- for cmd in $cmds; do
- IFS="$save_ifs"
- eval cmd=\"$cmd\"
- $show "$cmd"
- $run eval "$cmd" || exit $?
- done
- IFS="$save_ifs"
+ func_verbose "extracting exported symbol list from \`$soname'"
+ func_execute_cmds "$extract_expsyms_cmds" 'exit $?'
fi
# Create $newlib
if test -f "$output_objdir/$newlib"; then :; else
- $show "generating import library for \`$soname'"
- save_ifs="$IFS"; IFS='~'
- cmds=$old_archive_from_expsyms_cmds
- for cmd in $cmds; do
- IFS="$save_ifs"
- eval cmd=\"$cmd\"
- $show "$cmd"
- $run eval "$cmd" || exit $?
- done
- IFS="$save_ifs"
+ func_verbose "generating import library for \`$soname'"
+ func_execute_cmds "$old_archive_from_expsyms_cmds" 'exit $?'
fi
# make sure the library variables are pointing to the new library
dir=$output_objdir
@@ -2699,17 +5679,21 @@ EOF
*-*-sysv5OpenUNIX* | *-*-sysv5UnixWare7.[01].[10]* | \
*-*-unixware7*) add_dir="-L$dir" ;;
*-*-darwin* )
- # if the lib is a module then we can not link against
- # it, someone is ignoring the new warnings I added
+ # if the lib is a (non-dlopened) module then we can not
+ # link against it, someone is ignoring the earlier warnings
if /usr/bin/file -L $add 2> /dev/null |
- $EGREP ": [^:]* bundle" >/dev/null ; then
- $echo "** Warning, lib $linklib is a module, not a shared library"
- if test -z "$old_library" ; then
- $echo
- $echo "** And there doesn't seem to be a static archive available"
- $echo "** The link will probably fail, sorry"
- else
- add="$dir/$old_library"
+ $GREP ": [^:]* bundle" >/dev/null ; then
+ if test "X$dlopenmodule" != "X$lib"; then
+ $ECHO "*** Warning: lib $linklib is a module, not a shared library"
+ if test -z "$old_library" ; then
+ $ECHO
+ $ECHO "*** And there doesn't seem to be a static archive available"
+ $ECHO "*** The link will probably fail, sorry"
+ else
+ add="$dir/$old_library"
+ fi
+ elif test -n "$old_library"; then
+ add="$dir/$old_library"
fi
fi
esac
@@ -2727,7 +5711,8 @@ EOF
fi
;;
relink)
- if test "$hardcode_direct" = yes; then
+ if test "$hardcode_direct" = yes &&
+ test "$hardcode_direct_absolute" = no; then
add="$dir/$linklib"
elif test "$hardcode_minus_L" = yes; then
add_dir="-L$dir"
@@ -2751,8 +5736,7 @@ EOF
esac
if test "$lib_linked" != yes; then
- $echo "$modename: configuration error: unsupported hardcode properties"
- exit $EXIT_FAILURE
+ func_fatal_configuration "unsupported hardcode properties"
fi
if test -n "$add_shlibpath"; then
@@ -2767,8 +5751,8 @@ EOF
else
test -n "$add_dir" && deplibs="$add_dir $deplibs"
test -n "$add" && deplibs="$add $deplibs"
- if test "$hardcode_direct" != yes && \
- test "$hardcode_minus_L" != yes && \
+ if test "$hardcode_direct" != yes &&
+ test "$hardcode_minus_L" != yes &&
test "$hardcode_shlibpath_var" = yes; then
case :$finalize_shlibpath: in
*":$libdir:"*) ;;
@@ -2783,7 +5767,8 @@ EOF
add_dir=
add=
# Finalize command for both is simple: just hardcode it.
- if test "$hardcode_direct" = yes; then
+ if test "$hardcode_direct" = yes &&
+ test "$hardcode_direct_absolute" = no; then
add="$libdir/$linklib"
elif test "$hardcode_minus_L" = yes; then
add_dir="-L$libdir"
@@ -2797,9 +5782,9 @@ EOF
elif test "$hardcode_automatic" = yes; then
if test -n "$inst_prefix_dir" &&
test -f "$inst_prefix_dir$libdir/$linklib" ; then
- add="$inst_prefix_dir$libdir/$linklib"
+ add="$inst_prefix_dir$libdir/$linklib"
else
- add="$libdir/$linklib"
+ add="$libdir/$linklib"
fi
else
# We cannot seem to hardcode it, guess we'll fake it.
@@ -2843,21 +5828,21 @@ EOF
# Just print a warning and add the library to dependency_libs so
# that the program can be linked against the static library.
- $echo
- $echo "*** Warning: This system can not link to static lib archive $lib."
- $echo "*** I have the capability to make that library automatically link in when"
- $echo "*** you link to this library. But I can only do this if you have a"
- $echo "*** shared version of the library, which you do not appear to have."
+ $ECHO
+ $ECHO "*** Warning: This system can not link to static lib archive $lib."
+ $ECHO "*** I have the capability to make that library automatically link in when"
+ $ECHO "*** you link to this library. But I can only do this if you have a"
+ $ECHO "*** shared version of the library, which you do not appear to have."
if test "$module" = yes; then
- $echo "*** But as you try to build a module library, libtool will still create "
- $echo "*** a static module, that should work as long as the dlopening application"
- $echo "*** is linked with the -dlopen flag to resolve symbols at runtime."
+ $ECHO "*** But as you try to build a module library, libtool will still create "
+ $ECHO "*** a static module, that should work as long as the dlopening application"
+ $ECHO "*** is linked with the -dlopen flag to resolve symbols at runtime."
if test -z "$global_symbol_pipe"; then
- $echo
- $echo "*** However, this would only work if libtool was able to extract symbol"
- $echo "*** lists from a program, using \`nm' or equivalent, but libtool could"
- $echo "*** not find such a program. So, this module is probably useless."
- $echo "*** \`nm' from GNU binutils and a full rebuild may help."
+ $ECHO
+ $ECHO "*** However, this would only work if libtool was able to extract symbol"
+ $ECHO "*** lists from a program, using \`nm' or equivalent, but libtool could"
+ $ECHO "*** not find such a program. So, this module is probably useless."
+ $ECHO "*** \`nm' from GNU binutils and a full rebuild may help."
fi
if test "$build_old_libs" = no; then
build_libtool_libs=module
@@ -2881,7 +5866,8 @@ EOF
temp_deplibs=
for libdir in $dependency_libs; do
case $libdir in
- -R*) temp_xrpath=`$echo "X$libdir" | $Xsed -e 's/^-R//'`
+ -R*) func_stripname '-R' '' "$libdir"
+ temp_xrpath=$func_stripname_result
case " $xrpath " in
*" $temp_xrpath "*) ;;
*) xrpath="$xrpath $temp_xrpath";;
@@ -2899,7 +5885,7 @@ EOF
tmp_libs=
for deplib in $dependency_libs; do
newdependency_libs="$deplib $newdependency_libs"
- if test "X$duplicate_deps" = "Xyes" ; then
+ if $opt_duplicate_deps ; then
case "$tmp_libs " in
*" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
esac
@@ -2913,88 +5899,71 @@ EOF
case $deplib in
-L*) path="$deplib" ;;
*.la)
- dir=`$echo "X$deplib" | $Xsed -e 's%/[^/]*$%%'`
- test "X$dir" = "X$deplib" && dir="."
+ func_dirname "$deplib" "" "."
+ dir="$func_dirname_result"
# We need an absolute path.
case $dir in
[\\/]* | [A-Za-z]:[\\/]*) absdir="$dir" ;;
*)
absdir=`cd "$dir" && pwd`
if test -z "$absdir"; then
- $echo "$modename: warning: cannot determine absolute directory name of \`$dir'" 1>&2
+ func_warning "cannot determine absolute directory name of \`$dir'"
absdir="$dir"
fi
;;
esac
- if grep "^installed=no" $deplib > /dev/null; then
- path="$absdir/$objdir"
- else
- eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib`
- if test -z "$libdir"; then
- $echo "$modename: \`$deplib' is not a valid libtool archive" 1>&2
- exit $EXIT_FAILURE
- fi
- if test "$absdir" != "$libdir"; then
- $echo "$modename: warning: \`$deplib' seems to be moved" 1>&2
- fi
- path="$absdir"
- fi
- depdepl=
+ if $GREP "^installed=no" $deplib > /dev/null; then
case $host in
*-*-darwin*)
- # we do not want to link against static libs,
- # but need to link against shared
+ depdepl=
eval deplibrary_names=`${SED} -n -e 's/^library_names=\(.*\)$/\1/p' $deplib`
if test -n "$deplibrary_names" ; then
for tmp in $deplibrary_names ; do
depdepl=$tmp
done
- if test -f "$path/$depdepl" ; then
- depdepl="$path/$depdepl"
+ if test -f "$absdir/$objdir/$depdepl" ; then
+ depdepl="$absdir/$objdir/$depdepl"
+ darwin_install_name=`${OTOOL} -L $depdepl | awk '{if (NR == 2) {print $1;exit}}'`
+ if test -z "$darwin_install_name"; then
+ darwin_install_name=`${OTOOL64} -L $depdepl | awk '{if (NR == 2) {print $1;exit}}'`
+ fi
+ compiler_flags="$compiler_flags ${wl}-dylib_file ${wl}${darwin_install_name}:${depdepl}"
+ linker_flags="$linker_flags -dylib_file ${darwin_install_name}:${depdepl}"
+ path=
fi
- # do not add paths which are already there
- case " $newlib_search_path " in
- *" $path "*) ;;
- *) newlib_search_path="$newlib_search_path $path";;
- esac
fi
- path=""
;;
*)
- path="-L$path"
- ;;
- esac
- ;;
- -l*)
- case $host in
- *-*-darwin*)
- # Again, we only want to link against shared libraries
- eval tmp_libs=`$echo "X$deplib" | $Xsed -e "s,^\-l,,"`
- for tmp in $newlib_search_path ; do
- if test -f "$tmp/lib$tmp_libs.dylib" ; then
- eval depdepl="$tmp/lib$tmp_libs.dylib"
- break
- fi
- done
- path=""
+ path="-L$absdir/$objdir"
;;
- *) continue ;;
esac
+ else
+ eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib`
+ test -z "$libdir" && \
+ func_fatal_error "\`$deplib' is not a valid libtool archive"
+ test "$absdir" != "$libdir" && \
+ func_warning "\`$deplib' seems to be moved"
+
+ path="-L$absdir"
+ fi
;;
- *) continue ;;
esac
case " $deplibs " in
*" $path "*) ;;
*) deplibs="$path $deplibs" ;;
esac
- case " $deplibs " in
- *" $depdepl "*) ;;
- *) deplibs="$depdepl $deplibs" ;;
- esac
done
fi # link_all_deplibs != no
fi # linkmode = lib
done # for deplib in $libs
+ if test "$pass" = link; then
+ if test "$linkmode" = "prog"; then
+ compile_deplibs="$new_inherited_linker_flags $compile_deplibs"
+ finalize_deplibs="$new_inherited_linker_flags $finalize_deplibs"
+ else
+ compiler_flags="$compiler_flags "`$ECHO "X $new_inherited_linker_flags" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'`
+ fi
+ fi
dependency_libs="$newdependency_libs"
if test "$pass" = dlpreopen; then
# Link the dlpreopened libraries before other libraries
@@ -3093,38 +6062,36 @@ EOF
done # for pass
if test "$linkmode" = prog; then
dlfiles="$newdlfiles"
+ fi
+ if test "$linkmode" = prog || test "$linkmode" = lib; then
dlprefiles="$newdlprefiles"
fi
case $linkmode in
oldlib)
- if test -n "$deplibs"; then
- $echo "$modename: warning: \`-l' and \`-L' are ignored for archives" 1>&2
- fi
-
if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then
- $echo "$modename: warning: \`-dlopen' is ignored for archives" 1>&2
+ func_warning "\`-dlopen' is ignored for archives"
fi
- if test -n "$rpath"; then
- $echo "$modename: warning: \`-rpath' is ignored for archives" 1>&2
- fi
+ case " $deplibs" in
+ *\ -l* | *\ -L*)
+ func_warning "\`-l' and \`-L' are ignored for archives" ;;
+ esac
- if test -n "$xrpath"; then
- $echo "$modename: warning: \`-R' is ignored for archives" 1>&2
- fi
+ test -n "$rpath" && \
+ func_warning "\`-rpath' is ignored for archives"
- if test -n "$vinfo"; then
- $echo "$modename: warning: \`-version-info/-version-number' is ignored for archives" 1>&2
- fi
+ test -n "$xrpath" && \
+ func_warning "\`-R' is ignored for archives"
- if test -n "$release"; then
- $echo "$modename: warning: \`-release' is ignored for archives" 1>&2
- fi
+ test -n "$vinfo" && \
+ func_warning "\`-version-info/-version-number' is ignored for archives"
- if test -n "$export_symbols" || test -n "$export_symbols_regex"; then
- $echo "$modename: warning: \`-export-symbols' is ignored for archives" 1>&2
- fi
+ test -n "$release" && \
+ func_warning "\`-release' is ignored for archives"
+
+ test -n "$export_symbols$export_symbols_regex" && \
+ func_warning "\`-export-symbols' is ignored for archives"
# Now set the variables for building old libraries.
build_libtool_libs=no
@@ -3136,48 +6103,48 @@ EOF
# Make sure we only generate libraries of the form `libNAME.la'.
case $outputname in
lib*)
- name=`$echo "X$outputname" | $Xsed -e 's/\.la$//' -e 's/^lib//'`
+ func_stripname 'lib' '.la' "$outputname"
+ name=$func_stripname_result
eval shared_ext=\"$shrext_cmds\"
eval libname=\"$libname_spec\"
;;
*)
- if test "$module" = no; then
- $echo "$modename: libtool library \`$output' must begin with \`lib'" 1>&2
- $echo "$help" 1>&2
- exit $EXIT_FAILURE
- fi
+ test "$module" = no && \
+ func_fatal_help "libtool library \`$output' must begin with \`lib'"
+
if test "$need_lib_prefix" != no; then
# Add the "lib" prefix for modules if required
- name=`$echo "X$outputname" | $Xsed -e 's/\.la$//'`
+ func_stripname '' '.la' "$outputname"
+ name=$func_stripname_result
eval shared_ext=\"$shrext_cmds\"
eval libname=\"$libname_spec\"
else
- libname=`$echo "X$outputname" | $Xsed -e 's/\.la$//'`
+ func_stripname '' '.la' "$outputname"
+ libname=$func_stripname_result
fi
;;
esac
if test -n "$objs"; then
if test "$deplibs_check_method" != pass_all; then
- $echo "$modename: cannot build libtool library \`$output' from non-libtool objects on this host:$objs" 2>&1
- exit $EXIT_FAILURE
+ func_fatal_error "cannot build libtool library \`$output' from non-libtool objects on this host:$objs"
else
- $echo
- $echo "*** Warning: Linking the shared library $output against the non-libtool"
- $echo "*** objects $objs is not portable!"
+ $ECHO
+ $ECHO "*** Warning: Linking the shared library $output against the non-libtool"
+ $ECHO "*** objects $objs is not portable!"
libobjs="$libobjs $objs"
fi
fi
- if test "$dlself" != no; then
- $echo "$modename: warning: \`-dlopen self' is ignored for libtool libraries" 1>&2
- fi
+ test "$dlself" != no && \
+ func_warning "\`-dlopen self' is ignored for libtool libraries"
set dummy $rpath
- if test "$#" -gt 2; then
- $echo "$modename: warning: ignoring multiple \`-rpath's for a libtool library" 1>&2
- fi
- install_libdir="$2"
+ shift
+ test "$#" -gt 1 && \
+ func_warning "ignoring multiple \`-rpath's for a libtool library"
+
+ install_libdir="$1"
oldlibs=
if test -z "$rpath"; then
@@ -3191,25 +6158,21 @@ EOF
build_old_libs=yes
fi
- if test -n "$vinfo"; then
- $echo "$modename: warning: \`-version-info/-version-number' is ignored for convenience libraries" 1>&2
- fi
+ test -n "$vinfo" && \
+ func_warning "\`-version-info/-version-number' is ignored for convenience libraries"
- if test -n "$release"; then
- $echo "$modename: warning: \`-release' is ignored for convenience libraries" 1>&2
- fi
+ test -n "$release" && \
+ func_warning "\`-release' is ignored for convenience libraries"
else
# Parse the version information argument.
save_ifs="$IFS"; IFS=':'
set dummy $vinfo 0 0 0
+ shift
IFS="$save_ifs"
- if test -n "$8"; then
- $echo "$modename: too many parameters to \`-version-info'" 1>&2
- $echo "$help" 1>&2
- exit $EXIT_FAILURE
- fi
+ test -n "$7" && \
+ func_fatal_help "too many parameters to \`-version-info'"
# convert absolute version numbers to libtool ages
# this retains compatibility with .la files and attempts
@@ -3217,9 +6180,9 @@ EOF
case $vinfo_number in
yes)
- number_major="$2"
- number_minor="$3"
- number_revision="$4"
+ number_major="$1"
+ number_minor="$2"
+ number_revision="$3"
#
# There are really only two kinds -- those that
# use the current revision as the major version
@@ -3229,7 +6192,8 @@ EOF
#
case $version_type in
darwin|linux|osf|windows|none)
- current=`expr $number_major + $number_minor`
+ func_arith $number_major + $number_minor
+ current=$func_arith_result
age="$number_minor"
revision="$number_revision"
;;
@@ -3239,17 +6203,21 @@ EOF
age="0"
;;
irix|nonstopux)
- current=`expr $number_major + $number_minor`
+ func_arith $number_major + $number_minor
+ current=$func_arith_result
age="$number_minor"
revision="$number_minor"
lt_irix_increment=no
;;
+ *)
+ func_fatal_configuration "$modename: unknown library version type \`$version_type'"
+ ;;
esac
;;
no)
- current="$2"
- revision="$3"
- age="$4"
+ current="$1"
+ revision="$2"
+ age="$3"
;;
esac
@@ -3257,34 +6225,30 @@ EOF
case $current in
0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;;
*)
- $echo "$modename: CURRENT \`$current' must be a nonnegative integer" 1>&2
- $echo "$modename: \`$vinfo' is not valid version information" 1>&2
- exit $EXIT_FAILURE
+ func_error "CURRENT \`$current' must be a nonnegative integer"
+ func_fatal_error "\`$vinfo' is not valid version information"
;;
esac
case $revision in
0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;;
*)
- $echo "$modename: REVISION \`$revision' must be a nonnegative integer" 1>&2
- $echo "$modename: \`$vinfo' is not valid version information" 1>&2
- exit $EXIT_FAILURE
+ func_error "REVISION \`$revision' must be a nonnegative integer"
+ func_fatal_error "\`$vinfo' is not valid version information"
;;
esac
case $age in
0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;;
*)
- $echo "$modename: AGE \`$age' must be a nonnegative integer" 1>&2
- $echo "$modename: \`$vinfo' is not valid version information" 1>&2
- exit $EXIT_FAILURE
+ func_error "AGE \`$age' must be a nonnegative integer"
+ func_fatal_error "\`$vinfo' is not valid version information"
;;
esac
if test "$age" -gt "$current"; then
- $echo "$modename: AGE \`$age' is greater than the current interface number \`$current'" 1>&2
- $echo "$modename: \`$vinfo' is not valid version information" 1>&2
- exit $EXIT_FAILURE
+ func_error "AGE \`$age' is greater than the current interface number \`$current'"
+ func_fatal_error "\`$vinfo' is not valid version information"
fi
# Calculate the version variables.
@@ -3297,10 +6261,12 @@ EOF
darwin)
# Like Linux, but with the current version available in
# verstring for coding it into the library header
- major=.`expr $current - $age`
+ func_arith $current - $age
+ major=.$func_arith_result
versuffix="$major.$age.$revision"
# Darwin ld doesn't like 0 for these options...
- minor_current=`expr $current + 1`
+ func_arith $current + 1
+ minor_current=$func_arith_result
xlcverstring="${wl}-compatibility_version ${wl}$minor_current ${wl}-current_version ${wl}$minor_current.$revision"
verstring="-compatibility_version $minor_current -current_version $minor_current.$revision"
;;
@@ -3312,15 +6278,17 @@ EOF
freebsd-elf)
major=".$current"
- versuffix=".$current";
+ versuffix=".$current"
;;
irix | nonstopux)
if test "X$lt_irix_increment" = "Xno"; then
- major=`expr $current - $age`
+ func_arith $current - $age
else
- major=`expr $current - $age + 1`
+ func_arith $current - $age + 1
fi
+ major=$func_arith_result
+
case $version_type in
nonstopux) verstring_prefix=nonstopux ;;
*) verstring_prefix=sgi ;;
@@ -3330,8 +6298,10 @@ EOF
# Add in all the interfaces that we are compatible with.
loop=$revision
while test "$loop" -ne 0; do
- iface=`expr $revision - $loop`
- loop=`expr $loop - 1`
+ func_arith $revision - $loop
+ iface=$func_arith_result
+ func_arith $loop - 1
+ loop=$func_arith_result
verstring="$verstring_prefix$major.$iface:$verstring"
done
@@ -3341,20 +6311,24 @@ EOF
;;
linux)
- major=.`expr $current - $age`
+ func_arith $current - $age
+ major=.$func_arith_result
versuffix="$major.$age.$revision"
;;
osf)
- major=.`expr $current - $age`
+ func_arith $current - $age
+ major=.$func_arith_result
versuffix=".$current.$age.$revision"
verstring="$current.$age.$revision"
# Add in all the interfaces that we are compatible with.
loop=$age
while test "$loop" -ne 0; do
- iface=`expr $current - $loop`
- loop=`expr $loop - 1`
+ func_arith $current - $loop
+ iface=$func_arith_result
+ func_arith $loop - 1
+ loop=$func_arith_result
verstring="$verstring:${iface}.0"
done
@@ -3362,6 +6336,11 @@ EOF
verstring="$verstring:${current}.0"
;;
+ qnx)
+ major=".$current"
+ versuffix=".$current"
+ ;;
+
sunos)
major=".$current"
versuffix=".$current.$revision"
@@ -3370,14 +6349,13 @@ EOF
windows)
# Use '-' rather than '.', since we only want one
# extension on DOS 8.3 filesystems.
- major=`expr $current - $age`
+ func_arith $current - $age
+ major=$func_arith_result
versuffix="-$major"
;;
*)
- $echo "$modename: unknown library version type \`$version_type'" 1>&2
- $echo "Fatal configuration error. See the $PACKAGE docs for more information." 1>&2
- exit $EXIT_FAILURE
+ func_fatal_configuration "unknown library version type \`$version_type'"
;;
esac
@@ -3411,7 +6389,7 @@ EOF
# Check to see if the archive will have undefined symbols.
if test "$allow_undefined" = yes; then
if test "$allow_undefined_flag" = unsupported; then
- $echo "$modename: warning: undefined symbols not allowed in $host shared libraries" 1>&2
+ func_warning "undefined symbols not allowed in $host shared libraries"
build_libtool_libs=no
build_old_libs=yes
fi
@@ -3419,21 +6397,26 @@ EOF
# Don't allow undefined symbols.
allow_undefined_flag="$no_undefined_flag"
fi
+
fi
+ func_generate_dlsyms "$libname" "$libname" "yes"
+ libobjs="$libobjs $symfileobj"
+ test "X$libobjs" = "X " && libobjs=
+
if test "$mode" != relink; then
# Remove our outputs, but don't remove object files since they
# may have been created when compiling PIC objects.
removelist=
- tempremovelist=`$echo "$output_objdir/*"`
+ tempremovelist=`$ECHO "$output_objdir/*"`
for p in $tempremovelist; do
case $p in
- *.$objext)
+ *.$objext | *.gcno)
;;
$output_objdir/$outputname | $output_objdir/$libname.* | $output_objdir/${libname}${release}.*)
if test "X$precious_files_regex" != "X"; then
- if echo $p | $EGREP -e "$precious_files_regex" >/dev/null 2>&1
- then
+ if $ECHO "$p" | $EGREP -e "$precious_files_regex" >/dev/null 2>&1
+ then
continue
fi
fi
@@ -3442,10 +6425,8 @@ EOF
*) ;;
esac
done
- if test -n "$removelist"; then
- $show "${rm}r $removelist"
- $run ${rm}r $removelist
- fi
+ test -n "$removelist" && \
+ func_show_eval "${RM}r \$removelist"
fi
# Now set the variables for building old libraries.
@@ -3453,14 +6434,14 @@ EOF
oldlibs="$oldlibs $output_objdir/$libname.$libext"
# Transform .lo files to .o files.
- oldobjs="$objs "`$echo "X$libobjs" | $SP2NL | $Xsed -e '/\.'${libext}'$/d' -e "$lo2o" | $NL2SP`
+ oldobjs="$objs "`$ECHO "X$libobjs" | $SP2NL | $Xsed -e '/\.'${libext}'$/d' -e "$lo2o" | $NL2SP`
fi
# Eliminate all temporary directories.
#for path in $notinst_path; do
- # lib_search_path=`$echo "$lib_search_path " | ${SED} -e "s% $path % %g"`
- # deplibs=`$echo "$deplibs " | ${SED} -e "s% -L$path % %g"`
- # dependency_libs=`$echo "$dependency_libs " | ${SED} -e "s% -L$path % %g"`
+ # lib_search_path=`$ECHO "X$lib_search_path " | $Xsed -e "s% $path % %g"`
+ # deplibs=`$ECHO "X$deplibs " | $Xsed -e "s% -L$path % %g"`
+ # dependency_libs=`$ECHO "X$dependency_libs " | $Xsed -e "s% -L$path % %g"`
#done
if test -n "$xrpath"; then
@@ -3501,12 +6482,12 @@ EOF
if test "$build_libtool_libs" = yes; then
if test -n "$rpath"; then
case $host in
- *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-beos*)
+ *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-beos* | *-cegcc*)
# these systems don't actually have a c library (as such)!
;;
*-*-rhapsody* | *-*-darwin1.[012])
# Rhapsody C library is in the System framework
- deplibs="$deplibs -framework System"
+ deplibs="$deplibs System.ltframework"
;;
*-*-netbsd*)
# Don't link with libc until the a.out ld.so is fixed.
@@ -3520,7 +6501,7 @@ EOF
*-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*)
# Compiler inserts libc in the correct place for threads to work
;;
- *)
+ *)
# Add libc to deplibs on all other systems if necessary.
if test "$build_libtool_need_lc" = "yes"; then
deplibs="$deplibs -lc"
@@ -3557,17 +6538,18 @@ EOF
# limits. Maybe even breaks it. We compile a program, linking it
# against the deplibs as a proxy for the library. Then we can check
# whether they linked in statically or dynamically with ldd.
- $rm conftest.c
+ $opt_dry_run || $RM conftest.c
cat > conftest.c <<EOF
int main() { return 0; }
EOF
- $rm conftest
+ $opt_dry_run || $RM conftest
if $LTCC $LTCFLAGS -o conftest conftest.c $deplibs; then
ldd_output=`ldd conftest`
for i in $deplibs; do
- name=`expr $i : '-l\(.*\)'`
- # If $name is empty we are operating on a -L argument.
- if test "$name" != "" && test "$name" != "0"; then
+ case $i in
+ -l*)
+ func_stripname -l '' "$i"
+ name=$func_stripname_result
if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
case " $predeps $postdeps " in
*" $i "*)
@@ -3575,37 +6557,40 @@ EOF
i=""
;;
esac
- fi
+ fi
if test -n "$i" ; then
- libname=`eval \\$echo \"$libname_spec\"`
- deplib_matches=`eval \\$echo \"$library_names_spec\"`
- set dummy $deplib_matches
- deplib_match=$2
+ libname=`eval "\\$ECHO \"$libname_spec\""`
+ deplib_matches=`eval "\\$ECHO \"$library_names_spec\""`
+ set dummy $deplib_matches; shift
+ deplib_match=$1
if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0 ; then
newdeplibs="$newdeplibs $i"
else
droppeddeps=yes
- $echo
- $echo "*** Warning: dynamic linker does not accept needed library $i."
- $echo "*** I have the capability to make that library automatically link in when"
- $echo "*** you link to this library. But I can only do this if you have a"
- $echo "*** shared version of the library, which I believe you do not have"
- $echo "*** because a test_compile did reveal that the linker did not use it for"
- $echo "*** its dynamic dependency list that programs get resolved with at runtime."
+ $ECHO
+ $ECHO "*** Warning: dynamic linker does not accept needed library $i."
+ $ECHO "*** I have the capability to make that library automatically link in when"
+ $ECHO "*** you link to this library. But I can only do this if you have a"
+ $ECHO "*** shared version of the library, which I believe you do not have"
+ $ECHO "*** because a test_compile did reveal that the linker did not use it for"
+ $ECHO "*** its dynamic dependency list that programs get resolved with at runtime."
fi
fi
- else
+ ;;
+ *)
newdeplibs="$newdeplibs $i"
- fi
+ ;;
+ esac
done
else
# Error occurred in the first compile. Let's try to salvage
# the situation: Compile a separate program for each library.
for i in $deplibs; do
- name=`expr $i : '-l\(.*\)'`
- # If $name is empty we are operating on a -L argument.
- if test "$name" != "" && test "$name" != "0"; then
- $rm conftest
+ case $i in
+ -l*)
+ func_stripname -l '' "$i"
+ name=$func_stripname_result
+ $opt_dry_run || $RM conftest
if $LTCC $LTCFLAGS -o conftest conftest.c $i; then
ldd_output=`ldd conftest`
if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
@@ -3617,44 +6602,47 @@ EOF
esac
fi
if test -n "$i" ; then
- libname=`eval \\$echo \"$libname_spec\"`
- deplib_matches=`eval \\$echo \"$library_names_spec\"`
- set dummy $deplib_matches
- deplib_match=$2
+ libname=`eval "\\$ECHO \"$libname_spec\""`
+ deplib_matches=`eval "\\$ECHO \"$library_names_spec\""`
+ set dummy $deplib_matches; shift
+ deplib_match=$1
if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0 ; then
newdeplibs="$newdeplibs $i"
else
droppeddeps=yes
- $echo
- $echo "*** Warning: dynamic linker does not accept needed library $i."
- $echo "*** I have the capability to make that library automatically link in when"
- $echo "*** you link to this library. But I can only do this if you have a"
- $echo "*** shared version of the library, which you do not appear to have"
- $echo "*** because a test_compile did reveal that the linker did not use this one"
- $echo "*** as a dynamic dependency that programs can get resolved with at runtime."
+ $ECHO
+ $ECHO "*** Warning: dynamic linker does not accept needed library $i."
+ $ECHO "*** I have the capability to make that library automatically link in when"
+ $ECHO "*** you link to this library. But I can only do this if you have a"
+ $ECHO "*** shared version of the library, which you do not appear to have"
+ $ECHO "*** because a test_compile did reveal that the linker did not use this one"
+ $ECHO "*** as a dynamic dependency that programs can get resolved with at runtime."
fi
fi
else
droppeddeps=yes
- $echo
- $echo "*** Warning! Library $i is needed by this library but I was not able to"
- $echo "*** make it link in! You will probably need to install it or some"
- $echo "*** library that it depends on before this library will be fully"
- $echo "*** functional. Installing it before continuing would be even better."
+ $ECHO
+ $ECHO "*** Warning! Library $i is needed by this library but I was not able to"
+ $ECHO "*** make it link in! You will probably need to install it or some"
+ $ECHO "*** library that it depends on before this library will be fully"
+ $ECHO "*** functional. Installing it before continuing would be even better."
fi
- else
+ ;;
+ *)
newdeplibs="$newdeplibs $i"
- fi
+ ;;
+ esac
done
fi
;;
file_magic*)
- set dummy $deplibs_check_method
- file_magic_regex=`expr "$deplibs_check_method" : "$2 \(.*\)"`
+ set dummy $deplibs_check_method; shift
+ file_magic_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"`
for a_deplib in $deplibs; do
- name=`expr $a_deplib : '-l\(.*\)'`
- # If $name is empty we are operating on a -L argument.
- if test "$name" != "" && test "$name" != "0"; then
+ case $a_deplib in
+ -l*)
+ func_stripname -l '' "$a_deplib"
+ name=$func_stripname_result
if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
case " $predeps $postdeps " in
*" $a_deplib "*)
@@ -3664,13 +6652,13 @@ EOF
esac
fi
if test -n "$a_deplib" ; then
- libname=`eval \\$echo \"$libname_spec\"`
+ libname=`eval "\\$ECHO \"$libname_spec\""`
for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do
potential_libs=`ls $i/$libname[.-]* 2>/dev/null`
for potent_lib in $potential_libs; do
# Follow soft links.
- if ls -lLd "$potent_lib" 2>/dev/null \
- | grep " -> " >/dev/null; then
+ if ls -lLd "$potent_lib" 2>/dev/null |
+ $GREP " -> " >/dev/null; then
continue
fi
# The statement above tries to avoid entering an
@@ -3683,12 +6671,12 @@ EOF
potliblink=`ls -ld $potlib | ${SED} 's/.* -> //'`
case $potliblink in
[\\/]* | [A-Za-z]:[\\/]*) potlib="$potliblink";;
- *) potlib=`$echo "X$potlib" | $Xsed -e 's,[^/]*$,,'`"$potliblink";;
+ *) potlib=`$ECHO "X$potlib" | $Xsed -e 's,[^/]*$,,'`"$potliblink";;
esac
done
- if eval $file_magic_cmd \"\$potlib\" 2>/dev/null \
- | ${SED} 10q \
- | $EGREP "$file_magic_regex" > /dev/null; then
+ if eval $file_magic_cmd \"\$potlib\" 2>/dev/null |
+ $SED -e 10q |
+ $EGREP "$file_magic_regex" > /dev/null; then
newdeplibs="$newdeplibs $a_deplib"
a_deplib=""
break 2
@@ -3698,32 +6686,35 @@ EOF
fi
if test -n "$a_deplib" ; then
droppeddeps=yes
- $echo
- $echo "*** Warning: linker path does not have real file for library $a_deplib."
- $echo "*** I have the capability to make that library automatically link in when"
- $echo "*** you link to this library. But I can only do this if you have a"
- $echo "*** shared version of the library, which you do not appear to have"
- $echo "*** because I did check the linker path looking for a file starting"
+ $ECHO
+ $ECHO "*** Warning: linker path does not have real file for library $a_deplib."
+ $ECHO "*** I have the capability to make that library automatically link in when"
+ $ECHO "*** you link to this library. But I can only do this if you have a"
+ $ECHO "*** shared version of the library, which you do not appear to have"
+ $ECHO "*** because I did check the linker path looking for a file starting"
if test -z "$potlib" ; then
- $echo "*** with $libname but no candidates were found. (...for file magic test)"
+ $ECHO "*** with $libname but no candidates were found. (...for file magic test)"
else
- $echo "*** with $libname and none of the candidates passed a file format test"
- $echo "*** using a file magic. Last file checked: $potlib"
+ $ECHO "*** with $libname and none of the candidates passed a file format test"
+ $ECHO "*** using a file magic. Last file checked: $potlib"
fi
fi
- else
+ ;;
+ *)
# Add a -L argument.
newdeplibs="$newdeplibs $a_deplib"
- fi
+ ;;
+ esac
done # Gone through all deplibs.
;;
match_pattern*)
- set dummy $deplibs_check_method
- match_pattern_regex=`expr "$deplibs_check_method" : "$2 \(.*\)"`
+ set dummy $deplibs_check_method; shift
+ match_pattern_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"`
for a_deplib in $deplibs; do
- name=`expr $a_deplib : '-l\(.*\)'`
- # If $name is empty we are operating on a -L argument.
- if test -n "$name" && test "$name" != "0"; then
+ case $a_deplib in
+ -l*)
+ func_stripname -l '' "$a_deplib"
+ name=$func_stripname_result
if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
case " $predeps $postdeps " in
*" $a_deplib "*)
@@ -3733,14 +6724,13 @@ EOF
esac
fi
if test -n "$a_deplib" ; then
- libname=`eval \\$echo \"$libname_spec\"`
+ libname=`eval "\\$ECHO \"$libname_spec\""`
for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do
potential_libs=`ls $i/$libname[.-]* 2>/dev/null`
for potent_lib in $potential_libs; do
potlib="$potent_lib" # see symlink-check above in file_magic test
- if eval $echo \"$potent_lib\" 2>/dev/null \
- | ${SED} 10q \
- | $EGREP "$match_pattern_regex" > /dev/null; then
+ if eval "\$ECHO \"X$potent_lib\"" 2>/dev/null | $Xsed -e 10q | \
+ $EGREP "$match_pattern_regex" > /dev/null; then
newdeplibs="$newdeplibs $a_deplib"
a_deplib=""
break 2
@@ -3750,44 +6740,46 @@ EOF
fi
if test -n "$a_deplib" ; then
droppeddeps=yes
- $echo
- $echo "*** Warning: linker path does not have real file for library $a_deplib."
- $echo "*** I have the capability to make that library automatically link in when"
- $echo "*** you link to this library. But I can only do this if you have a"
- $echo "*** shared version of the library, which you do not appear to have"
- $echo "*** because I did check the linker path looking for a file starting"
+ $ECHO
+ $ECHO "*** Warning: linker path does not have real file for library $a_deplib."
+ $ECHO "*** I have the capability to make that library automatically link in when"
+ $ECHO "*** you link to this library. But I can only do this if you have a"
+ $ECHO "*** shared version of the library, which you do not appear to have"
+ $ECHO "*** because I did check the linker path looking for a file starting"
if test -z "$potlib" ; then
- $echo "*** with $libname but no candidates were found. (...for regex pattern test)"
+ $ECHO "*** with $libname but no candidates were found. (...for regex pattern test)"
else
- $echo "*** with $libname and none of the candidates passed a file format test"
- $echo "*** using a regex pattern. Last file checked: $potlib"
+ $ECHO "*** with $libname and none of the candidates passed a file format test"
+ $ECHO "*** using a regex pattern. Last file checked: $potlib"
fi
fi
- else
+ ;;
+ *)
# Add a -L argument.
newdeplibs="$newdeplibs $a_deplib"
- fi
+ ;;
+ esac
done # Gone through all deplibs.
;;
none | unknown | *)
newdeplibs=""
- tmp_deplibs=`$echo "X $deplibs" | $Xsed -e 's/ -lc$//' \
- -e 's/ -[LR][^ ]*//g'`
+ tmp_deplibs=`$ECHO "X $deplibs" | $Xsed \
+ -e 's/ -lc$//' -e 's/ -[LR][^ ]*//g'`
if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
for i in $predeps $postdeps ; do
# can't use Xsed below, because $i might contain '/'
- tmp_deplibs=`$echo "X $tmp_deplibs" | ${SED} -e "1s,^X,," -e "s,$i,,"`
+ tmp_deplibs=`$ECHO "X $tmp_deplibs" | $Xsed -e "s,$i,,"`
done
fi
- if $echo "X $tmp_deplibs" | $Xsed -e 's/[ ]//g' \
- | grep . >/dev/null; then
- $echo
+ if $ECHO "X $tmp_deplibs" | $Xsed -e 's/[ ]//g' |
+ $GREP . >/dev/null; then
+ $ECHO
if test "X$deplibs_check_method" = "Xnone"; then
- $echo "*** Warning: inter-library dependencies are not supported in this platform."
+ $ECHO "*** Warning: inter-library dependencies are not supported in this platform."
else
- $echo "*** Warning: inter-library dependencies are not known to be supported."
+ $ECHO "*** Warning: inter-library dependencies are not known to be supported."
fi
- $echo "*** All declared inter-library dependencies are being dropped."
+ $ECHO "*** All declared inter-library dependencies are being dropped."
droppeddeps=yes
fi
;;
@@ -3800,24 +6792,24 @@ EOF
case $host in
*-*-rhapsody* | *-*-darwin1.[012])
- # On Rhapsody replace the C library is the System framework
- newdeplibs=`$echo "X $newdeplibs" | $Xsed -e 's/ -lc / -framework System /'`
+ # On Rhapsody replace the C library with the System framework
+ newdeplibs=`$ECHO "X $newdeplibs" | $Xsed -e 's/ -lc / System.ltframework /'`
;;
esac
if test "$droppeddeps" = yes; then
if test "$module" = yes; then
- $echo
- $echo "*** Warning: libtool could not satisfy all declared inter-library"
- $echo "*** dependencies of module $libname. Therefore, libtool will create"
- $echo "*** a static module, that should work as long as the dlopening"
- $echo "*** application is linked with the -dlopen flag."
+ $ECHO
+ $ECHO "*** Warning: libtool could not satisfy all declared inter-library"
+ $ECHO "*** dependencies of module $libname. Therefore, libtool will create"
+ $ECHO "*** a static module, that should work as long as the dlopening"
+ $ECHO "*** application is linked with the -dlopen flag."
if test -z "$global_symbol_pipe"; then
- $echo
- $echo "*** However, this would only work if libtool was able to extract symbol"
- $echo "*** lists from a program, using \`nm' or equivalent, but libtool could"
- $echo "*** not find such a program. So, this module is probably useless."
- $echo "*** \`nm' from GNU binutils and a full rebuild may help."
+ $ECHO
+ $ECHO "*** However, this would only work if libtool was able to extract symbol"
+ $ECHO "*** lists from a program, using \`nm' or equivalent, but libtool could"
+ $ECHO "*** not find such a program. So, this module is probably useless."
+ $ECHO "*** \`nm' from GNU binutils and a full rebuild may help."
fi
if test "$build_old_libs" = no; then
oldlibs="$output_objdir/$libname.$libext"
@@ -3827,16 +6819,16 @@ EOF
build_libtool_libs=no
fi
else
- $echo "*** The inter-library dependencies that have been dropped here will be"
- $echo "*** automatically added whenever a program is linked with this library"
- $echo "*** or is declared to -dlopen it."
+ $ECHO "*** The inter-library dependencies that have been dropped here will be"
+ $ECHO "*** automatically added whenever a program is linked with this library"
+ $ECHO "*** or is declared to -dlopen it."
if test "$allow_undefined" = no; then
- $echo
- $echo "*** Since this library must not contain undefined symbols,"
- $echo "*** because either the platform does not support them or"
- $echo "*** it was explicitly requested with -no-undefined,"
- $echo "*** libtool will only create a static version of it."
+ $ECHO
+ $ECHO "*** Since this library must not contain undefined symbols,"
+ $ECHO "*** because either the platform does not support them or"
+ $ECHO "*** it was explicitly requested with -no-undefined,"
+ $ECHO "*** libtool will only create a static version of it."
if test "$build_old_libs" = no; then
oldlibs="$output_objdir/$libname.$libext"
build_libtool_libs=module
@@ -3850,7 +6842,14 @@ EOF
# Done checking deplibs!
deplibs=$newdeplibs
fi
-
+ # Time to change all our "foo.ltframework" stuff back to "-framework foo"
+ case $host in
+ *-*-darwin*)
+ newdeplibs=`$ECHO "X $newdeplibs" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'`
+ new_inherited_linker_flags=`$ECHO "X $new_inherited_linker_flags" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'`
+ deplibs=`$ECHO "X $deplibs" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'`
+ ;;
+ esac
# move library search paths that coincide with paths to not yet
# installed libraries to the beginning of the library search list
@@ -3879,7 +6878,6 @@ EOF
done
deplibs="$new_libs"
-
# All the library-specific variables (install_libdir is set above).
library_names=
old_library=
@@ -3924,10 +6922,7 @@ EOF
test -n "$hardcode_libdirs"; then
libdir="$hardcode_libdirs"
if test -n "$hardcode_libdir_flag_spec_ld"; then
- case $archive_cmds in
- *\$LD*) eval dep_rpath=\"$hardcode_libdir_flag_spec_ld\" ;;
- *) eval dep_rpath=\"$hardcode_libdir_flag_spec\" ;;
- esac
+ eval dep_rpath=\"$hardcode_libdir_flag_spec_ld\"
else
eval dep_rpath=\"$hardcode_libdir_flag_spec\"
fi
@@ -3953,8 +6948,9 @@ EOF
eval shared_ext=\"$shrext_cmds\"
eval library_names=\"$library_names_spec\"
set dummy $library_names
- realname="$2"
- shift; shift
+ shift
+ realname="$1"
+ shift
if test -n "$soname_spec"; then
eval soname=\"$soname_spec\"
@@ -3973,71 +6969,122 @@ EOF
done
# Use standard objects if they are pic
- test -z "$pic_flag" && libobjs=`$echo "X$libobjs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
+ test -z "$pic_flag" && libobjs=`$ECHO "X$libobjs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
+ test "X$libobjs" = "X " && libobjs=
+
+ delfiles=
+ if test -n "$export_symbols" && test -n "$include_expsyms"; then
+ $opt_dry_run || cp "$export_symbols" "$output_objdir/$libname.uexp"
+ export_symbols="$output_objdir/$libname.uexp"
+ delfiles="$delfiles $export_symbols"
+ fi
+
+ orig_export_symbols=
+ case $host_os in
+ cygwin* | mingw* | cegcc*)
+ if test -n "$export_symbols" && test -z "$export_symbols_regex"; then
+ # exporting using user supplied symfile
+ if test "x`$SED 1q $export_symbols`" != xEXPORTS; then
+ # and it's NOT already a .def file. Must figure out
+ # which of the given symbols are data symbols and tag
+ # them as such. So, trigger use of export_symbols_cmds.
+ # export_symbols gets reassigned inside the "prepare
+ # the list of exported symbols" if statement, so the
+ # include_expsyms logic still works.
+ orig_export_symbols="$export_symbols"
+ export_symbols=
+ always_export_symbols=yes
+ fi
+ fi
+ ;;
+ esac
# Prepare the list of exported symbols
if test -z "$export_symbols"; then
if test "$always_export_symbols" = yes || test -n "$export_symbols_regex"; then
- $show "generating symbol list for \`$libname.la'"
+ func_verbose "generating symbol list for \`$libname.la'"
export_symbols="$output_objdir/$libname.exp"
- $run $rm $export_symbols
+ $opt_dry_run || $RM $export_symbols
cmds=$export_symbols_cmds
save_ifs="$IFS"; IFS='~'
for cmd in $cmds; do
IFS="$save_ifs"
eval cmd=\"$cmd\"
- if len=`expr "X$cmd" : ".*"` &&
- test "$len" -le "$max_cmd_len" || test "$max_cmd_len" -le -1; then
- $show "$cmd"
- $run eval "$cmd" || exit $?
- skipped_export=false
+ func_len " $cmd"
+ len=$func_len_result
+ if test "$len" -lt "$max_cmd_len" || test "$max_cmd_len" -le -1; then
+ func_show_eval "$cmd" 'exit $?'
+ skipped_export=false
else
- # The command line is too long to execute in one step.
- $show "using reloadable object file for export list..."
- skipped_export=:
+ # The command line is too long to execute in one step.
+ func_verbose "using reloadable object file for export list..."
+ skipped_export=:
# Break out early, otherwise skipped_export may be
# set to false by a later but shorter cmd.
break
fi
done
IFS="$save_ifs"
- if test -n "$export_symbols_regex"; then
- $show "$EGREP -e \"$export_symbols_regex\" \"$export_symbols\" > \"${export_symbols}T\""
- $run eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"'
- $show "$mv \"${export_symbols}T\" \"$export_symbols\""
- $run eval '$mv "${export_symbols}T" "$export_symbols"'
+ if test -n "$export_symbols_regex" && test "X$skipped_export" != "X:"; then
+ func_show_eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"'
+ func_show_eval '$MV "${export_symbols}T" "$export_symbols"'
fi
fi
fi
if test -n "$export_symbols" && test -n "$include_expsyms"; then
- $run eval '$echo "X$include_expsyms" | $SP2NL >> "$export_symbols"'
+ tmp_export_symbols="$export_symbols"
+ test -n "$orig_export_symbols" && tmp_export_symbols="$orig_export_symbols"
+ $opt_dry_run || eval '$ECHO "X$include_expsyms" | $Xsed | $SP2NL >> "$tmp_export_symbols"'
+ fi
+
+ if test "X$skipped_export" != "X:" && test -n "$orig_export_symbols"; then
+ # The given exports_symbols file has to be filtered, so filter it.
+ func_verbose "filter symbol list for \`$libname.la' to tag DATA exports"
+ # FIXME: $output_objdir/$libname.filter potentially contains lots of
+ # 's' commands which not all seds can handle. GNU sed should be fine
+ # though. Also, the filter scales superlinearly with the number of
+ # global variables. join(1) would be nice here, but unfortunately
+ # isn't a blessed tool.
+ $opt_dry_run || $SED -e '/[ ,]DATA/!d;s,\(.*\)\([ \,].*\),s|^\1$|\1\2|,' < $export_symbols > $output_objdir/$libname.filter
+ delfiles="$delfiles $export_symbols $output_objdir/$libname.filter"
+ export_symbols=$output_objdir/$libname.def
+ $opt_dry_run || $SED -f $output_objdir/$libname.filter < $orig_export_symbols > $export_symbols
fi
tmp_deplibs=
for test_deplib in $deplibs; do
- case " $convenience " in
- *" $test_deplib "*) ;;
- *)
- tmp_deplibs="$tmp_deplibs $test_deplib"
- ;;
- esac
+ case " $convenience " in
+ *" $test_deplib "*) ;;
+ *)
+ tmp_deplibs="$tmp_deplibs $test_deplib"
+ ;;
+ esac
done
deplibs="$tmp_deplibs"
if test -n "$convenience"; then
+ if test -n "$whole_archive_flag_spec" &&
+ test "$compiler_needs_object" = yes &&
+ test -z "$libobjs"; then
+ # extract the archives, so we have objects to list.
+ # TODO: could optimize this to just extract one archive.
+ whole_archive_flag_spec=
+ fi
if test -n "$whole_archive_flag_spec"; then
save_libobjs=$libobjs
eval libobjs=\"\$libobjs $whole_archive_flag_spec\"
+ test "X$libobjs" = "X " && libobjs=
else
gentop="$output_objdir/${outputname}x"
generated="$generated $gentop"
func_extract_archives $gentop $convenience
libobjs="$libobjs $func_extract_archives_result"
+ test "X$libobjs" = "X " && libobjs=
fi
fi
-
+
if test "$thread_safe" = yes && test -n "$thread_safe_flag_spec"; then
eval flag=\"$thread_safe_flag_spec\"
linker_flags="$linker_flags $flag"
@@ -4045,7 +7092,7 @@ EOF
# Make a backup of the uninstalled library when relinking
if test "$mode" = relink; then
- $run eval '(cd $output_objdir && $rm ${realname}U && $mv $realname ${realname}U)' || exit $?
+ $opt_dry_run || eval '(cd $output_objdir && $RM ${realname}U && $MV $realname ${realname}U)' || exit $?
fi
# Do each of the archive commands.
@@ -4058,22 +7105,24 @@ EOF
cmds=$module_cmds
fi
else
- if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then
- eval test_cmds=\"$archive_expsym_cmds\"
- cmds=$archive_expsym_cmds
- else
- eval test_cmds=\"$archive_cmds\"
- cmds=$archive_cmds
+ if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then
+ eval test_cmds=\"$archive_expsym_cmds\"
+ cmds=$archive_expsym_cmds
+ else
+ eval test_cmds=\"$archive_cmds\"
+ cmds=$archive_cmds
fi
fi
if test "X$skipped_export" != "X:" &&
- len=`expr "X$test_cmds" : ".*" 2>/dev/null` &&
- test "$len" -le "$max_cmd_len" || test "$max_cmd_len" -le -1; then
+ func_len " $test_cmds" &&
+ len=$func_len_result &&
+ test "$len" -lt "$max_cmd_len" || test "$max_cmd_len" -le -1; then
:
else
- # The command line is too long to link in one step, link piecewise.
- $echo "creating reloadable object files..."
+ # The command line is too long to link in one step, link piecewise
+ # or, if using GNU ld and skipped_export is not :, use a linker
+ # script.
# Save the value of $output and $libobjs because we want to
# use them later. If we have whole_archive_flag_spec, we
@@ -4087,77 +7136,162 @@ EOF
save_libobjs=$libobjs
fi
save_output=$output
- output_la=`$echo "X$output" | $Xsed -e "$basename"`
+ output_la=`$ECHO "X$output" | $Xsed -e "$basename"`
# Clear the reloadable object creation command queue and
# initialize k to one.
test_cmds=
concat_cmds=
objlist=
- delfiles=
last_robj=
k=1
- output=$output_objdir/$output_la-${k}.$objext
- # Loop over the list of objects to be linked.
- for obj in $save_libobjs
- do
- eval test_cmds=\"$reload_cmds $objlist $last_robj\"
- if test "X$objlist" = X ||
- { len=`expr "X$test_cmds" : ".*" 2>/dev/null` &&
- test "$len" -le "$max_cmd_len"; }; then
- objlist="$objlist $obj"
+
+ if test -n "$save_libobjs" && test "X$skipped_export" != "X:" && test "$with_gnu_ld" = yes; then
+ output=${output_objdir}/${output_la}.lnkscript
+ func_verbose "creating GNU ld script: $output"
+ $ECHO 'INPUT (' > $output
+ for obj in $save_libobjs
+ do
+ $ECHO "$obj" >> $output
+ done
+ $ECHO ')' >> $output
+ delfiles="$delfiles $output"
+ elif test -n "$save_libobjs" && test "X$skipped_export" != "X:" && test "X$file_list_spec" != X; then
+ output=${output_objdir}/${output_la}.lnk
+ func_verbose "creating linker input file list: $output"
+ : > $output
+ set x $save_libobjs
+ shift
+ firstobj=
+ if test "$compiler_needs_object" = yes; then
+ firstobj="$1 "
+ shift
+ fi
+ for obj
+ do
+ $ECHO "$obj" >> $output
+ done
+ delfiles="$delfiles $output"
+ output=$firstobj\"$file_list_spec$output\"
+ else
+ if test -n "$save_libobjs"; then
+ func_verbose "creating reloadable object files..."
+ output=$output_objdir/$output_la-${k}.$objext
+ eval test_cmds=\"$reload_cmds\"
+ func_len " $test_cmds"
+ len0=$func_len_result
+ len=$len0
+
+ # Loop over the list of objects to be linked.
+ for obj in $save_libobjs
+ do
+ func_len " $obj"
+ func_arith $len + $func_len_result
+ len=$func_arith_result
+ if test "X$objlist" = X ||
+ test "$len" -lt "$max_cmd_len"; then
+ func_append objlist " $obj"
+ else
+ # The command $test_cmds is almost too long, add a
+ # command to the queue.
+ if test "$k" -eq 1 ; then
+ # The first file doesn't have a previous command to add.
+ eval concat_cmds=\"$reload_cmds $objlist $last_robj\"
+ else
+ # All subsequent reloadable object files will link in
+ # the last one created.
+ eval concat_cmds=\"\$concat_cmds~$reload_cmds $objlist $last_robj~\$RM $last_robj\"
+ fi
+ last_robj=$output_objdir/$output_la-${k}.$objext
+ func_arith $k + 1
+ k=$func_arith_result
+ output=$output_objdir/$output_la-${k}.$objext
+ objlist=$obj
+ func_len " $last_robj"
+ func_arith $len0 + $func_len_result
+ len=$func_arith_result
+ fi
+ done
+ # Handle the remaining objects by creating one last
+ # reloadable object file. All subsequent reloadable object
+ # files will link in the last one created.
+ test -z "$concat_cmds" || concat_cmds=$concat_cmds~
+ eval concat_cmds=\"\${concat_cmds}$reload_cmds $objlist $last_robj\"
+ if test -n "$last_robj"; then
+ eval concat_cmds=\"\${concat_cmds}~\$RM $last_robj\"
+ fi
+ delfiles="$delfiles $output"
+
else
- # The command $test_cmds is almost too long, add a
- # command to the queue.
- if test "$k" -eq 1 ; then
- # The first file doesn't have a previous command to add.
- eval concat_cmds=\"$reload_cmds $objlist $last_robj\"
- else
- # All subsequent reloadable object files will link in
- # the last one created.
- eval concat_cmds=\"\$concat_cmds~$reload_cmds $objlist $last_robj\"
+ output=
+ fi
+
+ if ${skipped_export-false}; then
+ func_verbose "generating symbol list for \`$libname.la'"
+ export_symbols="$output_objdir/$libname.exp"
+ $opt_dry_run || $RM $export_symbols
+ libobjs=$output
+ # Append the command to create the export file.
+ test -z "$concat_cmds" || concat_cmds=$concat_cmds~
+ eval concat_cmds=\"\$concat_cmds$export_symbols_cmds\"
+ if test -n "$last_robj"; then
+ eval concat_cmds=\"\$concat_cmds~\$RM $last_robj\"
fi
- last_robj=$output_objdir/$output_la-${k}.$objext
- k=`expr $k + 1`
- output=$output_objdir/$output_la-${k}.$objext
- objlist=$obj
- len=1
fi
- done
- # Handle the remaining objects by creating one last
- # reloadable object file. All subsequent reloadable object
- # files will link in the last one created.
- test -z "$concat_cmds" || concat_cmds=$concat_cmds~
- eval concat_cmds=\"\${concat_cmds}$reload_cmds $objlist $last_robj\"
-
- if ${skipped_export-false}; then
- $show "generating symbol list for \`$libname.la'"
- export_symbols="$output_objdir/$libname.exp"
- $run $rm $export_symbols
- libobjs=$output
- # Append the command to create the export file.
- eval concat_cmds=\"\$concat_cmds~$export_symbols_cmds\"
- fi
-
- # Set up a command to remove the reloadable object files
- # after they are used.
- i=0
- while test "$i" -lt "$k"
- do
- i=`expr $i + 1`
- delfiles="$delfiles $output_objdir/$output_la-${i}.$objext"
- done
- $echo "creating a temporary reloadable object file: $output"
+ test -n "$save_libobjs" &&
+ func_verbose "creating a temporary reloadable object file: $output"
- # Loop through the commands generated above and execute them.
- save_ifs="$IFS"; IFS='~'
- for cmd in $concat_cmds; do
+ # Loop through the commands generated above and execute them.
+ save_ifs="$IFS"; IFS='~'
+ for cmd in $concat_cmds; do
+ IFS="$save_ifs"
+ $opt_silent || {
+ func_quote_for_expand "$cmd"
+ eval "func_echo $func_quote_for_expand_result"
+ }
+ $opt_dry_run || eval "$cmd" || {
+ lt_exit=$?
+
+ # Restore the uninstalled library and exit
+ if test "$mode" = relink; then
+ ( cd "$output_objdir" && \
+ $RM "${realname}T" && \
+ $MV "${realname}U" "$realname" )
+ fi
+
+ exit $lt_exit
+ }
+ done
IFS="$save_ifs"
- $show "$cmd"
- $run eval "$cmd" || exit $?
- done
- IFS="$save_ifs"
+
+ if test -n "$export_symbols_regex" && ${skipped_export-false}; then
+ func_show_eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"'
+ func_show_eval '$MV "${export_symbols}T" "$export_symbols"'
+ fi
+ fi
+
+ if ${skipped_export-false}; then
+ if test -n "$export_symbols" && test -n "$include_expsyms"; then
+ tmp_export_symbols="$export_symbols"
+ test -n "$orig_export_symbols" && tmp_export_symbols="$orig_export_symbols"
+ $opt_dry_run || eval '$ECHO "X$include_expsyms" | $Xsed | $SP2NL >> "$tmp_export_symbols"'
+ fi
+
+ if test -n "$orig_export_symbols"; then
+ # The given exports_symbols file has to be filtered, so filter it.
+ func_verbose "filter symbol list for \`$libname.la' to tag DATA exports"
+ # FIXME: $output_objdir/$libname.filter potentially contains lots of
+ # 's' commands which not all seds can handle. GNU sed should be fine
+ # though. Also, the filter scales superlinearly with the number of
+ # global variables. join(1) would be nice here, but unfortunately
+ # isn't a blessed tool.
+ $opt_dry_run || $SED -e '/[ ,]DATA/!d;s,\(.*\)\([ \,].*\),s|^\1$|\1\2|,' < $export_symbols > $output_objdir/$libname.filter
+ delfiles="$delfiles $export_symbols $output_objdir/$libname.filter"
+ export_symbols=$output_objdir/$libname.def
+ $opt_dry_run || $SED -f $output_objdir/$libname.filter < $orig_export_symbols > $export_symbols
+ fi
+ fi
libobjs=$output
# Restore the value of output.
@@ -4165,6 +7299,7 @@ EOF
if test -n "$convenience" && test -n "$whole_archive_flag_spec"; then
eval libobjs=\"\$libobjs $whole_archive_flag_spec\"
+ test "X$libobjs" = "X " && libobjs=
fi
# Expand the library linking commands again to reset the
# value of $libobjs for piecewise linking.
@@ -4177,28 +7312,45 @@ EOF
cmds=$module_cmds
fi
else
- if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then
- cmds=$archive_expsym_cmds
- else
- cmds=$archive_cmds
+ if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then
+ cmds=$archive_expsym_cmds
+ else
+ cmds=$archive_cmds
fi
fi
+ fi
+
+ if test -n "$delfiles"; then
+ # Append the command to remove temporary files to $cmds.
+ eval cmds=\"\$cmds~\$RM $delfiles\"
+ fi
- # Append the command to remove the reloadable object files
- # to the just-reset $cmds.
- eval cmds=\"\$cmds~\$rm $delfiles\"
+ # Add any objects from preloaded convenience libraries
+ if test -n "$dlprefiles"; then
+ gentop="$output_objdir/${outputname}x"
+ generated="$generated $gentop"
+
+ func_extract_archives $gentop $dlprefiles
+ libobjs="$libobjs $func_extract_archives_result"
+ test "X$libobjs" = "X " && libobjs=
fi
+
save_ifs="$IFS"; IFS='~'
for cmd in $cmds; do
IFS="$save_ifs"
eval cmd=\"$cmd\"
- $show "$cmd"
- $run eval "$cmd" || {
+ $opt_silent || {
+ func_quote_for_expand "$cmd"
+ eval "func_echo $func_quote_for_expand_result"
+ }
+ $opt_dry_run || eval "$cmd" || {
lt_exit=$?
# Restore the uninstalled library and exit
if test "$mode" = relink; then
- $run eval '(cd $output_objdir && $rm ${realname}T && $mv ${realname}U $realname)'
+ ( cd "$output_objdir" && \
+ $RM "${realname}T" && \
+ $MV "${realname}U" "$realname" )
fi
exit $lt_exit
@@ -4208,12 +7360,11 @@ EOF
# Restore the uninstalled library and exit
if test "$mode" = relink; then
- $run eval '(cd $output_objdir && $rm ${realname}T && $mv $realname ${realname}T && $mv "$realname"U $realname)' || exit $?
+ $opt_dry_run || eval '(cd $output_objdir && $RM ${realname}T && $MV $realname ${realname}T && $MV ${realname}U $realname)' || exit $?
if test -n "$convenience"; then
if test -z "$whole_archive_flag_spec"; then
- $show "${rm}r $gentop"
- $run ${rm}r "$gentop"
+ func_show_eval '${RM}r "$gentop"'
fi
fi
@@ -4223,8 +7374,7 @@ EOF
# Create links to the real library.
for linkname in $linknames; do
if test "$realname" != "$linkname"; then
- $show "(cd $output_objdir && $rm $linkname && $LN_S $realname $linkname)"
- $run eval '(cd $output_objdir && $rm $linkname && $LN_S $realname $linkname)' || exit $?
+ func_show_eval '(cd "$output_objdir" && $RM "$linkname" && $LN_S "$realname" "$linkname")' 'exit $?'
fi
done
@@ -4237,38 +7387,35 @@ EOF
;;
obj)
- if test -n "$deplibs"; then
- $echo "$modename: warning: \`-l' and \`-L' are ignored for objects" 1>&2
- fi
-
if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then
- $echo "$modename: warning: \`-dlopen' is ignored for objects" 1>&2
+ func_warning "\`-dlopen' is ignored for objects"
fi
- if test -n "$rpath"; then
- $echo "$modename: warning: \`-rpath' is ignored for objects" 1>&2
- fi
+ case " $deplibs" in
+ *\ -l* | *\ -L*)
+ func_warning "\`-l' and \`-L' are ignored for objects" ;;
+ esac
- if test -n "$xrpath"; then
- $echo "$modename: warning: \`-R' is ignored for objects" 1>&2
- fi
+ test -n "$rpath" && \
+ func_warning "\`-rpath' is ignored for objects"
- if test -n "$vinfo"; then
- $echo "$modename: warning: \`-version-info' is ignored for objects" 1>&2
- fi
+ test -n "$xrpath" && \
+ func_warning "\`-R' is ignored for objects"
- if test -n "$release"; then
- $echo "$modename: warning: \`-release' is ignored for objects" 1>&2
- fi
+ test -n "$vinfo" && \
+ func_warning "\`-version-info' is ignored for objects"
+
+ test -n "$release" && \
+ func_warning "\`-release' is ignored for objects"
case $output in
*.lo)
- if test -n "$objs$old_deplibs"; then
- $echo "$modename: cannot build library object \`$output' from non-libtool objects" 1>&2
- exit $EXIT_FAILURE
- fi
- libobj="$output"
- obj=`$echo "X$output" | $Xsed -e "$lo2o"`
+ test -n "$objs$old_deplibs" && \
+ func_fatal_error "cannot build library object \`$output' from non-libtool objects"
+
+ libobj=$output
+ func_lo2o "$libobj"
+ obj=$func_lo2o_result
;;
*)
libobj=
@@ -4277,7 +7424,7 @@ EOF
esac
# Delete the old objects.
- $run $rm $obj $libobj
+ $opt_dry_run || $RM $obj $libobj
# Objects from convenience libraries. This assumes
# single-version convenience libraries. Whenever we create
@@ -4293,7 +7440,7 @@ EOF
if test -n "$convenience"; then
if test -n "$whole_archive_flag_spec"; then
eval tmp_whole_archive_flags=\"$whole_archive_flag_spec\"
- reload_conv_objs=$reload_objs\ `$echo "X$tmp_whole_archive_flags" | $Xsed -e 's|,| |g'`
+ reload_conv_objs=$reload_objs\ `$ECHO "X$tmp_whole_archive_flags" | $Xsed -e 's|,| |g'`
else
gentop="$output_objdir/${obj}x"
generated="$generated $gentop"
@@ -4304,24 +7451,15 @@ EOF
fi
# Create the old-style object.
- reload_objs="$objs$old_deplibs "`$echo "X$libobjs" | $SP2NL | $Xsed -e '/\.'${libext}$'/d' -e '/\.lib$/d' -e "$lo2o" | $NL2SP`" $reload_conv_objs" ### testsuite: skip nested quoting test
+ reload_objs="$objs$old_deplibs "`$ECHO "X$libobjs" | $SP2NL | $Xsed -e '/\.'${libext}$'/d' -e '/\.lib$/d' -e "$lo2o" | $NL2SP`" $reload_conv_objs" ### testsuite: skip nested quoting test
output="$obj"
- cmds=$reload_cmds
- save_ifs="$IFS"; IFS='~'
- for cmd in $cmds; do
- IFS="$save_ifs"
- eval cmd=\"$cmd\"
- $show "$cmd"
- $run eval "$cmd" || exit $?
- done
- IFS="$save_ifs"
+ func_execute_cmds "$reload_cmds" 'exit $?'
# Exit if we aren't doing a library object file.
if test -z "$libobj"; then
if test -n "$gentop"; then
- $show "${rm}r $gentop"
- $run ${rm}r $gentop
+ func_show_eval '${RM}r "$gentop"'
fi
exit $EXIT_SUCCESS
@@ -4329,14 +7467,13 @@ EOF
if test "$build_libtool_libs" != yes; then
if test -n "$gentop"; then
- $show "${rm}r $gentop"
- $run ${rm}r $gentop
+ func_show_eval '${RM}r "$gentop"'
fi
# Create an invalid libtool object if no PIC, so that we don't
# accidentally link it into a program.
# $show "echo timestamp > $libobj"
- # $run eval "echo timestamp > $libobj" || exit $?
+ # $opt_dry_run || eval "echo timestamp > $libobj" || exit $?
exit $EXIT_SUCCESS
fi
@@ -4344,20 +7481,11 @@ EOF
# Only do commands if we really have different PIC objects.
reload_objs="$libobjs $reload_conv_objs"
output="$libobj"
- cmds=$reload_cmds
- save_ifs="$IFS"; IFS='~'
- for cmd in $cmds; do
- IFS="$save_ifs"
- eval cmd=\"$cmd\"
- $show "$cmd"
- $run eval "$cmd" || exit $?
- done
- IFS="$save_ifs"
+ func_execute_cmds "$reload_cmds" 'exit $?'
fi
if test -n "$gentop"; then
- $show "${rm}r $gentop"
- $run ${rm}r $gentop
+ func_show_eval '${RM}r "$gentop"'
fi
exit $EXIT_SUCCESS
@@ -4365,39 +7493,45 @@ EOF
prog)
case $host in
- *cygwin*) output=`$echo $output | ${SED} -e 's,.exe$,,;s,$,.exe,'` ;;
+ *cygwin*) func_stripname '' '.exe' "$output"
+ output=$func_stripname_result.exe;;
esac
- if test -n "$vinfo"; then
- $echo "$modename: warning: \`-version-info' is ignored for programs" 1>&2
- fi
+ test -n "$vinfo" && \
+ func_warning "\`-version-info' is ignored for programs"
- if test -n "$release"; then
- $echo "$modename: warning: \`-release' is ignored for programs" 1>&2
- fi
+ test -n "$release" && \
+ func_warning "\`-release' is ignored for programs"
- if test "$preload" = yes; then
- if test "$dlopen_support" = unknown && test "$dlopen_self" = unknown &&
- test "$dlopen_self_static" = unknown; then
- $echo "$modename: warning: \`AC_LIBTOOL_DLOPEN' not used. Assuming no dlopen support."
- fi
- fi
+ test "$preload" = yes \
+ && test "$dlopen_support" = unknown \
+ && test "$dlopen_self" = unknown \
+ && test "$dlopen_self_static" = unknown && \
+ func_warning "\`LT_INIT([dlopen])' not used. Assuming no dlopen support."
case $host in
*-*-rhapsody* | *-*-darwin1.[012])
# On Rhapsody replace the C library is the System framework
- compile_deplibs=`$echo "X $compile_deplibs" | $Xsed -e 's/ -lc / -framework System /'`
- finalize_deplibs=`$echo "X $finalize_deplibs" | $Xsed -e 's/ -lc / -framework System /'`
+ compile_deplibs=`$ECHO "X $compile_deplibs" | $Xsed -e 's/ -lc / System.ltframework /'`
+ finalize_deplibs=`$ECHO "X $finalize_deplibs" | $Xsed -e 's/ -lc / System.ltframework /'`
;;
esac
case $host in
- *darwin*)
- # Don't allow lazy linking, it breaks C++ global constructors
- if test "$tagname" = CXX ; then
- compile_command="$compile_command ${wl}-bind_at_load"
- finalize_command="$finalize_command ${wl}-bind_at_load"
- fi
- ;;
+ *-*-darwin*)
+ # Don't allow lazy linking, it breaks C++ global constructors
+ # But is supposedly fixed on 10.4 or later (yay!).
+ if test "$tagname" = CXX ; then
+ case ${MACOSX_DEPLOYMENT_TARGET-10.0} in
+ 10.[0123])
+ compile_command="$compile_command ${wl}-bind_at_load"
+ finalize_command="$finalize_command ${wl}-bind_at_load"
+ ;;
+ esac
+ fi
+ # Time to change all our "foo.ltframework" stuff back to "-framework foo"
+ compile_deplibs=`$ECHO "X $compile_deplibs" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'`
+ finalize_deplibs=`$ECHO "X $finalize_deplibs" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'`
+ ;;
esac
@@ -4472,14 +7606,16 @@ EOF
esac
fi
case $host in
- *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*)
- testbindir=`$echo "X$libdir" | $Xsed -e 's*/lib$*/bin*'`
+ *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*)
+ testbindir=`${ECHO} "$libdir" | ${SED} -e 's*/lib$*/bin*'`
case :$dllsearchpath: in
*":$libdir:"*) ;;
+ ::) dllsearchpath=$libdir;;
*) dllsearchpath="$dllsearchpath:$libdir";;
esac
case :$dllsearchpath: in
*":$testbindir:"*) ;;
+ ::) dllsearchpath=$testbindir;;
*) dllsearchpath="$dllsearchpath:$testbindir";;
esac
;;
@@ -4531,281 +7667,51 @@ EOF
if test -n "$libobjs" && test "$build_old_libs" = yes; then
# Transform all the library objects into standard objects.
- compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
- finalize_command=`$echo "X$finalize_command" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
+ compile_command=`$ECHO "X$compile_command" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
+ finalize_command=`$ECHO "X$finalize_command" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
fi
- dlsyms=
- if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then
- if test -n "$NM" && test -n "$global_symbol_pipe"; then
- dlsyms="${outputname}S.c"
- else
- $echo "$modename: not configured to extract global symbols from dlpreopened files" 1>&2
- fi
- fi
-
- if test -n "$dlsyms"; then
- case $dlsyms in
- "") ;;
- *.c)
- # Discover the nlist of each of the dlfiles.
- nlist="$output_objdir/${outputname}.nm"
-
- $show "$rm $nlist ${nlist}S ${nlist}T"
- $run $rm "$nlist" "${nlist}S" "${nlist}T"
-
- # Parse the name list into a source file.
- $show "creating $output_objdir/$dlsyms"
-
- test -z "$run" && $echo > "$output_objdir/$dlsyms" "\
-/* $dlsyms - symbol resolution table for \`$outputname' dlsym emulation. */
-/* Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP */
-
-#ifdef __cplusplus
-extern \"C\" {
-#endif
-
-/* Prevent the only kind of declaration conflicts we can make. */
-#define lt_preloaded_symbols some_other_symbol
-
-/* External symbol declarations for the compiler. */\
-"
-
- if test "$dlself" = yes; then
- $show "generating symbol list for \`$output'"
-
- test -z "$run" && $echo ': @PROGRAM@ ' > "$nlist"
-
- # Add our own program objects to the symbol list.
- progfiles=`$echo "X$objs$old_deplibs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
- for arg in $progfiles; do
- $show "extracting global C symbols from \`$arg'"
- $run eval "$NM $arg | $global_symbol_pipe >> '$nlist'"
- done
+ func_generate_dlsyms "$outputname" "@PROGRAM@" "no"
- if test -n "$exclude_expsyms"; then
- $run eval '$EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T'
- $run eval '$mv "$nlist"T "$nlist"'
- fi
-
- if test -n "$export_symbols_regex"; then
- $run eval '$EGREP -e "$export_symbols_regex" "$nlist" > "$nlist"T'
- $run eval '$mv "$nlist"T "$nlist"'
- fi
-
- # Prepare the list of exported symbols
- if test -z "$export_symbols"; then
- export_symbols="$output_objdir/$outputname.exp"
- $run $rm $export_symbols
- $run eval "${SED} -n -e '/^: @PROGRAM@ $/d' -e 's/^.* \(.*\)$/\1/p' "'< "$nlist" > "$export_symbols"'
- case $host in
- *cygwin* | *mingw* )
- $run eval "echo EXPORTS "'> "$output_objdir/$outputname.def"'
- $run eval 'cat "$export_symbols" >> "$output_objdir/$outputname.def"'
- ;;
- esac
- else
- $run eval "${SED} -e 's/\([].[*^$]\)/\\\\\1/g' -e 's/^/ /' -e 's/$/$/'"' < "$export_symbols" > "$output_objdir/$outputname.exp"'
- $run eval 'grep -f "$output_objdir/$outputname.exp" < "$nlist" > "$nlist"T'
- $run eval 'mv "$nlist"T "$nlist"'
- case $host in
- *cygwin* | *mingw* )
- $run eval "echo EXPORTS "'> "$output_objdir/$outputname.def"'
- $run eval 'cat "$nlist" >> "$output_objdir/$outputname.def"'
- ;;
- esac
- fi
- fi
-
- for arg in $dlprefiles; do
- $show "extracting global C symbols from \`$arg'"
- name=`$echo "$arg" | ${SED} -e 's%^.*/%%'`
- $run eval '$echo ": $name " >> "$nlist"'
- $run eval "$NM $arg | $global_symbol_pipe >> '$nlist'"
- done
-
- if test -z "$run"; then
- # Make sure we have at least an empty file.
- test -f "$nlist" || : > "$nlist"
-
- if test -n "$exclude_expsyms"; then
- $EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T
- $mv "$nlist"T "$nlist"
- fi
-
- # Try sorting and uniquifying the output.
- if grep -v "^: " < "$nlist" |
- if sort -k 3 </dev/null >/dev/null 2>&1; then
- sort -k 3
- else
- sort +2
- fi |
- uniq > "$nlist"S; then
- :
- else
- grep -v "^: " < "$nlist" > "$nlist"S
- fi
-
- if test -f "$nlist"S; then
- eval "$global_symbol_to_cdecl"' < "$nlist"S >> "$output_objdir/$dlsyms"'
- else
- $echo '/* NONE */' >> "$output_objdir/$dlsyms"
- fi
-
- $echo >> "$output_objdir/$dlsyms" "\
-
-#undef lt_preloaded_symbols
-
-#if defined (__STDC__) && __STDC__
-# define lt_ptr void *
-#else
-# define lt_ptr char *
-# define const
-#endif
-
-/* The mapping between symbol names and symbols. */
-"
-
- case $host in
- *cygwin* | *mingw* )
- $echo >> "$output_objdir/$dlsyms" "\
-/* DATA imports from DLLs on WIN32 can't be const, because
- runtime relocations are performed -- see ld's documentation
- on pseudo-relocs */
-struct {
-"
- ;;
- * )
- $echo >> "$output_objdir/$dlsyms" "\
-const struct {
-"
- ;;
- esac
-
-
- $echo >> "$output_objdir/$dlsyms" "\
- const char *name;
- lt_ptr address;
-}
-lt_preloaded_symbols[] =
-{\
-"
-
- eval "$global_symbol_to_c_name_address" < "$nlist" >> "$output_objdir/$dlsyms"
-
- $echo >> "$output_objdir/$dlsyms" "\
- {0, (lt_ptr) 0}
-};
-
-/* This works around a problem in FreeBSD linker */
-#ifdef FREEBSD_WORKAROUND
-static const void *lt_preloaded_setup() {
- return lt_preloaded_symbols;
-}
-#endif
-
-#ifdef __cplusplus
-}
-#endif\
-"
- fi
-
- pic_flag_for_symtable=
- case $host in
- # compiling the symbol table file with pic_flag works around
- # a FreeBSD bug that causes programs to crash when -lm is
- # linked before any other PIC object. But we must not use
- # pic_flag when linking with -static. The problem exists in
- # FreeBSD 2.2.6 and is fixed in FreeBSD 3.1.
- *-*-freebsd2*|*-*-freebsd3.0*|*-*-freebsdelf3.0*)
- case "$compile_command " in
- *" -static "*) ;;
- *) pic_flag_for_symtable=" $pic_flag -DFREEBSD_WORKAROUND";;
- esac;;
- *-*-hpux*)
- case "$compile_command " in
- *" -static "*) ;;
- *) pic_flag_for_symtable=" $pic_flag";;
- esac
- esac
-
- # Now compile the dynamic symbol file.
- $show "(cd $output_objdir && $LTCC $LTCFLAGS -c$no_builtin_flag$pic_flag_for_symtable \"$dlsyms\")"
- $run eval '(cd $output_objdir && $LTCC $LTCFLAGS -c$no_builtin_flag$pic_flag_for_symtable "$dlsyms")' || exit $?
-
- # Clean up the generated files.
- $show "$rm $output_objdir/$dlsyms $nlist ${nlist}S ${nlist}T"
- $run $rm "$output_objdir/$dlsyms" "$nlist" "${nlist}S" "${nlist}T"
-
- # Transform the symbol file into the correct name.
- case $host in
- *cygwin* | *mingw* )
- if test -f "$output_objdir/${outputname}.def" ; then
- compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}.def $output_objdir/${outputname}S.${objext}%" | $NL2SP`
- finalize_command=`$echo "X$finalize_command" | $SP2NL | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}.def $output_objdir/${outputname}S.${objext}%" | $NL2SP`
- else
- compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%" | $NL2SP`
- finalize_command=`$echo "X$finalize_command" | $SP2NL | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%" | $NL2SP`
- fi
- ;;
- * )
- compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%" | $NL2SP`
- finalize_command=`$echo "X$finalize_command" | $SP2NL | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%" | $NL2SP`
- ;;
- esac
- ;;
- *)
- $echo "$modename: unknown suffix for \`$dlsyms'" 1>&2
- exit $EXIT_FAILURE
- ;;
- esac
- else
- # We keep going just in case the user didn't refer to
- # lt_preloaded_symbols. The linker will fail if global_symbol_pipe
- # really was required.
-
- # Nullify the symbol file.
- compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e "s% @SYMFILE@%%" | $NL2SP`
- finalize_command=`$echo "X$finalize_command" | $SP2NL | $Xsed -e "s% @SYMFILE@%%" | $NL2SP`
+ # template prelinking step
+ if test -n "$prelink_cmds"; then
+ func_execute_cmds "$prelink_cmds" 'exit $?'
fi
- if test "$need_relink" = no || test "$build_libtool_libs" != yes; then
+ wrappers_required=yes
+ case $host in
+ *cygwin* | *mingw* )
+ if test "$build_libtool_libs" != yes; then
+ wrappers_required=no
+ fi
+ ;;
+ *cegcc)
+ # Disable wrappers for cegcc, we are cross compiling anyway.
+ wrappers_required=no
+ ;;
+ *)
+ if test "$need_relink" = no || test "$build_libtool_libs" != yes; then
+ wrappers_required=no
+ fi
+ ;;
+ esac
+ if test "$wrappers_required" = no; then
# Replace the output file specification.
- compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e 's%@OUTPUT@%'"$output"'%g' | $NL2SP`
+ compile_command=`$ECHO "X$compile_command" | $Xsed -e 's%@OUTPUT@%'"$output"'%g'`
link_command="$compile_command$compile_rpath"
# We have no uninstalled library dependencies, so finalize right now.
- $show "$link_command"
- $run eval "$link_command"
- exit_status=$?
+ exit_status=0
+ func_show_eval "$link_command" 'exit_status=$?'
# Delete the generated files.
- if test -n "$dlsyms"; then
- $show "$rm $output_objdir/${outputname}S.${objext}"
- $run $rm "$output_objdir/${outputname}S.${objext}"
+ if test -f "$output_objdir/${outputname}S.${objext}"; then
+ func_show_eval '$RM "$output_objdir/${outputname}S.${objext}"'
fi
exit $exit_status
fi
- if test -n "$shlibpath_var"; then
- # We should set the shlibpath_var
- rpath=
- for dir in $temp_rpath; do
- case $dir in
- [\\/]* | [A-Za-z]:[\\/]*)
- # Absolute path.
- rpath="$rpath$dir:"
- ;;
- *)
- # Relative path: add a thisdir entry.
- rpath="$rpath\$thisdir/$dir:"
- ;;
- esac
- done
- temp_rpath="$rpath"
- fi
-
if test -n "$compile_shlibpath$finalize_shlibpath"; then
compile_command="$shlibpath_var=\"$compile_shlibpath$finalize_shlibpath\$$shlibpath_var\" $compile_command"
fi
@@ -4838,12 +7744,11 @@ static const void *lt_preloaded_setup() {
# We don't need to create a wrapper script.
link_command="$compile_var$compile_command$compile_rpath"
# Replace the output file specification.
- link_command=`$echo "X$link_command" | $Xsed -e 's%@OUTPUT@%'"$output"'%g'`
+ link_command=`$ECHO "X$link_command" | $Xsed -e 's%@OUTPUT@%'"$output"'%g'`
# Delete the old output file.
- $run $rm $output
+ $opt_dry_run || $RM $output
# Link the executable and exit
- $show "$link_command"
- $run eval "$link_command" || exit $?
+ func_show_eval "$link_command" 'exit $?'
exit $EXIT_SUCCESS
fi
@@ -4852,13 +7757,13 @@ static const void *lt_preloaded_setup() {
link_command="$compile_var$compile_command$compile_rpath"
relink_command="$finalize_var$finalize_command$finalize_rpath"
- $echo "$modename: warning: this platform does not like uninstalled shared libraries" 1>&2
- $echo "$modename: \`$output' will be relinked during installation" 1>&2
+ func_warning "this platform does not like uninstalled shared libraries"
+ func_warning "\`$output' will be relinked during installation"
else
if test "$fast_install" != no; then
link_command="$finalize_var$compile_command$finalize_rpath"
if test "$fast_install" = yes; then
- relink_command=`$echo "X$compile_var$compile_command$compile_rpath" | $SP2NL | $Xsed -e 's%@OUTPUT@%\$progdir/\$file%g' | $NL2SP`
+ relink_command=`$ECHO "X$compile_var$compile_command$compile_rpath" | $Xsed -e 's%@OUTPUT@%\$progdir/\$file%g'`
else
# fast_install is set to needless
relink_command=
@@ -4870,608 +7775,103 @@ static const void *lt_preloaded_setup() {
fi
# Replace the output file specification.
- link_command=`$echo "X$link_command" | $Xsed -e 's%@OUTPUT@%'"$output_objdir/$outputname"'%g'`
+ link_command=`$ECHO "X$link_command" | $Xsed -e 's%@OUTPUT@%'"$output_objdir/$outputname"'%g'`
# Delete the old output files.
- $run $rm $output $output_objdir/$outputname $output_objdir/lt-$outputname
+ $opt_dry_run || $RM $output $output_objdir/$outputname $output_objdir/lt-$outputname
- $show "$link_command"
- $run eval "$link_command" || exit $?
+ func_show_eval "$link_command" 'exit $?'
# Now create the wrapper script.
- $show "creating $output"
+ func_verbose "creating $output"
# Quote the relink command for shipping.
if test -n "$relink_command"; then
# Preserve any variables that may affect compiler behavior
for var in $variables_saved_for_relink; do
if eval test -z \"\${$var+set}\"; then
- relink_command="{ test -z \"\${$var+set}\" || unset $var || { $var=; export $var; }; }; $relink_command"
+ relink_command="{ test -z \"\${$var+set}\" || $lt_unset $var || { $var=; export $var; }; }; $relink_command"
elif eval var_value=\$$var; test -z "$var_value"; then
relink_command="$var=; export $var; $relink_command"
else
- var_value=`$echo "X$var_value" | $Xsed -e "$sed_quote_subst"`
- relink_command="$var=\"$var_value\"; export $var; $relink_command"
+ func_quote_for_eval "$var_value"
+ relink_command="$var=$func_quote_for_eval_result; export $var; $relink_command"
fi
done
relink_command="(cd `pwd`; $relink_command)"
- relink_command=`$echo "X$relink_command" | $SP2NL | $Xsed -e "$sed_quote_subst" | $NL2SP`
+ relink_command=`$ECHO "X$relink_command" | $Xsed -e "$sed_quote_subst"`
fi
- # Quote $echo for shipping.
- if test "X$echo" = "X$SHELL $progpath --fallback-echo"; then
+ # Quote $ECHO for shipping.
+ if test "X$ECHO" = "X$SHELL $progpath --fallback-echo"; then
case $progpath in
[\\/]* | [A-Za-z]:[\\/]*) qecho="$SHELL $progpath --fallback-echo";;
*) qecho="$SHELL `pwd`/$progpath --fallback-echo";;
esac
- qecho=`$echo "X$qecho" | $Xsed -e "$sed_quote_subst"`
+ qecho=`$ECHO "X$qecho" | $Xsed -e "$sed_quote_subst"`
else
- qecho=`$echo "X$echo" | $Xsed -e "$sed_quote_subst"`
+ qecho=`$ECHO "X$ECHO" | $Xsed -e "$sed_quote_subst"`
fi
- # Only actually do things if our run command is non-null.
- if test -z "$run"; then
+ # Only actually do things if not in dry run mode.
+ $opt_dry_run || {
# win32 will think the script is a binary if it has
# a .exe suffix, so we strip it off here.
case $output in
- *.exe) output=`$echo $output|${SED} 's,.exe$,,'` ;;
+ *.exe) func_stripname '' '.exe' "$output"
+ output=$func_stripname_result ;;
esac
# test for cygwin because mv fails w/o .exe extensions
case $host in
*cygwin*)
exeext=.exe
- outputname=`$echo $outputname|${SED} 's,.exe$,,'` ;;
+ func_stripname '' '.exe' "$outputname"
+ outputname=$func_stripname_result ;;
*) exeext= ;;
esac
case $host in
*cygwin* | *mingw* )
- output_name=`basename $output`
- output_path=`dirname $output`
- cwrappersource="$output_path/$objdir/lt-$output_name.c"
- cwrapper="$output_path/$output_name.exe"
- $rm $cwrappersource $cwrapper
- trap "$rm $cwrappersource $cwrapper; exit $EXIT_FAILURE" 1 2 15
-
- cat > $cwrappersource <<EOF
-
-/* $cwrappersource - temporary wrapper executable for $objdir/$outputname
- Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP
-
- The $output program cannot be directly executed until all the libtool
- libraries that it depends on are installed.
-
- This wrapper executable should never be moved out of the build directory.
- If it is, it will not operate correctly.
-
- Currently, it simply execs the wrapper *script* "/bin/sh $output",
- but could eventually absorb all of the scripts functionality and
- exec $objdir/$outputname directly.
-*/
-EOF
- cat >> $cwrappersource<<"EOF"
-#include <stdio.h>
-#include <stdlib.h>
-#include <unistd.h>
-#include <malloc.h>
-#include <stdarg.h>
-#include <assert.h>
-#include <string.h>
-#include <ctype.h>
-#include <sys/stat.h>
-
-#if defined(PATH_MAX)
-# define LT_PATHMAX PATH_MAX
-#elif defined(MAXPATHLEN)
-# define LT_PATHMAX MAXPATHLEN
-#else
-# define LT_PATHMAX 1024
-#endif
-
-#ifndef DIR_SEPARATOR
-# define DIR_SEPARATOR '/'
-# define PATH_SEPARATOR ':'
-#endif
-
-#if defined (_WIN32) || defined (__MSDOS__) || defined (__DJGPP__) || \
- defined (__OS2__)
-# define HAVE_DOS_BASED_FILE_SYSTEM
-# ifndef DIR_SEPARATOR_2
-# define DIR_SEPARATOR_2 '\\'
-# endif
-# ifndef PATH_SEPARATOR_2
-# define PATH_SEPARATOR_2 ';'
-# endif
-#endif
-
-#ifndef DIR_SEPARATOR_2
-# define IS_DIR_SEPARATOR(ch) ((ch) == DIR_SEPARATOR)
-#else /* DIR_SEPARATOR_2 */
-# define IS_DIR_SEPARATOR(ch) \
- (((ch) == DIR_SEPARATOR) || ((ch) == DIR_SEPARATOR_2))
-#endif /* DIR_SEPARATOR_2 */
-
-#ifndef PATH_SEPARATOR_2
-# define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR)
-#else /* PATH_SEPARATOR_2 */
-# define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR_2)
-#endif /* PATH_SEPARATOR_2 */
-
-#define XMALLOC(type, num) ((type *) xmalloc ((num) * sizeof(type)))
-#define XFREE(stale) do { \
- if (stale) { free ((void *) stale); stale = 0; } \
-} while (0)
-
-/* -DDEBUG is fairly common in CFLAGS. */
-#undef DEBUG
-#if defined DEBUGWRAPPER
-# define DEBUG(format, ...) fprintf(stderr, format, __VA_ARGS__)
-#else
-# define DEBUG(format, ...)
-#endif
-
-const char *program_name = NULL;
-
-void * xmalloc (size_t num);
-char * xstrdup (const char *string);
-const char * base_name (const char *name);
-char * find_executable(const char *wrapper);
-int check_executable(const char *path);
-char * strendzap(char *str, const char *pat);
-void lt_fatal (const char *message, ...);
-
-int
-main (int argc, char *argv[])
-{
- char **newargz;
- int i;
-
- program_name = (char *) xstrdup (base_name (argv[0]));
- DEBUG("(main) argv[0] : %s\n",argv[0]);
- DEBUG("(main) program_name : %s\n",program_name);
- newargz = XMALLOC(char *, argc+2);
-EOF
-
- cat >> $cwrappersource <<EOF
- newargz[0] = (char *) xstrdup("$SHELL");
-EOF
-
- cat >> $cwrappersource <<"EOF"
- newargz[1] = find_executable(argv[0]);
- if (newargz[1] == NULL)
- lt_fatal("Couldn't find %s", argv[0]);
- DEBUG("(main) found exe at : %s\n",newargz[1]);
- /* we know the script has the same name, without the .exe */
- /* so make sure newargz[1] doesn't end in .exe */
- strendzap(newargz[1],".exe");
- for (i = 1; i < argc; i++)
- newargz[i+1] = xstrdup(argv[i]);
- newargz[argc+1] = NULL;
-
- for (i=0; i<argc+1; i++)
- {
- DEBUG("(main) newargz[%d] : %s\n",i,newargz[i]);
- ;
- }
-
-EOF
-
- case $host_os in
- mingw*)
- cat >> $cwrappersource <<EOF
- execv("$SHELL",(char const **)newargz);
-EOF
- ;;
- *)
- cat >> $cwrappersource <<EOF
- execv("$SHELL",newargz);
-EOF
- ;;
- esac
-
- cat >> $cwrappersource <<"EOF"
- return 127;
-}
-
-void *
-xmalloc (size_t num)
-{
- void * p = (void *) malloc (num);
- if (!p)
- lt_fatal ("Memory exhausted");
-
- return p;
-}
-
-char *
-xstrdup (const char *string)
-{
- return string ? strcpy ((char *) xmalloc (strlen (string) + 1), string) : NULL
-;
-}
-
-const char *
-base_name (const char *name)
-{
- const char *base;
-
-#if defined (HAVE_DOS_BASED_FILE_SYSTEM)
- /* Skip over the disk name in MSDOS pathnames. */
- if (isalpha ((unsigned char)name[0]) && name[1] == ':')
- name += 2;
-#endif
-
- for (base = name; *name; name++)
- if (IS_DIR_SEPARATOR (*name))
- base = name + 1;
- return base;
-}
-
-int
-check_executable(const char * path)
-{
- struct stat st;
-
- DEBUG("(check_executable) : %s\n", path ? (*path ? path : "EMPTY!") : "NULL!");
- if ((!path) || (!*path))
- return 0;
-
- if ((stat (path, &st) >= 0) &&
- (
- /* MinGW & native WIN32 do not support S_IXOTH or S_IXGRP */
-#if defined (S_IXOTH)
- ((st.st_mode & S_IXOTH) == S_IXOTH) ||
-#endif
-#if defined (S_IXGRP)
- ((st.st_mode & S_IXGRP) == S_IXGRP) ||
-#endif
- ((st.st_mode & S_IXUSR) == S_IXUSR))
- )
- return 1;
- else
- return 0;
-}
-
-/* Searches for the full path of the wrapper. Returns
- newly allocated full path name if found, NULL otherwise */
-char *
-find_executable (const char* wrapper)
-{
- int has_slash = 0;
- const char* p;
- const char* p_next;
- /* static buffer for getcwd */
- char tmp[LT_PATHMAX + 1];
- int tmp_len;
- char* concat_name;
-
- DEBUG("(find_executable) : %s\n", wrapper ? (*wrapper ? wrapper : "EMPTY!") : "NULL!");
-
- if ((wrapper == NULL) || (*wrapper == '\0'))
- return NULL;
-
- /* Absolute path? */
-#if defined (HAVE_DOS_BASED_FILE_SYSTEM)
- if (isalpha ((unsigned char)wrapper[0]) && wrapper[1] == ':')
- {
- concat_name = xstrdup (wrapper);
- if (check_executable(concat_name))
- return concat_name;
- XFREE(concat_name);
- }
- else
- {
-#endif
- if (IS_DIR_SEPARATOR (wrapper[0]))
- {
- concat_name = xstrdup (wrapper);
- if (check_executable(concat_name))
- return concat_name;
- XFREE(concat_name);
- }
-#if defined (HAVE_DOS_BASED_FILE_SYSTEM)
- }
-#endif
-
- for (p = wrapper; *p; p++)
- if (*p == '/')
- {
- has_slash = 1;
- break;
- }
- if (!has_slash)
- {
- /* no slashes; search PATH */
- const char* path = getenv ("PATH");
- if (path != NULL)
- {
- for (p = path; *p; p = p_next)
- {
- const char* q;
- size_t p_len;
- for (q = p; *q; q++)
- if (IS_PATH_SEPARATOR(*q))
- break;
- p_len = q - p;
- p_next = (*q == '\0' ? q : q + 1);
- if (p_len == 0)
- {
- /* empty path: current directory */
- if (getcwd (tmp, LT_PATHMAX) == NULL)
- lt_fatal ("getcwd failed");
- tmp_len = strlen(tmp);
- concat_name = XMALLOC(char, tmp_len + 1 + strlen(wrapper) + 1);
- memcpy (concat_name, tmp, tmp_len);
- concat_name[tmp_len] = '/';
- strcpy (concat_name + tmp_len + 1, wrapper);
- }
- else
- {
- concat_name = XMALLOC(char, p_len + 1 + strlen(wrapper) + 1);
- memcpy (concat_name, p, p_len);
- concat_name[p_len] = '/';
- strcpy (concat_name + p_len + 1, wrapper);
- }
- if (check_executable(concat_name))
- return concat_name;
- XFREE(concat_name);
- }
- }
- /* not found in PATH; assume curdir */
- }
- /* Relative path | not found in path: prepend cwd */
- if (getcwd (tmp, LT_PATHMAX) == NULL)
- lt_fatal ("getcwd failed");
- tmp_len = strlen(tmp);
- concat_name = XMALLOC(char, tmp_len + 1 + strlen(wrapper) + 1);
- memcpy (concat_name, tmp, tmp_len);
- concat_name[tmp_len] = '/';
- strcpy (concat_name + tmp_len + 1, wrapper);
-
- if (check_executable(concat_name))
- return concat_name;
- XFREE(concat_name);
- return NULL;
-}
-
-char *
-strendzap(char *str, const char *pat)
-{
- size_t len, patlen;
-
- assert(str != NULL);
- assert(pat != NULL);
-
- len = strlen(str);
- patlen = strlen(pat);
-
- if (patlen <= len)
- {
- str += len - patlen;
- if (strcmp(str, pat) == 0)
- *str = '\0';
- }
- return str;
-}
-
-static void
-lt_error_core (int exit_status, const char * mode,
- const char * message, va_list ap)
-{
- fprintf (stderr, "%s: %s: ", program_name, mode);
- vfprintf (stderr, message, ap);
- fprintf (stderr, ".\n");
-
- if (exit_status >= 0)
- exit (exit_status);
-}
-
-void
-lt_fatal (const char *message, ...)
-{
- va_list ap;
- va_start (ap, message);
- lt_error_core (EXIT_FAILURE, "FATAL", message, ap);
- va_end (ap);
-}
-EOF
- # we should really use a build-platform specific compiler
- # here, but OTOH, the wrappers (shell script and this C one)
- # are only useful if you want to execute the "real" binary.
- # Since the "real" binary is built for $host, then this
- # wrapper might as well be built for $host, too.
- $run $LTCC $LTCFLAGS -s -o $cwrapper $cwrappersource
- ;;
- esac
- $rm $output
- trap "$rm $output; exit $EXIT_FAILURE" 1 2 15
-
- $echo > $output "\
-#! $SHELL
-
-# $output - temporary wrapper script for $objdir/$outputname
-# Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP
-#
-# The $output program cannot be directly executed until all the libtool
-# libraries that it depends on are installed.
-#
-# This wrapper script should never be moved out of the build directory.
-# If it is, it will not operate correctly.
-
-# Sed substitution that helps us do robust quoting. It backslashifies
-# metacharacters that are still active within double-quoted strings.
-Xsed='${SED} -e 1s/^X//'
-sed_quote_subst='$sed_quote_subst'
-
-# Be Bourne compatible (taken from Autoconf:_AS_BOURNE_COMPATIBLE).
-if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then
- emulate sh
- NULLCMD=:
- # Zsh 3.x and 4.x performs word splitting on \${1+\"\$@\"}, which
- # is contrary to our usage. Disable this feature.
- alias -g '\${1+\"\$@\"}'='\"\$@\"'
- setopt NO_GLOB_SUBST
-else
- case \`(set -o) 2>/dev/null\` in *posix*) set -o posix;; esac
-fi
-BIN_SH=xpg4; export BIN_SH # for Tru64
-DUALCASE=1; export DUALCASE # for MKS sh
-
-# The HP-UX ksh and POSIX shell print the target directory to stdout
-# if CDPATH is set.
-(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
-
-relink_command=\"$relink_command\"
-
-# This environment variable determines our operation mode.
-if test \"\$libtool_install_magic\" = \"$magic\"; then
- # install mode needs the following variable:
- notinst_deplibs='$notinst_deplibs'
-else
- # When we are sourced in execute mode, \$file and \$echo are already set.
- if test \"\$libtool_execute_magic\" != \"$magic\"; then
- echo=\"$qecho\"
- file=\"\$0\"
- # Make sure echo works.
- if test \"X\$1\" = X--no-reexec; then
- # Discard the --no-reexec flag, and continue.
- shift
- elif test \"X\`(\$echo '\t') 2>/dev/null\`\" = 'X\t'; then
- # Yippee, \$echo works!
- :
- else
- # Restart under the correct shell, and then maybe \$echo will work.
- exec $SHELL \"\$0\" --no-reexec \${1+\"\$@\"}
- fi
- fi\
-"
- $echo >> $output "\
-
- # Find the directory that this script lives in.
- thisdir=\`\$echo \"X\$file\" | \$Xsed -e 's%/[^/]*$%%'\`
- test \"x\$thisdir\" = \"x\$file\" && thisdir=.
-
- # Follow symbolic links until we get to the real thisdir.
- file=\`ls -ld \"\$file\" | ${SED} -n 's/.*-> //p'\`
- while test -n \"\$file\"; do
- destdir=\`\$echo \"X\$file\" | \$Xsed -e 's%/[^/]*\$%%'\`
-
- # If there was a directory component, then change thisdir.
- if test \"x\$destdir\" != \"x\$file\"; then
- case \"\$destdir\" in
- [\\\\/]* | [A-Za-z]:[\\\\/]*) thisdir=\"\$destdir\" ;;
- *) thisdir=\"\$thisdir/\$destdir\" ;;
- esac
- fi
-
- file=\`\$echo \"X\$file\" | \$Xsed -e 's%^.*/%%'\`
- file=\`ls -ld \"\$thisdir/\$file\" | ${SED} -n 's/.*-> //p'\`
- done
-
- # Try to get the absolute directory name.
- absdir=\`cd \"\$thisdir\" && pwd\`
- test -n \"\$absdir\" && thisdir=\"\$absdir\"
-"
-
- if test "$fast_install" = yes; then
- $echo >> $output "\
- program=lt-'$outputname'$exeext
- progdir=\"\$thisdir/$objdir\"
-
- if test ! -f \"\$progdir/\$program\" || \\
- { file=\`ls -1dt \"\$progdir/\$program\" \"\$progdir/../\$program\" 2>/dev/null | ${SED} 1q\`; \\
- test \"X\$file\" != \"X\$progdir/\$program\"; }; then
-
- file=\"\$\$-\$program\"
-
- if test ! -d \"\$progdir\"; then
- $mkdir \"\$progdir\"
- else
- $rm \"\$progdir/\$file\"
- fi"
-
- $echo >> $output "\
-
- # relink executable if necessary
- if test -n \"\$relink_command\"; then
- if relink_command_output=\`eval \$relink_command 2>&1\`; then :
- else
- $echo \"\$relink_command_output\" >&2
- $rm \"\$progdir/\$file\"
- exit $EXIT_FAILURE
- fi
- fi
-
- $mv \"\$progdir/\$file\" \"\$progdir/\$program\" 2>/dev/null ||
- { $rm \"\$progdir/\$program\";
- $mv \"\$progdir/\$file\" \"\$progdir/\$program\"; }
- $rm \"\$progdir/\$file\"
- fi"
- else
- $echo >> $output "\
- program='$outputname'
- progdir=\"\$thisdir/$objdir\"
-"
- fi
-
- $echo >> $output "\
-
- if test -f \"\$progdir/\$program\"; then"
-
- # Export our shlibpath_var if we have one.
- if test "$shlibpath_overrides_runpath" = yes && test -n "$shlibpath_var" && test -n "$temp_rpath"; then
- $echo >> $output "\
- # Add our own library path to $shlibpath_var
- $shlibpath_var=\"$temp_rpath\$$shlibpath_var\"
-
- # Some systems cannot cope with colon-terminated $shlibpath_var
- # The second colon is a workaround for a bug in BeOS R4 sed
- $shlibpath_var=\`\$echo \"X\$$shlibpath_var\" | \$Xsed -e 's/::*\$//'\`
-
- export $shlibpath_var
-"
- fi
-
- # fixup the dll searchpath if we need to.
- if test -n "$dllsearchpath"; then
- $echo >> $output "\
- # Add the dll search path components to the executable PATH
- PATH=$dllsearchpath:\$PATH
-"
- fi
+ func_dirname_and_basename "$output" "" "."
+ output_name=$func_basename_result
+ output_path=$func_dirname_result
+ cwrappersource="$output_path/$objdir/lt-$output_name.c"
+ cwrapper="$output_path/$output_name.exe"
+ $RM $cwrappersource $cwrapper
+ trap "$RM $cwrappersource $cwrapper; exit $EXIT_FAILURE" 1 2 15
+
+ func_emit_cwrapperexe_src > $cwrappersource
+
+ # The wrapper executable is built using the $host compiler,
+ # because it contains $host paths and files. If cross-
+ # compiling, it, like the target executable, must be
+ # executed on the $host or under an emulation environment.
+ $opt_dry_run || {
+ $LTCC $LTCFLAGS -o $cwrapper $cwrappersource
+ $STRIP $cwrapper
+ }
- $echo >> $output "\
- if test \"\$libtool_execute_magic\" != \"$magic\"; then
- # Run the actual program with our arguments.
-"
- case $host in
- # Backslashes separate directories on plain windows
- *-*-mingw | *-*-os2*)
- $echo >> $output "\
- exec \"\$progdir\\\\\$program\" \${1+\"\$@\"}
-"
+ # Now, create the wrapper script for func_source use:
+ func_ltwrapper_scriptname $cwrapper
+ $RM $func_ltwrapper_scriptname_result
+ trap "$RM $func_ltwrapper_scriptname_result; exit $EXIT_FAILURE" 1 2 15
+ $opt_dry_run || {
+ # note: this script will not be executed, so do not chmod.
+ if test "x$build" = "x$host" ; then
+ $cwrapper --lt-dump-script > $func_ltwrapper_scriptname_result
+ else
+ func_emit_wrapper no > $func_ltwrapper_scriptname_result
+ fi
+ }
;;
+ * )
+ $RM $output
+ trap "$RM $output; exit $EXIT_FAILURE" 1 2 15
- *)
- $echo >> $output "\
- exec \"\$progdir/\$program\" \${1+\"\$@\"}
-"
+ func_emit_wrapper no > $output
+ chmod +x $output
;;
esac
- $echo >> $output "\
- \$echo \"\$0: cannot exec \$program \$*\"
- exit $EXIT_FAILURE
- fi
- else
- # The program doesn't exist.
- \$echo \"\$0: error: \\\`\$progdir/\$program' does not exist\" 1>&2
- \$echo \"This script is just a wrapper for \$program.\" 1>&2
- $echo \"See the $PACKAGE documentation for more information.\" 1>&2
- exit $EXIT_FAILURE
- fi
-fi\
-"
- chmod +x $output
- fi
+ }
exit $EXIT_SUCCESS
;;
esac
@@ -5480,7 +7880,7 @@ fi\
for oldlib in $oldlibs; do
if test "$build_libtool_libs" = convenience; then
- oldobjs="$libobjs_save"
+ oldobjs="$libobjs_save $symfileobj"
addlibs="$convenience"
build_libtool_libs=no
else
@@ -5489,6 +7889,9 @@ fi\
build_libtool_libs=no
else
oldobjs="$old_deplibs $non_pic_objects"
+ if test "$preload" = yes && test -f "$symfileobj"; then
+ oldobjs="$oldobjs $symfileobj"
+ fi
fi
addlibs="$old_convenience"
fi
@@ -5503,8 +7906,18 @@ fi\
# Do each command in the archive commands.
if test -n "$old_archive_from_new_cmds" && test "$build_libtool_libs" = yes; then
- cmds=$old_archive_from_new_cmds
+ cmds=$old_archive_from_new_cmds
else
+
+ # Add any objects from preloaded convenience libraries
+ if test -n "$dlprefiles"; then
+ gentop="$output_objdir/${outputname}x"
+ generated="$generated $gentop"
+
+ func_extract_archives $gentop $dlprefiles
+ oldobjs="$oldobjs $func_extract_archives_result"
+ fi
+
# POSIX demands no paths to be encoded in archives. We have
# to avoid creating archives with duplicate basenames if we
# might have to extract them afterwards, e.g., when creating a
@@ -5513,32 +7926,22 @@ fi\
# not supported by libtool).
if (for obj in $oldobjs
do
- $echo "X$obj" | $Xsed -e 's%^.*/%%'
+ func_basename "$obj"
+ $ECHO "$func_basename_result"
done | sort | sort -uc >/dev/null 2>&1); then
:
else
- $echo "copying selected object files to avoid basename conflicts..."
-
- if test -z "$gentop"; then
- gentop="$output_objdir/${outputname}x"
- generated="$generated $gentop"
-
- $show "${rm}r $gentop"
- $run ${rm}r "$gentop"
- $show "$mkdir $gentop"
- $run $mkdir "$gentop"
- exit_status=$?
- if test "$exit_status" -ne 0 && test ! -d "$gentop"; then
- exit $exit_status
- fi
- fi
-
+ $ECHO "copying selected object files to avoid basename conflicts..."
+ gentop="$output_objdir/${outputname}x"
+ generated="$generated $gentop"
+ func_mkdir_p "$gentop"
save_oldobjs=$oldobjs
oldobjs=
counter=1
for obj in $save_oldobjs
do
- objbase=`$echo "X$obj" | $Xsed -e 's%^.*/%%'`
+ func_basename "$obj"
+ objbase="$func_basename_result"
case " $oldobjs " in
" ") oldobjs=$obj ;;
*[\ /]"$objbase "*)
@@ -5546,58 +7949,62 @@ fi\
# Make sure we don't pick an alternate name that also
# overlaps.
newobj=lt$counter-$objbase
- counter=`expr $counter + 1`
+ func_arith $counter + 1
+ counter=$func_arith_result
case " $oldobjs " in
*[\ /]"$newobj "*) ;;
*) if test ! -f "$gentop/$newobj"; then break; fi ;;
esac
done
- $show "ln $obj $gentop/$newobj || cp $obj $gentop/$newobj"
- $run ln "$obj" "$gentop/$newobj" ||
- $run cp "$obj" "$gentop/$newobj"
+ func_show_eval "ln $obj $gentop/$newobj || cp $obj $gentop/$newobj"
oldobjs="$oldobjs $gentop/$newobj"
;;
*) oldobjs="$oldobjs $obj" ;;
esac
done
fi
-
eval cmds=\"$old_archive_cmds\"
- if len=`expr "X$cmds" : ".*"` &&
- test "$len" -le "$max_cmd_len" || test "$max_cmd_len" -le -1; then
+ func_len " $cmds"
+ len=$func_len_result
+ if test "$len" -lt "$max_cmd_len" || test "$max_cmd_len" -le -1; then
cmds=$old_archive_cmds
else
# the command line is too long to link in one step, link in parts
- $echo "using piecewise archive linking..."
+ func_verbose "using piecewise archive linking..."
save_RANLIB=$RANLIB
RANLIB=:
objlist=
concat_cmds=
save_oldobjs=$oldobjs
-
+ oldobjs=
# Is there a better way of finding the last object in the list?
for obj in $save_oldobjs
do
last_oldobj=$obj
done
+ eval test_cmds=\"$old_archive_cmds\"
+ func_len " $test_cmds"
+ len0=$func_len_result
+ len=$len0
for obj in $save_oldobjs
do
- oldobjs="$objlist $obj"
- objlist="$objlist $obj"
- eval test_cmds=\"$old_archive_cmds\"
- if len=`expr "X$test_cmds" : ".*" 2>/dev/null` &&
- test "$len" -le "$max_cmd_len"; then
+ func_len " $obj"
+ func_arith $len + $func_len_result
+ len=$func_arith_result
+ func_append objlist " $obj"
+ if test "$len" -lt "$max_cmd_len"; then
:
else
# the above command should be used before it gets too long
oldobjs=$objlist
if test "$obj" = "$last_oldobj" ; then
- RANLIB=$save_RANLIB
+ RANLIB=$save_RANLIB
fi
test -z "$concat_cmds" || concat_cmds=$concat_cmds~
eval concat_cmds=\"\${concat_cmds}$old_archive_cmds\"
objlist=
+ len=$len0
fi
done
RANLIB=$save_RANLIB
@@ -5609,49 +8016,39 @@ fi\
fi
fi
fi
- save_ifs="$IFS"; IFS='~'
- for cmd in $cmds; do
- eval cmd=\"$cmd\"
- IFS="$save_ifs"
- $show "$cmd"
- $run eval "$cmd" || exit $?
- done
- IFS="$save_ifs"
+ func_execute_cmds "$cmds" 'exit $?'
done
- if test -n "$generated"; then
- $show "${rm}r$generated"
- $run ${rm}r$generated
- fi
+ test -n "$generated" && \
+ func_show_eval "${RM}r$generated"
# Now create the libtool archive.
case $output in
*.la)
old_library=
test "$build_old_libs" = yes && old_library="$libname.$libext"
- $show "creating $output"
+ func_verbose "creating $output"
# Preserve any variables that may affect compiler behavior
for var in $variables_saved_for_relink; do
if eval test -z \"\${$var+set}\"; then
- relink_command="{ test -z \"\${$var+set}\" || unset $var || { $var=; export $var; }; }; $relink_command"
+ relink_command="{ test -z \"\${$var+set}\" || $lt_unset $var || { $var=; export $var; }; }; $relink_command"
elif eval var_value=\$$var; test -z "$var_value"; then
relink_command="$var=; export $var; $relink_command"
else
- var_value=`$echo "X$var_value" | $Xsed -e "$sed_quote_subst"`
- relink_command="$var=\"$var_value\"; export $var; $relink_command"
+ func_quote_for_eval "$var_value"
+ relink_command="$var=$func_quote_for_eval_result; export $var; $relink_command"
fi
done
# Quote the link command for shipping.
relink_command="(cd `pwd`; $SHELL $progpath $preserve_args --mode=relink $libtool_args @inst_prefix_dir@)"
- relink_command=`$echo "X$relink_command" | $SP2NL | $Xsed -e "$sed_quote_subst" | $NL2SP`
+ relink_command=`$ECHO "X$relink_command" | $Xsed -e "$sed_quote_subst"`
if test "$hardcode_automatic" = yes ; then
relink_command=
fi
-
# Only create the output if not a dry run.
- if test -z "$run"; then
+ $opt_dry_run || {
for installed in no yes; do
if test "$installed" = yes; then
if test -z "$install_libdir"; then
@@ -5663,12 +8060,11 @@ fi\
for deplib in $dependency_libs; do
case $deplib in
*.la)
- name=`$echo "X$deplib" | $Xsed -e 's%^.*/%%'`
+ func_basename "$deplib"
+ name="$func_basename_result"
eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib`
- if test -z "$libdir"; then
- $echo "$modename: \`$deplib' is not a valid libtool archive" 1>&2
- exit $EXIT_FAILURE
- fi
+ test -z "$libdir" && \
+ func_fatal_error "\`$deplib' is not a valid libtool archive"
newdependency_libs="$newdependency_libs $libdir/$name"
;;
*) newdependency_libs="$newdependency_libs $deplib" ;;
@@ -5676,25 +8072,37 @@ fi\
done
dependency_libs="$newdependency_libs"
newdlfiles=
+
for lib in $dlfiles; do
- name=`$echo "X$lib" | $Xsed -e 's%^.*/%%'`
- eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib`
- if test -z "$libdir"; then
- $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2
- exit $EXIT_FAILURE
- fi
- newdlfiles="$newdlfiles $libdir/$name"
+ case $lib in
+ *.la)
+ func_basename "$lib"
+ name="$func_basename_result"
+ eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib`
+ test -z "$libdir" && \
+ func_fatal_error "\`$lib' is not a valid libtool archive"
+ newdlfiles="$newdlfiles $libdir/$name"
+ ;;
+ *) newdlfiles="$newdlfiles $lib" ;;
+ esac
done
dlfiles="$newdlfiles"
newdlprefiles=
for lib in $dlprefiles; do
- name=`$echo "X$lib" | $Xsed -e 's%^.*/%%'`
- eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib`
- if test -z "$libdir"; then
- $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2
- exit $EXIT_FAILURE
- fi
- newdlprefiles="$newdlprefiles $libdir/$name"
+ case $lib in
+ *.la)
+ # Only pass preopened files to the pseudo-archive (for
+ # eventual linking with the app. that links it) if we
+ # didn't already link the preopened objects directly into
+ # the library:
+ func_basename "$lib"
+ name="$func_basename_result"
+ eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib`
+ test -z "$libdir" && \
+ func_fatal_error "\`$lib' is not a valid libtool archive"
+ newdlprefiles="$newdlprefiles $libdir/$name"
+ ;;
+ esac
done
dlprefiles="$newdlprefiles"
else
@@ -5717,15 +8125,15 @@ fi\
done
dlprefiles="$newdlprefiles"
fi
- $rm $output
+ $RM $output
# place dlname in correct position for cygwin
tdlname=$dlname
case $host,$output,$installed,$module,$dlname in
- *cygwin*,*lai,yes,no,*.dll | *mingw*,*lai,yes,no,*.dll) tdlname=../bin/$dlname ;;
+ *cygwin*,*lai,yes,no,*.dll | *mingw*,*lai,yes,no,*.dll | *cegcc*,*lai,yes,no,*.dll) tdlname=../bin/$dlname ;;
esac
- $echo > $output "\
+ $ECHO > $output "\
# $outputname - a libtool library file
-# Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP
+# Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION
#
# Please DO NOT delete this file!
# It is necessary for linking the library.
@@ -5739,9 +8147,15 @@ library_names='$library_names'
# The name of the static archive.
old_library='$old_library'
+# Linker flags that can not go in dependency_libs.
+inherited_linker_flags='$new_inherited_linker_flags'
+
# Libraries that this one depends upon.
dependency_libs='$dependency_libs'
+# Names of additional weak libraries provided by this library
+weak_library_names='$weak_libs'
+
# Version information for $libname.
current=$current
age=$age
@@ -5760,748 +8174,29 @@ dlpreopen='$dlprefiles'
# Directory that this library needs to be installed in:
libdir='$install_libdir'"
if test "$installed" = no && test "$need_relink" = yes; then
- $echo >> $output "\
+ $ECHO >> $output "\
relink_command=\"$relink_command\""
fi
done
- fi
+ }
# Do a symbolic link so that the libtool archive can be found in
# LD_LIBRARY_PATH before the program is installed.
- $show "(cd $output_objdir && $rm $outputname && $LN_S ../$outputname $outputname)"
- $run eval '(cd $output_objdir && $rm $outputname && $LN_S ../$outputname $outputname)' || exit $?
+ func_show_eval '( cd "$output_objdir" && $RM "$outputname" && $LN_S "../$outputname" "$outputname" )' 'exit $?'
;;
esac
exit $EXIT_SUCCESS
- ;;
-
- # libtool install mode
- install)
- modename="$modename: install"
-
- # There may be an optional sh(1) argument at the beginning of
- # install_prog (especially on Windows NT).
- if test "$nonopt" = "$SHELL" || test "$nonopt" = /bin/sh ||
- # Allow the use of GNU shtool's install command.
- $echo "X$nonopt" | grep shtool > /dev/null; then
- # Aesthetically quote it.
- arg=`$echo "X$nonopt" | $Xsed -e "$sed_quote_subst"`
- case $arg in
- *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
- arg="\"$arg\""
- ;;
- esac
- install_prog="$arg "
- arg="$1"
- shift
- else
- install_prog=
- arg=$nonopt
- fi
-
- # The real first argument should be the name of the installation program.
- # Aesthetically quote it.
- arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
- case $arg in
- *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
- arg="\"$arg\""
- ;;
- esac
- install_prog="$install_prog$arg"
-
- # We need to accept at least all the BSD install flags.
- dest=
- files=
- opts=
- prev=
- install_type=
- isdir=no
- stripme=
- for arg
- do
- if test -n "$dest"; then
- files="$files $dest"
- dest=$arg
- continue
- fi
-
- case $arg in
- -d) isdir=yes ;;
- -f)
- case " $install_prog " in
- *[\\\ /]cp\ *) ;;
- *) prev=$arg ;;
- esac
- ;;
- -g | -m | -o) prev=$arg ;;
- -s)
- stripme=" -s"
- continue
- ;;
- -*)
- ;;
- *)
- # If the previous option needed an argument, then skip it.
- if test -n "$prev"; then
- prev=
- else
- dest=$arg
- continue
- fi
- ;;
- esac
-
- # Aesthetically quote the argument.
- arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
- case $arg in
- *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
- arg="\"$arg\""
- ;;
- esac
- install_prog="$install_prog $arg"
- done
-
- if test -z "$install_prog"; then
- $echo "$modename: you must specify an install program" 1>&2
- $echo "$help" 1>&2
- exit $EXIT_FAILURE
- fi
-
- if test -n "$prev"; then
- $echo "$modename: the \`$prev' option requires an argument" 1>&2
- $echo "$help" 1>&2
- exit $EXIT_FAILURE
- fi
-
- if test -z "$files"; then
- if test -z "$dest"; then
- $echo "$modename: no file or destination specified" 1>&2
- else
- $echo "$modename: you must specify a destination" 1>&2
- fi
- $echo "$help" 1>&2
- exit $EXIT_FAILURE
- fi
-
- # Strip any trailing slash from the destination.
- dest=`$echo "X$dest" | $Xsed -e 's%/$%%'`
-
- # Check to see that the destination is a directory.
- test -d "$dest" && isdir=yes
- if test "$isdir" = yes; then
- destdir="$dest"
- destname=
- else
- destdir=`$echo "X$dest" | $Xsed -e 's%/[^/]*$%%'`
- test "X$destdir" = "X$dest" && destdir=.
- destname=`$echo "X$dest" | $Xsed -e 's%^.*/%%'`
-
- # Not a directory, so check to see that there is only one file specified.
- set dummy $files
- if test "$#" -gt 2; then
- $echo "$modename: \`$dest' is not a directory" 1>&2
- $echo "$help" 1>&2
- exit $EXIT_FAILURE
- fi
- fi
- case $destdir in
- [\\/]* | [A-Za-z]:[\\/]*) ;;
- *)
- for file in $files; do
- case $file in
- *.lo) ;;
- *)
- $echo "$modename: \`$destdir' must be an absolute directory name" 1>&2
- $echo "$help" 1>&2
- exit $EXIT_FAILURE
- ;;
- esac
- done
- ;;
- esac
-
- # This variable tells wrapper scripts just to set variables rather
- # than running their programs.
- libtool_install_magic="$magic"
-
- staticlibs=
- future_libdirs=
- current_libdirs=
- for file in $files; do
-
- # Do each installation.
- case $file in
- *.$libext)
- # Do the static libraries later.
- staticlibs="$staticlibs $file"
- ;;
-
- *.la)
- # Check to see that this really is a libtool archive.
- if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then :
- else
- $echo "$modename: \`$file' is not a valid libtool archive" 1>&2
- $echo "$help" 1>&2
- exit $EXIT_FAILURE
- fi
-
- library_names=
- old_library=
- relink_command=
- # If there is no directory component, then add one.
- case $file in
- */* | *\\*) . $file ;;
- *) . ./$file ;;
- esac
-
- # Add the libdir to current_libdirs if it is the destination.
- if test "X$destdir" = "X$libdir"; then
- case "$current_libdirs " in
- *" $libdir "*) ;;
- *) current_libdirs="$current_libdirs $libdir" ;;
- esac
- else
- # Note the libdir as a future libdir.
- case "$future_libdirs " in
- *" $libdir "*) ;;
- *) future_libdirs="$future_libdirs $libdir" ;;
- esac
- fi
-
- dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'`/
- test "X$dir" = "X$file/" && dir=
- dir="$dir$objdir"
-
- if test -n "$relink_command"; then
- # Determine the prefix the user has applied to our future dir.
- inst_prefix_dir=`$echo "$destdir" | $SED "s%$libdir\$%%"`
-
- # Don't allow the user to place us outside of our expected
- # location b/c this prevents finding dependent libraries that
- # are installed to the same prefix.
- # At present, this check doesn't affect windows .dll's that
- # are installed into $libdir/../bin (currently, that works fine)
- # but it's something to keep an eye on.
- if test "$inst_prefix_dir" = "$destdir"; then
- $echo "$modename: error: cannot install \`$file' to a directory not ending in $libdir" 1>&2
- exit $EXIT_FAILURE
- fi
-
- if test -n "$inst_prefix_dir"; then
- # Stick the inst_prefix_dir data into the link command.
- relink_command=`$echo "$relink_command" | $SP2NL | $SED "s%@inst_prefix_dir@%-inst-prefix-dir $inst_prefix_dir%" | $NL2SP`
- else
- relink_command=`$echo "$relink_command" | $SP2NL | $SED "s%@inst_prefix_dir@%%" | $NL2SP`
- fi
-
- $echo "$modename: warning: relinking \`$file'" 1>&2
- $show "$relink_command"
- if $run eval "$relink_command"; then :
- else
- $echo "$modename: error: relink \`$file' with the above command before installing it" 1>&2
- exit $EXIT_FAILURE
- fi
- fi
-
- # See the names of the shared library.
- set dummy $library_names
- if test -n "$2"; then
- realname="$2"
- shift
- shift
-
- srcname="$realname"
- test -n "$relink_command" && srcname="$realname"T
-
- # Install the shared library and build the symlinks.
- $show "$install_prog $dir/$srcname $destdir/$realname"
- $run eval "$install_prog $dir/$srcname $destdir/$realname" || exit $?
- if test -n "$stripme" && test -n "$striplib"; then
- $show "$striplib $destdir/$realname"
- $run eval "$striplib $destdir/$realname" || exit $?
- fi
-
- if test "$#" -gt 0; then
- # Delete the old symlinks, and create new ones.
- # Try `ln -sf' first, because the `ln' binary might depend on
- # the symlink we replace! Solaris /bin/ln does not understand -f,
- # so we also need to try rm && ln -s.
- for linkname
- do
- if test "$linkname" != "$realname"; then
- $show "(cd $destdir && { $LN_S -f $realname $linkname || { $rm $linkname && $LN_S $realname $linkname; }; })"
- $run eval "(cd $destdir && { $LN_S -f $realname $linkname || { $rm $linkname && $LN_S $realname $linkname; }; })"
- fi
- done
- fi
-
- # Do each command in the postinstall commands.
- lib="$destdir/$realname"
- cmds=$postinstall_cmds
- save_ifs="$IFS"; IFS='~'
- for cmd in $cmds; do
- IFS="$save_ifs"
- eval cmd=\"$cmd\"
- $show "$cmd"
- $run eval "$cmd" || {
- lt_exit=$?
-
- # Restore the uninstalled library and exit
- if test "$mode" = relink; then
- $run eval '(cd $output_objdir && $rm ${realname}T && $mv ${realname}U $realname)'
- fi
-
- exit $lt_exit
- }
- done
- IFS="$save_ifs"
- fi
-
- # Install the pseudo-library for information purposes.
- name=`$echo "X$file" | $Xsed -e 's%^.*/%%'`
- instname="$dir/$name"i
- $show "$install_prog $instname $destdir/$name"
- $run eval "$install_prog $instname $destdir/$name" || exit $?
-
- # Maybe install the static library, too.
- test -n "$old_library" && staticlibs="$staticlibs $dir/$old_library"
- ;;
-
- *.lo)
- # Install (i.e. copy) a libtool object.
-
- # Figure out destination file name, if it wasn't already specified.
- if test -n "$destname"; then
- destfile="$destdir/$destname"
- else
- destfile=`$echo "X$file" | $Xsed -e 's%^.*/%%'`
- destfile="$destdir/$destfile"
- fi
-
- # Deduce the name of the destination old-style object file.
- case $destfile in
- *.lo)
- staticdest=`$echo "X$destfile" | $Xsed -e "$lo2o"`
- ;;
- *.$objext)
- staticdest="$destfile"
- destfile=
- ;;
- *)
- $echo "$modename: cannot copy a libtool object to \`$destfile'" 1>&2
- $echo "$help" 1>&2
- exit $EXIT_FAILURE
- ;;
- esac
-
- # Install the libtool object if requested.
- if test -n "$destfile"; then
- $show "$install_prog $file $destfile"
- $run eval "$install_prog $file $destfile" || exit $?
- fi
-
- # Install the old object if enabled.
- if test "$build_old_libs" = yes; then
- # Deduce the name of the old-style object file.
- staticobj=`$echo "X$file" | $Xsed -e "$lo2o"`
-
- $show "$install_prog $staticobj $staticdest"
- $run eval "$install_prog \$staticobj \$staticdest" || exit $?
- fi
- exit $EXIT_SUCCESS
- ;;
-
- *)
- # Figure out destination file name, if it wasn't already specified.
- if test -n "$destname"; then
- destfile="$destdir/$destname"
- else
- destfile=`$echo "X$file" | $Xsed -e 's%^.*/%%'`
- destfile="$destdir/$destfile"
- fi
-
- # If the file is missing, and there is a .exe on the end, strip it
- # because it is most likely a libtool script we actually want to
- # install
- stripped_ext=""
- case $file in
- *.exe)
- if test ! -f "$file"; then
- file=`$echo $file|${SED} 's,.exe$,,'`
- stripped_ext=".exe"
- fi
- ;;
- esac
-
- # Do a test to see if this is really a libtool program.
- case $host in
- *cygwin*|*mingw*)
- wrapper=`$echo $file | ${SED} -e 's,.exe$,,'`
- ;;
- *)
- wrapper=$file
- ;;
- esac
- if (${SED} -e '4q' $wrapper | grep "^# Generated by .*$PACKAGE")>/dev/null 2>&1; then
- notinst_deplibs=
- relink_command=
-
- # Note that it is not necessary on cygwin/mingw to append a dot to
- # foo even if both foo and FILE.exe exist: automatic-append-.exe
- # behavior happens only for exec(3), not for open(2)! Also, sourcing
- # `FILE.' does not work on cygwin managed mounts.
- #
- # If there is no directory component, then add one.
- case $wrapper in
- */* | *\\*) . ${wrapper} ;;
- *) . ./${wrapper} ;;
- esac
-
- # Check the variables that should have been set.
- if test -z "$notinst_deplibs"; then
- $echo "$modename: invalid libtool wrapper script \`$wrapper'" 1>&2
- exit $EXIT_FAILURE
- fi
-
- finalize=yes
- for lib in $notinst_deplibs; do
- # Check to see that each library is installed.
- libdir=
- if test -f "$lib"; then
- # If there is no directory component, then add one.
- case $lib in
- */* | *\\*) . $lib ;;
- *) . ./$lib ;;
- esac
- fi
- libfile="$libdir/"`$echo "X$lib" | $Xsed -e 's%^.*/%%g'` ### testsuite: skip nested quoting test
- if test -n "$libdir" && test ! -f "$libfile"; then
- $echo "$modename: warning: \`$lib' has not been installed in \`$libdir'" 1>&2
- finalize=no
- fi
- done
-
- relink_command=
- # Note that it is not necessary on cygwin/mingw to append a dot to
- # foo even if both foo and FILE.exe exist: automatic-append-.exe
- # behavior happens only for exec(3), not for open(2)! Also, sourcing
- # `FILE.' does not work on cygwin managed mounts.
- #
- # If there is no directory component, then add one.
- case $wrapper in
- */* | *\\*) . ${wrapper} ;;
- *) . ./${wrapper} ;;
- esac
-
- outputname=
- if test "$fast_install" = no && test -n "$relink_command"; then
- if test "$finalize" = yes && test -z "$run"; then
- tmpdir=`func_mktempdir`
- file=`$echo "X$file$stripped_ext" | $Xsed -e 's%^.*/%%'`
- outputname="$tmpdir/$file"
- # Replace the output file specification.
- relink_command=`$echo "X$relink_command" | $SP2NL | $Xsed -e 's%@OUTPUT@%'"$outputname"'%g' | $NL2SP`
-
- $show "$relink_command"
- if $run eval "$relink_command"; then :
- else
- $echo "$modename: error: relink \`$file' with the above command before installing it" 1>&2
- ${rm}r "$tmpdir"
- continue
- fi
- file="$outputname"
- else
- $echo "$modename: warning: cannot relink \`$file'" 1>&2
- fi
- else
- # Install the binary that we compiled earlier.
- file=`$echo "X$file$stripped_ext" | $Xsed -e "s%\([^/]*\)$%$objdir/\1%"`
- fi
- fi
-
- # remove .exe since cygwin /usr/bin/install will append another
- # one anyway
- case $install_prog,$host in
- */usr/bin/install*,*cygwin*)
- case $file:$destfile in
- *.exe:*.exe)
- # this is ok
- ;;
- *.exe:*)
- destfile=$destfile.exe
- ;;
- *:*.exe)
- destfile=`$echo $destfile | ${SED} -e 's,.exe$,,'`
- ;;
- esac
- ;;
- esac
- $show "$install_prog$stripme $file $destfile"
- $run eval "$install_prog\$stripme \$file \$destfile" || exit $?
- test -n "$outputname" && ${rm}r "$tmpdir"
- ;;
- esac
- done
-
- for file in $staticlibs; do
- name=`$echo "X$file" | $Xsed -e 's%^.*/%%'`
-
- # Set up the ranlib parameters.
- oldlib="$destdir/$name"
-
- $show "$install_prog $file $oldlib"
- $run eval "$install_prog \$file \$oldlib" || exit $?
-
- if test -n "$stripme" && test -n "$old_striplib"; then
- $show "$old_striplib $oldlib"
- $run eval "$old_striplib $oldlib" || exit $?
- fi
-
- # Do each command in the postinstall commands.
- cmds=$old_postinstall_cmds
- save_ifs="$IFS"; IFS='~'
- for cmd in $cmds; do
- IFS="$save_ifs"
- eval cmd=\"$cmd\"
- $show "$cmd"
- $run eval "$cmd" || exit $?
- done
- IFS="$save_ifs"
- done
-
- if test -n "$future_libdirs"; then
- $echo "$modename: warning: remember to run \`$progname --finish$future_libdirs'" 1>&2
- fi
-
- if test -n "$current_libdirs"; then
- # Maybe just do a dry run.
- test -n "$run" && current_libdirs=" -n$current_libdirs"
- exec_cmd='$SHELL $progpath $preserve_args --finish$current_libdirs'
- else
- exit $EXIT_SUCCESS
- fi
- ;;
-
- # libtool finish mode
- finish)
- modename="$modename: finish"
- libdirs="$nonopt"
- admincmds=
-
- if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then
- for dir
- do
- libdirs="$libdirs $dir"
- done
-
- for libdir in $libdirs; do
- if test -n "$finish_cmds"; then
- # Do each command in the finish commands.
- cmds=$finish_cmds
- save_ifs="$IFS"; IFS='~'
- for cmd in $cmds; do
- IFS="$save_ifs"
- eval cmd=\"$cmd\"
- $show "$cmd"
- $run eval "$cmd" || admincmds="$admincmds
- $cmd"
- done
- IFS="$save_ifs"
- fi
- if test -n "$finish_eval"; then
- # Do the single finish_eval.
- eval cmds=\"$finish_eval\"
- $run eval "$cmds" || admincmds="$admincmds
- $cmds"
- fi
- done
- fi
-
- # Exit here if they wanted silent mode.
- test "$show" = : && exit $EXIT_SUCCESS
-
- $echo "X----------------------------------------------------------------------" | $Xsed
- $echo "Libraries have been installed in:"
- for libdir in $libdirs; do
- $echo " $libdir"
- done
- $echo
- $echo "If you ever happen to want to link against installed libraries"
- $echo "in a given directory, LIBDIR, you must either use libtool, and"
- $echo "specify the full pathname of the library, or use the \`-LLIBDIR'"
- $echo "flag during linking and do at least one of the following:"
- if test -n "$shlibpath_var"; then
- $echo " - add LIBDIR to the \`$shlibpath_var' environment variable"
- $echo " during execution"
- fi
- if test -n "$runpath_var"; then
- $echo " - add LIBDIR to the \`$runpath_var' environment variable"
- $echo " during linking"
- fi
- if test -n "$hardcode_libdir_flag_spec"; then
- libdir=LIBDIR
- eval flag=\"$hardcode_libdir_flag_spec\"
-
- $echo " - use the \`$flag' linker flag"
- fi
- if test -n "$admincmds"; then
- $echo " - have your system administrator run these commands:$admincmds"
- fi
- if test -f /etc/ld.so.conf; then
- $echo " - have your system administrator add LIBDIR to \`/etc/ld.so.conf'"
- fi
- $echo
- $echo "See any operating system documentation about shared libraries for"
- $echo "more information, such as the ld(1) and ld.so(8) manual pages."
- $echo "X----------------------------------------------------------------------" | $Xsed
- exit $EXIT_SUCCESS
- ;;
-
- # libtool execute mode
- execute)
- modename="$modename: execute"
-
- # The first argument is the command name.
- cmd="$nonopt"
- if test -z "$cmd"; then
- $echo "$modename: you must specify a COMMAND" 1>&2
- $echo "$help"
- exit $EXIT_FAILURE
- fi
-
- # Handle -dlopen flags immediately.
- for file in $execute_dlfiles; do
- if test ! -f "$file"; then
- $echo "$modename: \`$file' is not a file" 1>&2
- $echo "$help" 1>&2
- exit $EXIT_FAILURE
- fi
-
- dir=
- case $file in
- *.la)
- # Check to see that this really is a libtool archive.
- if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then :
- else
- $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2
- $echo "$help" 1>&2
- exit $EXIT_FAILURE
- fi
-
- # Read the libtool library.
- dlname=
- library_names=
-
- # If there is no directory component, then add one.
- case $file in
- */* | *\\*) . $file ;;
- *) . ./$file ;;
- esac
-
- # Skip this library if it cannot be dlopened.
- if test -z "$dlname"; then
- # Warn if it was a shared library.
- test -n "$library_names" && $echo "$modename: warning: \`$file' was not linked with \`-export-dynamic'"
- continue
- fi
-
- dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'`
- test "X$dir" = "X$file" && dir=.
-
- if test -f "$dir/$objdir/$dlname"; then
- dir="$dir/$objdir"
- else
- if test ! -f "$dir/$dlname"; then
- $echo "$modename: cannot find \`$dlname' in \`$dir' or \`$dir/$objdir'" 1>&2
- exit $EXIT_FAILURE
- fi
- fi
- ;;
-
- *.lo)
- # Just add the directory containing the .lo file.
- dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'`
- test "X$dir" = "X$file" && dir=.
- ;;
-
- *)
- $echo "$modename: warning \`-dlopen' is ignored for non-libtool libraries and objects" 1>&2
- continue
- ;;
- esac
-
- # Get the absolute pathname.
- absdir=`cd "$dir" && pwd`
- test -n "$absdir" && dir="$absdir"
-
- # Now add the directory to shlibpath_var.
- if eval "test -z \"\$$shlibpath_var\""; then
- eval "$shlibpath_var=\"\$dir\""
- else
- eval "$shlibpath_var=\"\$dir:\$$shlibpath_var\""
- fi
- done
-
- # This variable tells wrapper scripts just to set shlibpath_var
- # rather than running their programs.
- libtool_execute_magic="$magic"
-
- # Check if any of the arguments is a wrapper script.
- args=
- for file
- do
- case $file in
- -*) ;;
- *)
- # Do a test to see if this is really a libtool program.
- if (${SED} -e '4q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then
- # If there is no directory component, then add one.
- case $file in
- */* | *\\*) . $file ;;
- *) . ./$file ;;
- esac
-
- # Transform arg to wrapped name.
- file="$progdir/$program"
- fi
- ;;
- esac
- # Quote arguments (to preserve shell metacharacters).
- file=`$echo "X$file" | $Xsed -e "$sed_quote_subst"`
- args="$args \"$file\""
- done
+}
- if test -z "$run"; then
- if test -n "$shlibpath_var"; then
- # Export the shlibpath_var.
- eval "export $shlibpath_var"
- fi
+{ test "$mode" = link || test "$mode" = relink; } &&
+ func_mode_link ${1+"$@"}
- # Restore saved environment variables
- for lt_var in LANG LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES
- do
- eval "if test \"\${save_$lt_var+set}\" = set; then
- $lt_var=\$save_$lt_var; export $lt_var
- fi"
- done
- # Now prepare to actually exec the command.
- exec_cmd="\$cmd$args"
- else
- # Display what would be done.
- if test -n "$shlibpath_var"; then
- eval "\$echo \"\$shlibpath_var=\$$shlibpath_var\""
- $echo "export $shlibpath_var"
- fi
- $echo "$cmd$args"
- exit $EXIT_SUCCESS
- fi
- ;;
-
- # libtool clean and uninstall mode
- clean | uninstall)
- modename="$modename: $mode"
- rm="$nonopt"
+# func_mode_uninstall arg...
+func_mode_uninstall ()
+{
+ $opt_debug
+ RM="$nonopt"
files=
rmforce=
exit_status=0
@@ -6513,30 +8208,28 @@ relink_command=\"$relink_command\""
for arg
do
case $arg in
- -f) rm="$rm $arg"; rmforce=yes ;;
- -*) rm="$rm $arg" ;;
+ -f) RM="$RM $arg"; rmforce=yes ;;
+ -*) RM="$RM $arg" ;;
*) files="$files $arg" ;;
esac
done
- if test -z "$rm"; then
- $echo "$modename: you must specify an RM program" 1>&2
- $echo "$help" 1>&2
- exit $EXIT_FAILURE
- fi
+ test -z "$RM" && \
+ func_fatal_help "you must specify an RM program"
rmdirs=
origobjdir="$objdir"
for file in $files; do
- dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'`
- if test "X$dir" = "X$file"; then
- dir=.
+ func_dirname "$file" "" "."
+ dir="$func_dirname_result"
+ if test "X$dir" = X.; then
objdir="$origobjdir"
else
objdir="$dir/$origobjdir"
fi
- name=`$echo "X$file" | $Xsed -e 's%^.*/%%'`
+ func_basename "$file"
+ name="$func_basename_result"
test "$mode" = uninstall && objdir="$dir"
# Remember objdir for removal later, being careful to avoid duplicates
@@ -6548,9 +8241,9 @@ relink_command=\"$relink_command\""
fi
# Don't error if the file doesn't exist and rm -f was used.
- if (test -L "$file") >/dev/null 2>&1 \
- || (test -h "$file") >/dev/null 2>&1 \
- || test -f "$file"; then
+ if { test -L "$file"; } >/dev/null 2>&1 ||
+ { test -h "$file"; } >/dev/null 2>&1 ||
+ test -f "$file"; then
:
elif test -d "$file"; then
exit_status=1
@@ -6564,8 +8257,8 @@ relink_command=\"$relink_command\""
case $name in
*.la)
# Possibly a libtool archive, so verify it.
- if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then
- . $dir/$name
+ if func_lalib_p "$file"; then
+ func_source $dir/$name
# Delete the libtool libraries and symlinks.
for n in $library_names; do
@@ -6580,39 +8273,17 @@ relink_command=\"$relink_command\""
*" $dlname "*) ;;
*) rmfiles="$rmfiles $objdir/$dlname" ;;
esac
- test -n "$libdir" && rmfiles="$rmfiles $objdir/$name $objdir/${name}i"
+ test -n "$libdir" && rmfiles="$rmfiles $objdir/$name $objdir/${name}i"
;;
uninstall)
if test -n "$library_names"; then
# Do each command in the postuninstall commands.
- cmds=$postuninstall_cmds
- save_ifs="$IFS"; IFS='~'
- for cmd in $cmds; do
- IFS="$save_ifs"
- eval cmd=\"$cmd\"
- $show "$cmd"
- $run eval "$cmd"
- if test "$?" -ne 0 && test "$rmforce" != yes; then
- exit_status=1
- fi
- done
- IFS="$save_ifs"
+ func_execute_cmds "$postuninstall_cmds" 'test "$rmforce" = yes || exit_status=1'
fi
if test -n "$old_library"; then
# Do each command in the old_postuninstall commands.
- cmds=$old_postuninstall_cmds
- save_ifs="$IFS"; IFS='~'
- for cmd in $cmds; do
- IFS="$save_ifs"
- eval cmd=\"$cmd\"
- $show "$cmd"
- $run eval "$cmd"
- if test "$?" -ne 0 && test "$rmforce" != yes; then
- exit_status=1
- fi
- done
- IFS="$save_ifs"
+ func_execute_cmds "$old_postuninstall_cmds" 'test "$rmforce" = yes || exit_status=1'
fi
# FIXME: should reinstall the best remaining shared library.
;;
@@ -6622,20 +8293,20 @@ relink_command=\"$relink_command\""
*.lo)
# Possibly a libtool object, so verify it.
- if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then
+ if func_lalib_p "$file"; then
# Read the .lo file
- . $dir/$name
+ func_source $dir/$name
# Add PIC object to the list of files to remove.
- if test -n "$pic_object" \
- && test "$pic_object" != none; then
+ if test -n "$pic_object" &&
+ test "$pic_object" != none; then
rmfiles="$rmfiles $dir/$pic_object"
fi
# Add non-PIC object to the list of files to remove.
- if test -n "$non_pic_object" \
- && test "$non_pic_object" != none; then
+ if test -n "$non_pic_object" &&
+ test "$non_pic_object" != none; then
rmfiles="$rmfiles $dir/$non_pic_object"
fi
fi
@@ -6646,17 +8317,26 @@ relink_command=\"$relink_command\""
noexename=$name
case $file in
*.exe)
- file=`$echo $file|${SED} 's,.exe$,,'`
- noexename=`$echo $name|${SED} 's,.exe$,,'`
+ func_stripname '' '.exe' "$file"
+ file=$func_stripname_result
+ func_stripname '' '.exe' "$name"
+ noexename=$func_stripname_result
# $file with .exe has already been added to rmfiles,
# add $file without .exe
rmfiles="$rmfiles $file"
;;
esac
# Do a test to see if this is a libtool program.
- if (${SED} -e '4q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then
- relink_command=
- . $dir/$noexename
+ if func_ltwrapper_p "$file"; then
+ if func_ltwrapper_executable_p "$file"; then
+ func_ltwrapper_scriptname "$file"
+ relink_command=
+ func_source $func_ltwrapper_scriptname_result
+ rmfiles="$rmfiles $func_ltwrapper_scriptname_result"
+ else
+ relink_command=
+ func_source $dir/$noexename
+ fi
# note $name still contains .exe if it was in $file originally
# as does the version of $file that was added into $rmfiles
@@ -6671,239 +8351,38 @@ relink_command=\"$relink_command\""
fi
;;
esac
- $show "$rm $rmfiles"
- $run $rm $rmfiles || exit_status=1
+ func_show_eval "$RM $rmfiles" 'exit_status=1'
done
objdir="$origobjdir"
# Try to remove the ${objdir}s in the directories where we deleted files
for dir in $rmdirs; do
if test -d "$dir"; then
- $show "rmdir $dir"
- $run rmdir $dir >/dev/null 2>&1
+ func_show_eval "rmdir $dir >/dev/null 2>&1"
fi
done
exit $exit_status
- ;;
+}
- "")
- $echo "$modename: you must specify a MODE" 1>&2
- $echo "$generic_help" 1>&2
- exit $EXIT_FAILURE
- ;;
- esac
+{ test "$mode" = uninstall || test "$mode" = clean; } &&
+ func_mode_uninstall ${1+"$@"}
- if test -z "$exec_cmd"; then
- $echo "$modename: invalid operation mode \`$mode'" 1>&2
- $echo "$generic_help" 1>&2
- exit $EXIT_FAILURE
- fi
-fi # test -z "$show_help"
+test -z "$mode" && {
+ help="$generic_help"
+ func_fatal_help "you must specify a MODE"
+}
+
+test -z "$exec_cmd" && \
+ func_fatal_help "invalid operation mode \`$mode'"
if test -n "$exec_cmd"; then
- eval exec $exec_cmd
+ eval exec "$exec_cmd"
exit $EXIT_FAILURE
fi
-# We need to display help for each of the modes.
-case $mode in
-"") $echo \
-"Usage: $modename [OPTION]... [MODE-ARG]...
-
-Provide generalized library-building support services.
-
- --config show all configuration variables
- --debug enable verbose shell tracing
--n, --dry-run display commands without modifying any files
- --features display basic configuration information and exit
- --finish same as \`--mode=finish'
- --help display this help message and exit
- --mode=MODE use operation mode MODE [default=inferred from MODE-ARGS]
- --quiet same as \`--silent'
- --silent don't print informational messages
- --tag=TAG use configuration variables from tag TAG
- --version print version information
-
-MODE must be one of the following:
-
- clean remove files from the build directory
- compile compile a source file into a libtool object
- execute automatically set library path, then run a program
- finish complete the installation of libtool libraries
- install install libraries or executables
- link create a library or an executable
- uninstall remove libraries from an installed directory
-
-MODE-ARGS vary depending on the MODE. Try \`$modename --help --mode=MODE' for
-a more detailed description of MODE.
-
-Report bugs to <bug-libtool@gnu.org>."
- exit $EXIT_SUCCESS
- ;;
-
-clean)
- $echo \
-"Usage: $modename [OPTION]... --mode=clean RM [RM-OPTION]... FILE...
-
-Remove files from the build directory.
-
-RM is the name of the program to use to delete files associated with each FILE
-(typically \`/bin/rm'). RM-OPTIONS are options (such as \`-f') to be passed
-to RM.
-
-If FILE is a libtool library, object or program, all the files associated
-with it are deleted. Otherwise, only FILE itself is deleted using RM."
- ;;
+exit $exit_status
-compile)
- $echo \
-"Usage: $modename [OPTION]... --mode=compile COMPILE-COMMAND... SOURCEFILE
-
-Compile a source file into a libtool library object.
-
-This mode accepts the following additional options:
-
- -o OUTPUT-FILE set the output file name to OUTPUT-FILE
- -prefer-pic try to building PIC objects only
- -prefer-non-pic try to building non-PIC objects only
- -static always build a \`.o' file suitable for static linking
-
-COMPILE-COMMAND is a command to be used in creating a \`standard' object file
-from the given SOURCEFILE.
-
-The output file name is determined by removing the directory component from
-SOURCEFILE, then substituting the C source code suffix \`.c' with the
-library object suffix, \`.lo'."
- ;;
-
-execute)
- $echo \
-"Usage: $modename [OPTION]... --mode=execute COMMAND [ARGS]...
-
-Automatically set library path, then run a program.
-
-This mode accepts the following additional options:
-
- -dlopen FILE add the directory containing FILE to the library path
-
-This mode sets the library path environment variable according to \`-dlopen'
-flags.
-
-If any of the ARGS are libtool executable wrappers, then they are translated
-into their corresponding uninstalled binary, and any of their required library
-directories are added to the library path.
-
-Then, COMMAND is executed, with ARGS as arguments."
- ;;
-
-finish)
- $echo \
-"Usage: $modename [OPTION]... --mode=finish [LIBDIR]...
-
-Complete the installation of libtool libraries.
-
-Each LIBDIR is a directory that contains libtool libraries.
-
-The commands that this mode executes may require superuser privileges. Use
-the \`--dry-run' option if you just want to see what would be executed."
- ;;
-
-install)
- $echo \
-"Usage: $modename [OPTION]... --mode=install INSTALL-COMMAND...
-
-Install executables or libraries.
-
-INSTALL-COMMAND is the installation command. The first component should be
-either the \`install' or \`cp' program.
-
-The rest of the components are interpreted as arguments to that command (only
-BSD-compatible install options are recognized)."
- ;;
-
-link)
- $echo \
-"Usage: $modename [OPTION]... --mode=link LINK-COMMAND...
-
-Link object files or libraries together to form another library, or to
-create an executable program.
-
-LINK-COMMAND is a command using the C compiler that you would use to create
-a program from several object files.
-
-The following components of LINK-COMMAND are treated specially:
-
- -all-static do not do any dynamic linking at all
- -avoid-version do not add a version suffix if possible
- -dlopen FILE \`-dlpreopen' FILE if it cannot be dlopened at runtime
- -dlpreopen FILE link in FILE and add its symbols to lt_preloaded_symbols
- -export-dynamic allow symbols from OUTPUT-FILE to be resolved with dlsym(3)
- -export-symbols SYMFILE
- try to export only the symbols listed in SYMFILE
- -export-symbols-regex REGEX
- try to export only the symbols matching REGEX
- -LLIBDIR search LIBDIR for required installed libraries
- -lNAME OUTPUT-FILE requires the installed library libNAME
- -module build a library that can dlopened
- -no-fast-install disable the fast-install mode
- -no-install link a not-installable executable
- -no-undefined declare that a library does not refer to external symbols
- -o OUTPUT-FILE create OUTPUT-FILE from the specified objects
- -objectlist FILE Use a list of object files found in FILE to specify objects
- -precious-files-regex REGEX
- don't remove output files matching REGEX
- -release RELEASE specify package release information
- -rpath LIBDIR the created library will eventually be installed in LIBDIR
- -R[ ]LIBDIR add LIBDIR to the runtime path of programs and libraries
- -static do not do any dynamic linking of uninstalled libtool libraries
- -static-libtool-libs
- do not do any dynamic linking of libtool libraries
- -version-info CURRENT[:REVISION[:AGE]]
- specify library version info [each variable defaults to 0]
-
-All other options (arguments beginning with \`-') are ignored.
-
-Every other argument is treated as a filename. Files ending in \`.la' are
-treated as uninstalled libtool libraries, other files are standard or library
-object files.
-
-If the OUTPUT-FILE ends in \`.la', then a libtool library is created,
-only library objects (\`.lo' files) may be specified, and \`-rpath' is
-required, except when creating a convenience library.
-
-If OUTPUT-FILE ends in \`.a' or \`.lib', then a standard library is created
-using \`ar' and \`ranlib', or on Windows using \`lib'.
-
-If OUTPUT-FILE ends in \`.lo' or \`.${objext}', then a reloadable object file
-is created, otherwise an executable program is created."
- ;;
-
-uninstall)
- $echo \
-"Usage: $modename [OPTION]... --mode=uninstall RM [RM-OPTION]... FILE...
-
-Remove libraries from an installation directory.
-
-RM is the name of the program to use to delete files associated with each FILE
-(typically \`/bin/rm'). RM-OPTIONS are options (such as \`-f') to be passed
-to RM.
-
-If FILE is a libtool library, all the files associated with it are deleted.
-Otherwise, only FILE itself is deleted using RM."
- ;;
-
-*)
- $echo "$modename: invalid operation mode \`$mode'" 1>&2
- $echo "$help" 1>&2
- exit $EXIT_FAILURE
- ;;
-esac
-
-$echo
-$echo "Try \`$modename --help' for more information about other modes."
-
-exit $?
# The TAGs below are defined such that we never get into a situation
# in which we disable both kinds of libraries. Given conflicting
@@ -6917,14 +8396,17 @@ exit $?
# configuration. But we'll never go from static-only to shared-only.
# ### BEGIN LIBTOOL TAG CONFIG: disable-shared
-disable_libs=shared
+build_libtool_libs=no
+build_old_libs=yes
# ### END LIBTOOL TAG CONFIG: disable-shared
# ### BEGIN LIBTOOL TAG CONFIG: disable-static
-disable_libs=static
+build_old_libs=`case $build_libtool_libs in yes) echo no;; *) echo yes;; esac`
# ### END LIBTOOL TAG CONFIG: disable-static
# Local Variables:
# mode:shell-script
# sh-indentation:2
# End:
+# vi:sw=2
+
diff --git a/bindings/swig/package/markupcallback.h b/bindings/swig/package/markupcallback.h
index cef01b7..4898b1b 100755
--- a/bindings/swig/package/markupcallback.h
+++ b/bindings/swig/package/markupcallback.h
@@ -5,43 +5,42 @@ using namespace sword;
class MarkupCallback {
public:
- virtual ~MarkupCallback() { ;}
- virtual bool run(SWModule* x) {return false;}
+ virtual ~MarkupCallback() { ;}
+ virtual bool run(SWModule* x) {return false;}
};
- class MyMarkup : public MarkupFilterMgr
- {
-
- private:
- MarkupCallback* _callback;
-
- public:
-
- MyMarkup(MarkupCallback* callback, char markup = FMT_THML, char encoding = ENC_UTF8): MarkupFilterMgr(markup, encoding), _callback(callback)
- {}
- virtual ~MyMarkup() {
- delCallback();
- }
- void delCallback() {
- delete _callback; _callback = 0;
- }
- void setCallback(MarkupCallback *cb)
- {
- delCallback();
- _callback = cb;
- }
- bool call(SWModule* x) {
- if (_callback)
- return _callback->run(x);
- return false;
- }
- protected:
- virtual void AddRenderFilters(SWModule *module, ConfigEntMap
- &section) {
- if(!call(module)) {
- MarkupFilterMgr::AddRenderFilters(module, section);
- }
- }
- };
+class MyMarkup : public MarkupFilterMgr {
+private:
+ MarkupCallback* _callback;
+public:
+ MyMarkup(MarkupCallback* callback, char markup = FMT_THML, char encoding = ENC_UTF8) :
+ MarkupFilterMgr(markup, encoding), _callback(callback) {}
+ virtual ~MyMarkup() {
+ delCallback();
+ }
+
+ void delCallback() {
+ delete _callback; _callback = 0;
+ }
+
+ void setCallback(MarkupCallback *cb) {
+ delCallback();
+ _callback = cb;
+ }
+
+ bool call(SWModule* x) {
+ if (_callback)
+ return _callback->run(x);
+ return false;
+ }
+
+protected:
+ virtual void AddRenderFilters(SWModule *module,
+ ConfigEntMap &section) {
+ if(!call(module)) {
+ MarkupFilterMgr::AddRenderFilters(module, section);
+ }
+ }
+};
diff --git a/bindings/swig/package/rendercallback.h b/bindings/swig/package/rendercallback.h
index 8a19a86..d2a68e3 100755
--- a/bindings/swig/package/rendercallback.h
+++ b/bindings/swig/package/rendercallback.h
@@ -17,24 +17,24 @@ using namespace sword;
class ReturnSuccess
{
public:
- ReturnSuccess(): data(""), success(FAILED) {}
- ReturnSuccess(char* data, int success): data(data), success(success) {}
- virtual ~ReturnSuccess() {}
- char* data;
- int success;
+ ReturnSuccess(): data(""), success(FAILED) {}
+ ReturnSuccess(char* data, int success): data(data), success(success) {}
+ virtual ~ReturnSuccess() {}
+ char* data;
+ int success;
};
class RenderCallback {
public:
- virtual ~RenderCallback() {;}
+ virtual ~RenderCallback() {;}
- virtual ReturnSuccess run(sword::SWBuf& x, const char * token,
+ virtual ReturnSuccess run(sword::SWBuf& x, const char * token,
sword::BasicFilterUserData* userData)
{
- ReturnSuccess nullm("", INHERITED);
- return nullm;
- }
+ ReturnSuccess nullm("", INHERITED);
+ return nullm;
+ }
};
// Forward declarations
@@ -45,26 +45,35 @@ class ThMLData;
class PyOSISHTMLHREF: public sword::OSISHTMLHREF
{
private:
- RenderCallback* _callback;
+ RenderCallback* _callback;
public:
// Create a class which can be inherited externally
#ifndef SWIG
using sword::OSISHTMLHREF::MyUserData;
- class MyOsisUserData : public MyUserData {};
+ class MyOsisUserData : public MyUserData {
+ public:
+ MyOsisUserData(const SWModule *module, const SWKey *key):
+ MyUserData(module, key) {};
+ };
#endif
-
+
+ using sword::OSISHTMLHREF::removeTokenSubstitute;
+ using sword::OSISHTMLHREF::addTokenSubstitute;
+ using sword::OSISHTMLHREF::addAllowedEscapeString;
+ using sword::OSISHTMLHREF::removeAllowedEscapeString;
+
PyOSISHTMLHREF(RenderCallback* callback)
- {
- _callback=callback;
- }
+ {
+ _callback=callback;
+ }
static OSISData* getData(sword::BasicFilterUserData* f)
{
- return (OSISData*) f;
+ return (OSISData*) f;
}
- virtual ~PyOSISHTMLHREF()
+ virtual ~PyOSISHTMLHREF()
{
delCallback();
}
@@ -81,46 +90,58 @@ public:
_callback = cb;
}
- ReturnSuccess call(sword::SWBuf &buf, const char *token, sword::BasicFilterUserData *userData)
- {
- if (_callback) return _callback->run(buf, token, userData);
- else
- {
- ReturnSuccess nullm("", INHERITED);
- return nullm;
- }
- }
-
- protected:
- virtual bool handleToken(sword::SWBuf &buf, const char *token, sword::BasicFilterUserData *userData)
- {
- ReturnSuccess result = call(buf, token, userData);
- switch(result.success)
- {
- case INHERITED:
- return sword::OSISHTMLHREF::handleToken(buf, token, userData);
- case FAILED:
- return false;
- case SUCCEEDED:
- buf += result.data;
- return true;
- }
-
- return true;
- }
- };
+ ReturnSuccess call(sword::SWBuf &buf, const char *token, sword::BasicFilterUserData *userData)
+ {
+ if (_callback) return _callback->run(buf, token, userData);
+ else
+ {
+ ReturnSuccess nullm("", INHERITED);
+ return nullm;
+ }
+ }
+
+protected:
+ virtual bool handleToken(sword::SWBuf &buf, const char *token, sword::BasicFilterUserData *userData)
+ {
+ SWBuf scratch;
+ bool sub = (userData->suspendTextPassThru) ? substituteToken(scratch, token) : substituteToken(buf, token);
+ if(sub) return true;
+
+ ReturnSuccess result = call(buf, token, userData);
+ switch(result.success)
+ {
+ case INHERITED:
+ return sword::OSISHTMLHREF::handleToken(buf, token, userData);
+ case FAILED:
+ return false;
+ case SUCCEEDED:
+ buf += result.data;
+ return true;
+ }
+
+ return true;
+ }
+};
class PyThMLHTMLHREF : public ThMLHTMLHREF {
private:
- RenderCallback* _callback;
+ RenderCallback* _callback;
public:
// Create a class which can be inherited externally
#ifndef SWIG
using sword::ThMLHTMLHREF::MyUserData;
- class MyThmlUserData : public MyUserData {};
+ class MyThmlUserData : public MyUserData {
+ public:
+ MyThmlUserData(const SWModule *module, const SWKey *key):
+ MyUserData(module, key) {};
+ };
#endif
+ using sword::ThMLHTMLHREF::removeTokenSubstitute;
+ using sword::ThMLHTMLHREF::addTokenSubstitute;
+ using sword::ThMLHTMLHREF::addAllowedEscapeString;
+ using sword::ThMLHTMLHREF::removeAllowedEscapeString;
PyThMLHTMLHREF(RenderCallback* callback)
{
_callback=callback;
@@ -128,10 +149,10 @@ public:
static ThMLData* getData(sword::BasicFilterUserData* f)
{
- return (ThMLData*) f;
+ return (ThMLData*) f;
}
- virtual ~PyThMLHTMLHREF()
+ virtual ~PyThMLHTMLHREF()
{
delCallback();
}
@@ -148,57 +169,60 @@ public:
_callback = cb;
}
- ReturnSuccess call(sword::SWBuf &buf, const char *token, sword::BasicFilterUserData *userData)
- {
- if (_callback) return _callback->run(buf, token, userData);
- else
- {
- ReturnSuccess nullm("", INHERITED);
- return nullm;
- }
- }
+ ReturnSuccess call(sword::SWBuf &buf, const char *token, sword::BasicFilterUserData *userData)
+ {
+ if (_callback) return _callback->run(buf, token, userData);
+ else
+ {
+ ReturnSuccess nullm("", INHERITED);
+ return nullm;
+ }
+ }
protected:
- virtual bool handleToken(sword::SWBuf &buf, const char *token, sword::BasicFilterUserData *userData)
- {
- ReturnSuccess result = call(buf, token, userData);
- switch(result.success)
- {
- case INHERITED:
- return sword::ThMLHTMLHREF::handleToken(buf, token, userData);
- case FAILED:
- return false;
- case SUCCEEDED:
- buf += result.data;
- return true;
- }
-
- return true;
- }
-
-public:
-
-
+ virtual bool handleToken(sword::SWBuf &buf, const char *token, sword::BasicFilterUserData *userData)
+ {
+ SWBuf scratch;
+ bool sub = (userData->suspendTextPassThru) ? substituteToken(scratch, token) : substituteToken(buf, token);
+ if(sub) return true;
+
+ ReturnSuccess result = call(buf, token, userData);
+ switch(result.success)
+ {
+ case INHERITED:
+ return sword::ThMLHTMLHREF::handleToken(buf, token, userData);
+ case FAILED:
+ return false;
+ case SUCCEEDED:
+ buf += result.data;
+ return true;
+ }
+
+ return true;
+ }
};
class OSISData :
#ifndef SWIG
public PyOSISHTMLHREF::MyOsisUserData {
+public:
+ OSISData(const SWModule *module, const SWKey *key):
+ PyOSISHTMLHREF::MyOsisUserData(module, key) {};
#else
// trick SWIG into thinking this is not inherited from an inner class...
public sword::BasicFilterUserData
{
public:
- bool osisQToTick;
- bool inBold;
- bool inXRefNote;
- bool BiblicalText;
- int suspendLevel;
- SWBuf wordsOfChristStart;
- SWBuf wordsOfChristEnd;
- SWBuf lastTransChange;
- SWBuf w;
- SWBuf fn;
- SWBuf version;
+ bool osisQToTick;
+ bool inBold;
+ bool inXRefNote;
+ bool BiblicalText;
+ int suspendLevel;
+ SWBuf wordsOfChristStart;
+ SWBuf wordsOfChristEnd;
+ SWBuf lastTransChange;
+ SWBuf w;
+ SWBuf fn;
+ SWBuf version;
#endif //!SWIG
};
@@ -206,16 +230,20 @@ public:
class ThMLData :
#ifndef SWIG
public PyThMLHTMLHREF::MyThmlUserData {
+ public:
+ ThMLData(const SWModule *module, const SWKey *key):
+ PyThMLHTMLHREF::MyThmlUserData(module, key) {};
+
#else
// trick SWIG into thinking this is not inherited from an inner class...
public sword::BasicFilterUserData
{
public:
- SWBuf inscriptRef;
- bool SecHead;
- bool BiblicalText;
- SWBuf version;
- XMLTag startTag;
+ SWBuf inscriptRef;
+ bool SecHead;
+ bool BiblicalText;
+ SWBuf version;
+ XMLTag startTag;
#endif //!SWIG
};
diff --git a/bindings/swig/package/searcher.h b/bindings/swig/package/searcher.h
index f7bf568..e04db92 100755
--- a/bindings/swig/package/searcher.h
+++ b/bindings/swig/package/searcher.h
@@ -1,39 +1,43 @@
+#include <swmodule.h>
+#include <swkey.h>
+#include <listkey.h>
+
using namespace sword;
class SWSearcher{
- public:
- sword::SWModule* mod;
- int percent;
-
- static void Callback(char status, void *me){
- SWSearcher* searcher = (SWSearcher*)me;
- searcher->PercentFunction((int) status);
- }
-
- virtual void PercentFunction(int value){
- percent=value;
- }
-
- SWSearcher(sword::SWModule* Mod){mod=Mod;}
- virtual ~SWSearcher(){}
-
- int GetPercent(){return percent;}
-
- bool isSearchSupported(const char *istr, int searchType = 0,
- int flags = 0,
- SWKey * scope = 0) {
- bool checksupported = true;
- mod->search(istr, searchType, flags, scope, &checksupported);
- return checksupported;
- }
-
- ListKey &doSearch(const char *istr, int searchType = 0, int flags = 0,
- SWKey *scope = 0) {
- return mod->search(istr, searchType, flags, scope,
- 0, this->Callback, (void *) this);
- }
-
- void TerminateSearch(){
- mod->terminateSearch=true;
- }
+public:
+ sword::SWModule* mod;
+ int percent;
+
+ static void Callback(char status, void *me){
+ SWSearcher* searcher = (SWSearcher*)me;
+ searcher->PercentFunction((int) status);
+ }
+
+ virtual void PercentFunction(int value){
+ percent=value;
+ }
+
+ SWSearcher(sword::SWModule* Mod){mod=Mod;}
+ virtual ~SWSearcher(){}
+
+ int GetPercent(){return percent;}
+
+ bool isSearchSupported(const char *istr, int searchType = 0,
+ int flags = 0,
+ SWKey * scope = 0) {
+ bool checksupported = true;
+ mod->search(istr, searchType, flags, scope, &checksupported);
+ return checksupported;
+ }
+
+ ListKey &doSearch(const char *istr, int searchType = 0, int flags = 0,
+ SWKey *scope = 0) {
+ return mod->search(istr, searchType, flags, scope,
+ 0, this->Callback, (void *) this);
+ }
+
+ void TerminateSearch(){
+ mod->terminateSearch=true;
+ }
};
diff --git a/bindings/swig/package/swlocale.i b/bindings/swig/package/swlocale.i
index d98a126..1977bba 100644
--- a/bindings/swig/package/swlocale.i
+++ b/bindings/swig/package/swlocale.i
@@ -3,29 +3,14 @@
%}
%ignore sword::SWLocale::operator+=;
-%ignore sword::SWLocale::getBooks;
+%ignore sword::SWLocale::getBookAbbrevs(int *);
%include "swlocale.h"
%extend sword::SWLocale {
- int getNumBookGroupings() {
- return 2;
- }
+ const sword::abbrev* getBookAbbrevs() {
+ int x;
+ return self->getBookAbbrevs(&x);
+ }
- int getNumBooks(int grouping) {
- char *numbooks;
- struct sbook **books;
-
- self->getBooks(&numbooks, &books);
-
- return numbooks[grouping];
- }
-
- sbook getBook(int grouping, int booknum) {
- char *numbooks;
- struct sbook **books;
- self->getBooks(&numbooks, &books);
-
- return books[grouping][booknum];
- }
-};
+}
diff --git a/bindings/swig/package/swmgr.i b/bindings/swig/package/swmgr.i
index f00490a..d914be0 100644
--- a/bindings/swig/package/swmgr.i
+++ b/bindings/swig/package/swmgr.i
@@ -22,7 +22,7 @@
}
SWModule* getModuleAt( const int pos ) {
- if (pos < 0 || pos > self->Modules.size() )
+ if (pos < 0 || pos > (int)self->Modules.size() )
return 0;
sword::ModMap::iterator it = self->Modules.begin();
diff --git a/bindings/swig/package/sword.i b/bindings/swig/package/sword.i
index 78dc61f..b764549 100644
--- a/bindings/swig/package/sword.i
+++ b/bindings/swig/package/sword.i
@@ -86,9 +86,10 @@
%include "extras.i"
%include "swlog.i"
+#ifndef EXCLUDE_FTP
%include "ftptrans.i"
#ifndef EXCLUDE_INSTALLMGR
%include "installmgr.i"
#endif
-
+#endif
diff --git a/bindings/swig/package/versekey.i b/bindings/swig/package/versekey.i
index 8d9f490..b396c5a 100644
--- a/bindings/swig/package/versekey.i
+++ b/bindings/swig/package/versekey.i
@@ -1,5 +1,6 @@
%{
#include "versekey.h"
+#include "versemgr.h"
%}
@@ -18,6 +19,7 @@
%immutable sword::abbrev::ab;
%include "versekey.h"
+%include "versemgr.h"
%extend sword::abbrev {
int getAbbrevCount() {
@@ -63,6 +65,14 @@
};
+ const int getBookCount(){
+ const sword::VerseMgr::System* system = sword::VerseMgr::getSystemVerseMgr()->getVersificationSystem(
+ self->getVersificationSystem()
+ );
+ return system->getBookCount();
+ }
+
+
/* Get name of book
* Returns the name of the booknumber in the givn testament.
* Testament may be 1 (OT) or 2 (NT)
@@ -70,15 +80,49 @@
*/
const char* bookName( const int testament, const int book ) {
if ( (testament < 1) || (testament > 2) ) {
- return "";
+ return 0;
};
if ( (book < 1) || (book > self->BMAX[testament-1]) ) {
- return "";
+ return 0;
}
- return self->books[testament-1][book-1].name;
+ const sword::VerseMgr::System* system = sword::VerseMgr::getSystemVerseMgr()->getVersificationSystem(
+ self->getVersificationSystem()
+ );
+
+ int book_num = (book - 1) + (
+ (testament == 2) ? self->BMAX[0] : 0
+ );
+
+ const sword::VerseMgr::Book* b = system->getBook(book_num);
+ if(!b) {
+ fprintf(stderr, "b is null for %d?!?\n", book_num);
+ return 0;
+ }
+ return b->getLongName();
+
+
};
+ int getBookNumberByOSISName( const char* bookname ) {
+ const sword::VerseMgr::System* system = sword::VerseMgr::getSystemVerseMgr()->getVersificationSystem(
+ self->getVersificationSystem()
+ );
+ return system->getBookNumberByOSISName(bookname);
+ }
+
+ const char* getOSISBookName( const int book ) {
+ const sword::VerseMgr::System* system = sword::VerseMgr::getSystemVerseMgr()->getVersificationSystem(
+ self->getVersificationSystem()
+ );
+ if ( (book < 0) || (book >= system->getBookCount()))
+ return 0;
+
+ return system->getBook(book)->getOSISName();
+ }
+
+
+
/* Get number of chapters in the given testament and book number
* testament may be 1 (OT) or 2 (NT)
* book may be in the range 1 <= bookCount(testament)
@@ -91,7 +135,21 @@
return 0;
}
- return self->books[testament-1][book-1].chapmax;
+ const sword::VerseMgr::System* system = sword::VerseMgr::getSystemVerseMgr()->getVersificationSystem(
+ self->getVersificationSystem()
+ );
+
+ int book_num = (book - 1) + (
+ (testament == 2) ? self->BMAX[0] : 0
+ );
+
+ const sword::VerseMgr::Book* b = system->getBook(book_num);
+ if(!b) {
+ fprintf(stderr, "b is null for %d?!?\n", book_num);
+ return 0;
+ }
+
+ return b->getChapterMax();
};
/* Get number of verses in the given chapter of the given in the given testament,
* testament may be 1 (OT) or 2 (NT)
@@ -105,11 +163,25 @@
if ( (book < 1) || (book > self->BMAX[testament-1]) ) {
return 0;
}
- if ( (chapter < 1) || (chapter > self->books[testament-1][book-1].chapmax) ) {
+
+ const sword::VerseMgr::System* system = sword::VerseMgr::getSystemVerseMgr()->getVersificationSystem(
+ self->getVersificationSystem()
+ );
+
+ int book_num = (book - 1) + (
+ (testament == 2) ? self->BMAX[0] : 0
+ );
+
+ const sword::VerseMgr::Book* b = system->getBook(book_num);
+ if(!b) {
+ fprintf(stderr, "b is null for %d?!?\n", book_num);
+ return 0;
+ }
+ if ( (chapter < 1) || (chapter > b->getChapterMax()) ) {
return 0;
}
- return self->books[testament-1][book-1].versemax[chapter-1];
+ return b->getVerseMax(chapter);
};
};
diff --git a/bindings/swig/rendercallback.h b/bindings/swig/rendercallback.h
index 8a19a86..d2a68e3 100755
--- a/bindings/swig/rendercallback.h
+++ b/bindings/swig/rendercallback.h
@@ -17,24 +17,24 @@ using namespace sword;
class ReturnSuccess
{
public:
- ReturnSuccess(): data(""), success(FAILED) {}
- ReturnSuccess(char* data, int success): data(data), success(success) {}
- virtual ~ReturnSuccess() {}
- char* data;
- int success;
+ ReturnSuccess(): data(""), success(FAILED) {}
+ ReturnSuccess(char* data, int success): data(data), success(success) {}
+ virtual ~ReturnSuccess() {}
+ char* data;
+ int success;
};
class RenderCallback {
public:
- virtual ~RenderCallback() {;}
+ virtual ~RenderCallback() {;}
- virtual ReturnSuccess run(sword::SWBuf& x, const char * token,
+ virtual ReturnSuccess run(sword::SWBuf& x, const char * token,
sword::BasicFilterUserData* userData)
{
- ReturnSuccess nullm("", INHERITED);
- return nullm;
- }
+ ReturnSuccess nullm("", INHERITED);
+ return nullm;
+ }
};
// Forward declarations
@@ -45,26 +45,35 @@ class ThMLData;
class PyOSISHTMLHREF: public sword::OSISHTMLHREF
{
private:
- RenderCallback* _callback;
+ RenderCallback* _callback;
public:
// Create a class which can be inherited externally
#ifndef SWIG
using sword::OSISHTMLHREF::MyUserData;
- class MyOsisUserData : public MyUserData {};
+ class MyOsisUserData : public MyUserData {
+ public:
+ MyOsisUserData(const SWModule *module, const SWKey *key):
+ MyUserData(module, key) {};
+ };
#endif
-
+
+ using sword::OSISHTMLHREF::removeTokenSubstitute;
+ using sword::OSISHTMLHREF::addTokenSubstitute;
+ using sword::OSISHTMLHREF::addAllowedEscapeString;
+ using sword::OSISHTMLHREF::removeAllowedEscapeString;
+
PyOSISHTMLHREF(RenderCallback* callback)
- {
- _callback=callback;
- }
+ {
+ _callback=callback;
+ }
static OSISData* getData(sword::BasicFilterUserData* f)
{
- return (OSISData*) f;
+ return (OSISData*) f;
}
- virtual ~PyOSISHTMLHREF()
+ virtual ~PyOSISHTMLHREF()
{
delCallback();
}
@@ -81,46 +90,58 @@ public:
_callback = cb;
}
- ReturnSuccess call(sword::SWBuf &buf, const char *token, sword::BasicFilterUserData *userData)
- {
- if (_callback) return _callback->run(buf, token, userData);
- else
- {
- ReturnSuccess nullm("", INHERITED);
- return nullm;
- }
- }
-
- protected:
- virtual bool handleToken(sword::SWBuf &buf, const char *token, sword::BasicFilterUserData *userData)
- {
- ReturnSuccess result = call(buf, token, userData);
- switch(result.success)
- {
- case INHERITED:
- return sword::OSISHTMLHREF::handleToken(buf, token, userData);
- case FAILED:
- return false;
- case SUCCEEDED:
- buf += result.data;
- return true;
- }
-
- return true;
- }
- };
+ ReturnSuccess call(sword::SWBuf &buf, const char *token, sword::BasicFilterUserData *userData)
+ {
+ if (_callback) return _callback->run(buf, token, userData);
+ else
+ {
+ ReturnSuccess nullm("", INHERITED);
+ return nullm;
+ }
+ }
+
+protected:
+ virtual bool handleToken(sword::SWBuf &buf, const char *token, sword::BasicFilterUserData *userData)
+ {
+ SWBuf scratch;
+ bool sub = (userData->suspendTextPassThru) ? substituteToken(scratch, token) : substituteToken(buf, token);
+ if(sub) return true;
+
+ ReturnSuccess result = call(buf, token, userData);
+ switch(result.success)
+ {
+ case INHERITED:
+ return sword::OSISHTMLHREF::handleToken(buf, token, userData);
+ case FAILED:
+ return false;
+ case SUCCEEDED:
+ buf += result.data;
+ return true;
+ }
+
+ return true;
+ }
+};
class PyThMLHTMLHREF : public ThMLHTMLHREF {
private:
- RenderCallback* _callback;
+ RenderCallback* _callback;
public:
// Create a class which can be inherited externally
#ifndef SWIG
using sword::ThMLHTMLHREF::MyUserData;
- class MyThmlUserData : public MyUserData {};
+ class MyThmlUserData : public MyUserData {
+ public:
+ MyThmlUserData(const SWModule *module, const SWKey *key):
+ MyUserData(module, key) {};
+ };
#endif
+ using sword::ThMLHTMLHREF::removeTokenSubstitute;
+ using sword::ThMLHTMLHREF::addTokenSubstitute;
+ using sword::ThMLHTMLHREF::addAllowedEscapeString;
+ using sword::ThMLHTMLHREF::removeAllowedEscapeString;
PyThMLHTMLHREF(RenderCallback* callback)
{
_callback=callback;
@@ -128,10 +149,10 @@ public:
static ThMLData* getData(sword::BasicFilterUserData* f)
{
- return (ThMLData*) f;
+ return (ThMLData*) f;
}
- virtual ~PyThMLHTMLHREF()
+ virtual ~PyThMLHTMLHREF()
{
delCallback();
}
@@ -148,57 +169,60 @@ public:
_callback = cb;
}
- ReturnSuccess call(sword::SWBuf &buf, const char *token, sword::BasicFilterUserData *userData)
- {
- if (_callback) return _callback->run(buf, token, userData);
- else
- {
- ReturnSuccess nullm("", INHERITED);
- return nullm;
- }
- }
+ ReturnSuccess call(sword::SWBuf &buf, const char *token, sword::BasicFilterUserData *userData)
+ {
+ if (_callback) return _callback->run(buf, token, userData);
+ else
+ {
+ ReturnSuccess nullm("", INHERITED);
+ return nullm;
+ }
+ }
protected:
- virtual bool handleToken(sword::SWBuf &buf, const char *token, sword::BasicFilterUserData *userData)
- {
- ReturnSuccess result = call(buf, token, userData);
- switch(result.success)
- {
- case INHERITED:
- return sword::ThMLHTMLHREF::handleToken(buf, token, userData);
- case FAILED:
- return false;
- case SUCCEEDED:
- buf += result.data;
- return true;
- }
-
- return true;
- }
-
-public:
-
-
+ virtual bool handleToken(sword::SWBuf &buf, const char *token, sword::BasicFilterUserData *userData)
+ {
+ SWBuf scratch;
+ bool sub = (userData->suspendTextPassThru) ? substituteToken(scratch, token) : substituteToken(buf, token);
+ if(sub) return true;
+
+ ReturnSuccess result = call(buf, token, userData);
+ switch(result.success)
+ {
+ case INHERITED:
+ return sword::ThMLHTMLHREF::handleToken(buf, token, userData);
+ case FAILED:
+ return false;
+ case SUCCEEDED:
+ buf += result.data;
+ return true;
+ }
+
+ return true;
+ }
};
class OSISData :
#ifndef SWIG
public PyOSISHTMLHREF::MyOsisUserData {
+public:
+ OSISData(const SWModule *module, const SWKey *key):
+ PyOSISHTMLHREF::MyOsisUserData(module, key) {};
#else
// trick SWIG into thinking this is not inherited from an inner class...
public sword::BasicFilterUserData
{
public:
- bool osisQToTick;
- bool inBold;
- bool inXRefNote;
- bool BiblicalText;
- int suspendLevel;
- SWBuf wordsOfChristStart;
- SWBuf wordsOfChristEnd;
- SWBuf lastTransChange;
- SWBuf w;
- SWBuf fn;
- SWBuf version;
+ bool osisQToTick;
+ bool inBold;
+ bool inXRefNote;
+ bool BiblicalText;
+ int suspendLevel;
+ SWBuf wordsOfChristStart;
+ SWBuf wordsOfChristEnd;
+ SWBuf lastTransChange;
+ SWBuf w;
+ SWBuf fn;
+ SWBuf version;
#endif //!SWIG
};
@@ -206,16 +230,20 @@ public:
class ThMLData :
#ifndef SWIG
public PyThMLHTMLHREF::MyThmlUserData {
+ public:
+ ThMLData(const SWModule *module, const SWKey *key):
+ PyThMLHTMLHREF::MyThmlUserData(module, key) {};
+
#else
// trick SWIG into thinking this is not inherited from an inner class...
public sword::BasicFilterUserData
{
public:
- SWBuf inscriptRef;
- bool SecHead;
- bool BiblicalText;
- SWBuf version;
- XMLTag startTag;
+ SWBuf inscriptRef;
+ bool SecHead;
+ bool BiblicalText;
+ SWBuf version;
+ XMLTag startTag;
#endif //!SWIG
};
diff --git a/bindings/swig/searcher.h b/bindings/swig/searcher.h
index f7bf568..e04db92 100755
--- a/bindings/swig/searcher.h
+++ b/bindings/swig/searcher.h
@@ -1,39 +1,43 @@
+#include <swmodule.h>
+#include <swkey.h>
+#include <listkey.h>
+
using namespace sword;
class SWSearcher{
- public:
- sword::SWModule* mod;
- int percent;
-
- static void Callback(char status, void *me){
- SWSearcher* searcher = (SWSearcher*)me;
- searcher->PercentFunction((int) status);
- }
-
- virtual void PercentFunction(int value){
- percent=value;
- }
-
- SWSearcher(sword::SWModule* Mod){mod=Mod;}
- virtual ~SWSearcher(){}
-
- int GetPercent(){return percent;}
-
- bool isSearchSupported(const char *istr, int searchType = 0,
- int flags = 0,
- SWKey * scope = 0) {
- bool checksupported = true;
- mod->search(istr, searchType, flags, scope, &checksupported);
- return checksupported;
- }
-
- ListKey &doSearch(const char *istr, int searchType = 0, int flags = 0,
- SWKey *scope = 0) {
- return mod->search(istr, searchType, flags, scope,
- 0, this->Callback, (void *) this);
- }
-
- void TerminateSearch(){
- mod->terminateSearch=true;
- }
+public:
+ sword::SWModule* mod;
+ int percent;
+
+ static void Callback(char status, void *me){
+ SWSearcher* searcher = (SWSearcher*)me;
+ searcher->PercentFunction((int) status);
+ }
+
+ virtual void PercentFunction(int value){
+ percent=value;
+ }
+
+ SWSearcher(sword::SWModule* Mod){mod=Mod;}
+ virtual ~SWSearcher(){}
+
+ int GetPercent(){return percent;}
+
+ bool isSearchSupported(const char *istr, int searchType = 0,
+ int flags = 0,
+ SWKey * scope = 0) {
+ bool checksupported = true;
+ mod->search(istr, searchType, flags, scope, &checksupported);
+ return checksupported;
+ }
+
+ ListKey &doSearch(const char *istr, int searchType = 0, int flags = 0,
+ SWKey *scope = 0) {
+ return mod->search(istr, searchType, flags, scope,
+ 0, this->Callback, (void *) this);
+ }
+
+ void TerminateSearch(){
+ mod->terminateSearch=true;
+ }
};
diff --git a/bindings/swig/swlocale.i b/bindings/swig/swlocale.i
index d98a126..1977bba 100644
--- a/bindings/swig/swlocale.i
+++ b/bindings/swig/swlocale.i
@@ -3,29 +3,14 @@
%}
%ignore sword::SWLocale::operator+=;
-%ignore sword::SWLocale::getBooks;
+%ignore sword::SWLocale::getBookAbbrevs(int *);
%include "swlocale.h"
%extend sword::SWLocale {
- int getNumBookGroupings() {
- return 2;
- }
+ const sword::abbrev* getBookAbbrevs() {
+ int x;
+ return self->getBookAbbrevs(&x);
+ }
- int getNumBooks(int grouping) {
- char *numbooks;
- struct sbook **books;
-
- self->getBooks(&numbooks, &books);
-
- return numbooks[grouping];
- }
-
- sbook getBook(int grouping, int booknum) {
- char *numbooks;
- struct sbook **books;
- self->getBooks(&numbooks, &books);
-
- return books[grouping][booknum];
- }
-};
+}
diff --git a/bindings/swig/swmgr.i b/bindings/swig/swmgr.i
index f00490a..d914be0 100644
--- a/bindings/swig/swmgr.i
+++ b/bindings/swig/swmgr.i
@@ -22,7 +22,7 @@
}
SWModule* getModuleAt( const int pos ) {
- if (pos < 0 || pos > self->Modules.size() )
+ if (pos < 0 || pos > (int)self->Modules.size() )
return 0;
sword::ModMap::iterator it = self->Modules.begin();
diff --git a/bindings/swig/sword.i b/bindings/swig/sword.i
index 78dc61f..b764549 100644
--- a/bindings/swig/sword.i
+++ b/bindings/swig/sword.i
@@ -86,9 +86,10 @@
%include "extras.i"
%include "swlog.i"
+#ifndef EXCLUDE_FTP
%include "ftptrans.i"
#ifndef EXCLUDE_INSTALLMGR
%include "installmgr.i"
#endif
-
+#endif
diff --git a/bindings/swig/sword.pl b/bindings/swig/sword.pl
index c5a833c..16ded88 100644
--- a/bindings/swig/sword.pl
+++ b/bindings/swig/sword.pl
@@ -1,4 +1,25 @@
#!/usr/bin/perl
+#******************************************************************************
+#
+# This looks like a test program to check binding functionality :)
+# Someone update me otherwise
+#
+# $Id: sword.pl 2327 2009-04-22 11:42:33Z scribe $
+#
+# Copyright 1998-2009 CrossWire Bible Society (http://www.crosswire.org)
+# CrossWire Bible Society
+# P. O. Box 2528
+# Tempe, AZ 85280-2528
+#
+# This program is free software; you can redistribute it and/or modify it
+# under the terms of the GNU General Public License as published by the
+# Free Software Foundation version 2.
+#
+# This program is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# General Public License for more details.
+#
use Sword;
diff --git a/bindings/swig/versekey.i b/bindings/swig/versekey.i
index 8d9f490..b396c5a 100644
--- a/bindings/swig/versekey.i
+++ b/bindings/swig/versekey.i
@@ -1,5 +1,6 @@
%{
#include "versekey.h"
+#include "versemgr.h"
%}
@@ -18,6 +19,7 @@
%immutable sword::abbrev::ab;
%include "versekey.h"
+%include "versemgr.h"
%extend sword::abbrev {
int getAbbrevCount() {
@@ -63,6 +65,14 @@
};
+ const int getBookCount(){
+ const sword::VerseMgr::System* system = sword::VerseMgr::getSystemVerseMgr()->getVersificationSystem(
+ self->getVersificationSystem()
+ );
+ return system->getBookCount();
+ }
+
+
/* Get name of book
* Returns the name of the booknumber in the givn testament.
* Testament may be 1 (OT) or 2 (NT)
@@ -70,15 +80,49 @@
*/
const char* bookName( const int testament, const int book ) {
if ( (testament < 1) || (testament > 2) ) {
- return "";
+ return 0;
};
if ( (book < 1) || (book > self->BMAX[testament-1]) ) {
- return "";
+ return 0;
}
- return self->books[testament-1][book-1].name;
+ const sword::VerseMgr::System* system = sword::VerseMgr::getSystemVerseMgr()->getVersificationSystem(
+ self->getVersificationSystem()
+ );
+
+ int book_num = (book - 1) + (
+ (testament == 2) ? self->BMAX[0] : 0
+ );
+
+ const sword::VerseMgr::Book* b = system->getBook(book_num);
+ if(!b) {
+ fprintf(stderr, "b is null for %d?!?\n", book_num);
+ return 0;
+ }
+ return b->getLongName();
+
+
};
+ int getBookNumberByOSISName( const char* bookname ) {
+ const sword::VerseMgr::System* system = sword::VerseMgr::getSystemVerseMgr()->getVersificationSystem(
+ self->getVersificationSystem()
+ );
+ return system->getBookNumberByOSISName(bookname);
+ }
+
+ const char* getOSISBookName( const int book ) {
+ const sword::VerseMgr::System* system = sword::VerseMgr::getSystemVerseMgr()->getVersificationSystem(
+ self->getVersificationSystem()
+ );
+ if ( (book < 0) || (book >= system->getBookCount()))
+ return 0;
+
+ return system->getBook(book)->getOSISName();
+ }
+
+
+
/* Get number of chapters in the given testament and book number
* testament may be 1 (OT) or 2 (NT)
* book may be in the range 1 <= bookCount(testament)
@@ -91,7 +135,21 @@
return 0;
}
- return self->books[testament-1][book-1].chapmax;
+ const sword::VerseMgr::System* system = sword::VerseMgr::getSystemVerseMgr()->getVersificationSystem(
+ self->getVersificationSystem()
+ );
+
+ int book_num = (book - 1) + (
+ (testament == 2) ? self->BMAX[0] : 0
+ );
+
+ const sword::VerseMgr::Book* b = system->getBook(book_num);
+ if(!b) {
+ fprintf(stderr, "b is null for %d?!?\n", book_num);
+ return 0;
+ }
+
+ return b->getChapterMax();
};
/* Get number of verses in the given chapter of the given in the given testament,
* testament may be 1 (OT) or 2 (NT)
@@ -105,11 +163,25 @@
if ( (book < 1) || (book > self->BMAX[testament-1]) ) {
return 0;
}
- if ( (chapter < 1) || (chapter > self->books[testament-1][book-1].chapmax) ) {
+
+ const sword::VerseMgr::System* system = sword::VerseMgr::getSystemVerseMgr()->getVersificationSystem(
+ self->getVersificationSystem()
+ );
+
+ int book_num = (book - 1) + (
+ (testament == 2) ? self->BMAX[0] : 0
+ );
+
+ const sword::VerseMgr::Book* b = system->getBook(book_num);
+ if(!b) {
+ fprintf(stderr, "b is null for %d?!?\n", book_num);
+ return 0;
+ }
+ if ( (chapter < 1) || (chapter > b->getChapterMax()) ) {
return 0;
}
- return self->books[testament-1][book-1].versemax[chapter-1];
+ return b->getVerseMax(chapter);
};
};
diff --git a/bindings/swig/vstudio/libsword_csharpsword.vcproj b/bindings/swig/vstudio/libsword_csharpsword.vcproj
index e69871a..20aedf7 100644
--- a/bindings/swig/vstudio/libsword_csharpsword.vcproj
+++ b/bindings/swig/vstudio/libsword_csharpsword.vcproj
@@ -892,6 +892,10 @@
>
</File>
<File
+ RelativePath="..\..\..\include\utf8arabicpoints.h"
+ >
+ </File>
+ <File
RelativePath="..\..\..\include\utf8html.h"
>
</File>
diff --git a/bindings/usrinst.sh b/bindings/usrinst.sh
index e22d1a3..f584050 100755
--- a/bindings/usrinst.sh
+++ b/bindings/usrinst.sh
@@ -1,4 +1,24 @@
#!/bin/sh
+#******************************************************************************
+# Convenience script specifying most common options to ./configure
+#
+# $Id: swmgr.h 2321 2009-04-13 01:17:00Z scribe $
+#
+# Copyright 1998-2009 CrossWire Bible Society (http://www.crosswire.org)
+# CrossWire Bible Society
+# P. O. Box 2528
+# Tempe, AZ 85280-2528
+#
+# This program is free software; you can redistribute it and/or modify it
+# under the terms of the GNU General Public License as published by the
+# Free Software Foundation version 2.
+#
+# This program is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# General Public License for more details.
+#
+#
OPTIONS="--prefix=/usr $OPTIONS"
OPTIONS="--enable-corba $OPTIONS"
diff --git a/buildtest.cpp b/buildtest.cpp
index 8d42487..5285dd7 100644
--- a/buildtest.cpp
+++ b/buildtest.cpp
@@ -1,3 +1,25 @@
+/******************************************************************************
+ * This is a dumby program which does nothing useful but links to the
+ * SWORD engine to confirm basic things were built ok.
+ *
+ * $Id: buildtest.cpp 2327 2009-04-22 11:42:33Z scribe $
+ *
+ * Copyright 1998-2009 CrossWire Bible Society (http://www.crosswire.org)
+ * CrossWire Bible Society
+ * P. O. Box 2528
+ * Tempe, AZ 85280-2528
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation version 2.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ */
+
#include <iostream>
#include <versekey.h>
#include <rawtext.h>
diff --git a/config.guess b/config.guess
index 951383e..f32079a 100755
--- a/config.guess
+++ b/config.guess
@@ -1,10 +1,10 @@
#! /bin/sh
# Attempt to guess a canonical system name.
# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
-# 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation,
-# Inc.
+# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008
+# Free Software Foundation, Inc.
-timestamp='2007-05-17'
+timestamp='2008-01-23'
# This file is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by
@@ -56,8 +56,8 @@ version="\
GNU config.guess ($timestamp)
Originally written by Per Bothner.
-Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005
-Free Software Foundation, Inc.
+Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
+2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
@@ -330,7 +330,7 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
exit ;;
- i86pc:SunOS:5.*:* | ix86xen:SunOS:5.*:*)
+ i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*)
echo i386-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
exit ;;
sun4*:SunOS:6*:*)
@@ -532,7 +532,7 @@ EOF
echo rs6000-ibm-aix3.2
fi
exit ;;
- *:AIX:*:[45])
+ *:AIX:*:[456])
IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'`
if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then
IBM_ARCH=rs6000
@@ -793,12 +793,15 @@ EOF
exit ;;
*:Interix*:[3456]*)
case ${UNAME_MACHINE} in
- x86)
+ x86)
echo i586-pc-interix${UNAME_RELEASE}
exit ;;
EM64T | authenticamd)
echo x86_64-unknown-interix${UNAME_RELEASE}
exit ;;
+ IA64)
+ echo ia64-unknown-interix${UNAME_RELEASE}
+ exit ;;
esac ;;
[345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*)
echo i${UNAME_MACHINE}-pc-mks
@@ -833,7 +836,14 @@ EOF
echo ${UNAME_MACHINE}-pc-minix
exit ;;
arm*:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-gnu
+ eval $set_cc_for_build
+ if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \
+ | grep -q __ARM_EABI__
+ then
+ echo ${UNAME_MACHINE}-unknown-linux-gnu
+ else
+ echo ${UNAME_MACHINE}-unknown-linux-gnueabi
+ fi
exit ;;
avr32*:Linux:*:*)
echo ${UNAME_MACHINE}-unknown-linux-gnu
@@ -954,8 +964,8 @@ EOF
x86_64:Linux:*:*)
echo x86_64-unknown-linux-gnu
exit ;;
- xtensa:Linux:*:*)
- echo xtensa-unknown-linux-gnu
+ xtensa*:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-gnu
exit ;;
i*86:Linux:*:*)
# The BFD linker knows what the default object file format is, so
@@ -1474,9 +1484,9 @@ This script, last modified $timestamp, has failed to recognize
the operating system you are using. It is advised that you
download the most up to date version of the config scripts from
- http://savannah.gnu.org/cgi-bin/viewcvs/*checkout*/config/config/config.guess
+ http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD
and
- http://savannah.gnu.org/cgi-bin/viewcvs/*checkout*/config/config/config.sub
+ http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
If the version you run ($0) is already up to date, please
send the following data and any information you think might be
diff --git a/config.sub b/config.sub
index c060f44..6759825 100755
--- a/config.sub
+++ b/config.sub
@@ -1,10 +1,10 @@
#! /bin/sh
# Configuration validation subroutine script.
# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
-# 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation,
-# Inc.
+# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008
+# Free Software Foundation, Inc.
-timestamp='2007-04-29'
+timestamp='2008-01-16'
# This file is (in principle) common to ALL GNU software.
# The presence of a machine in this file suggests that SOME GNU software
@@ -72,8 +72,8 @@ Report bugs and patches to <config-patches@gnu.org>."
version="\
GNU config.sub ($timestamp)
-Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005
-Free Software Foundation, Inc.
+Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
+2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
@@ -369,10 +369,14 @@ case $basic_machine in
| v850-* | v850e-* | vax-* \
| we32k-* \
| x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \
- | xstormy16-* | xtensa-* \
+ | xstormy16-* | xtensa*-* \
| ymp-* \
| z8k-*)
;;
+ # Recognize the basic CPU types without company name, with glob match.
+ xtensa*)
+ basic_machine=$basic_machine-unknown
+ ;;
# Recognize the various machine names and aliases which stand
# for a CPU type and a company and sometimes even an OS.
386bsd)
@@ -443,6 +447,14 @@ case $basic_machine in
basic_machine=ns32k-sequent
os=-dynix
;;
+ blackfin)
+ basic_machine=bfin-unknown
+ os=-linux
+ ;;
+ blackfin-*)
+ basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'`
+ os=-linux
+ ;;
c90)
basic_machine=c90-cray
os=-unicos
@@ -475,8 +487,8 @@ case $basic_machine in
basic_machine=craynv-cray
os=-unicosmp
;;
- cr16c)
- basic_machine=cr16c-unknown
+ cr16)
+ basic_machine=cr16-unknown
os=-elf
;;
crds | unos)
@@ -668,6 +680,14 @@ case $basic_machine in
basic_machine=m68k-isi
os=-sysv
;;
+ m68knommu)
+ basic_machine=m68k-unknown
+ os=-linux
+ ;;
+ m68knommu-*)
+ basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'`
+ os=-linux
+ ;;
m88k-omron*)
basic_machine=m88k-omron
;;
@@ -813,6 +833,14 @@ case $basic_machine in
basic_machine=i860-intel
os=-osf
;;
+ parisc)
+ basic_machine=hppa-unknown
+ os=-linux
+ ;;
+ parisc-*)
+ basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'`
+ os=-linux
+ ;;
pbd)
basic_machine=sparc-tti
;;
@@ -1021,6 +1049,10 @@ case $basic_machine in
basic_machine=tic6x-unknown
os=-coff
;;
+ tile*)
+ basic_machine=tile-unknown
+ os=-linux-gnu
+ ;;
tx39)
basic_machine=mipstx39-unknown
;;
diff --git a/configure b/configure
index 1b14cd0..924d5b3 100755
--- a/configure
+++ b/configure
@@ -1,12 +1,12 @@
#! /bin/sh
# From configure.ac Revision: 1.45 .
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.61 for sword 1.5.11.
+# Generated by GNU Autoconf 2.63 for sword 1.6.0.
#
# Report bugs to <sword-bugs@crosswire.org>.
#
# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
-# 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
+# 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
# This configure script is free software; the Free Software Foundation
# gives unlimited permission to copy, distribute and modify it.
## --------------------- ##
@@ -18,7 +18,7 @@ DUALCASE=1; export DUALCASE # for MKS sh
if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
emulate sh
NULLCMD=:
- # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
+ # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
# is contrary to our usage. Disable this feature.
alias -g '${1+"$@"}'='"$@"'
setopt NO_GLOB_SUBST
@@ -40,17 +40,45 @@ as_cr_Letters=$as_cr_letters$as_cr_LETTERS
as_cr_digits='0123456789'
as_cr_alnum=$as_cr_Letters$as_cr_digits
-# The user is always right.
-if test "${PATH_SEPARATOR+set}" != set; then
- echo "#! /bin/sh" >conf$$.sh
- echo "exit 0" >>conf$$.sh
- chmod +x conf$$.sh
- if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
- PATH_SEPARATOR=';'
+as_nl='
+'
+export as_nl
+# Printing a long string crashes Solaris 7 /usr/bin/printf.
+as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
+as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo
+as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo
+if (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then
+ as_echo='printf %s\n'
+ as_echo_n='printf %s'
+else
+ if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then
+ as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"'
+ as_echo_n='/usr/ucb/echo -n'
else
- PATH_SEPARATOR=:
+ as_echo_body='eval expr "X$1" : "X\\(.*\\)"'
+ as_echo_n_body='eval
+ arg=$1;
+ case $arg in
+ *"$as_nl"*)
+ expr "X$arg" : "X\\(.*\\)$as_nl";
+ arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;;
+ esac;
+ expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl"
+ '
+ export as_echo_n_body
+ as_echo_n='sh -c $as_echo_n_body as_echo'
fi
- rm -f conf$$.sh
+ export as_echo_body
+ as_echo='sh -c $as_echo_body as_echo'
+fi
+
+# The user is always right.
+if test "${PATH_SEPARATOR+set}" != set; then
+ PATH_SEPARATOR=:
+ (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
+ (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
+ PATH_SEPARATOR=';'
+ }
fi
# Support unset when possible.
@@ -66,8 +94,6 @@ fi
# there to prevent editors from complaining about space-tab.
# (If _AS_PATH_WALK were called with IFS unset, it would disable word
# splitting by setting IFS to empty value.)
-as_nl='
-'
IFS=" "" $as_nl"
# Find who we are. Look in the path if we contain no directory separator.
@@ -90,7 +116,7 @@ if test "x$as_myself" = x; then
as_myself=$0
fi
if test ! -f "$as_myself"; then
- echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
+ $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
{ (exit 1); exit 1; }
fi
@@ -103,17 +129,10 @@ PS2='> '
PS4='+ '
# NLS nuisances.
-for as_var in \
- LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \
- LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \
- LC_TELEPHONE LC_TIME
-do
- if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then
- eval $as_var=C; export $as_var
- else
- ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
- fi
-done
+LC_ALL=C
+export LC_ALL
+LANGUAGE=C
+export LANGUAGE
# Required to use basename.
if expr a : '\(a\)' >/dev/null 2>&1 &&
@@ -135,7 +154,7 @@ as_me=`$as_basename -- "$0" ||
$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
X"$0" : 'X\(//\)$' \| \
X"$0" : 'X\(/\)' \| . 2>/dev/null ||
-echo X/"$0" |
+$as_echo X/"$0" |
sed '/^.*\/\([^/][^/]*\)\/*$/{
s//\1/
q
@@ -161,7 +180,7 @@ else
as_have_required=no
fi
- if test $as_have_required = yes && (eval ":
+ if test $as_have_required = yes && (eval ":
(as_func_return () {
(exit \$1)
}
@@ -243,7 +262,7 @@ IFS=$as_save_IFS
if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
emulate sh
NULLCMD=:
- # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
+ # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
# is contrary to our usage. Disable this feature.
alias -g '${1+"$@"}'='"$@"'
setopt NO_GLOB_SUBST
@@ -264,7 +283,7 @@ _ASEOF
if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
emulate sh
NULLCMD=:
- # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
+ # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
# is contrary to our usage. Disable this feature.
alias -g '${1+"$@"}'='"$@"'
setopt NO_GLOB_SUBST
@@ -344,10 +363,10 @@ fi
if test "x$CONFIG_SHELL" != x; then
for as_var in BASH_ENV ENV
- do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
- done
- export CONFIG_SHELL
- exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"}
+ do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
+ done
+ export CONFIG_SHELL
+ exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"}
fi
@@ -416,9 +435,10 @@ fi
test \$exitcode = 0") || {
echo No shell found that supports shell functions.
- echo Please tell autoconf@gnu.org about your system,
- echo including any error possibly output before this
- echo message
+ echo Please tell bug-autoconf@gnu.org about your system,
+ echo including any error possibly output before this message.
+ echo This can help us improve future autoconf versions.
+ echo Configuration will now proceed without shell functions.
}
@@ -454,7 +474,7 @@ test \$exitcode = 0") || {
s/-\n.*//
' >$as_me.lineno &&
chmod +x "$as_me.lineno" ||
- { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2
+ { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2
{ (exit 1); exit 1; }; }
# Don't try to exec as it changes $[0], causing all sort of problems
@@ -482,7 +502,6 @@ case `echo -n x` in
*)
ECHO_N='-n';;
esac
-
if expr a : '\(a\)' >/dev/null 2>&1 &&
test "X`expr 00001 : '.*\(...\)'`" = X001; then
as_expr=expr
@@ -495,19 +514,22 @@ if test -d conf$$.dir; then
rm -f conf$$.dir/conf$$.file
else
rm -f conf$$.dir
- mkdir conf$$.dir
-fi
-echo >conf$$.file
-if ln -s conf$$.file conf$$ 2>/dev/null; then
- as_ln_s='ln -s'
- # ... but there are two gotchas:
- # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
- # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
- # In both cases, we have to default to `cp -p'.
- ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
+ mkdir conf$$.dir 2>/dev/null
+fi
+if (echo >conf$$.file) 2>/dev/null; then
+ if ln -s conf$$.file conf$$ 2>/dev/null; then
+ as_ln_s='ln -s'
+ # ... but there are two gotchas:
+ # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
+ # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
+ # In both cases, we have to default to `cp -p'.
+ ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
+ as_ln_s='cp -p'
+ elif ln conf$$.file conf$$ 2>/dev/null; then
+ as_ln_s=ln
+ else
as_ln_s='cp -p'
-elif ln conf$$.file conf$$ 2>/dev/null; then
- as_ln_s=ln
+ fi
else
as_ln_s='cp -p'
fi
@@ -532,10 +554,10 @@ else
as_test_x='
eval sh -c '\''
if test -d "$1"; then
- test -d "$1/.";
+ test -d "$1/.";
else
case $1 in
- -*)set "./$1";;
+ -*)set "./$1";;
esac;
case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in
???[sx]*):;;*)false;;esac;fi
@@ -556,22 +578,22 @@ as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
# Check that we are running under the correct shell.
SHELL=${CONFIG_SHELL-/bin/sh}
-case X$ECHO in
+case X$lt_ECHO in
X*--fallback-echo)
# Remove one level of quotation (which was required for Make).
- ECHO=`echo "$ECHO" | sed 's,\\\\\$\\$0,'$0','`
+ ECHO=`echo "$lt_ECHO" | sed 's,\\\\\$\\$0,'$0','`
;;
esac
-echo=${ECHO-echo}
+ECHO=${lt_ECHO-echo}
if test "X$1" = X--no-reexec; then
# Discard the --no-reexec flag, and continue.
shift
elif test "X$1" = X--fallback-echo; then
# Avoid inline document here, it may be left over
:
-elif test "X`($echo '\t') 2>/dev/null`" = 'X\t' ; then
- # Yippee, $echo works!
+elif test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' ; then
+ # Yippee, $ECHO works!
:
else
# Restart under the correct shell.
@@ -581,9 +603,9 @@ fi
if test "X$1" = X--fallback-echo; then
# used as fallback echo
shift
- cat <<EOF
+ cat <<_LT_EOF
$*
-EOF
+_LT_EOF
exit 0
fi
@@ -591,121 +613,116 @@ fi
# if CDPATH is set.
(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
-if test -z "$ECHO"; then
-if test "X${echo_test_string+set}" != Xset; then
-# find a string as large as possible, as long as the shell can cope with it
- for cmd in 'sed 50q "$0"' 'sed 20q "$0"' 'sed 10q "$0"' 'sed 2q "$0"' 'echo test'; do
- # expected sizes: less than 2Kb, 1Kb, 512 bytes, 16 bytes, ...
- if (echo_test_string=`eval $cmd`) 2>/dev/null &&
- echo_test_string=`eval $cmd` &&
- (test "X$echo_test_string" = "X$echo_test_string") 2>/dev/null
- then
- break
- fi
- done
-fi
+if test -z "$lt_ECHO"; then
+ if test "X${echo_test_string+set}" != Xset; then
+ # find a string as large as possible, as long as the shell can cope with it
+ for cmd in 'sed 50q "$0"' 'sed 20q "$0"' 'sed 10q "$0"' 'sed 2q "$0"' 'echo test'; do
+ # expected sizes: less than 2Kb, 1Kb, 512 bytes, 16 bytes, ...
+ if { echo_test_string=`eval $cmd`; } 2>/dev/null &&
+ { test "X$echo_test_string" = "X$echo_test_string"; } 2>/dev/null
+ then
+ break
+ fi
+ done
+ fi
-if test "X`($echo '\t') 2>/dev/null`" = 'X\t' &&
- echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` &&
- test "X$echo_testing_string" = "X$echo_test_string"; then
- :
-else
- # The Solaris, AIX, and Digital Unix default echo programs unquote
- # backslashes. This makes it impossible to quote backslashes using
- # echo "$something" | sed 's/\\/\\\\/g'
- #
- # So, first we look for a working echo in the user's PATH.
+ if test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' &&
+ echo_testing_string=`{ $ECHO "$echo_test_string"; } 2>/dev/null` &&
+ test "X$echo_testing_string" = "X$echo_test_string"; then
+ :
+ else
+ # The Solaris, AIX, and Digital Unix default echo programs unquote
+ # backslashes. This makes it impossible to quote backslashes using
+ # echo "$something" | sed 's/\\/\\\\/g'
+ #
+ # So, first we look for a working echo in the user's PATH.
- lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
- for dir in $PATH /usr/ucb; do
+ lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
+ for dir in $PATH /usr/ucb; do
+ IFS="$lt_save_ifs"
+ if (test -f $dir/echo || test -f $dir/echo$ac_exeext) &&
+ test "X`($dir/echo '\t') 2>/dev/null`" = 'X\t' &&
+ echo_testing_string=`($dir/echo "$echo_test_string") 2>/dev/null` &&
+ test "X$echo_testing_string" = "X$echo_test_string"; then
+ ECHO="$dir/echo"
+ break
+ fi
+ done
IFS="$lt_save_ifs"
- if (test -f $dir/echo || test -f $dir/echo$ac_exeext) &&
- test "X`($dir/echo '\t') 2>/dev/null`" = 'X\t' &&
- echo_testing_string=`($dir/echo "$echo_test_string") 2>/dev/null` &&
- test "X$echo_testing_string" = "X$echo_test_string"; then
- echo="$dir/echo"
- break
- fi
- done
- IFS="$lt_save_ifs"
- if test "X$echo" = Xecho; then
- # We didn't find a better echo, so look for alternatives.
- if test "X`(print -r '\t') 2>/dev/null`" = 'X\t' &&
- echo_testing_string=`(print -r "$echo_test_string") 2>/dev/null` &&
- test "X$echo_testing_string" = "X$echo_test_string"; then
- # This shell has a builtin print -r that does the trick.
- echo='print -r'
- elif (test -f /bin/ksh || test -f /bin/ksh$ac_exeext) &&
- test "X$CONFIG_SHELL" != X/bin/ksh; then
- # If we have ksh, try running configure again with it.
- ORIGINAL_CONFIG_SHELL=${CONFIG_SHELL-/bin/sh}
- export ORIGINAL_CONFIG_SHELL
- CONFIG_SHELL=/bin/ksh
- export CONFIG_SHELL
- exec $CONFIG_SHELL "$0" --no-reexec ${1+"$@"}
- else
- # Try using printf.
- echo='printf %s\n'
- if test "X`($echo '\t') 2>/dev/null`" = 'X\t' &&
- echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` &&
- test "X$echo_testing_string" = "X$echo_test_string"; then
- # Cool, printf works
- :
- elif echo_testing_string=`($ORIGINAL_CONFIG_SHELL "$0" --fallback-echo '\t') 2>/dev/null` &&
- test "X$echo_testing_string" = 'X\t' &&
- echo_testing_string=`($ORIGINAL_CONFIG_SHELL "$0" --fallback-echo "$echo_test_string") 2>/dev/null` &&
- test "X$echo_testing_string" = "X$echo_test_string"; then
- CONFIG_SHELL=$ORIGINAL_CONFIG_SHELL
- export CONFIG_SHELL
- SHELL="$CONFIG_SHELL"
- export SHELL
- echo="$CONFIG_SHELL $0 --fallback-echo"
- elif echo_testing_string=`($CONFIG_SHELL "$0" --fallback-echo '\t') 2>/dev/null` &&
- test "X$echo_testing_string" = 'X\t' &&
- echo_testing_string=`($CONFIG_SHELL "$0" --fallback-echo "$echo_test_string") 2>/dev/null` &&
- test "X$echo_testing_string" = "X$echo_test_string"; then
- echo="$CONFIG_SHELL $0 --fallback-echo"
+ if test "X$ECHO" = Xecho; then
+ # We didn't find a better echo, so look for alternatives.
+ if test "X`{ print -r '\t'; } 2>/dev/null`" = 'X\t' &&
+ echo_testing_string=`{ print -r "$echo_test_string"; } 2>/dev/null` &&
+ test "X$echo_testing_string" = "X$echo_test_string"; then
+ # This shell has a builtin print -r that does the trick.
+ ECHO='print -r'
+ elif { test -f /bin/ksh || test -f /bin/ksh$ac_exeext; } &&
+ test "X$CONFIG_SHELL" != X/bin/ksh; then
+ # If we have ksh, try running configure again with it.
+ ORIGINAL_CONFIG_SHELL=${CONFIG_SHELL-/bin/sh}
+ export ORIGINAL_CONFIG_SHELL
+ CONFIG_SHELL=/bin/ksh
+ export CONFIG_SHELL
+ exec $CONFIG_SHELL "$0" --no-reexec ${1+"$@"}
else
- # maybe with a smaller string...
- prev=:
+ # Try using printf.
+ ECHO='printf %s\n'
+ if test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' &&
+ echo_testing_string=`{ $ECHO "$echo_test_string"; } 2>/dev/null` &&
+ test "X$echo_testing_string" = "X$echo_test_string"; then
+ # Cool, printf works
+ :
+ elif echo_testing_string=`($ORIGINAL_CONFIG_SHELL "$0" --fallback-echo '\t') 2>/dev/null` &&
+ test "X$echo_testing_string" = 'X\t' &&
+ echo_testing_string=`($ORIGINAL_CONFIG_SHELL "$0" --fallback-echo "$echo_test_string") 2>/dev/null` &&
+ test "X$echo_testing_string" = "X$echo_test_string"; then
+ CONFIG_SHELL=$ORIGINAL_CONFIG_SHELL
+ export CONFIG_SHELL
+ SHELL="$CONFIG_SHELL"
+ export SHELL
+ ECHO="$CONFIG_SHELL $0 --fallback-echo"
+ elif echo_testing_string=`($CONFIG_SHELL "$0" --fallback-echo '\t') 2>/dev/null` &&
+ test "X$echo_testing_string" = 'X\t' &&
+ echo_testing_string=`($CONFIG_SHELL "$0" --fallback-echo "$echo_test_string") 2>/dev/null` &&
+ test "X$echo_testing_string" = "X$echo_test_string"; then
+ ECHO="$CONFIG_SHELL $0 --fallback-echo"
+ else
+ # maybe with a smaller string...
+ prev=:
- for cmd in 'echo test' 'sed 2q "$0"' 'sed 10q "$0"' 'sed 20q "$0"' 'sed 50q "$0"'; do
- if (test "X$echo_test_string" = "X`eval $cmd`") 2>/dev/null
- then
- break
- fi
- prev="$cmd"
- done
+ for cmd in 'echo test' 'sed 2q "$0"' 'sed 10q "$0"' 'sed 20q "$0"' 'sed 50q "$0"'; do
+ if { test "X$echo_test_string" = "X`eval $cmd`"; } 2>/dev/null
+ then
+ break
+ fi
+ prev="$cmd"
+ done
- if test "$prev" != 'sed 50q "$0"'; then
- echo_test_string=`eval $prev`
- export echo_test_string
- exec ${ORIGINAL_CONFIG_SHELL-${CONFIG_SHELL-/bin/sh}} "$0" ${1+"$@"}
- else
- # Oops. We lost completely, so just stick with echo.
- echo=echo
- fi
+ if test "$prev" != 'sed 50q "$0"'; then
+ echo_test_string=`eval $prev`
+ export echo_test_string
+ exec ${ORIGINAL_CONFIG_SHELL-${CONFIG_SHELL-/bin/sh}} "$0" ${1+"$@"}
+ else
+ # Oops. We lost completely, so just stick with echo.
+ ECHO=echo
+ fi
+ fi
fi
fi
fi
fi
-fi
# Copy echo and quote the copy suitably for passing to libtool from
# the Makefile, instead of quoting the original, which is used later.
-ECHO=$echo
-if test "X$ECHO" = "X$CONFIG_SHELL $0 --fallback-echo"; then
- ECHO="$CONFIG_SHELL \\\$\$0 --fallback-echo"
+lt_ECHO=$ECHO
+if test "X$lt_ECHO" = "X$CONFIG_SHELL $0 --fallback-echo"; then
+ lt_ECHO="$CONFIG_SHELL \\\$\$0 --fallback-echo"
fi
-tagnames=${tagnames+${tagnames},}CXX
-
-tagnames=${tagnames+${tagnames},}F77
-
exec 7<&0 </dev/null 6>&1
# Name of the host.
@@ -729,8 +746,8 @@ SHELL=${CONFIG_SHELL-/bin/sh}
# Identity of this package.
PACKAGE_NAME='sword'
PACKAGE_TARNAME='sword'
-PACKAGE_VERSION='1.5.11'
-PACKAGE_STRING='sword 1.5.11'
+PACKAGE_VERSION='1.6.0'
+PACKAGE_STRING='sword 1.6.0'
PACKAGE_BUGREPORT='sword-bugs@crosswire.org'
ac_unique_file="sword.bmp"
@@ -770,182 +787,215 @@ ac_includes_default="\
# include <unistd.h>
#endif"
-ac_subst_vars='SHELL
-PATH_SEPARATOR
-PACKAGE_NAME
-PACKAGE_TARNAME
-PACKAGE_VERSION
-PACKAGE_STRING
-PACKAGE_BUGREPORT
-exec_prefix
-prefix
-program_transform_name
-bindir
-sbindir
-libexecdir
-datarootdir
-datadir
-sysconfdir
-sharedstatedir
-localstatedir
-includedir
-oldincludedir
-docdir
-infodir
-htmldir
-dvidir
-pdfdir
-psdir
-libdir
-localedir
-mandir
-DEFS
-ECHO_C
-ECHO_N
-ECHO_T
-LIBS
-build_alias
-host_alias
-target_alias
-build
-build_cpu
-build_vendor
-build_os
-host
-host_cpu
-host_vendor
-host_os
-target
-target_cpu
-target_vendor
-target_os
-INSTALL_PROGRAM
-INSTALL_SCRIPT
-INSTALL_DATA
-am__isrc
-CYGPATH_W
-PACKAGE
-VERSION
-ACLOCAL
-AUTOCONF
-AUTOMAKE
-AUTOHEADER
-MAKEINFO
-install_sh
-STRIP
-INSTALL_STRIP_PROGRAM
-mkdir_p
-AWK
-SET_MAKE
-am__leading_dot
-AMTAR
-am__tar
-am__untar
-CC
-CFLAGS
-LDFLAGS
-CPPFLAGS
-ac_ct_CC
-EXEEXT
-OBJEXT
-DEPDIR
-am__include
-am__quote
-AMDEP_TRUE
-AMDEP_FALSE
-AMDEPBACKSLASH
-CCDEPMODE
-am__fastdepCC_TRUE
-am__fastdepCC_FALSE
-CXX
-CXXFLAGS
-ac_ct_CXX
-CXXDEPMODE
-am__fastdepCXX_TRUE
-am__fastdepCXX_FALSE
-SED
-GREP
-EGREP
-LN_S
-ECHO
-AR
+ac_subst_vars='LTLIBOBJS
+LIBOBJS
+BUILDEXAMPLES_FALSE
+BUILDEXAMPLES_TRUE
+BUILDUTILS_FALSE
+BUILDUTILS_TRUE
+BUILDTESTS_FALSE
+BUILDTESTS_TRUE
+USE_PKGCONF_FALSE
+USE_PKGCONF_TRUE
+CONFDEF_FALSE
+CONFDEF_TRUE
+INTERNALFTPLIB_FALSE
+INTERNALFTPLIB_TRUE
+WITHCURL_FALSE
+WITHCURL_TRUE
+INSTALLMGR_FALSE
+INSTALLMGR_TRUE
+INSTCONF_FALSE
+INSTCONF_TRUE
+SHAREDLIB_FALSE
+SHAREDLIB_TRUE
+ZLIB_FALSE
+ZLIB_TRUE
+ICUSWORD_FALSE
+ICUSWORD_TRUE
+USELUCENE_FALSE
+USELUCENE_TRUE
+ICU_FALSE
+ICU_TRUE
+MINGW_FALSE
+MINGW_TRUE
+HAVE_VSNPRINTF_FALSE
+HAVE_VSNPRINTF_TRUE
+target_mingw32
+target_system
+AM_CXXFLAGS
+enable_profile
+enable_debug
+XML_LIBS
+ICU_VER
+ICU_IOLIBS
+ICU_LIBS
+CURL_LIBS
+CURL_AM_CFLAGS
+dir_confdef
+with_conf
+with_icu
+with_zlib
+CURL_CONFIG
+ICU_CONFIG
+GENRB
+GENCMN
+GENCCODE
+PKGDATA
+PKG_CONFIG
+HAVE_CPPUNIT_FALSE
+HAVE_CPPUNIT_TRUE
+CPPUNIT_LIBS
+CPPUNIT_CFLAGS
+CPPUNIT_CONFIG
+MAINT
+MAINTAINER_MODE_FALSE
+MAINTAINER_MODE_TRUE
+CLUCENE_CXXFLAGS
+CLUCENE_LIBS
+CXXCPP
+CPP
+OTOOL64
+OTOOL
+LIPO
+NMEDIT
+DSYMUTIL
+lt_ECHO
RANLIB
+AR
+LN_S
+NM
+ac_ct_DUMPBIN
+DUMPBIN
+LD
+FGREP
+EGREP
+GREP
+SED
+LIBTOOL
+OBJDUMP
DLLTOOL
AS
-OBJDUMP
-CPP
-CXXCPP
-F77
-FFLAGS
-ac_ct_F77
-LIBTOOL
-CLUCENE_LIBS
-CLUCENE_CXXFLAGS
-MAINTAINER_MODE_TRUE
-MAINTAINER_MODE_FALSE
-MAINT
-CPPUNIT_CONFIG
-CPPUNIT_CFLAGS
-CPPUNIT_LIBS
-HAVE_CPPUNIT_TRUE
-HAVE_CPPUNIT_FALSE
-PKG_CONFIG
-PKGDATA
-GENCCODE
-GENCMN
-GENRB
-ICU_CONFIG
-CURL_CONFIG
+am__fastdepCXX_FALSE
+am__fastdepCXX_TRUE
+CXXDEPMODE
+ac_ct_CXX
+CXXFLAGS
+CXX
+am__fastdepCC_FALSE
+am__fastdepCC_TRUE
+CCDEPMODE
+AMDEPBACKSLASH
+AMDEP_FALSE
+AMDEP_TRUE
+am__quote
+am__include
+DEPDIR
+OBJEXT
+EXEEXT
+ac_ct_CC
+CPPFLAGS
+LDFLAGS
+CFLAGS
+CC
+am__untar
+am__tar
+AMTAR
+am__leading_dot
+SET_MAKE
+AWK
+mkdir_p
+MKDIR_P
+INSTALL_STRIP_PROGRAM
+STRIP
+install_sh
+MAKEINFO
+AUTOHEADER
+AUTOMAKE
+AUTOCONF
+ACLOCAL
+VERSION
+PACKAGE
+CYGPATH_W
+am__isrc
+INSTALL_DATA
+INSTALL_SCRIPT
+INSTALL_PROGRAM
+target_os
+target_vendor
+target_cpu
+target
+host_os
+host_vendor
+host_cpu
+host
+build_os
+build_vendor
+build_cpu
+build
+target_alias
+host_alias
+build_alias
+LIBS
+ECHO_T
+ECHO_N
+ECHO_C
+DEFS
+mandir
+localedir
+libdir
+psdir
+pdfdir
+dvidir
+htmldir
+infodir
+docdir
+oldincludedir
+includedir
+localstatedir
+sharedstatedir
+sysconfdir
+datadir
+datarootdir
+libexecdir
+sbindir
+bindir
+program_transform_name
+prefix
+exec_prefix
+PACKAGE_BUGREPORT
+PACKAGE_STRING
+PACKAGE_VERSION
+PACKAGE_TARNAME
+PACKAGE_NAME
+PATH_SEPARATOR
+SHELL'
+ac_subst_files=''
+ac_user_opts='
+enable_option_checking
+enable_dependency_tracking
+enable_shared
+enable_static
+with_pic
+enable_fast_install
+with_gnu_ld
+enable_libtool_lock
+with_clucene
with_zlib
with_icu
with_conf
-dir_confdef
-CURL_AM_CFLAGS
-CURL_LIBS
-ICU_LIBS
-ICU_IOLIBS
-ICU_VER
-XML_LIBS
+with_curl
enable_debug
+enable_warnings
enable_profile
-AM_CXXFLAGS
-target_system
-target_mingw32
-HAVE_VSNPRINTF_TRUE
-HAVE_VSNPRINTF_FALSE
-MINGW_TRUE
-MINGW_FALSE
-ICU_TRUE
-ICU_FALSE
-USELUCENE_TRUE
-USELUCENE_FALSE
-ICUSWORD_TRUE
-ICUSWORD_FALSE
-ZLIB_TRUE
-ZLIB_FALSE
-SHAREDLIB_TRUE
-SHAREDLIB_FALSE
-INSTCONF_TRUE
-INSTCONF_FALSE
-INSTALLMGR_TRUE
-INSTALLMGR_FALSE
-WITHCURL_TRUE
-WITHCURL_FALSE
-INTERNALFTPLIB_TRUE
-INTERNALFTPLIB_FALSE
-CONFDEF_TRUE
-CONFDEF_FALSE
-USE_PKGCONF_TRUE
-USE_PKGCONF_FALSE
-BUILDTESTS_TRUE
-BUILDTESTS_FALSE
-BUILDUTILS_TRUE
-BUILDUTILS_FALSE
-BUILDEXAMPLES_TRUE
-BUILDEXAMPLES_FALSE
-LIBOBJS
-LTLIBOBJS'
-ac_subst_files=''
+enable_profilefn
+enable_tests
+enable_utilities
+enable_examples
+enable_maintainer_mode
+with_cppunit_prefix
+with_cppunit_exec_prefix
+'
ac_precious_vars='build_alias
host_alias
target_alias
@@ -958,14 +1008,14 @@ CXX
CXXFLAGS
CCC
CPP
-CXXCPP
-F77
-FFLAGS'
+CXXCPP'
# Initialize some variables set by options.
ac_init_help=
ac_init_version=false
+ac_unrecognized_opts=
+ac_unrecognized_sep=
# The variables have the same names as the options, with
# dashes changed to underlines.
cache_file=/dev/null
@@ -1064,13 +1114,21 @@ do
datarootdir=$ac_optarg ;;
-disable-* | --disable-*)
- ac_feature=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
+ ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
# Reject names that are not valid shell variable names.
- expr "x$ac_feature" : ".*[^-._$as_cr_alnum]" >/dev/null &&
- { echo "$as_me: error: invalid feature name: $ac_feature" >&2
+ expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
+ { $as_echo "$as_me: error: invalid feature name: $ac_useropt" >&2
{ (exit 1); exit 1; }; }
- ac_feature=`echo $ac_feature | sed 's/[-.]/_/g'`
- eval enable_$ac_feature=no ;;
+ ac_useropt_orig=$ac_useropt
+ ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
+ case $ac_user_opts in
+ *"
+"enable_$ac_useropt"
+"*) ;;
+ *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--disable-$ac_useropt_orig"
+ ac_unrecognized_sep=', ';;
+ esac
+ eval enable_$ac_useropt=no ;;
-docdir | --docdir | --docdi | --doc | --do)
ac_prev=docdir ;;
@@ -1083,13 +1141,21 @@ do
dvidir=$ac_optarg ;;
-enable-* | --enable-*)
- ac_feature=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
+ ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
# Reject names that are not valid shell variable names.
- expr "x$ac_feature" : ".*[^-._$as_cr_alnum]" >/dev/null &&
- { echo "$as_me: error: invalid feature name: $ac_feature" >&2
+ expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
+ { $as_echo "$as_me: error: invalid feature name: $ac_useropt" >&2
{ (exit 1); exit 1; }; }
- ac_feature=`echo $ac_feature | sed 's/[-.]/_/g'`
- eval enable_$ac_feature=\$ac_optarg ;;
+ ac_useropt_orig=$ac_useropt
+ ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
+ case $ac_user_opts in
+ *"
+"enable_$ac_useropt"
+"*) ;;
+ *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--enable-$ac_useropt_orig"
+ ac_unrecognized_sep=', ';;
+ esac
+ eval enable_$ac_useropt=\$ac_optarg ;;
-exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
| --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
@@ -1280,22 +1346,38 @@ do
ac_init_version=: ;;
-with-* | --with-*)
- ac_package=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
+ ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
# Reject names that are not valid shell variable names.
- expr "x$ac_package" : ".*[^-._$as_cr_alnum]" >/dev/null &&
- { echo "$as_me: error: invalid package name: $ac_package" >&2
+ expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
+ { $as_echo "$as_me: error: invalid package name: $ac_useropt" >&2
{ (exit 1); exit 1; }; }
- ac_package=`echo $ac_package | sed 's/[-.]/_/g'`
- eval with_$ac_package=\$ac_optarg ;;
+ ac_useropt_orig=$ac_useropt
+ ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
+ case $ac_user_opts in
+ *"
+"with_$ac_useropt"
+"*) ;;
+ *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--with-$ac_useropt_orig"
+ ac_unrecognized_sep=', ';;
+ esac
+ eval with_$ac_useropt=\$ac_optarg ;;
-without-* | --without-*)
- ac_package=`expr "x$ac_option" : 'x-*without-\(.*\)'`
+ ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'`
# Reject names that are not valid shell variable names.
- expr "x$ac_package" : ".*[^-._$as_cr_alnum]" >/dev/null &&
- { echo "$as_me: error: invalid package name: $ac_package" >&2
+ expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
+ { $as_echo "$as_me: error: invalid package name: $ac_useropt" >&2
{ (exit 1); exit 1; }; }
- ac_package=`echo $ac_package | sed 's/[-.]/_/g'`
- eval with_$ac_package=no ;;
+ ac_useropt_orig=$ac_useropt
+ ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
+ case $ac_user_opts in
+ *"
+"with_$ac_useropt"
+"*) ;;
+ *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--without-$ac_useropt_orig"
+ ac_unrecognized_sep=', ';;
+ esac
+ eval with_$ac_useropt=no ;;
--x)
# Obsolete; use --with-x.
@@ -1315,7 +1397,7 @@ do
| --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
x_libraries=$ac_optarg ;;
- -*) { echo "$as_me: error: unrecognized option: $ac_option
+ -*) { $as_echo "$as_me: error: unrecognized option: $ac_option
Try \`$0 --help' for more information." >&2
{ (exit 1); exit 1; }; }
;;
@@ -1324,16 +1406,16 @@ Try \`$0 --help' for more information." >&2
ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='`
# Reject names that are not valid shell variable names.
expr "x$ac_envvar" : ".*[^_$as_cr_alnum]" >/dev/null &&
- { echo "$as_me: error: invalid variable name: $ac_envvar" >&2
+ { $as_echo "$as_me: error: invalid variable name: $ac_envvar" >&2
{ (exit 1); exit 1; }; }
eval $ac_envvar=\$ac_optarg
export $ac_envvar ;;
*)
# FIXME: should be removed in autoconf 3.0.
- echo "$as_me: WARNING: you should use --build, --host, --target" >&2
+ $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2
expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null &&
- echo "$as_me: WARNING: invalid host type: $ac_option" >&2
+ $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2
: ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}
;;
@@ -1342,22 +1424,38 @@ done
if test -n "$ac_prev"; then
ac_option=--`echo $ac_prev | sed 's/_/-/g'`
- { echo "$as_me: error: missing argument to $ac_option" >&2
+ { $as_echo "$as_me: error: missing argument to $ac_option" >&2
{ (exit 1); exit 1; }; }
fi
-# Be sure to have absolute directory names.
+if test -n "$ac_unrecognized_opts"; then
+ case $enable_option_checking in
+ no) ;;
+ fatal) { $as_echo "$as_me: error: unrecognized options: $ac_unrecognized_opts" >&2
+ { (exit 1); exit 1; }; } ;;
+ *) $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;;
+ esac
+fi
+
+# Check all directory arguments for consistency.
for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \
datadir sysconfdir sharedstatedir localstatedir includedir \
oldincludedir docdir infodir htmldir dvidir pdfdir psdir \
libdir localedir mandir
do
eval ac_val=\$$ac_var
+ # Remove trailing slashes.
+ case $ac_val in
+ */ )
+ ac_val=`expr "X$ac_val" : 'X\(.*[^/]\)' \| "X$ac_val" : 'X\(.*\)'`
+ eval $ac_var=\$ac_val;;
+ esac
+ # Be sure to have absolute directory names.
case $ac_val in
[\\/$]* | ?:[\\/]* ) continue;;
NONE | '' ) case $ac_var in *prefix ) continue;; esac;;
esac
- { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2
+ { $as_echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2
{ (exit 1); exit 1; }; }
done
@@ -1372,7 +1470,7 @@ target=$target_alias
if test "x$host_alias" != x; then
if test "x$build_alias" = x; then
cross_compiling=maybe
- echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host.
+ $as_echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host.
If a cross compiler is detected then cross compile mode will be used." >&2
elif test "x$build_alias" != "x$host_alias"; then
cross_compiling=yes
@@ -1388,10 +1486,10 @@ test "$silent" = yes && exec 6>/dev/null
ac_pwd=`pwd` && test -n "$ac_pwd" &&
ac_ls_di=`ls -di .` &&
ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` ||
- { echo "$as_me: error: Working directory cannot be determined" >&2
+ { $as_echo "$as_me: error: working directory cannot be determined" >&2
{ (exit 1); exit 1; }; }
test "X$ac_ls_di" = "X$ac_pwd_ls_di" ||
- { echo "$as_me: error: pwd does not report name of working directory" >&2
+ { $as_echo "$as_me: error: pwd does not report name of working directory" >&2
{ (exit 1); exit 1; }; }
@@ -1399,12 +1497,12 @@ test "X$ac_ls_di" = "X$ac_pwd_ls_di" ||
if test -z "$srcdir"; then
ac_srcdir_defaulted=yes
# Try the directory containing this script, then the parent directory.
- ac_confdir=`$as_dirname -- "$0" ||
-$as_expr X"$0" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$0" : 'X\(//\)[^/]' \| \
- X"$0" : 'X\(//\)$' \| \
- X"$0" : 'X\(/\)' \| . 2>/dev/null ||
-echo X"$0" |
+ ac_confdir=`$as_dirname -- "$as_myself" ||
+$as_expr X"$as_myself" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+ X"$as_myself" : 'X\(//\)[^/]' \| \
+ X"$as_myself" : 'X\(//\)$' \| \
+ X"$as_myself" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X"$as_myself" |
sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
s//\1/
q
@@ -1431,12 +1529,12 @@ else
fi
if test ! -r "$srcdir/$ac_unique_file"; then
test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .."
- { echo "$as_me: error: cannot find sources ($ac_unique_file) in $srcdir" >&2
+ { $as_echo "$as_me: error: cannot find sources ($ac_unique_file) in $srcdir" >&2
{ (exit 1); exit 1; }; }
fi
ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work"
ac_abs_confdir=`(
- cd "$srcdir" && test -r "./$ac_unique_file" || { echo "$as_me: error: $ac_msg" >&2
+ cd "$srcdir" && test -r "./$ac_unique_file" || { $as_echo "$as_me: error: $ac_msg" >&2
{ (exit 1); exit 1; }; }
pwd)`
# When building in place, set srcdir=.
@@ -1463,7 +1561,7 @@ if test "$ac_init_help" = "long"; then
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
-\`configure' configures sword 1.5.11 to adapt to many kinds of systems.
+\`configure' configures sword 1.6.0 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1485,9 +1583,9 @@ Configuration:
Installation directories:
--prefix=PREFIX install architecture-independent files in PREFIX
- [$ac_default_prefix]
+ [$ac_default_prefix]
--exec-prefix=EPREFIX install architecture-dependent files in EPREFIX
- [PREFIX]
+ [PREFIX]
By default, \`make install' will install all the files in
\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify
@@ -1497,25 +1595,25 @@ for instance \`--prefix=\$HOME'.
For better control, use the options below.
Fine tuning of the installation directories:
- --bindir=DIR user executables [EPREFIX/bin]
- --sbindir=DIR system admin executables [EPREFIX/sbin]
- --libexecdir=DIR program executables [EPREFIX/libexec]
- --sysconfdir=DIR read-only single-machine data [PREFIX/etc]
- --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com]
- --localstatedir=DIR modifiable single-machine data [PREFIX/var]
- --libdir=DIR object code libraries [EPREFIX/lib]
- --includedir=DIR C header files [PREFIX/include]
- --oldincludedir=DIR C header files for non-gcc [/usr/include]
- --datarootdir=DIR read-only arch.-independent data root [PREFIX/share]
- --datadir=DIR read-only architecture-independent data [DATAROOTDIR]
- --infodir=DIR info documentation [DATAROOTDIR/info]
- --localedir=DIR locale-dependent data [DATAROOTDIR/locale]
- --mandir=DIR man documentation [DATAROOTDIR/man]
- --docdir=DIR documentation root [DATAROOTDIR/doc/sword]
- --htmldir=DIR html documentation [DOCDIR]
- --dvidir=DIR dvi documentation [DOCDIR]
- --pdfdir=DIR pdf documentation [DOCDIR]
- --psdir=DIR ps documentation [DOCDIR]
+ --bindir=DIR user executables [EPREFIX/bin]
+ --sbindir=DIR system admin executables [EPREFIX/sbin]
+ --libexecdir=DIR program executables [EPREFIX/libexec]
+ --sysconfdir=DIR read-only single-machine data [PREFIX/etc]
+ --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com]
+ --localstatedir=DIR modifiable single-machine data [PREFIX/var]
+ --libdir=DIR object code libraries [EPREFIX/lib]
+ --includedir=DIR C header files [PREFIX/include]
+ --oldincludedir=DIR C header files for non-gcc [/usr/include]
+ --datarootdir=DIR read-only arch.-independent data root [PREFIX/share]
+ --datadir=DIR read-only architecture-independent data [DATAROOTDIR]
+ --infodir=DIR info documentation [DATAROOTDIR/info]
+ --localedir=DIR locale-dependent data [DATAROOTDIR/locale]
+ --mandir=DIR man documentation [DATAROOTDIR/man]
+ --docdir=DIR documentation root [DATAROOTDIR/doc/sword]
+ --htmldir=DIR html documentation [DOCDIR]
+ --dvidir=DIR dvi documentation [DOCDIR]
+ --pdfdir=DIR pdf documentation [DOCDIR]
+ --psdir=DIR ps documentation [DOCDIR]
_ACEOF
cat <<\_ACEOF
@@ -1534,11 +1632,12 @@ fi
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of sword 1.5.11:";;
+ short | recursive ) echo "Configuration of sword 1.6.0:";;
esac
cat <<\_ACEOF
Optional Features:
+ --disable-option-checking ignore unrecognized --enable/--with options
--disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)
--enable-FEATURE[=ARG] include FEATURE [ARG=yes]
--disable-dependency-tracking speeds up one-time build
@@ -1561,10 +1660,9 @@ Optional Features:
Optional Packages:
--with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
--without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
- --with-gnu-ld assume the C compiler uses GNU ld [default=no]
--with-pic try to use only PIC/non-PIC objects [default=use
both]
- --with-tags[=TAGS] include additional configurations [automatic]
+ --with-gnu-ld assume the C compiler uses GNU ld [default=no]
--with-clucene=<path> prefix of CLucene-Core installation. e.g. /usr/local
or /usr
--with-zlib allow zlib compressed modules (default=yes)
@@ -1587,8 +1685,6 @@ Some influential environment variables:
CXXFLAGS C++ compiler flags
CPP C preprocessor
CXXCPP C++ preprocessor
- F77 Fortran 77 compiler command
- FFLAGS Fortran 77 compiler flags
Use these variables to override the choices made by `configure' or to help
it to find libraries and programs with nonstandard names/locations.
@@ -1601,15 +1697,17 @@ fi
if test "$ac_init_help" = "recursive"; then
# If there are subdirs, report their specific --help.
for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue
- test -d "$ac_dir" || continue
+ test -d "$ac_dir" ||
+ { cd "$srcdir" && ac_pwd=`pwd` && srcdir=. && test -d "$ac_dir"; } ||
+ continue
ac_builddir=.
case "$ac_dir" in
.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
*)
- ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'`
+ ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'`
# A ".." for each directory in $ac_dir_suffix.
- ac_top_builddir_sub=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,/..,g;s,/,,'`
+ ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`
case $ac_top_builddir_sub in
"") ac_top_builddir_sub=. ac_top_build_prefix= ;;
*) ac_top_build_prefix=$ac_top_builddir_sub/ ;;
@@ -1645,7 +1743,7 @@ ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
echo &&
$SHELL "$ac_srcdir/configure" --help=recursive
else
- echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2
+ $as_echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2
fi || ac_status=$?
cd "$ac_pwd" || { ac_status=$?; break; }
done
@@ -1654,11 +1752,11 @@ fi
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-sword configure 1.5.11
-generated by GNU Autoconf 2.61
+sword configure 1.6.0
+generated by GNU Autoconf 2.63
Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
-2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
+2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
This configure script is free software; the Free Software Foundation
gives unlimited permission to copy, distribute and modify it.
_ACEOF
@@ -1668,8 +1766,8 @@ cat >config.log <<_ACEOF
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
-It was created by sword $as_me 1.5.11, which was
-generated by GNU Autoconf 2.61. Invocation command line was
+It was created by sword $as_me 1.6.0, which was
+generated by GNU Autoconf 2.63. Invocation command line was
$ $0 $@
@@ -1705,7 +1803,7 @@ for as_dir in $PATH
do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
- echo "PATH: $as_dir"
+ $as_echo "PATH: $as_dir"
done
IFS=$as_save_IFS
@@ -1740,7 +1838,7 @@ do
| -silent | --silent | --silen | --sile | --sil)
continue ;;
*\'*)
- ac_arg=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
+ ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
esac
case $ac_pass in
1) ac_configure_args0="$ac_configure_args0 '$ac_arg'" ;;
@@ -1792,11 +1890,12 @@ _ASBOX
case $ac_val in #(
*${as_nl}*)
case $ac_var in #(
- *_cv_*) { echo "$as_me:$LINENO: WARNING: Cache variable $ac_var contains a newline." >&5
-echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;;
+ *_cv_*) { $as_echo "$as_me:$LINENO: WARNING: cache variable $ac_var contains a newline" >&5
+$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
esac
case $ac_var in #(
_ | IFS | as_nl) ;; #(
+ BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #(
*) $as_unset $ac_var ;;
esac ;;
esac
@@ -1826,9 +1925,9 @@ _ASBOX
do
eval ac_val=\$$ac_var
case $ac_val in
- *\'\''*) ac_val=`echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
+ *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
esac
- echo "$ac_var='\''$ac_val'\''"
+ $as_echo "$ac_var='\''$ac_val'\''"
done | sort
echo
@@ -1843,9 +1942,9 @@ _ASBOX
do
eval ac_val=\$$ac_var
case $ac_val in
- *\'\''*) ac_val=`echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
+ *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
esac
- echo "$ac_var='\''$ac_val'\''"
+ $as_echo "$ac_var='\''$ac_val'\''"
done | sort
echo
fi
@@ -1861,8 +1960,8 @@ _ASBOX
echo
fi
test "$ac_signal" != 0 &&
- echo "$as_me: caught signal $ac_signal"
- echo "$as_me: exit $exit_status"
+ $as_echo "$as_me: caught signal $ac_signal"
+ $as_echo "$as_me: exit $exit_status"
} >&5
rm -f core *.core core.conftest.* &&
rm -f -r conftest* confdefs* conf$$* $ac_clean_files &&
@@ -1904,21 +2003,24 @@ _ACEOF
# Let the site file select an alternate cache file if it wants to.
-# Prefer explicitly selected file to automatically selected ones.
+# Prefer an explicitly selected file to automatically selected ones.
+ac_site_file1=NONE
+ac_site_file2=NONE
if test -n "$CONFIG_SITE"; then
- set x "$CONFIG_SITE"
+ ac_site_file1=$CONFIG_SITE
elif test "x$prefix" != xNONE; then
- set x "$prefix/share/config.site" "$prefix/etc/config.site"
+ ac_site_file1=$prefix/share/config.site
+ ac_site_file2=$prefix/etc/config.site
else
- set x "$ac_default_prefix/share/config.site" \
- "$ac_default_prefix/etc/config.site"
+ ac_site_file1=$ac_default_prefix/share/config.site
+ ac_site_file2=$ac_default_prefix/etc/config.site
fi
-shift
-for ac_site_file
+for ac_site_file in "$ac_site_file1" "$ac_site_file2"
do
+ test "x$ac_site_file" = xNONE && continue
if test -r "$ac_site_file"; then
- { echo "$as_me:$LINENO: loading site script $ac_site_file" >&5
-echo "$as_me: loading site script $ac_site_file" >&6;}
+ { $as_echo "$as_me:$LINENO: loading site script $ac_site_file" >&5
+$as_echo "$as_me: loading site script $ac_site_file" >&6;}
sed 's/^/| /' "$ac_site_file" >&5
. "$ac_site_file"
fi
@@ -1928,16 +2030,16 @@ if test -r "$cache_file"; then
# Some versions of bash will fail to source /dev/null (special
# files actually), so we avoid doing that.
if test -f "$cache_file"; then
- { echo "$as_me:$LINENO: loading cache $cache_file" >&5
-echo "$as_me: loading cache $cache_file" >&6;}
+ { $as_echo "$as_me:$LINENO: loading cache $cache_file" >&5
+$as_echo "$as_me: loading cache $cache_file" >&6;}
case $cache_file in
[\\/]* | ?:[\\/]* ) . "$cache_file";;
*) . "./$cache_file";;
esac
fi
else
- { echo "$as_me:$LINENO: creating cache $cache_file" >&5
-echo "$as_me: creating cache $cache_file" >&6;}
+ { $as_echo "$as_me:$LINENO: creating cache $cache_file" >&5
+$as_echo "$as_me: creating cache $cache_file" >&6;}
>$cache_file
fi
@@ -1951,29 +2053,38 @@ for ac_var in $ac_precious_vars; do
eval ac_new_val=\$ac_env_${ac_var}_value
case $ac_old_set,$ac_new_set in
set,)
- { echo "$as_me:$LINENO: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5
-echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;}
+ { $as_echo "$as_me:$LINENO: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5
+$as_echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;}
ac_cache_corrupted=: ;;
,set)
- { echo "$as_me:$LINENO: error: \`$ac_var' was not set in the previous run" >&5
-echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;}
+ { $as_echo "$as_me:$LINENO: error: \`$ac_var' was not set in the previous run" >&5
+$as_echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;}
ac_cache_corrupted=: ;;
,);;
*)
if test "x$ac_old_val" != "x$ac_new_val"; then
- { echo "$as_me:$LINENO: error: \`$ac_var' has changed since the previous run:" >&5
-echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;}
- { echo "$as_me:$LINENO: former value: $ac_old_val" >&5
-echo "$as_me: former value: $ac_old_val" >&2;}
- { echo "$as_me:$LINENO: current value: $ac_new_val" >&5
-echo "$as_me: current value: $ac_new_val" >&2;}
- ac_cache_corrupted=:
+ # differences in whitespace do not lead to failure.
+ ac_old_val_w=`echo x $ac_old_val`
+ ac_new_val_w=`echo x $ac_new_val`
+ if test "$ac_old_val_w" != "$ac_new_val_w"; then
+ { $as_echo "$as_me:$LINENO: error: \`$ac_var' has changed since the previous run:" >&5
+$as_echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;}
+ ac_cache_corrupted=:
+ else
+ { $as_echo "$as_me:$LINENO: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5
+$as_echo "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;}
+ eval $ac_var=\$ac_old_val
+ fi
+ { $as_echo "$as_me:$LINENO: former value: \`$ac_old_val'" >&5
+$as_echo "$as_me: former value: \`$ac_old_val'" >&2;}
+ { $as_echo "$as_me:$LINENO: current value: \`$ac_new_val'" >&5
+$as_echo "$as_me: current value: \`$ac_new_val'" >&2;}
fi;;
esac
# Pass precious variables to config.status.
if test "$ac_new_set" = set; then
case $ac_new_val in
- *\'*) ac_arg=$ac_var=`echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;;
+ *\'*) ac_arg=$ac_var=`$as_echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;;
*) ac_arg=$ac_var=$ac_new_val ;;
esac
case " $ac_configure_args " in
@@ -1983,10 +2094,12 @@ echo "$as_me: current value: $ac_new_val" >&2;}
fi
done
if $ac_cache_corrupted; then
- { echo "$as_me:$LINENO: error: changes in the environment can compromise the build" >&5
-echo "$as_me: error: changes in the environment can compromise the build" >&2;}
- { { echo "$as_me:$LINENO: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&5
-echo "$as_me: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&2;}
+ { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+ { $as_echo "$as_me:$LINENO: error: changes in the environment can compromise the build" >&5
+$as_echo "$as_me: error: changes in the environment can compromise the build" >&2;}
+ { { $as_echo "$as_me:$LINENO: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&5
+$as_echo "$as_me: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&2;}
{ (exit 1); exit 1; }; }
fi
@@ -2042,8 +2155,8 @@ for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do
fi
done
if test -z "$ac_aux_dir"; then
- { { echo "$as_me:$LINENO: error: cannot find install-sh or install.sh in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" >&5
-echo "$as_me: error: cannot find install-sh or install.sh in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" >&2;}
+ { { $as_echo "$as_me:$LINENO: error: cannot find install-sh or install.sh in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" >&5
+$as_echo "$as_me: error: cannot find install-sh or install.sh in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" >&2;}
{ (exit 1); exit 1; }; }
fi
@@ -2058,34 +2171,34 @@ ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var.
# Make sure we can run config.sub.
$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 ||
- { { echo "$as_me:$LINENO: error: cannot run $SHELL $ac_aux_dir/config.sub" >&5
-echo "$as_me: error: cannot run $SHELL $ac_aux_dir/config.sub" >&2;}
+ { { $as_echo "$as_me:$LINENO: error: cannot run $SHELL $ac_aux_dir/config.sub" >&5
+$as_echo "$as_me: error: cannot run $SHELL $ac_aux_dir/config.sub" >&2;}
{ (exit 1); exit 1; }; }
-{ echo "$as_me:$LINENO: checking build system type" >&5
-echo $ECHO_N "checking build system type... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking build system type" >&5
+$as_echo_n "checking build system type... " >&6; }
if test "${ac_cv_build+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
ac_build_alias=$build_alias
test "x$ac_build_alias" = x &&
ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"`
test "x$ac_build_alias" = x &&
- { { echo "$as_me:$LINENO: error: cannot guess build type; you must specify one" >&5
-echo "$as_me: error: cannot guess build type; you must specify one" >&2;}
+ { { $as_echo "$as_me:$LINENO: error: cannot guess build type; you must specify one" >&5
+$as_echo "$as_me: error: cannot guess build type; you must specify one" >&2;}
{ (exit 1); exit 1; }; }
ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` ||
- { { echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $ac_build_alias failed" >&5
-echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $ac_build_alias failed" >&2;}
+ { { $as_echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $ac_build_alias failed" >&5
+$as_echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $ac_build_alias failed" >&2;}
{ (exit 1); exit 1; }; }
fi
-{ echo "$as_me:$LINENO: result: $ac_cv_build" >&5
-echo "${ECHO_T}$ac_cv_build" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_build" >&5
+$as_echo "$ac_cv_build" >&6; }
case $ac_cv_build in
*-*-*) ;;
-*) { { echo "$as_me:$LINENO: error: invalid value of canonical build" >&5
-echo "$as_me: error: invalid value of canonical build" >&2;}
+*) { { $as_echo "$as_me:$LINENO: error: invalid value of canonical build" >&5
+$as_echo "$as_me: error: invalid value of canonical build" >&2;}
{ (exit 1); exit 1; }; };;
esac
build=$ac_cv_build
@@ -2102,27 +2215,27 @@ IFS=$ac_save_IFS
case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac
-{ echo "$as_me:$LINENO: checking host system type" >&5
-echo $ECHO_N "checking host system type... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking host system type" >&5
+$as_echo_n "checking host system type... " >&6; }
if test "${ac_cv_host+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
if test "x$host_alias" = x; then
ac_cv_host=$ac_cv_build
else
ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` ||
- { { echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $host_alias failed" >&5
-echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $host_alias failed" >&2;}
+ { { $as_echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $host_alias failed" >&5
+$as_echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $host_alias failed" >&2;}
{ (exit 1); exit 1; }; }
fi
fi
-{ echo "$as_me:$LINENO: result: $ac_cv_host" >&5
-echo "${ECHO_T}$ac_cv_host" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_host" >&5
+$as_echo "$ac_cv_host" >&6; }
case $ac_cv_host in
*-*-*) ;;
-*) { { echo "$as_me:$LINENO: error: invalid value of canonical host" >&5
-echo "$as_me: error: invalid value of canonical host" >&2;}
+*) { { $as_echo "$as_me:$LINENO: error: invalid value of canonical host" >&5
+$as_echo "$as_me: error: invalid value of canonical host" >&2;}
{ (exit 1); exit 1; }; };;
esac
host=$ac_cv_host
@@ -2139,27 +2252,27 @@ IFS=$ac_save_IFS
case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac
-{ echo "$as_me:$LINENO: checking target system type" >&5
-echo $ECHO_N "checking target system type... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking target system type" >&5
+$as_echo_n "checking target system type... " >&6; }
if test "${ac_cv_target+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
if test "x$target_alias" = x; then
ac_cv_target=$ac_cv_host
else
ac_cv_target=`$SHELL "$ac_aux_dir/config.sub" $target_alias` ||
- { { echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $target_alias failed" >&5
-echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $target_alias failed" >&2;}
+ { { $as_echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $target_alias failed" >&5
+$as_echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $target_alias failed" >&2;}
{ (exit 1); exit 1; }; }
fi
fi
-{ echo "$as_me:$LINENO: result: $ac_cv_target" >&5
-echo "${ECHO_T}$ac_cv_target" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_target" >&5
+$as_echo "$ac_cv_target" >&6; }
case $ac_cv_target in
*-*-*) ;;
-*) { { echo "$as_me:$LINENO: error: invalid value of canonical target" >&5
-echo "$as_me: error: invalid value of canonical target" >&2;}
+*) { { $as_echo "$as_me:$LINENO: error: invalid value of canonical target" >&5
+$as_echo "$as_me: error: invalid value of canonical target" >&2;}
{ (exit 1); exit 1; }; };;
esac
target=$ac_cv_target
@@ -2197,11 +2310,12 @@ am__api_version='1.10'
# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
# OS/2's system install, which has a completely different semantic
# ./install, which can be erroneously created by make from ./install.sh.
-{ echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5
-echo $ECHO_N "checking for a BSD-compatible install... $ECHO_C" >&6; }
+# Reject install programs that cannot install multiple files.
+{ $as_echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5
+$as_echo_n "checking for a BSD-compatible install... " >&6; }
if test -z "$INSTALL"; then
if test "${ac_cv_path_install+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
@@ -2230,17 +2344,29 @@ case $as_dir/ in
# program-specific install script used by HP pwplus--don't use.
:
else
- ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c"
- break 3
+ rm -rf conftest.one conftest.two conftest.dir
+ echo one > conftest.one
+ echo two > conftest.two
+ mkdir conftest.dir
+ if "$as_dir/$ac_prog$ac_exec_ext" -c conftest.one conftest.two "`pwd`/conftest.dir" &&
+ test -s conftest.one && test -s conftest.two &&
+ test -s conftest.dir/conftest.one &&
+ test -s conftest.dir/conftest.two
+ then
+ ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c"
+ break 3
+ fi
fi
fi
done
done
;;
esac
+
done
IFS=$as_save_IFS
+rm -rf conftest.one conftest.two conftest.dir
fi
if test "${ac_cv_path_install+set}" = set; then
@@ -2253,8 +2379,8 @@ fi
INSTALL=$ac_install_sh
fi
fi
-{ echo "$as_me:$LINENO: result: $INSTALL" >&5
-echo "${ECHO_T}$INSTALL" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $INSTALL" >&5
+$as_echo "$INSTALL" >&6; }
# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
# It thinks the first close brace ends the variable substitution.
@@ -2264,8 +2390,8 @@ test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}'
test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
-{ echo "$as_me:$LINENO: checking whether build environment is sane" >&5
-echo $ECHO_N "checking whether build environment is sane... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking whether build environment is sane" >&5
+$as_echo_n "checking whether build environment is sane... " >&6; }
# Just in case
sleep 1
echo timestamp > conftest.file
@@ -2288,9 +2414,9 @@ if (
# if, for instance, CONFIG_SHELL is bash and it inherits a
# broken ls alias from the environment. This has actually
# happened. Such a system could not be considered "sane".
- { { echo "$as_me:$LINENO: error: ls -t appears to fail. Make sure there is not a broken
+ { { $as_echo "$as_me:$LINENO: error: ls -t appears to fail. Make sure there is not a broken
alias in your environment" >&5
-echo "$as_me: error: ls -t appears to fail. Make sure there is not a broken
+$as_echo "$as_me: error: ls -t appears to fail. Make sure there is not a broken
alias in your environment" >&2;}
{ (exit 1); exit 1; }; }
fi
@@ -2301,26 +2427,23 @@ then
# Ok.
:
else
- { { echo "$as_me:$LINENO: error: newly created file is older than distributed files!
+ { { $as_echo "$as_me:$LINENO: error: newly created file is older than distributed files!
Check your system clock" >&5
-echo "$as_me: error: newly created file is older than distributed files!
+$as_echo "$as_me: error: newly created file is older than distributed files!
Check your system clock" >&2;}
{ (exit 1); exit 1; }; }
fi
-{ echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; }
+{ $as_echo "$as_me:$LINENO: result: yes" >&5
+$as_echo "yes" >&6; }
test "$program_prefix" != NONE &&
program_transform_name="s&^&$program_prefix&;$program_transform_name"
# Use a double $ so make ignores it.
test "$program_suffix" != NONE &&
program_transform_name="s&\$&$program_suffix&;$program_transform_name"
-# Double any \ or $. echo might interpret backslashes.
+# Double any \ or $.
# By default was `s,x,x', remove it if useless.
-cat <<\_ACEOF >conftest.sed
-s/[\\$]/&&/g;s/;s,x,x,$//
-_ACEOF
-program_transform_name=`echo $program_transform_name | sed -f conftest.sed`
-rm -f conftest.sed
+ac_script='s/[\\$]/&&/g;s/;s,x,x,$//'
+program_transform_name=`$as_echo "$program_transform_name" | sed "$ac_script"`
# expand $ac_aux_dir to an absolute path
am_aux_dir=`cd $ac_aux_dir && pwd`
@@ -2331,15 +2454,15 @@ if eval "$MISSING --run true"; then
am_missing_run="$MISSING --run "
else
am_missing_run=
- { echo "$as_me:$LINENO: WARNING: \`missing' script is too old or missing" >&5
-echo "$as_me: WARNING: \`missing' script is too old or missing" >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: \`missing' script is too old or missing" >&5
+$as_echo "$as_me: WARNING: \`missing' script is too old or missing" >&2;}
fi
-{ echo "$as_me:$LINENO: checking for a thread-safe mkdir -p" >&5
-echo $ECHO_N "checking for a thread-safe mkdir -p... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking for a thread-safe mkdir -p" >&5
+$as_echo_n "checking for a thread-safe mkdir -p... " >&6; }
if test -z "$MKDIR_P"; then
if test "${ac_cv_path_mkdir+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH$PATH_SEPARATOR/opt/sfw/bin
@@ -2374,8 +2497,8 @@ fi
MKDIR_P="$ac_install_sh -d"
fi
fi
-{ echo "$as_me:$LINENO: result: $MKDIR_P" >&5
-echo "${ECHO_T}$MKDIR_P" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $MKDIR_P" >&5
+$as_echo "$MKDIR_P" >&6; }
mkdir_p="$MKDIR_P"
case $mkdir_p in
@@ -2387,10 +2510,10 @@ for ac_prog in gawk mawk nawk awk
do
# Extract the first word of "$ac_prog", so it can be a program name with args.
set dummy $ac_prog; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
if test "${ac_cv_prog_AWK+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
if test -n "$AWK"; then
ac_cv_prog_AWK="$AWK" # Let the user override the test.
@@ -2403,7 +2526,7 @@ do
for ac_exec_ext in '' $ac_executable_extensions; do
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_prog_AWK="$ac_prog"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
@@ -2414,22 +2537,23 @@ fi
fi
AWK=$ac_cv_prog_AWK
if test -n "$AWK"; then
- { echo "$as_me:$LINENO: result: $AWK" >&5
-echo "${ECHO_T}$AWK" >&6; }
+ { $as_echo "$as_me:$LINENO: result: $AWK" >&5
+$as_echo "$AWK" >&6; }
else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
fi
test -n "$AWK" && break
done
-{ echo "$as_me:$LINENO: checking whether ${MAKE-make} sets \$(MAKE)" >&5
-echo $ECHO_N "checking whether ${MAKE-make} sets \$(MAKE)... $ECHO_C" >&6; }
-set x ${MAKE-make}; ac_make=`echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'`
+{ $as_echo "$as_me:$LINENO: checking whether ${MAKE-make} sets \$(MAKE)" >&5
+$as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; }
+set x ${MAKE-make}
+ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'`
if { as_var=ac_cv_prog_make_${ac_make}_set; eval "test \"\${$as_var+set}\" = set"; }; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
cat >conftest.make <<\_ACEOF
SHELL = /bin/sh
@@ -2446,12 +2570,12 @@ esac
rm -f conftest.make
fi
if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then
- { echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; }
+ { $as_echo "$as_me:$LINENO: result: yes" >&5
+$as_echo "yes" >&6; }
SET_MAKE=
else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
SET_MAKE="MAKE=${MAKE-make}"
fi
@@ -2470,8 +2594,8 @@ if test "`cd $srcdir && pwd`" != "`pwd`"; then
am__isrc=' -I$(srcdir)'
# test to see if srcdir already configured
if test -f $srcdir/config.status; then
- { { echo "$as_me:$LINENO: error: source directory already configured; run \"make distclean\" there first" >&5
-echo "$as_me: error: source directory already configured; run \"make distclean\" there first" >&2;}
+ { { $as_echo "$as_me:$LINENO: error: source directory already configured; run \"make distclean\" there first" >&5
+$as_echo "$as_me: error: source directory already configured; run \"make distclean\" there first" >&2;}
{ (exit 1); exit 1; }; }
fi
fi
@@ -2488,7 +2612,7 @@ fi
# Define the identity of the package.
PACKAGE='sword'
- VERSION='1.5.11'
+ VERSION='1.6.0'
cat >>confdefs.h <<_ACEOF
@@ -2526,10 +2650,10 @@ if test "$cross_compiling" != no; then
if test -n "$ac_tool_prefix"; then
# Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
set dummy ${ac_tool_prefix}strip; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
if test "${ac_cv_prog_STRIP+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
if test -n "$STRIP"; then
ac_cv_prog_STRIP="$STRIP" # Let the user override the test.
@@ -2542,7 +2666,7 @@ do
for ac_exec_ext in '' $ac_executable_extensions; do
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_prog_STRIP="${ac_tool_prefix}strip"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
@@ -2553,11 +2677,11 @@ fi
fi
STRIP=$ac_cv_prog_STRIP
if test -n "$STRIP"; then
- { echo "$as_me:$LINENO: result: $STRIP" >&5
-echo "${ECHO_T}$STRIP" >&6; }
+ { $as_echo "$as_me:$LINENO: result: $STRIP" >&5
+$as_echo "$STRIP" >&6; }
else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
fi
@@ -2566,10 +2690,10 @@ if test -z "$ac_cv_prog_STRIP"; then
ac_ct_STRIP=$STRIP
# Extract the first word of "strip", so it can be a program name with args.
set dummy strip; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
if test -n "$ac_ct_STRIP"; then
ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test.
@@ -2582,7 +2706,7 @@ do
for ac_exec_ext in '' $ac_executable_extensions; do
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_prog_ac_ct_STRIP="strip"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
@@ -2593,11 +2717,11 @@ fi
fi
ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP
if test -n "$ac_ct_STRIP"; then
- { echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5
-echo "${ECHO_T}$ac_ct_STRIP" >&6; }
+ { $as_echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5
+$as_echo "$ac_ct_STRIP" >&6; }
else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
fi
if test "x$ac_ct_STRIP" = x; then
@@ -2605,12 +2729,8 @@ fi
else
case $cross_compiling:$ac_tool_warned in
yes:)
-{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
-whose name does not start with the host triplet. If you think this
-configuration is useful to you, please write to autoconf@gnu.org." >&5
-echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
-whose name does not start with the host triplet. If you think this
-configuration is useful to you, please write to autoconf@gnu.org." >&2;}
+{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
ac_tool_warned=yes ;;
esac
STRIP=$ac_ct_STRIP
@@ -2639,6 +2759,7 @@ ac_config_headers="$ac_config_headers include/config.h"
+
# ---------------------------------------------------------------------
# Check Programs
# ---------------------------------------------------------------------
@@ -2658,10 +2779,10 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
if test -n "$ac_tool_prefix"; then
# Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args.
set dummy ${ac_tool_prefix}gcc; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
if test "${ac_cv_prog_CC+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
if test -n "$CC"; then
ac_cv_prog_CC="$CC" # Let the user override the test.
@@ -2674,7 +2795,7 @@ do
for ac_exec_ext in '' $ac_executable_extensions; do
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_prog_CC="${ac_tool_prefix}gcc"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
@@ -2685,11 +2806,11 @@ fi
fi
CC=$ac_cv_prog_CC
if test -n "$CC"; then
- { echo "$as_me:$LINENO: result: $CC" >&5
-echo "${ECHO_T}$CC" >&6; }
+ { $as_echo "$as_me:$LINENO: result: $CC" >&5
+$as_echo "$CC" >&6; }
else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
fi
@@ -2698,10 +2819,10 @@ if test -z "$ac_cv_prog_CC"; then
ac_ct_CC=$CC
# Extract the first word of "gcc", so it can be a program name with args.
set dummy gcc; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
if test "${ac_cv_prog_ac_ct_CC+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
if test -n "$ac_ct_CC"; then
ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
@@ -2714,7 +2835,7 @@ do
for ac_exec_ext in '' $ac_executable_extensions; do
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_prog_ac_ct_CC="gcc"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
@@ -2725,11 +2846,11 @@ fi
fi
ac_ct_CC=$ac_cv_prog_ac_ct_CC
if test -n "$ac_ct_CC"; then
- { echo "$as_me:$LINENO: result: $ac_ct_CC" >&5
-echo "${ECHO_T}$ac_ct_CC" >&6; }
+ { $as_echo "$as_me:$LINENO: result: $ac_ct_CC" >&5
+$as_echo "$ac_ct_CC" >&6; }
else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
fi
if test "x$ac_ct_CC" = x; then
@@ -2737,12 +2858,8 @@ fi
else
case $cross_compiling:$ac_tool_warned in
yes:)
-{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
-whose name does not start with the host triplet. If you think this
-configuration is useful to you, please write to autoconf@gnu.org." >&5
-echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
-whose name does not start with the host triplet. If you think this
-configuration is useful to you, please write to autoconf@gnu.org." >&2;}
+{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
ac_tool_warned=yes ;;
esac
CC=$ac_ct_CC
@@ -2755,10 +2872,10 @@ if test -z "$CC"; then
if test -n "$ac_tool_prefix"; then
# Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args.
set dummy ${ac_tool_prefix}cc; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
if test "${ac_cv_prog_CC+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
if test -n "$CC"; then
ac_cv_prog_CC="$CC" # Let the user override the test.
@@ -2771,7 +2888,7 @@ do
for ac_exec_ext in '' $ac_executable_extensions; do
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_prog_CC="${ac_tool_prefix}cc"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
@@ -2782,11 +2899,11 @@ fi
fi
CC=$ac_cv_prog_CC
if test -n "$CC"; then
- { echo "$as_me:$LINENO: result: $CC" >&5
-echo "${ECHO_T}$CC" >&6; }
+ { $as_echo "$as_me:$LINENO: result: $CC" >&5
+$as_echo "$CC" >&6; }
else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
fi
@@ -2795,10 +2912,10 @@ fi
if test -z "$CC"; then
# Extract the first word of "cc", so it can be a program name with args.
set dummy cc; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
if test "${ac_cv_prog_CC+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
if test -n "$CC"; then
ac_cv_prog_CC="$CC" # Let the user override the test.
@@ -2816,7 +2933,7 @@ do
continue
fi
ac_cv_prog_CC="cc"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
@@ -2839,11 +2956,11 @@ fi
fi
CC=$ac_cv_prog_CC
if test -n "$CC"; then
- { echo "$as_me:$LINENO: result: $CC" >&5
-echo "${ECHO_T}$CC" >&6; }
+ { $as_echo "$as_me:$LINENO: result: $CC" >&5
+$as_echo "$CC" >&6; }
else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
fi
@@ -2854,10 +2971,10 @@ if test -z "$CC"; then
do
# Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
set dummy $ac_tool_prefix$ac_prog; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
if test "${ac_cv_prog_CC+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
if test -n "$CC"; then
ac_cv_prog_CC="$CC" # Let the user override the test.
@@ -2870,7 +2987,7 @@ do
for ac_exec_ext in '' $ac_executable_extensions; do
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
@@ -2881,11 +2998,11 @@ fi
fi
CC=$ac_cv_prog_CC
if test -n "$CC"; then
- { echo "$as_me:$LINENO: result: $CC" >&5
-echo "${ECHO_T}$CC" >&6; }
+ { $as_echo "$as_me:$LINENO: result: $CC" >&5
+$as_echo "$CC" >&6; }
else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
fi
@@ -2898,10 +3015,10 @@ if test -z "$CC"; then
do
# Extract the first word of "$ac_prog", so it can be a program name with args.
set dummy $ac_prog; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
if test "${ac_cv_prog_ac_ct_CC+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
if test -n "$ac_ct_CC"; then
ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
@@ -2914,7 +3031,7 @@ do
for ac_exec_ext in '' $ac_executable_extensions; do
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_prog_ac_ct_CC="$ac_prog"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
@@ -2925,11 +3042,11 @@ fi
fi
ac_ct_CC=$ac_cv_prog_ac_ct_CC
if test -n "$ac_ct_CC"; then
- { echo "$as_me:$LINENO: result: $ac_ct_CC" >&5
-echo "${ECHO_T}$ac_ct_CC" >&6; }
+ { $as_echo "$as_me:$LINENO: result: $ac_ct_CC" >&5
+$as_echo "$ac_ct_CC" >&6; }
else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
fi
@@ -2941,12 +3058,8 @@ done
else
case $cross_compiling:$ac_tool_warned in
yes:)
-{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
-whose name does not start with the host triplet. If you think this
-configuration is useful to you, please write to autoconf@gnu.org." >&5
-echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
-whose name does not start with the host triplet. If you think this
-configuration is useful to you, please write to autoconf@gnu.org." >&2;}
+{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
ac_tool_warned=yes ;;
esac
CC=$ac_ct_CC
@@ -2956,44 +3069,50 @@ fi
fi
-test -z "$CC" && { { echo "$as_me:$LINENO: error: no acceptable C compiler found in \$PATH
+test -z "$CC" && { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+{ { $as_echo "$as_me:$LINENO: error: no acceptable C compiler found in \$PATH
See \`config.log' for more details." >&5
-echo "$as_me: error: no acceptable C compiler found in \$PATH
+$as_echo "$as_me: error: no acceptable C compiler found in \$PATH
See \`config.log' for more details." >&2;}
- { (exit 1); exit 1; }; }
+ { (exit 1); exit 1; }; }; }
# Provide some information about the compiler.
-echo "$as_me:$LINENO: checking for C compiler version" >&5
-ac_compiler=`set X $ac_compile; echo $2`
+$as_echo "$as_me:$LINENO: checking for C compiler version" >&5
+set X $ac_compile
+ac_compiler=$2
{ (ac_try="$ac_compiler --version >&5"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
(eval "$ac_compiler --version >&5") 2>&5
ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }
{ (ac_try="$ac_compiler -v >&5"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
(eval "$ac_compiler -v >&5") 2>&5
ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }
{ (ac_try="$ac_compiler -V >&5"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
(eval "$ac_compiler -V >&5") 2>&5
ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }
cat >conftest.$ac_ext <<_ACEOF
@@ -3012,27 +3131,22 @@ main ()
}
_ACEOF
ac_clean_files_save=$ac_clean_files
-ac_clean_files="$ac_clean_files a.out a.exe b.out"
+ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out"
# Try to create an executable without -o first, disregard a.out.
# It will help us diagnose broken compilers, and finding out an intuition
# of exeext.
-{ echo "$as_me:$LINENO: checking for C compiler default output file name" >&5
-echo $ECHO_N "checking for C compiler default output file name... $ECHO_C" >&6; }
-ac_link_default=`echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'`
-#
-# List of possible output files, starting from the most likely.
-# The algorithm is not robust to junk in `.', hence go to wildcards (a.*)
-# only as a last resort. b.out is created by i960 compilers.
-ac_files='a_out.exe a.exe conftest.exe a.out conftest a.* conftest.* b.out'
-#
-# The IRIX 6 linker writes into existing files which may not be
-# executable, retaining their permissions. Remove them first so a
-# subsequent execution test works.
+{ $as_echo "$as_me:$LINENO: checking for C compiler default output file name" >&5
+$as_echo_n "checking for C compiler default output file name... " >&6; }
+ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'`
+
+# The possible output files:
+ac_files="a.out conftest.exe conftest a.exe a_out.exe b.out conftest.*"
+
ac_rmfiles=
for ac_file in $ac_files
do
case $ac_file in
- *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.o | *.obj ) ;;
+ *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;;
* ) ac_rmfiles="$ac_rmfiles $ac_file";;
esac
done
@@ -3043,10 +3157,11 @@ case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
(eval "$ac_link_default") 2>&5
ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; then
# Autoconf-2.13 could set the ac_cv_exeext variable to `no'.
# So ignore a value of `no', otherwise this would lead to `EXEEXT = no'
@@ -3057,7 +3172,7 @@ for ac_file in $ac_files ''
do
test -f "$ac_file" || continue
case $ac_file in
- *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.o | *.obj )
+ *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj )
;;
[ab].out )
# We found the default executable, but exeext='' is most
@@ -3084,25 +3199,27 @@ else
ac_file=''
fi
-{ echo "$as_me:$LINENO: result: $ac_file" >&5
-echo "${ECHO_T}$ac_file" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $ac_file" >&5
+$as_echo "$ac_file" >&6; }
if test -z "$ac_file"; then
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
-{ { echo "$as_me:$LINENO: error: C compiler cannot create executables
+{ { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+{ { $as_echo "$as_me:$LINENO: error: C compiler cannot create executables
See \`config.log' for more details." >&5
-echo "$as_me: error: C compiler cannot create executables
+$as_echo "$as_me: error: C compiler cannot create executables
See \`config.log' for more details." >&2;}
- { (exit 77); exit 77; }; }
+ { (exit 77); exit 77; }; }; }
fi
ac_exeext=$ac_cv_exeext
# Check that the compiler produces executables we can run. If not, either
# the compiler is broken, or we cross compile.
-{ echo "$as_me:$LINENO: checking whether the C compiler works" >&5
-echo $ECHO_N "checking whether the C compiler works... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking whether the C compiler works" >&5
+$as_echo_n "checking whether the C compiler works... " >&6; }
# FIXME: These cross compiler hacks should be removed for Autoconf 3.0
# If not cross compiling, check that we can run a simple program.
if test "$cross_compiling" != yes; then
@@ -3111,49 +3228,53 @@ if test "$cross_compiling" != yes; then
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
(eval "$ac_try") 2>&5
ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; }; then
cross_compiling=no
else
if test "$cross_compiling" = maybe; then
cross_compiling=yes
else
- { { echo "$as_me:$LINENO: error: cannot run C compiled programs.
+ { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+{ { $as_echo "$as_me:$LINENO: error: cannot run C compiled programs.
If you meant to cross compile, use \`--host'.
See \`config.log' for more details." >&5
-echo "$as_me: error: cannot run C compiled programs.
+$as_echo "$as_me: error: cannot run C compiled programs.
If you meant to cross compile, use \`--host'.
See \`config.log' for more details." >&2;}
- { (exit 1); exit 1; }; }
+ { (exit 1); exit 1; }; }; }
fi
fi
fi
-{ echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; }
+{ $as_echo "$as_me:$LINENO: result: yes" >&5
+$as_echo "yes" >&6; }
-rm -f a.out a.exe conftest$ac_cv_exeext b.out
+rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out
ac_clean_files=$ac_clean_files_save
# Check that the compiler produces executables we can run. If not, either
# the compiler is broken, or we cross compile.
-{ echo "$as_me:$LINENO: checking whether we are cross compiling" >&5
-echo $ECHO_N "checking whether we are cross compiling... $ECHO_C" >&6; }
-{ echo "$as_me:$LINENO: result: $cross_compiling" >&5
-echo "${ECHO_T}$cross_compiling" >&6; }
+{ $as_echo "$as_me:$LINENO: checking whether we are cross compiling" >&5
+$as_echo_n "checking whether we are cross compiling... " >&6; }
+{ $as_echo "$as_me:$LINENO: result: $cross_compiling" >&5
+$as_echo "$cross_compiling" >&6; }
-{ echo "$as_me:$LINENO: checking for suffix of executables" >&5
-echo $ECHO_N "checking for suffix of executables... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking for suffix of executables" >&5
+$as_echo_n "checking for suffix of executables... " >&6; }
if { (ac_try="$ac_link"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
(eval "$ac_link") 2>&5
ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; then
# If both `conftest.exe' and `conftest' are `present' (well, observable)
# catch `conftest.exe'. For instance with Cygwin, `ls conftest' will
@@ -3162,31 +3283,33 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
for ac_file in conftest.exe conftest conftest.*; do
test -f "$ac_file" || continue
case $ac_file in
- *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.o | *.obj ) ;;
+ *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;;
*.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
break;;
* ) break;;
esac
done
else
- { { echo "$as_me:$LINENO: error: cannot compute suffix of executables: cannot compile and link
+ { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+{ { $as_echo "$as_me:$LINENO: error: cannot compute suffix of executables: cannot compile and link
See \`config.log' for more details." >&5
-echo "$as_me: error: cannot compute suffix of executables: cannot compile and link
+$as_echo "$as_me: error: cannot compute suffix of executables: cannot compile and link
See \`config.log' for more details." >&2;}
- { (exit 1); exit 1; }; }
+ { (exit 1); exit 1; }; }; }
fi
rm -f conftest$ac_cv_exeext
-{ echo "$as_me:$LINENO: result: $ac_cv_exeext" >&5
-echo "${ECHO_T}$ac_cv_exeext" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_exeext" >&5
+$as_echo "$ac_cv_exeext" >&6; }
rm -f conftest.$ac_ext
EXEEXT=$ac_cv_exeext
ac_exeext=$EXEEXT
-{ echo "$as_me:$LINENO: checking for suffix of object files" >&5
-echo $ECHO_N "checking for suffix of object files... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking for suffix of object files" >&5
+$as_echo_n "checking for suffix of object files... " >&6; }
if test "${ac_cv_objext+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
@@ -3209,40 +3332,43 @@ case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
(eval "$ac_compile") 2>&5
ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; then
for ac_file in conftest.o conftest.obj conftest.*; do
test -f "$ac_file" || continue;
case $ac_file in
- *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf ) ;;
+ *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM ) ;;
*) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'`
break;;
esac
done
else
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
-{ { echo "$as_me:$LINENO: error: cannot compute suffix of object files: cannot compile
+{ { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+{ { $as_echo "$as_me:$LINENO: error: cannot compute suffix of object files: cannot compile
See \`config.log' for more details." >&5
-echo "$as_me: error: cannot compute suffix of object files: cannot compile
+$as_echo "$as_me: error: cannot compute suffix of object files: cannot compile
See \`config.log' for more details." >&2;}
- { (exit 1); exit 1; }; }
+ { (exit 1); exit 1; }; }; }
fi
rm -f conftest.$ac_cv_objext conftest.$ac_ext
fi
-{ echo "$as_me:$LINENO: result: $ac_cv_objext" >&5
-echo "${ECHO_T}$ac_cv_objext" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_objext" >&5
+$as_echo "$ac_cv_objext" >&6; }
OBJEXT=$ac_cv_objext
ac_objext=$OBJEXT
-{ echo "$as_me:$LINENO: checking whether we are using the GNU C compiler" >&5
-echo $ECHO_N "checking whether we are using the GNU C compiler... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking whether we are using the GNU C compiler" >&5
+$as_echo_n "checking whether we are using the GNU C compiler... " >&6; }
if test "${ac_cv_c_compiler_gnu+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
@@ -3268,20 +3394,21 @@ case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
(eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
test -z "$ac_c_werror_flag" ||
test ! -s conftest.err
} && test -s conftest.$ac_objext; then
ac_compiler_gnu=yes
else
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
ac_compiler_gnu=no
@@ -3291,15 +3418,19 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
ac_cv_c_compiler_gnu=$ac_compiler_gnu
fi
-{ echo "$as_me:$LINENO: result: $ac_cv_c_compiler_gnu" >&5
-echo "${ECHO_T}$ac_cv_c_compiler_gnu" >&6; }
-GCC=`test $ac_compiler_gnu = yes && echo yes`
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_c_compiler_gnu" >&5
+$as_echo "$ac_cv_c_compiler_gnu" >&6; }
+if test $ac_compiler_gnu = yes; then
+ GCC=yes
+else
+ GCC=
+fi
ac_test_CFLAGS=${CFLAGS+set}
ac_save_CFLAGS=$CFLAGS
-{ echo "$as_me:$LINENO: checking whether $CC accepts -g" >&5
-echo $ECHO_N "checking whether $CC accepts -g... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking whether $CC accepts -g" >&5
+$as_echo_n "checking whether $CC accepts -g... " >&6; }
if test "${ac_cv_prog_cc_g+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
ac_save_c_werror_flag=$ac_c_werror_flag
ac_c_werror_flag=yes
@@ -3326,20 +3457,21 @@ case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
(eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
test -z "$ac_c_werror_flag" ||
test ! -s conftest.err
} && test -s conftest.$ac_objext; then
ac_cv_prog_cc_g=yes
else
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
CFLAGS=""
@@ -3364,20 +3496,21 @@ case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
(eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
test -z "$ac_c_werror_flag" ||
test ! -s conftest.err
} && test -s conftest.$ac_objext; then
:
else
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
ac_c_werror_flag=$ac_save_c_werror_flag
@@ -3403,20 +3536,21 @@ case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
(eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
test -z "$ac_c_werror_flag" ||
test ! -s conftest.err
} && test -s conftest.$ac_objext; then
ac_cv_prog_cc_g=yes
else
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
@@ -3431,8 +3565,8 @@ fi
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
ac_c_werror_flag=$ac_save_c_werror_flag
fi
-{ echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5
-echo "${ECHO_T}$ac_cv_prog_cc_g" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5
+$as_echo "$ac_cv_prog_cc_g" >&6; }
if test "$ac_test_CFLAGS" = set; then
CFLAGS=$ac_save_CFLAGS
elif test $ac_cv_prog_cc_g = yes; then
@@ -3448,10 +3582,10 @@ else
CFLAGS=
fi
fi
-{ echo "$as_me:$LINENO: checking for $CC option to accept ISO C89" >&5
-echo $ECHO_N "checking for $CC option to accept ISO C89... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking for $CC option to accept ISO C89" >&5
+$as_echo_n "checking for $CC option to accept ISO C89... " >&6; }
if test "${ac_cv_prog_cc_c89+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
ac_cv_prog_cc_c89=no
ac_save_CC=$CC
@@ -3522,20 +3656,21 @@ case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
(eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
test -z "$ac_c_werror_flag" ||
test ! -s conftest.err
} && test -s conftest.$ac_objext; then
ac_cv_prog_cc_c89=$ac_arg
else
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
@@ -3551,15 +3686,15 @@ fi
# AC_CACHE_VAL
case "x$ac_cv_prog_cc_c89" in
x)
- { echo "$as_me:$LINENO: result: none needed" >&5
-echo "${ECHO_T}none needed" >&6; } ;;
+ { $as_echo "$as_me:$LINENO: result: none needed" >&5
+$as_echo "none needed" >&6; } ;;
xno)
- { echo "$as_me:$LINENO: result: unsupported" >&5
-echo "${ECHO_T}unsupported" >&6; } ;;
+ { $as_echo "$as_me:$LINENO: result: unsupported" >&5
+$as_echo "unsupported" >&6; } ;;
*)
CC="$CC $ac_cv_prog_cc_c89"
- { echo "$as_me:$LINENO: result: $ac_cv_prog_cc_c89" >&5
-echo "${ECHO_T}$ac_cv_prog_cc_c89" >&6; } ;;
+ { $as_echo "$as_me:$LINENO: result: $ac_cv_prog_cc_c89" >&5
+$as_echo "$ac_cv_prog_cc_c89" >&6; } ;;
esac
@@ -3580,8 +3715,8 @@ am__doit:
.PHONY: am__doit
END
# If we don't find an include directive, just comment out the code.
-{ echo "$as_me:$LINENO: checking for style of include used by $am_make" >&5
-echo $ECHO_N "checking for style of include used by $am_make... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking for style of include used by $am_make" >&5
+$as_echo_n "checking for style of include used by $am_make... " >&6; }
am__include="#"
am__quote=
_am_result=none
@@ -3608,8 +3743,8 @@ if test "$am__include" = "#"; then
fi
-{ echo "$as_me:$LINENO: result: $_am_result" >&5
-echo "${ECHO_T}$_am_result" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $_am_result" >&5
+$as_echo "$_am_result" >&6; }
rm -f confinc confmf
# Check whether --enable-dependency-tracking was given.
@@ -3633,10 +3768,10 @@ fi
depcc="$CC" am_compiler_list=
-{ echo "$as_me:$LINENO: checking dependency style of $depcc" >&5
-echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking dependency style of $depcc" >&5
+$as_echo_n "checking dependency style of $depcc... " >&6; }
if test "${am_cv_CC_dependencies_compiler_type+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
# We make a subdir and do the tests there. Otherwise we can end up
@@ -3724,8 +3859,8 @@ else
fi
fi
-{ echo "$as_me:$LINENO: result: $am_cv_CC_dependencies_compiler_type" >&5
-echo "${ECHO_T}$am_cv_CC_dependencies_compiler_type" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $am_cv_CC_dependencies_compiler_type" >&5
+$as_echo "$am_cv_CC_dependencies_compiler_type" >&6; }
CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type
if
@@ -3753,10 +3888,10 @@ if test -z "$CXX"; then
do
# Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
set dummy $ac_tool_prefix$ac_prog; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
if test "${ac_cv_prog_CXX+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
if test -n "$CXX"; then
ac_cv_prog_CXX="$CXX" # Let the user override the test.
@@ -3769,7 +3904,7 @@ do
for ac_exec_ext in '' $ac_executable_extensions; do
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_prog_CXX="$ac_tool_prefix$ac_prog"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
@@ -3780,11 +3915,11 @@ fi
fi
CXX=$ac_cv_prog_CXX
if test -n "$CXX"; then
- { echo "$as_me:$LINENO: result: $CXX" >&5
-echo "${ECHO_T}$CXX" >&6; }
+ { $as_echo "$as_me:$LINENO: result: $CXX" >&5
+$as_echo "$CXX" >&6; }
else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
fi
@@ -3797,10 +3932,10 @@ if test -z "$CXX"; then
do
# Extract the first word of "$ac_prog", so it can be a program name with args.
set dummy $ac_prog; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
if test "${ac_cv_prog_ac_ct_CXX+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
if test -n "$ac_ct_CXX"; then
ac_cv_prog_ac_ct_CXX="$ac_ct_CXX" # Let the user override the test.
@@ -3813,7 +3948,7 @@ do
for ac_exec_ext in '' $ac_executable_extensions; do
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_prog_ac_ct_CXX="$ac_prog"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
@@ -3824,11 +3959,11 @@ fi
fi
ac_ct_CXX=$ac_cv_prog_ac_ct_CXX
if test -n "$ac_ct_CXX"; then
- { echo "$as_me:$LINENO: result: $ac_ct_CXX" >&5
-echo "${ECHO_T}$ac_ct_CXX" >&6; }
+ { $as_echo "$as_me:$LINENO: result: $ac_ct_CXX" >&5
+$as_echo "$ac_ct_CXX" >&6; }
else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
fi
@@ -3840,12 +3975,8 @@ done
else
case $cross_compiling:$ac_tool_warned in
yes:)
-{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
-whose name does not start with the host triplet. If you think this
-configuration is useful to you, please write to autoconf@gnu.org." >&5
-echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
-whose name does not start with the host triplet. If you think this
-configuration is useful to you, please write to autoconf@gnu.org." >&2;}
+{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
ac_tool_warned=yes ;;
esac
CXX=$ac_ct_CXX
@@ -3855,43 +3986,47 @@ fi
fi
fi
# Provide some information about the compiler.
-echo "$as_me:$LINENO: checking for C++ compiler version" >&5
-ac_compiler=`set X $ac_compile; echo $2`
+$as_echo "$as_me:$LINENO: checking for C++ compiler version" >&5
+set X $ac_compile
+ac_compiler=$2
{ (ac_try="$ac_compiler --version >&5"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
(eval "$ac_compiler --version >&5") 2>&5
ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }
{ (ac_try="$ac_compiler -v >&5"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
(eval "$ac_compiler -v >&5") 2>&5
ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }
{ (ac_try="$ac_compiler -V >&5"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
(eval "$ac_compiler -V >&5") 2>&5
ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }
-{ echo "$as_me:$LINENO: checking whether we are using the GNU C++ compiler" >&5
-echo $ECHO_N "checking whether we are using the GNU C++ compiler... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking whether we are using the GNU C++ compiler" >&5
+$as_echo_n "checking whether we are using the GNU C++ compiler... " >&6; }
if test "${ac_cv_cxx_compiler_gnu+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
@@ -3917,20 +4052,21 @@ case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
(eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
test -z "$ac_cxx_werror_flag" ||
test ! -s conftest.err
} && test -s conftest.$ac_objext; then
ac_compiler_gnu=yes
else
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
ac_compiler_gnu=no
@@ -3940,15 +4076,19 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
ac_cv_cxx_compiler_gnu=$ac_compiler_gnu
fi
-{ echo "$as_me:$LINENO: result: $ac_cv_cxx_compiler_gnu" >&5
-echo "${ECHO_T}$ac_cv_cxx_compiler_gnu" >&6; }
-GXX=`test $ac_compiler_gnu = yes && echo yes`
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_cxx_compiler_gnu" >&5
+$as_echo "$ac_cv_cxx_compiler_gnu" >&6; }
+if test $ac_compiler_gnu = yes; then
+ GXX=yes
+else
+ GXX=
+fi
ac_test_CXXFLAGS=${CXXFLAGS+set}
ac_save_CXXFLAGS=$CXXFLAGS
-{ echo "$as_me:$LINENO: checking whether $CXX accepts -g" >&5
-echo $ECHO_N "checking whether $CXX accepts -g... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking whether $CXX accepts -g" >&5
+$as_echo_n "checking whether $CXX accepts -g... " >&6; }
if test "${ac_cv_prog_cxx_g+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
ac_save_cxx_werror_flag=$ac_cxx_werror_flag
ac_cxx_werror_flag=yes
@@ -3975,20 +4115,21 @@ case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
(eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
test -z "$ac_cxx_werror_flag" ||
test ! -s conftest.err
} && test -s conftest.$ac_objext; then
ac_cv_prog_cxx_g=yes
else
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
CXXFLAGS=""
@@ -4013,20 +4154,21 @@ case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
(eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
test -z "$ac_cxx_werror_flag" ||
test ! -s conftest.err
} && test -s conftest.$ac_objext; then
:
else
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
ac_cxx_werror_flag=$ac_save_cxx_werror_flag
@@ -4052,20 +4194,21 @@ case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
(eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
test -z "$ac_cxx_werror_flag" ||
test ! -s conftest.err
} && test -s conftest.$ac_objext; then
ac_cv_prog_cxx_g=yes
else
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
@@ -4080,8 +4223,8 @@ fi
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
ac_cxx_werror_flag=$ac_save_cxx_werror_flag
fi
-{ echo "$as_me:$LINENO: result: $ac_cv_prog_cxx_g" >&5
-echo "${ECHO_T}$ac_cv_prog_cxx_g" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_prog_cxx_g" >&5
+$as_echo "$ac_cv_prog_cxx_g" >&6; }
if test "$ac_test_CXXFLAGS" = set; then
CXXFLAGS=$ac_save_CXXFLAGS
elif test $ac_cv_prog_cxx_g = yes; then
@@ -4105,10 +4248,10 @@ ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
depcc="$CXX" am_compiler_list=
-{ echo "$as_me:$LINENO: checking dependency style of $depcc" >&5
-echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking dependency style of $depcc" >&5
+$as_echo_n "checking dependency style of $depcc... " >&6; }
if test "${am_cv_CXX_dependencies_compiler_type+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
# We make a subdir and do the tests there. Otherwise we can end up
@@ -4196,8 +4339,8 @@ else
fi
fi
-{ echo "$as_me:$LINENO: result: $am_cv_CXX_dependencies_compiler_type" >&5
-echo "${ECHO_T}$am_cv_CXX_dependencies_compiler_type" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $am_cv_CXX_dependencies_compiler_type" >&5
+$as_echo "$am_cv_CXX_dependencies_compiler_type" >&6; }
CXXDEPMODE=depmode=$am_cv_CXX_dependencies_compiler_type
if
@@ -4224,11 +4367,12 @@ fi
# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
# OS/2's system install, which has a completely different semantic
# ./install, which can be erroneously created by make from ./install.sh.
-{ echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5
-echo $ECHO_N "checking for a BSD-compatible install... $ECHO_C" >&6; }
+# Reject install programs that cannot install multiple files.
+{ $as_echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5
+$as_echo_n "checking for a BSD-compatible install... " >&6; }
if test -z "$INSTALL"; then
if test "${ac_cv_path_install+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
@@ -4257,17 +4401,29 @@ case $as_dir/ in
# program-specific install script used by HP pwplus--don't use.
:
else
- ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c"
- break 3
+ rm -rf conftest.one conftest.two conftest.dir
+ echo one > conftest.one
+ echo two > conftest.two
+ mkdir conftest.dir
+ if "$as_dir/$ac_prog$ac_exec_ext" -c conftest.one conftest.two "`pwd`/conftest.dir" &&
+ test -s conftest.one && test -s conftest.two &&
+ test -s conftest.dir/conftest.one &&
+ test -s conftest.dir/conftest.two
+ then
+ ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c"
+ break 3
+ fi
fi
fi
done
done
;;
esac
+
done
IFS=$as_save_IFS
+rm -rf conftest.one conftest.two conftest.dir
fi
if test "${ac_cv_path_install+set}" = set; then
@@ -4280,8 +4436,8 @@ fi
INSTALL=$ac_install_sh
fi
fi
-{ echo "$as_me:$LINENO: result: $INSTALL" >&5
-echo "${ECHO_T}$INSTALL" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $INSTALL" >&5
+$as_echo "$INSTALL" >&6; }
# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
# It thinks the first close brace ends the variable substitution.
@@ -4291,175 +4447,449 @@ test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}'
test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
+enable_win32_dll=yes
+case $host in
+*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-cegcc*)
+ if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}as", so it can be a program name with args.
+set dummy ${ac_tool_prefix}as; ac_word=$2
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_AS+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$AS"; then
+ ac_cv_prog_AS="$AS" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_AS="${ac_tool_prefix}as"
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
-# Check whether --enable-shared was given.
-if test "${enable_shared+set}" = set; then
- enableval=$enable_shared; p=${PACKAGE-default}
- case $enableval in
- yes) enable_shared=yes ;;
- no) enable_shared=no ;;
- *)
- enable_shared=no
- # Look at the argument we got. We use all the common list separators.
- lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
- for pkg in $enableval; do
- IFS="$lt_save_ifs"
- if test "X$pkg" = "X$p"; then
- enable_shared=yes
- fi
- done
- IFS="$lt_save_ifs"
- ;;
- esac
+fi
+fi
+AS=$ac_cv_prog_AS
+if test -n "$AS"; then
+ { $as_echo "$as_me:$LINENO: result: $AS" >&5
+$as_echo "$AS" >&6; }
else
- enable_shared=yes
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
fi
-# Check whether --enable-static was given.
-if test "${enable_static+set}" = set; then
- enableval=$enable_static; p=${PACKAGE-default}
- case $enableval in
- yes) enable_static=yes ;;
- no) enable_static=no ;;
- *)
- enable_static=no
- # Look at the argument we got. We use all the common list separators.
- lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
- for pkg in $enableval; do
- IFS="$lt_save_ifs"
- if test "X$pkg" = "X$p"; then
- enable_static=yes
- fi
- done
- IFS="$lt_save_ifs"
- ;;
- esac
+fi
+if test -z "$ac_cv_prog_AS"; then
+ ac_ct_AS=$AS
+ # Extract the first word of "as", so it can be a program name with args.
+set dummy as; ac_word=$2
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_ac_ct_AS+set}" = set; then
+ $as_echo_n "(cached) " >&6
else
- enable_static=yes
+ if test -n "$ac_ct_AS"; then
+ ac_cv_prog_ac_ct_AS="$ac_ct_AS" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_ac_ct_AS="as"
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_AS=$ac_cv_prog_ac_ct_AS
+if test -n "$ac_ct_AS"; then
+ { $as_echo "$as_me:$LINENO: result: $ac_ct_AS" >&5
+$as_echo "$ac_ct_AS" >&6; }
+else
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
fi
+ if test "x$ac_ct_AS" = x; then
+ AS="false"
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+ AS=$ac_ct_AS
+ fi
+else
+ AS="$ac_cv_prog_AS"
+fi
-# Check whether --enable-fast-install was given.
-if test "${enable_fast_install+set}" = set; then
- enableval=$enable_fast_install; p=${PACKAGE-default}
- case $enableval in
- yes) enable_fast_install=yes ;;
- no) enable_fast_install=no ;;
- *)
- enable_fast_install=no
- # Look at the argument we got. We use all the common list separators.
- lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
- for pkg in $enableval; do
- IFS="$lt_save_ifs"
- if test "X$pkg" = "X$p"; then
- enable_fast_install=yes
- fi
- done
- IFS="$lt_save_ifs"
- ;;
- esac
+ if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}dlltool", so it can be a program name with args.
+set dummy ${ac_tool_prefix}dlltool; ac_word=$2
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_DLLTOOL+set}" = set; then
+ $as_echo_n "(cached) " >&6
else
- enable_fast_install=yes
+ if test -n "$DLLTOOL"; then
+ ac_cv_prog_DLLTOOL="$DLLTOOL" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_DLLTOOL="${ac_tool_prefix}dlltool"
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+DLLTOOL=$ac_cv_prog_DLLTOOL
+if test -n "$DLLTOOL"; then
+ { $as_echo "$as_me:$LINENO: result: $DLLTOOL" >&5
+$as_echo "$DLLTOOL" >&6; }
+else
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
fi
-{ echo "$as_me:$LINENO: checking for a sed that does not truncate output" >&5
-echo $ECHO_N "checking for a sed that does not truncate output... $ECHO_C" >&6; }
-if test "${lt_cv_path_SED+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+fi
+if test -z "$ac_cv_prog_DLLTOOL"; then
+ ac_ct_DLLTOOL=$DLLTOOL
+ # Extract the first word of "dlltool", so it can be a program name with args.
+set dummy dlltool; ac_word=$2
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_ac_ct_DLLTOOL+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$ac_ct_DLLTOOL"; then
+ ac_cv_prog_ac_ct_DLLTOOL="$ac_ct_DLLTOOL" # Let the user override the test.
else
- # Loop through the user's path and test for sed and gsed.
-# Then use that list of sed's as ones to test for truncation.
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
- for lt_ac_prog in sed gsed; do
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$lt_ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$lt_ac_prog$ac_exec_ext"; }; then
- lt_ac_sed_list="$lt_ac_sed_list $as_dir/$lt_ac_prog$ac_exec_ext"
- fi
- done
- done
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_ac_ct_DLLTOOL="dlltool"
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
done
IFS=$as_save_IFS
-lt_ac_max=0
-lt_ac_count=0
-# Add /usr/xpg4/bin/sed as it is typically found on Solaris
-# along with /bin/sed that truncates output.
-for lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do
- test ! -f $lt_ac_sed && continue
- cat /dev/null > conftest.in
- lt_ac_count=0
- echo $ECHO_N "0123456789$ECHO_C" >conftest.in
- # Check for GNU sed and select it if it is found.
- if "$lt_ac_sed" --version 2>&1 < /dev/null | grep 'GNU' > /dev/null; then
- lt_cv_path_SED=$lt_ac_sed
- break
+
+fi
+fi
+ac_ct_DLLTOOL=$ac_cv_prog_ac_ct_DLLTOOL
+if test -n "$ac_ct_DLLTOOL"; then
+ { $as_echo "$as_me:$LINENO: result: $ac_ct_DLLTOOL" >&5
+$as_echo "$ac_ct_DLLTOOL" >&6; }
+else
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+ if test "x$ac_ct_DLLTOOL" = x; then
+ DLLTOOL="false"
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+ DLLTOOL=$ac_ct_DLLTOOL
+ fi
+else
+ DLLTOOL="$ac_cv_prog_DLLTOOL"
+fi
+
+ if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}objdump", so it can be a program name with args.
+set dummy ${ac_tool_prefix}objdump; ac_word=$2
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_OBJDUMP+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$OBJDUMP"; then
+ ac_cv_prog_OBJDUMP="$OBJDUMP" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_OBJDUMP="${ac_tool_prefix}objdump"
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+OBJDUMP=$ac_cv_prog_OBJDUMP
+if test -n "$OBJDUMP"; then
+ { $as_echo "$as_me:$LINENO: result: $OBJDUMP" >&5
+$as_echo "$OBJDUMP" >&6; }
+else
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_OBJDUMP"; then
+ ac_ct_OBJDUMP=$OBJDUMP
+ # Extract the first word of "objdump", so it can be a program name with args.
+set dummy objdump; ac_word=$2
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_ac_ct_OBJDUMP+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$ac_ct_OBJDUMP"; then
+ ac_cv_prog_ac_ct_OBJDUMP="$ac_ct_OBJDUMP" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_ac_ct_OBJDUMP="objdump"
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_OBJDUMP=$ac_cv_prog_ac_ct_OBJDUMP
+if test -n "$ac_ct_OBJDUMP"; then
+ { $as_echo "$as_me:$LINENO: result: $ac_ct_OBJDUMP" >&5
+$as_echo "$ac_ct_OBJDUMP" >&6; }
+else
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+ if test "x$ac_ct_OBJDUMP" = x; then
+ OBJDUMP="false"
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+ OBJDUMP=$ac_ct_OBJDUMP
fi
- while true; do
- cat conftest.in conftest.in >conftest.tmp
- mv conftest.tmp conftest.in
- cp conftest.in conftest.nl
- echo >>conftest.nl
- $lt_ac_sed -e 's/a$//' < conftest.nl >conftest.out || break
- cmp -s conftest.out conftest.nl || break
- # 10000 chars as input seems more than enough
- test $lt_ac_count -gt 10 && break
- lt_ac_count=`expr $lt_ac_count + 1`
- if test $lt_ac_count -gt $lt_ac_max; then
- lt_ac_max=$lt_ac_count
- lt_cv_path_SED=$lt_ac_sed
+else
+ OBJDUMP="$ac_cv_prog_OBJDUMP"
+fi
+
+ ;;
+esac
+
+test -z "$AS" && AS=as
+
+
+
+
+
+test -z "$DLLTOOL" && DLLTOOL=dlltool
+
+
+
+
+
+test -z "$OBJDUMP" && OBJDUMP=objdump
+
+
+
+
+
+
+
+case `pwd` in
+ *\ * | *\ *)
+ { $as_echo "$as_me:$LINENO: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&5
+$as_echo "$as_me: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&2;} ;;
+esac
+
+
+
+macro_version='2.2.6'
+macro_revision='1.3012'
+
+
+
+
+
+
+
+
+
+
+
+
+
+ltmain="$ac_aux_dir/ltmain.sh"
+
+{ $as_echo "$as_me:$LINENO: checking for a sed that does not truncate output" >&5
+$as_echo_n "checking for a sed that does not truncate output... " >&6; }
+if test "${ac_cv_path_SED+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ ac_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/
+ for ac_i in 1 2 3 4 5 6 7; do
+ ac_script="$ac_script$as_nl$ac_script"
+ done
+ echo "$ac_script" 2>/dev/null | sed 99q >conftest.sed
+ $as_unset ac_script || ac_script=
+ if test -z "$SED"; then
+ ac_path_SED_found=false
+ # Loop through the user's path and test for each of PROGNAME-LIST
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_prog in sed gsed; do
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ ac_path_SED="$as_dir/$ac_prog$ac_exec_ext"
+ { test -f "$ac_path_SED" && $as_test_x "$ac_path_SED"; } || continue
+# Check for GNU ac_path_SED and select it if it is found.
+ # Check for GNU $ac_path_SED
+case `"$ac_path_SED" --version 2>&1` in
+*GNU*)
+ ac_cv_path_SED="$ac_path_SED" ac_path_SED_found=:;;
+*)
+ ac_count=0
+ $as_echo_n 0123456789 >"conftest.in"
+ while :
+ do
+ cat "conftest.in" "conftest.in" >"conftest.tmp"
+ mv "conftest.tmp" "conftest.in"
+ cp "conftest.in" "conftest.nl"
+ $as_echo '' >> "conftest.nl"
+ "$ac_path_SED" -f conftest.sed < "conftest.nl" >"conftest.out" 2>/dev/null || break
+ diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
+ ac_count=`expr $ac_count + 1`
+ if test $ac_count -gt ${ac_path_SED_max-0}; then
+ # Best one so far, save it but keep looking for a better one
+ ac_cv_path_SED="$ac_path_SED"
+ ac_path_SED_max=$ac_count
fi
+ # 10*(2^10) chars as input seems more than enough
+ test $ac_count -gt 10 && break
+ done
+ rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
+esac
+
+ $ac_path_SED_found && break 3
+ done
done
done
+IFS=$as_save_IFS
+ if test -z "$ac_cv_path_SED"; then
+ { { $as_echo "$as_me:$LINENO: error: no acceptable sed could be found in \$PATH" >&5
+$as_echo "$as_me: error: no acceptable sed could be found in \$PATH" >&2;}
+ { (exit 1); exit 1; }; }
+ fi
+else
+ ac_cv_path_SED=$SED
+fi
fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_path_SED" >&5
+$as_echo "$ac_cv_path_SED" >&6; }
+ SED="$ac_cv_path_SED"
+ rm -f conftest.sed
-SED=$lt_cv_path_SED
+test -z "$SED" && SED=sed
+Xsed="$SED -e 1s/^X//"
-{ echo "$as_me:$LINENO: result: $SED" >&5
-echo "${ECHO_T}$SED" >&6; }
-{ echo "$as_me:$LINENO: checking for grep that handles long lines and -e" >&5
-echo $ECHO_N "checking for grep that handles long lines and -e... $ECHO_C" >&6; }
-if test "${ac_cv_path_GREP+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- # Extract the first word of "grep ggrep" to use in msg output
-if test -z "$GREP"; then
-set dummy grep ggrep; ac_prog_name=$2
+
+
+
+
+
+
+
+
+
+{ $as_echo "$as_me:$LINENO: checking for grep that handles long lines and -e" >&5
+$as_echo_n "checking for grep that handles long lines and -e... " >&6; }
if test "${ac_cv_path_GREP+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
+ if test -z "$GREP"; then
ac_path_GREP_found=false
-# Loop through the user's path and test for each of PROGNAME-LIST
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+ # Loop through the user's path and test for each of PROGNAME-LIST
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_prog in grep ggrep; do
- for ac_exec_ext in '' $ac_executable_extensions; do
- ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext"
- { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue
- # Check for GNU ac_path_GREP and select it if it is found.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext"
+ { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue
+# Check for GNU ac_path_GREP and select it if it is found.
# Check for GNU $ac_path_GREP
case `"$ac_path_GREP" --version 2>&1` in
*GNU*)
ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;;
*)
ac_count=0
- echo $ECHO_N "0123456789$ECHO_C" >"conftest.in"
+ $as_echo_n 0123456789 >"conftest.in"
while :
do
cat "conftest.in" "conftest.in" >"conftest.tmp"
mv "conftest.tmp" "conftest.in"
cp "conftest.in" "conftest.nl"
- echo 'GREP' >> "conftest.nl"
+ $as_echo 'GREP' >> "conftest.nl"
"$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break
diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
ac_count=`expr $ac_count + 1`
@@ -4474,74 +4904,60 @@ case `"$ac_path_GREP" --version 2>&1` in
rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
esac
-
- $ac_path_GREP_found && break 3
+ $ac_path_GREP_found && break 3
+ done
done
done
-
-done
IFS=$as_save_IFS
-
-
-fi
-
-GREP="$ac_cv_path_GREP"
-if test -z "$GREP"; then
- { { echo "$as_me:$LINENO: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5
-echo "$as_me: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;}
+ if test -z "$ac_cv_path_GREP"; then
+ { { $as_echo "$as_me:$LINENO: error: no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5
+$as_echo "$as_me: error: no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;}
{ (exit 1); exit 1; }; }
-fi
-
+ fi
else
ac_cv_path_GREP=$GREP
fi
-
fi
-{ echo "$as_me:$LINENO: result: $ac_cv_path_GREP" >&5
-echo "${ECHO_T}$ac_cv_path_GREP" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_path_GREP" >&5
+$as_echo "$ac_cv_path_GREP" >&6; }
GREP="$ac_cv_path_GREP"
-{ echo "$as_me:$LINENO: checking for egrep" >&5
-echo $ECHO_N "checking for egrep... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking for egrep" >&5
+$as_echo_n "checking for egrep... " >&6; }
if test "${ac_cv_path_EGREP+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
if echo a | $GREP -E '(a|b)' >/dev/null 2>&1
then ac_cv_path_EGREP="$GREP -E"
else
- # Extract the first word of "egrep" to use in msg output
-if test -z "$EGREP"; then
-set dummy egrep; ac_prog_name=$2
-if test "${ac_cv_path_EGREP+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
+ if test -z "$EGREP"; then
ac_path_EGREP_found=false
-# Loop through the user's path and test for each of PROGNAME-LIST
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+ # Loop through the user's path and test for each of PROGNAME-LIST
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_prog in egrep; do
- for ac_exec_ext in '' $ac_executable_extensions; do
- ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext"
- { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue
- # Check for GNU ac_path_EGREP and select it if it is found.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext"
+ { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue
+# Check for GNU ac_path_EGREP and select it if it is found.
# Check for GNU $ac_path_EGREP
case `"$ac_path_EGREP" --version 2>&1` in
*GNU*)
ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;;
*)
ac_count=0
- echo $ECHO_N "0123456789$ECHO_C" >"conftest.in"
+ $as_echo_n 0123456789 >"conftest.in"
while :
do
cat "conftest.in" "conftest.in" >"conftest.tmp"
mv "conftest.tmp" "conftest.in"
cp "conftest.in" "conftest.nl"
- echo 'EGREP' >> "conftest.nl"
+ $as_echo 'EGREP' >> "conftest.nl"
"$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break
diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
ac_count=`expr $ac_count + 1`
@@ -4556,34 +4972,113 @@ case `"$ac_path_EGREP" --version 2>&1` in
rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
esac
-
- $ac_path_EGREP_found && break 3
+ $ac_path_EGREP_found && break 3
+ done
done
done
-
-done
IFS=$as_save_IFS
-
-
+ if test -z "$ac_cv_path_EGREP"; then
+ { { $as_echo "$as_me:$LINENO: error: no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5
+$as_echo "$as_me: error: no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;}
+ { (exit 1); exit 1; }; }
+ fi
+else
+ ac_cv_path_EGREP=$EGREP
fi
-EGREP="$ac_cv_path_EGREP"
-if test -z "$EGREP"; then
- { { echo "$as_me:$LINENO: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5
-echo "$as_me: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;}
- { (exit 1); exit 1; }; }
+ fi
fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_path_EGREP" >&5
+$as_echo "$ac_cv_path_EGREP" >&6; }
+ EGREP="$ac_cv_path_EGREP"
+
+{ $as_echo "$as_me:$LINENO: checking for fgrep" >&5
+$as_echo_n "checking for fgrep... " >&6; }
+if test "${ac_cv_path_FGREP+set}" = set; then
+ $as_echo_n "(cached) " >&6
else
- ac_cv_path_EGREP=$EGREP
-fi
+ if echo 'ab*c' | $GREP -F 'ab*c' >/dev/null 2>&1
+ then ac_cv_path_FGREP="$GREP -F"
+ else
+ if test -z "$FGREP"; then
+ ac_path_FGREP_found=false
+ # Loop through the user's path and test for each of PROGNAME-LIST
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_prog in fgrep; do
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ ac_path_FGREP="$as_dir/$ac_prog$ac_exec_ext"
+ { test -f "$ac_path_FGREP" && $as_test_x "$ac_path_FGREP"; } || continue
+# Check for GNU ac_path_FGREP and select it if it is found.
+ # Check for GNU $ac_path_FGREP
+case `"$ac_path_FGREP" --version 2>&1` in
+*GNU*)
+ ac_cv_path_FGREP="$ac_path_FGREP" ac_path_FGREP_found=:;;
+*)
+ ac_count=0
+ $as_echo_n 0123456789 >"conftest.in"
+ while :
+ do
+ cat "conftest.in" "conftest.in" >"conftest.tmp"
+ mv "conftest.tmp" "conftest.in"
+ cp "conftest.in" "conftest.nl"
+ $as_echo 'FGREP' >> "conftest.nl"
+ "$ac_path_FGREP" FGREP < "conftest.nl" >"conftest.out" 2>/dev/null || break
+ diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
+ ac_count=`expr $ac_count + 1`
+ if test $ac_count -gt ${ac_path_FGREP_max-0}; then
+ # Best one so far, save it but keep looking for a better one
+ ac_cv_path_FGREP="$ac_path_FGREP"
+ ac_path_FGREP_max=$ac_count
+ fi
+ # 10*(2^10) chars as input seems more than enough
+ test $ac_count -gt 10 && break
+ done
+ rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
+esac
+ $ac_path_FGREP_found && break 3
+ done
+ done
+done
+IFS=$as_save_IFS
+ if test -z "$ac_cv_path_FGREP"; then
+ { { $as_echo "$as_me:$LINENO: error: no acceptable fgrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5
+$as_echo "$as_me: error: no acceptable fgrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;}
+ { (exit 1); exit 1; }; }
+ fi
+else
+ ac_cv_path_FGREP=$FGREP
+fi
fi
fi
-{ echo "$as_me:$LINENO: result: $ac_cv_path_EGREP" >&5
-echo "${ECHO_T}$ac_cv_path_EGREP" >&6; }
- EGREP="$ac_cv_path_EGREP"
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_path_FGREP" >&5
+$as_echo "$ac_cv_path_FGREP" >&6; }
+ FGREP="$ac_cv_path_FGREP"
+
+
+test -z "$GREP" && GREP=grep
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -4597,8 +5092,8 @@ fi
ac_prog=ld
if test "$GCC" = yes; then
# Check if gcc -print-prog-name=ld gives a path.
- { echo "$as_me:$LINENO: checking for ld used by $CC" >&5
-echo $ECHO_N "checking for ld used by $CC... $ECHO_C" >&6; }
+ { $as_echo "$as_me:$LINENO: checking for ld used by $CC" >&5
+$as_echo_n "checking for ld used by $CC... " >&6; }
case $host in
*-*-mingw*)
# gcc leaves a trailing carriage return which upsets mingw
@@ -4611,9 +5106,9 @@ echo $ECHO_N "checking for ld used by $CC... $ECHO_C" >&6; }
[\\/]* | ?:[\\/]*)
re_direlt='/[^/][^/]*/\.\./'
# Canonicalize the pathname of ld
- ac_prog=`echo $ac_prog| $SED 's%\\\\%/%g'`
- while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do
- ac_prog=`echo $ac_prog| $SED "s%$re_direlt%/%"`
+ ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'`
+ while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do
+ ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"`
done
test -z "$LD" && LD="$ac_prog"
;;
@@ -4627,14 +5122,14 @@ echo $ECHO_N "checking for ld used by $CC... $ECHO_C" >&6; }
;;
esac
elif test "$with_gnu_ld" = yes; then
- { echo "$as_me:$LINENO: checking for GNU ld" >&5
-echo $ECHO_N "checking for GNU ld... $ECHO_C" >&6; }
+ { $as_echo "$as_me:$LINENO: checking for GNU ld" >&5
+$as_echo_n "checking for GNU ld... " >&6; }
else
- { echo "$as_me:$LINENO: checking for non-GNU ld" >&5
-echo $ECHO_N "checking for non-GNU ld... $ECHO_C" >&6; }
+ { $as_echo "$as_me:$LINENO: checking for non-GNU ld" >&5
+$as_echo_n "checking for non-GNU ld... " >&6; }
fi
if test "${lt_cv_path_LD+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
if test -z "$LD"; then
lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
@@ -4664,19 +5159,19 @@ fi
LD="$lt_cv_path_LD"
if test -n "$LD"; then
- { echo "$as_me:$LINENO: result: $LD" >&5
-echo "${ECHO_T}$LD" >&6; }
+ { $as_echo "$as_me:$LINENO: result: $LD" >&5
+$as_echo "$LD" >&6; }
else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
fi
-test -z "$LD" && { { echo "$as_me:$LINENO: error: no acceptable ld found in \$PATH" >&5
-echo "$as_me: error: no acceptable ld found in \$PATH" >&2;}
+test -z "$LD" && { { $as_echo "$as_me:$LINENO: error: no acceptable ld found in \$PATH" >&5
+$as_echo "$as_me: error: no acceptable ld found in \$PATH" >&2;}
{ (exit 1); exit 1; }; }
-{ echo "$as_me:$LINENO: checking if the linker ($LD) is GNU ld" >&5
-echo $ECHO_N "checking if the linker ($LD) is GNU ld... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking if the linker ($LD) is GNU ld" >&5
+$as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; }
if test "${lt_cv_prog_gnu_ld+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
# I'd rather use --version here, but apparently some GNU lds only accept -v.
case `$LD -v 2>&1 </dev/null` in
@@ -4688,40 +5183,22 @@ case `$LD -v 2>&1 </dev/null` in
;;
esac
fi
-{ echo "$as_me:$LINENO: result: $lt_cv_prog_gnu_ld" >&5
-echo "${ECHO_T}$lt_cv_prog_gnu_ld" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $lt_cv_prog_gnu_ld" >&5
+$as_echo "$lt_cv_prog_gnu_ld" >&6; }
with_gnu_ld=$lt_cv_prog_gnu_ld
-{ echo "$as_me:$LINENO: checking for $LD option to reload object files" >&5
-echo $ECHO_N "checking for $LD option to reload object files... $ECHO_C" >&6; }
-if test "${lt_cv_ld_reload_flag+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- lt_cv_ld_reload_flag='-r'
-fi
-{ echo "$as_me:$LINENO: result: $lt_cv_ld_reload_flag" >&5
-echo "${ECHO_T}$lt_cv_ld_reload_flag" >&6; }
-reload_flag=$lt_cv_ld_reload_flag
-case $reload_flag in
-"" | " "*) ;;
-*) reload_flag=" $reload_flag" ;;
-esac
-reload_cmds='$LD$reload_flag -o $output$reload_objs'
-case $host_os in
- darwin*)
- if test "$GCC" = yes; then
- reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs'
- else
- reload_cmds='$LD$reload_flag -o $output$reload_objs'
- fi
- ;;
-esac
-{ echo "$as_me:$LINENO: checking for BSD-compatible nm" >&5
-echo $ECHO_N "checking for BSD-compatible nm... $ECHO_C" >&6; }
+
+
+
+
+
+
+{ $as_echo "$as_me:$LINENO: checking for BSD- or MS-compatible name lister (nm)" >&5
+$as_echo_n "checking for BSD- or MS-compatible name lister (nm)... " >&6; }
if test "${lt_cv_path_NM+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
if test -n "$NM"; then
# Let the user override the test.
@@ -4764,28 +5241,490 @@ else
done
IFS="$lt_save_ifs"
done
- test -z "$lt_cv_path_NM" && lt_cv_path_NM=nm
+ : ${lt_cv_path_NM=no}
+fi
+fi
+{ $as_echo "$as_me:$LINENO: result: $lt_cv_path_NM" >&5
+$as_echo "$lt_cv_path_NM" >&6; }
+if test "$lt_cv_path_NM" != "no"; then
+ NM="$lt_cv_path_NM"
+else
+ # Didn't find any BSD compatible name lister, look for dumpbin.
+ if test -n "$ac_tool_prefix"; then
+ for ac_prog in "dumpbin -symbols" "link -dump -symbols"
+ do
+ # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
+set dummy $ac_tool_prefix$ac_prog; ac_word=$2
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_DUMPBIN+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$DUMPBIN"; then
+ ac_cv_prog_DUMPBIN="$DUMPBIN" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_DUMPBIN="$ac_tool_prefix$ac_prog"
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+DUMPBIN=$ac_cv_prog_DUMPBIN
+if test -n "$DUMPBIN"; then
+ { $as_echo "$as_me:$LINENO: result: $DUMPBIN" >&5
+$as_echo "$DUMPBIN" >&6; }
+else
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+ test -n "$DUMPBIN" && break
+ done
+fi
+if test -z "$DUMPBIN"; then
+ ac_ct_DUMPBIN=$DUMPBIN
+ for ac_prog in "dumpbin -symbols" "link -dump -symbols"
+do
+ # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_ac_ct_DUMPBIN+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$ac_ct_DUMPBIN"; then
+ ac_cv_prog_ac_ct_DUMPBIN="$ac_ct_DUMPBIN" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_ac_ct_DUMPBIN="$ac_prog"
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
+
+fi
fi
+ac_ct_DUMPBIN=$ac_cv_prog_ac_ct_DUMPBIN
+if test -n "$ac_ct_DUMPBIN"; then
+ { $as_echo "$as_me:$LINENO: result: $ac_ct_DUMPBIN" >&5
+$as_echo "$ac_ct_DUMPBIN" >&6; }
+else
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+ test -n "$ac_ct_DUMPBIN" && break
+done
+
+ if test "x$ac_ct_DUMPBIN" = x; then
+ DUMPBIN=":"
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+ DUMPBIN=$ac_ct_DUMPBIN
+ fi
+fi
+
+
+ if test "$DUMPBIN" != ":"; then
+ NM="$DUMPBIN"
+ fi
+fi
+test -z "$NM" && NM=nm
+
+
+
+
+
+
+{ $as_echo "$as_me:$LINENO: checking the name lister ($NM) interface" >&5
+$as_echo_n "checking the name lister ($NM) interface... " >&6; }
+if test "${lt_cv_nm_interface+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ lt_cv_nm_interface="BSD nm"
+ echo "int some_variable = 0;" > conftest.$ac_ext
+ (eval echo "\"\$as_me:5372: $ac_compile\"" >&5)
+ (eval "$ac_compile" 2>conftest.err)
+ cat conftest.err >&5
+ (eval echo "\"\$as_me:5375: $NM \\\"conftest.$ac_objext\\\"\"" >&5)
+ (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out)
+ cat conftest.err >&5
+ (eval echo "\"\$as_me:5378: output\"" >&5)
+ cat conftest.out >&5
+ if $GREP 'External.*some_variable' conftest.out > /dev/null; then
+ lt_cv_nm_interface="MS dumpbin"
+ fi
+ rm -f conftest*
fi
-{ echo "$as_me:$LINENO: result: $lt_cv_path_NM" >&5
-echo "${ECHO_T}$lt_cv_path_NM" >&6; }
-NM="$lt_cv_path_NM"
+{ $as_echo "$as_me:$LINENO: result: $lt_cv_nm_interface" >&5
+$as_echo "$lt_cv_nm_interface" >&6; }
-{ echo "$as_me:$LINENO: checking whether ln -s works" >&5
-echo $ECHO_N "checking whether ln -s works... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking whether ln -s works" >&5
+$as_echo_n "checking whether ln -s works... " >&6; }
LN_S=$as_ln_s
if test "$LN_S" = "ln -s"; then
- { echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; }
+ { $as_echo "$as_me:$LINENO: result: yes" >&5
+$as_echo "yes" >&6; }
+else
+ { $as_echo "$as_me:$LINENO: result: no, using $LN_S" >&5
+$as_echo "no, using $LN_S" >&6; }
+fi
+
+# find the maximum length of command line arguments
+{ $as_echo "$as_me:$LINENO: checking the maximum length of command line arguments" >&5
+$as_echo_n "checking the maximum length of command line arguments... " >&6; }
+if test "${lt_cv_sys_max_cmd_len+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ i=0
+ teststring="ABCD"
+
+ case $build_os in
+ msdosdjgpp*)
+ # On DJGPP, this test can blow up pretty badly due to problems in libc
+ # (any single argument exceeding 2000 bytes causes a buffer overrun
+ # during glob expansion). Even if it were fixed, the result of this
+ # check would be larger than it should be.
+ lt_cv_sys_max_cmd_len=12288; # 12K is about right
+ ;;
+
+ gnu*)
+ # Under GNU Hurd, this test is not required because there is
+ # no limit to the length of command line arguments.
+ # Libtool will interpret -1 as no limit whatsoever
+ lt_cv_sys_max_cmd_len=-1;
+ ;;
+
+ cygwin* | mingw* | cegcc*)
+ # On Win9x/ME, this test blows up -- it succeeds, but takes
+ # about 5 minutes as the teststring grows exponentially.
+ # Worse, since 9x/ME are not pre-emptively multitasking,
+ # you end up with a "frozen" computer, even though with patience
+ # the test eventually succeeds (with a max line length of 256k).
+ # Instead, let's just punt: use the minimum linelength reported by
+ # all of the supported platforms: 8192 (on NT/2K/XP).
+ lt_cv_sys_max_cmd_len=8192;
+ ;;
+
+ amigaos*)
+ # On AmigaOS with pdksh, this test takes hours, literally.
+ # So we just punt and use a minimum line length of 8192.
+ lt_cv_sys_max_cmd_len=8192;
+ ;;
+
+ netbsd* | freebsd* | openbsd* | darwin* | dragonfly*)
+ # This has been around since 386BSD, at least. Likely further.
+ if test -x /sbin/sysctl; then
+ lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax`
+ elif test -x /usr/sbin/sysctl; then
+ lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax`
+ else
+ lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs
+ fi
+ # And add a safety zone
+ lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
+ lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
+ ;;
+
+ interix*)
+ # We know the value 262144 and hardcode it with a safety zone (like BSD)
+ lt_cv_sys_max_cmd_len=196608
+ ;;
+
+ osf*)
+ # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure
+ # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not
+ # nice to cause kernel panics so lets avoid the loop below.
+ # First set a reasonable default.
+ lt_cv_sys_max_cmd_len=16384
+ #
+ if test -x /sbin/sysconfig; then
+ case `/sbin/sysconfig -q proc exec_disable_arg_limit` in
+ *1*) lt_cv_sys_max_cmd_len=-1 ;;
+ esac
+ fi
+ ;;
+ sco3.2v5*)
+ lt_cv_sys_max_cmd_len=102400
+ ;;
+ sysv5* | sco5v6* | sysv4.2uw2*)
+ kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null`
+ if test -n "$kargmax"; then
+ lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[ ]//'`
+ else
+ lt_cv_sys_max_cmd_len=32768
+ fi
+ ;;
+ *)
+ lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null`
+ if test -n "$lt_cv_sys_max_cmd_len"; then
+ lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
+ lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
+ else
+ # Make teststring a little bigger before we do anything with it.
+ # a 1K string should be a reasonable start.
+ for i in 1 2 3 4 5 6 7 8 ; do
+ teststring=$teststring$teststring
+ done
+ SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}}
+ # If test is not a shell built-in, we'll probably end up computing a
+ # maximum length that is only half of the actual maximum length, but
+ # we can't tell.
+ while { test "X"`$SHELL $0 --fallback-echo "X$teststring$teststring" 2>/dev/null` \
+ = "XX$teststring$teststring"; } >/dev/null 2>&1 &&
+ test $i != 17 # 1/2 MB should be enough
+ do
+ i=`expr $i + 1`
+ teststring=$teststring$teststring
+ done
+ # Only check the string length outside the loop.
+ lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1`
+ teststring=
+ # Add a significant safety factor because C++ compilers can tack on
+ # massive amounts of additional arguments before passing them to the
+ # linker. It appears as though 1/2 is a usable value.
+ lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2`
+ fi
+ ;;
+ esac
+
+fi
+
+if test -n $lt_cv_sys_max_cmd_len ; then
+ { $as_echo "$as_me:$LINENO: result: $lt_cv_sys_max_cmd_len" >&5
+$as_echo "$lt_cv_sys_max_cmd_len" >&6; }
+else
+ { $as_echo "$as_me:$LINENO: result: none" >&5
+$as_echo "none" >&6; }
+fi
+max_cmd_len=$lt_cv_sys_max_cmd_len
+
+
+
+
+
+
+: ${CP="cp -f"}
+: ${MV="mv -f"}
+: ${RM="rm -f"}
+
+{ $as_echo "$as_me:$LINENO: checking whether the shell understands some XSI constructs" >&5
+$as_echo_n "checking whether the shell understands some XSI constructs... " >&6; }
+# Try some XSI features
+xsi_shell=no
+( _lt_dummy="a/b/c"
+ test "${_lt_dummy##*/},${_lt_dummy%/*},"${_lt_dummy%"$_lt_dummy"}, \
+ = c,a/b,, \
+ && eval 'test $(( 1 + 1 )) -eq 2 \
+ && test "${#_lt_dummy}" -eq 5' ) >/dev/null 2>&1 \
+ && xsi_shell=yes
+{ $as_echo "$as_me:$LINENO: result: $xsi_shell" >&5
+$as_echo "$xsi_shell" >&6; }
+
+
+{ $as_echo "$as_me:$LINENO: checking whether the shell understands \"+=\"" >&5
+$as_echo_n "checking whether the shell understands \"+=\"... " >&6; }
+lt_shell_append=no
+( foo=bar; set foo baz; eval "$1+=\$2" && test "$foo" = barbaz ) \
+ >/dev/null 2>&1 \
+ && lt_shell_append=yes
+{ $as_echo "$as_me:$LINENO: result: $lt_shell_append" >&5
+$as_echo "$lt_shell_append" >&6; }
+
+
+if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
+ lt_unset=unset
+else
+ lt_unset=false
+fi
+
+
+
+
+
+# test EBCDIC or ASCII
+case `echo X|tr X '\101'` in
+ A) # ASCII based system
+ # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr
+ lt_SP2NL='tr \040 \012'
+ lt_NL2SP='tr \015\012 \040\040'
+ ;;
+ *) # EBCDIC based system
+ lt_SP2NL='tr \100 \n'
+ lt_NL2SP='tr \r\n \100\100'
+ ;;
+esac
+
+
+
+
+
+
+
+
+
+{ $as_echo "$as_me:$LINENO: checking for $LD option to reload object files" >&5
+$as_echo_n "checking for $LD option to reload object files... " >&6; }
+if test "${lt_cv_ld_reload_flag+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ lt_cv_ld_reload_flag='-r'
+fi
+{ $as_echo "$as_me:$LINENO: result: $lt_cv_ld_reload_flag" >&5
+$as_echo "$lt_cv_ld_reload_flag" >&6; }
+reload_flag=$lt_cv_ld_reload_flag
+case $reload_flag in
+"" | " "*) ;;
+*) reload_flag=" $reload_flag" ;;
+esac
+reload_cmds='$LD$reload_flag -o $output$reload_objs'
+case $host_os in
+ darwin*)
+ if test "$GCC" = yes; then
+ reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs'
+ else
+ reload_cmds='$LD$reload_flag -o $output$reload_objs'
+ fi
+ ;;
+esac
+
+
+
+
+
+
+
+
+
+if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}objdump", so it can be a program name with args.
+set dummy ${ac_tool_prefix}objdump; ac_word=$2
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_OBJDUMP+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$OBJDUMP"; then
+ ac_cv_prog_OBJDUMP="$OBJDUMP" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_OBJDUMP="${ac_tool_prefix}objdump"
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+OBJDUMP=$ac_cv_prog_OBJDUMP
+if test -n "$OBJDUMP"; then
+ { $as_echo "$as_me:$LINENO: result: $OBJDUMP" >&5
+$as_echo "$OBJDUMP" >&6; }
+else
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_OBJDUMP"; then
+ ac_ct_OBJDUMP=$OBJDUMP
+ # Extract the first word of "objdump", so it can be a program name with args.
+set dummy objdump; ac_word=$2
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_ac_ct_OBJDUMP+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$ac_ct_OBJDUMP"; then
+ ac_cv_prog_ac_ct_OBJDUMP="$ac_ct_OBJDUMP" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_ac_ct_OBJDUMP="objdump"
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_OBJDUMP=$ac_cv_prog_ac_ct_OBJDUMP
+if test -n "$ac_ct_OBJDUMP"; then
+ { $as_echo "$as_me:$LINENO: result: $ac_ct_OBJDUMP" >&5
+$as_echo "$ac_ct_OBJDUMP" >&6; }
else
- { echo "$as_me:$LINENO: result: no, using $LN_S" >&5
-echo "${ECHO_T}no, using $LN_S" >&6; }
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
fi
-{ echo "$as_me:$LINENO: checking how to recognize dependent libraries" >&5
-echo $ECHO_N "checking how to recognize dependent libraries... $ECHO_C" >&6; }
+ if test "x$ac_ct_OBJDUMP" = x; then
+ OBJDUMP="false"
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+ OBJDUMP=$ac_ct_OBJDUMP
+ fi
+else
+ OBJDUMP="$ac_cv_prog_OBJDUMP"
+fi
+
+test -z "$OBJDUMP" && OBJDUMP=objdump
+
+
+
+
+
+
+{ $as_echo "$as_me:$LINENO: checking how to recognize dependent libraries" >&5
+$as_echo_n "checking how to recognize dependent libraries... " >&6; }
if test "${lt_cv_deplibs_check_method+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
lt_cv_file_magic_cmd='$MAGIC_CMD'
lt_cv_file_magic_test_file=
@@ -4802,7 +5741,7 @@ lt_cv_deplibs_check_method='unknown'
# whether `pass_all' will *always* work, you probably want this one.
case $host_os in
-aix4* | aix5*)
+aix[4-9]*)
lt_cv_deplibs_check_method=pass_all
;;
@@ -4835,12 +5774,18 @@ mingw* | pw32*)
fi
;;
+cegcc)
+ # use the weaker test based on 'objdump'. See mingw*.
+ lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?'
+ lt_cv_file_magic_cmd='$OBJDUMP -f'
+ ;;
+
darwin* | rhapsody*)
lt_cv_deplibs_check_method=pass_all
;;
freebsd* | dragonfly*)
- if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
+ if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
case $host_cpu in
i*86 )
# Not sure whether the presence of OpenBSD here was a mistake.
@@ -4897,8 +5842,8 @@ linux* | k*bsd*-gnu)
lt_cv_deplibs_check_method=pass_all
;;
-netbsd*)
- if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
+netbsd* | netbsdelf*-gnu)
+ if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$'
else
lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|_pic\.a)$'
@@ -4911,12 +5856,12 @@ newos6*)
lt_cv_file_magic_test_file=/usr/lib/libnls.so
;;
-nto-qnx*)
- lt_cv_deplibs_check_method=unknown
+*nto* | *qnx*)
+ lt_cv_deplibs_check_method=pass_all
;;
openbsd*)
- if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+ if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|\.so|_pic\.a)$'
else
lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$'
@@ -4935,6 +5880,10 @@ solaris*)
lt_cv_deplibs_check_method=pass_all
;;
+sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
sysv4 | sysv4.3*)
case $host_vendor in
motorola)
@@ -4962,14 +5911,14 @@ sysv4 | sysv4.3*)
esac
;;
-sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
+tpf*)
lt_cv_deplibs_check_method=pass_all
;;
esac
fi
-{ echo "$as_me:$LINENO: result: $lt_cv_deplibs_check_method" >&5
-echo "${ECHO_T}$lt_cv_deplibs_check_method" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $lt_cv_deplibs_check_method" >&5
+$as_echo "$lt_cv_deplibs_check_method" >&6; }
file_magic_cmd=$lt_cv_file_magic_cmd
deplibs_check_method=$lt_cv_deplibs_check_method
test -z "$deplibs_check_method" && deplibs_check_method=unknown
@@ -4977,6 +5926,367 @@ test -z "$deplibs_check_method" && deplibs_check_method=unknown
+
+
+
+
+
+
+
+
+if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args.
+set dummy ${ac_tool_prefix}ar; ac_word=$2
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_AR+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$AR"; then
+ ac_cv_prog_AR="$AR" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_AR="${ac_tool_prefix}ar"
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+AR=$ac_cv_prog_AR
+if test -n "$AR"; then
+ { $as_echo "$as_me:$LINENO: result: $AR" >&5
+$as_echo "$AR" >&6; }
+else
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_AR"; then
+ ac_ct_AR=$AR
+ # Extract the first word of "ar", so it can be a program name with args.
+set dummy ar; ac_word=$2
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_ac_ct_AR+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$ac_ct_AR"; then
+ ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_ac_ct_AR="ar"
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_AR=$ac_cv_prog_ac_ct_AR
+if test -n "$ac_ct_AR"; then
+ { $as_echo "$as_me:$LINENO: result: $ac_ct_AR" >&5
+$as_echo "$ac_ct_AR" >&6; }
+else
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+ if test "x$ac_ct_AR" = x; then
+ AR="false"
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+ AR=$ac_ct_AR
+ fi
+else
+ AR="$ac_cv_prog_AR"
+fi
+
+test -z "$AR" && AR=ar
+test -z "$AR_FLAGS" && AR_FLAGS=cru
+
+
+
+
+
+
+
+
+
+
+
+if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
+set dummy ${ac_tool_prefix}strip; ac_word=$2
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_STRIP+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$STRIP"; then
+ ac_cv_prog_STRIP="$STRIP" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_STRIP="${ac_tool_prefix}strip"
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+STRIP=$ac_cv_prog_STRIP
+if test -n "$STRIP"; then
+ { $as_echo "$as_me:$LINENO: result: $STRIP" >&5
+$as_echo "$STRIP" >&6; }
+else
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_STRIP"; then
+ ac_ct_STRIP=$STRIP
+ # Extract the first word of "strip", so it can be a program name with args.
+set dummy strip; ac_word=$2
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$ac_ct_STRIP"; then
+ ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_ac_ct_STRIP="strip"
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP
+if test -n "$ac_ct_STRIP"; then
+ { $as_echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5
+$as_echo "$ac_ct_STRIP" >&6; }
+else
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+ if test "x$ac_ct_STRIP" = x; then
+ STRIP=":"
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+ STRIP=$ac_ct_STRIP
+ fi
+else
+ STRIP="$ac_cv_prog_STRIP"
+fi
+
+test -z "$STRIP" && STRIP=:
+
+
+
+
+
+
+if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
+set dummy ${ac_tool_prefix}ranlib; ac_word=$2
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_RANLIB+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$RANLIB"; then
+ ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+RANLIB=$ac_cv_prog_RANLIB
+if test -n "$RANLIB"; then
+ { $as_echo "$as_me:$LINENO: result: $RANLIB" >&5
+$as_echo "$RANLIB" >&6; }
+else
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_RANLIB"; then
+ ac_ct_RANLIB=$RANLIB
+ # Extract the first word of "ranlib", so it can be a program name with args.
+set dummy ranlib; ac_word=$2
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$ac_ct_RANLIB"; then
+ ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_ac_ct_RANLIB="ranlib"
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB
+if test -n "$ac_ct_RANLIB"; then
+ { $as_echo "$as_me:$LINENO: result: $ac_ct_RANLIB" >&5
+$as_echo "$ac_ct_RANLIB" >&6; }
+else
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+ if test "x$ac_ct_RANLIB" = x; then
+ RANLIB=":"
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+ RANLIB=$ac_ct_RANLIB
+ fi
+else
+ RANLIB="$ac_cv_prog_RANLIB"
+fi
+
+test -z "$RANLIB" && RANLIB=:
+
+
+
+
+
+
+# Determine commands to create old-style static archives.
+old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs'
+old_postinstall_cmds='chmod 644 $oldlib'
+old_postuninstall_cmds=
+
+if test -n "$RANLIB"; then
+ case $host_os in
+ openbsd*)
+ old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib"
+ ;;
+ *)
+ old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib"
+ ;;
+ esac
+ old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib"
+fi
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
# If no C compiler was specified, use CC.
LTCC=${LTCC-"$CC"}
@@ -4987,6 +6297,256 @@ LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
compiler=$CC
+# Check for command to grab the raw symbol name followed by C symbol from nm.
+{ $as_echo "$as_me:$LINENO: checking command to parse $NM output from $compiler object" >&5
+$as_echo_n "checking command to parse $NM output from $compiler object... " >&6; }
+if test "${lt_cv_sys_global_symbol_pipe+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+
+# These are sane defaults that work on at least a few old systems.
+# [They come from Ultrix. What could be older than Ultrix?!! ;)]
+
+# Character class describing NM global symbol codes.
+symcode='[BCDEGRST]'
+
+# Regexp to match symbols that can be accessed directly from C.
+sympat='\([_A-Za-z][_A-Za-z0-9]*\)'
+
+# Define system-specific variables.
+case $host_os in
+aix*)
+ symcode='[BCDT]'
+ ;;
+cygwin* | mingw* | pw32* | cegcc*)
+ symcode='[ABCDGISTW]'
+ ;;
+hpux*)
+ if test "$host_cpu" = ia64; then
+ symcode='[ABCDEGRST]'
+ fi
+ ;;
+irix* | nonstopux*)
+ symcode='[BCDEGRST]'
+ ;;
+osf*)
+ symcode='[BCDEGQRST]'
+ ;;
+solaris*)
+ symcode='[BDRT]'
+ ;;
+sco3.2v5*)
+ symcode='[DT]'
+ ;;
+sysv4.2uw2*)
+ symcode='[DT]'
+ ;;
+sysv5* | sco5v6* | unixware* | OpenUNIX*)
+ symcode='[ABDT]'
+ ;;
+sysv4)
+ symcode='[DFNSTU]'
+ ;;
+esac
+
+# If we're using GNU nm, then use its standard symbol codes.
+case `$NM -V 2>&1` in
+*GNU* | *'with BFD'*)
+ symcode='[ABCDGIRSTW]' ;;
+esac
+
+# Transform an extracted symbol line into a proper C declaration.
+# Some systems (esp. on ia64) link data and code symbols differently,
+# so use this general approach.
+lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
+
+# Transform an extracted symbol line into symbol name and symbol address
+lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\) $/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"\2\", (void *) \&\2},/p'"
+lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n -e 's/^: \([^ ]*\) $/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([^ ]*\) \(lib[^ ]*\)$/ {\"\2\", (void *) \&\2},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"lib\2\", (void *) \&\2},/p'"
+
+# Handle CRLF in mingw tool chain
+opt_cr=
+case $build_os in
+mingw*)
+ opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp
+ ;;
+esac
+
+# Try without a prefix underscore, then with it.
+for ac_symprfx in "" "_"; do
+
+ # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol.
+ symxfrm="\\1 $ac_symprfx\\2 \\2"
+
+ # Write the raw and C identifiers.
+ if test "$lt_cv_nm_interface" = "MS dumpbin"; then
+ # Fake it for dumpbin and say T for any non-static function
+ # and D for any global variable.
+ # Also find C++ and __fastcall symbols from MSVC++,
+ # which start with @ or ?.
+ lt_cv_sys_global_symbol_pipe="$AWK '"\
+" {last_section=section; section=\$ 3};"\
+" /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\
+" \$ 0!~/External *\|/{next};"\
+" / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\
+" {if(hide[section]) next};"\
+" {f=0}; \$ 0~/\(\).*\|/{f=1}; {printf f ? \"T \" : \"D \"};"\
+" {split(\$ 0, a, /\||\r/); split(a[2], s)};"\
+" s[1]~/^[@?]/{print s[1], s[1]; next};"\
+" s[1]~prfx {split(s[1],t,\"@\"); print t[1], substr(t[1],length(prfx))}"\
+" ' prfx=^$ac_symprfx"
+ else
+ lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[ ]\($symcode$symcode*\)[ ][ ]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'"
+ fi
+
+ # Check to see that the pipe works correctly.
+ pipe_works=no
+
+ rm -f conftest*
+ cat > conftest.$ac_ext <<_LT_EOF
+#ifdef __cplusplus
+extern "C" {
+#endif
+char nm_test_var;
+void nm_test_func(void);
+void nm_test_func(void){}
+#ifdef __cplusplus
+}
+#endif
+int main(){nm_test_var='a';nm_test_func();return(0);}
+_LT_EOF
+
+ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; then
+ # Now try to grab the symbols.
+ nlist=conftest.nm
+ if { (eval echo "$as_me:$LINENO: \"$NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist\"") >&5
+ (eval $NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist) 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && test -s "$nlist"; then
+ # Try sorting and uniquifying the output.
+ if sort "$nlist" | uniq > "$nlist"T; then
+ mv -f "$nlist"T "$nlist"
+ else
+ rm -f "$nlist"T
+ fi
+
+ # Make sure that we snagged all the symbols we need.
+ if $GREP ' nm_test_var$' "$nlist" >/dev/null; then
+ if $GREP ' nm_test_func$' "$nlist" >/dev/null; then
+ cat <<_LT_EOF > conftest.$ac_ext
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+_LT_EOF
+ # Now generate the symbol file.
+ eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext'
+
+ cat <<_LT_EOF >> conftest.$ac_ext
+
+/* The mapping between symbol names and symbols. */
+const struct {
+ const char *name;
+ void *address;
+}
+lt__PROGRAM__LTX_preloaded_symbols[] =
+{
+ { "@PROGRAM@", (void *) 0 },
+_LT_EOF
+ $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (void *) \&\2},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext
+ cat <<\_LT_EOF >> conftest.$ac_ext
+ {0, (void *) 0}
+};
+
+/* This works around a problem in FreeBSD linker */
+#ifdef FREEBSD_WORKAROUND
+static const void *lt_preloaded_setup() {
+ return lt__PROGRAM__LTX_preloaded_symbols;
+}
+#endif
+
+#ifdef __cplusplus
+}
+#endif
+_LT_EOF
+ # Now try linking the two files.
+ mv conftest.$ac_objext conftstm.$ac_objext
+ lt_save_LIBS="$LIBS"
+ lt_save_CFLAGS="$CFLAGS"
+ LIBS="conftstm.$ac_objext"
+ CFLAGS="$CFLAGS$lt_prog_compiler_no_builtin_flag"
+ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && test -s conftest${ac_exeext}; then
+ pipe_works=yes
+ fi
+ LIBS="$lt_save_LIBS"
+ CFLAGS="$lt_save_CFLAGS"
+ else
+ echo "cannot find nm_test_func in $nlist" >&5
+ fi
+ else
+ echo "cannot find nm_test_var in $nlist" >&5
+ fi
+ else
+ echo "cannot run $lt_cv_sys_global_symbol_pipe" >&5
+ fi
+ else
+ echo "$progname: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ fi
+ rm -rf conftest* conftst*
+
+ # Do not use the global_symbol_pipe unless it works.
+ if test "$pipe_works" = yes; then
+ break
+ else
+ lt_cv_sys_global_symbol_pipe=
+ fi
+done
+
+fi
+
+if test -z "$lt_cv_sys_global_symbol_pipe"; then
+ lt_cv_sys_global_symbol_to_cdecl=
+fi
+if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then
+ { $as_echo "$as_me:$LINENO: result: failed" >&5
+$as_echo "failed" >&6; }
+else
+ { $as_echo "$as_me:$LINENO: result: ok" >&5
+$as_echo "ok" >&6; }
+fi
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
# Check whether --enable-libtool-lock was given.
if test "${enable_libtool_lock+set}" = set; then
enableval=$enable_libtool_lock;
@@ -5003,105 +6563,104 @@ ia64-*-hpux*)
if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
(eval $ac_compile) 2>&5
ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; then
case `/usr/bin/file conftest.$ac_objext` in
- *ELF-32*)
- HPUX_IA64_MODE="32"
- ;;
- *ELF-64*)
- HPUX_IA64_MODE="64"
- ;;
+ *ELF-32*)
+ HPUX_IA64_MODE="32"
+ ;;
+ *ELF-64*)
+ HPUX_IA64_MODE="64"
+ ;;
esac
fi
rm -rf conftest*
;;
*-*-irix6*)
# Find out which ABI we are using.
- echo '#line 5021 "configure"' > conftest.$ac_ext
+ echo '#line 6581 "configure"' > conftest.$ac_ext
if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
(eval $ac_compile) 2>&5
ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; then
- if test "$lt_cv_prog_gnu_ld" = yes; then
- case `/usr/bin/file conftest.$ac_objext` in
- *32-bit*)
- LD="${LD-ld} -melf32bsmip"
- ;;
- *N32*)
- LD="${LD-ld} -melf32bmipn32"
- ;;
- *64-bit*)
- LD="${LD-ld} -melf64bmip"
- ;;
- esac
- else
- case `/usr/bin/file conftest.$ac_objext` in
- *32-bit*)
- LD="${LD-ld} -32"
- ;;
- *N32*)
- LD="${LD-ld} -n32"
- ;;
- *64-bit*)
- LD="${LD-ld} -64"
- ;;
- esac
- fi
+ if test "$lt_cv_prog_gnu_ld" = yes; then
+ case `/usr/bin/file conftest.$ac_objext` in
+ *32-bit*)
+ LD="${LD-ld} -melf32bsmip"
+ ;;
+ *N32*)
+ LD="${LD-ld} -melf32bmipn32"
+ ;;
+ *64-bit*)
+ LD="${LD-ld} -melf64bmip"
+ ;;
+ esac
+ else
+ case `/usr/bin/file conftest.$ac_objext` in
+ *32-bit*)
+ LD="${LD-ld} -32"
+ ;;
+ *N32*)
+ LD="${LD-ld} -n32"
+ ;;
+ *64-bit*)
+ LD="${LD-ld} -64"
+ ;;
+ esac
+ fi
fi
rm -rf conftest*
;;
x86_64-*kfreebsd*-gnu|x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*| \
-s390*-*linux*|sparc*-*linux*)
+s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
# Find out which ABI we are using.
echo 'int i;' > conftest.$ac_ext
if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
(eval $ac_compile) 2>&5
ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; then
case `/usr/bin/file conftest.o` in
- *32-bit*)
- case $host in
- x86_64-*kfreebsd*-gnu)
- LD="${LD-ld} -m elf_i386_fbsd"
- ;;
- x86_64-*linux*)
- LD="${LD-ld} -m elf_i386"
- ;;
- ppc64-*linux*|powerpc64-*linux*)
- LD="${LD-ld} -m elf32ppclinux"
- ;;
- s390x-*linux*)
- LD="${LD-ld} -m elf_s390"
- ;;
- sparc64-*linux*)
- LD="${LD-ld} -m elf32_sparc"
- ;;
- esac
- ;;
- *64-bit*)
- libsuff=64
- case $host in
- x86_64-*kfreebsd*-gnu)
- LD="${LD-ld} -m elf_x86_64_fbsd"
- ;;
- x86_64-*linux*)
- LD="${LD-ld} -m elf_x86_64"
- ;;
- ppc*-*linux*|powerpc*-*linux*)
- LD="${LD-ld} -m elf64ppc"
- ;;
- s390*-*linux*)
- LD="${LD-ld} -m elf64_s390"
- ;;
- sparc*-*linux*)
- LD="${LD-ld} -m elf64_sparc"
- ;;
- esac
- ;;
+ *32-bit*)
+ case $host in
+ x86_64-*kfreebsd*-gnu)
+ LD="${LD-ld} -m elf_i386_fbsd"
+ ;;
+ x86_64-*linux*)
+ LD="${LD-ld} -m elf_i386"
+ ;;
+ ppc64-*linux*|powerpc64-*linux*)
+ LD="${LD-ld} -m elf32ppclinux"
+ ;;
+ s390x-*linux*)
+ LD="${LD-ld} -m elf_s390"
+ ;;
+ sparc64-*linux*)
+ LD="${LD-ld} -m elf32_sparc"
+ ;;
+ esac
+ ;;
+ *64-bit*)
+ case $host in
+ x86_64-*kfreebsd*-gnu)
+ LD="${LD-ld} -m elf_x86_64_fbsd"
+ ;;
+ x86_64-*linux*)
+ LD="${LD-ld} -m elf_x86_64"
+ ;;
+ ppc*-*linux*|powerpc*-*linux*)
+ LD="${LD-ld} -m elf64ppc"
+ ;;
+ s390*-*linux*|s390*-*tpf*)
+ LD="${LD-ld} -m elf64_s390"
+ ;;
+ sparc*-*linux*)
+ LD="${LD-ld} -m elf64_sparc"
+ ;;
+ esac
+ ;;
esac
fi
rm -rf conftest*
@@ -5111,10 +6670,10 @@ s390*-*linux*|sparc*-*linux*)
# On SCO OpenServer 5, we need -belf to get full-featured binaries.
SAVE_CFLAGS="$CFLAGS"
CFLAGS="$CFLAGS -belf"
- { echo "$as_me:$LINENO: checking whether the C compiler needs -belf" >&5
-echo $ECHO_N "checking whether the C compiler needs -belf... $ECHO_C" >&6; }
+ { $as_echo "$as_me:$LINENO: checking whether the C compiler needs -belf" >&5
+$as_echo_n "checking whether the C compiler needs -belf... " >&6; }
if test "${lt_cv_cc_needs_belf+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
ac_ext=c
ac_cpp='$CPP $CPPFLAGS'
@@ -5143,26 +6702,30 @@ case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
(eval "$ac_link") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
test -z "$ac_c_werror_flag" ||
test ! -s conftest.err
- } && test -s conftest$ac_exeext &&
- $as_test_x conftest$ac_exeext; then
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
lt_cv_cc_needs_belf=yes
else
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
lt_cv_cc_needs_belf=no
fi
+rm -rf conftest.dSYM
rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
conftest$ac_exeext conftest.$ac_ext
ac_ext=c
@@ -5172,8 +6735,8 @@ ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $
ac_compiler_gnu=$ac_cv_c_compiler_gnu
fi
-{ echo "$as_me:$LINENO: result: $lt_cv_cc_needs_belf" >&5
-echo "${ECHO_T}$lt_cv_cc_needs_belf" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $lt_cv_cc_needs_belf" >&5
+$as_echo "$lt_cv_cc_needs_belf" >&6; }
if test x"$lt_cv_cc_needs_belf" != x"yes"; then
# this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf
CFLAGS="$SAVE_CFLAGS"
@@ -5185,31 +6748,40 @@ sparc*-*solaris*)
if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
(eval $ac_compile) 2>&5
ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; then
case `/usr/bin/file conftest.o` in
*64-bit*)
case $lt_cv_prog_gnu_ld in
yes*) LD="${LD-ld} -m elf64_sparc" ;;
- *) LD="${LD-ld} -64" ;;
+ *)
+ if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then
+ LD="${LD-ld} -64"
+ fi
+ ;;
esac
;;
esac
fi
rm -rf conftest*
;;
+esac
-*-*-cygwin* | *-*-mingw* | *-*-pw32*)
- if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}dlltool", so it can be a program name with args.
-set dummy ${ac_tool_prefix}dlltool; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
-if test "${ac_cv_prog_DLLTOOL+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+need_locks="$enable_libtool_lock"
+
+
+ case $host_os in
+ rhapsody* | darwin*)
+ if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}dsymutil", so it can be a program name with args.
+set dummy ${ac_tool_prefix}dsymutil; ac_word=$2
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_DSYMUTIL+set}" = set; then
+ $as_echo_n "(cached) " >&6
else
- if test -n "$DLLTOOL"; then
- ac_cv_prog_DLLTOOL="$DLLTOOL" # Let the user override the test.
+ if test -n "$DSYMUTIL"; then
+ ac_cv_prog_DSYMUTIL="$DSYMUTIL" # Let the user override the test.
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
@@ -5218,8 +6790,8 @@ do
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_DLLTOOL="${ac_tool_prefix}dlltool"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ ac_cv_prog_DSYMUTIL="${ac_tool_prefix}dsymutil"
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
@@ -5228,28 +6800,28 @@ IFS=$as_save_IFS
fi
fi
-DLLTOOL=$ac_cv_prog_DLLTOOL
-if test -n "$DLLTOOL"; then
- { echo "$as_me:$LINENO: result: $DLLTOOL" >&5
-echo "${ECHO_T}$DLLTOOL" >&6; }
+DSYMUTIL=$ac_cv_prog_DSYMUTIL
+if test -n "$DSYMUTIL"; then
+ { $as_echo "$as_me:$LINENO: result: $DSYMUTIL" >&5
+$as_echo "$DSYMUTIL" >&6; }
else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
fi
fi
-if test -z "$ac_cv_prog_DLLTOOL"; then
- ac_ct_DLLTOOL=$DLLTOOL
- # Extract the first word of "dlltool", so it can be a program name with args.
-set dummy dlltool; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
-if test "${ac_cv_prog_ac_ct_DLLTOOL+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+if test -z "$ac_cv_prog_DSYMUTIL"; then
+ ac_ct_DSYMUTIL=$DSYMUTIL
+ # Extract the first word of "dsymutil", so it can be a program name with args.
+set dummy dsymutil; ac_word=$2
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_ac_ct_DSYMUTIL+set}" = set; then
+ $as_echo_n "(cached) " >&6
else
- if test -n "$ac_ct_DLLTOOL"; then
- ac_cv_prog_ac_ct_DLLTOOL="$ac_ct_DLLTOOL" # Let the user override the test.
+ if test -n "$ac_ct_DSYMUTIL"; then
+ ac_cv_prog_ac_ct_DSYMUTIL="$ac_ct_DSYMUTIL" # Let the user override the test.
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
@@ -5258,8 +6830,8 @@ do
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_ac_ct_DLLTOOL="dlltool"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ ac_cv_prog_ac_ct_DSYMUTIL="dsymutil"
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
@@ -5268,44 +6840,40 @@ IFS=$as_save_IFS
fi
fi
-ac_ct_DLLTOOL=$ac_cv_prog_ac_ct_DLLTOOL
-if test -n "$ac_ct_DLLTOOL"; then
- { echo "$as_me:$LINENO: result: $ac_ct_DLLTOOL" >&5
-echo "${ECHO_T}$ac_ct_DLLTOOL" >&6; }
+ac_ct_DSYMUTIL=$ac_cv_prog_ac_ct_DSYMUTIL
+if test -n "$ac_ct_DSYMUTIL"; then
+ { $as_echo "$as_me:$LINENO: result: $ac_ct_DSYMUTIL" >&5
+$as_echo "$ac_ct_DSYMUTIL" >&6; }
else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
fi
- if test "x$ac_ct_DLLTOOL" = x; then
- DLLTOOL="false"
+ if test "x$ac_ct_DSYMUTIL" = x; then
+ DSYMUTIL=":"
else
case $cross_compiling:$ac_tool_warned in
yes:)
-{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
-whose name does not start with the host triplet. If you think this
-configuration is useful to you, please write to autoconf@gnu.org." >&5
-echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
-whose name does not start with the host triplet. If you think this
-configuration is useful to you, please write to autoconf@gnu.org." >&2;}
+{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
ac_tool_warned=yes ;;
esac
- DLLTOOL=$ac_ct_DLLTOOL
+ DSYMUTIL=$ac_ct_DSYMUTIL
fi
else
- DLLTOOL="$ac_cv_prog_DLLTOOL"
+ DSYMUTIL="$ac_cv_prog_DSYMUTIL"
fi
- if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}as", so it can be a program name with args.
-set dummy ${ac_tool_prefix}as; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
-if test "${ac_cv_prog_AS+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}nmedit", so it can be a program name with args.
+set dummy ${ac_tool_prefix}nmedit; ac_word=$2
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_NMEDIT+set}" = set; then
+ $as_echo_n "(cached) " >&6
else
- if test -n "$AS"; then
- ac_cv_prog_AS="$AS" # Let the user override the test.
+ if test -n "$NMEDIT"; then
+ ac_cv_prog_NMEDIT="$NMEDIT" # Let the user override the test.
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
@@ -5314,8 +6882,8 @@ do
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_AS="${ac_tool_prefix}as"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ ac_cv_prog_NMEDIT="${ac_tool_prefix}nmedit"
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
@@ -5324,28 +6892,28 @@ IFS=$as_save_IFS
fi
fi
-AS=$ac_cv_prog_AS
-if test -n "$AS"; then
- { echo "$as_me:$LINENO: result: $AS" >&5
-echo "${ECHO_T}$AS" >&6; }
+NMEDIT=$ac_cv_prog_NMEDIT
+if test -n "$NMEDIT"; then
+ { $as_echo "$as_me:$LINENO: result: $NMEDIT" >&5
+$as_echo "$NMEDIT" >&6; }
else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
fi
fi
-if test -z "$ac_cv_prog_AS"; then
- ac_ct_AS=$AS
- # Extract the first word of "as", so it can be a program name with args.
-set dummy as; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
-if test "${ac_cv_prog_ac_ct_AS+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+if test -z "$ac_cv_prog_NMEDIT"; then
+ ac_ct_NMEDIT=$NMEDIT
+ # Extract the first word of "nmedit", so it can be a program name with args.
+set dummy nmedit; ac_word=$2
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_ac_ct_NMEDIT+set}" = set; then
+ $as_echo_n "(cached) " >&6
else
- if test -n "$ac_ct_AS"; then
- ac_cv_prog_ac_ct_AS="$ac_ct_AS" # Let the user override the test.
+ if test -n "$ac_ct_NMEDIT"; then
+ ac_cv_prog_ac_ct_NMEDIT="$ac_ct_NMEDIT" # Let the user override the test.
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
@@ -5354,8 +6922,8 @@ do
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_ac_ct_AS="as"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ ac_cv_prog_ac_ct_NMEDIT="nmedit"
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
@@ -5364,44 +6932,40 @@ IFS=$as_save_IFS
fi
fi
-ac_ct_AS=$ac_cv_prog_ac_ct_AS
-if test -n "$ac_ct_AS"; then
- { echo "$as_me:$LINENO: result: $ac_ct_AS" >&5
-echo "${ECHO_T}$ac_ct_AS" >&6; }
+ac_ct_NMEDIT=$ac_cv_prog_ac_ct_NMEDIT
+if test -n "$ac_ct_NMEDIT"; then
+ { $as_echo "$as_me:$LINENO: result: $ac_ct_NMEDIT" >&5
+$as_echo "$ac_ct_NMEDIT" >&6; }
else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
fi
- if test "x$ac_ct_AS" = x; then
- AS="false"
+ if test "x$ac_ct_NMEDIT" = x; then
+ NMEDIT=":"
else
case $cross_compiling:$ac_tool_warned in
yes:)
-{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
-whose name does not start with the host triplet. If you think this
-configuration is useful to you, please write to autoconf@gnu.org." >&5
-echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
-whose name does not start with the host triplet. If you think this
-configuration is useful to you, please write to autoconf@gnu.org." >&2;}
+{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
ac_tool_warned=yes ;;
esac
- AS=$ac_ct_AS
+ NMEDIT=$ac_ct_NMEDIT
fi
else
- AS="$ac_cv_prog_AS"
+ NMEDIT="$ac_cv_prog_NMEDIT"
fi
- if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}objdump", so it can be a program name with args.
-set dummy ${ac_tool_prefix}objdump; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
-if test "${ac_cv_prog_OBJDUMP+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}lipo", so it can be a program name with args.
+set dummy ${ac_tool_prefix}lipo; ac_word=$2
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_LIPO+set}" = set; then
+ $as_echo_n "(cached) " >&6
else
- if test -n "$OBJDUMP"; then
- ac_cv_prog_OBJDUMP="$OBJDUMP" # Let the user override the test.
+ if test -n "$LIPO"; then
+ ac_cv_prog_LIPO="$LIPO" # Let the user override the test.
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
@@ -5410,8 +6974,8 @@ do
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_OBJDUMP="${ac_tool_prefix}objdump"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ ac_cv_prog_LIPO="${ac_tool_prefix}lipo"
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
@@ -5420,28 +6984,28 @@ IFS=$as_save_IFS
fi
fi
-OBJDUMP=$ac_cv_prog_OBJDUMP
-if test -n "$OBJDUMP"; then
- { echo "$as_me:$LINENO: result: $OBJDUMP" >&5
-echo "${ECHO_T}$OBJDUMP" >&6; }
+LIPO=$ac_cv_prog_LIPO
+if test -n "$LIPO"; then
+ { $as_echo "$as_me:$LINENO: result: $LIPO" >&5
+$as_echo "$LIPO" >&6; }
else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
fi
fi
-if test -z "$ac_cv_prog_OBJDUMP"; then
- ac_ct_OBJDUMP=$OBJDUMP
- # Extract the first word of "objdump", so it can be a program name with args.
-set dummy objdump; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
-if test "${ac_cv_prog_ac_ct_OBJDUMP+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+if test -z "$ac_cv_prog_LIPO"; then
+ ac_ct_LIPO=$LIPO
+ # Extract the first word of "lipo", so it can be a program name with args.
+set dummy lipo; ac_word=$2
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_ac_ct_LIPO+set}" = set; then
+ $as_echo_n "(cached) " >&6
else
- if test -n "$ac_ct_OBJDUMP"; then
- ac_cv_prog_ac_ct_OBJDUMP="$ac_ct_OBJDUMP" # Let the user override the test.
+ if test -n "$ac_ct_LIPO"; then
+ ac_cv_prog_ac_ct_LIPO="$ac_ct_LIPO" # Let the user override the test.
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
@@ -5450,8 +7014,8 @@ do
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_ac_ct_OBJDUMP="objdump"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ ac_cv_prog_ac_ct_LIPO="lipo"
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
@@ -5460,55 +7024,379 @@ IFS=$as_save_IFS
fi
fi
-ac_ct_OBJDUMP=$ac_cv_prog_ac_ct_OBJDUMP
-if test -n "$ac_ct_OBJDUMP"; then
- { echo "$as_me:$LINENO: result: $ac_ct_OBJDUMP" >&5
-echo "${ECHO_T}$ac_ct_OBJDUMP" >&6; }
+ac_ct_LIPO=$ac_cv_prog_ac_ct_LIPO
+if test -n "$ac_ct_LIPO"; then
+ { $as_echo "$as_me:$LINENO: result: $ac_ct_LIPO" >&5
+$as_echo "$ac_ct_LIPO" >&6; }
else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
fi
- if test "x$ac_ct_OBJDUMP" = x; then
- OBJDUMP="false"
+ if test "x$ac_ct_LIPO" = x; then
+ LIPO=":"
else
case $cross_compiling:$ac_tool_warned in
yes:)
-{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
-whose name does not start with the host triplet. If you think this
-configuration is useful to you, please write to autoconf@gnu.org." >&5
-echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
-whose name does not start with the host triplet. If you think this
-configuration is useful to you, please write to autoconf@gnu.org." >&2;}
+{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
ac_tool_warned=yes ;;
esac
- OBJDUMP=$ac_ct_OBJDUMP
+ LIPO=$ac_ct_LIPO
fi
else
- OBJDUMP="$ac_cv_prog_OBJDUMP"
+ LIPO="$ac_cv_prog_LIPO"
fi
- ;;
+ if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}otool", so it can be a program name with args.
+set dummy ${ac_tool_prefix}otool; ac_word=$2
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_OTOOL+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$OTOOL"; then
+ ac_cv_prog_OTOOL="$OTOOL" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_OTOOL="${ac_tool_prefix}otool"
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+OTOOL=$ac_cv_prog_OTOOL
+if test -n "$OTOOL"; then
+ { $as_echo "$as_me:$LINENO: result: $OTOOL" >&5
+$as_echo "$OTOOL" >&6; }
+else
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_OTOOL"; then
+ ac_ct_OTOOL=$OTOOL
+ # Extract the first word of "otool", so it can be a program name with args.
+set dummy otool; ac_word=$2
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_ac_ct_OTOOL+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$ac_ct_OTOOL"; then
+ ac_cv_prog_ac_ct_OTOOL="$ac_ct_OTOOL" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_ac_ct_OTOOL="otool"
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_OTOOL=$ac_cv_prog_ac_ct_OTOOL
+if test -n "$ac_ct_OTOOL"; then
+ { $as_echo "$as_me:$LINENO: result: $ac_ct_OTOOL" >&5
+$as_echo "$ac_ct_OTOOL" >&6; }
+else
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+fi
+ if test "x$ac_ct_OTOOL" = x; then
+ OTOOL=":"
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
esac
+ OTOOL=$ac_ct_OTOOL
+ fi
+else
+ OTOOL="$ac_cv_prog_OTOOL"
+fi
+
+ if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}otool64", so it can be a program name with args.
+set dummy ${ac_tool_prefix}otool64; ac_word=$2
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_OTOOL64+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$OTOOL64"; then
+ ac_cv_prog_OTOOL64="$OTOOL64" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_OTOOL64="${ac_tool_prefix}otool64"
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+OTOOL64=$ac_cv_prog_OTOOL64
+if test -n "$OTOOL64"; then
+ { $as_echo "$as_me:$LINENO: result: $OTOOL64" >&5
+$as_echo "$OTOOL64" >&6; }
+else
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_OTOOL64"; then
+ ac_ct_OTOOL64=$OTOOL64
+ # Extract the first word of "otool64", so it can be a program name with args.
+set dummy otool64; ac_word=$2
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_ac_ct_OTOOL64+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$ac_ct_OTOOL64"; then
+ ac_cv_prog_ac_ct_OTOOL64="$ac_ct_OTOOL64" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_ac_ct_OTOOL64="otool64"
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_OTOOL64=$ac_cv_prog_ac_ct_OTOOL64
+if test -n "$ac_ct_OTOOL64"; then
+ { $as_echo "$as_me:$LINENO: result: $ac_ct_OTOOL64" >&5
+$as_echo "$ac_ct_OTOOL64" >&6; }
+else
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+ if test "x$ac_ct_OTOOL64" = x; then
+ OTOOL64=":"
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+ OTOOL64=$ac_ct_OTOOL64
+ fi
+else
+ OTOOL64="$ac_cv_prog_OTOOL64"
+fi
+
+
+
+
+
+
+
+
+
-need_locks="$enable_libtool_lock"
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ { $as_echo "$as_me:$LINENO: checking for -single_module linker flag" >&5
+$as_echo_n "checking for -single_module linker flag... " >&6; }
+if test "${lt_cv_apple_cc_single_mod+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ lt_cv_apple_cc_single_mod=no
+ if test -z "${LT_MULTI_MODULE}"; then
+ # By default we will add the -single_module flag. You can override
+ # by either setting the environment variable LT_MULTI_MODULE
+ # non-empty at configure time, or by adding -multi_module to the
+ # link flags.
+ rm -rf libconftest.dylib*
+ echo "int foo(void){return 1;}" > conftest.c
+ echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
+-dynamiclib -Wl,-single_module conftest.c" >&5
+ $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
+ -dynamiclib -Wl,-single_module conftest.c 2>conftest.err
+ _lt_result=$?
+ if test -f libconftest.dylib && test ! -s conftest.err && test $_lt_result = 0; then
+ lt_cv_apple_cc_single_mod=yes
+ else
+ cat conftest.err >&5
+ fi
+ rm -rf libconftest.dylib*
+ rm -f conftest.*
+ fi
+fi
+{ $as_echo "$as_me:$LINENO: result: $lt_cv_apple_cc_single_mod" >&5
+$as_echo "$lt_cv_apple_cc_single_mod" >&6; }
+ { $as_echo "$as_me:$LINENO: checking for -exported_symbols_list linker flag" >&5
+$as_echo_n "checking for -exported_symbols_list linker flag... " >&6; }
+if test "${lt_cv_ld_exported_symbols_list+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ lt_cv_ld_exported_symbols_list=no
+ save_LDFLAGS=$LDFLAGS
+ echo "_main" > conftest.sym
+ LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
+ lt_cv_ld_exported_symbols_list=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ lt_cv_ld_exported_symbols_list=no
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+ LDFLAGS="$save_LDFLAGS"
+
+fi
+{ $as_echo "$as_me:$LINENO: result: $lt_cv_ld_exported_symbols_list" >&5
+$as_echo "$lt_cv_ld_exported_symbols_list" >&6; }
+ case $host_os in
+ rhapsody* | darwin1.[012])
+ _lt_dar_allow_undefined='${wl}-undefined ${wl}suppress' ;;
+ darwin1.*)
+ _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
+ darwin*) # darwin 5.x on
+ # if running on 10.5 or later, the deployment target defaults
+ # to the OS version, if on x86, and 10.4, the deployment
+ # target defaults to 10.4. Don't you love it?
+ case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in
+ 10.0,*86*-darwin8*|10.0,*-darwin[91]*)
+ _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
+ 10.[012]*)
+ _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
+ 10.*)
+ _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
+ esac
+ ;;
+ esac
+ if test "$lt_cv_apple_cc_single_mod" = "yes"; then
+ _lt_dar_single_mod='$single_module'
+ fi
+ if test "$lt_cv_ld_exported_symbols_list" = "yes"; then
+ _lt_dar_export_syms=' ${wl}-exported_symbols_list,$output_objdir/${libname}-symbols.expsym'
+ else
+ _lt_dar_export_syms='~$NMEDIT -s $output_objdir/${libname}-symbols.expsym ${lib}'
+ fi
+ if test "$DSYMUTIL" != ":"; then
+ _lt_dsymutil='~$DSYMUTIL $lib || :'
+ else
+ _lt_dsymutil=
+ fi
+ ;;
+ esac
+
ac_ext=c
ac_cpp='$CPP $CPPFLAGS'
ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
ac_compiler_gnu=$ac_cv_c_compiler_gnu
-{ echo "$as_me:$LINENO: checking how to run the C preprocessor" >&5
-echo $ECHO_N "checking how to run the C preprocessor... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking how to run the C preprocessor" >&5
+$as_echo_n "checking how to run the C preprocessor... " >&6; }
# On Suns, sometimes $CPP names a directory.
if test -n "$CPP" && test -d "$CPP"; then
CPP=
fi
if test -z "$CPP"; then
if test "${ac_cv_prog_CPP+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
# Double quotes because CPP needs to be expanded
for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp"
@@ -5540,20 +7428,21 @@ case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
(eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } >/dev/null && {
test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
test ! -s conftest.err
}; then
:
else
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
# Broken: fails on valid input.
@@ -5577,13 +7466,14 @@ case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
(eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } >/dev/null && {
test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
test ! -s conftest.err
@@ -5591,7 +7481,7 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
# Broken: success on invalid input.
continue
else
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
# Passes both tests.
@@ -5616,8 +7506,8 @@ fi
else
ac_cv_prog_CPP=$CPP
fi
-{ echo "$as_me:$LINENO: result: $CPP" >&5
-echo "${ECHO_T}$CPP" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $CPP" >&5
+$as_echo "$CPP" >&6; }
ac_preproc_ok=false
for ac_c_preproc_warn_flag in '' yes
do
@@ -5645,20 +7535,21 @@ case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
(eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } >/dev/null && {
test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
test ! -s conftest.err
}; then
:
else
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
# Broken: fails on valid input.
@@ -5682,13 +7573,14 @@ case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
(eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } >/dev/null && {
test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
test ! -s conftest.err
@@ -5696,7 +7588,7 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
# Broken: success on invalid input.
continue
else
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
# Passes both tests.
@@ -5712,11 +7604,13 @@ rm -f conftest.err conftest.$ac_ext
if $ac_preproc_ok; then
:
else
- { { echo "$as_me:$LINENO: error: C preprocessor \"$CPP\" fails sanity check
+ { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+{ { $as_echo "$as_me:$LINENO: error: C preprocessor \"$CPP\" fails sanity check
See \`config.log' for more details." >&5
-echo "$as_me: error: C preprocessor \"$CPP\" fails sanity check
+$as_echo "$as_me: error: C preprocessor \"$CPP\" fails sanity check
See \`config.log' for more details." >&2;}
- { (exit 1); exit 1; }; }
+ { (exit 1); exit 1; }; }; }
fi
ac_ext=c
@@ -5726,10 +7620,10 @@ ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $
ac_compiler_gnu=$ac_cv_c_compiler_gnu
-{ echo "$as_me:$LINENO: checking for ANSI C header files" >&5
-echo $ECHO_N "checking for ANSI C header files... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking for ANSI C header files" >&5
+$as_echo_n "checking for ANSI C header files... " >&6; }
if test "${ac_cv_header_stdc+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
@@ -5756,20 +7650,21 @@ case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
(eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
test -z "$ac_c_werror_flag" ||
test ! -s conftest.err
} && test -s conftest.$ac_objext; then
ac_cv_header_stdc=yes
else
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
ac_cv_header_stdc=no
@@ -5861,37 +7756,40 @@ case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
(eval "$ac_link") 2>&5
ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && { ac_try='./conftest$ac_exeext'
{ (case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
(eval "$ac_try") 2>&5
ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; }; then
:
else
- echo "$as_me: program exited with status $ac_status" >&5
-echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: program exited with status $ac_status" >&5
+$as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
( exit $ac_status )
ac_cv_header_stdc=no
fi
+rm -rf conftest.dSYM
rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
fi
fi
fi
-{ echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5
-echo "${ECHO_T}$ac_cv_header_stdc" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5
+$as_echo "$ac_cv_header_stdc" >&6; }
if test $ac_cv_header_stdc = yes; then
cat >>confdefs.h <<\_ACEOF
@@ -5913,11 +7811,11 @@ fi
for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \
inttypes.h stdint.h unistd.h
do
-as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
-{ echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
+as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
+{ $as_echo "$as_me:$LINENO: checking for $ac_header" >&5
+$as_echo_n "checking for $ac_header... " >&6; }
if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
@@ -5935,20 +7833,21 @@ case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
(eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
test -z "$ac_c_werror_flag" ||
test ! -s conftest.err
} && test -s conftest.$ac_objext; then
eval "$as_ac_Header=yes"
else
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
eval "$as_ac_Header=no"
@@ -5956,12 +7855,15 @@ fi
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
fi
-ac_res=`eval echo '${'$as_ac_Header'}'`
- { echo "$as_me:$LINENO: result: $ac_res" >&5
-echo "${ECHO_T}$ac_res" >&6; }
-if test `eval echo '${'$as_ac_Header'}'` = yes; then
+ac_res=`eval 'as_val=${'$as_ac_Header'}
+ $as_echo "$as_val"'`
+ { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+as_val=`eval 'as_val=${'$as_ac_Header'}
+ $as_echo "$as_val"'`
+ if test "x$as_val" = x""yes; then
cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
+#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
_ACEOF
fi
@@ -5972,27 +7874,20 @@ done
for ac_header in dlfcn.h
do
-as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
-if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
- { echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
+as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
+{ $as_echo "$as_me:$LINENO: checking for $ac_header" >&5
+$as_echo_n "checking for $ac_header... " >&6; }
if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-fi
-ac_res=`eval echo '${'$as_ac_Header'}'`
- { echo "$as_me:$LINENO: result: $ac_res" >&5
-echo "${ECHO_T}$ac_res" >&6; }
+ $as_echo_n "(cached) " >&6
else
- # Is the header compilable?
-{ echo "$as_me:$LINENO: checking $ac_header usability" >&5
-echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; }
-cat >conftest.$ac_ext <<_ACEOF
+ cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
$ac_includes_default
+
#include <$ac_header>
_ACEOF
rm -f conftest.$ac_objext
@@ -6001,119 +7896,523 @@ case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
(eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
test -z "$ac_c_werror_flag" ||
test ! -s conftest.err
} && test -s conftest.$ac_objext; then
- ac_header_compiler=yes
+ eval "$as_ac_Header=yes"
else
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
- ac_header_compiler=no
+ eval "$as_ac_Header=no"
fi
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-echo "${ECHO_T}$ac_header_compiler" >&6; }
+fi
+ac_res=`eval 'as_val=${'$as_ac_Header'}
+ $as_echo "$as_val"'`
+ { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+as_val=`eval 'as_val=${'$as_ac_Header'}
+ $as_echo "$as_val"'`
+ if test "x$as_val" = x""yes; then
+ cat >>confdefs.h <<_ACEOF
+#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
+_ACEOF
-# Is the header present?
-{ echo "$as_me:$LINENO: checking $ac_header presence" >&5
-echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; }
-cat >conftest.$ac_ext <<_ACEOF
+fi
+
+done
+
+
+
+ac_ext=cpp
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+if test -z "$CXX"; then
+ if test -n "$CCC"; then
+ CXX=$CCC
+ else
+ if test -n "$ac_tool_prefix"; then
+ for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC
+ do
+ # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
+set dummy $ac_tool_prefix$ac_prog; ac_word=$2
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_CXX+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$CXX"; then
+ ac_cv_prog_CXX="$CXX" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_CXX="$ac_tool_prefix$ac_prog"
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+CXX=$ac_cv_prog_CXX
+if test -n "$CXX"; then
+ { $as_echo "$as_me:$LINENO: result: $CXX" >&5
+$as_echo "$CXX" >&6; }
+else
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+ test -n "$CXX" && break
+ done
+fi
+if test -z "$CXX"; then
+ ac_ct_CXX=$CXX
+ for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC
+do
+ # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_ac_ct_CXX+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$ac_ct_CXX"; then
+ ac_cv_prog_ac_ct_CXX="$ac_ct_CXX" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_ac_ct_CXX="$ac_prog"
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_CXX=$ac_cv_prog_ac_ct_CXX
+if test -n "$ac_ct_CXX"; then
+ { $as_echo "$as_me:$LINENO: result: $ac_ct_CXX" >&5
+$as_echo "$ac_ct_CXX" >&6; }
+else
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+ test -n "$ac_ct_CXX" && break
+done
+
+ if test "x$ac_ct_CXX" = x; then
+ CXX="g++"
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+ CXX=$ac_ct_CXX
+ fi
+fi
+
+ fi
+fi
+# Provide some information about the compiler.
+$as_echo "$as_me:$LINENO: checking for C++ compiler version" >&5
+set X $ac_compile
+ac_compiler=$2
+{ (ac_try="$ac_compiler --version >&5"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compiler --version >&5") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }
+{ (ac_try="$ac_compiler -v >&5"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compiler -v >&5") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }
+{ (ac_try="$ac_compiler -V >&5"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compiler -V >&5") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }
+
+{ $as_echo "$as_me:$LINENO: checking whether we are using the GNU C++ compiler" >&5
+$as_echo_n "checking whether we are using the GNU C++ compiler... " >&6; }
+if test "${ac_cv_cxx_compiler_gnu+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
-#include <$ac_header>
+
+int
+main ()
+{
+#ifndef __GNUC__
+ choke me
+#endif
+
+ ;
+ return 0;
+}
_ACEOF
-if { (ac_try="$ac_cpp conftest.$ac_ext"
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } >/dev/null && {
- test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_cxx_werror_flag" ||
test ! -s conftest.err
- }; then
- ac_header_preproc=yes
+ } && test -s conftest.$ac_objext; then
+ ac_compiler_gnu=yes
else
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
- ac_header_preproc=no
+ ac_compiler_gnu=no
fi
-rm -f conftest.err conftest.$ac_ext
-{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-echo "${ECHO_T}$ac_header_preproc" >&6; }
-
-# So? What about this header?
-case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
- yes:no: )
- { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
-echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5
-echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;}
- ac_header_preproc=yes
- ;;
- no:yes:* )
- { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
-echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5
-echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5
-echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5
-echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
-echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
-echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
- ( cat <<\_ASBOX
-## --------------------------------------- ##
-## Report this to sword-bugs@crosswire.org ##
-## --------------------------------------- ##
-_ASBOX
- ) | sed "s/^/$as_me: WARNING: /" >&2
- ;;
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ac_cv_cxx_compiler_gnu=$ac_compiler_gnu
+
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_cxx_compiler_gnu" >&5
+$as_echo "$ac_cv_cxx_compiler_gnu" >&6; }
+if test $ac_compiler_gnu = yes; then
+ GXX=yes
+else
+ GXX=
+fi
+ac_test_CXXFLAGS=${CXXFLAGS+set}
+ac_save_CXXFLAGS=$CXXFLAGS
+{ $as_echo "$as_me:$LINENO: checking whether $CXX accepts -g" >&5
+$as_echo_n "checking whether $CXX accepts -g... " >&6; }
+if test "${ac_cv_prog_cxx_g+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ ac_save_cxx_werror_flag=$ac_cxx_werror_flag
+ ac_cxx_werror_flag=yes
+ ac_cv_prog_cxx_g=no
+ CXXFLAGS="-g"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
esac
-{ echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
-if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_cxx_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_prog_cxx_g=yes
else
- eval "$as_ac_Header=\$ac_header_preproc"
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ CXXFLAGS=""
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_cxx_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ :
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cxx_werror_flag=$ac_save_cxx_werror_flag
+ CXXFLAGS="-g"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_cxx_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_prog_cxx_g=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+
fi
-ac_res=`eval echo '${'$as_ac_Header'}'`
- { echo "$as_me:$LINENO: result: $ac_res" >&5
-echo "${ECHO_T}$ac_res" >&6; }
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
fi
-if test `eval echo '${'$as_ac_Header'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
-_ACEOF
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
fi
-done
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ ac_cxx_werror_flag=$ac_save_cxx_werror_flag
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_prog_cxx_g" >&5
+$as_echo "$ac_cv_prog_cxx_g" >&6; }
+if test "$ac_test_CXXFLAGS" = set; then
+ CXXFLAGS=$ac_save_CXXFLAGS
+elif test $ac_cv_prog_cxx_g = yes; then
+ if test "$GXX" = yes; then
+ CXXFLAGS="-g -O2"
+ else
+ CXXFLAGS="-g"
+ fi
+else
+ if test "$GXX" = yes; then
+ CXXFLAGS="-O2"
+ else
+ CXXFLAGS=
+ fi
+fi
+ac_ext=cpp
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+depcc="$CXX" am_compiler_list=
+
+{ $as_echo "$as_me:$LINENO: checking dependency style of $depcc" >&5
+$as_echo_n "checking dependency style of $depcc... " >&6; }
+if test "${am_cv_CXX_dependencies_compiler_type+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
+ # We make a subdir and do the tests there. Otherwise we can end up
+ # making bogus files that we don't know about and never remove. For
+ # instance it was reported that on HP-UX the gcc test will end up
+ # making a dummy file named `D' -- because `-MD' means `put the output
+ # in D'.
+ mkdir conftest.dir
+ # Copy depcomp to subdir because otherwise we won't find it if we're
+ # using a relative directory.
+ cp "$am_depcomp" conftest.dir
+ cd conftest.dir
+ # We will build objects and dependencies in a subdirectory because
+ # it helps to detect inapplicable dependency modes. For instance
+ # both Tru64's cc and ICC support -MD to output dependencies as a
+ # side effect of compilation, but ICC will put the dependencies in
+ # the current directory while Tru64 will put them in the object
+ # directory.
+ mkdir sub
+
+ am_cv_CXX_dependencies_compiler_type=none
+ if test "$am_compiler_list" = ""; then
+ am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp`
+ fi
+ for depmode in $am_compiler_list; do
+ # Setup a source with many dependencies, because some compilers
+ # like to wrap large dependency lists on column 80 (with \), and
+ # we should not choose a depcomp mode which is confused by this.
+ #
+ # We need to recreate these files for each test, as the compiler may
+ # overwrite some of them when testing with obscure command lines.
+ # This happens at least with the AIX C compiler.
+ : > sub/conftest.c
+ for i in 1 2 3 4 5 6; do
+ echo '#include "conftst'$i'.h"' >> sub/conftest.c
+ # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
+ # Solaris 8's {/usr,}/bin/sh.
+ touch sub/conftst$i.h
+ done
+ echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
+
+ case $depmode in
+ nosideeffect)
+ # after this tag, mechanisms are not by side-effect, so they'll
+ # only be used when explicitly requested
+ if test "x$enable_dependency_tracking" = xyes; then
+ continue
+ else
+ break
+ fi
+ ;;
+ none) break ;;
+ esac
+ # We check with `-c' and `-o' for the sake of the "dashmstdout"
+ # mode. It turns out that the SunPro C++ compiler does not properly
+ # handle `-M -o', and we need to detect this.
+ if depmode=$depmode \
+ source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \
+ depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
+ $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \
+ >/dev/null 2>conftest.err &&
+ grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
+ grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
+ grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 &&
+ ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
+ # icc doesn't choke on unknown options, it will just issue warnings
+ # or remarks (even with -Werror). So we grep stderr for any message
+ # that says an option was ignored or not supported.
+ # When given -MP, icc 7.0 and 7.1 complain thusly:
+ # icc: Command line warning: ignoring option '-M'; no argument required
+ # The diagnosis changed in icc 8.0:
+ # icc: Command line remark: option '-MP' not supported
+ if (grep 'ignoring option' conftest.err ||
+ grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
+ am_cv_CXX_dependencies_compiler_type=$depmode
+ break
+ fi
+ fi
+ done
+
+ cd ..
+ rm -rf conftest.dir
+else
+ am_cv_CXX_dependencies_compiler_type=none
+fi
+
+fi
+{ $as_echo "$as_me:$LINENO: result: $am_cv_CXX_dependencies_compiler_type" >&5
+$as_echo "$am_cv_CXX_dependencies_compiler_type" >&6; }
+CXXDEPMODE=depmode=$am_cv_CXX_dependencies_compiler_type
+
+ if
+ test "x$enable_dependency_tracking" != xno \
+ && test "$am_cv_CXX_dependencies_compiler_type" = gcc3; then
+ am__fastdepCXX_TRUE=
+ am__fastdepCXX_FALSE='#'
+else
+ am__fastdepCXX_TRUE='#'
+ am__fastdepCXX_FALSE=
+fi
if test -n "$CXX" && ( test "X$CXX" != "Xno" &&
@@ -6124,11 +8423,11 @@ ac_cpp='$CXXCPP $CPPFLAGS'
ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-{ echo "$as_me:$LINENO: checking how to run the C++ preprocessor" >&5
-echo $ECHO_N "checking how to run the C++ preprocessor... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking how to run the C++ preprocessor" >&5
+$as_echo_n "checking how to run the C++ preprocessor... " >&6; }
if test -z "$CXXCPP"; then
if test "${ac_cv_prog_CXXCPP+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
# Double quotes because CXXCPP needs to be expanded
for CXXCPP in "$CXX -E" "/lib/cpp"
@@ -6160,20 +8459,21 @@ case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
(eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } >/dev/null && {
test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" ||
test ! -s conftest.err
}; then
:
else
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
# Broken: fails on valid input.
@@ -6197,13 +8497,14 @@ case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
(eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } >/dev/null && {
test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" ||
test ! -s conftest.err
@@ -6211,7 +8512,7 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
# Broken: success on invalid input.
continue
else
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
# Passes both tests.
@@ -6236,8 +8537,8 @@ fi
else
ac_cv_prog_CXXCPP=$CXXCPP
fi
-{ echo "$as_me:$LINENO: result: $CXXCPP" >&5
-echo "${ECHO_T}$CXXCPP" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $CXXCPP" >&5
+$as_echo "$CXXCPP" >&6; }
ac_preproc_ok=false
for ac_cxx_preproc_warn_flag in '' yes
do
@@ -6265,20 +8566,21 @@ case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
(eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } >/dev/null && {
test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" ||
test ! -s conftest.err
}; then
:
else
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
# Broken: fails on valid input.
@@ -6302,13 +8604,14 @@ case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
(eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } >/dev/null && {
test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" ||
test ! -s conftest.err
@@ -6316,7 +8619,7 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
# Broken: success on invalid input.
continue
else
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
# Passes both tests.
@@ -6332,11 +8635,9 @@ rm -f conftest.err conftest.$ac_ext
if $ac_preproc_ok; then
:
else
- { { echo "$as_me:$LINENO: error: C++ preprocessor \"$CXXCPP\" fails sanity check
-See \`config.log' for more details." >&5
-echo "$as_me: error: C++ preprocessor \"$CXXCPP\" fails sanity check
-See \`config.log' for more details." >&2;}
- { (exit 1); exit 1; }; }
+ { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+_lt_caught_CXX_error=yes; }
fi
ac_ext=cpp
@@ -6345,614 +8646,187 @@ ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+else
+ _lt_caught_CXX_error=yes
fi
-ac_ext=f
-ac_compile='$F77 -c $FFLAGS conftest.$ac_ext >&5'
-ac_link='$F77 -o conftest$ac_exeext $FFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_f77_compiler_gnu
-if test -n "$ac_tool_prefix"; then
- for ac_prog in g77 xlf f77 frt pgf77 cf77 fort77 fl32 af77 xlf90 f90 pgf90 pghpf epcf90 gfortran g95 xlf95 f95 fort ifort ifc efc pgf95 lf95 ftn
- do
- # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
-set dummy $ac_tool_prefix$ac_prog; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
-if test "${ac_cv_prog_F77+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test -n "$F77"; then
- ac_cv_prog_F77="$F77" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_F77="$ac_tool_prefix$ac_prog"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-IFS=$as_save_IFS
-fi
-fi
-F77=$ac_cv_prog_F77
-if test -n "$F77"; then
- { echo "$as_me:$LINENO: result: $F77" >&5
-echo "${ECHO_T}$F77" >&6; }
+
+
+# Set options
+
+
+
+ enable_dlopen=no
+
+
+
+ # Check whether --enable-shared was given.
+if test "${enable_shared+set}" = set; then
+ enableval=$enable_shared; p=${PACKAGE-default}
+ case $enableval in
+ yes) enable_shared=yes ;;
+ no) enable_shared=no ;;
+ *)
+ enable_shared=no
+ # Look at the argument we got. We use all the common list separators.
+ lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
+ for pkg in $enableval; do
+ IFS="$lt_save_ifs"
+ if test "X$pkg" = "X$p"; then
+ enable_shared=yes
+ fi
+ done
+ IFS="$lt_save_ifs"
+ ;;
+ esac
else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
+ enable_shared=yes
fi
- test -n "$F77" && break
- done
-fi
-if test -z "$F77"; then
- ac_ct_F77=$F77
- for ac_prog in g77 xlf f77 frt pgf77 cf77 fort77 fl32 af77 xlf90 f90 pgf90 pghpf epcf90 gfortran g95 xlf95 f95 fort ifort ifc efc pgf95 lf95 ftn
-do
- # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
-if test "${ac_cv_prog_ac_ct_F77+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test -n "$ac_ct_F77"; then
- ac_cv_prog_ac_ct_F77="$ac_ct_F77" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_ac_ct_F77="$ac_prog"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-IFS=$as_save_IFS
-fi
-fi
-ac_ct_F77=$ac_cv_prog_ac_ct_F77
-if test -n "$ac_ct_F77"; then
- { echo "$as_me:$LINENO: result: $ac_ct_F77" >&5
-echo "${ECHO_T}$ac_ct_F77" >&6; }
+
+
+
+
+
+
+ # Check whether --enable-static was given.
+if test "${enable_static+set}" = set; then
+ enableval=$enable_static; p=${PACKAGE-default}
+ case $enableval in
+ yes) enable_static=yes ;;
+ no) enable_static=no ;;
+ *)
+ enable_static=no
+ # Look at the argument we got. We use all the common list separators.
+ lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
+ for pkg in $enableval; do
+ IFS="$lt_save_ifs"
+ if test "X$pkg" = "X$p"; then
+ enable_static=yes
+ fi
+ done
+ IFS="$lt_save_ifs"
+ ;;
+ esac
else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
+ enable_static=yes
fi
- test -n "$ac_ct_F77" && break
-done
- if test "x$ac_ct_F77" = x; then
- F77=""
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
-whose name does not start with the host triplet. If you think this
-configuration is useful to you, please write to autoconf@gnu.org." >&5
-echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
-whose name does not start with the host triplet. If you think this
-configuration is useful to you, please write to autoconf@gnu.org." >&2;}
-ac_tool_warned=yes ;;
-esac
- F77=$ac_ct_F77
- fi
-fi
-# Provide some information about the compiler.
-echo "$as_me:$LINENO: checking for Fortran 77 compiler version" >&5
-ac_compiler=`set X $ac_compile; echo $2`
-{ (ac_try="$ac_compiler --version >&5"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_compiler --version >&5") 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }
-{ (ac_try="$ac_compiler -v >&5"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_compiler -v >&5") 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }
-{ (ac_try="$ac_compiler -V >&5"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_compiler -V >&5") 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }
-rm -f a.out
-# If we don't use `.F' as extension, the preprocessor is not run on the
-# input file. (Note that this only needs to work for GNU compilers.)
-ac_save_ext=$ac_ext
-ac_ext=F
-{ echo "$as_me:$LINENO: checking whether we are using the GNU Fortran 77 compiler" >&5
-echo $ECHO_N "checking whether we are using the GNU Fortran 77 compiler... $ECHO_C" >&6; }
-if test "${ac_cv_f77_compiler_gnu+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
- program main
-#ifndef __GNUC__
- choke me
-#endif
- end
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_compile") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_f77_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
- ac_compiler_gnu=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
- ac_compiler_gnu=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-ac_cv_f77_compiler_gnu=$ac_compiler_gnu
-fi
-{ echo "$as_me:$LINENO: result: $ac_cv_f77_compiler_gnu" >&5
-echo "${ECHO_T}$ac_cv_f77_compiler_gnu" >&6; }
-ac_ext=$ac_save_ext
-ac_test_FFLAGS=${FFLAGS+set}
-ac_save_FFLAGS=$FFLAGS
-FFLAGS=
-{ echo "$as_me:$LINENO: checking whether $F77 accepts -g" >&5
-echo $ECHO_N "checking whether $F77 accepts -g... $ECHO_C" >&6; }
-if test "${ac_cv_prog_f77_g+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+# Check whether --with-pic was given.
+if test "${with_pic+set}" = set; then
+ withval=$with_pic; pic_mode="$withval"
else
- FFLAGS=-g
-cat >conftest.$ac_ext <<_ACEOF
- program main
+ pic_mode=default
+fi
- end
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_compile") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_f77_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
- ac_cv_prog_f77_g=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
- ac_cv_prog_f77_g=no
-fi
+test -z "$pic_mode" && pic_mode=default
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-{ echo "$as_me:$LINENO: result: $ac_cv_prog_f77_g" >&5
-echo "${ECHO_T}$ac_cv_prog_f77_g" >&6; }
-if test "$ac_test_FFLAGS" = set; then
- FFLAGS=$ac_save_FFLAGS
-elif test $ac_cv_prog_f77_g = yes; then
- if test "x$ac_cv_f77_compiler_gnu" = xyes; then
- FFLAGS="-g -O2"
- else
- FFLAGS="-g"
- fi
+
+
+
+
+
+ # Check whether --enable-fast-install was given.
+if test "${enable_fast_install+set}" = set; then
+ enableval=$enable_fast_install; p=${PACKAGE-default}
+ case $enableval in
+ yes) enable_fast_install=yes ;;
+ no) enable_fast_install=no ;;
+ *)
+ enable_fast_install=no
+ # Look at the argument we got. We use all the common list separators.
+ lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
+ for pkg in $enableval; do
+ IFS="$lt_save_ifs"
+ if test "X$pkg" = "X$p"; then
+ enable_fast_install=yes
+ fi
+ done
+ IFS="$lt_save_ifs"
+ ;;
+ esac
else
- if test "x$ac_cv_f77_compiler_gnu" = xyes; then
- FFLAGS="-O2"
- else
- FFLAGS=
- fi
+ enable_fast_install=yes
fi
-G77=`test $ac_compiler_gnu = yes && echo yes`
-ac_ext=cpp
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-# Autoconf 2.13's AC_OBJEXT and AC_EXEEXT macros only works for C compilers!
-# find the maximum length of command line arguments
-{ echo "$as_me:$LINENO: checking the maximum length of command line arguments" >&5
-echo $ECHO_N "checking the maximum length of command line arguments... $ECHO_C" >&6; }
-if test "${lt_cv_sys_max_cmd_len+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- i=0
- teststring="ABCD"
- case $build_os in
- msdosdjgpp*)
- # On DJGPP, this test can blow up pretty badly due to problems in libc
- # (any single argument exceeding 2000 bytes causes a buffer overrun
- # during glob expansion). Even if it were fixed, the result of this
- # check would be larger than it should be.
- lt_cv_sys_max_cmd_len=12288; # 12K is about right
- ;;
- gnu*)
- # Under GNU Hurd, this test is not required because there is
- # no limit to the length of command line arguments.
- # Libtool will interpret -1 as no limit whatsoever
- lt_cv_sys_max_cmd_len=-1;
- ;;
- cygwin* | mingw*)
- # On Win9x/ME, this test blows up -- it succeeds, but takes
- # about 5 minutes as the teststring grows exponentially.
- # Worse, since 9x/ME are not pre-emptively multitasking,
- # you end up with a "frozen" computer, even though with patience
- # the test eventually succeeds (with a max line length of 256k).
- # Instead, let's just punt: use the minimum linelength reported by
- # all of the supported platforms: 8192 (on NT/2K/XP).
- lt_cv_sys_max_cmd_len=8192;
- ;;
- amigaos*)
- # On AmigaOS with pdksh, this test takes hours, literally.
- # So we just punt and use a minimum line length of 8192.
- lt_cv_sys_max_cmd_len=8192;
- ;;
- netbsd* | freebsd* | openbsd* | darwin* | dragonfly*)
- # This has been around since 386BSD, at least. Likely further.
- if test -x /sbin/sysctl; then
- lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax`
- elif test -x /usr/sbin/sysctl; then
- lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax`
- else
- lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs
- fi
- # And add a safety zone
- lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
- lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
- ;;
- interix*)
- # We know the value 262144 and hardcode it with a safety zone (like BSD)
- lt_cv_sys_max_cmd_len=196608
- ;;
+# This can be used to rebuild libtool when needed
+LIBTOOL_DEPS="$ltmain"
- osf*)
- # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure
- # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not
- # nice to cause kernel panics so lets avoid the loop below.
- # First set a reasonable default.
- lt_cv_sys_max_cmd_len=16384
- #
- if test -x /sbin/sysconfig; then
- case `/sbin/sysconfig -q proc exec_disable_arg_limit` in
- *1*) lt_cv_sys_max_cmd_len=-1 ;;
- esac
- fi
- ;;
- sco3.2v5*)
- lt_cv_sys_max_cmd_len=102400
- ;;
- sysv5* | sco5v6* | sysv4.2uw2*)
- kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null`
- if test -n "$kargmax"; then
- lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[ ]//'`
- else
- lt_cv_sys_max_cmd_len=32768
- fi
- ;;
- *)
- lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null`
- if test -n "$lt_cv_sys_max_cmd_len"; then
- lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
- lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
- else
- SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}}
- while (test "X"`$SHELL $0 --fallback-echo "X$teststring" 2>/dev/null` \
- = "XX$teststring") >/dev/null 2>&1 &&
- new_result=`expr "X$teststring" : ".*" 2>&1` &&
- lt_cv_sys_max_cmd_len=$new_result &&
- test $i != 17 # 1/2 MB should be enough
- do
- i=`expr $i + 1`
- teststring=$teststring$teststring
- done
- teststring=
- # Add a significant safety factor because C++ compilers can tack on massive
- # amounts of additional arguments before passing them to the linker.
- # It appears as though 1/2 is a usable value.
- lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2`
- fi
- ;;
- esac
+# Always use our own libtool.
+LIBTOOL='$(SHELL) $(top_builddir)/libtool'
-fi
-if test -n $lt_cv_sys_max_cmd_len ; then
- { echo "$as_me:$LINENO: result: $lt_cv_sys_max_cmd_len" >&5
-echo "${ECHO_T}$lt_cv_sys_max_cmd_len" >&6; }
-else
- { echo "$as_me:$LINENO: result: none" >&5
-echo "${ECHO_T}none" >&6; }
-fi
-# Check for command to grab the raw symbol name followed by C symbol from nm.
-{ echo "$as_me:$LINENO: checking command to parse $NM output from $compiler object" >&5
-echo $ECHO_N "checking command to parse $NM output from $compiler object... $ECHO_C" >&6; }
-if test "${lt_cv_sys_global_symbol_pipe+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-# These are sane defaults that work on at least a few old systems.
-# [They come from Ultrix. What could be older than Ultrix?!! ;)]
-# Character class describing NM global symbol codes.
-symcode='[BCDEGRST]'
-# Regexp to match symbols that can be accessed directly from C.
-sympat='\([_A-Za-z][_A-Za-z0-9]*\)'
-# Transform an extracted symbol line into a proper C declaration
-lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^. .* \(.*\)$/extern int \1;/p'"
-# Transform an extracted symbol line into symbol name and symbol address
-lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode \([^ ]*\) \([^ ]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'"
-# Define system-specific variables.
-case $host_os in
-aix*)
- symcode='[BCDT]'
- ;;
-cygwin* | mingw* | pw32*)
- symcode='[ABCDGISTW]'
- ;;
-hpux*) # Its linker distinguishes data from code symbols
- if test "$host_cpu" = ia64; then
- symcode='[ABCDEGRST]'
- fi
- lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
- lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'"
- ;;
-linux* | k*bsd*-gnu)
- if test "$host_cpu" = ia64; then
- symcode='[ABCDGIRSTW]'
- lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
- lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'"
- fi
- ;;
-irix* | nonstopux*)
- symcode='[BCDEGRST]'
- ;;
-osf*)
- symcode='[BCDEGQRST]'
- ;;
-solaris*)
- symcode='[BDRT]'
- ;;
-sco3.2v5*)
- symcode='[DT]'
- ;;
-sysv4.2uw2*)
- symcode='[DT]'
- ;;
-sysv5* | sco5v6* | unixware* | OpenUNIX*)
- symcode='[ABDT]'
- ;;
-sysv4)
- symcode='[DFNSTU]'
- ;;
-esac
-# Handle CRLF in mingw tool chain
-opt_cr=
-case $build_os in
-mingw*)
- opt_cr=`echo 'x\{0,1\}' | tr x '\015'` # option cr in regexp
- ;;
-esac
-# If we're using GNU nm, then use its standard symbol codes.
-case `$NM -V 2>&1` in
-*GNU* | *'with BFD'*)
- symcode='[ABCDGIRSTW]' ;;
-esac
-# Try without a prefix undercore, then with it.
-for ac_symprfx in "" "_"; do
- # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol.
- symxfrm="\\1 $ac_symprfx\\2 \\2"
- # Write the raw and C identifiers.
- lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[ ]\($symcode$symcode*\)[ ][ ]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'"
- # Check to see that the pipe works correctly.
- pipe_works=no
- rm -f conftest*
- cat > conftest.$ac_ext <<EOF
-#ifdef __cplusplus
-extern "C" {
-#endif
-char nm_test_var;
-void nm_test_func(){}
-#ifdef __cplusplus
-}
-#endif
-int main(){nm_test_var='a';nm_test_func();return(0);}
-EOF
- if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; then
- # Now try to grab the symbols.
- nlist=conftest.nm
- if { (eval echo "$as_me:$LINENO: \"$NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist\"") >&5
- (eval $NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && test -s "$nlist"; then
- # Try sorting and uniquifying the output.
- if sort "$nlist" | uniq > "$nlist"T; then
- mv -f "$nlist"T "$nlist"
- else
- rm -f "$nlist"T
- fi
- # Make sure that we snagged all the symbols we need.
- if grep ' nm_test_var$' "$nlist" >/dev/null; then
- if grep ' nm_test_func$' "$nlist" >/dev/null; then
- cat <<EOF > conftest.$ac_ext
-#ifdef __cplusplus
-extern "C" {
-#endif
-EOF
- # Now generate the symbol file.
- eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | grep -v main >> conftest.$ac_ext'
- cat <<EOF >> conftest.$ac_ext
-#if defined (__STDC__) && __STDC__
-# define lt_ptr_t void *
-#else
-# define lt_ptr_t char *
-# define const
-#endif
-/* The mapping between symbol names and symbols. */
-const struct {
- const char *name;
- lt_ptr_t address;
-}
-lt_preloaded_symbols[] =
-{
-EOF
- $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (lt_ptr_t) \&\2},/" < "$nlist" | grep -v main >> conftest.$ac_ext
- cat <<\EOF >> conftest.$ac_ext
- {0, (lt_ptr_t) 0}
-};
+test -z "$LN_S" && LN_S="ln -s"
-#ifdef __cplusplus
-}
-#endif
-EOF
- # Now try linking the two files.
- mv conftest.$ac_objext conftstm.$ac_objext
- lt_save_LIBS="$LIBS"
- lt_save_CFLAGS="$CFLAGS"
- LIBS="conftstm.$ac_objext"
- CFLAGS="$CFLAGS$lt_prog_compiler_no_builtin_flag"
- if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && test -s conftest${ac_exeext}; then
- pipe_works=yes
- fi
- LIBS="$lt_save_LIBS"
- CFLAGS="$lt_save_CFLAGS"
- else
- echo "cannot find nm_test_func in $nlist" >&5
- fi
- else
- echo "cannot find nm_test_var in $nlist" >&5
- fi
- else
- echo "cannot run $lt_cv_sys_global_symbol_pipe" >&5
- fi
- else
- echo "$progname: failed program was:" >&5
- cat conftest.$ac_ext >&5
- fi
- rm -f conftest* conftst*
- # Do not use the global_symbol_pipe unless it works.
- if test "$pipe_works" = yes; then
- break
- else
- lt_cv_sys_global_symbol_pipe=
- fi
-done
-fi
-if test -z "$lt_cv_sys_global_symbol_pipe"; then
- lt_cv_sys_global_symbol_to_cdecl=
-fi
-if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then
- { echo "$as_me:$LINENO: result: failed" >&5
-echo "${ECHO_T}failed" >&6; }
-else
- { echo "$as_me:$LINENO: result: ok" >&5
-echo "${ECHO_T}ok" >&6; }
+
+
+
+
+
+
+
+
+
+
+if test -n "${ZSH_VERSION+set}" ; then
+ setopt NO_GLOB_SUBST
fi
-{ echo "$as_me:$LINENO: checking for objdir" >&5
-echo $ECHO_N "checking for objdir... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking for objdir" >&5
+$as_echo_n "checking for objdir... " >&6; }
if test "${lt_cv_objdir+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
rm -f .libs 2>/dev/null
mkdir .libs 2>/dev/null
@@ -6964,14 +8838,34 @@ else
fi
rmdir .libs 2>/dev/null
fi
-{ echo "$as_me:$LINENO: result: $lt_cv_objdir" >&5
-echo "${ECHO_T}$lt_cv_objdir" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $lt_cv_objdir" >&5
+$as_echo "$lt_cv_objdir" >&6; }
objdir=$lt_cv_objdir
+cat >>confdefs.h <<_ACEOF
+#define LT_OBJDIR "$lt_cv_objdir/"
+_ACEOF
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
case $host_os in
aix3*)
# AIX sometimes has problems with the GCC collect2 program. For some
@@ -6986,360 +8880,41 @@ esac
# Sed substitution that helps us do robust quoting. It backslashifies
# metacharacters that are still active within double-quoted strings.
-Xsed='sed -e 1s/^X//'
-sed_quote_subst='s/\([\\"\\`$\\\\]\)/\\\1/g'
+sed_quote_subst='s/\(["`$\\]\)/\\\1/g'
# Same as above, but do not quote variable references.
-double_quote_subst='s/\([\\"\\`\\\\]\)/\\\1/g'
+double_quote_subst='s/\(["`\\]\)/\\\1/g'
# Sed substitution to delay expansion of an escaped shell variable in a
# double_quote_subst'ed string.
delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g'
+# Sed substitution to delay expansion of an escaped single quote.
+delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g'
+
# Sed substitution to avoid accidental globbing in evaled expressions
no_glob_subst='s/\*/\\\*/g'
-# Constants:
-rm="rm -f"
-
# Global variables:
-default_ofile=libtool
+ofile=libtool
can_build_shared=yes
# All known linkers require a `.a' archive for static linking (except MSVC,
# which needs '.lib').
libext=a
-ltmain="$ac_aux_dir/ltmain.sh"
-ofile="$default_ofile"
-with_gnu_ld="$lt_cv_prog_gnu_ld"
-
-if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args.
-set dummy ${ac_tool_prefix}ar; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
-if test "${ac_cv_prog_AR+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test -n "$AR"; then
- ac_cv_prog_AR="$AR" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_AR="${ac_tool_prefix}ar"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-IFS=$as_save_IFS
-
-fi
-fi
-AR=$ac_cv_prog_AR
-if test -n "$AR"; then
- { echo "$as_me:$LINENO: result: $AR" >&5
-echo "${ECHO_T}$AR" >&6; }
-else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_AR"; then
- ac_ct_AR=$AR
- # Extract the first word of "ar", so it can be a program name with args.
-set dummy ar; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
-if test "${ac_cv_prog_ac_ct_AR+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test -n "$ac_ct_AR"; then
- ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_ac_ct_AR="ar"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_AR=$ac_cv_prog_ac_ct_AR
-if test -n "$ac_ct_AR"; then
- { echo "$as_me:$LINENO: result: $ac_ct_AR" >&5
-echo "${ECHO_T}$ac_ct_AR" >&6; }
-else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
-fi
-
- if test "x$ac_ct_AR" = x; then
- AR="false"
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
-whose name does not start with the host triplet. If you think this
-configuration is useful to you, please write to autoconf@gnu.org." >&5
-echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
-whose name does not start with the host triplet. If you think this
-configuration is useful to you, please write to autoconf@gnu.org." >&2;}
-ac_tool_warned=yes ;;
-esac
- AR=$ac_ct_AR
- fi
-else
- AR="$ac_cv_prog_AR"
-fi
-
-if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
-set dummy ${ac_tool_prefix}ranlib; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
-if test "${ac_cv_prog_RANLIB+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test -n "$RANLIB"; then
- ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-IFS=$as_save_IFS
-
-fi
-fi
-RANLIB=$ac_cv_prog_RANLIB
-if test -n "$RANLIB"; then
- { echo "$as_me:$LINENO: result: $RANLIB" >&5
-echo "${ECHO_T}$RANLIB" >&6; }
-else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_RANLIB"; then
- ac_ct_RANLIB=$RANLIB
- # Extract the first word of "ranlib", so it can be a program name with args.
-set dummy ranlib; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
-if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test -n "$ac_ct_RANLIB"; then
- ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_ac_ct_RANLIB="ranlib"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB
-if test -n "$ac_ct_RANLIB"; then
- { echo "$as_me:$LINENO: result: $ac_ct_RANLIB" >&5
-echo "${ECHO_T}$ac_ct_RANLIB" >&6; }
-else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
-fi
-
- if test "x$ac_ct_RANLIB" = x; then
- RANLIB=":"
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
-whose name does not start with the host triplet. If you think this
-configuration is useful to you, please write to autoconf@gnu.org." >&5
-echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
-whose name does not start with the host triplet. If you think this
-configuration is useful to you, please write to autoconf@gnu.org." >&2;}
-ac_tool_warned=yes ;;
-esac
- RANLIB=$ac_ct_RANLIB
- fi
-else
- RANLIB="$ac_cv_prog_RANLIB"
-fi
-
-if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
-set dummy ${ac_tool_prefix}strip; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
-if test "${ac_cv_prog_STRIP+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test -n "$STRIP"; then
- ac_cv_prog_STRIP="$STRIP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_STRIP="${ac_tool_prefix}strip"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-IFS=$as_save_IFS
-
-fi
-fi
-STRIP=$ac_cv_prog_STRIP
-if test -n "$STRIP"; then
- { echo "$as_me:$LINENO: result: $STRIP" >&5
-echo "${ECHO_T}$STRIP" >&6; }
-else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_STRIP"; then
- ac_ct_STRIP=$STRIP
- # Extract the first word of "strip", so it can be a program name with args.
-set dummy strip; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
-if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test -n "$ac_ct_STRIP"; then
- ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_ac_ct_STRIP="strip"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP
-if test -n "$ac_ct_STRIP"; then
- { echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5
-echo "${ECHO_T}$ac_ct_STRIP" >&6; }
-else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
-fi
-
- if test "x$ac_ct_STRIP" = x; then
- STRIP=":"
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
-whose name does not start with the host triplet. If you think this
-configuration is useful to you, please write to autoconf@gnu.org." >&5
-echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
-whose name does not start with the host triplet. If you think this
-configuration is useful to you, please write to autoconf@gnu.org." >&2;}
-ac_tool_warned=yes ;;
-esac
- STRIP=$ac_ct_STRIP
- fi
-else
- STRIP="$ac_cv_prog_STRIP"
-fi
+with_gnu_ld="$lt_cv_prog_gnu_ld"
old_CC="$CC"
old_CFLAGS="$CFLAGS"
# Set sane defaults for various variables
-test -z "$AR" && AR=ar
-test -z "$AR_FLAGS" && AR_FLAGS=cru
-test -z "$AS" && AS=as
test -z "$CC" && CC=cc
test -z "$LTCC" && LTCC=$CC
test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS
-test -z "$DLLTOOL" && DLLTOOL=dlltool
test -z "$LD" && LD=ld
-test -z "$LN_S" && LN_S="ln -s"
-test -z "$MAGIC_CMD" && MAGIC_CMD=file
-test -z "$NM" && NM=nm
-test -z "$SED" && SED=sed
-test -z "$OBJDUMP" && OBJDUMP=objdump
-test -z "$RANLIB" && RANLIB=:
-test -z "$STRIP" && STRIP=:
test -z "$ac_objext" && ac_objext=o
-# Determine commands to create old-style static archives.
-old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs'
-old_postinstall_cmds='chmod 644 $oldlib'
-old_postuninstall_cmds=
-
-if test -n "$RANLIB"; then
- case $host_os in
- openbsd*)
- old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib"
- ;;
- *)
- old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib"
- ;;
- esac
- old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib"
-fi
-
for cc_temp in $compiler""; do
case $cc_temp in
compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
@@ -7348,17 +8923,18 @@ for cc_temp in $compiler""; do
*) break;;
esac
done
-cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
+cc_basename=`$ECHO "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
# Only perform the check for file, if the check method requires it
+test -z "$MAGIC_CMD" && MAGIC_CMD=file
case $deplibs_check_method in
file_magic*)
if test "$file_magic_cmd" = '$MAGIC_CMD'; then
- { echo "$as_me:$LINENO: checking for ${ac_tool_prefix}file" >&5
-echo $ECHO_N "checking for ${ac_tool_prefix}file... $ECHO_C" >&6; }
+ { $as_echo "$as_me:$LINENO: checking for ${ac_tool_prefix}file" >&5
+$as_echo_n "checking for ${ac_tool_prefix}file... " >&6; }
if test "${lt_cv_path_MAGIC_CMD+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
case $MAGIC_CMD in
[\\/*] | ?:[\\/]*)
@@ -7382,7 +8958,7 @@ else
$EGREP "$file_magic_regex" > /dev/null; then
:
else
- cat <<EOF 1>&2
+ cat <<_LT_EOF 1>&2
*** Warning: the command libtool uses to detect shared libraries,
*** $file_magic_cmd, produces output that libtool cannot recognize.
@@ -7393,7 +8969,7 @@ else
*** may want to report the problem to your system manager and/or to
*** bug-libtool@gnu.org
-EOF
+_LT_EOF
fi ;;
esac
fi
@@ -7408,19 +8984,23 @@ fi
MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
if test -n "$MAGIC_CMD"; then
- { echo "$as_me:$LINENO: result: $MAGIC_CMD" >&5
-echo "${ECHO_T}$MAGIC_CMD" >&6; }
+ { $as_echo "$as_me:$LINENO: result: $MAGIC_CMD" >&5
+$as_echo "$MAGIC_CMD" >&6; }
else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
fi
+
+
+
+
if test -z "$lt_cv_path_MAGIC_CMD"; then
if test -n "$ac_tool_prefix"; then
- { echo "$as_me:$LINENO: checking for file" >&5
-echo $ECHO_N "checking for file... $ECHO_C" >&6; }
+ { $as_echo "$as_me:$LINENO: checking for file" >&5
+$as_echo_n "checking for file... " >&6; }
if test "${lt_cv_path_MAGIC_CMD+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
case $MAGIC_CMD in
[\\/*] | ?:[\\/]*)
@@ -7444,7 +9024,7 @@ else
$EGREP "$file_magic_regex" > /dev/null; then
:
else
- cat <<EOF 1>&2
+ cat <<_LT_EOF 1>&2
*** Warning: the command libtool uses to detect shared libraries,
*** $file_magic_cmd, produces output that libtool cannot recognize.
@@ -7455,7 +9035,7 @@ else
*** may want to report the problem to your system manager and/or to
*** bug-libtool@gnu.org
-EOF
+_LT_EOF
fi ;;
esac
fi
@@ -7470,13 +9050,14 @@ fi
MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
if test -n "$MAGIC_CMD"; then
- { echo "$as_me:$LINENO: result: $MAGIC_CMD" >&5
-echo "${ECHO_T}$MAGIC_CMD" >&6; }
+ { $as_echo "$as_me:$LINENO: result: $MAGIC_CMD" >&5
+$as_echo "$MAGIC_CMD" >&6; }
else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
fi
+
else
MAGIC_CMD=:
fi
@@ -7486,28 +9067,8 @@ fi
;;
esac
-enable_dlopen=no
-enable_win32_dll=yes
-
-# Check whether --enable-libtool-lock was given.
-if test "${enable_libtool_lock+set}" = set; then
- enableval=$enable_libtool_lock;
-fi
-
-test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes
-
-
-# Check whether --with-pic was given.
-if test "${with_pic+set}" = set; then
- withval=$with_pic; pic_mode="$withval"
-else
- pic_mode=default
-fi
-
-test -z "$pic_mode" && pic_mode=default
-
# Use C for the default configuration in the libtool script
-tagname=
+
lt_save_CC="$CC"
ac_ext=c
ac_cpp='$CPP $CPPFLAGS'
@@ -7530,6 +9091,11 @@ lt_simple_compile_test_code="int some_variable = 0;"
lt_simple_link_test_code='int main(){return(0);}'
+
+
+
+
+
# If no C compiler was specified, use CC.
LTCC=${LTCC-"$CC"}
@@ -7539,35 +9105,42 @@ LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
# Allow CC to be a program name with arguments.
compiler=$CC
+# Save the default compiler, since it gets overwritten when the other
+# tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP.
+compiler_DEFAULT=$CC
# save warnings/boilerplate of simple test code
ac_outfile=conftest.$ac_objext
echo "$lt_simple_compile_test_code" >conftest.$ac_ext
eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
_lt_compiler_boilerplate=`cat conftest.err`
-$rm conftest*
+$RM conftest*
ac_outfile=conftest.$ac_objext
echo "$lt_simple_link_test_code" >conftest.$ac_ext
eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
_lt_linker_boilerplate=`cat conftest.err`
-$rm conftest*
+$RM -r conftest*
+## CAVEAT EMPTOR:
+## There is no encapsulation within the following macros, do not change
+## the running order or otherwise move them around unless you know exactly
+## what you are doing...
+if test -n "$compiler"; then
lt_prog_compiler_no_builtin_flag=
if test "$GCC" = yes; then
lt_prog_compiler_no_builtin_flag=' -fno-builtin'
-
-{ echo "$as_me:$LINENO: checking if $compiler supports -fno-rtti -fno-exceptions" >&5
-echo $ECHO_N "checking if $compiler supports -fno-rtti -fno-exceptions... $ECHO_C" >&6; }
+ { $as_echo "$as_me:$LINENO: checking if $compiler supports -fno-rtti -fno-exceptions" >&5
+$as_echo_n "checking if $compiler supports -fno-rtti -fno-exceptions... " >&6; }
if test "${lt_cv_prog_compiler_rtti_exceptions+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
lt_cv_prog_compiler_rtti_exceptions=no
- ac_outfile=conftest.$ac_objext
+ ac_outfile=conftest.$ac_objext
echo "$lt_simple_compile_test_code" > conftest.$ac_ext
lt_compiler_flag="-fno-rtti -fno-exceptions"
# Insert the option either (1) after the last *FLAGS variable, or
@@ -7579,25 +9152,25 @@ else
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:7582: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:9155: $lt_compile\"" >&5)
(eval "$lt_compile" 2>conftest.err)
ac_status=$?
cat conftest.err >&5
- echo "$as_me:7586: \$? = $ac_status" >&5
+ echo "$as_me:9159: \$? = $ac_status" >&5
if (exit $ac_status) && test -s "$ac_outfile"; then
# The compiler can only warn and ignore the option if not recognized
# So say no if there are warnings other than the usual output.
- $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp
+ $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp
$SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
lt_cv_prog_compiler_rtti_exceptions=yes
fi
fi
- $rm conftest*
+ $RM conftest*
fi
-{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_rtti_exceptions" >&5
-echo "${ECHO_T}$lt_cv_prog_compiler_rtti_exceptions" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_rtti_exceptions" >&5
+$as_echo "$lt_cv_prog_compiler_rtti_exceptions" >&6; }
if test x"$lt_cv_prog_compiler_rtti_exceptions" = xyes; then
lt_prog_compiler_no_builtin_flag="$lt_prog_compiler_no_builtin_flag -fno-rtti -fno-exceptions"
@@ -7607,12 +9180,17 @@ fi
fi
-lt_prog_compiler_wl=
+
+
+
+
+
+ lt_prog_compiler_wl=
lt_prog_compiler_pic=
lt_prog_compiler_static=
-{ echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5
-echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5
+$as_echo_n "checking for $compiler option to produce PIC... " >&6; }
if test "$GCC" = yes; then
lt_prog_compiler_wl='-Wl,'
@@ -7628,17 +9206,25 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; }
;;
amigaos*)
- # FIXME: we need at least 68020 code to build shared libraries, but
- # adding the `-m68020' flag to GCC prevents building anything better,
- # like `-m68040'.
- lt_prog_compiler_pic='-m68020 -resident32 -malways-restore-a4'
+ case $host_cpu in
+ powerpc)
+ # see comment about AmigaOS4 .so support
+ lt_prog_compiler_pic='-fPIC'
+ ;;
+ m68k)
+ # FIXME: we need at least 68020 code to build shared libraries, but
+ # adding the `-m68020' flag to GCC prevents building anything better,
+ # like `-m68040'.
+ lt_prog_compiler_pic='-m68020 -resident32 -malways-restore-a4'
+ ;;
+ esac
;;
beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
# PIC is the default for these OSes.
;;
- mingw* | cygwin* | pw32* | os2*)
+ mingw* | cygwin* | pw32* | os2* | cegcc*)
# This hack is so that the source file can tell whether it is being
# built for inclusion in a dll (and should export symbols for example).
# Although the cygwin gcc ignores -fPIC, still need this for old-style
@@ -7652,6 +9238,20 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; }
lt_prog_compiler_pic='-fno-common'
;;
+ hpux*)
+ # PIC is the default for 64-bit PA HP-UX, but not for 32-bit
+ # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag
+ # sets the default TLS model and affects inlining.
+ case $host_cpu in
+ hppa*64*)
+ # +Z the default
+ ;;
+ *)
+ lt_prog_compiler_pic='-fPIC'
+ ;;
+ esac
+ ;;
+
interix[3-9]*)
# Interix 3.x gcc -fpic/-fPIC options generate broken code.
# Instead, we relocate shared libraries at runtime.
@@ -7664,25 +9264,18 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; }
enable_shared=no
;;
+ *nto* | *qnx*)
+ # QNX uses GNU C++, but need to define -shared option too, otherwise
+ # it will coredump.
+ lt_prog_compiler_pic='-fPIC -shared'
+ ;;
+
sysv4*MP*)
if test -d /usr/nec; then
lt_prog_compiler_pic=-Kconform_pic
fi
;;
- hpux*)
- # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
- # not for PA HP-UX.
- case $host_cpu in
- hppa*64*|ia64*)
- # +Z the default
- ;;
- *)
- lt_prog_compiler_pic='-fPIC'
- ;;
- esac
- ;;
-
*)
lt_prog_compiler_pic='-fPIC'
;;
@@ -7699,18 +9292,8 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; }
lt_prog_compiler_static='-bnso -bI:/lib/syscalls.exp'
fi
;;
- darwin*)
- # PIC is the default on this platform
- # Common symbols not allowed in MH_DYLIB files
- case $cc_basename in
- xlc*)
- lt_prog_compiler_pic='-qnocommon'
- lt_prog_compiler_wl='-Wl,'
- ;;
- esac
- ;;
- mingw* | cygwin* | pw32* | os2*)
+ mingw* | cygwin* | pw32* | os2* | cegcc*)
# This hack is so that the source file can tell whether it is being
# built for inclusion in a dll (and should export symbols for example).
lt_prog_compiler_pic='-DDLL_EXPORT'
@@ -7738,18 +9321,27 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; }
lt_prog_compiler_static='-non_shared'
;;
- newsos6)
- lt_prog_compiler_pic='-KPIC'
- lt_prog_compiler_static='-Bstatic'
- ;;
-
linux* | k*bsd*-gnu)
case $cc_basename in
- icc* | ecc*)
+ # old Intel for x86_64 which still supported -KPIC.
+ ecc*)
lt_prog_compiler_wl='-Wl,'
lt_prog_compiler_pic='-KPIC'
lt_prog_compiler_static='-static'
;;
+ # icc used to be incompatible with GCC.
+ # ICC 10 doesn't accept -KPIC any more.
+ icc* | ifort*)
+ lt_prog_compiler_wl='-Wl,'
+ lt_prog_compiler_pic='-fPIC'
+ lt_prog_compiler_static='-static'
+ ;;
+ # Lahey Fortran 8.1.
+ lf95*)
+ lt_prog_compiler_wl='-Wl,'
+ lt_prog_compiler_pic='--shared'
+ lt_prog_compiler_static='--static'
+ ;;
pgcc* | pgf77* | pgf90* | pgf95*)
# Portland Group compilers (*not* the Pentium gcc compiler,
# which looks to be a dead project)
@@ -7762,8 +9354,14 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; }
# All Alpha code is PIC.
lt_prog_compiler_static='-non_shared'
;;
+ xl*)
+ # IBM XL C 8.0/Fortran 10.1 on PPC
+ lt_prog_compiler_wl='-Wl,'
+ lt_prog_compiler_pic='-qpic'
+ lt_prog_compiler_static='-qstaticlink'
+ ;;
*)
- case `$CC -V 2>&1 | sed 5q` in
+ case `$CC -V 2>&1 | sed 5q` in
*Sun\ C*)
# Sun C 5.9
lt_prog_compiler_pic='-KPIC'
@@ -7781,6 +9379,17 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; }
esac
;;
+ newsos6)
+ lt_prog_compiler_pic='-KPIC'
+ lt_prog_compiler_static='-Bstatic'
+ ;;
+
+ *nto* | *qnx*)
+ # QNX uses GNU C++, but need to define -shared option too, otherwise
+ # it will coredump.
+ lt_prog_compiler_pic='-fPIC -shared'
+ ;;
+
osf3* | osf4* | osf5*)
lt_prog_compiler_wl='-Wl,'
# All OSF/1 code is PIC.
@@ -7843,21 +9452,34 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; }
esac
fi
-{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic" >&5
-echo "${ECHO_T}$lt_prog_compiler_pic" >&6; }
+case $host_os in
+ # For platforms which do not support PIC, -DPIC is meaningless:
+ *djgpp*)
+ lt_prog_compiler_pic=
+ ;;
+ *)
+ lt_prog_compiler_pic="$lt_prog_compiler_pic -DPIC"
+ ;;
+esac
+{ $as_echo "$as_me:$LINENO: result: $lt_prog_compiler_pic" >&5
+$as_echo "$lt_prog_compiler_pic" >&6; }
+
+
+
+
+
#
# Check to make sure the PIC flag actually works.
#
if test -n "$lt_prog_compiler_pic"; then
-
-{ echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5
-echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic works... $ECHO_C" >&6; }
-if test "${lt_prog_compiler_pic_works+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ { $as_echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5
+$as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic works... " >&6; }
+if test "${lt_cv_prog_compiler_pic_works+set}" = set; then
+ $as_echo_n "(cached) " >&6
else
- lt_prog_compiler_pic_works=no
- ac_outfile=conftest.$ac_objext
+ lt_cv_prog_compiler_pic_works=no
+ ac_outfile=conftest.$ac_objext
echo "$lt_simple_compile_test_code" > conftest.$ac_ext
lt_compiler_flag="$lt_prog_compiler_pic -DPIC"
# Insert the option either (1) after the last *FLAGS variable, or
@@ -7869,27 +9491,27 @@ else
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:7872: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:9494: $lt_compile\"" >&5)
(eval "$lt_compile" 2>conftest.err)
ac_status=$?
cat conftest.err >&5
- echo "$as_me:7876: \$? = $ac_status" >&5
+ echo "$as_me:9498: \$? = $ac_status" >&5
if (exit $ac_status) && test -s "$ac_outfile"; then
# The compiler can only warn and ignore the option if not recognized
# So say no if there are warnings other than the usual output.
- $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp
+ $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp
$SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
- lt_prog_compiler_pic_works=yes
+ lt_cv_prog_compiler_pic_works=yes
fi
fi
- $rm conftest*
+ $RM conftest*
fi
-{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_works" >&5
-echo "${ECHO_T}$lt_prog_compiler_pic_works" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_pic_works" >&5
+$as_echo "$lt_cv_prog_compiler_pic_works" >&6; }
-if test x"$lt_prog_compiler_pic_works" = xyes; then
+if test x"$lt_cv_prog_compiler_pic_works" = xyes; then
case $lt_prog_compiler_pic in
"" | " "*) ;;
*) lt_prog_compiler_pic=" $lt_prog_compiler_pic" ;;
@@ -7900,26 +9522,22 @@ else
fi
fi
-case $host_os in
- # For platforms which do not support PIC, -DPIC is meaningless:
- *djgpp*)
- lt_prog_compiler_pic=
- ;;
- *)
- lt_prog_compiler_pic="$lt_prog_compiler_pic -DPIC"
- ;;
-esac
+
+
+
+
+
#
# Check to make sure the static flag actually works.
#
wl=$lt_prog_compiler_wl eval lt_tmp_static_flag=\"$lt_prog_compiler_static\"
-{ echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5
-echo $ECHO_N "checking if $compiler static flag $lt_tmp_static_flag works... $ECHO_C" >&6; }
-if test "${lt_prog_compiler_static_works+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+{ $as_echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5
+$as_echo_n "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; }
+if test "${lt_cv_prog_compiler_static_works+set}" = set; then
+ $as_echo_n "(cached) " >&6
else
- lt_prog_compiler_static_works=no
+ lt_cv_prog_compiler_static_works=no
save_LDFLAGS="$LDFLAGS"
LDFLAGS="$LDFLAGS $lt_tmp_static_flag"
echo "$lt_simple_link_test_code" > conftest.$ac_ext
@@ -7929,36 +9547,41 @@ else
if test -s conftest.err; then
# Append any errors to the config.log.
cat conftest.err 1>&5
- $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp
+ $ECHO "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp
$SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
if diff conftest.exp conftest.er2 >/dev/null; then
- lt_prog_compiler_static_works=yes
+ lt_cv_prog_compiler_static_works=yes
fi
else
- lt_prog_compiler_static_works=yes
+ lt_cv_prog_compiler_static_works=yes
fi
fi
- $rm conftest*
+ $RM -r conftest*
LDFLAGS="$save_LDFLAGS"
fi
-{ echo "$as_me:$LINENO: result: $lt_prog_compiler_static_works" >&5
-echo "${ECHO_T}$lt_prog_compiler_static_works" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_static_works" >&5
+$as_echo "$lt_cv_prog_compiler_static_works" >&6; }
-if test x"$lt_prog_compiler_static_works" = xyes; then
+if test x"$lt_cv_prog_compiler_static_works" = xyes; then
:
else
lt_prog_compiler_static=
fi
-{ echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5
-echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6; }
+
+
+
+
+
+ { $as_echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5
+$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
if test "${lt_cv_prog_compiler_c_o+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
lt_cv_prog_compiler_c_o=no
- $rm -r conftest 2>/dev/null
+ $RM -r conftest 2>/dev/null
mkdir conftest
cd conftest
mkdir out
@@ -7973,83 +9596,148 @@ else
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:7976: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:9599: $lt_compile\"" >&5)
(eval "$lt_compile" 2>out/conftest.err)
ac_status=$?
cat out/conftest.err >&5
- echo "$as_me:7980: \$? = $ac_status" >&5
+ echo "$as_me:9603: \$? = $ac_status" >&5
if (exit $ac_status) && test -s out/conftest2.$ac_objext
then
# The compiler can only warn and ignore the option if not recognized
# So say no if there are warnings
- $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp
+ $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp
$SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
lt_cv_prog_compiler_c_o=yes
fi
fi
chmod u+w . 2>&5
- $rm conftest*
+ $RM conftest*
# SGI C++ compiler will create directory out/ii_files/ for
# template instantiation
- test -d out/ii_files && $rm out/ii_files/* && rmdir out/ii_files
- $rm out/* && rmdir out
+ test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files
+ $RM out/* && rmdir out
cd ..
- rmdir conftest
- $rm conftest*
+ $RM -r conftest
+ $RM conftest*
fi
-{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o" >&5
-echo "${ECHO_T}$lt_cv_prog_compiler_c_o" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o" >&5
+$as_echo "$lt_cv_prog_compiler_c_o" >&6; }
+
+
+
+
+
+
+ { $as_echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5
+$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
+if test "${lt_cv_prog_compiler_c_o+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ lt_cv_prog_compiler_c_o=no
+ $RM -r conftest 2>/dev/null
+ mkdir conftest
+ cd conftest
+ mkdir out
+ echo "$lt_simple_compile_test_code" > conftest.$ac_ext
+
+ lt_compiler_flag="-o out/conftest2.$ac_objext"
+ # Insert the option either (1) after the last *FLAGS variable, or
+ # (2) before a word containing "conftest.", or (3) at the end.
+ # Note that $ac_compile itself does not contain backslashes and begins
+ # with a dollar sign (not a hyphen), so the echo should work correctly.
+ lt_compile=`echo "$ac_compile" | $SED \
+ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
+ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
+ -e 's:$: $lt_compiler_flag:'`
+ (eval echo "\"\$as_me:9654: $lt_compile\"" >&5)
+ (eval "$lt_compile" 2>out/conftest.err)
+ ac_status=$?
+ cat out/conftest.err >&5
+ echo "$as_me:9658: \$? = $ac_status" >&5
+ if (exit $ac_status) && test -s out/conftest2.$ac_objext
+ then
+ # The compiler can only warn and ignore the option if not recognized
+ # So say no if there are warnings
+ $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp
+ $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
+ if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
+ lt_cv_prog_compiler_c_o=yes
+ fi
+ fi
+ chmod u+w . 2>&5
+ $RM conftest*
+ # SGI C++ compiler will create directory out/ii_files/ for
+ # template instantiation
+ test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files
+ $RM out/* && rmdir out
+ cd ..
+ $RM -r conftest
+ $RM conftest*
+
+fi
+{ $as_echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o" >&5
+$as_echo "$lt_cv_prog_compiler_c_o" >&6; }
+
+
hard_links="nottested"
if test "$lt_cv_prog_compiler_c_o" = no && test "$need_locks" != no; then
# do not overwrite the value of need_locks provided by the user
- { echo "$as_me:$LINENO: checking if we can lock with hard links" >&5
-echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6; }
+ { $as_echo "$as_me:$LINENO: checking if we can lock with hard links" >&5
+$as_echo_n "checking if we can lock with hard links... " >&6; }
hard_links=yes
- $rm conftest*
+ $RM conftest*
ln conftest.a conftest.b 2>/dev/null && hard_links=no
touch conftest.a
ln conftest.a conftest.b 2>&5 || hard_links=no
ln conftest.a conftest.b 2>/dev/null && hard_links=no
- { echo "$as_me:$LINENO: result: $hard_links" >&5
-echo "${ECHO_T}$hard_links" >&6; }
+ { $as_echo "$as_me:$LINENO: result: $hard_links" >&5
+$as_echo "$hard_links" >&6; }
if test "$hard_links" = no; then
- { echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5
-echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5
+$as_echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;}
need_locks=warn
fi
else
need_locks=no
fi
-{ echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5
-echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6; }
+
+
+
+
+
+ { $as_echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5
+$as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; }
runpath_var=
allow_undefined_flag=
- enable_shared_with_static_runtimes=no
+ always_export_symbols=no
archive_cmds=
archive_expsym_cmds=
- old_archive_From_new_cmds=
- old_archive_from_expsyms_cmds=
+ compiler_needs_object=no
+ enable_shared_with_static_runtimes=no
export_dynamic_flag_spec=
- whole_archive_flag_spec=
- thread_safe_flag_spec=
+ export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
+ hardcode_automatic=no
+ hardcode_direct=no
+ hardcode_direct_absolute=no
hardcode_libdir_flag_spec=
hardcode_libdir_flag_spec_ld=
hardcode_libdir_separator=
- hardcode_direct=no
hardcode_minus_L=no
hardcode_shlibpath_var=unsupported
+ inherit_rpath=no
link_all_deplibs=unknown
- hardcode_automatic=no
module_cmds=
module_expsym_cmds=
- always_export_symbols=no
- export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
+ old_archive_from_new_cmds=
+ old_archive_from_expsyms_cmds=
+ thread_safe_flag_spec=
+ whole_archive_flag_spec=
# include_expsyms should be a list of space-separated symbols to be *always*
# included in the symbol list
include_expsyms=
@@ -8057,26 +9745,17 @@ echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared librar
# it will be wrapped by ` (' and `)$', so one must not match beginning or
# end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc',
# as well as any symbol that contains `d'.
- exclude_expsyms="_GLOBAL_OFFSET_TABLE_"
+ exclude_expsyms='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'
# Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out
# platforms (ab)use it in PIC code, but their linkers get confused if
# the symbol is explicitly referenced. Since portable code cannot
# rely on this symbol name, it's probably fine to never include it in
# preloaded symbol tables.
+ # Exclude shared library initialization/finalization symbols.
extract_expsyms_cmds=
- # Just being paranoid about ensuring that cc_basename is set.
- for cc_temp in $compiler""; do
- case $cc_temp in
- compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
- distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
- \-*) ;;
- *) break;;
- esac
-done
-cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
case $host_os in
- cygwin* | mingw* | pw32*)
+ cygwin* | mingw* | pw32* | cegcc*)
# FIXME: the MSVC++ port hasn't been tested in a loooong time
# When not using gcc, we currently assume that we are using
# Microsoft Visual C++.
@@ -8102,16 +9781,16 @@ cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
# are reset later if shared libraries are not supported. Putting them
# here allows them to be overridden if necessary.
runpath_var=LD_RUN_PATH
- hardcode_libdir_flag_spec='${wl}--rpath ${wl}$libdir'
+ hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
export_dynamic_flag_spec='${wl}--export-dynamic'
# ancient GNU ld didn't support --whole-archive et. al.
- if $LD --help 2>&1 | grep 'no-whole-archive' > /dev/null; then
- whole_archive_flag_spec="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
- else
- whole_archive_flag_spec=
+ if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then
+ whole_archive_flag_spec="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
+ else
+ whole_archive_flag_spec=
fi
supports_anon_versioning=no
- case `$LD -v 2>/dev/null` in
+ case `$LD -v 2>&1` in
*\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11
*\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ...
*\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ...
@@ -8121,11 +9800,11 @@ cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
# See if GNU ld supports shared libraries.
case $host_os in
- aix3* | aix4* | aix5*)
+ aix[3-9]*)
# On AIX/PPC, the GNU linker is very broken
if test "$host_cpu" != ia64; then
ld_shlibs=no
- cat <<EOF 1>&2
+ cat <<_LT_EOF 1>&2
*** Warning: the GNU linker, at least up to release 2.9.1, is reported
*** to be unable to reliably create shared libraries on AIX.
@@ -8133,26 +9812,27 @@ cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
*** really care for shared libraries, you may want to modify your PATH
*** so that a non-GNU linker is found, and then restart.
-EOF
+_LT_EOF
fi
;;
amigaos*)
- archive_cmds='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
- hardcode_libdir_flag_spec='-L$libdir'
- hardcode_minus_L=yes
-
- # Samuel A. Falvo II <kc5tja@dolphin.openprojects.net> reports
- # that the semantics of dynamic libraries on AmigaOS, at least up
- # to version 4, is to share data among multiple programs linked
- # with the same dynamic library. Since this doesn't match the
- # behavior of shared libraries on other platforms, we can't use
- # them.
- ld_shlibs=no
+ case $host_cpu in
+ powerpc)
+ # see comment about AmigaOS4 .so support
+ archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ archive_expsym_cmds=''
+ ;;
+ m68k)
+ archive_cmds='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
+ hardcode_libdir_flag_spec='-L$libdir'
+ hardcode_minus_L=yes
+ ;;
+ esac
;;
beos*)
- if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
+ if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
allow_undefined_flag=unsupported
# Joseph Beckenbach <jrb3@best.com> says some releases of gcc
# support --undefined. This deserves some investigation. FIXME
@@ -8162,16 +9842,16 @@ EOF
fi
;;
- cygwin* | mingw* | pw32*)
- # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, ) is actually meaningless,
+ cygwin* | mingw* | pw32* | cegcc*)
+ # _LT_TAGVAR(hardcode_libdir_flag_spec, ) is actually meaningless,
# as there is no search path for DLLs.
hardcode_libdir_flag_spec='-L$libdir'
allow_undefined_flag=unsupported
always_export_symbols=no
enable_shared_with_static_runtimes=yes
- export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/'\'' -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols'
+ export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/'\'' | $SED -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols'
- if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then
+ if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
# If the export-symbols file already is a .def file (1st line
# is EXPORTS), use it as is; otherwise, prepend...
@@ -8202,48 +9882,78 @@ EOF
archive_expsym_cmds='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
;;
- gnu* | linux* | k*bsd*-gnu)
- if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
+ gnu* | linux* | tpf* | k*bsd*-gnu)
+ tmp_diet=no
+ if test "$host_os" = linux-dietlibc; then
+ case $cc_basename in
+ diet\ *) tmp_diet=yes;; # linux-dietlibc with static linking (!diet-dyn)
+ esac
+ fi
+ if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \
+ && test "$tmp_diet" = no
+ then
tmp_addflag=
+ tmp_sharedflag='-shared'
case $cc_basename,$host_cpu in
- pgcc*) # Portland Group C compiler
- whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
+ pgcc*) # Portland Group C compiler
+ whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive'
tmp_addflag=' $pic_flag'
;;
pgf77* | pgf90* | pgf95*) # Portland Group f77 and f90 compilers
- whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
+ whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive'
tmp_addflag=' $pic_flag -Mnomain' ;;
- ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64
+ ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64
tmp_addflag=' -i_dynamic' ;;
efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64
tmp_addflag=' -i_dynamic -nofor_main' ;;
ifc* | ifort*) # Intel Fortran compiler
tmp_addflag=' -nofor_main' ;;
+ lf95*) # Lahey Fortran 8.1
+ whole_archive_flag_spec=
+ tmp_sharedflag='--shared' ;;
+ xl[cC]*) # IBM XL C 8.0 on PPC (deal with xlf below)
+ tmp_sharedflag='-qmkshrobj'
+ tmp_addflag= ;;
esac
case `$CC -V 2>&1 | sed 5q` in
*Sun\ C*) # Sun C 5.9
- whole_archive_flag_spec='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
+ whole_archive_flag_spec='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive'
+ compiler_needs_object=yes
tmp_sharedflag='-G' ;;
*Sun\ F*) # Sun Fortran 8.3
tmp_sharedflag='-G' ;;
- *)
- tmp_sharedflag='-shared' ;;
esac
archive_cmds='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- if test $supports_anon_versioning = yes; then
- archive_expsym_cmds='$echo "{ global:" > $output_objdir/$libname.ver~
- cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
- $echo "local: *; };" >> $output_objdir/$libname.ver~
- $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
- fi
+ if test "x$supports_anon_versioning" = xyes; then
+ archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~
+ cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
+ echo "local: *; };" >> $output_objdir/$libname.ver~
+ $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
+ fi
+
+ case $cc_basename in
+ xlf*)
+ # IBM XL Fortran 10.1 on PPC cannot create shared libs itself
+ whole_archive_flag_spec='--whole-archive$convenience --no-whole-archive'
+ hardcode_libdir_flag_spec=
+ hardcode_libdir_flag_spec_ld='-rpath $libdir'
+ archive_cmds='$LD -shared $libobjs $deplibs $compiler_flags -soname $soname -o $lib'
+ if test "x$supports_anon_versioning" = xyes; then
+ archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~
+ cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
+ echo "local: *; };" >> $output_objdir/$libname.ver~
+ $LD -shared $libobjs $deplibs $compiler_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib'
+ fi
+ ;;
+ esac
else
- ld_shlibs=no
+ ld_shlibs=no
fi
;;
- netbsd*)
- if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
+ netbsd* | netbsdelf*-gnu)
+ if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
wlarc=
else
@@ -8253,9 +9963,9 @@ EOF
;;
solaris*)
- if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then
+ if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then
ld_shlibs=no
- cat <<EOF 1>&2
+ cat <<_LT_EOF 1>&2
*** Warning: The releases 2.8.* of the GNU linker cannot reliably
*** create shared libraries on Solaris systems. Therefore, libtool
@@ -8264,8 +9974,8 @@ EOF
*** your PATH or compiler configuration so that the native linker is
*** used, and then restart.
-EOF
- elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
+_LT_EOF
+ elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
else
@@ -8289,10 +9999,14 @@ EOF
_LT_EOF
;;
*)
- if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
- hardcode_libdir_flag_spec='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`'
- archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib'
- archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname,-retain-symbols-file,$export_symbols -o $lib'
+ # For security reasons, it is highly recommended that you always
+ # use absolute paths for naming shared libraries, and exclude the
+ # DT_RUNPATH tag from executables and libraries. But doing so
+ # requires that you compile everything twice, which is a pain.
+ if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
+ hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
+ archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
else
ld_shlibs=no
fi
@@ -8308,7 +10022,7 @@ _LT_EOF
;;
*)
- if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
+ if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
else
@@ -8340,7 +10054,7 @@ _LT_EOF
fi
;;
- aix4* | aix5*)
+ aix[4-9]*)
if test "$host_cpu" = ia64; then
# On IA64, the linker does run time linking by default, so we don't
# have to do anything special.
@@ -8350,22 +10064,22 @@ _LT_EOF
else
# If we're using GNU nm, then we don't want the "-C" option.
# -C means demangle to AIX nm, but means don't demangle with GNU nm
- if $NM -V 2>&1 | grep 'GNU' > /dev/null; then
- export_symbols_cmds='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols'
+ if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
+ export_symbols_cmds='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
else
- export_symbols_cmds='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols'
+ export_symbols_cmds='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
fi
aix_use_runtimelinking=no
# Test if we are trying to use run time linking or normal
# AIX style linking. If -brtl is somewhere in LDFLAGS, we
# need to do runtime linking.
- case $host_os in aix4.[23]|aix4.[23].*|aix5*)
+ case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*)
for ld_flag in $LDFLAGS; do
- if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then
- aix_use_runtimelinking=yes
- break
- fi
+ if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then
+ aix_use_runtimelinking=yes
+ break
+ fi
done
;;
esac
@@ -8382,28 +10096,30 @@ _LT_EOF
archive_cmds=''
hardcode_direct=yes
+ hardcode_direct_absolute=yes
hardcode_libdir_separator=':'
link_all_deplibs=yes
+ file_list_spec='${wl}-f,'
if test "$GCC" = yes; then
case $host_os in aix4.[012]|aix4.[012].*)
# We only want to do this on AIX 4.2 and lower, the check
# below for broken collect2 doesn't work under 4.3+
collect2name=`${CC} -print-prog-name=collect2`
- if test -f "$collect2name" && \
- strings "$collect2name" | grep resolve_lib_name >/dev/null
+ if test -f "$collect2name" &&
+ strings "$collect2name" | $GREP resolve_lib_name >/dev/null
then
- # We have reworked collect2
- :
+ # We have reworked collect2
+ :
else
- # We have old collect2
- hardcode_direct=unsupported
- # It fails to find uninstalled libraries when the uninstalled
- # path is not listed in the libpath. Setting hardcode_minus_L
- # to unsupported forces relinking
- hardcode_minus_L=yes
- hardcode_libdir_flag_spec='-L$libdir'
- hardcode_libdir_separator=
+ # We have old collect2
+ hardcode_direct=unsupported
+ # It fails to find uninstalled libraries when the uninstalled
+ # path is not listed in the libpath. Setting hardcode_minus_L
+ # to unsupported forces relinking
+ hardcode_minus_L=yes
+ hardcode_libdir_flag_spec='-L$libdir'
+ hardcode_libdir_separator=
fi
;;
esac
@@ -8411,11 +10127,12 @@ _LT_EOF
if test "$aix_use_runtimelinking" = yes; then
shared_flag="$shared_flag "'${wl}-G'
fi
+ link_all_deplibs=no
else
# not using gcc
if test "$host_cpu" = ia64; then
- # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
- # chokes on -Wl,-G. The following line is correct:
+ # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
+ # chokes on -Wl,-G. The following line is correct:
shared_flag='-G'
else
if test "$aix_use_runtimelinking" = yes; then
@@ -8426,6 +10143,7 @@ _LT_EOF
fi
fi
+ export_dynamic_flag_spec='${wl}-bexpall'
# It seems that -bexpall does not export symbols beginning with
# underscore (_), so it is better to generate a list of symbols to export.
always_export_symbols=yes
@@ -8433,8 +10151,9 @@ _LT_EOF
# Warning - without using the other runtime loading flags (-brtl),
# -berok will link without error, but may produce a broken library.
allow_undefined_flag='-berok'
- # Determine the default libpath from the value encoded in an empty executable.
- cat >conftest.$ac_ext <<_ACEOF
+ # Determine the default libpath from the value encoded in an
+ # empty executable.
+ cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
@@ -8455,18 +10174,21 @@ case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
(eval "$ac_link") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
test -z "$ac_c_werror_flag" ||
test ! -s conftest.err
- } && test -s conftest$ac_exeext &&
- $as_test_x conftest$ac_exeext; then
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
lt_aix_libpath_sed='
/Import File Strings/,/^$/ {
@@ -8481,25 +10203,27 @@ if test -z "$aix_libpath"; then
aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
fi
else
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
fi
+rm -rf conftest.dSYM
rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
conftest$ac_exeext conftest.$ac_ext
if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
- hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
- archive_expsym_cmds="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
- else
+ hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
+ archive_expsym_cmds='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then $ECHO "X${wl}${allow_undefined_flag}" | $Xsed; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
+ else
if test "$host_cpu" = ia64; then
hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib'
allow_undefined_flag="-z nodefs"
archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols"
else
- # Determine the default libpath from the value encoded in an empty executable.
+ # Determine the default libpath from the value encoded in an
+ # empty executable.
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
_ACEOF
@@ -8521,18 +10245,21 @@ case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
(eval "$ac_link") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
test -z "$ac_c_werror_flag" ||
test ! -s conftest.err
- } && test -s conftest$ac_exeext &&
- $as_test_x conftest$ac_exeext; then
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
lt_aix_libpath_sed='
/Import File Strings/,/^$/ {
@@ -8547,12 +10274,13 @@ if test -z "$aix_libpath"; then
aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
fi
else
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
fi
+rm -rf conftest.dSYM
rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
conftest$ac_exeext conftest.$ac_ext
if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
@@ -8572,18 +10300,25 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
;;
amigaos*)
- archive_cmds='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
- hardcode_libdir_flag_spec='-L$libdir'
- hardcode_minus_L=yes
- # see comment about different semantics on the GNU ld section
- ld_shlibs=no
+ case $host_cpu in
+ powerpc)
+ # see comment about AmigaOS4 .so support
+ archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ archive_expsym_cmds=''
+ ;;
+ m68k)
+ archive_cmds='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
+ hardcode_libdir_flag_spec='-L$libdir'
+ hardcode_minus_L=yes
+ ;;
+ esac
;;
bsdi[45]*)
export_dynamic_flag_spec=-rdynamic
;;
- cygwin* | mingw* | pw32*)
+ cygwin* | mingw* | pw32* | cegcc*)
# When not using gcc, we currently assume that we are using
# Microsoft Visual C++.
# hardcode_libdir_flag_spec is actually meaningless, as there is
@@ -8595,9 +10330,9 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
# Tell ltmain to make .dll files, not .so files.
shrext_cmds=".dll"
# FIXME: Setting linknames here is a bad hack.
- archive_cmds='$CC -o $lib $libobjs $compiler_flags `echo "$deplibs" | $SED -e '\''s/ -lc$//'\''` -link -dll~linknames='
+ archive_cmds='$CC -o $lib $libobjs $compiler_flags `$ECHO "X$deplibs" | $Xsed -e '\''s/ -lc$//'\''` -link -dll~linknames='
# The linker will automatically build a .lib file if we build a DLL.
- old_archive_From_new_cmds='true'
+ old_archive_from_new_cmds='true'
# FIXME: Should let the user specify the lib program.
old_archive_cmds='lib -OUT:$oldlib$oldobjs$old_deplibs'
fix_srcfile_path='`cygpath -w "$srcfile"`'
@@ -8605,53 +10340,30 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
;;
darwin* | rhapsody*)
- case $host_os in
- rhapsody* | darwin1.[012])
- allow_undefined_flag='${wl}-undefined ${wl}suppress'
- ;;
- *) # Darwin 1.3 on
- if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then
- allow_undefined_flag='${wl}-flat_namespace ${wl}-undefined ${wl}suppress'
- else
- case ${MACOSX_DEPLOYMENT_TARGET} in
- 10.[012])
- allow_undefined_flag='${wl}-flat_namespace ${wl}-undefined ${wl}suppress'
- ;;
- 10.*)
- allow_undefined_flag='${wl}-undefined ${wl}dynamic_lookup'
- ;;
- esac
- fi
- ;;
- esac
- archive_cmds_need_lc=no
- hardcode_direct=no
- hardcode_automatic=yes
- hardcode_shlibpath_var=unsupported
- whole_archive_flag_spec=''
- link_all_deplibs=yes
- if test "$GCC" = yes ; then
- output_verbose_link_cmd='echo'
- archive_cmds='$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring'
- module_cmds='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
- # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds
- archive_expsym_cmds='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
- module_expsym_cmds='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
- else
- case $cc_basename in
- xlc*)
- output_verbose_link_cmd='echo'
- archive_cmds='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $xlcverstring'
- module_cmds='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
- # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds
- archive_expsym_cmds='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $xlcverstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
- module_expsym_cmds='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
- ;;
- *)
- ld_shlibs=no
- ;;
- esac
- fi
+
+
+ archive_cmds_need_lc=no
+ hardcode_direct=no
+ hardcode_automatic=yes
+ hardcode_shlibpath_var=unsupported
+ whole_archive_flag_spec=''
+ link_all_deplibs=yes
+ allow_undefined_flag="$_lt_dar_allow_undefined"
+ case $cc_basename in
+ ifort*) _lt_dar_can_shared=yes ;;
+ *) _lt_dar_can_shared=$GCC ;;
+ esac
+ if test "$_lt_dar_can_shared" = "yes"; then
+ output_verbose_link_cmd=echo
+ archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
+ module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
+ archive_expsym_cmds="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
+ module_expsym_cmds="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
+
+ else
+ ld_shlibs=no
+ fi
+
;;
dgux*)
@@ -8693,9 +10405,9 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
hpux9*)
if test "$GCC" = yes; then
- archive_cmds='$rm $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+ archive_cmds='$RM $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
else
- archive_cmds='$rm $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+ archive_cmds='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
fi
hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
hardcode_libdir_separator=:
@@ -8715,11 +10427,11 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
fi
if test "$with_gnu_ld" = no; then
hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
+ hardcode_libdir_flag_spec_ld='+b $libdir'
hardcode_libdir_separator=:
-
hardcode_direct=yes
+ hardcode_direct_absolute=yes
export_dynamic_flag_spec='${wl}-E'
-
# hardcode_minus_L: Not really in the search PATH,
# but as the default location of the library.
hardcode_minus_L=yes
@@ -8733,7 +10445,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
archive_cmds='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
;;
ia64*)
- archive_cmds='$CC -shared ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
+ archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
;;
*)
archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
@@ -8758,12 +10470,12 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
case $host_cpu in
hppa*64*|ia64*)
- hardcode_libdir_flag_spec_ld='+b $libdir'
hardcode_direct=no
hardcode_shlibpath_var=no
;;
*)
hardcode_direct=yes
+ hardcode_direct_absolute=yes
export_dynamic_flag_spec='${wl}-E'
# hardcode_minus_L: Not really in the search PATH,
@@ -8776,18 +10488,62 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
irix5* | irix6* | nonstopux*)
if test "$GCC" = yes; then
- archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+ archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+ # Try to use the -exported_symbol ld option, if it does not
+ # work, assume that -exports_file does not work either and
+ # implicitly export all symbols.
+ save_LDFLAGS="$LDFLAGS"
+ LDFLAGS="$LDFLAGS -shared ${wl}-exported_symbol ${wl}foo ${wl}-update_registry ${wl}/dev/null"
+ cat >conftest.$ac_ext <<_ACEOF
+int foo(void) {}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
+ archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations ${wl}-exports_file ${wl}$export_symbols -o $lib'
+
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+ LDFLAGS="$save_LDFLAGS"
else
- archive_cmds='$LD -shared $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
- hardcode_libdir_flag_spec_ld='-rpath $libdir'
+ archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
+ archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -exports_file $export_symbols -o $lib'
fi
+ archive_cmds_need_lc='no'
hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
hardcode_libdir_separator=:
+ inherit_rpath=yes
link_all_deplibs=yes
;;
- netbsd*)
- if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
+ netbsd* | netbsdelf*-gnu)
+ if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out
else
archive_cmds='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF
@@ -8805,11 +10561,15 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
hardcode_shlibpath_var=no
;;
+ *nto* | *qnx*)
+ ;;
+
openbsd*)
if test -f /usr/libexec/ld.so; then
hardcode_direct=yes
hardcode_shlibpath_var=no
- if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+ hardcode_direct_absolute=yes
+ if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
archive_expsym_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols'
hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
@@ -8825,7 +10585,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
;;
esac
- fi
+ fi
else
ld_shlibs=no
fi
@@ -8835,18 +10595,19 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
hardcode_libdir_flag_spec='-L$libdir'
hardcode_minus_L=yes
allow_undefined_flag=unsupported
- archive_cmds='$echo "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$echo "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$echo DATA >> $output_objdir/$libname.def~$echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~$echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def'
- old_archive_From_new_cmds='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def'
+ archive_cmds='$ECHO "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$ECHO DATA >> $output_objdir/$libname.def~$ECHO " SINGLE NONSHARED" >> $output_objdir/$libname.def~$ECHO EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def'
+ old_archive_from_new_cmds='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def'
;;
osf3*)
if test "$GCC" = yes; then
allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*'
- archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+ archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
else
allow_undefined_flag=' -expect_unresolved \*'
- archive_cmds='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
+ archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
fi
+ archive_cmds_need_lc='no'
hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
hardcode_libdir_separator=:
;;
@@ -8854,32 +10615,43 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
osf4* | osf5*) # as osf3* with the addition of -msym flag
if test "$GCC" = yes; then
allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*'
- archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+ archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
else
allow_undefined_flag=' -expect_unresolved \*'
- archive_cmds='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
- archive_expsym_cmds='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; echo "-hidden">> $lib.exp~
- $LD -shared${allow_undefined_flag} -input $lib.exp $linker_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~$rm $lib.exp'
+ archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
+ archive_expsym_cmds='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~
+ $CC -shared${allow_undefined_flag} ${wl}-input ${wl}$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib~$RM $lib.exp'
# Both c and cxx compiler support -rpath directly
hardcode_libdir_flag_spec='-rpath $libdir'
fi
+ archive_cmds_need_lc='no'
hardcode_libdir_separator=:
;;
solaris*)
- no_undefined_flag=' -z text'
+ no_undefined_flag=' -z defs'
if test "$GCC" = yes; then
wlarc='${wl}'
- archive_cmds='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
- archive_expsym_cmds='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
- $CC -shared ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$rm $lib.exp'
+ archive_cmds='$CC -shared ${wl}-z ${wl}text ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
+ archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
+ $CC -shared ${wl}-z ${wl}text ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
else
- wlarc=''
- archive_cmds='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags'
- archive_expsym_cmds='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
- $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp'
+ case `$CC -V 2>&1` in
+ *"Compilers 5.0"*)
+ wlarc=''
+ archive_cmds='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
+ $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp'
+ ;;
+ *)
+ wlarc='${wl}'
+ archive_cmds='$CC -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $compiler_flags'
+ archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
+ $CC -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
+ ;;
+ esac
fi
hardcode_libdir_flag_spec='-R$libdir'
hardcode_shlibpath_var=no
@@ -8889,7 +10661,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
# The compiler driver will combine and reorder linker options,
# but understands `-z linker_flag'. GCC discards it without `$wl',
# but is careful enough not to reorder.
- # Supported since Solaris 2.6 (maybe 2.5.1?)
+ # Supported since Solaris 2.6 (maybe 2.5.1?)
if test "$GCC" = yes; then
whole_archive_flag_spec='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
else
@@ -8978,18 +10750,18 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
allow_undefined_flag='${wl}-z,nodefs'
archive_cmds_need_lc=no
hardcode_shlibpath_var=no
- hardcode_libdir_flag_spec='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`'
+ hardcode_libdir_flag_spec='${wl}-R,$libdir'
hardcode_libdir_separator=':'
link_all_deplibs=yes
export_dynamic_flag_spec='${wl}-Bexport'
runpath_var='LD_RUN_PATH'
if test "$GCC" = yes; then
- archive_cmds='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
- archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
+ archive_cmds='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
else
- archive_cmds='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
- archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
+ archive_cmds='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
fi
;;
@@ -9003,12 +10775,36 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
ld_shlibs=no
;;
esac
+
+ if test x$host_vendor = xsni; then
+ case $host in
+ sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
+ export_dynamic_flag_spec='${wl}-Blargedynsym'
+ ;;
+ esac
+ fi
fi
-{ echo "$as_me:$LINENO: result: $ld_shlibs" >&5
-echo "${ECHO_T}$ld_shlibs" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $ld_shlibs" >&5
+$as_echo "$ld_shlibs" >&6; }
test "$ld_shlibs" = no && can_build_shared=no
+with_gnu_ld=$with_gnu_ld
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
#
# Do we need to explicitly link libc?
#
@@ -9026,15 +10822,15 @@ x|xyes)
# Test whether the compiler implicitly links with -lc since on some
# systems, -lgcc has to come before -lc. If gcc already passes -lc
# to ld, don't add -lc before -lgcc.
- { echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5
-echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6; }
- $rm conftest*
+ { $as_echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5
+$as_echo_n "checking whether -lc should be explicitly linked in... " >&6; }
+ $RM conftest*
echo "$lt_simple_compile_test_code" > conftest.$ac_ext
if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
(eval $ac_compile) 2>&5
ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } 2>conftest.err; then
soname=conftest
lib=conftest
@@ -9049,10 +10845,10 @@ echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&
libname=conftest
lt_save_allow_undefined_flag=$allow_undefined_flag
allow_undefined_flag=
- if { (eval echo "$as_me:$LINENO: \"$archive_cmds 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1\"") >&5
- (eval $archive_cmds 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) 2>&5
+ if { (eval echo "$as_me:$LINENO: \"$archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1\"") >&5
+ (eval $archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) 2>&5
ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }
then
archive_cmds_need_lc=no
@@ -9063,30 +10859,173 @@ echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&
else
cat conftest.err 1>&5
fi
- $rm conftest*
- { echo "$as_me:$LINENO: result: $archive_cmds_need_lc" >&5
-echo "${ECHO_T}$archive_cmds_need_lc" >&6; }
+ $RM conftest*
+ { $as_echo "$as_me:$LINENO: result: $archive_cmds_need_lc" >&5
+$as_echo "$archive_cmds_need_lc" >&6; }
;;
esac
fi
;;
esac
-{ echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5
-echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6; }
-library_names_spec=
-libname_spec='lib$name'
-soname_spec=
-shrext_cmds=".so"
-postinstall_cmds=
-postuninstall_cmds=
-finish_cmds=
-finish_eval=
-shlibpath_var=
-shlibpath_overrides_runpath=unknown
-version_type=none
-dynamic_linker="$host_os ld.so"
-sys_lib_dlsearch_path_spec="/lib /usr/lib"
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ { $as_echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5
+$as_echo_n "checking dynamic linker characteristics... " >&6; }
if test "$GCC" = yes; then
case $host_os in
@@ -9094,14 +11033,14 @@ if test "$GCC" = yes; then
*) lt_awk_arg="/^libraries:/" ;;
esac
lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e "s,=/,/,g"`
- if echo "$lt_search_path_spec" | grep ';' >/dev/null ; then
+ if $ECHO "$lt_search_path_spec" | $GREP ';' >/dev/null ; then
# if the path contains ";" then we assume it to be the separator
# otherwise default to the standard path separator (i.e. ":") - it is
# assumed that no part of a normal pathname contains ";" but that should
# okay in the real world where ";" in dirpaths is itself problematic.
- lt_search_path_spec=`echo "$lt_search_path_spec" | $SED -e 's/;/ /g'`
+ lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED -e 's/;/ /g'`
else
- lt_search_path_spec=`echo "$lt_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
+ lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
fi
# Ok, now we have the path, separated by spaces, we can step through it
# and add multilib dir if necessary.
@@ -9115,7 +11054,7 @@ if test "$GCC" = yes; then
lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path"
fi
done
- lt_search_path_spec=`echo $lt_tmp_lt_search_path_spec | awk '
+ lt_search_path_spec=`$ECHO $lt_tmp_lt_search_path_spec | awk '
BEGIN {RS=" "; FS="/|\n";} {
lt_foo="";
lt_count=0;
@@ -9135,10 +11074,23 @@ BEGIN {RS=" "; FS="/|\n";} {
if (lt_foo != "") { lt_freq[lt_foo]++; }
if (lt_freq[lt_foo] == 1) { print lt_foo; }
}'`
- sys_lib_search_path_spec=`echo $lt_search_path_spec`
+ sys_lib_search_path_spec=`$ECHO $lt_search_path_spec`
else
sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
fi
+library_names_spec=
+libname_spec='lib$name'
+soname_spec=
+shrext_cmds=".so"
+postinstall_cmds=
+postuninstall_cmds=
+finish_cmds=
+finish_eval=
+shlibpath_var=
+shlibpath_overrides_runpath=unknown
+version_type=none
+dynamic_linker="$host_os ld.so"
+sys_lib_dlsearch_path_spec="/lib /usr/lib"
need_lib_prefix=unknown
hardcode_into_libs=no
@@ -9156,7 +11108,7 @@ aix3*)
soname_spec='${libname}${release}${shared_ext}$major'
;;
-aix4* | aix5*)
+aix[4-9]*)
version_type=linux
need_lib_prefix=no
need_version=no
@@ -9175,7 +11127,7 @@ aix4* | aix5*)
aix4 | aix4.[01] | aix4.[01].*)
if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
echo ' yes '
- echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then
+ echo '#endif'; } | ${CC} -E - | $GREP yes > /dev/null; then
:
else
can_build_shared=no
@@ -9201,9 +11153,18 @@ aix4* | aix5*)
;;
amigaos*)
- library_names_spec='$libname.ixlibrary $libname.a'
- # Create ${libname}_ixlibrary.a entries in /sys/libs.
- finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'
+ case $host_cpu in
+ powerpc)
+ # Since July 2007 AmigaOS4 officially supports .so libraries.
+ # When compiling the executable, add -use-dynld -Lsobjs: to the compileline.
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ ;;
+ m68k)
+ library_names_spec='$libname.ixlibrary $libname.a'
+ # Create ${libname}_ixlibrary.a entries in /sys/libs.
+ finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$ECHO "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'
+ ;;
+ esac
;;
beos*)
@@ -9226,25 +11187,28 @@ bsdi[45]*)
# libtool to hard-code these into programs
;;
-cygwin* | mingw* | pw32*)
+cygwin* | mingw* | pw32* | cegcc*)
version_type=windows
shrext_cmds=".dll"
need_version=no
need_lib_prefix=no
case $GCC,$host_os in
- yes,cygwin* | yes,mingw* | yes,pw32*)
+ yes,cygwin* | yes,mingw* | yes,pw32* | yes,cegcc*)
library_names_spec='$libname.dll.a'
# DLL is installed to $(libdir)/../bin by postinstall_cmds
postinstall_cmds='base_file=`basename \${file}`~
- dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo \$dlname'\''`~
+ dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~
dldir=$destdir/`dirname \$dlpath`~
test -d \$dldir || mkdir -p \$dldir~
$install_prog $dir/$dlname \$dldir/$dlname~
- chmod a+x \$dldir/$dlname'
+ chmod a+x \$dldir/$dlname~
+ if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then
+ eval '\''$striplib \$dldir/$dlname'\'' || exit \$?;
+ fi'
postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
dlpath=$dir/\$dldll~
- $rm \$dlpath'
+ $RM \$dlpath'
shlibpath_overrides_runpath=yes
case $host_os in
@@ -9253,20 +11217,20 @@ cygwin* | mingw* | pw32*)
soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib"
;;
- mingw*)
+ mingw* | cegcc*)
# MinGW DLLs use traditional 'lib' prefix
soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
- sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"`
- if echo "$sys_lib_search_path_spec" | grep ';[c-zC-Z]:/' >/dev/null; then
+ sys_lib_search_path_spec=`$CC -print-search-dirs | $GREP "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"`
+ if $ECHO "$sys_lib_search_path_spec" | $GREP ';[c-zC-Z]:/' >/dev/null; then
# It is most probably a Windows format PATH printed by
# mingw gcc, but we are running on Cygwin. Gcc prints its search
# path with ; separators, and with drive letters. We can handle the
# drive letters (cygwin fileutils understands them), so leave them,
# especially as we might pass files found there to a mingw objdump,
# which wouldn't understand a cygwinified path. Ahh.
- sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
+ sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
else
- sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
+ sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
fi
;;
pw32*)
@@ -9290,7 +11254,7 @@ darwin* | rhapsody*)
version_type=darwin
need_lib_prefix=no
need_version=no
- library_names_spec='${libname}${release}${versuffix}$shared_ext ${libname}${release}${major}$shared_ext ${libname}$shared_ext'
+ library_names_spec='${libname}${release}${major}$shared_ext ${libname}$shared_ext'
soname_spec='${libname}${release}${major}$shared_ext'
shlibpath_overrides_runpath=yes
shlibpath_var=DYLD_LIBRARY_PATH
@@ -9389,18 +11353,18 @@ hpux9* | hpux10* | hpux11*)
fi
sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
;;
- hppa*64*)
- shrext_cmds='.sl'
- hardcode_into_libs=yes
- dynamic_linker="$host_os dld.sl"
- shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
- shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64"
- sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
- ;;
- *)
+ hppa*64*)
+ shrext_cmds='.sl'
+ hardcode_into_libs=yes
+ dynamic_linker="$host_os dld.sl"
+ shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
+ shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64"
+ sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
+ ;;
+ *)
shrext_cmds='.sl'
dynamic_linker="$host_os dld.sl"
shlibpath_var=SHLIB_PATH
@@ -9477,17 +11441,73 @@ linux* | k*bsd*-gnu)
finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
shlibpath_var=LD_LIBRARY_PATH
shlibpath_overrides_runpath=no
+ # Some binutils ld are patched to set DT_RUNPATH
+ save_LDFLAGS=$LDFLAGS
+ save_libdir=$libdir
+ eval "libdir=/foo; wl=\"$lt_prog_compiler_wl\"; \
+ LDFLAGS=\"\$LDFLAGS $hardcode_libdir_flag_spec\""
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
+ if ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null; then
+ shlibpath_overrides_runpath=yes
+fi
+
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+ LDFLAGS=$save_LDFLAGS
+ libdir=$save_libdir
+
# This implies no fast_install, which is unacceptable.
# Some rework will be needed to allow for fast_install
# before this can be enabled.
hardcode_into_libs=yes
- sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}"
- sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}"
# Append ld.so.conf contents to the search path
if test -f /etc/ld.so.conf; then
- lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '`
- sys_lib_dlsearch_path_spec="$sys_lib_dlsearch_path_spec $lt_ld_extra"
+ lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '`
+ sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
fi
# We used to test for /lib/ld.so.1 and disable shared libraries on
@@ -9499,11 +11519,23 @@ linux* | k*bsd*-gnu)
dynamic_linker='GNU/Linux ld.so'
;;
+netbsdelf*-gnu)
+ version_type=linux
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=no
+ hardcode_into_libs=yes
+ dynamic_linker='NetBSD ld.elf_so'
+ ;;
+
netbsd*)
version_type=sunos
need_lib_prefix=no
need_version=no
- if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
+ if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
dynamic_linker='NetBSD (a.out) ld.so'
@@ -9524,14 +11556,16 @@ newsos6)
shlibpath_overrides_runpath=yes
;;
-nto-qnx*)
- version_type=linux
+*nto* | *qnx*)
+ version_type=qnx
need_lib_prefix=no
need_version=no
library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
soname_spec='${libname}${release}${shared_ext}$major'
shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=yes
+ shlibpath_overrides_runpath=no
+ hardcode_into_libs=yes
+ dynamic_linker='ldqnx.so'
;;
openbsd*)
@@ -9540,13 +11574,13 @@ openbsd*)
need_lib_prefix=no
# Some older versions of OpenBSD (3.3 at least) *do* need versioned libs.
case $host_os in
- openbsd3.3 | openbsd3.3.*) need_version=yes ;;
- *) need_version=no ;;
+ openbsd3.3 | openbsd3.3.*) need_version=yes ;;
+ *) need_version=no ;;
esac
library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
shlibpath_var=LD_LIBRARY_PATH
- if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+ if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
case $host_os in
openbsd2.[89] | openbsd2.[89].*)
shlibpath_overrides_runpath=no
@@ -9618,7 +11652,6 @@ sysv4 | sysv4.3*)
sni)
shlibpath_overrides_runpath=no
need_lib_prefix=no
- export_dynamic_flag_spec='${wl}-Blargedynsym'
runpath_var=LD_RUN_PATH
;;
siemens)
@@ -9649,13 +11682,12 @@ sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
soname_spec='${libname}${release}${shared_ext}$major'
shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=yes
hardcode_into_libs=yes
if test "$with_gnu_ld" = yes; then
sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib'
- shlibpath_overrides_runpath=no
else
sys_lib_search_path_spec='/usr/ccs/lib /usr/lib'
- shlibpath_overrides_runpath=yes
case $host_os in
sco3.2v5*)
sys_lib_search_path_spec="$sys_lib_search_path_spec /lib"
@@ -9665,6 +11697,17 @@ sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
sys_lib_dlsearch_path_spec='/usr/lib'
;;
+tpf*)
+ # TPF is a cross-target only. Preferred cross-host = GNU/Linux.
+ version_type=linux
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=no
+ hardcode_into_libs=yes
+ ;;
+
uts4*)
version_type=linux
library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
@@ -9676,8 +11719,8 @@ uts4*)
dynamic_linker=no
;;
esac
-{ echo "$as_me:$LINENO: result: $dynamic_linker" >&5
-echo "${ECHO_T}$dynamic_linker" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $dynamic_linker" >&5
+$as_echo "$dynamic_linker" >&6; }
test "$dynamic_linker" = no && can_build_shared=no
variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
@@ -9685,19 +11728,112 @@ if test "$GCC" = yes; then
variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
fi
-{ echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5
-echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6; }
+if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then
+ sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec"
+fi
+if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then
+ sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec"
+fi
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ { $as_echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5
+$as_echo_n "checking how to hardcode library paths into programs... " >&6; }
hardcode_action=
-if test -n "$hardcode_libdir_flag_spec" || \
- test -n "$runpath_var" || \
+if test -n "$hardcode_libdir_flag_spec" ||
+ test -n "$runpath_var" ||
test "X$hardcode_automatic" = "Xyes" ; then
- # We can hardcode non-existant directories.
+ # We can hardcode non-existent directories.
if test "$hardcode_direct" != no &&
# If the only mechanism to avoid hardcoding is shlibpath_var, we
# have to relink, otherwise we might link with an installed library
# when we should be linking with a yet-to-be-installed one
- ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, )" != no &&
+ ## test "$_LT_TAGVAR(hardcode_shlibpath_var, )" != no &&
test "$hardcode_minus_L" != no; then
# Linking always hardcodes the temporary library directory.
hardcode_action=relink
@@ -9710,10 +11846,11 @@ else
# directories.
hardcode_action=unsupported
fi
-{ echo "$as_me:$LINENO: result: $hardcode_action" >&5
-echo "${ECHO_T}$hardcode_action" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $hardcode_action" >&5
+$as_echo "$hardcode_action" >&6; }
-if test "$hardcode_action" = relink; then
+if test "$hardcode_action" = relink ||
+ test "$inherit_rpath" = yes; then
# Fast installation is not supported
enable_fast_install=no
elif test "$shlibpath_overrides_runpath" = yes ||
@@ -9722,37 +11859,12 @@ elif test "$shlibpath_overrides_runpath" = yes ||
enable_fast_install=needless
fi
-striplib=
-old_striplib=
-{ echo "$as_me:$LINENO: checking whether stripping libraries is possible" >&5
-echo $ECHO_N "checking whether stripping libraries is possible... $ECHO_C" >&6; }
-if test -n "$STRIP" && $STRIP -V 2>&1 | grep "GNU strip" >/dev/null; then
- test -z "$old_striplib" && old_striplib="$STRIP --strip-debug"
- test -z "$striplib" && striplib="$STRIP --strip-unneeded"
- { echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; }
-else
-# FIXME - insert some real tests, host_os isn't really good enough
- case $host_os in
- darwin*)
- if test -n "$STRIP" ; then
- striplib="$STRIP -x"
- old_striplib="$STRIP -S"
- { echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; }
- else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
-fi
- ;;
- *)
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
- ;;
- esac
-fi
-if test "x$enable_dlopen" != xyes; then
+
+
+
+
+ if test "x$enable_dlopen" != xyes; then
enable_dlopen=unknown
enable_dlopen_self=unknown
enable_dlopen_self_static=unknown
@@ -9767,22 +11879,22 @@ else
lt_cv_dlopen_self=yes
;;
- mingw* | pw32*)
+ mingw* | pw32* | cegcc*)
lt_cv_dlopen="LoadLibrary"
lt_cv_dlopen_libs=
- ;;
+ ;;
cygwin*)
lt_cv_dlopen="dlopen"
lt_cv_dlopen_libs=
- ;;
+ ;;
darwin*)
# if libdl is installed we need to link against it
- { echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5
-echo $ECHO_N "checking for dlopen in -ldl... $ECHO_C" >&6; }
+ { $as_echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5
+$as_echo_n "checking for dlopen in -ldl... " >&6; }
if test "${ac_cv_lib_dl_dlopen+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
ac_check_lib_save_LIBS=$LIBS
LIBS="-ldl $LIBS"
@@ -9814,33 +11926,37 @@ case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
(eval "$ac_link") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
test -z "$ac_c_werror_flag" ||
test ! -s conftest.err
- } && test -s conftest$ac_exeext &&
- $as_test_x conftest$ac_exeext; then
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
ac_cv_lib_dl_dlopen=yes
else
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
ac_cv_lib_dl_dlopen=no
fi
+rm -rf conftest.dSYM
rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
conftest$ac_exeext conftest.$ac_ext
LIBS=$ac_check_lib_save_LIBS
fi
-{ echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5
-echo "${ECHO_T}$ac_cv_lib_dl_dlopen" >&6; }
-if test $ac_cv_lib_dl_dlopen = yes; then
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5
+$as_echo "$ac_cv_lib_dl_dlopen" >&6; }
+if test "x$ac_cv_lib_dl_dlopen" = x""yes; then
lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"
else
@@ -9850,13 +11966,13 @@ else
fi
- ;;
+ ;;
*)
- { echo "$as_me:$LINENO: checking for shl_load" >&5
-echo $ECHO_N "checking for shl_load... $ECHO_C" >&6; }
+ { $as_echo "$as_me:$LINENO: checking for shl_load" >&5
+$as_echo_n "checking for shl_load... " >&6; }
if test "${ac_cv_func_shl_load+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
@@ -9909,38 +12025,42 @@ case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
(eval "$ac_link") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
test -z "$ac_c_werror_flag" ||
test ! -s conftest.err
- } && test -s conftest$ac_exeext &&
- $as_test_x conftest$ac_exeext; then
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
ac_cv_func_shl_load=yes
else
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
ac_cv_func_shl_load=no
fi
+rm -rf conftest.dSYM
rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
conftest$ac_exeext conftest.$ac_ext
fi
-{ echo "$as_me:$LINENO: result: $ac_cv_func_shl_load" >&5
-echo "${ECHO_T}$ac_cv_func_shl_load" >&6; }
-if test $ac_cv_func_shl_load = yes; then
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_func_shl_load" >&5
+$as_echo "$ac_cv_func_shl_load" >&6; }
+if test "x$ac_cv_func_shl_load" = x""yes; then
lt_cv_dlopen="shl_load"
else
- { echo "$as_me:$LINENO: checking for shl_load in -ldld" >&5
-echo $ECHO_N "checking for shl_load in -ldld... $ECHO_C" >&6; }
+ { $as_echo "$as_me:$LINENO: checking for shl_load in -ldld" >&5
+$as_echo_n "checking for shl_load in -ldld... " >&6; }
if test "${ac_cv_lib_dld_shl_load+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
ac_check_lib_save_LIBS=$LIBS
LIBS="-ldld $LIBS"
@@ -9972,39 +12092,43 @@ case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
(eval "$ac_link") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
test -z "$ac_c_werror_flag" ||
test ! -s conftest.err
- } && test -s conftest$ac_exeext &&
- $as_test_x conftest$ac_exeext; then
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
ac_cv_lib_dld_shl_load=yes
else
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
ac_cv_lib_dld_shl_load=no
fi
+rm -rf conftest.dSYM
rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
conftest$ac_exeext conftest.$ac_ext
LIBS=$ac_check_lib_save_LIBS
fi
-{ echo "$as_me:$LINENO: result: $ac_cv_lib_dld_shl_load" >&5
-echo "${ECHO_T}$ac_cv_lib_dld_shl_load" >&6; }
-if test $ac_cv_lib_dld_shl_load = yes; then
- lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-dld"
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_dld_shl_load" >&5
+$as_echo "$ac_cv_lib_dld_shl_load" >&6; }
+if test "x$ac_cv_lib_dld_shl_load" = x""yes; then
+ lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld"
else
- { echo "$as_me:$LINENO: checking for dlopen" >&5
-echo $ECHO_N "checking for dlopen... $ECHO_C" >&6; }
+ { $as_echo "$as_me:$LINENO: checking for dlopen" >&5
+$as_echo_n "checking for dlopen... " >&6; }
if test "${ac_cv_func_dlopen+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
@@ -10057,38 +12181,42 @@ case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
(eval "$ac_link") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
test -z "$ac_c_werror_flag" ||
test ! -s conftest.err
- } && test -s conftest$ac_exeext &&
- $as_test_x conftest$ac_exeext; then
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
ac_cv_func_dlopen=yes
else
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
ac_cv_func_dlopen=no
fi
+rm -rf conftest.dSYM
rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
conftest$ac_exeext conftest.$ac_ext
fi
-{ echo "$as_me:$LINENO: result: $ac_cv_func_dlopen" >&5
-echo "${ECHO_T}$ac_cv_func_dlopen" >&6; }
-if test $ac_cv_func_dlopen = yes; then
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_func_dlopen" >&5
+$as_echo "$ac_cv_func_dlopen" >&6; }
+if test "x$ac_cv_func_dlopen" = x""yes; then
lt_cv_dlopen="dlopen"
else
- { echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5
-echo $ECHO_N "checking for dlopen in -ldl... $ECHO_C" >&6; }
+ { $as_echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5
+$as_echo_n "checking for dlopen in -ldl... " >&6; }
if test "${ac_cv_lib_dl_dlopen+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
ac_check_lib_save_LIBS=$LIBS
LIBS="-ldl $LIBS"
@@ -10120,39 +12248,43 @@ case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
(eval "$ac_link") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
test -z "$ac_c_werror_flag" ||
test ! -s conftest.err
- } && test -s conftest$ac_exeext &&
- $as_test_x conftest$ac_exeext; then
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
ac_cv_lib_dl_dlopen=yes
else
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
ac_cv_lib_dl_dlopen=no
fi
+rm -rf conftest.dSYM
rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
conftest$ac_exeext conftest.$ac_ext
LIBS=$ac_check_lib_save_LIBS
fi
-{ echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5
-echo "${ECHO_T}$ac_cv_lib_dl_dlopen" >&6; }
-if test $ac_cv_lib_dl_dlopen = yes; then
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5
+$as_echo "$ac_cv_lib_dl_dlopen" >&6; }
+if test "x$ac_cv_lib_dl_dlopen" = x""yes; then
lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"
else
- { echo "$as_me:$LINENO: checking for dlopen in -lsvld" >&5
-echo $ECHO_N "checking for dlopen in -lsvld... $ECHO_C" >&6; }
+ { $as_echo "$as_me:$LINENO: checking for dlopen in -lsvld" >&5
+$as_echo_n "checking for dlopen in -lsvld... " >&6; }
if test "${ac_cv_lib_svld_dlopen+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
ac_check_lib_save_LIBS=$LIBS
LIBS="-lsvld $LIBS"
@@ -10184,39 +12316,43 @@ case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
(eval "$ac_link") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
test -z "$ac_c_werror_flag" ||
test ! -s conftest.err
- } && test -s conftest$ac_exeext &&
- $as_test_x conftest$ac_exeext; then
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
ac_cv_lib_svld_dlopen=yes
else
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
ac_cv_lib_svld_dlopen=no
fi
+rm -rf conftest.dSYM
rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
conftest$ac_exeext conftest.$ac_ext
LIBS=$ac_check_lib_save_LIBS
fi
-{ echo "$as_me:$LINENO: result: $ac_cv_lib_svld_dlopen" >&5
-echo "${ECHO_T}$ac_cv_lib_svld_dlopen" >&6; }
-if test $ac_cv_lib_svld_dlopen = yes; then
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_svld_dlopen" >&5
+$as_echo "$ac_cv_lib_svld_dlopen" >&6; }
+if test "x$ac_cv_lib_svld_dlopen" = x""yes; then
lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"
else
- { echo "$as_me:$LINENO: checking for dld_link in -ldld" >&5
-echo $ECHO_N "checking for dld_link in -ldld... $ECHO_C" >&6; }
+ { $as_echo "$as_me:$LINENO: checking for dld_link in -ldld" >&5
+$as_echo_n "checking for dld_link in -ldld... " >&6; }
if test "${ac_cv_lib_dld_dld_link+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
ac_check_lib_save_LIBS=$LIBS
LIBS="-ldld $LIBS"
@@ -10248,34 +12384,38 @@ case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
(eval "$ac_link") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
test -z "$ac_c_werror_flag" ||
test ! -s conftest.err
- } && test -s conftest$ac_exeext &&
- $as_test_x conftest$ac_exeext; then
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
ac_cv_lib_dld_dld_link=yes
else
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
ac_cv_lib_dld_dld_link=no
fi
+rm -rf conftest.dSYM
rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
conftest$ac_exeext conftest.$ac_ext
LIBS=$ac_check_lib_save_LIBS
fi
-{ echo "$as_me:$LINENO: result: $ac_cv_lib_dld_dld_link" >&5
-echo "${ECHO_T}$ac_cv_lib_dld_dld_link" >&6; }
-if test $ac_cv_lib_dld_dld_link = yes; then
- lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-dld"
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_dld_dld_link" >&5
+$as_echo "$ac_cv_lib_dld_dld_link" >&6; }
+if test "x$ac_cv_lib_dld_dld_link" = x""yes; then
+ lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld"
fi
@@ -10313,18 +12453,18 @@ fi
save_LIBS="$LIBS"
LIBS="$lt_cv_dlopen_libs $LIBS"
- { echo "$as_me:$LINENO: checking whether a program can dlopen itself" >&5
-echo $ECHO_N "checking whether a program can dlopen itself... $ECHO_C" >&6; }
+ { $as_echo "$as_me:$LINENO: checking whether a program can dlopen itself" >&5
+$as_echo_n "checking whether a program can dlopen itself... " >&6; }
if test "${lt_cv_dlopen_self+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
if test "$cross_compiling" = yes; then :
lt_cv_dlopen_self=cross
else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
- cat > conftest.$ac_ext <<EOF
-#line 10327 "configure"
+ cat > conftest.$ac_ext <<_LT_EOF
+#line 12467 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
@@ -10365,10 +12505,6 @@ else
# endif
#endif
-#ifdef __cplusplus
-extern "C" void exit (int);
-#endif
-
void fnord() { int i=42;}
int main ()
{
@@ -10384,13 +12520,13 @@ int main ()
else
puts (dlerror ());
- exit (status);
+ return status;
}
-EOF
+_LT_EOF
if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
(eval $ac_link) 2>&5
ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && test -s conftest${ac_exeext} 2>/dev/null; then
(./conftest; exit; ) >&5 2>/dev/null
lt_status=$?
@@ -10408,23 +12544,23 @@ rm -fr conftest*
fi
-{ echo "$as_me:$LINENO: result: $lt_cv_dlopen_self" >&5
-echo "${ECHO_T}$lt_cv_dlopen_self" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $lt_cv_dlopen_self" >&5
+$as_echo "$lt_cv_dlopen_self" >&6; }
if test "x$lt_cv_dlopen_self" = xyes; then
wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\"
- { echo "$as_me:$LINENO: checking whether a statically linked program can dlopen itself" >&5
-echo $ECHO_N "checking whether a statically linked program can dlopen itself... $ECHO_C" >&6; }
+ { $as_echo "$as_me:$LINENO: checking whether a statically linked program can dlopen itself" >&5
+$as_echo_n "checking whether a statically linked program can dlopen itself... " >&6; }
if test "${lt_cv_dlopen_self_static+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
if test "$cross_compiling" = yes; then :
lt_cv_dlopen_self_static=cross
else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
- cat > conftest.$ac_ext <<EOF
-#line 10427 "configure"
+ cat > conftest.$ac_ext <<_LT_EOF
+#line 12563 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
@@ -10465,10 +12601,6 @@ else
# endif
#endif
-#ifdef __cplusplus
-extern "C" void exit (int);
-#endif
-
void fnord() { int i=42;}
int main ()
{
@@ -10484,13 +12616,13 @@ int main ()
else
puts (dlerror ());
- exit (status);
+ return status;
}
-EOF
+_LT_EOF
if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
(eval $ac_link) 2>&5
ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && test -s conftest${ac_exeext} 2>/dev/null; then
(./conftest; exit; ) >&5 2>/dev/null
lt_status=$?
@@ -10508,8 +12640,8 @@ rm -fr conftest*
fi
-{ echo "$as_me:$LINENO: result: $lt_cv_dlopen_self_static" >&5
-echo "${ECHO_T}$lt_cv_dlopen_self_static" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $lt_cv_dlopen_self_static" >&5
+$as_echo "$lt_cv_dlopen_self_static" >&6; }
fi
CPPFLAGS="$save_CPPFLAGS"
@@ -10530,525 +12662,103 @@ echo "${ECHO_T}$lt_cv_dlopen_self_static" >&6; }
fi
-# Report which library types will actually be built
-{ echo "$as_me:$LINENO: checking if libtool supports shared libraries" >&5
-echo $ECHO_N "checking if libtool supports shared libraries... $ECHO_C" >&6; }
-{ echo "$as_me:$LINENO: result: $can_build_shared" >&5
-echo "${ECHO_T}$can_build_shared" >&6; }
-
-{ echo "$as_me:$LINENO: checking whether to build shared libraries" >&5
-echo $ECHO_N "checking whether to build shared libraries... $ECHO_C" >&6; }
-test "$can_build_shared" = "no" && enable_shared=no
-
-# On AIX, shared libraries and static libraries use the same namespace, and
-# are all built from PIC.
-case $host_os in
-aix3*)
- test "$enable_shared" = yes && enable_static=no
- if test -n "$RANLIB"; then
- archive_cmds="$archive_cmds~\$RANLIB \$lib"
- postinstall_cmds='$RANLIB $lib'
- fi
- ;;
-
-aix4* | aix5*)
- if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
- test "$enable_shared" = yes && enable_static=no
- fi
- ;;
-esac
-{ echo "$as_me:$LINENO: result: $enable_shared" >&5
-echo "${ECHO_T}$enable_shared" >&6; }
-
-{ echo "$as_me:$LINENO: checking whether to build static libraries" >&5
-echo $ECHO_N "checking whether to build static libraries... $ECHO_C" >&6; }
-# Make sure either enable_shared or enable_static is yes.
-test "$enable_shared" = yes || enable_static=yes
-{ echo "$as_me:$LINENO: result: $enable_static" >&5
-echo "${ECHO_T}$enable_static" >&6; }
-
-# The else clause should only fire when bootstrapping the
-# libtool distribution, otherwise you forgot to ship ltmain.sh
-# with your package, and you will get complaints that there are
-# no rules to generate ltmain.sh.
-if test -f "$ltmain"; then
- # See if we are running on zsh, and set the options which allow our commands through
- # without removal of \ escapes.
- if test -n "${ZSH_VERSION+set}" ; then
- setopt NO_GLOB_SUBST
- fi
- # Now quote all the things that may contain metacharacters while being
- # careful not to overquote the AC_SUBSTed values. We take copies of the
- # variables and quote the copies for generation of the libtool script.
- for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC LTCFLAGS NM \
- SED SHELL STRIP \
- libname_spec library_names_spec soname_spec extract_expsyms_cmds \
- old_striplib striplib file_magic_cmd finish_cmds finish_eval \
- deplibs_check_method reload_flag reload_cmds need_locks \
- lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \
- lt_cv_sys_global_symbol_to_c_name_address \
- sys_lib_search_path_spec sys_lib_dlsearch_path_spec \
- old_postinstall_cmds old_postuninstall_cmds \
- compiler \
- CC \
- LD \
- lt_prog_compiler_wl \
- lt_prog_compiler_pic \
- lt_prog_compiler_static \
- lt_prog_compiler_no_builtin_flag \
- export_dynamic_flag_spec \
- thread_safe_flag_spec \
- whole_archive_flag_spec \
- enable_shared_with_static_runtimes \
- old_archive_cmds \
- old_archive_from_new_cmds \
- predep_objects \
- postdep_objects \
- predeps \
- postdeps \
- compiler_lib_search_path \
- archive_cmds \
- archive_expsym_cmds \
- postinstall_cmds \
- postuninstall_cmds \
- old_archive_from_expsyms_cmds \
- allow_undefined_flag \
- no_undefined_flag \
- export_symbols_cmds \
- hardcode_libdir_flag_spec \
- hardcode_libdir_flag_spec_ld \
- hardcode_libdir_separator \
- hardcode_automatic \
- module_cmds \
- module_expsym_cmds \
- lt_cv_prog_compiler_c_o \
- fix_srcfile_path \
- exclude_expsyms \
- include_expsyms; do
-
- case $var in
- old_archive_cmds | \
- old_archive_from_new_cmds | \
- archive_cmds | \
- archive_expsym_cmds | \
- module_cmds | \
- module_expsym_cmds | \
- old_archive_from_expsyms_cmds | \
- export_symbols_cmds | \
- extract_expsyms_cmds | reload_cmds | finish_cmds | \
- postinstall_cmds | postuninstall_cmds | \
- old_postinstall_cmds | old_postuninstall_cmds | \
- sys_lib_search_path_spec | sys_lib_dlsearch_path_spec)
- # Double-quote double-evaled strings.
- eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\""
- ;;
- *)
- eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\""
- ;;
- esac
- done
-
- case $lt_echo in
- *'\$0 --fallback-echo"')
- lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\$0 --fallback-echo"$/$0 --fallback-echo"/'`
- ;;
- esac
-
-cfgfile="${ofile}T"
- trap "$rm \"$cfgfile\"; exit 1" 1 2 15
- $rm -f "$cfgfile"
- { echo "$as_me:$LINENO: creating $ofile" >&5
-echo "$as_me: creating $ofile" >&6;}
-
- cat <<__EOF__ >> "$cfgfile"
-#! $SHELL
-
-# `$echo "$cfgfile" | sed 's%^.*/%%'` - Provide generalized library-building support services.
-# Generated automatically by $PROGRAM (GNU $PACKAGE $VERSION$TIMESTAMP)
-# NOTE: Changes made to this file will be lost: look at ltmain.sh.
-#
-# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007
-# Free Software Foundation, Inc.
-#
-# This file is part of GNU Libtool:
-# Originally by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful, but
-# WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-# General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
-#
-# As a special exception to the GNU General Public License, if you
-# distribute this file as part of a program that contains a
-# configuration script generated by Autoconf, you may include it under
-# the same distribution terms that you use for the rest of that program.
-
-# A sed program that does not truncate output.
-SED=$lt_SED
-
-# Sed that helps us avoid accidentally triggering echo(1) options like -n.
-Xsed="$SED -e 1s/^X//"
-
-# The HP-UX ksh and POSIX shell print the target directory to stdout
-# if CDPATH is set.
-(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
-
-# The names of the tagged configurations supported by this script.
-available_tags=
-
-# ### BEGIN LIBTOOL CONFIG
-
-# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
-
-# Shell to use when invoking shell scripts.
-SHELL=$lt_SHELL
-
-# Whether or not to build shared libraries.
-build_libtool_libs=$enable_shared
-
-# Whether or not to build static libraries.
-build_old_libs=$enable_static
-
-# Whether or not to add -lc for building shared libraries.
-build_libtool_need_lc=$archive_cmds_need_lc
-
-# Whether or not to disallow shared libs when runtime libs are static
-allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes
-
-# Whether or not to optimize for fast installation.
-fast_install=$enable_fast_install
-
-# The host system.
-host_alias=$host_alias
-host=$host
-host_os=$host_os
-
-# The build system.
-build_alias=$build_alias
-build=$build
-build_os=$build_os
-
-# An echo program that does not interpret backslashes.
-echo=$lt_echo
-
-# The archiver.
-AR=$lt_AR
-AR_FLAGS=$lt_AR_FLAGS
-
-# A C compiler.
-LTCC=$lt_LTCC
-
-# LTCC compiler flags.
-LTCFLAGS=$lt_LTCFLAGS
-
-# A language-specific compiler.
-CC=$lt_compiler
-
-# Is the compiler the GNU C compiler?
-with_gcc=$GCC
-
-# An ERE matcher.
-EGREP=$lt_EGREP
-
-# The linker used to build libraries.
-LD=$lt_LD
-
-# Whether we need hard or soft links.
-LN_S=$lt_LN_S
-
-# A BSD-compatible nm program.
-NM=$lt_NM
-
-# A symbol stripping program
-STRIP=$lt_STRIP
-
-# Used to examine libraries when file_magic_cmd begins "file"
-MAGIC_CMD=$MAGIC_CMD
-
-# Used on cygwin: DLL creation program.
-DLLTOOL="$DLLTOOL"
-
-# Used on cygwin: object dumper.
-OBJDUMP="$OBJDUMP"
-
-# Used on cygwin: assembler.
-AS="$AS"
-
-# The name of the directory that contains temporary libtool files.
-objdir=$objdir
-
-# How to create reloadable object files.
-reload_flag=$lt_reload_flag
-reload_cmds=$lt_reload_cmds
-
-# How to pass a linker flag through the compiler.
-wl=$lt_lt_prog_compiler_wl
-
-# Object file suffix (normally "o").
-objext="$ac_objext"
-
-# Old archive suffix (normally "a").
-libext="$libext"
-
-# Shared library suffix (normally ".so").
-shrext_cmds='$shrext_cmds'
-
-# Executable file suffix (normally "").
-exeext="$exeext"
-
-# Additional compiler flags for building library objects.
-pic_flag=$lt_lt_prog_compiler_pic
-pic_mode=$pic_mode
-
-# What is the maximum length of a command?
-max_cmd_len=$lt_cv_sys_max_cmd_len
-
-# Does compiler simultaneously support -c and -o options?
-compiler_c_o=$lt_lt_cv_prog_compiler_c_o
-
-# Must we lock files when doing compilation?
-need_locks=$lt_need_locks
-
-# Do we need the lib prefix for modules?
-need_lib_prefix=$need_lib_prefix
-
-# Do we need a version for libraries?
-need_version=$need_version
-
-# Whether dlopen is supported.
-dlopen_support=$enable_dlopen
-
-# Whether dlopen of programs is supported.
-dlopen_self=$enable_dlopen_self
-
-# Whether dlopen of statically linked programs is supported.
-dlopen_self_static=$enable_dlopen_self_static
-
-# Compiler flag to prevent dynamic linking.
-link_static_flag=$lt_lt_prog_compiler_static
-
-# Compiler flag to turn off builtin functions.
-no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag
-
-# Compiler flag to allow reflexive dlopens.
-export_dynamic_flag_spec=$lt_export_dynamic_flag_spec
-
-# Compiler flag to generate shared objects directly from archives.
-whole_archive_flag_spec=$lt_whole_archive_flag_spec
-
-# Compiler flag to generate thread-safe objects.
-thread_safe_flag_spec=$lt_thread_safe_flag_spec
-
-# Library versioning type.
-version_type=$version_type
-
-# Format of library name prefix.
-libname_spec=$lt_libname_spec
-
-# List of archive names. First name is the real one, the rest are links.
-# The last name is the one that the linker finds with -lNAME.
-library_names_spec=$lt_library_names_spec
-
-# The coded name of the library, if different from the real name.
-soname_spec=$lt_soname_spec
-
-# Commands used to build and install an old-style archive.
-RANLIB=$lt_RANLIB
-old_archive_cmds=$lt_old_archive_cmds
-old_postinstall_cmds=$lt_old_postinstall_cmds
-old_postuninstall_cmds=$lt_old_postuninstall_cmds
-
-# Create an old-style archive from a shared archive.
-old_archive_from_new_cmds=$lt_old_archive_from_new_cmds
-
-# Create a temporary old-style archive to link instead of a shared archive.
-old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds
-
-# Commands used to build and install a shared archive.
-archive_cmds=$lt_archive_cmds
-archive_expsym_cmds=$lt_archive_expsym_cmds
-postinstall_cmds=$lt_postinstall_cmds
-postuninstall_cmds=$lt_postuninstall_cmds
-
-# Commands used to build a loadable module (assumed same as above if empty)
-module_cmds=$lt_module_cmds
-module_expsym_cmds=$lt_module_expsym_cmds
-
-# Commands to strip libraries.
-old_striplib=$lt_old_striplib
-striplib=$lt_striplib
-
-# Dependencies to place before the objects being linked to create a
-# shared library.
-predep_objects=$lt_predep_objects
-
-# Dependencies to place after the objects being linked to create a
-# shared library.
-postdep_objects=$lt_postdep_objects
-
-# Dependencies to place before the objects being linked to create a
-# shared library.
-predeps=$lt_predeps
-
-# Dependencies to place after the objects being linked to create a
-# shared library.
-postdeps=$lt_postdeps
-
-# The library search path used internally by the compiler when linking
-# a shared library.
-compiler_lib_search_path=$lt_compiler_lib_search_path
-
-# Method to check whether dependent libraries are shared objects.
-deplibs_check_method=$lt_deplibs_check_method
-
-# Command to use when deplibs_check_method == file_magic.
-file_magic_cmd=$lt_file_magic_cmd
-
-# Flag that allows shared libraries with undefined symbols to be built.
-allow_undefined_flag=$lt_allow_undefined_flag
-# Flag that forces no undefined symbols.
-no_undefined_flag=$lt_no_undefined_flag
-
-# Commands used to finish a libtool library installation in a directory.
-finish_cmds=$lt_finish_cmds
-
-# Same as above, but a single script fragment to be evaled but not shown.
-finish_eval=$lt_finish_eval
-
-# Take the output of nm and produce a listing of raw symbols and C names.
-global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe
-# Transform the output of nm in a proper C declaration
-global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl
-# Transform the output of nm in a C name address pair
-global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address
-# This is the shared library runtime path variable.
-runpath_var=$runpath_var
-# This is the shared library path variable.
-shlibpath_var=$shlibpath_var
-# Is shlibpath searched before the hard-coded library search path?
-shlibpath_overrides_runpath=$shlibpath_overrides_runpath
-# How to hardcode a shared library path into an executable.
-hardcode_action=$hardcode_action
-# Whether we should hardcode library paths into libraries.
-hardcode_into_libs=$hardcode_into_libs
-# Flag to hardcode \$libdir into a binary during linking.
-# This must work even if \$libdir does not exist.
-hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec
-# If ld is used when linking, flag to hardcode \$libdir into
-# a binary during linking. This must work even if \$libdir does
-# not exist.
-hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld
-# Whether we need a single -rpath flag with a separated argument.
-hardcode_libdir_separator=$lt_hardcode_libdir_separator
-# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the
-# resulting binary.
-hardcode_direct=$hardcode_direct
-# Set to yes if using the -LDIR flag during linking hardcodes DIR into the
-# resulting binary.
-hardcode_minus_L=$hardcode_minus_L
-# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into
-# the resulting binary.
-hardcode_shlibpath_var=$hardcode_shlibpath_var
-# Set to yes if building a shared library automatically hardcodes DIR into the library
-# and all subsequent libraries and executables linked against it.
-hardcode_automatic=$hardcode_automatic
+striplib=
+old_striplib=
+{ $as_echo "$as_me:$LINENO: checking whether stripping libraries is possible" >&5
+$as_echo_n "checking whether stripping libraries is possible... " >&6; }
+if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then
+ test -z "$old_striplib" && old_striplib="$STRIP --strip-debug"
+ test -z "$striplib" && striplib="$STRIP --strip-unneeded"
+ { $as_echo "$as_me:$LINENO: result: yes" >&5
+$as_echo "yes" >&6; }
+else
+# FIXME - insert some real tests, host_os isn't really good enough
+ case $host_os in
+ darwin*)
+ if test -n "$STRIP" ; then
+ striplib="$STRIP -x"
+ old_striplib="$STRIP -S"
+ { $as_echo "$as_me:$LINENO: result: yes" >&5
+$as_echo "yes" >&6; }
+ else
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+ fi
+ ;;
+ *)
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+ ;;
+ esac
+fi
-# Variables whose values should be saved in libtool wrapper scripts and
-# restored at relink time.
-variables_saved_for_relink="$variables_saved_for_relink"
-# Whether libtool must link a program against all its dependency libraries.
-link_all_deplibs=$link_all_deplibs
-# Compile-time system search path for libraries
-sys_lib_search_path_spec=$lt_sys_lib_search_path_spec
-# Run-time system search path for libraries
-sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec
-# Fix the shell variable \$srcfile for the compiler.
-fix_srcfile_path=$lt_fix_srcfile_path
-# Set to yes if exported symbols are required.
-always_export_symbols=$always_export_symbols
-# The commands to list exported symbols.
-export_symbols_cmds=$lt_export_symbols_cmds
-# The commands to extract the exported symbol list from a shared archive.
-extract_expsyms_cmds=$lt_extract_expsyms_cmds
-# Symbols that should not be listed in the preloaded symbols.
-exclude_expsyms=$lt_exclude_expsyms
-# Symbols that must always be exported.
-include_expsyms=$lt_include_expsyms
-# ### END LIBTOOL CONFIG
-__EOF__
+ # Report which library types will actually be built
+ { $as_echo "$as_me:$LINENO: checking if libtool supports shared libraries" >&5
+$as_echo_n "checking if libtool supports shared libraries... " >&6; }
+ { $as_echo "$as_me:$LINENO: result: $can_build_shared" >&5
+$as_echo "$can_build_shared" >&6; }
+ { $as_echo "$as_me:$LINENO: checking whether to build shared libraries" >&5
+$as_echo_n "checking whether to build shared libraries... " >&6; }
+ test "$can_build_shared" = "no" && enable_shared=no
+ # On AIX, shared libraries and static libraries use the same namespace, and
+ # are all built from PIC.
case $host_os in
aix3*)
- cat <<\EOF >> "$cfgfile"
+ test "$enable_shared" = yes && enable_static=no
+ if test -n "$RANLIB"; then
+ archive_cmds="$archive_cmds~\$RANLIB \$lib"
+ postinstall_cmds='$RANLIB $lib'
+ fi
+ ;;
-# AIX sometimes has problems with the GCC collect2 program. For some
-# reason, if we set the COLLECT_NAMES environment variable, the problems
-# vanish in a puff of smoke.
-if test "X${COLLECT_NAMES+set}" != Xset; then
- COLLECT_NAMES=
- export COLLECT_NAMES
-fi
-EOF
+ aix[4-9]*)
+ if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
+ test "$enable_shared" = yes && enable_static=no
+ fi
;;
esac
+ { $as_echo "$as_me:$LINENO: result: $enable_shared" >&5
+$as_echo "$enable_shared" >&6; }
- # We use sed instead of cat because bash on DJGPP gets confused if
- # if finds mixed CR/LF and LF-only lines. Since sed operates in
- # text mode, it properly converts lines to CR/LF. This bash problem
- # is reportedly fixed, but why not run on old versions too?
- sed '$q' "$ltmain" >> "$cfgfile" || (rm -f "$cfgfile"; exit 1)
+ { $as_echo "$as_me:$LINENO: checking whether to build static libraries" >&5
+$as_echo_n "checking whether to build static libraries... " >&6; }
+ # Make sure either enable_shared or enable_static is yes.
+ test "$enable_shared" = yes || enable_static=yes
+ { $as_echo "$as_me:$LINENO: result: $enable_static" >&5
+$as_echo "$enable_static" >&6; }
- mv -f "$cfgfile" "$ofile" || \
- (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile")
- chmod +x "$ofile"
-else
- # If there is no Makefile yet, we rely on a make rule to execute
- # `config.status --recheck' to rerun these tests and create the
- # libtool script then.
- ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'`
- if test -f "$ltmain_in"; then
- test -f Makefile && make "$ltmain"
- fi
-fi
+fi
ac_ext=cpp
ac_cpp='$CXXCPP $CPPFLAGS'
ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
@@ -11058,85 +12768,27 @@ ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
CC="$lt_save_CC"
-# Check whether --with-tags was given.
-if test "${with_tags+set}" = set; then
- withval=$with_tags; tagnames="$withval"
-fi
-
-
-if test -f "$ltmain" && test -n "$tagnames"; then
- if test ! -f "${ofile}"; then
- { echo "$as_me:$LINENO: WARNING: output file \`$ofile' does not exist" >&5
-echo "$as_me: WARNING: output file \`$ofile' does not exist" >&2;}
- fi
-
- if test -z "$LTCC"; then
- eval "`$SHELL ${ofile} --config | grep '^LTCC='`"
- if test -z "$LTCC"; then
- { echo "$as_me:$LINENO: WARNING: output file \`$ofile' does not look like a libtool script" >&5
-echo "$as_me: WARNING: output file \`$ofile' does not look like a libtool script" >&2;}
- else
- { echo "$as_me:$LINENO: WARNING: using \`LTCC=$LTCC', extracted from \`$ofile'" >&5
-echo "$as_me: WARNING: using \`LTCC=$LTCC', extracted from \`$ofile'" >&2;}
- fi
- fi
- if test -z "$LTCFLAGS"; then
- eval "`$SHELL ${ofile} --config | grep '^LTCFLAGS='`"
- fi
-
- # Extract list of available tagged configurations in $ofile.
- # Note that this assumes the entire list is on one line.
- available_tags=`grep "^available_tags=" "${ofile}" | $SED -e 's/available_tags=\(.*$\)/\1/' -e 's/\"//g'`
-
- lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
- for tagname in $tagnames; do
- IFS="$lt_save_ifs"
- # Check whether tagname contains only valid characters
- case `$echo "X$tagname" | $Xsed -e 's:[-_ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890,/]::g'` in
- "") ;;
- *) { { echo "$as_me:$LINENO: error: invalid tag name: $tagname" >&5
-echo "$as_me: error: invalid tag name: $tagname" >&2;}
- { (exit 1); exit 1; }; }
- ;;
- esac
-
- if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$" < "${ofile}" > /dev/null
- then
- { { echo "$as_me:$LINENO: error: tag name \"$tagname\" already exists" >&5
-echo "$as_me: error: tag name \"$tagname\" already exists" >&2;}
- { (exit 1); exit 1; }; }
- fi
-
- # Update the list of available tags.
- if test -n "$tagname"; then
- echo appending configuration tag \"$tagname\" to $ofile
-
- case $tagname in
- CXX)
- if test -n "$CXX" && ( test "X$CXX" != "Xno" &&
- ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) ||
- (test "X$CXX" != "Xg++"))) ; then
- ac_ext=cpp
+ac_ext=cpp
ac_cpp='$CXXCPP $CPPFLAGS'
ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
-
-
archive_cmds_need_lc_CXX=no
allow_undefined_flag_CXX=
always_export_symbols_CXX=no
archive_expsym_cmds_CXX=
+compiler_needs_object_CXX=no
export_dynamic_flag_spec_CXX=
hardcode_direct_CXX=no
+hardcode_direct_absolute_CXX=no
hardcode_libdir_flag_spec_CXX=
hardcode_libdir_flag_spec_ld_CXX=
hardcode_libdir_separator_CXX=
hardcode_minus_L_CXX=no
hardcode_shlibpath_var_CXX=unsupported
hardcode_automatic_CXX=no
+inherit_rpath_CXX=no
module_cmds_CXX=
module_expsym_cmds_CXX=
link_all_deplibs_CXX=unknown
@@ -11145,13 +12797,6 @@ no_undefined_flag_CXX=
whole_archive_flag_spec_CXX=
enable_shared_with_static_runtimes_CXX=no
-# Dependencies to place before and after the object being linked:
-predep_objects_CXX=
-postdep_objects_CXX=
-predeps_CXX=
-postdeps_CXX=
-compiler_lib_search_path_CXX=
-
# Source file extension for C++ test sources.
ac_ext=cpp
@@ -11159,13 +12804,23 @@ ac_ext=cpp
objext=o
objext_CXX=$objext
-# Code to be used in simple compile tests
-lt_simple_compile_test_code="int some_variable = 0;"
+# No sense in running all these tests if we already determined that
+# the CXX compiler isn't working. Some variables (like enable_shared)
+# are currently assumed to apply to all compilers on this platform,
+# and will be corrupted by setting them based on a non-working compiler.
+if test "$_lt_caught_CXX_error" != yes; then
+ # Code to be used in simple compile tests
+ lt_simple_compile_test_code="int some_variable = 0;"
+
+ # Code to be used in simple link tests
+ lt_simple_link_test_code='int main(int, char *[]) { return(0); }'
+
+ # ltmain only uses $CC for tagged configurations so make sure $CC is set.
+
+
+
-# Code to be used in simple link tests
-lt_simple_link_test_code='int main(int, char *[]) { return(0); }'
-# ltmain only uses $CC for tagged configurations so make sure $CC is set.
# If no C compiler was specified, use CC.
LTCC=${LTCC-"$CC"}
@@ -11177,42 +12832,42 @@ LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
compiler=$CC
-# save warnings/boilerplate of simple test code
-ac_outfile=conftest.$ac_objext
+ # save warnings/boilerplate of simple test code
+ ac_outfile=conftest.$ac_objext
echo "$lt_simple_compile_test_code" >conftest.$ac_ext
eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
_lt_compiler_boilerplate=`cat conftest.err`
-$rm conftest*
+$RM conftest*
-ac_outfile=conftest.$ac_objext
+ ac_outfile=conftest.$ac_objext
echo "$lt_simple_link_test_code" >conftest.$ac_ext
eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
_lt_linker_boilerplate=`cat conftest.err`
-$rm conftest*
-
-
-# Allow CC to be a program name with arguments.
-lt_save_CC=$CC
-lt_save_LD=$LD
-lt_save_GCC=$GCC
-GCC=$GXX
-lt_save_with_gnu_ld=$with_gnu_ld
-lt_save_path_LD=$lt_cv_path_LD
-if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then
- lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx
-else
- $as_unset lt_cv_prog_gnu_ld
-fi
-if test -n "${lt_cv_path_LDCXX+set}"; then
- lt_cv_path_LD=$lt_cv_path_LDCXX
-else
- $as_unset lt_cv_path_LD
-fi
-test -z "${LDCXX+set}" || LD=$LDCXX
-CC=${CXX-"c++"}
-compiler=$CC
-compiler_CXX=$CC
-for cc_temp in $compiler""; do
+$RM -r conftest*
+
+
+ # Allow CC to be a program name with arguments.
+ lt_save_CC=$CC
+ lt_save_LD=$LD
+ lt_save_GCC=$GCC
+ GCC=$GXX
+ lt_save_with_gnu_ld=$with_gnu_ld
+ lt_save_path_LD=$lt_cv_path_LD
+ if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then
+ lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx
+ else
+ $as_unset lt_cv_prog_gnu_ld
+ fi
+ if test -n "${lt_cv_path_LDCXX+set}"; then
+ lt_cv_path_LD=$lt_cv_path_LDCXX
+ else
+ $as_unset lt_cv_path_LD
+ fi
+ test -z "${LDCXX+set}" || LD=$LDCXX
+ CC=${CXX-"c++"}
+ compiler=$CC
+ compiler_CXX=$CC
+ for cc_temp in $compiler""; do
case $cc_temp in
compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
@@ -11220,19 +12875,21 @@ for cc_temp in $compiler""; do
*) break;;
esac
done
-cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
+cc_basename=`$ECHO "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
-# We don't want -fno-exception wen compiling C++ code, so set the
-# no_builtin_flag separately
-if test "$GXX" = yes; then
- lt_prog_compiler_no_builtin_flag_CXX=' -fno-builtin'
-else
- lt_prog_compiler_no_builtin_flag_CXX=
-fi
+ if test -n "$compiler"; then
+ # We don't want -fno-exception when compiling C++ code, so set the
+ # no_builtin_flag separately
+ if test "$GXX" = yes; then
+ lt_prog_compiler_no_builtin_flag_CXX=' -fno-builtin'
+ else
+ lt_prog_compiler_no_builtin_flag_CXX=
+ fi
+
+ if test "$GXX" = yes; then
+ # Set up default GNU C++ configuration
-if test "$GXX" = yes; then
- # Set up default GNU C++ configuration
# Check whether --with-gnu-ld was given.
@@ -11245,8 +12902,8 @@ fi
ac_prog=ld
if test "$GCC" = yes; then
# Check if gcc -print-prog-name=ld gives a path.
- { echo "$as_me:$LINENO: checking for ld used by $CC" >&5
-echo $ECHO_N "checking for ld used by $CC... $ECHO_C" >&6; }
+ { $as_echo "$as_me:$LINENO: checking for ld used by $CC" >&5
+$as_echo_n "checking for ld used by $CC... " >&6; }
case $host in
*-*-mingw*)
# gcc leaves a trailing carriage return which upsets mingw
@@ -11259,9 +12916,9 @@ echo $ECHO_N "checking for ld used by $CC... $ECHO_C" >&6; }
[\\/]* | ?:[\\/]*)
re_direlt='/[^/][^/]*/\.\./'
# Canonicalize the pathname of ld
- ac_prog=`echo $ac_prog| $SED 's%\\\\%/%g'`
- while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do
- ac_prog=`echo $ac_prog| $SED "s%$re_direlt%/%"`
+ ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'`
+ while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do
+ ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"`
done
test -z "$LD" && LD="$ac_prog"
;;
@@ -11275,14 +12932,14 @@ echo $ECHO_N "checking for ld used by $CC... $ECHO_C" >&6; }
;;
esac
elif test "$with_gnu_ld" = yes; then
- { echo "$as_me:$LINENO: checking for GNU ld" >&5
-echo $ECHO_N "checking for GNU ld... $ECHO_C" >&6; }
+ { $as_echo "$as_me:$LINENO: checking for GNU ld" >&5
+$as_echo_n "checking for GNU ld... " >&6; }
else
- { echo "$as_me:$LINENO: checking for non-GNU ld" >&5
-echo $ECHO_N "checking for non-GNU ld... $ECHO_C" >&6; }
+ { $as_echo "$as_me:$LINENO: checking for non-GNU ld" >&5
+$as_echo_n "checking for non-GNU ld... " >&6; }
fi
if test "${lt_cv_path_LD+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
if test -z "$LD"; then
lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
@@ -11312,19 +12969,19 @@ fi
LD="$lt_cv_path_LD"
if test -n "$LD"; then
- { echo "$as_me:$LINENO: result: $LD" >&5
-echo "${ECHO_T}$LD" >&6; }
+ { $as_echo "$as_me:$LINENO: result: $LD" >&5
+$as_echo "$LD" >&6; }
else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
fi
-test -z "$LD" && { { echo "$as_me:$LINENO: error: no acceptable ld found in \$PATH" >&5
-echo "$as_me: error: no acceptable ld found in \$PATH" >&2;}
+test -z "$LD" && { { $as_echo "$as_me:$LINENO: error: no acceptable ld found in \$PATH" >&5
+$as_echo "$as_me: error: no acceptable ld found in \$PATH" >&2;}
{ (exit 1); exit 1; }; }
-{ echo "$as_me:$LINENO: checking if the linker ($LD) is GNU ld" >&5
-echo $ECHO_N "checking if the linker ($LD) is GNU ld... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking if the linker ($LD) is GNU ld" >&5
+$as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; }
if test "${lt_cv_prog_gnu_ld+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
# I'd rather use --version here, but apparently some GNU lds only accept -v.
case `$LD -v 2>&1 </dev/null` in
@@ -11336,155 +12993,163 @@ case `$LD -v 2>&1 </dev/null` in
;;
esac
fi
-{ echo "$as_me:$LINENO: result: $lt_cv_prog_gnu_ld" >&5
-echo "${ECHO_T}$lt_cv_prog_gnu_ld" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $lt_cv_prog_gnu_ld" >&5
+$as_echo "$lt_cv_prog_gnu_ld" >&6; }
with_gnu_ld=$lt_cv_prog_gnu_ld
- # Check if GNU C++ uses GNU ld as the underlying linker, since the
- # archiving commands below assume that GNU ld is being used.
- if test "$with_gnu_ld" = yes; then
- archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
- archive_expsym_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
- hardcode_libdir_flag_spec_CXX='${wl}--rpath ${wl}$libdir'
- export_dynamic_flag_spec_CXX='${wl}--export-dynamic'
- # If archive_cmds runs LD, not CC, wlarc should be empty
- # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to
- # investigate it a little bit more. (MM)
- wlarc='${wl}'
- # ancient GNU ld didn't support --whole-archive et. al.
- if eval "`$CC -print-prog-name=ld` --help 2>&1" | \
- grep 'no-whole-archive' > /dev/null; then
- whole_archive_flag_spec_CXX="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
- else
- whole_archive_flag_spec_CXX=
- fi
- else
- with_gnu_ld=no
- wlarc=
-
- # A generic and very simple default shared library creation
- # command for GNU C++ for the case where it uses the native
- # linker, instead of GNU ld. If possible, this setting should
- # overridden to take advantage of the native linker features on
- # the platform it is being used on.
- archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
- fi
-
- # Commands to make compiler produce verbose output that lists
- # what "hidden" libraries, object files and flags are used when
- # linking a shared library.
- output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"'
-else
- GXX=no
- with_gnu_ld=no
- wlarc=
-fi
+ # Check if GNU C++ uses GNU ld as the underlying linker, since the
+ # archiving commands below assume that GNU ld is being used.
+ if test "$with_gnu_ld" = yes; then
+ archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ archive_expsym_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
-# PORTME: fill in a description of your system's C++ link characteristics
-{ echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5
-echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6; }
-ld_shlibs_CXX=yes
-case $host_os in
- aix3*)
- # FIXME: insert proper C++ library support
- ld_shlibs_CXX=no
- ;;
- aix4* | aix5*)
- if test "$host_cpu" = ia64; then
- # On IA64, the linker does run time linking by default, so we don't
- # have to do anything special.
- aix_use_runtimelinking=no
- exp_sym_flag='-Bexport'
- no_entry_flag=""
- else
- aix_use_runtimelinking=no
-
- # Test if we are trying to use run time linking or normal
- # AIX style linking. If -brtl is somewhere in LDFLAGS, we
- # need to do runtime linking.
- case $host_os in aix4.[23]|aix4.[23].*|aix5*)
- for ld_flag in $LDFLAGS; do
- case $ld_flag in
- *-brtl*)
- aix_use_runtimelinking=yes
- break
- ;;
- esac
- done
- ;;
- esac
+ hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir'
+ export_dynamic_flag_spec_CXX='${wl}--export-dynamic'
- exp_sym_flag='-bexport'
- no_entry_flag='-bnoentry'
- fi
+ # If archive_cmds runs LD, not CC, wlarc should be empty
+ # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to
+ # investigate it a little bit more. (MM)
+ wlarc='${wl}'
- # When large executables or shared objects are built, AIX ld can
- # have problems creating the table of contents. If linking a library
- # or program results in "error TOC overflow" add -mminimal-toc to
- # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not
- # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
+ # ancient GNU ld didn't support --whole-archive et. al.
+ if eval "`$CC -print-prog-name=ld` --help 2>&1" |
+ $GREP 'no-whole-archive' > /dev/null; then
+ whole_archive_flag_spec_CXX="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
+ else
+ whole_archive_flag_spec_CXX=
+ fi
+ else
+ with_gnu_ld=no
+ wlarc=
+
+ # A generic and very simple default shared library creation
+ # command for GNU C++ for the case where it uses the native
+ # linker, instead of GNU ld. If possible, this setting should
+ # overridden to take advantage of the native linker features on
+ # the platform it is being used on.
+ archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
+ fi
- archive_cmds_CXX=''
- hardcode_direct_CXX=yes
- hardcode_libdir_separator_CXX=':'
- link_all_deplibs_CXX=yes
+ # Commands to make compiler produce verbose output that lists
+ # what "hidden" libraries, object files and flags are used when
+ # linking a shared library.
+ output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"'
- if test "$GXX" = yes; then
- case $host_os in aix4.[012]|aix4.[012].*)
- # We only want to do this on AIX 4.2 and lower, the check
- # below for broken collect2 doesn't work under 4.3+
- collect2name=`${CC} -print-prog-name=collect2`
- if test -f "$collect2name" && \
- strings "$collect2name" | grep resolve_lib_name >/dev/null
- then
- # We have reworked collect2
- :
- else
- # We have old collect2
- hardcode_direct_CXX=unsupported
- # It fails to find uninstalled libraries when the uninstalled
- # path is not listed in the libpath. Setting hardcode_minus_L
- # to unsupported forces relinking
- hardcode_minus_L_CXX=yes
- hardcode_libdir_flag_spec_CXX='-L$libdir'
- hardcode_libdir_separator_CXX=
- fi
- ;;
- esac
- shared_flag='-shared'
- if test "$aix_use_runtimelinking" = yes; then
- shared_flag="$shared_flag "'${wl}-G'
- fi
else
- # not using gcc
- if test "$host_cpu" = ia64; then
- # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
- # chokes on -Wl,-G. The following line is correct:
- shared_flag='-G'
- else
- if test "$aix_use_runtimelinking" = yes; then
- shared_flag='${wl}-G'
- else
- shared_flag='${wl}-bM:SRE'
- fi
- fi
+ GXX=no
+ with_gnu_ld=no
+ wlarc=
fi
- # It seems that -bexpall does not export symbols beginning with
- # underscore (_), so it is better to generate a list of symbols to export.
- always_export_symbols_CXX=yes
- if test "$aix_use_runtimelinking" = yes; then
- # Warning - without using the other runtime loading flags (-brtl),
- # -berok will link without error, but may produce a broken library.
- allow_undefined_flag_CXX='-berok'
- # Determine the default libpath from the value encoded in an empty executable.
- cat >conftest.$ac_ext <<_ACEOF
+ # PORTME: fill in a description of your system's C++ link characteristics
+ { $as_echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5
+$as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; }
+ ld_shlibs_CXX=yes
+ case $host_os in
+ aix3*)
+ # FIXME: insert proper C++ library support
+ ld_shlibs_CXX=no
+ ;;
+ aix[4-9]*)
+ if test "$host_cpu" = ia64; then
+ # On IA64, the linker does run time linking by default, so we don't
+ # have to do anything special.
+ aix_use_runtimelinking=no
+ exp_sym_flag='-Bexport'
+ no_entry_flag=""
+ else
+ aix_use_runtimelinking=no
+
+ # Test if we are trying to use run time linking or normal
+ # AIX style linking. If -brtl is somewhere in LDFLAGS, we
+ # need to do runtime linking.
+ case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*)
+ for ld_flag in $LDFLAGS; do
+ case $ld_flag in
+ *-brtl*)
+ aix_use_runtimelinking=yes
+ break
+ ;;
+ esac
+ done
+ ;;
+ esac
+
+ exp_sym_flag='-bexport'
+ no_entry_flag='-bnoentry'
+ fi
+
+ # When large executables or shared objects are built, AIX ld can
+ # have problems creating the table of contents. If linking a library
+ # or program results in "error TOC overflow" add -mminimal-toc to
+ # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not
+ # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
+
+ archive_cmds_CXX=''
+ hardcode_direct_CXX=yes
+ hardcode_direct_absolute_CXX=yes
+ hardcode_libdir_separator_CXX=':'
+ link_all_deplibs_CXX=yes
+ file_list_spec_CXX='${wl}-f,'
+
+ if test "$GXX" = yes; then
+ case $host_os in aix4.[012]|aix4.[012].*)
+ # We only want to do this on AIX 4.2 and lower, the check
+ # below for broken collect2 doesn't work under 4.3+
+ collect2name=`${CC} -print-prog-name=collect2`
+ if test -f "$collect2name" &&
+ strings "$collect2name" | $GREP resolve_lib_name >/dev/null
+ then
+ # We have reworked collect2
+ :
+ else
+ # We have old collect2
+ hardcode_direct_CXX=unsupported
+ # It fails to find uninstalled libraries when the uninstalled
+ # path is not listed in the libpath. Setting hardcode_minus_L
+ # to unsupported forces relinking
+ hardcode_minus_L_CXX=yes
+ hardcode_libdir_flag_spec_CXX='-L$libdir'
+ hardcode_libdir_separator_CXX=
+ fi
+ esac
+ shared_flag='-shared'
+ if test "$aix_use_runtimelinking" = yes; then
+ shared_flag="$shared_flag "'${wl}-G'
+ fi
+ else
+ # not using gcc
+ if test "$host_cpu" = ia64; then
+ # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
+ # chokes on -Wl,-G. The following line is correct:
+ shared_flag='-G'
+ else
+ if test "$aix_use_runtimelinking" = yes; then
+ shared_flag='${wl}-G'
+ else
+ shared_flag='${wl}-bM:SRE'
+ fi
+ fi
+ fi
+
+ export_dynamic_flag_spec_CXX='${wl}-bexpall'
+ # It seems that -bexpall does not export symbols beginning with
+ # underscore (_), so it is better to generate a list of symbols to
+ # export.
+ always_export_symbols_CXX=yes
+ if test "$aix_use_runtimelinking" = yes; then
+ # Warning - without using the other runtime loading flags (-brtl),
+ # -berok will link without error, but may produce a broken library.
+ allow_undefined_flag_CXX='-berok'
+ # Determine the default libpath from the value encoded in an empty
+ # executable.
+ cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
@@ -11505,18 +13170,21 @@ case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
(eval "$ac_link") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
test -z "$ac_cxx_werror_flag" ||
test ! -s conftest.err
- } && test -s conftest$ac_exeext &&
- $as_test_x conftest$ac_exeext; then
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
lt_aix_libpath_sed='
/Import File Strings/,/^$/ {
@@ -11531,27 +13199,29 @@ if test -z "$aix_libpath"; then
aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
fi
else
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
fi
+rm -rf conftest.dSYM
rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
conftest$ac_exeext conftest.$ac_ext
if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
- hardcode_libdir_flag_spec_CXX='${wl}-blibpath:$libdir:'"$aix_libpath"
+ hardcode_libdir_flag_spec_CXX='${wl}-blibpath:$libdir:'"$aix_libpath"
- archive_expsym_cmds_CXX="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
- else
- if test "$host_cpu" = ia64; then
- hardcode_libdir_flag_spec_CXX='${wl}-R $libdir:/usr/lib:/lib'
- allow_undefined_flag_CXX="-z nodefs"
- archive_expsym_cmds_CXX="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols"
- else
- # Determine the default libpath from the value encoded in an empty executable.
- cat >conftest.$ac_ext <<_ACEOF
+ archive_expsym_cmds_CXX='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then $ECHO "X${wl}${allow_undefined_flag}" | $Xsed; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
+ else
+ if test "$host_cpu" = ia64; then
+ hardcode_libdir_flag_spec_CXX='${wl}-R $libdir:/usr/lib:/lib'
+ allow_undefined_flag_CXX="-z nodefs"
+ archive_expsym_cmds_CXX="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols"
+ else
+ # Determine the default libpath from the value encoded in an
+ # empty executable.
+ cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
@@ -11572,18 +13242,21 @@ case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
(eval "$ac_link") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
test -z "$ac_cxx_werror_flag" ||
test ! -s conftest.err
- } && test -s conftest$ac_exeext &&
- $as_test_x conftest$ac_exeext; then
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
lt_aix_libpath_sed='
/Import File Strings/,/^$/ {
@@ -11598,778 +13271,777 @@ if test -z "$aix_libpath"; then
aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
fi
else
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
fi
+rm -rf conftest.dSYM
rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
conftest$ac_exeext conftest.$ac_ext
if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
- hardcode_libdir_flag_spec_CXX='${wl}-blibpath:$libdir:'"$aix_libpath"
- # Warning - without using the other run time loading flags,
- # -berok will link without error, but may produce a broken library.
- no_undefined_flag_CXX=' ${wl}-bernotok'
- allow_undefined_flag_CXX=' ${wl}-berok'
- # Exported symbols can be pulled into shared objects from archives
- whole_archive_flag_spec_CXX='$convenience'
- archive_cmds_need_lc_CXX=yes
- # This is similar to how AIX traditionally builds its shared libraries.
- archive_expsym_cmds_CXX="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
- fi
- fi
- ;;
-
- beos*)
- if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
- allow_undefined_flag_CXX=unsupported
- # Joseph Beckenbach <jrb3@best.com> says some releases of gcc
- # support --undefined. This deserves some investigation. FIXME
- archive_cmds_CXX='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- else
- ld_shlibs_CXX=no
- fi
- ;;
+ hardcode_libdir_flag_spec_CXX='${wl}-blibpath:$libdir:'"$aix_libpath"
+ # Warning - without using the other run time loading flags,
+ # -berok will link without error, but may produce a broken library.
+ no_undefined_flag_CXX=' ${wl}-bernotok'
+ allow_undefined_flag_CXX=' ${wl}-berok'
+ # Exported symbols can be pulled into shared objects from archives
+ whole_archive_flag_spec_CXX='$convenience'
+ archive_cmds_need_lc_CXX=yes
+ # This is similar to how AIX traditionally builds its shared
+ # libraries.
+ archive_expsym_cmds_CXX="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
+ fi
+ fi
+ ;;
- chorus*)
- case $cc_basename in
- *)
- # FIXME: insert proper C++ library support
- ld_shlibs_CXX=no
+ beos*)
+ if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
+ allow_undefined_flag_CXX=unsupported
+ # Joseph Beckenbach <jrb3@best.com> says some releases of gcc
+ # support --undefined. This deserves some investigation. FIXME
+ archive_cmds_CXX='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ else
+ ld_shlibs_CXX=no
+ fi
;;
- esac
- ;;
- cygwin* | mingw* | pw32*)
- # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, CXX) is actually meaningless,
- # as there is no search path for DLLs.
- hardcode_libdir_flag_spec_CXX='-L$libdir'
- allow_undefined_flag_CXX=unsupported
- always_export_symbols_CXX=no
- enable_shared_with_static_runtimes_CXX=yes
-
- if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then
- archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
- # If the export-symbols file already is a .def file (1st line
- # is EXPORTS), use it as is; otherwise, prepend...
- archive_expsym_cmds_CXX='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
- cp $export_symbols $output_objdir/$soname.def;
- else
- echo EXPORTS > $output_objdir/$soname.def;
- cat $export_symbols >> $output_objdir/$soname.def;
- fi~
- $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
- else
- ld_shlibs_CXX=no
- fi
- ;;
- darwin* | rhapsody*)
- case $host_os in
- rhapsody* | darwin1.[012])
- allow_undefined_flag_CXX='${wl}-undefined ${wl}suppress'
- ;;
- *) # Darwin 1.3 on
- if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then
- allow_undefined_flag_CXX='${wl}-flat_namespace ${wl}-undefined ${wl}suppress'
- else
- case ${MACOSX_DEPLOYMENT_TARGET} in
- 10.[012])
- allow_undefined_flag_CXX='${wl}-flat_namespace ${wl}-undefined ${wl}suppress'
- ;;
- 10.*)
- allow_undefined_flag_CXX='${wl}-undefined ${wl}dynamic_lookup'
- ;;
- esac
- fi
- ;;
+ chorus*)
+ case $cc_basename in
+ *)
+ # FIXME: insert proper C++ library support
+ ld_shlibs_CXX=no
+ ;;
esac
- archive_cmds_need_lc_CXX=no
- hardcode_direct_CXX=no
- hardcode_automatic_CXX=yes
- hardcode_shlibpath_var_CXX=unsupported
- whole_archive_flag_spec_CXX=''
- link_all_deplibs_CXX=yes
-
- if test "$GXX" = yes ; then
- lt_int_apple_cc_single_mod=no
- output_verbose_link_cmd='echo'
- if $CC -dumpspecs 2>&1 | $EGREP 'single_module' >/dev/null ; then
- lt_int_apple_cc_single_mod=yes
- fi
- if test "X$lt_int_apple_cc_single_mod" = Xyes ; then
- archive_cmds_CXX='$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring'
- else
- archive_cmds_CXX='$CC -r -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring'
- fi
- module_cmds_CXX='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
- # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds
- if test "X$lt_int_apple_cc_single_mod" = Xyes ; then
- archive_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+ ;;
+
+ cygwin* | mingw* | pw32* | cegcc*)
+ # _LT_TAGVAR(hardcode_libdir_flag_spec, CXX) is actually meaningless,
+ # as there is no search path for DLLs.
+ hardcode_libdir_flag_spec_CXX='-L$libdir'
+ allow_undefined_flag_CXX=unsupported
+ always_export_symbols_CXX=no
+ enable_shared_with_static_runtimes_CXX=yes
+
+ if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
+ archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
+ # If the export-symbols file already is a .def file (1st line
+ # is EXPORTS), use it as is; otherwise, prepend...
+ archive_expsym_cmds_CXX='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
+ cp $export_symbols $output_objdir/$soname.def;
else
- archive_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -r -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
- fi
- module_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
- else
- case $cc_basename in
- xlc*)
- output_verbose_link_cmd='echo'
- archive_cmds_CXX='$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $xlcverstring'
- module_cmds_CXX='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
- # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds
- archive_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $xlcverstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
- module_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
- ;;
- *)
- ld_shlibs_CXX=no
- ;;
- esac
- fi
+ echo EXPORTS > $output_objdir/$soname.def;
+ cat $export_symbols >> $output_objdir/$soname.def;
+ fi~
+ $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
+ else
+ ld_shlibs_CXX=no
+ fi
;;
+ darwin* | rhapsody*)
+
+
+ archive_cmds_need_lc_CXX=no
+ hardcode_direct_CXX=no
+ hardcode_automatic_CXX=yes
+ hardcode_shlibpath_var_CXX=unsupported
+ whole_archive_flag_spec_CXX=''
+ link_all_deplibs_CXX=yes
+ allow_undefined_flag_CXX="$_lt_dar_allow_undefined"
+ case $cc_basename in
+ ifort*) _lt_dar_can_shared=yes ;;
+ *) _lt_dar_can_shared=$GCC ;;
+ esac
+ if test "$_lt_dar_can_shared" = "yes"; then
+ output_verbose_link_cmd=echo
+ archive_cmds_CXX="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
+ module_cmds_CXX="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
+ archive_expsym_cmds_CXX="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
+ module_expsym_cmds_CXX="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
+ if test "$lt_cv_apple_cc_single_mod" != "yes"; then
+ archive_cmds_CXX="\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dsymutil}"
+ archive_expsym_cmds_CXX="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dar_export_syms}${_lt_dsymutil}"
+ fi
+
+ else
+ ld_shlibs_CXX=no
+ fi
- dgux*)
- case $cc_basename in
- ec++*)
- # FIXME: insert proper C++ library support
- ld_shlibs_CXX=no
- ;;
- ghcx*)
- # Green Hills C++ Compiler
- # FIXME: insert proper C++ library support
- ld_shlibs_CXX=no
- ;;
- *)
- # FIXME: insert proper C++ library support
- ld_shlibs_CXX=no
;;
- esac
- ;;
- freebsd[12]*)
- # C++ shared libraries reported to be fairly broken before switch to ELF
- ld_shlibs_CXX=no
- ;;
- freebsd-elf*)
- archive_cmds_need_lc_CXX=no
- ;;
- freebsd* | dragonfly*)
- # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF
- # conventions
- ld_shlibs_CXX=yes
- ;;
- gnu*)
- ;;
- hpux9*)
- hardcode_libdir_flag_spec_CXX='${wl}+b ${wl}$libdir'
- hardcode_libdir_separator_CXX=:
- export_dynamic_flag_spec_CXX='${wl}-E'
- hardcode_direct_CXX=yes
- hardcode_minus_L_CXX=yes # Not in the search PATH,
- # but as the default
- # location of the library.
-
- case $cc_basename in
- CC*)
- # FIXME: insert proper C++ library support
- ld_shlibs_CXX=no
- ;;
- aCC*)
- archive_cmds_CXX='$rm $output_objdir/$soname~$CC -b ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
- # Commands to make compiler produce verbose output that lists
- # what "hidden" libraries, object files and flags are used when
- # linking a shared library.
- #
- # There doesn't appear to be a way to prevent this compiler from
- # explicitly linking system object files so we need to strip them
- # from the output so that they don't get included in the library
- # dependencies.
- output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | grep "[-]L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
- ;;
- *)
- if test "$GXX" = yes; then
- archive_cmds_CXX='$rm $output_objdir/$soname~$CC -shared -nostdlib -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
- else
- # FIXME: insert proper C++ library support
+
+ dgux*)
+ case $cc_basename in
+ ec++*)
+ # FIXME: insert proper C++ library support
+ ld_shlibs_CXX=no
+ ;;
+ ghcx*)
+ # Green Hills C++ Compiler
+ # FIXME: insert proper C++ library support
+ ld_shlibs_CXX=no
+ ;;
+ *)
+ # FIXME: insert proper C++ library support
+ ld_shlibs_CXX=no
+ ;;
+ esac
+ ;;
+
+ freebsd[12]*)
+ # C++ shared libraries reported to be fairly broken before
+ # switch to ELF
ld_shlibs_CXX=no
- fi
- ;;
- esac
- ;;
- hpux10*|hpux11*)
- if test $with_gnu_ld = no; then
- hardcode_libdir_flag_spec_CXX='${wl}+b ${wl}$libdir'
- hardcode_libdir_separator_CXX=:
+ ;;
- case $host_cpu in
- hppa*64*|ia64*) ;;
- *)
- export_dynamic_flag_spec_CXX='${wl}-E'
+ freebsd-elf*)
+ archive_cmds_need_lc_CXX=no
;;
- esac
- fi
- case $host_cpu in
- hppa*64*|ia64*)
- hardcode_direct_CXX=no
- hardcode_shlibpath_var_CXX=no
- ;;
- *)
- hardcode_direct_CXX=yes
- hardcode_minus_L_CXX=yes # Not in the search PATH,
- # but as the default
- # location of the library.
- ;;
- esac
- case $cc_basename in
- CC*)
- # FIXME: insert proper C++ library support
- ld_shlibs_CXX=no
- ;;
- aCC*)
- case $host_cpu in
- hppa*64*)
- archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
- ;;
- ia64*)
- archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
- ;;
- *)
- archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
- ;;
- esac
- # Commands to make compiler produce verbose output that lists
- # what "hidden" libraries, object files and flags are used when
- # linking a shared library.
- #
- # There doesn't appear to be a way to prevent this compiler from
- # explicitly linking system object files so we need to strip them
- # from the output so that they don't get included in the library
- # dependencies.
- output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | grep "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
- ;;
- *)
- if test "$GXX" = yes; then
- if test $with_gnu_ld = no; then
+ freebsd* | dragonfly*)
+ # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF
+ # conventions
+ ld_shlibs_CXX=yes
+ ;;
+
+ gnu*)
+ ;;
+
+ hpux9*)
+ hardcode_libdir_flag_spec_CXX='${wl}+b ${wl}$libdir'
+ hardcode_libdir_separator_CXX=:
+ export_dynamic_flag_spec_CXX='${wl}-E'
+ hardcode_direct_CXX=yes
+ hardcode_minus_L_CXX=yes # Not in the search PATH,
+ # but as the default
+ # location of the library.
+
+ case $cc_basename in
+ CC*)
+ # FIXME: insert proper C++ library support
+ ld_shlibs_CXX=no
+ ;;
+ aCC*)
+ archive_cmds_CXX='$RM $output_objdir/$soname~$CC -b ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+ # Commands to make compiler produce verbose output that lists
+ # what "hidden" libraries, object files and flags are used when
+ # linking a shared library.
+ #
+ # There doesn't appear to be a way to prevent this compiler from
+ # explicitly linking system object files so we need to strip them
+ # from the output so that they don't get included in the library
+ # dependencies.
+ output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $EGREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed'
+ ;;
+ *)
+ if test "$GXX" = yes; then
+ archive_cmds_CXX='$RM $output_objdir/$soname~$CC -shared -nostdlib -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+ else
+ # FIXME: insert proper C++ library support
+ ld_shlibs_CXX=no
+ fi
+ ;;
+ esac
+ ;;
+
+ hpux10*|hpux11*)
+ if test $with_gnu_ld = no; then
+ hardcode_libdir_flag_spec_CXX='${wl}+b ${wl}$libdir'
+ hardcode_libdir_separator_CXX=:
+
+ case $host_cpu in
+ hppa*64*|ia64*)
+ ;;
+ *)
+ export_dynamic_flag_spec_CXX='${wl}-E'
+ ;;
+ esac
+ fi
+ case $host_cpu in
+ hppa*64*|ia64*)
+ hardcode_direct_CXX=no
+ hardcode_shlibpath_var_CXX=no
+ ;;
+ *)
+ hardcode_direct_CXX=yes
+ hardcode_direct_absolute_CXX=yes
+ hardcode_minus_L_CXX=yes # Not in the search PATH,
+ # but as the default
+ # location of the library.
+ ;;
+ esac
+
+ case $cc_basename in
+ CC*)
+ # FIXME: insert proper C++ library support
+ ld_shlibs_CXX=no
+ ;;
+ aCC*)
case $host_cpu in
- hppa*64*)
- archive_cmds_CXX='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
- ;;
- ia64*)
- archive_cmds_CXX='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
- ;;
- *)
- archive_cmds_CXX='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
- ;;
+ hppa*64*)
+ archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+ ;;
+ ia64*)
+ archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+ ;;
+ *)
+ archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+ ;;
esac
- fi
- else
- # FIXME: insert proper C++ library support
- ld_shlibs_CXX=no
- fi
- ;;
- esac
- ;;
- interix[3-9]*)
- hardcode_direct_CXX=no
- hardcode_shlibpath_var_CXX=no
- hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir'
- export_dynamic_flag_spec_CXX='${wl}-E'
- # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
- # Instead, shared libraries are loaded at an image base (0x10000000 by
- # default) and relocated if they conflict, which is a slow very memory
- # consuming and fragmenting process. To avoid this, we pick a random,
- # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
- # time. Moving up from 0x10000000 also allows more sbrk(2) space.
- archive_cmds_CXX='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
- archive_expsym_cmds_CXX='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
- ;;
- irix5* | irix6*)
- case $cc_basename in
- CC*)
- # SGI C++
- archive_cmds_CXX='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
-
- # Archives containing C++ object files must be created using
- # "CC -ar", where "CC" is the IRIX C++ compiler. This is
- # necessary to make sure instantiated templates are included
- # in the archive.
- old_archive_cmds_CXX='$CC -ar -WR,-u -o $oldlib $oldobjs'
- ;;
- *)
- if test "$GXX" = yes; then
- if test "$with_gnu_ld" = no; then
- archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
- else
- archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` -o $lib'
- fi
- fi
- link_all_deplibs_CXX=yes
- ;;
- esac
- hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir'
- hardcode_libdir_separator_CXX=:
- ;;
- linux* | k*bsd*-gnu)
- case $cc_basename in
- KCC*)
- # Kuck and Associates, Inc. (KAI) C++ Compiler
-
- # KCC will only create a shared library if the output file
- # ends with ".so" (or ".sl" for HP-UX), so rename the library
- # to its proper name (with version) after linking.
- archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
- archive_expsym_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib ${wl}-retain-symbols-file,$export_symbols; mv \$templib $lib'
- # Commands to make compiler produce verbose output that lists
- # what "hidden" libraries, object files and flags are used when
- # linking a shared library.
- #
- # There doesn't appear to be a way to prevent this compiler from
- # explicitly linking system object files so we need to strip them
- # from the output so that they don't get included in the library
- # dependencies.
- output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | grep "ld"`; rm -f libconftest$shared_ext; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
-
- hardcode_libdir_flag_spec_CXX='${wl}--rpath,$libdir'
- export_dynamic_flag_spec_CXX='${wl}--export-dynamic'
-
- # Archives containing C++ object files must be created using
- # "CC -Bstatic", where "CC" is the KAI C++ compiler.
- old_archive_cmds_CXX='$CC -Bstatic -o $oldlib $oldobjs'
- ;;
- icpc*)
- # Intel C++
- with_gnu_ld=yes
- # version 8.0 and above of icpc choke on multiply defined symbols
- # if we add $predep_objects and $postdep_objects, however 7.1 and
- # earlier do not add the objects themselves.
- case `$CC -V 2>&1` in
- *"Version 7."*)
- archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
- archive_expsym_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
- ;;
- *) # Version 8.0 or newer
- tmp_idyn=
- case $host_cpu in
- ia64*) tmp_idyn=' -i_dynamic';;
- esac
- archive_cmds_CXX='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- archive_expsym_cmds_CXX='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
- ;;
- esac
- archive_cmds_need_lc_CXX=no
- hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir'
- export_dynamic_flag_spec_CXX='${wl}--export-dynamic'
- whole_archive_flag_spec_CXX='${wl}--whole-archive$convenience ${wl}--no-whole-archive'
- ;;
- pgCC*)
- # Portland Group C++ compiler
- archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib'
- archive_expsym_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib'
-
- hardcode_libdir_flag_spec_CXX='${wl}--rpath ${wl}$libdir'
- export_dynamic_flag_spec_CXX='${wl}--export-dynamic'
- whole_archive_flag_spec_CXX='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
+ # Commands to make compiler produce verbose output that lists
+ # what "hidden" libraries, object files and flags are used when
+ # linking a shared library.
+ #
+ # There doesn't appear to be a way to prevent this compiler from
+ # explicitly linking system object files so we need to strip them
+ # from the output so that they don't get included in the library
+ # dependencies.
+ output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $GREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed'
+ ;;
+ *)
+ if test "$GXX" = yes; then
+ if test $with_gnu_ld = no; then
+ case $host_cpu in
+ hppa*64*)
+ archive_cmds_CXX='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+ ;;
+ ia64*)
+ archive_cmds_CXX='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+ ;;
+ *)
+ archive_cmds_CXX='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+ ;;
+ esac
+ fi
+ else
+ # FIXME: insert proper C++ library support
+ ld_shlibs_CXX=no
+ fi
+ ;;
+ esac
;;
- cxx*)
- # Compaq C++
- archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
- archive_expsym_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib ${wl}-retain-symbols-file $wl$export_symbols'
- runpath_var=LD_RUN_PATH
- hardcode_libdir_flag_spec_CXX='-rpath $libdir'
- hardcode_libdir_separator_CXX=:
-
- # Commands to make compiler produce verbose output that lists
- # what "hidden" libraries, object files and flags are used when
- # linking a shared library.
- #
- # There doesn't appear to be a way to prevent this compiler from
- # explicitly linking system object files so we need to strip them
- # from the output so that they don't get included in the library
- # dependencies.
- output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
- ;;
- *)
- case `$CC -V 2>&1 | sed 5q` in
- *Sun\ C*)
- # Sun C++ 5.9
- no_undefined_flag_CXX=' -zdefs'
- archive_cmds_CXX='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
- archive_expsym_cmds_CXX='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file ${wl}$export_symbols'
- hardcode_libdir_flag_spec_CXX='-R$libdir'
- whole_archive_flag_spec_CXX='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
-
- # Not sure whether something based on
- # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1
- # would be better.
- output_verbose_link_cmd='echo'
-
- # Archives containing C++ object files must be created using
- # "CC -xar", where "CC" is the Sun C++ compiler. This is
- # necessary to make sure instantiated templates are included
- # in the archive.
- old_archive_cmds_CXX='$CC -xar -o $oldlib $oldobjs'
- ;;
- esac
- ;;
- esac
- ;;
- lynxos*)
- # FIXME: insert proper C++ library support
- ld_shlibs_CXX=no
- ;;
- m88k*)
- # FIXME: insert proper C++ library support
- ld_shlibs_CXX=no
- ;;
- mvs*)
- case $cc_basename in
- cxx*)
- # FIXME: insert proper C++ library support
- ld_shlibs_CXX=no
- ;;
- *)
- # FIXME: insert proper C++ library support
- ld_shlibs_CXX=no
- ;;
- esac
- ;;
- netbsd*)
- if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
- archive_cmds_CXX='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags'
- wlarc=
- hardcode_libdir_flag_spec_CXX='-R$libdir'
- hardcode_direct_CXX=yes
- hardcode_shlibpath_var_CXX=no
- fi
- # Workaround some broken pre-1.5 toolchains
- output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"'
- ;;
- openbsd2*)
- # C++ shared libraries are fairly broken
- ld_shlibs_CXX=no
- ;;
- openbsd*)
- if test -f /usr/libexec/ld.so; then
- hardcode_direct_CXX=yes
- hardcode_shlibpath_var_CXX=no
- archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
- hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir'
- if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
- archive_expsym_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file,$export_symbols -o $lib'
+ interix[3-9]*)
+ hardcode_direct_CXX=no
+ hardcode_shlibpath_var_CXX=no
+ hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir'
export_dynamic_flag_spec_CXX='${wl}-E'
- whole_archive_flag_spec_CXX="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
- fi
- output_verbose_link_cmd='echo'
- else
- ld_shlibs_CXX=no
- fi
- ;;
- osf3*)
- case $cc_basename in
- KCC*)
- # Kuck and Associates, Inc. (KAI) C++ Compiler
+ # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
+ # Instead, shared libraries are loaded at an image base (0x10000000 by
+ # default) and relocated if they conflict, which is a slow very memory
+ # consuming and fragmenting process. To avoid this, we pick a random,
+ # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
+ # time. Moving up from 0x10000000 also allows more sbrk(2) space.
+ archive_cmds_CXX='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+ archive_expsym_cmds_CXX='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+ ;;
+ irix5* | irix6*)
+ case $cc_basename in
+ CC*)
+ # SGI C++
+ archive_cmds_CXX='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
+
+ # Archives containing C++ object files must be created using
+ # "CC -ar", where "CC" is the IRIX C++ compiler. This is
+ # necessary to make sure instantiated templates are included
+ # in the archive.
+ old_archive_cmds_CXX='$CC -ar -WR,-u -o $oldlib $oldobjs'
+ ;;
+ *)
+ if test "$GXX" = yes; then
+ if test "$with_gnu_ld" = no; then
+ archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+ else
+ archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` -o $lib'
+ fi
+ fi
+ link_all_deplibs_CXX=yes
+ ;;
+ esac
+ hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir'
+ hardcode_libdir_separator_CXX=:
+ inherit_rpath_CXX=yes
+ ;;
- # KCC will only create a shared library if the output file
- # ends with ".so" (or ".sl" for HP-UX), so rename the library
- # to its proper name (with version) after linking.
- archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
+ linux* | k*bsd*-gnu)
+ case $cc_basename in
+ KCC*)
+ # Kuck and Associates, Inc. (KAI) C++ Compiler
+
+ # KCC will only create a shared library if the output file
+ # ends with ".so" (or ".sl" for HP-UX), so rename the library
+ # to its proper name (with version) after linking.
+ archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
+ archive_expsym_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib ${wl}-retain-symbols-file,$export_symbols; mv \$templib $lib'
+ # Commands to make compiler produce verbose output that lists
+ # what "hidden" libraries, object files and flags are used when
+ # linking a shared library.
+ #
+ # There doesn't appear to be a way to prevent this compiler from
+ # explicitly linking system object files so we need to strip them
+ # from the output so that they don't get included in the library
+ # dependencies.
+ output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | $GREP "ld"`; rm -f libconftest$shared_ext; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed'
+
+ hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir'
+ export_dynamic_flag_spec_CXX='${wl}--export-dynamic'
+
+ # Archives containing C++ object files must be created using
+ # "CC -Bstatic", where "CC" is the KAI C++ compiler.
+ old_archive_cmds_CXX='$CC -Bstatic -o $oldlib $oldobjs'
+ ;;
+ icpc* | ecpc* )
+ # Intel C++
+ with_gnu_ld=yes
+ # version 8.0 and above of icpc choke on multiply defined symbols
+ # if we add $predep_objects and $postdep_objects, however 7.1 and
+ # earlier do not add the objects themselves.
+ case `$CC -V 2>&1` in
+ *"Version 7."*)
+ archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ archive_expsym_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+ ;;
+ *) # Version 8.0 or newer
+ tmp_idyn=
+ case $host_cpu in
+ ia64*) tmp_idyn=' -i_dynamic';;
+ esac
+ archive_cmds_CXX='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ archive_expsym_cmds_CXX='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+ ;;
+ esac
+ archive_cmds_need_lc_CXX=no
+ hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir'
+ export_dynamic_flag_spec_CXX='${wl}--export-dynamic'
+ whole_archive_flag_spec_CXX='${wl}--whole-archive$convenience ${wl}--no-whole-archive'
+ ;;
+ pgCC* | pgcpp*)
+ # Portland Group C++ compiler
+ case `$CC -V` in
+ *pgCC\ [1-5]* | *pgcpp\ [1-5]*)
+ prelink_cmds_CXX='tpldir=Template.dir~
+ rm -rf $tpldir~
+ $CC --prelink_objects --instantiation_dir $tpldir $objs $libobjs $compile_deplibs~
+ compile_command="$compile_command `find $tpldir -name \*.o | $NL2SP`"'
+ old_archive_cmds_CXX='tpldir=Template.dir~
+ rm -rf $tpldir~
+ $CC --prelink_objects --instantiation_dir $tpldir $oldobjs$old_deplibs~
+ $AR $AR_FLAGS $oldlib$oldobjs$old_deplibs `find $tpldir -name \*.o | $NL2SP`~
+ $RANLIB $oldlib'
+ archive_cmds_CXX='tpldir=Template.dir~
+ rm -rf $tpldir~
+ $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~
+ $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib'
+ archive_expsym_cmds_CXX='tpldir=Template.dir~
+ rm -rf $tpldir~
+ $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~
+ $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib'
+ ;;
+ *) # Version 6 will use weak symbols
+ archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib'
+ archive_expsym_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib'
+ ;;
+ esac
- hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir'
- hardcode_libdir_separator_CXX=:
+ hardcode_libdir_flag_spec_CXX='${wl}--rpath ${wl}$libdir'
+ export_dynamic_flag_spec_CXX='${wl}--export-dynamic'
+ whole_archive_flag_spec_CXX='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive'
+ ;;
+ cxx*)
+ # Compaq C++
+ archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ archive_expsym_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib ${wl}-retain-symbols-file $wl$export_symbols'
- # Archives containing C++ object files must be created using
- # "CC -Bstatic", where "CC" is the KAI C++ compiler.
- old_archive_cmds_CXX='$CC -Bstatic -o $oldlib $oldobjs'
+ runpath_var=LD_RUN_PATH
+ hardcode_libdir_flag_spec_CXX='-rpath $libdir'
+ hardcode_libdir_separator_CXX=:
+ # Commands to make compiler produce verbose output that lists
+ # what "hidden" libraries, object files and flags are used when
+ # linking a shared library.
+ #
+ # There doesn't appear to be a way to prevent this compiler from
+ # explicitly linking system object files so we need to strip them
+ # from the output so that they don't get included in the library
+ # dependencies.
+ output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld"`; templist=`$ECHO "X$templist" | $Xsed -e "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed'
+ ;;
+ xl*)
+ # IBM XL 8.0 on PPC, with GNU ld
+ hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir'
+ export_dynamic_flag_spec_CXX='${wl}--export-dynamic'
+ archive_cmds_CXX='$CC -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ if test "x$supports_anon_versioning" = xyes; then
+ archive_expsym_cmds_CXX='echo "{ global:" > $output_objdir/$libname.ver~
+ cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
+ echo "local: *; };" >> $output_objdir/$libname.ver~
+ $CC -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
+ fi
+ ;;
+ *)
+ case `$CC -V 2>&1 | sed 5q` in
+ *Sun\ C*)
+ # Sun C++ 5.9
+ no_undefined_flag_CXX=' -zdefs'
+ archive_cmds_CXX='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+ archive_expsym_cmds_CXX='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file ${wl}$export_symbols'
+ hardcode_libdir_flag_spec_CXX='-R$libdir'
+ whole_archive_flag_spec_CXX='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive'
+ compiler_needs_object_CXX=yes
+
+ # Not sure whether something based on
+ # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1
+ # would be better.
+ output_verbose_link_cmd='echo'
+
+ # Archives containing C++ object files must be created using
+ # "CC -xar", where "CC" is the Sun C++ compiler. This is
+ # necessary to make sure instantiated templates are included
+ # in the archive.
+ old_archive_cmds_CXX='$CC -xar -o $oldlib $oldobjs'
+ ;;
+ esac
+ ;;
+ esac
;;
- RCC*)
- # Rational C++ 2.4.1
- # FIXME: insert proper C++ library support
+
+ lynxos*)
+ # FIXME: insert proper C++ library support
ld_shlibs_CXX=no
;;
- cxx*)
- allow_undefined_flag_CXX=' ${wl}-expect_unresolved ${wl}\*'
- archive_cmds_CXX='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && echo ${wl}-set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
-
- hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir'
- hardcode_libdir_separator_CXX=:
-
- # Commands to make compiler produce verbose output that lists
- # what "hidden" libraries, object files and flags are used when
- # linking a shared library.
- #
- # There doesn't appear to be a way to prevent this compiler from
- # explicitly linking system object files so we need to strip them
- # from the output so that they don't get included in the library
- # dependencies.
- output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld" | grep -v "ld:"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
- ;;
- *)
- if test "$GXX" = yes && test "$with_gnu_ld" = no; then
- allow_undefined_flag_CXX=' ${wl}-expect_unresolved ${wl}\*'
- archive_cmds_CXX='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
- hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir'
- hardcode_libdir_separator_CXX=:
+ m88k*)
+ # FIXME: insert proper C++ library support
+ ld_shlibs_CXX=no
+ ;;
- # Commands to make compiler produce verbose output that lists
- # what "hidden" libraries, object files and flags are used when
- # linking a shared library.
- output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"'
+ mvs*)
+ case $cc_basename in
+ cxx*)
+ # FIXME: insert proper C++ library support
+ ld_shlibs_CXX=no
+ ;;
+ *)
+ # FIXME: insert proper C++ library support
+ ld_shlibs_CXX=no
+ ;;
+ esac
+ ;;
- else
- # FIXME: insert proper C++ library support
- ld_shlibs_CXX=no
+ netbsd*)
+ if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
+ archive_cmds_CXX='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags'
+ wlarc=
+ hardcode_libdir_flag_spec_CXX='-R$libdir'
+ hardcode_direct_CXX=yes
+ hardcode_shlibpath_var_CXX=no
fi
+ # Workaround some broken pre-1.5 toolchains
+ output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"'
;;
- esac
- ;;
- osf4* | osf5*)
- case $cc_basename in
- KCC*)
- # Kuck and Associates, Inc. (KAI) C++ Compiler
- # KCC will only create a shared library if the output file
- # ends with ".so" (or ".sl" for HP-UX), so rename the library
- # to its proper name (with version) after linking.
- archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
-
- hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir'
- hardcode_libdir_separator_CXX=:
-
- # Archives containing C++ object files must be created using
- # the KAI C++ compiler.
- old_archive_cmds_CXX='$CC -o $oldlib $oldobjs'
+ *nto* | *qnx*)
+ ld_shlibs_CXX=yes
;;
- RCC*)
- # Rational C++ 2.4.1
- # FIXME: insert proper C++ library support
+
+ openbsd2*)
+ # C++ shared libraries are fairly broken
ld_shlibs_CXX=no
;;
- cxx*)
- allow_undefined_flag_CXX=' -expect_unresolved \*'
- archive_cmds_CXX='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
- archive_expsym_cmds_CXX='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~
- echo "-hidden">> $lib.exp~
- $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname -Wl,-input -Wl,$lib.exp `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~
- $rm $lib.exp'
-
- hardcode_libdir_flag_spec_CXX='-rpath $libdir'
- hardcode_libdir_separator_CXX=:
-
- # Commands to make compiler produce verbose output that lists
- # what "hidden" libraries, object files and flags are used when
- # linking a shared library.
- #
- # There doesn't appear to be a way to prevent this compiler from
- # explicitly linking system object files so we need to strip them
- # from the output so that they don't get included in the library
- # dependencies.
- output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld" | grep -v "ld:"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
- ;;
- *)
- if test "$GXX" = yes && test "$with_gnu_ld" = no; then
- allow_undefined_flag_CXX=' ${wl}-expect_unresolved ${wl}\*'
- archive_cmds_CXX='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
-
- hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir'
- hardcode_libdir_separator_CXX=:
-
- # Commands to make compiler produce verbose output that lists
- # what "hidden" libraries, object files and flags are used when
- # linking a shared library.
- output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"'
+ openbsd*)
+ if test -f /usr/libexec/ld.so; then
+ hardcode_direct_CXX=yes
+ hardcode_shlibpath_var_CXX=no
+ hardcode_direct_absolute_CXX=yes
+ archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
+ hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir'
+ if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+ archive_expsym_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file,$export_symbols -o $lib'
+ export_dynamic_flag_spec_CXX='${wl}-E'
+ whole_archive_flag_spec_CXX="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
+ fi
+ output_verbose_link_cmd=echo
else
- # FIXME: insert proper C++ library support
ld_shlibs_CXX=no
fi
;;
- esac
- ;;
- psos*)
- # FIXME: insert proper C++ library support
- ld_shlibs_CXX=no
- ;;
- sunos4*)
- case $cc_basename in
- CC*)
- # Sun C++ 4.x
- # FIXME: insert proper C++ library support
- ld_shlibs_CXX=no
- ;;
- lcc*)
- # Lucid
- # FIXME: insert proper C++ library support
- ld_shlibs_CXX=no
- ;;
- *)
- # FIXME: insert proper C++ library support
- ld_shlibs_CXX=no
- ;;
- esac
- ;;
- solaris*)
- case $cc_basename in
- CC*)
- # Sun C++ 4.2, 5.x and Centerline C++
- archive_cmds_need_lc_CXX=yes
- no_undefined_flag_CXX=' -zdefs'
- archive_cmds_CXX='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
- archive_expsym_cmds_CXX='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
- $CC -G${allow_undefined_flag} ${wl}-M ${wl}$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp'
-
- hardcode_libdir_flag_spec_CXX='-R$libdir'
- hardcode_shlibpath_var_CXX=no
- case $host_os in
- solaris2.[0-5] | solaris2.[0-5].*) ;;
- *)
- # The compiler driver will combine and reorder linker options,
- # but understands `-z linker_flag'.
- # Supported since Solaris 2.6 (maybe 2.5.1?)
- whole_archive_flag_spec_CXX='-z allextract$convenience -z defaultextract'
- ;;
- esac
- link_all_deplibs_CXX=yes
-
- output_verbose_link_cmd='echo'
- # Archives containing C++ object files must be created using
- # "CC -xar", where "CC" is the Sun C++ compiler. This is
- # necessary to make sure instantiated templates are included
- # in the archive.
- old_archive_cmds_CXX='$CC -xar -o $oldlib $oldobjs'
- ;;
- gcx*)
- # Green Hills C++ Compiler
- archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
+ osf3* | osf4* | osf5*)
+ case $cc_basename in
+ KCC*)
+ # Kuck and Associates, Inc. (KAI) C++ Compiler
+
+ # KCC will only create a shared library if the output file
+ # ends with ".so" (or ".sl" for HP-UX), so rename the library
+ # to its proper name (with version) after linking.
+ archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo "$lib" | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
+
+ hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir'
+ hardcode_libdir_separator_CXX=:
+
+ # Archives containing C++ object files must be created using
+ # the KAI C++ compiler.
+ case $host in
+ osf3*) old_archive_cmds_CXX='$CC -Bstatic -o $oldlib $oldobjs' ;;
+ *) old_archive_cmds_CXX='$CC -o $oldlib $oldobjs' ;;
+ esac
+ ;;
+ RCC*)
+ # Rational C++ 2.4.1
+ # FIXME: insert proper C++ library support
+ ld_shlibs_CXX=no
+ ;;
+ cxx*)
+ case $host in
+ osf3*)
+ allow_undefined_flag_CXX=' ${wl}-expect_unresolved ${wl}\*'
+ archive_cmds_CXX='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && $ECHO "X${wl}-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
+ hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir'
+ ;;
+ *)
+ allow_undefined_flag_CXX=' -expect_unresolved \*'
+ archive_cmds_CXX='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
+ archive_expsym_cmds_CXX='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~
+ echo "-hidden">> $lib.exp~
+ $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname ${wl}-input ${wl}$lib.exp `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib~
+ $RM $lib.exp'
+ hardcode_libdir_flag_spec_CXX='-rpath $libdir'
+ ;;
+ esac
- # The C++ compiler must be used to create the archive.
- old_archive_cmds_CXX='$CC $LDFLAGS -archive -o $oldlib $oldobjs'
- ;;
- *)
- # GNU C++ compiler with Solaris linker
- if test "$GXX" = yes && test "$with_gnu_ld" = no; then
- no_undefined_flag_CXX=' ${wl}-z ${wl}defs'
- if $CC --version | grep -v '^2\.7' > /dev/null; then
- archive_cmds_CXX='$CC -shared -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
- archive_expsym_cmds_CXX='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
- $CC -shared -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp'
+ hardcode_libdir_separator_CXX=:
# Commands to make compiler produce verbose output that lists
# what "hidden" libraries, object files and flags are used when
# linking a shared library.
- output_verbose_link_cmd="$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep \"\-L\""
- else
- # g++ 2.7 appears to require `-G' NOT `-shared' on this
- # platform.
- archive_cmds_CXX='$CC -G -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
- archive_expsym_cmds_CXX='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
- $CC -G -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp'
+ #
+ # There doesn't appear to be a way to prevent this compiler from
+ # explicitly linking system object files so we need to strip them
+ # from the output so that they don't get included in the library
+ # dependencies.
+ output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld" | $GREP -v "ld:"`; templist=`$ECHO "X$templist" | $Xsed -e "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed'
+ ;;
+ *)
+ if test "$GXX" = yes && test "$with_gnu_ld" = no; then
+ allow_undefined_flag_CXX=' ${wl}-expect_unresolved ${wl}\*'
+ case $host in
+ osf3*)
+ archive_cmds_CXX='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+ ;;
+ *)
+ archive_cmds_CXX='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+ ;;
+ esac
+
+ hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir'
+ hardcode_libdir_separator_CXX=:
+
+ # Commands to make compiler produce verbose output that lists
+ # what "hidden" libraries, object files and flags are used when
+ # linking a shared library.
+ output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"'
+
+ else
+ # FIXME: insert proper C++ library support
+ ld_shlibs_CXX=no
+ fi
+ ;;
+ esac
+ ;;
- # Commands to make compiler produce verbose output that lists
- # what "hidden" libraries, object files and flags are used when
- # linking a shared library.
- output_verbose_link_cmd="$CC -G $CFLAGS -v conftest.$objext 2>&1 | grep \"\-L\""
- fi
+ psos*)
+ # FIXME: insert proper C++ library support
+ ld_shlibs_CXX=no
+ ;;
- hardcode_libdir_flag_spec_CXX='${wl}-R $wl$libdir'
- case $host_os in
- solaris2.[0-5] | solaris2.[0-5].*) ;;
+ sunos4*)
+ case $cc_basename in
+ CC*)
+ # Sun C++ 4.x
+ # FIXME: insert proper C++ library support
+ ld_shlibs_CXX=no
+ ;;
+ lcc*)
+ # Lucid
+ # FIXME: insert proper C++ library support
+ ld_shlibs_CXX=no
+ ;;
+ *)
+ # FIXME: insert proper C++ library support
+ ld_shlibs_CXX=no
+ ;;
+ esac
+ ;;
+
+ solaris*)
+ case $cc_basename in
+ CC*)
+ # Sun C++ 4.2, 5.x and Centerline C++
+ archive_cmds_need_lc_CXX=yes
+ no_undefined_flag_CXX=' -zdefs'
+ archive_cmds_CXX='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+ archive_expsym_cmds_CXX='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
+ $CC -G${allow_undefined_flag} ${wl}-M ${wl}$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
+
+ hardcode_libdir_flag_spec_CXX='-R$libdir'
+ hardcode_shlibpath_var_CXX=no
+ case $host_os in
+ solaris2.[0-5] | solaris2.[0-5].*) ;;
+ *)
+ # The compiler driver will combine and reorder linker options,
+ # but understands `-z linker_flag'.
+ # Supported since Solaris 2.6 (maybe 2.5.1?)
+ whole_archive_flag_spec_CXX='-z allextract$convenience -z defaultextract'
+ ;;
+ esac
+ link_all_deplibs_CXX=yes
+
+ output_verbose_link_cmd='echo'
+
+ # Archives containing C++ object files must be created using
+ # "CC -xar", where "CC" is the Sun C++ compiler. This is
+ # necessary to make sure instantiated templates are included
+ # in the archive.
+ old_archive_cmds_CXX='$CC -xar -o $oldlib $oldobjs'
+ ;;
+ gcx*)
+ # Green Hills C++ Compiler
+ archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
+
+ # The C++ compiler must be used to create the archive.
+ old_archive_cmds_CXX='$CC $LDFLAGS -archive -o $oldlib $oldobjs'
+ ;;
+ *)
+ # GNU C++ compiler with Solaris linker
+ if test "$GXX" = yes && test "$with_gnu_ld" = no; then
+ no_undefined_flag_CXX=' ${wl}-z ${wl}defs'
+ if $CC --version | $GREP -v '^2\.7' > /dev/null; then
+ archive_cmds_CXX='$CC -shared -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
+ archive_expsym_cmds_CXX='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
+ $CC -shared -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
+
+ # Commands to make compiler produce verbose output that lists
+ # what "hidden" libraries, object files and flags are used when
+ # linking a shared library.
+ output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"'
+ else
+ # g++ 2.7 appears to require `-G' NOT `-shared' on this
+ # platform.
+ archive_cmds_CXX='$CC -G -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
+ archive_expsym_cmds_CXX='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
+ $CC -G -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
+
+ # Commands to make compiler produce verbose output that lists
+ # what "hidden" libraries, object files and flags are used when
+ # linking a shared library.
+ output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"'
+ fi
+
+ hardcode_libdir_flag_spec_CXX='${wl}-R $wl$libdir'
+ case $host_os in
+ solaris2.[0-5] | solaris2.[0-5].*) ;;
+ *)
+ whole_archive_flag_spec_CXX='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
+ ;;
+ esac
+ fi
+ ;;
+ esac
+ ;;
+
+ sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*)
+ no_undefined_flag_CXX='${wl}-z,text'
+ archive_cmds_need_lc_CXX=no
+ hardcode_shlibpath_var_CXX=no
+ runpath_var='LD_RUN_PATH'
+
+ case $cc_basename in
+ CC*)
+ archive_cmds_CXX='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ archive_expsym_cmds_CXX='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ *)
+ archive_cmds_CXX='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ archive_expsym_cmds_CXX='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ esac
+ ;;
+
+ sysv5* | sco3.2v5* | sco5v6*)
+ # Note: We can NOT use -z defs as we might desire, because we do not
+ # link with -lc, and that would cause any symbols used from libc to
+ # always be unresolved, which means just about no library would
+ # ever link correctly. If we're not using GNU ld we use -z text
+ # though, which does catch some bad symbols but isn't as heavy-handed
+ # as -z defs.
+ no_undefined_flag_CXX='${wl}-z,text'
+ allow_undefined_flag_CXX='${wl}-z,nodefs'
+ archive_cmds_need_lc_CXX=no
+ hardcode_shlibpath_var_CXX=no
+ hardcode_libdir_flag_spec_CXX='${wl}-R,$libdir'
+ hardcode_libdir_separator_CXX=':'
+ link_all_deplibs_CXX=yes
+ export_dynamic_flag_spec_CXX='${wl}-Bexport'
+ runpath_var='LD_RUN_PATH'
+
+ case $cc_basename in
+ CC*)
+ archive_cmds_CXX='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ archive_expsym_cmds_CXX='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
*)
- whole_archive_flag_spec_CXX='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
+ archive_cmds_CXX='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ archive_expsym_cmds_CXX='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
;;
- esac
- fi
- ;;
- esac
- ;;
- sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*)
- no_undefined_flag_CXX='${wl}-z,text'
- archive_cmds_need_lc_CXX=no
- hardcode_shlibpath_var_CXX=no
- runpath_var='LD_RUN_PATH'
-
- case $cc_basename in
- CC*)
- archive_cmds_CXX='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- archive_expsym_cmds_CXX='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- *)
- archive_cmds_CXX='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- archive_expsym_cmds_CXX='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- esac
- ;;
- sysv5* | sco3.2v5* | sco5v6*)
- # Note: We can NOT use -z defs as we might desire, because we do not
- # link with -lc, and that would cause any symbols used from libc to
- # always be unresolved, which means just about no library would
- # ever link correctly. If we're not using GNU ld we use -z text
- # though, which does catch some bad symbols but isn't as heavy-handed
- # as -z defs.
- # For security reasons, it is highly recommended that you always
- # use absolute paths for naming shared libraries, and exclude the
- # DT_RUNPATH tag from executables and libraries. But doing so
- # requires that you compile everything twice, which is a pain.
- # So that behaviour is only enabled if SCOABSPATH is set to a
- # non-empty value in the environment. Most likely only useful for
- # creating official distributions of packages.
- # This is a hack until libtool officially supports absolute path
- # names for shared libraries.
- no_undefined_flag_CXX='${wl}-z,text'
- allow_undefined_flag_CXX='${wl}-z,nodefs'
- archive_cmds_need_lc_CXX=no
- hardcode_shlibpath_var_CXX=no
- hardcode_libdir_flag_spec_CXX='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`'
- hardcode_libdir_separator_CXX=':'
- link_all_deplibs_CXX=yes
- export_dynamic_flag_spec_CXX='${wl}-Bexport'
- runpath_var='LD_RUN_PATH'
-
- case $cc_basename in
- CC*)
- archive_cmds_CXX='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
- archive_expsym_cmds_CXX='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- *)
- archive_cmds_CXX='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
- archive_expsym_cmds_CXX='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- esac
- ;;
- tandem*)
- case $cc_basename in
- NCC*)
- # NonStop-UX NCC 3.20
- # FIXME: insert proper C++ library support
- ld_shlibs_CXX=no
- ;;
+ esac
+ ;;
+
+ tandem*)
+ case $cc_basename in
+ NCC*)
+ # NonStop-UX NCC 3.20
+ # FIXME: insert proper C++ library support
+ ld_shlibs_CXX=no
+ ;;
+ *)
+ # FIXME: insert proper C++ library support
+ ld_shlibs_CXX=no
+ ;;
+ esac
+ ;;
+
+ vxworks*)
+ # FIXME: insert proper C++ library support
+ ld_shlibs_CXX=no
+ ;;
+
*)
- # FIXME: insert proper C++ library support
- ld_shlibs_CXX=no
- ;;
+ # FIXME: insert proper C++ library support
+ ld_shlibs_CXX=no
+ ;;
esac
- ;;
- vxworks*)
- # FIXME: insert proper C++ library support
- ld_shlibs_CXX=no
- ;;
- *)
- # FIXME: insert proper C++ library support
- ld_shlibs_CXX=no
- ;;
-esac
-{ echo "$as_me:$LINENO: result: $ld_shlibs_CXX" >&5
-echo "${ECHO_T}$ld_shlibs_CXX" >&6; }
-test "$ld_shlibs_CXX" = no && can_build_shared=no
-GCC_CXX="$GXX"
-LD_CXX="$LD"
+ { $as_echo "$as_me:$LINENO: result: $ld_shlibs_CXX" >&5
+$as_echo "$ld_shlibs_CXX" >&6; }
+ test "$ld_shlibs_CXX" = no && can_build_shared=no
+ GCC_CXX="$GXX"
+ LD_CXX="$LD"
-cat > conftest.$ac_ext <<EOF
+ ## CAVEAT EMPTOR:
+ ## There is no encapsulation within the following macros, do not change
+ ## the running order or otherwise move them around unless you know exactly
+ ## what you are doing...
+ # Dependencies to place before and after the object being linked:
+predep_objects_CXX=
+postdep_objects_CXX=
+predeps_CXX=
+postdeps_CXX=
+compiler_lib_search_path_CXX=
+
+cat > conftest.$ac_ext <<_LT_EOF
class Foo
{
public:
@@ -12377,12 +14049,12 @@ public:
private:
int a;
};
-EOF
+_LT_EOF
if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
(eval $ac_compile) 2>&5
ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; then
# Parse the compiler output and extract the necessary
# objects, libraries and library flags.
@@ -12391,19 +14063,14 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
# the conftest object file.
pre_test_object_deps_done=no
- # The `*' in the case matches for architectures that use `case' in
- # $output_verbose_cmd can trigger glob expansion during the loop
- # eval without this substitution.
- output_verbose_link_cmd=`$echo "X$output_verbose_link_cmd" | $Xsed -e "$no_glob_subst"`
-
- for p in `eval $output_verbose_link_cmd`; do
+ for p in `eval "$output_verbose_link_cmd"`; do
case $p in
-L* | -R* | -l*)
# Some compilers place space between "-{L,R}" and the path.
# Remove the space.
- if test $p = "-L" \
- || test $p = "-R"; then
+ if test $p = "-L" ||
+ test $p = "-R"; then
prev=$p
continue
else
@@ -12468,7 +14135,7 @@ else
echo "libtool.m4: error: problem compiling CXX test program"
fi
-$rm -f confest.$objext
+$RM -f confest.$objext
# PORTME: override above test on systems where it is broken
case $host_os in
@@ -12484,7 +14151,7 @@ linux*)
case `$CC -V 2>&1 | sed 5q` in
*Sun\ C*)
# Sun C++ 5.9
- #
+
# The more standards-conforming stlport4 library is
# incompatible with the Cstd library. Avoid specifying
# it if it's in CXXFLAGS. Ignore libCrun as
@@ -12494,6 +14161,7 @@ linux*)
solaris_use_stlport4=yes
;;
esac
+
if test "$solaris_use_stlport4" != yes; then
postdeps_CXX='-library=Cstd -library=Crun'
fi
@@ -12529,13 +14197,47 @@ esac
case " $postdeps_CXX " in
*" -lc "*) archive_cmds_need_lc_CXX=no ;;
esac
+ compiler_lib_search_dirs_CXX=
+if test -n "${compiler_lib_search_path_CXX}"; then
+ compiler_lib_search_dirs_CXX=`echo " ${compiler_lib_search_path_CXX}" | ${SED} -e 's! -L! !g' -e 's!^ !!'`
+fi
+
+
-lt_prog_compiler_wl_CXX=
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ lt_prog_compiler_wl_CXX=
lt_prog_compiler_pic_CXX=
lt_prog_compiler_static_CXX=
-{ echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5
-echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5
+$as_echo_n "checking for $compiler option to produce PIC... " >&6; }
# C++ specific cases for pic, static, wl, etc.
if test "$GXX" = yes; then
@@ -12550,16 +14252,26 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; }
lt_prog_compiler_static_CXX='-Bstatic'
fi
;;
+
amigaos*)
- # FIXME: we need at least 68020 code to build shared libraries, but
- # adding the `-m68020' flag to GCC prevents building anything better,
- # like `-m68040'.
- lt_prog_compiler_pic_CXX='-m68020 -resident32 -malways-restore-a4'
+ case $host_cpu in
+ powerpc)
+ # see comment about AmigaOS4 .so support
+ lt_prog_compiler_pic_CXX='-fPIC'
+ ;;
+ m68k)
+ # FIXME: we need at least 68020 code to build shared libraries, but
+ # adding the `-m68020' flag to GCC prevents building anything better,
+ # like `-m68040'.
+ lt_prog_compiler_pic_CXX='-m68020 -resident32 -malways-restore-a4'
+ ;;
+ esac
;;
+
beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
# PIC is the default for these OSes.
;;
- mingw* | cygwin* | os2* | pw32*)
+ mingw* | cygwin* | os2* | pw32* | cegcc*)
# This hack is so that the source file can tell whether it is being
# built for inclusion in a dll (and should export symbols for example).
# Although the cygwin gcc ignores -fPIC, still need this for old-style
@@ -12585,23 +14297,29 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; }
fi
;;
hpux*)
- # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
- # not for PA HP-UX.
+ # PIC is the default for 64-bit PA HP-UX, but not for 32-bit
+ # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag
+ # sets the default TLS model and affects inlining.
case $host_cpu in
- hppa*64*|ia64*)
+ hppa*64*)
;;
*)
lt_prog_compiler_pic_CXX='-fPIC'
;;
esac
;;
+ *qnx* | *nto*)
+ # QNX uses GNU C++, but need to define -shared option too, otherwise
+ # it will coredump.
+ lt_prog_compiler_pic_CXX='-fPIC -shared'
+ ;;
*)
lt_prog_compiler_pic_CXX='-fPIC'
;;
esac
else
case $host_os in
- aix4* | aix5*)
+ aix[4-9]*)
# All AIX code is PIC.
if test "$host_cpu" = ia64; then
# AIX 5 now supports IA64 processor
@@ -12614,20 +14332,10 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; }
case $cc_basename in
cxch68*)
# Green Hills C++ Compiler
- # _LT_AC_TAGVAR(lt_prog_compiler_static, CXX)="--no_auto_instantiation -u __main -u __premain -u _abort -r $COOL_DIR/lib/libOrb.a $MVME_DIR/lib/CC/libC.a $MVME_DIR/lib/classix/libcx.s.a"
+ # _LT_TAGVAR(lt_prog_compiler_static, CXX)="--no_auto_instantiation -u __main -u __premain -u _abort -r $COOL_DIR/lib/libOrb.a $MVME_DIR/lib/CC/libC.a $MVME_DIR/lib/classix/libcx.s.a"
;;
esac
;;
- darwin*)
- # PIC is the default on this platform
- # Common symbols not allowed in MH_DYLIB files
- case $cc_basename in
- xlc*)
- lt_prog_compiler_pic_CXX='-qnocommon'
- lt_prog_compiler_wl_CXX='-Wl,'
- ;;
- esac
- ;;
dgux*)
case $cc_basename in
ec++*)
@@ -12691,14 +14399,21 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; }
lt_prog_compiler_wl_CXX='--backend -Wl,'
lt_prog_compiler_pic_CXX='-fPIC'
;;
- icpc* | ecpc*)
- # Intel C++
+ ecpc* )
+ # old Intel C++ for x86_64 which still supported -KPIC.
lt_prog_compiler_wl_CXX='-Wl,'
lt_prog_compiler_pic_CXX='-KPIC'
lt_prog_compiler_static_CXX='-static'
;;
- pgCC*)
- # Portland Group C++ compiler.
+ icpc* )
+ # Intel C++, used to be incompatible with GCC.
+ # ICC 10 doesn't accept -KPIC any more.
+ lt_prog_compiler_wl_CXX='-Wl,'
+ lt_prog_compiler_pic_CXX='-fPIC'
+ lt_prog_compiler_static_CXX='-static'
+ ;;
+ pgCC* | pgcpp*)
+ # Portland Group C++ compiler
lt_prog_compiler_wl_CXX='-Wl,'
lt_prog_compiler_pic_CXX='-fpic'
lt_prog_compiler_static_CXX='-Bstatic'
@@ -12710,6 +14425,12 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; }
lt_prog_compiler_pic_CXX=
lt_prog_compiler_static_CXX='-non_shared'
;;
+ xlc* | xlC*)
+ # IBM XL 8.0 on PPC
+ lt_prog_compiler_wl_CXX='-Wl,'
+ lt_prog_compiler_pic_CXX='-qpic'
+ lt_prog_compiler_static_CXX='-qstaticlink'
+ ;;
*)
case `$CC -V 2>&1 | sed 5q` in
*Sun\ C*)
@@ -12735,8 +14456,13 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; }
;;
esac
;;
- netbsd*)
+ netbsd* | netbsdelf*-gnu)
;;
+ *qnx* | *nto*)
+ # QNX uses GNU C++, but need to define -shared option too, otherwise
+ # it will coredump.
+ lt_prog_compiler_pic_CXX='-fPIC -shared'
+ ;;
osf3* | osf4* | osf5*)
case $cc_basename in
KCC*)
@@ -12791,22 +14517,22 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; }
;;
esac
;;
- tandem*)
+ sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
case $cc_basename in
- NCC*)
- # NonStop-UX NCC 3.20
+ CC*)
+ lt_prog_compiler_wl_CXX='-Wl,'
lt_prog_compiler_pic_CXX='-KPIC'
- ;;
- *)
+ lt_prog_compiler_static_CXX='-Bstatic'
;;
esac
;;
- sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
+ tandem*)
case $cc_basename in
- CC*)
- lt_prog_compiler_wl_CXX='-Wl,'
+ NCC*)
+ # NonStop-UX NCC 3.20
lt_prog_compiler_pic_CXX='-KPIC'
- lt_prog_compiler_static_CXX='-Bstatic'
+ ;;
+ *)
;;
esac
;;
@@ -12818,21 +14544,31 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; }
esac
fi
-{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_CXX" >&5
-echo "${ECHO_T}$lt_prog_compiler_pic_CXX" >&6; }
+case $host_os in
+ # For platforms which do not support PIC, -DPIC is meaningless:
+ *djgpp*)
+ lt_prog_compiler_pic_CXX=
+ ;;
+ *)
+ lt_prog_compiler_pic_CXX="$lt_prog_compiler_pic_CXX -DPIC"
+ ;;
+esac
+{ $as_echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_CXX" >&5
+$as_echo "$lt_prog_compiler_pic_CXX" >&6; }
+
+
#
# Check to make sure the PIC flag actually works.
#
if test -n "$lt_prog_compiler_pic_CXX"; then
-
-{ echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works" >&5
-echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works... $ECHO_C" >&6; }
-if test "${lt_prog_compiler_pic_works_CXX+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ { $as_echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works" >&5
+$as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works... " >&6; }
+if test "${lt_cv_prog_compiler_pic_works_CXX+set}" = set; then
+ $as_echo_n "(cached) " >&6
else
- lt_prog_compiler_pic_works_CXX=no
- ac_outfile=conftest.$ac_objext
+ lt_cv_prog_compiler_pic_works_CXX=no
+ ac_outfile=conftest.$ac_objext
echo "$lt_simple_compile_test_code" > conftest.$ac_ext
lt_compiler_flag="$lt_prog_compiler_pic_CXX -DPIC"
# Insert the option either (1) after the last *FLAGS variable, or
@@ -12844,27 +14580,27 @@ else
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:12847: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:14583: $lt_compile\"" >&5)
(eval "$lt_compile" 2>conftest.err)
ac_status=$?
cat conftest.err >&5
- echo "$as_me:12851: \$? = $ac_status" >&5
+ echo "$as_me:14587: \$? = $ac_status" >&5
if (exit $ac_status) && test -s "$ac_outfile"; then
# The compiler can only warn and ignore the option if not recognized
# So say no if there are warnings other than the usual output.
- $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp
+ $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp
$SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
- lt_prog_compiler_pic_works_CXX=yes
+ lt_cv_prog_compiler_pic_works_CXX=yes
fi
fi
- $rm conftest*
+ $RM conftest*
fi
-{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_works_CXX" >&5
-echo "${ECHO_T}$lt_prog_compiler_pic_works_CXX" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_pic_works_CXX" >&5
+$as_echo "$lt_cv_prog_compiler_pic_works_CXX" >&6; }
-if test x"$lt_prog_compiler_pic_works_CXX" = xyes; then
+if test x"$lt_cv_prog_compiler_pic_works_CXX" = xyes; then
case $lt_prog_compiler_pic_CXX in
"" | " "*) ;;
*) lt_prog_compiler_pic_CXX=" $lt_prog_compiler_pic_CXX" ;;
@@ -12875,26 +14611,19 @@ else
fi
fi
-case $host_os in
- # For platforms which do not support PIC, -DPIC is meaningless:
- *djgpp*)
- lt_prog_compiler_pic_CXX=
- ;;
- *)
- lt_prog_compiler_pic_CXX="$lt_prog_compiler_pic_CXX -DPIC"
- ;;
-esac
+
+
#
# Check to make sure the static flag actually works.
#
wl=$lt_prog_compiler_wl_CXX eval lt_tmp_static_flag=\"$lt_prog_compiler_static_CXX\"
-{ echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5
-echo $ECHO_N "checking if $compiler static flag $lt_tmp_static_flag works... $ECHO_C" >&6; }
-if test "${lt_prog_compiler_static_works_CXX+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+{ $as_echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5
+$as_echo_n "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; }
+if test "${lt_cv_prog_compiler_static_works_CXX+set}" = set; then
+ $as_echo_n "(cached) " >&6
else
- lt_prog_compiler_static_works_CXX=no
+ lt_cv_prog_compiler_static_works_CXX=no
save_LDFLAGS="$LDFLAGS"
LDFLAGS="$LDFLAGS $lt_tmp_static_flag"
echo "$lt_simple_link_test_code" > conftest.$ac_ext
@@ -12904,36 +14633,90 @@ else
if test -s conftest.err; then
# Append any errors to the config.log.
cat conftest.err 1>&5
- $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp
+ $ECHO "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp
$SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
if diff conftest.exp conftest.er2 >/dev/null; then
- lt_prog_compiler_static_works_CXX=yes
+ lt_cv_prog_compiler_static_works_CXX=yes
fi
else
- lt_prog_compiler_static_works_CXX=yes
+ lt_cv_prog_compiler_static_works_CXX=yes
fi
fi
- $rm conftest*
+ $RM -r conftest*
LDFLAGS="$save_LDFLAGS"
fi
-{ echo "$as_me:$LINENO: result: $lt_prog_compiler_static_works_CXX" >&5
-echo "${ECHO_T}$lt_prog_compiler_static_works_CXX" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_static_works_CXX" >&5
+$as_echo "$lt_cv_prog_compiler_static_works_CXX" >&6; }
-if test x"$lt_prog_compiler_static_works_CXX" = xyes; then
+if test x"$lt_cv_prog_compiler_static_works_CXX" = xyes; then
:
else
lt_prog_compiler_static_CXX=
fi
-{ echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5
-echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6; }
+
+
+ { $as_echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5
+$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
+if test "${lt_cv_prog_compiler_c_o_CXX+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ lt_cv_prog_compiler_c_o_CXX=no
+ $RM -r conftest 2>/dev/null
+ mkdir conftest
+ cd conftest
+ mkdir out
+ echo "$lt_simple_compile_test_code" > conftest.$ac_ext
+
+ lt_compiler_flag="-o out/conftest2.$ac_objext"
+ # Insert the option either (1) after the last *FLAGS variable, or
+ # (2) before a word containing "conftest.", or (3) at the end.
+ # Note that $ac_compile itself does not contain backslashes and begins
+ # with a dollar sign (not a hyphen), so the echo should work correctly.
+ lt_compile=`echo "$ac_compile" | $SED \
+ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
+ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
+ -e 's:$: $lt_compiler_flag:'`
+ (eval echo "\"\$as_me:14682: $lt_compile\"" >&5)
+ (eval "$lt_compile" 2>out/conftest.err)
+ ac_status=$?
+ cat out/conftest.err >&5
+ echo "$as_me:14686: \$? = $ac_status" >&5
+ if (exit $ac_status) && test -s out/conftest2.$ac_objext
+ then
+ # The compiler can only warn and ignore the option if not recognized
+ # So say no if there are warnings
+ $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp
+ $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
+ if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
+ lt_cv_prog_compiler_c_o_CXX=yes
+ fi
+ fi
+ chmod u+w . 2>&5
+ $RM conftest*
+ # SGI C++ compiler will create directory out/ii_files/ for
+ # template instantiation
+ test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files
+ $RM out/* && rmdir out
+ cd ..
+ $RM -r conftest
+ $RM conftest*
+
+fi
+{ $as_echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o_CXX" >&5
+$as_echo "$lt_cv_prog_compiler_c_o_CXX" >&6; }
+
+
+
+ { $as_echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5
+$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
if test "${lt_cv_prog_compiler_c_o_CXX+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
lt_cv_prog_compiler_c_o_CXX=no
- $rm -r conftest 2>/dev/null
+ $RM -r conftest 2>/dev/null
mkdir conftest
cd conftest
mkdir out
@@ -12948,87 +14731,102 @@ else
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:12951: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:14734: $lt_compile\"" >&5)
(eval "$lt_compile" 2>out/conftest.err)
ac_status=$?
cat out/conftest.err >&5
- echo "$as_me:12955: \$? = $ac_status" >&5
+ echo "$as_me:14738: \$? = $ac_status" >&5
if (exit $ac_status) && test -s out/conftest2.$ac_objext
then
# The compiler can only warn and ignore the option if not recognized
# So say no if there are warnings
- $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp
+ $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp
$SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
lt_cv_prog_compiler_c_o_CXX=yes
fi
fi
chmod u+w . 2>&5
- $rm conftest*
+ $RM conftest*
# SGI C++ compiler will create directory out/ii_files/ for
# template instantiation
- test -d out/ii_files && $rm out/ii_files/* && rmdir out/ii_files
- $rm out/* && rmdir out
+ test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files
+ $RM out/* && rmdir out
cd ..
- rmdir conftest
- $rm conftest*
+ $RM -r conftest
+ $RM conftest*
fi
-{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o_CXX" >&5
-echo "${ECHO_T}$lt_cv_prog_compiler_c_o_CXX" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o_CXX" >&5
+$as_echo "$lt_cv_prog_compiler_c_o_CXX" >&6; }
+
+
hard_links="nottested"
if test "$lt_cv_prog_compiler_c_o_CXX" = no && test "$need_locks" != no; then
# do not overwrite the value of need_locks provided by the user
- { echo "$as_me:$LINENO: checking if we can lock with hard links" >&5
-echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6; }
+ { $as_echo "$as_me:$LINENO: checking if we can lock with hard links" >&5
+$as_echo_n "checking if we can lock with hard links... " >&6; }
hard_links=yes
- $rm conftest*
+ $RM conftest*
ln conftest.a conftest.b 2>/dev/null && hard_links=no
touch conftest.a
ln conftest.a conftest.b 2>&5 || hard_links=no
ln conftest.a conftest.b 2>/dev/null && hard_links=no
- { echo "$as_me:$LINENO: result: $hard_links" >&5
-echo "${ECHO_T}$hard_links" >&6; }
+ { $as_echo "$as_me:$LINENO: result: $hard_links" >&5
+$as_echo "$hard_links" >&6; }
if test "$hard_links" = no; then
- { echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5
-echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5
+$as_echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;}
need_locks=warn
fi
else
need_locks=no
fi
-{ echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5
-echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6; }
+
+
+ { $as_echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5
+$as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; }
export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
case $host_os in
- aix4* | aix5*)
+ aix[4-9]*)
# If we're using GNU nm, then we don't want the "-C" option.
# -C means demangle to AIX nm, but means don't demangle with GNU nm
- if $NM -V 2>&1 | grep 'GNU' > /dev/null; then
- export_symbols_cmds_CXX='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols'
+ if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
+ export_symbols_cmds_CXX='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
else
- export_symbols_cmds_CXX='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols'
+ export_symbols_cmds_CXX='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
fi
;;
pw32*)
export_symbols_cmds_CXX="$ltdll_cmds"
;;
- cygwin* | mingw*)
- export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/;/^.*[ ]__nm__/s/^.*[ ]__nm__\([^ ]*\)[ ][^ ]*/\1 DATA/;/^I[ ]/d;/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols'
+ cygwin* | mingw* | cegcc*)
+ export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/;/^.*[ ]__nm__/s/^.*[ ]__nm__\([^ ]*\)[ ][^ ]*/\1 DATA/;/^I[ ]/d;/^[AITW][ ]/s/.* //'\'' | sort | uniq > $export_symbols'
+ ;;
+ linux* | k*bsd*-gnu)
+ link_all_deplibs_CXX=no
;;
*)
export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
;;
esac
+ exclude_expsyms_CXX='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'
-{ echo "$as_me:$LINENO: result: $ld_shlibs_CXX" >&5
-echo "${ECHO_T}$ld_shlibs_CXX" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $ld_shlibs_CXX" >&5
+$as_echo "$ld_shlibs_CXX" >&6; }
test "$ld_shlibs_CXX" = no && can_build_shared=no
+with_gnu_ld_CXX=$with_gnu_ld
+
+
+
+
+
+
#
# Do we need to explicitly link libc?
#
@@ -13046,15 +14844,15 @@ x|xyes)
# Test whether the compiler implicitly links with -lc since on some
# systems, -lgcc has to come before -lc. If gcc already passes -lc
# to ld, don't add -lc before -lgcc.
- { echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5
-echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6; }
- $rm conftest*
+ { $as_echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5
+$as_echo_n "checking whether -lc should be explicitly linked in... " >&6; }
+ $RM conftest*
echo "$lt_simple_compile_test_code" > conftest.$ac_ext
if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
(eval $ac_compile) 2>&5
ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } 2>conftest.err; then
soname=conftest
lib=conftest
@@ -13069,10 +14867,10 @@ echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&
libname=conftest
lt_save_allow_undefined_flag=$allow_undefined_flag_CXX
allow_undefined_flag_CXX=
- if { (eval echo "$as_me:$LINENO: \"$archive_cmds_CXX 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1\"") >&5
- (eval $archive_cmds_CXX 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) 2>&5
+ if { (eval echo "$as_me:$LINENO: \"$archive_cmds_CXX 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1\"") >&5
+ (eval $archive_cmds_CXX 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) 2>&5
ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }
then
archive_cmds_need_lc_CXX=no
@@ -13083,2620 +14881,81 @@ echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&
else
cat conftest.err 1>&5
fi
- $rm conftest*
- { echo "$as_me:$LINENO: result: $archive_cmds_need_lc_CXX" >&5
-echo "${ECHO_T}$archive_cmds_need_lc_CXX" >&6; }
- ;;
- esac
- fi
- ;;
-esac
-
-{ echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5
-echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6; }
-library_names_spec=
-libname_spec='lib$name'
-soname_spec=
-shrext_cmds=".so"
-postinstall_cmds=
-postuninstall_cmds=
-finish_cmds=
-finish_eval=
-shlibpath_var=
-shlibpath_overrides_runpath=unknown
-version_type=none
-dynamic_linker="$host_os ld.so"
-sys_lib_dlsearch_path_spec="/lib /usr/lib"
-
-need_lib_prefix=unknown
-hardcode_into_libs=no
-
-# when you set need_version to no, make sure it does not cause -set_version
-# flags to be left without arguments
-need_version=unknown
-
-case $host_os in
-aix3*)
- version_type=linux
- library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a'
- shlibpath_var=LIBPATH
-
- # AIX 3 has no versioning support, so we append a major version to the name.
- soname_spec='${libname}${release}${shared_ext}$major'
- ;;
-
-aix4* | aix5*)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- hardcode_into_libs=yes
- if test "$host_cpu" = ia64; then
- # AIX 5 supports IA64
- library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}'
- shlibpath_var=LD_LIBRARY_PATH
- else
- # With GCC up to 2.95.x, collect2 would create an import file
- # for dependence libraries. The import file would start with
- # the line `#! .'. This would cause the generated library to
- # depend on `.', always an invalid library. This was fixed in
- # development snapshots of GCC prior to 3.0.
- case $host_os in
- aix4 | aix4.[01] | aix4.[01].*)
- if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
- echo ' yes '
- echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then
- :
- else
- can_build_shared=no
- fi
- ;;
- esac
- # AIX (on Power*) has no versioning support, so currently we can not hardcode correct
- # soname into executable. Probably we can add versioning support to
- # collect2, so additional links can be useful in future.
- if test "$aix_use_runtimelinking" = yes; then
- # If using run time linking (on AIX 4.2 or later) use lib<name>.so
- # instead of lib<name>.a to let people know that these are not
- # typical AIX shared libraries.
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- else
- # We preserve .a as extension for shared libraries through AIX4.2
- # and later when we are not doing run time linking.
- library_names_spec='${libname}${release}.a $libname.a'
- soname_spec='${libname}${release}${shared_ext}$major'
- fi
- shlibpath_var=LIBPATH
- fi
- ;;
-
-amigaos*)
- library_names_spec='$libname.ixlibrary $libname.a'
- # Create ${libname}_ixlibrary.a entries in /sys/libs.
- finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'
- ;;
-
-beos*)
- library_names_spec='${libname}${shared_ext}'
- dynamic_linker="$host_os ld.so"
- shlibpath_var=LIBRARY_PATH
- ;;
-
-bsdi[45]*)
- version_type=linux
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir'
- shlibpath_var=LD_LIBRARY_PATH
- sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"
- sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib"
- # the default ld.so.conf also contains /usr/contrib/lib and
- # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow
- # libtool to hard-code these into programs
- ;;
-
-cygwin* | mingw* | pw32*)
- version_type=windows
- shrext_cmds=".dll"
- need_version=no
- need_lib_prefix=no
-
- case $GCC,$host_os in
- yes,cygwin* | yes,mingw* | yes,pw32*)
- library_names_spec='$libname.dll.a'
- # DLL is installed to $(libdir)/../bin by postinstall_cmds
- postinstall_cmds='base_file=`basename \${file}`~
- dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo \$dlname'\''`~
- dldir=$destdir/`dirname \$dlpath`~
- test -d \$dldir || mkdir -p \$dldir~
- $install_prog $dir/$dlname \$dldir/$dlname~
- chmod a+x \$dldir/$dlname'
- postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
- dlpath=$dir/\$dldll~
- $rm \$dlpath'
- shlibpath_overrides_runpath=yes
-
- case $host_os in
- cygwin*)
- # Cygwin DLLs use 'cyg' prefix rather than 'lib'
- soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
- sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib"
- ;;
- mingw*)
- # MinGW DLLs use traditional 'lib' prefix
- soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
- sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"`
- if echo "$sys_lib_search_path_spec" | grep ';[c-zC-Z]:/' >/dev/null; then
- # It is most probably a Windows format PATH printed by
- # mingw gcc, but we are running on Cygwin. Gcc prints its search
- # path with ; separators, and with drive letters. We can handle the
- # drive letters (cygwin fileutils understands them), so leave them,
- # especially as we might pass files found there to a mingw objdump,
- # which wouldn't understand a cygwinified path. Ahh.
- sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
- else
- sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
- fi
- ;;
- pw32*)
- # pw32 DLLs use 'pw' prefix rather than 'lib'
- library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
- ;;
- esac
- ;;
-
- *)
- library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib'
- ;;
- esac
- dynamic_linker='Win32 ld.exe'
- # FIXME: first we should search . and the directory the executable is in
- shlibpath_var=PATH
- ;;
-
-darwin* | rhapsody*)
- dynamic_linker="$host_os dyld"
- version_type=darwin
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${versuffix}$shared_ext ${libname}${release}${major}$shared_ext ${libname}$shared_ext'
- soname_spec='${libname}${release}${major}$shared_ext'
- shlibpath_overrides_runpath=yes
- shlibpath_var=DYLD_LIBRARY_PATH
- shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
-
- sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'
- ;;
-
-dgux*)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- ;;
-
-freebsd1*)
- dynamic_linker=no
- ;;
-
-freebsd* | dragonfly*)
- # DragonFly does not have aout. When/if they implement a new
- # versioning mechanism, adjust this.
- if test -x /usr/bin/objformat; then
- objformat=`/usr/bin/objformat`
- else
- case $host_os in
- freebsd[123]*) objformat=aout ;;
- *) objformat=elf ;;
- esac
- fi
- version_type=freebsd-$objformat
- case $version_type in
- freebsd-elf*)
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
- need_version=no
- need_lib_prefix=no
- ;;
- freebsd-*)
- library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix'
- need_version=yes
- ;;
- esac
- shlibpath_var=LD_LIBRARY_PATH
- case $host_os in
- freebsd2*)
- shlibpath_overrides_runpath=yes
- ;;
- freebsd3.[01]* | freebsdelf3.[01]*)
- shlibpath_overrides_runpath=yes
- hardcode_into_libs=yes
- ;;
- freebsd3.[2-9]* | freebsdelf3.[2-9]* | \
- freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1)
- shlibpath_overrides_runpath=no
- hardcode_into_libs=yes
- ;;
- *) # from 4.6 on, and DragonFly
- shlibpath_overrides_runpath=yes
- hardcode_into_libs=yes
- ;;
- esac
- ;;
-
-gnu*)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- hardcode_into_libs=yes
- ;;
-
-hpux9* | hpux10* | hpux11*)
- # Give a soname corresponding to the major version so that dld.sl refuses to
- # link against other versions.
- version_type=sunos
- need_lib_prefix=no
- need_version=no
- case $host_cpu in
- ia64*)
- shrext_cmds='.so'
- hardcode_into_libs=yes
- dynamic_linker="$host_os dld.so"
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- if test "X$HPUX_IA64_MODE" = X32; then
- sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib"
- else
- sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64"
- fi
- sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
- ;;
- hppa*64*)
- shrext_cmds='.sl'
- hardcode_into_libs=yes
- dynamic_linker="$host_os dld.sl"
- shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
- shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64"
- sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
- ;;
- *)
- shrext_cmds='.sl'
- dynamic_linker="$host_os dld.sl"
- shlibpath_var=SHLIB_PATH
- shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- ;;
- esac
- # HP-UX runs *really* slowly unless shared libraries are mode 555.
- postinstall_cmds='chmod 555 $lib'
- ;;
-
-interix[3-9]*)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=no
- hardcode_into_libs=yes
- ;;
-
-irix5* | irix6* | nonstopux*)
- case $host_os in
- nonstopux*) version_type=nonstopux ;;
- *)
- if test "$lt_cv_prog_gnu_ld" = yes; then
- version_type=linux
- else
- version_type=irix
- fi ;;
- esac
- need_lib_prefix=no
- need_version=no
- soname_spec='${libname}${release}${shared_ext}$major'
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}'
- case $host_os in
- irix5* | nonstopux*)
- libsuff= shlibsuff=
- ;;
- *)
- case $LD in # libtool.m4 will add one of these switches to LD
- *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ")
- libsuff= shlibsuff= libmagic=32-bit;;
- *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ")
- libsuff=32 shlibsuff=N32 libmagic=N32;;
- *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ")
- libsuff=64 shlibsuff=64 libmagic=64-bit;;
- *) libsuff= shlibsuff= libmagic=never-match;;
- esac
- ;;
- esac
- shlibpath_var=LD_LIBRARY${shlibsuff}_PATH
- shlibpath_overrides_runpath=no
- sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}"
- sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}"
- hardcode_into_libs=yes
- ;;
-
-# No shared lib support for Linux oldld, aout, or coff.
-linux*oldld* | linux*aout* | linux*coff*)
- dynamic_linker=no
- ;;
-
-# This must be Linux ELF.
-linux* | k*bsd*-gnu)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=no
- # This implies no fast_install, which is unacceptable.
- # Some rework will be needed to allow for fast_install
- # before this can be enabled.
- hardcode_into_libs=yes
- sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}"
- sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}"
-
- # Append ld.so.conf contents to the search path
- if test -f /etc/ld.so.conf; then
- lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '`
- sys_lib_dlsearch_path_spec="$sys_lib_dlsearch_path_spec $lt_ld_extra"
- fi
-
- # We used to test for /lib/ld.so.1 and disable shared libraries on
- # powerpc, because MkLinux only supported shared libraries with the
- # GNU dynamic linker. Since this was broken with cross compilers,
- # most powerpc-linux boxes support dynamic linking these days and
- # people can always --disable-shared, the test was removed, and we
- # assume the GNU/Linux dynamic linker is in use.
- dynamic_linker='GNU/Linux ld.so'
- ;;
-
-netbsd*)
- version_type=sunos
- need_lib_prefix=no
- need_version=no
- if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
- finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
- dynamic_linker='NetBSD (a.out) ld.so'
- else
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- dynamic_linker='NetBSD ld.elf_so'
- fi
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=yes
- hardcode_into_libs=yes
- ;;
-
-newsos6)
- version_type=linux
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=yes
- ;;
-
-nto-qnx*)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=yes
- ;;
-
-openbsd*)
- version_type=sunos
- sys_lib_dlsearch_path_spec="/usr/lib"
- need_lib_prefix=no
- # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs.
- case $host_os in
- openbsd3.3 | openbsd3.3.*) need_version=yes ;;
- *) need_version=no ;;
- esac
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
- finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
- shlibpath_var=LD_LIBRARY_PATH
- if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
- case $host_os in
- openbsd2.[89] | openbsd2.[89].*)
- shlibpath_overrides_runpath=no
- ;;
- *)
- shlibpath_overrides_runpath=yes
- ;;
- esac
- else
- shlibpath_overrides_runpath=yes
- fi
- ;;
-
-os2*)
- libname_spec='$name'
- shrext_cmds=".dll"
- need_lib_prefix=no
- library_names_spec='$libname${shared_ext} $libname.a'
- dynamic_linker='OS/2 ld.exe'
- shlibpath_var=LIBPATH
- ;;
-
-osf3* | osf4* | osf5*)
- version_type=osf
- need_lib_prefix=no
- need_version=no
- soname_spec='${libname}${release}${shared_ext}$major'
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- shlibpath_var=LD_LIBRARY_PATH
- sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
- sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec"
- ;;
-
-rdos*)
- dynamic_linker=no
- ;;
-
-solaris*)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=yes
- hardcode_into_libs=yes
- # ldd complains unless libraries are executable
- postinstall_cmds='chmod +x $lib'
- ;;
-
-sunos4*)
- version_type=sunos
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
- finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=yes
- if test "$with_gnu_ld" = yes; then
- need_lib_prefix=no
- fi
- need_version=yes
- ;;
-
-sysv4 | sysv4.3*)
- version_type=linux
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- case $host_vendor in
- sni)
- shlibpath_overrides_runpath=no
- need_lib_prefix=no
- export_dynamic_flag_spec='${wl}-Blargedynsym'
- runpath_var=LD_RUN_PATH
- ;;
- siemens)
- need_lib_prefix=no
- ;;
- motorola)
- need_lib_prefix=no
- need_version=no
- shlibpath_overrides_runpath=no
- sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib'
+ $RM conftest*
+ { $as_echo "$as_me:$LINENO: result: $archive_cmds_need_lc_CXX" >&5
+$as_echo "$archive_cmds_need_lc_CXX" >&6; }
;;
- esac
- ;;
-
-sysv4*MP*)
- if test -d /usr/nec ;then
- version_type=linux
- library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}'
- soname_spec='$libname${shared_ext}.$major'
- shlibpath_var=LD_LIBRARY_PATH
- fi
- ;;
-
-sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
- version_type=freebsd-elf
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- hardcode_into_libs=yes
- if test "$with_gnu_ld" = yes; then
- sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib'
- shlibpath_overrides_runpath=no
- else
- sys_lib_search_path_spec='/usr/ccs/lib /usr/lib'
- shlibpath_overrides_runpath=yes
- case $host_os in
- sco3.2v5*)
- sys_lib_search_path_spec="$sys_lib_search_path_spec /lib"
- ;;
esac
fi
- sys_lib_dlsearch_path_spec='/usr/lib'
- ;;
-
-uts4*)
- version_type=linux
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- ;;
-
-*)
- dynamic_linker=no
;;
esac
-{ echo "$as_me:$LINENO: result: $dynamic_linker" >&5
-echo "${ECHO_T}$dynamic_linker" >&6; }
-test "$dynamic_linker" = no && can_build_shared=no
-
-variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
-if test "$GCC" = yes; then
- variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
-fi
-
-{ echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5
-echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6; }
-hardcode_action_CXX=
-if test -n "$hardcode_libdir_flag_spec_CXX" || \
- test -n "$runpath_var_CXX" || \
- test "X$hardcode_automatic_CXX" = "Xyes" ; then
-
- # We can hardcode non-existant directories.
- if test "$hardcode_direct_CXX" != no &&
- # If the only mechanism to avoid hardcoding is shlibpath_var, we
- # have to relink, otherwise we might link with an installed library
- # when we should be linking with a yet-to-be-installed one
- ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, CXX)" != no &&
- test "$hardcode_minus_L_CXX" != no; then
- # Linking always hardcodes the temporary library directory.
- hardcode_action_CXX=relink
- else
- # We can link without hardcoding, and we can hardcode nonexisting dirs.
- hardcode_action_CXX=immediate
- fi
-else
- # We cannot hardcode anything, or else we can only hardcode existing
- # directories.
- hardcode_action_CXX=unsupported
-fi
-{ echo "$as_me:$LINENO: result: $hardcode_action_CXX" >&5
-echo "${ECHO_T}$hardcode_action_CXX" >&6; }
-
-if test "$hardcode_action_CXX" = relink; then
- # Fast installation is not supported
- enable_fast_install=no
-elif test "$shlibpath_overrides_runpath" = yes ||
- test "$enable_shared" = no; then
- # Fast installation is not necessary
- enable_fast_install=needless
-fi
-
-
-# The else clause should only fire when bootstrapping the
-# libtool distribution, otherwise you forgot to ship ltmain.sh
-# with your package, and you will get complaints that there are
-# no rules to generate ltmain.sh.
-if test -f "$ltmain"; then
- # See if we are running on zsh, and set the options which allow our commands through
- # without removal of \ escapes.
- if test -n "${ZSH_VERSION+set}" ; then
- setopt NO_GLOB_SUBST
- fi
- # Now quote all the things that may contain metacharacters while being
- # careful not to overquote the AC_SUBSTed values. We take copies of the
- # variables and quote the copies for generation of the libtool script.
- for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC LTCFLAGS NM \
- SED SHELL STRIP \
- libname_spec library_names_spec soname_spec extract_expsyms_cmds \
- old_striplib striplib file_magic_cmd finish_cmds finish_eval \
- deplibs_check_method reload_flag reload_cmds need_locks \
- lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \
- lt_cv_sys_global_symbol_to_c_name_address \
- sys_lib_search_path_spec sys_lib_dlsearch_path_spec \
- old_postinstall_cmds old_postuninstall_cmds \
- compiler_CXX \
- CC_CXX \
- LD_CXX \
- lt_prog_compiler_wl_CXX \
- lt_prog_compiler_pic_CXX \
- lt_prog_compiler_static_CXX \
- lt_prog_compiler_no_builtin_flag_CXX \
- export_dynamic_flag_spec_CXX \
- thread_safe_flag_spec_CXX \
- whole_archive_flag_spec_CXX \
- enable_shared_with_static_runtimes_CXX \
- old_archive_cmds_CXX \
- old_archive_from_new_cmds_CXX \
- predep_objects_CXX \
- postdep_objects_CXX \
- predeps_CXX \
- postdeps_CXX \
- compiler_lib_search_path_CXX \
- archive_cmds_CXX \
- archive_expsym_cmds_CXX \
- postinstall_cmds_CXX \
- postuninstall_cmds_CXX \
- old_archive_from_expsyms_cmds_CXX \
- allow_undefined_flag_CXX \
- no_undefined_flag_CXX \
- export_symbols_cmds_CXX \
- hardcode_libdir_flag_spec_CXX \
- hardcode_libdir_flag_spec_ld_CXX \
- hardcode_libdir_separator_CXX \
- hardcode_automatic_CXX \
- module_cmds_CXX \
- module_expsym_cmds_CXX \
- lt_cv_prog_compiler_c_o_CXX \
- fix_srcfile_path_CXX \
- exclude_expsyms_CXX \
- include_expsyms_CXX; do
-
- case $var in
- old_archive_cmds_CXX | \
- old_archive_from_new_cmds_CXX | \
- archive_cmds_CXX | \
- archive_expsym_cmds_CXX | \
- module_cmds_CXX | \
- module_expsym_cmds_CXX | \
- old_archive_from_expsyms_cmds_CXX | \
- export_symbols_cmds_CXX | \
- extract_expsyms_cmds | reload_cmds | finish_cmds | \
- postinstall_cmds | postuninstall_cmds | \
- old_postinstall_cmds | old_postuninstall_cmds | \
- sys_lib_search_path_spec | sys_lib_dlsearch_path_spec)
- # Double-quote double-evaled strings.
- eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\""
- ;;
- *)
- eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\""
- ;;
- esac
- done
-
- case $lt_echo in
- *'\$0 --fallback-echo"')
- lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\$0 --fallback-echo"$/$0 --fallback-echo"/'`
- ;;
- esac
-
-cfgfile="$ofile"
-
- cat <<__EOF__ >> "$cfgfile"
-# ### BEGIN LIBTOOL TAG CONFIG: $tagname
-
-# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
-
-# Shell to use when invoking shell scripts.
-SHELL=$lt_SHELL
-
-# Whether or not to build shared libraries.
-build_libtool_libs=$enable_shared
-
-# Whether or not to build static libraries.
-build_old_libs=$enable_static
-
-# Whether or not to add -lc for building shared libraries.
-build_libtool_need_lc=$archive_cmds_need_lc_CXX
-
-# Whether or not to disallow shared libs when runtime libs are static
-allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_CXX
-
-# Whether or not to optimize for fast installation.
-fast_install=$enable_fast_install
-
-# The host system.
-host_alias=$host_alias
-host=$host
-host_os=$host_os
-
-# The build system.
-build_alias=$build_alias
-build=$build
-build_os=$build_os
-
-# An echo program that does not interpret backslashes.
-echo=$lt_echo
-
-# The archiver.
-AR=$lt_AR
-AR_FLAGS=$lt_AR_FLAGS
-
-# A C compiler.
-LTCC=$lt_LTCC
-
-# LTCC compiler flags.
-LTCFLAGS=$lt_LTCFLAGS
-
-# A language-specific compiler.
-CC=$lt_compiler_CXX
-
-# Is the compiler the GNU C compiler?
-with_gcc=$GCC_CXX
-
-# An ERE matcher.
-EGREP=$lt_EGREP
-
-# The linker used to build libraries.
-LD=$lt_LD_CXX
-
-# Whether we need hard or soft links.
-LN_S=$lt_LN_S
-
-# A BSD-compatible nm program.
-NM=$lt_NM
-
-# A symbol stripping program
-STRIP=$lt_STRIP
-
-# Used to examine libraries when file_magic_cmd begins "file"
-MAGIC_CMD=$MAGIC_CMD
-
-# Used on cygwin: DLL creation program.
-DLLTOOL="$DLLTOOL"
-
-# Used on cygwin: object dumper.
-OBJDUMP="$OBJDUMP"
-
-# Used on cygwin: assembler.
-AS="$AS"
-
-# The name of the directory that contains temporary libtool files.
-objdir=$objdir
-
-# How to create reloadable object files.
-reload_flag=$lt_reload_flag
-reload_cmds=$lt_reload_cmds
-
-# How to pass a linker flag through the compiler.
-wl=$lt_lt_prog_compiler_wl_CXX
-
-# Object file suffix (normally "o").
-objext="$ac_objext"
-
-# Old archive suffix (normally "a").
-libext="$libext"
-
-# Shared library suffix (normally ".so").
-shrext_cmds='$shrext_cmds'
-
-# Executable file suffix (normally "").
-exeext="$exeext"
-
-# Additional compiler flags for building library objects.
-pic_flag=$lt_lt_prog_compiler_pic_CXX
-pic_mode=$pic_mode
-
-# What is the maximum length of a command?
-max_cmd_len=$lt_cv_sys_max_cmd_len
-
-# Does compiler simultaneously support -c and -o options?
-compiler_c_o=$lt_lt_cv_prog_compiler_c_o_CXX
-
-# Must we lock files when doing compilation?
-need_locks=$lt_need_locks
-
-# Do we need the lib prefix for modules?
-need_lib_prefix=$need_lib_prefix
-
-# Do we need a version for libraries?
-need_version=$need_version
-
-# Whether dlopen is supported.
-dlopen_support=$enable_dlopen
-
-# Whether dlopen of programs is supported.
-dlopen_self=$enable_dlopen_self
-
-# Whether dlopen of statically linked programs is supported.
-dlopen_self_static=$enable_dlopen_self_static
-
-# Compiler flag to prevent dynamic linking.
-link_static_flag=$lt_lt_prog_compiler_static_CXX
-
-# Compiler flag to turn off builtin functions.
-no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_CXX
-
-# Compiler flag to allow reflexive dlopens.
-export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_CXX
-
-# Compiler flag to generate shared objects directly from archives.
-whole_archive_flag_spec=$lt_whole_archive_flag_spec_CXX
-
-# Compiler flag to generate thread-safe objects.
-thread_safe_flag_spec=$lt_thread_safe_flag_spec_CXX
-
-# Library versioning type.
-version_type=$version_type
-
-# Format of library name prefix.
-libname_spec=$lt_libname_spec
-
-# List of archive names. First name is the real one, the rest are links.
-# The last name is the one that the linker finds with -lNAME.
-library_names_spec=$lt_library_names_spec
-
-# The coded name of the library, if different from the real name.
-soname_spec=$lt_soname_spec
-
-# Commands used to build and install an old-style archive.
-RANLIB=$lt_RANLIB
-old_archive_cmds=$lt_old_archive_cmds_CXX
-old_postinstall_cmds=$lt_old_postinstall_cmds
-old_postuninstall_cmds=$lt_old_postuninstall_cmds
-
-# Create an old-style archive from a shared archive.
-old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_CXX
-
-# Create a temporary old-style archive to link instead of a shared archive.
-old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_CXX
-
-# Commands used to build and install a shared archive.
-archive_cmds=$lt_archive_cmds_CXX
-archive_expsym_cmds=$lt_archive_expsym_cmds_CXX
-postinstall_cmds=$lt_postinstall_cmds
-postuninstall_cmds=$lt_postuninstall_cmds
-
-# Commands used to build a loadable module (assumed same as above if empty)
-module_cmds=$lt_module_cmds_CXX
-module_expsym_cmds=$lt_module_expsym_cmds_CXX
-
-# Commands to strip libraries.
-old_striplib=$lt_old_striplib
-striplib=$lt_striplib
-
-# Dependencies to place before the objects being linked to create a
-# shared library.
-predep_objects=$lt_predep_objects_CXX
-
-# Dependencies to place after the objects being linked to create a
-# shared library.
-postdep_objects=$lt_postdep_objects_CXX
-
-# Dependencies to place before the objects being linked to create a
-# shared library.
-predeps=$lt_predeps_CXX
-
-# Dependencies to place after the objects being linked to create a
-# shared library.
-postdeps=$lt_postdeps_CXX
-
-# The library search path used internally by the compiler when linking
-# a shared library.
-compiler_lib_search_path=$lt_compiler_lib_search_path_CXX
-
-# Method to check whether dependent libraries are shared objects.
-deplibs_check_method=$lt_deplibs_check_method
-
-# Command to use when deplibs_check_method == file_magic.
-file_magic_cmd=$lt_file_magic_cmd
-
-# Flag that allows shared libraries with undefined symbols to be built.
-allow_undefined_flag=$lt_allow_undefined_flag_CXX
-
-# Flag that forces no undefined symbols.
-no_undefined_flag=$lt_no_undefined_flag_CXX
-
-# Commands used to finish a libtool library installation in a directory.
-finish_cmds=$lt_finish_cmds
-
-# Same as above, but a single script fragment to be evaled but not shown.
-finish_eval=$lt_finish_eval
-
-# Take the output of nm and produce a listing of raw symbols and C names.
-global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe
-
-# Transform the output of nm in a proper C declaration
-global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl
-
-# Transform the output of nm in a C name address pair
-global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address
-
-# This is the shared library runtime path variable.
-runpath_var=$runpath_var
-
-# This is the shared library path variable.
-shlibpath_var=$shlibpath_var
-
-# Is shlibpath searched before the hard-coded library search path?
-shlibpath_overrides_runpath=$shlibpath_overrides_runpath
-
-# How to hardcode a shared library path into an executable.
-hardcode_action=$hardcode_action_CXX
-
-# Whether we should hardcode library paths into libraries.
-hardcode_into_libs=$hardcode_into_libs
-
-# Flag to hardcode \$libdir into a binary during linking.
-# This must work even if \$libdir does not exist.
-hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_CXX
-
-# If ld is used when linking, flag to hardcode \$libdir into
-# a binary during linking. This must work even if \$libdir does
-# not exist.
-hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld_CXX
-
-# Whether we need a single -rpath flag with a separated argument.
-hardcode_libdir_separator=$lt_hardcode_libdir_separator_CXX
-
-# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the
-# resulting binary.
-hardcode_direct=$hardcode_direct_CXX
-
-# Set to yes if using the -LDIR flag during linking hardcodes DIR into the
-# resulting binary.
-hardcode_minus_L=$hardcode_minus_L_CXX
-
-# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into
-# the resulting binary.
-hardcode_shlibpath_var=$hardcode_shlibpath_var_CXX
-
-# Set to yes if building a shared library automatically hardcodes DIR into the library
-# and all subsequent libraries and executables linked against it.
-hardcode_automatic=$hardcode_automatic_CXX
-
-# Variables whose values should be saved in libtool wrapper scripts and
-# restored at relink time.
-variables_saved_for_relink="$variables_saved_for_relink"
-
-# Whether libtool must link a program against all its dependency libraries.
-link_all_deplibs=$link_all_deplibs_CXX
-
-# Compile-time system search path for libraries
-sys_lib_search_path_spec=$lt_sys_lib_search_path_spec
-
-# Run-time system search path for libraries
-sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec
-
-# Fix the shell variable \$srcfile for the compiler.
-fix_srcfile_path=$lt_fix_srcfile_path
-
-# Set to yes if exported symbols are required.
-always_export_symbols=$always_export_symbols_CXX
-
-# The commands to list exported symbols.
-export_symbols_cmds=$lt_export_symbols_cmds_CXX
-
-# The commands to extract the exported symbol list from a shared archive.
-extract_expsyms_cmds=$lt_extract_expsyms_cmds
-
-# Symbols that should not be listed in the preloaded symbols.
-exclude_expsyms=$lt_exclude_expsyms_CXX
-
-# Symbols that must always be exported.
-include_expsyms=$lt_include_expsyms_CXX
-
-# ### END LIBTOOL TAG CONFIG: $tagname
-
-__EOF__
-else
- # If there is no Makefile yet, we rely on a make rule to execute
- # `config.status --recheck' to rerun these tests and create the
- # libtool script then.
- ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'`
- if test -f "$ltmain_in"; then
- test -f Makefile && make "$ltmain"
- fi
-fi
-
-
-ac_ext=cpp
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
-CC=$lt_save_CC
-LDCXX=$LD
-LD=$lt_save_LD
-GCC=$lt_save_GCC
-with_gnu_ldcxx=$with_gnu_ld
-with_gnu_ld=$lt_save_with_gnu_ld
-lt_cv_path_LDCXX=$lt_cv_path_LD
-lt_cv_path_LD=$lt_save_path_LD
-lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld
-lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld
-
- else
- tagname=""
- fi
- ;;
-
- F77)
- if test -n "$F77" && test "X$F77" != "Xno"; then
-
-ac_ext=f
-ac_compile='$F77 -c $FFLAGS conftest.$ac_ext >&5'
-ac_link='$F77 -o conftest$ac_exeext $FFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_f77_compiler_gnu
-
-
-archive_cmds_need_lc_F77=no
-allow_undefined_flag_F77=
-always_export_symbols_F77=no
-archive_expsym_cmds_F77=
-export_dynamic_flag_spec_F77=
-hardcode_direct_F77=no
-hardcode_libdir_flag_spec_F77=
-hardcode_libdir_flag_spec_ld_F77=
-hardcode_libdir_separator_F77=
-hardcode_minus_L_F77=no
-hardcode_automatic_F77=no
-module_cmds_F77=
-module_expsym_cmds_F77=
-link_all_deplibs_F77=unknown
-old_archive_cmds_F77=$old_archive_cmds
-no_undefined_flag_F77=
-whole_archive_flag_spec_F77=
-enable_shared_with_static_runtimes_F77=no
-
-# Source file extension for f77 test sources.
-ac_ext=f
-
-# Object file extension for compiled f77 test sources.
-objext=o
-objext_F77=$objext
-
-# Code to be used in simple compile tests
-lt_simple_compile_test_code="\
- subroutine t
- return
- end
-"
-# Code to be used in simple link tests
-lt_simple_link_test_code="\
- program t
- end
-"
-# ltmain only uses $CC for tagged configurations so make sure $CC is set.
-# If no C compiler was specified, use CC.
-LTCC=${LTCC-"$CC"}
-# If no C compiler flags were specified, use CFLAGS.
-LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
-# Allow CC to be a program name with arguments.
-compiler=$CC
-# save warnings/boilerplate of simple test code
-ac_outfile=conftest.$ac_objext
-echo "$lt_simple_compile_test_code" >conftest.$ac_ext
-eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
-_lt_compiler_boilerplate=`cat conftest.err`
-$rm conftest*
-
-ac_outfile=conftest.$ac_objext
-echo "$lt_simple_link_test_code" >conftest.$ac_ext
-eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
-_lt_linker_boilerplate=`cat conftest.err`
-$rm conftest*
-# Allow CC to be a program name with arguments.
-lt_save_CC="$CC"
-CC=${F77-"f77"}
-compiler=$CC
-compiler_F77=$CC
-for cc_temp in $compiler""; do
- case $cc_temp in
- compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
- distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
- \-*) ;;
- *) break;;
- esac
-done
-cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
-{ echo "$as_me:$LINENO: checking if libtool supports shared libraries" >&5
-echo $ECHO_N "checking if libtool supports shared libraries... $ECHO_C" >&6; }
-{ echo "$as_me:$LINENO: result: $can_build_shared" >&5
-echo "${ECHO_T}$can_build_shared" >&6; }
-{ echo "$as_me:$LINENO: checking whether to build shared libraries" >&5
-echo $ECHO_N "checking whether to build shared libraries... $ECHO_C" >&6; }
-test "$can_build_shared" = "no" && enable_shared=no
-# On AIX, shared libraries and static libraries use the same namespace, and
-# are all built from PIC.
-case $host_os in
-aix3*)
- test "$enable_shared" = yes && enable_static=no
- if test -n "$RANLIB"; then
- archive_cmds="$archive_cmds~\$RANLIB \$lib"
- postinstall_cmds='$RANLIB $lib'
- fi
- ;;
-aix4* | aix5*)
- if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
- test "$enable_shared" = yes && enable_static=no
- fi
- ;;
-esac
-{ echo "$as_me:$LINENO: result: $enable_shared" >&5
-echo "${ECHO_T}$enable_shared" >&6; }
-{ echo "$as_me:$LINENO: checking whether to build static libraries" >&5
-echo $ECHO_N "checking whether to build static libraries... $ECHO_C" >&6; }
-# Make sure either enable_shared or enable_static is yes.
-test "$enable_shared" = yes || enable_static=yes
-{ echo "$as_me:$LINENO: result: $enable_static" >&5
-echo "${ECHO_T}$enable_static" >&6; }
-GCC_F77="$G77"
-LD_F77="$LD"
-lt_prog_compiler_wl_F77=
-lt_prog_compiler_pic_F77=
-lt_prog_compiler_static_F77=
-{ echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5
-echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; }
- if test "$GCC" = yes; then
- lt_prog_compiler_wl_F77='-Wl,'
- lt_prog_compiler_static_F77='-static'
- case $host_os in
- aix*)
- # All AIX code is PIC.
- if test "$host_cpu" = ia64; then
- # AIX 5 now supports IA64 processor
- lt_prog_compiler_static_F77='-Bstatic'
- fi
- ;;
- amigaos*)
- # FIXME: we need at least 68020 code to build shared libraries, but
- # adding the `-m68020' flag to GCC prevents building anything better,
- # like `-m68040'.
- lt_prog_compiler_pic_F77='-m68020 -resident32 -malways-restore-a4'
- ;;
- beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
- # PIC is the default for these OSes.
- ;;
- mingw* | cygwin* | pw32* | os2*)
- # This hack is so that the source file can tell whether it is being
- # built for inclusion in a dll (and should export symbols for example).
- # Although the cygwin gcc ignores -fPIC, still need this for old-style
- # (--disable-auto-import) libraries
- lt_prog_compiler_pic_F77='-DDLL_EXPORT'
- ;;
- darwin* | rhapsody*)
- # PIC is the default on this platform
- # Common symbols not allowed in MH_DYLIB files
- lt_prog_compiler_pic_F77='-fno-common'
- ;;
- interix[3-9]*)
- # Interix 3.x gcc -fpic/-fPIC options generate broken code.
- # Instead, we relocate shared libraries at runtime.
- ;;
- msdosdjgpp*)
- # Just because we use GCC doesn't mean we suddenly get shared libraries
- # on systems that don't support them.
- lt_prog_compiler_can_build_shared_F77=no
- enable_shared=no
- ;;
- sysv4*MP*)
- if test -d /usr/nec; then
- lt_prog_compiler_pic_F77=-Kconform_pic
- fi
- ;;
- hpux*)
- # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
- # not for PA HP-UX.
- case $host_cpu in
- hppa*64*|ia64*)
- # +Z the default
- ;;
- *)
- lt_prog_compiler_pic_F77='-fPIC'
- ;;
- esac
- ;;
- *)
- lt_prog_compiler_pic_F77='-fPIC'
- ;;
- esac
- else
- # PORTME Check for flag to pass linker flags through the system compiler.
- case $host_os in
- aix*)
- lt_prog_compiler_wl_F77='-Wl,'
- if test "$host_cpu" = ia64; then
- # AIX 5 now supports IA64 processor
- lt_prog_compiler_static_F77='-Bstatic'
- else
- lt_prog_compiler_static_F77='-bnso -bI:/lib/syscalls.exp'
- fi
- ;;
- darwin*)
- # PIC is the default on this platform
- # Common symbols not allowed in MH_DYLIB files
- case $cc_basename in
- xlc*)
- lt_prog_compiler_pic_F77='-qnocommon'
- lt_prog_compiler_wl_F77='-Wl,'
- ;;
- esac
- ;;
- mingw* | cygwin* | pw32* | os2*)
- # This hack is so that the source file can tell whether it is being
- # built for inclusion in a dll (and should export symbols for example).
- lt_prog_compiler_pic_F77='-DDLL_EXPORT'
- ;;
- hpux9* | hpux10* | hpux11*)
- lt_prog_compiler_wl_F77='-Wl,'
- # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
- # not for PA HP-UX.
- case $host_cpu in
- hppa*64*|ia64*)
- # +Z the default
- ;;
- *)
- lt_prog_compiler_pic_F77='+Z'
- ;;
- esac
- # Is there a better lt_prog_compiler_static that works with the bundled CC?
- lt_prog_compiler_static_F77='${wl}-a ${wl}archive'
- ;;
- irix5* | irix6* | nonstopux*)
- lt_prog_compiler_wl_F77='-Wl,'
- # PIC (with -KPIC) is the default.
- lt_prog_compiler_static_F77='-non_shared'
- ;;
- newsos6)
- lt_prog_compiler_pic_F77='-KPIC'
- lt_prog_compiler_static_F77='-Bstatic'
- ;;
- linux* | k*bsd*-gnu)
- case $cc_basename in
- icc* | ecc*)
- lt_prog_compiler_wl_F77='-Wl,'
- lt_prog_compiler_pic_F77='-KPIC'
- lt_prog_compiler_static_F77='-static'
- ;;
- pgcc* | pgf77* | pgf90* | pgf95*)
- # Portland Group compilers (*not* the Pentium gcc compiler,
- # which looks to be a dead project)
- lt_prog_compiler_wl_F77='-Wl,'
- lt_prog_compiler_pic_F77='-fpic'
- lt_prog_compiler_static_F77='-Bstatic'
- ;;
- ccc*)
- lt_prog_compiler_wl_F77='-Wl,'
- # All Alpha code is PIC.
- lt_prog_compiler_static_F77='-non_shared'
- ;;
- *)
- case `$CC -V 2>&1 | sed 5q` in
- *Sun\ C*)
- # Sun C 5.9
- lt_prog_compiler_pic_F77='-KPIC'
- lt_prog_compiler_static_F77='-Bstatic'
- lt_prog_compiler_wl_F77='-Wl,'
- ;;
- *Sun\ F*)
- # Sun Fortran 8.3 passes all unrecognized flags to the linker
- lt_prog_compiler_pic_F77='-KPIC'
- lt_prog_compiler_static_F77='-Bstatic'
- lt_prog_compiler_wl_F77=''
- ;;
- esac
- ;;
- esac
- ;;
- osf3* | osf4* | osf5*)
- lt_prog_compiler_wl_F77='-Wl,'
- # All OSF/1 code is PIC.
- lt_prog_compiler_static_F77='-non_shared'
- ;;
- rdos*)
- lt_prog_compiler_static_F77='-non_shared'
- ;;
- solaris*)
- lt_prog_compiler_pic_F77='-KPIC'
- lt_prog_compiler_static_F77='-Bstatic'
- case $cc_basename in
- f77* | f90* | f95*)
- lt_prog_compiler_wl_F77='-Qoption ld ';;
- *)
- lt_prog_compiler_wl_F77='-Wl,';;
- esac
- ;;
- sunos4*)
- lt_prog_compiler_wl_F77='-Qoption ld '
- lt_prog_compiler_pic_F77='-PIC'
- lt_prog_compiler_static_F77='-Bstatic'
- ;;
- sysv4 | sysv4.2uw2* | sysv4.3*)
- lt_prog_compiler_wl_F77='-Wl,'
- lt_prog_compiler_pic_F77='-KPIC'
- lt_prog_compiler_static_F77='-Bstatic'
- ;;
- sysv4*MP*)
- if test -d /usr/nec ;then
- lt_prog_compiler_pic_F77='-Kconform_pic'
- lt_prog_compiler_static_F77='-Bstatic'
- fi
- ;;
- sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
- lt_prog_compiler_wl_F77='-Wl,'
- lt_prog_compiler_pic_F77='-KPIC'
- lt_prog_compiler_static_F77='-Bstatic'
- ;;
- unicos*)
- lt_prog_compiler_wl_F77='-Wl,'
- lt_prog_compiler_can_build_shared_F77=no
- ;;
- uts4*)
- lt_prog_compiler_pic_F77='-pic'
- lt_prog_compiler_static_F77='-Bstatic'
- ;;
- *)
- lt_prog_compiler_can_build_shared_F77=no
- ;;
- esac
- fi
-{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_F77" >&5
-echo "${ECHO_T}$lt_prog_compiler_pic_F77" >&6; }
-#
-# Check to make sure the PIC flag actually works.
-#
-if test -n "$lt_prog_compiler_pic_F77"; then
-{ echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic_F77 works" >&5
-echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic_F77 works... $ECHO_C" >&6; }
-if test "${lt_prog_compiler_pic_works_F77+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- lt_prog_compiler_pic_works_F77=no
- ac_outfile=conftest.$ac_objext
- echo "$lt_simple_compile_test_code" > conftest.$ac_ext
- lt_compiler_flag="$lt_prog_compiler_pic_F77"
- # Insert the option either (1) after the last *FLAGS variable, or
- # (2) before a word containing "conftest.", or (3) at the end.
- # Note that $ac_compile itself does not contain backslashes and begins
- # with a dollar sign (not a hyphen), so the echo should work correctly.
- # The option is referenced via a variable to avoid confusing sed.
- lt_compile=`echo "$ac_compile" | $SED \
- -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
- -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
- -e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:14515: $lt_compile\"" >&5)
- (eval "$lt_compile" 2>conftest.err)
- ac_status=$?
- cat conftest.err >&5
- echo "$as_me:14519: \$? = $ac_status" >&5
- if (exit $ac_status) && test -s "$ac_outfile"; then
- # The compiler can only warn and ignore the option if not recognized
- # So say no if there are warnings other than the usual output.
- $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp
- $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
- if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
- lt_prog_compiler_pic_works_F77=yes
- fi
- fi
- $rm conftest*
-fi
-{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_works_F77" >&5
-echo "${ECHO_T}$lt_prog_compiler_pic_works_F77" >&6; }
-if test x"$lt_prog_compiler_pic_works_F77" = xyes; then
- case $lt_prog_compiler_pic_F77 in
- "" | " "*) ;;
- *) lt_prog_compiler_pic_F77=" $lt_prog_compiler_pic_F77" ;;
- esac
-else
- lt_prog_compiler_pic_F77=
- lt_prog_compiler_can_build_shared_F77=no
-fi
-fi
-case $host_os in
- # For platforms which do not support PIC, -DPIC is meaningless:
- *djgpp*)
- lt_prog_compiler_pic_F77=
- ;;
- *)
- lt_prog_compiler_pic_F77="$lt_prog_compiler_pic_F77"
- ;;
-esac
-#
-# Check to make sure the static flag actually works.
-#
-wl=$lt_prog_compiler_wl_F77 eval lt_tmp_static_flag=\"$lt_prog_compiler_static_F77\"
-{ echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5
-echo $ECHO_N "checking if $compiler static flag $lt_tmp_static_flag works... $ECHO_C" >&6; }
-if test "${lt_prog_compiler_static_works_F77+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- lt_prog_compiler_static_works_F77=no
- save_LDFLAGS="$LDFLAGS"
- LDFLAGS="$LDFLAGS $lt_tmp_static_flag"
- echo "$lt_simple_link_test_code" > conftest.$ac_ext
- if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
- # The linker can only warn and ignore the option if not recognized
- # So say no if there are warnings
- if test -s conftest.err; then
- # Append any errors to the config.log.
- cat conftest.err 1>&5
- $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp
- $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
- if diff conftest.exp conftest.er2 >/dev/null; then
- lt_prog_compiler_static_works_F77=yes
- fi
- else
- lt_prog_compiler_static_works_F77=yes
- fi
- fi
- $rm conftest*
- LDFLAGS="$save_LDFLAGS"
-fi
-{ echo "$as_me:$LINENO: result: $lt_prog_compiler_static_works_F77" >&5
-echo "${ECHO_T}$lt_prog_compiler_static_works_F77" >&6; }
-if test x"$lt_prog_compiler_static_works_F77" = xyes; then
- :
-else
- lt_prog_compiler_static_F77=
-fi
-{ echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5
-echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6; }
-if test "${lt_cv_prog_compiler_c_o_F77+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- lt_cv_prog_compiler_c_o_F77=no
- $rm -r conftest 2>/dev/null
- mkdir conftest
- cd conftest
- mkdir out
- echo "$lt_simple_compile_test_code" > conftest.$ac_ext
- lt_compiler_flag="-o out/conftest2.$ac_objext"
- # Insert the option either (1) after the last *FLAGS variable, or
- # (2) before a word containing "conftest.", or (3) at the end.
- # Note that $ac_compile itself does not contain backslashes and begins
- # with a dollar sign (not a hyphen), so the echo should work correctly.
- lt_compile=`echo "$ac_compile" | $SED \
- -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
- -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
- -e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:14619: $lt_compile\"" >&5)
- (eval "$lt_compile" 2>out/conftest.err)
- ac_status=$?
- cat out/conftest.err >&5
- echo "$as_me:14623: \$? = $ac_status" >&5
- if (exit $ac_status) && test -s out/conftest2.$ac_objext
- then
- # The compiler can only warn and ignore the option if not recognized
- # So say no if there are warnings
- $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp
- $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
- if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
- lt_cv_prog_compiler_c_o_F77=yes
- fi
- fi
- chmod u+w . 2>&5
- $rm conftest*
- # SGI C++ compiler will create directory out/ii_files/ for
- # template instantiation
- test -d out/ii_files && $rm out/ii_files/* && rmdir out/ii_files
- $rm out/* && rmdir out
- cd ..
- rmdir conftest
- $rm conftest*
-fi
-{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o_F77" >&5
-echo "${ECHO_T}$lt_cv_prog_compiler_c_o_F77" >&6; }
-hard_links="nottested"
-if test "$lt_cv_prog_compiler_c_o_F77" = no && test "$need_locks" != no; then
- # do not overwrite the value of need_locks provided by the user
- { echo "$as_me:$LINENO: checking if we can lock with hard links" >&5
-echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6; }
- hard_links=yes
- $rm conftest*
- ln conftest.a conftest.b 2>/dev/null && hard_links=no
- touch conftest.a
- ln conftest.a conftest.b 2>&5 || hard_links=no
- ln conftest.a conftest.b 2>/dev/null && hard_links=no
- { echo "$as_me:$LINENO: result: $hard_links" >&5
-echo "${ECHO_T}$hard_links" >&6; }
- if test "$hard_links" = no; then
- { echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5
-echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;}
- need_locks=warn
- fi
-else
- need_locks=no
-fi
-{ echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5
-echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6; }
- runpath_var=
- allow_undefined_flag_F77=
- enable_shared_with_static_runtimes_F77=no
- archive_cmds_F77=
- archive_expsym_cmds_F77=
- old_archive_From_new_cmds_F77=
- old_archive_from_expsyms_cmds_F77=
- export_dynamic_flag_spec_F77=
- whole_archive_flag_spec_F77=
- thread_safe_flag_spec_F77=
- hardcode_libdir_flag_spec_F77=
- hardcode_libdir_flag_spec_ld_F77=
- hardcode_libdir_separator_F77=
- hardcode_direct_F77=no
- hardcode_minus_L_F77=no
- hardcode_shlibpath_var_F77=unsupported
- link_all_deplibs_F77=unknown
- hardcode_automatic_F77=no
- module_cmds_F77=
- module_expsym_cmds_F77=
- always_export_symbols_F77=no
- export_symbols_cmds_F77='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
- # include_expsyms should be a list of space-separated symbols to be *always*
- # included in the symbol list
- include_expsyms_F77=
- # exclude_expsyms can be an extended regexp of symbols to exclude
- # it will be wrapped by ` (' and `)$', so one must not match beginning or
- # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc',
- # as well as any symbol that contains `d'.
- exclude_expsyms_F77="_GLOBAL_OFFSET_TABLE_"
- # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out
- # platforms (ab)use it in PIC code, but their linkers get confused if
- # the symbol is explicitly referenced. Since portable code cannot
- # rely on this symbol name, it's probably fine to never include it in
- # preloaded symbol tables.
- extract_expsyms_cmds=
- # Just being paranoid about ensuring that cc_basename is set.
- for cc_temp in $compiler""; do
- case $cc_temp in
- compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
- distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
- \-*) ;;
- *) break;;
- esac
-done
-cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
- case $host_os in
- cygwin* | mingw* | pw32*)
- # FIXME: the MSVC++ port hasn't been tested in a loooong time
- # When not using gcc, we currently assume that we are using
- # Microsoft Visual C++.
- if test "$GCC" != yes; then
- with_gnu_ld=no
- fi
- ;;
- interix*)
- # we just hope/assume this is gcc and not c89 (= MSVC++)
- with_gnu_ld=yes
- ;;
- openbsd*)
- with_gnu_ld=no
- ;;
- esac
- ld_shlibs_F77=yes
- if test "$with_gnu_ld" = yes; then
- # If archive_cmds runs LD, not CC, wlarc should be empty
- wlarc='${wl}'
+ { $as_echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5
+$as_echo_n "checking dynamic linker characteristics... " >&6; }
- # Set some defaults for GNU ld with shared library support. These
- # are reset later if shared libraries are not supported. Putting them
- # here allows them to be overridden if necessary.
- runpath_var=LD_RUN_PATH
- hardcode_libdir_flag_spec_F77='${wl}--rpath ${wl}$libdir'
- export_dynamic_flag_spec_F77='${wl}--export-dynamic'
- # ancient GNU ld didn't support --whole-archive et. al.
- if $LD --help 2>&1 | grep 'no-whole-archive' > /dev/null; then
- whole_archive_flag_spec_F77="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
- else
- whole_archive_flag_spec_F77=
- fi
- supports_anon_versioning=no
- case `$LD -v 2>/dev/null` in
- *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11
- *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ...
- *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ...
- *\ 2.11.*) ;; # other 2.11 versions
- *) supports_anon_versioning=yes ;;
- esac
-
- # See if GNU ld supports shared libraries.
- case $host_os in
- aix3* | aix4* | aix5*)
- # On AIX/PPC, the GNU linker is very broken
- if test "$host_cpu" != ia64; then
- ld_shlibs_F77=no
- cat <<EOF 1>&2
-
-*** Warning: the GNU linker, at least up to release 2.9.1, is reported
-*** to be unable to reliably create shared libraries on AIX.
-*** Therefore, libtool is disabling shared libraries support. If you
-*** really care for shared libraries, you may want to modify your PATH
-*** so that a non-GNU linker is found, and then restart.
-
-EOF
- fi
- ;;
-
- amigaos*)
- archive_cmds_F77='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
- hardcode_libdir_flag_spec_F77='-L$libdir'
- hardcode_minus_L_F77=yes
-
- # Samuel A. Falvo II <kc5tja@dolphin.openprojects.net> reports
- # that the semantics of dynamic libraries on AmigaOS, at least up
- # to version 4, is to share data among multiple programs linked
- # with the same dynamic library. Since this doesn't match the
- # behavior of shared libraries on other platforms, we can't use
- # them.
- ld_shlibs_F77=no
- ;;
-
- beos*)
- if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
- allow_undefined_flag_F77=unsupported
- # Joseph Beckenbach <jrb3@best.com> says some releases of gcc
- # support --undefined. This deserves some investigation. FIXME
- archive_cmds_F77='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- else
- ld_shlibs_F77=no
- fi
- ;;
-
- cygwin* | mingw* | pw32*)
- # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, F77) is actually meaningless,
- # as there is no search path for DLLs.
- hardcode_libdir_flag_spec_F77='-L$libdir'
- allow_undefined_flag_F77=unsupported
- always_export_symbols_F77=no
- enable_shared_with_static_runtimes_F77=yes
- export_symbols_cmds_F77='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/'\'' -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols'
-
- if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then
- archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
- # If the export-symbols file already is a .def file (1st line
- # is EXPORTS), use it as is; otherwise, prepend...
- archive_expsym_cmds_F77='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
- cp $export_symbols $output_objdir/$soname.def;
- else
- echo EXPORTS > $output_objdir/$soname.def;
- cat $export_symbols >> $output_objdir/$soname.def;
- fi~
- $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
- else
- ld_shlibs_F77=no
- fi
- ;;
-
- interix[3-9]*)
- hardcode_direct_F77=no
- hardcode_shlibpath_var_F77=no
- hardcode_libdir_flag_spec_F77='${wl}-rpath,$libdir'
- export_dynamic_flag_spec_F77='${wl}-E'
- # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
- # Instead, shared libraries are loaded at an image base (0x10000000 by
- # default) and relocated if they conflict, which is a slow very memory
- # consuming and fragmenting process. To avoid this, we pick a random,
- # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
- # time. Moving up from 0x10000000 also allows more sbrk(2) space.
- archive_cmds_F77='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
- archive_expsym_cmds_F77='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
- ;;
-
- gnu* | linux* | k*bsd*-gnu)
- if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
- tmp_addflag=
- case $cc_basename,$host_cpu in
- pgcc*) # Portland Group C compiler
- whole_archive_flag_spec_F77='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
- tmp_addflag=' $pic_flag'
- ;;
- pgf77* | pgf90* | pgf95*) # Portland Group f77 and f90 compilers
- whole_archive_flag_spec_F77='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
- tmp_addflag=' $pic_flag -Mnomain' ;;
- ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64
- tmp_addflag=' -i_dynamic' ;;
- efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64
- tmp_addflag=' -i_dynamic -nofor_main' ;;
- ifc* | ifort*) # Intel Fortran compiler
- tmp_addflag=' -nofor_main' ;;
- esac
- case `$CC -V 2>&1 | sed 5q` in
- *Sun\ C*) # Sun C 5.9
- whole_archive_flag_spec_F77='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
- tmp_sharedflag='-G' ;;
- *Sun\ F*) # Sun Fortran 8.3
- tmp_sharedflag='-G' ;;
- *)
- tmp_sharedflag='-shared' ;;
- esac
- archive_cmds_F77='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-
- if test $supports_anon_versioning = yes; then
- archive_expsym_cmds_F77='$echo "{ global:" > $output_objdir/$libname.ver~
- cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
- $echo "local: *; };" >> $output_objdir/$libname.ver~
- $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
- fi
- else
- ld_shlibs_F77=no
- fi
- ;;
-
- netbsd*)
- if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
- archive_cmds_F77='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
- wlarc=
- else
- archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- archive_expsym_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
- fi
- ;;
-
- solaris*)
- if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then
- ld_shlibs_F77=no
- cat <<EOF 1>&2
-
-*** Warning: The releases 2.8.* of the GNU linker cannot reliably
-*** create shared libraries on Solaris systems. Therefore, libtool
-*** is disabling shared libraries support. We urge you to upgrade GNU
-*** binutils to release 2.9.1 or newer. Another option is to modify
-*** your PATH or compiler configuration so that the native linker is
-*** used, and then restart.
-
-EOF
- elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
- archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- archive_expsym_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
- else
- ld_shlibs_F77=no
- fi
- ;;
-
- sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*)
- case `$LD -v 2>&1` in
- *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*)
- ld_shlibs_F77=no
- cat <<_LT_EOF 1>&2
-
-*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not
-*** reliably create shared libraries on SCO systems. Therefore, libtool
-*** is disabling shared libraries support. We urge you to upgrade GNU
-*** binutils to release 2.16.91.0.3 or newer. Another option is to modify
-*** your PATH or compiler configuration so that the native linker is
-*** used, and then restart.
-
-_LT_EOF
- ;;
- *)
- if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
- hardcode_libdir_flag_spec_F77='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`'
- archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib'
- archive_expsym_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname,-retain-symbols-file,$export_symbols -o $lib'
- else
- ld_shlibs_F77=no
- fi
- ;;
- esac
- ;;
-
- sunos4*)
- archive_cmds_F77='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags'
- wlarc=
- hardcode_direct_F77=yes
- hardcode_shlibpath_var_F77=no
- ;;
-
- *)
- if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
- archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- archive_expsym_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
- else
- ld_shlibs_F77=no
- fi
- ;;
- esac
-
- if test "$ld_shlibs_F77" = no; then
- runpath_var=
- hardcode_libdir_flag_spec_F77=
- export_dynamic_flag_spec_F77=
- whole_archive_flag_spec_F77=
- fi
- else
- # PORTME fill in a description of your system's linker (not GNU ld)
- case $host_os in
- aix3*)
- allow_undefined_flag_F77=unsupported
- always_export_symbols_F77=yes
- archive_expsym_cmds_F77='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname'
- # Note: this linker hardcodes the directories in LIBPATH if there
- # are no directories specified by -L.
- hardcode_minus_L_F77=yes
- if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then
- # Neither direct hardcoding nor static linking is supported with a
- # broken collect2.
- hardcode_direct_F77=unsupported
- fi
- ;;
-
- aix4* | aix5*)
- if test "$host_cpu" = ia64; then
- # On IA64, the linker does run time linking by default, so we don't
- # have to do anything special.
- aix_use_runtimelinking=no
- exp_sym_flag='-Bexport'
- no_entry_flag=""
- else
- # If we're using GNU nm, then we don't want the "-C" option.
- # -C means demangle to AIX nm, but means don't demangle with GNU nm
- if $NM -V 2>&1 | grep 'GNU' > /dev/null; then
- export_symbols_cmds_F77='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols'
- else
- export_symbols_cmds_F77='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols'
- fi
- aix_use_runtimelinking=no
-
- # Test if we are trying to use run time linking or normal
- # AIX style linking. If -brtl is somewhere in LDFLAGS, we
- # need to do runtime linking.
- case $host_os in aix4.[23]|aix4.[23].*|aix5*)
- for ld_flag in $LDFLAGS; do
- if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then
- aix_use_runtimelinking=yes
- break
- fi
- done
- ;;
- esac
-
- exp_sym_flag='-bexport'
- no_entry_flag='-bnoentry'
- fi
-
- # When large executables or shared objects are built, AIX ld can
- # have problems creating the table of contents. If linking a library
- # or program results in "error TOC overflow" add -mminimal-toc to
- # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not
- # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
-
- archive_cmds_F77=''
- hardcode_direct_F77=yes
- hardcode_libdir_separator_F77=':'
- link_all_deplibs_F77=yes
-
- if test "$GCC" = yes; then
- case $host_os in aix4.[012]|aix4.[012].*)
- # We only want to do this on AIX 4.2 and lower, the check
- # below for broken collect2 doesn't work under 4.3+
- collect2name=`${CC} -print-prog-name=collect2`
- if test -f "$collect2name" && \
- strings "$collect2name" | grep resolve_lib_name >/dev/null
- then
- # We have reworked collect2
- :
- else
- # We have old collect2
- hardcode_direct_F77=unsupported
- # It fails to find uninstalled libraries when the uninstalled
- # path is not listed in the libpath. Setting hardcode_minus_L
- # to unsupported forces relinking
- hardcode_minus_L_F77=yes
- hardcode_libdir_flag_spec_F77='-L$libdir'
- hardcode_libdir_separator_F77=
- fi
- ;;
- esac
- shared_flag='-shared'
- if test "$aix_use_runtimelinking" = yes; then
- shared_flag="$shared_flag "'${wl}-G'
- fi
- else
- # not using gcc
- if test "$host_cpu" = ia64; then
- # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
- # chokes on -Wl,-G. The following line is correct:
- shared_flag='-G'
- else
- if test "$aix_use_runtimelinking" = yes; then
- shared_flag='${wl}-G'
- else
- shared_flag='${wl}-bM:SRE'
- fi
- fi
- fi
-
- # It seems that -bexpall does not export symbols beginning with
- # underscore (_), so it is better to generate a list of symbols to export.
- always_export_symbols_F77=yes
- if test "$aix_use_runtimelinking" = yes; then
- # Warning - without using the other runtime loading flags (-brtl),
- # -berok will link without error, but may produce a broken library.
- allow_undefined_flag_F77='-berok'
- # Determine the default libpath from the value encoded in an empty executable.
- cat >conftest.$ac_ext <<_ACEOF
- program main
-
- end
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_link") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_f77_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest$ac_exeext &&
- $as_test_x conftest$ac_exeext; then
-
-lt_aix_libpath_sed='
- /Import File Strings/,/^$/ {
- /^0/ {
- s/^0 *\(.*\)$/\1/
- p
- }
- }'
-aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
-# Check for a 64-bit object if we didn't find anything.
-if test -z "$aix_libpath"; then
- aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
-fi
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
- conftest$ac_exeext conftest.$ac_ext
-if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
-
- hardcode_libdir_flag_spec_F77='${wl}-blibpath:$libdir:'"$aix_libpath"
- archive_expsym_cmds_F77="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
- else
- if test "$host_cpu" = ia64; then
- hardcode_libdir_flag_spec_F77='${wl}-R $libdir:/usr/lib:/lib'
- allow_undefined_flag_F77="-z nodefs"
- archive_expsym_cmds_F77="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols"
- else
- # Determine the default libpath from the value encoded in an empty executable.
- cat >conftest.$ac_ext <<_ACEOF
- program main
-
- end
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_link") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_f77_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest$ac_exeext &&
- $as_test_x conftest$ac_exeext; then
-
-lt_aix_libpath_sed='
- /Import File Strings/,/^$/ {
- /^0/ {
- s/^0 *\(.*\)$/\1/
- p
- }
- }'
-aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
-# Check for a 64-bit object if we didn't find anything.
-if test -z "$aix_libpath"; then
- aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
-fi
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
- conftest$ac_exeext conftest.$ac_ext
-if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
-
- hardcode_libdir_flag_spec_F77='${wl}-blibpath:$libdir:'"$aix_libpath"
- # Warning - without using the other run time loading flags,
- # -berok will link without error, but may produce a broken library.
- no_undefined_flag_F77=' ${wl}-bernotok'
- allow_undefined_flag_F77=' ${wl}-berok'
- # Exported symbols can be pulled into shared objects from archives
- whole_archive_flag_spec_F77='$convenience'
- archive_cmds_need_lc_F77=yes
- # This is similar to how AIX traditionally builds its shared libraries.
- archive_expsym_cmds_F77="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
- fi
- fi
- ;;
-
- amigaos*)
- archive_cmds_F77='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
- hardcode_libdir_flag_spec_F77='-L$libdir'
- hardcode_minus_L_F77=yes
- # see comment about different semantics on the GNU ld section
- ld_shlibs_F77=no
- ;;
-
- bsdi[45]*)
- export_dynamic_flag_spec_F77=-rdynamic
- ;;
-
- cygwin* | mingw* | pw32*)
- # When not using gcc, we currently assume that we are using
- # Microsoft Visual C++.
- # hardcode_libdir_flag_spec is actually meaningless, as there is
- # no search path for DLLs.
- hardcode_libdir_flag_spec_F77=' '
- allow_undefined_flag_F77=unsupported
- # Tell ltmain to make .lib files, not .a files.
- libext=lib
- # Tell ltmain to make .dll files, not .so files.
- shrext_cmds=".dll"
- # FIXME: Setting linknames here is a bad hack.
- archive_cmds_F77='$CC -o $lib $libobjs $compiler_flags `echo "$deplibs" | $SED -e '\''s/ -lc$//'\''` -link -dll~linknames='
- # The linker will automatically build a .lib file if we build a DLL.
- old_archive_From_new_cmds_F77='true'
- # FIXME: Should let the user specify the lib program.
- old_archive_cmds_F77='lib -OUT:$oldlib$oldobjs$old_deplibs'
- fix_srcfile_path_F77='`cygpath -w "$srcfile"`'
- enable_shared_with_static_runtimes_F77=yes
- ;;
-
- darwin* | rhapsody*)
- case $host_os in
- rhapsody* | darwin1.[012])
- allow_undefined_flag_F77='${wl}-undefined ${wl}suppress'
- ;;
- *) # Darwin 1.3 on
- if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then
- allow_undefined_flag_F77='${wl}-flat_namespace ${wl}-undefined ${wl}suppress'
- else
- case ${MACOSX_DEPLOYMENT_TARGET} in
- 10.[012])
- allow_undefined_flag_F77='${wl}-flat_namespace ${wl}-undefined ${wl}suppress'
- ;;
- 10.*)
- allow_undefined_flag_F77='${wl}-undefined ${wl}dynamic_lookup'
- ;;
- esac
- fi
- ;;
- esac
- archive_cmds_need_lc_F77=no
- hardcode_direct_F77=no
- hardcode_automatic_F77=yes
- hardcode_shlibpath_var_F77=unsupported
- whole_archive_flag_spec_F77=''
- link_all_deplibs_F77=yes
- if test "$GCC" = yes ; then
- output_verbose_link_cmd='echo'
- archive_cmds_F77='$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring'
- module_cmds_F77='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
- # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds
- archive_expsym_cmds_F77='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
- module_expsym_cmds_F77='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
- else
- case $cc_basename in
- xlc*)
- output_verbose_link_cmd='echo'
- archive_cmds_F77='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $xlcverstring'
- module_cmds_F77='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
- # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds
- archive_expsym_cmds_F77='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $xlcverstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
- module_expsym_cmds_F77='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
- ;;
- *)
- ld_shlibs_F77=no
- ;;
- esac
- fi
- ;;
-
- dgux*)
- archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- hardcode_libdir_flag_spec_F77='-L$libdir'
- hardcode_shlibpath_var_F77=no
- ;;
-
- freebsd1*)
- ld_shlibs_F77=no
- ;;
-
- # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor
- # support. Future versions do this automatically, but an explicit c++rt0.o
- # does not break anything, and helps significantly (at the cost of a little
- # extra space).
- freebsd2.2*)
- archive_cmds_F77='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o'
- hardcode_libdir_flag_spec_F77='-R$libdir'
- hardcode_direct_F77=yes
- hardcode_shlibpath_var_F77=no
- ;;
-
- # Unfortunately, older versions of FreeBSD 2 do not have this feature.
- freebsd2*)
- archive_cmds_F77='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
- hardcode_direct_F77=yes
- hardcode_minus_L_F77=yes
- hardcode_shlibpath_var_F77=no
- ;;
-
- # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
- freebsd* | dragonfly*)
- archive_cmds_F77='$CC -shared -o $lib $libobjs $deplibs $compiler_flags'
- hardcode_libdir_flag_spec_F77='-R$libdir'
- hardcode_direct_F77=yes
- hardcode_shlibpath_var_F77=no
- ;;
-
- hpux9*)
- if test "$GCC" = yes; then
- archive_cmds_F77='$rm $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
- else
- archive_cmds_F77='$rm $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
- fi
- hardcode_libdir_flag_spec_F77='${wl}+b ${wl}$libdir'
- hardcode_libdir_separator_F77=:
- hardcode_direct_F77=yes
-
- # hardcode_minus_L: Not really in the search PATH,
- # but as the default location of the library.
- hardcode_minus_L_F77=yes
- export_dynamic_flag_spec_F77='${wl}-E'
- ;;
-
- hpux10*)
- if test "$GCC" = yes -a "$with_gnu_ld" = no; then
- archive_cmds_F77='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
- else
- archive_cmds_F77='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
- fi
- if test "$with_gnu_ld" = no; then
- hardcode_libdir_flag_spec_F77='${wl}+b ${wl}$libdir'
- hardcode_libdir_separator_F77=:
-
- hardcode_direct_F77=yes
- export_dynamic_flag_spec_F77='${wl}-E'
-
- # hardcode_minus_L: Not really in the search PATH,
- # but as the default location of the library.
- hardcode_minus_L_F77=yes
- fi
- ;;
-
- hpux11*)
- if test "$GCC" = yes -a "$with_gnu_ld" = no; then
- case $host_cpu in
- hppa*64*)
- archive_cmds_F77='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- ia64*)
- archive_cmds_F77='$CC -shared ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- *)
- archive_cmds_F77='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- esac
- else
- case $host_cpu in
- hppa*64*)
- archive_cmds_F77='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- ia64*)
- archive_cmds_F77='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- *)
- archive_cmds_F77='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- esac
- fi
- if test "$with_gnu_ld" = no; then
- hardcode_libdir_flag_spec_F77='${wl}+b ${wl}$libdir'
- hardcode_libdir_separator_F77=:
-
- case $host_cpu in
- hppa*64*|ia64*)
- hardcode_libdir_flag_spec_ld_F77='+b $libdir'
- hardcode_direct_F77=no
- hardcode_shlibpath_var_F77=no
- ;;
- *)
- hardcode_direct_F77=yes
- export_dynamic_flag_spec_F77='${wl}-E'
-
- # hardcode_minus_L: Not really in the search PATH,
- # but as the default location of the library.
- hardcode_minus_L_F77=yes
- ;;
- esac
- fi
- ;;
-
- irix5* | irix6* | nonstopux*)
- if test "$GCC" = yes; then
- archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
- else
- archive_cmds_F77='$LD -shared $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
- hardcode_libdir_flag_spec_ld_F77='-rpath $libdir'
- fi
- hardcode_libdir_flag_spec_F77='${wl}-rpath ${wl}$libdir'
- hardcode_libdir_separator_F77=:
- link_all_deplibs_F77=yes
- ;;
-
- netbsd*)
- if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
- archive_cmds_F77='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out
- else
- archive_cmds_F77='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF
- fi
- hardcode_libdir_flag_spec_F77='-R$libdir'
- hardcode_direct_F77=yes
- hardcode_shlibpath_var_F77=no
- ;;
-
- newsos6)
- archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- hardcode_direct_F77=yes
- hardcode_libdir_flag_spec_F77='${wl}-rpath ${wl}$libdir'
- hardcode_libdir_separator_F77=:
- hardcode_shlibpath_var_F77=no
- ;;
-
- openbsd*)
- if test -f /usr/libexec/ld.so; then
- hardcode_direct_F77=yes
- hardcode_shlibpath_var_F77=no
- if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
- archive_cmds_F77='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
- archive_expsym_cmds_F77='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols'
- hardcode_libdir_flag_spec_F77='${wl}-rpath,$libdir'
- export_dynamic_flag_spec_F77='${wl}-E'
- else
- case $host_os in
- openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*)
- archive_cmds_F77='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
- hardcode_libdir_flag_spec_F77='-R$libdir'
- ;;
- *)
- archive_cmds_F77='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
- hardcode_libdir_flag_spec_F77='${wl}-rpath,$libdir'
- ;;
- esac
- fi
- else
- ld_shlibs_F77=no
- fi
- ;;
-
- os2*)
- hardcode_libdir_flag_spec_F77='-L$libdir'
- hardcode_minus_L_F77=yes
- allow_undefined_flag_F77=unsupported
- archive_cmds_F77='$echo "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$echo "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$echo DATA >> $output_objdir/$libname.def~$echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~$echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def'
- old_archive_From_new_cmds_F77='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def'
- ;;
-
- osf3*)
- if test "$GCC" = yes; then
- allow_undefined_flag_F77=' ${wl}-expect_unresolved ${wl}\*'
- archive_cmds_F77='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
- else
- allow_undefined_flag_F77=' -expect_unresolved \*'
- archive_cmds_F77='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
- fi
- hardcode_libdir_flag_spec_F77='${wl}-rpath ${wl}$libdir'
- hardcode_libdir_separator_F77=:
- ;;
-
- osf4* | osf5*) # as osf3* with the addition of -msym flag
- if test "$GCC" = yes; then
- allow_undefined_flag_F77=' ${wl}-expect_unresolved ${wl}\*'
- archive_cmds_F77='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
- hardcode_libdir_flag_spec_F77='${wl}-rpath ${wl}$libdir'
- else
- allow_undefined_flag_F77=' -expect_unresolved \*'
- archive_cmds_F77='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
- archive_expsym_cmds_F77='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; echo "-hidden">> $lib.exp~
- $LD -shared${allow_undefined_flag} -input $lib.exp $linker_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~$rm $lib.exp'
-
- # Both c and cxx compiler support -rpath directly
- hardcode_libdir_flag_spec_F77='-rpath $libdir'
- fi
- hardcode_libdir_separator_F77=:
- ;;
-
- solaris*)
- no_undefined_flag_F77=' -z text'
- if test "$GCC" = yes; then
- wlarc='${wl}'
- archive_cmds_F77='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
- archive_expsym_cmds_F77='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
- $CC -shared ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$rm $lib.exp'
- else
- wlarc=''
- archive_cmds_F77='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags'
- archive_expsym_cmds_F77='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
- $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp'
- fi
- hardcode_libdir_flag_spec_F77='-R$libdir'
- hardcode_shlibpath_var_F77=no
- case $host_os in
- solaris2.[0-5] | solaris2.[0-5].*) ;;
- *)
- # The compiler driver will combine and reorder linker options,
- # but understands `-z linker_flag'. GCC discards it without `$wl',
- # but is careful enough not to reorder.
- # Supported since Solaris 2.6 (maybe 2.5.1?)
- if test "$GCC" = yes; then
- whole_archive_flag_spec_F77='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
- else
- whole_archive_flag_spec_F77='-z allextract$convenience -z defaultextract'
- fi
- ;;
- esac
- link_all_deplibs_F77=yes
- ;;
-
- sunos4*)
- if test "x$host_vendor" = xsequent; then
- # Use $CC to link under sequent, because it throws in some extra .o
- # files that make .init and .fini sections work.
- archive_cmds_F77='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags'
- else
- archive_cmds_F77='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags'
- fi
- hardcode_libdir_flag_spec_F77='-L$libdir'
- hardcode_direct_F77=yes
- hardcode_minus_L_F77=yes
- hardcode_shlibpath_var_F77=no
- ;;
-
- sysv4)
- case $host_vendor in
- sni)
- archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- hardcode_direct_F77=yes # is this really true???
- ;;
- siemens)
- ## LD is ld it makes a PLAMLIB
- ## CC just makes a GrossModule.
- archive_cmds_F77='$LD -G -o $lib $libobjs $deplibs $linker_flags'
- reload_cmds_F77='$CC -r -o $output$reload_objs'
- hardcode_direct_F77=no
- ;;
- motorola)
- archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- hardcode_direct_F77=no #Motorola manual says yes, but my tests say they lie
- ;;
- esac
- runpath_var='LD_RUN_PATH'
- hardcode_shlibpath_var_F77=no
- ;;
-
- sysv4.3*)
- archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- hardcode_shlibpath_var_F77=no
- export_dynamic_flag_spec_F77='-Bexport'
- ;;
-
- sysv4*MP*)
- if test -d /usr/nec; then
- archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- hardcode_shlibpath_var_F77=no
- runpath_var=LD_RUN_PATH
- hardcode_runpath_var=yes
- ld_shlibs_F77=yes
- fi
- ;;
-
- sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*)
- no_undefined_flag_F77='${wl}-z,text'
- archive_cmds_need_lc_F77=no
- hardcode_shlibpath_var_F77=no
- runpath_var='LD_RUN_PATH'
-
- if test "$GCC" = yes; then
- archive_cmds_F77='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- archive_expsym_cmds_F77='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- else
- archive_cmds_F77='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- archive_expsym_cmds_F77='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- fi
- ;;
-
- sysv5* | sco3.2v5* | sco5v6*)
- # Note: We can NOT use -z defs as we might desire, because we do not
- # link with -lc, and that would cause any symbols used from libc to
- # always be unresolved, which means just about no library would
- # ever link correctly. If we're not using GNU ld we use -z text
- # though, which does catch some bad symbols but isn't as heavy-handed
- # as -z defs.
- no_undefined_flag_F77='${wl}-z,text'
- allow_undefined_flag_F77='${wl}-z,nodefs'
- archive_cmds_need_lc_F77=no
- hardcode_shlibpath_var_F77=no
- hardcode_libdir_flag_spec_F77='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`'
- hardcode_libdir_separator_F77=':'
- link_all_deplibs_F77=yes
- export_dynamic_flag_spec_F77='${wl}-Bexport'
- runpath_var='LD_RUN_PATH'
-
- if test "$GCC" = yes; then
- archive_cmds_F77='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
- archive_expsym_cmds_F77='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
- else
- archive_cmds_F77='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
- archive_expsym_cmds_F77='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
- fi
- ;;
-
- uts4*)
- archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- hardcode_libdir_flag_spec_F77='-L$libdir'
- hardcode_shlibpath_var_F77=no
- ;;
-
- *)
- ld_shlibs_F77=no
- ;;
- esac
- fi
-
-{ echo "$as_me:$LINENO: result: $ld_shlibs_F77" >&5
-echo "${ECHO_T}$ld_shlibs_F77" >&6; }
-test "$ld_shlibs_F77" = no && can_build_shared=no
-
-#
-# Do we need to explicitly link libc?
-#
-case "x$archive_cmds_need_lc_F77" in
-x|xyes)
- # Assume -lc should be added
- archive_cmds_need_lc_F77=yes
-
- if test "$enable_shared" = yes && test "$GCC" = yes; then
- case $archive_cmds_F77 in
- *'~'*)
- # FIXME: we may have to deal with multi-command sequences.
- ;;
- '$CC '*)
- # Test whether the compiler implicitly links with -lc since on some
- # systems, -lgcc has to come before -lc. If gcc already passes -lc
- # to ld, don't add -lc before -lgcc.
- { echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5
-echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6; }
- $rm conftest*
- echo "$lt_simple_compile_test_code" > conftest.$ac_ext
-
- if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } 2>conftest.err; then
- soname=conftest
- lib=conftest
- libobjs=conftest.$ac_objext
- deplibs=
- wl=$lt_prog_compiler_wl_F77
- pic_flag=$lt_prog_compiler_pic_F77
- compiler_flags=-v
- linker_flags=-v
- verstring=
- output_objdir=.
- libname=conftest
- lt_save_allow_undefined_flag=$allow_undefined_flag_F77
- allow_undefined_flag_F77=
- if { (eval echo "$as_me:$LINENO: \"$archive_cmds_F77 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1\"") >&5
- (eval $archive_cmds_F77 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }
- then
- archive_cmds_need_lc_F77=no
- else
- archive_cmds_need_lc_F77=yes
- fi
- allow_undefined_flag_F77=$lt_save_allow_undefined_flag
- else
- cat conftest.err 1>&5
- fi
- $rm conftest*
- { echo "$as_me:$LINENO: result: $archive_cmds_need_lc_F77" >&5
-echo "${ECHO_T}$archive_cmds_need_lc_F77" >&6; }
- ;;
- esac
- fi
- ;;
-esac
-
-{ echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5
-echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6; }
library_names_spec=
libname_spec='lib$name'
soname_spec=
@@ -15710,7 +14969,6 @@ shlibpath_overrides_runpath=unknown
version_type=none
dynamic_linker="$host_os ld.so"
sys_lib_dlsearch_path_spec="/lib /usr/lib"
-
need_lib_prefix=unknown
hardcode_into_libs=no
@@ -15728,7 +14986,7 @@ aix3*)
soname_spec='${libname}${release}${shared_ext}$major'
;;
-aix4* | aix5*)
+aix[4-9]*)
version_type=linux
need_lib_prefix=no
need_version=no
@@ -15747,7 +15005,7 @@ aix4* | aix5*)
aix4 | aix4.[01] | aix4.[01].*)
if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
echo ' yes '
- echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then
+ echo '#endif'; } | ${CC} -E - | $GREP yes > /dev/null; then
:
else
can_build_shared=no
@@ -15773,9 +15031,18 @@ aix4* | aix5*)
;;
amigaos*)
- library_names_spec='$libname.ixlibrary $libname.a'
- # Create ${libname}_ixlibrary.a entries in /sys/libs.
- finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'
+ case $host_cpu in
+ powerpc)
+ # Since July 2007 AmigaOS4 officially supports .so libraries.
+ # When compiling the executable, add -use-dynld -Lsobjs: to the compileline.
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ ;;
+ m68k)
+ library_names_spec='$libname.ixlibrary $libname.a'
+ # Create ${libname}_ixlibrary.a entries in /sys/libs.
+ finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$ECHO "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'
+ ;;
+ esac
;;
beos*)
@@ -15798,25 +15065,28 @@ bsdi[45]*)
# libtool to hard-code these into programs
;;
-cygwin* | mingw* | pw32*)
+cygwin* | mingw* | pw32* | cegcc*)
version_type=windows
shrext_cmds=".dll"
need_version=no
need_lib_prefix=no
case $GCC,$host_os in
- yes,cygwin* | yes,mingw* | yes,pw32*)
+ yes,cygwin* | yes,mingw* | yes,pw32* | yes,cegcc*)
library_names_spec='$libname.dll.a'
# DLL is installed to $(libdir)/../bin by postinstall_cmds
postinstall_cmds='base_file=`basename \${file}`~
- dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo \$dlname'\''`~
+ dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~
dldir=$destdir/`dirname \$dlpath`~
test -d \$dldir || mkdir -p \$dldir~
$install_prog $dir/$dlname \$dldir/$dlname~
- chmod a+x \$dldir/$dlname'
+ chmod a+x \$dldir/$dlname~
+ if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then
+ eval '\''$striplib \$dldir/$dlname'\'' || exit \$?;
+ fi'
postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
dlpath=$dir/\$dldll~
- $rm \$dlpath'
+ $RM \$dlpath'
shlibpath_overrides_runpath=yes
case $host_os in
@@ -15825,20 +15095,20 @@ cygwin* | mingw* | pw32*)
soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib"
;;
- mingw*)
+ mingw* | cegcc*)
# MinGW DLLs use traditional 'lib' prefix
soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
- sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"`
- if echo "$sys_lib_search_path_spec" | grep ';[c-zC-Z]:/' >/dev/null; then
+ sys_lib_search_path_spec=`$CC -print-search-dirs | $GREP "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"`
+ if $ECHO "$sys_lib_search_path_spec" | $GREP ';[c-zC-Z]:/' >/dev/null; then
# It is most probably a Windows format PATH printed by
# mingw gcc, but we are running on Cygwin. Gcc prints its search
# path with ; separators, and with drive letters. We can handle the
# drive letters (cygwin fileutils understands them), so leave them,
# especially as we might pass files found there to a mingw objdump,
# which wouldn't understand a cygwinified path. Ahh.
- sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
+ sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
else
- sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
+ sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
fi
;;
pw32*)
@@ -15862,7 +15132,7 @@ darwin* | rhapsody*)
version_type=darwin
need_lib_prefix=no
need_version=no
- library_names_spec='${libname}${release}${versuffix}$shared_ext ${libname}${release}${major}$shared_ext ${libname}$shared_ext'
+ library_names_spec='${libname}${release}${major}$shared_ext ${libname}$shared_ext'
soname_spec='${libname}${release}${major}$shared_ext'
shlibpath_overrides_runpath=yes
shlibpath_var=DYLD_LIBRARY_PATH
@@ -15960,18 +15230,18 @@ hpux9* | hpux10* | hpux11*)
fi
sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
;;
- hppa*64*)
- shrext_cmds='.sl'
- hardcode_into_libs=yes
- dynamic_linker="$host_os dld.sl"
- shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
- shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64"
- sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
- ;;
- *)
+ hppa*64*)
+ shrext_cmds='.sl'
+ hardcode_into_libs=yes
+ dynamic_linker="$host_os dld.sl"
+ shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
+ shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64"
+ sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
+ ;;
+ *)
shrext_cmds='.sl'
dynamic_linker="$host_os dld.sl"
shlibpath_var=SHLIB_PATH
@@ -16048,17 +15318,73 @@ linux* | k*bsd*-gnu)
finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
shlibpath_var=LD_LIBRARY_PATH
shlibpath_overrides_runpath=no
+ # Some binutils ld are patched to set DT_RUNPATH
+ save_LDFLAGS=$LDFLAGS
+ save_libdir=$libdir
+ eval "libdir=/foo; wl=\"$lt_prog_compiler_wl_CXX\"; \
+ LDFLAGS=\"\$LDFLAGS $hardcode_libdir_flag_spec_CXX\""
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_cxx_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
+ if ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null; then
+ shlibpath_overrides_runpath=yes
+fi
+
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+ LDFLAGS=$save_LDFLAGS
+ libdir=$save_libdir
+
# This implies no fast_install, which is unacceptable.
# Some rework will be needed to allow for fast_install
# before this can be enabled.
hardcode_into_libs=yes
- sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}"
- sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}"
# Append ld.so.conf contents to the search path
if test -f /etc/ld.so.conf; then
- lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '`
- sys_lib_dlsearch_path_spec="$sys_lib_dlsearch_path_spec $lt_ld_extra"
+ lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '`
+ sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
fi
# We used to test for /lib/ld.so.1 and disable shared libraries on
@@ -16070,11 +15396,23 @@ linux* | k*bsd*-gnu)
dynamic_linker='GNU/Linux ld.so'
;;
+netbsdelf*-gnu)
+ version_type=linux
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=no
+ hardcode_into_libs=yes
+ dynamic_linker='NetBSD ld.elf_so'
+ ;;
+
netbsd*)
version_type=sunos
need_lib_prefix=no
need_version=no
- if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
+ if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
dynamic_linker='NetBSD (a.out) ld.so'
@@ -16095,14 +15433,16 @@ newsos6)
shlibpath_overrides_runpath=yes
;;
-nto-qnx*)
- version_type=linux
+*nto* | *qnx*)
+ version_type=qnx
need_lib_prefix=no
need_version=no
library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
soname_spec='${libname}${release}${shared_ext}$major'
shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=yes
+ shlibpath_overrides_runpath=no
+ hardcode_into_libs=yes
+ dynamic_linker='ldqnx.so'
;;
openbsd*)
@@ -16111,13 +15451,13 @@ openbsd*)
need_lib_prefix=no
# Some older versions of OpenBSD (3.3 at least) *do* need versioned libs.
case $host_os in
- openbsd3.3 | openbsd3.3.*) need_version=yes ;;
- *) need_version=no ;;
+ openbsd3.3 | openbsd3.3.*) need_version=yes ;;
+ *) need_version=no ;;
esac
library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
shlibpath_var=LD_LIBRARY_PATH
- if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+ if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
case $host_os in
openbsd2.[89] | openbsd2.[89].*)
shlibpath_overrides_runpath=no
@@ -16189,7 +15529,6 @@ sysv4 | sysv4.3*)
sni)
shlibpath_overrides_runpath=no
need_lib_prefix=no
- export_dynamic_flag_spec='${wl}-Blargedynsym'
runpath_var=LD_RUN_PATH
;;
siemens)
@@ -16220,13 +15559,12 @@ sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
soname_spec='${libname}${release}${shared_ext}$major'
shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=yes
hardcode_into_libs=yes
if test "$with_gnu_ld" = yes; then
sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib'
- shlibpath_overrides_runpath=no
else
sys_lib_search_path_spec='/usr/ccs/lib /usr/lib'
- shlibpath_overrides_runpath=yes
case $host_os in
sco3.2v5*)
sys_lib_search_path_spec="$sys_lib_search_path_spec /lib"
@@ -16236,6 +15574,17 @@ sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
sys_lib_dlsearch_path_spec='/usr/lib'
;;
+tpf*)
+ # TPF is a cross-target only. Preferred cross-host = GNU/Linux.
+ version_type=linux
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=no
+ hardcode_into_libs=yes
+ ;;
+
uts4*)
version_type=linux
library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
@@ -16247,8 +15596,8 @@ uts4*)
dynamic_linker=no
;;
esac
-{ echo "$as_me:$LINENO: result: $dynamic_linker" >&5
-echo "${ECHO_T}$dynamic_linker" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $dynamic_linker" >&5
+$as_echo "$dynamic_linker" >&6; }
test "$dynamic_linker" = no && can_build_shared=no
variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
@@ -16256,452 +15605,104 @@ if test "$GCC" = yes; then
variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
fi
-{ echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5
-echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6; }
-hardcode_action_F77=
-if test -n "$hardcode_libdir_flag_spec_F77" || \
- test -n "$runpath_var_F77" || \
- test "X$hardcode_automatic_F77" = "Xyes" ; then
-
- # We can hardcode non-existant directories.
- if test "$hardcode_direct_F77" != no &&
- # If the only mechanism to avoid hardcoding is shlibpath_var, we
- # have to relink, otherwise we might link with an installed library
- # when we should be linking with a yet-to-be-installed one
- ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, F77)" != no &&
- test "$hardcode_minus_L_F77" != no; then
- # Linking always hardcodes the temporary library directory.
- hardcode_action_F77=relink
- else
- # We can link without hardcoding, and we can hardcode nonexisting dirs.
- hardcode_action_F77=immediate
- fi
-else
- # We cannot hardcode anything, or else we can only hardcode existing
- # directories.
- hardcode_action_F77=unsupported
+if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then
+ sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec"
fi
-{ echo "$as_me:$LINENO: result: $hardcode_action_F77" >&5
-echo "${ECHO_T}$hardcode_action_F77" >&6; }
-
-if test "$hardcode_action_F77" = relink; then
- # Fast installation is not supported
- enable_fast_install=no
-elif test "$shlibpath_overrides_runpath" = yes ||
- test "$enable_shared" = no; then
- # Fast installation is not necessary
- enable_fast_install=needless
+if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then
+ sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec"
fi
-# The else clause should only fire when bootstrapping the
-# libtool distribution, otherwise you forgot to ship ltmain.sh
-# with your package, and you will get complaints that there are
-# no rules to generate ltmain.sh.
-if test -f "$ltmain"; then
- # See if we are running on zsh, and set the options which allow our commands through
- # without removal of \ escapes.
- if test -n "${ZSH_VERSION+set}" ; then
- setopt NO_GLOB_SUBST
- fi
- # Now quote all the things that may contain metacharacters while being
- # careful not to overquote the AC_SUBSTed values. We take copies of the
- # variables and quote the copies for generation of the libtool script.
- for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC LTCFLAGS NM \
- SED SHELL STRIP \
- libname_spec library_names_spec soname_spec extract_expsyms_cmds \
- old_striplib striplib file_magic_cmd finish_cmds finish_eval \
- deplibs_check_method reload_flag reload_cmds need_locks \
- lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \
- lt_cv_sys_global_symbol_to_c_name_address \
- sys_lib_search_path_spec sys_lib_dlsearch_path_spec \
- old_postinstall_cmds old_postuninstall_cmds \
- compiler_F77 \
- CC_F77 \
- LD_F77 \
- lt_prog_compiler_wl_F77 \
- lt_prog_compiler_pic_F77 \
- lt_prog_compiler_static_F77 \
- lt_prog_compiler_no_builtin_flag_F77 \
- export_dynamic_flag_spec_F77 \
- thread_safe_flag_spec_F77 \
- whole_archive_flag_spec_F77 \
- enable_shared_with_static_runtimes_F77 \
- old_archive_cmds_F77 \
- old_archive_from_new_cmds_F77 \
- predep_objects_F77 \
- postdep_objects_F77 \
- predeps_F77 \
- postdeps_F77 \
- compiler_lib_search_path_F77 \
- archive_cmds_F77 \
- archive_expsym_cmds_F77 \
- postinstall_cmds_F77 \
- postuninstall_cmds_F77 \
- old_archive_from_expsyms_cmds_F77 \
- allow_undefined_flag_F77 \
- no_undefined_flag_F77 \
- export_symbols_cmds_F77 \
- hardcode_libdir_flag_spec_F77 \
- hardcode_libdir_flag_spec_ld_F77 \
- hardcode_libdir_separator_F77 \
- hardcode_automatic_F77 \
- module_cmds_F77 \
- module_expsym_cmds_F77 \
- lt_cv_prog_compiler_c_o_F77 \
- fix_srcfile_path_F77 \
- exclude_expsyms_F77 \
- include_expsyms_F77; do
-
- case $var in
- old_archive_cmds_F77 | \
- old_archive_from_new_cmds_F77 | \
- archive_cmds_F77 | \
- archive_expsym_cmds_F77 | \
- module_cmds_F77 | \
- module_expsym_cmds_F77 | \
- old_archive_from_expsyms_cmds_F77 | \
- export_symbols_cmds_F77 | \
- extract_expsyms_cmds | reload_cmds | finish_cmds | \
- postinstall_cmds | postuninstall_cmds | \
- old_postinstall_cmds | old_postuninstall_cmds | \
- sys_lib_search_path_spec | sys_lib_dlsearch_path_spec)
- # Double-quote double-evaled strings.
- eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\""
- ;;
- *)
- eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\""
- ;;
- esac
- done
-
- case $lt_echo in
- *'\$0 --fallback-echo"')
- lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\$0 --fallback-echo"$/$0 --fallback-echo"/'`
- ;;
- esac
-
-cfgfile="$ofile"
-
- cat <<__EOF__ >> "$cfgfile"
-# ### BEGIN LIBTOOL TAG CONFIG: $tagname
-
-# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
-
-# Shell to use when invoking shell scripts.
-SHELL=$lt_SHELL
-
-# Whether or not to build shared libraries.
-build_libtool_libs=$enable_shared
-
-# Whether or not to build static libraries.
-build_old_libs=$enable_static
-
-# Whether or not to add -lc for building shared libraries.
-build_libtool_need_lc=$archive_cmds_need_lc_F77
-
-# Whether or not to disallow shared libs when runtime libs are static
-allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_F77
-
-# Whether or not to optimize for fast installation.
-fast_install=$enable_fast_install
-
-# The host system.
-host_alias=$host_alias
-host=$host
-host_os=$host_os
-
-# The build system.
-build_alias=$build_alias
-build=$build
-build_os=$build_os
-
-# An echo program that does not interpret backslashes.
-echo=$lt_echo
-
-# The archiver.
-AR=$lt_AR
-AR_FLAGS=$lt_AR_FLAGS
-
-# A C compiler.
-LTCC=$lt_LTCC
-
-# LTCC compiler flags.
-LTCFLAGS=$lt_LTCFLAGS
-
-# A language-specific compiler.
-CC=$lt_compiler_F77
-
-# Is the compiler the GNU C compiler?
-with_gcc=$GCC_F77
-
-# An ERE matcher.
-EGREP=$lt_EGREP
-
-# The linker used to build libraries.
-LD=$lt_LD_F77
-
-# Whether we need hard or soft links.
-LN_S=$lt_LN_S
-
-# A BSD-compatible nm program.
-NM=$lt_NM
-
-# A symbol stripping program
-STRIP=$lt_STRIP
-
-# Used to examine libraries when file_magic_cmd begins "file"
-MAGIC_CMD=$MAGIC_CMD
-
-# Used on cygwin: DLL creation program.
-DLLTOOL="$DLLTOOL"
-
-# Used on cygwin: object dumper.
-OBJDUMP="$OBJDUMP"
-
-# Used on cygwin: assembler.
-AS="$AS"
-
-# The name of the directory that contains temporary libtool files.
-objdir=$objdir
-
-# How to create reloadable object files.
-reload_flag=$lt_reload_flag
-reload_cmds=$lt_reload_cmds
-
-# How to pass a linker flag through the compiler.
-wl=$lt_lt_prog_compiler_wl_F77
-
-# Object file suffix (normally "o").
-objext="$ac_objext"
-
-# Old archive suffix (normally "a").
-libext="$libext"
-
-# Shared library suffix (normally ".so").
-shrext_cmds='$shrext_cmds'
-
-# Executable file suffix (normally "").
-exeext="$exeext"
-
-# Additional compiler flags for building library objects.
-pic_flag=$lt_lt_prog_compiler_pic_F77
-pic_mode=$pic_mode
-
-# What is the maximum length of a command?
-max_cmd_len=$lt_cv_sys_max_cmd_len
-
-# Does compiler simultaneously support -c and -o options?
-compiler_c_o=$lt_lt_cv_prog_compiler_c_o_F77
-
-# Must we lock files when doing compilation?
-need_locks=$lt_need_locks
-
-# Do we need the lib prefix for modules?
-need_lib_prefix=$need_lib_prefix
-
-# Do we need a version for libraries?
-need_version=$need_version
-
-# Whether dlopen is supported.
-dlopen_support=$enable_dlopen
-
-# Whether dlopen of programs is supported.
-dlopen_self=$enable_dlopen_self
-
-# Whether dlopen of statically linked programs is supported.
-dlopen_self_static=$enable_dlopen_self_static
-
-# Compiler flag to prevent dynamic linking.
-link_static_flag=$lt_lt_prog_compiler_static_F77
-
-# Compiler flag to turn off builtin functions.
-no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_F77
-
-# Compiler flag to allow reflexive dlopens.
-export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_F77
-
-# Compiler flag to generate shared objects directly from archives.
-whole_archive_flag_spec=$lt_whole_archive_flag_spec_F77
-
-# Compiler flag to generate thread-safe objects.
-thread_safe_flag_spec=$lt_thread_safe_flag_spec_F77
-
-# Library versioning type.
-version_type=$version_type
-
-# Format of library name prefix.
-libname_spec=$lt_libname_spec
-
-# List of archive names. First name is the real one, the rest are links.
-# The last name is the one that the linker finds with -lNAME.
-library_names_spec=$lt_library_names_spec
-
-# The coded name of the library, if different from the real name.
-soname_spec=$lt_soname_spec
-
-# Commands used to build and install an old-style archive.
-RANLIB=$lt_RANLIB
-old_archive_cmds=$lt_old_archive_cmds_F77
-old_postinstall_cmds=$lt_old_postinstall_cmds
-old_postuninstall_cmds=$lt_old_postuninstall_cmds
-# Create an old-style archive from a shared archive.
-old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_F77
-# Create a temporary old-style archive to link instead of a shared archive.
-old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_F77
-# Commands used to build and install a shared archive.
-archive_cmds=$lt_archive_cmds_F77
-archive_expsym_cmds=$lt_archive_expsym_cmds_F77
-postinstall_cmds=$lt_postinstall_cmds
-postuninstall_cmds=$lt_postuninstall_cmds
-# Commands used to build a loadable module (assumed same as above if empty)
-module_cmds=$lt_module_cmds_F77
-module_expsym_cmds=$lt_module_expsym_cmds_F77
-# Commands to strip libraries.
-old_striplib=$lt_old_striplib
-striplib=$lt_striplib
-
-# Dependencies to place before the objects being linked to create a
-# shared library.
-predep_objects=$lt_predep_objects_F77
-# Dependencies to place after the objects being linked to create a
-# shared library.
-postdep_objects=$lt_postdep_objects_F77
-# Dependencies to place before the objects being linked to create a
-# shared library.
-predeps=$lt_predeps_F77
-# Dependencies to place after the objects being linked to create a
-# shared library.
-postdeps=$lt_postdeps_F77
-# The library search path used internally by the compiler when linking
-# a shared library.
-compiler_lib_search_path=$lt_compiler_lib_search_path_F77
-# Method to check whether dependent libraries are shared objects.
-deplibs_check_method=$lt_deplibs_check_method
-
-# Command to use when deplibs_check_method == file_magic.
-file_magic_cmd=$lt_file_magic_cmd
-# Flag that allows shared libraries with undefined symbols to be built.
-allow_undefined_flag=$lt_allow_undefined_flag_F77
-# Flag that forces no undefined symbols.
-no_undefined_flag=$lt_no_undefined_flag_F77
-# Commands used to finish a libtool library installation in a directory.
-finish_cmds=$lt_finish_cmds
-# Same as above, but a single script fragment to be evaled but not shown.
-finish_eval=$lt_finish_eval
-# Take the output of nm and produce a listing of raw symbols and C names.
-global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe
-# Transform the output of nm in a proper C declaration
-global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl
-# Transform the output of nm in a C name address pair
-global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address
-# This is the shared library runtime path variable.
-runpath_var=$runpath_var
-# This is the shared library path variable.
-shlibpath_var=$shlibpath_var
-# Is shlibpath searched before the hard-coded library search path?
-shlibpath_overrides_runpath=$shlibpath_overrides_runpath
-# How to hardcode a shared library path into an executable.
-hardcode_action=$hardcode_action_F77
-# Whether we should hardcode library paths into libraries.
-hardcode_into_libs=$hardcode_into_libs
-# Flag to hardcode \$libdir into a binary during linking.
-# This must work even if \$libdir does not exist.
-hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_F77
-# If ld is used when linking, flag to hardcode \$libdir into
-# a binary during linking. This must work even if \$libdir does
-# not exist.
-hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld_F77
-# Whether we need a single -rpath flag with a separated argument.
-hardcode_libdir_separator=$lt_hardcode_libdir_separator_F77
-# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the
-# resulting binary.
-hardcode_direct=$hardcode_direct_F77
-# Set to yes if using the -LDIR flag during linking hardcodes DIR into the
-# resulting binary.
-hardcode_minus_L=$hardcode_minus_L_F77
-# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into
-# the resulting binary.
-hardcode_shlibpath_var=$hardcode_shlibpath_var_F77
-# Set to yes if building a shared library automatically hardcodes DIR into the library
-# and all subsequent libraries and executables linked against it.
-hardcode_automatic=$hardcode_automatic_F77
-# Variables whose values should be saved in libtool wrapper scripts and
-# restored at relink time.
-variables_saved_for_relink="$variables_saved_for_relink"
-# Whether libtool must link a program against all its dependency libraries.
-link_all_deplibs=$link_all_deplibs_F77
-# Compile-time system search path for libraries
-sys_lib_search_path_spec=$lt_sys_lib_search_path_spec
-# Run-time system search path for libraries
-sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec
-# Fix the shell variable \$srcfile for the compiler.
-fix_srcfile_path=$lt_fix_srcfile_path
+ { $as_echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5
+$as_echo_n "checking how to hardcode library paths into programs... " >&6; }
+hardcode_action_CXX=
+if test -n "$hardcode_libdir_flag_spec_CXX" ||
+ test -n "$runpath_var_CXX" ||
+ test "X$hardcode_automatic_CXX" = "Xyes" ; then
-# Set to yes if exported symbols are required.
-always_export_symbols=$always_export_symbols_F77
+ # We can hardcode non-existent directories.
+ if test "$hardcode_direct_CXX" != no &&
+ # If the only mechanism to avoid hardcoding is shlibpath_var, we
+ # have to relink, otherwise we might link with an installed library
+ # when we should be linking with a yet-to-be-installed one
+ ## test "$_LT_TAGVAR(hardcode_shlibpath_var, CXX)" != no &&
+ test "$hardcode_minus_L_CXX" != no; then
+ # Linking always hardcodes the temporary library directory.
+ hardcode_action_CXX=relink
+ else
+ # We can link without hardcoding, and we can hardcode nonexisting dirs.
+ hardcode_action_CXX=immediate
+ fi
+else
+ # We cannot hardcode anything, or else we can only hardcode existing
+ # directories.
+ hardcode_action_CXX=unsupported
+fi
+{ $as_echo "$as_me:$LINENO: result: $hardcode_action_CXX" >&5
+$as_echo "$hardcode_action_CXX" >&6; }
-# The commands to list exported symbols.
-export_symbols_cmds=$lt_export_symbols_cmds_F77
+if test "$hardcode_action_CXX" = relink ||
+ test "$inherit_rpath_CXX" = yes; then
+ # Fast installation is not supported
+ enable_fast_install=no
+elif test "$shlibpath_overrides_runpath" = yes ||
+ test "$enable_shared" = no; then
+ # Fast installation is not necessary
+ enable_fast_install=needless
+fi
-# The commands to extract the exported symbol list from a shared archive.
-extract_expsyms_cmds=$lt_extract_expsyms_cmds
-# Symbols that should not be listed in the preloaded symbols.
-exclude_expsyms=$lt_exclude_expsyms_F77
-# Symbols that must always be exported.
-include_expsyms=$lt_include_expsyms_F77
-# ### END LIBTOOL TAG CONFIG: $tagname
-__EOF__
-else
- # If there is no Makefile yet, we rely on a make rule to execute
- # `config.status --recheck' to rerun these tests and create the
- # libtool script then.
- ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'`
- if test -f "$ltmain_in"; then
- test -f Makefile && make "$ltmain"
- fi
-fi
+ fi # test -n "$compiler"
+ CC=$lt_save_CC
+ LDCXX=$LD
+ LD=$lt_save_LD
+ GCC=$lt_save_GCC
+ with_gnu_ld=$lt_save_with_gnu_ld
+ lt_cv_path_LDCXX=$lt_cv_path_LD
+ lt_cv_path_LD=$lt_save_path_LD
+ lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld
+ lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld
+fi # test "$_lt_caught_CXX_error" != yes
ac_ext=cpp
ac_cpp='$CXXCPP $CPPFLAGS'
@@ -16709,3173 +15710,195 @@ ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-CC="$lt_save_CC"
-
- else
- tagname=""
- fi
- ;;
- GCJ)
- if test -n "$GCJ" && test "X$GCJ" != "Xno"; then
-# Source file extension for Java test sources.
-ac_ext=java
-# Object file extension for compiled Java test sources.
-objext=o
-objext_GCJ=$objext
-# Code to be used in simple compile tests
-lt_simple_compile_test_code="class foo {}"
-# Code to be used in simple link tests
-lt_simple_link_test_code='public class conftest { public static void main(String[] argv) {}; }'
-# ltmain only uses $CC for tagged configurations so make sure $CC is set.
-# If no C compiler was specified, use CC.
-LTCC=${LTCC-"$CC"}
-# If no C compiler flags were specified, use CFLAGS.
-LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
-
-# Allow CC to be a program name with arguments.
-compiler=$CC
-
-
-# save warnings/boilerplate of simple test code
-ac_outfile=conftest.$ac_objext
-echo "$lt_simple_compile_test_code" >conftest.$ac_ext
-eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
-_lt_compiler_boilerplate=`cat conftest.err`
-$rm conftest*
-ac_outfile=conftest.$ac_objext
-echo "$lt_simple_link_test_code" >conftest.$ac_ext
-eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
-_lt_linker_boilerplate=`cat conftest.err`
-$rm conftest*
-# Allow CC to be a program name with arguments.
-lt_save_CC="$CC"
-CC=${GCJ-"gcj"}
-compiler=$CC
-compiler_GCJ=$CC
-for cc_temp in $compiler""; do
- case $cc_temp in
- compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
- distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
- \-*) ;;
- *) break;;
- esac
-done
-cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
+ ac_config_commands="$ac_config_commands libtool"
-# GCJ did not exist at the time GCC didn't implicitly link libc in.
-archive_cmds_need_lc_GCJ=no
-old_archive_cmds_GCJ=$old_archive_cmds
+# Only expand once:
-lt_prog_compiler_no_builtin_flag_GCJ=
-if test "$GCC" = yes; then
- lt_prog_compiler_no_builtin_flag_GCJ=' -fno-builtin'
-{ echo "$as_me:$LINENO: checking if $compiler supports -fno-rtti -fno-exceptions" >&5
-echo $ECHO_N "checking if $compiler supports -fno-rtti -fno-exceptions... $ECHO_C" >&6; }
-if test "${lt_cv_prog_compiler_rtti_exceptions+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- lt_cv_prog_compiler_rtti_exceptions=no
- ac_outfile=conftest.$ac_objext
- echo "$lt_simple_compile_test_code" > conftest.$ac_ext
- lt_compiler_flag="-fno-rtti -fno-exceptions"
- # Insert the option either (1) after the last *FLAGS variable, or
- # (2) before a word containing "conftest.", or (3) at the end.
- # Note that $ac_compile itself does not contain backslashes and begins
- # with a dollar sign (not a hyphen), so the echo should work correctly.
- # The option is referenced via a variable to avoid confusing sed.
- lt_compile=`echo "$ac_compile" | $SED \
- -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
- -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
- -e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:16808: $lt_compile\"" >&5)
- (eval "$lt_compile" 2>conftest.err)
- ac_status=$?
- cat conftest.err >&5
- echo "$as_me:16812: \$? = $ac_status" >&5
- if (exit $ac_status) && test -s "$ac_outfile"; then
- # The compiler can only warn and ignore the option if not recognized
- # So say no if there are warnings other than the usual output.
- $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp
- $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
- if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
- lt_cv_prog_compiler_rtti_exceptions=yes
- fi
- fi
- $rm conftest*
-
-fi
-{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_rtti_exceptions" >&5
-echo "${ECHO_T}$lt_cv_prog_compiler_rtti_exceptions" >&6; }
-
-if test x"$lt_cv_prog_compiler_rtti_exceptions" = xyes; then
- lt_prog_compiler_no_builtin_flag_GCJ="$lt_prog_compiler_no_builtin_flag_GCJ -fno-rtti -fno-exceptions"
-else
- :
-fi
-
-fi
-
-lt_prog_compiler_wl_GCJ=
-lt_prog_compiler_pic_GCJ=
-lt_prog_compiler_static_GCJ=
-
-{ echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5
-echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; }
-
- if test "$GCC" = yes; then
- lt_prog_compiler_wl_GCJ='-Wl,'
- lt_prog_compiler_static_GCJ='-static'
-
- case $host_os in
- aix*)
- # All AIX code is PIC.
- if test "$host_cpu" = ia64; then
- # AIX 5 now supports IA64 processor
- lt_prog_compiler_static_GCJ='-Bstatic'
- fi
- ;;
-
- amigaos*)
- # FIXME: we need at least 68020 code to build shared libraries, but
- # adding the `-m68020' flag to GCC prevents building anything better,
- # like `-m68040'.
- lt_prog_compiler_pic_GCJ='-m68020 -resident32 -malways-restore-a4'
- ;;
-
- beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
- # PIC is the default for these OSes.
- ;;
-
- mingw* | cygwin* | pw32* | os2*)
- # This hack is so that the source file can tell whether it is being
- # built for inclusion in a dll (and should export symbols for example).
- # Although the cygwin gcc ignores -fPIC, still need this for old-style
- # (--disable-auto-import) libraries
- lt_prog_compiler_pic_GCJ='-DDLL_EXPORT'
- ;;
-
- darwin* | rhapsody*)
- # PIC is the default on this platform
- # Common symbols not allowed in MH_DYLIB files
- lt_prog_compiler_pic_GCJ='-fno-common'
- ;;
-
- interix[3-9]*)
- # Interix 3.x gcc -fpic/-fPIC options generate broken code.
- # Instead, we relocate shared libraries at runtime.
- ;;
-
- msdosdjgpp*)
- # Just because we use GCC doesn't mean we suddenly get shared libraries
- # on systems that don't support them.
- lt_prog_compiler_can_build_shared_GCJ=no
- enable_shared=no
- ;;
-
- sysv4*MP*)
- if test -d /usr/nec; then
- lt_prog_compiler_pic_GCJ=-Kconform_pic
- fi
- ;;
-
- hpux*)
- # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
- # not for PA HP-UX.
- case $host_cpu in
- hppa*64*|ia64*)
- # +Z the default
- ;;
- *)
- lt_prog_compiler_pic_GCJ='-fPIC'
- ;;
- esac
- ;;
-
- *)
- lt_prog_compiler_pic_GCJ='-fPIC'
- ;;
- esac
- else
- # PORTME Check for flag to pass linker flags through the system compiler.
- case $host_os in
- aix*)
- lt_prog_compiler_wl_GCJ='-Wl,'
- if test "$host_cpu" = ia64; then
- # AIX 5 now supports IA64 processor
- lt_prog_compiler_static_GCJ='-Bstatic'
- else
- lt_prog_compiler_static_GCJ='-bnso -bI:/lib/syscalls.exp'
- fi
- ;;
- darwin*)
- # PIC is the default on this platform
- # Common symbols not allowed in MH_DYLIB files
- case $cc_basename in
- xlc*)
- lt_prog_compiler_pic_GCJ='-qnocommon'
- lt_prog_compiler_wl_GCJ='-Wl,'
- ;;
- esac
- ;;
-
- mingw* | cygwin* | pw32* | os2*)
- # This hack is so that the source file can tell whether it is being
- # built for inclusion in a dll (and should export symbols for example).
- lt_prog_compiler_pic_GCJ='-DDLL_EXPORT'
- ;;
-
- hpux9* | hpux10* | hpux11*)
- lt_prog_compiler_wl_GCJ='-Wl,'
- # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
- # not for PA HP-UX.
- case $host_cpu in
- hppa*64*|ia64*)
- # +Z the default
- ;;
- *)
- lt_prog_compiler_pic_GCJ='+Z'
- ;;
- esac
- # Is there a better lt_prog_compiler_static that works with the bundled CC?
- lt_prog_compiler_static_GCJ='${wl}-a ${wl}archive'
- ;;
-
- irix5* | irix6* | nonstopux*)
- lt_prog_compiler_wl_GCJ='-Wl,'
- # PIC (with -KPIC) is the default.
- lt_prog_compiler_static_GCJ='-non_shared'
- ;;
-
- newsos6)
- lt_prog_compiler_pic_GCJ='-KPIC'
- lt_prog_compiler_static_GCJ='-Bstatic'
- ;;
-
- linux* | k*bsd*-gnu)
- case $cc_basename in
- icc* | ecc*)
- lt_prog_compiler_wl_GCJ='-Wl,'
- lt_prog_compiler_pic_GCJ='-KPIC'
- lt_prog_compiler_static_GCJ='-static'
- ;;
- pgcc* | pgf77* | pgf90* | pgf95*)
- # Portland Group compilers (*not* the Pentium gcc compiler,
- # which looks to be a dead project)
- lt_prog_compiler_wl_GCJ='-Wl,'
- lt_prog_compiler_pic_GCJ='-fpic'
- lt_prog_compiler_static_GCJ='-Bstatic'
- ;;
- ccc*)
- lt_prog_compiler_wl_GCJ='-Wl,'
- # All Alpha code is PIC.
- lt_prog_compiler_static_GCJ='-non_shared'
- ;;
- *)
- case `$CC -V 2>&1 | sed 5q` in
- *Sun\ C*)
- # Sun C 5.9
- lt_prog_compiler_pic_GCJ='-KPIC'
- lt_prog_compiler_static_GCJ='-Bstatic'
- lt_prog_compiler_wl_GCJ='-Wl,'
- ;;
- *Sun\ F*)
- # Sun Fortran 8.3 passes all unrecognized flags to the linker
- lt_prog_compiler_pic_GCJ='-KPIC'
- lt_prog_compiler_static_GCJ='-Bstatic'
- lt_prog_compiler_wl_GCJ=''
- ;;
- esac
- ;;
- esac
- ;;
-
- osf3* | osf4* | osf5*)
- lt_prog_compiler_wl_GCJ='-Wl,'
- # All OSF/1 code is PIC.
- lt_prog_compiler_static_GCJ='-non_shared'
- ;;
-
- rdos*)
- lt_prog_compiler_static_GCJ='-non_shared'
- ;;
-
- solaris*)
- lt_prog_compiler_pic_GCJ='-KPIC'
- lt_prog_compiler_static_GCJ='-Bstatic'
- case $cc_basename in
- f77* | f90* | f95*)
- lt_prog_compiler_wl_GCJ='-Qoption ld ';;
- *)
- lt_prog_compiler_wl_GCJ='-Wl,';;
- esac
- ;;
-
- sunos4*)
- lt_prog_compiler_wl_GCJ='-Qoption ld '
- lt_prog_compiler_pic_GCJ='-PIC'
- lt_prog_compiler_static_GCJ='-Bstatic'
- ;;
-
- sysv4 | sysv4.2uw2* | sysv4.3*)
- lt_prog_compiler_wl_GCJ='-Wl,'
- lt_prog_compiler_pic_GCJ='-KPIC'
- lt_prog_compiler_static_GCJ='-Bstatic'
- ;;
-
- sysv4*MP*)
- if test -d /usr/nec ;then
- lt_prog_compiler_pic_GCJ='-Kconform_pic'
- lt_prog_compiler_static_GCJ='-Bstatic'
- fi
- ;;
-
- sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
- lt_prog_compiler_wl_GCJ='-Wl,'
- lt_prog_compiler_pic_GCJ='-KPIC'
- lt_prog_compiler_static_GCJ='-Bstatic'
- ;;
-
- unicos*)
- lt_prog_compiler_wl_GCJ='-Wl,'
- lt_prog_compiler_can_build_shared_GCJ=no
- ;;
-
- uts4*)
- lt_prog_compiler_pic_GCJ='-pic'
- lt_prog_compiler_static_GCJ='-Bstatic'
- ;;
-
- *)
- lt_prog_compiler_can_build_shared_GCJ=no
- ;;
- esac
- fi
-
-{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_GCJ" >&5
-echo "${ECHO_T}$lt_prog_compiler_pic_GCJ" >&6; }
-
-#
-# Check to make sure the PIC flag actually works.
-#
-if test -n "$lt_prog_compiler_pic_GCJ"; then
-
-{ echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic_GCJ works" >&5
-echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic_GCJ works... $ECHO_C" >&6; }
-if test "${lt_prog_compiler_pic_works_GCJ+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- lt_prog_compiler_pic_works_GCJ=no
- ac_outfile=conftest.$ac_objext
- echo "$lt_simple_compile_test_code" > conftest.$ac_ext
- lt_compiler_flag="$lt_prog_compiler_pic_GCJ"
- # Insert the option either (1) after the last *FLAGS variable, or
- # (2) before a word containing "conftest.", or (3) at the end.
- # Note that $ac_compile itself does not contain backslashes and begins
- # with a dollar sign (not a hyphen), so the echo should work correctly.
- # The option is referenced via a variable to avoid confusing sed.
- lt_compile=`echo "$ac_compile" | $SED \
- -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
- -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
- -e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:17098: $lt_compile\"" >&5)
- (eval "$lt_compile" 2>conftest.err)
- ac_status=$?
- cat conftest.err >&5
- echo "$as_me:17102: \$? = $ac_status" >&5
- if (exit $ac_status) && test -s "$ac_outfile"; then
- # The compiler can only warn and ignore the option if not recognized
- # So say no if there are warnings other than the usual output.
- $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp
- $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
- if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
- lt_prog_compiler_pic_works_GCJ=yes
- fi
- fi
- $rm conftest*
-
-fi
-{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_works_GCJ" >&5
-echo "${ECHO_T}$lt_prog_compiler_pic_works_GCJ" >&6; }
-
-if test x"$lt_prog_compiler_pic_works_GCJ" = xyes; then
- case $lt_prog_compiler_pic_GCJ in
- "" | " "*) ;;
- *) lt_prog_compiler_pic_GCJ=" $lt_prog_compiler_pic_GCJ" ;;
- esac
+ { $as_echo "$as_me:$LINENO: checking whether byte ordering is bigendian" >&5
+$as_echo_n "checking whether byte ordering is bigendian... " >&6; }
+if test "${ac_cv_c_bigendian+set}" = set; then
+ $as_echo_n "(cached) " >&6
else
- lt_prog_compiler_pic_GCJ=
- lt_prog_compiler_can_build_shared_GCJ=no
-fi
+ ac_cv_c_bigendian=unknown
+ # See if we're dealing with a universal compiler.
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#ifndef __APPLE_CC__
+ not a universal capable compiler
+ #endif
+ typedef int dummy;
-fi
-case $host_os in
- # For platforms which do not support PIC, -DPIC is meaningless:
- *djgpp*)
- lt_prog_compiler_pic_GCJ=
- ;;
- *)
- lt_prog_compiler_pic_GCJ="$lt_prog_compiler_pic_GCJ"
- ;;
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_cxx_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
-#
-# Check to make sure the static flag actually works.
-#
-wl=$lt_prog_compiler_wl_GCJ eval lt_tmp_static_flag=\"$lt_prog_compiler_static_GCJ\"
-{ echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5
-echo $ECHO_N "checking if $compiler static flag $lt_tmp_static_flag works... $ECHO_C" >&6; }
-if test "${lt_prog_compiler_static_works_GCJ+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- lt_prog_compiler_static_works_GCJ=no
- save_LDFLAGS="$LDFLAGS"
- LDFLAGS="$LDFLAGS $lt_tmp_static_flag"
- echo "$lt_simple_link_test_code" > conftest.$ac_ext
- if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
- # The linker can only warn and ignore the option if not recognized
- # So say no if there are warnings
- if test -s conftest.err; then
- # Append any errors to the config.log.
- cat conftest.err 1>&5
- $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp
- $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
- if diff conftest.exp conftest.er2 >/dev/null; then
- lt_prog_compiler_static_works_GCJ=yes
- fi
- else
- lt_prog_compiler_static_works_GCJ=yes
- fi
- fi
- $rm conftest*
- LDFLAGS="$save_LDFLAGS"
-
-fi
-{ echo "$as_me:$LINENO: result: $lt_prog_compiler_static_works_GCJ" >&5
-echo "${ECHO_T}$lt_prog_compiler_static_works_GCJ" >&6; }
-
-if test x"$lt_prog_compiler_static_works_GCJ" = xyes; then
- :
-else
- lt_prog_compiler_static_GCJ=
-fi
-
-
-{ echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5
-echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6; }
-if test "${lt_cv_prog_compiler_c_o_GCJ+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ # Check for potential -arch flags. It is not universal unless
+ # there are some -arch flags. Note that *ppc* also matches
+ # ppc64. This check is also rather less than ideal.
+ case "${CC} ${CFLAGS} ${CPPFLAGS} ${LDFLAGS}" in #(
+ *-arch*ppc*|*-arch*i386*|*-arch*x86_64*) ac_cv_c_bigendian=universal;;
+ esac
else
- lt_cv_prog_compiler_c_o_GCJ=no
- $rm -r conftest 2>/dev/null
- mkdir conftest
- cd conftest
- mkdir out
- echo "$lt_simple_compile_test_code" > conftest.$ac_ext
-
- lt_compiler_flag="-o out/conftest2.$ac_objext"
- # Insert the option either (1) after the last *FLAGS variable, or
- # (2) before a word containing "conftest.", or (3) at the end.
- # Note that $ac_compile itself does not contain backslashes and begins
- # with a dollar sign (not a hyphen), so the echo should work correctly.
- lt_compile=`echo "$ac_compile" | $SED \
- -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
- -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
- -e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:17202: $lt_compile\"" >&5)
- (eval "$lt_compile" 2>out/conftest.err)
- ac_status=$?
- cat out/conftest.err >&5
- echo "$as_me:17206: \$? = $ac_status" >&5
- if (exit $ac_status) && test -s out/conftest2.$ac_objext
- then
- # The compiler can only warn and ignore the option if not recognized
- # So say no if there are warnings
- $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp
- $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
- if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
- lt_cv_prog_compiler_c_o_GCJ=yes
- fi
- fi
- chmod u+w . 2>&5
- $rm conftest*
- # SGI C++ compiler will create directory out/ii_files/ for
- # template instantiation
- test -d out/ii_files && $rm out/ii_files/* && rmdir out/ii_files
- $rm out/* && rmdir out
- cd ..
- rmdir conftest
- $rm conftest*
-
-fi
-{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o_GCJ" >&5
-echo "${ECHO_T}$lt_cv_prog_compiler_c_o_GCJ" >&6; }
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
-hard_links="nottested"
-if test "$lt_cv_prog_compiler_c_o_GCJ" = no && test "$need_locks" != no; then
- # do not overwrite the value of need_locks provided by the user
- { echo "$as_me:$LINENO: checking if we can lock with hard links" >&5
-echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6; }
- hard_links=yes
- $rm conftest*
- ln conftest.a conftest.b 2>/dev/null && hard_links=no
- touch conftest.a
- ln conftest.a conftest.b 2>&5 || hard_links=no
- ln conftest.a conftest.b 2>/dev/null && hard_links=no
- { echo "$as_me:$LINENO: result: $hard_links" >&5
-echo "${ECHO_T}$hard_links" >&6; }
- if test "$hard_links" = no; then
- { echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5
-echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;}
- need_locks=warn
- fi
-else
- need_locks=no
fi
-{ echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5
-echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6; }
-
- runpath_var=
- allow_undefined_flag_GCJ=
- enable_shared_with_static_runtimes_GCJ=no
- archive_cmds_GCJ=
- archive_expsym_cmds_GCJ=
- old_archive_From_new_cmds_GCJ=
- old_archive_from_expsyms_cmds_GCJ=
- export_dynamic_flag_spec_GCJ=
- whole_archive_flag_spec_GCJ=
- thread_safe_flag_spec_GCJ=
- hardcode_libdir_flag_spec_GCJ=
- hardcode_libdir_flag_spec_ld_GCJ=
- hardcode_libdir_separator_GCJ=
- hardcode_direct_GCJ=no
- hardcode_minus_L_GCJ=no
- hardcode_shlibpath_var_GCJ=unsupported
- link_all_deplibs_GCJ=unknown
- hardcode_automatic_GCJ=no
- module_cmds_GCJ=
- module_expsym_cmds_GCJ=
- always_export_symbols_GCJ=no
- export_symbols_cmds_GCJ='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
- # include_expsyms should be a list of space-separated symbols to be *always*
- # included in the symbol list
- include_expsyms_GCJ=
- # exclude_expsyms can be an extended regexp of symbols to exclude
- # it will be wrapped by ` (' and `)$', so one must not match beginning or
- # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc',
- # as well as any symbol that contains `d'.
- exclude_expsyms_GCJ="_GLOBAL_OFFSET_TABLE_"
- # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out
- # platforms (ab)use it in PIC code, but their linkers get confused if
- # the symbol is explicitly referenced. Since portable code cannot
- # rely on this symbol name, it's probably fine to never include it in
- # preloaded symbol tables.
- extract_expsyms_cmds=
- # Just being paranoid about ensuring that cc_basename is set.
- for cc_temp in $compiler""; do
- case $cc_temp in
- compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
- distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
- \-*) ;;
- *) break;;
- esac
-done
-cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
-
- case $host_os in
- cygwin* | mingw* | pw32*)
- # FIXME: the MSVC++ port hasn't been tested in a loooong time
- # When not using gcc, we currently assume that we are using
- # Microsoft Visual C++.
- if test "$GCC" != yes; then
- with_gnu_ld=no
- fi
- ;;
- interix*)
- # we just hope/assume this is gcc and not c89 (= MSVC++)
- with_gnu_ld=yes
- ;;
- openbsd*)
- with_gnu_ld=no
- ;;
- esac
-
- ld_shlibs_GCJ=yes
- if test "$with_gnu_ld" = yes; then
- # If archive_cmds runs LD, not CC, wlarc should be empty
- wlarc='${wl}'
-
- # Set some defaults for GNU ld with shared library support. These
- # are reset later if shared libraries are not supported. Putting them
- # here allows them to be overridden if necessary.
- runpath_var=LD_RUN_PATH
- hardcode_libdir_flag_spec_GCJ='${wl}--rpath ${wl}$libdir'
- export_dynamic_flag_spec_GCJ='${wl}--export-dynamic'
- # ancient GNU ld didn't support --whole-archive et. al.
- if $LD --help 2>&1 | grep 'no-whole-archive' > /dev/null; then
- whole_archive_flag_spec_GCJ="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
- else
- whole_archive_flag_spec_GCJ=
- fi
- supports_anon_versioning=no
- case `$LD -v 2>/dev/null` in
- *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11
- *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ...
- *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ...
- *\ 2.11.*) ;; # other 2.11 versions
- *) supports_anon_versioning=yes ;;
- esac
-
- # See if GNU ld supports shared libraries.
- case $host_os in
- aix3* | aix4* | aix5*)
- # On AIX/PPC, the GNU linker is very broken
- if test "$host_cpu" != ia64; then
- ld_shlibs_GCJ=no
- cat <<EOF 1>&2
-
-*** Warning: the GNU linker, at least up to release 2.9.1, is reported
-*** to be unable to reliably create shared libraries on AIX.
-*** Therefore, libtool is disabling shared libraries support. If you
-*** really care for shared libraries, you may want to modify your PATH
-*** so that a non-GNU linker is found, and then restart.
-
-EOF
- fi
- ;;
-
- amigaos*)
- archive_cmds_GCJ='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
- hardcode_libdir_flag_spec_GCJ='-L$libdir'
- hardcode_minus_L_GCJ=yes
-
- # Samuel A. Falvo II <kc5tja@dolphin.openprojects.net> reports
- # that the semantics of dynamic libraries on AmigaOS, at least up
- # to version 4, is to share data among multiple programs linked
- # with the same dynamic library. Since this doesn't match the
- # behavior of shared libraries on other platforms, we can't use
- # them.
- ld_shlibs_GCJ=no
- ;;
-
- beos*)
- if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
- allow_undefined_flag_GCJ=unsupported
- # Joseph Beckenbach <jrb3@best.com> says some releases of gcc
- # support --undefined. This deserves some investigation. FIXME
- archive_cmds_GCJ='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- else
- ld_shlibs_GCJ=no
- fi
- ;;
-
- cygwin* | mingw* | pw32*)
- # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, GCJ) is actually meaningless,
- # as there is no search path for DLLs.
- hardcode_libdir_flag_spec_GCJ='-L$libdir'
- allow_undefined_flag_GCJ=unsupported
- always_export_symbols_GCJ=no
- enable_shared_with_static_runtimes_GCJ=yes
- export_symbols_cmds_GCJ='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/'\'' -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols'
-
- if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then
- archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
- # If the export-symbols file already is a .def file (1st line
- # is EXPORTS), use it as is; otherwise, prepend...
- archive_expsym_cmds_GCJ='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
- cp $export_symbols $output_objdir/$soname.def;
- else
- echo EXPORTS > $output_objdir/$soname.def;
- cat $export_symbols >> $output_objdir/$soname.def;
- fi~
- $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
- else
- ld_shlibs_GCJ=no
- fi
- ;;
-
- interix[3-9]*)
- hardcode_direct_GCJ=no
- hardcode_shlibpath_var_GCJ=no
- hardcode_libdir_flag_spec_GCJ='${wl}-rpath,$libdir'
- export_dynamic_flag_spec_GCJ='${wl}-E'
- # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
- # Instead, shared libraries are loaded at an image base (0x10000000 by
- # default) and relocated if they conflict, which is a slow very memory
- # consuming and fragmenting process. To avoid this, we pick a random,
- # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
- # time. Moving up from 0x10000000 also allows more sbrk(2) space.
- archive_cmds_GCJ='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
- archive_expsym_cmds_GCJ='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
- ;;
-
- gnu* | linux* | k*bsd*-gnu)
- if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
- tmp_addflag=
- case $cc_basename,$host_cpu in
- pgcc*) # Portland Group C compiler
- whole_archive_flag_spec_GCJ='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
- tmp_addflag=' $pic_flag'
- ;;
- pgf77* | pgf90* | pgf95*) # Portland Group f77 and f90 compilers
- whole_archive_flag_spec_GCJ='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
- tmp_addflag=' $pic_flag -Mnomain' ;;
- ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64
- tmp_addflag=' -i_dynamic' ;;
- efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64
- tmp_addflag=' -i_dynamic -nofor_main' ;;
- ifc* | ifort*) # Intel Fortran compiler
- tmp_addflag=' -nofor_main' ;;
- esac
- case `$CC -V 2>&1 | sed 5q` in
- *Sun\ C*) # Sun C 5.9
- whole_archive_flag_spec_GCJ='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
- tmp_sharedflag='-G' ;;
- *Sun\ F*) # Sun Fortran 8.3
- tmp_sharedflag='-G' ;;
- *)
- tmp_sharedflag='-shared' ;;
- esac
- archive_cmds_GCJ='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-
- if test $supports_anon_versioning = yes; then
- archive_expsym_cmds_GCJ='$echo "{ global:" > $output_objdir/$libname.ver~
- cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
- $echo "local: *; };" >> $output_objdir/$libname.ver~
- $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
- fi
- else
- ld_shlibs_GCJ=no
- fi
- ;;
-
- netbsd*)
- if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
- archive_cmds_GCJ='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
- wlarc=
- else
- archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- archive_expsym_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
- fi
- ;;
-
- solaris*)
- if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then
- ld_shlibs_GCJ=no
- cat <<EOF 1>&2
-
-*** Warning: The releases 2.8.* of the GNU linker cannot reliably
-*** create shared libraries on Solaris systems. Therefore, libtool
-*** is disabling shared libraries support. We urge you to upgrade GNU
-*** binutils to release 2.9.1 or newer. Another option is to modify
-*** your PATH or compiler configuration so that the native linker is
-*** used, and then restart.
-
-EOF
- elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
- archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- archive_expsym_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
- else
- ld_shlibs_GCJ=no
- fi
- ;;
-
- sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*)
- case `$LD -v 2>&1` in
- *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*)
- ld_shlibs_GCJ=no
- cat <<_LT_EOF 1>&2
-
-*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not
-*** reliably create shared libraries on SCO systems. Therefore, libtool
-*** is disabling shared libraries support. We urge you to upgrade GNU
-*** binutils to release 2.16.91.0.3 or newer. Another option is to modify
-*** your PATH or compiler configuration so that the native linker is
-*** used, and then restart.
-
-_LT_EOF
- ;;
- *)
- if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
- hardcode_libdir_flag_spec_GCJ='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`'
- archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib'
- archive_expsym_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname,-retain-symbols-file,$export_symbols -o $lib'
- else
- ld_shlibs_GCJ=no
- fi
- ;;
- esac
- ;;
-
- sunos4*)
- archive_cmds_GCJ='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags'
- wlarc=
- hardcode_direct_GCJ=yes
- hardcode_shlibpath_var_GCJ=no
- ;;
-
- *)
- if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
- archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- archive_expsym_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
- else
- ld_shlibs_GCJ=no
- fi
- ;;
- esac
-
- if test "$ld_shlibs_GCJ" = no; then
- runpath_var=
- hardcode_libdir_flag_spec_GCJ=
- export_dynamic_flag_spec_GCJ=
- whole_archive_flag_spec_GCJ=
- fi
- else
- # PORTME fill in a description of your system's linker (not GNU ld)
- case $host_os in
- aix3*)
- allow_undefined_flag_GCJ=unsupported
- always_export_symbols_GCJ=yes
- archive_expsym_cmds_GCJ='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname'
- # Note: this linker hardcodes the directories in LIBPATH if there
- # are no directories specified by -L.
- hardcode_minus_L_GCJ=yes
- if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then
- # Neither direct hardcoding nor static linking is supported with a
- # broken collect2.
- hardcode_direct_GCJ=unsupported
- fi
- ;;
-
- aix4* | aix5*)
- if test "$host_cpu" = ia64; then
- # On IA64, the linker does run time linking by default, so we don't
- # have to do anything special.
- aix_use_runtimelinking=no
- exp_sym_flag='-Bexport'
- no_entry_flag=""
- else
- # If we're using GNU nm, then we don't want the "-C" option.
- # -C means demangle to AIX nm, but means don't demangle with GNU nm
- if $NM -V 2>&1 | grep 'GNU' > /dev/null; then
- export_symbols_cmds_GCJ='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols'
- else
- export_symbols_cmds_GCJ='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols'
- fi
- aix_use_runtimelinking=no
-
- # Test if we are trying to use run time linking or normal
- # AIX style linking. If -brtl is somewhere in LDFLAGS, we
- # need to do runtime linking.
- case $host_os in aix4.[23]|aix4.[23].*|aix5*)
- for ld_flag in $LDFLAGS; do
- if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then
- aix_use_runtimelinking=yes
- break
- fi
- done
- ;;
- esac
-
- exp_sym_flag='-bexport'
- no_entry_flag='-bnoentry'
- fi
-
- # When large executables or shared objects are built, AIX ld can
- # have problems creating the table of contents. If linking a library
- # or program results in "error TOC overflow" add -mminimal-toc to
- # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not
- # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
-
- archive_cmds_GCJ=''
- hardcode_direct_GCJ=yes
- hardcode_libdir_separator_GCJ=':'
- link_all_deplibs_GCJ=yes
-
- if test "$GCC" = yes; then
- case $host_os in aix4.[012]|aix4.[012].*)
- # We only want to do this on AIX 4.2 and lower, the check
- # below for broken collect2 doesn't work under 4.3+
- collect2name=`${CC} -print-prog-name=collect2`
- if test -f "$collect2name" && \
- strings "$collect2name" | grep resolve_lib_name >/dev/null
- then
- # We have reworked collect2
- :
- else
- # We have old collect2
- hardcode_direct_GCJ=unsupported
- # It fails to find uninstalled libraries when the uninstalled
- # path is not listed in the libpath. Setting hardcode_minus_L
- # to unsupported forces relinking
- hardcode_minus_L_GCJ=yes
- hardcode_libdir_flag_spec_GCJ='-L$libdir'
- hardcode_libdir_separator_GCJ=
- fi
- ;;
- esac
- shared_flag='-shared'
- if test "$aix_use_runtimelinking" = yes; then
- shared_flag="$shared_flag "'${wl}-G'
- fi
- else
- # not using gcc
- if test "$host_cpu" = ia64; then
- # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
- # chokes on -Wl,-G. The following line is correct:
- shared_flag='-G'
- else
- if test "$aix_use_runtimelinking" = yes; then
- shared_flag='${wl}-G'
- else
- shared_flag='${wl}-bM:SRE'
- fi
- fi
- fi
-
- # It seems that -bexpall does not export symbols beginning with
- # underscore (_), so it is better to generate a list of symbols to export.
- always_export_symbols_GCJ=yes
- if test "$aix_use_runtimelinking" = yes; then
- # Warning - without using the other runtime loading flags (-brtl),
- # -berok will link without error, but may produce a broken library.
- allow_undefined_flag_GCJ='-berok'
- # Determine the default libpath from the value encoded in an empty executable.
- cat >conftest.$ac_ext <<_ACEOF
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ if test $ac_cv_c_bigendian = unknown; then
+ # See if sys/param.h defines the BYTE_ORDER macro.
+ cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
+#include <sys/types.h>
+ #include <sys/param.h>
int
main ()
{
+#if ! (defined BYTE_ORDER && defined BIG_ENDIAN \
+ && defined LITTLE_ENDIAN && BYTE_ORDER && BIG_ENDIAN \
+ && LITTLE_ENDIAN)
+ bogus endian macros
+ #endif
;
return 0;
}
_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_link") 2>conftest.er1
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
test -z "$ac_cxx_werror_flag" ||
test ! -s conftest.err
- } && test -s conftest$ac_exeext &&
- $as_test_x conftest$ac_exeext; then
-
-lt_aix_libpath_sed='
- /Import File Strings/,/^$/ {
- /^0/ {
- s/^0 *\(.*\)$/\1/
- p
- }
- }'
-aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
-# Check for a 64-bit object if we didn't find anything.
-if test -z "$aix_libpath"; then
- aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
-fi
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
- conftest$ac_exeext conftest.$ac_ext
-if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
-
- hardcode_libdir_flag_spec_GCJ='${wl}-blibpath:$libdir:'"$aix_libpath"
- archive_expsym_cmds_GCJ="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
- else
- if test "$host_cpu" = ia64; then
- hardcode_libdir_flag_spec_GCJ='${wl}-R $libdir:/usr/lib:/lib'
- allow_undefined_flag_GCJ="-z nodefs"
- archive_expsym_cmds_GCJ="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols"
- else
- # Determine the default libpath from the value encoded in an empty executable.
+ } && test -s conftest.$ac_objext; then
+ # It does; now see whether it defined to BIG_ENDIAN or not.
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
+#include <sys/types.h>
+ #include <sys/param.h>
int
main ()
{
+#if BYTE_ORDER != BIG_ENDIAN
+ not big endian
+ #endif
;
return 0;
}
_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_link") 2>conftest.er1
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
test -z "$ac_cxx_werror_flag" ||
test ! -s conftest.err
- } && test -s conftest$ac_exeext &&
- $as_test_x conftest$ac_exeext; then
-
-lt_aix_libpath_sed='
- /Import File Strings/,/^$/ {
- /^0/ {
- s/^0 *\(.*\)$/\1/
- p
- }
- }'
-aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
-# Check for a 64-bit object if we didn't find anything.
-if test -z "$aix_libpath"; then
- aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
-fi
+ } && test -s conftest.$ac_objext; then
+ ac_cv_c_bigendian=yes
else
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
-
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
- conftest$ac_exeext conftest.$ac_ext
-if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
-
- hardcode_libdir_flag_spec_GCJ='${wl}-blibpath:$libdir:'"$aix_libpath"
- # Warning - without using the other run time loading flags,
- # -berok will link without error, but may produce a broken library.
- no_undefined_flag_GCJ=' ${wl}-bernotok'
- allow_undefined_flag_GCJ=' ${wl}-berok'
- # Exported symbols can be pulled into shared objects from archives
- whole_archive_flag_spec_GCJ='$convenience'
- archive_cmds_need_lc_GCJ=yes
- # This is similar to how AIX traditionally builds its shared libraries.
- archive_expsym_cmds_GCJ="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
- fi
- fi
- ;;
-
- amigaos*)
- archive_cmds_GCJ='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
- hardcode_libdir_flag_spec_GCJ='-L$libdir'
- hardcode_minus_L_GCJ=yes
- # see comment about different semantics on the GNU ld section
- ld_shlibs_GCJ=no
- ;;
-
- bsdi[45]*)
- export_dynamic_flag_spec_GCJ=-rdynamic
- ;;
-
- cygwin* | mingw* | pw32*)
- # When not using gcc, we currently assume that we are using
- # Microsoft Visual C++.
- # hardcode_libdir_flag_spec is actually meaningless, as there is
- # no search path for DLLs.
- hardcode_libdir_flag_spec_GCJ=' '
- allow_undefined_flag_GCJ=unsupported
- # Tell ltmain to make .lib files, not .a files.
- libext=lib
- # Tell ltmain to make .dll files, not .so files.
- shrext_cmds=".dll"
- # FIXME: Setting linknames here is a bad hack.
- archive_cmds_GCJ='$CC -o $lib $libobjs $compiler_flags `echo "$deplibs" | $SED -e '\''s/ -lc$//'\''` -link -dll~linknames='
- # The linker will automatically build a .lib file if we build a DLL.
- old_archive_From_new_cmds_GCJ='true'
- # FIXME: Should let the user specify the lib program.
- old_archive_cmds_GCJ='lib -OUT:$oldlib$oldobjs$old_deplibs'
- fix_srcfile_path_GCJ='`cygpath -w "$srcfile"`'
- enable_shared_with_static_runtimes_GCJ=yes
- ;;
-
- darwin* | rhapsody*)
- case $host_os in
- rhapsody* | darwin1.[012])
- allow_undefined_flag_GCJ='${wl}-undefined ${wl}suppress'
- ;;
- *) # Darwin 1.3 on
- if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then
- allow_undefined_flag_GCJ='${wl}-flat_namespace ${wl}-undefined ${wl}suppress'
- else
- case ${MACOSX_DEPLOYMENT_TARGET} in
- 10.[012])
- allow_undefined_flag_GCJ='${wl}-flat_namespace ${wl}-undefined ${wl}suppress'
- ;;
- 10.*)
- allow_undefined_flag_GCJ='${wl}-undefined ${wl}dynamic_lookup'
- ;;
- esac
- fi
- ;;
- esac
- archive_cmds_need_lc_GCJ=no
- hardcode_direct_GCJ=no
- hardcode_automatic_GCJ=yes
- hardcode_shlibpath_var_GCJ=unsupported
- whole_archive_flag_spec_GCJ=''
- link_all_deplibs_GCJ=yes
- if test "$GCC" = yes ; then
- output_verbose_link_cmd='echo'
- archive_cmds_GCJ='$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring'
- module_cmds_GCJ='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
- # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds
- archive_expsym_cmds_GCJ='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
- module_expsym_cmds_GCJ='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
- else
- case $cc_basename in
- xlc*)
- output_verbose_link_cmd='echo'
- archive_cmds_GCJ='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $xlcverstring'
- module_cmds_GCJ='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
- # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds
- archive_expsym_cmds_GCJ='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $xlcverstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
- module_expsym_cmds_GCJ='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
- ;;
- *)
- ld_shlibs_GCJ=no
- ;;
- esac
- fi
- ;;
-
- dgux*)
- archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- hardcode_libdir_flag_spec_GCJ='-L$libdir'
- hardcode_shlibpath_var_GCJ=no
- ;;
-
- freebsd1*)
- ld_shlibs_GCJ=no
- ;;
-
- # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor
- # support. Future versions do this automatically, but an explicit c++rt0.o
- # does not break anything, and helps significantly (at the cost of a little
- # extra space).
- freebsd2.2*)
- archive_cmds_GCJ='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o'
- hardcode_libdir_flag_spec_GCJ='-R$libdir'
- hardcode_direct_GCJ=yes
- hardcode_shlibpath_var_GCJ=no
- ;;
-
- # Unfortunately, older versions of FreeBSD 2 do not have this feature.
- freebsd2*)
- archive_cmds_GCJ='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
- hardcode_direct_GCJ=yes
- hardcode_minus_L_GCJ=yes
- hardcode_shlibpath_var_GCJ=no
- ;;
-
- # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
- freebsd* | dragonfly*)
- archive_cmds_GCJ='$CC -shared -o $lib $libobjs $deplibs $compiler_flags'
- hardcode_libdir_flag_spec_GCJ='-R$libdir'
- hardcode_direct_GCJ=yes
- hardcode_shlibpath_var_GCJ=no
- ;;
-
- hpux9*)
- if test "$GCC" = yes; then
- archive_cmds_GCJ='$rm $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
- else
- archive_cmds_GCJ='$rm $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
- fi
- hardcode_libdir_flag_spec_GCJ='${wl}+b ${wl}$libdir'
- hardcode_libdir_separator_GCJ=:
- hardcode_direct_GCJ=yes
-
- # hardcode_minus_L: Not really in the search PATH,
- # but as the default location of the library.
- hardcode_minus_L_GCJ=yes
- export_dynamic_flag_spec_GCJ='${wl}-E'
- ;;
-
- hpux10*)
- if test "$GCC" = yes -a "$with_gnu_ld" = no; then
- archive_cmds_GCJ='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
- else
- archive_cmds_GCJ='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
- fi
- if test "$with_gnu_ld" = no; then
- hardcode_libdir_flag_spec_GCJ='${wl}+b ${wl}$libdir'
- hardcode_libdir_separator_GCJ=:
-
- hardcode_direct_GCJ=yes
- export_dynamic_flag_spec_GCJ='${wl}-E'
-
- # hardcode_minus_L: Not really in the search PATH,
- # but as the default location of the library.
- hardcode_minus_L_GCJ=yes
- fi
- ;;
-
- hpux11*)
- if test "$GCC" = yes -a "$with_gnu_ld" = no; then
- case $host_cpu in
- hppa*64*)
- archive_cmds_GCJ='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- ia64*)
- archive_cmds_GCJ='$CC -shared ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- *)
- archive_cmds_GCJ='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- esac
- else
- case $host_cpu in
- hppa*64*)
- archive_cmds_GCJ='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- ia64*)
- archive_cmds_GCJ='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- *)
- archive_cmds_GCJ='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- esac
- fi
- if test "$with_gnu_ld" = no; then
- hardcode_libdir_flag_spec_GCJ='${wl}+b ${wl}$libdir'
- hardcode_libdir_separator_GCJ=:
-
- case $host_cpu in
- hppa*64*|ia64*)
- hardcode_libdir_flag_spec_ld_GCJ='+b $libdir'
- hardcode_direct_GCJ=no
- hardcode_shlibpath_var_GCJ=no
- ;;
- *)
- hardcode_direct_GCJ=yes
- export_dynamic_flag_spec_GCJ='${wl}-E'
-
- # hardcode_minus_L: Not really in the search PATH,
- # but as the default location of the library.
- hardcode_minus_L_GCJ=yes
- ;;
- esac
- fi
- ;;
-
- irix5* | irix6* | nonstopux*)
- if test "$GCC" = yes; then
- archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
- else
- archive_cmds_GCJ='$LD -shared $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
- hardcode_libdir_flag_spec_ld_GCJ='-rpath $libdir'
- fi
- hardcode_libdir_flag_spec_GCJ='${wl}-rpath ${wl}$libdir'
- hardcode_libdir_separator_GCJ=:
- link_all_deplibs_GCJ=yes
- ;;
-
- netbsd*)
- if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
- archive_cmds_GCJ='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out
- else
- archive_cmds_GCJ='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF
- fi
- hardcode_libdir_flag_spec_GCJ='-R$libdir'
- hardcode_direct_GCJ=yes
- hardcode_shlibpath_var_GCJ=no
- ;;
-
- newsos6)
- archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- hardcode_direct_GCJ=yes
- hardcode_libdir_flag_spec_GCJ='${wl}-rpath ${wl}$libdir'
- hardcode_libdir_separator_GCJ=:
- hardcode_shlibpath_var_GCJ=no
- ;;
-
- openbsd*)
- if test -f /usr/libexec/ld.so; then
- hardcode_direct_GCJ=yes
- hardcode_shlibpath_var_GCJ=no
- if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
- archive_cmds_GCJ='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
- archive_expsym_cmds_GCJ='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols'
- hardcode_libdir_flag_spec_GCJ='${wl}-rpath,$libdir'
- export_dynamic_flag_spec_GCJ='${wl}-E'
- else
- case $host_os in
- openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*)
- archive_cmds_GCJ='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
- hardcode_libdir_flag_spec_GCJ='-R$libdir'
- ;;
- *)
- archive_cmds_GCJ='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
- hardcode_libdir_flag_spec_GCJ='${wl}-rpath,$libdir'
- ;;
- esac
- fi
- else
- ld_shlibs_GCJ=no
- fi
- ;;
-
- os2*)
- hardcode_libdir_flag_spec_GCJ='-L$libdir'
- hardcode_minus_L_GCJ=yes
- allow_undefined_flag_GCJ=unsupported
- archive_cmds_GCJ='$echo "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$echo "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$echo DATA >> $output_objdir/$libname.def~$echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~$echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def'
- old_archive_From_new_cmds_GCJ='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def'
- ;;
-
- osf3*)
- if test "$GCC" = yes; then
- allow_undefined_flag_GCJ=' ${wl}-expect_unresolved ${wl}\*'
- archive_cmds_GCJ='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
- else
- allow_undefined_flag_GCJ=' -expect_unresolved \*'
- archive_cmds_GCJ='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
- fi
- hardcode_libdir_flag_spec_GCJ='${wl}-rpath ${wl}$libdir'
- hardcode_libdir_separator_GCJ=:
- ;;
-
- osf4* | osf5*) # as osf3* with the addition of -msym flag
- if test "$GCC" = yes; then
- allow_undefined_flag_GCJ=' ${wl}-expect_unresolved ${wl}\*'
- archive_cmds_GCJ='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
- hardcode_libdir_flag_spec_GCJ='${wl}-rpath ${wl}$libdir'
- else
- allow_undefined_flag_GCJ=' -expect_unresolved \*'
- archive_cmds_GCJ='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
- archive_expsym_cmds_GCJ='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; echo "-hidden">> $lib.exp~
- $LD -shared${allow_undefined_flag} -input $lib.exp $linker_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~$rm $lib.exp'
-
- # Both c and cxx compiler support -rpath directly
- hardcode_libdir_flag_spec_GCJ='-rpath $libdir'
- fi
- hardcode_libdir_separator_GCJ=:
- ;;
-
- solaris*)
- no_undefined_flag_GCJ=' -z text'
- if test "$GCC" = yes; then
- wlarc='${wl}'
- archive_cmds_GCJ='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
- archive_expsym_cmds_GCJ='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
- $CC -shared ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$rm $lib.exp'
- else
- wlarc=''
- archive_cmds_GCJ='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags'
- archive_expsym_cmds_GCJ='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
- $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp'
- fi
- hardcode_libdir_flag_spec_GCJ='-R$libdir'
- hardcode_shlibpath_var_GCJ=no
- case $host_os in
- solaris2.[0-5] | solaris2.[0-5].*) ;;
- *)
- # The compiler driver will combine and reorder linker options,
- # but understands `-z linker_flag'. GCC discards it without `$wl',
- # but is careful enough not to reorder.
- # Supported since Solaris 2.6 (maybe 2.5.1?)
- if test "$GCC" = yes; then
- whole_archive_flag_spec_GCJ='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
- else
- whole_archive_flag_spec_GCJ='-z allextract$convenience -z defaultextract'
- fi
- ;;
- esac
- link_all_deplibs_GCJ=yes
- ;;
-
- sunos4*)
- if test "x$host_vendor" = xsequent; then
- # Use $CC to link under sequent, because it throws in some extra .o
- # files that make .init and .fini sections work.
- archive_cmds_GCJ='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags'
- else
- archive_cmds_GCJ='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags'
- fi
- hardcode_libdir_flag_spec_GCJ='-L$libdir'
- hardcode_direct_GCJ=yes
- hardcode_minus_L_GCJ=yes
- hardcode_shlibpath_var_GCJ=no
- ;;
-
- sysv4)
- case $host_vendor in
- sni)
- archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- hardcode_direct_GCJ=yes # is this really true???
- ;;
- siemens)
- ## LD is ld it makes a PLAMLIB
- ## CC just makes a GrossModule.
- archive_cmds_GCJ='$LD -G -o $lib $libobjs $deplibs $linker_flags'
- reload_cmds_GCJ='$CC -r -o $output$reload_objs'
- hardcode_direct_GCJ=no
- ;;
- motorola)
- archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- hardcode_direct_GCJ=no #Motorola manual says yes, but my tests say they lie
- ;;
- esac
- runpath_var='LD_RUN_PATH'
- hardcode_shlibpath_var_GCJ=no
- ;;
-
- sysv4.3*)
- archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- hardcode_shlibpath_var_GCJ=no
- export_dynamic_flag_spec_GCJ='-Bexport'
- ;;
-
- sysv4*MP*)
- if test -d /usr/nec; then
- archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- hardcode_shlibpath_var_GCJ=no
- runpath_var=LD_RUN_PATH
- hardcode_runpath_var=yes
- ld_shlibs_GCJ=yes
- fi
- ;;
-
- sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*)
- no_undefined_flag_GCJ='${wl}-z,text'
- archive_cmds_need_lc_GCJ=no
- hardcode_shlibpath_var_GCJ=no
- runpath_var='LD_RUN_PATH'
-
- if test "$GCC" = yes; then
- archive_cmds_GCJ='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- archive_expsym_cmds_GCJ='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- else
- archive_cmds_GCJ='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- archive_expsym_cmds_GCJ='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- fi
- ;;
-
- sysv5* | sco3.2v5* | sco5v6*)
- # Note: We can NOT use -z defs as we might desire, because we do not
- # link with -lc, and that would cause any symbols used from libc to
- # always be unresolved, which means just about no library would
- # ever link correctly. If we're not using GNU ld we use -z text
- # though, which does catch some bad symbols but isn't as heavy-handed
- # as -z defs.
- no_undefined_flag_GCJ='${wl}-z,text'
- allow_undefined_flag_GCJ='${wl}-z,nodefs'
- archive_cmds_need_lc_GCJ=no
- hardcode_shlibpath_var_GCJ=no
- hardcode_libdir_flag_spec_GCJ='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`'
- hardcode_libdir_separator_GCJ=':'
- link_all_deplibs_GCJ=yes
- export_dynamic_flag_spec_GCJ='${wl}-Bexport'
- runpath_var='LD_RUN_PATH'
-
- if test "$GCC" = yes; then
- archive_cmds_GCJ='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
- archive_expsym_cmds_GCJ='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
- else
- archive_cmds_GCJ='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
- archive_expsym_cmds_GCJ='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
- fi
- ;;
-
- uts4*)
- archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- hardcode_libdir_flag_spec_GCJ='-L$libdir'
- hardcode_shlibpath_var_GCJ=no
- ;;
-
- *)
- ld_shlibs_GCJ=no
- ;;
- esac
- fi
-
-{ echo "$as_me:$LINENO: result: $ld_shlibs_GCJ" >&5
-echo "${ECHO_T}$ld_shlibs_GCJ" >&6; }
-test "$ld_shlibs_GCJ" = no && can_build_shared=no
-
-#
-# Do we need to explicitly link libc?
-#
-case "x$archive_cmds_need_lc_GCJ" in
-x|xyes)
- # Assume -lc should be added
- archive_cmds_need_lc_GCJ=yes
-
- if test "$enable_shared" = yes && test "$GCC" = yes; then
- case $archive_cmds_GCJ in
- *'~'*)
- # FIXME: we may have to deal with multi-command sequences.
- ;;
- '$CC '*)
- # Test whether the compiler implicitly links with -lc since on some
- # systems, -lgcc has to come before -lc. If gcc already passes -lc
- # to ld, don't add -lc before -lgcc.
- { echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5
-echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6; }
- $rm conftest*
- echo "$lt_simple_compile_test_code" > conftest.$ac_ext
-
- if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } 2>conftest.err; then
- soname=conftest
- lib=conftest
- libobjs=conftest.$ac_objext
- deplibs=
- wl=$lt_prog_compiler_wl_GCJ
- pic_flag=$lt_prog_compiler_pic_GCJ
- compiler_flags=-v
- linker_flags=-v
- verstring=
- output_objdir=.
- libname=conftest
- lt_save_allow_undefined_flag=$allow_undefined_flag_GCJ
- allow_undefined_flag_GCJ=
- if { (eval echo "$as_me:$LINENO: \"$archive_cmds_GCJ 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1\"") >&5
- (eval $archive_cmds_GCJ 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }
- then
- archive_cmds_need_lc_GCJ=no
- else
- archive_cmds_need_lc_GCJ=yes
- fi
- allow_undefined_flag_GCJ=$lt_save_allow_undefined_flag
- else
- cat conftest.err 1>&5
- fi
- $rm conftest*
- { echo "$as_me:$LINENO: result: $archive_cmds_need_lc_GCJ" >&5
-echo "${ECHO_T}$archive_cmds_need_lc_GCJ" >&6; }
- ;;
- esac
- fi
- ;;
-esac
-
-{ echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5
-echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6; }
-library_names_spec=
-libname_spec='lib$name'
-soname_spec=
-shrext_cmds=".so"
-postinstall_cmds=
-postuninstall_cmds=
-finish_cmds=
-finish_eval=
-shlibpath_var=
-shlibpath_overrides_runpath=unknown
-version_type=none
-dynamic_linker="$host_os ld.so"
-sys_lib_dlsearch_path_spec="/lib /usr/lib"
-
-need_lib_prefix=unknown
-hardcode_into_libs=no
-
-# when you set need_version to no, make sure it does not cause -set_version
-# flags to be left without arguments
-need_version=unknown
-
-case $host_os in
-aix3*)
- version_type=linux
- library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a'
- shlibpath_var=LIBPATH
-
- # AIX 3 has no versioning support, so we append a major version to the name.
- soname_spec='${libname}${release}${shared_ext}$major'
- ;;
-
-aix4* | aix5*)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- hardcode_into_libs=yes
- if test "$host_cpu" = ia64; then
- # AIX 5 supports IA64
- library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}'
- shlibpath_var=LD_LIBRARY_PATH
- else
- # With GCC up to 2.95.x, collect2 would create an import file
- # for dependence libraries. The import file would start with
- # the line `#! .'. This would cause the generated library to
- # depend on `.', always an invalid library. This was fixed in
- # development snapshots of GCC prior to 3.0.
- case $host_os in
- aix4 | aix4.[01] | aix4.[01].*)
- if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
- echo ' yes '
- echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then
- :
- else
- can_build_shared=no
- fi
- ;;
- esac
- # AIX (on Power*) has no versioning support, so currently we can not hardcode correct
- # soname into executable. Probably we can add versioning support to
- # collect2, so additional links can be useful in future.
- if test "$aix_use_runtimelinking" = yes; then
- # If using run time linking (on AIX 4.2 or later) use lib<name>.so
- # instead of lib<name>.a to let people know that these are not
- # typical AIX shared libraries.
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- else
- # We preserve .a as extension for shared libraries through AIX4.2
- # and later when we are not doing run time linking.
- library_names_spec='${libname}${release}.a $libname.a'
- soname_spec='${libname}${release}${shared_ext}$major'
- fi
- shlibpath_var=LIBPATH
- fi
- ;;
-
-amigaos*)
- library_names_spec='$libname.ixlibrary $libname.a'
- # Create ${libname}_ixlibrary.a entries in /sys/libs.
- finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'
- ;;
-
-beos*)
- library_names_spec='${libname}${shared_ext}'
- dynamic_linker="$host_os ld.so"
- shlibpath_var=LIBRARY_PATH
- ;;
-
-bsdi[45]*)
- version_type=linux
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir'
- shlibpath_var=LD_LIBRARY_PATH
- sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"
- sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib"
- # the default ld.so.conf also contains /usr/contrib/lib and
- # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow
- # libtool to hard-code these into programs
- ;;
-
-cygwin* | mingw* | pw32*)
- version_type=windows
- shrext_cmds=".dll"
- need_version=no
- need_lib_prefix=no
-
- case $GCC,$host_os in
- yes,cygwin* | yes,mingw* | yes,pw32*)
- library_names_spec='$libname.dll.a'
- # DLL is installed to $(libdir)/../bin by postinstall_cmds
- postinstall_cmds='base_file=`basename \${file}`~
- dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo \$dlname'\''`~
- dldir=$destdir/`dirname \$dlpath`~
- test -d \$dldir || mkdir -p \$dldir~
- $install_prog $dir/$dlname \$dldir/$dlname~
- chmod a+x \$dldir/$dlname'
- postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
- dlpath=$dir/\$dldll~
- $rm \$dlpath'
- shlibpath_overrides_runpath=yes
-
- case $host_os in
- cygwin*)
- # Cygwin DLLs use 'cyg' prefix rather than 'lib'
- soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
- sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib"
- ;;
- mingw*)
- # MinGW DLLs use traditional 'lib' prefix
- soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
- sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"`
- if echo "$sys_lib_search_path_spec" | grep ';[c-zC-Z]:/' >/dev/null; then
- # It is most probably a Windows format PATH printed by
- # mingw gcc, but we are running on Cygwin. Gcc prints its search
- # path with ; separators, and with drive letters. We can handle the
- # drive letters (cygwin fileutils understands them), so leave them,
- # especially as we might pass files found there to a mingw objdump,
- # which wouldn't understand a cygwinified path. Ahh.
- sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
- else
- sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
- fi
- ;;
- pw32*)
- # pw32 DLLs use 'pw' prefix rather than 'lib'
- library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
- ;;
- esac
- ;;
-
- *)
- library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib'
- ;;
- esac
- dynamic_linker='Win32 ld.exe'
- # FIXME: first we should search . and the directory the executable is in
- shlibpath_var=PATH
- ;;
-
-darwin* | rhapsody*)
- dynamic_linker="$host_os dyld"
- version_type=darwin
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${versuffix}$shared_ext ${libname}${release}${major}$shared_ext ${libname}$shared_ext'
- soname_spec='${libname}${release}${major}$shared_ext'
- shlibpath_overrides_runpath=yes
- shlibpath_var=DYLD_LIBRARY_PATH
- shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
-
- sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'
- ;;
-
-dgux*)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- ;;
-
-freebsd1*)
- dynamic_linker=no
- ;;
-
-freebsd* | dragonfly*)
- # DragonFly does not have aout. When/if they implement a new
- # versioning mechanism, adjust this.
- if test -x /usr/bin/objformat; then
- objformat=`/usr/bin/objformat`
- else
- case $host_os in
- freebsd[123]*) objformat=aout ;;
- *) objformat=elf ;;
- esac
- fi
- version_type=freebsd-$objformat
- case $version_type in
- freebsd-elf*)
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
- need_version=no
- need_lib_prefix=no
- ;;
- freebsd-*)
- library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix'
- need_version=yes
- ;;
- esac
- shlibpath_var=LD_LIBRARY_PATH
- case $host_os in
- freebsd2*)
- shlibpath_overrides_runpath=yes
- ;;
- freebsd3.[01]* | freebsdelf3.[01]*)
- shlibpath_overrides_runpath=yes
- hardcode_into_libs=yes
- ;;
- freebsd3.[2-9]* | freebsdelf3.[2-9]* | \
- freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1)
- shlibpath_overrides_runpath=no
- hardcode_into_libs=yes
- ;;
- *) # from 4.6 on, and DragonFly
- shlibpath_overrides_runpath=yes
- hardcode_into_libs=yes
- ;;
- esac
- ;;
-
-gnu*)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- hardcode_into_libs=yes
- ;;
-
-hpux9* | hpux10* | hpux11*)
- # Give a soname corresponding to the major version so that dld.sl refuses to
- # link against other versions.
- version_type=sunos
- need_lib_prefix=no
- need_version=no
- case $host_cpu in
- ia64*)
- shrext_cmds='.so'
- hardcode_into_libs=yes
- dynamic_linker="$host_os dld.so"
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- if test "X$HPUX_IA64_MODE" = X32; then
- sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib"
- else
- sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64"
- fi
- sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
- ;;
- hppa*64*)
- shrext_cmds='.sl'
- hardcode_into_libs=yes
- dynamic_linker="$host_os dld.sl"
- shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
- shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64"
- sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
- ;;
- *)
- shrext_cmds='.sl'
- dynamic_linker="$host_os dld.sl"
- shlibpath_var=SHLIB_PATH
- shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- ;;
- esac
- # HP-UX runs *really* slowly unless shared libraries are mode 555.
- postinstall_cmds='chmod 555 $lib'
- ;;
-
-interix[3-9]*)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=no
- hardcode_into_libs=yes
- ;;
-
-irix5* | irix6* | nonstopux*)
- case $host_os in
- nonstopux*) version_type=nonstopux ;;
- *)
- if test "$lt_cv_prog_gnu_ld" = yes; then
- version_type=linux
- else
- version_type=irix
- fi ;;
- esac
- need_lib_prefix=no
- need_version=no
- soname_spec='${libname}${release}${shared_ext}$major'
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}'
- case $host_os in
- irix5* | nonstopux*)
- libsuff= shlibsuff=
- ;;
- *)
- case $LD in # libtool.m4 will add one of these switches to LD
- *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ")
- libsuff= shlibsuff= libmagic=32-bit;;
- *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ")
- libsuff=32 shlibsuff=N32 libmagic=N32;;
- *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ")
- libsuff=64 shlibsuff=64 libmagic=64-bit;;
- *) libsuff= shlibsuff= libmagic=never-match;;
- esac
- ;;
- esac
- shlibpath_var=LD_LIBRARY${shlibsuff}_PATH
- shlibpath_overrides_runpath=no
- sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}"
- sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}"
- hardcode_into_libs=yes
- ;;
-
-# No shared lib support for Linux oldld, aout, or coff.
-linux*oldld* | linux*aout* | linux*coff*)
- dynamic_linker=no
- ;;
-
-# This must be Linux ELF.
-linux* | k*bsd*-gnu)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=no
- # This implies no fast_install, which is unacceptable.
- # Some rework will be needed to allow for fast_install
- # before this can be enabled.
- hardcode_into_libs=yes
- sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}"
- sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}"
-
- # Append ld.so.conf contents to the search path
- if test -f /etc/ld.so.conf; then
- lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '`
- sys_lib_dlsearch_path_spec="$sys_lib_dlsearch_path_spec $lt_ld_extra"
- fi
-
- # We used to test for /lib/ld.so.1 and disable shared libraries on
- # powerpc, because MkLinux only supported shared libraries with the
- # GNU dynamic linker. Since this was broken with cross compilers,
- # most powerpc-linux boxes support dynamic linking these days and
- # people can always --disable-shared, the test was removed, and we
- # assume the GNU/Linux dynamic linker is in use.
- dynamic_linker='GNU/Linux ld.so'
- ;;
-
-netbsd*)
- version_type=sunos
- need_lib_prefix=no
- need_version=no
- if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
- finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
- dynamic_linker='NetBSD (a.out) ld.so'
- else
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- dynamic_linker='NetBSD ld.elf_so'
- fi
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=yes
- hardcode_into_libs=yes
- ;;
-
-newsos6)
- version_type=linux
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=yes
- ;;
-
-nto-qnx*)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=yes
- ;;
-
-openbsd*)
- version_type=sunos
- sys_lib_dlsearch_path_spec="/usr/lib"
- need_lib_prefix=no
- # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs.
- case $host_os in
- openbsd3.3 | openbsd3.3.*) need_version=yes ;;
- *) need_version=no ;;
- esac
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
- finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
- shlibpath_var=LD_LIBRARY_PATH
- if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
- case $host_os in
- openbsd2.[89] | openbsd2.[89].*)
- shlibpath_overrides_runpath=no
- ;;
- *)
- shlibpath_overrides_runpath=yes
- ;;
- esac
- else
- shlibpath_overrides_runpath=yes
- fi
- ;;
-
-os2*)
- libname_spec='$name'
- shrext_cmds=".dll"
- need_lib_prefix=no
- library_names_spec='$libname${shared_ext} $libname.a'
- dynamic_linker='OS/2 ld.exe'
- shlibpath_var=LIBPATH
- ;;
-
-osf3* | osf4* | osf5*)
- version_type=osf
- need_lib_prefix=no
- need_version=no
- soname_spec='${libname}${release}${shared_ext}$major'
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- shlibpath_var=LD_LIBRARY_PATH
- sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
- sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec"
- ;;
-
-rdos*)
- dynamic_linker=no
- ;;
-
-solaris*)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=yes
- hardcode_into_libs=yes
- # ldd complains unless libraries are executable
- postinstall_cmds='chmod +x $lib'
- ;;
-
-sunos4*)
- version_type=sunos
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
- finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=yes
- if test "$with_gnu_ld" = yes; then
- need_lib_prefix=no
- fi
- need_version=yes
- ;;
-
-sysv4 | sysv4.3*)
- version_type=linux
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- case $host_vendor in
- sni)
- shlibpath_overrides_runpath=no
- need_lib_prefix=no
- export_dynamic_flag_spec='${wl}-Blargedynsym'
- runpath_var=LD_RUN_PATH
- ;;
- siemens)
- need_lib_prefix=no
- ;;
- motorola)
- need_lib_prefix=no
- need_version=no
- shlibpath_overrides_runpath=no
- sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib'
- ;;
- esac
- ;;
-
-sysv4*MP*)
- if test -d /usr/nec ;then
- version_type=linux
- library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}'
- soname_spec='$libname${shared_ext}.$major'
- shlibpath_var=LD_LIBRARY_PATH
- fi
- ;;
-
-sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
- version_type=freebsd-elf
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- hardcode_into_libs=yes
- if test "$with_gnu_ld" = yes; then
- sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib'
- shlibpath_overrides_runpath=no
- else
- sys_lib_search_path_spec='/usr/ccs/lib /usr/lib'
- shlibpath_overrides_runpath=yes
- case $host_os in
- sco3.2v5*)
- sys_lib_search_path_spec="$sys_lib_search_path_spec /lib"
- ;;
- esac
- fi
- sys_lib_dlsearch_path_spec='/usr/lib'
- ;;
-
-uts4*)
- version_type=linux
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- ;;
-
-*)
- dynamic_linker=no
- ;;
-esac
-{ echo "$as_me:$LINENO: result: $dynamic_linker" >&5
-echo "${ECHO_T}$dynamic_linker" >&6; }
-test "$dynamic_linker" = no && can_build_shared=no
-
-variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
-if test "$GCC" = yes; then
- variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
-fi
-
-{ echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5
-echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6; }
-hardcode_action_GCJ=
-if test -n "$hardcode_libdir_flag_spec_GCJ" || \
- test -n "$runpath_var_GCJ" || \
- test "X$hardcode_automatic_GCJ" = "Xyes" ; then
-
- # We can hardcode non-existant directories.
- if test "$hardcode_direct_GCJ" != no &&
- # If the only mechanism to avoid hardcoding is shlibpath_var, we
- # have to relink, otherwise we might link with an installed library
- # when we should be linking with a yet-to-be-installed one
- ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, GCJ)" != no &&
- test "$hardcode_minus_L_GCJ" != no; then
- # Linking always hardcodes the temporary library directory.
- hardcode_action_GCJ=relink
- else
- # We can link without hardcoding, and we can hardcode nonexisting dirs.
- hardcode_action_GCJ=immediate
- fi
-else
- # We cannot hardcode anything, or else we can only hardcode existing
- # directories.
- hardcode_action_GCJ=unsupported
-fi
-{ echo "$as_me:$LINENO: result: $hardcode_action_GCJ" >&5
-echo "${ECHO_T}$hardcode_action_GCJ" >&6; }
-
-if test "$hardcode_action_GCJ" = relink; then
- # Fast installation is not supported
- enable_fast_install=no
-elif test "$shlibpath_overrides_runpath" = yes ||
- test "$enable_shared" = no; then
- # Fast installation is not necessary
- enable_fast_install=needless
+ ac_cv_c_bigendian=no
fi
-
-# The else clause should only fire when bootstrapping the
-# libtool distribution, otherwise you forgot to ship ltmain.sh
-# with your package, and you will get complaints that there are
-# no rules to generate ltmain.sh.
-if test -f "$ltmain"; then
- # See if we are running on zsh, and set the options which allow our commands through
- # without removal of \ escapes.
- if test -n "${ZSH_VERSION+set}" ; then
- setopt NO_GLOB_SUBST
- fi
- # Now quote all the things that may contain metacharacters while being
- # careful not to overquote the AC_SUBSTed values. We take copies of the
- # variables and quote the copies for generation of the libtool script.
- for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC LTCFLAGS NM \
- SED SHELL STRIP \
- libname_spec library_names_spec soname_spec extract_expsyms_cmds \
- old_striplib striplib file_magic_cmd finish_cmds finish_eval \
- deplibs_check_method reload_flag reload_cmds need_locks \
- lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \
- lt_cv_sys_global_symbol_to_c_name_address \
- sys_lib_search_path_spec sys_lib_dlsearch_path_spec \
- old_postinstall_cmds old_postuninstall_cmds \
- compiler_GCJ \
- CC_GCJ \
- LD_GCJ \
- lt_prog_compiler_wl_GCJ \
- lt_prog_compiler_pic_GCJ \
- lt_prog_compiler_static_GCJ \
- lt_prog_compiler_no_builtin_flag_GCJ \
- export_dynamic_flag_spec_GCJ \
- thread_safe_flag_spec_GCJ \
- whole_archive_flag_spec_GCJ \
- enable_shared_with_static_runtimes_GCJ \
- old_archive_cmds_GCJ \
- old_archive_from_new_cmds_GCJ \
- predep_objects_GCJ \
- postdep_objects_GCJ \
- predeps_GCJ \
- postdeps_GCJ \
- compiler_lib_search_path_GCJ \
- archive_cmds_GCJ \
- archive_expsym_cmds_GCJ \
- postinstall_cmds_GCJ \
- postuninstall_cmds_GCJ \
- old_archive_from_expsyms_cmds_GCJ \
- allow_undefined_flag_GCJ \
- no_undefined_flag_GCJ \
- export_symbols_cmds_GCJ \
- hardcode_libdir_flag_spec_GCJ \
- hardcode_libdir_flag_spec_ld_GCJ \
- hardcode_libdir_separator_GCJ \
- hardcode_automatic_GCJ \
- module_cmds_GCJ \
- module_expsym_cmds_GCJ \
- lt_cv_prog_compiler_c_o_GCJ \
- fix_srcfile_path_GCJ \
- exclude_expsyms_GCJ \
- include_expsyms_GCJ; do
-
- case $var in
- old_archive_cmds_GCJ | \
- old_archive_from_new_cmds_GCJ | \
- archive_cmds_GCJ | \
- archive_expsym_cmds_GCJ | \
- module_cmds_GCJ | \
- module_expsym_cmds_GCJ | \
- old_archive_from_expsyms_cmds_GCJ | \
- export_symbols_cmds_GCJ | \
- extract_expsyms_cmds | reload_cmds | finish_cmds | \
- postinstall_cmds | postuninstall_cmds | \
- old_postinstall_cmds | old_postuninstall_cmds | \
- sys_lib_search_path_spec | sys_lib_dlsearch_path_spec)
- # Double-quote double-evaled strings.
- eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\""
- ;;
- *)
- eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\""
- ;;
- esac
- done
-
- case $lt_echo in
- *'\$0 --fallback-echo"')
- lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\$0 --fallback-echo"$/$0 --fallback-echo"/'`
- ;;
- esac
-
-cfgfile="$ofile"
-
- cat <<__EOF__ >> "$cfgfile"
-# ### BEGIN LIBTOOL TAG CONFIG: $tagname
-
-# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
-
-# Shell to use when invoking shell scripts.
-SHELL=$lt_SHELL
-
-# Whether or not to build shared libraries.
-build_libtool_libs=$enable_shared
-
-# Whether or not to build static libraries.
-build_old_libs=$enable_static
-
-# Whether or not to add -lc for building shared libraries.
-build_libtool_need_lc=$archive_cmds_need_lc_GCJ
-
-# Whether or not to disallow shared libs when runtime libs are static
-allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_GCJ
-
-# Whether or not to optimize for fast installation.
-fast_install=$enable_fast_install
-
-# The host system.
-host_alias=$host_alias
-host=$host
-host_os=$host_os
-
-# The build system.
-build_alias=$build_alias
-build=$build
-build_os=$build_os
-
-# An echo program that does not interpret backslashes.
-echo=$lt_echo
-
-# The archiver.
-AR=$lt_AR
-AR_FLAGS=$lt_AR_FLAGS
-
-# A C compiler.
-LTCC=$lt_LTCC
-
-# LTCC compiler flags.
-LTCFLAGS=$lt_LTCFLAGS
-
-# A language-specific compiler.
-CC=$lt_compiler_GCJ
-
-# Is the compiler the GNU C compiler?
-with_gcc=$GCC_GCJ
-
-# An ERE matcher.
-EGREP=$lt_EGREP
-
-# The linker used to build libraries.
-LD=$lt_LD_GCJ
-
-# Whether we need hard or soft links.
-LN_S=$lt_LN_S
-
-# A BSD-compatible nm program.
-NM=$lt_NM
-
-# A symbol stripping program
-STRIP=$lt_STRIP
-
-# Used to examine libraries when file_magic_cmd begins "file"
-MAGIC_CMD=$MAGIC_CMD
-
-# Used on cygwin: DLL creation program.
-DLLTOOL="$DLLTOOL"
-
-# Used on cygwin: object dumper.
-OBJDUMP="$OBJDUMP"
-
-# Used on cygwin: assembler.
-AS="$AS"
-
-# The name of the directory that contains temporary libtool files.
-objdir=$objdir
-
-# How to create reloadable object files.
-reload_flag=$lt_reload_flag
-reload_cmds=$lt_reload_cmds
-
-# How to pass a linker flag through the compiler.
-wl=$lt_lt_prog_compiler_wl_GCJ
-
-# Object file suffix (normally "o").
-objext="$ac_objext"
-
-# Old archive suffix (normally "a").
-libext="$libext"
-
-# Shared library suffix (normally ".so").
-shrext_cmds='$shrext_cmds'
-
-# Executable file suffix (normally "").
-exeext="$exeext"
-
-# Additional compiler flags for building library objects.
-pic_flag=$lt_lt_prog_compiler_pic_GCJ
-pic_mode=$pic_mode
-
-# What is the maximum length of a command?
-max_cmd_len=$lt_cv_sys_max_cmd_len
-
-# Does compiler simultaneously support -c and -o options?
-compiler_c_o=$lt_lt_cv_prog_compiler_c_o_GCJ
-
-# Must we lock files when doing compilation?
-need_locks=$lt_need_locks
-
-# Do we need the lib prefix for modules?
-need_lib_prefix=$need_lib_prefix
-
-# Do we need a version for libraries?
-need_version=$need_version
-
-# Whether dlopen is supported.
-dlopen_support=$enable_dlopen
-
-# Whether dlopen of programs is supported.
-dlopen_self=$enable_dlopen_self
-
-# Whether dlopen of statically linked programs is supported.
-dlopen_self_static=$enable_dlopen_self_static
-
-# Compiler flag to prevent dynamic linking.
-link_static_flag=$lt_lt_prog_compiler_static_GCJ
-
-# Compiler flag to turn off builtin functions.
-no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_GCJ
-
-# Compiler flag to allow reflexive dlopens.
-export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_GCJ
-
-# Compiler flag to generate shared objects directly from archives.
-whole_archive_flag_spec=$lt_whole_archive_flag_spec_GCJ
-
-# Compiler flag to generate thread-safe objects.
-thread_safe_flag_spec=$lt_thread_safe_flag_spec_GCJ
-
-# Library versioning type.
-version_type=$version_type
-
-# Format of library name prefix.
-libname_spec=$lt_libname_spec
-
-# List of archive names. First name is the real one, the rest are links.
-# The last name is the one that the linker finds with -lNAME.
-library_names_spec=$lt_library_names_spec
-
-# The coded name of the library, if different from the real name.
-soname_spec=$lt_soname_spec
-
-# Commands used to build and install an old-style archive.
-RANLIB=$lt_RANLIB
-old_archive_cmds=$lt_old_archive_cmds_GCJ
-old_postinstall_cmds=$lt_old_postinstall_cmds
-old_postuninstall_cmds=$lt_old_postuninstall_cmds
-
-# Create an old-style archive from a shared archive.
-old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_GCJ
-
-# Create a temporary old-style archive to link instead of a shared archive.
-old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_GCJ
-
-# Commands used to build and install a shared archive.
-archive_cmds=$lt_archive_cmds_GCJ
-archive_expsym_cmds=$lt_archive_expsym_cmds_GCJ
-postinstall_cmds=$lt_postinstall_cmds
-postuninstall_cmds=$lt_postuninstall_cmds
-
-# Commands used to build a loadable module (assumed same as above if empty)
-module_cmds=$lt_module_cmds_GCJ
-module_expsym_cmds=$lt_module_expsym_cmds_GCJ
-
-# Commands to strip libraries.
-old_striplib=$lt_old_striplib
-striplib=$lt_striplib
-
-# Dependencies to place before the objects being linked to create a
-# shared library.
-predep_objects=$lt_predep_objects_GCJ
-
-# Dependencies to place after the objects being linked to create a
-# shared library.
-postdep_objects=$lt_postdep_objects_GCJ
-
-# Dependencies to place before the objects being linked to create a
-# shared library.
-predeps=$lt_predeps_GCJ
-
-# Dependencies to place after the objects being linked to create a
-# shared library.
-postdeps=$lt_postdeps_GCJ
-
-# The library search path used internally by the compiler when linking
-# a shared library.
-compiler_lib_search_path=$lt_compiler_lib_search_path_GCJ
-
-# Method to check whether dependent libraries are shared objects.
-deplibs_check_method=$lt_deplibs_check_method
-
-# Command to use when deplibs_check_method == file_magic.
-file_magic_cmd=$lt_file_magic_cmd
-
-# Flag that allows shared libraries with undefined symbols to be built.
-allow_undefined_flag=$lt_allow_undefined_flag_GCJ
-
-# Flag that forces no undefined symbols.
-no_undefined_flag=$lt_no_undefined_flag_GCJ
-
-# Commands used to finish a libtool library installation in a directory.
-finish_cmds=$lt_finish_cmds
-
-# Same as above, but a single script fragment to be evaled but not shown.
-finish_eval=$lt_finish_eval
-
-# Take the output of nm and produce a listing of raw symbols and C names.
-global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe
-
-# Transform the output of nm in a proper C declaration
-global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl
-
-# Transform the output of nm in a C name address pair
-global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address
-
-# This is the shared library runtime path variable.
-runpath_var=$runpath_var
-
-# This is the shared library path variable.
-shlibpath_var=$shlibpath_var
-
-# Is shlibpath searched before the hard-coded library search path?
-shlibpath_overrides_runpath=$shlibpath_overrides_runpath
-
-# How to hardcode a shared library path into an executable.
-hardcode_action=$hardcode_action_GCJ
-
-# Whether we should hardcode library paths into libraries.
-hardcode_into_libs=$hardcode_into_libs
-
-# Flag to hardcode \$libdir into a binary during linking.
-# This must work even if \$libdir does not exist.
-hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_GCJ
-
-# If ld is used when linking, flag to hardcode \$libdir into
-# a binary during linking. This must work even if \$libdir does
-# not exist.
-hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld_GCJ
-
-# Whether we need a single -rpath flag with a separated argument.
-hardcode_libdir_separator=$lt_hardcode_libdir_separator_GCJ
-
-# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the
-# resulting binary.
-hardcode_direct=$hardcode_direct_GCJ
-
-# Set to yes if using the -LDIR flag during linking hardcodes DIR into the
-# resulting binary.
-hardcode_minus_L=$hardcode_minus_L_GCJ
-
-# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into
-# the resulting binary.
-hardcode_shlibpath_var=$hardcode_shlibpath_var_GCJ
-
-# Set to yes if building a shared library automatically hardcodes DIR into the library
-# and all subsequent libraries and executables linked against it.
-hardcode_automatic=$hardcode_automatic_GCJ
-
-# Variables whose values should be saved in libtool wrapper scripts and
-# restored at relink time.
-variables_saved_for_relink="$variables_saved_for_relink"
-
-# Whether libtool must link a program against all its dependency libraries.
-link_all_deplibs=$link_all_deplibs_GCJ
-
-# Compile-time system search path for libraries
-sys_lib_search_path_spec=$lt_sys_lib_search_path_spec
-
-# Run-time system search path for libraries
-sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec
-
-# Fix the shell variable \$srcfile for the compiler.
-fix_srcfile_path=$lt_fix_srcfile_path
-
-# Set to yes if exported symbols are required.
-always_export_symbols=$always_export_symbols_GCJ
-
-# The commands to list exported symbols.
-export_symbols_cmds=$lt_export_symbols_cmds_GCJ
-
-# The commands to extract the exported symbol list from a shared archive.
-extract_expsyms_cmds=$lt_extract_expsyms_cmds
-
-# Symbols that should not be listed in the preloaded symbols.
-exclude_expsyms=$lt_exclude_expsyms_GCJ
-
-# Symbols that must always be exported.
-include_expsyms=$lt_include_expsyms_GCJ
-
-# ### END LIBTOOL TAG CONFIG: $tagname
-
-__EOF__
-
-
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
else
- # If there is no Makefile yet, we rely on a make rule to execute
- # `config.status --recheck' to rerun these tests and create the
- # libtool script then.
- ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'`
- if test -f "$ltmain_in"; then
- test -f Makefile && make "$ltmain"
- fi
-fi
-
-
-ac_ext=cpp
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
-CC="$lt_save_CC"
-
- else
- tagname=""
- fi
- ;;
-
- RC)
-
-
-# Source file extension for RC test sources.
-ac_ext=rc
-
-# Object file extension for compiled RC test sources.
-objext=o
-objext_RC=$objext
-
-# Code to be used in simple compile tests
-lt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }'
-
-# Code to be used in simple link tests
-lt_simple_link_test_code="$lt_simple_compile_test_code"
-
-# ltmain only uses $CC for tagged configurations so make sure $CC is set.
-
-# If no C compiler was specified, use CC.
-LTCC=${LTCC-"$CC"}
-
-# If no C compiler flags were specified, use CFLAGS.
-LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
-
-# Allow CC to be a program name with arguments.
-compiler=$CC
-
-
-# save warnings/boilerplate of simple test code
-ac_outfile=conftest.$ac_objext
-echo "$lt_simple_compile_test_code" >conftest.$ac_ext
-eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
-_lt_compiler_boilerplate=`cat conftest.err`
-$rm conftest*
-
-ac_outfile=conftest.$ac_objext
-echo "$lt_simple_link_test_code" >conftest.$ac_ext
-eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
-_lt_linker_boilerplate=`cat conftest.err`
-$rm conftest*
-
-
-# Allow CC to be a program name with arguments.
-lt_save_CC="$CC"
-CC=${RC-"windres"}
-compiler=$CC
-compiler_RC=$CC
-for cc_temp in $compiler""; do
- case $cc_temp in
- compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
- distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
- \-*) ;;
- *) break;;
- esac
-done
-cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
-
-lt_cv_prog_compiler_c_o_RC=yes
-
-# The else clause should only fire when bootstrapping the
-# libtool distribution, otherwise you forgot to ship ltmain.sh
-# with your package, and you will get complaints that there are
-# no rules to generate ltmain.sh.
-if test -f "$ltmain"; then
- # See if we are running on zsh, and set the options which allow our commands through
- # without removal of \ escapes.
- if test -n "${ZSH_VERSION+set}" ; then
- setopt NO_GLOB_SUBST
- fi
- # Now quote all the things that may contain metacharacters while being
- # careful not to overquote the AC_SUBSTed values. We take copies of the
- # variables and quote the copies for generation of the libtool script.
- for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC LTCFLAGS NM \
- SED SHELL STRIP \
- libname_spec library_names_spec soname_spec extract_expsyms_cmds \
- old_striplib striplib file_magic_cmd finish_cmds finish_eval \
- deplibs_check_method reload_flag reload_cmds need_locks \
- lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \
- lt_cv_sys_global_symbol_to_c_name_address \
- sys_lib_search_path_spec sys_lib_dlsearch_path_spec \
- old_postinstall_cmds old_postuninstall_cmds \
- compiler_RC \
- CC_RC \
- LD_RC \
- lt_prog_compiler_wl_RC \
- lt_prog_compiler_pic_RC \
- lt_prog_compiler_static_RC \
- lt_prog_compiler_no_builtin_flag_RC \
- export_dynamic_flag_spec_RC \
- thread_safe_flag_spec_RC \
- whole_archive_flag_spec_RC \
- enable_shared_with_static_runtimes_RC \
- old_archive_cmds_RC \
- old_archive_from_new_cmds_RC \
- predep_objects_RC \
- postdep_objects_RC \
- predeps_RC \
- postdeps_RC \
- compiler_lib_search_path_RC \
- archive_cmds_RC \
- archive_expsym_cmds_RC \
- postinstall_cmds_RC \
- postuninstall_cmds_RC \
- old_archive_from_expsyms_cmds_RC \
- allow_undefined_flag_RC \
- no_undefined_flag_RC \
- export_symbols_cmds_RC \
- hardcode_libdir_flag_spec_RC \
- hardcode_libdir_flag_spec_ld_RC \
- hardcode_libdir_separator_RC \
- hardcode_automatic_RC \
- module_cmds_RC \
- module_expsym_cmds_RC \
- lt_cv_prog_compiler_c_o_RC \
- fix_srcfile_path_RC \
- exclude_expsyms_RC \
- include_expsyms_RC; do
-
- case $var in
- old_archive_cmds_RC | \
- old_archive_from_new_cmds_RC | \
- archive_cmds_RC | \
- archive_expsym_cmds_RC | \
- module_cmds_RC | \
- module_expsym_cmds_RC | \
- old_archive_from_expsyms_cmds_RC | \
- export_symbols_cmds_RC | \
- extract_expsyms_cmds | reload_cmds | finish_cmds | \
- postinstall_cmds | postuninstall_cmds | \
- old_postinstall_cmds | old_postuninstall_cmds | \
- sys_lib_search_path_spec | sys_lib_dlsearch_path_spec)
- # Double-quote double-evaled strings.
- eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\""
- ;;
- *)
- eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\""
- ;;
- esac
- done
-
- case $lt_echo in
- *'\$0 --fallback-echo"')
- lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\$0 --fallback-echo"$/$0 --fallback-echo"/'`
- ;;
- esac
-
-cfgfile="$ofile"
-
- cat <<__EOF__ >> "$cfgfile"
-# ### BEGIN LIBTOOL TAG CONFIG: $tagname
-
-# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
-
-# Shell to use when invoking shell scripts.
-SHELL=$lt_SHELL
-
-# Whether or not to build shared libraries.
-build_libtool_libs=$enable_shared
-
-# Whether or not to build static libraries.
-build_old_libs=$enable_static
-
-# Whether or not to add -lc for building shared libraries.
-build_libtool_need_lc=$archive_cmds_need_lc_RC
-
-# Whether or not to disallow shared libs when runtime libs are static
-allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_RC
-
-# Whether or not to optimize for fast installation.
-fast_install=$enable_fast_install
-
-# The host system.
-host_alias=$host_alias
-host=$host
-host_os=$host_os
-
-# The build system.
-build_alias=$build_alias
-build=$build
-build_os=$build_os
-
-# An echo program that does not interpret backslashes.
-echo=$lt_echo
-
-# The archiver.
-AR=$lt_AR
-AR_FLAGS=$lt_AR_FLAGS
-
-# A C compiler.
-LTCC=$lt_LTCC
-
-# LTCC compiler flags.
-LTCFLAGS=$lt_LTCFLAGS
-
-# A language-specific compiler.
-CC=$lt_compiler_RC
-
-# Is the compiler the GNU C compiler?
-with_gcc=$GCC_RC
-
-# An ERE matcher.
-EGREP=$lt_EGREP
-
-# The linker used to build libraries.
-LD=$lt_LD_RC
-
-# Whether we need hard or soft links.
-LN_S=$lt_LN_S
-
-# A BSD-compatible nm program.
-NM=$lt_NM
-
-# A symbol stripping program
-STRIP=$lt_STRIP
-
-# Used to examine libraries when file_magic_cmd begins "file"
-MAGIC_CMD=$MAGIC_CMD
-
-# Used on cygwin: DLL creation program.
-DLLTOOL="$DLLTOOL"
-
-# Used on cygwin: object dumper.
-OBJDUMP="$OBJDUMP"
-
-# Used on cygwin: assembler.
-AS="$AS"
-
-# The name of the directory that contains temporary libtool files.
-objdir=$objdir
-
-# How to create reloadable object files.
-reload_flag=$lt_reload_flag
-reload_cmds=$lt_reload_cmds
-
-# How to pass a linker flag through the compiler.
-wl=$lt_lt_prog_compiler_wl_RC
-
-# Object file suffix (normally "o").
-objext="$ac_objext"
-
-# Old archive suffix (normally "a").
-libext="$libext"
-
-# Shared library suffix (normally ".so").
-shrext_cmds='$shrext_cmds'
-
-# Executable file suffix (normally "").
-exeext="$exeext"
-
-# Additional compiler flags for building library objects.
-pic_flag=$lt_lt_prog_compiler_pic_RC
-pic_mode=$pic_mode
-
-# What is the maximum length of a command?
-max_cmd_len=$lt_cv_sys_max_cmd_len
-
-# Does compiler simultaneously support -c and -o options?
-compiler_c_o=$lt_lt_cv_prog_compiler_c_o_RC
-
-# Must we lock files when doing compilation?
-need_locks=$lt_need_locks
-
-# Do we need the lib prefix for modules?
-need_lib_prefix=$need_lib_prefix
-
-# Do we need a version for libraries?
-need_version=$need_version
-
-# Whether dlopen is supported.
-dlopen_support=$enable_dlopen
-
-# Whether dlopen of programs is supported.
-dlopen_self=$enable_dlopen_self
-
-# Whether dlopen of statically linked programs is supported.
-dlopen_self_static=$enable_dlopen_self_static
-
-# Compiler flag to prevent dynamic linking.
-link_static_flag=$lt_lt_prog_compiler_static_RC
-
-# Compiler flag to turn off builtin functions.
-no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_RC
-
-# Compiler flag to allow reflexive dlopens.
-export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_RC
-
-# Compiler flag to generate shared objects directly from archives.
-whole_archive_flag_spec=$lt_whole_archive_flag_spec_RC
-
-# Compiler flag to generate thread-safe objects.
-thread_safe_flag_spec=$lt_thread_safe_flag_spec_RC
-
-# Library versioning type.
-version_type=$version_type
-
-# Format of library name prefix.
-libname_spec=$lt_libname_spec
-
-# List of archive names. First name is the real one, the rest are links.
-# The last name is the one that the linker finds with -lNAME.
-library_names_spec=$lt_library_names_spec
-
-# The coded name of the library, if different from the real name.
-soname_spec=$lt_soname_spec
-
-# Commands used to build and install an old-style archive.
-RANLIB=$lt_RANLIB
-old_archive_cmds=$lt_old_archive_cmds_RC
-old_postinstall_cmds=$lt_old_postinstall_cmds
-old_postuninstall_cmds=$lt_old_postuninstall_cmds
-
-# Create an old-style archive from a shared archive.
-old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_RC
-
-# Create a temporary old-style archive to link instead of a shared archive.
-old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_RC
-
-# Commands used to build and install a shared archive.
-archive_cmds=$lt_archive_cmds_RC
-archive_expsym_cmds=$lt_archive_expsym_cmds_RC
-postinstall_cmds=$lt_postinstall_cmds
-postuninstall_cmds=$lt_postuninstall_cmds
-
-# Commands used to build a loadable module (assumed same as above if empty)
-module_cmds=$lt_module_cmds_RC
-module_expsym_cmds=$lt_module_expsym_cmds_RC
-
-# Commands to strip libraries.
-old_striplib=$lt_old_striplib
-striplib=$lt_striplib
-
-# Dependencies to place before the objects being linked to create a
-# shared library.
-predep_objects=$lt_predep_objects_RC
-
-# Dependencies to place after the objects being linked to create a
-# shared library.
-postdep_objects=$lt_postdep_objects_RC
-
-# Dependencies to place before the objects being linked to create a
-# shared library.
-predeps=$lt_predeps_RC
-
-# Dependencies to place after the objects being linked to create a
-# shared library.
-postdeps=$lt_postdeps_RC
-
-# The library search path used internally by the compiler when linking
-# a shared library.
-compiler_lib_search_path=$lt_compiler_lib_search_path_RC
-
-# Method to check whether dependent libraries are shared objects.
-deplibs_check_method=$lt_deplibs_check_method
-
-# Command to use when deplibs_check_method == file_magic.
-file_magic_cmd=$lt_file_magic_cmd
-
-# Flag that allows shared libraries with undefined symbols to be built.
-allow_undefined_flag=$lt_allow_undefined_flag_RC
-
-# Flag that forces no undefined symbols.
-no_undefined_flag=$lt_no_undefined_flag_RC
-
-# Commands used to finish a libtool library installation in a directory.
-finish_cmds=$lt_finish_cmds
-
-# Same as above, but a single script fragment to be evaled but not shown.
-finish_eval=$lt_finish_eval
-
-# Take the output of nm and produce a listing of raw symbols and C names.
-global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe
-
-# Transform the output of nm in a proper C declaration
-global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl
-
-# Transform the output of nm in a C name address pair
-global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address
-
-# This is the shared library runtime path variable.
-runpath_var=$runpath_var
-
-# This is the shared library path variable.
-shlibpath_var=$shlibpath_var
-
-# Is shlibpath searched before the hard-coded library search path?
-shlibpath_overrides_runpath=$shlibpath_overrides_runpath
-
-# How to hardcode a shared library path into an executable.
-hardcode_action=$hardcode_action_RC
-
-# Whether we should hardcode library paths into libraries.
-hardcode_into_libs=$hardcode_into_libs
-
-# Flag to hardcode \$libdir into a binary during linking.
-# This must work even if \$libdir does not exist.
-hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_RC
-
-# If ld is used when linking, flag to hardcode \$libdir into
-# a binary during linking. This must work even if \$libdir does
-# not exist.
-hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld_RC
-
-# Whether we need a single -rpath flag with a separated argument.
-hardcode_libdir_separator=$lt_hardcode_libdir_separator_RC
-
-# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the
-# resulting binary.
-hardcode_direct=$hardcode_direct_RC
-
-# Set to yes if using the -LDIR flag during linking hardcodes DIR into the
-# resulting binary.
-hardcode_minus_L=$hardcode_minus_L_RC
-
-# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into
-# the resulting binary.
-hardcode_shlibpath_var=$hardcode_shlibpath_var_RC
-
-# Set to yes if building a shared library automatically hardcodes DIR into the library
-# and all subsequent libraries and executables linked against it.
-hardcode_automatic=$hardcode_automatic_RC
-
-# Variables whose values should be saved in libtool wrapper scripts and
-# restored at relink time.
-variables_saved_for_relink="$variables_saved_for_relink"
-
-# Whether libtool must link a program against all its dependency libraries.
-link_all_deplibs=$link_all_deplibs_RC
-
-# Compile-time system search path for libraries
-sys_lib_search_path_spec=$lt_sys_lib_search_path_spec
-
-# Run-time system search path for libraries
-sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec
-
-# Fix the shell variable \$srcfile for the compiler.
-fix_srcfile_path=$lt_fix_srcfile_path
-
-# Set to yes if exported symbols are required.
-always_export_symbols=$always_export_symbols_RC
-
-# The commands to list exported symbols.
-export_symbols_cmds=$lt_export_symbols_cmds_RC
-
-# The commands to extract the exported symbol list from a shared archive.
-extract_expsyms_cmds=$lt_extract_expsyms_cmds
-
-# Symbols that should not be listed in the preloaded symbols.
-exclude_expsyms=$lt_exclude_expsyms_RC
-
-# Symbols that must always be exported.
-include_expsyms=$lt_include_expsyms_RC
-
-# ### END LIBTOOL TAG CONFIG: $tagname
-
-__EOF__
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
-else
- # If there is no Makefile yet, we rely on a make rule to execute
- # `config.status --recheck' to rerun these tests and create the
- # libtool script then.
- ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'`
- if test -f "$ltmain_in"; then
- test -f Makefile && make "$ltmain"
- fi
fi
-
-ac_ext=cpp
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
-CC="$lt_save_CC"
-
- ;;
-
- *)
- { { echo "$as_me:$LINENO: error: Unsupported tag name: $tagname" >&5
-echo "$as_me: error: Unsupported tag name: $tagname" >&2;}
- { (exit 1); exit 1; }; }
- ;;
- esac
-
- # Append the new tag name to the list of available tags.
- if test -n "$tagname" ; then
- available_tags="$available_tags $tagname"
- fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
fi
- done
- IFS="$lt_save_ifs"
-
- # Now substitute the updated list of available tags.
- if eval "sed -e 's/^available_tags=.*\$/available_tags=\"$available_tags\"/' \"$ofile\" > \"${ofile}T\""; then
- mv "${ofile}T" "$ofile"
- chmod +x "$ofile"
- else
- rm -f "${ofile}T"
- { { echo "$as_me:$LINENO: error: unable to update list of available tagged configurations." >&5
-echo "$as_me: error: unable to update list of available tagged configurations." >&2;}
- { (exit 1); exit 1; }; }
- fi
-fi
-
-
-
-# This can be used to rebuild libtool when needed
-LIBTOOL_DEPS="$ac_aux_dir/ltmain.sh"
-
-# Always use our own libtool.
-LIBTOOL='$(SHELL) $(top_builddir)/libtool'
-
-# Prevent multiple expansion
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-{ echo "$as_me:$LINENO: checking whether byte ordering is bigendian" >&5
-echo $ECHO_N "checking whether byte ordering is bigendian... $ECHO_C" >&6; }
-if test "${ac_cv_c_bigendian+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- # See if sys/param.h defines the BYTE_ORDER macro.
-cat >conftest.$ac_ext <<_ACEOF
+ if test $ac_cv_c_bigendian = unknown; then
+ # See if <limits.h> defines _LITTLE_ENDIAN or _BIG_ENDIAN (e.g., Solaris).
+ cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
-#include <sys/types.h>
-#include <sys/param.h>
+#include <limits.h>
int
main ()
{
-#if ! (defined BYTE_ORDER && defined BIG_ENDIAN && defined LITTLE_ENDIAN \
- && BYTE_ORDER && BIG_ENDIAN && LITTLE_ENDIAN)
- bogus endian macros
-#endif
+#if ! (defined _LITTLE_ENDIAN || defined _BIG_ENDIAN)
+ bogus endian macros
+ #endif
;
return 0;
@@ -19887,33 +15910,33 @@ case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
(eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
test -z "$ac_cxx_werror_flag" ||
test ! -s conftest.err
} && test -s conftest.$ac_objext; then
- # It does; now see whether it defined to BIG_ENDIAN or not.
-cat >conftest.$ac_ext <<_ACEOF
+ # It does; now see whether it defined to _BIG_ENDIAN or not.
+ cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
-#include <sys/types.h>
-#include <sys/param.h>
+#include <limits.h>
int
main ()
{
-#if BYTE_ORDER != BIG_ENDIAN
- not big endian
-#endif
+#ifndef _BIG_ENDIAN
+ not big endian
+ #endif
;
return 0;
@@ -19925,20 +15948,21 @@ case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
(eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
test -z "$ac_cxx_werror_flag" ||
test ! -s conftest.err
} && test -s conftest.$ac_objext; then
ac_cv_c_bigendian=yes
else
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
ac_cv_c_bigendian=no
@@ -19946,29 +15970,44 @@ fi
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
else
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
- # It does not; compile a test program.
-if test "$cross_compiling" = yes; then
- # try to guess the endianness by grepping values into an object file
- ac_cv_c_bigendian=unknown
- cat >conftest.$ac_ext <<_ACEOF
+
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ fi
+ if test $ac_cv_c_bigendian = unknown; then
+ # Compile a test program.
+ if test "$cross_compiling" = yes; then
+ # Try to guess by grepping values from an object file.
+ cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
-short int ascii_mm[] = { 0x4249, 0x4765, 0x6E44, 0x6961, 0x6E53, 0x7953, 0 };
-short int ascii_ii[] = { 0x694C, 0x5454, 0x656C, 0x6E45, 0x6944, 0x6E61, 0 };
-void _ascii () { char *s = (char *) ascii_mm; s = (char *) ascii_ii; }
-short int ebcdic_ii[] = { 0x89D3, 0xE3E3, 0x8593, 0x95C5, 0x89C4, 0x9581, 0 };
-short int ebcdic_mm[] = { 0xC2C9, 0xC785, 0x95C4, 0x8981, 0x95E2, 0xA8E2, 0 };
-void _ebcdic () { char *s = (char *) ebcdic_mm; s = (char *) ebcdic_ii; }
+short int ascii_mm[] =
+ { 0x4249, 0x4765, 0x6E44, 0x6961, 0x6E53, 0x7953, 0 };
+ short int ascii_ii[] =
+ { 0x694C, 0x5454, 0x656C, 0x6E45, 0x6944, 0x6E61, 0 };
+ int use_ascii (int i) {
+ return ascii_mm[i] + ascii_ii[i];
+ }
+ short int ebcdic_ii[] =
+ { 0x89D3, 0xE3E3, 0x8593, 0x95C5, 0x89C4, 0x9581, 0 };
+ short int ebcdic_mm[] =
+ { 0xC2C9, 0xC785, 0x95C4, 0x8981, 0x95E2, 0xA8E2, 0 };
+ int use_ebcdic (int i) {
+ return ebcdic_mm[i] + ebcdic_ii[i];
+ }
+ extern int foo;
+
int
main ()
{
- _ascii (); _ebcdic ();
+return use_ascii (foo) == use_ebcdic (foo);
;
return 0;
}
@@ -19979,30 +16018,31 @@ case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
(eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
test -z "$ac_cxx_werror_flag" ||
test ! -s conftest.err
} && test -s conftest.$ac_objext; then
- if grep BIGenDianSyS conftest.$ac_objext >/dev/null ; then
- ac_cv_c_bigendian=yes
-fi
-if grep LiTTleEnDian conftest.$ac_objext >/dev/null ; then
- if test "$ac_cv_c_bigendian" = unknown; then
- ac_cv_c_bigendian=no
- else
- # finding both strings is unlikely to happen, but who knows?
- ac_cv_c_bigendian=unknown
- fi
-fi
+ if grep BIGenDianSyS conftest.$ac_objext >/dev/null; then
+ ac_cv_c_bigendian=yes
+ fi
+ if grep LiTTleEnDian conftest.$ac_objext >/dev/null ; then
+ if test "$ac_cv_c_bigendian" = unknown; then
+ ac_cv_c_bigendian=no
+ else
+ # finding both strings is unlikely to happen, but who knows?
+ ac_cv_c_bigendian=unknown
+ fi
+ fi
else
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
@@ -20021,14 +16061,14 @@ int
main ()
{
- /* Are we little or big endian? From Harbison&Steele. */
- union
- {
- long int l;
- char c[sizeof (long int)];
- } u;
- u.l = 1;
- return u.c[sizeof (long int) - 1] == 1;
+ /* Are we little or big endian? From Harbison&Steele. */
+ union
+ {
+ long int l;
+ char c[sizeof (long int)];
+ } u;
+ u.l = 1;
+ return u.c[sizeof (long int) - 1] == 1;
;
return 0;
@@ -20040,55 +16080,62 @@ case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
(eval "$ac_link") 2>&5
ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && { ac_try='./conftest$ac_exeext'
{ (case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
(eval "$ac_try") 2>&5
ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; }; then
ac_cv_c_bigendian=no
else
- echo "$as_me: program exited with status $ac_status" >&5
-echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: program exited with status $ac_status" >&5
+$as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
( exit $ac_status )
ac_cv_c_bigendian=yes
fi
+rm -rf conftest.dSYM
rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
fi
+ fi
fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-{ echo "$as_me:$LINENO: result: $ac_cv_c_bigendian" >&5
-echo "${ECHO_T}$ac_cv_c_bigendian" >&6; }
-case $ac_cv_c_bigendian in
- yes)
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_c_bigendian" >&5
+$as_echo "$ac_cv_c_bigendian" >&6; }
+ case $ac_cv_c_bigendian in #(
+ yes)
+ cat >>confdefs.h <<\_ACEOF
+#define WORDS_BIGENDIAN 1
+_ACEOF
+;; #(
+ no)
+ ;; #(
+ universal)
cat >>confdefs.h <<\_ACEOF
-#define WORDS_BIGENDIAN 1
+#define AC_APPLE_UNIVERSAL_BUILD 1
_ACEOF
- ;;
- no)
- ;;
- *)
- { { echo "$as_me:$LINENO: error: unknown endianness
-presetting ac_cv_c_bigendian=no (or yes) will help" >&5
-echo "$as_me: error: unknown endianness
-presetting ac_cv_c_bigendian=no (or yes) will help" >&2;}
+
+ ;; #(
+ *)
+ { { $as_echo "$as_me:$LINENO: error: unknown endianness
+ presetting ac_cv_c_bigendian=no (or yes) will help" >&5
+$as_echo "$as_me: error: unknown endianness
+ presetting ac_cv_c_bigendian=no (or yes) will help" >&2;}
{ (exit 1); exit 1; }; } ;;
-esac
+ esac
@@ -20109,11 +16156,11 @@ if test "${with_clucene+set}" = set; then
fi
-{ echo "$as_me:$LINENO: checking how to include clucene" >&5
-echo $ECHO_N "checking how to include clucene... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking how to include clucene" >&5
+$as_echo_n "checking how to include clucene... " >&6; }
if test "x$with_clucene" = "xno"; then
- { echo "$as_me:$LINENO: result: excluding support" >&5
-echo "${ECHO_T}excluding support" >&6; }
+ { $as_echo "$as_me:$LINENO: result: excluding support" >&5
+$as_echo "excluding support" >&6; }
else
#try some default locations
if test -z "$with_clucene" || test "x$with_clucene" = "xyes"; then
@@ -20168,19 +16215,19 @@ done
if test -z "$clucene_set_failed"; then
clucene_set_failed="true"
with_clucene="no"
- { echo "$as_me:$LINENO: result: excluding support" >&5
-echo "${ECHO_T}excluding support" >&6; }
+ { $as_echo "$as_me:$LINENO: result: excluding support" >&5
+$as_echo "excluding support" >&6; }
else
- { echo "$as_me:$LINENO: result: $clucene_set_failed" >&5
-echo "${ECHO_T}$clucene_set_failed" >&6; }
+ { $as_echo "$as_me:$LINENO: result: $clucene_set_failed" >&5
+$as_echo "$clucene_set_failed" >&6; }
fi
if test "$clucene_set_failed" = "true"; then
- { echo "$as_me:$LINENO: WARNING: Could not detect clucene location. To enable clucene, you must
+ { $as_echo "$as_me:$LINENO: WARNING: Could not detect clucene location. To enable clucene, you must
call configure with the --with-clucene option specifying the location.
This tells configure where to find the CLucene Core library and headers.
e.g. --with-clucene=/usr/local or --with-clucene=/usr" >&5
-echo "$as_me: WARNING: Could not detect clucene location. To enable clucene, you must
+$as_echo "$as_me: WARNING: Could not detect clucene location. To enable clucene, you must
call configure with the --with-clucene option specifying the location.
This tells configure where to find the CLucene Core library and headers.
e.g. --with-clucene=/usr/local or --with-clucene=/usr" >&2;}
@@ -20296,8 +16343,8 @@ else
enable_examples=no
fi
-{ echo "$as_me:$LINENO: checking whether to enable maintainer-specific portions of Makefiles" >&5
-echo $ECHO_N "checking whether to enable maintainer-specific portions of Makefiles... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking whether to enable maintainer-specific portions of Makefiles" >&5
+$as_echo_n "checking whether to enable maintainer-specific portions of Makefiles... " >&6; }
# Check whether --enable-maintainer-mode was given.
if test "${enable_maintainer_mode+set}" = set; then
enableval=$enable_maintainer_mode; USE_MAINTAINER_MODE=$enableval
@@ -20305,8 +16352,8 @@ else
USE_MAINTAINER_MODE=no
fi
- { echo "$as_me:$LINENO: result: $USE_MAINTAINER_MODE" >&5
-echo "${ECHO_T}$USE_MAINTAINER_MODE" >&6; }
+ { $as_echo "$as_me:$LINENO: result: $USE_MAINTAINER_MODE" >&5
+$as_echo "$USE_MAINTAINER_MODE" >&6; }
if test $USE_MAINTAINER_MODE = yes; then
MAINTAINER_MODE_TRUE=
MAINTAINER_MODE_FALSE='#'
@@ -20327,18 +16374,18 @@ fi
if test x$enable_debug = xyes; then
GCJFLAGS="-g -O0"
if test x$ac_cv_prog_cc_g = xyes; then
- AM_CFLAGS="-g3 -O0 -Wall"
+ AM_CFLAGS="-g3 -O0 -Wall -Werror"
else
- AM_CFLAGS="-O0 -Wall"
+ AM_CFLAGS="-O0 -Wall -Werror"
fi
if test x$ac_cv_prog_cxx_g = xyes; then
- AM_CXXFLAGS="-g3 -O0 -Wall"
+ AM_CXXFLAGS="-g3 -O0 -Wall -Werror"
else
- AM_CXXFLAGS="-O0 -Wall"
+ AM_CXXFLAGS="-O0 -Wall -Werror"
fi
else
- AM_CFLAGS="-O2"
- AM_CXXFLAGS="-O2"
+ AM_CFLAGS="-O3"
+ AM_CXXFLAGS="-O3"
fi
# ---------------------------------------------------------------------
@@ -20346,10 +16393,10 @@ fi
# ---------------------------------------------------------------------
if test x$with_zlib = xyes; then
-{ echo "$as_me:$LINENO: checking for compress in -lz" >&5
-echo $ECHO_N "checking for compress in -lz... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking for compress in -lz" >&5
+$as_echo_n "checking for compress in -lz... " >&6; }
if test "${ac_cv_lib_z_compress+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
ac_check_lib_save_LIBS=$LIBS
LIBS="-lz $LIBS"
@@ -20381,33 +16428,37 @@ case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
(eval "$ac_link") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
test -z "$ac_cxx_werror_flag" ||
test ! -s conftest.err
- } && test -s conftest$ac_exeext &&
- $as_test_x conftest$ac_exeext; then
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
ac_cv_lib_z_compress=yes
else
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
ac_cv_lib_z_compress=no
fi
+rm -rf conftest.dSYM
rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
conftest$ac_exeext conftest.$ac_ext
LIBS=$ac_check_lib_save_LIBS
fi
-{ echo "$as_me:$LINENO: result: $ac_cv_lib_z_compress" >&5
-echo "${ECHO_T}$ac_cv_lib_z_compress" >&6; }
-if test $ac_cv_lib_z_compress = yes; then
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_z_compress" >&5
+$as_echo "$ac_cv_lib_z_compress" >&6; }
+if test "x$ac_cv_lib_z_compress" = x""yes; then
cat >>confdefs.h <<_ACEOF
#define HAVE_LIBZ 1
_ACEOF
@@ -20460,10 +16511,10 @@ fi
# Extract the first word of "cppunit-config", so it can be a program name with args.
set dummy cppunit-config; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
if test "${ac_cv_path_CPPUNIT_CONFIG+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
case $CPPUNIT_CONFIG in
[\\/]* | ?:[\\/]*)
@@ -20478,7 +16529,7 @@ do
for ac_exec_ext in '' $ac_executable_extensions; do
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_path_CPPUNIT_CONFIG="$as_dir/$ac_word$ac_exec_ext"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
@@ -20491,18 +16542,18 @@ esac
fi
CPPUNIT_CONFIG=$ac_cv_path_CPPUNIT_CONFIG
if test -n "$CPPUNIT_CONFIG"; then
- { echo "$as_me:$LINENO: result: $CPPUNIT_CONFIG" >&5
-echo "${ECHO_T}$CPPUNIT_CONFIG" >&6; }
+ { $as_echo "$as_me:$LINENO: result: $CPPUNIT_CONFIG" >&5
+$as_echo "$CPPUNIT_CONFIG" >&6; }
else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
fi
cppunit_version_min=1.8.0
- { echo "$as_me:$LINENO: checking for Cppunit - version >= $cppunit_version_min" >&5
-echo $ECHO_N "checking for Cppunit - version >= $cppunit_version_min... $ECHO_C" >&6; }
+ { $as_echo "$as_me:$LINENO: checking for Cppunit - version >= $cppunit_version_min" >&5
+$as_echo_n "checking for Cppunit - version >= $cppunit_version_min... " >&6; }
no_cppunit=""
if test "$CPPUNIT_CONFIG" = "no" ; then
no_cppunit=yes
@@ -20534,11 +16585,11 @@ echo $ECHO_N "checking for Cppunit - version >= $cppunit_version_min... $ECHO_C"
$cppunit_micro_version \>= $cppunit_micro_min `
if test "$cppunit_version_proper" = "1" ; then
- { echo "$as_me:$LINENO: result: $cppunit_major_version.$cppunit_minor_version.$cppunit_micro_version" >&5
-echo "${ECHO_T}$cppunit_major_version.$cppunit_minor_version.$cppunit_micro_version" >&6; }
+ { $as_echo "$as_me:$LINENO: result: $cppunit_major_version.$cppunit_minor_version.$cppunit_micro_version" >&5
+$as_echo "$cppunit_major_version.$cppunit_minor_version.$cppunit_micro_version" >&6; }
else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
no_cppunit=yes
fi
fi
@@ -20573,10 +16624,10 @@ fi
use_pkgconfig=yes
# Extract the first word of "pkg-config", so it can be a program name with args.
set dummy pkg-config; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
if test "${ac_cv_path_PKG_CONFIG+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
case $PKG_CONFIG in
[\\/]* | ?:[\\/]*)
@@ -20591,7 +16642,7 @@ do
for ac_exec_ext in '' $ac_executable_extensions; do
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
@@ -20604,29 +16655,29 @@ esac
fi
PKG_CONFIG=$ac_cv_path_PKG_CONFIG
if test -n "$PKG_CONFIG"; then
- { echo "$as_me:$LINENO: result: $PKG_CONFIG" >&5
-echo "${ECHO_T}$PKG_CONFIG" >&6; }
+ { $as_echo "$as_me:$LINENO: result: $PKG_CONFIG" >&5
+$as_echo "$PKG_CONFIG" >&6; }
else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
fi
if test x$PKG_CONFIG = xno ; then
- { echo "$as_me:$LINENO: WARNING: *** pkg-config not found. See http://www.freedesktop.org/software/pkgconfig/" >&5
-echo "$as_me: WARNING: *** pkg-config not found. See http://www.freedesktop.org/software/pkgconfig/" >&2;}
- { echo "$as_me:$LINENO: WARNING: not using pkg-config" >&5
-echo "$as_me: WARNING: not using pkg-config" >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: *** pkg-config not found. See http://www.freedesktop.org/software/pkgconfig/" >&5
+$as_echo "$as_me: WARNING: *** pkg-config not found. See http://www.freedesktop.org/software/pkgconfig/" >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: not using pkg-config" >&5
+$as_echo "$as_me: WARNING: not using pkg-config" >&2;}
use_pkgconfig=no
fi
if $PKG_CONFIG --atleast-pkgconfig-version 0.14 ; then
:
else
- { echo "$as_me:$LINENO: WARNING: *** pkg-config too old; version 0.14 or better required." >&5
-echo "$as_me: WARNING: *** pkg-config too old; version 0.14 or better required." >&2;}
- { echo "$as_me:$LINENO: WARNING: not using pkg-config" >&5
-echo "$as_me: WARNING: not using pkg-config" >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: *** pkg-config too old; version 0.14 or better required." >&5
+$as_echo "$as_me: WARNING: *** pkg-config too old; version 0.14 or better required." >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: not using pkg-config" >&5
+$as_echo "$as_me: WARNING: not using pkg-config" >&2;}
use_pkgconfig=no
fi
@@ -20640,10 +16691,10 @@ ICU_IOLIBS=
if test x$with_icu = xyes; then
# Extract the first word of "pkgdata", so it can be a program name with args.
set dummy pkgdata; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
if test "${ac_cv_path_PKGDATA+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
case $PKGDATA in
[\\/]* | ?:[\\/]*)
@@ -20659,7 +16710,7 @@ do
for ac_exec_ext in '' $ac_executable_extensions; do
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_path_PKGDATA="$as_dir/$ac_word$ac_exec_ext"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
@@ -20672,20 +16723,20 @@ esac
fi
PKGDATA=$ac_cv_path_PKGDATA
if test -n "$PKGDATA"; then
- { echo "$as_me:$LINENO: result: $PKGDATA" >&5
-echo "${ECHO_T}$PKGDATA" >&6; }
+ { $as_echo "$as_me:$LINENO: result: $PKGDATA" >&5
+$as_echo "$PKGDATA" >&6; }
else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
fi
# Extract the first word of "genccode", so it can be a program name with args.
set dummy genccode; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
if test "${ac_cv_path_GENCCODE+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
case $GENCCODE in
[\\/]* | ?:[\\/]*)
@@ -20701,7 +16752,7 @@ do
for ac_exec_ext in '' $ac_executable_extensions; do
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_path_GENCCODE="$as_dir/$ac_word$ac_exec_ext"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
@@ -20714,20 +16765,20 @@ esac
fi
GENCCODE=$ac_cv_path_GENCCODE
if test -n "$GENCCODE"; then
- { echo "$as_me:$LINENO: result: $GENCCODE" >&5
-echo "${ECHO_T}$GENCCODE" >&6; }
+ { $as_echo "$as_me:$LINENO: result: $GENCCODE" >&5
+$as_echo "$GENCCODE" >&6; }
else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
fi
# Extract the first word of "gencmn", so it can be a program name with args.
set dummy gencmn; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
if test "${ac_cv_path_GENCMN+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
case $GENCMN in
[\\/]* | ?:[\\/]*)
@@ -20743,7 +16794,7 @@ do
for ac_exec_ext in '' $ac_executable_extensions; do
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_path_GENCMN="$as_dir/$ac_word$ac_exec_ext"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
@@ -20756,20 +16807,20 @@ esac
fi
GENCMN=$ac_cv_path_GENCMN
if test -n "$GENCMN"; then
- { echo "$as_me:$LINENO: result: $GENCMN" >&5
-echo "${ECHO_T}$GENCMN" >&6; }
+ { $as_echo "$as_me:$LINENO: result: $GENCMN" >&5
+$as_echo "$GENCMN" >&6; }
else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
fi
# Extract the first word of "genrb", so it can be a program name with args.
set dummy genrb; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
if test "${ac_cv_path_GENRB+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
case $GENRB in
[\\/]* | ?:[\\/]*)
@@ -20785,7 +16836,7 @@ do
for ac_exec_ext in '' $ac_executable_extensions; do
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_path_GENRB="$as_dir/$ac_word$ac_exec_ext"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
@@ -20798,21 +16849,21 @@ esac
fi
GENRB=$ac_cv_path_GENRB
if test -n "$GENRB"; then
- { echo "$as_me:$LINENO: result: $GENRB" >&5
-echo "${ECHO_T}$GENRB" >&6; }
+ { $as_echo "$as_me:$LINENO: result: $GENRB" >&5
+$as_echo "$GENRB" >&6; }
else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
fi
# Extract the first word of "icu-config", so it can be a program name with args.
set dummy icu-config; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
if test "${ac_cv_path_ICU_CONFIG+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
case $ICU_CONFIG in
[\\/]* | ?:[\\/]*)
@@ -20827,7 +16878,7 @@ do
for ac_exec_ext in '' $ac_executable_extensions; do
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_path_ICU_CONFIG="$as_dir/$ac_word$ac_exec_ext"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
@@ -20840,11 +16891,11 @@ esac
fi
ICU_CONFIG=$ac_cv_path_ICU_CONFIG
if test -n "$ICU_CONFIG"; then
- { echo "$as_me:$LINENO: result: $ICU_CONFIG" >&5
-echo "${ECHO_T}$ICU_CONFIG" >&6; }
+ { $as_echo "$as_me:$LINENO: result: $ICU_CONFIG" >&5
+$as_echo "$ICU_CONFIG" >&6; }
else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
fi
@@ -20897,10 +16948,10 @@ CURL_LIBS=
if test x$with_curl = xyes; then
# Extract the first word of "curl-config", so it can be a program name with args.
set dummy curl-config; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
if test "${ac_cv_path_CURL_CONFIG+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
case $CURL_CONFIG in
[\\/]* | ?:[\\/]*)
@@ -20915,7 +16966,7 @@ do
for ac_exec_ext in '' $ac_executable_extensions; do
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_path_CURL_CONFIG="$as_dir/$ac_word$ac_exec_ext"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
@@ -20928,11 +16979,11 @@ esac
fi
CURL_CONFIG=$ac_cv_path_CURL_CONFIG
if test -n "$CURL_CONFIG"; then
- { echo "$as_me:$LINENO: result: $CURL_CONFIG" >&5
-echo "${ECHO_T}$CURL_CONFIG" >&6; }
+ { $as_echo "$as_me:$LINENO: result: $CURL_CONFIG" >&5
+$as_echo "$CURL_CONFIG" >&6; }
else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
fi
@@ -20967,11 +17018,11 @@ fi
for ac_func in vsnprintf
do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-{ echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; }
+as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
+{ $as_echo "$as_me:$LINENO: checking for $ac_func" >&5
+$as_echo_n "checking for $ac_func... " >&6; }
if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+ $as_echo_n "(cached) " >&6
else
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
@@ -21024,35 +17075,42 @@ case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
(eval "$ac_link") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
test -z "$ac_cxx_werror_flag" ||
test ! -s conftest.err
- } && test -s conftest$ac_exeext &&
- $as_test_x conftest$ac_exeext; then
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
eval "$as_ac_var=yes"
else
- echo "$as_me: failed program was:" >&5
+ $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
eval "$as_ac_var=no"
fi
+rm -rf conftest.dSYM
rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
conftest$ac_exeext conftest.$ac_ext
fi
-ac_res=`eval echo '${'$as_ac_var'}'`
- { echo "$as_me:$LINENO: result: $ac_res" >&5
-echo "${ECHO_T}$ac_res" >&6; }
-if test `eval echo '${'$as_ac_var'}'` = yes; then
+ac_res=`eval 'as_val=${'$as_ac_var'}
+ $as_echo "$as_val"'`
+ { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+as_val=`eval 'as_val=${'$as_ac_var'}
+ $as_echo "$as_val"'`
+ if test "x$as_val" = x""yes; then
cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
+#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
_ACEOF
have_vsnprintf="yes"
fi
@@ -21267,11 +17325,12 @@ _ACEOF
case $ac_val in #(
*${as_nl}*)
case $ac_var in #(
- *_cv_*) { echo "$as_me:$LINENO: WARNING: Cache variable $ac_var contains a newline." >&5
-echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;;
+ *_cv_*) { $as_echo "$as_me:$LINENO: WARNING: cache variable $ac_var contains a newline" >&5
+$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
esac
case $ac_var in #(
_ | IFS | as_nl) ;; #(
+ BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #(
*) $as_unset $ac_var ;;
esac ;;
esac
@@ -21304,12 +17363,12 @@ echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;;
if diff "$cache_file" confcache >/dev/null 2>&1; then :; else
if test -w "$cache_file"; then
test "x$cache_file" != "x/dev/null" &&
- { echo "$as_me:$LINENO: updating cache $cache_file" >&5
-echo "$as_me: updating cache $cache_file" >&6;}
+ { $as_echo "$as_me:$LINENO: updating cache $cache_file" >&5
+$as_echo "$as_me: updating cache $cache_file" >&6;}
cat confcache >$cache_file
else
- { echo "$as_me:$LINENO: not updating unwritable cache $cache_file" >&5
-echo "$as_me: not updating unwritable cache $cache_file" >&6;}
+ { $as_echo "$as_me:$LINENO: not updating unwritable cache $cache_file" >&5
+$as_echo "$as_me: not updating unwritable cache $cache_file" >&6;}
fi
fi
rm -f confcache
@@ -21325,7 +17384,7 @@ ac_ltlibobjs=
for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue
# 1. Remove the extension, and $U if already installed.
ac_script='s/\$U\././;s/\.o$//;s/\.obj$//'
- ac_i=`echo "$ac_i" | sed "$ac_script"`
+ ac_i=`$as_echo "$ac_i" | sed "$ac_script"`
# 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR
# will be set to the directory where LIBOBJS objects are built.
ac_libobjs="$ac_libobjs \${LIBOBJDIR}$ac_i\$U.$ac_objext"
@@ -21337,159 +17396,168 @@ LTLIBOBJS=$ac_ltlibobjs
if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then
- { { echo "$as_me:$LINENO: error: conditional \"AMDEP\" was never defined.
+ { { $as_echo "$as_me:$LINENO: error: conditional \"AMDEP\" was never defined.
Usually this means the macro was only invoked conditionally." >&5
-echo "$as_me: error: conditional \"AMDEP\" was never defined.
+$as_echo "$as_me: error: conditional \"AMDEP\" was never defined.
Usually this means the macro was only invoked conditionally." >&2;}
{ (exit 1); exit 1; }; }
fi
if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then
- { { echo "$as_me:$LINENO: error: conditional \"am__fastdepCC\" was never defined.
+ { { $as_echo "$as_me:$LINENO: error: conditional \"am__fastdepCC\" was never defined.
+Usually this means the macro was only invoked conditionally." >&5
+$as_echo "$as_me: error: conditional \"am__fastdepCC\" was never defined.
+Usually this means the macro was only invoked conditionally." >&2;}
+ { (exit 1); exit 1; }; }
+fi
+if test -z "${am__fastdepCXX_TRUE}" && test -z "${am__fastdepCXX_FALSE}"; then
+ { { $as_echo "$as_me:$LINENO: error: conditional \"am__fastdepCXX\" was never defined.
Usually this means the macro was only invoked conditionally." >&5
-echo "$as_me: error: conditional \"am__fastdepCC\" was never defined.
+$as_echo "$as_me: error: conditional \"am__fastdepCXX\" was never defined.
Usually this means the macro was only invoked conditionally." >&2;}
{ (exit 1); exit 1; }; }
fi
if test -z "${am__fastdepCXX_TRUE}" && test -z "${am__fastdepCXX_FALSE}"; then
- { { echo "$as_me:$LINENO: error: conditional \"am__fastdepCXX\" was never defined.
+ { { $as_echo "$as_me:$LINENO: error: conditional \"am__fastdepCXX\" was never defined.
Usually this means the macro was only invoked conditionally." >&5
-echo "$as_me: error: conditional \"am__fastdepCXX\" was never defined.
+$as_echo "$as_me: error: conditional \"am__fastdepCXX\" was never defined.
Usually this means the macro was only invoked conditionally." >&2;}
{ (exit 1); exit 1; }; }
fi
+
if test -z "${MAINTAINER_MODE_TRUE}" && test -z "${MAINTAINER_MODE_FALSE}"; then
- { { echo "$as_me:$LINENO: error: conditional \"MAINTAINER_MODE\" was never defined.
+ { { $as_echo "$as_me:$LINENO: error: conditional \"MAINTAINER_MODE\" was never defined.
Usually this means the macro was only invoked conditionally." >&5
-echo "$as_me: error: conditional \"MAINTAINER_MODE\" was never defined.
+$as_echo "$as_me: error: conditional \"MAINTAINER_MODE\" was never defined.
Usually this means the macro was only invoked conditionally." >&2;}
{ (exit 1); exit 1; }; }
fi
if test -z "${HAVE_CPPUNIT_TRUE}" && test -z "${HAVE_CPPUNIT_FALSE}"; then
- { { echo "$as_me:$LINENO: error: conditional \"HAVE_CPPUNIT\" was never defined.
+ { { $as_echo "$as_me:$LINENO: error: conditional \"HAVE_CPPUNIT\" was never defined.
Usually this means the macro was only invoked conditionally." >&5
-echo "$as_me: error: conditional \"HAVE_CPPUNIT\" was never defined.
+$as_echo "$as_me: error: conditional \"HAVE_CPPUNIT\" was never defined.
Usually this means the macro was only invoked conditionally." >&2;}
{ (exit 1); exit 1; }; }
fi
if test -z "${HAVE_VSNPRINTF_TRUE}" && test -z "${HAVE_VSNPRINTF_FALSE}"; then
- { { echo "$as_me:$LINENO: error: conditional \"HAVE_VSNPRINTF\" was never defined.
+ { { $as_echo "$as_me:$LINENO: error: conditional \"HAVE_VSNPRINTF\" was never defined.
Usually this means the macro was only invoked conditionally." >&5
-echo "$as_me: error: conditional \"HAVE_VSNPRINTF\" was never defined.
+$as_echo "$as_me: error: conditional \"HAVE_VSNPRINTF\" was never defined.
Usually this means the macro was only invoked conditionally." >&2;}
{ (exit 1); exit 1; }; }
fi
if test -z "${MINGW_TRUE}" && test -z "${MINGW_FALSE}"; then
- { { echo "$as_me:$LINENO: error: conditional \"MINGW\" was never defined.
+ { { $as_echo "$as_me:$LINENO: error: conditional \"MINGW\" was never defined.
Usually this means the macro was only invoked conditionally." >&5
-echo "$as_me: error: conditional \"MINGW\" was never defined.
+$as_echo "$as_me: error: conditional \"MINGW\" was never defined.
Usually this means the macro was only invoked conditionally." >&2;}
{ (exit 1); exit 1; }; }
fi
if test -z "${ICU_TRUE}" && test -z "${ICU_FALSE}"; then
- { { echo "$as_me:$LINENO: error: conditional \"ICU\" was never defined.
+ { { $as_echo "$as_me:$LINENO: error: conditional \"ICU\" was never defined.
Usually this means the macro was only invoked conditionally." >&5
-echo "$as_me: error: conditional \"ICU\" was never defined.
+$as_echo "$as_me: error: conditional \"ICU\" was never defined.
Usually this means the macro was only invoked conditionally." >&2;}
{ (exit 1); exit 1; }; }
fi
if test -z "${USELUCENE_TRUE}" && test -z "${USELUCENE_FALSE}"; then
- { { echo "$as_me:$LINENO: error: conditional \"USELUCENE\" was never defined.
+ { { $as_echo "$as_me:$LINENO: error: conditional \"USELUCENE\" was never defined.
Usually this means the macro was only invoked conditionally." >&5
-echo "$as_me: error: conditional \"USELUCENE\" was never defined.
+$as_echo "$as_me: error: conditional \"USELUCENE\" was never defined.
Usually this means the macro was only invoked conditionally." >&2;}
{ (exit 1); exit 1; }; }
fi
if test -z "${ICUSWORD_TRUE}" && test -z "${ICUSWORD_FALSE}"; then
- { { echo "$as_me:$LINENO: error: conditional \"ICUSWORD\" was never defined.
+ { { $as_echo "$as_me:$LINENO: error: conditional \"ICUSWORD\" was never defined.
Usually this means the macro was only invoked conditionally." >&5
-echo "$as_me: error: conditional \"ICUSWORD\" was never defined.
+$as_echo "$as_me: error: conditional \"ICUSWORD\" was never defined.
Usually this means the macro was only invoked conditionally." >&2;}
{ (exit 1); exit 1; }; }
fi
if test -z "${ZLIB_TRUE}" && test -z "${ZLIB_FALSE}"; then
- { { echo "$as_me:$LINENO: error: conditional \"ZLIB\" was never defined.
+ { { $as_echo "$as_me:$LINENO: error: conditional \"ZLIB\" was never defined.
Usually this means the macro was only invoked conditionally." >&5
-echo "$as_me: error: conditional \"ZLIB\" was never defined.
+$as_echo "$as_me: error: conditional \"ZLIB\" was never defined.
Usually this means the macro was only invoked conditionally." >&2;}
{ (exit 1); exit 1; }; }
fi
if test -z "${SHAREDLIB_TRUE}" && test -z "${SHAREDLIB_FALSE}"; then
- { { echo "$as_me:$LINENO: error: conditional \"SHAREDLIB\" was never defined.
+ { { $as_echo "$as_me:$LINENO: error: conditional \"SHAREDLIB\" was never defined.
Usually this means the macro was only invoked conditionally." >&5
-echo "$as_me: error: conditional \"SHAREDLIB\" was never defined.
+$as_echo "$as_me: error: conditional \"SHAREDLIB\" was never defined.
Usually this means the macro was only invoked conditionally." >&2;}
{ (exit 1); exit 1; }; }
fi
if test -z "${INSTCONF_TRUE}" && test -z "${INSTCONF_FALSE}"; then
- { { echo "$as_me:$LINENO: error: conditional \"INSTCONF\" was never defined.
+ { { $as_echo "$as_me:$LINENO: error: conditional \"INSTCONF\" was never defined.
Usually this means the macro was only invoked conditionally." >&5
-echo "$as_me: error: conditional \"INSTCONF\" was never defined.
+$as_echo "$as_me: error: conditional \"INSTCONF\" was never defined.
Usually this means the macro was only invoked conditionally." >&2;}
{ (exit 1); exit 1; }; }
fi
if test -z "${INSTALLMGR_TRUE}" && test -z "${INSTALLMGR_FALSE}"; then
- { { echo "$as_me:$LINENO: error: conditional \"INSTALLMGR\" was never defined.
+ { { $as_echo "$as_me:$LINENO: error: conditional \"INSTALLMGR\" was never defined.
Usually this means the macro was only invoked conditionally." >&5
-echo "$as_me: error: conditional \"INSTALLMGR\" was never defined.
+$as_echo "$as_me: error: conditional \"INSTALLMGR\" was never defined.
Usually this means the macro was only invoked conditionally." >&2;}
{ (exit 1); exit 1; }; }
fi
if test -z "${WITHCURL_TRUE}" && test -z "${WITHCURL_FALSE}"; then
- { { echo "$as_me:$LINENO: error: conditional \"WITHCURL\" was never defined.
+ { { $as_echo "$as_me:$LINENO: error: conditional \"WITHCURL\" was never defined.
Usually this means the macro was only invoked conditionally." >&5
-echo "$as_me: error: conditional \"WITHCURL\" was never defined.
+$as_echo "$as_me: error: conditional \"WITHCURL\" was never defined.
Usually this means the macro was only invoked conditionally." >&2;}
{ (exit 1); exit 1; }; }
fi
if test -z "${INTERNALFTPLIB_TRUE}" && test -z "${INTERNALFTPLIB_FALSE}"; then
- { { echo "$as_me:$LINENO: error: conditional \"INTERNALFTPLIB\" was never defined.
+ { { $as_echo "$as_me:$LINENO: error: conditional \"INTERNALFTPLIB\" was never defined.
Usually this means the macro was only invoked conditionally." >&5
-echo "$as_me: error: conditional \"INTERNALFTPLIB\" was never defined.
+$as_echo "$as_me: error: conditional \"INTERNALFTPLIB\" was never defined.
Usually this means the macro was only invoked conditionally." >&2;}
{ (exit 1); exit 1; }; }
fi
if test -z "${CONFDEF_TRUE}" && test -z "${CONFDEF_FALSE}"; then
- { { echo "$as_me:$LINENO: error: conditional \"CONFDEF\" was never defined.
+ { { $as_echo "$as_me:$LINENO: error: conditional \"CONFDEF\" was never defined.
Usually this means the macro was only invoked conditionally." >&5
-echo "$as_me: error: conditional \"CONFDEF\" was never defined.
+$as_echo "$as_me: error: conditional \"CONFDEF\" was never defined.
Usually this means the macro was only invoked conditionally." >&2;}
{ (exit 1); exit 1; }; }
fi
if test -z "${USE_PKGCONF_TRUE}" && test -z "${USE_PKGCONF_FALSE}"; then
- { { echo "$as_me:$LINENO: error: conditional \"USE_PKGCONF\" was never defined.
+ { { $as_echo "$as_me:$LINENO: error: conditional \"USE_PKGCONF\" was never defined.
Usually this means the macro was only invoked conditionally." >&5
-echo "$as_me: error: conditional \"USE_PKGCONF\" was never defined.
+$as_echo "$as_me: error: conditional \"USE_PKGCONF\" was never defined.
Usually this means the macro was only invoked conditionally." >&2;}
{ (exit 1); exit 1; }; }
fi
if test -z "${BUILDTESTS_TRUE}" && test -z "${BUILDTESTS_FALSE}"; then
- { { echo "$as_me:$LINENO: error: conditional \"BUILDTESTS\" was never defined.
+ { { $as_echo "$as_me:$LINENO: error: conditional \"BUILDTESTS\" was never defined.
Usually this means the macro was only invoked conditionally." >&5
-echo "$as_me: error: conditional \"BUILDTESTS\" was never defined.
+$as_echo "$as_me: error: conditional \"BUILDTESTS\" was never defined.
Usually this means the macro was only invoked conditionally." >&2;}
{ (exit 1); exit 1; }; }
fi
if test -z "${BUILDUTILS_TRUE}" && test -z "${BUILDUTILS_FALSE}"; then
- { { echo "$as_me:$LINENO: error: conditional \"BUILDUTILS\" was never defined.
+ { { $as_echo "$as_me:$LINENO: error: conditional \"BUILDUTILS\" was never defined.
Usually this means the macro was only invoked conditionally." >&5
-echo "$as_me: error: conditional \"BUILDUTILS\" was never defined.
+$as_echo "$as_me: error: conditional \"BUILDUTILS\" was never defined.
Usually this means the macro was only invoked conditionally." >&2;}
{ (exit 1); exit 1; }; }
fi
if test -z "${BUILDEXAMPLES_TRUE}" && test -z "${BUILDEXAMPLES_FALSE}"; then
- { { echo "$as_me:$LINENO: error: conditional \"BUILDEXAMPLES\" was never defined.
+ { { $as_echo "$as_me:$LINENO: error: conditional \"BUILDEXAMPLES\" was never defined.
Usually this means the macro was only invoked conditionally." >&5
-echo "$as_me: error: conditional \"BUILDEXAMPLES\" was never defined.
+$as_echo "$as_me: error: conditional \"BUILDEXAMPLES\" was never defined.
Usually this means the macro was only invoked conditionally." >&2;}
{ (exit 1); exit 1; }; }
fi
: ${CONFIG_STATUS=./config.status}
+ac_write_fail=0
ac_clean_files_save=$ac_clean_files
ac_clean_files="$ac_clean_files $CONFIG_STATUS"
-{ echo "$as_me:$LINENO: creating $CONFIG_STATUS" >&5
-echo "$as_me: creating $CONFIG_STATUS" >&6;}
-cat >$CONFIG_STATUS <<_ACEOF
+{ $as_echo "$as_me:$LINENO: creating $CONFIG_STATUS" >&5
+$as_echo "$as_me: creating $CONFIG_STATUS" >&6;}
+cat >$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
#! $SHELL
# Generated by $as_me.
# Run this file to recreate the current configuration.
@@ -21502,7 +17570,7 @@ ac_cs_silent=false
SHELL=\${CONFIG_SHELL-$SHELL}
_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
## --------------------- ##
## M4sh Initialization. ##
## --------------------- ##
@@ -21512,7 +17580,7 @@ DUALCASE=1; export DUALCASE # for MKS sh
if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
emulate sh
NULLCMD=:
- # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
+ # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
# is contrary to our usage. Disable this feature.
alias -g '${1+"$@"}'='"$@"'
setopt NO_GLOB_SUBST
@@ -21534,17 +17602,45 @@ as_cr_Letters=$as_cr_letters$as_cr_LETTERS
as_cr_digits='0123456789'
as_cr_alnum=$as_cr_Letters$as_cr_digits
-# The user is always right.
-if test "${PATH_SEPARATOR+set}" != set; then
- echo "#! /bin/sh" >conf$$.sh
- echo "exit 0" >>conf$$.sh
- chmod +x conf$$.sh
- if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
- PATH_SEPARATOR=';'
+as_nl='
+'
+export as_nl
+# Printing a long string crashes Solaris 7 /usr/bin/printf.
+as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
+as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo
+as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo
+if (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then
+ as_echo='printf %s\n'
+ as_echo_n='printf %s'
+else
+ if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then
+ as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"'
+ as_echo_n='/usr/ucb/echo -n'
else
- PATH_SEPARATOR=:
+ as_echo_body='eval expr "X$1" : "X\\(.*\\)"'
+ as_echo_n_body='eval
+ arg=$1;
+ case $arg in
+ *"$as_nl"*)
+ expr "X$arg" : "X\\(.*\\)$as_nl";
+ arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;;
+ esac;
+ expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl"
+ '
+ export as_echo_n_body
+ as_echo_n='sh -c $as_echo_n_body as_echo'
fi
- rm -f conf$$.sh
+ export as_echo_body
+ as_echo='sh -c $as_echo_body as_echo'
+fi
+
+# The user is always right.
+if test "${PATH_SEPARATOR+set}" != set; then
+ PATH_SEPARATOR=:
+ (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
+ (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
+ PATH_SEPARATOR=';'
+ }
fi
# Support unset when possible.
@@ -21560,8 +17656,6 @@ fi
# there to prevent editors from complaining about space-tab.
# (If _AS_PATH_WALK were called with IFS unset, it would disable word
# splitting by setting IFS to empty value.)
-as_nl='
-'
IFS=" "" $as_nl"
# Find who we are. Look in the path if we contain no directory separator.
@@ -21584,7 +17678,7 @@ if test "x$as_myself" = x; then
as_myself=$0
fi
if test ! -f "$as_myself"; then
- echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
+ $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
{ (exit 1); exit 1; }
fi
@@ -21597,17 +17691,10 @@ PS2='> '
PS4='+ '
# NLS nuisances.
-for as_var in \
- LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \
- LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \
- LC_TELEPHONE LC_TIME
-do
- if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then
- eval $as_var=C; export $as_var
- else
- ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
- fi
-done
+LC_ALL=C
+export LC_ALL
+LANGUAGE=C
+export LANGUAGE
# Required to use basename.
if expr a : '\(a\)' >/dev/null 2>&1 &&
@@ -21629,7 +17716,7 @@ as_me=`$as_basename -- "$0" ||
$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
X"$0" : 'X\(//\)$' \| \
X"$0" : 'X\(/\)' \| . 2>/dev/null ||
-echo X/"$0" |
+$as_echo X/"$0" |
sed '/^.*\/\([^/][^/]*\)\/*$/{
s//\1/
q
@@ -21680,7 +17767,7 @@ $as_unset CDPATH
s/-\n.*//
' >$as_me.lineno &&
chmod +x "$as_me.lineno" ||
- { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2
+ { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2
{ (exit 1); exit 1; }; }
# Don't try to exec as it changes $[0], causing all sort of problems
@@ -21708,7 +17795,6 @@ case `echo -n x` in
*)
ECHO_N='-n';;
esac
-
if expr a : '\(a\)' >/dev/null 2>&1 &&
test "X`expr 00001 : '.*\(...\)'`" = X001; then
as_expr=expr
@@ -21721,19 +17807,22 @@ if test -d conf$$.dir; then
rm -f conf$$.dir/conf$$.file
else
rm -f conf$$.dir
- mkdir conf$$.dir
-fi
-echo >conf$$.file
-if ln -s conf$$.file conf$$ 2>/dev/null; then
- as_ln_s='ln -s'
- # ... but there are two gotchas:
- # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
- # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
- # In both cases, we have to default to `cp -p'.
- ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
+ mkdir conf$$.dir 2>/dev/null
+fi
+if (echo >conf$$.file) 2>/dev/null; then
+ if ln -s conf$$.file conf$$ 2>/dev/null; then
+ as_ln_s='ln -s'
+ # ... but there are two gotchas:
+ # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
+ # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
+ # In both cases, we have to default to `cp -p'.
+ ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
+ as_ln_s='cp -p'
+ elif ln conf$$.file conf$$ 2>/dev/null; then
+ as_ln_s=ln
+ else
as_ln_s='cp -p'
-elif ln conf$$.file conf$$ 2>/dev/null; then
- as_ln_s=ln
+ fi
else
as_ln_s='cp -p'
fi
@@ -21758,10 +17847,10 @@ else
as_test_x='
eval sh -c '\''
if test -d "$1"; then
- test -d "$1/.";
+ test -d "$1/.";
else
case $1 in
- -*)set "./$1";;
+ -*)set "./$1";;
esac;
case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in
???[sx]*):;;*)false;;esac;fi
@@ -21783,8 +17872,8 @@ exec 6>&1
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
-This file was extended by sword $as_me 1.5.11, which was
-generated by GNU Autoconf 2.61. Invocation command line was
+This file was extended by sword $as_me 1.6.0, which was
+generated by GNU Autoconf 2.63. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
CONFIG_HEADERS = $CONFIG_HEADERS
@@ -21797,7 +17886,16 @@ on `(hostname || uname -n) 2>/dev/null | sed 1q`
_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF
+case $ac_config_files in *"
+"*) set x $ac_config_files; shift; ac_config_files=$*;;
+esac
+
+case $ac_config_headers in *"
+"*) set x $ac_config_headers; shift; ac_config_headers=$*;;
+esac
+
+
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
# Files that config.status was made for.
config_files="$ac_config_files"
config_headers="$ac_config_headers"
@@ -21805,22 +17903,23 @@ config_commands="$ac_config_commands"
_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
ac_cs_usage="\
\`$as_me' instantiates files from templates according to the
current configuration.
-Usage: $0 [OPTIONS] [FILE]...
+Usage: $0 [OPTION]... [FILE]...
-h, --help print this help, then exit
-V, --version print version number and configuration settings, then exit
- -q, --quiet do not print progress messages
+ -q, --quiet, --silent
+ do not print progress messages
-d, --debug don't remove temporary files
--recheck update $as_me by reconfiguring in the same conditions
- --file=FILE[:TEMPLATE]
- instantiate the configuration file FILE
- --header=FILE[:TEMPLATE]
- instantiate the configuration header FILE
+ --file=FILE[:TEMPLATE]
+ instantiate the configuration file FILE
+ --header=FILE[:TEMPLATE]
+ instantiate the configuration header FILE
Configuration files:
$config_files
@@ -21834,13 +17933,13 @@ $config_commands
Report bugs to <bug-autoconf@gnu.org>."
_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_version="\\
-sword config.status 1.5.11
-configured by $0, generated by GNU Autoconf 2.61,
- with options \\"`echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
+sword config.status 1.6.0
+configured by $0, generated by GNU Autoconf 2.63,
+ with options \\"`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
-Copyright (C) 2006 Free Software Foundation, Inc.
+Copyright (C) 2008 Free Software Foundation, Inc.
This config.status script is free software; the Free Software Foundation
gives unlimited permission to copy, distribute and modify it."
@@ -21848,11 +17947,12 @@ ac_pwd='$ac_pwd'
srcdir='$srcdir'
INSTALL='$INSTALL'
MKDIR_P='$MKDIR_P'
+AWK='$AWK'
+test -n "\$AWK" || AWK=awk
_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF
-# If no file are specified by the user, then we need to provide default
-# value. By we need to know if files were specified by the user.
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+# The default lists apply if the user does not specify any file.
ac_need_defaults=:
while test $# != 0
do
@@ -21874,30 +17974,36 @@ do
-recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
ac_cs_recheck=: ;;
--version | --versio | --versi | --vers | --ver | --ve | --v | -V )
- echo "$ac_cs_version"; exit ;;
+ $as_echo "$ac_cs_version"; exit ;;
--debug | --debu | --deb | --de | --d | -d )
debug=: ;;
--file | --fil | --fi | --f )
$ac_shift
- CONFIG_FILES="$CONFIG_FILES $ac_optarg"
+ case $ac_optarg in
+ *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
+ esac
+ CONFIG_FILES="$CONFIG_FILES '$ac_optarg'"
ac_need_defaults=false;;
--header | --heade | --head | --hea )
$ac_shift
- CONFIG_HEADERS="$CONFIG_HEADERS $ac_optarg"
+ case $ac_optarg in
+ *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
+ esac
+ CONFIG_HEADERS="$CONFIG_HEADERS '$ac_optarg'"
ac_need_defaults=false;;
--he | --h)
# Conflict between --help and --header
- { echo "$as_me: error: ambiguous option: $1
+ { $as_echo "$as_me: error: ambiguous option: $1
Try \`$0 --help' for more information." >&2
{ (exit 1); exit 1; }; };;
--help | --hel | -h )
- echo "$ac_cs_usage"; exit ;;
+ $as_echo "$ac_cs_usage"; exit ;;
-q | -quiet | --quiet | --quie | --qui | --qu | --q \
| -silent | --silent | --silen | --sile | --sil | --si | --s)
ac_cs_silent=: ;;
# This is an error.
- -*) { echo "$as_me: error: unrecognized option: $1
+ -*) { $as_echo "$as_me: error: unrecognized option: $1
Try \`$0 --help' for more information." >&2
{ (exit 1); exit 1; }; } ;;
@@ -21916,35 +18022,389 @@ if $ac_cs_silent; then
fi
_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
if \$ac_cs_recheck; then
- echo "running CONFIG_SHELL=$SHELL $SHELL $0 "$ac_configure_args \$ac_configure_extra_args " --no-create --no-recursion" >&6
- CONFIG_SHELL=$SHELL
+ set X '$SHELL' '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
+ shift
+ \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6
+ CONFIG_SHELL='$SHELL'
export CONFIG_SHELL
- exec $SHELL "$0"$ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
+ exec "\$@"
fi
_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
exec 5>>config.log
{
echo
sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX
## Running $as_me. ##
_ASBOX
- echo "$ac_log"
+ $as_echo "$ac_log"
} >&5
_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
#
# INIT-COMMANDS
#
AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"
+
+# The HP-UX ksh and POSIX shell print the target directory to stdout
+# if CDPATH is set.
+(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
+
+sed_quote_subst='$sed_quote_subst'
+double_quote_subst='$double_quote_subst'
+delay_variable_subst='$delay_variable_subst'
+AS='`$ECHO "X$AS" | $Xsed -e "$delay_single_quote_subst"`'
+DLLTOOL='`$ECHO "X$DLLTOOL" | $Xsed -e "$delay_single_quote_subst"`'
+OBJDUMP='`$ECHO "X$OBJDUMP" | $Xsed -e "$delay_single_quote_subst"`'
+macro_version='`$ECHO "X$macro_version" | $Xsed -e "$delay_single_quote_subst"`'
+macro_revision='`$ECHO "X$macro_revision" | $Xsed -e "$delay_single_quote_subst"`'
+enable_shared='`$ECHO "X$enable_shared" | $Xsed -e "$delay_single_quote_subst"`'
+enable_static='`$ECHO "X$enable_static" | $Xsed -e "$delay_single_quote_subst"`'
+pic_mode='`$ECHO "X$pic_mode" | $Xsed -e "$delay_single_quote_subst"`'
+enable_fast_install='`$ECHO "X$enable_fast_install" | $Xsed -e "$delay_single_quote_subst"`'
+host_alias='`$ECHO "X$host_alias" | $Xsed -e "$delay_single_quote_subst"`'
+host='`$ECHO "X$host" | $Xsed -e "$delay_single_quote_subst"`'
+host_os='`$ECHO "X$host_os" | $Xsed -e "$delay_single_quote_subst"`'
+build_alias='`$ECHO "X$build_alias" | $Xsed -e "$delay_single_quote_subst"`'
+build='`$ECHO "X$build" | $Xsed -e "$delay_single_quote_subst"`'
+build_os='`$ECHO "X$build_os" | $Xsed -e "$delay_single_quote_subst"`'
+SED='`$ECHO "X$SED" | $Xsed -e "$delay_single_quote_subst"`'
+Xsed='`$ECHO "X$Xsed" | $Xsed -e "$delay_single_quote_subst"`'
+GREP='`$ECHO "X$GREP" | $Xsed -e "$delay_single_quote_subst"`'
+EGREP='`$ECHO "X$EGREP" | $Xsed -e "$delay_single_quote_subst"`'
+FGREP='`$ECHO "X$FGREP" | $Xsed -e "$delay_single_quote_subst"`'
+LD='`$ECHO "X$LD" | $Xsed -e "$delay_single_quote_subst"`'
+NM='`$ECHO "X$NM" | $Xsed -e "$delay_single_quote_subst"`'
+LN_S='`$ECHO "X$LN_S" | $Xsed -e "$delay_single_quote_subst"`'
+max_cmd_len='`$ECHO "X$max_cmd_len" | $Xsed -e "$delay_single_quote_subst"`'
+ac_objext='`$ECHO "X$ac_objext" | $Xsed -e "$delay_single_quote_subst"`'
+exeext='`$ECHO "X$exeext" | $Xsed -e "$delay_single_quote_subst"`'
+lt_unset='`$ECHO "X$lt_unset" | $Xsed -e "$delay_single_quote_subst"`'
+lt_SP2NL='`$ECHO "X$lt_SP2NL" | $Xsed -e "$delay_single_quote_subst"`'
+lt_NL2SP='`$ECHO "X$lt_NL2SP" | $Xsed -e "$delay_single_quote_subst"`'
+reload_flag='`$ECHO "X$reload_flag" | $Xsed -e "$delay_single_quote_subst"`'
+reload_cmds='`$ECHO "X$reload_cmds" | $Xsed -e "$delay_single_quote_subst"`'
+deplibs_check_method='`$ECHO "X$deplibs_check_method" | $Xsed -e "$delay_single_quote_subst"`'
+file_magic_cmd='`$ECHO "X$file_magic_cmd" | $Xsed -e "$delay_single_quote_subst"`'
+AR='`$ECHO "X$AR" | $Xsed -e "$delay_single_quote_subst"`'
+AR_FLAGS='`$ECHO "X$AR_FLAGS" | $Xsed -e "$delay_single_quote_subst"`'
+STRIP='`$ECHO "X$STRIP" | $Xsed -e "$delay_single_quote_subst"`'
+RANLIB='`$ECHO "X$RANLIB" | $Xsed -e "$delay_single_quote_subst"`'
+old_postinstall_cmds='`$ECHO "X$old_postinstall_cmds" | $Xsed -e "$delay_single_quote_subst"`'
+old_postuninstall_cmds='`$ECHO "X$old_postuninstall_cmds" | $Xsed -e "$delay_single_quote_subst"`'
+old_archive_cmds='`$ECHO "X$old_archive_cmds" | $Xsed -e "$delay_single_quote_subst"`'
+CC='`$ECHO "X$CC" | $Xsed -e "$delay_single_quote_subst"`'
+CFLAGS='`$ECHO "X$CFLAGS" | $Xsed -e "$delay_single_quote_subst"`'
+compiler='`$ECHO "X$compiler" | $Xsed -e "$delay_single_quote_subst"`'
+GCC='`$ECHO "X$GCC" | $Xsed -e "$delay_single_quote_subst"`'
+lt_cv_sys_global_symbol_pipe='`$ECHO "X$lt_cv_sys_global_symbol_pipe" | $Xsed -e "$delay_single_quote_subst"`'
+lt_cv_sys_global_symbol_to_cdecl='`$ECHO "X$lt_cv_sys_global_symbol_to_cdecl" | $Xsed -e "$delay_single_quote_subst"`'
+lt_cv_sys_global_symbol_to_c_name_address='`$ECHO "X$lt_cv_sys_global_symbol_to_c_name_address" | $Xsed -e "$delay_single_quote_subst"`'
+lt_cv_sys_global_symbol_to_c_name_address_lib_prefix='`$ECHO "X$lt_cv_sys_global_symbol_to_c_name_address_lib_prefix" | $Xsed -e "$delay_single_quote_subst"`'
+objdir='`$ECHO "X$objdir" | $Xsed -e "$delay_single_quote_subst"`'
+SHELL='`$ECHO "X$SHELL" | $Xsed -e "$delay_single_quote_subst"`'
+ECHO='`$ECHO "X$ECHO" | $Xsed -e "$delay_single_quote_subst"`'
+MAGIC_CMD='`$ECHO "X$MAGIC_CMD" | $Xsed -e "$delay_single_quote_subst"`'
+lt_prog_compiler_no_builtin_flag='`$ECHO "X$lt_prog_compiler_no_builtin_flag" | $Xsed -e "$delay_single_quote_subst"`'
+lt_prog_compiler_wl='`$ECHO "X$lt_prog_compiler_wl" | $Xsed -e "$delay_single_quote_subst"`'
+lt_prog_compiler_pic='`$ECHO "X$lt_prog_compiler_pic" | $Xsed -e "$delay_single_quote_subst"`'
+lt_prog_compiler_static='`$ECHO "X$lt_prog_compiler_static" | $Xsed -e "$delay_single_quote_subst"`'
+lt_cv_prog_compiler_c_o='`$ECHO "X$lt_cv_prog_compiler_c_o" | $Xsed -e "$delay_single_quote_subst"`'
+need_locks='`$ECHO "X$need_locks" | $Xsed -e "$delay_single_quote_subst"`'
+DSYMUTIL='`$ECHO "X$DSYMUTIL" | $Xsed -e "$delay_single_quote_subst"`'
+NMEDIT='`$ECHO "X$NMEDIT" | $Xsed -e "$delay_single_quote_subst"`'
+LIPO='`$ECHO "X$LIPO" | $Xsed -e "$delay_single_quote_subst"`'
+OTOOL='`$ECHO "X$OTOOL" | $Xsed -e "$delay_single_quote_subst"`'
+OTOOL64='`$ECHO "X$OTOOL64" | $Xsed -e "$delay_single_quote_subst"`'
+libext='`$ECHO "X$libext" | $Xsed -e "$delay_single_quote_subst"`'
+shrext_cmds='`$ECHO "X$shrext_cmds" | $Xsed -e "$delay_single_quote_subst"`'
+extract_expsyms_cmds='`$ECHO "X$extract_expsyms_cmds" | $Xsed -e "$delay_single_quote_subst"`'
+archive_cmds_need_lc='`$ECHO "X$archive_cmds_need_lc" | $Xsed -e "$delay_single_quote_subst"`'
+enable_shared_with_static_runtimes='`$ECHO "X$enable_shared_with_static_runtimes" | $Xsed -e "$delay_single_quote_subst"`'
+export_dynamic_flag_spec='`$ECHO "X$export_dynamic_flag_spec" | $Xsed -e "$delay_single_quote_subst"`'
+whole_archive_flag_spec='`$ECHO "X$whole_archive_flag_spec" | $Xsed -e "$delay_single_quote_subst"`'
+compiler_needs_object='`$ECHO "X$compiler_needs_object" | $Xsed -e "$delay_single_quote_subst"`'
+old_archive_from_new_cmds='`$ECHO "X$old_archive_from_new_cmds" | $Xsed -e "$delay_single_quote_subst"`'
+old_archive_from_expsyms_cmds='`$ECHO "X$old_archive_from_expsyms_cmds" | $Xsed -e "$delay_single_quote_subst"`'
+archive_cmds='`$ECHO "X$archive_cmds" | $Xsed -e "$delay_single_quote_subst"`'
+archive_expsym_cmds='`$ECHO "X$archive_expsym_cmds" | $Xsed -e "$delay_single_quote_subst"`'
+module_cmds='`$ECHO "X$module_cmds" | $Xsed -e "$delay_single_quote_subst"`'
+module_expsym_cmds='`$ECHO "X$module_expsym_cmds" | $Xsed -e "$delay_single_quote_subst"`'
+with_gnu_ld='`$ECHO "X$with_gnu_ld" | $Xsed -e "$delay_single_quote_subst"`'
+allow_undefined_flag='`$ECHO "X$allow_undefined_flag" | $Xsed -e "$delay_single_quote_subst"`'
+no_undefined_flag='`$ECHO "X$no_undefined_flag" | $Xsed -e "$delay_single_quote_subst"`'
+hardcode_libdir_flag_spec='`$ECHO "X$hardcode_libdir_flag_spec" | $Xsed -e "$delay_single_quote_subst"`'
+hardcode_libdir_flag_spec_ld='`$ECHO "X$hardcode_libdir_flag_spec_ld" | $Xsed -e "$delay_single_quote_subst"`'
+hardcode_libdir_separator='`$ECHO "X$hardcode_libdir_separator" | $Xsed -e "$delay_single_quote_subst"`'
+hardcode_direct='`$ECHO "X$hardcode_direct" | $Xsed -e "$delay_single_quote_subst"`'
+hardcode_direct_absolute='`$ECHO "X$hardcode_direct_absolute" | $Xsed -e "$delay_single_quote_subst"`'
+hardcode_minus_L='`$ECHO "X$hardcode_minus_L" | $Xsed -e "$delay_single_quote_subst"`'
+hardcode_shlibpath_var='`$ECHO "X$hardcode_shlibpath_var" | $Xsed -e "$delay_single_quote_subst"`'
+hardcode_automatic='`$ECHO "X$hardcode_automatic" | $Xsed -e "$delay_single_quote_subst"`'
+inherit_rpath='`$ECHO "X$inherit_rpath" | $Xsed -e "$delay_single_quote_subst"`'
+link_all_deplibs='`$ECHO "X$link_all_deplibs" | $Xsed -e "$delay_single_quote_subst"`'
+fix_srcfile_path='`$ECHO "X$fix_srcfile_path" | $Xsed -e "$delay_single_quote_subst"`'
+always_export_symbols='`$ECHO "X$always_export_symbols" | $Xsed -e "$delay_single_quote_subst"`'
+export_symbols_cmds='`$ECHO "X$export_symbols_cmds" | $Xsed -e "$delay_single_quote_subst"`'
+exclude_expsyms='`$ECHO "X$exclude_expsyms" | $Xsed -e "$delay_single_quote_subst"`'
+include_expsyms='`$ECHO "X$include_expsyms" | $Xsed -e "$delay_single_quote_subst"`'
+prelink_cmds='`$ECHO "X$prelink_cmds" | $Xsed -e "$delay_single_quote_subst"`'
+file_list_spec='`$ECHO "X$file_list_spec" | $Xsed -e "$delay_single_quote_subst"`'
+variables_saved_for_relink='`$ECHO "X$variables_saved_for_relink" | $Xsed -e "$delay_single_quote_subst"`'
+need_lib_prefix='`$ECHO "X$need_lib_prefix" | $Xsed -e "$delay_single_quote_subst"`'
+need_version='`$ECHO "X$need_version" | $Xsed -e "$delay_single_quote_subst"`'
+version_type='`$ECHO "X$version_type" | $Xsed -e "$delay_single_quote_subst"`'
+runpath_var='`$ECHO "X$runpath_var" | $Xsed -e "$delay_single_quote_subst"`'
+shlibpath_var='`$ECHO "X$shlibpath_var" | $Xsed -e "$delay_single_quote_subst"`'
+shlibpath_overrides_runpath='`$ECHO "X$shlibpath_overrides_runpath" | $Xsed -e "$delay_single_quote_subst"`'
+libname_spec='`$ECHO "X$libname_spec" | $Xsed -e "$delay_single_quote_subst"`'
+library_names_spec='`$ECHO "X$library_names_spec" | $Xsed -e "$delay_single_quote_subst"`'
+soname_spec='`$ECHO "X$soname_spec" | $Xsed -e "$delay_single_quote_subst"`'
+postinstall_cmds='`$ECHO "X$postinstall_cmds" | $Xsed -e "$delay_single_quote_subst"`'
+postuninstall_cmds='`$ECHO "X$postuninstall_cmds" | $Xsed -e "$delay_single_quote_subst"`'
+finish_cmds='`$ECHO "X$finish_cmds" | $Xsed -e "$delay_single_quote_subst"`'
+finish_eval='`$ECHO "X$finish_eval" | $Xsed -e "$delay_single_quote_subst"`'
+hardcode_into_libs='`$ECHO "X$hardcode_into_libs" | $Xsed -e "$delay_single_quote_subst"`'
+sys_lib_search_path_spec='`$ECHO "X$sys_lib_search_path_spec" | $Xsed -e "$delay_single_quote_subst"`'
+sys_lib_dlsearch_path_spec='`$ECHO "X$sys_lib_dlsearch_path_spec" | $Xsed -e "$delay_single_quote_subst"`'
+hardcode_action='`$ECHO "X$hardcode_action" | $Xsed -e "$delay_single_quote_subst"`'
+enable_dlopen='`$ECHO "X$enable_dlopen" | $Xsed -e "$delay_single_quote_subst"`'
+enable_dlopen_self='`$ECHO "X$enable_dlopen_self" | $Xsed -e "$delay_single_quote_subst"`'
+enable_dlopen_self_static='`$ECHO "X$enable_dlopen_self_static" | $Xsed -e "$delay_single_quote_subst"`'
+old_striplib='`$ECHO "X$old_striplib" | $Xsed -e "$delay_single_quote_subst"`'
+striplib='`$ECHO "X$striplib" | $Xsed -e "$delay_single_quote_subst"`'
+compiler_lib_search_dirs='`$ECHO "X$compiler_lib_search_dirs" | $Xsed -e "$delay_single_quote_subst"`'
+predep_objects='`$ECHO "X$predep_objects" | $Xsed -e "$delay_single_quote_subst"`'
+postdep_objects='`$ECHO "X$postdep_objects" | $Xsed -e "$delay_single_quote_subst"`'
+predeps='`$ECHO "X$predeps" | $Xsed -e "$delay_single_quote_subst"`'
+postdeps='`$ECHO "X$postdeps" | $Xsed -e "$delay_single_quote_subst"`'
+compiler_lib_search_path='`$ECHO "X$compiler_lib_search_path" | $Xsed -e "$delay_single_quote_subst"`'
+LD_CXX='`$ECHO "X$LD_CXX" | $Xsed -e "$delay_single_quote_subst"`'
+old_archive_cmds_CXX='`$ECHO "X$old_archive_cmds_CXX" | $Xsed -e "$delay_single_quote_subst"`'
+compiler_CXX='`$ECHO "X$compiler_CXX" | $Xsed -e "$delay_single_quote_subst"`'
+GCC_CXX='`$ECHO "X$GCC_CXX" | $Xsed -e "$delay_single_quote_subst"`'
+lt_prog_compiler_no_builtin_flag_CXX='`$ECHO "X$lt_prog_compiler_no_builtin_flag_CXX" | $Xsed -e "$delay_single_quote_subst"`'
+lt_prog_compiler_wl_CXX='`$ECHO "X$lt_prog_compiler_wl_CXX" | $Xsed -e "$delay_single_quote_subst"`'
+lt_prog_compiler_pic_CXX='`$ECHO "X$lt_prog_compiler_pic_CXX" | $Xsed -e "$delay_single_quote_subst"`'
+lt_prog_compiler_static_CXX='`$ECHO "X$lt_prog_compiler_static_CXX" | $Xsed -e "$delay_single_quote_subst"`'
+lt_cv_prog_compiler_c_o_CXX='`$ECHO "X$lt_cv_prog_compiler_c_o_CXX" | $Xsed -e "$delay_single_quote_subst"`'
+archive_cmds_need_lc_CXX='`$ECHO "X$archive_cmds_need_lc_CXX" | $Xsed -e "$delay_single_quote_subst"`'
+enable_shared_with_static_runtimes_CXX='`$ECHO "X$enable_shared_with_static_runtimes_CXX" | $Xsed -e "$delay_single_quote_subst"`'
+export_dynamic_flag_spec_CXX='`$ECHO "X$export_dynamic_flag_spec_CXX" | $Xsed -e "$delay_single_quote_subst"`'
+whole_archive_flag_spec_CXX='`$ECHO "X$whole_archive_flag_spec_CXX" | $Xsed -e "$delay_single_quote_subst"`'
+compiler_needs_object_CXX='`$ECHO "X$compiler_needs_object_CXX" | $Xsed -e "$delay_single_quote_subst"`'
+old_archive_from_new_cmds_CXX='`$ECHO "X$old_archive_from_new_cmds_CXX" | $Xsed -e "$delay_single_quote_subst"`'
+old_archive_from_expsyms_cmds_CXX='`$ECHO "X$old_archive_from_expsyms_cmds_CXX" | $Xsed -e "$delay_single_quote_subst"`'
+archive_cmds_CXX='`$ECHO "X$archive_cmds_CXX" | $Xsed -e "$delay_single_quote_subst"`'
+archive_expsym_cmds_CXX='`$ECHO "X$archive_expsym_cmds_CXX" | $Xsed -e "$delay_single_quote_subst"`'
+module_cmds_CXX='`$ECHO "X$module_cmds_CXX" | $Xsed -e "$delay_single_quote_subst"`'
+module_expsym_cmds_CXX='`$ECHO "X$module_expsym_cmds_CXX" | $Xsed -e "$delay_single_quote_subst"`'
+with_gnu_ld_CXX='`$ECHO "X$with_gnu_ld_CXX" | $Xsed -e "$delay_single_quote_subst"`'
+allow_undefined_flag_CXX='`$ECHO "X$allow_undefined_flag_CXX" | $Xsed -e "$delay_single_quote_subst"`'
+no_undefined_flag_CXX='`$ECHO "X$no_undefined_flag_CXX" | $Xsed -e "$delay_single_quote_subst"`'
+hardcode_libdir_flag_spec_CXX='`$ECHO "X$hardcode_libdir_flag_spec_CXX" | $Xsed -e "$delay_single_quote_subst"`'
+hardcode_libdir_flag_spec_ld_CXX='`$ECHO "X$hardcode_libdir_flag_spec_ld_CXX" | $Xsed -e "$delay_single_quote_subst"`'
+hardcode_libdir_separator_CXX='`$ECHO "X$hardcode_libdir_separator_CXX" | $Xsed -e "$delay_single_quote_subst"`'
+hardcode_direct_CXX='`$ECHO "X$hardcode_direct_CXX" | $Xsed -e "$delay_single_quote_subst"`'
+hardcode_direct_absolute_CXX='`$ECHO "X$hardcode_direct_absolute_CXX" | $Xsed -e "$delay_single_quote_subst"`'
+hardcode_minus_L_CXX='`$ECHO "X$hardcode_minus_L_CXX" | $Xsed -e "$delay_single_quote_subst"`'
+hardcode_shlibpath_var_CXX='`$ECHO "X$hardcode_shlibpath_var_CXX" | $Xsed -e "$delay_single_quote_subst"`'
+hardcode_automatic_CXX='`$ECHO "X$hardcode_automatic_CXX" | $Xsed -e "$delay_single_quote_subst"`'
+inherit_rpath_CXX='`$ECHO "X$inherit_rpath_CXX" | $Xsed -e "$delay_single_quote_subst"`'
+link_all_deplibs_CXX='`$ECHO "X$link_all_deplibs_CXX" | $Xsed -e "$delay_single_quote_subst"`'
+fix_srcfile_path_CXX='`$ECHO "X$fix_srcfile_path_CXX" | $Xsed -e "$delay_single_quote_subst"`'
+always_export_symbols_CXX='`$ECHO "X$always_export_symbols_CXX" | $Xsed -e "$delay_single_quote_subst"`'
+export_symbols_cmds_CXX='`$ECHO "X$export_symbols_cmds_CXX" | $Xsed -e "$delay_single_quote_subst"`'
+exclude_expsyms_CXX='`$ECHO "X$exclude_expsyms_CXX" | $Xsed -e "$delay_single_quote_subst"`'
+include_expsyms_CXX='`$ECHO "X$include_expsyms_CXX" | $Xsed -e "$delay_single_quote_subst"`'
+prelink_cmds_CXX='`$ECHO "X$prelink_cmds_CXX" | $Xsed -e "$delay_single_quote_subst"`'
+file_list_spec_CXX='`$ECHO "X$file_list_spec_CXX" | $Xsed -e "$delay_single_quote_subst"`'
+hardcode_action_CXX='`$ECHO "X$hardcode_action_CXX" | $Xsed -e "$delay_single_quote_subst"`'
+compiler_lib_search_dirs_CXX='`$ECHO "X$compiler_lib_search_dirs_CXX" | $Xsed -e "$delay_single_quote_subst"`'
+predep_objects_CXX='`$ECHO "X$predep_objects_CXX" | $Xsed -e "$delay_single_quote_subst"`'
+postdep_objects_CXX='`$ECHO "X$postdep_objects_CXX" | $Xsed -e "$delay_single_quote_subst"`'
+predeps_CXX='`$ECHO "X$predeps_CXX" | $Xsed -e "$delay_single_quote_subst"`'
+postdeps_CXX='`$ECHO "X$postdeps_CXX" | $Xsed -e "$delay_single_quote_subst"`'
+compiler_lib_search_path_CXX='`$ECHO "X$compiler_lib_search_path_CXX" | $Xsed -e "$delay_single_quote_subst"`'
+
+LTCC='$LTCC'
+LTCFLAGS='$LTCFLAGS'
+compiler='$compiler_DEFAULT'
+
+# Quote evaled strings.
+for var in SED \
+GREP \
+EGREP \
+FGREP \
+LD \
+NM \
+LN_S \
+lt_SP2NL \
+lt_NL2SP \
+reload_flag \
+deplibs_check_method \
+file_magic_cmd \
+AR \
+AR_FLAGS \
+STRIP \
+RANLIB \
+CC \
+CFLAGS \
+compiler \
+lt_cv_sys_global_symbol_pipe \
+lt_cv_sys_global_symbol_to_cdecl \
+lt_cv_sys_global_symbol_to_c_name_address \
+lt_cv_sys_global_symbol_to_c_name_address_lib_prefix \
+SHELL \
+ECHO \
+lt_prog_compiler_no_builtin_flag \
+lt_prog_compiler_wl \
+lt_prog_compiler_pic \
+lt_prog_compiler_static \
+lt_cv_prog_compiler_c_o \
+need_locks \
+DSYMUTIL \
+NMEDIT \
+LIPO \
+OTOOL \
+OTOOL64 \
+shrext_cmds \
+export_dynamic_flag_spec \
+whole_archive_flag_spec \
+compiler_needs_object \
+with_gnu_ld \
+allow_undefined_flag \
+no_undefined_flag \
+hardcode_libdir_flag_spec \
+hardcode_libdir_flag_spec_ld \
+hardcode_libdir_separator \
+fix_srcfile_path \
+exclude_expsyms \
+include_expsyms \
+file_list_spec \
+variables_saved_for_relink \
+libname_spec \
+library_names_spec \
+soname_spec \
+finish_eval \
+old_striplib \
+striplib \
+compiler_lib_search_dirs \
+predep_objects \
+postdep_objects \
+predeps \
+postdeps \
+compiler_lib_search_path \
+LD_CXX \
+compiler_CXX \
+lt_prog_compiler_no_builtin_flag_CXX \
+lt_prog_compiler_wl_CXX \
+lt_prog_compiler_pic_CXX \
+lt_prog_compiler_static_CXX \
+lt_cv_prog_compiler_c_o_CXX \
+export_dynamic_flag_spec_CXX \
+whole_archive_flag_spec_CXX \
+compiler_needs_object_CXX \
+with_gnu_ld_CXX \
+allow_undefined_flag_CXX \
+no_undefined_flag_CXX \
+hardcode_libdir_flag_spec_CXX \
+hardcode_libdir_flag_spec_ld_CXX \
+hardcode_libdir_separator_CXX \
+fix_srcfile_path_CXX \
+exclude_expsyms_CXX \
+include_expsyms_CXX \
+file_list_spec_CXX \
+compiler_lib_search_dirs_CXX \
+predep_objects_CXX \
+postdep_objects_CXX \
+predeps_CXX \
+postdeps_CXX \
+compiler_lib_search_path_CXX; do
+ case \`eval \\\\\$ECHO "X\\\\\$\$var"\` in
+ *[\\\\\\\`\\"\\\$]*)
+ eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"X\\\$\$var\\" | \\\$Xsed -e \\"\\\$sed_quote_subst\\"\\\`\\\\\\""
+ ;;
+ *)
+ eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
+ ;;
+ esac
+done
+
+# Double-quote double-evaled strings.
+for var in reload_cmds \
+old_postinstall_cmds \
+old_postuninstall_cmds \
+old_archive_cmds \
+extract_expsyms_cmds \
+old_archive_from_new_cmds \
+old_archive_from_expsyms_cmds \
+archive_cmds \
+archive_expsym_cmds \
+module_cmds \
+module_expsym_cmds \
+export_symbols_cmds \
+prelink_cmds \
+postinstall_cmds \
+postuninstall_cmds \
+finish_cmds \
+sys_lib_search_path_spec \
+sys_lib_dlsearch_path_spec \
+old_archive_cmds_CXX \
+old_archive_from_new_cmds_CXX \
+old_archive_from_expsyms_cmds_CXX \
+archive_cmds_CXX \
+archive_expsym_cmds_CXX \
+module_cmds_CXX \
+module_expsym_cmds_CXX \
+export_symbols_cmds_CXX \
+prelink_cmds_CXX; do
+ case \`eval \\\\\$ECHO "X\\\\\$\$var"\` in
+ *[\\\\\\\`\\"\\\$]*)
+ eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"X\\\$\$var\\" | \\\$Xsed -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\""
+ ;;
+ *)
+ eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
+ ;;
+ esac
+done
+
+# Fix-up fallback echo if it was mangled by the above quoting rules.
+case \$lt_ECHO in
+*'\\\$0 --fallback-echo"') lt_ECHO=\`\$ECHO "X\$lt_ECHO" | \$Xsed -e 's/\\\\\\\\\\\\\\\$0 --fallback-echo"\$/\$0 --fallback-echo"/'\`
+ ;;
+esac
+
+ac_aux_dir='$ac_aux_dir'
+xsi_shell='$xsi_shell'
+lt_shell_append='$lt_shell_append'
+
+# See if we are running on zsh, and set the options which allow our
+# commands through without removal of \ escapes INIT.
+if test -n "\${ZSH_VERSION+set}" ; then
+ setopt NO_GLOB_SUBST
+fi
+
+
+ PACKAGE='$PACKAGE'
+ VERSION='$VERSION'
+ TIMESTAMP='$TIMESTAMP'
+ RM='$RM'
+ ofile='$ofile'
+
+
+
+
+
+
_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
# Handling of arguments.
for ac_config_target in $ac_config_targets
@@ -21952,6 +18412,7 @@ do
case $ac_config_target in
"include/config.h") CONFIG_HEADERS="$CONFIG_HEADERS include/config.h" ;;
"depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;;
+ "libtool") CONFIG_COMMANDS="$CONFIG_COMMANDS libtool" ;;
"Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;;
"lib/Makefile") CONFIG_FILES="$CONFIG_FILES lib/Makefile" ;;
"tests/Makefile") CONFIG_FILES="$CONFIG_FILES tests/Makefile" ;;
@@ -21964,8 +18425,8 @@ do
"sword.pc") CONFIG_FILES="$CONFIG_FILES sword.pc" ;;
"sword.spec") CONFIG_FILES="$CONFIG_FILES sword.spec" ;;
- *) { { echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5
-echo "$as_me: error: invalid argument: $ac_config_target" >&2;}
+ *) { { $as_echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5
+$as_echo "$as_me: error: invalid argument: $ac_config_target" >&2;}
{ (exit 1); exit 1; }; };;
esac
done
@@ -22006,281 +18467,144 @@ $debug ||
(umask 077 && mkdir "$tmp")
} ||
{
- echo "$me: cannot create a temporary directory in ." >&2
+ $as_echo "$as_me: cannot create a temporary directory in ." >&2
{ (exit 1); exit 1; }
}
-#
-# Set up the sed scripts for CONFIG_FILES section.
-#
-
-# No need to generate the scripts if there are no CONFIG_FILES.
-# This happens for instance when ./config.status config.h
+# Set up the scripts for CONFIG_FILES section.
+# No need to generate them if there are no CONFIG_FILES.
+# This happens for instance with `./config.status config.h'.
if test -n "$CONFIG_FILES"; then
-_ACEOF
-
-
-
-ac_delim='%!_!# '
-for ac_last_try in false false false false false :; do
- cat >conf$$subs.sed <<_ACEOF
-SHELL!$SHELL$ac_delim
-PATH_SEPARATOR!$PATH_SEPARATOR$ac_delim
-PACKAGE_NAME!$PACKAGE_NAME$ac_delim
-PACKAGE_TARNAME!$PACKAGE_TARNAME$ac_delim
-PACKAGE_VERSION!$PACKAGE_VERSION$ac_delim
-PACKAGE_STRING!$PACKAGE_STRING$ac_delim
-PACKAGE_BUGREPORT!$PACKAGE_BUGREPORT$ac_delim
-exec_prefix!$exec_prefix$ac_delim
-prefix!$prefix$ac_delim
-program_transform_name!$program_transform_name$ac_delim
-bindir!$bindir$ac_delim
-sbindir!$sbindir$ac_delim
-libexecdir!$libexecdir$ac_delim
-datarootdir!$datarootdir$ac_delim
-datadir!$datadir$ac_delim
-sysconfdir!$sysconfdir$ac_delim
-sharedstatedir!$sharedstatedir$ac_delim
-localstatedir!$localstatedir$ac_delim
-includedir!$includedir$ac_delim
-oldincludedir!$oldincludedir$ac_delim
-docdir!$docdir$ac_delim
-infodir!$infodir$ac_delim
-htmldir!$htmldir$ac_delim
-dvidir!$dvidir$ac_delim
-pdfdir!$pdfdir$ac_delim
-psdir!$psdir$ac_delim
-libdir!$libdir$ac_delim
-localedir!$localedir$ac_delim
-mandir!$mandir$ac_delim
-DEFS!$DEFS$ac_delim
-ECHO_C!$ECHO_C$ac_delim
-ECHO_N!$ECHO_N$ac_delim
-ECHO_T!$ECHO_T$ac_delim
-LIBS!$LIBS$ac_delim
-build_alias!$build_alias$ac_delim
-host_alias!$host_alias$ac_delim
-target_alias!$target_alias$ac_delim
-build!$build$ac_delim
-build_cpu!$build_cpu$ac_delim
-build_vendor!$build_vendor$ac_delim
-build_os!$build_os$ac_delim
-host!$host$ac_delim
-host_cpu!$host_cpu$ac_delim
-host_vendor!$host_vendor$ac_delim
-host_os!$host_os$ac_delim
-target!$target$ac_delim
-target_cpu!$target_cpu$ac_delim
-target_vendor!$target_vendor$ac_delim
-target_os!$target_os$ac_delim
-INSTALL_PROGRAM!$INSTALL_PROGRAM$ac_delim
-INSTALL_SCRIPT!$INSTALL_SCRIPT$ac_delim
-INSTALL_DATA!$INSTALL_DATA$ac_delim
-am__isrc!$am__isrc$ac_delim
-CYGPATH_W!$CYGPATH_W$ac_delim
-PACKAGE!$PACKAGE$ac_delim
-VERSION!$VERSION$ac_delim
-ACLOCAL!$ACLOCAL$ac_delim
-AUTOCONF!$AUTOCONF$ac_delim
-AUTOMAKE!$AUTOMAKE$ac_delim
-AUTOHEADER!$AUTOHEADER$ac_delim
-MAKEINFO!$MAKEINFO$ac_delim
-install_sh!$install_sh$ac_delim
-STRIP!$STRIP$ac_delim
-INSTALL_STRIP_PROGRAM!$INSTALL_STRIP_PROGRAM$ac_delim
-mkdir_p!$mkdir_p$ac_delim
-AWK!$AWK$ac_delim
-SET_MAKE!$SET_MAKE$ac_delim
-am__leading_dot!$am__leading_dot$ac_delim
-AMTAR!$AMTAR$ac_delim
-am__tar!$am__tar$ac_delim
-am__untar!$am__untar$ac_delim
-CC!$CC$ac_delim
-CFLAGS!$CFLAGS$ac_delim
-LDFLAGS!$LDFLAGS$ac_delim
-CPPFLAGS!$CPPFLAGS$ac_delim
-ac_ct_CC!$ac_ct_CC$ac_delim
-EXEEXT!$EXEEXT$ac_delim
-OBJEXT!$OBJEXT$ac_delim
-DEPDIR!$DEPDIR$ac_delim
-am__include!$am__include$ac_delim
-am__quote!$am__quote$ac_delim
-AMDEP_TRUE!$AMDEP_TRUE$ac_delim
-AMDEP_FALSE!$AMDEP_FALSE$ac_delim
-AMDEPBACKSLASH!$AMDEPBACKSLASH$ac_delim
-CCDEPMODE!$CCDEPMODE$ac_delim
-am__fastdepCC_TRUE!$am__fastdepCC_TRUE$ac_delim
-am__fastdepCC_FALSE!$am__fastdepCC_FALSE$ac_delim
-CXX!$CXX$ac_delim
-CXXFLAGS!$CXXFLAGS$ac_delim
-ac_ct_CXX!$ac_ct_CXX$ac_delim
-CXXDEPMODE!$CXXDEPMODE$ac_delim
-am__fastdepCXX_TRUE!$am__fastdepCXX_TRUE$ac_delim
-am__fastdepCXX_FALSE!$am__fastdepCXX_FALSE$ac_delim
-SED!$SED$ac_delim
-GREP!$GREP$ac_delim
-EGREP!$EGREP$ac_delim
-LN_S!$LN_S$ac_delim
-_ACEOF
-
- if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 97; then
- break
- elif $ac_last_try; then
- { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5
-echo "$as_me: error: could not make $CONFIG_STATUS" >&2;}
- { (exit 1); exit 1; }; }
- else
- ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
- fi
-done
-ac_eof=`sed -n '/^CEOF[0-9]*$/s/CEOF/0/p' conf$$subs.sed`
-if test -n "$ac_eof"; then
- ac_eof=`echo "$ac_eof" | sort -nru | sed 1q`
- ac_eof=`expr $ac_eof + 1`
+ac_cr=' '
+ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' </dev/null 2>/dev/null`
+if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then
+ ac_cs_awk_cr='\\r'
+else
+ ac_cs_awk_cr=$ac_cr
fi
-cat >>$CONFIG_STATUS <<_ACEOF
-cat >"\$tmp/subs-1.sed" <<\CEOF$ac_eof
-/@[a-zA-Z_][a-zA-Z_0-9]*@/!b
-_ACEOF
-sed '
-s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g
-s/^/s,@/; s/!/@,|#_!!_#|/
-:n
-t n
-s/'"$ac_delim"'$/,g/; t
-s/$/\\/; p
-N; s/^.*\n//; s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g; b n
-' >>$CONFIG_STATUS <conf$$subs.sed
-rm -f conf$$subs.sed
-cat >>$CONFIG_STATUS <<_ACEOF
-CEOF$ac_eof
+echo 'BEGIN {' >"$tmp/subs1.awk" &&
_ACEOF
+{
+ echo "cat >conf$$subs.awk <<_ACEOF" &&
+ echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' &&
+ echo "_ACEOF"
+} >conf$$subs.sh ||
+ { { $as_echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5
+$as_echo "$as_me: error: could not make $CONFIG_STATUS" >&2;}
+ { (exit 1); exit 1; }; }
+ac_delim_num=`echo "$ac_subst_vars" | grep -c '$'`
ac_delim='%!_!# '
for ac_last_try in false false false false false :; do
- cat >conf$$subs.sed <<_ACEOF
-ECHO!$ECHO$ac_delim
-AR!$AR$ac_delim
-RANLIB!$RANLIB$ac_delim
-DLLTOOL!$DLLTOOL$ac_delim
-AS!$AS$ac_delim
-OBJDUMP!$OBJDUMP$ac_delim
-CPP!$CPP$ac_delim
-CXXCPP!$CXXCPP$ac_delim
-F77!$F77$ac_delim
-FFLAGS!$FFLAGS$ac_delim
-ac_ct_F77!$ac_ct_F77$ac_delim
-LIBTOOL!$LIBTOOL$ac_delim
-CLUCENE_LIBS!$CLUCENE_LIBS$ac_delim
-CLUCENE_CXXFLAGS!$CLUCENE_CXXFLAGS$ac_delim
-MAINTAINER_MODE_TRUE!$MAINTAINER_MODE_TRUE$ac_delim
-MAINTAINER_MODE_FALSE!$MAINTAINER_MODE_FALSE$ac_delim
-MAINT!$MAINT$ac_delim
-CPPUNIT_CONFIG!$CPPUNIT_CONFIG$ac_delim
-CPPUNIT_CFLAGS!$CPPUNIT_CFLAGS$ac_delim
-CPPUNIT_LIBS!$CPPUNIT_LIBS$ac_delim
-HAVE_CPPUNIT_TRUE!$HAVE_CPPUNIT_TRUE$ac_delim
-HAVE_CPPUNIT_FALSE!$HAVE_CPPUNIT_FALSE$ac_delim
-PKG_CONFIG!$PKG_CONFIG$ac_delim
-PKGDATA!$PKGDATA$ac_delim
-GENCCODE!$GENCCODE$ac_delim
-GENCMN!$GENCMN$ac_delim
-GENRB!$GENRB$ac_delim
-ICU_CONFIG!$ICU_CONFIG$ac_delim
-CURL_CONFIG!$CURL_CONFIG$ac_delim
-with_zlib!$with_zlib$ac_delim
-with_icu!$with_icu$ac_delim
-with_conf!$with_conf$ac_delim
-dir_confdef!$dir_confdef$ac_delim
-CURL_AM_CFLAGS!$CURL_AM_CFLAGS$ac_delim
-CURL_LIBS!$CURL_LIBS$ac_delim
-ICU_LIBS!$ICU_LIBS$ac_delim
-ICU_IOLIBS!$ICU_IOLIBS$ac_delim
-ICU_VER!$ICU_VER$ac_delim
-XML_LIBS!$XML_LIBS$ac_delim
-enable_debug!$enable_debug$ac_delim
-enable_profile!$enable_profile$ac_delim
-AM_CXXFLAGS!$AM_CXXFLAGS$ac_delim
-target_system!$target_system$ac_delim
-target_mingw32!$target_mingw32$ac_delim
-HAVE_VSNPRINTF_TRUE!$HAVE_VSNPRINTF_TRUE$ac_delim
-HAVE_VSNPRINTF_FALSE!$HAVE_VSNPRINTF_FALSE$ac_delim
-MINGW_TRUE!$MINGW_TRUE$ac_delim
-MINGW_FALSE!$MINGW_FALSE$ac_delim
-ICU_TRUE!$ICU_TRUE$ac_delim
-ICU_FALSE!$ICU_FALSE$ac_delim
-USELUCENE_TRUE!$USELUCENE_TRUE$ac_delim
-USELUCENE_FALSE!$USELUCENE_FALSE$ac_delim
-ICUSWORD_TRUE!$ICUSWORD_TRUE$ac_delim
-ICUSWORD_FALSE!$ICUSWORD_FALSE$ac_delim
-ZLIB_TRUE!$ZLIB_TRUE$ac_delim
-ZLIB_FALSE!$ZLIB_FALSE$ac_delim
-SHAREDLIB_TRUE!$SHAREDLIB_TRUE$ac_delim
-SHAREDLIB_FALSE!$SHAREDLIB_FALSE$ac_delim
-INSTCONF_TRUE!$INSTCONF_TRUE$ac_delim
-INSTCONF_FALSE!$INSTCONF_FALSE$ac_delim
-INSTALLMGR_TRUE!$INSTALLMGR_TRUE$ac_delim
-INSTALLMGR_FALSE!$INSTALLMGR_FALSE$ac_delim
-WITHCURL_TRUE!$WITHCURL_TRUE$ac_delim
-WITHCURL_FALSE!$WITHCURL_FALSE$ac_delim
-INTERNALFTPLIB_TRUE!$INTERNALFTPLIB_TRUE$ac_delim
-INTERNALFTPLIB_FALSE!$INTERNALFTPLIB_FALSE$ac_delim
-CONFDEF_TRUE!$CONFDEF_TRUE$ac_delim
-CONFDEF_FALSE!$CONFDEF_FALSE$ac_delim
-USE_PKGCONF_TRUE!$USE_PKGCONF_TRUE$ac_delim
-USE_PKGCONF_FALSE!$USE_PKGCONF_FALSE$ac_delim
-BUILDTESTS_TRUE!$BUILDTESTS_TRUE$ac_delim
-BUILDTESTS_FALSE!$BUILDTESTS_FALSE$ac_delim
-BUILDUTILS_TRUE!$BUILDUTILS_TRUE$ac_delim
-BUILDUTILS_FALSE!$BUILDUTILS_FALSE$ac_delim
-BUILDEXAMPLES_TRUE!$BUILDEXAMPLES_TRUE$ac_delim
-BUILDEXAMPLES_FALSE!$BUILDEXAMPLES_FALSE$ac_delim
-LIBOBJS!$LIBOBJS$ac_delim
-LTLIBOBJS!$LTLIBOBJS$ac_delim
-_ACEOF
+ . ./conf$$subs.sh ||
+ { { $as_echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5
+$as_echo "$as_me: error: could not make $CONFIG_STATUS" >&2;}
+ { (exit 1); exit 1; }; }
- if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 78; then
+ ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X`
+ if test $ac_delim_n = $ac_delim_num; then
break
elif $ac_last_try; then
- { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5
-echo "$as_me: error: could not make $CONFIG_STATUS" >&2;}
+ { { $as_echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5
+$as_echo "$as_me: error: could not make $CONFIG_STATUS" >&2;}
{ (exit 1); exit 1; }; }
else
ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
fi
done
+rm -f conf$$subs.sh
-ac_eof=`sed -n '/^CEOF[0-9]*$/s/CEOF/0/p' conf$$subs.sed`
-if test -n "$ac_eof"; then
- ac_eof=`echo "$ac_eof" | sort -nru | sed 1q`
- ac_eof=`expr $ac_eof + 1`
-fi
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+cat >>"\$tmp/subs1.awk" <<\\_ACAWK &&
+_ACEOF
+sed -n '
+h
+s/^/S["/; s/!.*/"]=/
+p
+g
+s/^[^!]*!//
+:repl
+t repl
+s/'"$ac_delim"'$//
+t delim
+:nl
+h
+s/\(.\{148\}\).*/\1/
+t more1
+s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/
+p
+n
+b repl
+:more1
+s/["\\]/\\&/g; s/^/"/; s/$/"\\/
+p
+g
+s/.\{148\}//
+t nl
+:delim
+h
+s/\(.\{148\}\).*/\1/
+t more2
+s/["\\]/\\&/g; s/^/"/; s/$/"/
+p
+b
+:more2
+s/["\\]/\\&/g; s/^/"/; s/$/"\\/
+p
+g
+s/.\{148\}//
+t delim
+' <conf$$subs.awk | sed '
+/^[^""]/{
+ N
+ s/\n//
+}
+' >>$CONFIG_STATUS || ac_write_fail=1
+rm -f conf$$subs.awk
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+_ACAWK
+cat >>"\$tmp/subs1.awk" <<_ACAWK &&
+ for (key in S) S_is_set[key] = 1
+ FS = ""
+
+}
+{
+ line = $ 0
+ nfields = split(line, field, "@")
+ substed = 0
+ len = length(field[1])
+ for (i = 2; i < nfields; i++) {
+ key = field[i]
+ keylen = length(key)
+ if (S_is_set[key]) {
+ value = S[key]
+ line = substr(line, 1, len) "" value "" substr(line, len + keylen + 3)
+ len += length(value) + length(field[++i])
+ substed = 1
+ } else
+ len += 1 + keylen
+ }
+
+ print line
+}
-cat >>$CONFIG_STATUS <<_ACEOF
-cat >"\$tmp/subs-2.sed" <<\CEOF$ac_eof
-/@[a-zA-Z_][a-zA-Z_0-9]*@/!b end
+_ACAWK
_ACEOF
-sed '
-s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g
-s/^/s,@/; s/!/@,|#_!!_#|/
-:n
-t n
-s/'"$ac_delim"'$/,g/; t
-s/$/\\/; p
-N; s/^.*\n//; s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g; b n
-' >>$CONFIG_STATUS <conf$$subs.sed
-rm -f conf$$subs.sed
-cat >>$CONFIG_STATUS <<_ACEOF
-:end
-s/|#_!!_#|//g
-CEOF$ac_eof
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then
+ sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g"
+else
+ cat
+fi < "$tmp/subs1.awk" > "$tmp/subs.awk" \
+ || { { $as_echo "$as_me:$LINENO: error: could not setup config files machinery" >&5
+$as_echo "$as_me: error: could not setup config files machinery" >&2;}
+ { (exit 1); exit 1; }; }
_ACEOF
-
# VPATH may cause trouble with some makes, so we remove $(srcdir),
# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and
# trailing colons and then remove the whole line if VPATH becomes empty
@@ -22296,19 +18620,133 @@ s/^[^=]*=[ ]*$//
}'
fi
-cat >>$CONFIG_STATUS <<\_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
fi # test -n "$CONFIG_FILES"
+# Set up the scripts for CONFIG_HEADERS section.
+# No need to generate them if there are no CONFIG_HEADERS.
+# This happens for instance with `./config.status Makefile'.
+if test -n "$CONFIG_HEADERS"; then
+cat >"$tmp/defines.awk" <<\_ACAWK ||
+BEGIN {
+_ACEOF
+
+# Transform confdefs.h into an awk script `defines.awk', embedded as
+# here-document in config.status, that substitutes the proper values into
+# config.h.in to produce config.h.
+
+# Create a delimiter string that does not exist in confdefs.h, to ease
+# handling of long lines.
+ac_delim='%!_!# '
+for ac_last_try in false false :; do
+ ac_t=`sed -n "/$ac_delim/p" confdefs.h`
+ if test -z "$ac_t"; then
+ break
+ elif $ac_last_try; then
+ { { $as_echo "$as_me:$LINENO: error: could not make $CONFIG_HEADERS" >&5
+$as_echo "$as_me: error: could not make $CONFIG_HEADERS" >&2;}
+ { (exit 1); exit 1; }; }
+ else
+ ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
+ fi
+done
+
+# For the awk script, D is an array of macro values keyed by name,
+# likewise P contains macro parameters if any. Preserve backslash
+# newline sequences.
+
+ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]*
+sed -n '
+s/.\{148\}/&'"$ac_delim"'/g
+t rset
+:rset
+s/^[ ]*#[ ]*define[ ][ ]*/ /
+t def
+d
+:def
+s/\\$//
+t bsnl
+s/["\\]/\\&/g
+s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\
+D["\1"]=" \3"/p
+s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2"/p
+d
+:bsnl
+s/["\\]/\\&/g
+s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\
+D["\1"]=" \3\\\\\\n"\\/p
+t cont
+s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2\\\\\\n"\\/p
+t cont
+d
+:cont
+n
+s/.\{148\}/&'"$ac_delim"'/g
+t clear
+:clear
+s/\\$//
+t bsnlc
+s/["\\]/\\&/g; s/^/"/; s/$/"/p
+d
+:bsnlc
+s/["\\]/\\&/g; s/^/"/; s/$/\\\\\\n"\\/p
+b cont
+' <confdefs.h | sed '
+s/'"$ac_delim"'/"\\\
+"/g' >>$CONFIG_STATUS || ac_write_fail=1
+
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+ for (key in D) D_is_set[key] = 1
+ FS = ""
+}
+/^[\t ]*#[\t ]*(define|undef)[\t ]+$ac_word_re([\t (]|\$)/ {
+ line = \$ 0
+ split(line, arg, " ")
+ if (arg[1] == "#") {
+ defundef = arg[2]
+ mac1 = arg[3]
+ } else {
+ defundef = substr(arg[1], 2)
+ mac1 = arg[2]
+ }
+ split(mac1, mac2, "(") #)
+ macro = mac2[1]
+ prefix = substr(line, 1, index(line, defundef) - 1)
+ if (D_is_set[macro]) {
+ # Preserve the white space surrounding the "#".
+ print prefix "define", macro P[macro] D[macro]
+ next
+ } else {
+ # Replace #undef with comments. This is necessary, for example,
+ # in the case of _POSIX_SOURCE, which is predefined and required
+ # on some systems where configure will not decide to define it.
+ if (defundef == "undef") {
+ print "/*", prefix defundef, macro, "*/"
+ next
+ }
+ }
+}
+{ print }
+_ACAWK
+_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+ { { $as_echo "$as_me:$LINENO: error: could not setup config headers machinery" >&5
+$as_echo "$as_me: error: could not setup config headers machinery" >&2;}
+ { (exit 1); exit 1; }; }
+fi # test -n "$CONFIG_HEADERS"
+
-for ac_tag in :F $CONFIG_FILES :H $CONFIG_HEADERS :C $CONFIG_COMMANDS
+eval set X " :F $CONFIG_FILES :H $CONFIG_HEADERS :C $CONFIG_COMMANDS"
+shift
+for ac_tag
do
case $ac_tag in
:[FHLC]) ac_mode=$ac_tag; continue;;
esac
case $ac_mode$ac_tag in
:[FHL]*:*);;
- :L* | :C*:*) { { echo "$as_me:$LINENO: error: Invalid tag $ac_tag." >&5
-echo "$as_me: error: Invalid tag $ac_tag." >&2;}
+ :L* | :C*:*) { { $as_echo "$as_me:$LINENO: error: invalid tag $ac_tag" >&5
+$as_echo "$as_me: error: invalid tag $ac_tag" >&2;}
{ (exit 1); exit 1; }; };;
:[FH]-) ac_tag=-:-;;
:[FH]*) ac_tag=$ac_tag:$ac_tag.in;;
@@ -22337,26 +18775,38 @@ echo "$as_me: error: Invalid tag $ac_tag." >&2;}
[\\/$]*) false;;
*) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";;
esac ||
- { { echo "$as_me:$LINENO: error: cannot find input file: $ac_f" >&5
-echo "$as_me: error: cannot find input file: $ac_f" >&2;}
+ { { $as_echo "$as_me:$LINENO: error: cannot find input file: $ac_f" >&5
+$as_echo "$as_me: error: cannot find input file: $ac_f" >&2;}
{ (exit 1); exit 1; }; };;
esac
- ac_file_inputs="$ac_file_inputs $ac_f"
+ case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac
+ ac_file_inputs="$ac_file_inputs '$ac_f'"
done
# Let's still pretend it is `configure' which instantiates (i.e., don't
# use $as_me), people would be surprised to read:
# /* config.h. Generated by config.status. */
- configure_input="Generated from "`IFS=:
- echo $* | sed 's|^[^:]*/||;s|:[^:]*/|, |g'`" by configure."
+ configure_input='Generated from '`
+ $as_echo "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g'
+ `' by configure.'
if test x"$ac_file" != x-; then
configure_input="$ac_file. $configure_input"
- { echo "$as_me:$LINENO: creating $ac_file" >&5
-echo "$as_me: creating $ac_file" >&6;}
+ { $as_echo "$as_me:$LINENO: creating $ac_file" >&5
+$as_echo "$as_me: creating $ac_file" >&6;}
fi
+ # Neutralize special characters interpreted by sed in replacement strings.
+ case $configure_input in #(
+ *\&* | *\|* | *\\* )
+ ac_sed_conf_input=`$as_echo "$configure_input" |
+ sed 's/[\\\\&|]/\\\\&/g'`;; #(
+ *) ac_sed_conf_input=$configure_input;;
+ esac
case $ac_tag in
- *:-:* | *:-) cat >"$tmp/stdin";;
+ *:-:* | *:-) cat >"$tmp/stdin" \
+ || { { $as_echo "$as_me:$LINENO: error: could not create $ac_file" >&5
+$as_echo "$as_me: error: could not create $ac_file" >&2;}
+ { (exit 1); exit 1; }; } ;;
esac
;;
esac
@@ -22366,7 +18816,7 @@ $as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
X"$ac_file" : 'X\(//\)[^/]' \| \
X"$ac_file" : 'X\(//\)$' \| \
X"$ac_file" : 'X\(/\)' \| . 2>/dev/null ||
-echo X"$ac_file" |
+$as_echo X"$ac_file" |
sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
s//\1/
q
@@ -22392,7 +18842,7 @@ echo X"$ac_file" |
as_dirs=
while :; do
case $as_dir in #(
- *\'*) as_qdir=`echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #(
+ *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
*) as_qdir=$as_dir;;
esac
as_dirs="'$as_qdir' $as_dirs"
@@ -22401,7 +18851,7 @@ $as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
X"$as_dir" : 'X\(//\)[^/]' \| \
X"$as_dir" : 'X\(//\)$' \| \
X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
-echo X"$as_dir" |
+$as_echo X"$as_dir" |
sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
s//\1/
q
@@ -22422,17 +18872,17 @@ echo X"$as_dir" |
test -d "$as_dir" && break
done
test -z "$as_dirs" || eval "mkdir $as_dirs"
- } || test -d "$as_dir" || { { echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5
-echo "$as_me: error: cannot create directory $as_dir" >&2;}
+ } || test -d "$as_dir" || { { $as_echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5
+$as_echo "$as_me: error: cannot create directory $as_dir" >&2;}
{ (exit 1); exit 1; }; }; }
ac_builddir=.
case "$ac_dir" in
.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
*)
- ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'`
+ ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'`
# A ".." for each directory in $ac_dir_suffix.
- ac_top_builddir_sub=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,/..,g;s,/,,'`
+ ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`
case $ac_top_builddir_sub in
"") ac_top_builddir_sub=. ac_top_build_prefix= ;;
*) ac_top_build_prefix=$ac_top_builddir_sub/ ;;
@@ -22477,12 +18927,13 @@ ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
esac
_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
# If the template does not know about datarootdir, expand it.
# FIXME: This hack should be removed a few years after 2.60.
ac_datarootdir_hack=; ac_datarootdir_seen=
-case `sed -n '/datarootdir/ {
+ac_sed_dataroot='
+/datarootdir/ {
p
q
}
@@ -22491,13 +18942,14 @@ case `sed -n '/datarootdir/ {
/@infodir@/p
/@localedir@/p
/@mandir@/p
-' $ac_file_inputs` in
+'
+case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in
*datarootdir*) ac_datarootdir_seen=yes;;
*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*)
- { echo "$as_me:$LINENO: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5
-echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5
+$as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;}
_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_datarootdir_hack='
s&@datadir@&$datadir&g
s&@docdir@&$docdir&g
@@ -22511,15 +18963,16 @@ _ACEOF
# Neutralize VPATH when `$srcdir' = `.'.
# Shell code in configure.ac might set extrasub.
# FIXME: do we really want to maintain this feature?
-cat >>$CONFIG_STATUS <<_ACEOF
- sed "$ac_vpsub
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+ac_sed_extra="$ac_vpsub
$extrasub
_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
:t
/@[a-zA-Z_][a-zA-Z_0-9]*@/!b
-s&@configure_input@&$configure_input&;t t
+s|@configure_input@|$ac_sed_conf_input|;t t
s&@top_builddir@&$ac_top_builddir_sub&;t t
+s&@top_build_prefix@&$ac_top_build_prefix&;t t
s&@srcdir@&$ac_srcdir&;t t
s&@abs_srcdir@&$ac_abs_srcdir&;t t
s&@top_srcdir@&$ac_top_srcdir&;t t
@@ -22530,135 +18983,75 @@ s&@abs_top_builddir@&$ac_abs_top_builddir&;t t
s&@INSTALL@&$ac_INSTALL&;t t
s&@MKDIR_P@&$ac_MKDIR_P&;t t
$ac_datarootdir_hack
-" $ac_file_inputs | sed -f "$tmp/subs-1.sed" | sed -f "$tmp/subs-2.sed" >$tmp/out
+"
+eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$tmp/subs.awk" >$tmp/out \
+ || { { $as_echo "$as_me:$LINENO: error: could not create $ac_file" >&5
+$as_echo "$as_me: error: could not create $ac_file" >&2;}
+ { (exit 1); exit 1; }; }
test -z "$ac_datarootdir_hack$ac_datarootdir_seen" &&
{ ac_out=`sed -n '/\${datarootdir}/p' "$tmp/out"`; test -n "$ac_out"; } &&
{ ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' "$tmp/out"`; test -z "$ac_out"; } &&
- { echo "$as_me:$LINENO: WARNING: $ac_file contains a reference to the variable \`datarootdir'
+ { $as_echo "$as_me:$LINENO: WARNING: $ac_file contains a reference to the variable \`datarootdir'
which seems to be undefined. Please make sure it is defined." >&5
-echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir'
+$as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir'
which seems to be undefined. Please make sure it is defined." >&2;}
rm -f "$tmp/stdin"
case $ac_file in
- -) cat "$tmp/out"; rm -f "$tmp/out";;
- *) rm -f "$ac_file"; mv "$tmp/out" $ac_file;;
- esac
+ -) cat "$tmp/out" && rm -f "$tmp/out";;
+ *) rm -f "$ac_file" && mv "$tmp/out" "$ac_file";;
+ esac \
+ || { { $as_echo "$as_me:$LINENO: error: could not create $ac_file" >&5
+$as_echo "$as_me: error: could not create $ac_file" >&2;}
+ { (exit 1); exit 1; }; }
;;
:H)
#
# CONFIG_HEADER
#
-_ACEOF
-
-# Transform confdefs.h into a sed script `conftest.defines', that
-# substitutes the proper values into config.h.in to produce config.h.
-rm -f conftest.defines conftest.tail
-# First, append a space to every undef/define line, to ease matching.
-echo 's/$/ /' >conftest.defines
-# Then, protect against being on the right side of a sed subst, or in
-# an unquoted here document, in config.status. If some macros were
-# called several times there might be several #defines for the same
-# symbol, which is useless. But do not sort them, since the last
-# AC_DEFINE must be honored.
-ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]*
-# These sed commands are passed to sed as "A NAME B PARAMS C VALUE D", where
-# NAME is the cpp macro being defined, VALUE is the value it is being given.
-# PARAMS is the parameter list in the macro definition--in most cases, it's
-# just an empty string.
-ac_dA='s,^\\([ #]*\\)[^ ]*\\([ ]*'
-ac_dB='\\)[ (].*,\\1define\\2'
-ac_dC=' '
-ac_dD=' ,'
-
-uniq confdefs.h |
- sed -n '
- t rset
- :rset
- s/^[ ]*#[ ]*define[ ][ ]*//
- t ok
- d
- :ok
- s/[\\&,]/\\&/g
- s/^\('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/ '"$ac_dA"'\1'"$ac_dB"'\2'"${ac_dC}"'\3'"$ac_dD"'/p
- s/^\('"$ac_word_re"'\)[ ]*\(.*\)/'"$ac_dA"'\1'"$ac_dB$ac_dC"'\2'"$ac_dD"'/p
- ' >>conftest.defines
-
-# Remove the space that was appended to ease matching.
-# Then replace #undef with comments. This is necessary, for
-# example, in the case of _POSIX_SOURCE, which is predefined and required
-# on some systems where configure will not decide to define it.
-# (The regexp can be short, since the line contains either #define or #undef.)
-echo 's/ $//
-s,^[ #]*u.*,/* & */,' >>conftest.defines
-
-# Break up conftest.defines:
-ac_max_sed_lines=50
-
-# First sed command is: sed -f defines.sed $ac_file_inputs >"$tmp/out1"
-# Second one is: sed -f defines.sed "$tmp/out1" >"$tmp/out2"
-# Third one will be: sed -f defines.sed "$tmp/out2" >"$tmp/out1"
-# et cetera.
-ac_in='$ac_file_inputs'
-ac_out='"$tmp/out1"'
-ac_nxt='"$tmp/out2"'
-
-while :
-do
- # Write a here document:
- cat >>$CONFIG_STATUS <<_ACEOF
- # First, check the format of the line:
- cat >"\$tmp/defines.sed" <<\\CEOF
-/^[ ]*#[ ]*undef[ ][ ]*$ac_word_re[ ]*\$/b def
-/^[ ]*#[ ]*define[ ][ ]*$ac_word_re[( ]/b def
-b
-:def
-_ACEOF
- sed ${ac_max_sed_lines}q conftest.defines >>$CONFIG_STATUS
- echo 'CEOF
- sed -f "$tmp/defines.sed"' "$ac_in >$ac_out" >>$CONFIG_STATUS
- ac_in=$ac_out; ac_out=$ac_nxt; ac_nxt=$ac_in
- sed 1,${ac_max_sed_lines}d conftest.defines >conftest.tail
- grep . conftest.tail >/dev/null || break
- rm -f conftest.defines
- mv conftest.tail conftest.defines
-done
-rm -f conftest.defines conftest.tail
-
-echo "ac_result=$ac_in" >>$CONFIG_STATUS
-cat >>$CONFIG_STATUS <<\_ACEOF
if test x"$ac_file" != x-; then
- echo "/* $configure_input */" >"$tmp/config.h"
- cat "$ac_result" >>"$tmp/config.h"
- if diff $ac_file "$tmp/config.h" >/dev/null 2>&1; then
- { echo "$as_me:$LINENO: $ac_file is unchanged" >&5
-echo "$as_me: $ac_file is unchanged" >&6;}
+ {
+ $as_echo "/* $configure_input */" \
+ && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs"
+ } >"$tmp/config.h" \
+ || { { $as_echo "$as_me:$LINENO: error: could not create $ac_file" >&5
+$as_echo "$as_me: error: could not create $ac_file" >&2;}
+ { (exit 1); exit 1; }; }
+ if diff "$ac_file" "$tmp/config.h" >/dev/null 2>&1; then
+ { $as_echo "$as_me:$LINENO: $ac_file is unchanged" >&5
+$as_echo "$as_me: $ac_file is unchanged" >&6;}
else
- rm -f $ac_file
- mv "$tmp/config.h" $ac_file
+ rm -f "$ac_file"
+ mv "$tmp/config.h" "$ac_file" \
+ || { { $as_echo "$as_me:$LINENO: error: could not create $ac_file" >&5
+$as_echo "$as_me: error: could not create $ac_file" >&2;}
+ { (exit 1); exit 1; }; }
fi
else
- echo "/* $configure_input */"
- cat "$ac_result"
+ $as_echo "/* $configure_input */" \
+ && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs" \
+ || { { $as_echo "$as_me:$LINENO: error: could not create -" >&5
+$as_echo "$as_me: error: could not create -" >&2;}
+ { (exit 1); exit 1; }; }
fi
- rm -f "$tmp/out12"
-# Compute $ac_file's index in $config_headers.
+# Compute "$ac_file"'s index in $config_headers.
+_am_arg="$ac_file"
_am_stamp_count=1
for _am_header in $config_headers :; do
case $_am_header in
- $ac_file | $ac_file:* )
+ $_am_arg | $_am_arg:* )
break ;;
* )
_am_stamp_count=`expr $_am_stamp_count + 1` ;;
esac
done
-echo "timestamp for $ac_file" >`$as_dirname -- $ac_file ||
-$as_expr X$ac_file : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X$ac_file : 'X\(//\)[^/]' \| \
- X$ac_file : 'X\(//\)$' \| \
- X$ac_file : 'X\(/\)' \| . 2>/dev/null ||
-echo X$ac_file |
+echo "timestamp for $_am_arg" >`$as_dirname -- "$_am_arg" ||
+$as_expr X"$_am_arg" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+ X"$_am_arg" : 'X\(//\)[^/]' \| \
+ X"$_am_arg" : 'X\(//\)$' \| \
+ X"$_am_arg" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X"$_am_arg" |
sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
s//\1/
q
@@ -22678,30 +19071,40 @@ echo X$ac_file |
s/.*/./; q'`/stamp-h$_am_stamp_count
;;
- :C) { echo "$as_me:$LINENO: executing $ac_file commands" >&5
-echo "$as_me: executing $ac_file commands" >&6;}
+ :C) { $as_echo "$as_me:$LINENO: executing $ac_file commands" >&5
+$as_echo "$as_me: executing $ac_file commands" >&6;}
;;
esac
case $ac_file$ac_mode in
- "depfiles":C) test x"$AMDEP_TRUE" != x"" || for mf in $CONFIG_FILES; do
- # Strip MF so we end up with the name of the file.
- mf=`echo "$mf" | sed -e 's/:.*$//'`
- # Check whether this is an Automake generated Makefile or not.
- # We used to match only the files named `Makefile.in', but
- # some people rename them; so instead we look at the file content.
- # Grep'ing the first line is not enough: some people post-process
- # each Makefile.in and add a new line on top of each file to say so.
- # Grep'ing the whole file is not good either: AIX grep has a line
- # limit of 2048, but all sed's we know have understand at least 4000.
- if sed 10q "$mf" | grep '^#.*generated by automake' > /dev/null 2>&1; then
- dirpart=`$as_dirname -- "$mf" ||
+ "depfiles":C) test x"$AMDEP_TRUE" != x"" || {
+ # Autoconf 2.62 quotes --file arguments for eval, but not when files
+ # are listed without --file. Let's play safe and only enable the eval
+ # if we detect the quoting.
+ case $CONFIG_FILES in
+ *\'*) eval set x "$CONFIG_FILES" ;;
+ *) set x $CONFIG_FILES ;;
+ esac
+ shift
+ for mf
+ do
+ # Strip MF so we end up with the name of the file.
+ mf=`echo "$mf" | sed -e 's/:.*$//'`
+ # Check whether this is an Automake generated Makefile or not.
+ # We used to match only the files named `Makefile.in', but
+ # some people rename them; so instead we look at the file content.
+ # Grep'ing the first line is not enough: some people post-process
+ # each Makefile.in and add a new line on top of each file to say so.
+ # Grep'ing the whole file is not good either: AIX grep has a line
+ # limit of 2048, but all sed's we know have understand at least 4000.
+ if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then
+ dirpart=`$as_dirname -- "$mf" ||
$as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
X"$mf" : 'X\(//\)[^/]' \| \
X"$mf" : 'X\(//\)$' \| \
X"$mf" : 'X\(/\)' \| . 2>/dev/null ||
-echo X"$mf" |
+$as_echo X"$mf" |
sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
s//\1/
q
@@ -22719,33 +19122,33 @@ echo X"$mf" |
q
}
s/.*/./; q'`
- else
- continue
- fi
- # Extract the definition of DEPDIR, am__include, and am__quote
- # from the Makefile without running `make'.
- DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
- test -z "$DEPDIR" && continue
- am__include=`sed -n 's/^am__include = //p' < "$mf"`
- test -z "am__include" && continue
- am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
- # When using ansi2knr, U may be empty or an underscore; expand it
- U=`sed -n 's/^U = //p' < "$mf"`
- # Find all dependency output files, they are included files with
- # $(DEPDIR) in their names. We invoke sed twice because it is the
- # simplest approach to changing $(DEPDIR) to its actual value in the
- # expansion.
- for file in `sed -n "
- s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
- sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
- # Make sure the directory exists.
- test -f "$dirpart/$file" && continue
- fdir=`$as_dirname -- "$file" ||
+ else
+ continue
+ fi
+ # Extract the definition of DEPDIR, am__include, and am__quote
+ # from the Makefile without running `make'.
+ DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
+ test -z "$DEPDIR" && continue
+ am__include=`sed -n 's/^am__include = //p' < "$mf"`
+ test -z "am__include" && continue
+ am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
+ # When using ansi2knr, U may be empty or an underscore; expand it
+ U=`sed -n 's/^U = //p' < "$mf"`
+ # Find all dependency output files, they are included files with
+ # $(DEPDIR) in their names. We invoke sed twice because it is the
+ # simplest approach to changing $(DEPDIR) to its actual value in the
+ # expansion.
+ for file in `sed -n "
+ s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
+ sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
+ # Make sure the directory exists.
+ test -f "$dirpart/$file" && continue
+ fdir=`$as_dirname -- "$file" ||
$as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
X"$file" : 'X\(//\)[^/]' \| \
X"$file" : 'X\(//\)$' \| \
X"$file" : 'X\(/\)' \| . 2>/dev/null ||
-echo X"$file" |
+$as_echo X"$file" |
sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
s//\1/
q
@@ -22763,7 +19166,7 @@ echo X"$file" |
q
}
s/.*/./; q'`
- { as_dir=$dirpart/$fdir
+ { as_dir=$dirpart/$fdir
case $as_dir in #(
-*) as_dir=./$as_dir;;
esac
@@ -22771,7 +19174,7 @@ echo X"$file" |
as_dirs=
while :; do
case $as_dir in #(
- *\'*) as_qdir=`echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #(
+ *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
*) as_qdir=$as_dir;;
esac
as_dirs="'$as_qdir' $as_dirs"
@@ -22780,7 +19183,7 @@ $as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
X"$as_dir" : 'X\(//\)[^/]' \| \
X"$as_dir" : 'X\(//\)$' \| \
X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
-echo X"$as_dir" |
+$as_echo X"$as_dir" |
sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
s//\1/
q
@@ -22801,13 +19204,822 @@ echo X"$as_dir" |
test -d "$as_dir" && break
done
test -z "$as_dirs" || eval "mkdir $as_dirs"
- } || test -d "$as_dir" || { { echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5
-echo "$as_me: error: cannot create directory $as_dir" >&2;}
+ } || test -d "$as_dir" || { { $as_echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5
+$as_echo "$as_me: error: cannot create directory $as_dir" >&2;}
{ (exit 1); exit 1; }; }; }
- # echo "creating $dirpart/$file"
- echo '# dummy' > "$dirpart/$file"
+ # echo "creating $dirpart/$file"
+ echo '# dummy' > "$dirpart/$file"
+ done
done
-done
+}
+ ;;
+ "libtool":C)
+
+ # See if we are running on zsh, and set the options which allow our
+ # commands through without removal of \ escapes.
+ if test -n "${ZSH_VERSION+set}" ; then
+ setopt NO_GLOB_SUBST
+ fi
+
+ cfgfile="${ofile}T"
+ trap "$RM \"$cfgfile\"; exit 1" 1 2 15
+ $RM "$cfgfile"
+
+ cat <<_LT_EOF >> "$cfgfile"
+#! $SHELL
+
+# `$ECHO "$ofile" | sed 's%^.*/%%'` - Provide generalized library-building support services.
+# Generated automatically by $as_me ($PACKAGE$TIMESTAMP) $VERSION
+# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
+# NOTE: Changes made to this file will be lost: look at ltmain.sh.
+#
+# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
+# 2006, 2007, 2008 Free Software Foundation, Inc.
+# Written by Gordon Matzigkeit, 1996
+#
+# This file is part of GNU Libtool.
+#
+# GNU Libtool is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License as
+# published by the Free Software Foundation; either version 2 of
+# the License, or (at your option) any later version.
+#
+# As a special exception to the GNU General Public License,
+# if you distribute this file as part of a program or library that
+# is built using GNU Libtool, you may include this file under the
+# same distribution terms that you use for the rest of that program.
+#
+# GNU Libtool is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with GNU Libtool; see the file COPYING. If not, a copy
+# can be downloaded from http://www.gnu.org/licenses/gpl.html, or
+# obtained by writing to the Free Software Foundation, Inc.,
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+
+
+# The names of the tagged configurations supported by this script.
+available_tags="CXX "
+
+# ### BEGIN LIBTOOL CONFIG
+
+# Assembler program.
+AS=$AS
+
+# DLL creation program.
+DLLTOOL=$DLLTOOL
+
+# Object dumper program.
+OBJDUMP=$OBJDUMP
+
+# Which release of libtool.m4 was used?
+macro_version=$macro_version
+macro_revision=$macro_revision
+
+# Whether or not to build shared libraries.
+build_libtool_libs=$enable_shared
+
+# Whether or not to build static libraries.
+build_old_libs=$enable_static
+
+# What type of objects to build.
+pic_mode=$pic_mode
+
+# Whether or not to optimize for fast installation.
+fast_install=$enable_fast_install
+
+# The host system.
+host_alias=$host_alias
+host=$host
+host_os=$host_os
+
+# The build system.
+build_alias=$build_alias
+build=$build
+build_os=$build_os
+
+# A sed program that does not truncate output.
+SED=$lt_SED
+
+# Sed that helps us avoid accidentally triggering echo(1) options like -n.
+Xsed="\$SED -e 1s/^X//"
+
+# A grep program that handles long lines.
+GREP=$lt_GREP
+
+# An ERE matcher.
+EGREP=$lt_EGREP
+
+# A literal string matcher.
+FGREP=$lt_FGREP
+
+# A BSD- or MS-compatible name lister.
+NM=$lt_NM
+
+# Whether we need soft or hard links.
+LN_S=$lt_LN_S
+
+# What is the maximum length of a command?
+max_cmd_len=$max_cmd_len
+
+# Object file suffix (normally "o").
+objext=$ac_objext
+
+# Executable file suffix (normally "").
+exeext=$exeext
+
+# whether the shell understands "unset".
+lt_unset=$lt_unset
+
+# turn spaces into newlines.
+SP2NL=$lt_lt_SP2NL
+
+# turn newlines into spaces.
+NL2SP=$lt_lt_NL2SP
+
+# How to create reloadable object files.
+reload_flag=$lt_reload_flag
+reload_cmds=$lt_reload_cmds
+
+# Method to check whether dependent libraries are shared objects.
+deplibs_check_method=$lt_deplibs_check_method
+
+# Command to use when deplibs_check_method == "file_magic".
+file_magic_cmd=$lt_file_magic_cmd
+
+# The archiver.
+AR=$lt_AR
+AR_FLAGS=$lt_AR_FLAGS
+
+# A symbol stripping program.
+STRIP=$lt_STRIP
+
+# Commands used to install an old-style archive.
+RANLIB=$lt_RANLIB
+old_postinstall_cmds=$lt_old_postinstall_cmds
+old_postuninstall_cmds=$lt_old_postuninstall_cmds
+
+# A C compiler.
+LTCC=$lt_CC
+
+# LTCC compiler flags.
+LTCFLAGS=$lt_CFLAGS
+
+# Take the output of nm and produce a listing of raw symbols and C names.
+global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe
+
+# Transform the output of nm in a proper C declaration.
+global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl
+
+# Transform the output of nm in a C name address pair.
+global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address
+
+# Transform the output of nm in a C name address pair when lib prefix is needed.
+global_symbol_to_c_name_address_lib_prefix=$lt_lt_cv_sys_global_symbol_to_c_name_address_lib_prefix
+
+# The name of the directory that contains temporary libtool files.
+objdir=$objdir
+
+# Shell to use when invoking shell scripts.
+SHELL=$lt_SHELL
+
+# An echo program that does not interpret backslashes.
+ECHO=$lt_ECHO
+
+# Used to examine libraries when file_magic_cmd begins with "file".
+MAGIC_CMD=$MAGIC_CMD
+
+# Must we lock files when doing compilation?
+need_locks=$lt_need_locks
+
+# Tool to manipulate archived DWARF debug symbol files on Mac OS X.
+DSYMUTIL=$lt_DSYMUTIL
+
+# Tool to change global to local symbols on Mac OS X.
+NMEDIT=$lt_NMEDIT
+
+# Tool to manipulate fat objects and archives on Mac OS X.
+LIPO=$lt_LIPO
+
+# ldd/readelf like tool for Mach-O binaries on Mac OS X.
+OTOOL=$lt_OTOOL
+
+# ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4.
+OTOOL64=$lt_OTOOL64
+
+# Old archive suffix (normally "a").
+libext=$libext
+
+# Shared library suffix (normally ".so").
+shrext_cmds=$lt_shrext_cmds
+
+# The commands to extract the exported symbol list from a shared archive.
+extract_expsyms_cmds=$lt_extract_expsyms_cmds
+
+# Variables whose values should be saved in libtool wrapper scripts and
+# restored at link time.
+variables_saved_for_relink=$lt_variables_saved_for_relink
+
+# Do we need the "lib" prefix for modules?
+need_lib_prefix=$need_lib_prefix
+
+# Do we need a version for libraries?
+need_version=$need_version
+
+# Library versioning type.
+version_type=$version_type
+
+# Shared library runtime path variable.
+runpath_var=$runpath_var
+
+# Shared library path variable.
+shlibpath_var=$shlibpath_var
+
+# Is shlibpath searched before the hard-coded library search path?
+shlibpath_overrides_runpath=$shlibpath_overrides_runpath
+
+# Format of library name prefix.
+libname_spec=$lt_libname_spec
+
+# List of archive names. First name is the real one, the rest are links.
+# The last name is the one that the linker finds with -lNAME
+library_names_spec=$lt_library_names_spec
+
+# The coded name of the library, if different from the real name.
+soname_spec=$lt_soname_spec
+
+# Command to use after installation of a shared archive.
+postinstall_cmds=$lt_postinstall_cmds
+
+# Command to use after uninstallation of a shared archive.
+postuninstall_cmds=$lt_postuninstall_cmds
+
+# Commands used to finish a libtool library installation in a directory.
+finish_cmds=$lt_finish_cmds
+
+# As "finish_cmds", except a single script fragment to be evaled but
+# not shown.
+finish_eval=$lt_finish_eval
+
+# Whether we should hardcode library paths into libraries.
+hardcode_into_libs=$hardcode_into_libs
+
+# Compile-time system search path for libraries.
+sys_lib_search_path_spec=$lt_sys_lib_search_path_spec
+
+# Run-time system search path for libraries.
+sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec
+
+# Whether dlopen is supported.
+dlopen_support=$enable_dlopen
+
+# Whether dlopen of programs is supported.
+dlopen_self=$enable_dlopen_self
+
+# Whether dlopen of statically linked programs is supported.
+dlopen_self_static=$enable_dlopen_self_static
+
+# Commands to strip libraries.
+old_striplib=$lt_old_striplib
+striplib=$lt_striplib
+
+
+# The linker used to build libraries.
+LD=$lt_LD
+
+# Commands used to build an old-style archive.
+old_archive_cmds=$lt_old_archive_cmds
+
+# A language specific compiler.
+CC=$lt_compiler
+
+# Is the compiler the GNU compiler?
+with_gcc=$GCC
+
+# Compiler flag to turn off builtin functions.
+no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag
+
+# How to pass a linker flag through the compiler.
+wl=$lt_lt_prog_compiler_wl
+
+# Additional compiler flags for building library objects.
+pic_flag=$lt_lt_prog_compiler_pic
+
+# Compiler flag to prevent dynamic linking.
+link_static_flag=$lt_lt_prog_compiler_static
+
+# Does compiler simultaneously support -c and -o options?
+compiler_c_o=$lt_lt_cv_prog_compiler_c_o
+
+# Whether or not to add -lc for building shared libraries.
+build_libtool_need_lc=$archive_cmds_need_lc
+
+# Whether or not to disallow shared libs when runtime libs are static.
+allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes
+
+# Compiler flag to allow reflexive dlopens.
+export_dynamic_flag_spec=$lt_export_dynamic_flag_spec
+
+# Compiler flag to generate shared objects directly from archives.
+whole_archive_flag_spec=$lt_whole_archive_flag_spec
+
+# Whether the compiler copes with passing no objects directly.
+compiler_needs_object=$lt_compiler_needs_object
+
+# Create an old-style archive from a shared archive.
+old_archive_from_new_cmds=$lt_old_archive_from_new_cmds
+
+# Create a temporary old-style archive to link instead of a shared archive.
+old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds
+
+# Commands used to build a shared archive.
+archive_cmds=$lt_archive_cmds
+archive_expsym_cmds=$lt_archive_expsym_cmds
+
+# Commands used to build a loadable module if different from building
+# a shared archive.
+module_cmds=$lt_module_cmds
+module_expsym_cmds=$lt_module_expsym_cmds
+
+# Whether we are building with GNU ld or not.
+with_gnu_ld=$lt_with_gnu_ld
+
+# Flag that allows shared libraries with undefined symbols to be built.
+allow_undefined_flag=$lt_allow_undefined_flag
+
+# Flag that enforces no undefined symbols.
+no_undefined_flag=$lt_no_undefined_flag
+
+# Flag to hardcode \$libdir into a binary during linking.
+# This must work even if \$libdir does not exist
+hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec
+
+# If ld is used when linking, flag to hardcode \$libdir into a binary
+# during linking. This must work even if \$libdir does not exist.
+hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld
+
+# Whether we need a single "-rpath" flag with a separated argument.
+hardcode_libdir_separator=$lt_hardcode_libdir_separator
+
+# Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes
+# DIR into the resulting binary.
+hardcode_direct=$hardcode_direct
+
+# Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes
+# DIR into the resulting binary and the resulting library dependency is
+# "absolute",i.e impossible to change by setting \${shlibpath_var} if the
+# library is relocated.
+hardcode_direct_absolute=$hardcode_direct_absolute
+
+# Set to "yes" if using the -LDIR flag during linking hardcodes DIR
+# into the resulting binary.
+hardcode_minus_L=$hardcode_minus_L
+
+# Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR
+# into the resulting binary.
+hardcode_shlibpath_var=$hardcode_shlibpath_var
+
+# Set to "yes" if building a shared library automatically hardcodes DIR
+# into the library and all subsequent libraries and executables linked
+# against it.
+hardcode_automatic=$hardcode_automatic
+
+# Set to yes if linker adds runtime paths of dependent libraries
+# to runtime path list.
+inherit_rpath=$inherit_rpath
+
+# Whether libtool must link a program against all its dependency libraries.
+link_all_deplibs=$link_all_deplibs
+
+# Fix the shell variable \$srcfile for the compiler.
+fix_srcfile_path=$lt_fix_srcfile_path
+
+# Set to "yes" if exported symbols are required.
+always_export_symbols=$always_export_symbols
+
+# The commands to list exported symbols.
+export_symbols_cmds=$lt_export_symbols_cmds
+
+# Symbols that should not be listed in the preloaded symbols.
+exclude_expsyms=$lt_exclude_expsyms
+
+# Symbols that must always be exported.
+include_expsyms=$lt_include_expsyms
+
+# Commands necessary for linking programs (against libraries) with templates.
+prelink_cmds=$lt_prelink_cmds
+
+# Specify filename containing input files.
+file_list_spec=$lt_file_list_spec
+
+# How to hardcode a shared library path into an executable.
+hardcode_action=$hardcode_action
+
+# The directories searched by this compiler when creating a shared library.
+compiler_lib_search_dirs=$lt_compiler_lib_search_dirs
+
+# Dependencies to place before and after the objects being linked to
+# create a shared library.
+predep_objects=$lt_predep_objects
+postdep_objects=$lt_postdep_objects
+predeps=$lt_predeps
+postdeps=$lt_postdeps
+
+# The library search path used internally by the compiler when linking
+# a shared library.
+compiler_lib_search_path=$lt_compiler_lib_search_path
+
+# ### END LIBTOOL CONFIG
+
+_LT_EOF
+
+ case $host_os in
+ aix3*)
+ cat <<\_LT_EOF >> "$cfgfile"
+# AIX sometimes has problems with the GCC collect2 program. For some
+# reason, if we set the COLLECT_NAMES environment variable, the problems
+# vanish in a puff of smoke.
+if test "X${COLLECT_NAMES+set}" != Xset; then
+ COLLECT_NAMES=
+ export COLLECT_NAMES
+fi
+_LT_EOF
+ ;;
+ esac
+
+
+ltmain="$ac_aux_dir/ltmain.sh"
+
+
+ # We use sed instead of cat because bash on DJGPP gets confused if
+ # if finds mixed CR/LF and LF-only lines. Since sed operates in
+ # text mode, it properly converts lines to CR/LF. This bash problem
+ # is reportedly fixed, but why not run on old versions too?
+ sed '/^# Generated shell functions inserted here/q' "$ltmain" >> "$cfgfile" \
+ || (rm -f "$cfgfile"; exit 1)
+
+ case $xsi_shell in
+ yes)
+ cat << \_LT_EOF >> "$cfgfile"
+
+# func_dirname file append nondir_replacement
+# Compute the dirname of FILE. If nonempty, add APPEND to the result,
+# otherwise set result to NONDIR_REPLACEMENT.
+func_dirname ()
+{
+ case ${1} in
+ */*) func_dirname_result="${1%/*}${2}" ;;
+ * ) func_dirname_result="${3}" ;;
+ esac
+}
+
+# func_basename file
+func_basename ()
+{
+ func_basename_result="${1##*/}"
+}
+
+# func_dirname_and_basename file append nondir_replacement
+# perform func_basename and func_dirname in a single function
+# call:
+# dirname: Compute the dirname of FILE. If nonempty,
+# add APPEND to the result, otherwise set result
+# to NONDIR_REPLACEMENT.
+# value returned in "$func_dirname_result"
+# basename: Compute filename of FILE.
+# value retuned in "$func_basename_result"
+# Implementation must be kept synchronized with func_dirname
+# and func_basename. For efficiency, we do not delegate to
+# those functions but instead duplicate the functionality here.
+func_dirname_and_basename ()
+{
+ case ${1} in
+ */*) func_dirname_result="${1%/*}${2}" ;;
+ * ) func_dirname_result="${3}" ;;
+ esac
+ func_basename_result="${1##*/}"
+}
+
+# func_stripname prefix suffix name
+# strip PREFIX and SUFFIX off of NAME.
+# PREFIX and SUFFIX must not contain globbing or regex special
+# characters, hashes, percent signs, but SUFFIX may contain a leading
+# dot (in which case that matches only a dot).
+func_stripname ()
+{
+ # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are
+ # positional parameters, so assign one to ordinary parameter first.
+ func_stripname_result=${3}
+ func_stripname_result=${func_stripname_result#"${1}"}
+ func_stripname_result=${func_stripname_result%"${2}"}
+}
+
+# func_opt_split
+func_opt_split ()
+{
+ func_opt_split_opt=${1%%=*}
+ func_opt_split_arg=${1#*=}
+}
+
+# func_lo2o object
+func_lo2o ()
+{
+ case ${1} in
+ *.lo) func_lo2o_result=${1%.lo}.${objext} ;;
+ *) func_lo2o_result=${1} ;;
+ esac
+}
+
+# func_xform libobj-or-source
+func_xform ()
+{
+ func_xform_result=${1%.*}.lo
+}
+
+# func_arith arithmetic-term...
+func_arith ()
+{
+ func_arith_result=$(( $* ))
+}
+
+# func_len string
+# STRING may not start with a hyphen.
+func_len ()
+{
+ func_len_result=${#1}
+}
+
+_LT_EOF
+ ;;
+ *) # Bourne compatible functions.
+ cat << \_LT_EOF >> "$cfgfile"
+
+# func_dirname file append nondir_replacement
+# Compute the dirname of FILE. If nonempty, add APPEND to the result,
+# otherwise set result to NONDIR_REPLACEMENT.
+func_dirname ()
+{
+ # Extract subdirectory from the argument.
+ func_dirname_result=`$ECHO "X${1}" | $Xsed -e "$dirname"`
+ if test "X$func_dirname_result" = "X${1}"; then
+ func_dirname_result="${3}"
+ else
+ func_dirname_result="$func_dirname_result${2}"
+ fi
+}
+
+# func_basename file
+func_basename ()
+{
+ func_basename_result=`$ECHO "X${1}" | $Xsed -e "$basename"`
+}
+
+
+# func_stripname prefix suffix name
+# strip PREFIX and SUFFIX off of NAME.
+# PREFIX and SUFFIX must not contain globbing or regex special
+# characters, hashes, percent signs, but SUFFIX may contain a leading
+# dot (in which case that matches only a dot).
+# func_strip_suffix prefix name
+func_stripname ()
+{
+ case ${2} in
+ .*) func_stripname_result=`$ECHO "X${3}" \
+ | $Xsed -e "s%^${1}%%" -e "s%\\\\${2}\$%%"`;;
+ *) func_stripname_result=`$ECHO "X${3}" \
+ | $Xsed -e "s%^${1}%%" -e "s%${2}\$%%"`;;
+ esac
+}
+
+# sed scripts:
+my_sed_long_opt='1s/^\(-[^=]*\)=.*/\1/;q'
+my_sed_long_arg='1s/^-[^=]*=//'
+
+# func_opt_split
+func_opt_split ()
+{
+ func_opt_split_opt=`$ECHO "X${1}" | $Xsed -e "$my_sed_long_opt"`
+ func_opt_split_arg=`$ECHO "X${1}" | $Xsed -e "$my_sed_long_arg"`
+}
+
+# func_lo2o object
+func_lo2o ()
+{
+ func_lo2o_result=`$ECHO "X${1}" | $Xsed -e "$lo2o"`
+}
+
+# func_xform libobj-or-source
+func_xform ()
+{
+ func_xform_result=`$ECHO "X${1}" | $Xsed -e 's/\.[^.]*$/.lo/'`
+}
+
+# func_arith arithmetic-term...
+func_arith ()
+{
+ func_arith_result=`expr "$@"`
+}
+
+# func_len string
+# STRING may not start with a hyphen.
+func_len ()
+{
+ func_len_result=`expr "$1" : ".*" 2>/dev/null || echo $max_cmd_len`
+}
+
+_LT_EOF
+esac
+
+case $lt_shell_append in
+ yes)
+ cat << \_LT_EOF >> "$cfgfile"
+
+# func_append var value
+# Append VALUE to the end of shell variable VAR.
+func_append ()
+{
+ eval "$1+=\$2"
+}
+_LT_EOF
+ ;;
+ *)
+ cat << \_LT_EOF >> "$cfgfile"
+
+# func_append var value
+# Append VALUE to the end of shell variable VAR.
+func_append ()
+{
+ eval "$1=\$$1\$2"
+}
+
+_LT_EOF
+ ;;
+ esac
+
+
+ sed -n '/^# Generated shell functions inserted here/,$p' "$ltmain" >> "$cfgfile" \
+ || (rm -f "$cfgfile"; exit 1)
+
+ mv -f "$cfgfile" "$ofile" ||
+ (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile")
+ chmod +x "$ofile"
+
+
+ cat <<_LT_EOF >> "$ofile"
+
+# ### BEGIN LIBTOOL TAG CONFIG: CXX
+
+# The linker used to build libraries.
+LD=$lt_LD_CXX
+
+# Commands used to build an old-style archive.
+old_archive_cmds=$lt_old_archive_cmds_CXX
+
+# A language specific compiler.
+CC=$lt_compiler_CXX
+
+# Is the compiler the GNU compiler?
+with_gcc=$GCC_CXX
+
+# Compiler flag to turn off builtin functions.
+no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_CXX
+
+# How to pass a linker flag through the compiler.
+wl=$lt_lt_prog_compiler_wl_CXX
+
+# Additional compiler flags for building library objects.
+pic_flag=$lt_lt_prog_compiler_pic_CXX
+
+# Compiler flag to prevent dynamic linking.
+link_static_flag=$lt_lt_prog_compiler_static_CXX
+
+# Does compiler simultaneously support -c and -o options?
+compiler_c_o=$lt_lt_cv_prog_compiler_c_o_CXX
+
+# Whether or not to add -lc for building shared libraries.
+build_libtool_need_lc=$archive_cmds_need_lc_CXX
+
+# Whether or not to disallow shared libs when runtime libs are static.
+allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_CXX
+
+# Compiler flag to allow reflexive dlopens.
+export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_CXX
+
+# Compiler flag to generate shared objects directly from archives.
+whole_archive_flag_spec=$lt_whole_archive_flag_spec_CXX
+
+# Whether the compiler copes with passing no objects directly.
+compiler_needs_object=$lt_compiler_needs_object_CXX
+
+# Create an old-style archive from a shared archive.
+old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_CXX
+
+# Create a temporary old-style archive to link instead of a shared archive.
+old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_CXX
+
+# Commands used to build a shared archive.
+archive_cmds=$lt_archive_cmds_CXX
+archive_expsym_cmds=$lt_archive_expsym_cmds_CXX
+
+# Commands used to build a loadable module if different from building
+# a shared archive.
+module_cmds=$lt_module_cmds_CXX
+module_expsym_cmds=$lt_module_expsym_cmds_CXX
+
+# Whether we are building with GNU ld or not.
+with_gnu_ld=$lt_with_gnu_ld_CXX
+
+# Flag that allows shared libraries with undefined symbols to be built.
+allow_undefined_flag=$lt_allow_undefined_flag_CXX
+
+# Flag that enforces no undefined symbols.
+no_undefined_flag=$lt_no_undefined_flag_CXX
+
+# Flag to hardcode \$libdir into a binary during linking.
+# This must work even if \$libdir does not exist
+hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_CXX
+
+# If ld is used when linking, flag to hardcode \$libdir into a binary
+# during linking. This must work even if \$libdir does not exist.
+hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld_CXX
+
+# Whether we need a single "-rpath" flag with a separated argument.
+hardcode_libdir_separator=$lt_hardcode_libdir_separator_CXX
+
+# Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes
+# DIR into the resulting binary.
+hardcode_direct=$hardcode_direct_CXX
+
+# Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes
+# DIR into the resulting binary and the resulting library dependency is
+# "absolute",i.e impossible to change by setting \${shlibpath_var} if the
+# library is relocated.
+hardcode_direct_absolute=$hardcode_direct_absolute_CXX
+
+# Set to "yes" if using the -LDIR flag during linking hardcodes DIR
+# into the resulting binary.
+hardcode_minus_L=$hardcode_minus_L_CXX
+
+# Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR
+# into the resulting binary.
+hardcode_shlibpath_var=$hardcode_shlibpath_var_CXX
+
+# Set to "yes" if building a shared library automatically hardcodes DIR
+# into the library and all subsequent libraries and executables linked
+# against it.
+hardcode_automatic=$hardcode_automatic_CXX
+
+# Set to yes if linker adds runtime paths of dependent libraries
+# to runtime path list.
+inherit_rpath=$inherit_rpath_CXX
+
+# Whether libtool must link a program against all its dependency libraries.
+link_all_deplibs=$link_all_deplibs_CXX
+
+# Fix the shell variable \$srcfile for the compiler.
+fix_srcfile_path=$lt_fix_srcfile_path_CXX
+
+# Set to "yes" if exported symbols are required.
+always_export_symbols=$always_export_symbols_CXX
+
+# The commands to list exported symbols.
+export_symbols_cmds=$lt_export_symbols_cmds_CXX
+
+# Symbols that should not be listed in the preloaded symbols.
+exclude_expsyms=$lt_exclude_expsyms_CXX
+
+# Symbols that must always be exported.
+include_expsyms=$lt_include_expsyms_CXX
+
+# Commands necessary for linking programs (against libraries) with templates.
+prelink_cmds=$lt_prelink_cmds_CXX
+
+# Specify filename containing input files.
+file_list_spec=$lt_file_list_spec_CXX
+
+# How to hardcode a shared library path into an executable.
+hardcode_action=$hardcode_action_CXX
+
+# The directories searched by this compiler when creating a shared library.
+compiler_lib_search_dirs=$lt_compiler_lib_search_dirs_CXX
+
+# Dependencies to place before and after the objects being linked to
+# create a shared library.
+predep_objects=$lt_predep_objects_CXX
+postdep_objects=$lt_postdep_objects_CXX
+predeps=$lt_predeps_CXX
+postdeps=$lt_postdeps_CXX
+
+# The library search path used internally by the compiler when linking
+# a shared library.
+compiler_lib_search_path=$lt_compiler_lib_search_path_CXX
+
+# ### END LIBTOOL TAG CONFIG: CXX
+_LT_EOF
+
;;
esac
@@ -22819,6 +20031,11 @@ _ACEOF
chmod +x $CONFIG_STATUS
ac_clean_files=$ac_clean_files_save
+test $ac_write_fail = 0 ||
+ { { $as_echo "$as_me:$LINENO: error: write failure creating $CONFIG_STATUS" >&5
+$as_echo "$as_me: error: write failure creating $CONFIG_STATUS" >&2;}
+ { (exit 1); exit 1; }; }
+
# configure is writing to config.log, and then calls config.status.
# config.status does its own redirection, appending to config.log.
@@ -22840,5 +20057,9 @@ if test "$no_create" != yes; then
# would make configure fail if this is the last instruction.
$ac_cs_success || { (exit 1); exit 1; }
fi
+if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then
+ { $as_echo "$as_me:$LINENO: WARNING: unrecognized options: $ac_unrecognized_opts" >&5
+$as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;}
+fi
diff --git a/configure.ac b/configure.ac
index 6a92a04..1f5a565 100644
--- a/configure.ac
+++ b/configure.ac
@@ -5,7 +5,7 @@
# Version change: Change line 8 only !
# Change it immediately after a release
-AC_INIT(sword, 1.5.11, sword-bugs@crosswire.org)
+AC_INIT(sword, 1.6.0, sword-bugs@crosswire.org)
AC_CONFIG_SRCDIR(sword.bmp)
AC_PREREQ(2.52)
AC_REVISION($Revision: 1.45 $)
@@ -15,6 +15,7 @@ AM_INIT_AUTOMAKE
AM_CONFIG_HEADER(include/config.h)
+AC_CONFIG_MACRO_DIR([m4])
# ---------------------------------------------------------------------
# Check Programs
@@ -80,18 +81,18 @@ AM_MAINTAINER_MODE
if test x$enable_debug = xyes; then
GCJFLAGS="-g -O0"
if test x$ac_cv_prog_cc_g = xyes; then
- AM_CFLAGS="-g3 -O0 -Wall"
+ AM_CFLAGS="-g3 -O0 -Wall -Werror"
else
- AM_CFLAGS="-O0 -Wall"
+ AM_CFLAGS="-O0 -Wall -Werror"
fi
if test x$ac_cv_prog_cxx_g = xyes; then
- AM_CXXFLAGS="-g3 -O0 -Wall"
+ AM_CXXFLAGS="-g3 -O0 -Wall -Werror"
else
- AM_CXXFLAGS="-O0 -Wall"
+ AM_CXXFLAGS="-O0 -Wall -Werror"
fi
else
- AM_CFLAGS="-O2"
- AM_CXXFLAGS="-O2"
+ AM_CFLAGS="-O3"
+ AM_CXXFLAGS="-O3"
fi
# ---------------------------------------------------------------------
diff --git a/depcomp b/depcomp
index ca5ea4e..e5f9736 100755
--- a/depcomp
+++ b/depcomp
@@ -1,9 +1,9 @@
#! /bin/sh
# depcomp - compile a program generating dependencies as side-effects
-scriptversion=2006-10-15.18
+scriptversion=2007-03-29.01
-# Copyright (C) 1999, 2000, 2003, 2004, 2005, 2006 Free Software
+# Copyright (C) 1999, 2000, 2003, 2004, 2005, 2006, 2007 Free Software
# Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
@@ -215,34 +215,39 @@ aix)
# current directory. Also, the AIX compiler puts `$object:' at the
# start of each line; $object doesn't have directory information.
# Version 6 uses the directory in both cases.
- stripped=`echo "$object" | sed 's/\(.*\)\..*$/\1/'`
- tmpdepfile="$stripped.u"
+ dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
+ test "x$dir" = "x$object" && dir=
+ base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
if test "$libtool" = yes; then
+ tmpdepfile1=$dir$base.u
+ tmpdepfile2=$base.u
+ tmpdepfile3=$dir.libs/$base.u
"$@" -Wc,-M
else
+ tmpdepfile1=$dir$base.u
+ tmpdepfile2=$dir$base.u
+ tmpdepfile3=$dir$base.u
"$@" -M
fi
stat=$?
- if test -f "$tmpdepfile"; then :
- else
- stripped=`echo "$stripped" | sed 's,^.*/,,'`
- tmpdepfile="$stripped.u"
- fi
-
if test $stat -eq 0; then :
else
- rm -f "$tmpdepfile"
+ rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
exit $stat
fi
+ for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
+ do
+ test -f "$tmpdepfile" && break
+ done
if test -f "$tmpdepfile"; then
- outname="$stripped.o"
# Each line is of the form `foo.o: dependent.h'.
# Do two passes, one to just change these to
# `$object: dependent.h' and one to simply `dependent.h:'.
- sed -e "s,^$outname:,$object :," < "$tmpdepfile" > "$depfile"
- sed -e "s,^$outname: \(.*\)$,\1:," < "$tmpdepfile" >> "$depfile"
+ sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile"
+ # That's a tab and a space in the [].
+ sed -e 's,^.*\.[a-z]*:[ ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile"
else
# The sourcefile does not contain any dependencies, so just
# store a dummy comment line, to avoid errors with the Makefile
diff --git a/doc/Doxyfile b/doc/Doxyfile
new file mode 100644
index 0000000..7784066
--- /dev/null
+++ b/doc/Doxyfile
@@ -0,0 +1,1380 @@
+#******************************************************************************
+#
+# Doxyfile doxygen generation file for SWORD API docs
+#
+# Submitted by GHellings.
+#
+# Doxyfile 1.5.5
+#
+# $Id: usrinst.sh 2327 2009-04-22 11:42:33Z scribe $
+#
+# Copyright 1998-2009 CrossWire Bible Society (http://www.crosswire.org)
+# CrossWire Bible Society
+# P. O. Box 2528
+# Tempe, AZ 85280-2528
+#
+# This program is free software; you can redistribute it and/or modify it
+# under the terms of the GNU General Public License as published by the
+# Free Software Foundation version 2.
+#
+# This program is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# General Public License for more details.
+#
+#
+
+# This file describes the settings to be used by the documentation system
+# doxygen (www.doxygen.org) for a project
+#
+# All text after a hash (#) is considered a comment and will be ignored
+# The format is:
+# TAG = value [value, ...]
+# For lists items can also be appended using:
+# TAG += value [value, ...]
+# Values that contain spaces should be placed between quotes (" ")
+
+#---------------------------------------------------------------------------
+# Project related configuration options
+#---------------------------------------------------------------------------
+
+# This tag specifies the encoding used for all characters in the config file
+# that follow. The default is UTF-8 which is also the encoding used for all
+# text before the first occurrence of this tag. Doxygen uses libiconv (or the
+# iconv built into libc) for the transcoding. See
+# http://www.gnu.org/software/libiconv for the list of possible encodings.
+
+DOXYFILE_ENCODING = UTF-8
+
+# The PROJECT_NAME tag is a single word (or a sequence of words surrounded
+# by quotes) that should identify the project.
+
+PROJECT_NAME = "The SWORD Project"
+
+# The PROJECT_NUMBER tag can be used to enter a project or revision number.
+# This could be handy for archiving the generated documentation or
+# if some version control system is used.
+
+PROJECT_NUMBER = "1.6.0"
+
+# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute)
+# base path where the generated documentation will be put.
+# If a relative path is entered, it will be relative to the location
+# where doxygen was started. If left blank the current directory will be used.
+
+OUTPUT_DIRECTORY = doc/doxygen
+
+# If the CREATE_SUBDIRS tag is set to YES, then doxygen will create
+# 4096 sub-directories (in 2 levels) under the output directory of each output
+# format and will distribute the generated files over these directories.
+# Enabling this option can be useful when feeding doxygen a huge amount of
+# source files, where putting all generated files in the same directory would
+# otherwise cause performance problems for the file system.
+
+CREATE_SUBDIRS = NO
+
+# The OUTPUT_LANGUAGE tag is used to specify the language in which all
+# documentation generated by doxygen is written. Doxygen will use this
+# information to generate all constant output in the proper language.
+# The default language is English, other supported languages are:
+# Afrikaans, Arabic, Brazilian, Catalan, Chinese, Chinese-Traditional,
+# Croatian, Czech, Danish, Dutch, Farsi, Finnish, French, German, Greek,
+# Hungarian, Italian, Japanese, Japanese-en (Japanese with English messages),
+# Korean, Korean-en, Lithuanian, Norwegian, Macedonian, Persian, Polish,
+# Portuguese, Romanian, Russian, Serbian, Slovak, Slovene, Spanish, Swedish,
+# and Ukrainian.
+
+OUTPUT_LANGUAGE = English
+
+# If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will
+# include brief member descriptions after the members that are listed in
+# the file and class documentation (similar to JavaDoc).
+# Set to NO to disable this.
+
+BRIEF_MEMBER_DESC = YES
+
+# If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend
+# the brief description of a member or function before the detailed description.
+# Note: if both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the
+# brief descriptions will be completely suppressed.
+
+REPEAT_BRIEF = YES
+
+# This tag implements a quasi-intelligent brief description abbreviator
+# that is used to form the text in various listings. Each string
+# in this list, if found as the leading text of the brief description, will be
+# stripped from the text and the result after processing the whole list, is
+# used as the annotated text. Otherwise, the brief description is used as-is.
+# If left blank, the following values are used ("$name" is automatically
+# replaced with the name of the entity): "The $name class" "The $name widget"
+# "The $name file" "is" "provides" "specifies" "contains"
+# "represents" "a" "an" "the"
+
+ABBREVIATE_BRIEF =
+
+# If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then
+# Doxygen will generate a detailed section even if there is only a brief
+# description.
+
+ALWAYS_DETAILED_SEC = NO
+
+# If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all
+# inherited members of a class in the documentation of that class as if those
+# members were ordinary class members. Constructors, destructors and assignment
+# operators of the base classes will not be shown.
+
+INLINE_INHERITED_MEMB = YES
+
+# If the FULL_PATH_NAMES tag is set to YES then Doxygen will prepend the full
+# path before files name in the file list and in the header files. If set
+# to NO the shortest path that makes the file name unique will be used.
+
+FULL_PATH_NAMES = YES
+
+# If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag
+# can be used to strip a user-defined part of the path. Stripping is
+# only done if one of the specified strings matches the left-hand part of
+# the path. The tag can be used to show relative paths in the file list.
+# If left blank the directory from which doxygen is run is used as the
+# path to strip.
+
+STRIP_FROM_PATH =
+
+# The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of
+# the path mentioned in the documentation of a class, which tells
+# the reader which header file to include in order to use a class.
+# If left blank only the name of the header file containing the class
+# definition is used. Otherwise one should specify the include paths that
+# are normally passed to the compiler using the -I flag.
+
+STRIP_FROM_INC_PATH =
+
+# If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter
+# (but less readable) file names. This can be useful is your file systems
+# doesn't support long names like on DOS, Mac, or CD-ROM.
+
+SHORT_NAMES = NO
+
+# If the JAVADOC_AUTOBRIEF tag is set to YES then Doxygen
+# will interpret the first line (until the first dot) of a JavaDoc-style
+# comment as the brief description. If set to NO, the JavaDoc
+# comments will behave just like regular Qt-style comments
+# (thus requiring an explicit @brief command for a brief description.)
+
+JAVADOC_AUTOBRIEF = NO
+
+# If the QT_AUTOBRIEF tag is set to YES then Doxygen will
+# interpret the first line (until the first dot) of a Qt-style
+# comment as the brief description. If set to NO, the comments
+# will behave just like regular Qt-style comments (thus requiring
+# an explicit \brief command for a brief description.)
+
+QT_AUTOBRIEF = NO
+
+# The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make Doxygen
+# treat a multi-line C++ special comment block (i.e. a block of //! or ///
+# comments) as a brief description. This used to be the default behaviour.
+# The new default is to treat a multi-line C++ comment block as a detailed
+# description. Set this tag to YES if you prefer the old behaviour instead.
+
+MULTILINE_CPP_IS_BRIEF = NO
+
+# If the DETAILS_AT_TOP tag is set to YES then Doxygen
+# will output the detailed description near the top, like JavaDoc.
+# If set to NO, the detailed description appears after the member
+# documentation.
+
+DETAILS_AT_TOP = YES
+
+# If the INHERIT_DOCS tag is set to YES (the default) then an undocumented
+# member inherits the documentation from any documented member that it
+# re-implements.
+
+INHERIT_DOCS = YES
+
+# If the SEPARATE_MEMBER_PAGES tag is set to YES, then doxygen will produce
+# a new page for each member. If set to NO, the documentation of a member will
+# be part of the file/class/namespace that contains it.
+
+SEPARATE_MEMBER_PAGES = NO
+
+# The TAB_SIZE tag can be used to set the number of spaces in a tab.
+# Doxygen uses this value to replace tabs by spaces in code fragments.
+
+TAB_SIZE = 4
+
+# This tag can be used to specify a number of aliases that acts
+# as commands in the documentation. An alias has the form "name=value".
+# For example adding "sideeffect=\par Side Effects:\n" will allow you to
+# put the command \sideeffect (or @sideeffect) in the documentation, which
+# will result in a user-defined paragraph with heading "Side Effects:".
+# You can put \n's in the value part of an alias to insert newlines.
+
+ALIASES =
+
+# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C
+# sources only. Doxygen will then generate output that is more tailored for C.
+# For instance, some of the names that are used will be different. The list
+# of all members will be omitted, etc.
+
+OPTIMIZE_OUTPUT_FOR_C = NO
+
+# Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java
+# sources only. Doxygen will then generate output that is more tailored for
+# Java. For instance, namespaces will be presented as packages, qualified
+# scopes will look different, etc.
+
+OPTIMIZE_OUTPUT_JAVA = NO
+
+# Set the OPTIMIZE_FOR_FORTRAN tag to YES if your project consists of Fortran
+# sources only. Doxygen will then generate output that is more tailored for
+# Fortran.
+
+OPTIMIZE_FOR_FORTRAN = NO
+
+# Set the OPTIMIZE_OUTPUT_VHDL tag to YES if your project consists of VHDL
+# sources. Doxygen will then generate output that is tailored for
+# VHDL.
+
+OPTIMIZE_OUTPUT_VHDL = NO
+
+# If you use STL classes (i.e. std::string, std::vector, etc.) but do not want
+# to include (a tag file for) the STL sources as input, then you should
+# set this tag to YES in order to let doxygen match functions declarations and
+# definitions whose arguments contain STL classes (e.g. func(std::string); v.s.
+# func(std::string) {}). This also make the inheritance and collaboration
+# diagrams that involve STL classes more complete and accurate.
+
+BUILTIN_STL_SUPPORT = YES
+
+# If you use Microsoft's C++/CLI language, you should set this option to YES to
+# enable parsing support.
+
+CPP_CLI_SUPPORT = NO
+
+# Set the SIP_SUPPORT tag to YES if your project consists of sip sources only.
+# Doxygen will parse them like normal C++ but will assume all classes use public
+# instead of private inheritance when no explicit protection keyword is present.
+
+SIP_SUPPORT = NO
+
+# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC
+# tag is set to YES, then doxygen will reuse the documentation of the first
+# member in the group (if any) for the other members of the group. By default
+# all members of a group must be documented explicitly.
+
+DISTRIBUTE_GROUP_DOC = NO
+
+# Set the SUBGROUPING tag to YES (the default) to allow class member groups of
+# the same type (for instance a group of public functions) to be put as a
+# subgroup of that type (e.g. under the Public Functions section). Set it to
+# NO to prevent subgrouping. Alternatively, this can be done per class using
+# the \nosubgrouping command.
+
+SUBGROUPING = YES
+
+# When TYPEDEF_HIDES_STRUCT is enabled, a typedef of a struct, union, or enum
+# is documented as struct, union, or enum with the name of the typedef. So
+# typedef struct TypeS {} TypeT, will appear in the documentation as a struct
+# with name TypeT. When disabled the typedef will appear as a member of a file,
+# namespace, or class. And the struct will be named TypeS. This can typically
+# be useful for C code in case the coding convention dictates that all compound
+# types are typedef'ed and only the typedef is referenced, never the tag name.
+
+TYPEDEF_HIDES_STRUCT = NO
+
+#---------------------------------------------------------------------------
+# Build related configuration options
+#---------------------------------------------------------------------------
+
+# If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in
+# documentation are documented, even if no documentation was available.
+# Private class members and static file members will be hidden unless
+# the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES
+
+EXTRACT_ALL = YES
+
+# If the EXTRACT_PRIVATE tag is set to YES all private members of a class
+# will be included in the documentation.
+
+EXTRACT_PRIVATE = YES
+
+# If the EXTRACT_STATIC tag is set to YES all static members of a file
+# will be included in the documentation.
+
+EXTRACT_STATIC = YES
+
+# If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs)
+# defined locally in source files will be included in the documentation.
+# If set to NO only classes defined in header files are included.
+
+EXTRACT_LOCAL_CLASSES = YES
+
+# This flag is only useful for Objective-C code. When set to YES local
+# methods, which are defined in the implementation section but not in
+# the interface are included in the documentation.
+# If set to NO (the default) only methods in the interface are included.
+
+EXTRACT_LOCAL_METHODS = NO
+
+# If this flag is set to YES, the members of anonymous namespaces will be
+# extracted and appear in the documentation as a namespace called
+# 'anonymous_namespace{file}', where file will be replaced with the base
+# name of the file that contains the anonymous namespace. By default
+# anonymous namespace are hidden.
+
+EXTRACT_ANON_NSPACES = NO
+
+# If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all
+# undocumented members of documented classes, files or namespaces.
+# If set to NO (the default) these members will be included in the
+# various overviews, but no documentation section is generated.
+# This option has no effect if EXTRACT_ALL is enabled.
+
+HIDE_UNDOC_MEMBERS = NO
+
+# If the HIDE_UNDOC_CLASSES tag is set to YES, Doxygen will hide all
+# undocumented classes that are normally visible in the class hierarchy.
+# If set to NO (the default) these classes will be included in the various
+# overviews. This option has no effect if EXTRACT_ALL is enabled.
+
+HIDE_UNDOC_CLASSES = NO
+
+# If the HIDE_FRIEND_COMPOUNDS tag is set to YES, Doxygen will hide all
+# friend (class|struct|union) declarations.
+# If set to NO (the default) these declarations will be included in the
+# documentation.
+
+HIDE_FRIEND_COMPOUNDS = NO
+
+# If the HIDE_IN_BODY_DOCS tag is set to YES, Doxygen will hide any
+# documentation blocks found inside the body of a function.
+# If set to NO (the default) these blocks will be appended to the
+# function's detailed documentation block.
+
+HIDE_IN_BODY_DOCS = NO
+
+# The INTERNAL_DOCS tag determines if documentation
+# that is typed after a \internal command is included. If the tag is set
+# to NO (the default) then the documentation will be excluded.
+# Set it to YES to include the internal documentation.
+
+INTERNAL_DOCS = NO
+
+# If the CASE_SENSE_NAMES tag is set to NO then Doxygen will only generate
+# file names in lower-case letters. If set to YES upper-case letters are also
+# allowed. This is useful if you have classes or files whose names only differ
+# in case and if your file system supports case sensitive file names. Windows
+# and Mac users are advised to set this option to NO.
+
+CASE_SENSE_NAMES = YES
+
+# If the HIDE_SCOPE_NAMES tag is set to NO (the default) then Doxygen
+# will show members with their full class and namespace scopes in the
+# documentation. If set to YES the scope will be hidden.
+
+HIDE_SCOPE_NAMES = NO
+
+# If the SHOW_INCLUDE_FILES tag is set to YES (the default) then Doxygen
+# will put a list of the files that are included by a file in the documentation
+# of that file.
+
+SHOW_INCLUDE_FILES = YES
+
+# If the INLINE_INFO tag is set to YES (the default) then a tag [inline]
+# is inserted in the documentation for inline members.
+
+INLINE_INFO = YES
+
+# If the SORT_MEMBER_DOCS tag is set to YES (the default) then doxygen
+# will sort the (detailed) documentation of file and class members
+# alphabetically by member name. If set to NO the members will appear in
+# declaration order.
+
+SORT_MEMBER_DOCS = YES
+
+# If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the
+# brief documentation of file, namespace and class members alphabetically
+# by member name. If set to NO (the default) the members will appear in
+# declaration order.
+
+SORT_BRIEF_DOCS = YES
+
+# If the SORT_GROUP_NAMES tag is set to YES then doxygen will sort the
+# hierarchy of group names into alphabetical order. If set to NO (the default)
+# the group names will appear in their defined order.
+
+SORT_GROUP_NAMES = NO
+
+# If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be
+# sorted by fully-qualified names, including namespaces. If set to
+# NO (the default), the class list will be sorted only by class name,
+# not including the namespace part.
+# Note: This option is not very useful if HIDE_SCOPE_NAMES is set to YES.
+# Note: This option applies only to the class list, not to the
+# alphabetical list.
+
+SORT_BY_SCOPE_NAME = NO
+
+# The GENERATE_TODOLIST tag can be used to enable (YES) or
+# disable (NO) the todo list. This list is created by putting \todo
+# commands in the documentation.
+
+GENERATE_TODOLIST = YES
+
+# The GENERATE_TESTLIST tag can be used to enable (YES) or
+# disable (NO) the test list. This list is created by putting \test
+# commands in the documentation.
+
+GENERATE_TESTLIST = YES
+
+# The GENERATE_BUGLIST tag can be used to enable (YES) or
+# disable (NO) the bug list. This list is created by putting \bug
+# commands in the documentation.
+
+GENERATE_BUGLIST = YES
+
+# The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or
+# disable (NO) the deprecated list. This list is created by putting
+# \deprecated commands in the documentation.
+
+GENERATE_DEPRECATEDLIST= YES
+
+# The ENABLED_SECTIONS tag can be used to enable conditional
+# documentation sections, marked by \if sectionname ... \endif.
+
+ENABLED_SECTIONS =
+
+# The MAX_INITIALIZER_LINES tag determines the maximum number of lines
+# the initial value of a variable or define consists of for it to appear in
+# the documentation. If the initializer consists of more lines than specified
+# here it will be hidden. Use a value of 0 to hide initializers completely.
+# The appearance of the initializer of individual variables and defines in the
+# documentation can be controlled using \showinitializer or \hideinitializer
+# command in the documentation regardless of this setting.
+
+MAX_INITIALIZER_LINES = 30
+
+# Set the SHOW_USED_FILES tag to NO to disable the list of files generated
+# at the bottom of the documentation of classes and structs. If set to YES the
+# list will mention the files that were used to generate the documentation.
+
+SHOW_USED_FILES = YES
+
+# If the sources in your project are distributed over multiple directories
+# then setting the SHOW_DIRECTORIES tag to YES will show the directory hierarchy
+# in the documentation. The default is NO.
+
+SHOW_DIRECTORIES = NO
+
+# The FILE_VERSION_FILTER tag can be used to specify a program or script that
+# doxygen should invoke to get the current version for each file (typically from
+# the version control system). Doxygen will invoke the program by executing (via
+# popen()) the command <command> <input-file>, where <command> is the value of
+# the FILE_VERSION_FILTER tag, and <input-file> is the name of an input file
+# provided by doxygen. Whatever the program writes to standard output
+# is used as the file version. See the manual for examples.
+
+FILE_VERSION_FILTER =
+
+#---------------------------------------------------------------------------
+# configuration options related to warning and progress messages
+#---------------------------------------------------------------------------
+
+# The QUIET tag can be used to turn on/off the messages that are generated
+# by doxygen. Possible values are YES and NO. If left blank NO is used.
+
+QUIET = NO
+
+# The WARNINGS tag can be used to turn on/off the warning messages that are
+# generated by doxygen. Possible values are YES and NO. If left blank
+# NO is used.
+
+WARNINGS = YES
+
+# If WARN_IF_UNDOCUMENTED is set to YES, then doxygen will generate warnings
+# for undocumented members. If EXTRACT_ALL is set to YES then this flag will
+# automatically be disabled.
+
+WARN_IF_UNDOCUMENTED = YES
+
+# If WARN_IF_DOC_ERROR is set to YES, doxygen will generate warnings for
+# potential errors in the documentation, such as not documenting some
+# parameters in a documented function, or documenting parameters that
+# don't exist or using markup commands wrongly.
+
+WARN_IF_DOC_ERROR = YES
+
+# This WARN_NO_PARAMDOC option can be abled to get warnings for
+# functions that are documented, but have no documentation for their parameters
+# or return value. If set to NO (the default) doxygen will only warn about
+# wrong or incomplete parameter documentation, but not about the absence of
+# documentation.
+
+WARN_NO_PARAMDOC = NO
+
+# The WARN_FORMAT tag determines the format of the warning messages that
+# doxygen can produce. The string should contain the $file, $line, and $text
+# tags, which will be replaced by the file and line number from which the
+# warning originated and the warning text. Optionally the format may contain
+# $version, which will be replaced by the version of the file (if it could
+# be obtained via FILE_VERSION_FILTER)
+
+WARN_FORMAT = "$file:$line: $text"
+
+# The WARN_LOGFILE tag can be used to specify a file to which warning
+# and error messages should be written. If left blank the output is written
+# to stderr.
+
+WARN_LOGFILE =
+
+#---------------------------------------------------------------------------
+# configuration options related to the input files
+#---------------------------------------------------------------------------
+
+# The INPUT tag can be used to specify the files and/or directories that contain
+# documented source files. You may enter file names like "myfile.cpp" or
+# directories like "/usr/src/myproject". Separate the files or directories
+# with spaces.
+
+INPUT = src include utilities
+
+# This tag can be used to specify the character encoding of the source files
+# that doxygen parses. Internally doxygen uses the UTF-8 encoding, which is
+# also the default input encoding. Doxygen uses libiconv (or the iconv built
+# into libc) for the transcoding. See http://www.gnu.org/software/libiconv for
+# the list of possible encodings.
+
+INPUT_ENCODING = UTF-8
+
+# If the value of the INPUT tag contains directories, you can use the
+# FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp
+# and *.h) to filter out the source-files in the directories. If left
+# blank the following patterns are tested:
+# *.c *.cc *.cxx *.cpp *.c++ *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh *.hxx
+# *.hpp *.h++ *.idl *.odl *.cs *.php *.php3 *.inc *.m *.mm *.py *.f90
+
+FILE_PATTERNS =
+
+# The RECURSIVE tag can be used to turn specify whether or not subdirectories
+# should be searched for input files as well. Possible values are YES and NO.
+# If left blank NO is used.
+
+RECURSIVE = YES
+
+# The EXCLUDE tag can be used to specify files and/or directories that should
+# excluded from the INPUT source files. This way you can easily exclude a
+# subdirectory from a directory tree whose root is specified with the INPUT tag.
+
+EXCLUDE =
+
+# The EXCLUDE_SYMLINKS tag can be used select whether or not files or
+# directories that are symbolic links (a Unix filesystem feature) are excluded
+# from the input.
+
+EXCLUDE_SYMLINKS = NO
+
+# If the value of the INPUT tag contains directories, you can use the
+# EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude
+# certain files from those directories. Note that the wildcards are matched
+# against the file with absolute path, so to exclude all test directories
+# for example use the pattern */test/*
+
+EXCLUDE_PATTERNS =
+
+# The EXCLUDE_SYMBOLS tag can be used to specify one or more symbol names
+# (namespaces, classes, functions, etc.) that should be excluded from the
+# output. The symbol name can be a fully qualified name, a word, or if the
+# wildcard * is used, a substring. Examples: ANamespace, AClass,
+# AClass::ANamespace, ANamespace::*Test
+
+EXCLUDE_SYMBOLS =
+
+# The EXAMPLE_PATH tag can be used to specify one or more files or
+# directories that contain example code fragments that are included (see
+# the \include command).
+
+EXAMPLE_PATH =
+
+# If the value of the EXAMPLE_PATH tag contains directories, you can use the
+# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp
+# and *.h) to filter out the source-files in the directories. If left
+# blank all files are included.
+
+EXAMPLE_PATTERNS = examples
+
+# If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be
+# searched for input files to be used with the \include or \dontinclude
+# commands irrespective of the value of the RECURSIVE tag.
+# Possible values are YES and NO. If left blank NO is used.
+
+EXAMPLE_RECURSIVE = YES
+
+# The IMAGE_PATH tag can be used to specify one or more files or
+# directories that contain image that are included in the documentation (see
+# the \image command).
+
+IMAGE_PATH =
+
+# The INPUT_FILTER tag can be used to specify a program that doxygen should
+# invoke to filter for each input file. Doxygen will invoke the filter program
+# by executing (via popen()) the command <filter> <input-file>, where <filter>
+# is the value of the INPUT_FILTER tag, and <input-file> is the name of an
+# input file. Doxygen will then use the output that the filter program writes
+# to standard output. If FILTER_PATTERNS is specified, this tag will be
+# ignored.
+
+INPUT_FILTER =
+
+# The FILTER_PATTERNS tag can be used to specify filters on a per file pattern
+# basis. Doxygen will compare the file name with each pattern and apply the
+# filter if there is a match. The filters are a list of the form:
+# pattern=filter (like *.cpp=my_cpp_filter). See INPUT_FILTER for further
+# info on how filters are used. If FILTER_PATTERNS is empty, INPUT_FILTER
+# is applied to all files.
+
+FILTER_PATTERNS =
+
+# If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using
+# INPUT_FILTER) will be used to filter the input files when producing source
+# files to browse (i.e. when SOURCE_BROWSER is set to YES).
+
+FILTER_SOURCE_FILES = NO
+
+#---------------------------------------------------------------------------
+# configuration options related to source browsing
+#---------------------------------------------------------------------------
+
+# If the SOURCE_BROWSER tag is set to YES then a list of source files will
+# be generated. Documented entities will be cross-referenced with these sources.
+# Note: To get rid of all source code in the generated output, make sure also
+# VERBATIM_HEADERS is set to NO.
+
+SOURCE_BROWSER = YES
+
+# Setting the INLINE_SOURCES tag to YES will include the body
+# of functions and classes directly in the documentation.
+
+INLINE_SOURCES = YES
+
+# Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct
+# doxygen to hide any special comment blocks from generated source code
+# fragments. Normal C and C++ comments will always remain visible.
+
+STRIP_CODE_COMMENTS = YES
+
+# If the REFERENCED_BY_RELATION tag is set to YES (the default)
+# then for each documented function all documented
+# functions referencing it will be listed.
+
+REFERENCED_BY_RELATION = NO
+
+# If the REFERENCES_RELATION tag is set to YES (the default)
+# then for each documented function all documented entities
+# called/used by that function will be listed.
+
+REFERENCES_RELATION = NO
+
+# If the REFERENCES_LINK_SOURCE tag is set to YES (the default)
+# and SOURCE_BROWSER tag is set to YES, then the hyperlinks from
+# functions in REFERENCES_RELATION and REFERENCED_BY_RELATION lists will
+# link to the source code. Otherwise they will link to the documentstion.
+
+REFERENCES_LINK_SOURCE = YES
+
+# If the USE_HTAGS tag is set to YES then the references to source code
+# will point to the HTML generated by the htags(1) tool instead of doxygen
+# built-in source browser. The htags tool is part of GNU's global source
+# tagging system (see http://www.gnu.org/software/global/global.html). You
+# will need version 4.8.6 or higher.
+
+USE_HTAGS = NO
+
+# If the VERBATIM_HEADERS tag is set to YES (the default) then Doxygen
+# will generate a verbatim copy of the header file for each class for
+# which an include is specified. Set to NO to disable this.
+
+VERBATIM_HEADERS = YES
+
+#---------------------------------------------------------------------------
+# configuration options related to the alphabetical class index
+#---------------------------------------------------------------------------
+
+# If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index
+# of all compounds will be generated. Enable this if the project
+# contains a lot of classes, structs, unions or interfaces.
+
+ALPHABETICAL_INDEX = YES
+
+# If the alphabetical index is enabled (see ALPHABETICAL_INDEX) then
+# the COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns
+# in which this list will be split (can be a number in the range [1..20])
+
+COLS_IN_ALPHA_INDEX = 5
+
+# In case all classes in a project start with a common prefix, all
+# classes will be put under the same header in the alphabetical index.
+# The IGNORE_PREFIX tag can be used to specify one or more prefixes that
+# should be ignored while generating the index headers.
+
+IGNORE_PREFIX =
+
+#---------------------------------------------------------------------------
+# configuration options related to the HTML output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_HTML tag is set to YES (the default) Doxygen will
+# generate HTML output.
+
+GENERATE_HTML = YES
+
+# The HTML_OUTPUT tag is used to specify where the HTML docs will be put.
+# If a relative path is entered the value of OUTPUT_DIRECTORY will be
+# put in front of it. If left blank `html' will be used as the default path.
+
+HTML_OUTPUT = html
+
+# The HTML_FILE_EXTENSION tag can be used to specify the file extension for
+# each generated HTML page (for example: .htm,.php,.asp). If it is left blank
+# doxygen will generate files with .html extension.
+
+HTML_FILE_EXTENSION = .html
+
+# The HTML_HEADER tag can be used to specify a personal HTML header for
+# each generated HTML page. If it is left blank doxygen will generate a
+# standard header.
+
+HTML_HEADER =
+
+# The HTML_FOOTER tag can be used to specify a personal HTML footer for
+# each generated HTML page. If it is left blank doxygen will generate a
+# standard footer.
+
+HTML_FOOTER =
+
+# The HTML_STYLESHEET tag can be used to specify a user-defined cascading
+# style sheet that is used by each HTML page. It can be used to
+# fine-tune the look of the HTML output. If the tag is left blank doxygen
+# will generate a default style sheet. Note that doxygen will try to copy
+# the style sheet file to the HTML output directory, so don't put your own
+# stylesheet in the HTML output directory as well, or it will be erased!
+
+HTML_STYLESHEET =
+
+# If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes,
+# files or namespaces will be aligned in HTML using tables. If set to
+# NO a bullet list will be used.
+
+HTML_ALIGN_MEMBERS = YES
+
+# If the GENERATE_HTMLHELP tag is set to YES, additional index files
+# will be generated that can be used as input for tools like the
+# Microsoft HTML help workshop to generate a compiled HTML help file (.chm)
+# of the generated HTML documentation.
+
+GENERATE_HTMLHELP = NO
+
+# If the GENERATE_DOCSET tag is set to YES, additional index files
+# will be generated that can be used as input for Apple's Xcode 3
+# integrated development environment, introduced with OSX 10.5 (Leopard).
+# To create a documentation set, doxygen will generate a Makefile in the
+# HTML output directory. Running make will produce the docset in that
+# directory and running "make install" will install the docset in
+# ~/Library/Developer/Shared/Documentation/DocSets so that Xcode will find
+# it at startup.
+
+GENERATE_DOCSET = NO
+
+# When GENERATE_DOCSET tag is set to YES, this tag determines the name of the
+# feed. A documentation feed provides an umbrella under which multiple
+# documentation sets from a single provider (such as a company or product suite)
+# can be grouped.
+
+DOCSET_FEEDNAME = "Doxygen generated docs"
+
+# When GENERATE_DOCSET tag is set to YES, this tag specifies a string that
+# should uniquely identify the documentation set bundle. This should be a
+# reverse domain-name style string, e.g. com.mycompany.MyDocSet. Doxygen
+# will append .docset to the name.
+
+DOCSET_BUNDLE_ID = org.doxygen.Project
+
+# If the HTML_DYNAMIC_SECTIONS tag is set to YES then the generated HTML
+# documentation will contain sections that can be hidden and shown after the
+# page has loaded. For this to work a browser that supports
+# JavaScript and DHTML is required (for instance Mozilla 1.0+, Firefox
+# Netscape 6.0+, Internet explorer 5.0+, Konqueror, or Safari).
+
+HTML_DYNAMIC_SECTIONS = YES
+
+# If the GENERATE_HTMLHELP tag is set to YES, the CHM_FILE tag can
+# be used to specify the file name of the resulting .chm file. You
+# can add a path in front of the file if the result should not be
+# written to the html output directory.
+
+CHM_FILE =
+
+# If the GENERATE_HTMLHELP tag is set to YES, the HHC_LOCATION tag can
+# be used to specify the location (absolute path including file name) of
+# the HTML help compiler (hhc.exe). If non-empty doxygen will try to run
+# the HTML help compiler on the generated index.hhp.
+
+HHC_LOCATION =
+
+# If the GENERATE_HTMLHELP tag is set to YES, the GENERATE_CHI flag
+# controls if a separate .chi index file is generated (YES) or that
+# it should be included in the master .chm file (NO).
+
+GENERATE_CHI = NO
+
+# If the GENERATE_HTMLHELP tag is set to YES, the BINARY_TOC flag
+# controls whether a binary table of contents is generated (YES) or a
+# normal table of contents (NO) in the .chm file.
+
+BINARY_TOC = NO
+
+# The TOC_EXPAND flag can be set to YES to add extra items for group members
+# to the contents of the HTML help documentation and to the tree view.
+
+TOC_EXPAND = NO
+
+# The DISABLE_INDEX tag can be used to turn on/off the condensed index at
+# top of each HTML page. The value NO (the default) enables the index and
+# the value YES disables it.
+
+DISABLE_INDEX = NO
+
+# This tag can be used to set the number of enum values (range [1..20])
+# that doxygen will group on one line in the generated HTML documentation.
+
+ENUM_VALUES_PER_LINE = 4
+
+# If the GENERATE_TREEVIEW tag is set to YES, a side panel will be
+# generated containing a tree-like index structure (just like the one that
+# is generated for HTML Help). For this to work a browser that supports
+# JavaScript, DHTML, CSS and frames is required (for instance Mozilla 1.0+,
+# Netscape 6.0+, Internet explorer 5.0+, or Konqueror). Windows users are
+# probably better off using the HTML help feature.
+
+GENERATE_TREEVIEW = YES
+
+# If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be
+# used to set the initial width (in pixels) of the frame in which the tree
+# is shown.
+
+TREEVIEW_WIDTH = 250
+
+#---------------------------------------------------------------------------
+# configuration options related to the LaTeX output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_LATEX tag is set to YES (the default) Doxygen will
+# generate Latex output.
+
+GENERATE_LATEX = YES
+
+# The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put.
+# If a relative path is entered the value of OUTPUT_DIRECTORY will be
+# put in front of it. If left blank `latex' will be used as the default path.
+
+LATEX_OUTPUT = latex
+
+# The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be
+# invoked. If left blank `latex' will be used as the default command name.
+
+LATEX_CMD_NAME = latex
+
+# The MAKEINDEX_CMD_NAME tag can be used to specify the command name to
+# generate index for LaTeX. If left blank `makeindex' will be used as the
+# default command name.
+
+MAKEINDEX_CMD_NAME = makeindex
+
+# If the COMPACT_LATEX tag is set to YES Doxygen generates more compact
+# LaTeX documents. This may be useful for small projects and may help to
+# save some trees in general.
+
+COMPACT_LATEX = NO
+
+# The PAPER_TYPE tag can be used to set the paper type that is used
+# by the printer. Possible values are: a4, a4wide, letter, legal and
+# executive. If left blank a4wide will be used.
+
+PAPER_TYPE = letter
+
+# The EXTRA_PACKAGES tag can be to specify one or more names of LaTeX
+# packages that should be included in the LaTeX output.
+
+EXTRA_PACKAGES =
+
+# The LATEX_HEADER tag can be used to specify a personal LaTeX header for
+# the generated latex document. The header should contain everything until
+# the first chapter. If it is left blank doxygen will generate a
+# standard header. Notice: only use this tag if you know what you are doing!
+
+LATEX_HEADER =
+
+# If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated
+# is prepared for conversion to pdf (using ps2pdf). The pdf file will
+# contain links (just like the HTML output) instead of page references
+# This makes the output suitable for online browsing using a pdf viewer.
+
+PDF_HYPERLINKS = YES
+
+# If the USE_PDFLATEX tag is set to YES, pdflatex will be used instead of
+# plain latex in the generated Makefile. Set this option to YES to get a
+# higher quality PDF documentation.
+
+USE_PDFLATEX = YES
+
+# If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \\batchmode.
+# command to the generated LaTeX files. This will instruct LaTeX to keep
+# running if errors occur, instead of asking the user for help.
+# This option is also used when generating formulas in HTML.
+
+LATEX_BATCHMODE = NO
+
+# If LATEX_HIDE_INDICES is set to YES then doxygen will not
+# include the index chapters (such as File Index, Compound Index, etc.)
+# in the output.
+
+LATEX_HIDE_INDICES = NO
+
+#---------------------------------------------------------------------------
+# configuration options related to the RTF output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_RTF tag is set to YES Doxygen will generate RTF output
+# The RTF output is optimized for Word 97 and may not look very pretty with
+# other RTF readers or editors.
+
+GENERATE_RTF = NO
+
+# The RTF_OUTPUT tag is used to specify where the RTF docs will be put.
+# If a relative path is entered the value of OUTPUT_DIRECTORY will be
+# put in front of it. If left blank `rtf' will be used as the default path.
+
+RTF_OUTPUT = rtf
+
+# If the COMPACT_RTF tag is set to YES Doxygen generates more compact
+# RTF documents. This may be useful for small projects and may help to
+# save some trees in general.
+
+COMPACT_RTF = NO
+
+# If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated
+# will contain hyperlink fields. The RTF file will
+# contain links (just like the HTML output) instead of page references.
+# This makes the output suitable for online browsing using WORD or other
+# programs which support those fields.
+# Note: wordpad (write) and others do not support links.
+
+RTF_HYPERLINKS = NO
+
+# Load stylesheet definitions from file. Syntax is similar to doxygen's
+# config file, i.e. a series of assignments. You only have to provide
+# replacements, missing definitions are set to their default value.
+
+RTF_STYLESHEET_FILE =
+
+# Set optional variables used in the generation of an rtf document.
+# Syntax is similar to doxygen's config file.
+
+RTF_EXTENSIONS_FILE =
+
+#---------------------------------------------------------------------------
+# configuration options related to the man page output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_MAN tag is set to YES (the default) Doxygen will
+# generate man pages
+
+GENERATE_MAN = NO
+
+# The MAN_OUTPUT tag is used to specify where the man pages will be put.
+# If a relative path is entered the value of OUTPUT_DIRECTORY will be
+# put in front of it. If left blank `man' will be used as the default path.
+
+MAN_OUTPUT = man
+
+# The MAN_EXTENSION tag determines the extension that is added to
+# the generated man pages (default is the subroutine's section .3)
+
+MAN_EXTENSION = .3
+
+# If the MAN_LINKS tag is set to YES and Doxygen generates man output,
+# then it will generate one additional man file for each entity
+# documented in the real man page(s). These additional files
+# only source the real man page, but without them the man command
+# would be unable to find the correct page. The default is NO.
+
+MAN_LINKS = NO
+
+#---------------------------------------------------------------------------
+# configuration options related to the XML output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_XML tag is set to YES Doxygen will
+# generate an XML file that captures the structure of
+# the code including all documentation.
+
+GENERATE_XML = NO
+
+# The XML_OUTPUT tag is used to specify where the XML pages will be put.
+# If a relative path is entered the value of OUTPUT_DIRECTORY will be
+# put in front of it. If left blank `xml' will be used as the default path.
+
+XML_OUTPUT = xml
+
+# The XML_SCHEMA tag can be used to specify an XML schema,
+# which can be used by a validating XML parser to check the
+# syntax of the XML files.
+
+XML_SCHEMA =
+
+# The XML_DTD tag can be used to specify an XML DTD,
+# which can be used by a validating XML parser to check the
+# syntax of the XML files.
+
+XML_DTD =
+
+# If the XML_PROGRAMLISTING tag is set to YES Doxygen will
+# dump the program listings (including syntax highlighting
+# and cross-referencing information) to the XML output. Note that
+# enabling this will significantly increase the size of the XML output.
+
+XML_PROGRAMLISTING = YES
+
+#---------------------------------------------------------------------------
+# configuration options for the AutoGen Definitions output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_AUTOGEN_DEF tag is set to YES Doxygen will
+# generate an AutoGen Definitions (see autogen.sf.net) file
+# that captures the structure of the code including all
+# documentation. Note that this feature is still experimental
+# and incomplete at the moment.
+
+GENERATE_AUTOGEN_DEF = NO
+
+#---------------------------------------------------------------------------
+# configuration options related to the Perl module output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_PERLMOD tag is set to YES Doxygen will
+# generate a Perl module file that captures the structure of
+# the code including all documentation. Note that this
+# feature is still experimental and incomplete at the
+# moment.
+
+GENERATE_PERLMOD = NO
+
+# If the PERLMOD_LATEX tag is set to YES Doxygen will generate
+# the necessary Makefile rules, Perl scripts and LaTeX code to be able
+# to generate PDF and DVI output from the Perl module output.
+
+PERLMOD_LATEX = NO
+
+# If the PERLMOD_PRETTY tag is set to YES the Perl module output will be
+# nicely formatted so it can be parsed by a human reader. This is useful
+# if you want to understand what is going on. On the other hand, if this
+# tag is set to NO the size of the Perl module output will be much smaller
+# and Perl will parse it just the same.
+
+PERLMOD_PRETTY = YES
+
+# The names of the make variables in the generated doxyrules.make file
+# are prefixed with the string contained in PERLMOD_MAKEVAR_PREFIX.
+# This is useful so different doxyrules.make files included by the same
+# Makefile don't overwrite each other's variables.
+
+PERLMOD_MAKEVAR_PREFIX =
+
+#---------------------------------------------------------------------------
+# Configuration options related to the preprocessor
+#---------------------------------------------------------------------------
+
+# If the ENABLE_PREPROCESSING tag is set to YES (the default) Doxygen will
+# evaluate all C-preprocessor directives found in the sources and include
+# files.
+
+ENABLE_PREPROCESSING = YES
+
+# If the MACRO_EXPANSION tag is set to YES Doxygen will expand all macro
+# names in the source code. If set to NO (the default) only conditional
+# compilation will be performed. Macro expansion can be done in a controlled
+# way by setting EXPAND_ONLY_PREDEF to YES.
+
+MACRO_EXPANSION = NO
+
+# If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES
+# then the macro expansion is limited to the macros specified with the
+# PREDEFINED and EXPAND_AS_DEFINED tags.
+
+EXPAND_ONLY_PREDEF = NO
+
+# If the SEARCH_INCLUDES tag is set to YES (the default) the includes files
+# in the INCLUDE_PATH (see below) will be search if a #include is found.
+
+SEARCH_INCLUDES = YES
+
+# The INCLUDE_PATH tag can be used to specify one or more directories that
+# contain include files that are not input files but should be processed by
+# the preprocessor.
+
+INCLUDE_PATH =
+
+# You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard
+# patterns (like *.h and *.hpp) to filter out the header-files in the
+# directories. If left blank, the patterns specified with FILE_PATTERNS will
+# be used.
+
+INCLUDE_FILE_PATTERNS =
+
+# The PREDEFINED tag can be used to specify one or more macro names that
+# are defined before the preprocessor is started (similar to the -D option of
+# gcc). The argument of the tag is a list of macros of the form: name
+# or name=definition (no spaces). If the definition and the = are
+# omitted =1 is assumed. To prevent a macro definition from being
+# undefined via #undef or recursively expanded use the := operator
+# instead of the = operator.
+
+PREDEFINED =
+
+# If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then
+# this tag can be used to specify a list of macro names that should be expanded.
+# The macro definition that is found in the sources will be used.
+# Use the PREDEFINED tag if you want to use a different macro definition.
+
+EXPAND_AS_DEFINED =
+
+# If the SKIP_FUNCTION_MACROS tag is set to YES (the default) then
+# doxygen's preprocessor will remove all function-like macros that are alone
+# on a line, have an all uppercase name, and do not end with a semicolon. Such
+# function macros are typically used for boiler-plate code, and will confuse
+# the parser if not removed.
+
+SKIP_FUNCTION_MACROS = YES
+
+#---------------------------------------------------------------------------
+# Configuration::additions related to external references
+#---------------------------------------------------------------------------
+
+# The TAGFILES option can be used to specify one or more tagfiles.
+# Optionally an initial location of the external documentation
+# can be added for each tagfile. The format of a tag file without
+# this location is as follows:
+# TAGFILES = file1 file2 ...
+# Adding location for the tag files is done as follows:
+# TAGFILES = file1=loc1 "file2 = loc2" ...
+# where "loc1" and "loc2" can be relative or absolute paths or
+# URLs. If a location is present for each tag, the installdox tool
+# does not have to be run to correct the links.
+# Note that each tag file must have a unique name
+# (where the name does NOT include the path)
+# If a tag file is not located in the directory in which doxygen
+# is run, you must also specify the path to the tagfile here.
+
+TAGFILES =
+
+# When a file name is specified after GENERATE_TAGFILE, doxygen will create
+# a tag file that is based on the input files it reads.
+
+GENERATE_TAGFILE =
+
+# If the ALLEXTERNALS tag is set to YES all external classes will be listed
+# in the class index. If set to NO only the inherited external classes
+# will be listed.
+
+ALLEXTERNALS = NO
+
+# If the EXTERNAL_GROUPS tag is set to YES all external groups will be listed
+# in the modules index. If set to NO, only the current project's groups will
+# be listed.
+
+EXTERNAL_GROUPS = YES
+
+# The PERL_PATH should be the absolute path and name of the perl script
+# interpreter (i.e. the result of `which perl').
+
+PERL_PATH = /usr/bin/perl
+
+#---------------------------------------------------------------------------
+# Configuration options related to the dot tool
+#---------------------------------------------------------------------------
+
+# If the CLASS_DIAGRAMS tag is set to YES (the default) Doxygen will
+# generate a inheritance diagram (in HTML, RTF and LaTeX) for classes with base
+# or super classes. Setting the tag to NO turns the diagrams off. Note that
+# this option is superseded by the HAVE_DOT option below. This is only a
+# fallback. It is recommended to install and use dot, since it yields more
+# powerful graphs.
+
+CLASS_DIAGRAMS = YES
+
+# You can define message sequence charts within doxygen comments using the \msc
+# command. Doxygen will then run the mscgen tool (see
+# http://www.mcternan.me.uk/mscgen/) to produce the chart and insert it in the
+# documentation. The MSCGEN_PATH tag allows you to specify the directory where
+# the mscgen tool resides. If left empty the tool is assumed to be found in the
+# default search path.
+
+MSCGEN_PATH =
+
+# If set to YES, the inheritance and collaboration graphs will hide
+# inheritance and usage relations if the target is undocumented
+# or is not a class.
+
+HIDE_UNDOC_RELATIONS = NO
+
+# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is
+# available from the path. This tool is part of Graphviz, a graph visualization
+# toolkit from AT&T and Lucent Bell Labs. The other options in this section
+# have no effect if this option is set to NO (the default)
+
+HAVE_DOT = YES
+
+# If the CLASS_GRAPH and HAVE_DOT tags are set to YES then doxygen
+# will generate a graph for each documented class showing the direct and
+# indirect inheritance relations. Setting this tag to YES will force the
+# the CLASS_DIAGRAMS tag to NO.
+
+CLASS_GRAPH = YES
+
+# If the COLLABORATION_GRAPH and HAVE_DOT tags are set to YES then doxygen
+# will generate a graph for each documented class showing the direct and
+# indirect implementation dependencies (inheritance, containment, and
+# class references variables) of the class with other documented classes.
+
+COLLABORATION_GRAPH = YES
+
+# If the GROUP_GRAPHS and HAVE_DOT tags are set to YES then doxygen
+# will generate a graph for groups, showing the direct groups dependencies
+
+GROUP_GRAPHS = YES
+
+# If the UML_LOOK tag is set to YES doxygen will generate inheritance and
+# collaboration diagrams in a style similar to the OMG's Unified Modeling
+# Language.
+
+UML_LOOK = YES
+
+# If set to YES, the inheritance and collaboration graphs will show the
+# relations between templates and their instances.
+
+TEMPLATE_RELATIONS = NO
+
+# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDE_GRAPH, and HAVE_DOT
+# tags are set to YES then doxygen will generate a graph for each documented
+# file showing the direct and indirect include dependencies of the file with
+# other documented files.
+
+INCLUDE_GRAPH = YES
+
+# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDED_BY_GRAPH, and
+# HAVE_DOT tags are set to YES then doxygen will generate a graph for each
+# documented header file showing the documented files that directly or
+# indirectly include this file.
+
+INCLUDED_BY_GRAPH = YES
+
+# If the CALL_GRAPH and HAVE_DOT options are set to YES then
+# doxygen will generate a call dependency graph for every global function
+# or class method. Note that enabling this option will significantly increase
+# the time of a run. So in most cases it will be better to enable call graphs
+# for selected functions only using the \callgraph command.
+
+CALL_GRAPH = NO
+
+# If the CALLER_GRAPH and HAVE_DOT tags are set to YES then
+# doxygen will generate a caller dependency graph for every global function
+# or class method. Note that enabling this option will significantly increase
+# the time of a run. So in most cases it will be better to enable caller
+# graphs for selected functions only using the \callergraph command.
+
+CALLER_GRAPH = NO
+
+# If the GRAPHICAL_HIERARCHY and HAVE_DOT tags are set to YES then doxygen
+# will graphical hierarchy of all classes instead of a textual one.
+
+GRAPHICAL_HIERARCHY = YES
+
+# If the DIRECTORY_GRAPH, SHOW_DIRECTORIES and HAVE_DOT tags are set to YES
+# then doxygen will show the dependencies a directory has on other directories
+# in a graphical way. The dependency relations are determined by the #include
+# relations between the files in the directories.
+
+DIRECTORY_GRAPH = YES
+
+# The DOT_IMAGE_FORMAT tag can be used to set the image format of the images
+# generated by dot. Possible values are png, jpg, or gif
+# If left blank png will be used.
+
+DOT_IMAGE_FORMAT = png
+
+# The tag DOT_PATH can be used to specify the path where the dot tool can be
+# found. If left blank, it is assumed the dot tool can be found in the path.
+
+DOT_PATH =
+
+# The DOTFILE_DIRS tag can be used to specify one or more directories that
+# contain dot files that are included in the documentation (see the
+# \dotfile command).
+
+DOTFILE_DIRS =
+
+# The MAX_DOT_GRAPH_MAX_NODES tag can be used to set the maximum number of
+# nodes that will be shown in the graph. If the number of nodes in a graph
+# becomes larger than this value, doxygen will truncate the graph, which is
+# visualized by representing a node as a red box. Note that doxygen if the
+# number of direct children of the root node in a graph is already larger than
+# DOT_GRAPH_MAX_NODES then the graph will not be shown at all. Also note
+# that the size of a graph can be further restricted by MAX_DOT_GRAPH_DEPTH.
+
+DOT_GRAPH_MAX_NODES = 75
+
+# The MAX_DOT_GRAPH_DEPTH tag can be used to set the maximum depth of the
+# graphs generated by dot. A depth value of 3 means that only nodes reachable
+# from the root by following a path via at most 3 edges will be shown. Nodes
+# that lay further from the root node will be omitted. Note that setting this
+# option to 1 or 2 may greatly reduce the computation time needed for large
+# code bases. Also note that the size of a graph can be further restricted by
+# DOT_GRAPH_MAX_NODES. Using a depth of 0 means no depth restriction.
+
+MAX_DOT_GRAPH_DEPTH = 0
+
+# Set the DOT_TRANSPARENT tag to YES to generate images with a transparent
+# background. This is enabled by default, which results in a transparent
+# background. Warning: Depending on the platform used, enabling this option
+# may lead to badly anti-aliased labels on the edges of a graph (i.e. they
+# become hard to read).
+
+DOT_TRANSPARENT = YES
+
+# Set the DOT_MULTI_TARGETS tag to YES allow dot to generate multiple output
+# files in one run (i.e. multiple -o and -T options on the command line). This
+# makes dot run faster, but since only newer versions of dot (>1.8.10)
+# support this, this feature is disabled by default.
+
+DOT_MULTI_TARGETS = NO
+
+# If the GENERATE_LEGEND tag is set to YES (the default) Doxygen will
+# generate a legend page explaining the meaning of the various boxes and
+# arrows in the dot generated graphs.
+
+GENERATE_LEGEND = YES
+
+# If the DOT_CLEANUP tag is set to YES (the default) Doxygen will
+# remove the intermediate dot files that are used to generate
+# the various graphs.
+
+DOT_CLEANUP = YES
+
+#---------------------------------------------------------------------------
+# Configuration::additions related to the search engine
+#---------------------------------------------------------------------------
+
+# The SEARCHENGINE tag specifies whether or not a search engine should be
+# used. If set to NO the values of all tags below this one will be ignored.
+
+SEARCHENGINE = YES
diff --git a/doc/translation-template.conf b/doc/translation-template.conf
index 6b7dda4..65afbf3 100644
--- a/doc/translation-template.conf
+++ b/doc/translation-template.conf
@@ -1,334 +1,817 @@
+# Enter a comment here like:
+# Farsi also known as Persian
+# Provided by Peter Von Kaehne
+# 5 December 2006
+
[Meta]
-Name=<insert here abrevation of language, e.g. de, no, it, fr etc.. Delete this commant>
-Description=<insert here name of language. Delete this comment.>
+
+# Enter here the appropriate locale code, e.g. de, no, it, fr etc..
+Name=
+
+# Enter a string here to present to a user for choosing this locale, e.g. Farsi
+Description=
+
+# The encoding of your locale (usually, UTF-8)
+Encoding=UTF-8
+
[Text]
# Insert after the = characters the translated booknames.
+# Gen
Genesis=
+# Exod
Exodus=
+# Lev
Leviticus=
+# Num
Numbers=
+# Deut
Deuteronomy=
+# Josh
Joshua=
+# Judg
Judges=
+# Ruth
Ruth=
+# 1Sam
I Samuel=
+# 2Sam
II Samuel=
+# 1Kgs
I Kings=
+# 2Kgs
II Kings=
+# 1Chr
I Chronicles=
+# 2Chr
II Chronicles=
+# Ezra
Ezra=
+# Neh
Nehemiah=
+# Esth
Esther=
+# Job
Job=
+# Ps
Psalms=
+# Prov
Proverbs=
+# Eccl
Ecclesiastes=
+#Song
Song of Solomon=
+# Isa
Isaiah=
+# Jer
Jeremiah=
+# Lam
Lamentations=
+# Ezek
Ezekiel=
+# Dan
Daniel=
+# Hos
Hosea=
+# Joel
Joel=
+# Amos
Amos=
+# Obad
Obadiah=
+# Jonah
Jonah=
+# Mic
Micah=
+# Nah
Nahum=
+# Hab
Habakkuk=
+# Zeph
Zephaniah=
+# Hag
Haggai=
+# Zech
Zechariah=
+# Mal
Malachi=
+
+
+# Matt
Matthew=
+# Mark
Mark=
+# Luke
Luke=
+# John
John=
+# Acts
Acts=
+# Rom
Romans=
+# 1Cor
I Corinthians=
+# 2Cor
II Corinthians=
+# Gal
Galatians=
+# Eph
Ephesians=
+# Phil
Philippians=
+# Col
Colossians=
+# 1Thess
I Thessalonians=
+# 2Thess
II Thessalonians=
+# 1Tim
I Timothy=
+# 2Tim
II Timothy=
+# Titus
Titus=
+# Phlm
Philemon=
+# Heb
Hebrews=
+# Jas
James=
+# 1Pet
I Peter=
+# 2Pet
II Peter=
+# 1John
I John=
+# 2John
II John=
+# 3John
III John=
+# Jude
Jude=
+# Rev
Revelation of John=
-[Book Abbrevs]
-# Here are the standard english booknames and abbrevations. Don't change
-# them. Change your own ones below.
+#Apocr
+
+
+# 1Esd
+I Esdras=
+# 2Esd
+II Esdras=
+# Tob
+Tobit=
+# Jdt
+Judith=
+# AddEsth
+Additions to Esther=
+# EsthGr
+Esther (Greek)=
+# Wis
+Wisdom=
+# Sir
+Sirach=
+# Bar
+Baruch=
+# PrAzar
+Prayer of Azariah=
+# Sus
+Susanna=
+# Bel
+Bel and the Dragon=
+# PrMan
+Prayer of Manasses=
+# 1Macc
+I Maccabees=
+# 2Macc
+II Maccabees=
+# 3Macc
+III Maccabees=
+# 4Macc
+IV Maccabees=
+# AddPs
+Additional Psalm=
+
+
+# These aren't yet included but probably will soon,
+# so if you'd like to get a headstart now, you may but don't
+# complain if the strings change before final release! :)
+
+# Jub
+Jubilees=
+# SirP
+Sirach (Prologue)=
+# 1En
+I Enoch=
+# 1Meq
+I Meqabyan=
+# 2Meq
+II Meqabyan=
+# 3Meq
+III Meqabyan=
+# 2Bar
+II Baruch=
+# 4Bar
+IV Baruch=
+# DanGr
+Daniel (Greek)=
+# AddDan
+Additions to Daniel=
+# EpJer
+Epistle of Jeremiah=
+# EpLao
+Laodiceans=
+# Odes
+Odes=
+# PssSol
+Psalms of Solomon=
+
+
+[Book Abbrevs]
-1 C=46
-1 CHRONICLES=13
-1 CORINTHIANS=46
-1 JN=62
-1 JOHN=62
-1 KGS=11
-1 KINGS=11
-1 PETER=60
-1 PTR=60
-1 SAMUEL=9
-1 THESSALONIANS=52
-1 TIMOTHY=54
-1C=46
-1CHRONICLES=13
-1CORINTHIANS=46
-1JN=62
-1JOHN=62
-1KGS=11
-1KINGS=11
-1PETER=60
-1PTR=60
-1SAMUEL=9
-1THESSALONIANS=52
-1TIMOTHY=54
-2 C=47
-2 CHRONICLES=14
-2 CORINTHIANS=47
-2 JN=63
-2 JOHN=63
-2 KGS=12
-2 KINGS=12
-2 PETER=61
-2 PTR=61
-2 SAMUEL=10
-2 THESSALONIANS=53
-2 TIMOTHY=55
-2C=47
-2CHRONICLES=14
-2CORINTHIANS=47
-2JN=63
-2JOHN=63
-2KGS=12
-2KINGS=12
-2PETER=61
-2PTR=61
-2SAMUEL=10
-2THESSALONIANS=53
-2TIMOTHY=55
-3 JN=64
-3 JOHN=64
-3JN=64
-3JOHN=64
-ACTS=44
-AMOS=30
-APOCALYPSE OF ST. JOHN=66
-C=51
-CANTICLE OF CANTICLES=22
-COC=22
-COLOSSIANS=51
-D=5
-DANIEL=27
-DEUTERONOMY=5
-E=49
-ECCLESIASTES=21
-EPHESIANS=49
-ESTER=17
-ESTHER=17
-EXODUS=2
-EZEKIEL=26
-EZRA=15
-G=1
-GALATIANS=48
-GENESIS=1
-H=58
-HABAKKUK=35
-HAGGAI=37
-HEBREWS=58
-HOSEA=28
-I C=46
-I CHRONICLES=13
-I CORINTHIANS=46
-I JN=62
-I JOHN=62
-I KGS=11
-I KINGS=11
-I PETER=60
-I PTR=60
-I SAMUEL=9
-I THESSALONIANS=52
-I TIMOTHY=54
-IC=46
-ICHRONICLES=13
-ICORINTHIANS=46
-II C=47
-II CHRONICLES=14
-II CORINTHIANS=47
-II JN=63
-II JOHN=63
-II KGS=12
-II KINGS=12
-II PETER=61
-II PTR=61
-II SAMUEL=10
-II THESSALONIANS=53
-II TIMOTHY=55
-IIC=47
-IICHRONICLES=14
-IICORINTHIANS=47
-III JN=64
-III JOHN=64
-IIIJN=64
-IIIJOHN=64
-IIJN=63
-IIJOHN=63
-IIKGS=12
-IIKINGS=12
-IIPETER=61
-IIPTR=61
-IISAMUEL=10
-IITHESSALONIANS=53
-IITIMOTHY=55
-IJN=62
-IJOHN=62
-IKGS=11
-IKINGS=11
-IPETER=60
-IPTR=60
-ISA=23
-ISAIAH=23
-ISAMUEL=9
-ITHESSALONIANS=52
-ITIMOTHY=54
-J=43
-JAMES=59
-JAS=59
-JEREMIAH=24
-JN=43
-JO=43
-JOB=18
-JOEL=29
-JOHN=43
-JONAH=32
-JOSHUA=6
-JUD=7
-JUDE=65
-JUDGES=7
-L=42
-LAMENTATIONS=25
-LEVITICUS=3
-LK=42
-LUKE=42
-MA=40
-MALACHI=39
-MARK=41
-MATTHEW=40
-MICAH=33
-MK=41
-MR=41
-MT=40
-N=4
-NAHUM=34
-NEHEMIAH=16
-NUMBERS=4
-OBADIAH=31
-P=19
-PH=50
-PHILEMON=57
-PHILIPPIANS=50
-PHM=57
-PHP=50
-PROVERBS=20
-PSALMS=19
-PSM=19
-PSS=19
-REVELATION OF JOHN=66
-ROMANS=45
-RUTH=8
-SONG OF SOLOMON=22
-SONG OF SONGS=22
-SOS=22
-TITUS=56
-ZECHARIAH=38
-ZEPHANIAH=36
+# Here provide all abbreviation logic for your language.
+#
+# The format is ABBREV=OSISName
+#
+# They must be in what ICU will return as UPPERCASE
+# for your language. They must also include AT LEAST one
+# entry for each entry from above which is EXACTLY your translation
+# converted to uppercase. e.g., if, above, you translated:
+#
+# Revelation of John=Rev of J
+#
+# then you MUST have here at least one entry for this
+# book as:
+#
+# REV OF J=Rev
+#
+# So, the first step should probably be to copy the section above,
+# and place it here; delete the "English Name=" of each line;
+# toUpper what is left (your translation); and finally append
+# =OSISName to the end of each line (osis names can be found as the
+# comment above each book or from the English examples given below)
+#
+# This will be a good start. All substrings of a bookname will be
+# matched (specific details follow later), so you will already have,
+# most likely, some abbreviation capability.
+#
+# Try it out by copying your locale.conf file to your SWORD locales.d/
+# folder where things are installed on your computer (NOT the locales.d/
+# folder in the sword source tree), then running:
+#
+# sword/tests/parsekey "<verseRef in your language>" <your_locale_name>
+#
+# This command (above) will also do a basic sanity check of your locale
+# so look for errors on first run.
+#
+# Add more abbreviations as you see fit, and keep testing with the
+# above simple test command.
+#
+# After adding all known abbrevs, you'll want to tune
+# the parsing logic for ambiguities.
+#
+# Tuning works as follows:
+#
+# If there is an entry:
+#
+# JUDE=Jude
+#
+# then any bookString which matches:
+#
+# "JUDE".startsWith(bookString.toUpper())
+#
+# will point to Jude. e.g., "Jude", "Jud", "Ju", "J"
+#
+# If there are two books which match, then the first
+# ALPHABETICAL match will be taken, e.g.,
+#
+# JUDE=Jude
+# JUDGES=Judg
+#
+# "Jud" matches both and will point to Jude because
+# "JUDE" is alphabetically sorted before "JUDGES"
+#
+# So, if you want "Jud" to point to Judg instead, then tuning
+# the entries would result in:
+#
+# JUD=Judg
+# JUDE=Jude
+# JUDGES=Judg
+#
+# Since "Jud" now matches all 3 entries, and the first one
+# alphabetically now points to Judg, all is well.
+#
+#
+# Here is the standard English abbrevation logic.
+# They are here as an example. Please delete them and create
+# your own.
+#
+#
-# here are the booknames and possible abbrevations of your language! The
-# names below are german booknames, change them. The number after the names
-# are the booknumber (location of book in the Bible).
+1 BARUCH=Bar
+1 C=1Cor
+1 CHRONICLES=1Chr
+1 CORINTHIANS=1Cor
+1 E=1Esd
+1 ENOCH=1En
+1 ESDRAS=1Esd
+1 JN=1John
+1 JOHN=1John
+1 K=1Kgs
+1 KGDMS=1Sam
+1 KGS=1Kgs
+1 KING=1Kgs
+1 KINGDOMS=1Sam
+1 KINGS=1Kgs
+1 MACCABEES=1Macc
+1 MAKABIAN=1Meq
+1 MEQABYAN=1Meq
+1 P=1Pet
+1 PARALIPOMENON=1Chr
+1 PETER=1Pet
+1 PTR=1Pet
+1 SAMUEL=1Sam
+1 THESSALONIANS=1Thess
+1 TIMOTHY=1Tim
+1BARUCH=Bar
+1C=1Cor
+1CHR=1Chr
+1CHRONICLES=1Chr
+1COR=1Cor
+1CORINTHIANS=1Cor
+1E=1Esd
+1EN=1En
+1ENOCH=1En
+1ESD=1Esd
+1ESDRAS=1Esd
+1JN=1John
+1JOHN=1John
+1K=1Kgs
+1KGDMS=1Sam
+1KGS=1Kgs
+1KING=1Kgs
+1KINGDOMS=1Sam
+1KINGS=1Kgs
+1MACC=1Macc
+1MACCABEES=1Macc
+1MAKABIAN=1Meq
+1MEQ=1Meq
+1MEQABYAN=1Meq
+1P=1Pet
+1PARALIPOMENON=1Chr
+1PET=1Pet
+1PETER=1Pet
+1PTR=1Pet
+1SAM=1Sam
+1SAMUEL=1Sam
+1THESS=1Thess
+1THESSALONIANS=1Thess
+1TIM=1Tim
+1TIMOTHY=1Tim
+2 BARUCH=2Bar
+2 C=2Cor
+2 CHRONICLES=2Chr
+2 CORINTHIANS=2Cor
+2 E=2Esd
+2 ESDRAS=2Esd
+2 JN=2John
+2 JOHN=2John
+2 K=2Kgs
+2 KGDMS=2Sam
+2 KGS=2Kgs
+2 KING=2Kgs
+2 KINGDOMS=2Sam
+2 KINGS=2Kgs
+2 MACCABEES=2Macc
+2 MAKABIAN=2Meq
+2 MEQABYAN=2Meq
+2 P=2Pet
+2 PARALIPOMENON=2Chr
+2 PETER=2Pet
+2 PTR=2Pet
+2 SAMUEL=2Sam
+2 THESSALONIANS=2Thess
+2 TIMOTHY=2Tim
+2BAR=2Bar
+2BARUCH=2Bar
+2C=2Cor
+2CHR=2Chr
+2CHRONICLES=2Chr
+2COR=2Cor
+2CORINTHIANS=2Cor
+2E=2Esd
+2ESD=2Esd
+2ESDRAS=2Esd
+2JN=2John
+2JOHN=2John
+2K=2Kgs
+2KGDMS=2Sam
+2KGS=2Kgs
+2KING=2Kgs
+2KINGDOMS=2Sam
+2KINGS=2Kgs
+2MACC=2Macc
+2MACCABEES=2Macc
+2MAKABIAN=2Meq
+2MEQ=2Meq
+2MEQABYAN=2Meq
+2P=2Pet
+2PARALIPOMENON=2Chr
+2PET=2Pet
+2PETER=2Pet
+2PTR=2Pet
+2SAM=2Sam
+2SAMUEL=2Sam
+2THESS=2Thess
+2THESSALONIANS=2Thess
+2TIM=2Tim
+2TIMOTHY=2Tim
+3 EZRA=1Esd
+3 JN=3John
+3 JOHN=3John
+3 KGDMS=1Kgs
+3 KGS=1Kgs
+3 KINGDOMS=1Kgs
+3 KINGS=1Kgs
+3 MACCABEES=3Macc
+3 MAKABIAN=3Meq
+3 MEQABYAN=3Meq
+3EZRA=1Esd
+3JN=3John
+3JOHN=3John
+3KGDMS=1Kgs
+3KGS=1Kgs
+3KINGDOMS=1Kgs
+3KINGS=1Kgs
+3MACC=3Macc
+3MACCABEES=3Macc
+3MAKABIAN=3Meq
+3MEQ=3Meq
+3MEQABYAN=3Meq
+4 BARUCH=4Bar
+4 EZRA=2Esd
+4 KGDMS=2Kgs
+4 KGS=2Kgs
+4 KINGDOMS=2Kgs
+4 KINGS=2Kgs
+4 MACCABEES=4Macc
+4BAR=4Bar
+4BARUCH=4Bar
+4EZRA=2Esd
+4KGDMS=2Kgs
+4KGS=2Kgs
+4KINGDOMS=2Kgs
+4KINGS=2Kgs
+4MACC=4Macc
+4MACCABEES=4Macc
+5APOCSYRPSS=AddPs
+ACTS=Acts
+ADDDAN=AddDan
+ADDESTH=AddEsth
+ADDITIONAL PSALM=AddPs
+ADDITIONS TO DANIEL=AddDan
+ADDITIONS TO ESTHER=AddEsth
+ADDPS=AddPs
+AMOS=Amos
+APOCALYPSE OF JOHN=Rev
+AZA=PrAzar
+AZAR=PrAzar
+AZARIAH=PrAzar
+BAR=Bar
+BARUCH=Bar
+BEL=Bel
+BEL AND THE DRAGON=Bel
+C=Col
+CANTICLE OF CANTICLES=Song
+COL=Col
+COLOSSIANS=Col
+D=Deut
+DAN=Dan
+DANGR=DanGr
+DANIEL=Dan
+DANIEL (ADDITIONS)=AddDan
+DANIEL (GREEK)=DanGr
+DEUT=Deut
+DEUTERONOMY=Deut
+DT=Deut
+E=Exod
+ECCL=Eccl
+ECCLESIASTES=Eccl
+ECCLESIASTICUS=Sir
+ECCLUS=Sir
+EK=Ezek
+ENOCH=1En
+EPH=Eph
+EPHESIANS=Eph
+EPISTLE OF JEREMIAH=EpJer
+EPJ=EpJer
+EPJER=EpJer
+EPLAO=EpLao
+ES=Esth
+ESDRAS A=1Esd
+ESDRAS B=2Esd
+ESDRASA=1Esd
+ESDRASB=2Esd
+ESG=EsthGr
+ESTER=Esth
+ESTH=Esth
+ESTHER=Esth
+ESTHER (ADDITIONS)=AddEsth
+ESTHER (GREEK)=EsthGr
+ESTHGR=EsthGr
+ETHIOPIC APOCALYPSE OF ENOCH=1En
+EXOD=Exod
+EXODUS=Exod
+EZEK=Ezek
+EZEKIEL=Ezek
+EZK=Ezek
+EZRA=Ezra
+FIVE APOCRYPHAL SYRIAC PSALMS=AddPs
+G=Gen
+GAL=Gal
+GALATIANS=Gal
+GEN=Gen
+GENESIS=Gen
+GN=Gen
+GRDAN=DanGr
+GREEK DANIEL=DanGr
+GREEK ESTHER=EsthGr
+GRESTH=EsthGr
+H=Heb
+HAB=Hab
+HABAKKUK=Hab
+HAG=Hag
+HAGGAI=Hag
+HEB=Heb
+HEBREWS=Heb
+HOS=Hos
+HOSEA=Hos
+I=Isa
+I BARUCH=Bar
+I C=1Cor
+I CHRONICLES=1Chr
+I CORINTHIANS=1Cor
+I E=1Esd
+I ENOCH=1En
+I ESDRAS=1Esd
+I JN=1John
+I JOHN=1John
+I K=1Kgs
+I KGDMS=1Sam
+I KGS=1Kgs
+I KING=1Kgs
+I KINGDOMS=1Sam
+I KINGS=1Kgs
+I MACCABEES=1Macc
+I MAKABIAN=1Meq
+I MEQABYAN=1Meq
+I P=1Pet
+I PARALIPOMENON=1Chr
+I PETER=1Pet
+I PTR=1Pet
+I SAMUEL=1Sam
+I THESSALONIANS=1Thess
+I TIMOTHY=1Tim
+IBARUCH=Bar
+IC=1Cor
+ICHRONICLES=1Chr
+ICORINTHIANS=1Cor
+IE=1Esd
+IENOCH=1En
+IESDRAS=1Esd
+II BARUCH=2Bar
+II C=2Cor
+II CHRONICLES=2Chr
+II CORINTHIANS=2Cor
+II E=2Esd
+II ESDRAS=2Esd
+II JN=2John
+II JOHN=2John
+II K=2Kgs
+II KGDMS=2Sam
+II KGS=2Kgs
+II KING=2Kgs
+II KINGDOMS=2Sam
+II KINGS=2Kgs
+II MACCABEES=2Macc
+II MAKABIAN=2Meq
+II MEQABYAN=2Meq
+II P=2Pet
+II PARALIPOMENON=2Chr
+II PETER=2Pet
+II PTR=2Pet
+II SAMUEL=2Sam
+II THESSALONIANS=2Thess
+II TIMOTHY=2Tim
+IIBARUCH=2Bar
+IIC=2Cor
+IICHRONICLES=2Chr
+IICORINTHIANS=2Cor
+IIE=2Esd
+IIESDRAS=2Esd
+III EZRA=1Esd
+III JN=3John
+III JOHN=3John
+III KGDMS=1Kgs
+III KGS=1Kgs
+III KINGDOMS=1Kgs
+III KINGS=1Kgs
+III MACCABEES=3Macc
+III MAKABIAN=3Meq
+III MEQABYAN=3Meq
+IIIEZRA=1Esd
+IIIJN=3John
+IIIJOHN=3John
+IIIKGDMS=1Kgs
+IIIKGS=1Kgs
+IIIKINGDOMS=1Kgs
+IIIKINGS=1Kgs
+IIIMACCABEES=3Macc
+IIIMAKABIAN=3Meq
+IIIMEQABYAN=3Meq
+IIJN=2John
+IIJOHN=2John
+IIK=2Kgs
+IIKGDMS=2Sam
+IIKGS=2Kgs
+IIKING=2Kgs
+IIKINGDOMS=2Sam
+IIKINGS=2Kgs
+IIMACCABEES=2Macc
+IIMAKABIAN=2Meq
+IIMEQABYAN=2Meq
+IIP=2Pet
+IIPARALIPOMENON=2Chr
+IIPETER=2Pet
+IIPTR=2Pet
+IISAMUEL=2Sam
+IITHESSALONIANS=2Thess
+IITIMOTHY=2Tim
+IJN=1John
+IJOHN=1John
+IK=1Kgs
+IKGDMS=1Sam
+IKGS=1Kgs
+IKING=1Kgs
+IKINGDOMS=1Sam
+IKINGS=1Kgs
+IMACCABEES=1Macc
+IMAKABIAN=1Meq
+IMEQABYAN=1Meq
+IP=1Pet
+IPARALIPOMENON=1Chr
+IPETER=1Pet
+IPTR=1Pet
+ISA=Isa
+ISAIAH=Isa
+ISAMUEL=1Sam
+ITHESSALONIANS=1Thess
+ITIMOTHY=1Tim
+IV BARUCH=4Bar
+IV EZRA=2Esd
+IV KGDMS=2Kgs
+IV KGS=2Kgs
+IV KINGDOMS=2Kgs
+IV KINGS=2Kgs
+IV MACCABEES=4Macc
+IVBARUCH=4Bar
+IVEZRA=2Esd
+IVKGDMS=2Kgs
+IVKGS=2Kgs
+IVKINGDOMS=2Kgs
+IVKINGS=2Kgs
+IVMACCABEES=4Macc
+J=Josh
+JAMES=Jas
+JAS=Jas
+JB=Job
+JD=Judg
+JDGS=Judg
+JDT=Jdt
+JER=Jer
+JEREMIAH=Jer
+JHN=John
+JN=John
+JO=John
+JOB=Job
+JOEL=Joel
+JOHN=John
+JOL=Joel
+JONAH=Jonah
+JOSH=Josh
+JOSHUA=Josh
+JS=Josh
+JU=Jude
+JUB=Jub
+JUBILEES=Jub
+JUDE=Jude
+JUDG=Judg
+JUDGES=Judg
+JUDITH=Jdt
+L=Luke
+LAM=Lam
+LAMENTATIONS=Lam
+LAO=EpLao
+LAODICEANS=EpLao
+LE=Lev
+LETJER=EpJer
+LETTER OF JEREMIAH=EpJer
+LEV=Lev
+LEVITICUS=Lev
+LK=Luke
+LUKE=Luke
+LV=Lev
+MA=Matt
+MAL=Mal
+MALACHI=Mal
+MAN=PrMan
+MANASSEH=PrMan
+MANASSES=PrMan
+MARK=Mark
+MATT=Matt
+MATTHEW=Matt
+MIC=Mic
+MICAH=Mic
+MK=Mark
+MRK=Mark
+MT=Matt
+N=Num
+NAH=Nah
+NAHUM=Nah
+NAM=Nah
+NEH=Neh
+NEHEMIAH=Neh
+NM=Num
+NUM=Num
+NUMBERS=Num
+OBAD=Obad
+OBADIAH=Obad
+ODES=Odes
+P=Ps
+PARALEIPOMENA JEREMIOU=4Bar
+PARALIPOMENA OF JEREMIAH=4Bar
+PHIL=Phil
+PHILEMON=Phlm
+PHILIPPIANS=Phil
+PHLM=Phlm
+PHM=Phlm
+PHP=Phil
+PR=Prov
+PRA=PrAzar
+PRAYER OF AZARIAH=PrAzar
+PRAYER OF MANASSEH=PrMan
+PRAYER OF MANASSES=PrMan
+PRAZAR=PrAzar
+PRM=PrMan
+PRMAN=PrMan
+PROV=Prov
+PROVERBS=Prov
+PS=Ps
+PSALM=Ps
+PSALMS=Ps
+PSALMS OF SOLOMON=PssSol
+PSM=Ps
+PSS=Ps
+PSSSOL=PssSol
+QOHELET=Eccl
+QOHELETH=Eccl
+REV=Rev
+REVELATION OF JOHN=Rev
+ROM=Rom
+ROMANS=Rom
+RUTH=Ruth
+S=Song
+SI=Sir
+SIP=SirP
+SIR=Sir
+SIRACH=Sir
+SIRACH (PROLOGUE)=SirP
+SIRP=SirP
+SNG=Song
+SOLOMON=Song
+SONG=Song
+SONG OF SOLOMON=Song
+SONG OF SONGS=Song
+SONG OF THE THREE CHILDREN=PrAzar
+SUS=Sus
+SUSANNA=Sus
+SYRIAC APOCALYPSE OF BARUCH=2Bar
+T=Titus
+TB=Tob
+TBT=Tob
+TITUS=Titus
+TOB=Tob
+TOBIT=Tob
+WIS=Wis
+WISDOM=Wis
+WISDOM OF BEN SIRA=Sir
+WISDOM OF JESUS SON OF SIRACH=Sir
+WISDOM OF SOLOMON=Wis
+ZECH=Zech
+ZECHARIAH=Zech
+ZEPH=Zeph
+ZEPHANIAH=Zeph
-1. MOSE=1
-2. MOSE=2
-3. MOSE=3
-4. MOSE=4
-5. MOSE=5
-JOSUA=6
-RICHTER=7
-RUT=8
-1. SAMUEL=9
-2. SAMUEL=10
-1. KÖNIGE=11
-2. KÖNIGE=12
-1. CHRONIK=13
-2. CHRONIK=14
-ESRA=15
-NEHEMIA=16
-ESTER=17
-HIOB=18
-PSALMEN=19
-SPRÜCHE=20
-PREDIGER=21
-HOHESLIED=22
-JESAJA=23
-JEREMIA=24
-KLAGELIEDER=25
-HESEKIEL=26
-DANIEL=27
-HOSEA=28
-JOEL=29
-AMOS=30
-OBADJA=31
-JONA=32
-MICHA=33
-NAHUM=34
-HABAKUK=35
-ZEPHANJA=36
-HAGGAI=37
-SACHARJA=38
-MALEACHI=39
-MATTHÄUS=40
-MARKUS=41
-LUKAS=42
-JOHANNES=43
-APOSTELGESCHICHTE=44
-RÖMER=45
-1. KORINTHER=46
-2. KORINTHER=47
-GALATER=48
-EPHESER=49
-PHILIPPER=50
-KOLOSSER=51
-1. THESSALONICHER=52
-2. THESSALONICHER=53
-1. THIMOTHEUS=54
-2. THIMOTHEUS=55
-TITUS=56
-PHILEMON=57
-HEBRÄER=58
-JAKOBUS=59
-1. PETRUS=60
-2. PETRUS=61
-1. JOHANNES=62
-2. JOHANNES=63
-3. JOHANNES=64
-JUDAS=65
-OFFENBARUNG=66
diff --git a/examples/.cvsignore b/examples/.cvsignore
deleted file mode 100644
index 22a4e72..0000000
--- a/examples/.cvsignore
+++ /dev/null
@@ -1,3 +0,0 @@
-Makefile
-Makefile.in
-
diff --git a/examples/Makefile.in b/examples/Makefile.in
index 0622bd3..4a5154c 100644
--- a/examples/Makefile.in
+++ b/examples/Makefile.in
@@ -1,8 +1,8 @@
-# Makefile.in generated by automake 1.10 from Makefile.am.
+# Makefile.in generated by automake 1.10.2 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -36,7 +36,10 @@ subdir = examples
DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/m4/acx_clucene.m4 \
- $(top_srcdir)/m4/cppunit.m4 $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/cppunit.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(install_sh) -d
@@ -87,14 +90,14 @@ CYGPATH_W = @CYGPATH_W@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
DLLTOOL = @DLLTOOL@
-ECHO = @ECHO@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
-F77 = @F77@
-FFLAGS = @FFLAGS@
+FGREP = @FGREP@
GENCCODE = @GENCCODE@
GENCMN = @GENCMN@
GENRB = @GENRB@
@@ -108,17 +111,23 @@ INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LD = @LD@
LDFLAGS = @LDFLAGS@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
+LIPO = @LIPO@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MKDIR_P = @MKDIR_P@
+NM = @NM@
+NMEDIT = @NMEDIT@
OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
@@ -141,7 +150,7 @@ abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
-ac_ct_F77 = @ac_ct_F77@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
@@ -175,6 +184,7 @@ libdir = @libdir@
libexecdir = @libexecdir@
localedir = @localedir@
localstatedir = @localstatedir@
+lt_ECHO = @lt_ECHO@
mandir = @mandir@
mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@
@@ -193,6 +203,7 @@ target_mingw32 = @target_mingw32@
target_os = @target_os@
target_system = @target_system@
target_vendor = @target_vendor@
+top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
with_conf = @with_conf@
@@ -207,8 +218,8 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__confi
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
- && exit 0; \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
exit 1;; \
esac; \
done; \
@@ -314,8 +325,8 @@ ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
mkid -fID $$unique
tags: TAGS
@@ -340,8 +351,8 @@ TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
test -n "$$unique" || unique=$$empty_fix; \
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
@@ -351,13 +362,12 @@ ctags: CTAGS
CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
tags=; \
- here=`pwd`; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
test -z "$(CTAGS_ARGS)$$tags$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
$$tags $$unique
diff --git a/examples/classes/Makefile b/examples/classes/Makefile
index 882d9b8..38920d2 100644
--- a/examples/classes/Makefile
+++ b/examples/classes/Makefile
@@ -5,6 +5,6 @@ clean:
rm $(TARGETS)
.cpp:
- g++ -g `pkg-config --cflags sword` $< -o $@ `pkg-config --libs sword`
+ g++ -O3 `pkg-config --cflags sword` $< -o $@ `pkg-config --libs sword`
diff --git a/examples/classes/ciphercng.cpp b/examples/classes/ciphercng.cpp
index e1cd042..bf85cc7 100644
--- a/examples/classes/ciphercng.cpp
+++ b/examples/classes/ciphercng.cpp
@@ -4,6 +4,23 @@
* The change is only in effect for this run. This DOES NOT change the
* cipherkey in the module's .conf file.
*
+ *
+ * $Id: ciphercng.cpp 2327 2009-04-22 11:42:33Z scribe $
+ *
+ * Copyright 1998-2009 CrossWire Bible Society (http://www.crosswire.org)
+ * CrossWire Bible Society
+ * P. O. Box 2528
+ * Tempe, AZ 85280-2528
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation version 2.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
*/
#include <iostream>
diff --git a/examples/classes/swmgrex.cpp b/examples/classes/swmgrex.cpp
index a3d6591..9978a7b 100644
--- a/examples/classes/swmgrex.cpp
+++ b/examples/classes/swmgrex.cpp
@@ -11,6 +11,22 @@
* ModMap consists of: FIRST : SWBuf moduleName
* SECOND: SWModule *module
*
+ * $Id: swmgrex.cpp 2327 2009-04-22 11:42:33Z scribe $
+ *
+ * Copyright 1998-2009 CrossWire Bible Society (http://www.crosswire.org)
+ * CrossWire Bible Society
+ * P. O. Box 2528
+ * Tempe, AZ 85280-2528
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation version 2.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
*/
#include <iostream>
diff --git a/examples/cmdline/.cvsignore b/examples/cmdline/.cvsignore
deleted file mode 100644
index bbe4fbe..0000000
--- a/examples/cmdline/.cvsignore
+++ /dev/null
@@ -1,7 +0,0 @@
-.deps
-.libs
-Makefile
-Makefile.in
-lookup
-search
-threaded_search \ No newline at end of file
diff --git a/examples/cmdline/Makefile.am b/examples/cmdline/Makefile.am
index 6aaea63..cd0d621 100644
--- a/examples/cmdline/Makefile.am
+++ b/examples/cmdline/Makefile.am
@@ -2,11 +2,13 @@ AUTOMAKE_OPTIONS = 1.6
INCLUDES = -I $(top_srcdir)/include
LDADD = $(top_builddir)/lib/libsword.la
-noinst_PROGRAMS = lookup search threaded_search listoptions verserangeparse
+noinst_PROGRAMS = lookup search threaded_search listoptions verserangeparse outplain outrender
lookup_SOURCES = lookup.cpp
search_SOURCES = search.cpp
listoptions_SOURCES = listoptions.cpp
verserangeparse_SOURCES = verserangeparse.cpp
threaded_search_SOURCES = threaded_search.cpp
+outplain_SOURCES = outplain.cpp
+outrender_SOURCES = outrender.cpp
threaded_search_LDADD = $(LDADD) -lpthread
diff --git a/examples/cmdline/Makefile.in b/examples/cmdline/Makefile.in
index b868c64..3314273 100644
--- a/examples/cmdline/Makefile.in
+++ b/examples/cmdline/Makefile.in
@@ -1,8 +1,8 @@
-# Makefile.in generated by automake 1.10 from Makefile.am.
+# Makefile.in generated by automake 1.10.2 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -35,12 +35,15 @@ host_triplet = @host@
target_triplet = @target@
noinst_PROGRAMS = lookup$(EXEEXT) search$(EXEEXT) \
threaded_search$(EXEEXT) listoptions$(EXEEXT) \
- verserangeparse$(EXEEXT)
+ verserangeparse$(EXEEXT) outplain$(EXEEXT) outrender$(EXEEXT)
subdir = examples/cmdline
DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/m4/acx_clucene.m4 \
- $(top_srcdir)/m4/cppunit.m4 $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/cppunit.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(install_sh) -d
@@ -55,6 +58,14 @@ am_lookup_OBJECTS = lookup.$(OBJEXT)
lookup_OBJECTS = $(am_lookup_OBJECTS)
lookup_LDADD = $(LDADD)
lookup_DEPENDENCIES = $(top_builddir)/lib/libsword.la
+am_outplain_OBJECTS = outplain.$(OBJEXT)
+outplain_OBJECTS = $(am_outplain_OBJECTS)
+outplain_LDADD = $(LDADD)
+outplain_DEPENDENCIES = $(top_builddir)/lib/libsword.la
+am_outrender_OBJECTS = outrender.$(OBJEXT)
+outrender_OBJECTS = $(am_outrender_OBJECTS)
+outrender_LDADD = $(LDADD)
+outrender_DEPENDENCIES = $(top_builddir)/lib/libsword.la
am_search_OBJECTS = search.$(OBJEXT)
search_OBJECTS = $(am_search_OBJECTS)
search_LDADD = $(LDADD)
@@ -66,7 +77,7 @@ am_verserangeparse_OBJECTS = verserangeparse.$(OBJEXT)
verserangeparse_OBJECTS = $(am_verserangeparse_OBJECTS)
verserangeparse_LDADD = $(LDADD)
verserangeparse_DEPENDENCIES = $(top_builddir)/lib/libsword.la
-DEFAULT_INCLUDES = -I. -I$(top_builddir)/include@am__isrc@
+DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/include
depcomp = $(SHELL) $(top_srcdir)/depcomp
am__depfiles_maybe = depfiles
CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
@@ -78,11 +89,12 @@ CXXLD = $(CXX)
CXXLINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
--mode=link $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
$(LDFLAGS) -o $@
-SOURCES = $(listoptions_SOURCES) $(lookup_SOURCES) $(search_SOURCES) \
+SOURCES = $(listoptions_SOURCES) $(lookup_SOURCES) $(outplain_SOURCES) \
+ $(outrender_SOURCES) $(search_SOURCES) \
$(threaded_search_SOURCES) $(verserangeparse_SOURCES)
DIST_SOURCES = $(listoptions_SOURCES) $(lookup_SOURCES) \
- $(search_SOURCES) $(threaded_search_SOURCES) \
- $(verserangeparse_SOURCES)
+ $(outplain_SOURCES) $(outrender_SOURCES) $(search_SOURCES) \
+ $(threaded_search_SOURCES) $(verserangeparse_SOURCES)
ETAGS = etags
CTAGS = ctags
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
@@ -116,14 +128,14 @@ CYGPATH_W = @CYGPATH_W@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
DLLTOOL = @DLLTOOL@
-ECHO = @ECHO@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
-F77 = @F77@
-FFLAGS = @FFLAGS@
+FGREP = @FGREP@
GENCCODE = @GENCCODE@
GENCMN = @GENCMN@
GENRB = @GENRB@
@@ -137,17 +149,23 @@ INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LD = @LD@
LDFLAGS = @LDFLAGS@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
+LIPO = @LIPO@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MKDIR_P = @MKDIR_P@
+NM = @NM@
+NMEDIT = @NMEDIT@
OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
@@ -170,7 +188,7 @@ abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
-ac_ct_F77 = @ac_ct_F77@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
@@ -204,6 +222,7 @@ libdir = @libdir@
libexecdir = @libexecdir@
localedir = @localedir@
localstatedir = @localstatedir@
+lt_ECHO = @lt_ECHO@
mandir = @mandir@
mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@
@@ -222,6 +241,7 @@ target_mingw32 = @target_mingw32@
target_os = @target_os@
target_system = @target_system@
target_vendor = @target_vendor@
+top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
with_conf = @with_conf@
@@ -235,6 +255,8 @@ search_SOURCES = search.cpp
listoptions_SOURCES = listoptions.cpp
verserangeparse_SOURCES = verserangeparse.cpp
threaded_search_SOURCES = threaded_search.cpp
+outplain_SOURCES = outplain.cpp
+outrender_SOURCES = outrender.cpp
threaded_search_LDADD = $(LDADD) -lpthread
all: all-am
@@ -244,8 +266,8 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__confi
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
- && exit 0; \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
exit 1;; \
esac; \
done; \
@@ -282,6 +304,12 @@ listoptions$(EXEEXT): $(listoptions_OBJECTS) $(listoptions_DEPENDENCIES)
lookup$(EXEEXT): $(lookup_OBJECTS) $(lookup_DEPENDENCIES)
@rm -f lookup$(EXEEXT)
$(CXXLINK) $(lookup_OBJECTS) $(lookup_LDADD) $(LIBS)
+outplain$(EXEEXT): $(outplain_OBJECTS) $(outplain_DEPENDENCIES)
+ @rm -f outplain$(EXEEXT)
+ $(CXXLINK) $(outplain_OBJECTS) $(outplain_LDADD) $(LIBS)
+outrender$(EXEEXT): $(outrender_OBJECTS) $(outrender_DEPENDENCIES)
+ @rm -f outrender$(EXEEXT)
+ $(CXXLINK) $(outrender_OBJECTS) $(outrender_LDADD) $(LIBS)
search$(EXEEXT): $(search_OBJECTS) $(search_DEPENDENCIES)
@rm -f search$(EXEEXT)
$(CXXLINK) $(search_OBJECTS) $(search_LDADD) $(LIBS)
@@ -300,6 +328,8 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/listoptions.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lookup.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/outplain.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/outrender.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/search.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/threaded_search.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/verserangeparse.Po@am__quote@
@@ -336,8 +366,8 @@ ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
mkid -fID $$unique
tags: TAGS
@@ -349,8 +379,8 @@ TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
test -n "$$unique" || unique=$$empty_fix; \
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
@@ -360,13 +390,12 @@ ctags: CTAGS
CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
tags=; \
- here=`pwd`; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
test -z "$(CTAGS_ARGS)$$tags$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
$$tags $$unique
diff --git a/examples/cmdline/bcppmake/cmdline.bpg b/examples/cmdline/bcppmake/cmdline.bpg
new file mode 100644
index 0000000..943790e
--- /dev/null
+++ b/examples/cmdline/bcppmake/cmdline.bpg
@@ -0,0 +1,81 @@
+#------------------------------------------------------------------------------
+VERSION = BWS.01
+#------------------------------------------------------------------------------
+!ifndef ROOT
+ROOT = $(MAKEDIR)\..
+!endif
+#------------------------------------------------------------------------------
+MAKE = $(ROOT)\bin\make.exe -$(MAKEFLAGS) -f$**
+DCC = $(ROOT)\bin\dcc32.exe $**
+BRCC = $(ROOT)\bin\brcc32.exe $**
+#------------------------------------------------------------------------------
+PROJECTS = icuuc.lib icuin.lib libcurl.lib clucene.lib libsword.lib \
+ listoptions.exe lookup.exe outplain.exe outrender.exe search.exe \
+ verserangeparse.exe threaded_search.exe
+#------------------------------------------------------------------------------
+default: $(PROJECTS)
+#------------------------------------------------------------------------------
+
+libsword.lib: ..\..\..\lib\bcppmake\libsword.bpr
+ $(ROOT)\bin\bpr2mak -t$(ROOT)\bin\deflib.bmk $**
+ $(ROOT)\bin\make -$(MAKEFLAGS) -f$*.mak
+
+icuuc.lib: ..\..\..\..\icu-sword\as_is\borland\icuuc.bpr
+ $(ROOT)\bin\bpr2mak -t$(ROOT)\bin\deflib.bmk $**
+ $(ROOT)\bin\make -$(MAKEFLAGS) -f$*.mak
+
+icuin.lib: ..\..\..\..\icu-sword\as_is\borland\icuin.bpr
+ $(ROOT)\bin\bpr2mak -t$(ROOT)\bin\deflib.bmk $**
+ $(ROOT)\bin\make -$(MAKEFLAGS) -f$*.mak
+
+xml2gbs.exe: xml2gbs.bpr
+ $(ROOT)\bin\bpr2mak $**
+ $(ROOT)\bin\make -$(MAKEFLAGS) -f$*.mak
+
+osis2mod.exe: osis2mod.bpr
+ $(ROOT)\bin\bpr2mak $**
+ $(ROOT)\bin\make -$(MAKEFLAGS) -f$*.mak
+
+tei2mod.exe: tei2mod.bpr
+ $(ROOT)\bin\bpr2mak $**
+ $(ROOT)\bin\make -$(MAKEFLAGS) -f$*.mak
+
+installmgr.exe: installmgr.bpr
+ $(ROOT)\bin\bpr2mak $**
+ $(ROOT)\bin\make -$(MAKEFLAGS) -f$*.mak
+
+clucene.lib: ..\..\..\..\biblecs\clucene\clucene.bpr
+ $(ROOT)\bin\bpr2mak -t$(ROOT)\bin\deflib.bmk $**
+ $(ROOT)\bin\make -$(MAKEFLAGS) -f$*.mak
+
+libcurl.lib: ..\..\..\..\biblecs\apps\InstallMgr\libcurl.bpr
+ $(ROOT)\bin\bpr2mak -t$(ROOT)\bin\deflib.bmk $**
+ $(ROOT)\bin\make -$(MAKEFLAGS) -f$*.mak
+
+verserangeparse.exe: verserangeparse.bpr
+ $(ROOT)\bin\bpr2mak $**
+ $(ROOT)\bin\make -$(MAKEFLAGS) -f$*.mak
+
+threaded_search.exe: threaded_search.bpr
+ $(ROOT)\bin\bpr2mak $**
+ $(ROOT)\bin\make -$(MAKEFLAGS) -f$*.mak
+
+search.exe: search.bpr
+ $(ROOT)\bin\bpr2mak $**
+ $(ROOT)\bin\make -$(MAKEFLAGS) -f$*.mak
+
+outrender.exe: outrender.bpr
+ $(ROOT)\bin\bpr2mak $**
+ $(ROOT)\bin\make -$(MAKEFLAGS) -f$*.mak
+
+outplain.exe: outplain.bpr
+ $(ROOT)\bin\bpr2mak $**
+ $(ROOT)\bin\make -$(MAKEFLAGS) -f$*.mak
+
+lookup.exe: lookup.bpr
+ $(ROOT)\bin\bpr2mak $**
+ $(ROOT)\bin\make -$(MAKEFLAGS) -f$*.mak
+
+listoptions.exe: listoptions.bpr
+ $(ROOT)\bin\bpr2mak $**
+ $(ROOT)\bin\make -$(MAKEFLAGS) -f$*.mak
diff --git a/examples/cmdline/bcppmake/listoptions.bpf b/examples/cmdline/bcppmake/listoptions.bpf
new file mode 100644
index 0000000..9e2ee47
--- /dev/null
+++ b/examples/cmdline/bcppmake/listoptions.bpf
@@ -0,0 +1,11 @@
+USEUNIT("..\listoptions.cpp");
+USELIB("..\..\..\..\icu-sword\as_is\borland\icuin.lib");
+USELIB("..\..\..\..\icu-sword\as_is\borland\icudatab.lib");
+USELIB("..\..\..\..\icu-sword\as_is\borland\icuuc.lib");
+USELIB("..\..\..\lib\libsword.lib");
+USELIB("..\..\..\..\biblecs\clucene\clucene.lib");
+//---------------------------------------------------------------------------
+This file is used by the project manager only and should be treated like the project file
+
+
+main \ No newline at end of file
diff --git a/examples/cmdline/bcppmake/listoptions.bpr b/examples/cmdline/bcppmake/listoptions.bpr
new file mode 100644
index 0000000..753553e
--- /dev/null
+++ b/examples/cmdline/bcppmake/listoptions.bpr
@@ -0,0 +1,96 @@
+<?xml version='1.0' encoding='utf-8' ?>
+<!-- C++Builder XML Project -->
+<PROJECT>
+ <MACROS>
+ <VERSION value="BCB.05.03"/>
+ <PROJECT value="listoptions.exe"/>
+ <OBJFILES value="..\listoptions.obj"/>
+ <RESFILES value=""/>
+ <IDLFILES value=""/>
+ <IDLGENFILES value=""/>
+ <DEFFILE value=""/>
+ <RESDEPEN value="$(RESFILES)"/>
+ <LIBFILES value="..\..\..\..\icu-sword\as_is\borland\icuin.lib
+ ..\..\..\..\icu-sword\as_is\borland\icudatab.lib
+ ..\..\..\..\icu-sword\as_is\borland\icuuc.lib ..\..\..\lib\libsword.lib
+ ..\..\..\..\biblecs\clucene\clucene.lib"/>
+ <LIBRARIES value=""/>
+ <SPARELIBS value=""/>
+ <PACKAGES value="VCL50.bpi VCLX50.bpi bcbsmp50.bpi QRPT50.bpi VCLDB50.bpi VCLBDE50.bpi
+ ibsmp50.bpi VCLDBX50.bpi TEEUI50.bpi TEEDB50.bpi TEE50.bpi TEEQR50.bpi
+ VCLIB50.bpi bcbie50.bpi VCLIE50.bpi INETDB50.bpi INET50.bpi NMFAST50.bpi
+ dclocx50.bpi bcb2kaxserver50.bpi"/>
+ <PATHCPP value=".;.."/>
+ <PATHPAS value=".;"/>
+ <PATHRC value=".;"/>
+ <PATHASM value=".;"/>
+ <DEBUGLIBPATH value="$(BCB)\lib\debug"/>
+ <RELEASELIBPATH value="$(BCB)\lib\release"/>
+ <LINKER value="tlink32"/>
+ <USERDEFINES value="_ICU_;_ICUSWORD_;USBINARY;U_HAVE_PLACEMENT_NEW=0;USELUCENE;_CL_DISABLE_MULTITHREADING"/>
+ <SYSDEFINES value="NO_STRICT;_NO_VCL"/>
+ <MAINSOURCE value="listoptions.bpf"/>
+ <INCLUDEPATH value="..\;..\..\..\include;$(BCB)\include;$(BCB)\include\vcl;..\..\..\..\icu-sword\source\common;..\..\..\..\icu-sword\source\i18n"/>
+ <LIBPATH value="..\;..\..\..\lib;$(BCB)\lib\obj;$(BCB)\lib"/>
+ <WARNINGS value="-w-par"/>
+ </MACROS>
+ <OPTIONS>
+ <IDLCFLAGS value="-I..\. -I.. -I..\..\..\..\include -I$(BCB)\include -I$(BCB)\include\vcl
+ -I..\..\..\..\icu-sword\source\common -I..\..\..\..\icu-sword\source\i18n
+ -src_suffix cpp -D_ICU_ -D_ICUSWORD_ -DUSBINARY -DU_HAVE_PLACEMENT_NEW=0
+ -DUSELUCENE -D_CL_DISABLE_MULTITHREADING -boa"/>
+ <CFLAG1 value="-O2 -H=$(BCB)\lib\vcl50.csm -Hc -Vx -Ve -X- -a8 -6 -b- -k- -vi -tWC -tWM -c"/>
+ <PFLAGS value="-$Y- -$L- -$D- -v -JPHNE -M"/>
+ <RFLAGS value=""/>
+ <AFLAGS value="/mx /w2 /zn"/>
+ <LFLAGS value="-D&quot;&quot; -ap -Tpe -x -Gn"/>
+ </OPTIONS>
+ <LINKER>
+ <ALLOBJ value="c0x32.obj $(OBJFILES)"/>
+ <ALLRES value="$(RESFILES)"/>
+ <ALLLIB value="$(LIBFILES) $(LIBRARIES) import32.lib cw32mt.lib"/>
+ </LINKER>
+ <IDEOPTIONS>
+[Version Info]
+IncludeVerInfo=0
+AutoIncBuild=0
+MajorVer=1
+MinorVer=0
+Release=0
+Build=0
+Debug=0
+PreRelease=0
+Special=0
+Private=0
+DLL=0
+Locale=1033
+CodePage=1252
+
+[Version Info Keys]
+CompanyName=
+FileDescription=
+FileVersion=1.0.0.0
+InternalName=
+LegalCopyright=
+LegalTrademarks=
+OriginalFilename=
+ProductName=
+ProductVersion=1.0.0.0
+Comments=
+
+[Debugging]
+DebugSourceDirs=$(BCB)\source\vcl
+
+[Parameters]
+RunParams=./nasb nasb.xml
+HostApplication=
+RemoteHost=
+RemotePath=
+RemoteDebug=0
+
+[Language]
+ActiveLang=
+ProjectLang=
+RootDir=
+ </IDEOPTIONS>
+</PROJECT>
diff --git a/examples/cmdline/bcppmake/lookup.bpf b/examples/cmdline/bcppmake/lookup.bpf
new file mode 100644
index 0000000..d7722c5
--- /dev/null
+++ b/examples/cmdline/bcppmake/lookup.bpf
@@ -0,0 +1,11 @@
+USEUNIT("..\lookup.cpp");
+USELIB("..\..\..\..\icu-sword\as_is\borland\icuin.lib");
+USELIB("..\..\..\..\icu-sword\as_is\borland\icudatab.lib");
+USELIB("..\..\..\..\icu-sword\as_is\borland\icuuc.lib");
+USELIB("..\..\..\lib\libsword.lib");
+USELIB("..\..\..\..\biblecs\clucene\clucene.lib");
+//---------------------------------------------------------------------------
+This file is used by the project manager only and should be treated like the project file
+
+
+main \ No newline at end of file
diff --git a/examples/cmdline/bcppmake/lookup.bpr b/examples/cmdline/bcppmake/lookup.bpr
new file mode 100644
index 0000000..4b642c3
--- /dev/null
+++ b/examples/cmdline/bcppmake/lookup.bpr
@@ -0,0 +1,96 @@
+<?xml version='1.0' encoding='utf-8' ?>
+<!-- C++Builder XML Project -->
+<PROJECT>
+ <MACROS>
+ <VERSION value="BCB.05.03"/>
+ <PROJECT value="lookup.exe"/>
+ <OBJFILES value="..\lookup.obj"/>
+ <RESFILES value=""/>
+ <IDLFILES value=""/>
+ <IDLGENFILES value=""/>
+ <DEFFILE value=""/>
+ <RESDEPEN value="$(RESFILES)"/>
+ <LIBFILES value="..\..\..\..\icu-sword\as_is\borland\icuin.lib
+ ..\..\..\..\icu-sword\as_is\borland\icudatab.lib
+ ..\..\..\..\icu-sword\as_is\borland\icuuc.lib ..\..\..\lib\libsword.lib
+ ..\..\..\..\biblecs\clucene\clucene.lib"/>
+ <LIBRARIES value=""/>
+ <SPARELIBS value=""/>
+ <PACKAGES value="VCL50.bpi VCLX50.bpi bcbsmp50.bpi QRPT50.bpi VCLDB50.bpi VCLBDE50.bpi
+ ibsmp50.bpi VCLDBX50.bpi TEEUI50.bpi TEEDB50.bpi TEE50.bpi TEEQR50.bpi
+ VCLIB50.bpi bcbie50.bpi VCLIE50.bpi INETDB50.bpi INET50.bpi NMFAST50.bpi
+ dclocx50.bpi bcb2kaxserver50.bpi"/>
+ <PATHCPP value=".;.."/>
+ <PATHPAS value=".;"/>
+ <PATHRC value=".;"/>
+ <PATHASM value=".;"/>
+ <DEBUGLIBPATH value="$(BCB)\lib\debug"/>
+ <RELEASELIBPATH value="$(BCB)\lib\release"/>
+ <LINKER value="tlink32"/>
+ <USERDEFINES value="_ICU_;_ICUSWORD_;USBINARY;U_HAVE_PLACEMENT_NEW=0;USELUCENE;_CL_DISABLE_MULTITHREADING"/>
+ <SYSDEFINES value="NO_STRICT;_NO_VCL"/>
+ <MAINSOURCE value="lookup.bpf"/>
+ <INCLUDEPATH value="..\;..\..\..\include;$(BCB)\include;$(BCB)\include\vcl;..\..\..\..\icu-sword\source\common;..\..\..\..\icu-sword\source\i18n"/>
+ <LIBPATH value="..\;..\..\..\lib;$(BCB)\lib\obj;$(BCB)\lib"/>
+ <WARNINGS value="-w-par"/>
+ </MACROS>
+ <OPTIONS>
+ <IDLCFLAGS value="-I..\. -I.. -I..\..\..\..\include -I$(BCB)\include -I$(BCB)\include\vcl
+ -I..\..\..\..\icu-sword\source\common -I..\..\..\..\icu-sword\source\i18n
+ -src_suffix cpp -D_ICU_ -D_ICUSWORD_ -DUSBINARY -DU_HAVE_PLACEMENT_NEW=0
+ -DUSELUCENE -D_CL_DISABLE_MULTITHREADING -boa"/>
+ <CFLAG1 value="-O2 -H=$(BCB)\lib\vcl50.csm -Hc -Vx -Ve -X- -a8 -6 -b- -k- -vi -tWC -tWM -c"/>
+ <PFLAGS value="-$Y- -$L- -$D- -v -JPHNE -M"/>
+ <RFLAGS value=""/>
+ <AFLAGS value="/mx /w2 /zn"/>
+ <LFLAGS value="-D&quot;&quot; -ap -Tpe -x -Gn"/>
+ </OPTIONS>
+ <LINKER>
+ <ALLOBJ value="c0x32.obj $(OBJFILES)"/>
+ <ALLRES value="$(RESFILES)"/>
+ <ALLLIB value="$(LIBFILES) $(LIBRARIES) import32.lib cw32mt.lib"/>
+ </LINKER>
+ <IDEOPTIONS>
+[Version Info]
+IncludeVerInfo=0
+AutoIncBuild=0
+MajorVer=1
+MinorVer=0
+Release=0
+Build=0
+Debug=0
+PreRelease=0
+Special=0
+Private=0
+DLL=0
+Locale=1033
+CodePage=1252
+
+[Version Info Keys]
+CompanyName=
+FileDescription=
+FileVersion=1.0.0.0
+InternalName=
+LegalCopyright=
+LegalTrademarks=
+OriginalFilename=
+ProductName=
+ProductVersion=1.0.0.0
+Comments=
+
+[Debugging]
+DebugSourceDirs=$(BCB)\source\vcl
+
+[Parameters]
+RunParams=./nasb nasb.xml
+HostApplication=
+RemoteHost=
+RemotePath=
+RemoteDebug=0
+
+[Language]
+ActiveLang=
+ProjectLang=
+RootDir=
+ </IDEOPTIONS>
+</PROJECT>
diff --git a/examples/cmdline/bcppmake/outplain.bpf b/examples/cmdline/bcppmake/outplain.bpf
new file mode 100644
index 0000000..edce864
--- /dev/null
+++ b/examples/cmdline/bcppmake/outplain.bpf
@@ -0,0 +1,11 @@
+USEUNIT("..\outplain.cpp");
+USELIB("..\..\..\..\icu-sword\as_is\borland\icuin.lib");
+USELIB("..\..\..\..\icu-sword\as_is\borland\icudatab.lib");
+USELIB("..\..\..\..\icu-sword\as_is\borland\icuuc.lib");
+USELIB("..\..\..\lib\libsword.lib");
+USELIB("..\..\..\..\biblecs\clucene\clucene.lib");
+//---------------------------------------------------------------------------
+This file is used by the project manager only and should be treated like the project file
+
+
+main \ No newline at end of file
diff --git a/examples/cmdline/bcppmake/outplain.bpr b/examples/cmdline/bcppmake/outplain.bpr
new file mode 100644
index 0000000..089d890
--- /dev/null
+++ b/examples/cmdline/bcppmake/outplain.bpr
@@ -0,0 +1,96 @@
+<?xml version='1.0' encoding='utf-8' ?>
+<!-- C++Builder XML Project -->
+<PROJECT>
+ <MACROS>
+ <VERSION value="BCB.05.03"/>
+ <PROJECT value="outplain.exe"/>
+ <OBJFILES value="..\outplain.obj"/>
+ <RESFILES value=""/>
+ <IDLFILES value=""/>
+ <IDLGENFILES value=""/>
+ <DEFFILE value=""/>
+ <RESDEPEN value="$(RESFILES)"/>
+ <LIBFILES value="..\..\..\..\icu-sword\as_is\borland\icuin.lib
+ ..\..\..\..\icu-sword\as_is\borland\icudatab.lib
+ ..\..\..\..\icu-sword\as_is\borland\icuuc.lib ..\..\..\lib\libsword.lib
+ ..\..\..\..\biblecs\clucene\clucene.lib"/>
+ <LIBRARIES value=""/>
+ <SPARELIBS value=""/>
+ <PACKAGES value="VCL50.bpi VCLX50.bpi bcbsmp50.bpi QRPT50.bpi VCLDB50.bpi VCLBDE50.bpi
+ ibsmp50.bpi VCLDBX50.bpi TEEUI50.bpi TEEDB50.bpi TEE50.bpi TEEQR50.bpi
+ VCLIB50.bpi bcbie50.bpi VCLIE50.bpi INETDB50.bpi INET50.bpi NMFAST50.bpi
+ dclocx50.bpi bcb2kaxserver50.bpi"/>
+ <PATHCPP value=".;.."/>
+ <PATHPAS value=".;"/>
+ <PATHRC value=".;"/>
+ <PATHASM value=".;"/>
+ <DEBUGLIBPATH value="$(BCB)\lib\debug"/>
+ <RELEASELIBPATH value="$(BCB)\lib\release"/>
+ <LINKER value="tlink32"/>
+ <USERDEFINES value="_ICU_;_ICUSWORD_;USBINARY;U_HAVE_PLACEMENT_NEW=0;USELUCENE;_CL_DISABLE_MULTITHREADING"/>
+ <SYSDEFINES value="NO_STRICT;_NO_VCL"/>
+ <MAINSOURCE value="outplain.bpf"/>
+ <INCLUDEPATH value="..\;..\..\..\include;$(BCB)\include;$(BCB)\include\vcl;..\..\..\..\icu-sword\source\common;..\..\..\..\icu-sword\source\i18n"/>
+ <LIBPATH value="..\;..\..\..\lib;$(BCB)\lib\obj;$(BCB)\lib"/>
+ <WARNINGS value="-w-par"/>
+ </MACROS>
+ <OPTIONS>
+ <IDLCFLAGS value="-I..\. -I.. -I..\..\..\..\include -I$(BCB)\include -I$(BCB)\include\vcl
+ -I..\..\..\..\icu-sword\source\common -I..\..\..\..\icu-sword\source\i18n
+ -src_suffix cpp -D_ICU_ -D_ICUSWORD_ -DUSBINARY -DU_HAVE_PLACEMENT_NEW=0
+ -DUSELUCENE -D_CL_DISABLE_MULTITHREADING -boa"/>
+ <CFLAG1 value="-O2 -H=$(BCB)\lib\vcl50.csm -Hc -Vx -Ve -X- -a8 -6 -b- -k- -vi -tWC -tWM -c"/>
+ <PFLAGS value="-$Y- -$L- -$D- -v -JPHNE -M"/>
+ <RFLAGS value=""/>
+ <AFLAGS value="/mx /w2 /zn"/>
+ <LFLAGS value="-D&quot;&quot; -ap -Tpe -x -Gn"/>
+ </OPTIONS>
+ <LINKER>
+ <ALLOBJ value="c0x32.obj $(OBJFILES)"/>
+ <ALLRES value="$(RESFILES)"/>
+ <ALLLIB value="$(LIBFILES) $(LIBRARIES) import32.lib cw32mt.lib"/>
+ </LINKER>
+ <IDEOPTIONS>
+[Version Info]
+IncludeVerInfo=0
+AutoIncBuild=0
+MajorVer=1
+MinorVer=0
+Release=0
+Build=0
+Debug=0
+PreRelease=0
+Special=0
+Private=0
+DLL=0
+Locale=1033
+CodePage=1252
+
+[Version Info Keys]
+CompanyName=
+FileDescription=
+FileVersion=1.0.0.0
+InternalName=
+LegalCopyright=
+LegalTrademarks=
+OriginalFilename=
+ProductName=
+ProductVersion=1.0.0.0
+Comments=
+
+[Debugging]
+DebugSourceDirs=$(BCB)\source\vcl
+
+[Parameters]
+RunParams=./nasb nasb.xml
+HostApplication=
+RemoteHost=
+RemotePath=
+RemoteDebug=0
+
+[Language]
+ActiveLang=
+ProjectLang=
+RootDir=
+ </IDEOPTIONS>
+</PROJECT>
diff --git a/examples/cmdline/bcppmake/outrender.bpf b/examples/cmdline/bcppmake/outrender.bpf
new file mode 100644
index 0000000..0ca9e33
--- /dev/null
+++ b/examples/cmdline/bcppmake/outrender.bpf
@@ -0,0 +1,11 @@
+USEUNIT("..\outrender.cpp");
+USELIB("..\..\..\..\icu-sword\as_is\borland\icuin.lib");
+USELIB("..\..\..\..\icu-sword\as_is\borland\icudatab.lib");
+USELIB("..\..\..\..\icu-sword\as_is\borland\icuuc.lib");
+USELIB("..\..\..\lib\libsword.lib");
+USELIB("..\..\..\..\biblecs\clucene\clucene.lib");
+//---------------------------------------------------------------------------
+This file is used by the project manager only and should be treated like the project file
+
+
+main \ No newline at end of file
diff --git a/examples/cmdline/bcppmake/outrender.bpr b/examples/cmdline/bcppmake/outrender.bpr
new file mode 100644
index 0000000..6c2438a
--- /dev/null
+++ b/examples/cmdline/bcppmake/outrender.bpr
@@ -0,0 +1,96 @@
+<?xml version='1.0' encoding='utf-8' ?>
+<!-- C++Builder XML Project -->
+<PROJECT>
+ <MACROS>
+ <VERSION value="BCB.05.03"/>
+ <PROJECT value="outrender.exe"/>
+ <OBJFILES value="..\outrender.obj"/>
+ <RESFILES value=""/>
+ <IDLFILES value=""/>
+ <IDLGENFILES value=""/>
+ <DEFFILE value=""/>
+ <RESDEPEN value="$(RESFILES)"/>
+ <LIBFILES value="..\..\..\..\icu-sword\as_is\borland\icuin.lib
+ ..\..\..\..\icu-sword\as_is\borland\icudatab.lib
+ ..\..\..\..\icu-sword\as_is\borland\icuuc.lib ..\..\..\lib\libsword.lib
+ ..\..\..\..\biblecs\clucene\clucene.lib"/>
+ <LIBRARIES value=""/>
+ <SPARELIBS value=""/>
+ <PACKAGES value="VCL50.bpi VCLX50.bpi bcbsmp50.bpi QRPT50.bpi VCLDB50.bpi VCLBDE50.bpi
+ ibsmp50.bpi VCLDBX50.bpi TEEUI50.bpi TEEDB50.bpi TEE50.bpi TEEQR50.bpi
+ VCLIB50.bpi bcbie50.bpi VCLIE50.bpi INETDB50.bpi INET50.bpi NMFAST50.bpi
+ dclocx50.bpi bcb2kaxserver50.bpi"/>
+ <PATHCPP value=".;.."/>
+ <PATHPAS value=".;"/>
+ <PATHRC value=".;"/>
+ <PATHASM value=".;"/>
+ <DEBUGLIBPATH value="$(BCB)\lib\debug"/>
+ <RELEASELIBPATH value="$(BCB)\lib\release"/>
+ <LINKER value="tlink32"/>
+ <USERDEFINES value="_ICU_;_ICUSWORD_;USBINARY;U_HAVE_PLACEMENT_NEW=0;USELUCENE;_CL_DISABLE_MULTITHREADING"/>
+ <SYSDEFINES value="NO_STRICT;_NO_VCL"/>
+ <MAINSOURCE value="outrender.bpf"/>
+ <INCLUDEPATH value="..\;..\..\..\include;$(BCB)\include;$(BCB)\include\vcl;..\..\..\..\icu-sword\source\common;..\..\..\..\icu-sword\source\i18n"/>
+ <LIBPATH value="..\;..\..\..\lib;$(BCB)\lib\obj;$(BCB)\lib"/>
+ <WARNINGS value="-w-par"/>
+ </MACROS>
+ <OPTIONS>
+ <IDLCFLAGS value="-I..\. -I.. -I..\..\..\..\include -I$(BCB)\include -I$(BCB)\include\vcl
+ -I..\..\..\..\icu-sword\source\common -I..\..\..\..\icu-sword\source\i18n
+ -src_suffix cpp -D_ICU_ -D_ICUSWORD_ -DUSBINARY -DU_HAVE_PLACEMENT_NEW=0
+ -DUSELUCENE -D_CL_DISABLE_MULTITHREADING -boa"/>
+ <CFLAG1 value="-O2 -H=$(BCB)\lib\vcl50.csm -Hc -Vx -Ve -X- -a8 -6 -b- -k- -vi -tWC -tWM -c"/>
+ <PFLAGS value="-$Y- -$L- -$D- -v -JPHNE -M"/>
+ <RFLAGS value=""/>
+ <AFLAGS value="/mx /w2 /zn"/>
+ <LFLAGS value="-D&quot;&quot; -ap -Tpe -x -Gn"/>
+ </OPTIONS>
+ <LINKER>
+ <ALLOBJ value="c0x32.obj $(OBJFILES)"/>
+ <ALLRES value="$(RESFILES)"/>
+ <ALLLIB value="$(LIBFILES) $(LIBRARIES) import32.lib cw32mt.lib"/>
+ </LINKER>
+ <IDEOPTIONS>
+[Version Info]
+IncludeVerInfo=0
+AutoIncBuild=0
+MajorVer=1
+MinorVer=0
+Release=0
+Build=0
+Debug=0
+PreRelease=0
+Special=0
+Private=0
+DLL=0
+Locale=1033
+CodePage=1252
+
+[Version Info Keys]
+CompanyName=
+FileDescription=
+FileVersion=1.0.0.0
+InternalName=
+LegalCopyright=
+LegalTrademarks=
+OriginalFilename=
+ProductName=
+ProductVersion=1.0.0.0
+Comments=
+
+[Debugging]
+DebugSourceDirs=$(BCB)\source\vcl
+
+[Parameters]
+RunParams=./nasb nasb.xml
+HostApplication=
+RemoteHost=
+RemotePath=
+RemoteDebug=0
+
+[Language]
+ActiveLang=
+ProjectLang=
+RootDir=
+ </IDEOPTIONS>
+</PROJECT>
diff --git a/examples/cmdline/bcppmake/search.bpf b/examples/cmdline/bcppmake/search.bpf
new file mode 100644
index 0000000..438ee60
--- /dev/null
+++ b/examples/cmdline/bcppmake/search.bpf
@@ -0,0 +1,11 @@
+USEUNIT("..\search.cpp");
+USELIB("..\..\..\..\icu-sword\as_is\borland\icuin.lib");
+USELIB("..\..\..\..\icu-sword\as_is\borland\icudatab.lib");
+USELIB("..\..\..\..\icu-sword\as_is\borland\icuuc.lib");
+USELIB("..\..\..\lib\libsword.lib");
+USELIB("..\..\..\..\biblecs\clucene\clucene.lib");
+//---------------------------------------------------------------------------
+This file is used by the project manager only and should be treated like the project file
+
+
+main
diff --git a/examples/cmdline/bcppmake/search.bpr b/examples/cmdline/bcppmake/search.bpr
new file mode 100644
index 0000000..23a79ca
--- /dev/null
+++ b/examples/cmdline/bcppmake/search.bpr
@@ -0,0 +1,96 @@
+<?xml version='1.0' encoding='utf-8' ?>
+<!-- C++Builder XML Project -->
+<PROJECT>
+ <MACROS>
+ <VERSION value="BCB.05.03"/>
+ <PROJECT value="search.exe"/>
+ <OBJFILES value="..\search.obj"/>
+ <RESFILES value=""/>
+ <IDLFILES value=""/>
+ <IDLGENFILES value=""/>
+ <DEFFILE value=""/>
+ <RESDEPEN value="$(RESFILES)"/>
+ <LIBFILES value="..\..\..\..\icu-sword\as_is\borland\icuin.lib
+ ..\..\..\..\icu-sword\as_is\borland\icudatab.lib
+ ..\..\..\..\icu-sword\as_is\borland\icuuc.lib ..\..\..\lib\libsword.lib
+ ..\..\..\..\biblecs\clucene\clucene.lib"/>
+ <LIBRARIES value=""/>
+ <SPARELIBS value=""/>
+ <PACKAGES value="VCL50.bpi VCLX50.bpi bcbsmp50.bpi QRPT50.bpi VCLDB50.bpi VCLBDE50.bpi
+ ibsmp50.bpi VCLDBX50.bpi TEEUI50.bpi TEEDB50.bpi TEE50.bpi TEEQR50.bpi
+ VCLIB50.bpi bcbie50.bpi VCLIE50.bpi INETDB50.bpi INET50.bpi NMFAST50.bpi
+ dclocx50.bpi bcb2kaxserver50.bpi"/>
+ <PATHCPP value=".;.."/>
+ <PATHPAS value=".;"/>
+ <PATHRC value=".;"/>
+ <PATHASM value=".;"/>
+ <DEBUGLIBPATH value="$(BCB)\lib\debug"/>
+ <RELEASELIBPATH value="$(BCB)\lib\release"/>
+ <LINKER value="tlink32"/>
+ <USERDEFINES value="_ICU_;_ICUSWORD_;USBINARY;U_HAVE_PLACEMENT_NEW=0;USELUCENE;_CL_DISABLE_MULTITHREADING"/>
+ <SYSDEFINES value="NO_STRICT;_NO_VCL"/>
+ <MAINSOURCE value="search.bpf"/>
+ <INCLUDEPATH value="..\;..\..\..\include;$(BCB)\include;$(BCB)\include\vcl;..\..\..\..\icu-sword\source\common;..\..\..\..\icu-sword\source\i18n"/>
+ <LIBPATH value="..\;..\..\..\lib;$(BCB)\lib\obj;$(BCB)\lib"/>
+ <WARNINGS value="-w-par"/>
+ </MACROS>
+ <OPTIONS>
+ <IDLCFLAGS value="-I..\. -I.. -I..\..\..\..\include -I$(BCB)\include -I$(BCB)\include\vcl
+ -I..\..\..\..\icu-sword\source\common -I..\..\..\..\icu-sword\source\i18n
+ -src_suffix cpp -D_ICU_ -D_ICUSWORD_ -DUSBINARY -DU_HAVE_PLACEMENT_NEW=0
+ -DUSELUCENE -D_CL_DISABLE_MULTITHREADING -boa"/>
+ <CFLAG1 value="-O2 -H=$(BCB)\lib\vcl50.csm -Hc -Vx -Ve -X- -a8 -6 -b- -k- -vi -tWC -tWM -c"/>
+ <PFLAGS value="-$Y- -$L- -$D- -v -JPHNE -M"/>
+ <RFLAGS value=""/>
+ <AFLAGS value="/mx /w2 /zn"/>
+ <LFLAGS value="-D&quot;&quot; -ap -Tpe -x -Gn"/>
+ </OPTIONS>
+ <LINKER>
+ <ALLOBJ value="c0x32.obj $(OBJFILES)"/>
+ <ALLRES value="$(RESFILES)"/>
+ <ALLLIB value="$(LIBFILES) $(LIBRARIES) import32.lib cw32mt.lib"/>
+ </LINKER>
+ <IDEOPTIONS>
+[Version Info]
+IncludeVerInfo=0
+AutoIncBuild=0
+MajorVer=1
+MinorVer=0
+Release=0
+Build=0
+Debug=0
+PreRelease=0
+Special=0
+Private=0
+DLL=0
+Locale=1033
+CodePage=1252
+
+[Version Info Keys]
+CompanyName=
+FileDescription=
+FileVersion=1.0.0.0
+InternalName=
+LegalCopyright=
+LegalTrademarks=
+OriginalFilename=
+ProductName=
+ProductVersion=1.0.0.0
+Comments=
+
+[Debugging]
+DebugSourceDirs=$(BCB)\source\vcl
+
+[Parameters]
+RunParams=./nasb nasb.xml
+HostApplication=
+RemoteHost=
+RemotePath=
+RemoteDebug=0
+
+[Language]
+ActiveLang=
+ProjectLang=
+RootDir=
+ </IDEOPTIONS>
+</PROJECT>
diff --git a/examples/cmdline/bcppmake/threaded_search.bpf b/examples/cmdline/bcppmake/threaded_search.bpf
new file mode 100644
index 0000000..f69800a
--- /dev/null
+++ b/examples/cmdline/bcppmake/threaded_search.bpf
@@ -0,0 +1,11 @@
+USEUNIT("..\threaded_search.cpp");
+USELIB("..\..\..\..\icu-sword\as_is\borland\icuin.lib");
+USELIB("..\..\..\..\icu-sword\as_is\borland\icudatab.lib");
+USELIB("..\..\..\..\icu-sword\as_is\borland\icuuc.lib");
+USELIB("..\..\..\lib\libsword.lib");
+USELIB("..\..\..\..\biblecs\clucene\clucene.lib");
+//---------------------------------------------------------------------------
+This file is used by the project manager only and should be treated like the project file
+
+
+main \ No newline at end of file
diff --git a/examples/cmdline/bcppmake/threaded_search.bpr b/examples/cmdline/bcppmake/threaded_search.bpr
new file mode 100644
index 0000000..a666afa
--- /dev/null
+++ b/examples/cmdline/bcppmake/threaded_search.bpr
@@ -0,0 +1,96 @@
+<?xml version='1.0' encoding='utf-8' ?>
+<!-- C++Builder XML Project -->
+<PROJECT>
+ <MACROS>
+ <VERSION value="BCB.05.03"/>
+ <PROJECT value="threaded_search.exe"/>
+ <OBJFILES value="..\threaded_search.obj"/>
+ <RESFILES value=""/>
+ <IDLFILES value=""/>
+ <IDLGENFILES value=""/>
+ <DEFFILE value=""/>
+ <RESDEPEN value="$(RESFILES)"/>
+ <LIBFILES value="..\..\..\..\icu-sword\as_is\borland\icuin.lib
+ ..\..\..\..\icu-sword\as_is\borland\icudatab.lib
+ ..\..\..\..\icu-sword\as_is\borland\icuuc.lib ..\..\..\lib\libsword.lib
+ ..\..\..\..\biblecs\clucene\clucene.lib"/>
+ <LIBRARIES value=""/>
+ <SPARELIBS value=""/>
+ <PACKAGES value="VCL50.bpi VCLX50.bpi bcbsmp50.bpi QRPT50.bpi VCLDB50.bpi VCLBDE50.bpi
+ ibsmp50.bpi VCLDBX50.bpi TEEUI50.bpi TEEDB50.bpi TEE50.bpi TEEQR50.bpi
+ VCLIB50.bpi bcbie50.bpi VCLIE50.bpi INETDB50.bpi INET50.bpi NMFAST50.bpi
+ dclocx50.bpi bcb2kaxserver50.bpi"/>
+ <PATHCPP value=".;.."/>
+ <PATHPAS value=".;"/>
+ <PATHRC value=".;"/>
+ <PATHASM value=".;"/>
+ <DEBUGLIBPATH value="$(BCB)\lib\debug"/>
+ <RELEASELIBPATH value="$(BCB)\lib\release"/>
+ <LINKER value="tlink32"/>
+ <USERDEFINES value="_ICU_;_ICUSWORD_;USBINARY;U_HAVE_PLACEMENT_NEW=0;USELUCENE;_CL_DISABLE_MULTITHREADING"/>
+ <SYSDEFINES value="NO_STRICT;_NO_VCL"/>
+ <MAINSOURCE value="threaded_search.bpf"/>
+ <INCLUDEPATH value="..\;..\..\..\include;$(BCB)\include;$(BCB)\include\vcl;..\..\..\..\icu-sword\source\common;..\..\..\..\icu-sword\source\i18n"/>
+ <LIBPATH value="..\;..\..\..\lib;$(BCB)\lib\obj;$(BCB)\lib"/>
+ <WARNINGS value="-w-par"/>
+ </MACROS>
+ <OPTIONS>
+ <IDLCFLAGS value="-I..\. -I.. -I..\..\..\..\include -I$(BCB)\include -I$(BCB)\include\vcl
+ -I..\..\..\..\icu-sword\source\common -I..\..\..\..\icu-sword\source\i18n
+ -src_suffix cpp -D_ICU_ -D_ICUSWORD_ -DUSBINARY -DU_HAVE_PLACEMENT_NEW=0
+ -DUSELUCENE -D_CL_DISABLE_MULTITHREADING -boa"/>
+ <CFLAG1 value="-O2 -H=$(BCB)\lib\vcl50.csm -Hc -Vx -Ve -X- -a8 -6 -b- -k- -vi -tWC -tWM -c"/>
+ <PFLAGS value="-$Y- -$L- -$D- -v -JPHNE -M"/>
+ <RFLAGS value=""/>
+ <AFLAGS value="/mx /w2 /zn"/>
+ <LFLAGS value="-D&quot;&quot; -ap -Tpe -x -Gn"/>
+ </OPTIONS>
+ <LINKER>
+ <ALLOBJ value="c0x32.obj $(OBJFILES)"/>
+ <ALLRES value="$(RESFILES)"/>
+ <ALLLIB value="$(LIBFILES) $(LIBRARIES) import32.lib cw32mt.lib"/>
+ </LINKER>
+ <IDEOPTIONS>
+[Version Info]
+IncludeVerInfo=0
+AutoIncBuild=0
+MajorVer=1
+MinorVer=0
+Release=0
+Build=0
+Debug=0
+PreRelease=0
+Special=0
+Private=0
+DLL=0
+Locale=1033
+CodePage=1252
+
+[Version Info Keys]
+CompanyName=
+FileDescription=
+FileVersion=1.0.0.0
+InternalName=
+LegalCopyright=
+LegalTrademarks=
+OriginalFilename=
+ProductName=
+ProductVersion=1.0.0.0
+Comments=
+
+[Debugging]
+DebugSourceDirs=$(BCB)\source\vcl
+
+[Parameters]
+RunParams=./nasb nasb.xml
+HostApplication=
+RemoteHost=
+RemotePath=
+RemoteDebug=0
+
+[Language]
+ActiveLang=
+ProjectLang=
+RootDir=
+ </IDEOPTIONS>
+</PROJECT>
diff --git a/examples/cmdline/bcppmake/verserangeparse.bpf b/examples/cmdline/bcppmake/verserangeparse.bpf
new file mode 100644
index 0000000..6e2bc5a
--- /dev/null
+++ b/examples/cmdline/bcppmake/verserangeparse.bpf
@@ -0,0 +1,11 @@
+USEUNIT("..\verserangeparse.cpp");
+USELIB("..\..\..\..\icu-sword\as_is\borland\icuin.lib");
+USELIB("..\..\..\..\icu-sword\as_is\borland\icudatab.lib");
+USELIB("..\..\..\..\icu-sword\as_is\borland\icuuc.lib");
+USELIB("..\..\..\lib\libsword.lib");
+USELIB("..\..\..\..\biblecs\clucene\clucene.lib");
+//---------------------------------------------------------------------------
+This file is used by the project manager only and should be treated like the project file
+
+
+main \ No newline at end of file
diff --git a/examples/cmdline/bcppmake/verserangeparse.bpr b/examples/cmdline/bcppmake/verserangeparse.bpr
new file mode 100644
index 0000000..89de5ae
--- /dev/null
+++ b/examples/cmdline/bcppmake/verserangeparse.bpr
@@ -0,0 +1,96 @@
+<?xml version='1.0' encoding='utf-8' ?>
+<!-- C++Builder XML Project -->
+<PROJECT>
+ <MACROS>
+ <VERSION value="BCB.05.03"/>
+ <PROJECT value="verserangeparse.exe"/>
+ <OBJFILES value="..\verserangeparse.obj"/>
+ <RESFILES value=""/>
+ <IDLFILES value=""/>
+ <IDLGENFILES value=""/>
+ <DEFFILE value=""/>
+ <RESDEPEN value="$(RESFILES)"/>
+ <LIBFILES value="..\..\..\..\icu-sword\as_is\borland\icuin.lib
+ ..\..\..\..\icu-sword\as_is\borland\icudatab.lib
+ ..\..\..\..\icu-sword\as_is\borland\icuuc.lib ..\..\..\lib\libsword.lib
+ ..\..\..\..\biblecs\clucene\clucene.lib"/>
+ <LIBRARIES value=""/>
+ <SPARELIBS value=""/>
+ <PACKAGES value="VCL50.bpi VCLX50.bpi bcbsmp50.bpi QRPT50.bpi VCLDB50.bpi VCLBDE50.bpi
+ ibsmp50.bpi VCLDBX50.bpi TEEUI50.bpi TEEDB50.bpi TEE50.bpi TEEQR50.bpi
+ VCLIB50.bpi bcbie50.bpi VCLIE50.bpi INETDB50.bpi INET50.bpi NMFAST50.bpi
+ dclocx50.bpi bcb2kaxserver50.bpi"/>
+ <PATHCPP value=".;.."/>
+ <PATHPAS value=".;"/>
+ <PATHRC value=".;"/>
+ <PATHASM value=".;"/>
+ <DEBUGLIBPATH value="$(BCB)\lib\debug"/>
+ <RELEASELIBPATH value="$(BCB)\lib\release"/>
+ <LINKER value="tlink32"/>
+ <USERDEFINES value="_ICU_;_ICUSWORD_;USBINARY;U_HAVE_PLACEMENT_NEW=0;USELUCENE;_CL_DISABLE_MULTITHREADING"/>
+ <SYSDEFINES value="NO_STRICT;_NO_VCL"/>
+ <MAINSOURCE value="verserangeparse.bpf"/>
+ <INCLUDEPATH value="..\;..\..\..\include;$(BCB)\include;$(BCB)\include\vcl;..\..\..\..\icu-sword\source\common;..\..\..\..\icu-sword\source\i18n"/>
+ <LIBPATH value="..\;..\..\..\lib;$(BCB)\lib\obj;$(BCB)\lib"/>
+ <WARNINGS value="-w-par"/>
+ </MACROS>
+ <OPTIONS>
+ <IDLCFLAGS value="-I..\. -I.. -I..\..\..\..\include -I$(BCB)\include -I$(BCB)\include\vcl
+ -I..\..\..\..\icu-sword\source\common -I..\..\..\..\icu-sword\source\i18n
+ -src_suffix cpp -D_ICU_ -D_ICUSWORD_ -DUSBINARY -DU_HAVE_PLACEMENT_NEW=0
+ -DUSELUCENE -D_CL_DISABLE_MULTITHREADING -boa"/>
+ <CFLAG1 value="-O2 -H=$(BCB)\lib\vcl50.csm -Hc -Vx -Ve -X- -a8 -6 -b- -k- -vi -tWC -tWM -c"/>
+ <PFLAGS value="-$Y- -$L- -$D- -v -JPHNE -M"/>
+ <RFLAGS value=""/>
+ <AFLAGS value="/mx /w2 /zn"/>
+ <LFLAGS value="-D&quot;&quot; -ap -Tpe -x -Gn"/>
+ </OPTIONS>
+ <LINKER>
+ <ALLOBJ value="c0x32.obj $(OBJFILES)"/>
+ <ALLRES value="$(RESFILES)"/>
+ <ALLLIB value="$(LIBFILES) $(LIBRARIES) import32.lib cw32mt.lib"/>
+ </LINKER>
+ <IDEOPTIONS>
+[Version Info]
+IncludeVerInfo=0
+AutoIncBuild=0
+MajorVer=1
+MinorVer=0
+Release=0
+Build=0
+Debug=0
+PreRelease=0
+Special=0
+Private=0
+DLL=0
+Locale=1033
+CodePage=1252
+
+[Version Info Keys]
+CompanyName=
+FileDescription=
+FileVersion=1.0.0.0
+InternalName=
+LegalCopyright=
+LegalTrademarks=
+OriginalFilename=
+ProductName=
+ProductVersion=1.0.0.0
+Comments=
+
+[Debugging]
+DebugSourceDirs=$(BCB)\source\vcl
+
+[Parameters]
+RunParams=./nasb nasb.xml
+HostApplication=
+RemoteHost=
+RemotePath=
+RemoteDebug=0
+
+[Language]
+ActiveLang=
+ProjectLang=
+RootDir=
+ </IDEOPTIONS>
+</PROJECT>
diff --git a/examples/cmdline/listoptions.cpp b/examples/cmdline/listoptions.cpp
index 580695b..721e8ea 100644
--- a/examples/cmdline/listoptions.cpp
+++ b/examples/cmdline/listoptions.cpp
@@ -1,3 +1,24 @@
+/******************************************************************************
+ * Simple example to show how to see which options are available from the
+ * installed set of modules and their possible settings.
+ *
+ * $Id: swmgr.h 2321 2009-04-13 01:17:00Z scribe $
+ *
+ * Copyright 1998-2009 CrossWire Bible Society (http://www.crosswire.org)
+ * CrossWire Bible Society
+ * P. O. Box 2528
+ * Tempe, AZ 85280-2528
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation version 2.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ */
#include <iostream>
#include <swmgr.h>
diff --git a/examples/cmdline/lookup.cpp b/examples/cmdline/lookup.cpp
index 481961b..1a96010 100644
--- a/examples/cmdline/lookup.cpp
+++ b/examples/cmdline/lookup.cpp
@@ -1,3 +1,24 @@
+/******************************************************************************
+ * Simple example of how to retrieve an entry from a SWORD module
+ *
+ * $Id: lookup.cpp 2327 2009-04-22 11:42:33Z scribe $
+ *
+ * Copyright 1998-2009 CrossWire Bible Society (http://www.crosswire.org)
+ * CrossWire Bible Society
+ * P. O. Box 2528
+ * Tempe, AZ 85280-2528
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation version 2.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ */
+
#include <stdio.h>
#include <iostream>
#include <stdlib.h>
@@ -10,6 +31,7 @@ using sword::MarkupFilterMgr;
using sword::SWModule;
using sword::FMT_WEBIF;
using sword::FMT_HTMLHREF;
+using sword::FMT_RTF;
using sword::ModMap;
using sword::AttributeTypeList;
using sword::AttributeList;
diff --git a/examples/cmdline/outplain.cpp b/examples/cmdline/outplain.cpp
new file mode 100644
index 0000000..f95be88
--- /dev/null
+++ b/examples/cmdline/outplain.cpp
@@ -0,0 +1,77 @@
+/******************************************************************************
+ * This example show how to output the plain text entries from a SWORD module.
+ * This is also good for speed tests
+ *
+ * Class SWMgr manages installed modules for a frontend.
+ * SWMgr reads a mods.conf file to discover its information.
+ * It then instantiates the correct decendent of SWModule for each
+ * module entry in mods.conf
+ * The developer may use this class to query what modules are installed
+ * and to retrieve an (SWModule *) for any one of these modules
+ *
+ * SWMgr makes its modules available as an STL Map.
+ * The Map definition is typedef'ed as ModMap
+ * ModMap consists of: FIRST : SWBuf moduleName
+ * SECOND: SWModule *module
+ *
+ * $Id: swmgr.h 2321 2009-04-13 01:17:00Z scribe $
+ *
+ * Copyright 1998-2009 CrossWire Bible Society (http://www.crosswire.org)
+ * CrossWire Bible Society
+ * P. O. Box 2528
+ * Tempe, AZ 85280-2528
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation version 2.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ */
+
+/******************************************************************************
+ * Class SWMgr manages installed modules for a frontend.
+ * SWMgr reads a mods.conf file to discover its information.
+ * It then instantiates the correct decendent of SWModule for each
+ * module entry in mods.conf
+ * The developer may use this class to query what modules are installed
+ * and to retrieve an (SWModule *) for any one of these modules
+ *
+ * SWMgr makes its modules available as an STL Map.
+ * The Map definition is typedef'ed as ModMap
+ * ModMap consists of: FIRST : SWBuf moduleName
+ * SECOND: SWModule *module
+ *
+ */
+
+#include <iostream>
+
+#include <swmgr.h>
+#include <swmodule.h>
+#include <versekey.h>
+#include <markupfiltmgr.h>
+
+using namespace sword;
+using namespace std;
+
+int main(int argc, char **argv) {
+ SWMgr manager(new MarkupFilterMgr(sword::FMT_HTMLHREF, sword::ENC_UTF16));
+
+ const char *bookName = (argc > 1) ? argv[1] : "WLC";
+ SWModule *b = manager.getModule(bookName);
+ if (!b) return -1;
+ SWModule &book = *b;
+ book.processEntryAttributes(false);
+ VerseKey *vk = SWDYNAMIC_CAST(VerseKey, book.getKey());
+ for (book = TOP; !book.Error() && !book.getRawEntryBuf().size(); book++);
+ if (!book.getRawEntryBuf().size()) return -2; // empty module
+ for (;!book.Error(); book++) {
+ cout << "$$$";
+ if (vk) cout << vk->getOSISRef();
+ else cout << book.getKeyText();
+ cout << "\n" << book.StripText() << "\n\n";
+ }
+}
diff --git a/examples/cmdline/outrender.cpp b/examples/cmdline/outrender.cpp
new file mode 100644
index 0000000..99cc39e
--- /dev/null
+++ b/examples/cmdline/outrender.cpp
@@ -0,0 +1,62 @@
+/******************************************************************************
+ * This example show how to choose an output render markup and render
+ * entries from a SWORD module.
+ *
+ * Class SWMgr manages installed modules for a frontend.
+ * SWMgr reads a mods.conf file to discover its information.
+ * It then instantiates the correct decendent of SWModule for each
+ * module entry in mods.conf
+ * The developer may use this class to query what modules are installed
+ * and to retrieve an (SWModule *) for any one of these modules
+ *
+ * SWMgr makes its modules available as an STL Map.
+ * The Map definition is typedef'ed as ModMap
+ * ModMap consists of: FIRST : SWBuf moduleName
+ * SECOND: SWModule *module
+ *
+ * $Id: swmgr.h 2321 2009-04-13 01:17:00Z scribe $
+ *
+ * Copyright 1998-2009 CrossWire Bible Society (http://www.crosswire.org)
+ * CrossWire Bible Society
+ * P. O. Box 2528
+ * Tempe, AZ 85280-2528
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation version 2.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ */
+
+#include <iostream>
+
+#include <swmgr.h>
+#include <swmodule.h>
+#include <versekey.h>
+#include <markupfiltmgr.h>
+
+using namespace sword;
+using namespace std;
+
+int main(int argc, char **argv) {
+ SWMgr manager(new MarkupFilterMgr(sword::FMT_HTMLHREF, sword::ENC_UTF16));
+
+ const char *bookName = (argc > 1) ? argv[1] : "WLC";
+ SWModule *b = manager.getModule(bookName);
+ if (!b) return -1;
+ SWModule &book = *b;
+ book.processEntryAttributes(false);
+ VerseKey *vk = SWDYNAMIC_CAST(VerseKey, book.getKey());
+ for (book = TOP; !book.Error() && !book.getRawEntryBuf().size(); book++);
+ if (!book.getRawEntryBuf().size()) return -2; // empty module
+ for (;!book.Error(); book++) {
+ cout << "$$$";
+ if (vk) cout << vk->getOSISRef();
+ else cout << book.getKeyText();
+ cout << "\n" << book.RenderText() << "\n\n";
+ }
+}
diff --git a/examples/cmdline/search.cpp b/examples/cmdline/search.cpp
index 31a9ad9..c696233 100644
--- a/examples/cmdline/search.cpp
+++ b/examples/cmdline/search.cpp
@@ -1,3 +1,24 @@
+/******************************************************************************
+ * This simple example shows how to perform a search on a SWORD module
+ *
+ * $Id: search.cpp 2327 2009-04-22 11:42:33Z scribe $
+ *
+ * Copyright 1998-2009 CrossWire Bible Society (http://www.crosswire.org)
+ * CrossWire Bible Society
+ * P. O. Box 2528
+ * Tempe, AZ 85280-2528
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation version 2.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ */
+
#include <stdio.h>
#include <rawtext.h>
#include <swmgr.h>
@@ -42,7 +63,6 @@ int main(int argc, char **argv)
SWModule *target;
ListKey listkey;
ListKey scope;
- VerseKey parser;
ModMap::iterator it;
if ((argc < 3) || (argc > 5)) {
@@ -70,14 +90,18 @@ int main(int argc, char **argv)
target = (*it).second;
if (argc > 3) { // if min / max specified
- scope = parser.ParseVerseList(argv[3], parser, true);
+ SWKey *k = target->getKey();
+ VerseKey *parser = SWDYNAMIC_CAST(VerseKey, k);
+ VerseKey kjvParser;
+ if (!parser) parser = &kjvParser; // use standard KJV parsing as fallback
+ scope = parser->ParseVerseList(argv[3], *parser, true);
scope.Persist(1);
target->setKey(scope);
}
std::cerr << "[0=================================50===============================100]\n ";
char lineLen = 70;
- listkey = target->Search(searchTerm.c_str(), SEARCH_TYPE, /*SEARCHFLAG_MATCHWHOLEENTRY*/ REG_ICASE, 0, 0, &percentUpdate, &lineLen);
+ listkey = target->search(searchTerm.c_str(), SEARCH_TYPE, /*SEARCHFLAG_MATCHWHOLEENTRY*/ REG_ICASE, 0, 0, &percentUpdate, &lineLen);
std::cerr << std::endl;
if (argc > 4) { // if min / max specified
scope = listkey;
@@ -85,7 +109,7 @@ int main(int argc, char **argv)
target->setKey(scope);
printed = 0;
std::cerr << " ";
- listkey = target->Search(argv[4], SEARCH_TYPE, /*SEARCHFLAG_MATCHWHOLEENTRY*/ REG_ICASE, 0, 0, &percentUpdate, &lineLen);
+ listkey = target->search(argv[4], SEARCH_TYPE, /*SEARCHFLAG_MATCHWHOLEENTRY*/ REG_ICASE, 0, 0, &percentUpdate, &lineLen);
std::cerr << std::endl;
}
listkey.sort();
diff --git a/examples/cmdline/threaded_search.cpp b/examples/cmdline/threaded_search.cpp
index ce322a4..cf454a3 100755
--- a/examples/cmdline/threaded_search.cpp
+++ b/examples/cmdline/threaded_search.cpp
@@ -1,3 +1,23 @@
+/******************************************************************************
+ * This example shows how to do a thread search
+ *
+ * $Id: threaded_search.cpp 2327 2009-04-22 11:42:33Z scribe $
+ *
+ * Copyright 1998-2009 CrossWire Bible Society (http://www.crosswire.org)
+ * CrossWire Bible Society
+ * P. O. Box 2528
+ * Tempe, AZ 85280-2528
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation version 2.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ */
#include <stdio.h>
#include <rawtext.h>
#include <swmgr.h>
diff --git a/examples/cmdline/verserangeparse.cpp b/examples/cmdline/verserangeparse.cpp
index 544a7b0..aa8cf71 100644
--- a/examples/cmdline/verserangeparse.cpp
+++ b/examples/cmdline/verserangeparse.cpp
@@ -2,6 +2,23 @@
* This example shows:
* How to parse a verse reference
* How to persist a custom range key in a book
+ *
+ * $Id: swmgr.h 2321 2009-04-13 01:17:00Z scribe $
+ *
+ * Copyright 1998-2009 CrossWire Bible Society (http://www.crosswire.org)
+ * CrossWire Bible Society
+ * P. O. Box 2528
+ * Tempe, AZ 85280-2528
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation version 2.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
*/
#include <iostream>
diff --git a/examples/simple.cpp b/examples/simple.cpp
index 33a6f22..e28d404 100644
--- a/examples/simple.cpp
+++ b/examples/simple.cpp
@@ -14,6 +14,22 @@
*
* SWMgr library(0, 0, true, new MarkupFilterMgr(FMT_HTMLHREF));
*
+ * $Id: swmgr.h 2321 2009-04-13 01:17:00Z scribe $
+ *
+ * Copyright 1998-2009 CrossWire Bible Society (http://www.crosswire.org)
+ * CrossWire Bible Society
+ * P. O. Box 2528
+ * Tempe, AZ 85280-2528
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation version 2.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
*/
#include <swmgr.h>
diff --git a/icu/.cvsignore b/icu/.cvsignore
deleted file mode 100644
index 7597b03..0000000
--- a/icu/.cvsignore
+++ /dev/null
@@ -1,3 +0,0 @@
-Makefile
-Makefile.in
-*.res \ No newline at end of file
diff --git a/icu/Makefile.in b/icu/Makefile.in
index 70776a4..3bfbfd4 100644
--- a/icu/Makefile.in
+++ b/icu/Makefile.in
@@ -1,8 +1,8 @@
-# Makefile.in generated by automake 1.10 from Makefile.am.
+# Makefile.in generated by automake 1.10.2 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -37,7 +37,10 @@ subdir = icu
DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/m4/acx_clucene.m4 \
- $(top_srcdir)/m4/cppunit.m4 $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/cppunit.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(install_sh) -d
@@ -85,14 +88,14 @@ CYGPATH_W = @CYGPATH_W@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
DLLTOOL = @DLLTOOL@
-ECHO = @ECHO@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
-F77 = @F77@
-FFLAGS = @FFLAGS@
+FGREP = @FGREP@
GENCCODE = @GENCCODE@
GENCMN = @GENCMN@
GENRB = @GENRB@
@@ -106,17 +109,23 @@ INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LD = @LD@
LDFLAGS = @LDFLAGS@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
+LIPO = @LIPO@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MKDIR_P = @MKDIR_P@
+NM = @NM@
+NMEDIT = @NMEDIT@
OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
@@ -139,7 +148,7 @@ abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
-ac_ct_F77 = @ac_ct_F77@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
@@ -173,6 +182,7 @@ libdir = @libdir@
libexecdir = @libexecdir@
localedir = @localedir@
localstatedir = @localstatedir@
+lt_ECHO = @lt_ECHO@
mandir = @mandir@
mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@
@@ -191,6 +201,7 @@ target_mingw32 = @target_mingw32@
target_os = @target_os@
target_system = @target_system@
target_vendor = @target_vendor@
+top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
with_conf = @with_conf@
@@ -243,8 +254,8 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__confi
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
- && exit 0; \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
exit 1;; \
esac; \
done; \
diff --git a/include/.cvsignore b/include/.cvsignore
deleted file mode 100644
index 9a4764a..0000000
--- a/include/.cvsignore
+++ /dev/null
@@ -1,2 +0,0 @@
-config.h.in
-stamp-h1
diff --git a/include/Makefile.am b/include/Makefile.am
index 62866cb..7145e63 100644
--- a/include/Makefile.am
+++ b/include/Makefile.am
@@ -3,14 +3,17 @@ swincludedir = $(top_srcdir)/include
pkginclude_HEADERS = $(swincludedir)/Greek2Greek.h
pkginclude_HEADERS += $(swincludedir)/GreekChars.h
pkginclude_HEADERS += $(swincludedir)/canon.h
+pkginclude_HEADERS += $(swincludedir)/canon_abbrevs.h
pkginclude_HEADERS += $(swincludedir)/cipherfil.h
pkginclude_HEADERS += $(swincludedir)/curlftpt.h
+pkginclude_HEADERS += $(swincludedir)/curlhttpt.h
pkginclude_HEADERS += $(swincludedir)/defs.h
pkginclude_HEADERS += $(swincludedir)/echomod.h
pkginclude_HEADERS += $(swincludedir)/encfiltmgr.h
pkginclude_HEADERS += $(swincludedir)/entriesblk.h
pkginclude_HEADERS += $(swincludedir)/femain.h
pkginclude_HEADERS += $(swincludedir)/filemgr.h
+pkginclude_HEADERS += $(swincludedir)/versemgr.h
pkginclude_HEADERS += $(swincludedir)/flatapi.h
pkginclude_HEADERS += $(swincludedir)/ftpparse.h
pkginclude_HEADERS += $(swincludedir)/ftptrans.h
@@ -77,7 +80,6 @@ pkginclude_HEADERS += $(swincludedir)/regex.h
pkginclude_HEADERS += $(swincludedir)/roman.h
pkginclude_HEADERS += $(swincludedir)/rtfhtml.h
pkginclude_HEADERS += $(swincludedir)/sapphire.h
-pkginclude_HEADERS += $(swincludedir)/scsuutf8.h
pkginclude_HEADERS += $(swincludedir)/strkey.h
pkginclude_HEADERS += $(swincludedir)/swbasicfilter.h
pkginclude_HEADERS += $(swincludedir)/swbuf.h
@@ -125,6 +127,7 @@ pkginclude_HEADERS += $(swincludedir)/thmlwordjs.h
pkginclude_HEADERS += $(swincludedir)/teiplain.h
pkginclude_HEADERS += $(swincludedir)/teirtf.h
+pkginclude_HEADERS += $(swincludedir)/teihtmlhref.h
pkginclude_HEADERS += $(swincludedir)/treekey.h
pkginclude_HEADERS += $(swincludedir)/treekeyidx.h
@@ -137,6 +140,7 @@ pkginclude_HEADERS += $(swincludedir)/utf8bidireorder.h
pkginclude_HEADERS += $(swincludedir)/utf8cantillation.h
pkginclude_HEADERS += $(swincludedir)/utf8greekaccents.h
pkginclude_HEADERS += $(swincludedir)/utf8hebrewpoints.h
+pkginclude_HEADERS += $(swincludedir)/utf8arabicpoints.h
pkginclude_HEADERS += $(swincludedir)/utf8html.h
pkginclude_HEADERS += $(swincludedir)/utf8latin1.h
pkginclude_HEADERS += $(swincludedir)/utf8nfc.h
diff --git a/include/apocrypha.h b/include/apocrypha.h
deleted file mode 100644
index 6f08bbe..0000000
--- a/include/apocrypha.h
+++ /dev/null
@@ -1,219 +0,0 @@
-/******************************************************************************
- * apocrypha.h - Apocryphal text information to be included by VerseKey.cpp
- *
- * $Id: apocrypha.h 1688 2005-01-01 04:42:26Z scribe $
- *
- * Copyright 1998 CrossWire Bible Society (http://www.crosswire.org)
- * CrossWire Bible Society
- * P. O. Box 2528
- * Tempe, AZ 85280-2528
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License as published by the
- * Free Software Foundation version 2.
- *
- * This program is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * General Public License for more details.
- *
- */
-
-/******************************************************************************
- * [a]tbooks - initialize static instance for all canonical text names
- * and chapmax
- */
-
-#include <defs.h>
-//SWORD_NAMESPACE_START
-
-//Data based on NRSVA unless otherwise noted; this book ordering is not necessarily optimal.
-
-struct sbook
-VerseKey::otbooks[] = {
- //Catholic Deuterocanon
- {"Tobit", "Tob", 14}, //67
- {"Judith", "Jdt", 16}, //68
- {"Wisdom", "Wis", 19}, //69
- {"Sirach", "Sir", 51}, //70 //51 or 52? count prologue as separate book or just chapter?
- {"Baruch", "Bar", 5}, //71 //5 or 6? (see next line)
- {"Letter of Jeremiah", "EpJer", 1}, //72 //1 or 6? EpJer is ch6 of Baruch
- {"1 Esdras", "1Esd", 9}, //73
- {"2 Esdras", "2Esd", 16}, //74
- {"1 Maccabees", "1Macc", 16}, //75
- {"2 Maccabees", "2Macc", 15}, //76
-
- //LXX
- {"3 Maccabees", "3Macc", 7}, //77
- {"4 Maccabees", "4Macc", 18}, //78
- {"Odes", "Odes", 14}, //79 //based on LXX
- {"Psalms of Solomon", "PssSol", 18}, //80 //based on LXX
-
- //Protestant Apocrypha
- {"Additions to Esther", "AddEsth", 6}, //81 //based on Charles/NRSVA //6 or F or 16? If you're Catholic, you have a 16 chapter canonical book called Esther (ie Greek Esther); if you're Protestant you have a 10 chapter canonical book called Esther (ie Hebrew Esther) plus a 6 "chapter" set of "Additions" in an apocryphal book called Additions to Esther, which are "numbered" A through F or continue from chapter 10 through 16.
- {"Prayer of Azariah", "PrAzar", 1}, //82
- {"Susanna", "Sus", 1}, //83
- {"Bel and the Dragon", "Bel", 1}, //84
- {"Prayer of Manasses", "PrMan", 1}, //85
- {"Psalm 151", "Ps151", 1}, //86
-
- //Vulgate
- {"Epistle to the Laodiceans", "EpLao", 1}, //87 //based on Vulgate
-
- //Other books may follow at a later date (e.g. Jub, 1En)
-};
-
-/******************************************************************************
- * Abbreviations - MUST be in alphabetical order & by PRIORITY
- * RULE: first match of entire key
- * (e.g. key: "1CH"; match: "1CHRONICLES")
- */
-
-const struct abbrev
- VerseKey::builtin_abbrevs[] = {
- {"1 ESDRAS", 73},
- {"1 MACCABEES", 75},
- {"1ESDRAS", 73},
- {"1MACCABEES", 75},
- {"2 ESDRAS", 74},
- {"2 MACCABEES", 76},
- {"2ESDRAS", 74},
- {"2MACCABEES", 76},
- {"3 MACCABEES", 77},
- {"3MACCABEES", 77},
- {"4 MACCABEES", 78},
- {"4MACCABEES", 78},
- {"ADDESTHER", 81},
- {"ADDITIONS TO ESTHER", 81},
- {"BARUCH", 71},
- {"BEL AND THE DRAGON", 84},
- {"BEN SIRACH", 70},
- {"ECCLESIASTICUS", 70},
- {"EPISTLE OF JEREMIAH", 72},
- {"EPISTLE TO THE LAODICEANS", 87},
- {"EPJER", 72},
- {"EPLAO", 87},
- {"I ESDRAS", 73},
- {"I MACCABEES", 75},
- {"IESDRAS", 73},
- {"II ESDRAS", 74},
- {"II MACCABEES", 76},
- {"IIESDRAS", 74},
- {"III MACCABEES", 77},
- {"IIII MACCABEES", 78},
- {"IIIIMACCABEES", 78},
- {"IIIMACCABEES", 77},
- {"IIMACCABEES", 76},
- {"IMACCABEES", 75},
- {"IV MACCABEES", 78},
- {"IVMACCABEES", 78},
- {"JDT", 68},
- {"JESUS BEN SIRACH", 70},
- {"JUDITH", 68},
- {"LAODICEANS", 87},
- {"LETTER OF JEREMIAH", 72},
- {"MANASSEH", 85},
- {"MANASSES", 85},
- {"ODES", 79},
- {"PRAYER OF AZARIAH", 82},
- {"PRAYER OF MANASSEH", 85},
- {"PRAYER OF MANASSES", 85},
- {"PRAZAR", 82},
- {"PRMAN", 85},
- {"PS151", 86},
- {"PSALM151", 86},
- {"PSALMS OF SOLOMON", 80},
- {"PSSOL", 80},
- {"PSSSOL", 80},
- {"SIRACH", 70},
- {"SUSANNA", 83},
- {"TOBIT", 67},
- {"WISDOM OF JESUS BEN SIRACH", 70},
- {"WISDOM", 69},
- {"", -1}
-};
-
-
-/******************************************************************************
- * Maximum verses per chapter
- */
-
-int
-VerseKey::vm[] = {
- //Catholic Deuterocanon
- //Tobit 14 //67
- 22, 14, 17, 21, 21, 17, 18, 21, 6, 12,
- 19, 22, 18, 15,
- //Judith 16 //68
- 16, 28, 10, 15, 24, 21, 32, 36, 14, 23,
- 23, 20, 20, 19, 13, 25,
- //Wisdom 19 //69
- 16, 24, 19, 20, 23, 25, 30, 21, 18, 21,
- 26, 27, 19, 31, 19, 29, 21, 25, 22,
- //Sirach 51 //70 //Prologue has 36 vv. in LXX, 1 v. in NRSVA
- 30, 18, 31, 31, 15, 37, 36, 19, 18, 31,
- 34, 18, 26, 27, 20, 30, 32, 33, 30, 32,
- 28, 27, 27, 34, 26, 29, 30, 26, 28, 25,
- 31, 24, 31, 26, 20, 26, 31, 34, 35, 30,
- 23, 25, 33, 23, 26, 20, 25, 25, 16, 29,
- 30,
- //Baruch 5 //71
- 21, 35, 37, 37, 9,
- //Letter of Jeremiah 1 //72
- 73,
- //1 Esdras 9 //73
- 58, 30, 24, 63, 73, 34, 15, 96, 55,
- //2 Esdras 16 //74
- 40, 48, 36, 52, 56, 59, 140, 63, 47, 59,
- 46, 51, 58, 48, 63, 78,
- //1 Maccabees 16 //75
- 64, 70, 60, 61, 68, 63, 50, 32, 73, 89,
- 74, 53, 53, 49, 41, 24,
- //2 Maccabees 15 //76
- 36, 32, 40, 50, 27, 31, 42, 36, 29, 38,
- 38, 45, 26, 46, 39,
-
- //LXX
- //3 Maccabees 7 //77
- 29, 33, 30, 21, 51, 41, 23,
- //4 Maccabees 18 //78
- 35, 24, 21, 26, 38, 35, 23, 29, 32, 21,
- 27, 19, 27, 20, 32, 25, 24, 24,
- //Odes 14 //79
- 19, 43, 10, 19, 20, 10, 45, 88, 79, 9,
- 20, 15, 32, 46,
- //Psalms of Solomon 18 //80
- 8, 37, 12, 25, 19, 6, 10, 34, 11, 8,
- 9, 6, 12, 10, 13, 15, 46, 12,
-
- //Protestant Apocrypha
- //Additions to Esther 6 //81
- 17, 7, 30, 16, 24, 11
- //Prayer of Azariah 1 //82
- 68,
- //Susanna 1 //83
- 64,
- //Bel and the Dragon 1 //84
- 42,
- //Prayer of Manasses 1 //85
- 15,
- //Psalm 151 1 //86
- 7,
-
- //Vulgate
- //Epistle to the Laodiceans 1 //87
- 20,
-};
-
-
-long
- VerseKey::atbks[] = {
-0, 1, 16, 33, 53, 105, 111, 113, 123, 140, 157, 173, 181, 200, 215, 234, 241, 243, 245, 247, 249, 251
-};
-
-long
- VerseKey::atcps[] = {
-0, 2, 3, 26, 41, 59, 81, 103, 121, 140, 162, 169, 183, 203, 226, 245, 262, 279, 308, 319, 335, 360, 382, 415, 452, 467, 492, 516, 537, 558, 578, 592, 619, 636, 661, 681, 702, 726, 752, 783, 805, 824, 847, 874, 902, 922, 954, 974, 1004, 1026, 1052, 1076, 1107, 1126, 1158, 1190, 1206, 1244, 1281, 1301, 1320, 1353, 1388, 1407, 1434, 1462, 1483, 1514, 1547, 1581, 1612, 1646, 1675, 1703, 1731, 1766, 1793, 1823, 1854, 1881, 1910, 1937, 1969, 1994, 2026, 2053, 2074, 2101, 2133, 2168, 2204, 2236, 2260, 2286, 2320, 2344, 2371, 2392, 2418, 2444, 2461, 2492, 2524, 2546, 2582, 2620, 2658, 2669, 2744, 2803, 2834, 2859, 2923, 2997, 3032, 3048, 3145, 3202, 3243, 3292, 3329, 3382, 3439, 3499, 3640, 3704, 3752, 3813, 3860, 3912, 3971, 4020, 4084, 4164, 4229, 4300, 4361, 4423, 4492, 4556, 4607, 4640, 4714, 4805, 4880, 4934, 4988, 5038, 5080, 5106, 5143, 5176, 5217, 5268, 5296, 5328, 5371, 5408, 5438, 5478, 5517, 5563, 5590, 5637, 5678, 5708, 5742, 5773, 5795, 5847, 5889, 5914, 5950, 5975, 5997, 6024, 6063, 6099, 6123, 6153, 6186, 6209, 6237, 6257, 6285, 6306, 6339, 6365, 6390, 6416, 6436, 6480, 6491, 6511, 6532, 6543, 6589, 6678, 6758, 6769, 6790, 6806, 6839, 6887, 6896, 6934, 6947, 6973, 6993, 7000, 7011, 7046, 7058, 7068, 7078, 7085, 7098, 7109, 7123, 7139, 7186, 7200, 7270, 7336, 7380, 7397, 7406
-};
-
-//SWORD_NAMESPACE_END
diff --git a/include/canon.h b/include/canon.h
index a17f86a..95222c4 100644
--- a/include/canon.h
+++ b/include/canon.h
@@ -1,9 +1,9 @@
/******************************************************************************
* canon.h - Canonical text information to be included by VerseKey.cpp
*
- * $Id: canon.h 1864 2005-11-20 06:06:40Z scribe $
+ * $Id: canon.h 2365 2009-04-29 19:30:06Z chrislit $
*
- * Copyright 1998-2005 CrossWire Bible Society (http://www.crosswire.org)
+ * Copyright 1998-2009 CrossWire Bible Society (http://www.crosswire.org)
* CrossWire Bible Society
* P. O. Box 2528
* Tempe, AZ 85280-2528
@@ -19,294 +19,96 @@
*
*/
-/******************************************************************************
- * [on]tbooks - initialize static instance for all canonical text names
- * and chapmax
- */
+#ifndef CANON_H
+#define CANON_H
-struct sbook
- VerseKey::otbooks[] = {
- {"Genesis", "Gen", 50},
- {"Exodus", "Exod", 40},
- {"Leviticus", "Lev", 27},
- {"Numbers", "Num", 36},
- {"Deuteronomy", "Deut", 34},
- {"Joshua", "Josh", 24},
- {"Judges", "Judg", 21},
- {"Ruth", "Ruth", 4},
- {"I Samuel", "1Sam", 31},
- {"II Samuel", "2Sam", 24},
- {"I Kings", "1Kgs", 22},
- {"II Kings", "2Kgs", 25},
- {"I Chronicles", "1Chr", 29},
- {"II Chronicles", "2Chr", 36},
- {"Ezra", "Ezra", 10},
- {"Nehemiah", "Neh", 13},
- {"Esther", "Esth", 10},
- {"Job", "Job", 42},
- {"Psalms", "Ps", 150},
- {"Proverbs", "Prov", 31},
- {"Ecclesiastes", "Eccl", 12},
- {"Song of Solomon", "Song", 8},
- {"Isaiah", "Isa", 66},
- {"Jeremiah", "Jer", 52},
- {"Lamentations", "Lam", 5},
- {"Ezekiel", "Ezek", 48},
- {"Daniel", "Dan", 12},
- {"Hosea", "Hos", 14},
- {"Joel", "Joel", 3},
- {"Amos", "Amos", 9},
- {"Obadiah", "Obad", 1},
- {"Jonah", "Jonah", 4},
- {"Micah", "Mic", 7},
- {"Nahum", "Nah", 3},
- {"Habakkuk", "Hab", 3},
- {"Zephaniah", "Zeph", 3},
- {"Haggai", "Hag", 2},
- {"Zechariah", "Zech", 14},
- {"Malachi", "Mal", 4}
-};
+#include <canon_abbrevs.h>
-struct sbook
- VerseKey::ntbooks[] = {
- {"Matthew", "Matt", 28},
- {"Mark", "Mark", 16},
- {"Luke", "Luke", 24},
- {"John", "John", 21},
- {"Acts", "Acts", 28},
- {"Romans", "Rom", 16},
- {"I Corinthians", "1Cor", 16},
- {"II Corinthians", "2Cor", 13},
- {"Galatians", "Gal", 6},
- {"Ephesians", "Eph", 6},
- {"Philippians", "Phil", 4},
- {"Colossians", "Col", 4},
- {"I Thessalonians", "1Thess", 5},
- {"II Thessalonians", "2Thess", 3},
- {"I Timothy", "1Tim", 6},
- {"II Timothy", "2Tim", 4},
- {"Titus", "Titus", 3},
- {"Philemon", "Phlm", 1},
- {"Hebrews", "Heb", 13},
- {"James", "Jas", 5},
- {"I Peter", "1Pet", 5},
- {"II Peter", "2Pet", 3},
- {"I John", "1John", 5},
- {"II John", "2John", 1},
- {"III John", "3John", 1},
- {"Jude", "Jude", 1},
- {"Revelation of John", "Rev", 22}
-};
+SWORD_NAMESPACE_START
/******************************************************************************
- * Abbreviations - MUST be in alphabetical order & by PRIORITY
- * RULE: first match of entire key
- * (e.g. key: "1CH"; match: "1CHRONICLES")
+ * [on]tbooks - initialize static instance for all canonical text names
+ * and chapmax
*/
-
-const struct abbrev
- VerseKey::builtin_abbrevs[] = {
- {"1 C", 46}, // 1 Corinthians
- {"1 CHRONICLES", 13}, // 1 Chronicles
- {"1 CORINTHIANS", 46}, // 1 Corinthians
- {"1 JN", 62}, // 1 John
- {"1 JOHN", 62}, // 1 John
- {"1 KGS", 11}, // 1 Kings
- {"1 KINGS", 11}, // 1 Kings
- {"1 PETER", 60}, // 1 Peter
- {"1 PTR", 60}, // 1 Peter
- {"1 SAMUEL", 9}, // 1 Samuel
- {"1 THESSALONIANS", 52}, // 1 Thessalonians
- {"1 TIMOTHY", 54}, // 1 Timothy
- {"1C", 46}, // 1 Corinthians
- {"1CHRONICLES", 13}, // 1 Chronicles
- {"1CORINTHIANS", 46}, // 1 Corinthians
- {"1JN", 62}, // 1 John
- {"1JOHN", 62}, // 1 John
- {"1KGS", 11}, // 1 Kings
- {"1KINGS", 11}, // 1 Kings
- {"1PETER", 60}, // 1 Peter
- {"1PTR", 60}, // 1 Peter
- {"1SAMUEL", 9}, // 1 Samuel
- {"1THESSALONIANS", 52}, // 1 Thessalonians
- {"1TIMOTHY", 54}, // 1 Timothy
- {"2 C", 47}, // 2 Corinthians
- {"2 CHRONICLES", 14}, // 2 Chronicles
- {"2 CORINTHIANS", 47}, // 2 Corinthians
- {"2 JN", 63}, // 2 John
- {"2 JOHN", 63}, // 2 John
- {"2 KGS", 12}, // 2 Kings
- {"2 KINGS", 12}, // 2 Kings
- {"2 PETER", 61}, // 2 Peter
- {"2 PTR", 61}, // 2 Peter
- {"2 SAMUEL", 10}, // 2 Samuel
- {"2 THESSALONIANS", 53}, // 2 Thessalonians
- {"2 TIMOTHY", 55}, // 2 Timothy
- {"2C", 47}, // 2 Corinthians
- {"2CHRONICLES", 14}, // 2 Chronicles
- {"2CORINTHIANS", 47}, // 2 Corinthians
- {"2JN", 63}, // 2 John
- {"2JOHN", 63}, // 2 John
- {"2KGS", 12}, // 2 Kings
- {"2KINGS", 12}, // 2 Kings
- {"2PETER", 61}, // 2 Peter
- {"2PTR", 61}, // 2 Peter
- {"2SAMUEL", 10}, // 2 Samuel
- {"2THESSALONIANS", 53}, // 2 Thessalonians
- {"2TIMOTHY", 55}, // 2 Timothy
- {"3 JN", 64}, // 3 John
- {"3 JOHN", 64}, // 3 John
- {"3JN", 64}, // 3 John
- {"3JOHN", 64}, // 3 John
- {"ACTS", 44}, // Acts
- {"AMOS", 30}, // Amos
- {"APOCALYPSE OF ST. JOHN", 66}, // Apocalypse of St. John (Rev.)
- {"C", 51}, // Colossians
- {"CANTICLE OF CANTICLES", 22}, // Canticle of Canticles (Song of S.)
- {"COLOSSIANS", 51}, // Colossians
- {"D", 5}, // Deuteronomy
- {"DANIEL", 27}, // Daniel
- {"DEUTERONOMY", 5}, // Deuteronomy
- {"E", 49}, // Ephesians
- {"ECCLESIASTES", 21}, // Ecclesiastes
- {"EPHESIANS", 49}, // Ephesians
- {"ESTER", 17}, // Esther
- {"ESTHER", 17}, // Esther
- {"EXODUS", 2}, // Exodus
- {"EZEKIEL", 26}, // Ezekiel
- {"EZK", 26}, // Ezekiel
- {"EZRA", 15}, // Ezra
- {"G", 1}, // Genesis
- {"GALATIANS", 48}, // Galatians
- {"GENESIS", 1}, // Genesis
- {"H", 58}, // Hebrews
- {"HABAKKUK", 35}, // Habakkuk
- {"HAGGAI", 37}, // Haggai
- {"HEBREWS", 58}, // Hebrews
- {"HOSEA", 28}, // Hosea
- {"I C", 46}, // 1 Corinthians
- {"I CHRONICLES", 13}, // 1 Chronicles
- {"I CORINTHIANS", 46}, // 1 Corinthians
- {"I JN", 62}, // 1 John
- {"I JOHN", 62}, // 1 John
- {"I KGS", 11}, // 1 Kings
- {"I KINGS", 11}, // 1 Kings
- {"I PETER", 60}, // 1 Peter
- {"I PTR", 60}, // 1 Peter
- {"I SAMUEL", 9}, // 1 Samuel
- {"I THESSALONIANS", 52}, // 1 Thessalonians
- {"I TIMOTHY", 54}, // 1 Timothy
- {"IC", 46}, // 1 Corinthians
- {"ICHRONICLES", 13}, // 1 Chronicles
- {"ICORINTHIANS", 46}, // 1 Corinthians
- {"II C", 47}, // 2 Corinthians
- {"II CHRONICLES", 14}, // 2 Chronicles
- {"II CORINTHIANS", 47}, // 2 Corinthians
- {"II JN", 63}, // 2 John
- {"II JOHN", 63}, // 2 John
- {"II KGS", 12}, // 2 Kings
- {"II KINGS", 12}, // 2 Kings
- {"II PETER", 61}, // 2 Peter
- {"II PTR", 61}, // 2 Peter
- {"II SAMUEL", 10}, // 2 Samuel
- {"II THESSALONIANS", 53}, // 2 Thessalonians
- {"II TIMOTHY", 55}, // 2 Timothy
- {"IIC", 47}, // 2 Corinthians
- {"IICHRONICLES", 14}, // 2 Chronicles
- {"IICORINTHIANS", 47}, // 2 Corinthians
- {"III JN", 64}, // 3 John
- {"III JOHN", 64}, // 3 John
- {"IIIJN", 64}, // 3 John
- {"IIIJOHN", 64}, // 3 John
- {"IIJN", 63}, // 2 John
- {"IIJOHN", 63}, // 2 John
- {"IIKGS", 12}, // 2 Kings
- {"IIKINGS", 12}, // 2 Kings
- {"IIPETER", 61}, // 2 Peter
- {"IIPTR", 61}, // 2 Peter
- {"IISAMUEL", 10}, // 2 Samuel
- {"IITHESSALONIANS", 53}, // 2 Thessalonians
- {"IITIMOTHY", 55}, // 2 Timothy
- {"IJN", 62}, // 1 John
- {"IJOHN", 62}, // 1 John
- {"IKGS", 11}, // 1 Kings
- {"IKINGS", 11}, // 1 Kings
- {"IPETER", 60}, // 1 Peter
- {"IPTR", 60}, // 1 Peter
- {"ISA", 23}, // Isaiah
- {"ISAIAH", 23}, // Isaiah
- {"ISAMUEL", 9}, // 1 Samuel
- {"ITHESSALONIANS", 52}, // 1 Thessalonians
- {"ITIMOTHY", 54}, // 1 Timothy
- {"J", 43}, // John
- {"JAMES", 59}, // James
- {"JAS", 59}, // James
- {"JDGS", 7}, // Judges
- {"JEREMIAH", 24}, // Jeremiah
- {"JHN", 43}, // John
- {"JN", 43}, // John
- {"JO", 43}, // John
- {"JOB", 18}, // Job
- {"JOEL", 29}, // Joel
- {"JOHN", 43}, // John
- {"JOL", 29}, // Joel
- {"JONAH", 32}, // Jonah
- {"JOSHUA", 6}, // Joshua
- {"JUDE", 65}, // Jude
- {"JUDGES", 7}, // Judges
- {"L", 42}, // Luke
- {"LAMENTATIONS", 25}, // Lamentations
- {"LEVITICUS", 3}, // Leviticus
- {"LK", 42}, // Luke
- {"LUKE", 42}, // Luke
- {"MA", 40}, // Matthew
- {"MALACHI", 39}, // Malachi
- {"MARK", 41}, // Mark
- {"MATTHEW", 40}, // Matthew
- {"MICAH", 33}, // Micah
- {"MK", 41}, // Mark
- {"MRK", 41}, // Mark
- {"MT", 40}, // Matthew
- {"N", 4}, // Numbers
- {"NAHUM", 34}, // Nahum
- {"NAM", 34}, // Nahum
- {"NEHEMIAH", 16}, // Nehemiah
- {"NUMBERS", 4}, // Numbers
- {"OBADIAH", 31}, // Obadiah
- {"P", 19}, // Psalms
- {"PHIL", 50}, // Philippians
- {"PHILEMON", 57}, // Philemon
- {"PHILIPPIANS", 50}, // Philippians
- {"PHLM", 57}, // Philemon
- {"PHM", 57}, // Philemon
- {"PHP", 50}, // Philippians
- {"PROVERBS", 20}, // Proverbs
- {"PSALMS", 19}, // Psalms
- {"PSM", 19}, // Psalms
- {"PSS", 19}, // Psalms
- {"QOHELETH", 21}, // Qohelet (Ecclesiastes)
- {"REVELATION OF JOHN", 66}, // Revelation
- {"ROMANS", 45}, // Romans
- {"RUTH", 8}, // Ruth
- {"SNG", 22}, // Song of Solomon
- {"SOLOMON", 22}, // Song of Solomon
- {"SONG OF SOLOMON", 22}, // Song of Solomon
- {"SONG OF SONGS", 22}, // Song of Solomon
- {"SOS", 22}, // Song of Solomon
- {"TITUS", 56}, // Titus
- {"ZECHARIAH", 38}, // Zechariah
- {"ZEPHANIAH", 36}, // Zephaniah
- {"", -1}
+struct sbook otbooks[] = {
+ {"Genesis", "Gen", "Gen", 50},
+ {"Exodus", "Exod", "Exod", 40},
+ {"Leviticus", "Lev", "Lev", 27},
+ {"Numbers", "Num", "Num", 36},
+ {"Deuteronomy", "Deut", "Deut", 34},
+ {"Joshua", "Josh", "Josh", 24},
+ {"Judges", "Judg", "Judg", 21},
+ {"Ruth", "Ruth", "Ruth", 4},
+ {"I Samuel", "1Sam", "1Sam", 31},
+ {"II Samuel", "2Sam", "2Sam", 24},
+ {"I Kings", "1Kgs", "1Kgs", 22},
+ {"II Kings", "2Kgs", "2Kgs", 25},
+ {"I Chronicles", "1Chr", "1Chr", 29},
+ {"II Chronicles", "2Chr", "2Chr", 36},
+ {"Ezra", "Ezra", "Ezra", 10},
+ {"Nehemiah", "Neh", "Neh", 13},
+ {"Esther", "Esth", "Esth", 10},
+ {"Job", "Job", "Job", 42},
+ {"Psalms", "Ps", "Ps", 150},
+ {"Proverbs", "Prov", "Prov", 31},
+ {"Ecclesiastes", "Eccl", "Eccl", 12},
+ {"Song of Solomon", "Song", "Song", 8},
+ {"Isaiah", "Isa", "Isa", 66},
+ {"Jeremiah", "Jer", "Jer", 52},
+ {"Lamentations", "Lam", "Lam", 5},
+ {"Ezekiel", "Ezek", "Ezek", 48},
+ {"Daniel", "Dan", "Dan", 12},
+ {"Hosea", "Hos", "Hos", 14},
+ {"Joel", "Joel", "Joel", 3},
+ {"Amos", "Amos", "Amos", 9},
+ {"Obadiah", "Obad", "Obad", 1},
+ {"Jonah", "Jonah", "Jonah", 4},
+ {"Micah", "Mic", "Mic", 7},
+ {"Nahum", "Nah", "Nah", 3},
+ {"Habakkuk", "Hab", "Hab", 3},
+ {"Zephaniah", "Zeph", "Zeph", 3},
+ {"Haggai", "Hag", "Hag", 2},
+ {"Zechariah", "Zech", "Zech", 14},
+ {"Malachi", "Mal", "Mal", 4},
+ {"", "", "", 0}
+};
+struct sbook ntbooks[] = {
+ {"Matthew", "Matt", "Matt", 28},
+ {"Mark", "Mark", "Mark", 16},
+ {"Luke", "Luke", "Luke", 24},
+ {"John", "John", "John", 21},
+ {"Acts", "Acts", "Acts", 28},
+ {"Romans", "Rom", "Rom", 16},
+ {"I Corinthians", "1Cor", "1Cor", 16},
+ {"II Corinthians", "2Cor", "2Cor", 13},
+ {"Galatians", "Gal", "Gal", 6},
+ {"Ephesians", "Eph", "Eph", 6},
+ {"Philippians", "Phil", "Phil", 4},
+ {"Colossians", "Col", "Col", 4},
+ {"I Thessalonians", "1Thess", "1Thess", 5},
+ {"II Thessalonians", "2Thess", "2Thess", 3},
+ {"I Timothy", "1Tim", "1Tim", 6},
+ {"II Timothy", "2Tim", "2Tim", 4},
+ {"Titus", "Titus", "Titus", 3},
+ {"Philemon", "Phlm", "Phlm", 1},
+ {"Hebrews", "Heb", "Heb", 13},
+ {"James", "Jas", "Jas", 5},
+ {"I Peter", "1Pet", "1Pet", 5},
+ {"II Peter", "2Pet", "2Pet", 3},
+ {"I John", "1John", "1John", 5},
+ {"II John", "2John", "2John", 1},
+ {"III John", "3John", "3John", 1},
+ {"Jude", "Jude", "Jude", 1},
+ {"Revelation of John", "Rev", "Rev", 22},
+ {"", "", "", 0}
};
-
/******************************************************************************
* Maximum verses per chapter
*/
-int
- VerseKey::vm[] = {
+int vm[] = {
// Genesis
31, 25, 24, 26, 32, 22, 24, 22, 29, 32, 32, 20, 18, 24, 21, 16, 27, 33, 38,
18, 34, 24, 20, 67, 34, 35, 46, 22, 35, 43, 55, 32, 20, 31, 29, 43, 36,
@@ -332,7 +134,7 @@ int
48, 25,
// Ruth
22, 23, 18, 22,
- // I Samual
+ // I Samuel
28, 36, 21, 22, 12, 21, 17, 22, 27, 27, 15, 25, 23, 52, 35, 23, 58, 30, 24,
42, 15, 23, 29, 22, 44, 25, 12, 25, 11, 31, 13,
// II Samuel
@@ -480,218 +282,7 @@ int
};
-long
- VerseKey::otbks[] = {
- 0, 1, 52, 93, 121, 158,
- 193, 218, 240, 245, 277, 302, 325,
- 351, 381, 418, 429, 443, 454, 497,
- 648, 680, 693, 702, 769, 822, 828,
- 877, 890, 905, 909, 919, 921, 926,
- 934, 938, 942, 946, 949, 964
-};
-
-long
- VerseKey::otcps[] = {
- 0, 2, 3, 35, 61, 86,
- 113, 146, 169, 194, 217, 247, 280,
- 313, 334, 353, 378, 400, 417, 445,
- 479, 518, 537, 572, 597, 618, 686,
- 721, 757, 804, 827, 863, 907, 963,
- 996, 1017, 1049, 1079, 1123, 1160, 1191,
- 1215, 1239, 1297, 1336, 1371, 1406, 1435,
- 1470, 1502, 1525, 1559, 1586, 1587, 1610,
- 1636, 1659, 1691, 1715, 1746, 1772, 1805,
- 1841, 1871, 1882, 1934, 1957, 1989, 2017,
- 2054, 2071, 2099, 2125, 2152, 2189, 2221,
- 2255, 2274, 2315, 2353, 2375, 2419, 2466,
- 2505, 2524, 2560, 2584, 2620, 2656, 2695,
- 2725, 2757, 2801, 2840, 2841, 2859, 2876,
- 2894, 2930, 2950, 2981, 3020, 3057, 3082,
- 3103, 3151, 3160, 3220, 3278, 3312, 3347,
- 3364, 3395, 3433, 3461, 3486, 3520, 3565,
- 3589, 3645, 3692, 3727, 3728, 3783, 3818,
- 3870, 3920, 3952, 3980, 4070, 4097, 4121,
- 4158, 4194, 4211, 4245, 4291, 4333, 4384,
- 4398, 4431, 4454, 4484, 4520, 4562, 4593,
- 4619, 4638, 4704, 4728, 4760, 4801, 4818,
- 4873, 4916, 4973, 5003, 5038, 5052, 5053,
- 5100, 5138, 5168, 5218, 5252, 5278, 5305,
- 5326, 5356, 5379, 5412, 5445, 5464, 5494,
- 5518, 5541, 5562, 5585, 5607, 5628, 5652,
- 5683, 5709, 5732, 5752, 5772, 5799, 5868,
- 5898, 5919, 5950, 6003, 6033, 6046, 6047,
- 6066, 6091, 6109, 6134, 6150, 6178, 6205,
- 6241, 6269, 6313, 6337, 6362, 6396, 6412,
- 6476, 6487, 6506, 6535, 6587, 6597, 6643,
- 6678, 6695, 6729, 6730, 6767, 6791, 6823,
- 6848, 6880, 6921, 6947, 6983, 7041, 7060,
- 7101, 7117, 7143, 7164, 7185, 7217, 7231,
- 7263, 7294, 7343, 7369, 7370, 7393, 7417,
- 7436, 7459, 7460, 7489, 7526, 7548, 7571,
- 7584, 7606, 7624, 7647, 7675, 7703, 7719,
- 7745, 7769, 7822, 7858, 7882, 7941, 7972,
- 7997, 8040, 8056, 8080, 8110, 8133, 8178,
- 8204, 8217, 8243, 8255, 8287, 8301, 8302,
- 8330, 8363, 8403, 8416, 8442, 8466, 8496,
- 8515, 8529, 8549, 8577, 8609, 8649, 8683,
- 8721, 8745, 8775, 8809, 8853, 8880, 8903,
- 8955, 8995, 9021, 9022, 9076, 9123, 9152,
- 9187, 9206, 9245, 9297, 9364, 9393, 9423,
- 9467, 9501, 9536, 9568, 9603, 9638, 9663,
- 9710, 9732, 9776, 9806, 9860, 9861, 9880,
- 9906, 9934, 9979, 10007, 10041, 10062, 10092,
- 10130, 10167, 10189, 10211, 10237, 10267, 10306,
- 10327, 10369, 10407, 10445, 10467, 10494, 10515,
- 10553, 10574, 10605, 10606, 10661, 10717, 10742,
- 10786, 10813, 10895, 10936, 10977, 11022, 11037,
- 11085, 11126, 11141, 11159, 11189, 11233, 11261,
- 11279, 11299, 11308, 11339, 11359, 11392, 11424,
- 11456, 11489, 11524, 11546, 11577, 11578, 11596,
- 11615, 11633, 11656, 11671, 11714, 11737, 11756,
- 11788, 11808, 11832, 11849, 11872, 11888, 11908,
- 11923, 11943, 11978, 11990, 12028, 12049, 12062,
- 12084, 12112, 12141, 12165, 12175, 12203, 12240,
- 12268, 12290, 12324, 12350, 12384, 12412, 12436,
- 12437, 12449, 12520, 12534, 12559, 12577, 12600,
- 12629, 12666, 12682, 12727, 12728, 12740, 12761,
- 12794, 12818, 12838, 12858, 12932, 12951, 12990,
- 13030, 13067, 13115, 13147, 13148, 13171, 13195,
- 13211, 13229, 13244, 13259, 13270, 13288, 13321,
- 13325, 13326, 13349, 13363, 13390, 13412, 13440,
- 13471, 13493, 13516, 13552, 13575, 13596, 13622,
- 13651, 13674, 13710, 13733, 13750, 13772, 13802,
- 13832, 13867, 13898, 13916, 13942, 13949, 13964,
- 13988, 14017, 14043, 14075, 14116, 14139, 14173,
- 14211, 14228, 14262, 14287, 14329, 14360, 14385,
- 14420, 14438, 14439, 14446, 14459, 14468, 14477,
- 14490, 14501, 14519, 14529, 14550, 14569, 14577,
- 14586, 14593, 14601, 14607, 14619, 14635, 14686,
- 14701, 14711, 14725, 14757, 14764, 14775, 14798,
- 14811, 14826, 14836, 14848, 14861, 14886, 14898,
- 14921, 14944, 14973, 14986, 15027, 15050, 15064,
- 15082, 15096, 15108, 15114, 15141, 15159, 15171,
- 15181, 15196, 15217, 15241, 15261, 15271, 15278,
- 15286, 15310, 15324, 15336, 15348, 15366, 15379,
- 15388, 15401, 15413, 15424, 15438, 15459, 15467,
- 15503, 15540, 15546, 15571, 15592, 15621, 15645,
- 15656, 15669, 15690, 15763, 15777, 15797, 15814,
- 15823, 15842, 15855, 15869, 15887, 15895, 15914,
- 15967, 15985, 16002, 16018, 16024, 16048, 16060,
- 16074, 16087, 16097, 16107, 16113, 16122, 16151,
- 16174, 16210, 16256, 16305, 16349, 16363, 16395,
- 16403, 16414, 16425, 16435, 16444, 16463, 16483,
- 16486, 16516, 16693, 16701, 16710, 16720, 16725,
- 16734, 16740, 16747, 16753, 16760, 16769, 16778,
- 16782, 16801, 16805, 16809, 16831, 16858, 16868,
- 16877, 16902, 16916, 16927, 16935, 16948, 16964,
- 16986, 16997, 17018, 17033, 17043, 17050, 17051,
- 17085, 17108, 17144, 17172, 17196, 17232, 17260,
- 17297, 17316, 17349, 17381, 17410, 17436, 17472,
- 17506, 17540, 17569, 17594, 17624, 17655, 17687,
- 17717, 17753, 17788, 17817, 17846, 17874, 17903,
- 17931, 17965, 17997, 17998, 18017, 18044, 18067,
- 18084, 18105, 18118, 18148, 18166, 18185, 18206,
- 18217, 18232, 18233, 18251, 18269, 18281, 18298,
- 18315, 18329, 18343, 18358, 18359, 18391, 18414,
- 18441, 18448, 18479, 18493, 18519, 18542, 18564,
- 18599, 18616, 18623, 18646, 18679, 18689, 18704,
- 18719, 18727, 18753, 18760, 18778, 18804, 18823,
- 18847, 18860, 18882, 18896, 18926, 18951, 18985,
- 18995, 19016, 19041, 19059, 19070, 19093, 19132,
- 19155, 19164, 19196, 19226, 19252, 19281, 19310,
- 19336, 19350, 19366, 19389, 19416, 19428, 19452,
- 19468, 19481, 19499, 19513, 19526, 19548, 19563,
- 19585, 19608, 19620, 19633, 19653, 19666, 19692,
- 19717, 19718, 19738, 19776, 19802, 19834, 19866,
- 19897, 19932, 19955, 19982, 20008, 20032, 20050,
- 20078, 20101, 20123, 20145, 20173, 20197, 20213,
- 20232, 20247, 20278, 20319, 20330, 20369, 20394,
- 20417, 20435, 20468, 20493, 20534, 20579, 20606,
- 20629, 20649, 20682, 20704, 20733, 20752, 20769,
- 20788, 20811, 20825, 20856, 20862, 20891, 20899,
- 20947, 20987, 21034, 21099, 21134, 21135, 21158,
- 21181, 21248, 21271, 21294, 21295, 21324, 21335,
- 21363, 21381, 21399, 21414, 21442, 21461, 21473,
- 21496, 21522, 21551, 21575, 21599, 21608, 21672,
- 21697, 21730, 21745, 21795, 21828, 21860, 21910,
- 21938, 21956, 21978, 22015, 22042, 22064, 22091,
- 22110, 22143, 22177, 22209, 22225, 22264, 22293,
- 22317, 22347, 22397, 22424, 22445, 22473, 22505,
- 22531, 22556, 22580, 22616, 22617, 22639, 22689,
- 22720, 22758, 22790, 22819, 22848, 22876, 22904,
- 22926, 22972, 22986, 22987, 22999, 23023, 23029,
- 23049, 23065, 23077, 23094, 23109, 23127, 23143,
- 23156, 23171, 23188, 23198, 23199, 23220, 23253,
- 23275, 23276, 23292, 23309, 23325, 23339, 23367,
- 23382, 23400, 23415, 23431, 23432, 23454, 23455,
- 23473, 23484, 23495, 23507, 23508, 23525, 23539,
- 23552, 23566, 23582, 23599, 23620, 23621, 23637,
- 23651, 23671, 23672, 23690, 23711, 23731, 23732,
- 23751, 23767, 23788, 23789, 23805, 23829, 23830,
- 23852, 23866, 23877, 23892, 23904, 23920, 23935,
- 23959, 23977, 23990, 24008, 24023, 24033, 24055,
- 24056, 24071, 24089, 24108
-};
-
-long
- VerseKey::ntbks[] = {
- 0, 1, 30, 47, 72, 94,
- 123, 140, 157, 171, 178, 185, 190,
- 195, 201, 205, 212, 217, 221, 223,
- 237, 243, 249, 253, 259, 261, 263,
- 265
-};
-
-long
- VerseKey::ntcps[] = {
- 0, 2, 3, 29, 53, 71,
- 97, 146, 181, 211, 246, 285, 328,
- 359, 410, 469, 506, 546, 575, 603,
- 639, 670, 705, 752, 799, 839, 891,
- 938, 1014, 1081, 1102, 1103, 1149, 1178,
- 1214, 1256, 1300, 1357, 1395, 1434, 1485,
- 1538, 1572, 1617, 1655, 1728, 1776, 1797,
- 1798, 1879, 1932, 1971, 2016, 2056, 2106,
- 2157, 2214, 2277, 2320, 2375, 2435, 2471,
- 2507, 2540, 2572, 2610, 2654, 2703, 2751,
- 2790, 2862, 2919, 2973, 2974, 3026, 3052,
- 3089, 3144, 3192, 3264, 3318, 3378, 3420,
- 3463, 3521, 3572, 3611, 3643, 3671, 3705,
- 3732, 3773, 3816, 3848, 3874, 3875, 3902,
- 3950, 3977, 4015, 4058, 4074, 4135, 4176,
- 4220, 4269, 4300, 4326, 4379, 4408, 4450,
- 4491, 4526, 4555, 4597, 4636, 4677, 4708,
- 4744, 4772, 4800, 4833, 4878, 4910, 4911,
- 4944, 4974, 5006, 5032, 5054, 5078, 5104,
- 5144, 5178, 5200, 5237, 5259, 5274, 5298,
- 5332, 5360, 5361, 5393, 5410, 5434, 5456,
- 5470, 5491, 5532, 5546, 5574, 5608, 5643,
- 5675, 5689, 5730, 5789, 5814, 5815, 5840,
- 5858, 5877, 5896, 5918, 5937, 5954, 5979,
- 5995, 6014, 6048, 6070, 6085, 6086, 6111,
- 6133, 6163, 6195, 6222, 6241, 6242, 6266,
- 6289, 6311, 6344, 6378, 6403, 6404, 6435,
- 6466, 6488, 6512, 6513, 6543, 6567, 6593,
- 6612, 6613, 6624, 6645, 6659, 6678, 6707,
- 6708, 6721, 6739, 6758, 6759, 6780, 6796,
- 6813, 6830, 6856, 6878, 6879, 6898, 6925,
- 6943, 6966, 6967, 6984, 7000, 7016, 7017,
- 7043, 7044, 7059, 7078, 7098, 7115, 7130,
- 7151, 7180, 7194, 7223, 7263, 7304, 7334,
- 7360, 7361, 7389, 7416, 7435, 7453, 7474,
- 7475, 7501, 7527, 7550, 7570, 7585, 7586,
- 7608, 7631, 7650, 7651, 7662, 7692, 7717,
- 7739, 7761, 7762, 7776, 7777, 7792, 7793,
- 7819, 7820, 7841, 7871, 7894, 7906, 7921,
- 7939, 7957, 7971, 7993, 8005, 8025, 8043,
- 8062, 8083, 8092, 8114, 8133, 8158, 8180,
- 8196, 8224
-};
+SWORD_NAMESPACE_END
-int
- VerseKey::offsize[2][2] =
- { {sizeof (VerseKey::otbks) / sizeof(long), sizeof (VerseKey::otcps) / sizeof(long)}
-, {sizeof (VerseKey::ntbks) / sizeof(long), sizeof (VerseKey::ntcps) / sizeof(long)}
-};
-
+#endif
diff --git a/include/canon_abbrevs.h b/include/canon_abbrevs.h
new file mode 100644
index 0000000..f456a5f
--- /dev/null
+++ b/include/canon_abbrevs.h
@@ -0,0 +1,548 @@
+/******************************************************************************
+ * canon_abbrevs.h - Canonical text information to be included by VerseKey.cpp
+ *
+ * Copyright 1998-2009 CrossWire Bible Society (http://www.crosswire.org)
+ * CrossWire Bible Society
+ * P. O. Box 2528
+ * Tempe, AZ 85280-2528
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation version 2.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ */
+
+#ifndef CANON_ABBREVS_H
+#define CANON_ABBREVS_H
+
+SWORD_NAMESPACE_START
+
+
+/******************************************************************************
+ * Abbreviations - MUST be in alphabetical order & by PRIORITY
+ * RULE: first match of entire key
+ * (e.g. key: "1CH"; match: "1CHRONICLES")
+ */
+
+const struct abbrev builtin_abbrevs[] = {
+ {"1 BARUCH", "Bar"}, // Baruch
+ {"1 C", "1Cor"}, // I Corinthians
+ {"1 CHRONICLES", "1Chr"}, // I Chronicles
+ {"1 CORINTHIANS", "1Cor"}, // I Corinthians
+ {"1 E", "1Esd"}, // I Esdras
+ {"1 ENOCH", "1En"}, // I Enoch
+ {"1 ESDRAS", "1Esd"}, // I Esdras
+ {"1 JN", "1John"}, // I John
+ {"1 JOHN", "1John"}, // I John
+ {"1 K", "1Kgs"}, // I Kings
+ {"1 KGDMS", "1Sam"}, // I Samuel
+ {"1 KGS", "1Kgs"}, // I Kings
+ {"1 KING", "1Kgs"}, // I Kings
+ {"1 KINGDOMS", "1Sam"}, // I Samuel
+ {"1 KINGS", "1Kgs"}, // I Kings
+ {"1 MACCABEES", "1Macc"}, // I Maccabees
+ {"1 MAKABIAN", "1Meq"}, // I Meqabyan
+ {"1 MEQABYAN", "1Meq"}, // I Meqabyan
+ {"1 P", "1Pet"}, // I Peter
+ {"1 PARALIPOMENON", "1Chr"}, // I Chronicles
+ {"1 PETER", "1Pet"}, // I Peter
+ {"1 PTR", "1Pet"}, // I Peter
+ {"1 SAMUEL", "1Sam"}, // I Samuel
+ {"1 THESSALONIANS", "1Thess"}, // I Thessalonians
+ {"1 TIMOTHY", "1Tim"}, // I Timothy
+ {"1BARUCH", "Bar"}, // Baruch
+ {"1C", "1Cor"}, // I Corinthians
+ {"1CHR", "1Chr"}, // I Chronicles
+ {"1CHRONICLES", "1Chr"}, // I Chronicles
+ {"1COR", "1Cor"}, // I Corinthians
+ {"1CORINTHIANS", "1Cor"}, // I Corinthians
+ {"1E", "1Esd"}, // I Esdras
+ {"1EN", "1En"}, // I Enoch
+ {"1ENOCH", "1En"}, // I Enoch
+ {"1ESD", "1Esd"}, // I Esdras
+ {"1ESDRAS", "1Esd"}, // I Esdras
+ {"1JN", "1John"}, // I John
+ {"1JOHN", "1John"}, // I John
+ {"1K", "1Kgs"}, // I Kings
+ {"1KGDMS", "1Sam"}, // I Samuel
+ {"1KGS", "1Kgs"}, // I Kings
+ {"1KING", "1Kgs"}, // I Kings
+ {"1KINGDOMS", "1Sam"}, // I Samuel
+ {"1KINGS", "1Kgs"}, // I Kings
+ {"1MACC", "1Macc"}, // I Maccabees
+ {"1MACCABEES", "1Macc"}, // I Maccabees
+ {"1MAKABIAN", "1Meq"}, // I Meqabyan
+ {"1MEQ", "1Meq"}, // I Meqabyan
+ {"1MEQABYAN", "1Meq"}, // I Meqabyan
+ {"1P", "1Pet"}, // I Peter
+ {"1PARALIPOMENON", "1Chr"}, // I Chronicles
+ {"1PET", "1Pet"}, // I Peter
+ {"1PETER", "1Pet"}, // I Peter
+ {"1PTR", "1Pet"}, // I Peter
+ {"1SAM", "1Sam"}, // I Samuel
+ {"1SAMUEL", "1Sam"}, // I Samuel
+ {"1THESS", "1Thess"}, // I Thessalonians
+ {"1THESSALONIANS", "1Thess"}, // I Thessalonians
+ {"1TIM", "1Tim"}, // I Timothy
+ {"1TIMOTHY", "1Tim"}, // I Timothy
+ {"2 BARUCH", "2Bar"}, // 2Baruch
+ {"2 C", "2Cor"}, // II Corinthians
+ {"2 CHRONICLES", "2Chr"}, // II Chronicles
+ {"2 CORINTHIANS", "2Cor"}, // II Corinthians
+ {"2 E", "2Esd"}, // II Esdras
+ {"2 ESDRAS", "2Esd"}, // II Esdras
+ {"2 JN", "2John"}, // II John
+ {"2 JOHN", "2John"}, // II John
+ {"2 K", "2Kgs"}, // II Kings
+ {"2 KGDMS", "2Sam"}, // II Samuel
+ {"2 KGS", "2Kgs"}, // II Kings
+ {"2 KING", "2Kgs"}, // II Kings
+ {"2 KINGDOMS", "2Sam"}, // II Samuel
+ {"2 KINGS", "2Kgs"}, // II Kings
+ {"2 MACCABEES", "2Macc"}, // II Maccabees
+ {"2 MAKABIAN", "2Meq"}, // II Meqabyan
+ {"2 MEQABYAN", "2Meq"}, // II Meqabyan
+ {"2 P", "2Pet"}, // II Peter
+ {"2 PARALIPOMENON", "2Chr"}, // II Chronicles
+ {"2 PETER", "2Pet"}, // II Peter
+ {"2 PTR", "2Pet"}, // II Peter
+ {"2 SAMUEL", "2Sam"}, // II Samuel
+ {"2 THESSALONIANS", "2Thess"}, // II Thessalonians
+ {"2 TIMOTHY", "2Tim"}, // II Timothy
+ {"2BAR", "2Bar"}, // 2Baruch
+ {"2BARUCH", "2Bar"}, // 2Baruch
+ {"2C", "2Cor"}, // II Corinthians
+ {"2CHR", "2Chr"}, // II Chronicles
+ {"2CHRONICLES", "2Chr"}, // II Chronicles
+ {"2COR", "2Cor"}, // II Corinthians
+ {"2CORINTHIANS", "2Cor"}, // II Corinthians
+ {"2E", "2Esd"}, // II Esdras
+ {"2ESD", "2Esd"}, // II Esdras
+ {"2ESDRAS", "2Esd"}, // II Esdras
+ {"2JN", "2John"}, // II John
+ {"2JOHN", "2John"}, // II John
+ {"2K", "2Kgs"}, // II Kings
+ {"2KGDMS", "2Sam"}, // II Samuel
+ {"2KGS", "2Kgs"}, // II Kings
+ {"2KING", "2Kgs"}, // II Kings
+ {"2KINGDOMS", "2Sam"}, // II Samuel
+ {"2KINGS", "2Kgs"}, // II Kings
+ {"2MACC", "2Macc"}, // II Maccabees
+ {"2MACCABEES", "2Macc"}, // II Maccabees
+ {"2MAKABIAN", "2Meq"}, // II Meqabyan
+ {"2MEQ", "2Meq"}, // II Meqabyan
+ {"2MEQABYAN", "2Meq"}, // II Meqabyan
+ {"2P", "2Pet"}, // II Peter
+ {"2PARALIPOMENON", "2Chr"}, // II Chronicles
+ {"2PET", "2Pet"}, // II Peter
+ {"2PETER", "2Pet"}, // II Peter
+ {"2PTR", "2Pet"}, // II Peter
+ {"2SAM", "2Sam"}, // II Samuel
+ {"2SAMUEL", "2Sam"}, // II Samuel
+ {"2THESS", "2Thess"}, // II Thessalonians
+ {"2THESSALONIANS", "2Thess"}, // II Thessalonians
+ {"2TIM", "2Tim"}, // II Timothy
+ {"2TIMOTHY", "2Tim"}, // II Timothy
+ {"3 EZRA", "1Esd"}, // I Esdras
+ {"3 JN", "3John"}, // III John
+ {"3 JOHN", "3John"}, // III John
+ {"3 KGDMS", "1Kgs"}, // I Kings
+ {"3 KGS", "1Kgs"}, // I Kings
+ {"3 KINGDOMS", "1Kgs"}, // I Kings
+ {"3 KINGS", "1Kgs"}, // I Kings
+ {"3 MACCABEES", "3Macc"}, // III Maccabees
+ {"3 MAKABIAN", "3Meq"}, // III Meqabyan
+ {"3 MEQABYAN", "3Meq"}, // III Meqabyan
+ {"3EZRA", "1Esd"}, // I Esdras
+ {"3JN", "3John"}, // III John
+ {"3JOHN", "3John"}, // III John
+ {"3KGDMS", "1Kgs"}, // I Kings
+ {"3KGS", "1Kgs"}, // I Kings
+ {"3KINGDOMS", "1Kgs"}, // I Kings
+ {"3KINGS", "1Kgs"}, // I Kings
+ {"3MACC", "3Macc"}, // III Maccabees
+ {"3MACCABEES", "3Macc"}, // III Maccabees
+ {"3MAKABIAN", "3Meq"}, // III Meqabyan
+ {"3MEQ", "3Meq"}, // III Meqabyan
+ {"3MEQABYAN", "3Meq"}, // III Meqabyan
+ {"4 BARUCH", "4Bar"}, // IV Baruch
+ {"4 EZRA", "2Esd"}, // II Esdras
+ {"4 KGDMS", "2Kgs"}, // II Kings
+ {"4 KGS", "2Kgs"}, // II Kings
+ {"4 KINGDOMS", "2Kgs"}, // II Kings
+ {"4 KINGS", "2Kgs"}, // II Kings
+ {"4 MACCABEES", "4Macc"}, // IV Maccabees
+ {"4BAR", "4Bar"}, // IV Baruch
+ {"4BARUCH", "4Bar"}, // IV Baruch
+ {"4EZRA", "2Esd"}, // II Esdras
+ {"4KGDMS", "2Kgs"}, // II Kings
+ {"4KGS", "2Kgs"}, // II Kings
+ {"4KINGDOMS", "2Kgs"}, // II Kings
+ {"4KINGS", "2Kgs"}, // II Kings
+ {"4MACC", "4Macc"}, // IV Maccabees
+ {"4MACCABEES", "4Macc"}, // IV Maccabees
+ {"5APOCSYRPSS", "AddPs"}, // Additional Psalm
+ {"ACTS", "Acts"}, // Acts
+ {"ADDDAN", "AddDan"}, // Additions to Daniel
+ {"ADDESTH", "AddEsth"}, // Additions to Esther
+ {"ADDITIONAL PSALM", "AddPs"}, // Additional Psalm
+ {"ADDITIONS TO DANIEL", "AddDan"}, // Additions to Daniel
+ {"ADDITIONS TO ESTHER", "AddEsth"}, // Additions to Esther
+ {"ADDPS", "AddPs"}, // Additional Psalm
+ {"AMOS", "Amos"}, // Amos
+ {"APOCALYPSE OF JOHN", "Rev"}, // Revelation of John
+ {"AZA", "PrAzar"}, // Prayer of Azariah
+ {"AZAR", "PrAzar"}, // Prayer of Azariah
+ {"AZARIAH", "PrAzar"}, // Prayer of Azariah
+ {"BAR", "Bar"}, // Baruch
+ {"BARUCH", "Bar"}, // Baruch
+ {"BEL", "Bel"}, // Bel and the Dragon
+ {"BEL AND THE DRAGON", "Bel"}, // Bel and the Dragon
+ {"C", "Col"}, // Colossians
+ {"CANTICLE OF CANTICLES", "Song"}, // Song of Solomon
+ {"COL", "Col"}, // Colossians
+ {"COLOSSIANS", "Col"}, // Colossians
+ {"D", "Deut"}, // Deuteronomy
+ {"DAN", "Dan"}, // Daniel
+ {"DANGR", "DanGr"}, // Daniel (Greek)
+ {"DANIEL", "Dan"}, // Daniel
+ {"DANIEL (ADDITIONS)", "AddDan"}, // Additions to Daniel
+ {"DANIEL (GREEK)", "DanGr"}, // Daniel (Greek)
+ {"DEUT", "Deut"}, // Deuteronomy
+ {"DEUTERONOMY", "Deut"}, // Deuteronomy
+ {"DT", "Deut"}, // Deuteronomy
+ {"E", "Exod"}, // Exodus
+ {"ECCL", "Eccl"}, // Ecclesiastes
+ {"ECCLESIASTES", "Eccl"}, // Ecclesiastes
+ {"ECCLESIASTICUS", "Sir"}, // Sirach
+ {"ECCLUS", "Sir"}, // Sirach
+ {"EK", "Ezek"}, // Ezekiel
+ {"ENOCH", "1En"}, // I Enoch
+ {"EPH", "Eph"}, // Ephesians
+ {"EPHESIANS", "Eph"}, // Ephesians
+ {"EPISTLE OF JEREMIAH", "EpJer"}, // Epistle of Jeremiah
+ {"EPJ", "EpJer"}, // Epistle of Jeremiah
+ {"EPJER", "EpJer"}, // Epistle of Jeremiah
+ {"EPLAO", "EpLao"}, // Laodiceans
+ {"ES", "Esth"}, // Esther
+ {"ESDRAS A", "1Esd"}, // I Esdras
+ {"ESDRAS B", "2Esd"}, // II Esdras
+ {"ESDRASA", "1Esd"}, // I Esdras
+ {"ESDRASB", "2Esd"}, // II Esdras
+ {"ESG", "EsthGr"}, // Esther (Greek)
+ {"ESTER", "Esth"}, // Esther
+ {"ESTH", "Esth"}, // Esther
+ {"ESTHER", "Esth"}, // Esther
+ {"ESTHER (ADDITIONS)", "AddEsth"}, // Additions to Esther
+ {"ESTHER (GREEK)", "EsthGr"}, // Esther (Greek)
+ {"ESTHGR", "EsthGr"}, // Esther (Greek)
+ {"ETHIOPIC APOCALYPSE OF ENOCH", "1En"}, // I Enoch
+ {"EXOD", "Exod"}, // Exodus
+ {"EXODUS", "Exod"}, // Exodus
+ {"EZEK", "Ezek"}, // Ezekiel
+ {"EZEKIEL", "Ezek"}, // Ezekiel
+ {"EZK", "Ezek"}, // Ezekiel
+ {"EZRA", "Ezra"}, // Ezra
+ {"FIVE APOCRYPHAL SYRIAC PSALMS", "AddPs"}, // Additional Psalm
+ {"G", "Gen"}, // Genesis
+ {"GAL", "Gal"}, // Galatians
+ {"GALATIANS", "Gal"}, // Galatians
+ {"GEN", "Gen"}, // Genesis
+ {"GENESIS", "Gen"}, // Genesis
+ {"GN", "Gen"}, // Genesis
+ {"GRDAN", "DanGr"}, // Daniel (Greek)
+ {"GREEK DANIEL", "DanGr"}, // Daniel (Greek)
+ {"GREEK ESTHER", "EsthGr"}, // Esther (Greek)
+ {"GRESTH", "EsthGr"}, // Esther (Greek)
+ {"H", "Heb"}, // Hebrews
+ {"HAB", "Hab"}, // Habakkuk
+ {"HABAKKUK", "Hab"}, // Habakkuk
+ {"HAG", "Hag"}, // Haggai
+ {"HAGGAI", "Hag"}, // Haggai
+ {"HEB", "Heb"}, // Hebrews
+ {"HEBREWS", "Heb"}, // Hebrews
+ {"HOS", "Hos"}, // Hosea
+ {"HOSEA", "Hos"}, // Hosea
+ {"I", "Isa"}, // Isaiah
+ {"I BARUCH", "Bar"}, // Baruch
+ {"I C", "1Cor"}, // I Corinthians
+ {"I CHRONICLES", "1Chr"}, // I Chronicles
+ {"I CORINTHIANS", "1Cor"}, // I Corinthians
+ {"I E", "1Esd"}, // I Esdras
+ {"I ENOCH", "1En"}, // I Enoch
+ {"I ESDRAS", "1Esd"}, // I Esdras
+ {"I JN", "1John"}, // I John
+ {"I JOHN", "1John"}, // I John
+ {"I K", "1Kgs"}, // I Kings
+ {"I KGDMS", "1Sam"}, // I Samuel
+ {"I KGS", "1Kgs"}, // I Kings
+ {"I KING", "1Kgs"}, // I Kings
+ {"I KINGDOMS", "1Sam"}, // I Samuel
+ {"I KINGS", "1Kgs"}, // I Kings
+ {"I MACCABEES", "1Macc"}, // I Maccabees
+ {"I MAKABIAN", "1Meq"}, // I Meqabyan
+ {"I MEQABYAN", "1Meq"}, // I Meqabyan
+ {"I P", "1Pet"}, // I Peter
+ {"I PARALIPOMENON", "1Chr"}, // I Chronicles
+ {"I PETER", "1Pet"}, // I Peter
+ {"I PTR", "1Pet"}, // I Peter
+ {"I SAMUEL", "1Sam"}, // I Samuel
+ {"I THESSALONIANS", "1Thess"}, // I Thessalonians
+ {"I TIMOTHY", "1Tim"}, // I Timothy
+ {"IBARUCH", "Bar"}, // Baruch
+ {"IC", "1Cor"}, // I Corinthians
+ {"ICHRONICLES", "1Chr"}, // I Chronicles
+ {"ICORINTHIANS", "1Cor"}, // I Corinthians
+ {"IE", "1Esd"}, // I Esdras
+ {"IENOCH", "1En"}, // I Enoch
+ {"IESDRAS", "1Esd"}, // I Esdras
+ {"II BARUCH", "2Bar"}, // 2Baruch
+ {"II C", "2Cor"}, // II Corinthians
+ {"II CHRONICLES", "2Chr"}, // II Chronicles
+ {"II CORINTHIANS", "2Cor"}, // II Corinthians
+ {"II E", "2Esd"}, // II Esdras
+ {"II ESDRAS", "2Esd"}, // II Esdras
+ {"II JN", "2John"}, // II John
+ {"II JOHN", "2John"}, // II John
+ {"II K", "2Kgs"}, // II Kings
+ {"II KGDMS", "2Sam"}, // II Samuel
+ {"II KGS", "2Kgs"}, // II Kings
+ {"II KING", "2Kgs"}, // II Kings
+ {"II KINGDOMS", "2Sam"}, // II Samuel
+ {"II KINGS", "2Kgs"}, // II Kings
+ {"II MACCABEES", "2Macc"}, // II Maccabees
+ {"II MAKABIAN", "2Meq"}, // II Meqabyan
+ {"II MEQABYAN", "2Meq"}, // II Meqabyan
+ {"II P", "2Pet"}, // II Peter
+ {"II PARALIPOMENON", "2Chr"}, // II Chronicles
+ {"II PETER", "2Pet"}, // II Peter
+ {"II PTR", "2Pet"}, // II Peter
+ {"II SAMUEL", "2Sam"}, // II Samuel
+ {"II THESSALONIANS", "2Thess"}, // II Thessalonians
+ {"II TIMOTHY", "2Tim"}, // II Timothy
+ {"IIBARUCH", "2Bar"}, // 2Baruch
+ {"IIC", "2Cor"}, // II Corinthians
+ {"IICHRONICLES", "2Chr"}, // II Chronicles
+ {"IICORINTHIANS", "2Cor"}, // II Corinthians
+ {"IIE", "2Esd"}, // II Esdras
+ {"IIESDRAS", "2Esd"}, // II Esdras
+ {"III EZRA", "1Esd"}, // I Esdras
+ {"III JN", "3John"}, // III John
+ {"III JOHN", "3John"}, // III John
+ {"III KGDMS", "1Kgs"}, // I Kings
+ {"III KGS", "1Kgs"}, // I Kings
+ {"III KINGDOMS", "1Kgs"}, // I Kings
+ {"III KINGS", "1Kgs"}, // I Kings
+ {"III MACCABEES", "3Macc"}, // III Maccabees
+ {"III MAKABIAN", "3Meq"}, // III Meqabyan
+ {"III MEQABYAN", "3Meq"}, // III Meqabyan
+ {"IIIEZRA", "1Esd"}, // I Esdras
+ {"IIIJN", "3John"}, // III John
+ {"IIIJOHN", "3John"}, // III John
+ {"IIIKGDMS", "1Kgs"}, // I Kings
+ {"IIIKGS", "1Kgs"}, // I Kings
+ {"IIIKINGDOMS", "1Kgs"}, // I Kings
+ {"IIIKINGS", "1Kgs"}, // I Kings
+ {"IIIMACCABEES", "3Macc"}, // III Maccabees
+ {"IIIMAKABIAN", "3Meq"}, // III Meqabyan
+ {"IIIMEQABYAN", "3Meq"}, // III Meqabyan
+ {"IIJN", "2John"}, // II John
+ {"IIJOHN", "2John"}, // II John
+ {"IIK", "2Kgs"}, // II Kings
+ {"IIKGDMS", "2Sam"}, // II Samuel
+ {"IIKGS", "2Kgs"}, // II Kings
+ {"IIKING", "2Kgs"}, // II Kings
+ {"IIKINGDOMS", "2Sam"}, // II Samuel
+ {"IIKINGS", "2Kgs"}, // II Kings
+ {"IIMACCABEES", "2Macc"}, // II Maccabees
+ {"IIMAKABIAN", "2Meq"}, // II Meqabyan
+ {"IIMEQABYAN", "2Meq"}, // II Meqabyan
+ {"IIP", "2Pet"}, // II Peter
+ {"IIPARALIPOMENON", "2Chr"}, // II Chronicles
+ {"IIPETER", "2Pet"}, // II Peter
+ {"IIPTR", "2Pet"}, // II Peter
+ {"IISAMUEL", "2Sam"}, // II Samuel
+ {"IITHESSALONIANS", "2Thess"}, // II Thessalonians
+ {"IITIMOTHY", "2Tim"}, // II Timothy
+ {"IJN", "1John"}, // I John
+ {"IJOHN", "1John"}, // I John
+ {"IK", "1Kgs"}, // I Kings
+ {"IKGDMS", "1Sam"}, // I Samuel
+ {"IKGS", "1Kgs"}, // I Kings
+ {"IKING", "1Kgs"}, // I Kings
+ {"IKINGDOMS", "1Sam"}, // I Samuel
+ {"IKINGS", "1Kgs"}, // I Kings
+ {"IMACCABEES", "1Macc"}, // I Maccabees
+ {"IMAKABIAN", "1Meq"}, // I Meqabyan
+ {"IMEQABYAN", "1Meq"}, // I Meqabyan
+ {"IP", "1Pet"}, // I Peter
+ {"IPARALIPOMENON", "1Chr"}, // I Chronicles
+ {"IPETER", "1Pet"}, // I Peter
+ {"IPTR", "1Pet"}, // I Peter
+ {"ISA", "Isa"}, // Isaiah
+ {"ISAIAH", "Isa"}, // Isaiah
+ {"ISAMUEL", "1Sam"}, // I Samuel
+ {"ITHESSALONIANS", "1Thess"}, // I Thessalonians
+ {"ITIMOTHY", "1Tim"}, // I Timothy
+ {"IV BARUCH", "4Bar"}, // IV Baruch
+ {"IV EZRA", "2Esd"}, // II Esdras
+ {"IV KGDMS", "2Kgs"}, // II Kings
+ {"IV KGS", "2Kgs"}, // II Kings
+ {"IV KINGDOMS", "2Kgs"}, // II Kings
+ {"IV KINGS", "2Kgs"}, // II Kings
+ {"IV MACCABEES", "4Macc"}, // IV Maccabees
+ {"IVBARUCH", "4Bar"}, // IV Baruch
+ {"IVEZRA", "2Esd"}, // II Esdras
+ {"IVKGDMS", "2Kgs"}, // II Kings
+ {"IVKGS", "2Kgs"}, // II Kings
+ {"IVKINGDOMS", "2Kgs"}, // II Kings
+ {"IVKINGS", "2Kgs"}, // II Kings
+ {"IVMACCABEES", "4Macc"}, // IV Maccabees
+ {"J", "Josh"}, // Joshua
+ {"JAMES", "Jas"}, // James
+ {"JAS", "Jas"}, // James
+ {"JB", "Job"}, // Job
+ {"JD", "Judg"}, // Judges
+ {"JDGS", "Judg"}, // Judges
+ {"JDT", "Jdt"}, // Judith
+ {"JER", "Jer"}, // Jeremiah
+ {"JEREMIAH", "Jer"}, // Jeremiah
+ {"JHN", "John"}, // John
+ {"JN", "John"}, // John
+ {"JO", "John"}, // John
+ {"JOB", "Job"}, // Job
+ {"JOEL", "Joel"}, // Joel
+ {"JOHN", "John"}, // John
+ {"JOL", "Joel"}, // Joel
+ {"JONAH", "Jonah"}, // Jonah
+ {"JOSH", "Josh"}, // Joshua
+ {"JOSHUA", "Josh"}, // Joshua
+ {"JS", "Josh"}, // Joshua
+ {"JU", "Jude"}, // Jude
+ {"JUB", "Jub"}, // Jubilees
+ {"JUBILEES", "Jub"}, // Jubilees
+ {"JUDE", "Jude"}, // Jude
+ {"JUDG", "Judg"}, // Judges
+ {"JUDGES", "Judg"}, // Judges
+ {"JUDITH", "Jdt"}, // Judith
+ {"L", "Luke"}, // Luke
+ {"LAM", "Lam"}, // Lamentations
+ {"LAMENTATIONS", "Lam"}, // Lamentations
+ {"LAO", "EpLao"}, // Laodiceans
+ {"LAODICEANS", "EpLao"}, // Laodiceans
+ {"LE", "Lev"}, // Leviticus
+ {"LETJER", "EpJer"}, // Epistle of Jeremiah
+ {"LETTER OF JEREMIAH", "EpJer"}, // Epistle of Jeremiah
+ {"LEV", "Lev"}, // Leviticus
+ {"LEVITICUS", "Lev"}, // Leviticus
+ {"LK", "Luke"}, // Luke
+ {"LUKE", "Luke"}, // Luke
+ {"LV", "Lev"}, // Leviticus
+ {"MA", "Matt"}, // Matthew
+ {"MAL", "Mal"}, // Malachi
+ {"MALACHI", "Mal"}, // Malachi
+ {"MAN", "PrMan"}, // Prayer of Manasses
+ {"MANASSEH", "PrMan"}, // Prayer of Manasses
+ {"MANASSES", "PrMan"}, // Prayer of Manasses
+ {"MARK", "Mark"}, // Mark
+ {"MATT", "Matt"}, // Matthew
+ {"MATTHEW", "Matt"}, // Matthew
+ {"MIC", "Mic"}, // Micah
+ {"MICAH", "Mic"}, // Micah
+ {"MK", "Mark"}, // Mark
+ {"MRK", "Mark"}, // Mark
+ {"MT", "Matt"}, // Matthew
+ {"N", "Num"}, // Numbers
+ {"NAH", "Nah"}, // Nahum
+ {"NAHUM", "Nah"}, // Nahum
+ {"NAM", "Nah"}, // Nahum
+ {"NEH", "Neh"}, // Nehemiah
+ {"NEHEMIAH", "Neh"}, // Nehemiah
+ {"NM", "Num"}, // Numbers
+ {"NUM", "Num"}, // Numbers
+ {"NUMBERS", "Num"}, // Numbers
+ {"OBAD", "Obad"}, // Obadiah
+ {"OBADIAH", "Obad"}, // Obadiah
+ {"ODES", "Odes"}, // Odes
+ {"P", "Ps"}, // Psalms
+ {"PARALEIPOMENA JEREMIOU", "4Bar"}, // IV Baruch
+ {"PARALIPOMENA OF JEREMIAH", "4Bar"}, // IV Baruch
+ {"PHIL", "Phil"}, // Philippians
+ {"PHILEMON", "Phlm"}, // Philemon
+ {"PHILIPPIANS", "Phil"}, // Philippians
+ {"PHLM", "Phlm"}, // Philemon
+ {"PHM", "Phlm"}, // Philemon
+ {"PHP", "Phil"}, // Philippians
+ {"PR", "Prov"}, // Proverbs
+ {"PRA", "PrAzar"}, // Prayer of Azariah
+ {"PRAYER OF AZARIAH", "PrAzar"}, // Prayer of Azariah
+ {"PRAYER OF MANASSEH", "PrMan"}, // Prayer of Manasses
+ {"PRAYER OF MANASSES", "PrMan"}, // Prayer of Manasses
+ {"PRAZAR", "PrAzar"}, // Prayer of Azariah
+ {"PRM", "PrMan"}, // Prayer of Manasses
+ {"PRMAN", "PrMan"}, // Prayer of Manasses
+ {"PROV", "Prov"}, // Proverbs
+ {"PROVERBS", "Prov"}, // Proverbs
+ {"PS", "Ps"}, // Psalms
+// {"PS 151", "AddPs"}, // Additional Psalm
+// {"PS151", "AddPs"}, // Additional Psalm
+ {"PSALM", "Ps"}, // Psalms
+// {"PSALM 151", "AddPs"}, // Additional Psalm
+// {"PSALM151", "AddPs"}, // Additional Psalm
+ {"PSALMS", "Ps"}, // Psalms
+ {"PSALMS OF SOLOMON", "PssSol"}, // Psalms of Solomon
+ {"PSM", "Ps"}, // Psalms
+ {"PSS", "Ps"}, // Psalms
+ {"PSSSOL", "PssSol"}, // Psalms of Solomon
+ {"QOHELET", "Eccl"}, // Ecclesiastes
+ {"QOHELETH", "Eccl"}, // Ecclesiastes
+ {"REV", "Rev"}, // Revelation of John
+ {"REVELATION OF JOHN", "Rev"}, // Revelation of John
+ {"ROM", "Rom"}, // Romans
+ {"ROMANS", "Rom"}, // Romans
+ {"RUTH", "Ruth"}, // Ruth
+ {"S", "Song"}, // Song of Solomon
+// {"S3Y", "PrAzar"}, // Prayer of Azariah
+ {"SI", "Sir"}, // Sirach
+ {"SIP", "SirP"}, // Sirach (Prologue)
+ {"SIR", "Sir"}, // Sirach
+ {"SIRACH", "Sir"}, // Sirach
+ {"SIRACH (PROLOGUE)", "SirP"}, // Sirach (Prologue)
+ {"SIRP", "SirP"}, // Sirach (Prologue)
+ {"SNG", "Song"}, // Song of Solomon
+ {"SOLOMON", "Song"}, // Song of Solomon
+ {"SONG", "Song"}, // Song of Solomon
+ {"SONG OF SOLOMON", "Song"}, // Song of Solomon
+ {"SONG OF SONGS", "Song"}, // Song of Solomon
+ {"SONG OF THE THREE CHILDREN", "PrAzar"}, // Prayer of Azariah
+ {"SUS", "Sus"}, // Susanna
+ {"SUSANNA", "Sus"}, // Susanna
+ {"SYRIAC APOCALYPSE OF BARUCH", "2Bar"}, // 2Baruch
+ {"T", "Titus"}, // Titus
+ {"TB", "Tob"}, // Tobit
+ {"TBT", "Tob"}, // Tobit
+ {"TITUS", "Titus"}, // Titus
+ {"TOB", "Tob"}, // Tobit
+ {"TOBIT", "Tob"}, // Tobit
+ {"WIS", "Wis"}, // Wisdom
+ {"WISDOM", "Wis"}, // Wisdom
+ {"WISDOM OF BEN SIRA", "Sir"}, // Sirach
+ {"WISDOM OF JESUS SON OF SIRACH", "Sir"}, // Sirach
+ {"WISDOM OF SOLOMON", "Wis"}, // Wisdom
+ {"ZECH", "Zech"}, // Zechariah
+ {"ZECHARIAH", "Zech"}, // Zechariah
+ {"ZEPH", "Zeph"}, // Zephaniah
+ {"ZEPHANIAH", "Zeph"}, // Zephaniah
+ {"", ""}
+};
+
+
+SWORD_NAMESPACE_END
+
+
+#endif
diff --git a/include/canon_kjva.h b/include/canon_kjva.h
new file mode 100644
index 0000000..866ec83
--- /dev/null
+++ b/include/canon_kjva.h
@@ -0,0 +1,262 @@
+/******************************************************************************
+ * canon_kjva.h - Versification data for the KJVA system
+ *
+ * Copyright 2009 CrossWire Bible Society (http://www.crosswire.org)
+ * CrossWire Bible Society
+ * P. O. Box 2528
+ * Tempe, AZ 85280-2528
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation version 2.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ */
+
+#ifndef CANON_KJVA_H
+#define CANON_KJVA_H
+
+SWORD_NAMESPACE_START
+
+
+// Versification system: KJVA
+// Book order: Gen Exod Lev Num Deut Josh Judg Ruth 1Sam 2Sam 1Kgs 2Kgs 1Chr 2Chr Ezra Neh Esth Job Ps Prov Eccl Song Isa Jer Lam Ezek Dan Hos Joel Amos Obad Jonah Mic Nah Hab Zeph Hag Zech Mal 1Esd 2Esd Tob Jdt AddEsth Wis Sir Bar PrAzar Sus Bel PrMan 1Macc 2Macc Matt Mark Luke John Acts Rom 1Cor 2Cor Gal Eph Phil Col 1Thess 2Thess 1Tim 2Tim Titus Phlm Heb Jas 1Pet 2Pet 1John 2John 3John Jude Rev
+
+/******************************************************************************
+ * [on]tbooks_kjva - initialize static instance for all canonical
+ * text names and chapmax
+ */
+struct sbook otbooks_kjva[] = {
+ {"Genesis", "Gen", "Gen", 50},
+ {"Exodus", "Exod", "Exod", 40},
+ {"Leviticus", "Lev", "Lev", 27},
+ {"Numbers", "Num", "Num", 36},
+ {"Deuteronomy", "Deut", "Deut", 34},
+ {"Joshua", "Josh", "Josh", 24},
+ {"Judges", "Judg", "Judg", 21},
+ {"Ruth", "Ruth", "Ruth", 4},
+ {"I Samuel", "1Sam", "1Sam", 31},
+ {"II Samuel", "2Sam", "2Sam", 24},
+ {"I Kings", "1Kgs", "1Kgs", 22},
+ {"II Kings", "2Kgs", "2Kgs", 25},
+ {"I Chronicles", "1Chr", "1Chr", 29},
+ {"II Chronicles", "2Chr", "2Chr", 36},
+ {"Ezra", "Ezra", "Ezra", 10},
+ {"Nehemiah", "Neh", "Neh", 13},
+ {"Esther", "Esth", "Esth", 10},
+ {"Job", "Job", "Job", 42},
+ {"Psalms", "Ps", "Ps", 150},
+ {"Proverbs", "Prov", "Prov", 31},
+ {"Ecclesiastes", "Eccl", "Eccl", 12},
+ {"Song of Solomon", "Song", "Song", 8},
+ {"Isaiah", "Isa", "Isa", 66},
+ {"Jeremiah", "Jer", "Jer", 52},
+ {"Lamentations", "Lam", "Lam", 5},
+ {"Ezekiel", "Ezek", "Ezek", 48},
+ {"Daniel", "Dan", "Dan", 12},
+ {"Hosea", "Hos", "Hos", 14},
+ {"Joel", "Joel", "Joel", 3},
+ {"Amos", "Amos", "Amos", 9},
+ {"Obadiah", "Obad", "Obad", 1},
+ {"Jonah", "Jonah", "Jonah", 4},
+ {"Micah", "Mic", "Mic", 7},
+ {"Nahum", "Nah", "Nah", 3},
+ {"Habakkuk", "Hab", "Hab", 3},
+ {"Zephaniah", "Zeph", "Zeph", 3},
+ {"Haggai", "Hag", "Hag", 2},
+ {"Zechariah", "Zech", "Zech", 14},
+ {"Malachi", "Mal", "Mal", 4},
+ {"I Esdras", "1Esd", "1Esd", 9},
+ {"II Esdras", "2Esd", "2Esd", 16},
+ {"Tobit", "Tob", "Tob", 14},
+ {"Judith", "Jdt", "Jdt", 16},
+ {"Additions to Esther", "AddEsth", "AddEsth", 16},
+ {"Wisdom", "Wis", "Wis", 19},
+ {"Sirach", "Sir", "Sir", 51},
+ {"Baruch", "Bar", "Bar", 6},
+ {"Prayer of Azariah", "PrAzar", "PrAzar", 1},
+ {"Susanna", "Sus", "Sus", 1},
+ {"Bel and the Dragon", "Bel", "Bel", 1},
+ {"Prayer of Manasses", "PrMan", "PrMan", 1},
+ {"I Maccabees", "1Macc", "1Macc", 16},
+ {"II Maccabees", "2Macc", "2Macc", 15},
+ {"", "", "", 0}
+};
+
+// for ntbooks_kjva, use ntbooks
+
+/******************************************************************************
+ * Maximum verses per chapter
+ */
+
+int vm_kjva[] = {
+ // Genesis
+ 31, 25, 24, 26, 32, 22, 24, 22, 29, 32, 32, 20, 18, 24, 21, 16, 27, 33, 38, 18, 34, 24, 20, 67, 34, 35, 46, 22, 35, 43, 55, 32, 20, 31, 29, 43, 36, 30, 23, 23, 57, 38, 34, 34, 28, 34, 31, 22, 33, 26,
+ // Exodus
+ 22, 25, 22, 31, 23, 30, 25, 32, 35, 29, 10, 51, 22, 31, 27, 36, 16, 27, 25, 26, 36, 31, 33, 18, 40, 37, 21, 43, 46, 38, 18, 35, 23, 35, 35, 38, 29, 31, 43, 38,
+ // Leviticus
+ 17, 16, 17, 35, 19, 30, 38, 36, 24, 20, 47, 8, 59, 57, 33, 34, 16, 30, 37, 27, 24, 33, 44, 23, 55, 46, 34,
+ // Numbers
+ 54, 34, 51, 49, 31, 27, 89, 26, 23, 36, 35, 16, 33, 45, 41, 50, 13, 32, 22, 29, 35, 41, 30, 25, 18, 65, 23, 31, 40, 16, 54, 42, 56, 29, 34, 13,
+ // Deuteronomy
+ 46, 37, 29, 49, 33, 25, 26, 20, 29, 22, 32, 32, 18, 29, 23, 22, 20, 22, 21, 20, 23, 30, 25, 22, 19, 19, 26, 68, 29, 20, 30, 52, 29, 12,
+ // Joshua
+ 18, 24, 17, 24, 15, 27, 26, 35, 27, 43, 23, 24, 33, 15, 63, 10, 18, 28, 51, 9, 45, 34, 16, 33,
+ // Judges
+ 36, 23, 31, 24, 31, 40, 25, 35, 57, 18, 40, 15, 25, 20, 20, 31, 13, 31, 30, 48, 25,
+ // Ruth
+ 22, 23, 18, 22,
+ // I Samuel
+ 28, 36, 21, 22, 12, 21, 17, 22, 27, 27, 15, 25, 23, 52, 35, 23, 58, 30, 24, 42, 15, 23, 29, 22, 44, 25, 12, 25, 11, 31, 13,
+ // II Samuel
+ 27, 32, 39, 12, 25, 23, 29, 18, 13, 19, 27, 31, 39, 33, 37, 23, 29, 33, 43, 26, 22, 51, 39, 25,
+ // I Kings
+ 53, 46, 28, 34, 18, 38, 51, 66, 28, 29, 43, 33, 34, 31, 34, 34, 24, 46, 21, 43, 29, 53,
+ // II Kings
+ 18, 25, 27, 44, 27, 33, 20, 29, 37, 36, 21, 21, 25, 29, 38, 20, 41, 37, 37, 21, 26, 20, 37, 20, 30,
+ // I Chronicles
+ 54, 55, 24, 43, 26, 81, 40, 40, 44, 14, 47, 40, 14, 17, 29, 43, 27, 17, 19, 8, 30, 19, 32, 31, 31, 32, 34, 21, 30,
+ // II Chronicles
+ 17, 18, 17, 22, 14, 42, 22, 18, 31, 19, 23, 16, 22, 15, 19, 14, 19, 34, 11, 37, 20, 12, 21, 27, 28, 23, 9, 27, 36, 27, 21, 33, 25, 33, 27, 23,
+ // Ezra
+ 11, 70, 13, 24, 17, 22, 28, 36, 15, 44,
+ // Nehemiah
+ 11, 20, 32, 23, 19, 19, 73, 18, 38, 39, 36, 47, 31,
+ // Esther
+ 22, 23, 15, 17, 14, 14, 10, 17, 32, 3,
+ // Job
+ 22, 13, 26, 21, 27, 30, 21, 22, 35, 22, 20, 25, 28, 22, 35, 22, 16, 21, 29, 29, 34, 30, 17, 25, 6, 14, 23, 28, 25, 31, 40, 22, 33, 37, 16, 33, 24, 41, 30, 24, 34, 17,
+ // Psalms
+ 6, 12, 8, 8, 12, 10, 17, 9, 20, 18, 7, 8, 6, 7, 5, 11, 15, 50, 14, 9, 13, 31, 6, 10, 22, 12, 14, 9, 11, 12, 24, 11, 22, 22, 28, 12, 40, 22, 13, 17, 13, 11, 5, 26, 17, 11, 9, 14, 20, 23, 19, 9, 6, 7, 23, 13, 11, 11, 17, 12, 8, 12, 11, 10, 13, 20, 7, 35, 36, 5, 24, 20, 28, 23, 10, 12, 20, 72, 13, 19, 16, 8, 18, 12, 13, 17, 7, 18, 52, 17, 16, 15, 5, 23, 11, 13, 12, 9, 9, 5, 8, 28, 22, 35, 45, 48, 43, 13, 31, 7, 10, 10, 9, 8, 18, 19, 2, 29, 176, 7, 8, 9, 4, 8, 5, 6, 5, 6, 8, 8, 3, 18, 3, 3, 21, 26, 9, 8, 24, 13, 10, 7, 12, 15, 21, 10, 20, 14, 9, 6,
+ // Proverbs
+ 33, 22, 35, 27, 23, 35, 27, 36, 18, 32, 31, 28, 25, 35, 33, 33, 28, 24, 29, 30, 31, 29, 35, 34, 28, 28, 27, 28, 27, 33, 31,
+ // Ecclesiastes
+ 18, 26, 22, 16, 20, 12, 29, 17, 18, 20, 10, 14,
+ // Song of Solomon
+ 17, 17, 11, 16, 16, 13, 13, 14,
+ // Isaiah
+ 31, 22, 26, 6, 30, 13, 25, 22, 21, 34, 16, 6, 22, 32, 9, 14, 14, 7, 25, 6, 17, 25, 18, 23, 12, 21, 13, 29, 24, 33, 9, 20, 24, 17, 10, 22, 38, 22, 8, 31, 29, 25, 28, 28, 25, 13, 15, 22, 26, 11, 23, 15, 12, 17, 13, 12, 21, 14, 21, 22, 11, 12, 19, 12, 25, 24,
+ // Jeremiah
+ 19, 37, 25, 31, 31, 30, 34, 22, 26, 25, 23, 17, 27, 22, 21, 21, 27, 23, 15, 18, 14, 30, 40, 10, 38, 24, 22, 17, 32, 24, 40, 44, 26, 22, 19, 32, 21, 28, 18, 16, 18, 22, 13, 30, 5, 28, 7, 47, 39, 46, 64, 34,
+ // Lamentations
+ 22, 22, 66, 22, 22,
+ // Ezekiel
+ 28, 10, 27, 17, 17, 14, 27, 18, 11, 22, 25, 28, 23, 23, 8, 63, 24, 32, 14, 49, 32, 31, 49, 27, 17, 21, 36, 26, 21, 26, 18, 32, 33, 31, 15, 38, 28, 23, 29, 49, 26, 20, 27, 31, 25, 24, 23, 35,
+ // Daniel
+ 21, 49, 30, 37, 31, 28, 28, 27, 27, 21, 45, 13,
+ // Hosea
+ 11, 23, 5, 19, 15, 11, 16, 14, 17, 15, 12, 14, 16, 9,
+ // Joel
+ 20, 32, 21,
+ // Amos
+ 15, 16, 15, 13, 27, 14, 17, 14, 15,
+ // Obadiah
+ 21,
+ // Jonah
+ 17, 10, 10, 11,
+ // Micah
+ 16, 13, 12, 13, 15, 16, 20,
+ // Nahum
+ 15, 13, 19,
+ // Habakkuk
+ 17, 20, 19,
+ // Zephaniah
+ 18, 15, 20,
+ // Haggai
+ 15, 23,
+ // Zechariah
+ 21, 13, 10, 14, 11, 15, 14, 23, 17, 12, 17, 14, 9, 21,
+ // Malachi
+ 14, 17, 18, 6,
+ // I Esdras
+ 58, 30, 24, 63, 73, 34, 15, 96, 55,
+ // II Esdras
+ 40, 48, 36, 52, 56, 59, 70, 63, 47, 59, 46, 51, 58, 48, 63, 78,
+ // Tobit
+ 22, 14, 17, 21, 22, 17, 18, 21, 6, 12, 19, 22, 18, 15,
+ // Judith
+ 16, 28, 10, 15, 24, 21, 32, 36, 14, 23, 23, 20, 20, 19, 13, 25,
+ // Additions to Esther
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 13, 12, 6, 18, 19, 16, 24,
+ // Wisdom
+ 16, 24, 19, 20, 23, 25, 30, 21, 18, 21, 26, 27, 19, 31, 19, 29, 21, 25, 22,
+ // Sirach
+ 30, 18, 31, 31, 15, 37, 36, 19, 18, 31, 34, 18, 26, 27, 20, 30, 32, 33, 30, 32, 28, 27, 28, 34, 26, 29, 30, 26, 28, 25, 31, 24, 31, 26, 20, 26, 31, 34, 35, 30, 24, 25, 33, 22, 26, 20, 25, 25, 16, 29, 30,
+ // Baruch
+ 22, 35, 37, 37, 9, 73,
+ // Prayer of Azariah
+ 68,
+ // Susanna
+ 64,
+ // Bel and the Dragon
+ 42,
+ // Prayer of Manasses
+ 1,
+ // I Maccabees
+ 64, 70, 60, 61, 68, 63, 50, 32, 73, 89, 74, 53, 53, 49, 41, 24,
+ // II Maccabees
+ 36, 32, 40, 50, 27, 31, 42, 36, 29, 38, 38, 45, 26, 46, 39,
+ // Matthew
+ 25, 23, 17, 25, 48, 34, 29, 34, 38, 42, 30, 50, 58, 36, 39, 28, 27, 35, 30, 34, 46, 46, 39, 51, 46, 75, 66, 20,
+ // Mark
+ 45, 28, 35, 41, 43, 56, 37, 38, 50, 52, 33, 44, 37, 72, 47, 20,
+ // Luke
+ 80, 52, 38, 44, 39, 49, 50, 56, 62, 42, 54, 59, 35, 35, 32, 31, 37, 43, 48, 47, 38, 71, 56, 53,
+ // John
+ 51, 25, 36, 54, 47, 71, 53, 59, 41, 42, 57, 50, 38, 31, 27, 33, 26, 40, 42, 31, 25,
+ // Acts
+ 26, 47, 26, 37, 42, 15, 60, 40, 43, 48, 30, 25, 52, 28, 41, 40, 34, 28, 41, 38, 40, 30, 35, 27, 27, 32, 44, 31,
+ // Romans
+ 32, 29, 31, 25, 21, 23, 25, 39, 33, 21, 36, 21, 14, 23, 33, 27,
+ // I Corinthians
+ 31, 16, 23, 21, 13, 20, 40, 13, 27, 33, 34, 31, 13, 40, 58, 24,
+ // II Corinthians
+ 24, 17, 18, 18, 21, 18, 16, 24, 15, 18, 33, 21, 14,
+ // Galatians
+ 24, 21, 29, 31, 26, 18,
+ // Ephesians
+ 23, 22, 21, 32, 33, 24,
+ // Philippians
+ 30, 30, 21, 23,
+ // Colossians
+ 29, 23, 25, 18,
+ // I Thessalonians
+ 10, 20, 13, 18, 28,
+ // II Thessalonians
+ 12, 17, 18,
+ // I Timothy
+ 20, 15, 16, 16, 25, 21,
+ // II Timothy
+ 18, 26, 17, 22,
+ // Titus
+ 16, 15, 15,
+ // Philemon
+ 25,
+ // Hebrews
+ 14, 18, 19, 16, 14, 20, 28, 13, 28, 39, 40, 29, 25,
+ // James
+ 27, 26, 18, 17, 20,
+ // I Peter
+ 25, 25, 22, 19, 14,
+ // II Peter
+ 21, 22, 18,
+ // I John
+ 10, 29, 24, 21, 21,
+ // II John
+ 13,
+ // III John
+ 14,
+ // Jude
+ 25,
+ // Revelation of John
+ 20, 29, 22, 11, 14, 17, 17, 13, 21, 11, 19, 17, 18, 20, 8, 21, 18, 24, 21, 15, 27, 21
+};
+
+
+SWORD_NAMESPACE_END
+
+
+#endif
diff --git a/include/canon_leningrad.h b/include/canon_leningrad.h
new file mode 100644
index 0000000..54b1669
--- /dev/null
+++ b/include/canon_leningrad.h
@@ -0,0 +1,166 @@
+/******************************************************************************
+ * canon_leningrad.h - Versification data for the Leningrad system
+ *
+ * Copyright 2009 CrossWire Bible Society (http://www.crosswire.org)
+ * CrossWire Bible Society
+ * P. O. Box 2528
+ * Tempe, AZ 85280-2528
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation version 2.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ */
+
+#ifndef CANON_LENINGRAD_H
+#define CANON_LENINGRAD_H
+
+SWORD_NAMESPACE_START
+
+
+// Versification system: Leningrad
+// Book order: Gen Exod Lev Num Deut Josh Judg 1Sam 2Sam 1Kgs 2Kgs Isa Jer Ezek Hos Joel Amos Obad Jonah Mic Nah Hab Zeph Hag Zech Mal 1Chr 2Chr Ps Job Prov Ruth Song Eccl Lam Esth Dan Ezra Neh
+
+/******************************************************************************
+ * [on]tbooks_leningrad - initialize static instance for all canonical
+ * text names and chapmax
+ */
+struct sbook otbooks_leningrad[] = {
+ {"Genesis", "Gen", "Gen", 50},
+ {"Exodus", "Exod", "Exod", 40},
+ {"Leviticus", "Lev", "Lev", 27},
+ {"Numbers", "Num", "Num", 36},
+ {"Deuteronomy", "Deut", "Deut", 34},
+ {"Joshua", "Josh", "Josh", 24},
+ {"Judges", "Judg", "Judg", 21},
+ {"I Samuel", "1Sam", "1Sam", 31},
+ {"II Samuel", "2Sam", "2Sam", 24},
+ {"I Kings", "1Kgs", "1Kgs", 22},
+ {"II Kings", "2Kgs", "2Kgs", 25},
+ {"Isaiah", "Isa", "Isa", 66},
+ {"Jeremiah", "Jer", "Jer", 52},
+ {"Ezekiel", "Ezek", "Ezek", 48},
+ {"Hosea", "Hos", "Hos", 14},
+ {"Joel", "Joel", "Joel", 4},
+ {"Amos", "Amos", "Amos", 9},
+ {"Obadiah", "Obad", "Obad", 1},
+ {"Jonah", "Jonah", "Jonah", 4},
+ {"Micah", "Mic", "Mic", 7},
+ {"Nahum", "Nah", "Nah", 3},
+ {"Habakkuk", "Hab", "Hab", 3},
+ {"Zephaniah", "Zeph", "Zeph", 3},
+ {"Haggai", "Hag", "Hag", 2},
+ {"Zechariah", "Zech", "Zech", 14},
+ {"Malachi", "Mal", "Mal", 3},
+ {"I Chronicles", "1Chr", "1Chr", 29},
+ {"II Chronicles", "2Chr", "2Chr", 36},
+ {"Psalms", "Ps", "Ps", 150},
+ {"Job", "Job", "Job", 42},
+ {"Proverbs", "Prov", "Prov", 31},
+ {"Ruth", "Ruth", "Ruth", 4},
+ {"Song of Solomon", "Song", "Song", 8},
+ {"Ecclesiastes", "Eccl", "Eccl", 12},
+ {"Lamentations", "Lam", "Lam", 5},
+ {"Esther", "Esth", "Esth", 10},
+ {"Daniel", "Dan", "Dan", 12},
+ {"Ezra", "Ezra", "Ezra", 10},
+ {"Nehemiah", "Neh", "Neh", 13},
+ {"", "", "", 0}
+};
+
+// for ntbooks_mt, use ntbooks_null
+
+/******************************************************************************
+ * Maximum verses per chapter
+ */
+
+int vm_leningrad[] = {
+ // Genesis
+ 31, 25, 24, 26, 32, 22, 24, 22, 29, 32, 32, 20, 18, 24, 21, 16, 27, 33, 38, 18, 34, 24, 20, 67, 34, 35, 46, 22, 35, 43, 54, 33, 20, 31, 29, 43, 36, 30, 23, 23, 57, 38, 34, 34, 28, 34, 31, 22, 33, 26,
+ // Exodus
+ 22, 25, 22, 31, 23, 30, 29, 28, 35, 29, 10, 51, 22, 31, 27, 36, 16, 27, 25, 26, 37, 30, 33, 18, 40, 37, 21, 43, 46, 38, 18, 35, 23, 35, 35, 38, 29, 31, 43, 38,
+ // Leviticus
+ 17, 16, 17, 35, 26, 23, 38, 36, 24, 20, 47, 8, 59, 57, 33, 34, 16, 30, 37, 27, 24, 33, 44, 23, 55, 46, 34,
+ // Numbers
+ 54, 34, 51, 49, 31, 27, 89, 26, 23, 36, 35, 16, 33, 45, 41, 35, 28, 32, 22, 29, 35, 41, 30, 25, 19, 65, 23, 31, 39, 17, 54, 42, 56, 29, 34, 13,
+ // Deuteronomy
+ 46, 37, 29, 49, 33, 25, 26, 20, 29, 22, 32, 31, 19, 29, 23, 22, 20, 22, 21, 20, 23, 29, 26, 22, 19, 19, 26, 69, 28, 20, 30, 52, 29, 12,
+ // Joshua
+ 18, 24, 17, 24, 15, 27, 26, 35, 27, 43, 23, 24, 33, 15, 63, 10, 18, 28, 51, 9, 45, 34, 16, 33,
+ // Judges
+ 36, 23, 31, 24, 31, 40, 25, 35, 57, 18, 40, 15, 25, 20, 20, 31, 13, 31, 30, 48, 25,
+ // I Samuel
+ 28, 36, 21, 22, 12, 21, 17, 22, 27, 27, 15, 25, 23, 52, 35, 23, 58, 30, 24, 42, 16, 23, 28, 23, 44, 25, 12, 25, 11, 31, 13,
+ // II Samuel
+ 27, 32, 39, 12, 25, 23, 29, 18, 13, 19, 27, 31, 39, 33, 37, 23, 29, 32, 44, 26, 22, 51, 39, 25,
+ // I Kings
+ 53, 46, 28, 20, 32, 38, 51, 66, 28, 29, 43, 33, 34, 31, 34, 34, 24, 46, 21, 43, 29, 54,
+ // II Kings
+ 18, 25, 27, 44, 27, 33, 20, 29, 37, 36, 20, 22, 25, 29, 38, 20, 41, 37, 37, 21, 26, 20, 37, 20, 30,
+ // Isaiah
+ 31, 22, 26, 6, 30, 13, 25, 23, 20, 34, 16, 6, 22, 32, 9, 14, 14, 7, 25, 6, 17, 25, 18, 23, 12, 21, 13, 29, 24, 33, 9, 20, 24, 17, 10, 22, 38, 22, 8, 31, 29, 25, 28, 28, 25, 13, 15, 22, 26, 11, 23, 15, 12, 17, 13, 12, 21, 14, 21, 22, 11, 12, 19, 11, 25, 24,
+ // Jeremiah
+ 19, 37, 25, 31, 31, 30, 34, 23, 25, 25, 23, 17, 27, 22, 21, 21, 27, 23, 15, 18, 14, 30, 40, 10, 38, 24, 22, 17, 32, 24, 40, 44, 26, 22, 19, 32, 21, 28, 18, 16, 18, 22, 13, 30, 5, 28, 7, 47, 39, 46, 64, 34,
+ // Ezekiel
+ 28, 10, 27, 17, 17, 14, 27, 18, 11, 22, 25, 28, 23, 23, 8, 63, 24, 32, 14, 44, 37, 31, 49, 27, 17, 21, 36, 26, 21, 26, 18, 32, 33, 31, 15, 38, 28, 23, 29, 49, 26, 20, 27, 31, 25, 24, 23, 35,
+ // Hosea
+ 9, 25, 5, 19, 15, 11, 16, 14, 17, 15, 11, 15, 15, 10,
+ // Joel
+ 20, 27, 5, 21,
+ // Amos
+ 15, 16, 15, 13, 27, 14, 17, 14, 15,
+ // Obadiah
+ 21,
+ // Jonah
+ 16, 11, 10, 11,
+ // Micah
+ 16, 13, 12, 14, 14, 16, 20,
+ // Nahum
+ 14, 14, 19,
+ // Habakkuk
+ 17, 20, 19,
+ // Zephaniah
+ 18, 15, 20,
+ // Haggai
+ 15, 23,
+ // Zechariah
+ 17, 17, 10, 14, 11, 15, 14, 23, 17, 12, 17, 14, 9, 21,
+ // Malachi
+ 14, 17, 24,
+ // I Chronicles
+ 54, 55, 24, 43, 41, 66, 40, 40, 44, 14, 47, 41, 14, 17, 29, 43, 27, 17, 19, 8, 30, 19, 32, 31, 31, 32, 34, 21, 30,
+ // II Chronicles
+ 18, 17, 17, 22, 14, 42, 22, 18, 31, 19, 23, 16, 23, 14, 19, 14, 19, 34, 11, 37, 20, 12, 21, 27, 28, 23, 9, 27, 36, 27, 21, 33, 25, 33, 27, 23,
+ // Psalms
+ 6, 12, 9, 9, 13, 11, 18, 10, 21, 18, 7, 9, 6, 7, 5, 11, 15, 51, 15, 10, 14, 32, 6, 10, 22, 12, 14, 9, 11, 13, 25, 11, 22, 23, 28, 13, 40, 23, 14, 18, 14, 12, 5, 27, 18, 12, 10, 15, 21, 23, 21, 11, 7, 9, 24, 14, 12, 12, 18, 14, 9, 13, 12, 11, 14, 20, 8, 36, 37, 6, 24, 20, 28, 23, 11, 13, 21, 72, 13, 20, 17, 8, 19, 13, 14, 17, 7, 19, 53, 17, 16, 16, 5, 23, 11, 13, 12, 9, 9, 5, 8, 29, 22, 35, 45, 48, 43, 14, 31, 7, 10, 10, 9, 8, 18, 19, 2, 29, 176, 7, 8, 9, 4, 8, 5, 6, 5, 6, 8, 8, 3, 18, 3, 3, 21, 26, 9, 8, 24, 14, 10, 8, 12, 15, 21, 10, 20, 14, 9, 6,
+ // Job
+ 22, 13, 26, 21, 27, 30, 21, 22, 35, 22, 20, 25, 28, 22, 35, 22, 16, 21, 29, 29, 34, 30, 17, 25, 6, 14, 23, 28, 25, 31, 40, 22, 33, 37, 16, 33, 24, 41, 30, 32, 26, 17,
+ // Proverbs
+ 33, 22, 35, 27, 23, 35, 27, 36, 18, 32, 31, 28, 25, 35, 33, 33, 28, 24, 29, 30, 31, 29, 35, 34, 28, 28, 27, 28, 27, 33, 31,
+ // Ruth
+ 22, 23, 18, 22,
+ // Song of Solomon
+ 17, 17, 11, 16, 16, 12, 14, 14,
+ // Ecclesiastes
+ 18, 26, 22, 17, 19, 12, 29, 17, 18, 20, 10, 14,
+ // Lamentations
+ 22, 22, 66, 22, 22,
+ // Esther
+ 22, 23, 15, 17, 14, 14, 10, 17, 32, 3,
+ // Daniel
+ 21, 49, 33, 34, 30, 29, 28, 27, 27, 21, 45, 13,
+ // Ezra
+ 11, 70, 13, 24, 17, 22, 28, 36, 15, 44,
+ // Nehemiah
+ 11, 20, 38, 17, 19, 19, 72, 18, 37, 40, 36, 47, 31
+};
+
+
+SWORD_NAMESPACE_END
+
+
+#endif
diff --git a/include/canon_mt.h b/include/canon_mt.h
new file mode 100644
index 0000000..c350bb4
--- /dev/null
+++ b/include/canon_mt.h
@@ -0,0 +1,166 @@
+/******************************************************************************
+ * canon_mt.h - Versification data for the Masoretic Text (MT) system
+ *
+ * Copyright 2009 CrossWire Bible Society (http://www.crosswire.org)
+ * CrossWire Bible Society
+ * P. O. Box 2528
+ * Tempe, AZ 85280-2528
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation version 2.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ */
+
+#ifndef CANON_MT_H
+#define CANON_MT_H
+
+SWORD_NAMESPACE_START
+
+
+// Versification system: MT
+// Book order: Gen Exod Lev Num Deut Josh Judg 1Sam 2Sam 1Kgs 2Kgs Isa Jer Ezek Hos Joel Amos Obad Jonah Mic Nah Hab Zeph Hag Zech Mal Ps Job Prov Ruth Song Eccl Lam Esth Dan Ezra Neh 1Chr 2Chr
+
+/******************************************************************************
+ * [on]tbooks_mt - initialize static instance for all canonical
+ * text names and chapmax
+ */
+struct sbook otbooks_mt[] = {
+ {"Genesis", "Gen", "Gen", 50},
+ {"Exodus", "Exod", "Exod", 40},
+ {"Leviticus", "Lev", "Lev", 27},
+ {"Numbers", "Num", "Num", 36},
+ {"Deuteronomy", "Deut", "Deut", 34},
+ {"Joshua", "Josh", "Josh", 24},
+ {"Judges", "Judg", "Judg", 21},
+ {"I Samuel", "1Sam", "1Sam", 31},
+ {"II Samuel", "2Sam", "2Sam", 24},
+ {"I Kings", "1Kgs", "1Kgs", 22},
+ {"II Kings", "2Kgs", "2Kgs", 25},
+ {"Isaiah", "Isa", "Isa", 66},
+ {"Jeremiah", "Jer", "Jer", 52},
+ {"Ezekiel", "Ezek", "Ezek", 48},
+ {"Hosea", "Hos", "Hos", 14},
+ {"Joel", "Joel", "Joel", 4},
+ {"Amos", "Amos", "Amos", 9},
+ {"Obadiah", "Obad", "Obad", 1},
+ {"Jonah", "Jonah", "Jonah", 4},
+ {"Micah", "Mic", "Mic", 7},
+ {"Nahum", "Nah", "Nah", 3},
+ {"Habakkuk", "Hab", "Hab", 3},
+ {"Zephaniah", "Zeph", "Zeph", 3},
+ {"Haggai", "Hag", "Hag", 2},
+ {"Zechariah", "Zech", "Zech", 14},
+ {"Malachi", "Mal", "Mal", 3},
+ {"Psalms", "Ps", "Ps", 150},
+ {"Job", "Job", "Job", 42},
+ {"Proverbs", "Prov", "Prov", 31},
+ {"Ruth", "Ruth", "Ruth", 4},
+ {"Song of Solomon", "Song", "Song", 8},
+ {"Ecclesiastes", "Eccl", "Eccl", 12},
+ {"Lamentations", "Lam", "Lam", 5},
+ {"Esther", "Esth", "Esth", 10},
+ {"Daniel", "Dan", "Dan", 12},
+ {"Ezra", "Ezra", "Ezra", 10},
+ {"Nehemiah", "Neh", "Neh", 13},
+ {"I Chronicles", "1Chr", "1Chr", 29},
+ {"II Chronicles", "2Chr", "2Chr", 36},
+ {"", "", "", 0}
+};
+
+// for ntbooks_mt, use ntbooks_null
+
+/******************************************************************************
+ * Maximum verses per chapter
+ */
+
+int vm_mt[] = {
+ // Genesis
+ 31, 25, 24, 26, 32, 22, 24, 22, 29, 32, 32, 20, 18, 24, 21, 16, 27, 33, 38, 18, 34, 24, 20, 67, 34, 35, 46, 22, 35, 43, 54, 33, 20, 31, 29, 43, 36, 30, 23, 23, 57, 38, 34, 34, 28, 34, 31, 22, 33, 26,
+ // Exodus
+ 22, 25, 22, 31, 23, 30, 29, 28, 35, 29, 10, 51, 22, 31, 27, 36, 16, 27, 25, 26, 37, 30, 33, 18, 40, 37, 21, 43, 46, 38, 18, 35, 23, 35, 35, 38, 29, 31, 43, 38,
+ // Leviticus
+ 17, 16, 17, 35, 26, 23, 38, 36, 24, 20, 47, 8, 59, 57, 33, 34, 16, 30, 37, 27, 24, 33, 44, 23, 55, 46, 34,
+ // Numbers
+ 54, 34, 51, 49, 31, 27, 89, 26, 23, 36, 35, 16, 33, 45, 41, 35, 28, 32, 22, 29, 35, 41, 30, 25, 19, 65, 23, 31, 39, 17, 54, 42, 56, 29, 34, 13,
+ // Deuteronomy
+ 46, 37, 29, 49, 33, 25, 26, 20, 29, 22, 32, 31, 19, 29, 23, 22, 20, 22, 21, 20, 23, 29, 26, 22, 19, 19, 26, 69, 28, 20, 30, 52, 29, 12,
+ // Joshua
+ 18, 24, 17, 24, 15, 27, 26, 35, 27, 43, 23, 24, 33, 15, 63, 10, 18, 28, 51, 9, 45, 34, 16, 33,
+ // Judges
+ 36, 23, 31, 24, 31, 40, 25, 35, 57, 18, 40, 15, 25, 20, 20, 31, 13, 31, 30, 48, 25,
+ // I Samuel
+ 28, 36, 21, 22, 12, 21, 17, 22, 27, 27, 15, 25, 23, 52, 35, 23, 58, 30, 24, 42, 16, 23, 28, 23, 44, 25, 12, 25, 11, 31, 13,
+ // II Samuel
+ 27, 32, 39, 12, 25, 23, 29, 18, 13, 19, 27, 31, 39, 33, 37, 23, 29, 32, 44, 26, 22, 51, 39, 25,
+ // I Kings
+ 53, 46, 28, 20, 32, 38, 51, 66, 28, 29, 43, 33, 34, 31, 34, 34, 24, 46, 21, 43, 29, 54,
+ // II Kings
+ 18, 25, 27, 44, 27, 33, 20, 29, 37, 36, 20, 22, 25, 29, 38, 20, 41, 37, 37, 21, 26, 20, 37, 20, 30,
+ // Isaiah
+ 31, 22, 26, 6, 30, 13, 25, 23, 20, 34, 16, 6, 22, 32, 9, 14, 14, 7, 25, 6, 17, 25, 18, 23, 12, 21, 13, 29, 24, 33, 9, 20, 24, 17, 10, 22, 38, 22, 8, 31, 29, 25, 28, 28, 25, 13, 15, 22, 26, 11, 23, 15, 12, 17, 13, 12, 21, 14, 21, 22, 11, 12, 19, 11, 25, 24,
+ // Jeremiah
+ 19, 37, 25, 31, 31, 30, 34, 23, 25, 25, 23, 17, 27, 22, 21, 21, 27, 23, 15, 18, 14, 30, 40, 10, 38, 24, 22, 17, 32, 24, 40, 44, 26, 22, 19, 32, 21, 28, 18, 16, 18, 22, 13, 30, 5, 28, 7, 47, 39, 46, 64, 34,
+ // Ezekiel
+ 28, 10, 27, 17, 17, 14, 27, 18, 11, 22, 25, 28, 23, 23, 8, 63, 24, 32, 14, 44, 37, 31, 49, 27, 17, 21, 36, 26, 21, 26, 18, 32, 33, 31, 15, 38, 28, 23, 29, 49, 26, 20, 27, 31, 25, 24, 23, 35,
+ // Hosea
+ 9, 25, 5, 19, 15, 11, 16, 14, 17, 15, 11, 15, 15, 10,
+ // Joel
+ 20, 27, 5, 21,
+ // Amos
+ 15, 16, 15, 13, 27, 14, 17, 14, 15,
+ // Obadiah
+ 21,
+ // Jonah
+ 16, 11, 10, 11,
+ // Micah
+ 16, 13, 12, 14, 14, 16, 20,
+ // Nahum
+ 14, 14, 19,
+ // Habakkuk
+ 17, 20, 19,
+ // Zephaniah
+ 18, 15, 20,
+ // Haggai
+ 15, 23,
+ // Zechariah
+ 17, 17, 10, 14, 11, 15, 14, 23, 17, 12, 17, 14, 9, 21,
+ // Malachi
+ 14, 17, 24,
+ // Psalms
+ 6, 12, 9, 9, 13, 11, 18, 10, 21, 18, 7, 9, 6, 7, 5, 11, 15, 51, 15, 10, 14, 32, 6, 10, 22, 12, 14, 9, 11, 13, 25, 11, 22, 23, 28, 13, 40, 23, 14, 18, 14, 12, 5, 27, 18, 12, 10, 15, 21, 23, 21, 11, 7, 9, 24, 14, 12, 12, 18, 14, 9, 13, 12, 11, 14, 20, 8, 36, 37, 6, 24, 20, 28, 23, 11, 13, 21, 72, 13, 20, 17, 8, 19, 13, 14, 17, 7, 19, 53, 17, 16, 16, 5, 23, 11, 13, 12, 9, 9, 5, 8, 29, 22, 35, 45, 48, 43, 14, 31, 7, 10, 10, 9, 8, 18, 19, 2, 29, 176, 7, 8, 9, 4, 8, 5, 6, 5, 6, 8, 8, 3, 18, 3, 3, 21, 26, 9, 8, 24, 14, 10, 8, 12, 15, 21, 10, 20, 14, 9, 6,
+ // Job
+ 22, 13, 26, 21, 27, 30, 21, 22, 35, 22, 20, 25, 28, 22, 35, 22, 16, 21, 29, 29, 34, 30, 17, 25, 6, 14, 23, 28, 25, 31, 40, 22, 33, 37, 16, 33, 24, 41, 30, 32, 26, 17,
+ // Proverbs
+ 33, 22, 35, 27, 23, 35, 27, 36, 18, 32, 31, 28, 25, 35, 33, 33, 28, 24, 29, 30, 31, 29, 35, 34, 28, 28, 27, 28, 27, 33, 31,
+ // Ruth
+ 22, 23, 18, 22,
+ // Song of Solomon
+ 17, 17, 11, 16, 16, 12, 14, 14,
+ // Ecclesiastes
+ 18, 26, 22, 17, 19, 12, 29, 17, 18, 20, 10, 14,
+ // Lamentations
+ 22, 22, 66, 22, 22,
+ // Esther
+ 22, 23, 15, 17, 14, 14, 10, 17, 32, 3,
+ // Daniel
+ 21, 49, 33, 34, 30, 29, 28, 27, 27, 21, 45, 13,
+ // Ezra
+ 11, 70, 13, 24, 17, 22, 28, 36, 15, 44,
+ // Nehemiah
+ 11, 20, 38, 17, 19, 19, 72, 18, 37, 40, 36, 47, 31,
+ // I Chronicles
+ 54, 55, 24, 43, 41, 66, 40, 40, 44, 14, 47, 41, 14, 17, 29, 43, 27, 17, 19, 8, 30, 19, 32, 31, 31, 32, 34, 21, 30,
+ // II Chronicles
+ 18, 17, 17, 22, 14, 42, 22, 18, 31, 19, 23, 16, 23, 14, 19, 14, 19, 34, 11, 37, 20, 12, 21, 27, 28, 23, 9, 27, 36, 27, 21, 33, 25, 33, 27, 23
+};
+
+
+SWORD_NAMESPACE_END
+
+
+#endif
diff --git a/include/canon_nrsv.h b/include/canon_nrsv.h
new file mode 100644
index 0000000..d6042de
--- /dev/null
+++ b/include/canon_nrsv.h
@@ -0,0 +1,179 @@
+/******************************************************************************
+ * canon_nrsv.h - Versification data for the NRSV system
+ *
+ * Copyright 2009 CrossWire Bible Society (http://www.crosswire.org)
+ * CrossWire Bible Society
+ * P. O. Box 2528
+ * Tempe, AZ 85280-2528
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation version 2.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ */
+
+#ifndef CANON_NRSV_H
+#define CANON_NRSV_H
+
+SWORD_NAMESPACE_START
+
+
+// Versification system: NRSV
+// Book order: Gen Exod Lev Num Deut Josh Judg Ruth 1Sam 2Sam 1Kgs 2Kgs 1Chr 2Chr Ezra Neh Esth Job Ps Prov Eccl Song Isa Jer Lam Ezek Dan Hos Joel Amos Obad Jonah Mic Nah Hab Zeph Hag Zech Mal Matt Mark Luke John Acts Rom 1Cor 2Cor Gal Eph Phil Col 1Thess 2Thess 1Tim 2Tim Titus Phlm Heb Jas 1Pet 2Pet 1John 2John 3John Jude Rev
+
+/******************************************************************************
+ * [on]tbooks_nrsv - initialize static instance for all canonical
+ * text names and chapmax
+ */
+// for otbooks_nrsv, use otbooks
+
+// for ntbooks_nrsv, use ntbooks
+
+/******************************************************************************
+ * Maximum verses per chapter
+ */
+
+int vm_nrsv[] = {
+ // Genesis
+ 31, 25, 24, 26, 32, 22, 24, 22, 29, 32, 32, 20, 18, 24, 21, 16, 27, 33, 38, 18, 34, 24, 20, 67, 34, 35, 46, 22, 35, 43, 55, 32, 20, 31, 29, 43, 36, 30, 23, 23, 57, 38, 34, 34, 28, 34, 31, 22, 33, 26,
+ // Exodus
+ 22, 25, 22, 31, 23, 30, 25, 32, 35, 29, 10, 51, 22, 31, 27, 36, 16, 27, 25, 26, 36, 31, 33, 18, 40, 37, 21, 43, 46, 38, 18, 35, 23, 35, 35, 38, 29, 31, 43, 38,
+ // Leviticus
+ 17, 16, 17, 35, 19, 30, 38, 36, 24, 20, 47, 8, 59, 57, 33, 34, 16, 30, 37, 27, 24, 33, 44, 23, 55, 46, 34,
+ // Numbers
+ 54, 34, 51, 49, 31, 27, 89, 26, 23, 36, 35, 16, 33, 45, 41, 50, 13, 32, 22, 29, 35, 41, 30, 25, 18, 65, 23, 31, 40, 16, 54, 42, 56, 29, 34, 13,
+ // Deuteronomy
+ 46, 37, 29, 49, 33, 25, 26, 20, 29, 22, 32, 32, 18, 29, 23, 22, 20, 22, 21, 20, 23, 30, 25, 22, 19, 19, 26, 68, 29, 20, 30, 52, 29, 12,
+ // Joshua
+ 18, 24, 17, 24, 15, 27, 26, 35, 27, 43, 23, 24, 33, 15, 63, 10, 18, 28, 51, 9, 45, 34, 16, 33,
+ // Judges
+ 36, 23, 31, 24, 31, 40, 25, 35, 57, 18, 40, 15, 25, 20, 20, 31, 13, 31, 30, 48, 25,
+ // Ruth
+ 22, 23, 18, 22,
+ // I Samuel
+ 28, 36, 21, 22, 12, 21, 17, 22, 27, 27, 15, 25, 23, 52, 35, 23, 58, 30, 24, 42, 15, 23, 29, 22, 44, 25, 12, 25, 11, 31, 13,
+ // II Samuel
+ 27, 32, 39, 12, 25, 23, 29, 18, 13, 19, 27, 31, 39, 33, 37, 23, 29, 33, 43, 26, 22, 51, 39, 25,
+ // I Kings
+ 53, 46, 28, 34, 18, 38, 51, 66, 28, 29, 43, 33, 34, 31, 34, 34, 24, 46, 21, 43, 29, 53,
+ // II Kings
+ 18, 25, 27, 44, 27, 33, 20, 29, 37, 36, 21, 21, 25, 29, 38, 20, 41, 37, 37, 21, 26, 20, 37, 20, 30,
+ // I Chronicles
+ 54, 55, 24, 43, 26, 81, 40, 40, 44, 14, 47, 40, 14, 17, 29, 43, 27, 17, 19, 8, 30, 19, 32, 31, 31, 32, 34, 21, 30,
+ // II Chronicles
+ 17, 18, 17, 22, 14, 42, 22, 18, 31, 19, 23, 16, 22, 15, 19, 14, 19, 34, 11, 37, 20, 12, 21, 27, 28, 23, 9, 27, 36, 27, 21, 33, 25, 33, 27, 23,
+ // Ezra
+ 11, 70, 13, 24, 17, 22, 28, 36, 15, 44,
+ // Nehemiah
+ 11, 20, 32, 23, 19, 19, 73, 18, 38, 39, 36, 47, 31,
+ // Esther
+ 22, 23, 15, 17, 14, 14, 10, 17, 32, 3,
+ // Job
+ 22, 13, 26, 21, 27, 30, 21, 22, 35, 22, 20, 25, 28, 22, 35, 22, 16, 21, 29, 29, 34, 30, 17, 25, 6, 14, 23, 28, 25, 31, 40, 22, 33, 37, 16, 33, 24, 41, 30, 24, 34, 17,
+ // Psalms
+ 6, 12, 8, 8, 12, 10, 17, 9, 20, 18, 7, 8, 6, 7, 5, 11, 15, 50, 14, 9, 13, 31, 6, 10, 22, 12, 14, 9, 11, 12, 24, 11, 22, 22, 28, 12, 40, 22, 13, 17, 13, 11, 5, 26, 17, 11, 9, 14, 20, 23, 19, 9, 6, 7, 23, 13, 11, 11, 17, 12, 8, 12, 11, 10, 13, 20, 7, 35, 36, 5, 24, 20, 28, 23, 10, 12, 20, 72, 13, 19, 16, 8, 18, 12, 13, 17, 7, 18, 52, 17, 16, 15, 5, 23, 11, 13, 12, 9, 9, 5, 8, 28, 22, 35, 45, 48, 43, 13, 31, 7, 10, 10, 9, 8, 18, 19, 2, 29, 176, 7, 8, 9, 4, 8, 5, 6, 5, 6, 8, 8, 3, 18, 3, 3, 21, 26, 9, 8, 24, 13, 10, 7, 12, 15, 21, 10, 20, 14, 9, 6,
+ // Proverbs
+ 33, 22, 35, 27, 23, 35, 27, 36, 18, 32, 31, 28, 25, 35, 33, 33, 28, 24, 29, 30, 31, 29, 35, 34, 28, 28, 27, 28, 27, 33, 31,
+ // Ecclesiastes
+ 18, 26, 22, 16, 20, 12, 29, 17, 18, 20, 10, 14,
+ // Song of Solomon
+ 17, 17, 11, 16, 16, 13, 13, 14,
+ // Isaiah
+ 31, 22, 26, 6, 30, 13, 25, 22, 21, 34, 16, 6, 22, 32, 9, 14, 14, 7, 25, 6, 17, 25, 18, 23, 12, 21, 13, 29, 24, 33, 9, 20, 24, 17, 10, 22, 38, 22, 8, 31, 29, 25, 28, 28, 25, 13, 15, 22, 26, 11, 23, 15, 12, 17, 13, 12, 21, 14, 21, 22, 11, 12, 19, 12, 25, 24,
+ // Jeremiah
+ 19, 37, 25, 31, 31, 30, 34, 22, 26, 25, 23, 17, 27, 22, 21, 21, 27, 23, 15, 18, 14, 30, 40, 10, 38, 24, 22, 17, 32, 24, 40, 44, 26, 22, 19, 32, 21, 28, 18, 16, 18, 22, 13, 30, 5, 28, 7, 47, 39, 46, 64, 34,
+ // Lamentations
+ 22, 22, 66, 22, 22,
+ // Ezekiel
+ 28, 10, 27, 17, 17, 14, 27, 18, 11, 22, 25, 28, 23, 23, 8, 63, 24, 32, 14, 49, 32, 31, 49, 27, 17, 21, 36, 26, 21, 26, 18, 32, 33, 31, 15, 38, 28, 23, 29, 49, 26, 20, 27, 31, 25, 24, 23, 35,
+ // Daniel
+ 21, 49, 30, 37, 31, 28, 28, 27, 27, 21, 45, 13,
+ // Hosea
+ 11, 23, 5, 19, 15, 11, 16, 14, 17, 15, 12, 14, 16, 9,
+ // Joel
+ 20, 32, 21,
+ // Amos
+ 15, 16, 15, 13, 27, 14, 17, 14, 15,
+ // Obadiah
+ 21,
+ // Jonah
+ 17, 10, 10, 11,
+ // Micah
+ 16, 13, 12, 13, 15, 16, 20,
+ // Nahum
+ 15, 13, 19,
+ // Habakkuk
+ 17, 20, 19,
+ // Zephaniah
+ 18, 15, 20,
+ // Haggai
+ 15, 23,
+ // Zechariah
+ 21, 13, 10, 14, 11, 15, 14, 23, 17, 12, 17, 14, 9, 21,
+ // Malachi
+ 14, 17, 18, 6,
+ // Matthew
+ 25, 23, 17, 25, 48, 34, 29, 34, 38, 42, 30, 50, 58, 36, 39, 28, 27, 35, 30, 34, 46, 46, 39, 51, 46, 75, 66, 20,
+ // Mark
+ 45, 28, 35, 41, 43, 56, 37, 38, 50, 52, 33, 44, 37, 72, 47, 20,
+ // Luke
+ 80, 52, 38, 44, 39, 49, 50, 56, 62, 42, 54, 59, 35, 35, 32, 31, 37, 43, 48, 47, 38, 71, 56, 53,
+ // John
+ 51, 25, 36, 54, 47, 71, 53, 59, 41, 42, 57, 50, 38, 31, 27, 33, 26, 40, 42, 31, 25,
+ // Acts
+ 26, 47, 26, 37, 42, 15, 60, 40, 43, 48, 30, 25, 52, 28, 41, 40, 34, 28, 41, 38, 40, 30, 35, 27, 27, 32, 44, 31,
+ // Romans
+ 32, 29, 31, 25, 21, 23, 25, 39, 33, 21, 36, 21, 14, 23, 33, 27,
+ // I Corinthians
+ 31, 16, 23, 21, 13, 20, 40, 13, 27, 33, 34, 31, 13, 40, 58, 24,
+ // II Corinthians
+ 24, 17, 18, 18, 21, 18, 16, 24, 15, 18, 33, 21, 14,
+ // Galatians
+ 24, 21, 29, 31, 26, 18,
+ // Ephesians
+ 23, 22, 21, 32, 33, 24,
+ // Philippians
+ 30, 30, 21, 23,
+ // Colossians
+ 29, 23, 25, 18,
+ // I Thessalonians
+ 10, 20, 13, 18, 28,
+ // II Thessalonians
+ 12, 17, 18,
+ // I Timothy
+ 20, 15, 16, 16, 25, 21,
+ // II Timothy
+ 18, 26, 17, 22,
+ // Titus
+ 16, 15, 15,
+ // Philemon
+ 25,
+ // Hebrews
+ 14, 18, 19, 16, 14, 20, 28, 13, 28, 39, 40, 29, 25,
+ // James
+ 27, 26, 18, 17, 20,
+ // I Peter
+ 25, 25, 22, 19, 14,
+ // II Peter
+ 21, 22, 18,
+ // I John
+ 10, 29, 24, 21, 21,
+ // II John
+ 13,
+ // III John
+ 15,
+ // Jude
+ 25,
+ // Revelation of John
+ 20, 29, 22, 11, 14, 17, 17, 13, 21, 11, 19, 18, 18, 20, 8, 21, 18, 24, 21, 15, 27, 21
+};
+
+
+SWORD_NAMESPACE_END
+
+
+#endif
diff --git a/include/canon_nrsva.h b/include/canon_nrsva.h
new file mode 100644
index 0000000..47ada7d
--- /dev/null
+++ b/include/canon_nrsva.h
@@ -0,0 +1,271 @@
+/******************************************************************************
+ * canon_nrsva.h - Versification data for the NRSVA system
+ *
+ * Copyright 2009 CrossWire Bible Society (http://www.crosswire.org)
+ * CrossWire Bible Society
+ * P. O. Box 2528
+ * Tempe, AZ 85280-2528
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation version 2.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ */
+
+#ifndef CANON_NRSVA_H
+#define CANON_NRSVA_H
+
+SWORD_NAMESPACE_START
+
+
+// Versification system: NRSVA
+// Book order: Gen Exod Lev Num Deut Josh Judg Ruth 1Sam 2Sam 1Kgs 2Kgs 1Chr 2Chr Ezra Neh Esth Job Ps Prov Eccl Song Isa Jer Lam Ezek Dan Hos Joel Amos Obad Jonah Mic Nah Hab Zeph Hag Zech Mal Tob Jdt EsthGr Wis Sir Bar PrAzar Sus Bel 1Macc 2Macc 1Esd PrMan AddPs 3Macc 2Esd 4Macc Matt Mark Luke John Acts Rom 1Cor 2Cor Gal Eph Phil Col 1Thess 2Thess 1Tim 2Tim Titus Phlm Heb Jas 1Pet 2Pet 1John 2John 3John Jude Rev
+
+/******************************************************************************
+ * [on]tbooks_nrsva - initialize static instance for all canonical
+ * text names and chapmax
+ */
+struct sbook otbooks_nrsva[] = {
+ {"Genesis", "Gen", "Gen", 50},
+ {"Exodus", "Exod", "Exod", 40},
+ {"Leviticus", "Lev", "Lev", 27},
+ {"Numbers", "Num", "Num", 36},
+ {"Deuteronomy", "Deut", "Deut", 34},
+ {"Joshua", "Josh", "Josh", 24},
+ {"Judges", "Judg", "Judg", 21},
+ {"Ruth", "Ruth", "Ruth", 4},
+ {"I Samuel", "1Sam", "1Sam", 31},
+ {"II Samuel", "2Sam", "2Sam", 24},
+ {"I Kings", "1Kgs", "1Kgs", 22},
+ {"II Kings", "2Kgs", "2Kgs", 25},
+ {"I Chronicles", "1Chr", "1Chr", 29},
+ {"II Chronicles", "2Chr", "2Chr", 36},
+ {"Ezra", "Ezra", "Ezra", 10},
+ {"Nehemiah", "Neh", "Neh", 13},
+ {"Esther", "Esth", "Esth", 10},
+ {"Job", "Job", "Job", 42},
+ {"Psalms", "Ps", "Ps", 150},
+ {"Proverbs", "Prov", "Prov", 31},
+ {"Ecclesiastes", "Eccl", "Eccl", 12},
+ {"Song of Solomon", "Song", "Song", 8},
+ {"Isaiah", "Isa", "Isa", 66},
+ {"Jeremiah", "Jer", "Jer", 52},
+ {"Lamentations", "Lam", "Lam", 5},
+ {"Ezekiel", "Ezek", "Ezek", 48},
+ {"Daniel", "Dan", "Dan", 12},
+ {"Hosea", "Hos", "Hos", 14},
+ {"Joel", "Joel", "Joel", 3},
+ {"Amos", "Amos", "Amos", 9},
+ {"Obadiah", "Obad", "Obad", 1},
+ {"Jonah", "Jonah", "Jonah", 4},
+ {"Micah", "Mic", "Mic", 7},
+ {"Nahum", "Nah", "Nah", 3},
+ {"Habakkuk", "Hab", "Hab", 3},
+ {"Zephaniah", "Zeph", "Zeph", 3},
+ {"Haggai", "Hag", "Hag", 2},
+ {"Zechariah", "Zech", "Zech", 14},
+ {"Malachi", "Mal", "Mal", 4},
+ {"Tobit", "Tob", "Tob", 14},
+ {"Judith", "Jdt", "Jdt", 16},
+ {"Esther (Greek)", "EsthGr", "EsthGr", 16},
+ {"Wisdom", "Wis", "Wis", 19},
+ {"Sirach", "Sir", "Sir", 51},
+ {"Baruch", "Bar", "Bar", 6},
+ {"Prayer of Azariah", "PrAzar", "PrAzar", 1},
+ {"Susanna", "Sus", "Sus", 1},
+ {"Bel and the Dragon", "Bel", "Bel", 1},
+ {"I Maccabees", "1Macc", "1Macc", 16},
+ {"II Maccabees", "2Macc", "2Macc", 15},
+ {"I Esdras", "1Esd", "1Esd", 9},
+ {"Prayer of Manasses", "PrMan", "PrMan", 1},
+ {"Additional Psalm", "AddPs", "AddPs", 1},
+ {"III Maccabees", "3Macc", "3Macc", 7},
+ {"II Esdras", "2Esd", "2Esd", 16},
+ {"IV Maccabees", "4Macc", "4Macc", 18},
+ {"", "", "", 0}
+};
+
+// for ntbooks_nrsva, use ntbooks
+
+/******************************************************************************
+ * Maximum verses per chapter
+ */
+
+int vm_nrsva[] = {
+ // Genesis
+ 31, 25, 24, 26, 32, 22, 24, 22, 29, 32, 32, 20, 18, 24, 21, 16, 27, 33, 38, 18, 34, 24, 20, 67, 34, 35, 46, 22, 35, 43, 55, 32, 20, 31, 29, 43, 36, 30, 23, 23, 57, 38, 34, 34, 28, 34, 31, 22, 33, 26,
+ // Exodus
+ 22, 25, 22, 31, 23, 30, 25, 32, 35, 29, 10, 51, 22, 31, 27, 36, 16, 27, 25, 26, 36, 31, 33, 18, 40, 37, 21, 43, 46, 38, 18, 35, 23, 35, 35, 38, 29, 31, 43, 38,
+ // Leviticus
+ 17, 16, 17, 35, 19, 30, 38, 36, 24, 20, 47, 8, 59, 57, 33, 34, 16, 30, 37, 27, 24, 33, 44, 23, 55, 46, 34,
+ // Numbers
+ 54, 34, 51, 49, 31, 27, 89, 26, 23, 36, 35, 16, 33, 45, 41, 50, 13, 32, 22, 29, 35, 41, 30, 25, 18, 65, 23, 31, 40, 16, 54, 42, 56, 29, 34, 13,
+ // Deuteronomy
+ 46, 37, 29, 49, 33, 25, 26, 20, 29, 22, 32, 32, 18, 29, 23, 22, 20, 22, 21, 20, 23, 30, 25, 22, 19, 19, 26, 68, 29, 20, 30, 52, 29, 12,
+ // Joshua
+ 18, 24, 17, 24, 15, 27, 26, 35, 27, 43, 23, 24, 33, 15, 63, 10, 18, 28, 51, 9, 45, 34, 16, 33,
+ // Judges
+ 36, 23, 31, 24, 31, 40, 25, 35, 57, 18, 40, 15, 25, 20, 20, 31, 13, 31, 30, 48, 25,
+ // Ruth
+ 22, 23, 18, 22,
+ // I Samuel
+ 28, 36, 21, 22, 12, 21, 17, 22, 27, 27, 15, 25, 23, 52, 35, 23, 58, 30, 24, 42, 15, 23, 29, 22, 44, 25, 12, 25, 11, 31, 13,
+ // II Samuel
+ 27, 32, 39, 12, 25, 23, 29, 18, 13, 19, 27, 31, 39, 33, 37, 23, 29, 33, 43, 26, 22, 51, 39, 25,
+ // I Kings
+ 53, 46, 28, 34, 18, 38, 51, 66, 28, 29, 43, 33, 34, 31, 34, 34, 24, 46, 21, 43, 29, 53,
+ // II Kings
+ 18, 25, 27, 44, 27, 33, 20, 29, 37, 36, 21, 21, 25, 29, 38, 20, 41, 37, 37, 21, 26, 20, 37, 20, 30,
+ // I Chronicles
+ 54, 55, 24, 43, 26, 81, 40, 40, 44, 14, 47, 40, 14, 17, 29, 43, 27, 17, 19, 8, 30, 19, 32, 31, 31, 32, 34, 21, 30,
+ // II Chronicles
+ 17, 18, 17, 22, 14, 42, 22, 18, 31, 19, 23, 16, 22, 15, 19, 14, 19, 34, 11, 37, 20, 12, 21, 27, 28, 23, 9, 27, 36, 27, 21, 33, 25, 33, 27, 23,
+ // Ezra
+ 11, 70, 13, 24, 17, 22, 28, 36, 15, 44,
+ // Nehemiah
+ 11, 20, 32, 23, 19, 19, 73, 18, 38, 39, 36, 47, 31,
+ // Esther
+ 22, 23, 15, 17, 14, 14, 10, 17, 32, 3,
+ // Job
+ 22, 13, 26, 21, 27, 30, 21, 22, 35, 22, 20, 25, 28, 22, 35, 22, 16, 21, 29, 29, 34, 30, 17, 25, 6, 14, 23, 28, 25, 31, 40, 22, 33, 37, 16, 33, 24, 41, 30, 24, 34, 17,
+ // Psalms
+ 6, 12, 8, 8, 12, 10, 17, 9, 20, 18, 7, 8, 6, 7, 5, 11, 15, 50, 14, 9, 13, 31, 6, 10, 22, 12, 14, 9, 11, 12, 24, 11, 22, 22, 28, 12, 40, 22, 13, 17, 13, 11, 5, 26, 17, 11, 9, 14, 20, 23, 19, 9, 6, 7, 23, 13, 11, 11, 17, 12, 8, 12, 11, 10, 13, 20, 7, 35, 36, 5, 24, 20, 28, 23, 10, 12, 20, 72, 13, 19, 16, 8, 18, 12, 13, 17, 7, 18, 52, 17, 16, 15, 5, 23, 11, 13, 12, 9, 9, 5, 8, 28, 22, 35, 45, 48, 43, 13, 31, 7, 10, 10, 9, 8, 18, 19, 2, 29, 176, 7, 8, 9, 4, 8, 5, 6, 5, 6, 8, 8, 3, 18, 3, 3, 21, 26, 9, 8, 24, 13, 10, 7, 12, 15, 21, 10, 20, 14, 9, 6,
+ // Proverbs
+ 33, 22, 35, 27, 23, 35, 27, 36, 18, 32, 31, 28, 25, 35, 33, 33, 28, 24, 29, 30, 31, 29, 35, 34, 28, 28, 27, 28, 27, 33, 31,
+ // Ecclesiastes
+ 18, 26, 22, 16, 20, 12, 29, 17, 18, 20, 10, 14,
+ // Song of Solomon
+ 17, 17, 11, 16, 16, 13, 13, 14,
+ // Isaiah
+ 31, 22, 26, 6, 30, 13, 25, 22, 21, 34, 16, 6, 22, 32, 9, 14, 14, 7, 25, 6, 17, 25, 18, 23, 12, 21, 13, 29, 24, 33, 9, 20, 24, 17, 10, 22, 38, 22, 8, 31, 29, 25, 28, 28, 25, 13, 15, 22, 26, 11, 23, 15, 12, 17, 13, 12, 21, 14, 21, 22, 11, 12, 19, 12, 25, 24,
+ // Jeremiah
+ 19, 37, 25, 31, 31, 30, 34, 22, 26, 25, 23, 17, 27, 22, 21, 21, 27, 23, 15, 18, 14, 30, 40, 10, 38, 24, 22, 17, 32, 24, 40, 44, 26, 22, 19, 32, 21, 28, 18, 16, 18, 22, 13, 30, 5, 28, 7, 47, 39, 46, 64, 34,
+ // Lamentations
+ 22, 22, 66, 22, 22,
+ // Ezekiel
+ 28, 10, 27, 17, 17, 14, 27, 18, 11, 22, 25, 28, 23, 23, 8, 63, 24, 32, 14, 49, 32, 31, 49, 27, 17, 21, 36, 26, 21, 26, 18, 32, 33, 31, 15, 38, 28, 23, 29, 49, 26, 20, 27, 31, 25, 24, 23, 35,
+ // Daniel
+ 21, 49, 30, 37, 31, 28, 28, 27, 27, 21, 45, 13,
+ // Hosea
+ 11, 23, 5, 19, 15, 11, 16, 14, 17, 15, 12, 14, 16, 9,
+ // Joel
+ 20, 32, 21,
+ // Amos
+ 15, 16, 15, 13, 27, 14, 17, 14, 15,
+ // Obadiah
+ 21,
+ // Jonah
+ 17, 10, 10, 11,
+ // Micah
+ 16, 13, 12, 13, 15, 16, 20,
+ // Nahum
+ 15, 13, 19,
+ // Habakkuk
+ 17, 20, 19,
+ // Zephaniah
+ 18, 15, 20,
+ // Haggai
+ 15, 23,
+ // Zechariah
+ 21, 13, 10, 14, 11, 15, 14, 23, 17, 12, 17, 14, 9, 21,
+ // Malachi
+ 14, 17, 18, 6,
+ // Tobit
+ 22, 14, 17, 21, 22, 18, 16, 21, 6, 13, 18, 22, 17, 15,
+ // Judith
+ 16, 28, 10, 15, 24, 21, 32, 36, 14, 23, 23, 20, 20, 19, 14, 25,
+ // Esther (Greek)
+ 22, 23, 15, 17, 14, 14, 10, 17, 32, 13, 12, 6, 18, 19, 16, 24,
+ // Wisdom
+ 16, 24, 19, 20, 23, 25, 30, 21, 18, 21, 26, 27, 19, 31, 19, 29, 21, 25, 22,
+ // Sirach
+ 30, 18, 31, 31, 15, 37, 36, 19, 18, 31, 34, 18, 26, 27, 20, 30, 32, 33, 30, 31, 28, 27, 27, 34, 26, 29, 30, 26, 28, 25, 31, 24, 33, 31, 26, 31, 31, 34, 35, 30, 22, 25, 33, 23, 26, 20, 25, 25, 16, 29, 30,
+ // Baruch
+ 22, 35, 37, 37, 9, 73,
+ // Prayer of Azariah
+ 68,
+ // Susanna
+ 64,
+ // Bel and the Dragon
+ 42,
+ // I Maccabees
+ 64, 70, 60, 61, 68, 63, 50, 32, 73, 89, 74, 53, 53, 49, 41, 24,
+ // II Maccabees
+ 36, 32, 40, 50, 27, 31, 42, 36, 29, 38, 38, 45, 26, 46, 39,
+ // I Esdras
+ 58, 30, 24, 63, 73, 34, 15, 96, 55,
+ // Prayer of Manasses
+ 15,
+ // Additional Psalm
+ 7,
+ // III Maccabees
+ 29, 33, 30, 21, 51, 41, 23,
+ // II Esdras
+ 40, 48, 36, 52, 56, 59, 140, 63, 47, 59, 46, 51, 58, 48, 63, 78,
+ // IV Maccabees
+ 35, 24, 21, 26, 38, 35, 23, 29, 32, 21, 27, 19, 27, 20, 32, 25, 24, 24,
+ // Matthew
+ 25, 23, 17, 25, 48, 34, 29, 34, 38, 42, 30, 50, 58, 36, 39, 28, 27, 35, 30, 34, 46, 46, 39, 51, 46, 75, 66, 20,
+ // Mark
+ 45, 28, 35, 41, 43, 56, 37, 38, 50, 52, 33, 44, 37, 72, 47, 20,
+ // Luke
+ 80, 52, 38, 44, 39, 49, 50, 56, 62, 42, 54, 59, 35, 35, 32, 31, 37, 43, 48, 47, 38, 71, 56, 53,
+ // John
+ 51, 25, 36, 54, 47, 71, 53, 59, 41, 42, 57, 50, 38, 31, 27, 33, 26, 40, 42, 31, 25,
+ // Acts
+ 26, 47, 26, 37, 42, 15, 60, 40, 43, 48, 30, 25, 52, 28, 41, 40, 34, 28, 41, 38, 40, 30, 35, 27, 27, 32, 44, 31,
+ // Romans
+ 32, 29, 31, 25, 21, 23, 25, 39, 33, 21, 36, 21, 14, 23, 33, 27,
+ // I Corinthians
+ 31, 16, 23, 21, 13, 20, 40, 13, 27, 33, 34, 31, 13, 40, 58, 24,
+ // II Corinthians
+ 24, 17, 18, 18, 21, 18, 16, 24, 15, 18, 33, 21, 14,
+ // Galatians
+ 24, 21, 29, 31, 26, 18,
+ // Ephesians
+ 23, 22, 21, 32, 33, 24,
+ // Philippians
+ 30, 30, 21, 23,
+ // Colossians
+ 29, 23, 25, 18,
+ // I Thessalonians
+ 10, 20, 13, 18, 28,
+ // II Thessalonians
+ 12, 17, 18,
+ // I Timothy
+ 20, 15, 16, 16, 25, 21,
+ // II Timothy
+ 18, 26, 17, 22,
+ // Titus
+ 16, 15, 15,
+ // Philemon
+ 25,
+ // Hebrews
+ 14, 18, 19, 16, 14, 20, 28, 13, 28, 39, 40, 29, 25,
+ // James
+ 27, 26, 18, 17, 20,
+ // I Peter
+ 25, 25, 22, 19, 14,
+ // II Peter
+ 21, 22, 18,
+ // I John
+ 10, 29, 24, 21, 21,
+ // II John
+ 13,
+ // III John
+ 15,
+ // Jude
+ 25,
+ // Revelation of John
+ 20, 29, 22, 11, 14, 17, 17, 13, 21, 11, 19, 18, 18, 20, 8, 21, 18, 24, 21, 15, 27, 21
+};
+
+
+SWORD_NAMESPACE_END
+
+
+#endif
diff --git a/include/canon_null.h b/include/canon_null.h
new file mode 100644
index 0000000..ade2276
--- /dev/null
+++ b/include/canon_null.h
@@ -0,0 +1,44 @@
+/******************************************************************************
+ * canon_null.h - Versification data for the null system
+ *
+ * Copyright 2009 CrossWire Bible Society (http://www.crosswire.org)
+ * CrossWire Bible Society
+ * P. O. Box 2528
+ * Tempe, AZ 85280-2528
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation version 2.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ */
+
+#ifndef CANON_NULL_H
+#define CANON_NULL_H
+
+SWORD_NAMESPACE_START
+
+
+// Versification system: null
+// Book order:
+// This is not a real versification system. Rather, use these [on]tbooks values for other versifications that are missing entire testaments.
+
+/******************************************************************************
+ * [on]tbooks_null - initialize static instance for all canonical
+ * text names and chapmax
+ */
+struct sbook otbooks_null[] = {
+ {"", "", "", 0}
+};
+
+struct sbook ntbooks_null[] = {
+ {"", "", "", 0}
+};
+
+SWORD_NAMESPACE_END
+
+
+#endif
diff --git a/include/config.h b/include/config.h
index 08b25a9..5088073 100644
--- a/include/config.h
+++ b/include/config.h
@@ -1,6 +1,9 @@
/* include/config.h. Generated from config.h.in by configure. */
/* include/config.h.in. Generated from configure.ac by autoheader. */
+/* Define if building universal (internal helper macro) */
+/* #undef AC_APPLE_UNIVERSAL_BUILD */
+
/* Define to 1 if you have the <dlfcn.h> header file. */
#define HAVE_DLFCN_H 1
@@ -37,6 +40,10 @@
/* Define to 1 if you have the `vsnprintf' function. */
#define HAVE_VSNPRINTF 1
+/* Define to the sub-directory in which libtool stores uninstalled libraries.
+ */
+#define LT_OBJDIR ".libs/"
+
/* Name of package */
#define PACKAGE "sword"
@@ -47,20 +54,28 @@
#define PACKAGE_NAME "sword"
/* Define to the full name and version of this package. */
-#define PACKAGE_STRING "sword 1.5.11"
+#define PACKAGE_STRING "sword 1.6.0"
/* Define to the one symbol short name of this package. */
#define PACKAGE_TARNAME "sword"
/* Define to the version of this package. */
-#define PACKAGE_VERSION "1.5.11"
+#define PACKAGE_VERSION "1.6.0"
/* Define to 1 if you have the ANSI C header files. */
#define STDC_HEADERS 1
/* Version number of package */
-#define VERSION "1.5.11"
-
-/* Define to 1 if your processor stores words with the most significant byte
- first (like Motorola and SPARC, unlike Intel and VAX). */
-/* #undef WORDS_BIGENDIAN */
+#define VERSION "1.6.0"
+
+/* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most
+ significant byte first (like Motorola and SPARC, unlike Intel). */
+#if defined AC_APPLE_UNIVERSAL_BUILD
+# if defined __BIG_ENDIAN__
+# define WORDS_BIGENDIAN 1
+# endif
+#else
+# ifndef WORDS_BIGENDIAN
+/* # undef WORDS_BIGENDIAN */
+# endif
+#endif
diff --git a/include/config.h.in b/include/config.h.in
index 9cf654f..a37d095 100644
--- a/include/config.h.in
+++ b/include/config.h.in
@@ -1,5 +1,8 @@
/* include/config.h.in. Generated from configure.ac by autoheader. */
+/* Define if building universal (internal helper macro) */
+#undef AC_APPLE_UNIVERSAL_BUILD
+
/* Define to 1 if you have the <dlfcn.h> header file. */
#undef HAVE_DLFCN_H
@@ -36,6 +39,10 @@
/* Define to 1 if you have the `vsnprintf' function. */
#undef HAVE_VSNPRINTF
+/* Define to the sub-directory in which libtool stores uninstalled libraries.
+ */
+#undef LT_OBJDIR
+
/* Name of package */
#undef PACKAGE
@@ -60,6 +67,14 @@
/* Version number of package */
#undef VERSION
-/* Define to 1 if your processor stores words with the most significant byte
- first (like Motorola and SPARC, unlike Intel and VAX). */
-#undef WORDS_BIGENDIAN
+/* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most
+ significant byte first (like Motorola and SPARC, unlike Intel). */
+#if defined AC_APPLE_UNIVERSAL_BUILD
+# if defined __BIG_ENDIAN__
+# define WORDS_BIGENDIAN 1
+# endif
+#else
+# ifndef WORDS_BIGENDIAN
+# undef WORDS_BIGENDIAN
+# endif
+#endif
diff --git a/include/curlftpt.h b/include/curlftpt.h
index 7949814..41fd23b 100644
--- a/include/curlftpt.h
+++ b/include/curlftpt.h
@@ -1,3 +1,23 @@
+/******************************************************************************
+* curlftpt.h - code for CURL impl of FTP Transport
+*
+* $Id: swbuf.h 2218 2008-12-23 09:33:38Z scribe $
+*
+* Copyright 2009 CrossWire Bible Society (http://www.crosswire.org)
+* CrossWire Bible Society
+* P. O. Box 2528
+* Tempe, AZ 85280-2528
+*
+* This program is free software; you can redistribute it and/or modify it
+* under the terms of the GNU General Public License as published by the
+* Free Software Foundation version 2.
+*
+* This program is distributed in the hope that it will be useful, but
+* WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+* General Public License for more details.
+*
+*/
#ifndef CURLFTPT_H
#define CURLFTPT_H
diff --git a/include/curlhttpt.h b/include/curlhttpt.h
new file mode 100644
index 0000000..6236daf
--- /dev/null
+++ b/include/curlhttpt.h
@@ -0,0 +1,52 @@
+/******************************************************************************
+* curlhttpt.h - code for CURL impl of HTTP Transport
+*
+* $Id: swbuf.h 2218 2008-12-23 09:33:38Z scribe $
+*
+* Copyright 2009 CrossWire Bible Society (http://www.crosswire.org)
+* CrossWire Bible Society
+* P. O. Box 2528
+* Tempe, AZ 85280-2528
+*
+* This program is free software; you can redistribute it and/or modify it
+* under the terms of the GNU General Public License as published by the
+* Free Software Foundation version 2.
+*
+* This program is distributed in the hope that it will be useful, but
+* WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+* General Public License for more details.
+*
+*/
+#ifndef CURLHTTPT_H
+#define CURLHTTPT_H
+
+#include <defs.h>
+#include <ftptrans.h>
+
+SWORD_NAMESPACE_START
+
+class CURL;
+
+// initialize/cleanup SYSTEMWIDE library with life of this static.
+class CURLHTTPTransport_init {
+public:
+ CURLHTTPTransport_init();
+ ~CURLHTTPTransport_init();
+};
+
+
+class SWDLLEXPORT CURLHTTPTransport : public FTPTransport {
+ CURL *session;
+
+public:
+ CURLHTTPTransport(const char *host, StatusReporter *statusReporter = 0);
+ ~CURLHTTPTransport();
+
+ virtual char getURL(const char *destPath, const char *sourceURL, SWBuf *destBuf = 0);
+};
+
+
+SWORD_NAMESPACE_END
+
+#endif
diff --git a/include/defs.h b/include/defs.h
index be04f49..cba55e2 100644
--- a/include/defs.h
+++ b/include/defs.h
@@ -103,7 +103,7 @@ SWORD_NAMESPACE_START
enum {DIRECTION_LTR = 0, DIRECTION_RTL, DIRECTION_BIDI};
enum {FMT_UNKNOWN = 0, FMT_PLAIN, FMT_THML, FMT_GBF, FMT_HTML, FMT_HTMLHREF, FMT_RTF, FMT_OSIS, FMT_WEBIF, FMT_TEI};
-enum {ENC_UNKNOWN = 0, ENC_LATIN1, ENC_UTF8, ENC_SCSU, ENC_UTF16, ENC_RTF, ENC_HTML};
+enum {ENC_UNKNOWN = 0, ENC_LATIN1, ENC_UTF8, ENC_UTF16, ENC_RTF, ENC_HTML};
SWORD_NAMESPACE_END
#endif //SWORDDEFS_H
diff --git a/include/encfiltmgr.h b/include/encfiltmgr.h
index 1080994..8afc208 100644
--- a/include/encfiltmgr.h
+++ b/include/encfiltmgr.h
@@ -37,7 +37,6 @@ class SWDLLEXPORT EncodingFilterMgr : public SWFilterMgr {
protected:
SWFilter *latin1utf8;
- SWFilter *scsuutf8;
SWFilter *targetenc;
diff --git a/include/filemgr.h b/include/filemgr.h
index 86b8334..6ee584d 100644
--- a/include/filemgr.h
+++ b/include/filemgr.h
@@ -1,7 +1,7 @@
/******************************************************************************
* filemgr.h - definition of class FileMgr used for pooling file handles
*
-* $Id: filemgr.h 2108 2007-10-13 20:35:02Z scribe $
+* $Id: filemgr.h 2295 2009-03-29 17:11:27Z scribe $
*
* Copyright 1998 CrossWire Bible Society (http://www.crosswire.org)
* CrossWire Bible Society
@@ -143,7 +143,7 @@ public:
* Will only close the file if it was created by this FileMgr object.
* @param file The file to close.
*/
- void close(FileDesc * file);
+ void close(FileDesc *file);
/** Cacher methods overridden
*/
diff --git a/include/flatapi.h b/include/flatapi.h
index 51cdeea..1123a0e 100644
--- a/include/flatapi.h
+++ b/include/flatapi.h
@@ -2,7 +2,7 @@
* swordapi.h - This file contains an api usable by non-C++
* environments
*
- * $Id: flatapi.h 2152 2008-05-04 03:52:06Z scribe $
+ * $Id: flatapi.h 2324 2009-04-20 18:40:15Z scribe $
*
* Copyright 1998 CrossWire Bible Society (http://www.crosswire.org)
* CrossWire Bible Society
@@ -97,7 +97,7 @@ const char * SWDLLEXPORT SWModule_getFootnoteType(SWHANDLE hmodule, const char *
const char * SWDLLEXPORT SWModule_getFootnoteBody(SWHANDLE hmodule, const char *key, const char *note);
const char * SWDLLEXPORT SWModule_getFootnoteRefList(SWHANDLE hmodule, const char *key, const char *note);
-SWHANDLE SWDLLEXPORT listkey_getVerselistIterator(const char * list, const char * key);
+SWHANDLE SWDLLEXPORT listkey_getVerselistIterator(const char *list, const char *key, const char *v11n = "KJV");
}
#ifdef __cplusplus
diff --git a/include/ftplibftpt.h b/include/ftplibftpt.h
index 7aa9e13..d07c68b 100644
--- a/include/ftplibftpt.h
+++ b/include/ftplibftpt.h
@@ -1,3 +1,23 @@
+/******************************************************************************
+* ftplibftpt.h - code for ftplib impl of FTP Transport
+*
+* $Id: swbuf.h 2218 2008-12-23 09:33:38Z scribe $
+*
+* Copyright 2009 CrossWire Bible Society (http://www.crosswire.org)
+* CrossWire Bible Society
+* P. O. Box 2528
+* Tempe, AZ 85280-2528
+*
+* This program is free software; you can redistribute it and/or modify it
+* under the terms of the GNU General Public License as published by the
+* Free Software Foundation version 2.
+*
+* This program is distributed in the hope that it will be useful, but
+* WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+* General Public License for more details.
+*
+*/
#ifndef FTPLIBFTPT_H
#define FTPLIBFTPT_H
diff --git a/include/ftptrans.h b/include/ftptrans.h
index c6a025a..87502d2 100644
--- a/include/ftptrans.h
+++ b/include/ftptrans.h
@@ -1,3 +1,26 @@
+/******************************************************************************
+* ftptrans.h - code for FTP Transport
+*
+* $Id: swbuf.h 2218 2008-12-23 09:33:38Z scribe $
+*
+* Copyright 2009 CrossWire Bible Society (http://www.crosswire.org)
+* CrossWire Bible Society
+* P. O. Box 2528
+* Tempe, AZ 85280-2528
+*
+* This program is free software; you can redistribute it and/or modify it
+* under the terms of the GNU General Public License as published by the
+* Free Software Foundation version 2.
+*
+* This program is distributed in the hope that it will be useful, but
+* WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+* General Public License for more details.
+*
+*/
+
+// TODO: Rename this to RemoteTransport in 1.7.x
+
#ifndef FTPTRANS_H
#define FTPTRANS_H
@@ -5,13 +28,6 @@
#include <defs.h>
#include <swbuf.h>
-//SWORD_NAMESPACE_START
-
-
-// move this include to cpp once struct ftpparse isn't exposed anymore
-extern "C" {
-#include <ftpparse.h>
-}
SWORD_NAMESPACE_START
@@ -22,7 +38,7 @@ public:
virtual ~StatusReporter() {};
/** Messages before stages of a batch download */
virtual void preStatus(long totalBytes, long completedBytes, const char *message);
-
+
/** frequently called throughout a download, to report status */
virtual void statusUpdate(double dtTotal, double dlNow);
};
@@ -31,21 +47,23 @@ public:
/** TODO: document
* A base class to be used for reimplementation of network services.
*/
-class SWDLLEXPORT FTPTransport {
+class SWDLLEXPORT FTPTransport { // TODO: rename to more generic RemoteTransport
protected:
StatusReporter *statusReporter;
bool passive;
bool term;
SWBuf host;
-
+ SWBuf u;
+ SWBuf p;
+
public:
FTPTransport(const char *host, StatusReporter *statusReporter = 0);
virtual ~FTPTransport();
/***********
* override this method in your real impl
- *
+ *
* if destBuf then write to buffer instead of file
*/
virtual char getURL(const char *destPath, const char *sourceURL, SWBuf *destBuf = 0);
@@ -55,6 +73,8 @@ public:
virtual std::vector<struct DirEntry> getDirList(const char *dirURL);
void setPassive(bool passive) { this->passive = passive; }
+ void setUser(const char *user) { u = user; }
+ void setPasswd(const char *passwd) { p = passwd; }
void terminate() { term = true; }
};
diff --git a/include/installmgr.h b/include/installmgr.h
index f4d48e9..b3972b6 100644
--- a/include/installmgr.h
+++ b/include/installmgr.h
@@ -14,7 +14,7 @@ class SWConfig;
class FTPTransport;
class StatusReporter;
-/** TODO: document
+/** A remote installation source configuration
*/
class SWDLLEXPORT InstallSource {
SWMgr *mgr;
@@ -22,37 +22,53 @@ public:
InstallSource(const char *type, const char *confEnt = 0);
virtual ~InstallSource();
SWBuf getConfEnt() {
- return caption +"|" + source + "|" + directory;
+ return caption +"|" + source + "|" + directory + "|" + u + "|" + p + "|" + uid;
}
- SWBuf type;
+ SWBuf caption;
SWBuf source;
SWBuf directory;
- SWBuf caption;
+ SWBuf u;
+ SWBuf p;
+ SWBuf uid;
+
+ SWBuf type;
SWBuf localShadow;
void *userData;
SWMgr *getMgr();
void flush();
};
+/** A standard map of remote install sources.
+ */
typedef std::map<SWBuf, InstallSource *> InstallSourceMap;
-/** TODO: document
-*/
+/** Class to handle installation and maintenance of a SWORD library of books.
+ */
class SWDLLEXPORT InstallMgr {
protected:
+ bool userDisclaimerConfirmed;
std::set<SWBuf> defaultMods;
char *privatePath;
+ SWBuf confPath;
StatusReporter *statusReporter;
bool passive;
-
- // override this method and provide your own custom FTPTransport subclass
+ SWBuf u, p;
+
+ /** override this method and provide your own custom FTPTransport subclass
+ */
virtual FTPTransport *createFTPTransport(const char *host, StatusReporter *statusReporter);
- // we have a transport member to set as current running transport so we
- // can ask it to terminate below, if user requests
- FTPTransport *transport;
-
+ /** override this method and provide your own custom HTTP RemoteTransport (still called FTPTransport in pre 1.7.x) subclass
+ */
+ virtual FTPTransport *createHTTPTransport(const char *host, StatusReporter *statusReporter);
+
+
+ /** we have a transport member to set as current running transport so we
+ * can ask it to terminate below, if user requests
+ */
+ FTPTransport *transport;
+
public:
static const int MODSTAT_OLDER;
@@ -63,23 +79,156 @@ public:
static const int MODSTAT_CIPHERKEYPRESENT;
SWConfig *installConf;
+
+ /** all remote sources configured for this installmgr. Use this to gain access
+ * to individual remote sources.
+ */
InstallSourceMap sources;
- bool term;
- InstallMgr(const char *privatePath = "./", StatusReporter *statusReporter = 0);
+ /** Username and Password supplied here can be used to identify your frontend
+ * by supplying a valid anon password like installmgr@macsword.com
+ * This will get overridden if a password is required and provided in an indivual
+ * source configuration.
+ */
+ InstallMgr(const char *privatePath = "./", StatusReporter *statusReporter = 0, SWBuf u="ftp", SWBuf p="installmgr@user.com");
virtual ~InstallMgr();
+ /** Call to re-read InstallMgr.conf
+ */
+ void readInstallConf();
+
+ /** Call to dump sources and other settings to InstallMgr.conf
+ */
+ void saveInstallConf();
+
+ /** Removes all configured sources from memory. Call saveInstallConf() to persist
+ */
+ void clearSources();
+
+ /** call to delete all files of a locally installed module.
+ */
virtual int removeModule(SWMgr *manager, const char *modName);
+
+ /** mostly an internally used method to ftp download from an remote source to a local destination
+ */
virtual int ftpCopy(InstallSource *is, const char *src, const char *dest, bool dirTransfer = false, const char *suffix = "");
+
+ /** call to install a module from a local path (fromLocation) or remote InstallSource (is) (leave the other 0)
+ */
virtual int installModule(SWMgr *destMgr, const char *fromLocation, const char *modName, InstallSource *is = 0);
-
+
+ /** call to obtain and locally cache the available content list of the remote source
+ */
virtual int refreshRemoteSource(InstallSource *is);
- virtual bool getCipherCode(const char *modName, SWConfig *config);
+
+ /** call to populate installmgr configuration with all known
+ * remote sources from the master list at CrossWire
+ */
+ virtual int refreshRemoteSourceConfiguration();
+
+ /** Override this and provide an input mechanism to allow your users
+ * to confirm that they understand this important disclaimer.
+ * This method will be called immediately before attempting to perform
+ * any network function.
+ * If you would like your confirmation to always show at a predefined
+ * time before attempting network operations, then you can call this
+ * method yourself at the desired time.
+ *
+ * Return true if your user confirms.
+ *
+ * User disclaimer should ask user for confirmation of 2 critical items:
+ * and the default answer should be NO
+ * (possibly the wrong language for the disclaimer)
+ *
+
+A sample impl:
+
+ static bool confirmed = false;
+ if (!confirmed) {
+ cout << "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n";
+ cout << " -=+* WARNING *+=- -=+* WARNING *+=-\n\n\n";
+ cout << "Although Install Manager provides a convenient way for installing\n";
+ cout << "and upgrading SWORD components, it also uses a systematic method\n";
+ cout << "for accessing sites which gives packet sniffers a target to lock\n";
+ cout << "into for singling out users. \n\n\n";
+ cout << "IF YOU LIVE IN A PERSECUTED COUNTRY AND DO NOT WISH TO RISK DETECTION,\n";
+ cout << "YOU SHOULD *NOT* USE INSTALL MANAGER'S REMOTE SOURCE FEATURES.\n\n\n";
+ cout << "Also, Remote Sources other than CrossWire may contain less than\n";
+ cout << "quality modules, modules with unorthodox content, or even modules\n";
+ cout << "which are not legitimately distributable. Many repositories\n";
+ cout << "contain wonderfully useful content. These repositories simply\n";
+ cout << "are not reviewed or maintained by CrossWire and CrossWire\n";
+ cout << "cannot be held responsible for their content. CAVEAT EMPTOR.\n\n\n";
+ cout << "If you understand this and are willing to enable remote source features\n";
+ cout << "then type yes at the prompt\n\n";
+ cout << "enable? [no] ";
+
+ char prompt[10];
+ fgets(prompt, 9, stdin);
+ confirmed = (!strcmp(prompt, "yes\n"));
+ }
+ return confirmed;
+
+ */
+ virtual bool isUserDisclaimerConfirmed() const { return userDisclaimerConfirmed; }
+
+ /** Preferred method of reporting user disclaimer confirmation is to override the above method
+ * instead of using the setter below. This is provided for clients who don't wish to inherit
+ * InstallMgr and override method.
+ */
+ void setUserDisclaimerConfirmed(bool val) { userDisclaimerConfirmed = val; }
+
+
+ /** override this and provide an input mechanism to allow your users
+ * to enter the decipher code for a module.
+ * return true you added the cipher code to the config.
+ * default to return 'aborted'
+
+A sample implementation, roughly taken from the windows installmgr:
+
+ SectionMap::iterator section;
+ ConfigEntMap::iterator entry;
+ SWBuf tmpBuf;
+ section = config->Sections.find(modName);
+ if (section != config->Sections.end()) {
+ entry = section->second.find("CipherKey");
+ if (entry != section->second.end()) {
+ entry->second = GET_USER_INPUT();
+ config->Save();
+
+ // LET'S SHOW THE USER SOME SAMPLE TEXT FROM THE MODULE
+ SWMgr *mgr = new SWMgr();
+ SWModule *mod = mgr->getModule(modName);
+ mod->setKey("Ipet 2:12");
+ tmpBuf = mod->StripText();
+ mod->setKey("gen 1:10");
+ tmpBuf += "\n\n";
+ tmpBuf += mod->StripText();
+ SOME_DIALOG_CONTROL->SETTEXT(tmpBuf.c_str());
+ delete mgr;
+
+ // if USER CLICKS OK means we should return true
+ return true;
+ }
+ }
+ return false;
+}
+ */
+ virtual bool getCipherCode(const char *modName, SWConfig *config) { return false; }
+
+
+
+ /** whether or not to use passive mode when doing ftp transfers
+ */
void setFTPPassive(bool passive) { this->passive = passive; }
+ bool isFTPPassive() { return passive; }
+
+ /** call from another thread to terminate the installation process
+ */
void terminate();
/************************************************************************
- * getModuleStatus - compare the modules of two SWMgrs and return a
+ * getModuleStatus - compare the modules of two SWMgrs and return a
* vector describing the status of each. See MODSTAT_*
*/
static std::map<SWModule *, int> getModuleStatus(const SWMgr &base, const SWMgr &other);
diff --git a/include/listkey.h b/include/listkey.h
index e939248..2c0a611 100644
--- a/include/listkey.h
+++ b/include/listkey.h
@@ -4,7 +4,7 @@
* (e.g. verse, word,
* place, etc.)
*
- * $Id: listkey.h 1958 2006-08-22 00:15:10Z scribe $
+ * $Id: listkey.h 2195 2008-09-11 00:20:58Z scribe $
*
* Copyright 1998 CrossWire Bible Society (http://www.crosswire.org)
* CrossWire Bible Society
@@ -117,15 +117,16 @@ public:
/** Decrements a number of elements
*/
- virtual void decrement(int step);
+ virtual void decrement(int step = 1);
/** Increments a number of elements
*/
- virtual void increment(int step);
+ virtual void increment(int step = 1);
virtual bool isTraversable() const { return true; }
virtual long Index() const { return arraypos; }
virtual const char *getRangeText() const;
+ virtual const char *getOSISRefRangeText() const;
/**
* Returns the index for the new one given as as parameter.
diff --git a/include/osisbook.h b/include/osisbook.h
deleted file mode 100644
index a3750f6..0000000
--- a/include/osisbook.h
+++ /dev/null
@@ -1,640 +0,0 @@
-/******************************************************************************
- * osisbook.h - Canonical text information to be included by VerseKey2.cpp
- *
- * $Id: osisbook.h 1688 2005-01-01 04:42:26Z scribe $
- *
- * Copyright 2004 CrossWire Bible Society (http://www.crosswire.org)
- * CrossWire Bible Society
- * P. O. Box 2528
- * Tempe, AZ 85280-2528
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License as published by the
- * Free Software Foundation version 2.
- *
- * This program is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * General Public License for more details.
- *
- */
-
-/******************************************************************************
- * [on]tbooks - initialize static instance for all canonical text names
- * and chapmax
- * taken from http://whi.wts.edu/OSIS/Projects/Markup/specs/BibleBookNames.html
- */
-
-#define TESTAMENT_HEADING 255
-//#define NTOFFSET 24115 //24115 is offset to start of NT
-#if 0
-#define OSISBMAX 68
-#endif
-#define BUILTINABBREVCNT 195
-
-struct sbook2 VerseKey2::osisbooks[] = {
-//Module Heading
-{"Module Heading", "ZZZ"},//0
-//Old Testament
-{"Old Testament", "OT"},//1
-{"Genesis", "Gen"},
-{"Exodus", "Exod"},
-{"Leviticus", "Lev"},
-{"Numbers", "Num"},
-{"Deuteronomy", "Deut"},
-{"Joshua", "Josh"},
-{"Judges", "Judg"},
-{"Ruth", "Ruth"},
-{"1 Samuel", "1Sam"},//10
-{"2 Samuel", "2Sam"},
-{"1 Kings", "1Kgs"},
-{"2 Kings", "2Kgs"},
-{"1 Chronicles", "1Chr"},
-{"2 Chronicles", "2Chr"},
-{"Ezra", "Ezra"},
-{"Nehemiah", "Neh"},
-{"Esther", "Esth"},
-{"Job", "Job"},
-{"Psalms", "Ps"},//20
-{"Proverbs", "Prov"},
-{"Ecclesiastes", "Eccl"}, // Qohelot
-{"Song of Solomon", "Song"}, // Canticle of Canticles
-{"Isaiah", "Isa"},
-{"Jeremiah", "Jer"},
-{"Lamentations", "Lam"},
-{"Ezekiel", "Ezek"},
-{"Daniel", "Dan"},
-{"Hosea", "Hos"},
-{"Joel", "Joel"},//30
-{"Amos", "Amos"},
-{"Obadiah", "Obad"},
-{"Jonah", "Jonah"},
-{"Micah", "Mic"},
-{"Nahum", "Nah"},
-{"Habakkuk", "Hab"},
-{"Zephaniah", "Zeph"},
-{"Haggai", "Hag"},
-{"Zechariah", "Zech"},
-{"Malachi", "Mal"},//40
-
-//Roman Catholic Deuterocanon
-{"Deuterocanon", "DC"},//41
-{"Tobit", "Tob"},//(70)
-{"Judith", "Jdt"},
-{"Wisdom", "Wis"}, // Wisdom of Solomon
-{"Sirach", "Sir"}, // Ecclesiasticus
-{"Baruch", "Bar"}, // 1 Baruch
-{"Letter of Jeremiah", "EpJer"},//(75)
-{"1 Esdras", "1Esd"}, // 3Ezra Esdras A
-{"2 Esdras", "2Esd"}, // 4Ezra Esdras B
-{"1 Maccabees", "1Macc"},//(78)50
-{"2 Maccabees", "2Macc"},//51
-
-
-//Septuagint
-{"3 Maccabees", "3Macc"},//(80)52
-{"4 Maccabees", "4Macc"},
-{"Odes of Solomon", "OdesSol"},
-{"Psalms of Solomon", "PssSol"},//55
-
-
-//Vulgate
-{"Epistle to the Laodiceans", "EpLao"},//(84)56
-
-
-//Orthodox Canon
-{"1 Enoch", "1En"},//(85)57 // Ethiopic Apocalypse of Enoch
-{"Jubilees", "Jub"},//(86)58
-
-
-//Protestant Apocrypha
-{"Apocrypha", "Apoc"},//(87)59
-{"Additions to Esther", "AddEsth"},
-{"Prayer of Azariah", "PrAzar"}, // Song of the Three Children
-{"Susanna", "Sus"},//(90)
-{"Bel and the Dragon", "Bel"},
-{"Prayer of Manasses", "PrMan"},
-{"Psalm 151", "Ps151"},//(93)65
-
-
-//New Testament
-{"New Testament", "NT"},//66
-{"Matthew", "Matt"},
-{"Mark", "Mark"},
-{"Luke", "Luke"},
-{"John", "John"},//70
-{"Acts", "Acts"},
-{"Romans", "Rom"},
-{"1 Corinthians", "1Cor"},
-{"2 Corinthians", "2Cor"},
-{"Galatians", "Gal"},//(50)
-{"Ephesians", "Eph"},
-{"Philippians", "Phil"},
-{"Colossians", "Col"},
-{"1 Thessalonians", "1Thess"},
-{"2 Thessalonians", "2Thess"},//80
-{"1 Timothy", "1Tim"},
-{"2 Timothy", "2Tim"},
-{"Titus", "Titus"},
-{"Philemon", "Phlm"},
-{"Hebrews", "Heb"},//(60)
-{"James", "Jas"},
-{"1 Peter", "1Pet"},
-{"2 Peter", "2Pet"},
-{"1 John", "1John"},
-{"2 John", "2John"},//90
-{"3 John", "3John"},
-{"Jude", "Jude"},
-{"Revelation", "Rev"}//(68)93
-
-
-};
-
-/* the en abbrevs will be in a conf file as well
-*/
-
-/*
-const struct abbrev2
- VerseKey2::builtin_abbrevs[] = {
- {"1 C", 48}, // 1 Corinthians
- {"1 CHRONICLES", 14}, // 1 Chronicles
- {"1 CORINTHIANS", 48}, // 1 Corinthians
- {"1 JN", 64}, // 1 John
- {"1 JOHN", 64}, // 1 John
- {"1 KGS", 12}, // 1 Kings
- {"1 KINGS", 12}, // 1 Kings
- {"1 PETER", 62}, // 1 Peter
- {"1 PTR", 62}, // 1 Peter
- {"1 SAMUEL", 10}, // 1 Samuel
- {"1 THESSALONIANS", 54}, // 1 Thessalonians
- {"1 TIMOTHY", 56}, // 1 Timothy
- {"1C", 48}, // 1 Corinthians
- {"1CHRONICLES", 14}, // 1 Chronicles
- {"1CORINTHIANS", 48}, // 1 Corinthians
- {"1JN", 64}, // 1 John
- {"1JOHN", 64}, // 1 John
- {"1KGS", 12}, // 1 Kings
- {"1KINGS", 12}, // 1 Kings
- {"1PETER", 62}, // 1 Peter
- {"1PTR", 62}, // 1 Peter
- {"1SAMUEL", 10}, // 1 Samuel
- {"1THESSALONIANS", 54}, // 1 Thessalonians
- {"1TIMOTHY", 56}, // 1 Timothy
- {"2 C", 49}, // 2 Corinthians
- {"2 CHRONICLES", 15}, // 2 Chronicles
- {"2 CORINTHIANS", 49}, // 2 Corinthians
- {"2 JN", 65}, // 2 John
- {"2 JOHN", 65}, // 2 John
- {"2 KGS", 13}, // 2 Kings
- {"2 KINGS", 13}, // 2 Kings
- {"2 PETER", 63}, // 2 Peter
- {"2 PTR", 63}, // 2 Peter
- {"2 SAMUEL", 11}, // 2 Samuel
- {"2 THESSALONIANS", 55}, // 2 Thessalonians
- {"2 TIMOTHY", 57}, // 2 Timothy
- {"2C", 49}, // 2 Corinthians
- {"2CHRONICLES", 15}, // 2 Chronicles
- {"2CORINTHIANS", 49}, // 2 Corinthians
- {"2JN", 65}, // 2 John
- {"2JOHN", 65}, // 2 John
- {"2KGS", 13}, // 2 Kings
- {"2KINGS", 13}, // 2 Kings
- {"2PETER", 63}, // 2 Peter
- {"2PTR", 63}, // 2 Peter
- {"2SAMUEL", 11}, // 2 Samuel
- {"2THESSALONIANS", 55}, // 2 Thessalonians
- {"2TIMOTHY", 57}, // 2 Timothy
- {"3 JN", 66}, // 3 John
- {"3 JOHN", 66}, // 3 John
- {"3JN", 66}, // 3 John
- {"3JOHN", 66}, // 3 John
- {"ACTS", 46}, // Acts
- {"AMOS", 31}, // Amos
- {"APOCALYPSE OF ST. JOHN", 68}, // Apocalypse of St. John (Rev.)
- {"C", 53}, // Colossians
- {"CANTICLE OF CANTICLES", 23}, // Canticle of Canticles (Song of S.)
- {"COLOSSIANS", 53}, // Colossians
- {"D", 6}, // Deuteronomy
- {"DANIEL", 28}, // Daniel
- {"DEUTERONOMY", 6}, // Deuteronomy
- {"E", 51}, // Ephesians
- {"ECCLESIASTES", 22}, // Ecclesiastes
- {"EPHESIANS", 51}, // Ephesians
- {"ESTER", 18}, // Esther
- {"ESTHER", 18}, // Esther
- {"EXODUS", 3}, // Exodus
- {"EZEKIEL", 27}, // Ezekiel
- {"EZK", 27}, // Ezekiel
- {"EZRA", 16}, // Ezra
- {"G", 2}, // Genesis
- {"GALATIANS", 50}, // Galatians
- {"GENESIS", 2}, // Genesis
- {"H", 60}, // Hebrews
- {"HABAKKUK", 36}, // Habakkuk
- {"HAGGAI", 38}, // Haggai
- {"HEBREWS", 60}, // Hebrews
- {"HOSEA", 29}, // Hosea
- {"I C", 48}, // 1 Corinthians
- {"I CHRONICLES", 14}, // 1 Chronicles
- {"I CORINTHIANS", 48}, // 1 Corinthians
- {"I JN", 64}, // 1 John
- {"I JOHN", 64}, // 1 John
- {"I KGS", 12}, // 1 Kings
- {"I KINGS", 12}, // 1 Kings
- {"I PETER", 62}, // 1 Peter
- {"I PTR", 62}, // 1 Peter
- {"I SAMUEL", 10}, // 1 Samuel
- {"I THESSALONIANS", 54}, // 1 Thessalonians
- {"I TIMOTHY", 56}, // 1 Timothy
- {"IC", 48}, // 1 Corinthians
- {"ICHRONICLES", 14}, // 1 Chronicles
- {"ICORINTHIANS", 48}, // 1 Corinthians
- {"II C", 49}, // 2 Corinthians
- {"II CHRONICLES", 15}, // 2 Chronicles
- {"II CORINTHIANS", 49}, // 2 Corinthians
- {"II JN", 65}, // 2 John
- {"II JOHN", 65}, // 2 John
- {"II KGS", 13}, // 2 Kings
- {"II KINGS", 13}, // 2 Kings
- {"II PETER", 63}, // 2 Peter
- {"II PTR", 63}, // 2 Peter
- {"II SAMUEL", 11}, // 2 Samuel
- {"II THESSALONIANS", 55}, // 2 Thessalonians
- {"II TIMOTHY", 57}, // 2 Timothy
- {"IIC", 49}, // 2 Corinthians
- {"IICHRONICLES", 15}, // 2 Chronicles
- {"IICORINTHIANS", 49}, // 2 Corinthians
- {"III JN", 66}, // 3 John
- {"III JOHN", 66}, // 3 John
- {"IIIJN", 66}, // 3 John
- {"IIIJOHN", 66}, // 3 John
- {"IIJN", 65}, // 2 John
- {"IIJOHN", 65}, // 2 John
- {"IIKGS", 13}, // 2 Kings
- {"IIKINGS", 13}, // 2 Kings
- {"IIPETER", 63}, // 2 Peter
- {"IIPTR", 63}, // 2 Peter
- {"IISAMUEL", 11}, // 2 Samuel
- {"IITHESSALONIANS", 55}, // 2 Thessalonians
- {"IITIMOTHY", 55}, // 2 Timothy
- {"IJN", 64}, // 1 John
- {"IJOHN", 64}, // 1 John
- {"IKGS", 12}, // 1 Kings
- {"IKINGS", 12}, // 1 Kings
- {"IPETER", 62}, // 1 Peter
- {"IPTR", 62}, // 1 Peter
- {"ISA", 24}, // Isaiah
- {"ISAIAH", 24}, // Isaiah
- {"ISAMUEL", 10}, // 1 Samuel
- {"ITHESSALONIANS", 54}, // 1 Thessalonians
- {"ITIMOTHY", 56}, // 1 Timothy
- {"J", 45}, // John
- {"JAMES", 61}, // James
- {"JAS", 61}, // James
- {"JDGS", 8}, // Judges
- {"JEREMIAH", 25}, // Jeremiah
- {"JHN", 45}, // John
- {"JN", 45}, // John
- {"JO", 45}, // John
- {"JOB", 19}, // Job
- {"JOEL", 30}, // Joel
- {"JOHN", 45}, // John
- {"JOL", 30}, // Joel
- {"JONAH", 33}, // Jonah
- {"JOSHUA", 7}, // Joshua
- {"JUDE", 67}, // Jude
- {"JUDGES", 8}, // Judges
- {"L", 44}, // Luke
- {"LAMENTATIONS", 26}, // Lamentations
- {"LEVITICUS", 4}, // Leviticus
- {"LK", 44}, // Luke
- {"LUKE", 44}, // Luke
- {"MA", 42}, // Matthew
- {"MALACHI", 40}, // Malachi
- {"MARK", 43}, // Mark
- {"MATTHEW", 42}, // Matthew
- {"MICAH", 34}, // Micah
- {"MODULE HEADING", 0}, // Module Heading
- {"MK", 43}, // Mark
- {"MRK", 43}, // Mark
- {"MT", 42}, // Matthew
- {"N", 5}, // Numbers
- {"NAHUM", 35}, // Nahum
- {"NAM", 35}, // Nahum
- {"NEHEMIAH", 17}, // Nehemiah
- {"NEW TESTAMENT", 41}, // New Testament
- {"NUMBERS", 5}, // Numbers
- {"OBADIAH", 32}, // Obadiah
- {"OLD TESTAMENT", 1}, // Old Testament
- {"P", 20}, // Psalms
- {"PHIL", 52}, // Philippians
- {"PHILEMON", 59}, // Philemon
- {"PHILIPPIANS", 52}, // Philippians
- {"PHLM", 59}, // Philemon
- {"PHM", 59}, // Philemon
- {"PHP", 52}, // Philippians
- {"PR", 21}, // Proverbs
- {"PROVERBS", 21}, // Proverbs
- {"PSA", 20}, // Psalms
- {"PSALMS", 20}, // Psalms
- {"PSM", 20}, // Psalms
- {"PSS", 20}, // Psalms
- {"QOHELETH", 22}, // Qohelet (Ecclesiastes)
- {"REVELATION OF JOHN", 68}, // Revelation
- {"ROMANS", 47}, // Romans
- {"RUTH", 9}, // Ruth
- {"SNG", 23}, // Song of Solomon
- {"SOLOMON", 23}, // Song of Solomon
- {"SONG OF SOLOMON", 23}, // Song of Solomon
- {"SONG OF SONGS", 23}, // Song of Solomon
- {"SOS", 23}, // Song of Solomon
- {"TITUS", 58}, // Titus
- {"ZECHARIAH", 39}, // Zechariah
- {"ZEPHANIAH", 37}, // Zephaniah
- {"", -1}
-};
-*/
-
-/* includes all osis books - use the locale osis.conf instead
-const struct abbrev
- VerseKey2::builtin_abbrevs[] = {
- {"1 C", 46}, // 1 Corinthians
- {"1 CHRONICLES", 13}, // 1 Chronicles
- {"1 CORINTHIANS", 47}, // 1 Corinthians
- {"1 ENOCH", 84},
- {"1 ESDRAS", 75},
- {"1 JN", 63}, // 1 John
- {"1 JOHN", 63}, // 1 John
- {"1 KGS", 11}, // 1 Kings
- {"1 KINGS", 11}, // 1 Kings
- {"1 MACCABEES", 77},
- {"1 PETER", 61}, // 1 Peter
- {"1 PTR", 61}, // 1 Peter
- {"1 SAMUEL", 9}, // 1 Samuel
- {"1 THESSALONIANS", 53}, // 1 Thessalonians
- {"1 TIMOTHY", 55}, // 1 Timothy
- {"1C", 47}, // 1 Corinthians
- {"1CHRONICLES", 13}, // 1 Chronicles
- {"1CORINTHIANS", 47}, // 1 Corinthians
- {"1ENOCH", 84},
- {"1ESDRAS", 75},
- {"1JN", 63}, // 1 John
- {"1JOHN", 63}, // 1 John
- {"1KGS", 11}, // 1 Kings
- {"1KINGS", 11}, // 1 Kings
- {"1MACCABEES", 77},
- {"1PETER", 61}, // 1 Peter
- {"1PTR", 61}, // 1 Peter
- {"1SAMUEL", 9}, // 1 Samuel
- {"1THESSALONIANS", 53}, // 1 Thessalonians
- {"1TIMOTHY", 55}, // 1 Timothy
- {"2 C", 48}, // 2 Corinthians
- {"2 CHRONICLES", 14}, // 2 Chronicles
- {"2 CORINTHIANS", 48}, // 2 Corinthians
- {"2 ESDRAS", 76},
- {"2 JN", 64}, // 2 John
- {"2 JOHN", 64}, // 2 John
- {"2 KGS", 12}, // 2 Kings
- {"2 KINGS", 12}, // 2 Kings
- {"2 MACCABEES", 78},
- {"2 PETER", 62}, // 2 Peter
- {"2 PTR", 62}, // 2 Peter
- {"2 SAMUEL", 10}, // 2 Samuel
- {"2 THESSALONIANS", 54}, // 2 Thessalonians
- {"2 TIMOTHY", 56}, // 2 Timothy
- {"2C", 48}, // 2 Corinthians
- {"2CHRONICLES", 14}, // 2 Chronicles
- {"2CORINTHIANS", 48}, // 2 Corinthians
- {"2ESDRAS", 76},
- {"2JN", 64}, // 2 John
- {"2JOHN", 64}, // 2 John
- {"2KGS", 12}, // 2 Kings
- {"2KINGS", 12}, // 2 Kings
- {"2MACCABEES", 78},
- {"2PETER", 62}, // 2 Peter
- {"2PTR", 62}, // 2 Peter
- {"2SAMUEL", 10}, // 2 Samuel
- {"2THESSALONIANS", 54}, // 2 Thessalonians
- {"2TIMOTHY", 56}, // 2 Timothy
- {"3 JN", 65}, // 3 John
- {"3 JOHN", 65}, // 3 John
- {"3JN", 65}, // 3 John
- {"3JOHN", 65}, // 3 John
- {"3 MACCABEES", 79},
- {"3MACCABEES", 79},
- {"4 MACCABEES", 80},
- {"4MACCABEES", 80},
- {"ACTS", 45}, // Acts
- {"ADDESTHER", 87},
- {"ADDITIONS TO ESTHER", 87},
- {"AMOS", 30}, // Amos
- {"APOCALYPSE OF ST. JOHN", 67}, // Apocalypse of St. John (Rev.)
- {"APOCRYPHA", 86},
- {"BARUCH", 73},
- {"BEL AND THE DRAGON",90},
- {"BEN SIRACH", 72},
- {"C", 52}, // Colossians
- {"CANTICLE OF CANTICLES", 22}, // Canticle of Canticles (Song of S.)
- {"COLOSSIANS", 52}, // Colossians
- {"D", 5}, // Deuteronomy
- {"DANIEL", 27}, // Daniel
- {"DEUTERO", 5}, // Deuteronomy
- {"DEUTEROCANON", 68}, // Deuteronomy
- {"DEUTERONOMY", 5}, // Deuteronomy
- {"E", 50}, // Ephesians
- {"ECCLESIASTES", 21}, // Ecclesiastes
- {"ECCLESIASTICUS", 73},
- {"EPHESIANS", 50}, // Ephesians
- {"EPISTLE OF JEREMIAH", 74},
- {"EPISTLE TO THE LAODICEANS", 83},
- {"EPJER", 74},
- {"EPLAO", 83},
- {"ESTER", 17}, // Esther
- {"ESTHER", 17}, // Esther
- {"EXODUS", 2}, // Exodus
- {"EZEKIEL", 26}, // Ezekiel
- {"EZK", 26}, // Ezekiel
- {"EZRA", 15}, // Ezra
- {"G", 1}, // Genesis
- {"GALATIANS", 49}, // Galatians
- {"GENESIS", 1}, // Genesis
- {"H", 59}, // Hebrews
- {"HABAKKUK", 35}, // Habakkuk
- {"HAGGAI", 37}, // Haggai
- {"HEBREWS", 59}, // Hebrews
- {"HOSEA", 28}, // Hosea
- {"I C", 47}, // 1 Corinthians
- {"I CHRONICLES", 13}, // 1 Chronicles
- {"I CORINTHIANS", 47}, // 1 Corinthians
- {"I ENOCH", 84},
- {"I ESDRAS", 76},
- {"I JN", 63}, // 1 John
- {"I JOHN", 63}, // 1 John
- {"I KGS", 11}, // 1 Kings
- {"I KINGS", 11}, // 1 Kings
- {"I MACCABEES", 78},
- {"I PETER", 61}, // 1 Peter
- {"I PTR", 61}, // 1 Peter
- {"I SAMUEL", 9}, // 1 Samuel
- {"I THESSALONIANS", 53}, // 1 Thessalonians
- {"I TIMOTHY", 55}, // 1 Timothy
- {"IC", 47}, // 1 Corinthians
- {"ICHRONICLES", 13}, // 1 Chronicles
- {"ICORINTHIANS", 47}, // 1 Corinthians
- {"IENOCH", 84},
- {"IESDRAS", 76},
- {"II C", 48}, // 2 Corinthians
- {"II CHRONICLES", 14}, // 2 Chronicles
- {"II CORINTHIANS", 48}, // 2 Corinthians
- {"II ESDRAS", 77},
- {"II JN", 64}, // 2 John
- {"II JOHN", 64}, // 2 John
- {"II KGS", 12}, // 2 Kings
- {"II KINGS", 12}, // 2 Kings
- {"II MACCABEES", 79},
- {"II PETER", 62}, // 2 Peter
- {"II PTR", 62}, // 2 Peter
- {"II SAMUEL", 10}, // 2 Samuel
- {"II THESSALONIANS", 54}, // 2 Thessalonians
- {"II TIMOTHY", 56}, // 2 Timothy
- {"IIC", 48}, // 2 Corinthians
- {"IICHRONICLES", 14}, // 2 Chronicles
- {"IICORINTHIANS", 48}, // 2 Corinthians
- {"IIESDRAS", 77},
- {"III JN", 65}, // 3 John
- {"III JOHN", 65}, // 3 John
- {"IIIJN", 65}, // 3 John
- {"IIIJOHN", 65}, // 3 John
- {"III MACCABEES", 80},
- {"IIII MACCABEES", 81},
- {"IIIIMACCABEES", 81},
- {"IIIMACCABEES", 80},
- {"IIJN", 64}, // 2 John
- {"IIJOHN", 64}, // 2 John
- {"IIKGS", 12}, // 2 Kings
- {"IIKINGS", 12}, // 2 Kings
- {"IIMACCABEES", 79},
- {"IIPETER", 62}, // 2 Peter
- {"IIPTR", 62}, // 2 Peter
- {"IISAMUEL", 10}, // 2 Samuel
- {"IITHESSALONIANS", 54}, // 2 Thessalonians
- {"IITIMOTHY", 56}, // 2 Timothy
- {"IJN", 63}, // 1 John
- {"IJOHN", 63}, // 1 John
- {"IKGS", 11}, // 1 Kings
- {"IKINGS", 11}, // 1 Kings
- {"IMACCABEES", 78},
- {"IPETER", 61}, // 1 Peter
- {"IPTR", 61}, // 1 Peter
- {"ISA", 23}, // Isaiah
- {"ISAIAH", 23}, // Isaiah
- {"ISAMUEL", 9}, // 1 Samuel
- {"ITHESSALONIANS", 53}, // 1 Thessalonians
- {"ITIMOTHY", 55}, // 1 Timothy
- {"IV MACCABEES", 81},
- {"IVMACCABEES", 81},
- {"J", 44}, // John
- {"JAMES", 60}, // James
- {"JAS", 60}, // James
- {"JDGS", 7}, // Judges
- {"JDT", 70},
- {"JEREMIAH", 24}, // Jeremiah
- {"JESUS BEN SIRACH", 73},
- {"JHN", 44}, // John
- {"JN", 44}, // John
- {"JO", 44}, // John
- {"JOB", 18}, // Job
- {"JOEL", 29}, // Joel
- {"JOHN", 44}, // John
- {"JOL", 29}, // Joel
- {"JONAH", 32}, // Jonah
- {"JOSHUA", 6}, // Joshua
- {"JUBILEES", 85},
- {"JUDE", 66}, // Jude
- {"JUDGES", 7}, // Judges
- {"JUDITH", 70},
- {"L", 43}, // Luke
- {"LAMENTATIONS", 25}, // Lamentations
- {"LAODICEANS", 83},
- {"LETTER OF JEREMIAH", 74},
- {"LEVITICUS", 3}, // Leviticus
- {"LK", 43}, // Luke
- {"LUKE", 43}, // Luke
- {"MA", 41}, // Matthew
- {"MALACHI", 39}, // Malachi
- {"MANASSEH", 91},
- {"MANASSES", 91},
- {"MARK", 42}, // Mark
- {"MATTHEW", 41}, // Matthew
- {"MICAH", 33}, // Micah
- {"MK", 42}, // Mark
- {"MRK", 42}, // Mark
- {"MT", 41}, // Matthew
- {"N", 4}, // Numbers
- {"NAHUM", 34}, // Nahum
- {"NAM", 34}, // Nahum
- {"NEHEMIAH", 16}, // Nehemiah
- {"NEW TESTAMENT", 40}, // New Testament
- {"NUMBERS", 4}, // Numbers
- {"OBADIAH", 31}, // Obadiah
- {"ODES OF SOLOMON", 81},
- {"OLD TESTAMENT", 0}, // Old Testament
- {"P", 19}, // Psalms
- {"PHIL", 51}, // Philippians
- {"PHILEMON", 58}, // Philemon
- {"PHILIPPIANS", 51}, // Philippians
- {"PHLM", 58}, // Philemon
- {"PHM", 58}, // Philemon
- {"PHP", 51}, // Philippians
- {"PR", 20}, // Proverbs
- {"PRAYER OF AZARIAH", 88},
- {"PRAYER OF MANASSEH", 91},
- {"PRAYER OF MANASSES", 91},
- {"PRAZAR", 88},
- {"PRMAN", 91},
- {"PROVERBS", 20}, // Proverbs
- {"PS151", 92},
- {"PSA", 19}, // Psalms
- {"PSALM ", 19},
- {"PSALM 151", 92},
- {"PSALM151", 92},
- {"PSALMS", 19}, // Psalms
- {"PSALMS OF SOLOMON", 82},
- {"PSM", 19}, // Psalms
- {"PSS", 19}, // Psalms
- {"PSSOL", 82},
- {"PSSSOL", 82},
- {"QOHELETH", 21}, // Qohelet (Ecclesiastes)
- {"REVELATION OF JOHN", 67}, // Revelation
- {"ROMANS", 46}, // Romans
- {"RUTH", 8}, // Ruth
- {"SIRACH", 72},
- {"SNG", 22}, // Song of Solomon
- {"SOLOMON", 22}, // Song of Solomon
- {"SONG OF SOLOMON", 22}, // Song of Solomon
- {"SONG OF SONGS", 22}, // Song of Solomon
- {"SOS", 22}, // Song of Solomon
- {"SUSANNA", 89},
- {"TITUS", 57}, // Titus
- {"TOBIT", 69},
- {"WISDOM", 71},//250
- {"WISDOM OF JESUS BEN SIRACH", 72},
- {"ZECHARIAH", 38}, // Zechariah
- {"ZEPHANIAH", 36}, // Zephaniah
- {"", -1}
-};
-*/
-
-/* The default versification scheme is KJV */
-/*
- 0, 1, 52, 93, 121, 158,
- 193, 218, 240, 245, 277, 302, 325,
- 351, 381, 418, 429, 443, 454, 497,
- 648, 680, 693, 702, 769, 822, 828,
- 877, 890, 905, 909, 919, 921, 926,
- 934, 938, 942, 946, 949, 964
-*/
-
-
-
-
diff --git a/include/osishtmlhref.h b/include/osishtmlhref.h
index af8fab2..d8cf58e 100644
--- a/include/osishtmlhref.h
+++ b/include/osishtmlhref.h
@@ -1,6 +1,6 @@
/******************************************************************************
*
- * $Id: osishtmlhref.h 2091 2007-09-28 01:49:45Z scribe $
+ * $Id: osishtmlhref.h 2391 2009-05-08 02:02:16Z chrislit $
*
* Copyright 1998 CrossWire Bible Society (http://www.crosswire.org)
* CrossWire Bible Society
@@ -33,7 +33,7 @@ private:
protected:
// used by derived classes so we have it in the header
class QuoteStack;
- class MyUserData : public BasicFilterUserData {
+ class SWDLLEXPORT MyUserData : public BasicFilterUserData {
public:
bool osisQToTick;
bool inBold;
diff --git a/include/osismorphsegmentation.h b/include/osismorphsegmentation.h
index 45bbec7..807237d 100644
--- a/include/osismorphsegmentation.h
+++ b/include/osismorphsegmentation.h
@@ -29,7 +29,7 @@ SWORD_NAMESPACE_START
* (for morpheme segmented Hebrew in the WLC)
*/
-class OSISMorphSegmentation : public SWOptionFilter {
+class SWDLLEXPORT OSISMorphSegmentation : public SWOptionFilter {
public:
OSISMorphSegmentation();
diff --git a/include/osisplain.h b/include/osisplain.h
index 19aee17..facbd67 100644
--- a/include/osisplain.h
+++ b/include/osisplain.h
@@ -1,6 +1,6 @@
/******************************************************************************
*
- * $Id: osisplain.h 1688 2005-01-01 04:42:26Z scribe $
+ * $Id: osisplain.h 2187 2008-07-22 11:00:16Z scribe $
*
* Copyright 1998 CrossWire Bible Society (http://www.crosswire.org)
* CrossWire Bible Society
@@ -31,15 +31,7 @@ SWORD_NAMESPACE_START
class SWDLLEXPORT OSISPlain : public SWBasicFilter {
public:
protected:
- class MyUserData : public BasicFilterUserData {
- public:
- SWBuf w;
- XMLTag tag;
- MyUserData(const SWModule *module, const SWKey *key) : BasicFilterUserData(module, key) {}
- };
- virtual BasicFilterUserData *createUserData(const SWModule *module, const SWKey *key) {
- return new MyUserData(module, key);
- }
+ virtual BasicFilterUserData *createUserData(const SWModule *module, const SWKey *key);
virtual bool handleToken(SWBuf &buf, const char *token, BasicFilterUserData *userData);
public:
OSISPlain();
diff --git a/include/scsuutf8.h b/include/osisruby.h
index 000cdd6..07cbe49 100644
--- a/include/scsuutf8.h
+++ b/include/osisruby.h
@@ -1,40 +1,38 @@
-/******************************************************************************
- *
- * $Id: scsuutf8.h 1688 2005-01-01 04:42:26Z scribe $
- *
- * Copyright 1998 CrossWire Bible Society (http://www.crosswire.org)
- * CrossWire Bible Society
- * P. O. Box 2528
- * Tempe, AZ 85280-2528
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License as published by the
- * Free Software Foundation version 2.
- *
- * This program is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * General Public License for more details.
- *
- */
-
-#ifndef SCSUUTF8_H
-#define SCSUUTF8_H
-
-#include <swfilter.h>
-
-SWORD_NAMESPACE_START
-
-/** This filter converts SCSU compressed (encoded) text to UTF-8
- */
-class SWDLLEXPORT SCSUUTF8 : public SWFilter {
- unsigned long c, d;
- unsigned char* UTF8Output(unsigned long, unsigned char* text);
-
-public:
- SCSUUTF8();
- virtual char processText(SWBuf &text, const SWKey *key = 0, const SWModule *module = 0);
-};
-
-SWORD_NAMESPACE_END
-#endif
+/******************************************************************************
+ *
+ * $Id: osisruby.h 1688 2005-01-01 04:42:26Z scribe $
+ *
+ * Copyright 1998 CrossWire Bible Society (http://www.crosswire.org)
+ * CrossWire Bible Society
+ * P. O. Box 2528
+ * Tempe, AZ 85280-2528
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation version 2.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ */
+
+#ifndef OSISRUBY_H
+#define OSISRUBY_H
+
+#include <swoptfilter.h>
+
+SWORD_NAMESPACE_START
+
+/** This Filter shows/hides headings in a OSIS text
+ */
+class SWDLLEXPORT OSISRuby : public SWOptionFilter {
+public:
+ OSISRuby();
+ virtual ~OSISRuby();
+ virtual char processText(SWBuf &text, const SWKey *key = 0, const SWModule *module = 0);
+};
+
+SWORD_NAMESPACE_END
+#endif
diff --git a/include/rawcom.h b/include/rawcom.h
index c5f7895..4811b40 100644
--- a/include/rawcom.h
+++ b/include/rawcom.h
@@ -2,7 +2,7 @@
* rawcom.h - code for class 'RawCom'- a module that reads raw commentary
* files: ot and nt using indexs ??.bks ??.cps ??.vss
*
- * $Id: rawcom.h 1864 2005-11-20 06:06:40Z scribe $
+ * $Id: rawcom.h 2303 2009-04-06 13:38:34Z scribe $
*
* Copyright 1998 CrossWire Bible Society (http://www.crosswire.org)
* CrossWire Bible Society
@@ -36,24 +36,28 @@ class SWDLLEXPORT RawCom : public RawVerse, public SWCom {
public:
RawCom(const char *ipath, const char *iname = 0, const char *idesc = 0,
- SWDisplay * idisp = 0, SWTextEncoding encoding = ENC_UNKNOWN,
+ SWDisplay *idisp = 0, SWTextEncoding encoding = ENC_UNKNOWN,
SWTextDirection dir = DIRECTION_LTR, SWTextMarkup markup = FMT_UNKNOWN,
- const char* ilang = 0);
+ const char *ilang = 0, const char *versification = "KJV");
virtual ~RawCom();
virtual SWBuf &getRawEntryBuf();
- virtual void increment(int steps);
- virtual void decrement(int steps) { increment(-steps); }
+ virtual void increment(int steps = 1);
+ virtual void decrement(int steps = 1) { increment(-steps); }
// write interface ----------------------------
virtual bool isWritable();
- static char createModule(const char *path) { return RawVerse::createModule(path); }
+ static char createModule(const char *path, const char *v11n = "KJV") { return RawVerse::createModule(path, v11n); }
virtual void setEntry(const char *inbuf, long len = -1); // Modify current module entry
virtual void linkEntry(const SWKey *linkKey); // Link current module entry to other module entry
virtual void deleteEntry(); // Delete current module entry
// end write interface ------------------------
+ virtual bool isLinked(const SWKey *k1, const SWKey *k2) const;
+ virtual bool hasEntry(const SWKey *k) const;
+
+
SWMODULE_OPERATORS
};
diff --git a/include/rawcom4.h b/include/rawcom4.h
index 8cd0574..f489799 100644
--- a/include/rawcom4.h
+++ b/include/rawcom4.h
@@ -36,24 +36,27 @@ class SWDLLEXPORT RawCom4 : public RawVerse4, public SWCom {
public:
RawCom4(const char *ipath, const char *iname = 0, const char *idesc = 0,
- SWDisplay * idisp = 0, SWTextEncoding encoding = ENC_UNKNOWN,
+ SWDisplay *idisp = 0, SWTextEncoding encoding = ENC_UNKNOWN,
SWTextDirection dir = DIRECTION_LTR, SWTextMarkup markup = FMT_UNKNOWN,
- const char* ilang = 0);
+ const char *ilang = 0, const char *versification = "KJV");
virtual ~RawCom4();
virtual SWBuf &getRawEntryBuf();
- virtual void increment(int steps);
- virtual void decrement(int steps) { increment(-steps); }
+ virtual void increment(int steps = 1);
+ virtual void decrement(int steps = 1) { increment(-steps); }
// write interface ----------------------------
virtual bool isWritable();
- static char createModule(const char *path) { return RawVerse4::createModule(path); }
+ static char createModule(const char *path, const char *v11n = "KJV") { return RawVerse4::createModule(path, v11n); }
virtual void setEntry(const char *inbuf, long len = -1); // Modify current module entry
virtual void linkEntry(const SWKey *linkKey); // Link current module entry to other module entry
virtual void deleteEntry(); // Delete current module entry
// end write interface ------------------------
+ virtual bool isLinked(const SWKey *k1, const SWKey *k2) const;
+ virtual bool hasEntry(const SWKey *k) const;
+
SWMODULE_OPERATORS
};
diff --git a/include/rawgenbook.h b/include/rawgenbook.h
index a915b4e..ba07478 100644
--- a/include/rawgenbook.h
+++ b/include/rawgenbook.h
@@ -2,7 +2,7 @@
* rawtext.h - code for class 'RawText'- a module that reads raw text files:
* ot and nt using indexs ??.bks ??.cps ??.vss
*
- * $Id: rawgenbook.h 1917 2006-05-22 01:07:17Z scribe $
+ * $Id: rawgenbook.h 2303 2009-04-06 13:38:34Z scribe $
*
* Copyright 1998 CrossWire Bible Society (http://www.crosswire.org)
* CrossWire Bible Society
@@ -51,9 +51,10 @@ public:
virtual void setEntry(const char *inbuf, long len = -1); // Modify current module entry
virtual void linkEntry(const SWKey * linkKey); // Link current module entry to other module entry
virtual void deleteEntry(); // Delete current module entry
- virtual SWKey *CreateKey();
+ virtual SWKey *CreateKey() const;
// end write interface ------------------------
+ virtual bool hasEntry(const SWKey *k) const;
// OPERATORS -----------------------------------------------------------------
diff --git a/include/rawld.h b/include/rawld.h
index 7afe9b9..782900b 100644
--- a/include/rawld.h
+++ b/include/rawld.h
@@ -2,7 +2,7 @@
* rawld.cpp - code for class 'RawLD'- a module that reads raw lexicon and
* dictionary files: *.dat *.idx
*
- * $Id: rawld.h 1864 2005-11-20 06:06:40Z scribe $
+ * $Id: rawld.h 2303 2009-04-06 13:38:34Z scribe $
*
* Copyright 1998 CrossWire Bible Society (http://www.crosswire.org)
* CrossWire Bible Society
@@ -31,7 +31,6 @@
SWORD_NAMESPACE_START
class SWDLLEXPORT RawLD : public RawStr, public SWLD {
- void strongsPad(char *buf);
char getEntry(long away = 0);
public:
@@ -55,6 +54,9 @@ public:
virtual void linkEntry(const SWKey *linkKey); // Link current module entry to other module entry
virtual void deleteEntry(); // Delete current module entry
// end write interface ------------------------
+ virtual long getEntryCount() const;
+ virtual long getEntryForKey(const char *key) const;
+ virtual char *getKeyForEntry(long entry) const;
// OPERATORS -----------------------------------------------------------------
diff --git a/include/rawld4.h b/include/rawld4.h
index 616b992..d0118df 100644
--- a/include/rawld4.h
+++ b/include/rawld4.h
@@ -2,7 +2,7 @@
* rawld.cpp - code for class 'RawLD'- a module that reads raw lexicon and
* dictionary files: *.dat *.idx
*
- * $Id: rawld4.h 1864 2005-11-20 06:06:40Z scribe $
+ * $Id: rawld4.h 2303 2009-04-06 13:38:34Z scribe $
*
* Copyright 1998 CrossWire Bible Society (http://www.crosswire.org)
* CrossWire Bible Society
@@ -31,7 +31,6 @@
SWORD_NAMESPACE_START
class SWDLLEXPORT RawLD4 : public RawStr4, public SWLD {
- void strongsPad(char *buf);
char getEntry(long away = 0);
public:
@@ -55,6 +54,9 @@ public:
virtual void linkEntry(const SWKey *linkKey); // Link current module entry to other module entry
virtual void deleteEntry(); // Delete current module entry
// end write interface ------------------------
+ virtual long getEntryCount() const;
+ virtual long getEntryForKey(const char *key) const;
+ virtual char *getKeyForEntry(long entry) const;
// OPERATORS -----------------------------------------------------------------
diff --git a/include/rawstr.h b/include/rawstr.h
index 4367851..41d65d5 100644
--- a/include/rawstr.h
+++ b/include/rawstr.h
@@ -4,7 +4,7 @@
* and provides lookup and parsing functions based on
* class StrKey
*
- * $Id: rawstr.h 1864 2005-11-20 06:06:40Z scribe $
+ * $Id: rawstr.h 2303 2009-04-06 13:38:34Z scribe $
*
* Copyright 1998 CrossWire Bible Society (http://www.crosswire.org)
* CrossWire Bible Society
@@ -26,6 +26,7 @@
#define RAWSTR_H
#include <defs.h>
+#include <sysdata.h>
SWORD_NAMESPACE_START
@@ -35,22 +36,24 @@ class FileDesc;
class SWDLLEXPORT RawStr {
static int instance; // number of instantiated RawStr objects or derivitives
char *path;
- long lastoff;
+ mutable long lastoff; // for caching and optimizing
+
protected:
FileDesc *idxfd;
FileDesc *datfd;
void doSetText(const char *key, const char *buf, long len = -1);
void doLinkEntry(const char *destkey, const char *srckey);
+ static const int IDXENTRYSIZE;
+
public:
- static void prepText(SWBuf &buf);
static char nl;
RawStr(const char *ipath, int fileMode = -1);
virtual ~RawStr();
- void getIDXBuf(long ioffset, char **buf);
- void getIDXBufDat(long ioffset, char **buf);
- signed char findOffset(const char *key, long *start, unsigned short *size, long away = 0, long *idxoff = 0);
- void readText(long start, unsigned short *size, char **idxbuf, SWBuf &buf);
+ void getIDXBuf(long ioffset, char **buf) const;
+ void getIDXBufDat(long ioffset, char **buf) const;
+ signed char findOffset(const char *key, __u32 *start, __u16 *size, long away = 0, __u32 *idxoff = 0) const;
+ void readText(__u32 start, __u16 *size, char **idxbuf, SWBuf &buf);
static signed char createModule(const char *path);
};
diff --git a/include/rawstr4.h b/include/rawstr4.h
index 32734ef..91710bc 100644
--- a/include/rawstr4.h
+++ b/include/rawstr4.h
@@ -4,7 +4,7 @@
* and provides lookup and parsing functions based on
* class StrKey
*
- * $Id: rawstr4.h 1864 2005-11-20 06:06:40Z scribe $
+ * $Id: rawstr4.h 2303 2009-04-06 13:38:34Z scribe $
*
* Copyright 1998 CrossWire Bible Society (http://www.crosswire.org)
* CrossWire Bible Society
@@ -26,6 +26,7 @@
#define RAWSTR4_H
#include <defs.h>
+#include <sysdata.h>
SWORD_NAMESPACE_START
@@ -35,23 +36,23 @@ class SWBuf;
class SWDLLEXPORT RawStr4 {
static int instance; // number of instantiated RawStr4 objects or derivitives
char *path;
- long lastoff;
+ mutable long lastoff; // for caching and optimizations
protected:
+ static const int IDXENTRYSIZE;
+
FileDesc *idxfd;
FileDesc *datfd;
- void prepText(SWBuf &buf);
void doSetText(const char *key, const char *buf, long len = -1);
void doLinkEntry(const char *destkey, const char *srckey);
public:
char nl;
RawStr4(const char *ipath, int fileMode = -1);
virtual ~RawStr4();
- void getIDXBuf(long ioffset, char **buf);
- void getIDXBufDat(long ioffset, char **buf);
- signed char findOffset(const char *key, long *start, unsigned long *size,
- long away = 0, long *idxoff = 0);
- void readText(long start, unsigned long *size, char **idxbuf, SWBuf &buf);
+ void getIDXBuf(long ioffset, char **buf) const;
+ void getIDXBufDat(long ioffset, char **buf) const;
+ signed char findOffset(const char *key, __u32 *start, __u32 *size, long away = 0, __u32 *idxoff = 0) const;
+ void readText(__u32 start, __u32 *size, char **idxbuf, SWBuf &buf);
static signed char createModule(const char *path);
};
diff --git a/include/rawtext.h b/include/rawtext.h
index 32986fe..cfff611 100644
--- a/include/rawtext.h
+++ b/include/rawtext.h
@@ -2,7 +2,7 @@
* rawtext.h - code for class 'RawText'- a module that reads raw text files:
* ot and nt using indexs ??.bks ??.cps ??.vss
*
- * $Id: rawtext.h 1864 2005-11-20 06:06:40Z scribe $
+ * $Id: rawtext.h 2303 2009-04-06 13:38:34Z scribe $
*
* Copyright 1998 CrossWire Bible Society (http://www.crosswire.org)
* CrossWire Bible Society
@@ -34,30 +34,25 @@ class RawStr;
class SWDLLEXPORT RawText : public SWText, public RawVerse {
- RawStr *fastSearch[2];
-
public:
- RawText(const char *ipath, const char *iname = 0, const char *idesc = 0, SWDisplay * idisp = 0, SWTextEncoding encoding = ENC_UNKNOWN, SWTextDirection dir = DIRECTION_LTR, SWTextMarkup markup = FMT_UNKNOWN,
- const char* ilang = 0);
+ RawText(const char *ipath, const char *iname = 0, const char *idesc = 0, SWDisplay * idisp = 0, SWTextEncoding encoding = ENC_UNKNOWN, SWTextDirection dir = DIRECTION_LTR, SWTextMarkup markup = FMT_UNKNOWN, const char* ilang = 0, const char *versification = "KJV");
virtual ~RawText();
virtual SWBuf &getRawEntryBuf();
virtual void increment(int steps = 1);
virtual void decrement(int steps = 1) { increment(-steps); }
- virtual signed char createSearchFramework(
- void (*percent) (char, void *) = &nullPercent,
- void *percentUserData = 0);
- virtual void deleteSearchFramework();
- virtual bool hasSearchFramework() { return true; }
- virtual ListKey &search(const char *istr, int searchType = 0, int flags = 0, SWKey * scope = 0, bool * justCheckIfSupported = 0, void (*percent)(char, void *) = &SWModule::nullPercent, void *percentUserData = 0);
// write interface ----------------------------
virtual bool isWritable();
- static char createModule(const char *path) { return RawVerse::createModule(path); }
+ static char createModule(const char *path, const char *v11n = "KJV") { return RawVerse::createModule(path, v11n); }
virtual void setEntry(const char *inbuf, long len = -1); // Modify current module entry
virtual void linkEntry(const SWKey *linkKey); // Link current module entry to other module entry
virtual void deleteEntry(); // Delete current module entry
// end write interface ------------------------
+ virtual bool isLinked(const SWKey *k1, const SWKey *k2) const;
+ virtual bool hasEntry(const SWKey *k) const;
+
+
SWMODULE_OPERATORS
};
diff --git a/include/rawtext4.h b/include/rawtext4.h
index 39552ac..a3d0369 100644
--- a/include/rawtext4.h
+++ b/include/rawtext4.h
@@ -35,30 +35,24 @@ class RawStr;
class SWDLLEXPORT RawText4 : public SWText, public RawVerse4 {
- RawStr4 *fastSearch[2];
-
public:
- RawText4(const char *ipath, const char *iname = 0, const char *idesc = 0, SWDisplay * idisp = 0, SWTextEncoding encoding = ENC_UNKNOWN, SWTextDirection dir = DIRECTION_LTR, SWTextMarkup markup = FMT_UNKNOWN,
- const char* ilang = 0);
+ RawText4(const char *ipath, const char *iname = 0, const char *idesc = 0, SWDisplay * idisp = 0, SWTextEncoding encoding = ENC_UNKNOWN, SWTextDirection dir = DIRECTION_LTR, SWTextMarkup markup = FMT_UNKNOWN, const char* ilang = 0, const char *versification = "KJV");
virtual ~RawText4();
virtual SWBuf &getRawEntryBuf();
virtual void increment(int steps = 1);
virtual void decrement(int steps = 1) { increment(-steps); }
- virtual signed char createSearchFramework(
- void (*percent) (char, void *) = &nullPercent,
- void *percentUserData = 0);
- virtual void deleteSearchFramework();
- virtual bool hasSearchFramework() { return true; }
- virtual ListKey &search(const char *istr, int searchType = 0, int flags = 0, SWKey * scope = 0, bool * justCheckIfSupported = 0, void (*percent)(char, void *) = &SWModule::nullPercent, void *percentUserData = 0);
// write interface ----------------------------
virtual bool isWritable();
- static char createModule(const char *path) { return RawVerse4::createModule(path); }
+ static char createModule(const char *path, const char *v11n = "KJV") { return RawVerse4::createModule(path, v11n); }
virtual void setEntry(const char *inbuf, long len = -1); // Modify current module entry
virtual void linkEntry(const SWKey *linkKey); // Link current module entry to other module entry
virtual void deleteEntry(); // Delete current module entry
// end write interface ------------------------
+ virtual bool isLinked(const SWKey *k1, const SWKey *k2) const;
+ virtual bool hasEntry(const SWKey *k) const;
+
SWMODULE_OPERATORS
};
diff --git a/include/rawverse.h b/include/rawverse.h
index 00abff0..3ce4794 100644
--- a/include/rawverse.h
+++ b/include/rawverse.h
@@ -25,7 +25,6 @@ protected:
FileDesc *textfp[2];
char *path;
- void prepText(SWBuf &buf);
void doSetText(char testmt, long idxoff, const char *buf, long len = -1);
void doLinkEntry(char testmt, long destidxoff, long srcidxoff);
@@ -33,9 +32,9 @@ public:
static const char *nl;
RawVerse(const char *ipath, int fileMode = -1);
virtual ~RawVerse();
- void findOffset(char testmt, long idxoff, long *start, unsigned short *end);
+ void findOffset(char testmt, long idxoff, long *start, unsigned short *end) const;
void readText(char testmt, long start, unsigned short size, SWBuf &buf);
- static char createModule(const char *path);
+ static char createModule(const char *path, const char *v11n = "KJV");
};
SWORD_NAMESPACE_END
diff --git a/include/rawverse4.h b/include/rawverse4.h
index 0b3a767..fee51c3 100644
--- a/include/rawverse4.h
+++ b/include/rawverse4.h
@@ -25,7 +25,6 @@ protected:
FileDesc *textfp[2];
char *path;
- void prepText(SWBuf &buf);
void doSetText(char testmt, long idxoff, const char *buf, long len = -1);
void doLinkEntry(char testmt, long destidxoff, long srcidxoff);
@@ -33,9 +32,9 @@ public:
static const char *nl;
RawVerse4(const char *ipath, int fileMode = -1);
virtual ~RawVerse4();
- void findOffset(char testmt, long idxoff, long *start, unsigned long *end);
+ void findOffset(char testmt, long idxoff, long *start, unsigned long *end) const;
void readText(char testmt, long start, unsigned long size, SWBuf &buf);
- static char createModule(const char *path);
+ static char createModule(const char *path, const char *v11n = "KJV");
};
SWORD_NAMESPACE_END
diff --git a/include/regex.h b/include/regex.h
deleted file mode 100644
index a81e07d..0000000
--- a/include/regex.h
+++ /dev/null
@@ -1,545 +0,0 @@
-/* Definitions for data structures and routines for the regular
- expression library, version 0.12.
- Copyright (C) 1985,89,90,91,92,93,95,96,97 Free Software Foundation, Inc.
-
- the C library, however. The master source lives in /gd/gnu/lib.
-
-NOTE: The canonical source of this file is maintained with the
-GNU C Library. Bugs can be reported to bug-glibc@prep.ai.mit.edu.
-
-This program is free software; you can redistribute it and/or modify it
-under the terms of the GNU General Public License as published by the
-Free Software Foundation; either version 2, or (at your option) any
-later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program; if not, write to the Free Software Foundation,
-Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
-
-#ifndef _REGEX_H
-#define _REGEX_H 1
-
-/* Allow the use in C++ code. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-
-/* POSIX says that <sys/types.h> must be included (by the caller) before
- <regex.h>. */
-
-#if !defined (_POSIX_C_SOURCE) && !defined (_POSIX_SOURCE) && defined (VMS)
-/* VMS doesn't have `size_t' in <sys/types.h>, even though POSIX says it
- should be there. */
-#include <stddef.h>
-#endif
-
-/* The following two types have to be signed and unsigned integer type
- wide enough to hold a value of a pointer. For most ANSI compilers
- ptrdiff_t and size_t should be likely OK. Still size of these two
- types is 2 for Microsoft C. Ugh... */
- typedef long int s_reg_t;
- typedef unsigned long int active_reg_t;
-
-/* The following bits are used to determine the regexp syntax we
- recognize. The set/not-set meanings are chosen so that Emacs syntax
- remains the value 0. The bits are given in alphabetical order, and
- the definitions shifted by one from the previous bit; thus, when we
- add or remove a bit, only one other definition need change. */
- typedef unsigned long int reg_syntax_t;
-
-/* If this bit is not set, then \ inside a bracket expression is literal.
- If set, then such a \ quotes the following character. */
-#define RE_BACKSLASH_ESCAPE_IN_LISTS ((unsigned long int) 1)
-
-/* If this bit is not set, then + and ? are operators, and \+ and \? are
- literals.
- If set, then \+ and \? are operators and + and ? are literals. */
-#define RE_BK_PLUS_QM (RE_BACKSLASH_ESCAPE_IN_LISTS << 1)
-
-/* If this bit is set, then character classes are supported. They are:
- [:alpha:], [:upper:], [:lower:], [:digit:], [:alnum:], [:xdigit:],
- [:space:], [:print:], [:punct:], [:graph:], and [:cntrl:].
- If not set, then character classes are not supported. */
-#define RE_CHAR_CLASSES (RE_BK_PLUS_QM << 1)
-
-/* If this bit is set, then ^ and $ are always anchors (outside bracket
- expressions, of course).
- If this bit is not set, then it depends:
- ^ is an anchor if it is at the beginning of a regular
- expression or after an open-group or an alternation operator;
- $ is an anchor if it is at the end of a regular expression, or
- before a close-group or an alternation operator.
-
- This bit could be (re)combined with RE_CONTEXT_INDEP_OPS, because
- POSIX draft 11.2 says that * etc. in leading positions is undefined.
- We already implemented a previous draft which made those constructs
- invalid, though, so we haven't changed the code back. */
-#define RE_CONTEXT_INDEP_ANCHORS (RE_CHAR_CLASSES << 1)
-
-/* If this bit is set, then special characters are always special
- regardless of where they are in the pattern.
- If this bit is not set, then special characters are special only in
- some contexts; otherwise they are ordinary. Specifically,
- * + ? and intervals are only special when not after the beginning,
- open-group, or alternation operator. */
-#define RE_CONTEXT_INDEP_OPS (RE_CONTEXT_INDEP_ANCHORS << 1)
-
-/* If this bit is set, then *, +, ?, and { cannot be first in an re or
- immediately after an alternation or begin-group operator. */
-#define RE_CONTEXT_INVALID_OPS (RE_CONTEXT_INDEP_OPS << 1)
-
-/* If this bit is set, then . matches newline.
- If not set, then it doesn't. */
-#define RE_DOT_NEWLINE (RE_CONTEXT_INVALID_OPS << 1)
-
-/* If this bit is set, then . doesn't match NUL.
- If not set, then it does. */
-#define RE_DOT_NOT_NULL (RE_DOT_NEWLINE << 1)
-
-/* If this bit is set, nonmatching lists [^...] do not match newline.
- If not set, they do. */
-#define RE_HAT_LISTS_NOT_NEWLINE (RE_DOT_NOT_NULL << 1)
-
-/* If this bit is set, either \{...\} or {...} defines an
- interval, depending on RE_NO_BK_BRACES.
- If not set, \{, \}, {, and } are literals. */
-#define RE_INTERVALS (RE_HAT_LISTS_NOT_NEWLINE << 1)
-
-/* If this bit is set, +, ? and | aren't recognized as operators.
- If not set, they are. */
-#define RE_LIMITED_OPS (RE_INTERVALS << 1)
-
-/* If this bit is set, newline is an alternation operator.
- If not set, newline is literal. */
-#define RE_NEWLINE_ALT (RE_LIMITED_OPS << 1)
-
-/* If this bit is set, then `{...}' defines an interval, and \{ and \}
- are literals.
- If not set, then `\{...\}' defines an interval. */
-#define RE_NO_BK_BRACES (RE_NEWLINE_ALT << 1)
-
-/* If this bit is set, (...) defines a group, and \( and \) are literals.
- If not set, \(...\) defines a group, and ( and ) are literals. */
-#define RE_NO_BK_PARENS (RE_NO_BK_BRACES << 1)
-
-/* If this bit is set, then \<digit> matches <digit>.
- If not set, then \<digit> is a back-reference. */
-#define RE_NO_BK_REFS (RE_NO_BK_PARENS << 1)
-
-/* If this bit is set, then | is an alternation operator, and \| is literal.
- If not set, then \| is an alternation operator, and | is literal. */
-#define RE_NO_BK_VBAR (RE_NO_BK_REFS << 1)
-
-/* If this bit is set, then an ending range point collating higher
- than the starting range point, as in [z-a], is invalid.
- If not set, then when ending range point collates higher than the
- starting range point, the range is ignored. */
-#define RE_NO_EMPTY_RANGES (RE_NO_BK_VBAR << 1)
-
-/* If this bit is set, then an unmatched ) is ordinary.
- If not set, then an unmatched ) is invalid. */
-#define RE_UNMATCHED_RIGHT_PAREN_ORD (RE_NO_EMPTY_RANGES << 1)
-
-/* If this bit is set, succeed as soon as we match the whole pattern,
- without further backtracking. */
-#define RE_NO_POSIX_BACKTRACKING (RE_UNMATCHED_RIGHT_PAREN_ORD << 1)
-
-/* If this bit is set, do not process the GNU regex operators.
- If not set, then the GNU regex operators are recognized. */
-#define RE_NO_GNU_OPS (RE_NO_POSIX_BACKTRACKING << 1)
-
-/* If this bit is set, turn on internal regex debugging.
- If not set, and debugging was on, turn it off.
- This only works if regex.c is compiled -DDEBUG.
- We define this bit always, so that all that's needed to turn on
- debugging is to recompile regex.c; the calling code can always have
- this bit set, and it won't affect anything in the normal case. */
-#define RE_DEBUG (RE_NO_GNU_OPS << 1)
-
-/* This global variable defines the particular regexp syntax to use (for
- some interfaces). When a regexp is compiled, the syntax used is
- stored in the pattern buffer, so changing this does not affect
- already-compiled regexps. */
- extern reg_syntax_t re_syntax_options;
-
-/* Define combinations of the above bits for the standard possibilities.
- (The [[[ comments delimit what gets put into the Texinfo file, so
- don't delete them!) */
-/* [[[begin syntaxes]]] */
-#define RE_SYNTAX_EMACS 0
-
-#define RE_SYNTAX_AWK \
- (RE_BACKSLASH_ESCAPE_IN_LISTS | RE_DOT_NOT_NULL \
- | RE_NO_BK_PARENS | RE_NO_BK_REFS \
- | RE_NO_BK_VBAR | RE_NO_EMPTY_RANGES \
- | RE_DOT_NEWLINE | RE_CONTEXT_INDEP_ANCHORS \
- | RE_UNMATCHED_RIGHT_PAREN_ORD | RE_NO_GNU_OPS)
-
-#define RE_SYNTAX_GNU_AWK \
- ((RE_SYNTAX_POSIX_EXTENDED | RE_BACKSLASH_ESCAPE_IN_LISTS | RE_DEBUG) \
- & ~(RE_DOT_NOT_NULL | RE_INTERVALS | RE_CONTEXT_INDEP_OPS))
-
-#define RE_SYNTAX_POSIX_AWK \
- (RE_SYNTAX_POSIX_EXTENDED | RE_BACKSLASH_ESCAPE_IN_LISTS \
- | RE_INTERVALS | RE_NO_GNU_OPS)
-
-#define RE_SYNTAX_GREP \
- (RE_BK_PLUS_QM | RE_CHAR_CLASSES \
- | RE_HAT_LISTS_NOT_NEWLINE | RE_INTERVALS \
- | RE_NEWLINE_ALT)
-
-#define RE_SYNTAX_EGREP \
- (RE_CHAR_CLASSES | RE_CONTEXT_INDEP_ANCHORS \
- | RE_CONTEXT_INDEP_OPS | RE_HAT_LISTS_NOT_NEWLINE \
- | RE_NEWLINE_ALT | RE_NO_BK_PARENS \
- | RE_NO_BK_VBAR)
-
-#define RE_SYNTAX_POSIX_EGREP \
- (RE_SYNTAX_EGREP | RE_INTERVALS | RE_NO_BK_BRACES)
-
-/* P1003.2/D11.2, section 4.20.7.1, lines 5078ff. */
-#define RE_SYNTAX_ED RE_SYNTAX_POSIX_BASIC
-
-#define RE_SYNTAX_SED RE_SYNTAX_POSIX_BASIC
-
-/* Syntax bits common to both basic and extended POSIX regex syntax. */
-#define _RE_SYNTAX_POSIX_COMMON \
- (RE_CHAR_CLASSES | RE_DOT_NEWLINE | RE_DOT_NOT_NULL \
- | RE_INTERVALS | RE_NO_EMPTY_RANGES)
-
-#define RE_SYNTAX_POSIX_BASIC \
- (_RE_SYNTAX_POSIX_COMMON | RE_BK_PLUS_QM)
-
-/* Differs from ..._POSIX_BASIC only in that RE_BK_PLUS_QM becomes
- RE_LIMITED_OPS, i.e., \? \+ \| are not recognized. Actually, this
- isn't minimal, since other operators, such as \`, aren't disabled. */
-#define RE_SYNTAX_POSIX_MINIMAL_BASIC \
- (_RE_SYNTAX_POSIX_COMMON | RE_LIMITED_OPS)
-
-#define RE_SYNTAX_POSIX_EXTENDED \
- (_RE_SYNTAX_POSIX_COMMON | RE_CONTEXT_INDEP_ANCHORS \
- | RE_CONTEXT_INDEP_OPS | RE_NO_BK_BRACES \
- | RE_NO_BK_PARENS | RE_NO_BK_VBAR \
- | RE_UNMATCHED_RIGHT_PAREN_ORD)
-
-/* Differs from ..._POSIX_EXTENDED in that RE_CONTEXT_INVALID_OPS
- replaces RE_CONTEXT_INDEP_OPS and RE_NO_BK_REFS is added. */
-#define RE_SYNTAX_POSIX_MINIMAL_EXTENDED \
- (_RE_SYNTAX_POSIX_COMMON | RE_CONTEXT_INDEP_ANCHORS \
- | RE_CONTEXT_INVALID_OPS | RE_NO_BK_BRACES \
- | RE_NO_BK_PARENS | RE_NO_BK_REFS \
- | RE_NO_BK_VBAR | RE_UNMATCHED_RIGHT_PAREN_ORD)
-/* [[[end syntaxes]]] */
-
-/* Maximum number of duplicates an interval can allow. Some systems
- (erroneously) define this in other header files, but we want our
- value, so remove any previous define. */
-#ifdef RE_DUP_MAX
-#undef RE_DUP_MAX
-#endif
-/* If sizeof(int) == 2, then ((1 << 15) - 1) overflows. */
-#define RE_DUP_MAX (0x7fff)
-
-
-/* POSIX `cflags' bits (i.e., information for `regcomp'). */
-
-/* If this bit is set, then use extended regular expression syntax.
- If not set, then use basic regular expression syntax. */
-#define REG_EXTENDED 1
-
-/* If this bit is set, then ignore case when matching.
- If not set, then case is significant. */
-#define REG_ICASE (REG_EXTENDED << 1)
-
-/* If this bit is set, then anchors do not match at newline
- characters in the string.
- If not set, then anchors do match at newlines. */
-#define REG_NEWLINE (REG_ICASE << 1)
-
-/* If this bit is set, then report only success or fail in regexec.
- If not set, then returns differ between not matching and errors. */
-#define REG_NOSUB (REG_NEWLINE << 1)
-
-
-/* POSIX `eflags' bits (i.e., information for regexec). */
-
-/* If this bit is set, then the beginning-of-line operator doesn't match
- the beginning of the string (presumably because it's not the
- beginning of a line).
- If not set, then the beginning-of-line operator does match the
- beginning of the string. */
-#define REG_NOTBOL 1
-
-/* Like REG_NOTBOL, except for the end-of-line. */
-#define REG_NOTEOL (1 << 1)
-
-
-/* If any error codes are removed, changed, or added, update the
- `re_error_msg' table in regex.c. */
- typedef enum
- {
- REG_NOERROR = 0, /* Success. */
- REG_NOMATCH, /* Didn't find a match (for regexec). */
-
- /* POSIX regcomp return error codes. (In the order listed in the
- standard.) */
- REG_BADPAT, /* Invalid pattern. */
- REG_ECOLLATE, /* Not implemented. */
- REG_ECTYPE, /* Invalid character class name. */
- REG_EESCAPE, /* Trailing backslash. */
- REG_ESUBREG, /* Invalid back reference. */
- REG_EBRACK, /* Unmatched left bracket. */
- REG_EPAREN, /* Parenthesis imbalance. */
- REG_EBRACE, /* Unmatched \{. */
- REG_BADBR, /* Invalid contents of \{\}. */
- REG_ERANGE, /* Invalid range end. */
- REG_ESPACE, /* Ran out of memory. */
- REG_BADRPT, /* No preceding re for repetition op. */
-
- /* Error codes we've added. */
- REG_EEND, /* Premature end. */
- REG_ESIZE, /* Compiled pattern bigger than 2^16 bytes. */
- REG_ERPAREN /* Unmatched ) or \); not returned from regcomp. */
- }
- reg_errcode_t;
-
-/* This data structure represents a compiled pattern. Before calling
- the pattern compiler, the fields `buffer', `allocated', `fastmap',
- `translate', and `no_sub' can be set. After the pattern has been
- compiled, the `re_nsub' field is available. All other fields are
- private to the regex routines. */
-
-#ifndef RE_TRANSLATE_TYPE
-#define RE_TRANSLATE_TYPE char *
-#endif
-
- struct re_pattern_buffer
- {
-/* [[[begin pattern_buffer]]] */
- /* Space that holds the compiled pattern. It is declared as
- `unsigned char *' because its elements are
- sometimes used as array indexes. */
- unsigned char *buffer;
-
- /* Number of bytes to which `buffer' points. */
- unsigned long int allocated;
-
- /* Number of bytes actually used in `buffer'. */
- unsigned long int used;
-
- /* Syntax setting with which the pattern was compiled. */
- reg_syntax_t syntax;
-
- /* Pointer to a fastmap, if any, otherwise zero. re_search uses
- the fastmap, if there is one, to skip over impossible
- starting points for matches. */
- char *fastmap;
-
- /* Either a translate table to apply to all characters before
- comparing them, or zero for no translation. The translation
- is applied to a pattern when it is compiled and to a string
- when it is matched. */
- RE_TRANSLATE_TYPE translate;
-
- /* Number of subexpressions found by the compiler. */
- size_t re_nsub;
-
- /* Zero if this pattern cannot match the empty string, one else.
- Well, in truth it's used only in `re_search_2', to see
- whether or not we should use the fastmap, so we don't set
- this absolutely perfectly; see `re_compile_fastmap' (the
- `duplicate' case). */
- unsigned can_be_null:1;
-
- /* If REGS_UNALLOCATED, allocate space in the `regs' structure
- for `max (RE_NREGS, re_nsub + 1)' groups.
- If REGS_REALLOCATE, reallocate space if necessary.
- If REGS_FIXED, use what's there. */
-#define REGS_UNALLOCATED 0
-#define REGS_REALLOCATE 1
-#define REGS_FIXED 2
- unsigned regs_allocated:2;
-
- /* Set to zero when `regex_compile' compiles a pattern; set to one
- by `re_compile_fastmap' if it updates the fastmap. */
- unsigned fastmap_accurate:1;
-
- /* If set, `re_match_2' does not return information about
- subexpressions. */
- unsigned no_sub:1;
-
- /* If set, a beginning-of-line anchor doesn't match at the
- beginning of the string. */
- unsigned not_bol:1;
-
- /* Similarly for an end-of-line anchor. */
- unsigned not_eol:1;
-
- /* If true, an anchor at a newline matches. */
- unsigned newline_anchor:1;
-
-/* [[[end pattern_buffer]]] */
- };
-
- typedef struct re_pattern_buffer regex_t;
-
-/* Type for byte offsets within the string. POSIX mandates this. */
- typedef int regoff_t;
-
-
-/* This is the structure we store register match data in. See
- regex.texinfo for a full description of what registers match. */
- struct re_registers
- {
- unsigned num_regs;
- regoff_t *start;
- regoff_t *end;
- };
-
-
-/* If `regs_allocated' is REGS_UNALLOCATED in the pattern buffer,
- `re_match_2' returns information about at least this many registers
- the first time a `regs' structure is passed. */
-#ifndef RE_NREGS
-#define RE_NREGS 30
-#endif
-
-
-/* POSIX specification for registers. Aside from the different names than
- `re_registers', POSIX uses an array of structures, instead of a
- structure of arrays. */
- typedef struct
- {
- regoff_t rm_so; /* Byte offset from string's start to substring's start. */
- regoff_t rm_eo; /* Byte offset from string's start to substring's end. */
- }
- regmatch_t;
-
-/* Declarations for routines. */
-
-/* To avoid duplicating every routine declaration -- once with a
- prototype (if we are ANSI), and once without (if we aren't) -- we
- use the following macro to declare argument types. This
- unfortunately clutters up the declarations a bit, but I think it's
- worth it. */
-#ifndef __STDC__
-#define __STDC__ 1
-#endif
-#if __STDC__
-
-#define _RE_ARGS(args) args
-
-#else /* not __STDC__ */
-
-#define _RE_ARGS(args) ()
-
-#endif /* not __STDC__ */
-
-/* Sets the current default syntax to SYNTAX, and return the old syntax.
- You can also simply assign to the `re_syntax_options' variable. */
- extern reg_syntax_t re_set_syntax _RE_ARGS ((reg_syntax_t syntax));
-
-/* Compile the regular expression PATTERN, with length LENGTH
- and syntax given by the global `re_syntax_options', into the buffer
- BUFFER. Return NULL if successful, and an error string if not. */
- extern const char *re_compile_pattern
- _RE_ARGS ((const char *pattern, size_t length,
- struct re_pattern_buffer * buffer));
-
-
-/* Compile a fastmap for the compiled pattern in BUFFER; used to
- accelerate searches. Return 0 if successful and -2 if was an
- internal error. */
- extern int re_compile_fastmap
- _RE_ARGS ((struct re_pattern_buffer * buffer));
-
-
-/* Search in the string STRING (with length LENGTH) for the pattern
- compiled into BUFFER. Start searching at position START, for RANGE
- characters. Return the starting position of the match, -1 for no
- match, or -2 for an internal error. Also return register
- information in REGS (if REGS and BUFFER->no_sub are nonzero). */
- extern int re_search
- _RE_ARGS ((struct re_pattern_buffer * buffer, const char *string,
- int length, int start, int range, struct re_registers * regs));
-
-
-/* Like `re_search', but search in the concatenation of STRING1 and
- STRING2. Also, stop searching at index START + STOP. */
- extern int re_search_2
- _RE_ARGS ((struct re_pattern_buffer * buffer, const char *string1,
- int length1, const char *string2, int length2,
- int start, int range, struct re_registers * regs, int stop));
-
-
-/* Like `re_search', but return how many characters in STRING the regexp
- in BUFFER matched, starting at position START. */
- extern int re_match
- _RE_ARGS ((struct re_pattern_buffer * buffer, const char *string,
- int length, int start, struct re_registers * regs));
-
-
-/* Relates to `re_match' as `re_search_2' relates to `re_search'. */
- extern int re_match_2
- _RE_ARGS ((struct re_pattern_buffer * buffer, const char *string1,
- int length1, const char *string2, int length2,
- int start, struct re_registers * regs, int stop));
-
-
-/* Set REGS to hold NUM_REGS registers, storing them in STARTS and
- ENDS. Subsequent matches using BUFFER and REGS will use this memory
- for recording register information. STARTS and ENDS must be
- allocated with malloc, and must each be at least `NUM_REGS * sizeof
- (regoff_t)' bytes long.
-
- If NUM_REGS == 0, then subsequent matches should allocate their own
- register data.
-
- Unless this function is called, the first search or match using
- PATTERN_BUFFER will allocate its own register data, without
- freeing the old data. */
- extern void re_set_registers
- _RE_ARGS ((struct re_pattern_buffer * buffer, struct re_registers * regs,
- unsigned num_regs, regoff_t * starts, regoff_t * ends));
-
-#ifdef _REGEX_RE_COMP
-#ifndef _CRAY
-/* 4.2 bsd compatibility. */
- extern char *re_comp _RE_ARGS ((const char *));
- extern int re_exec _RE_ARGS ((const char *));
-#endif
-#endif
-
-/* POSIX compatibility. */
- extern int regcomp
- _RE_ARGS ((regex_t * preg, const char *pattern, int cflags));
- extern int regexec
- _RE_ARGS (
- (const regex_t * preg, const char *string, size_t nmatch,
- regmatch_t pmatch[], int eflags));
- extern size_t regerror
- _RE_ARGS (
- (int errcode, const regex_t * preg, char *errbuf,
- size_t errbuf_size));
- extern void regfree _RE_ARGS ((regex_t * preg));
-
-
-#ifdef __cplusplus
-}
-#endif /* C++ */
-
-#endif /* regex.h */
-
-/*
-Local variables:
-make-backup-files: t
-version-control: t
-trim-versions-without-asking: nil
-End:
-*/
diff --git a/include/roman.h b/include/roman.h
index dd1acbd..37e4d1d 100644
--- a/include/roman.h
+++ b/include/roman.h
@@ -24,7 +24,7 @@ SWORD_NAMESPACE_START
/** Checks if a string is a roman numeral.
*/
-char isroman(const char *);
+char isroman(const char *, int maxchars = 0);
/* char* to_rom(int num, char *p); */
/** Converts a roman numeral to a string.
diff --git a/include/swbuf.h b/include/swbuf.h
index 6ae6958..eac0e70 100644
--- a/include/swbuf.h
+++ b/include/swbuf.h
@@ -1,7 +1,7 @@
/******************************************************************************
* swbuf.h - code for SWBuf used as a transport and utility for data buffers
*
-* $Id: swbuf.h 2116 2007-10-17 00:12:27Z scribe $
+* $Id: swbuf.h 2378 2009-05-04 23:18:51Z scribe $
*
* Copyright 2003 CrossWire Bible Society (http://www.crosswire.org)
* CrossWire Bible Society
@@ -213,7 +213,7 @@ public:
* @param format The format string. Same syntax as printf, for example.
* @param ... Add all arguments here.
*/
- void setFormatted(const char *format, ...);
+ SWBuf &setFormatted(const char *format, ...);
/**
* SWBuf::setSize - Size this buffer to a specific length.
@@ -373,9 +373,14 @@ public:
* Strip a prefix from this buffer up to a separator byte.
* Returns the prefix and modifies this buffer, shifting left to remove prefix
* @param separator to use (e.g. ':')
+ * @param endOfStringAsSeparator - also count end of string as separator.
+ * this is useful for tokenizing entire string like:
+ * x|y|z
+ * if true it will also include 'z'.
+ *
* @return prefix if separator character found; otherwise, null and leaves buffer unmodified
*/
- inline const char *stripPrefix(char separator) { const char *m = strchr(buf, separator); if (m) { int len = m-buf; char *hold = new char[len]; memcpy(hold, buf, len); *this << (len+1); memcpy(end+1, hold, len); delete [] hold; end[len+1] = 0; } return (m) ? end+1 : 0; } // safe. we know we don't actually realloc and shrink buffer when shifting, so we can place our return val at end.
+ inline const char *stripPrefix(char separator, bool endOfStringAsSeparator = false) { const char *m = strchr(buf, separator); if (!m && endOfStringAsSeparator) { if (*buf) { operator >>(1); *buf=0; end = buf; return buf + 1;} else return buf; } if (m) { int len = m-buf; char *hold = new char[len]; memcpy(hold, buf, len); *this << (len+1); memcpy(end+1, hold, len); delete [] hold; end[len+1] = 0; } return (m) ? end+1 : 0; } // safe. we know we don't actually realloc and shrink buffer when shifting, so we can place our return val at end.
// this could be nicer, like replacing a contiguous series of target bytes with single replacement; offering replacement const char *
/**
@@ -415,13 +420,14 @@ public:
*/
inline bool endsWith(const char *postfix) const { unsigned int psize = strlen(postfix); return (size() >= psize)?!strncmp(end-psize, postfix, psize):false; }
- inline int compare(const char *other) const { return strcmp(c_str(), other); }
+ // be sure we've been given a valid pointer to compare. If not, we return !=; specifically less-than, for lack of better options
+ inline int compare(const char *other) const { return (other?strcmp(c_str(), other):-1); }
inline bool operator ==(const char *other) const { return compare(other) == 0; }
inline bool operator !=(const char *other) const { return compare(other) != 0; }
- inline bool operator > (const char *other) const { return compare(other) > 0; }
- inline bool operator < (const char *other) const { return compare(other) < 0; }
- inline bool operator <=(const char *other) const { return compare(other) <= 0; }
- inline bool operator >=(const char *other) const { return compare(other) >= 0; }
+ inline bool operator > (const char *other) const { return other && compare(other) > 0; }
+ inline bool operator < (const char *other) const { return other && compare(other) < 0; }
+ inline bool operator <=(const char *other) const { return other && compare(other) <= 0; }
+ inline bool operator >=(const char *other) const { return other && compare(other) >= 0; }
};
diff --git a/include/swcom.h b/include/swcom.h
index 5b17d83..3b07ccd 100644
--- a/include/swcom.h
+++ b/include/swcom.h
@@ -1,8 +1,20 @@
/******************************************************************************
* swcom.h - code for base class 'SWCom'. SWCom is the basis for all
- * types of commentary modules
+ * types of commentary modules.
+ * It is traditionally close to the same as the SWText
+ * module type, but has defaults set which more
+ * closely represent how a commentary will be used and how
+ * the bulk of our commentaries expect to be used. For example,
+ * most commentaries consist of entries for a range of text
+ * (Matt.1.1-6: "Matthew begins with by telling us..."). This
+ * same entry will be returned when any verse between Matt.1.1-6
+ * is requested from the engine. This is done with verse linking.
+ * Since linking is used heavily in commentaries, the flag
+ * skipConsecutiveLinks is defaulted to true so when the
+ * commentary is incremented, it will go to the next ENTRY,
+ * not the next verse (likely Matt.1.7, from our example above).
*
- * $Id: swcom.h 1864 2005-11-20 06:06:40Z scribe $
+ * $Id: swcom.h 2362 2009-04-29 07:21:35Z scribe $
*
* Copyright 1998 CrossWire Bible Society (http://www.crosswire.org)
* CrossWire Bible Society
@@ -36,10 +48,13 @@ class SWKey;
*/
class SWDLLEXPORT SWCom : public SWModule {
- mutable VerseKey *tmpVK;
+ mutable VerseKey *tmpVK1;
+ mutable VerseKey *tmpVK2;
+ mutable bool tmpSecond;
+ char *versification;
protected:
- VerseKey &getVerseKey() const;
+ VerseKey &getVerseKey(const SWKey *key = 0) const;
public:
@@ -47,12 +62,13 @@ public:
/** Initializes data for instance of SWCom
*/
SWCom(const char *imodname = 0, const char *imoddesc = 0,
- SWDisplay * idisp = 0, SWTextEncoding enc = ENC_UNKNOWN,
+ SWDisplay *idisp = 0, SWTextEncoding enc = ENC_UNKNOWN,
SWTextDirection dir = DIRECTION_LTR,
- SWTextMarkup mark = FMT_UNKNOWN, const char* ilang = 0);
+ SWTextMarkup mark = FMT_UNKNOWN, const char *ilang = 0,
+ const char *versification = "KJV");
virtual ~SWCom();
- virtual SWKey *CreateKey();
+ virtual SWKey *CreateKey() const;
virtual long Index() const;
virtual long Index(long iindex);
diff --git a/include/swconfig.h b/include/swconfig.h
index 5bc46d9..2139d3e 100644
--- a/include/swconfig.h
+++ b/include/swconfig.h
@@ -2,7 +2,7 @@
* swconfig.h - definition of Class SWConfig used for saving and retrieval
* of configuration information
*
- * $Id: swconfig.h 2094 2007-09-29 00:34:03Z chrislit $
+ * $Id: swconfig.h 2180 2008-07-13 20:29:25Z scribe $
*
* Copyright 1998 CrossWire Bible Society (http://www.crosswire.org)
* CrossWire Bible Society
@@ -54,6 +54,7 @@ public:
* @param ifilename The file, which should be used for this config.
*/
SWConfig(const char *ifilename);
+ SWConfig();
virtual ~SWConfig();
/** Load from disk
diff --git a/include/swgenbook.h b/include/swgenbook.h
index 3cfa785..d4f3d8f 100644
--- a/include/swgenbook.h
+++ b/include/swgenbook.h
@@ -1,7 +1,7 @@
/******************************************************************************
* swgenbook.h
*
-* $Id: swgenbook.h 1864 2005-11-20 06:06:40Z scribe $
+* $Id: swgenbook.h 2303 2009-04-06 13:38:34Z scribe $
*
* Copyright 1998 CrossWire Bible Society (http://www.crosswire.org)
* CrossWire Bible Society
@@ -22,9 +22,11 @@
#ifndef SWGENBOOK_H
#define SWGENBOOK_H
+#include <defs.h>
+
#include <swmodule.h>
+#include <treekey.h>
-#include <defs.h>
SWORD_NAMESPACE_START
@@ -34,6 +36,8 @@ class SWDLLEXPORT SWGenBook : public SWModule {
protected:
char *entkeytxt;
+ mutable TreeKey *tmpTreeKey;
+ TreeKey &getTreeKey(const SWKey *k = 0) const;
public:
/** Initializes data for instance of SWGenBook
@@ -44,7 +48,7 @@ public:
SWTextMarkup markup = FMT_UNKNOWN, const char* ilang = 0);
virtual ~SWGenBook();
- virtual SWKey *CreateKey() = 0;
+ virtual SWKey *CreateKey() const = 0;
// OPERATORS -----------------------------------------------------------------
diff --git a/include/swkey.h b/include/swkey.h
index ed62e67..eea2135 100644
--- a/include/swkey.h
+++ b/include/swkey.h
@@ -3,7 +3,7 @@
* types of keys for indexing into modules (e.g. verse, word,
* place, etc.)
*
- * $Id: swkey.h 2121 2007-11-24 16:42:32Z scribe $
+ * $Id: swkey.h 2324 2009-04-20 18:40:15Z scribe $
*
* Copyright 1998 CrossWire Bible Society (http://www.crosswire.org)
* CrossWire Bible Society
@@ -27,6 +27,7 @@
#include <swobject.h>
#include <defs.h>
+#include <utilstr.h>
SWORD_NAMESPACE_START
@@ -34,7 +35,7 @@ SWORD_NAMESPACE_START
#define SWKEY_OPERATORS \
SWKey &operator =(const char *ikey) { setText(ikey); return *this; } \
- SWKey &operator =(const SWKey &ikey) { copyFrom(ikey); return *this; } \
+ SWKey &operator =(const SWKey &ikey) { positionFrom(ikey); return *this; } \
SWKey &operator =(SW_POSITION pos) { setPosition(pos); return *this; } \
operator const char *() const { return getText(); } \
bool operator ==(const SWKey &ikey) { return equals(ikey); } \
@@ -45,8 +46,10 @@ SWORD_NAMESPACE_START
virtual bool operator <=(const SWKey &ikey) { return (compare(ikey) < 1); } \
SWKey &operator -=(int steps) { decrement(steps); return *this; } \
SWKey &operator +=(int steps) { increment(steps); return *this; } \
- SWKey &operator++(int) { return *this += 1; } \
- SWKey &operator--(int) { return *this -= 1; }
+ SWKey &operator ++() { increment(1); return *this; } \
+ SWKey operator ++(int) { SWKey temp = *this; increment(1); return temp; } \
+ SWKey &operator --() { decrement(1); return *this; } \
+ SWKey operator --(int) { SWKey temp = *this; decrement(1); return temp; }
/** For use with = operator to position key.
@@ -64,15 +67,37 @@ public:
#define TOP SW_POSITION(POS_TOP)
#define BOTTOM SW_POSITION(POS_BOTTOM)
+class SWLocale;
+
/** SWKey is used for positioning an SWModule to a specific entry.
* It always represents a possible location into a module and can additionally represent
* a domain of entries (e.g. "John 3:16" in the domain "John 1:1 - Mark 5:25")
*/
class SWDLLEXPORT SWKey : public SWObject {
+
+ class LocaleCache {
+ public:
+ char *name;
+ SWLocale *locale;
+ LocaleCache() {
+ name = 0;
+ locale = 0;
+ }
+ virtual ~LocaleCache() {
+ if (name)
+ delete[]name;
+ }
+ };
+ static LocaleCache localeCache;
+ // for caching; don't use directly, call getPrivateLocale()
+ mutable SWLocale *locale;
+
+
long index;
static SWClass classdef;
void init();
+
protected:
char *keytext;
mutable char *rangeText;
@@ -80,6 +105,10 @@ protected:
char persist;
char error;
+ char *localeName;
+ SWLocale *getPrivateLocale() const;
+
+
public:
// misc pointer for whatever
@@ -124,6 +153,7 @@ public:
* @return error status
*/
virtual char Error();
+ virtual void setError(char err) { error = err; }
/** Sets this SWKey with a character string
* @param ikey string used to set this key
@@ -134,12 +164,14 @@ public:
* @param ikey other SWKey object from which to copy
*/
virtual void copyFrom(const SWKey &ikey);
+ virtual void positionFrom(const SWKey &ikey) { copyFrom(ikey); }
- /** returns string representation of this key
+ /** returns string representation of this key
*/
virtual const char *getText() const;
virtual const char *getShortText() const { return getText(); }
virtual const char *getRangeText() const;
+ virtual const char *getOSISRefRangeText() const;
virtual bool isBoundSet() const { return boundSet; }
virtual void clearBound() const { boundSet = false; }
@@ -179,26 +211,10 @@ public:
*/
virtual bool isTraversable() const { return false; }
+ char *getLocale() const { return localeName; }
+ void setLocale(const char *name) { stdstr(&localeName, name); locale = 0; } // this will force an on demand lookup of our locale
+
/** Use this function to get an index position within a module.
- * Here's a small example how to use this function and @ref Index(long).
- * This function uses the GerLut module and chooses a random verse from the
- * Bible and returns it.
- * @code
- * const char* randomVerse() {
- * VerseKey vk;
- * SWMgr mgr;
- * LocaleMgr::getSystemLocaleMgr()->setDefaultLocaleName("de");
- *
- * SWModule* module = mgr->Modules("GerLut");
- * srand( time(0) );
- * const double newIndex = (double(rand())/RAND_MAX)*(24108+8224);
- * vk.Index(newIndex);
- * module->setKey(vk);
- *
- * char* text;
- * sprintf(text, "%s: %s",(const char*)vk ,module->StripText(&vk));
- * return text;
- * @endcode
*/
virtual long Index() const { return index; }
diff --git a/include/swld.h b/include/swld.h
index 28d416b..bc14ca0 100644
--- a/include/swld.h
+++ b/include/swld.h
@@ -2,7 +2,7 @@
* swld.h - code for base class 'SWLD'. SWLD is the basis for all
* types of Lexicon and Dictionary modules (hence the 'LD').
*
- * $Id: swld.h 1864 2005-11-20 06:06:40Z scribe $
+ * $Id: swld.h 2303 2009-04-06 13:38:34Z scribe $
*
* Copyright 1998 CrossWire Bible Society (http://www.crosswire.org)
* CrossWire Bible Society
@@ -35,6 +35,7 @@ SWORD_NAMESPACE_START
class SWDLLEXPORT SWLD : public SWModule {
protected:
char *entkeytxt;
+ static void strongsPad(char *buf);
public:
/** Initializes data for instance of SWLD
*/
@@ -44,7 +45,7 @@ public:
SWTextMarkup markup = FMT_UNKNOWN, const char* ilang = 0);
virtual ~SWLD();
- virtual SWKey *CreateKey();
+ virtual SWKey *CreateKey() const;
/** Sets/gets module KeyText, getting from saved text if key is persistent
*
@@ -56,6 +57,12 @@ public:
virtual void setPosition(SW_POSITION pos);
+ virtual long getEntryCount() const = 0;
+ virtual long getEntryForKey(const char *key) const = 0;
+ virtual char *getKeyForEntry(long entry) const = 0;
+
+ virtual bool hasEntry(const SWKey *k) const;
+
// OPERATORS -----------------------------------------------------------------
SWMODULE_OPERATORS
diff --git a/include/swlocale.h b/include/swlocale.h
index afe45a1..1b77a6d 100644
--- a/include/swlocale.h
+++ b/include/swlocale.h
@@ -2,7 +2,7 @@
* swlocale.h - definition of Class SWLocale used for retrieval
* of locale lookups
*
- * $Id: swlocale.h 1864 2005-11-20 06:06:40Z scribe $
+ * $Id: swlocale.h 2191 2008-08-16 16:16:03Z scribe $
*
* Copyright 2000 CrossWire Bible Society (http://www.crosswire.org)
* CrossWire Bible Society
@@ -48,8 +48,9 @@ class Private;
char *description;
char *encoding;
struct abbrev *bookAbbrevs;
- char *BMAX;
- struct sbook **books;
+ int abbrevsCnt;
+ const char **bookLongNames;
+ const char **bookPrefAbbrev;
public:
SWLocale(const char *ifilename);
@@ -68,8 +69,8 @@ public:
virtual const char *translate(const char *text);
virtual void augment(SWLocale &addFrom);
virtual SWLocale & operator +=(SWLocale &addFrom) { augment(addFrom); return *this; }
- virtual const struct abbrev *getBookAbbrevs();
- virtual void getBooks(char **iBMAX, struct sbook ***ibooks);
+ virtual const struct abbrev *getBookAbbrevs(int *retSize);
+ static const char *DEFAULT_LOCALE_NAME;
};
SWORD_NAMESPACE_END
diff --git a/include/swmgr.h b/include/swmgr.h
index 7991933..6e7236f 100644
--- a/include/swmgr.h
+++ b/include/swmgr.h
@@ -2,7 +2,7 @@
* swmgr.h - definition of class SWMgr used to interact with an install
* base of sword modules.
*
- * $Id: swmgr.h 2149 2008-03-31 04:44:30Z scribe $
+ * $Id: swmgr.h 2340 2009-04-26 13:51:42Z scribe $
*
* Copyright 1998-2008 CrossWire Bible Society (http://www.crosswire.org)
* CrossWire Bible Society
@@ -43,9 +43,11 @@
* if you decide to start a new project.
*
* Well known frontends are:\n
+ * -BibleTime (http://www.bibletime.info)\n
+ * -BPBible (http://bpbible.com)\n
+ * -MacSword (http://www.macsword.com)\n
+ * -Xiphos (http://xiphos.org)\n
* -SWORD for Windows (http://crosswire.org/sword/software/biblecs/)\n
- * -GnomeSword (http://gnomesword.sourceforge.net/)\n
- * -BibleTime (http://www.bibletime.info/)\n
*/
#ifndef SWMGR_H
@@ -82,7 +84,7 @@ class SWOptionFilter;
* SWMgr exposes an installed module set and can be asked to configure the desired
* markup and options which modules will produce.
*
- * @version $Id: swmgr.h 2149 2008-03-31 04:44:30Z scribe $
+ * @version $Id: swmgr.h 2340 2009-04-26 13:51:42Z scribe $
*/
class SWDLLEXPORT SWMgr {
@@ -157,14 +159,15 @@ public:
static bool isICU;
static const char *globalConfPath;
+ static SWBuf getHomeDir();
/**
*
*/
- static void findConfig(char *configType, char **prefixPath, char **configPath, StringList *augPaths = 0, SWConfig *providedSysConf = 0);
+ static void findConfig(char *configType, char **prefixPath, char **configPath, StringList *augPaths = 0, SWConfig **providedSysConf = 0);
SWConfig *config;
- SWConfig *sysconfig;
+ SWConfig *sysConfig;
/** The path to main module set and locales
*/
diff --git a/include/swmodule.h b/include/swmodule.h
index f1db7e9..86ff822 100644
--- a/include/swmodule.h
+++ b/include/swmodule.h
@@ -3,7 +3,7 @@
* types of modules (e.g. texts, commentaries, maps, lexicons,
* etc.)
*
- * $Id: swmodule.h 2093 2007-09-28 19:20:22Z scribe $
+ * $Id: swmodule.h 2318 2009-04-10 21:22:16Z scribe $
*
* Copyright 1998 CrossWire Bible Society (http://www.crosswire.org)
* CrossWire Bible Society
@@ -78,7 +78,7 @@ typedef std::map < SWBuf, AttributeList, std::less < SWBuf > > AttributeTypeList
// cache data. But if we don't do this, then we need another mechanism to
// check if we are an SWCacher. Maybe make SWModule extend SWObject (which
// it probably should anyway. But then we need to add all the cheezy
-// heirarchy info to all he decendent classes for our SWDYNAMIC_CAST and
+// heirarchy info to all the decendent classes for our SWDYNAMIC_CAST and
// then we can see if we implement SWCacher so we know whether or not to add
// to the yet to be developed cachemgr.
// Just leave for now. This lets us always able to call module->flush()
@@ -103,7 +103,7 @@ protected:
char *modname;
char *moddesc;
char *modtype;
- char *modlang;
+ char *modlang;
char direction;
char markup;
@@ -133,6 +133,8 @@ protected:
int entrySize;
mutable long entryIndex; // internal common storage for index
+ static void prepText(SWBuf &buf);
+
public:
@@ -153,7 +155,7 @@ public:
* @param markup Source Markup of the module (e.g. OSIS)
* @param modlang Language of the module (e.g. en)
*/
- SWModule(const char *imodname = 0, const char *imoddesc = 0, SWDisplay * idisp = 0, char *imodtype = 0, SWTextEncoding encoding = ENC_UNKNOWN, SWTextDirection dir = DIRECTION_LTR, SWTextMarkup markup = FMT_UNKNOWN, const char* modlang = 0);
+ SWModule(const char *imodname = 0, const char *imoddesc = 0, SWDisplay * idisp = 0, const char *imodtype = 0, SWTextEncoding encoding = ENC_UNKNOWN, SWTextDirection dir = DIRECTION_LTR, SWTextMarkup markup = FMT_UNKNOWN, const char *modlang = 0);
/** SWModule d-tor
*/
@@ -168,7 +170,7 @@ public:
/**
* @return True if this module is encoded in Unicode, otherwise returns false.
*/
- virtual const bool isUnicode() const { return (encoding == (char)ENC_UTF8 || encoding == (char)ENC_SCSU); }
+ virtual bool isUnicode() const { return (encoding == (char)ENC_UTF8); }
// These methods are useful for modules that come from a standard SWORD install (most do).
// SWMgr will call setConfig. The user may use getConfig and getConfigEntry (if they
@@ -180,7 +182,7 @@ public:
/**
* @return The size of the text entry for the module's current key position.
*/
- virtual const int getEntrySize() const { return entrySize; }
+ virtual int getEntrySize() const { return entrySize; }
/**
* Sets a key to this module for position to a particular record
@@ -204,7 +206,7 @@ public:
* @deprecated Use setKey() instead.
*/
char SetKey(const SWKey &ikey) { return setKey(ikey); }
- /**
+ /**
* @deprecated Use setKey() instead.
*/
char Key(const SWKey & ikey) { return setKey(ikey); }
@@ -233,12 +235,12 @@ public:
* gets the key text for the module.
* do we really need this?
*/
-
+
virtual const char *getKeyText() const {
return *getKey();
}
-
+
virtual long Index() const { return entryIndex; }
virtual long Index(long iindex) { entryIndex = iindex; return entryIndex; }
@@ -260,7 +262,7 @@ public:
*/
virtual void setDisplay(SWDisplay * idisp);
- /**
+ /**
* @deprecated Use get/setDisplay() instead.
*/
SWDisplay *Disp(SWDisplay * idisp = 0) {
@@ -379,7 +381,7 @@ public:
* @see VerseKey, ListKey, SWText, SWLD, SWCom
* @return pointer to allocated key
*/
- virtual SWKey *CreateKey();
+ virtual SWKey *CreateKey() const;
/** This function is reimplemented by the different kinds
* of module objects
@@ -436,19 +438,19 @@ public:
* @param buf the buffer to filter
* @param key key location from where this buffer was extracted
*/
- virtual void filterBuffer(OptionFilterList *filters, SWBuf &buf, SWKey *key);
+ virtual void filterBuffer(OptionFilterList *filters, SWBuf &buf, const SWKey *key);
/** FilterBuffer a text buffer
* @param filters the FilterList of filters to iterate
* @param buf the buffer to filter
* @param key key location from where this buffer was extracted
*/
- virtual void filterBuffer(FilterList *filters, SWBuf &buf, SWKey *key);
+ virtual void filterBuffer(FilterList *filters, SWBuf &buf, const SWKey *key);
/** Adds a RenderFilter to this module's renderFilters queue.
* Render Filters are called when the module is asked to produce
* renderable text.
- * @param newFilter the filter to add
+ * @param newfilter the filter to add
* @return *this
*/
virtual SWModule &AddRenderFilter(SWFilter *newfilter) {
@@ -491,7 +493,7 @@ public:
* @param buf the buffer to filter
* @param key key location from where this buffer was extracted
*/
- virtual void renderFilter(SWBuf &buf, SWKey *key) {
+ virtual void renderFilter(SWBuf &buf, const SWKey *key) {
filterBuffer(renderFilters, buf, key);
}
@@ -534,7 +536,7 @@ public:
* @param buf the buffer to filter
* @param key key location from where this buffer was extracted
*/
- virtual void encodingFilter(SWBuf &buf, SWKey *key) {
+ virtual void encodingFilter(SWBuf &buf, const SWKey *key) {
filterBuffer(encodingFilters, buf, key);
}
@@ -562,7 +564,7 @@ public:
* @param buf the buffer to filter
* @param key key location from where this buffer was extracted
*/
- virtual void stripFilter(SWBuf &buf, SWKey *key) {
+ virtual void stripFilter(SWBuf &buf, const SWKey *key) {
filterBuffer(stripFilters, buf, key);
}
@@ -571,7 +573,7 @@ public:
* @param buf the buffer to filter
* @param key key location from where this buffer was extracted
*/
- virtual void rawFilter(SWBuf &buf, SWKey *key) {
+ virtual void rawFilter(SWBuf &buf, const SWKey *key) {
filterBuffer(rawFilters, buf, key);
}
@@ -591,7 +593,7 @@ public:
* @param buf the buffer to filter
* @param key key location from where this buffer was extracted
*/
- virtual void optionFilter(SWBuf &buf, SWKey *key) {
+ virtual void optionFilter(SWBuf &buf, const SWKey *key) {
filterBuffer(optionFilters, buf, key);
}
@@ -619,13 +621,13 @@ public:
* @param tmpKey desired module entry
* @return result buffer
*/
- virtual const char *StripText(SWKey *tmpKey);
+ virtual const char *StripText(const SWKey *tmpKey);
/** Produces renderable text of the module entry at the supplied key
* @param tmpKey key to use to grab text
* @return this module's text at specified key location massaged by Render filters
*/
- virtual const char *RenderText(SWKey *tmpKey);
+ virtual const char *RenderText(const SWKey *tmpKey);
/** Whether or not to only hit one entry when iterating encounters
* consecutive links when iterating
@@ -637,6 +639,9 @@ public:
* consecutive links when iterating
*/
virtual bool getSkipConsecutiveLinks() { return skipConsecutiveLinks; }
+
+ virtual bool isLinked(const SWKey *k1, const SWKey *k2) const { return false; }
+ virtual bool hasEntry(const SWKey *k) const { return false; }
/** Entry Attributes are special data pertaining to the current entry.
* To see what Entry Attributes exists for a specific entry of a module,
@@ -657,14 +662,15 @@ public:
*/
virtual bool isProcessEntryAttributes() const { return procEntAttr; }
- // OPERATORS -----------------------------------------------------------------
-
+
+ // SWSearchable Interface Impl -----------------------------------------------
virtual signed char createSearchFramework(
void (*percent) (char, void *) = &nullPercent,
void *percentUserData = 0);
virtual void deleteSearchFramework();
virtual bool hasSearchFramework();
+ // OPERATORS -----------------------------------------------------------------
SWMODULE_OPERATORS
};
diff --git a/include/swtext.h b/include/swtext.h
index cb8d1d5..37a2f16 100644
--- a/include/swtext.h
+++ b/include/swtext.h
@@ -2,7 +2,7 @@
* swtext.h - code for base class 'SWText'. SWText is the basis for all
* types of text modules
*
- * $Id: swtext.h 1864 2005-11-20 06:06:40Z scribe $
+ * $Id: swtext.h 2324 2009-04-20 18:40:15Z scribe $
*
* Copyright 1998 CrossWire Bible Society (http://www.crosswire.org)
* CrossWire Bible Society
@@ -36,24 +36,28 @@ class VerseKey;
class SWDLLEXPORT SWText : public SWModule {
// for conversion if we have been set with a different internal key type
- mutable VerseKey *tmpVK;
+ mutable VerseKey *tmpVK1;
+ mutable VerseKey *tmpVK2;
+ mutable bool tmpSecond;
+ char *versification;
protected:
- VerseKey &getVerseKey() const;
+ VerseKey &getVerseKey(const SWKey* key=0) const;
public:
/** Initializes data for instance of SWText
*/
SWText(const char *imodname = 0, const char *imoddesc = 0,
- SWDisplay * idisp = 0,
+ SWDisplay *idisp = 0,
SWTextEncoding encoding = ENC_UNKNOWN,
SWTextDirection dir = DIRECTION_LTR,
- SWTextMarkup markup = FMT_UNKNOWN, const char* ilang = 0);
+ SWTextMarkup markup = FMT_UNKNOWN, const char *ilang = 0,
+ const char *versification = "KJV");
virtual ~SWText();
/** Create the correct key (VerseKey) for use with SWText
*/
- virtual SWKey *CreateKey();
+ virtual SWKey *CreateKey() const;
virtual long Index() const;
virtual long Index(long iindex);
diff --git a/include/teirtf.h b/include/teirtf.h
index 9c115e4..d8a7b7f 100644
--- a/include/teirtf.h
+++ b/include/teirtf.h
@@ -34,6 +34,7 @@ protected:
class MyUserData : public BasicFilterUserData {
public:
bool BiblicalText;
+ bool inOsisRef;
SWBuf w;
SWBuf version;
MyUserData(const SWModule *module, const SWKey *key);
diff --git a/include/treekey.h b/include/treekey.h
index 1e7c773..749460b 100644
--- a/include/treekey.h
+++ b/include/treekey.h
@@ -1,7 +1,7 @@
/******************************************************************************
* versekey.h - code for class 'versekey'- a standard Biblical verse key
*
- * $Id: treekey.h 1958 2006-08-22 00:15:10Z scribe $
+ * $Id: treekey.h 2280 2009-03-07 15:34:36Z scribe $
*
* Copyright 1998 CrossWire Bible Society (http://www.crosswire.org)
* CrossWire Bible Society
@@ -44,7 +44,24 @@ protected:
// This better conforms to the SWORD write methodology: mod.setKey, mod.setEntry
mutable SWBuf unsnappedKeyText;
+ // called whenever position of this key is changed. Should we move this
+ // to a more base class?
+ void positionChanged() { if (posChangeListener) posChangeListener->positionChanged(); }
+
public:
+
+ class PositionChangeListener {
+ TreeKey *treeKey;
+ public:
+ PositionChangeListener() {}
+ virtual ~PositionChangeListener() {}
+ virtual void positionChanged() = 0;
+ TreeKey *getTreeKey() { return treeKey; }
+ void setTreeKey(TreeKey *tk) { treeKey = tk; }
+ } *posChangeListener;
+
+ void setPositionChangeListener(PositionChangeListener *pcl) { posChangeListener = pcl; posChangeListener->setTreeKey(this); }
+
// TreeKey (const char *ikey = 0);
// TreeKey (const SWKey * ikey);
// TreeKey (TreeKey const &k);
@@ -55,7 +72,9 @@ public:
virtual const char *getLocalName() = 0;
virtual const char *setLocalName(const char *) = 0;
- virtual const char *getUserData(int *size = 0) = 0;
+ virtual int getLevel() { long bm = getOffset(); int level = 0; do { level++; } while (parent()); setOffset(bm); return level; }
+
+ virtual const char *getUserData(int *size = 0) const = 0;
virtual void setUserData(const char *userData, int size = 0) = 0;
/** Go to the root node
@@ -109,7 +128,7 @@ public:
/** Set the key to this path. If the path doesn't exist, then
* nodes are created as necessary
- * @keyPath = path to set/create; if unsupplied, then use any unsnapped setText value.
+ * @param keyPath path to set/create; if unsupplied, then use any unsnapped setText value.
*/
virtual void assureKeyPath(const char *keyPath = 0);
virtual void save() {}
diff --git a/include/treekeyidx.h b/include/treekeyidx.h
index 4a9fc99..e6515e5 100644
--- a/include/treekeyidx.h
+++ b/include/treekeyidx.h
@@ -1,7 +1,7 @@
/******************************************************************************
* versekey.h - code for class 'versekey'- a standard Biblical verse key
*
- * $Id: treekeyidx.h 2009 2006-11-25 21:24:43Z dglassey $
+ * $Id: treekeyidx.h 2280 2009-03-07 15:34:36Z scribe $
*
* Copyright 1998 CrossWire Bible Society (http://www.crosswire.org)
* CrossWire Bible Society
@@ -35,7 +35,7 @@ class FileDesc;
* The TreeKey implementation used for all tree-based modules in Sword, such as GenBooks.
*/
class SWDLLEXPORT TreeKeyIdx : public TreeKey {
-
+
class TreeNode {
public:
TreeNode();
@@ -57,23 +57,25 @@ class SWDLLEXPORT TreeKeyIdx : public TreeKey {
FileDesc *idxfd;
FileDesc *datfd;
+ void init();
+
void getTreeNodeFromDatOffset(long ioffset, TreeNode *buf) const;
char getTreeNodeFromIdxOffset(long ioffset, TreeNode *node) const;
void saveTreeNode(TreeNode *node);
void saveTreeNodeOffsets(TreeNode *node);
- void init();
+
public:
TreeKeyIdx(const TreeKeyIdx &ikey);
- TreeKeyIdx (const char *idxPath, int fileMode = -1);
- ~TreeKeyIdx ();
+ TreeKeyIdx(const char *idxPath, int fileMode = -1);
+ virtual ~TreeKeyIdx();
virtual SWKey *clone() const;
virtual const char *getLocalName();
virtual const char *setLocalName(const char *);
- virtual const char *getUserData(int *size = 0);
+ virtual const char *getUserData(int *size = 0) const;
virtual void setUserData(const char *userData, int size = 0);
virtual void root();
@@ -98,6 +100,8 @@ public:
void setOffset(unsigned long offset);
unsigned long getOffset() const;
+ virtual int getLevel();
+
// OPERATORS ------------------------------------------------------------
diff --git a/include/utf8arabicpoints.h b/include/utf8arabicpoints.h
new file mode 100644
index 0000000..34707a5
--- /dev/null
+++ b/include/utf8arabicpoints.h
@@ -0,0 +1,40 @@
+/******************************************************************************
+ *
+ * UTF8ArabicPoints - SWFilter descendant to remove UTF-8 Arabic vowel points
+ *
+ * $Id: utf8arabicpoints.h 1688 2008-11-30 04:42:26Z refdoc $
+ *
+ * Copyright 2009 CrossWire Bible Society (http://www.crosswire.org)
+ * CrossWire Bible Society
+ * P. O. Box 2528
+ * Tempe, AZ 85280-2528
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation version 2.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ */
+
+#ifndef UTF8ARABICPOINTS_H
+#define UTF8ARABICPOINTS_H
+
+#include <swoptfilter.h>
+
+SWORD_NAMESPACE_START
+
+/** This Filter shows/hides Arabic vowel points in UTF8 text
+ */
+class SWDLLEXPORT UTF8ArabicPoints : public SWOptionFilter {
+public:
+ UTF8ArabicPoints();
+ virtual ~UTF8ArabicPoints();
+ virtual char processText(SWBuf &text, const SWKey *key = 0, const SWModule *module = 0);
+};
+
+SWORD_NAMESPACE_END
+#endif
diff --git a/include/utf8transliterator.h b/include/utf8transliterator.h
index d539ac3..6022cde 100644
--- a/include/utf8transliterator.h
+++ b/include/utf8transliterator.h
@@ -1,6 +1,6 @@
/******************************************************************************
*
- * $Id: utf8transliterator.h 2088 2007-09-26 23:42:44Z chrislit $
+ * $Id: utf8transliterator.h 2278 2009-03-06 23:29:48Z scribe $
*
* Copyright 2001 CrossWire Bible Society (http://www.crosswire.org)
* CrossWire Bible Society
@@ -21,9 +21,18 @@
#ifndef UTF8TRANSLITERATOR_H
#define UTF8TRANSLITERATOR_H
-enum scriptEnum {SE_OFF, SE_LATIN, /*one-way (to) transliterators*/ SE_IPA, SE_BASICLATIN, SE_SBL, SE_TC, SE_BETA, SE_BGREEK, SE_SERA, SE_HUGOYE, SE_UNGEGN, SE_ISO, SE_ALALC, SE_BGNPCGN, /*two-way transliterators*/ SE_GREEK, SE_HEBREW, SE_CYRILLIC, SE_ARABIC, SE_SYRIAC, SE_KATAKANA, SE_HIRAGANA, SE_HANGUL, SE_DEVANAGARI, SE_TAMIL, SE_BENGALI, SE_GURMUKHI, SE_GUJARATI, SE_ORIYA, SE_TELUGU, SE_KANNADA, SE_MALAYALAM, SE_THAI, SE_GEORGIAN, SE_ARMENIAN, SE_ETHIOPIC, SE_GOTHIC, SE_UGARITIC, SE_COPTIC, SE_MEROITIC, SE_LINEARB, SE_CYPRIOT, SE_RUNIC, SE_OGHAM, SE_THAANA, SE_GLAGOLITIC, /*SE_TENGWAR, SE_CIRTH,*/ /*one-way (from) transliterators*/ SE_JAMO, SE_HAN, SE_KANJI};
+enum scriptEnum {SE_OFF, SE_LATIN,
+/*one-way (to) transliterators*/
+SE_IPA, SE_BASICLATIN, SE_SBL, SE_TC, SE_BETA, SE_BGREEK, SE_SERA, SE_HUGOYE, SE_UNGEGN, SE_ISO, SE_ALALC, SE_BGN,
+/*two-way transliterators*/
+SE_GREEK, SE_HEBREW, SE_CYRILLIC, SE_ARABIC, SE_SYRIAC, SE_KATAKANA, SE_HIRAGANA, SE_HANGUL, SE_DEVANAGARI, SE_TAMIL, SE_BENGALI, SE_GURMUKHI, SE_GUJARATI, SE_ORIYA, SE_TELUGU, SE_KANNADA, SE_MALAYALAM, SE_THAI, SE_GEORGIAN, SE_ARMENIAN, SE_ETHIOPIC, SE_GOTHIC, SE_UGARITIC, SE_COPTIC, SE_MEROITIC, SE_LINEARB, SE_CYPRIOT, SE_RUNIC, SE_OGHAM, SE_THAANA, SE_GLAGOLITIC,
+/*SE_TENGWAR, SE_CIRTH,*/
+/*one-way (from) transliterators*/
+SE_JAMO, SE_HAN, SE_KANJI
+};
+
#define NUMSCRIPTS 48
-#define NUMTARGETSCRIPTS NUMSCRIPTS-3//6
+#define NUMTARGETSCRIPTS 2 //NUMSCRIPTS-3//6
#include <swoptfilter.h>
@@ -75,6 +84,7 @@ private:
public:
UTF8Transliterator();
+ ~UTF8Transliterator();
virtual char processText(SWBuf &text, const SWKey *key = 0, const SWModule *module = 0);
virtual const char *getOptionName() { return optName; }
virtual const char *getOptionTip() { return optTip; }
diff --git a/include/utilstr.h b/include/utilstr.h
index 2e3a65e..1864edb 100644
--- a/include/utilstr.h
+++ b/include/utilstr.h
@@ -1,7 +1,7 @@
/******************************************************************************
* utilstr.h - prototypes for string utility functions
*
- * $Id: utilstr.h 2062 2007-07-19 17:27:31Z scribe $
+ * $Id: utilstr.h 2391 2009-05-08 02:02:16Z chrislit $
*
* Copyright 1998 CrossWire Bible Society (http://www.crosswire.org)
* CrossWire Bible Society
@@ -23,16 +23,17 @@
#define UTILSTR_H
#include <defs.h>
+#include <sysdata.h>
SWORD_NAMESPACE_START
/** stdstr - clone a string
*/
-char *stdstr (char **iistr, const char *istr, unsigned int memPadFactor = 1);
-char *strstrip (char *istr);
-const char *stristr (const char *s1, const char *s2);
-int strnicmp(const char *s1, const char *s2, int len);
-int stricmp(const char *s1, const char *s2);
+SWDLLEXPORT char *stdstr (char **iistr, const char *istr, unsigned int memPadFactor = 1);
+SWDLLEXPORT char *strstrip (char *istr);
+SWDLLEXPORT const char *stristr (const char *s1, const char *s2);
+SWDLLEXPORT int strnicmp(const char *s1, const char *s2, int len);
+SWDLLEXPORT int stricmp(const char *s1, const char *s2);
/******************************************************************************
* SW_toupper - array of uppercase values for any given Latin-1 value
@@ -42,5 +43,18 @@ int stricmp(const char *s1, const char *s2);
extern const unsigned char SW_toupper_array[256];
#define SW_toupper(c) SW_toupper_array[(unsigned char)c]
+/******************************************************************************
+ * getUniCharFromUTF8 - retrieves the next Unicode codepoint from a UTF8 string
+ * and increments buf to start of next codepoint
+ *
+ * ENT: buf - address of a utf8 buffer
+ *
+ * RET: buf - incremented past last byte used in computing the current codepoint
+ * unicode codepoint value (0 with buf incremented is invalid UTF8 byte
+ */
+
+__u32 getUniCharFromUTF8(const unsigned char **buf);
+
+
SWORD_NAMESPACE_END
#endif
diff --git a/include/utilxml.h b/include/utilxml.h
index dc5e9d8..5a9c994 100644
--- a/include/utilxml.h
+++ b/include/utilxml.h
@@ -1,7 +1,7 @@
/******************************************************************************
* utilxml.h - definition of class that deal with xml constructs
*
- * $Id: utilxml.h 2096 2007-10-07 00:40:00Z scribe $
+ * $Id: utilxml.h 2378 2009-05-04 23:18:51Z scribe $
*
* Copyright 1998 CrossWire Bible Society (http://www.crosswire.org)
* CrossWire Bible Society
@@ -50,6 +50,7 @@ private:
public:
XMLTag(const char *tagString = 0);
+ XMLTag(const XMLTag& tag);
~XMLTag();
void setText(const char *tagString);
@@ -69,7 +70,11 @@ public:
endTag = false;
}
- inline bool isEndTag() const { return endTag; }
+ /***
+ * if an eID is provided, then we check to be sure we have an attribute <tag eID="xxx"/> value xxx equiv to what is given us
+ * otherwise, we return if we're a simple XML end </tag>.
+ */
+ bool isEndTag(const char *eID = 0) const;
const StringList getAttributeNames() const;
int getAttributePartCount(const char *attribName, char partSplit = '|') const;
diff --git a/include/versekey.h b/include/versekey.h
index 42127bf..4639c69 100644
--- a/include/versekey.h
+++ b/include/versekey.h
@@ -1,7 +1,7 @@
/******************************************************************************
* versekey.h - code for class 'versekey'- a standard Biblical verse key
*
- * $Id: versekey.h 2169 2008-05-18 02:50:53Z scribe $
+ * $Id: versekey.h 2377 2009-05-04 08:04:55Z scribe $
*
* Copyright 1998 CrossWire Bible Society (http://www.crosswire.org)
* CrossWire Bible Society
@@ -26,6 +26,7 @@
#include <swkey.h>
#include <swmacs.h>
#include <listkey.h>
+#include <versemgr.h>
#include <defs.h>
@@ -40,32 +41,6 @@ SWORD_NAMESPACE_START
#define MAXBOOK SW_POSITION(POS_MAXBOOK)
-struct sbook
-{
- /**Name of book
- */
- const char *name;
-
- /**Preferred Abbreviation
- */
- const char *prefAbbrev;
-
- /**Maximum chapters in book
- */
- unsigned char chapmax;
- /** Array[chapmax] of maximum verses in chapters
- */
- int *versemax;
-};
-
-struct abbrev
-{
- const char *ab;
- int book;
-};
-
-
-class SWLocale;
/**
* Class VerseKey
@@ -73,56 +48,16 @@ class SWLocale;
*/
class SWDLLEXPORT VerseKey : public SWKey {
- class LocaleCache {
- public:
- char *name;
- unsigned int abbrevsCnt;
- SWLocale *locale;
- LocaleCache() {
- name = 0;
- abbrevsCnt = 0;
- locale = 0;
- }
- virtual ~LocaleCache() {
- if (name)
- delete[]name;
- }
- };
-
static SWClass classdef;
- static long *offsets[2][2];
- static int offsize[2][2];
- /** number of instantiated VerseKey objects or derivitives
+ /** number of instantiated VerseKey objects or derivitives
*/
static int instance;
- static struct sbook otbooks[];
- static struct sbook ntbooks[];
- static const char *osisotbooks[];
- static const char *osisntbooks[];
- static const char **osisbooks[];
-#if 1
- static long otbks[];
- static long otcps[];
- static long ntbks[];
- static long ntcps[];
-#endif
- static int vm[];
- static LocaleCache localeCache;
ListKey internalListKey;
- const struct abbrev *abbrevs;
- char *locale;
- int abbrevsCnt;
-
- /** The Testament: 0 - Old; 1 - New
- */
- signed char testament;
- mutable signed char book;
- mutable signed int chapter;
- mutable signed int verse;
+ const VerseMgr::System *refSys;
- /** flag for auto normalization
+ /** flag for auto normalization
*/
char autonorm;
@@ -130,16 +65,19 @@ class SWDLLEXPORT VerseKey : public SWKey {
*/
char headings;
- int getBookAbbrev(const char *abbr);
- void initBounds() const;
-
/** initialize and allocate books array
*/
void initstatics();
/** initializes this VerseKey()
*/
- void init();
+ void init(const char *v11n = "KJV");
+
+ // bounds caching is mutable, thus const
+ void initBounds() const;
+
+ // private with no bounds check
+ void setFromOther(const VerseKey &vk);
/** Binary search to find the index closest, but less
* than the given value.
@@ -151,17 +89,39 @@ class SWDLLEXPORT VerseKey : public SWKey {
*/
int findindex(long *array, int size, long value);
- mutable VerseKey *lowerBound, *upperBound;
+ // internal upper/lower bounds optimizations
+ mutable long lowerBound, upperBound; // if autonorms is on
+ mutable VerseKey *tmpClone;
+
+ typedef struct { int test; int book; int chap; int verse; } VerseComponents;
+ mutable VerseComponents lowerBoundComponents, upperBoundComponents; // if autonorms is off, we can't optimize with index
protected:
+ /** The Testament: 0 - Module Heading; 1 - Old; 2 - New
+ */
+ signed char testament;
+ signed char book;
+ signed int chapter;
+ signed int verse;
+ signed char suffix;
+
+ /************************************************************************
+ * VerseKey::getBookAbbrev - Attempts to find a book no from a name or
+ * abbreviation
+ *
+ * ENT: @param abbr - key for which to search;
+ * RET: @return book number or < 0 = not valid
+ */
+ virtual int getBookAbbrev(const char *abbr) const;
+
/** Refresh keytext based on testament|book|chapter|verse
* default auto normalization to true
* default display headings option is false
*/
void freshtext() const;
- /** Parse a character array into testament|book|chapter|verse
+ /** Parse a character array into testament|book|chapter|verse
*
*/
virtual char parse(bool checkNormalize = true);
@@ -172,11 +132,7 @@ public:
static long ntbks[];
static long ntcps[];
#endif
- static const char builtin_BMAX[2];
- static struct sbook *builtin_books[2];
- static const struct abbrev builtin_abbrevs[];
- const char *BMAX;
- struct sbook **books;
+ int BMAX[2];
/**
* VerseKey Constructor - initializes Instance of VerseKey
@@ -185,23 +141,23 @@ public:
* See parse() for more detailed information)
*/
VerseKey(const char *ikey = 0);
-
+
/**
* VerseKey Constructor - initializes instance of VerseKey
*
* @param ikey base key (will take various forms of 'BOOK CH:VS'.
* See parse() for more detailed information)
- */
+ */
VerseKey(const SWKey *ikey);
-
+
/** VerseKey Constructor - initializes instance of VerseKey
* with boundariess - see also LowerBound()
* and UpperBound()
* @param min the lower boundary of the new VerseKey
* @param max the upper boundary of the new VerseKey
- */
- VerseKey(const char *min, const char *max);
-
+ */
+ VerseKey(const char *min, const char *max, const char *v11n = "KJV");
+
/** VerseKey Copy Constructor - will create a new VerseKey
* based on an existing SWKey
*
@@ -215,7 +171,7 @@ public:
* @param k the VerseKey to copy from
*/
VerseKey(const VerseKey &k);
-
+
/** VerseKey Destructor
* Cleans up an instance of VerseKey
*/
@@ -224,37 +180,37 @@ public:
/** sets the lower boundary for this VerseKey
* and returns the new boundary
*
- * @param lb the new lower boundary for this VerseKey
+ * @param ub the new upper boundary for this VerseKey
* @return the lower boundary the key was set to
*/
- VerseKey &LowerBound(const char *lb);
-
+ VerseKey &LowerBound(const VerseKey &ub);
+
/** sets the upper boundary for this VerseKey
* and returns the new boundary
* @param ub the new upper boundary for this VerseKey
* @return the upper boundary the key was set to
*/
- VerseKey &UpperBound(const char *ub);
-
+ VerseKey &UpperBound(const VerseKey &ub);
+
/** gets the lower boundary of this VerseKey
* @return the lower boundary of this VerseKey
*/
VerseKey &LowerBound() const;
-
+
/** gets the upper boundary of this VerseKey
* @return the upper boundary of this VerseKey
*/
VerseKey &UpperBound() const;
-
+
/** clears the boundaries of this VerseKey
*/
void ClearBounds();
-
+
/** Creates a new SWKey based on the current VerseKey
* see also the Copy Constructor
*/
virtual SWKey *clone() const;
-
+
/** refreshes keytext before returning if cast to
* a (char *) is requested
*/
@@ -263,59 +219,79 @@ public:
virtual void setText(const char *ikey, bool checkNormalize) { SWKey::setText(ikey); parse(checkNormalize); }
virtual void setText(const char *ikey) { SWKey::setText(ikey); parse(); }
virtual void copyFrom(const SWKey &ikey);
-
+
/** Equates this VerseKey to another VerseKey
*/
virtual void copyFrom(const VerseKey &ikey);
-
+
+ /** Only repositions this VerseKey to another VerseKey
+ */
+ virtual void positionFrom(const SWKey &ikey);
+
/** Positions this key
*
* @param newpos Position to set to.
* @return *this
*/
virtual void setPosition(SW_POSITION newpos);
-
+
/** Decrements key a number of verses
*
* @param steps Number of verses to jump backward
* @return *this
*/
- virtual void decrement(int steps);
-
+ virtual void decrement(int steps = 1);
+
/** Increments key a number of verses
*
* @param steps Number of verses to jump forward
* @return *this
*/
- virtual void increment(int steps);
+ virtual void increment(int steps = 1);
virtual bool isTraversable() const { return true; }
+ /** Get/Set position of this key by Book Name
+ */
virtual const char *getBookName() const;
+ virtual void setBookName(const char *bname);
+
virtual const char *getBookAbbrev() const;
/** Gets testament
*
* @return value of testament
*/
- virtual char Testament() const;
-
+ virtual char Testament() const { return getTestament(); } // deprecated
+ virtual char getTestament() const;
+
/** Gets book
*
* @return value of book
*/
- virtual char Book() const;
-
+ virtual char Book() const { return getBook(); } // deprecated
+ virtual char getBook() const;
+
/** Gets chapter
*
* @return value of chapter
*/
- virtual int Chapter() const;
-
+ virtual int Chapter() const { return getChapter(); } // deprecated
+ virtual int getChapter() const;
+ virtual int getChapterMax() const;
+
/** Gets verse
*
* @return value of verse
*/
- virtual int Verse() const;
-
+ virtual int Verse() const { return getVerse(); } // deprecated
+ virtual int getVerse() const;
+ virtual int getVerseMax() const;
+
+ /** Gets verse suffix
+ *
+ * @return value of verse suffix
+ */
+ virtual char getSuffix() const;
+
/** Sets/gets testament
*
* @param itestament value which to set testament
@@ -323,8 +299,9 @@ public:
* @return if unchanged -> value of testament,
* if changed -> previous value of testament
*/
- virtual char Testament(char itestament);
-
+ virtual char Testament(char itestament) { char retVal = getTestament(); setTestament(itestament); return retVal; } // deprecated
+ virtual void setTestament(char itestament);
+
/** Sets/gets book
*
* @param ibook value which to set book
@@ -332,8 +309,9 @@ public:
* @return if unchanged -> value of book,
* if changed -> previous value of book
*/
- virtual char Book(char ibook);
-
+ virtual char Book(char ibook) { char retVal = getBook(); setBook(ibook); return retVal; } // deprecated
+ virtual void setBook(char ibook);
+
/** Sets/gets chapter
*
* @param ichapter value which to set chapter
@@ -341,8 +319,9 @@ public:
* @return if unchanged -> value of chapter,
* if changed -> previous value of chapter
*/
- virtual int Chapter(int ichapter);
-
+ virtual int Chapter(int ichapter) { char retVal = getChapter(); setChapter(ichapter); return retVal; } // deprecated
+ virtual void setChapter(int ichapter);
+
/** Sets/gets verse
*
* @param iverse value which to set verse
@@ -350,8 +329,15 @@ public:
* @return if unchanged -> value of verse,
* if changed -> previous value of verse
*/
- virtual int Verse(int iverse);
-
+ virtual int Verse(int iverse) { char retVal = getVerse(); setVerse(iverse); return retVal; } // deprecated;
+ virtual void setVerse(int iverse);
+
+ /** Sets/gets verse suffix
+ *
+ * @param isuffix value which to set verse suffix
+ */
+ virtual void setSuffix(char isuffix);
+
/** checks limits and normalizes if necessary (e.g.
* Matthew 29:47 = Mark 2:2). If last verse is
* exceeded, key is set to last Book CH:VS
@@ -359,7 +345,7 @@ public:
* @return *this
*/
virtual void Normalize(char autocheck = 0);
-
+
/** Sets/gets flag that tells VerseKey to
* automatically normalize itself when modified
*
@@ -368,8 +354,12 @@ public:
* @return if unchanged -> value of autonorm,
* if changed -> previous value of autonorm
*/
- virtual char AutoNormalize(char iautonorm = MAXPOS(char));
-
+ virtual char AutoNormalize(char iautonorm) { char retVal = isAutoNormalize()?1:0; setAutoNormalize(iautonorm); return retVal; } // deprecated
+ virtual char AutoNormalize() const { return isAutoNormalize()?1:0; } // deprecated
+
+ virtual bool isAutoNormalize() const;
+ virtual void setAutoNormalize(bool iautonorm);
+
/** Sets/gets flag that tells VerseKey to include
* chapter/book/testament/module headings
*
@@ -379,15 +369,13 @@ public:
* if changed -> previous value of headings
*/
virtual char Headings(char iheadings = MAXPOS(char));
-
- virtual long NewIndex() const;
-
+
/** Gets index based upon current verse
*
* @return offset
*/
virtual long Index() const;
-
+
/** Sets index based upon current verse
*
* @param iindex value to set index to
@@ -395,8 +383,14 @@ public:
*/
virtual long Index(long iindex);
+ /** Gets index into current testament based upon current verse
+ *
+ * @return offset
+ */
+ virtual long TestamentIndex() const;
+
virtual const char *getOSISRef() const;
- static const int getOSISBookNum(const char *bookab);
+ virtual const char *getOSISBookName() const;
/** Tries to parse a string and convert it into an OSIS reference
* @param inRef reference string to try to parse
@@ -404,8 +398,9 @@ public:
*/
static const char *convertToOSIS(const char *inRef, const SWKey *defaultKey);
- virtual ListKey ParseVerseList(const char *buf, const char *defaultKey = 0, bool expandRange = false);
+ virtual ListKey ParseVerseList(const char *buf, const char *defaultKey = 0, bool expandRange = false, bool useChapterAsVerse = false);
virtual const char *getRangeText() const;
+ virtual const char *getOSISRefRangeText() const;
/** Compares another SWKey object
*
* @param ikey key to compare with this one
@@ -413,8 +408,8 @@ public:
* <0 if this VerseKey is smaller than compare SWKey,
* 0 if the keys are the same
*/
- virtual int compare(const SWKey & ikey);
-
+ virtual int compare(const SWKey &ikey);
+
/** Compares another VerseKey object
*
* @param ikey key to compare with this one
@@ -422,13 +417,13 @@ public:
* <0 if this VerseKey is smaller than compare VerseKey,
* 0 if the keys are the same
*/
- virtual int _compare(const VerseKey & ikey);
-
- virtual void setBookAbbrevs(const struct abbrev *bookAbbrevs, unsigned int size = 0 /* default determine size */ );
- virtual void setBooks(const char *iBMAX, struct sbook **ibooks);
- virtual void setLocale(const char *name);
- virtual const char *getLocale() const { return locale; }
+ virtual int _compare(const VerseKey &ikey);
+
+ virtual void setVersificationSystem(const char *name);
+ virtual const char *getVersificationSystem() const;
+ // DEBUG
+ void validateCurrentLocale() const;
// OPERATORS --------------------------------------------------------------------
@@ -436,7 +431,7 @@ public:
SWKEY_OPERATORS
- virtual SWKey & operator =(const VerseKey & ikey) { copyFrom(ikey); return *this; }
+ virtual SWKey &operator =(const VerseKey &ikey) { positionFrom(ikey); return *this; }
};
SWORD_NAMESPACE_END
diff --git a/include/versemgr.h b/include/versemgr.h
new file mode 100644
index 0000000..6f59d94
--- /dev/null
+++ b/include/versemgr.h
@@ -0,0 +1,163 @@
+/******************************************************************************
+ * versemgr.h - definition of class VerseMgr used for managing
+ * versification systems
+ *
+ * $Id: versemgr.cpp 2108 2007-10-13 20:35:02Z scribe $
+ *
+ * Copyright 1998 CrossWire Bible Society (http://www.crosswire.org)
+ * CrossWire Bible Society
+ * P. O. Box 2528
+ * Tempe, AZ 85280-2528
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation version 2.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ */
+
+#include <list>
+#include <defs.h>
+#include <swcacher.h>
+#include <swbuf.h>
+
+
+#ifndef VERSEMGR_H
+#define VERSEMGR_H
+
+
+SWORD_NAMESPACE_START
+
+typedef std::list <SWBuf>StringList;
+
+struct sbook;
+class TreeKey;
+
+
+struct abbrev
+{
+ const char *ab;
+ const char *osis;
+};
+
+struct sbook {
+ /**Name of book
+ */
+ const char *name;
+
+ /**OSIS name
+ */
+ const char *osis;
+
+ /**Preferred Abbreviation
+ */
+ const char *prefAbbrev;
+
+ /**Maximum chapters in book
+ */
+ unsigned char chapmax;
+ /** Array[chapmax] of maximum verses in chapters
+ */
+ int *versemax;
+};
+
+
+class SWDLLEXPORT VerseMgr : public SWCacher {
+
+
+public:
+ class System;
+
+private:
+ friend class __staticsystemVerseMgr;
+
+ class Private;
+ Private *p;
+
+ void init();
+
+protected:
+ static VerseMgr *systemVerseMgr;
+
+public:
+ class SWDLLEXPORT Book {
+ friend class System;
+ friend struct BookOffsetLess;
+ class Private;
+ Private *p;
+
+ /** book name */
+ SWBuf longName;
+
+ /** OSIS Abbreviation */
+ SWBuf osisName;
+
+ /** Preferred Abbreviation */
+ SWBuf prefAbbrev;
+
+ /** Maximum chapters in book */
+ unsigned int chapMax;
+
+ void init();
+
+ public:
+ Book() { init(); }
+ Book(const Book &other);
+ Book &operator =(const Book &other);
+ Book(const char *longName, const char *osisName, const char *prefAbbrev, int chapMax) {
+ this->longName = longName;
+ this->osisName = osisName;
+ this->prefAbbrev = prefAbbrev;
+ this->chapMax = chapMax;
+ init();
+ }
+ ~Book();
+ const char *getLongName() const { return longName.c_str(); }
+ const char *getOSISName() const { return osisName.c_str(); }
+ const char *getPreferredAbbreviation() const { return prefAbbrev.c_str(); }
+ int getChapterMax() const { return chapMax; }
+ int getVerseMax(int chapter) const;
+ };
+
+ class SWDLLEXPORT System {
+ class Private;
+ Private *p;
+ SWBuf name;
+ int BMAX[2];
+ long ntStartOffset;
+ void init();
+ public:
+ System() { this->name = ""; init(); }
+ System(const System &other);
+ System &operator =(const System &other);
+ System(const char *name) { this->name = name; init(); }
+ ~System();
+ const char *getName() const { return name.c_str(); }
+ const Book *getBookByName(const char *bookName) const;
+ int getBookNumberByOSISName(const char *bookName) const;
+ const Book *getBook(int number) const;
+ int getBookCount() const;
+ void loadFromSBook(const sbook *ot, const sbook *nt, int *chMax);
+ long getOffsetFromVerse(int book, int chapter, int verse) const;
+ char getVerseFromOffset(long offset, int *book, int *chapter, int *verse) const;
+ const int *getBMAX() const { return BMAX; };
+ long getNTStartOffset() const { return ntStartOffset; }
+ };
+ VerseMgr() { init(); }
+ ~VerseMgr();
+ static VerseMgr *getSystemVerseMgr();
+ static void setSystemVerseMgr(VerseMgr *newVerseMgr);
+ const StringList getVersificationSystems() const;
+ const System *getVersificationSystem(const char *name) const;
+ void registerVersificationSystem(const char *name, const sbook *ot, const sbook *nt, int *chMax);
+ void registerVersificationSystem(const char *name, const TreeKey *);
+};
+
+SWDLLEXPORT extern const struct abbrev builtin_abbrevs[];
+
+SWORD_NAMESPACE_END
+#endif
diff --git a/include/versetreekey.h b/include/versetreekey.h
index 574c026..ab1d108 100644
--- a/include/versetreekey.h
+++ b/include/versetreekey.h
@@ -36,16 +36,25 @@ SWORD_NAMESPACE_START
* Class VerseKey
* The SWKey implementation used for verse based modules like Bibles or commentaries.
*/
-class SWDLLEXPORT VerseTreeKey : public VerseKey {
+class SWDLLEXPORT VerseTreeKey : public VerseKey, public TreeKey::PositionChangeListener {
static SWClass classdef;
TreeKey *treeKey;
+// vector<struct sbook> books;
+
+ void init(TreeKey *treeKey);
+ void syncVerseToTree();
+ long lastGoodOffset;
+
+protected:
+ virtual int getBookAbbrev(const char *abbr);
public:
/**
* VerseKey Constructor - initializes Instance of VerseKey
*
+ * @param treeKey a TreeKey which will form the basis of this VerseTreeKey
* @param ikey text key (will take various forms of 'BOOK CH:VS'.
* See parse() for more detailed information)
*/
@@ -54,6 +63,7 @@ public:
/**
* VerseKey Constructor - initializes instance of VerseKey
*
+ * @param treeKey a TreeKey which will form the basis of this VerseTreeKey
* @param ikey base key (will take various forms of 'BOOK CH:VS'.
* See parse() for more detailed information)
*/
@@ -62,6 +72,7 @@ public:
/** VerseKey Constructor - initializes instance of VerseKey
* with boundariess - see also LowerBound()
* and UpperBound()
+ * @param treeKey a TreeKey which will form the basis of this VerseTreeKey
* @param min the lower boundary of the new VerseKey
* @param max the upper boundary of the new VerseKey
*/
@@ -74,6 +85,7 @@ public:
*/
VerseTreeKey(const VerseTreeKey &k);
+
/** VerseKey Destructor
* Cleans up an instance of VerseKey
*/
@@ -86,15 +98,26 @@ public:
virtual bool isTraversable() const { return true; }
- virtual TreeKey *getTreeKey() { return treeKey; }
+ virtual TreeKey *getTreeKey();
+
+ // TreeKey::PositionChangeListener interface
+ virtual void positionChanged();
+ bool internalPosChange;
+
+ virtual void decrement(int steps = 1);
+ virtual void increment(int steps = 1);
+ virtual void Normalize(char autocheck = 0);
+ virtual void setPosition(SW_POSITION newpos);
+ virtual long NewIndex() const;
// OPERATORS --------------------------------------------------------------------
SWKEY_OPERATORS
virtual SWKey & operator = (const VerseKey & ikey) { copyFrom(ikey); return *this; }
+// virtual void copyFrom(const VerseTreeKey &ikey);
};
SWORD_NAMESPACE_END
diff --git a/include/zcom.h b/include/zcom.h
index 137c5c3..90132d5 100644
--- a/include/zcom.h
+++ b/include/zcom.h
@@ -2,7 +2,7 @@
* zcom.h - code for class 'zCom'- a module that reads compressed text
* files: ot and nt using indexs ??.vss
*
- * $Id: zcom.h 1864 2005-11-20 06:06:40Z scribe $
+ * $Id: zcom.h 2303 2009-04-06 13:38:34Z scribe $
*
* Copyright 1998 CrossWire Bible Society (http://www.crosswire.org)
* CrossWire Bible Society
@@ -39,10 +39,11 @@ class SWDLLEXPORT zCom : public zVerse, public SWCom {
public:
zCom(const char *ipath, const char *iname = 0, const char *idesc = 0,
- int blockType = CHAPTERBLOCKS, SWCompress * icomp = 0,
- SWDisplay * idisp = 0, SWTextEncoding encoding = ENC_UNKNOWN,
+ int blockType = CHAPTERBLOCKS, SWCompress *icomp = 0,
+ SWDisplay *idisp = 0, SWTextEncoding encoding = ENC_UNKNOWN,
SWTextDirection dir = DIRECTION_LTR,
- SWTextMarkup markup = FMT_UNKNOWN, const char* ilang = 0);
+ SWTextMarkup markup = FMT_UNKNOWN, const char *ilang = 0,
+ const char *versification = "KJV");
virtual ~zCom();
virtual SWBuf &getRawEntryBuf();
virtual void increment(int steps = 1);
@@ -50,8 +51,8 @@ public:
// write interface ----------------------------
virtual bool isWritable();
- static char createModule(const char *path, int blockBound) {
- return zVerse::createModule(path, blockBound);
+ static char createModule(const char *path, int blockBound, const char *v11n = "KJV") {
+ return zVerse::createModule(path, blockBound, v11n);
}
virtual void setEntry(const char *inbuf, long len = -1); // Modify current module entry
virtual void linkEntry(const SWKey * linkKey); // Link current module entry to other module entry
@@ -64,6 +65,9 @@ public:
virtual void flush() { flushCache(); }
// end swcacher interface ----------------------
+ virtual bool isLinked(const SWKey *k1, const SWKey *k2) const;
+ virtual bool hasEntry(const SWKey *k) const;
+
SWMODULE_OPERATORS
};
diff --git a/include/zld.h b/include/zld.h
index 1046c33..de4788c 100644
--- a/include/zld.h
+++ b/include/zld.h
@@ -2,7 +2,7 @@
* zld.cpp - code for class 'zLD'- a module that reads compressed lexicon and
* dictionary files.
*
- * $Id: zld.h 1864 2005-11-20 06:06:40Z scribe $
+ * $Id: zld.h 2303 2009-04-06 13:38:34Z scribe $
*
* Copyright 1998 CrossWire Bible Society (http://www.crosswire.org)
* CrossWire Bible Society
@@ -31,8 +31,6 @@
SWORD_NAMESPACE_START
class SWDLLEXPORT zLD : public zStr, public SWLD {
-
- void strongsPad(char *buf);
char getEntry(long away = 0);
public:
@@ -63,6 +61,10 @@ public:
virtual void flush() { flushCache(); }
// end swcacher interface ----------------------
+ virtual long getEntryCount() const;
+ virtual long getEntryForKey(const char *key) const;
+ virtual char *getKeyForEntry(long entry) const;
+
// OPERATORS -----------------------------------------------------------------
diff --git a/include/zlib.h b/include/zlib.h
deleted file mode 100644
index 52cb529..0000000
--- a/include/zlib.h
+++ /dev/null
@@ -1,893 +0,0 @@
-/* zlib.h -- interface of the 'zlib' general purpose compression library
- version 1.1.4, March 11th, 2002
-
- Copyright (C) 1995-2002 Jean-loup Gailly and Mark Adler
-
- This software is provided 'as-is', without any express or implied
- warranty. In no event will the authors be held liable for any damages
- arising from the use of this software.
-
- Permission is granted to anyone to use this software for any purpose,
- including commercial applications, and to alter it and redistribute it
- freely, subject to the following restrictions:
-
- 1. The origin of this software must not be misrepresented; you must not
- claim that you wrote the original software. If you use this software
- in a product, an acknowledgment in the product documentation would be
- appreciated but is not required.
- 2. Altered source versions must be plainly marked as such, and must not be
- misrepresented as being the original software.
- 3. This notice may not be removed or altered from any source distribution.
-
- Jean-loup Gailly Mark Adler
- jloup@gzip.org madler@alumni.caltech.edu
-
-
- The data format used by the zlib library is described by RFCs (Request for
- Comments) 1950 to 1952 in the files ftp://ds.internic.net/rfc/rfc1950.txt
- (zlib format), rfc1951.txt (deflate format) and rfc1952.txt (gzip format).
-*/
-
-#ifndef _ZLIB_H
-#define _ZLIB_H
-
-#include "zconf.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#define ZLIB_VERSION "1.1.4"
-
-/*
- The 'zlib' compression library provides in-memory compression and
- decompression functions, including integrity checks of the uncompressed
- data. This version of the library supports only one compression method
- (deflation) but other algorithms will be added later and will have the same
- stream interface.
-
- Compression can be done in a single step if the buffers are large
- enough (for example if an input file is mmap'ed), or can be done by
- repeated calls of the compression function. In the latter case, the
- application must provide more input and/or consume the output
- (providing more output space) before each call.
-
- The library also supports reading and writing files in gzip (.gz) format
- with an interface similar to that of stdio.
-
- The library does not install any signal handler. The decoder checks
- the consistency of the compressed data, so the library should never
- crash even in case of corrupted input.
-*/
-
-typedef voidpf (*alloc_func) OF((voidpf opaque, uInt items, uInt size));
-typedef void (*free_func) OF((voidpf opaque, voidpf address));
-
-struct internal_state;
-
-typedef struct z_stream_s {
- Bytef *next_in; /* next input byte */
- uInt avail_in; /* number of bytes available at next_in */
- uLong total_in; /* total nb of input bytes read so far */
-
- Bytef *next_out; /* next output byte should be put there */
- uInt avail_out; /* remaining free space at next_out */
- uLong total_out; /* total nb of bytes output so far */
-
- char *msg; /* last error message, NULL if no error */
- struct internal_state FAR *state; /* not visible by applications */
-
- alloc_func zalloc; /* used to allocate the internal state */
- free_func zfree; /* used to free the internal state */
- voidpf opaque; /* private data object passed to zalloc and zfree */
-
- int data_type; /* best guess about the data type: ascii or binary */
- uLong adler; /* adler32 value of the uncompressed data */
- uLong reserved; /* reserved for future use */
-} z_stream;
-
-typedef z_stream FAR *z_streamp;
-
-/*
- The application must update next_in and avail_in when avail_in has
- dropped to zero. It must update next_out and avail_out when avail_out
- has dropped to zero. The application must initialize zalloc, zfree and
- opaque before calling the init function. All other fields are set by the
- compression library and must not be updated by the application.
-
- The opaque value provided by the application will be passed as the first
- parameter for calls of zalloc and zfree. This can be useful for custom
- memory management. The compression library attaches no meaning to the
- opaque value.
-
- zalloc must return Z_NULL if there is not enough memory for the object.
- If zlib is used in a multi-threaded application, zalloc and zfree must be
- thread safe.
-
- On 16-bit systems, the functions zalloc and zfree must be able to allocate
- exactly 65536 bytes, but will not be required to allocate more than this
- if the symbol MAXSEG_64K is defined (see zconf.h). WARNING: On MSDOS,
- pointers returned by zalloc for objects of exactly 65536 bytes *must*
- have their offset normalized to zero. The default allocation function
- provided by this library ensures this (see zutil.c). To reduce memory
- requirements and avoid any allocation of 64K objects, at the expense of
- compression ratio, compile the library with -DMAX_WBITS=14 (see zconf.h).
-
- The fields total_in and total_out can be used for statistics or
- progress reports. After compression, total_in holds the total size of
- the uncompressed data and may be saved for use in the decompressor
- (particularly if the decompressor wants to decompress everything in
- a single step).
-*/
-
- /* constants */
-
-#define Z_NO_FLUSH 0
-#define Z_PARTIAL_FLUSH 1 /* will be removed, use Z_SYNC_FLUSH instead */
-#define Z_SYNC_FLUSH 2
-#define Z_FULL_FLUSH 3
-#define Z_FINISH 4
-/* Allowed flush values; see deflate() below for details */
-
-#define Z_OK 0
-#define Z_STREAM_END 1
-#define Z_NEED_DICT 2
-#define Z_ERRNO (-1)
-#define Z_STREAM_ERROR (-2)
-#define Z_DATA_ERROR (-3)
-#define Z_MEM_ERROR (-4)
-#define Z_BUF_ERROR (-5)
-#define Z_VERSION_ERROR (-6)
-/* Return codes for the compression/decompression functions. Negative
- * values are errors, positive values are used for special but normal events.
- */
-
-#define Z_NO_COMPRESSION 0
-#define Z_BEST_SPEED 1
-#define Z_BEST_COMPRESSION 9
-#define Z_DEFAULT_COMPRESSION (-1)
-/* compression levels */
-
-#define Z_FILTERED 1
-#define Z_HUFFMAN_ONLY 2
-#define Z_DEFAULT_STRATEGY 0
-/* compression strategy; see deflateInit2() below for details */
-
-#define Z_BINARY 0
-#define Z_ASCII 1
-#define Z_UNKNOWN 2
-/* Possible values of the data_type field */
-
-#define Z_DEFLATED 8
-/* The deflate compression method (the only one supported in this version) */
-
-#define Z_NULL 0 /* for initializing zalloc, zfree, opaque */
-
-#define zlib_version zlibVersion()
-/* for compatibility with versions < 1.0.2 */
-
- /* basic functions */
-
-ZEXTERN const char * ZEXPORT zlibVersion OF((void));
-/* The application can compare zlibVersion and ZLIB_VERSION for consistency.
- If the first character differs, the library code actually used is
- not compatible with the zlib.h header file used by the application.
- This check is automatically made by deflateInit and inflateInit.
- */
-
-/*
-ZEXTERN int ZEXPORT deflateInit OF((z_streamp strm, int level));
-
- Initializes the internal stream state for compression. The fields
- zalloc, zfree and opaque must be initialized before by the caller.
- If zalloc and zfree are set to Z_NULL, deflateInit updates them to
- use default allocation functions.
-
- The compression level must be Z_DEFAULT_COMPRESSION, or between 0 and 9:
- 1 gives best speed, 9 gives best compression, 0 gives no compression at
- all (the input data is simply copied a block at a time).
- Z_DEFAULT_COMPRESSION requests a default compromise between speed and
- compression (currently equivalent to level 6).
-
- deflateInit returns Z_OK if success, Z_MEM_ERROR if there was not
- enough memory, Z_STREAM_ERROR if level is not a valid compression level,
- Z_VERSION_ERROR if the zlib library version (zlib_version) is incompatible
- with the version assumed by the caller (ZLIB_VERSION).
- msg is set to null if there is no error message. deflateInit does not
- perform any compression: this will be done by deflate().
-*/
-
-
-ZEXTERN int ZEXPORT deflate OF((z_streamp strm, int flush));
-/*
- deflate compresses as much data as possible, and stops when the input
- buffer becomes empty or the output buffer becomes full. It may introduce some
- output latency (reading input without producing any output) except when
- forced to flush.
-
- The detailed semantics are as follows. deflate performs one or both of the
- following actions:
-
- - Compress more input starting at next_in and update next_in and avail_in
- accordingly. If not all input can be processed (because there is not
- enough room in the output buffer), next_in and avail_in are updated and
- processing will resume at this point for the next call of deflate().
-
- - Provide more output starting at next_out and update next_out and avail_out
- accordingly. This action is forced if the parameter flush is non zero.
- Forcing flush frequently degrades the compression ratio, so this parameter
- should be set only when necessary (in interactive applications).
- Some output may be provided even if flush is not set.
-
- Before the call of deflate(), the application should ensure that at least
- one of the actions is possible, by providing more input and/or consuming
- more output, and updating avail_in or avail_out accordingly; avail_out
- should never be zero before the call. The application can consume the
- compressed output when it wants, for example when the output buffer is full
- (avail_out == 0), or after each call of deflate(). If deflate returns Z_OK
- and with zero avail_out, it must be called again after making room in the
- output buffer because there might be more output pending.
-
- If the parameter flush is set to Z_SYNC_FLUSH, all pending output is
- flushed to the output buffer and the output is aligned on a byte boundary, so
- that the decompressor can get all input data available so far. (In particular
- avail_in is zero after the call if enough output space has been provided
- before the call.) Flushing may degrade compression for some compression
- algorithms and so it should be used only when necessary.
-
- If flush is set to Z_FULL_FLUSH, all output is flushed as with
- Z_SYNC_FLUSH, and the compression state is reset so that decompression can
- restart from this point if previous compressed data has been damaged or if
- random access is desired. Using Z_FULL_FLUSH too often can seriously degrade
- the compression.
-
- If deflate returns with avail_out == 0, this function must be called again
- with the same value of the flush parameter and more output space (updated
- avail_out), until the flush is complete (deflate returns with non-zero
- avail_out).
-
- If the parameter flush is set to Z_FINISH, pending input is processed,
- pending output is flushed and deflate returns with Z_STREAM_END if there
- was enough output space; if deflate returns with Z_OK, this function must be
- called again with Z_FINISH and more output space (updated avail_out) but no
- more input data, until it returns with Z_STREAM_END or an error. After
- deflate has returned Z_STREAM_END, the only possible operations on the
- stream are deflateReset or deflateEnd.
-
- Z_FINISH can be used immediately after deflateInit if all the compression
- is to be done in a single step. In this case, avail_out must be at least
- 0.1% larger than avail_in plus 12 bytes. If deflate does not return
- Z_STREAM_END, then it must be called again as described above.
-
- deflate() sets strm->adler to the adler32 checksum of all input read
- so far (that is, total_in bytes).
-
- deflate() may update data_type if it can make a good guess about
- the input data type (Z_ASCII or Z_BINARY). In doubt, the data is considered
- binary. This field is only for information purposes and does not affect
- the compression algorithm in any manner.
-
- deflate() returns Z_OK if some progress has been made (more input
- processed or more output produced), Z_STREAM_END if all input has been
- consumed and all output has been produced (only when flush is set to
- Z_FINISH), Z_STREAM_ERROR if the stream state was inconsistent (for example
- if next_in or next_out was NULL), Z_BUF_ERROR if no progress is possible
- (for example avail_in or avail_out was zero).
-*/
-
-
-ZEXTERN int ZEXPORT deflateEnd OF((z_streamp strm));
-/*
- All dynamically allocated data structures for this stream are freed.
- This function discards any unprocessed input and does not flush any
- pending output.
-
- deflateEnd returns Z_OK if success, Z_STREAM_ERROR if the
- stream state was inconsistent, Z_DATA_ERROR if the stream was freed
- prematurely (some input or output was discarded). In the error case,
- msg may be set but then points to a static string (which must not be
- deallocated).
-*/
-
-
-/*
-ZEXTERN int ZEXPORT inflateInit OF((z_streamp strm));
-
- Initializes the internal stream state for decompression. The fields
- next_in, avail_in, zalloc, zfree and opaque must be initialized before by
- the caller. If next_in is not Z_NULL and avail_in is large enough (the exact
- value depends on the compression method), inflateInit determines the
- compression method from the zlib header and allocates all data structures
- accordingly; otherwise the allocation will be deferred to the first call of
- inflate. If zalloc and zfree are set to Z_NULL, inflateInit updates them to
- use default allocation functions.
-
- inflateInit returns Z_OK if success, Z_MEM_ERROR if there was not enough
- memory, Z_VERSION_ERROR if the zlib library version is incompatible with the
- version assumed by the caller. msg is set to null if there is no error
- message. inflateInit does not perform any decompression apart from reading
- the zlib header if present: this will be done by inflate(). (So next_in and
- avail_in may be modified, but next_out and avail_out are unchanged.)
-*/
-
-
-ZEXTERN int ZEXPORT inflate OF((z_streamp strm, int flush));
-/*
- inflate decompresses as much data as possible, and stops when the input
- buffer becomes empty or the output buffer becomes full. It may some
- introduce some output latency (reading input without producing any output)
- except when forced to flush.
-
- The detailed semantics are as follows. inflate performs one or both of the
- following actions:
-
- - Decompress more input starting at next_in and update next_in and avail_in
- accordingly. If not all input can be processed (because there is not
- enough room in the output buffer), next_in is updated and processing
- will resume at this point for the next call of inflate().
-
- - Provide more output starting at next_out and update next_out and avail_out
- accordingly. inflate() provides as much output as possible, until there
- is no more input data or no more space in the output buffer (see below
- about the flush parameter).
-
- Before the call of inflate(), the application should ensure that at least
- one of the actions is possible, by providing more input and/or consuming
- more output, and updating the next_* and avail_* values accordingly.
- The application can consume the uncompressed output when it wants, for
- example when the output buffer is full (avail_out == 0), or after each
- call of inflate(). If inflate returns Z_OK and with zero avail_out, it
- must be called again after making room in the output buffer because there
- might be more output pending.
-
- If the parameter flush is set to Z_SYNC_FLUSH, inflate flushes as much
- output as possible to the output buffer. The flushing behavior of inflate is
- not specified for values of the flush parameter other than Z_SYNC_FLUSH
- and Z_FINISH, but the current implementation actually flushes as much output
- as possible anyway.
-
- inflate() should normally be called until it returns Z_STREAM_END or an
- error. However if all decompression is to be performed in a single step
- (a single call of inflate), the parameter flush should be set to
- Z_FINISH. In this case all pending input is processed and all pending
- output is flushed; avail_out must be large enough to hold all the
- uncompressed data. (The size of the uncompressed data may have been saved
- by the compressor for this purpose.) The next operation on this stream must
- be inflateEnd to deallocate the decompression state. The use of Z_FINISH
- is never required, but can be used to inform inflate that a faster routine
- may be used for the single inflate() call.
-
- If a preset dictionary is needed at this point (see inflateSetDictionary
- below), inflate sets strm-adler to the adler32 checksum of the
- dictionary chosen by the compressor and returns Z_NEED_DICT; otherwise
- it sets strm->adler to the adler32 checksum of all output produced
- so far (that is, total_out bytes) and returns Z_OK, Z_STREAM_END or
- an error code as described below. At the end of the stream, inflate()
- checks that its computed adler32 checksum is equal to that saved by the
- compressor and returns Z_STREAM_END only if the checksum is correct.
-
- inflate() returns Z_OK if some progress has been made (more input processed
- or more output produced), Z_STREAM_END if the end of the compressed data has
- been reached and all uncompressed output has been produced, Z_NEED_DICT if a
- preset dictionary is needed at this point, Z_DATA_ERROR if the input data was
- corrupted (input stream not conforming to the zlib format or incorrect
- adler32 checksum), Z_STREAM_ERROR if the stream structure was inconsistent
- (for example if next_in or next_out was NULL), Z_MEM_ERROR if there was not
- enough memory, Z_BUF_ERROR if no progress is possible or if there was not
- enough room in the output buffer when Z_FINISH is used. In the Z_DATA_ERROR
- case, the application may then call inflateSync to look for a good
- compression block.
-*/
-
-
-ZEXTERN int ZEXPORT inflateEnd OF((z_streamp strm));
-/*
- All dynamically allocated data structures for this stream are freed.
- This function discards any unprocessed input and does not flush any
- pending output.
-
- inflateEnd returns Z_OK if success, Z_STREAM_ERROR if the stream state
- was inconsistent. In the error case, msg may be set but then points to a
- static string (which must not be deallocated).
-*/
-
- /* Advanced functions */
-
-/*
- The following functions are needed only in some special applications.
-*/
-
-/*
-ZEXTERN int ZEXPORT deflateInit2 OF((z_streamp strm,
- int level,
- int method,
- int windowBits,
- int memLevel,
- int strategy));
-
- This is another version of deflateInit with more compression options. The
- fields next_in, zalloc, zfree and opaque must be initialized before by
- the caller.
-
- The method parameter is the compression method. It must be Z_DEFLATED in
- this version of the library.
-
- The windowBits parameter is the base two logarithm of the window size
- (the size of the history buffer). It should be in the range 8..15 for this
- version of the library. Larger values of this parameter result in better
- compression at the expense of memory usage. The default value is 15 if
- deflateInit is used instead.
-
- The memLevel parameter specifies how much memory should be allocated
- for the internal compression state. memLevel=1 uses minimum memory but
- is slow and reduces compression ratio; memLevel=9 uses maximum memory
- for optimal speed. The default value is 8. See zconf.h for total memory
- usage as a function of windowBits and memLevel.
-
- The strategy parameter is used to tune the compression algorithm. Use the
- value Z_DEFAULT_STRATEGY for normal data, Z_FILTERED for data produced by a
- filter (or predictor), or Z_HUFFMAN_ONLY to force Huffman encoding only (no
- string match). Filtered data consists mostly of small values with a
- somewhat random distribution. In this case, the compression algorithm is
- tuned to compress them better. The effect of Z_FILTERED is to force more
- Huffman coding and less string matching; it is somewhat intermediate
- between Z_DEFAULT and Z_HUFFMAN_ONLY. The strategy parameter only affects
- the compression ratio but not the correctness of the compressed output even
- if it is not set appropriately.
-
- deflateInit2 returns Z_OK if success, Z_MEM_ERROR if there was not enough
- memory, Z_STREAM_ERROR if a parameter is invalid (such as an invalid
- method). msg is set to null if there is no error message. deflateInit2 does
- not perform any compression: this will be done by deflate().
-*/
-
-ZEXTERN int ZEXPORT deflateSetDictionary OF((z_streamp strm,
- const Bytef *dictionary,
- uInt dictLength));
-/*
- Initializes the compression dictionary from the given byte sequence
- without producing any compressed output. This function must be called
- immediately after deflateInit, deflateInit2 or deflateReset, before any
- call of deflate. The compressor and decompressor must use exactly the same
- dictionary (see inflateSetDictionary).
-
- The dictionary should consist of strings (byte sequences) that are likely
- to be encountered later in the data to be compressed, with the most commonly
- used strings preferably put towards the end of the dictionary. Using a
- dictionary is most useful when the data to be compressed is short and can be
- predicted with good accuracy; the data can then be compressed better than
- with the default empty dictionary.
-
- Depending on the size of the compression data structures selected by
- deflateInit or deflateInit2, a part of the dictionary may in effect be
- discarded, for example if the dictionary is larger than the window size in
- deflate or deflate2. Thus the strings most likely to be useful should be
- put at the end of the dictionary, not at the front.
-
- Upon return of this function, strm->adler is set to the Adler32 value
- of the dictionary; the decompressor may later use this value to determine
- which dictionary has been used by the compressor. (The Adler32 value
- applies to the whole dictionary even if only a subset of the dictionary is
- actually used by the compressor.)
-
- deflateSetDictionary returns Z_OK if success, or Z_STREAM_ERROR if a
- parameter is invalid (such as NULL dictionary) or the stream state is
- inconsistent (for example if deflate has already been called for this stream
- or if the compression method is bsort). deflateSetDictionary does not
- perform any compression: this will be done by deflate().
-*/
-
-ZEXTERN int ZEXPORT deflateCopy OF((z_streamp dest,
- z_streamp source));
-/*
- Sets the destination stream as a complete copy of the source stream.
-
- This function can be useful when several compression strategies will be
- tried, for example when there are several ways of pre-processing the input
- data with a filter. The streams that will be discarded should then be freed
- by calling deflateEnd. Note that deflateCopy duplicates the internal
- compression state which can be quite large, so this strategy is slow and
- can consume lots of memory.
-
- deflateCopy returns Z_OK if success, Z_MEM_ERROR if there was not
- enough memory, Z_STREAM_ERROR if the source stream state was inconsistent
- (such as zalloc being NULL). msg is left unchanged in both source and
- destination.
-*/
-
-ZEXTERN int ZEXPORT deflateReset OF((z_streamp strm));
-/*
- This function is equivalent to deflateEnd followed by deflateInit,
- but does not free and reallocate all the internal compression state.
- The stream will keep the same compression level and any other attributes
- that may have been set by deflateInit2.
-
- deflateReset returns Z_OK if success, or Z_STREAM_ERROR if the source
- stream state was inconsistent (such as zalloc or state being NULL).
-*/
-
-ZEXTERN int ZEXPORT deflateParams OF((z_streamp strm,
- int level,
- int strategy));
-/*
- Dynamically update the compression level and compression strategy. The
- interpretation of level and strategy is as in deflateInit2. This can be
- used to switch between compression and straight copy of the input data, or
- to switch to a different kind of input data requiring a different
- strategy. If the compression level is changed, the input available so far
- is compressed with the old level (and may be flushed); the new level will
- take effect only at the next call of deflate().
-
- Before the call of deflateParams, the stream state must be set as for
- a call of deflate(), since the currently available input may have to
- be compressed and flushed. In particular, strm->avail_out must be non-zero.
-
- deflateParams returns Z_OK if success, Z_STREAM_ERROR if the source
- stream state was inconsistent or if a parameter was invalid, Z_BUF_ERROR
- if strm->avail_out was zero.
-*/
-
-/*
-ZEXTERN int ZEXPORT inflateInit2 OF((z_streamp strm,
- int windowBits));
-
- This is another version of inflateInit with an extra parameter. The
- fields next_in, avail_in, zalloc, zfree and opaque must be initialized
- before by the caller.
-
- The windowBits parameter is the base two logarithm of the maximum window
- size (the size of the history buffer). It should be in the range 8..15 for
- this version of the library. The default value is 15 if inflateInit is used
- instead. If a compressed stream with a larger window size is given as
- input, inflate() will return with the error code Z_DATA_ERROR instead of
- trying to allocate a larger window.
-
- inflateInit2 returns Z_OK if success, Z_MEM_ERROR if there was not enough
- memory, Z_STREAM_ERROR if a parameter is invalid (such as a negative
- memLevel). msg is set to null if there is no error message. inflateInit2
- does not perform any decompression apart from reading the zlib header if
- present: this will be done by inflate(). (So next_in and avail_in may be
- modified, but next_out and avail_out are unchanged.)
-*/
-
-ZEXTERN int ZEXPORT inflateSetDictionary OF((z_streamp strm,
- const Bytef *dictionary,
- uInt dictLength));
-/*
- Initializes the decompression dictionary from the given uncompressed byte
- sequence. This function must be called immediately after a call of inflate
- if this call returned Z_NEED_DICT. The dictionary chosen by the compressor
- can be determined from the Adler32 value returned by this call of
- inflate. The compressor and decompressor must use exactly the same
- dictionary (see deflateSetDictionary).
-
- inflateSetDictionary returns Z_OK if success, Z_STREAM_ERROR if a
- parameter is invalid (such as NULL dictionary) or the stream state is
- inconsistent, Z_DATA_ERROR if the given dictionary doesn't match the
- expected one (incorrect Adler32 value). inflateSetDictionary does not
- perform any decompression: this will be done by subsequent calls of
- inflate().
-*/
-
-ZEXTERN int ZEXPORT inflateSync OF((z_streamp strm));
-/*
- Skips invalid compressed data until a full flush point (see above the
- description of deflate with Z_FULL_FLUSH) can be found, or until all
- available input is skipped. No output is provided.
-
- inflateSync returns Z_OK if a full flush point has been found, Z_BUF_ERROR
- if no more input was provided, Z_DATA_ERROR if no flush point has been found,
- or Z_STREAM_ERROR if the stream structure was inconsistent. In the success
- case, the application may save the current current value of total_in which
- indicates where valid compressed data was found. In the error case, the
- application may repeatedly call inflateSync, providing more input each time,
- until success or end of the input data.
-*/
-
-ZEXTERN int ZEXPORT inflateReset OF((z_streamp strm));
-/*
- This function is equivalent to inflateEnd followed by inflateInit,
- but does not free and reallocate all the internal decompression state.
- The stream will keep attributes that may have been set by inflateInit2.
-
- inflateReset returns Z_OK if success, or Z_STREAM_ERROR if the source
- stream state was inconsistent (such as zalloc or state being NULL).
-*/
-
-
- /* utility functions */
-
-/*
- The following utility functions are implemented on top of the
- basic stream-oriented functions. To simplify the interface, some
- default options are assumed (compression level and memory usage,
- standard memory allocation functions). The source code of these
- utility functions can easily be modified if you need special options.
-*/
-
-ZEXTERN int ZEXPORT compress OF((Bytef *dest, uLongf *destLen,
- const Bytef *source, uLong sourceLen));
-/*
- Compresses the source buffer into the destination buffer. sourceLen is
- the byte length of the source buffer. Upon entry, destLen is the total
- size of the destination buffer, which must be at least 0.1% larger than
- sourceLen plus 12 bytes. Upon exit, destLen is the actual size of the
- compressed buffer.
- This function can be used to compress a whole file at once if the
- input file is mmap'ed.
- compress returns Z_OK if success, Z_MEM_ERROR if there was not
- enough memory, Z_BUF_ERROR if there was not enough room in the output
- buffer.
-*/
-
-ZEXTERN int ZEXPORT compress2 OF((Bytef *dest, uLongf *destLen,
- const Bytef *source, uLong sourceLen,
- int level));
-/*
- Compresses the source buffer into the destination buffer. The level
- parameter has the same meaning as in deflateInit. sourceLen is the byte
- length of the source buffer. Upon entry, destLen is the total size of the
- destination buffer, which must be at least 0.1% larger than sourceLen plus
- 12 bytes. Upon exit, destLen is the actual size of the compressed buffer.
-
- compress2 returns Z_OK if success, Z_MEM_ERROR if there was not enough
- memory, Z_BUF_ERROR if there was not enough room in the output buffer,
- Z_STREAM_ERROR if the level parameter is invalid.
-*/
-
-ZEXTERN int ZEXPORT uncompress OF((Bytef *dest, uLongf *destLen,
- const Bytef *source, uLong sourceLen));
-/*
- Decompresses the source buffer into the destination buffer. sourceLen is
- the byte length of the source buffer. Upon entry, destLen is the total
- size of the destination buffer, which must be large enough to hold the
- entire uncompressed data. (The size of the uncompressed data must have
- been saved previously by the compressor and transmitted to the decompressor
- by some mechanism outside the scope of this compression library.)
- Upon exit, destLen is the actual size of the compressed buffer.
- This function can be used to decompress a whole file at once if the
- input file is mmap'ed.
-
- uncompress returns Z_OK if success, Z_MEM_ERROR if there was not
- enough memory, Z_BUF_ERROR if there was not enough room in the output
- buffer, or Z_DATA_ERROR if the input data was corrupted.
-*/
-
-
-typedef voidp gzFile;
-
-ZEXTERN gzFile ZEXPORT gzopen OF((const char *path, const char *mode));
-/*
- Opens a gzip (.gz) file for reading or writing. The mode parameter
- is as in fopen ("rb" or "wb") but can also include a compression level
- ("wb9") or a strategy: 'f' for filtered data as in "wb6f", 'h' for
- Huffman only compression as in "wb1h". (See the description
- of deflateInit2 for more information about the strategy parameter.)
-
- gzopen can be used to read a file which is not in gzip format; in this
- case gzread will directly read from the file without decompression.
-
- gzopen returns NULL if the file could not be opened or if there was
- insufficient memory to allocate the (de)compression state; errno
- can be checked to distinguish the two cases (if errno is zero, the
- zlib error is Z_MEM_ERROR). */
-
-ZEXTERN gzFile ZEXPORT gzdopen OF((int fd, const char *mode));
-/*
- gzdopen() associates a gzFile with the file descriptor fd. File
- descriptors are obtained from calls like open, dup, creat, pipe or
- fileno (in the file has been previously opened with fopen).
- The mode parameter is as in gzopen.
- The next call of gzclose on the returned gzFile will also close the
- file descriptor fd, just like fclose(fdopen(fd), mode) closes the file
- descriptor fd. If you want to keep fd open, use gzdopen(dup(fd), mode).
- gzdopen returns NULL if there was insufficient memory to allocate
- the (de)compression state.
-*/
-
-ZEXTERN int ZEXPORT gzsetparams OF((gzFile file, int level, int strategy));
-/*
- Dynamically update the compression level or strategy. See the description
- of deflateInit2 for the meaning of these parameters.
- gzsetparams returns Z_OK if success, or Z_STREAM_ERROR if the file was not
- opened for writing.
-*/
-
-ZEXTERN int ZEXPORT gzread OF((gzFile file, voidp buf, unsigned len));
-/*
- Reads the given number of uncompressed bytes from the compressed file.
- If the input file was not in gzip format, gzread copies the given number
- of bytes into the buffer.
- gzread returns the number of uncompressed bytes actually read (0 for
- end of file, -1 for error). */
-
-ZEXTERN int ZEXPORT gzwrite OF((gzFile file,
- const voidp buf, unsigned len));
-/*
- Writes the given number of uncompressed bytes into the compressed file.
- gzwrite returns the number of uncompressed bytes actually written
- (0 in case of error).
-*/
-
-ZEXTERN int ZEXPORTVA gzprintf OF((gzFile file, const char *format, ...));
-/*
- Converts, formats, and writes the args to the compressed file under
- control of the format string, as in fprintf. gzprintf returns the number of
- uncompressed bytes actually written (0 in case of error).
-*/
-
-ZEXTERN int ZEXPORT gzputs OF((gzFile file, const char *s));
-/*
- Writes the given null-terminated string to the compressed file, excluding
- the terminating null character.
- gzputs returns the number of characters written, or -1 in case of error.
-*/
-
-ZEXTERN char * ZEXPORT gzgets OF((gzFile file, char *buf, int len));
-/*
- Reads bytes from the compressed file until len-1 characters are read, or
- a newline character is read and transferred to buf, or an end-of-file
- condition is encountered. The string is then terminated with a null
- character.
- gzgets returns buf, or Z_NULL in case of error.
-*/
-
-ZEXTERN int ZEXPORT gzputc OF((gzFile file, int c));
-/*
- Writes c, converted to an unsigned char, into the compressed file.
- gzputc returns the value that was written, or -1 in case of error.
-*/
-
-ZEXTERN int ZEXPORT gzgetc OF((gzFile file));
-/*
- Reads one byte from the compressed file. gzgetc returns this byte
- or -1 in case of end of file or error.
-*/
-
-ZEXTERN int ZEXPORT gzflush OF((gzFile file, int flush));
-/*
- Flushes all pending output into the compressed file. The parameter
- flush is as in the deflate() function. The return value is the zlib
- error number (see function gzerror below). gzflush returns Z_OK if
- the flush parameter is Z_FINISH and all output could be flushed.
- gzflush should be called only when strictly necessary because it can
- degrade compression.
-*/
-
-ZEXTERN z_off_t ZEXPORT gzseek OF((gzFile file,
- z_off_t offset, int whence));
-/*
- Sets the starting position for the next gzread or gzwrite on the
- given compressed file. The offset represents a number of bytes in the
- uncompressed data stream. The whence parameter is defined as in lseek(2);
- the value SEEK_END is not supported.
- If the file is opened for reading, this function is emulated but can be
- extremely slow. If the file is opened for writing, only forward seeks are
- supported; gzseek then compresses a sequence of zeroes up to the new
- starting position.
-
- gzseek returns the resulting offset location as measured in bytes from
- the beginning of the uncompressed stream, or -1 in case of error, in
- particular if the file is opened for writing and the new starting position
- would be before the current position.
-*/
-
-ZEXTERN int ZEXPORT gzrewind OF((gzFile file));
-/*
- Rewinds the given file. This function is supported only for reading.
-
- gzrewind(file) is equivalent to (int)gzseek(file, 0L, SEEK_SET)
-*/
-
-ZEXTERN z_off_t ZEXPORT gztell OF((gzFile file));
-/*
- Returns the starting position for the next gzread or gzwrite on the
- given compressed file. This position represents a number of bytes in the
- uncompressed data stream.
-
- gztell(file) is equivalent to gzseek(file, 0L, SEEK_CUR)
-*/
-
-ZEXTERN int ZEXPORT gzeof OF((gzFile file));
-/*
- Returns 1 when EOF has previously been detected reading the given
- input stream, otherwise zero.
-*/
-
-ZEXTERN int ZEXPORT gzclose OF((gzFile file));
-/*
- Flushes all pending output if necessary, closes the compressed file
- and deallocates all the (de)compression state. The return value is the zlib
- error number (see function gzerror below).
-*/
-
-ZEXTERN const char * ZEXPORT gzerror OF((gzFile file, int *errnum));
-/*
- Returns the error message for the last error which occurred on the
- given compressed file. errnum is set to zlib error number. If an
- error occurred in the file system and not in the compression library,
- errnum is set to Z_ERRNO and the application may consult errno
- to get the exact error code.
-*/
-
- /* checksum functions */
-
-/*
- These functions are not related to compression but are exported
- anyway because they might be useful in applications using the
- compression library.
-*/
-
-ZEXTERN uLong ZEXPORT adler32 OF((uLong adler, const Bytef *buf, uInt len));
-
-/*
- Update a running Adler-32 checksum with the bytes buf[0..len-1] and
- return the updated checksum. If buf is NULL, this function returns
- the required initial value for the checksum.
- An Adler-32 checksum is almost as reliable as a CRC32 but can be computed
- much faster. Usage example:
-
- uLong adler = adler32(0L, Z_NULL, 0);
-
- while (read_buffer(buffer, length) != EOF) {
- adler = adler32(adler, buffer, length);
- }
- if (adler != original_adler) error();
-*/
-
-ZEXTERN uLong ZEXPORT crc32 OF((uLong crc, const Bytef *buf, uInt len));
-/*
- Update a running crc with the bytes buf[0..len-1] and return the updated
- crc. If buf is NULL, this function returns the required initial value
- for the crc. Pre- and post-conditioning (one's complement) is performed
- within this function so it shouldn't be done by the application.
- Usage example:
-
- uLong crc = crc32(0L, Z_NULL, 0);
-
- while (read_buffer(buffer, length) != EOF) {
- crc = crc32(crc, buffer, length);
- }
- if (crc != original_crc) error();
-*/
-
-
- /* various hacks, don't look :) */
-
-/* deflateInit and inflateInit are macros to allow checking the zlib version
- * and the compiler's view of z_stream:
- */
-ZEXTERN int ZEXPORT deflateInit_ OF((z_streamp strm, int level,
- const char *version, int stream_size));
-ZEXTERN int ZEXPORT inflateInit_ OF((z_streamp strm,
- const char *version, int stream_size));
-ZEXTERN int ZEXPORT deflateInit2_ OF((z_streamp strm, int level, int method,
- int windowBits, int memLevel,
- int strategy, const char *version,
- int stream_size));
-ZEXTERN int ZEXPORT inflateInit2_ OF((z_streamp strm, int windowBits,
- const char *version, int stream_size));
-#define deflateInit(strm, level) \
- deflateInit_((strm), (level), ZLIB_VERSION, sizeof(z_stream))
-#define inflateInit(strm) \
- inflateInit_((strm), ZLIB_VERSION, sizeof(z_stream))
-#define deflateInit2(strm, level, method, windowBits, memLevel, strategy) \
- deflateInit2_((strm),(level),(method),(windowBits),(memLevel),\
- (strategy), ZLIB_VERSION, sizeof(z_stream))
-#define inflateInit2(strm, windowBits) \
- inflateInit2_((strm), (windowBits), ZLIB_VERSION, sizeof(z_stream))
-
-
-#if !defined(_Z_UTIL_H) && !defined(NO_DUMMY_DECL)
- struct internal_state {int dummy;}; /* hack for buggy compilers */
-#endif
-
-ZEXTERN const char * ZEXPORT zError OF((int err));
-ZEXTERN int ZEXPORT inflateSyncPoint OF((z_streamp z));
-ZEXTERN const uLongf * ZEXPORT get_crc_table OF((void));
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _ZLIB_H */
diff --git a/include/zstr.h b/include/zstr.h
index 2622ca7..f9842f4 100644
--- a/include/zstr.h
+++ b/include/zstr.h
@@ -4,7 +4,7 @@
* and provides lookup and parsing functions based on
* class StrKey
*
- * $Id: zstr.h 1864 2005-11-20 06:06:40Z scribe $
+ * $Id: zstr.h 2303 2009-04-06 13:38:34Z scribe $
*
* Copyright 1998 CrossWire Bible Society (http://www.crosswire.org)
* CrossWire Bible Society
@@ -42,7 +42,7 @@ private:
long cacheBlockIndex;
bool cacheDirty;
char *path;
- long lastoff;
+ mutable long lastoff; // for caching and optimization
long blockCount;
SWCompress *compressor;
@@ -56,15 +56,14 @@ protected:
void getCompressedText(long block, long entry, char **buf);
void flushCache();
- void prepText(SWBuf &buf);
- void getKeyFromDatOffset(long ioffset, char **buf);
- void getKeyFromIdxOffset(long ioffset, char **buf);
+ void getKeyFromDatOffset(long ioffset, char **buf) const;
+ void getKeyFromIdxOffset(long ioffset, char **buf) const;
public:
char nl;
zStr(const char *ipath, int fileMode = -1, long blockCount = 100, SWCompress *icomp = 0);
virtual ~zStr();
- signed char findKeyIndex(const char *ikey, long *idxoff, long away = 0);
+ signed char findKeyIndex(const char *ikey, long *idxoff, long away = 0) const;
void getText(long index, char **idxbuf, char **buf);
void setText(const char *ikey, const char *buf, long len = -1);
void linkEntry(const char *destkey, const char *srckey);
diff --git a/include/ztext.h b/include/ztext.h
index 461dc45..2f0b111 100644
--- a/include/ztext.h
+++ b/include/ztext.h
@@ -2,7 +2,7 @@
* ztext.h - code for class 'zText'- a module that reads compressed text
* files: ot and nt using indexs ??.vss
*
- * $Id: ztext.h 1864 2005-11-20 06:06:40Z scribe $
+ * $Id: ztext.h 2303 2009-04-06 13:38:34Z scribe $
*
* Copyright 1998 CrossWire Bible Society (http://www.crosswire.org)
* CrossWire Bible Society
@@ -52,10 +52,11 @@ class SWDLLEXPORT zText:public zVerse, public SWText {
public:
zText(const char *ipath, const char *iname = 0, const char *idesc = 0,
- int blockType = CHAPTERBLOCKS, SWCompress * icomp = 0,
- SWDisplay * idisp = 0, SWTextEncoding encoding = ENC_UNKNOWN,
+ int blockType = CHAPTERBLOCKS, SWCompress *icomp = 0,
+ SWDisplay *idisp = 0, SWTextEncoding encoding = ENC_UNKNOWN,
SWTextDirection dir = DIRECTION_LTR,
- SWTextMarkup markup = FMT_UNKNOWN, const char* ilang = 0);
+ SWTextMarkup markup = FMT_UNKNOWN, const char *ilang = 0,
+ const char *versification = "KJV");
virtual ~zText();
virtual SWBuf &getRawEntryBuf();
@@ -65,8 +66,8 @@ public:
// write interface ----------------------------
virtual bool isWritable();
- static char createModule(const char *path, int blockBound) {
- return zVerse::createModule(path, blockBound);
+ static char createModule(const char *path, int blockBound, const char *v11n = "KJV") {
+ return zVerse::createModule(path, blockBound, v11n);
}
virtual void setEntry(const char *inbuf, long len = -1); // Modify current module entry
@@ -80,6 +81,9 @@ public:
virtual void flush() { flushCache(); }
// end swcacher interface ----------------------
+ virtual bool isLinked(const SWKey *k1, const SWKey *k2) const;
+ virtual bool hasEntry(const SWKey *k) const;
+
SWMODULE_OPERATORS
};
diff --git a/include/zverse.h b/include/zverse.h
index 6323025..1e5d1f3 100644
--- a/include/zverse.h
+++ b/include/zverse.h
@@ -26,11 +26,11 @@ protected:
FileDesc *textfp[2];
FileDesc *compfp[2];
char *path;
- void prepText(SWBuf &buf);
void doSetText(char testmt, long idxoff, const char *buf, long len = 0);
void doLinkEntry(char testmt, long destidxoff, long srcidxoff);
void flushCache();
char *cacheBuf;
+ unsigned int cacheBufSize;
char cacheTestament;
long cacheBufIdx;
bool dirtyCache;
@@ -49,10 +49,10 @@ public:
zVerse(const char *ipath, int fileMode = -1, int blockType = CHAPTERBLOCKS, SWCompress * icomp = 0);
virtual ~zVerse();
- void findOffset(char testmt, long idxoff, long *start, unsigned short *end);
- void zReadText(char testmt, long start, unsigned short size, SWBuf &buf);
+ void findOffset(char testmt, long idxoff, long *start, unsigned short *size, unsigned long *buffnum) const;
+ void zReadText(char testmt, long start, unsigned short size, unsigned long buffnum, SWBuf &buf);
virtual void rawZFilter(SWBuf &buf, char direction = 0) {}
- static char createModule(const char *path, int blockBound);
+ static char createModule(const char *path, int blockBound, const char *v11n = "KJV");
};
SWORD_NAMESPACE_END
diff --git a/install-sh b/install-sh
index 4fbbae7..a5897de 100755
--- a/install-sh
+++ b/install-sh
@@ -1,7 +1,7 @@
#!/bin/sh
# install - install a program, script, or datafile
-scriptversion=2006-10-14.15
+scriptversion=2006-12-25.00
# This originates from X11R5 (mit/util/scripts/install.sh), which was
# later released in X11R6 (xc/config/util/install.sh) with the
@@ -48,7 +48,7 @@ IFS=" "" $nl"
# set DOITPROG to echo to test this script
# Don't use :- since 4.3BSD and earlier shells don't like it.
-doit="${DOITPROG-}"
+doit=${DOITPROG-}
if test -z "$doit"; then
doit_exec=exec
else
@@ -58,34 +58,49 @@ fi
# Put in absolute file names if you don't have them in your path;
# or use environment vars.
-mvprog="${MVPROG-mv}"
-cpprog="${CPPROG-cp}"
-chmodprog="${CHMODPROG-chmod}"
-chownprog="${CHOWNPROG-chown}"
-chgrpprog="${CHGRPPROG-chgrp}"
-stripprog="${STRIPPROG-strip}"
-rmprog="${RMPROG-rm}"
-mkdirprog="${MKDIRPROG-mkdir}"
+chgrpprog=${CHGRPPROG-chgrp}
+chmodprog=${CHMODPROG-chmod}
+chownprog=${CHOWNPROG-chown}
+cmpprog=${CMPPROG-cmp}
+cpprog=${CPPROG-cp}
+mkdirprog=${MKDIRPROG-mkdir}
+mvprog=${MVPROG-mv}
+rmprog=${RMPROG-rm}
+stripprog=${STRIPPROG-strip}
+
+posix_glob='?'
+initialize_posix_glob='
+ test "$posix_glob" != "?" || {
+ if (set -f) 2>/dev/null; then
+ posix_glob=
+ else
+ posix_glob=:
+ fi
+ }
+'
-posix_glob=
posix_mkdir=
# Desired mode of installed file.
mode=0755
+chgrpcmd=
chmodcmd=$chmodprog
chowncmd=
-chgrpcmd=
-stripcmd=
+mvcmd=$mvprog
rmcmd="$rmprog -f"
-mvcmd="$mvprog"
+stripcmd=
+
src=
dst=
dir_arg=
-dstarg=
+dst_arg=
+
+copy_on_change=false
no_target_directory=
-usage="Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE
+usage="\
+Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE
or: $0 [OPTION]... SRCFILES... DIRECTORY
or: $0 [OPTION]... -t DIRECTORY SRCFILES...
or: $0 [OPTION]... -d DIRECTORIES...
@@ -95,65 +110,55 @@ In the 2nd and 3rd, copy all SRCFILES to DIRECTORY.
In the 4th, create DIRECTORIES.
Options:
--c (ignored)
--d create directories instead of installing files.
--g GROUP $chgrpprog installed files to GROUP.
--m MODE $chmodprog installed files to MODE.
--o USER $chownprog installed files to USER.
--s $stripprog installed files.
--t DIRECTORY install into DIRECTORY.
--T report an error if DSTFILE is a directory.
---help display this help and exit.
---version display version info and exit.
+ --help display this help and exit.
+ --version display version info and exit.
+
+ -c (ignored)
+ -C install only if different (preserve the last data modification time)
+ -d create directories instead of installing files.
+ -g GROUP $chgrpprog installed files to GROUP.
+ -m MODE $chmodprog installed files to MODE.
+ -o USER $chownprog installed files to USER.
+ -s $stripprog installed files.
+ -t DIRECTORY install into DIRECTORY.
+ -T report an error if DSTFILE is a directory.
Environment variables override the default commands:
- CHGRPPROG CHMODPROG CHOWNPROG CPPROG MKDIRPROG MVPROG RMPROG STRIPPROG
+ CHGRPPROG CHMODPROG CHOWNPROG CMPPROG CPPROG MKDIRPROG MVPROG
+ RMPROG STRIPPROG
"
while test $# -ne 0; do
case $1 in
- -c) shift
- continue;;
+ -c) ;;
+
+ -C) copy_on_change=true;;
- -d) dir_arg=true
- shift
- continue;;
+ -d) dir_arg=true;;
-g) chgrpcmd="$chgrpprog $2"
- shift
- shift
- continue;;
+ shift;;
--help) echo "$usage"; exit $?;;
-m) mode=$2
- shift
- shift
case $mode in
*' '* | *' '* | *'
'* | *'*'* | *'?'* | *'['*)
echo "$0: invalid mode: $mode" >&2
exit 1;;
esac
- continue;;
+ shift;;
-o) chowncmd="$chownprog $2"
- shift
- shift
- continue;;
+ shift;;
- -s) stripcmd=$stripprog
- shift
- continue;;
+ -s) stripcmd=$stripprog;;
- -t) dstarg=$2
- shift
- shift
- continue;;
+ -t) dst_arg=$2
+ shift;;
- -T) no_target_directory=true
- shift
- continue;;
+ -T) no_target_directory=true;;
--version) echo "$0 $scriptversion"; exit $?;;
@@ -165,21 +170,22 @@ while test $# -ne 0; do
*) break;;
esac
+ shift
done
-if test $# -ne 0 && test -z "$dir_arg$dstarg"; then
+if test $# -ne 0 && test -z "$dir_arg$dst_arg"; then
# When -d is used, all remaining arguments are directories to create.
# When -t is used, the destination is already specified.
# Otherwise, the last argument is the destination. Remove it from $@.
for arg
do
- if test -n "$dstarg"; then
+ if test -n "$dst_arg"; then
# $@ is not empty: it contains at least $arg.
- set fnord "$@" "$dstarg"
+ set fnord "$@" "$dst_arg"
shift # fnord
fi
shift # arg
- dstarg=$arg
+ dst_arg=$arg
done
fi
@@ -224,7 +230,7 @@ for src
do
# Protect names starting with `-'.
case $src in
- -*) src=./$src ;;
+ -*) src=./$src;;
esac
if test -n "$dir_arg"; then
@@ -242,22 +248,22 @@ do
exit 1
fi
- if test -z "$dstarg"; then
+ if test -z "$dst_arg"; then
echo "$0: no destination specified." >&2
exit 1
fi
- dst=$dstarg
+ dst=$dst_arg
# Protect names starting with `-'.
case $dst in
- -*) dst=./$dst ;;
+ -*) dst=./$dst;;
esac
# If destination is a directory, append the input filename; won't work
# if double slashes aren't ignored.
if test -d "$dst"; then
if test -n "$no_target_directory"; then
- echo "$0: $dstarg: Is a directory" >&2
+ echo "$0: $dst_arg: Is a directory" >&2
exit 1
fi
dstdir=$dst
@@ -378,26 +384,19 @@ do
# directory the slow way, step by step, checking for races as we go.
case $dstdir in
- /*) prefix=/ ;;
- -*) prefix=./ ;;
- *) prefix= ;;
+ /*) prefix='/';;
+ -*) prefix='./';;
+ *) prefix='';;
esac
- case $posix_glob in
- '')
- if (set -f) 2>/dev/null; then
- posix_glob=true
- else
- posix_glob=false
- fi ;;
- esac
+ eval "$initialize_posix_glob"
oIFS=$IFS
IFS=/
- $posix_glob && set -f
+ $posix_glob set -f
set fnord $dstdir
shift
- $posix_glob && set +f
+ $posix_glob set +f
IFS=$oIFS
prefixes=
@@ -459,41 +458,54 @@ do
# ignore errors from any of these, just make sure not to ignore
# errors from the above "$doit $cpprog $src $dsttmp" command.
#
- { test -z "$chowncmd" || $doit $chowncmd "$dsttmp"; } \
- && { test -z "$chgrpcmd" || $doit $chgrpcmd "$dsttmp"; } \
- && { test -z "$stripcmd" || $doit $stripcmd "$dsttmp"; } \
- && { test -z "$chmodcmd" || $doit $chmodcmd $mode "$dsttmp"; } &&
-
- # Now rename the file to the real destination.
- { $doit $mvcmd -f "$dsttmp" "$dst" 2>/dev/null \
- || {
- # The rename failed, perhaps because mv can't rename something else
- # to itself, or perhaps because mv is so ancient that it does not
- # support -f.
-
- # Now remove or move aside any old file at destination location.
- # We try this two ways since rm can't unlink itself on some
- # systems and the destination file might be busy for other
- # reasons. In this case, the final cleanup might fail but the new
- # file should still install successfully.
- {
- if test -f "$dst"; then
- $doit $rmcmd -f "$dst" 2>/dev/null \
- || { $doit $mvcmd -f "$dst" "$rmtmp" 2>/dev/null \
- && { $doit $rmcmd -f "$rmtmp" 2>/dev/null; :; }; }\
- || {
- echo "$0: cannot unlink or rename $dst" >&2
- (exit 1); exit 1
- }
- else
- :
- fi
- } &&
-
- # Now rename the file to the real destination.
- $doit $mvcmd "$dsttmp" "$dst"
- }
- } || exit 1
+ { test -z "$chowncmd" || $doit $chowncmd "$dsttmp"; } &&
+ { test -z "$chgrpcmd" || $doit $chgrpcmd "$dsttmp"; } &&
+ { test -z "$stripcmd" || $doit $stripcmd "$dsttmp"; } &&
+ { test -z "$chmodcmd" || $doit $chmodcmd $mode "$dsttmp"; } &&
+
+ # If -C, don't bother to copy if it wouldn't change the file.
+ if $copy_on_change &&
+ old=`LC_ALL=C ls -dlL "$dst" 2>/dev/null` &&
+ new=`LC_ALL=C ls -dlL "$dsttmp" 2>/dev/null` &&
+
+ eval "$initialize_posix_glob" &&
+ $posix_glob set -f &&
+ set X $old && old=:$2:$4:$5:$6 &&
+ set X $new && new=:$2:$4:$5:$6 &&
+ $posix_glob set +f &&
+
+ test "$old" = "$new" &&
+ $cmpprog "$dst" "$dsttmp" >/dev/null 2>&1
+ then
+ rm -f "$dsttmp"
+ else
+ # Rename the file to the real destination.
+ $doit $mvcmd -f "$dsttmp" "$dst" 2>/dev/null ||
+
+ # The rename failed, perhaps because mv can't rename something else
+ # to itself, or perhaps because mv is so ancient that it does not
+ # support -f.
+ {
+ # Now remove or move aside any old file at destination location.
+ # We try this two ways since rm can't unlink itself on some
+ # systems and the destination file might be busy for other
+ # reasons. In this case, the final cleanup might fail but the new
+ # file should still install successfully.
+ {
+ test ! -f "$dst" ||
+ $doit $rmcmd -f "$dst" 2>/dev/null ||
+ { $doit $mvcmd -f "$dst" "$rmtmp" 2>/dev/null &&
+ { $doit $rmcmd -f "$rmtmp" 2>/dev/null; :; }
+ } ||
+ { echo "$0: cannot unlink or rename $dst" >&2
+ (exit 1); exit 1
+ }
+ } &&
+
+ # Now rename the file to the real destination.
+ $doit $mvcmd "$dsttmp" "$dst"
+ }
+ fi || exit 1
trap '' 0
fi
diff --git a/lib/.cvsignore b/lib/.cvsignore
deleted file mode 100644
index 3bbe136..0000000
--- a/lib/.cvsignore
+++ /dev/null
@@ -1,6 +0,0 @@
-*.lo
-Makefile
-Makefile.in
-libsword.la
-.deps
-.libs
diff --git a/lib/Makefile.am b/lib/Makefile.am
index d658aa3..acb3287 100644
--- a/lib/Makefile.am
+++ b/lib/Makefile.am
@@ -1,5 +1,5 @@
AUTOMAKE_OPTIONS = 1.6
-AM_CPPFLAGS = -I$(top_srcdir)/include
+AM_CPPFLAGS = -I$(top_srcdir)/include -I$(includedir)
AM_CPPFLAGS += -DUSE_AUTOTOOLS -DUNIX -Dunix -D__unix__
if ZLIB
diff --git a/lib/Makefile.in b/lib/Makefile.in
index fec7695..8137b9b 100644
--- a/lib/Makefile.in
+++ b/lib/Makefile.in
@@ -1,8 +1,8 @@
-# Makefile.in generated by automake 1.10 from Makefile.am.
+# Makefile.in generated by automake 1.10.2 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -64,7 +64,10 @@ DIST_COMMON = README $(pkginclude_HEADERS) \
subdir = lib
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/m4/acx_clucene.m4 \
- $(top_srcdir)/m4/cppunit.m4 $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/cppunit.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(install_sh) -d
@@ -96,9 +99,10 @@ am__libsword_la_SOURCES_DIST = $(keysdir)/swkey.cpp \
$(utilfunsdir)/zlib/untgz.c $(utilfunsdir)/ftplib.c \
$(utilfunsdir)/regex.c $(utilfunsdir)/roman.cpp \
$(mgrdir)/ftplibftpt.cpp $(mgrdir)/curlftpt.cpp \
- $(mgrdir)/swconfig.cpp $(mgrdir)/swmgr.cpp \
- $(mgrdir)/swfiltermgr.cpp $(mgrdir)/encfiltmgr.cpp \
- $(mgrdir)/markupfiltmgr.cpp $(mgrdir)/filemgr.cpp \
+ $(mgrdir)/curlhttpt.cpp $(mgrdir)/swconfig.cpp \
+ $(mgrdir)/swmgr.cpp $(mgrdir)/swfiltermgr.cpp \
+ $(mgrdir)/encfiltmgr.cpp $(mgrdir)/markupfiltmgr.cpp \
+ $(mgrdir)/filemgr.cpp $(mgrdir)/versemgr.cpp \
$(mgrdir)/ftptrans.cpp $(mgrdir)/swlocale.cpp \
$(mgrdir)/localemgr.cpp $(mgrdir)/swcacher.cpp \
$(mgrdir)/swsearchable.cpp $(mgrdir)/installmgr.cpp \
@@ -113,10 +117,10 @@ am__libsword_la_SOURCES_DIST = $(keysdir)/swkey.cpp \
$(filtersdir)/swbasicfilter.cpp $(filtersdir)/swoptfilter.cpp \
$(filtersdir)/latin1utf8.cpp $(filtersdir)/latin1utf16.cpp \
$(filtersdir)/utf8utf16.cpp $(filtersdir)/utf16utf8.cpp \
- $(filtersdir)/scsuutf8.cpp $(filtersdir)/utf8html.cpp \
- $(filtersdir)/utf8latin1.cpp \
+ $(filtersdir)/utf8html.cpp $(filtersdir)/utf8latin1.cpp \
$(filtersdir)/utf8cantillation.cpp \
$(filtersdir)/utf8hebrewpoints.cpp \
+ $(filtersdir)/utf8arabicpoints.cpp \
$(filtersdir)/utf8greekaccents.cpp $(filtersdir)/cipherfil.cpp \
$(filtersdir)/utf8transliterator.cpp $(filtersdir)/utf8nfc.cpp \
$(filtersdir)/utf8nfkd.cpp $(filtersdir)/utf8arshaping.cpp \
@@ -130,10 +134,11 @@ am__libsword_la_SOURCES_DIST = $(keysdir)/swkey.cpp \
$(filtersdir)/osisscripref.cpp $(filtersdir)/osisvariants.cpp \
$(filtersdir)/osiswordjs.cpp \
$(filtersdir)/osismorphsegmentation.cpp \
- $(filtersdir)/gbfhtml.cpp $(filtersdir)/gbfhtmlhref.cpp \
- $(filtersdir)/gbfwebif.cpp $(filtersdir)/gbfplain.cpp \
- $(filtersdir)/gbfrtf.cpp $(filtersdir)/gbfstrongs.cpp \
- $(filtersdir)/gbffootnotes.cpp $(filtersdir)/gbfheadings.cpp \
+ $(filtersdir)/osisruby.cpp $(filtersdir)/gbfhtml.cpp \
+ $(filtersdir)/gbfhtmlhref.cpp $(filtersdir)/gbfwebif.cpp \
+ $(filtersdir)/gbfplain.cpp $(filtersdir)/gbfrtf.cpp \
+ $(filtersdir)/gbfstrongs.cpp $(filtersdir)/gbffootnotes.cpp \
+ $(filtersdir)/gbfheadings.cpp \
$(filtersdir)/gbfredletterwords.cpp $(filtersdir)/gbfmorph.cpp \
$(filtersdir)/gbfwordjs.cpp $(filtersdir)/thmlstrongs.cpp \
$(filtersdir)/thmlfootnotes.cpp $(filtersdir)/thmlheadings.cpp \
@@ -162,7 +167,7 @@ am__libsword_la_SOURCES_DIST = $(keysdir)/swkey.cpp \
@INTERNALFTPLIB_TRUE@am__objects_2 = ftplib.lo
@MINGW_TRUE@am__objects_3 = regex.lo
@WITHCURL_FALSE@am__objects_4 = ftplibftpt.lo
-@WITHCURL_TRUE@am__objects_4 = curlftpt.lo
+@WITHCURL_TRUE@am__objects_4 = curlftpt.lo curlhttpt.lo
@ZLIB_TRUE@am__objects_5 = zipcomprs.lo
am__objects_6 = utf8transliterator.lo utf8nfc.lo utf8nfkd.lo \
utf8arshaping.lo utf8bidireorder.lo
@@ -171,7 +176,8 @@ am__objects_6 = utf8transliterator.lo utf8nfc.lo utf8nfkd.lo \
am__objects_8 = osisheadings.lo osisfootnotes.lo osishtmlhref.lo \
osiswebif.lo osismorph.lo osisstrongs.lo osisplain.lo \
osisrtf.lo osislemma.lo osisredletterwords.lo osisscripref.lo \
- osisvariants.lo osiswordjs.lo osismorphsegmentation.lo
+ osisvariants.lo osiswordjs.lo osismorphsegmentation.lo \
+ osisruby.lo
am__objects_9 = gbfhtml.lo gbfhtmlhref.lo gbfwebif.lo gbfplain.lo \
gbfrtf.lo gbfstrongs.lo gbffootnotes.lo gbfheadings.lo \
gbfredletterwords.lo gbfmorph.lo gbfwordjs.lo
@@ -190,25 +196,26 @@ am_libsword_la_OBJECTS = swkey.lo listkey.lo strkey.lo treekey.lo \
ftpparse.lo url.lo $(am__objects_1) $(am__objects_2) \
$(am__objects_3) roman.lo $(am__objects_4) swconfig.lo \
swmgr.lo swfiltermgr.lo encfiltmgr.lo markupfiltmgr.lo \
- filemgr.lo ftptrans.lo swlocale.lo localemgr.lo swcacher.lo \
- swsearchable.lo installmgr.lo stringmgr.lo swdisp.lo swlog.lo \
- swmodule.lo rawstr.lo rawstr4.lo swcomprs.lo lzsscomprs.lo \
- $(am__objects_5) rawverse.lo rawverse4.lo swcipher.lo \
- zverse.lo zstr.lo entriesblk.lo sapphire.lo swbasicfilter.lo \
- swoptfilter.lo latin1utf8.lo latin1utf16.lo utf8utf16.lo \
- utf16utf8.lo scsuutf8.lo utf8html.lo utf8latin1.lo \
- utf8cantillation.lo utf8hebrewpoints.lo utf8greekaccents.lo \
- cipherfil.lo $(am__objects_7) $(am__objects_8) \
- $(am__objects_9) $(am__objects_10) $(am__objects_11) \
- $(am__objects_12) $(am__objects_13) swgenbook.lo rawgenbook.lo \
- swtext.lo rawtext.lo rawtext4.lo ztext.lo swcom.lo rawcom.lo \
- rawcom4.lo rawfiles.lo zcom.lo hrefcom.lo swld.lo rawld.lo \
- rawld4.lo zld.lo flatapi.lo
+ filemgr.lo versemgr.lo ftptrans.lo swlocale.lo localemgr.lo \
+ swcacher.lo swsearchable.lo installmgr.lo stringmgr.lo \
+ swdisp.lo swlog.lo swmodule.lo rawstr.lo rawstr4.lo \
+ swcomprs.lo lzsscomprs.lo $(am__objects_5) rawverse.lo \
+ rawverse4.lo swcipher.lo zverse.lo zstr.lo entriesblk.lo \
+ sapphire.lo swbasicfilter.lo swoptfilter.lo latin1utf8.lo \
+ latin1utf16.lo utf8utf16.lo utf16utf8.lo utf8html.lo \
+ utf8latin1.lo utf8cantillation.lo utf8hebrewpoints.lo \
+ utf8arabicpoints.lo utf8greekaccents.lo cipherfil.lo \
+ $(am__objects_7) $(am__objects_8) $(am__objects_9) \
+ $(am__objects_10) $(am__objects_11) $(am__objects_12) \
+ $(am__objects_13) swgenbook.lo rawgenbook.lo swtext.lo \
+ rawtext.lo rawtext4.lo ztext.lo swcom.lo rawcom.lo rawcom4.lo \
+ rawfiles.lo zcom.lo hrefcom.lo swld.lo rawld.lo rawld4.lo \
+ zld.lo flatapi.lo
libsword_la_OBJECTS = $(am_libsword_la_OBJECTS)
libsword_la_LINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) \
$(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \
$(CXXFLAGS) $(libsword_la_LDFLAGS) $(LDFLAGS) -o $@
-DEFAULT_INCLUDES = -I. -I$(top_builddir)/include@am__isrc@
+DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/include
depcomp = $(SHELL) $(top_srcdir)/depcomp
am__depfiles_maybe = depfiles
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
@@ -238,7 +245,7 @@ CTAGS = ctags
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
AMTAR = @AMTAR@
-AM_CXXFLAGS = @AM_CXXFLAGS@
+AM_CXXFLAGS = @AM_CXXFLAGS@ $(am__append_1)
AR = @AR@
AS = @AS@
AUTOCONF = @AUTOCONF@
@@ -261,19 +268,19 @@ CURL_LIBS = @CURL_LIBS@
CXX = @CXX@
CXXCPP = @CXXCPP@
CXXDEPMODE = @CXXDEPMODE@
-CXXFLAGS = @CXXFLAGS@ $(am__append_1)
+CXXFLAGS = @CXXFLAGS@
CYGPATH_W = @CYGPATH_W@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
DLLTOOL = @DLLTOOL@
-ECHO = @ECHO@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
-F77 = @F77@
-FFLAGS = @FFLAGS@
+FGREP = @FGREP@
GENCCODE = @GENCCODE@
GENCMN = @GENCMN@
GENRB = @GENRB@
@@ -287,17 +294,23 @@ INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LD = @LD@
LDFLAGS = @LDFLAGS@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
+LIPO = @LIPO@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MKDIR_P = @MKDIR_P@
+NM = @NM@
+NMEDIT = @NMEDIT@
OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
@@ -320,7 +333,7 @@ abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
-ac_ct_F77 = @ac_ct_F77@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
@@ -354,6 +367,7 @@ libdir = @libdir@
libexecdir = @libexecdir@
localedir = @localedir@
localstatedir = @localstatedir@
+lt_ECHO = @lt_ECHO@
mandir = @mandir@
mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@
@@ -372,15 +386,16 @@ target_mingw32 = @target_mingw32@
target_os = @target_os@
target_system = @target_system@
target_vendor = @target_vendor@
+top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
with_conf = @with_conf@
with_icu = @with_icu@
with_zlib = @with_zlib@
AUTOMAKE_OPTIONS = 1.6
-AM_CPPFLAGS = -I$(top_srcdir)/include -DUSE_AUTOTOOLS -DUNIX -Dunix \
- -D__unix__ $(ZLIBDEF) $(ICUDEF) $(globdef) -D_FTPLIB_NO_COMPAT \
- $(ICUDEFS)
+AM_CPPFLAGS = -I$(top_srcdir)/include -I$(includedir) -DUSE_AUTOTOOLS \
+ -DUNIX -Dunix -D__unix__ $(ZLIBDEF) $(ICUDEF) $(globdef) \
+ -D_FTPLIB_NO_COMPAT $(ICUDEFS)
@ZLIB_FALSE@ZLIBDEF = -DEXCLUDEZLIB
@ZLIB_TRUE@ZLIBDEF =
@@ -398,24 +413,25 @@ libsword_la_SOURCES = $(keysdir)/swkey.cpp $(keysdir)/listkey.cpp \
$(utilfunsdir)/roman.cpp $(FTP_SOURCES) $(mgrdir)/swconfig.cpp \
$(mgrdir)/swmgr.cpp $(mgrdir)/swfiltermgr.cpp \
$(mgrdir)/encfiltmgr.cpp $(mgrdir)/markupfiltmgr.cpp \
- $(mgrdir)/filemgr.cpp $(mgrdir)/ftptrans.cpp \
- $(mgrdir)/swlocale.cpp $(mgrdir)/localemgr.cpp \
- $(mgrdir)/swcacher.cpp $(mgrdir)/swsearchable.cpp \
- $(mgrdir)/installmgr.cpp $(mgrdir)/stringmgr.cpp \
- $(frontenddir)/swdisp.cpp $(frontenddir)/swlog.cpp \
- $(modulesdir)/swmodule.cpp $(commondir)/rawstr.cpp \
- $(commondir)/rawstr4.cpp $(commondir)/swcomprs.cpp \
- $(commondir)/lzsscomprs.cpp $(SWZLIB) \
- $(commondir)/rawverse.cpp $(commondir)/rawverse4.cpp \
+ $(mgrdir)/filemgr.cpp $(mgrdir)/versemgr.cpp \
+ $(mgrdir)/ftptrans.cpp $(mgrdir)/swlocale.cpp \
+ $(mgrdir)/localemgr.cpp $(mgrdir)/swcacher.cpp \
+ $(mgrdir)/swsearchable.cpp $(mgrdir)/installmgr.cpp \
+ $(mgrdir)/stringmgr.cpp $(frontenddir)/swdisp.cpp \
+ $(frontenddir)/swlog.cpp $(modulesdir)/swmodule.cpp \
+ $(commondir)/rawstr.cpp $(commondir)/rawstr4.cpp \
+ $(commondir)/swcomprs.cpp $(commondir)/lzsscomprs.cpp \
+ $(SWZLIB) $(commondir)/rawverse.cpp $(commondir)/rawverse4.cpp \
$(commondir)/swcipher.cpp $(commondir)/zverse.cpp \
$(commondir)/zstr.cpp $(commondir)/entriesblk.cpp \
$(commondir)/sapphire.cpp $(filtersdir)/swbasicfilter.cpp \
$(filtersdir)/swoptfilter.cpp $(filtersdir)/latin1utf8.cpp \
$(filtersdir)/latin1utf16.cpp $(filtersdir)/utf8utf16.cpp \
- $(filtersdir)/utf16utf8.cpp $(filtersdir)/scsuutf8.cpp \
- $(filtersdir)/utf8html.cpp $(filtersdir)/utf8latin1.cpp \
+ $(filtersdir)/utf16utf8.cpp $(filtersdir)/utf8html.cpp \
+ $(filtersdir)/utf8latin1.cpp \
$(filtersdir)/utf8cantillation.cpp \
$(filtersdir)/utf8hebrewpoints.cpp \
+ $(filtersdir)/utf8arabicpoints.cpp \
$(filtersdir)/utf8greekaccents.cpp $(filtersdir)/cipherfil.cpp \
$(SWREALICUSRC) $(OSISFIL) $(GBFFIL) $(THMLFIL) $(CONVFIL) \
$(PLFIL) $(TEIFIL) $(genbookdir)/swgenbook.cpp \
@@ -449,7 +465,8 @@ mgrdir = $(top_srcdir)/src/mgr
@CONFDEF_FALSE@globdef =
@CONFDEF_TRUE@globdef = -DGLOBCONFPATH=\"${globalconfdir}/sword.conf\"
@WITHCURL_FALSE@FTP_SOURCES = $(mgrdir)/ftplibftpt.cpp
-@WITHCURL_TRUE@FTP_SOURCES = $(mgrdir)/curlftpt.cpp
+@WITHCURL_TRUE@FTP_SOURCES = $(mgrdir)/curlftpt.cpp \
+@WITHCURL_TRUE@ $(mgrdir)/curlhttpt.cpp
frontenddir = $(top_srcdir)/src/frontend
modulesdir = $(top_srcdir)/src/modules
commondir = $(top_srcdir)/src/modules/common
@@ -482,7 +499,8 @@ OSISFIL = $(filtersdir)/osisheadings.cpp \
$(filtersdir)/osisredletterwords.cpp \
$(filtersdir)/osisscripref.cpp $(filtersdir)/osisvariants.cpp \
$(filtersdir)/osiswordjs.cpp \
- $(filtersdir)/osismorphsegmentation.cpp
+ $(filtersdir)/osismorphsegmentation.cpp \
+ $(filtersdir)/osisruby.cpp
PLFIL = $(filtersdir)/rtfhtml.cpp $(filtersdir)/plainfootnotes.cpp \
$(filtersdir)/plainhtml.cpp $(filtersdir)/greeklexattribs.cpp \
$(filtersdir)/unicodertf.cpp $(filtersdir)/papyriplain.cpp
@@ -521,27 +539,29 @@ bindingsdir = $(top_srcdir)/bindings
swincludedir = $(top_srcdir)/include
pkginclude_HEADERS = $(swincludedir)/Greek2Greek.h \
$(swincludedir)/GreekChars.h $(swincludedir)/canon.h \
- $(swincludedir)/cipherfil.h $(swincludedir)/curlftpt.h \
+ $(swincludedir)/canon_abbrevs.h $(swincludedir)/cipherfil.h \
+ $(swincludedir)/curlftpt.h $(swincludedir)/curlhttpt.h \
$(swincludedir)/defs.h $(swincludedir)/echomod.h \
$(swincludedir)/encfiltmgr.h $(swincludedir)/entriesblk.h \
$(swincludedir)/femain.h $(swincludedir)/filemgr.h \
- $(swincludedir)/flatapi.h $(swincludedir)/ftpparse.h \
- $(swincludedir)/ftptrans.h $(swincludedir)/ftplibftpt.h \
- $(swincludedir)/ftplib.h $(swincludedir)/gbffootnotes.h \
- $(swincludedir)/gbfheadings.h $(swincludedir)/gbfhtml.h \
- $(swincludedir)/gbfhtmlhref.h $(swincludedir)/gbfwebif.h \
- $(swincludedir)/gbfmorph.h $(swincludedir)/gbfosis.h \
- $(swincludedir)/gbfplain.h $(swincludedir)/gbfredletterwords.h \
- $(swincludedir)/gbfrtf.h $(swincludedir)/gbfstrongs.h \
- $(swincludedir)/gbfwordjs.h $(swincludedir)/gbfthml.h \
- $(swincludedir)/greeklexattribs.h $(swincludedir)/hebrewmcim.h \
- $(swincludedir)/hrefcom.h $(swincludedir)/installmgr.h \
- $(swincludedir)/latin1utf16.h $(swincludedir)/latin1utf8.h \
- $(swincludedir)/listkey.h $(swincludedir)/localemgr.h \
- $(swincludedir)/lzsscomprs.h $(swincludedir)/markupfiltmgr.h \
- $(swincludedir)/multimapwdef.h $(swincludedir)/nullim.h \
- $(swincludedir)/osisheadings.h $(swincludedir)/osishtmlhref.h \
- $(swincludedir)/osiswebif.h $(swincludedir)/osismorph.h \
+ $(swincludedir)/versemgr.h $(swincludedir)/flatapi.h \
+ $(swincludedir)/ftpparse.h $(swincludedir)/ftptrans.h \
+ $(swincludedir)/ftplibftpt.h $(swincludedir)/ftplib.h \
+ $(swincludedir)/gbffootnotes.h $(swincludedir)/gbfheadings.h \
+ $(swincludedir)/gbfhtml.h $(swincludedir)/gbfhtmlhref.h \
+ $(swincludedir)/gbfwebif.h $(swincludedir)/gbfmorph.h \
+ $(swincludedir)/gbfosis.h $(swincludedir)/gbfplain.h \
+ $(swincludedir)/gbfredletterwords.h $(swincludedir)/gbfrtf.h \
+ $(swincludedir)/gbfstrongs.h $(swincludedir)/gbfwordjs.h \
+ $(swincludedir)/gbfthml.h $(swincludedir)/greeklexattribs.h \
+ $(swincludedir)/hebrewmcim.h $(swincludedir)/hrefcom.h \
+ $(swincludedir)/installmgr.h $(swincludedir)/latin1utf16.h \
+ $(swincludedir)/latin1utf8.h $(swincludedir)/listkey.h \
+ $(swincludedir)/localemgr.h $(swincludedir)/lzsscomprs.h \
+ $(swincludedir)/markupfiltmgr.h $(swincludedir)/multimapwdef.h \
+ $(swincludedir)/nullim.h $(swincludedir)/osisheadings.h \
+ $(swincludedir)/osishtmlhref.h $(swincludedir)/osiswebif.h \
+ $(swincludedir)/osismorph.h \
$(swincludedir)/osismorphsegmentation.h \
$(swincludedir)/osisplain.h $(swincludedir)/osisrtf.h \
$(swincludedir)/osisosis.h $(swincludedir)/osisstrongs.h \
@@ -557,37 +577,38 @@ pkginclude_HEADERS = $(swincludedir)/Greek2Greek.h \
$(swincludedir)/rawstr4.h $(swincludedir)/rawtext.h \
$(swincludedir)/rawverse.h $(swincludedir)/regex.h \
$(swincludedir)/roman.h $(swincludedir)/rtfhtml.h \
- $(swincludedir)/sapphire.h $(swincludedir)/scsuutf8.h \
- $(swincludedir)/strkey.h $(swincludedir)/swbasicfilter.h \
- $(swincludedir)/swbuf.h $(swincludedir)/swcacher.h \
- $(swincludedir)/swcipher.h $(swincludedir)/swcom.h \
- $(swincludedir)/swcomprs.h $(swincludedir)/swconfig.h \
- $(swincludedir)/swdisp.h $(swincludedir)/swfilter.h \
- $(swincludedir)/swfiltermgr.h $(swincludedir)/swgenbook.h \
- $(swincludedir)/swinputmeth.h $(swincludedir)/swkey.h \
- $(swincludedir)/swld.h $(swincludedir)/swlocale.h \
- $(swincludedir)/swlog.h $(swincludedir)/swmacs.h \
- $(swincludedir)/swmgr.h $(swincludedir)/stringmgr.h \
- $(swincludedir)/swmodule.h $(swincludedir)/swoptfilter.h \
- $(swincludedir)/swobject.h $(swincludedir)/swsearchable.h \
- $(swincludedir)/swtext.h $(swincludedir)/swunicod.h \
- $(swincludedir)/swversion.h $(swincludedir)/sysdata.h \
- $(swincludedir)/thmlfootnotes.h $(swincludedir)/thmlgbf.h \
- $(swincludedir)/thmlheadings.h $(swincludedir)/thmlhtml.h \
- $(swincludedir)/thmlhtmlhref.h $(swincludedir)/thmlwebif.h \
- $(swincludedir)/thmllemma.h $(swincludedir)/thmlmorph.h \
- $(swincludedir)/thmlosis.h $(swincludedir)/thmlplain.h \
- $(swincludedir)/thmlrtf.h $(swincludedir)/thmlscripref.h \
- $(swincludedir)/thmlstrongs.h $(swincludedir)/thmlvariants.h \
- $(swincludedir)/thmlwordjs.h $(swincludedir)/teiplain.h \
- $(swincludedir)/teirtf.h $(swincludedir)/treekey.h \
+ $(swincludedir)/sapphire.h $(swincludedir)/strkey.h \
+ $(swincludedir)/swbasicfilter.h $(swincludedir)/swbuf.h \
+ $(swincludedir)/swcacher.h $(swincludedir)/swcipher.h \
+ $(swincludedir)/swcom.h $(swincludedir)/swcomprs.h \
+ $(swincludedir)/swconfig.h $(swincludedir)/swdisp.h \
+ $(swincludedir)/swfilter.h $(swincludedir)/swfiltermgr.h \
+ $(swincludedir)/swgenbook.h $(swincludedir)/swinputmeth.h \
+ $(swincludedir)/swkey.h $(swincludedir)/swld.h \
+ $(swincludedir)/swlocale.h $(swincludedir)/swlog.h \
+ $(swincludedir)/swmacs.h $(swincludedir)/swmgr.h \
+ $(swincludedir)/stringmgr.h $(swincludedir)/swmodule.h \
+ $(swincludedir)/swoptfilter.h $(swincludedir)/swobject.h \
+ $(swincludedir)/swsearchable.h $(swincludedir)/swtext.h \
+ $(swincludedir)/swunicod.h $(swincludedir)/swversion.h \
+ $(swincludedir)/sysdata.h $(swincludedir)/thmlfootnotes.h \
+ $(swincludedir)/thmlgbf.h $(swincludedir)/thmlheadings.h \
+ $(swincludedir)/thmlhtml.h $(swincludedir)/thmlhtmlhref.h \
+ $(swincludedir)/thmlwebif.h $(swincludedir)/thmllemma.h \
+ $(swincludedir)/thmlmorph.h $(swincludedir)/thmlosis.h \
+ $(swincludedir)/thmlplain.h $(swincludedir)/thmlrtf.h \
+ $(swincludedir)/thmlscripref.h $(swincludedir)/thmlstrongs.h \
+ $(swincludedir)/thmlvariants.h $(swincludedir)/thmlwordjs.h \
+ $(swincludedir)/teiplain.h $(swincludedir)/teirtf.h \
+ $(swincludedir)/teihtmlhref.h $(swincludedir)/treekey.h \
$(swincludedir)/treekeyidx.h $(swincludedir)/unicodertf.h \
$(swincludedir)/url.h $(swincludedir)/untgz.h \
$(swincludedir)/utf16utf8.h $(swincludedir)/utf8arshaping.h \
$(swincludedir)/utf8bidireorder.h \
$(swincludedir)/utf8cantillation.h \
$(swincludedir)/utf8greekaccents.h \
- $(swincludedir)/utf8hebrewpoints.h $(swincludedir)/utf8html.h \
+ $(swincludedir)/utf8hebrewpoints.h \
+ $(swincludedir)/utf8arabicpoints.h $(swincludedir)/utf8html.h \
$(swincludedir)/utf8latin1.h $(swincludedir)/utf8nfc.h \
$(swincludedir)/utf8nfkd.h \
$(swincludedir)/utf8transliterator.h \
@@ -605,8 +626,8 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(srcdir)/..
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
- && exit 0; \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
exit 1;; \
esac; \
done; \
@@ -636,8 +657,8 @@ install-libLTLIBRARIES: $(lib_LTLIBRARIES)
@list='$(lib_LTLIBRARIES)'; for p in $$list; do \
if test -f $$p; then \
f=$(am__strip_dir) \
- echo " $(LIBTOOL) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(libdir)/$$f'"; \
- $(LIBTOOL) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(libdir)/$$f"; \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(libdir)/$$f'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(libdir)/$$f"; \
else :; fi; \
done
@@ -645,8 +666,8 @@ uninstall-libLTLIBRARIES:
@$(NORMAL_UNINSTALL)
@list='$(lib_LTLIBRARIES)'; for p in $$list; do \
p=$(am__strip_dir) \
- echo " $(LIBTOOL) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$p'"; \
- $(LIBTOOL) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$p"; \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$p'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$p"; \
done
clean-libLTLIBRARIES:
@@ -668,6 +689,7 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cipherfil.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/curlftpt.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/curlhttpt.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/encfiltmgr.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/entriesblk.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/filemgr.Plo@am__quote@
@@ -708,6 +730,7 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/osisplain.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/osisredletterwords.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/osisrtf.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/osisruby.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/osisscripref.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/osisstrongs.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/osisvariants.Plo@am__quote@
@@ -732,7 +755,6 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/roman.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rtfhtml.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sapphire.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/scsuutf8.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/stringmgr.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strkey.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/swbasicfilter.Plo@am__quote@
@@ -781,6 +803,7 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/untgz.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/url.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/utf16utf8.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/utf8arabicpoints.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/utf8arshaping.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/utf8bidireorder.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/utf8cantillation.Plo@am__quote@
@@ -795,6 +818,7 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/utilstr.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/utilxml.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/versekey.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/versemgr.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/versetreekey.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/zcom.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/zipcomprs.Plo@am__quote@
@@ -992,6 +1016,13 @@ curlftpt.lo: $(mgrdir)/curlftpt.cpp
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o curlftpt.lo `test -f '$(mgrdir)/curlftpt.cpp' || echo '$(srcdir)/'`$(mgrdir)/curlftpt.cpp
+curlhttpt.lo: $(mgrdir)/curlhttpt.cpp
+@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT curlhttpt.lo -MD -MP -MF $(DEPDIR)/curlhttpt.Tpo -c -o curlhttpt.lo `test -f '$(mgrdir)/curlhttpt.cpp' || echo '$(srcdir)/'`$(mgrdir)/curlhttpt.cpp
+@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/curlhttpt.Tpo $(DEPDIR)/curlhttpt.Plo
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$(mgrdir)/curlhttpt.cpp' object='curlhttpt.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o curlhttpt.lo `test -f '$(mgrdir)/curlhttpt.cpp' || echo '$(srcdir)/'`$(mgrdir)/curlhttpt.cpp
+
swconfig.lo: $(mgrdir)/swconfig.cpp
@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT swconfig.lo -MD -MP -MF $(DEPDIR)/swconfig.Tpo -c -o swconfig.lo `test -f '$(mgrdir)/swconfig.cpp' || echo '$(srcdir)/'`$(mgrdir)/swconfig.cpp
@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/swconfig.Tpo $(DEPDIR)/swconfig.Plo
@@ -1034,6 +1065,13 @@ filemgr.lo: $(mgrdir)/filemgr.cpp
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o filemgr.lo `test -f '$(mgrdir)/filemgr.cpp' || echo '$(srcdir)/'`$(mgrdir)/filemgr.cpp
+versemgr.lo: $(mgrdir)/versemgr.cpp
+@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT versemgr.lo -MD -MP -MF $(DEPDIR)/versemgr.Tpo -c -o versemgr.lo `test -f '$(mgrdir)/versemgr.cpp' || echo '$(srcdir)/'`$(mgrdir)/versemgr.cpp
+@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/versemgr.Tpo $(DEPDIR)/versemgr.Plo
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$(mgrdir)/versemgr.cpp' object='versemgr.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o versemgr.lo `test -f '$(mgrdir)/versemgr.cpp' || echo '$(srcdir)/'`$(mgrdir)/versemgr.cpp
+
ftptrans.lo: $(mgrdir)/ftptrans.cpp
@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ftptrans.lo -MD -MP -MF $(DEPDIR)/ftptrans.Tpo -c -o ftptrans.lo `test -f '$(mgrdir)/ftptrans.cpp' || echo '$(srcdir)/'`$(mgrdir)/ftptrans.cpp
@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/ftptrans.Tpo $(DEPDIR)/ftptrans.Plo
@@ -1230,13 +1268,6 @@ utf16utf8.lo: $(filtersdir)/utf16utf8.cpp
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o utf16utf8.lo `test -f '$(filtersdir)/utf16utf8.cpp' || echo '$(srcdir)/'`$(filtersdir)/utf16utf8.cpp
-scsuutf8.lo: $(filtersdir)/scsuutf8.cpp
-@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT scsuutf8.lo -MD -MP -MF $(DEPDIR)/scsuutf8.Tpo -c -o scsuutf8.lo `test -f '$(filtersdir)/scsuutf8.cpp' || echo '$(srcdir)/'`$(filtersdir)/scsuutf8.cpp
-@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/scsuutf8.Tpo $(DEPDIR)/scsuutf8.Plo
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$(filtersdir)/scsuutf8.cpp' object='scsuutf8.lo' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o scsuutf8.lo `test -f '$(filtersdir)/scsuutf8.cpp' || echo '$(srcdir)/'`$(filtersdir)/scsuutf8.cpp
-
utf8html.lo: $(filtersdir)/utf8html.cpp
@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT utf8html.lo -MD -MP -MF $(DEPDIR)/utf8html.Tpo -c -o utf8html.lo `test -f '$(filtersdir)/utf8html.cpp' || echo '$(srcdir)/'`$(filtersdir)/utf8html.cpp
@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/utf8html.Tpo $(DEPDIR)/utf8html.Plo
@@ -1265,6 +1296,13 @@ utf8hebrewpoints.lo: $(filtersdir)/utf8hebrewpoints.cpp
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o utf8hebrewpoints.lo `test -f '$(filtersdir)/utf8hebrewpoints.cpp' || echo '$(srcdir)/'`$(filtersdir)/utf8hebrewpoints.cpp
+utf8arabicpoints.lo: $(filtersdir)/utf8arabicpoints.cpp
+@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT utf8arabicpoints.lo -MD -MP -MF $(DEPDIR)/utf8arabicpoints.Tpo -c -o utf8arabicpoints.lo `test -f '$(filtersdir)/utf8arabicpoints.cpp' || echo '$(srcdir)/'`$(filtersdir)/utf8arabicpoints.cpp
+@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/utf8arabicpoints.Tpo $(DEPDIR)/utf8arabicpoints.Plo
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$(filtersdir)/utf8arabicpoints.cpp' object='utf8arabicpoints.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o utf8arabicpoints.lo `test -f '$(filtersdir)/utf8arabicpoints.cpp' || echo '$(srcdir)/'`$(filtersdir)/utf8arabicpoints.cpp
+
utf8greekaccents.lo: $(filtersdir)/utf8greekaccents.cpp
@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT utf8greekaccents.lo -MD -MP -MF $(DEPDIR)/utf8greekaccents.Tpo -c -o utf8greekaccents.lo `test -f '$(filtersdir)/utf8greekaccents.cpp' || echo '$(srcdir)/'`$(filtersdir)/utf8greekaccents.cpp
@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/utf8greekaccents.Tpo $(DEPDIR)/utf8greekaccents.Plo
@@ -1412,6 +1450,13 @@ osismorphsegmentation.lo: $(filtersdir)/osismorphsegmentation.cpp
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o osismorphsegmentation.lo `test -f '$(filtersdir)/osismorphsegmentation.cpp' || echo '$(srcdir)/'`$(filtersdir)/osismorphsegmentation.cpp
+osisruby.lo: $(filtersdir)/osisruby.cpp
+@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT osisruby.lo -MD -MP -MF $(DEPDIR)/osisruby.Tpo -c -o osisruby.lo `test -f '$(filtersdir)/osisruby.cpp' || echo '$(srcdir)/'`$(filtersdir)/osisruby.cpp
+@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/osisruby.Tpo $(DEPDIR)/osisruby.Plo
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$(filtersdir)/osisruby.cpp' object='osisruby.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o osisruby.lo `test -f '$(filtersdir)/osisruby.cpp' || echo '$(srcdir)/'`$(filtersdir)/osisruby.cpp
+
gbfhtml.lo: $(filtersdir)/gbfhtml.cpp
@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT gbfhtml.lo -MD -MP -MF $(DEPDIR)/gbfhtml.Tpo -c -o gbfhtml.lo `test -f '$(filtersdir)/gbfhtml.cpp' || echo '$(srcdir)/'`$(filtersdir)/gbfhtml.cpp
@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/gbfhtml.Tpo $(DEPDIR)/gbfhtml.Plo
@@ -1825,8 +1870,8 @@ ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
mkid -fID $$unique
tags: TAGS
@@ -1838,8 +1883,8 @@ TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
test -n "$$unique" || unique=$$empty_fix; \
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
@@ -1849,13 +1894,12 @@ ctags: CTAGS
CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
tags=; \
- here=`pwd`; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
test -z "$(CTAGS_ARGS)$$tags$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
$$tags $$unique
diff --git a/lib/bcppmake/libsword.bdsproj b/lib/bcppmake/libsword.bdsproj
index cd6ae8d..d175ad2 100644
--- a/lib/bcppmake/libsword.bdsproj
+++ b/lib/bcppmake/libsword.bdsproj
@@ -482,7 +482,6 @@
<FILE FILENAME="..\..\src\modules\filters\plainfootnotes.cpp" CONTAINERID="CCompiler" LOCALCOMMAND="" UNITNAME="plainfootnotes" FORMNAME="" DESIGNCLASS=""/>
<FILE FILENAME="..\..\src\modules\filters\plainhtml.cpp" CONTAINERID="CCompiler" LOCALCOMMAND="" UNITNAME="plainhtml" FORMNAME="" DESIGNCLASS=""/>
<FILE FILENAME="..\..\src\modules\filters\rtfhtml.cpp" CONTAINERID="CCompiler" LOCALCOMMAND="" UNITNAME="rtfhtml" FORMNAME="" DESIGNCLASS=""/>
- <FILE FILENAME="..\..\src\modules\filters\scsuutf8.cpp" CONTAINERID="CCompiler" LOCALCOMMAND="" UNITNAME="scsuutf8" FORMNAME="" DESIGNCLASS=""/>
<FILE FILENAME="..\..\src\modules\filters\swbasicfilter.cpp" CONTAINERID="CCompiler" LOCALCOMMAND="" UNITNAME="swbasicfilter" FORMNAME="" DESIGNCLASS=""/>
<FILE FILENAME="..\..\src\modules\filters\swoptfilter.cpp" CONTAINERID="CCompiler" LOCALCOMMAND="" UNITNAME="swoptfilter" FORMNAME="" DESIGNCLASS=""/>
<FILE FILENAME="..\..\src\modules\filters\thmlfootnotes.cpp" CONTAINERID="CCompiler" LOCALCOMMAND="" UNITNAME="thmlfootnotes" FORMNAME="" DESIGNCLASS=""/>
@@ -507,6 +506,7 @@
<FILE FILENAME="..\..\src\modules\filters\utf8cantillation.cpp" CONTAINERID="CCompiler" LOCALCOMMAND="" UNITNAME="utf8cantillation" FORMNAME="" DESIGNCLASS=""/>
<FILE FILENAME="..\..\src\modules\filters\utf8greekaccents.cpp" CONTAINERID="CCompiler" LOCALCOMMAND="" UNITNAME="utf8greekaccents" FORMNAME="" DESIGNCLASS=""/>
<FILE FILENAME="..\..\src\modules\filters\utf8hebrewpoints.cpp" CONTAINERID="CCompiler" LOCALCOMMAND="" UNITNAME="utf8hebrewpoints" FORMNAME="" DESIGNCLASS=""/>
+ <FILE FILENAME="..\..\src\modules\filters\utf8arabicpoints.cpp" CONTAINERID="CCompiler" LOCALCOMMAND="" UNITNAME="utf8arabicpoints" FORMNAME="" DESIGNCLASS=""/>
<FILE FILENAME="..\..\src\modules\filters\utf8html.cpp" CONTAINERID="CCompiler" LOCALCOMMAND="" UNITNAME="utf8html" FORMNAME="" DESIGNCLASS=""/>
<FILE FILENAME="..\..\src\modules\filters\utf8latin1.cpp" CONTAINERID="CCompiler" LOCALCOMMAND="" UNITNAME="utf8latin1" FORMNAME="" DESIGNCLASS=""/>
<FILE FILENAME="..\..\src\modules\filters\utf8nfc.cpp" CONTAINERID="CCompiler" LOCALCOMMAND="" UNITNAME="utf8nfc" FORMNAME="" DESIGNCLASS=""/>
diff --git a/lib/bcppmake/libsword.bpf b/lib/bcppmake/libsword.bpf
index e74f31c..bf9b9e3 100644
--- a/lib/bcppmake/libsword.bpf
+++ b/lib/bcppmake/libsword.bpf
@@ -1,3 +1,4 @@
+
//---------------------------------------------------------------------------
//#include <vcl.h>
@@ -81,7 +82,6 @@ USEUNIT("..\..\src\modules\filters\osiswordjs.cpp");
USEUNIT("..\..\src\modules\filters\plainfootnotes.cpp");
USEUNIT("..\..\src\modules\filters\plainhtml.cpp");
USEUNIT("..\..\src\modules\filters\rtfhtml.cpp");
-USEUNIT("..\..\src\modules\filters\scsuutf8.cpp");
USEUNIT("..\..\src\modules\filters\swbasicfilter.cpp");
USEUNIT("..\..\src\modules\filters\swoptfilter.cpp");
USEUNIT("..\..\src\modules\filters\thmlfootnotes.cpp");
@@ -106,6 +106,7 @@ USEUNIT("..\..\src\modules\filters\utf8bidireorder.cpp");
USEUNIT("..\..\src\modules\filters\utf8cantillation.cpp");
USEUNIT("..\..\src\modules\filters\utf8greekaccents.cpp");
USEUNIT("..\..\src\modules\filters\utf8hebrewpoints.cpp");
+USEUNIT("..\..\src\modules\filters\utf8arabicpoints.cpp");
USEUNIT("..\..\src\modules\filters\utf8html.cpp");
USEUNIT("..\..\src\modules\filters\utf8latin1.cpp");
USEUNIT("..\..\src\modules\filters\utf8nfc.cpp");
@@ -149,6 +150,9 @@ USEUNIT("..\..\src\modules\texts\rawtext4\rawtext4.cpp");
USEUNIT("..\..\src\modules\comments\rawcom4\rawcom4.cpp");
USEUNIT("..\..\src\modules\common\rawverse4.cpp");
USEUNIT("..\..\src\modules\filters\teihtmlhref.cpp");
+USEUNIT("..\..\src\mgr\versemgr.cpp");
+USEUNIT("..\..\src\modules\filters\osisruby.cpp");
+USEUNIT("..\..\src\mgr\curlhttpt.cpp");
//---------------------------------------------------------------------------
#define Library
diff --git a/lib/bcppmake/libsword.bpr b/lib/bcppmake/libsword.bpr
index f7e7bd0..6cb4c08 100644
--- a/lib/bcppmake/libsword.bpr
+++ b/lib/bcppmake/libsword.bpr
@@ -63,7 +63,6 @@
..\..\src\modules\filters\plainfootnotes.obj
..\..\src\modules\filters\plainhtml.obj
..\..\src\modules\filters\rtfhtml.obj
- ..\..\src\modules\filters\scsuutf8.obj
..\..\src\modules\filters\swbasicfilter.obj
..\..\src\modules\filters\swoptfilter.obj
..\..\src\modules\filters\thmlfootnotes.obj
@@ -88,6 +87,7 @@
..\..\src\modules\filters\utf8cantillation.obj
..\..\src\modules\filters\utf8greekaccents.obj
..\..\src\modules\filters\utf8hebrewpoints.obj
+ ..\..\src\modules\filters\utf8arabicpoints.obj
..\..\src\modules\filters\utf8html.obj
..\..\src\modules\filters\utf8latin1.obj
..\..\src\modules\filters\utf8nfc.obj
@@ -118,7 +118,8 @@
..\..\src\modules\texts\rawtext4\rawtext4.obj
..\..\src\modules\comments\rawcom4\rawcom4.obj
..\..\src\modules\common\rawverse4.obj
- ..\..\src\modules\filters\teihtmlhref.obj"/>
+ ..\..\src\modules\filters\teihtmlhref.obj ..\..\src\mgr\versemgr.obj
+ ..\..\src\modules\filters\osisruby.obj ..\..\src\mgr\curlhttpt.obj"/>
<RESFILES value=""/>
<IDLFILES value=""/>
<IDLGENFILES value=""/>
@@ -132,7 +133,7 @@
<PATHRC value=".;"/>
<PATHASM value=".;"/>
<LINKER value="TLib"/>
- <USERDEFINES value="UNICODE;_ICU_;_ICUSWORD_;USBINARY;U_HAVE_PLACEMENT_NEW=0;USELUCENE;_WIN32;_CL_DISABLE_MULTITHREADING;CURLAVAILABLE;LUCENE_ENABLE_REFCOUNT"/>
+ <USERDEFINES value="UNICODE;_ICU_;_ICUSWORD_;USBINARY;U_HAVE_PLACEMENT_NEW=0;USELUCENE;_WIN32;_CL_DISABLE_MULTITHREADING;CURLAVAILABLE;LUCENE_ENABLE_REFCOUNT;_DEBUG"/>
<SYSDEFINES value="NO_STRICT"/>
<MAINSOURCE value="libsword.bpf"/>
<INCLUDEPATH value="..\..\src\modules\comments\rawcom4;..\..\src\modules\texts\rawtext4;..\..\src\modules\tests;..\..\src\utilfuns\zlib;..\..\src\modules\lexdict\zld;..\..\src\modules\lexdict\rawld4;..\..\src\modules\comments\zcom;..\..\src\modules\genbook\rawgenbook;..\..\src\modules\genbook;..\..\src\modules\texts\ztext;..\..\src\modules\texts\rawtext;..\..\src\modules\texts;..\..\src\modules\lexdict\rawld;..\..\src\modules\lexdict;..\..\src\modules\filters;..\..\src\modules\common;..\..\src\modules\comments\rawfiles;..\..\src\modules\comments\rawcom;..\..\src\modules\comments\hrefcom;..\..\src\modules\comments;..\..\src\modules;..\..\src\frontend;..\..\src\utilfuns;..\..\src\mgr;..\..\src\keys;..\..\..\icu-sword\source\common;..\..\apps\windoze\CBuilder5\InstallMgr\curl\include;..\..\include;$(BCB)\include;$(BCB)\include\vcl;..\..\..\icu-sword\source\i18n;..\..\..\biblecs\clucene\src;..\..\..\biblecs\apps\InstallMgr\curl\include"/>
@@ -160,9 +161,9 @@
-D_ICU_ -D_ICUSWORD_ -DUSBINARY -DU_HAVE_PLACEMENT_NEW=0 -DUSELUCENE
-D_WIN32 -D_CL_DISABLE_MULTITHREADING -DCURLAVAILABLE
-DLUCENE_ENABLE_REFCOUNT -no_tie -boa"/>
- <CFLAG1 value="-O2 -Vx -X- -a8 -4 -b- -k- -vi -c -tW -tWM"/>
- <PFLAGS value="-$Y- -$L- -$D- -v -JPHNE -M"/>
- <AFLAGS value="/mx /w2 /zn"/>
+ <CFLAG1 value="-Od -Vx -X- -r- -a8 -4 -b- -k -y -v -vi- -c -tW -tWM"/>
+ <PFLAGS value="-$Y+ -$W -$O- -v -JPHNE -M"/>
+ <AFLAGS value="/mx /w2 /zi"/>
<LFLAGS value="/P512"/>
</OPTIONS>
<LINKER>
@@ -237,31 +238,32 @@ Count=1
Item0=$(BCB)\source\vcl
[HistoryLists\hlConditionals]
-Count=24
-Item0=UNICODE;_ICU_;_ICUSWORD_;USBINARY;U_HAVE_PLACEMENT_NEW=0;USELUCENE;_WIN32;_CL_DISABLE_MULTITHREADING;CURLAVAILABLE;LUCENE_ENABLE_REFCOUNT
-Item1=UNICODE;_ICU_;_ICUSWORD_;USBINARY;U_HAVE_PLACEMENT_NEW=0;USELUCENE;_WIN32;_CL_DISABLE_MULTITHREADING;CURLAVAILABLE
-Item2=UNICODE;_ICU_;_ICUSWORD_;USBINARY;U_HAVE_PLACEMENT_NEW=0;USELUCENE;_WIN32;_CL_DISABLE_MULTITHREADING
-Item3=UNICODE;_ICU_;_ICUSWORD_;USBINARY;U_HAVE_PLACEMENT_NEW=0;USELUCENE;_WIN32;_CL_DISABLE_MULTITHREADING;_DEBUG
-Item4=_ICU_;_ICUSWORD_;USBINARY;U_HAVE_PLACEMENT_NEW=0;USELUCENE;_WIN32;_CL_DISABLE_MULTITHREADING
-Item5=_ICU_;_ICUSWORD_;USBINARY;U_HAVE_PLACEMENT_NEW=0;USELUCENE;_WIN32;_CL_DISABLE_MULTITHREADING;UNICODE
-Item6=_UCS2;_ICU_;_ICUSWORD_;USBINARY;U_HAVE_PLACEMENT_NEW=0;USELUCENE;_WIN32;_CL_DISABLE_MULTITHREADING
-Item7=_ASCII;_ICU_;_ICUSWORD_;USBINARY;U_HAVE_PLACEMENT_NEW=0;USELUCENE;_WIN32;_CL_DISABLE_MULTITHREADING
-Item8=__ASCII;_ICU_;_ICUSWORD_;USBINARY;U_HAVE_PLACEMENT_NEW=0;USELUCENE;_WIN32;_CL_DISABLE_MULTITHREADING
-Item9=_ICU_;_ICUSWORD_;USBINARY;U_HAVE_PLACEMENT_NEW=0;USELUCENE;LUCENE_DISABLE_MULTITHREADING;_WIN32;HAVE_DIRENT
-Item10=_ICU_;_ICUSWORD_;USBINARY;U_HAVE_PLACEMENT_NEW=0;USELUCENE;LUCENE_DISABLE_MULTITHREADING;_WIN32;HAVE_DIRENT;_DEBUG
-Item11=_ICU_;_ICUSWORD_;USBINARY;U_HAVE_PLACEMENT_NEW=0;_DEBUG;USELUCENE;LUCENE_DISABLE_MULTITHREADING;_WIN32;HAVE_DIRENT
-Item12=_ICU_;_ICUSWORD_;USBINARY;U_HAVE_PLACEMENT_NEW=0;_DEBUG;USELUCENE
-Item13=_ICU_;_ICUSWORD_;USBINARY;U_HAVE_PLACEMENT_NEW=0;_DEBUG
-Item14=_ICU_;_ICUSWORD_;USBINARY;U_HAVE_PLACEMENT_NEW=0
-Item15=_ICU_;_ICUSWORD_;USBINARY;_DEBUG;U_HAVE_PLACEMENT_NEW=0
-Item16=_ICU_;_ICUSWORD_;USBINARY;_DEBUG
-Item17=_ICU_;_ICUSWORD_;USBINARY
-Item18=_ICU_;_ICUSWORD_;USBINARY;CURLAVAILABLE;_DEBUG
-Item19=_ICU_;_ICUSWORD_;USBINARY;CURLAVAILABLE
-Item20=;USBINARY;_DEBUG
-Item21=_ICU_;_ICUSWORD_
-Item22=_ICU_;_ICUSWORD_;_DEBUG
-Item23=_DEBUG
+Count=25
+Item0=UNICODE;_ICU_;_ICUSWORD_;USBINARY;U_HAVE_PLACEMENT_NEW=0;USELUCENE;_WIN32;_CL_DISABLE_MULTITHREADING;CURLAVAILABLE;LUCENE_ENABLE_REFCOUNT;_DEBUG
+Item1=UNICODE;_ICU_;_ICUSWORD_;USBINARY;U_HAVE_PLACEMENT_NEW=0;USELUCENE;_WIN32;_CL_DISABLE_MULTITHREADING;CURLAVAILABLE;LUCENE_ENABLE_REFCOUNT
+Item2=UNICODE;_ICU_;_ICUSWORD_;USBINARY;U_HAVE_PLACEMENT_NEW=0;USELUCENE;_WIN32;_CL_DISABLE_MULTITHREADING;CURLAVAILABLE
+Item3=UNICODE;_ICU_;_ICUSWORD_;USBINARY;U_HAVE_PLACEMENT_NEW=0;USELUCENE;_WIN32;_CL_DISABLE_MULTITHREADING
+Item4=UNICODE;_ICU_;_ICUSWORD_;USBINARY;U_HAVE_PLACEMENT_NEW=0;USELUCENE;_WIN32;_CL_DISABLE_MULTITHREADING;_DEBUG
+Item5=_ICU_;_ICUSWORD_;USBINARY;U_HAVE_PLACEMENT_NEW=0;USELUCENE;_WIN32;_CL_DISABLE_MULTITHREADING
+Item6=_ICU_;_ICUSWORD_;USBINARY;U_HAVE_PLACEMENT_NEW=0;USELUCENE;_WIN32;_CL_DISABLE_MULTITHREADING;UNICODE
+Item7=_UCS2;_ICU_;_ICUSWORD_;USBINARY;U_HAVE_PLACEMENT_NEW=0;USELUCENE;_WIN32;_CL_DISABLE_MULTITHREADING
+Item8=_ASCII;_ICU_;_ICUSWORD_;USBINARY;U_HAVE_PLACEMENT_NEW=0;USELUCENE;_WIN32;_CL_DISABLE_MULTITHREADING
+Item9=__ASCII;_ICU_;_ICUSWORD_;USBINARY;U_HAVE_PLACEMENT_NEW=0;USELUCENE;_WIN32;_CL_DISABLE_MULTITHREADING
+Item10=_ICU_;_ICUSWORD_;USBINARY;U_HAVE_PLACEMENT_NEW=0;USELUCENE;LUCENE_DISABLE_MULTITHREADING;_WIN32;HAVE_DIRENT
+Item11=_ICU_;_ICUSWORD_;USBINARY;U_HAVE_PLACEMENT_NEW=0;USELUCENE;LUCENE_DISABLE_MULTITHREADING;_WIN32;HAVE_DIRENT;_DEBUG
+Item12=_ICU_;_ICUSWORD_;USBINARY;U_HAVE_PLACEMENT_NEW=0;_DEBUG;USELUCENE;LUCENE_DISABLE_MULTITHREADING;_WIN32;HAVE_DIRENT
+Item13=_ICU_;_ICUSWORD_;USBINARY;U_HAVE_PLACEMENT_NEW=0;_DEBUG;USELUCENE
+Item14=_ICU_;_ICUSWORD_;USBINARY;U_HAVE_PLACEMENT_NEW=0;_DEBUG
+Item15=_ICU_;_ICUSWORD_;USBINARY;U_HAVE_PLACEMENT_NEW=0
+Item16=_ICU_;_ICUSWORD_;USBINARY;_DEBUG;U_HAVE_PLACEMENT_NEW=0
+Item17=_ICU_;_ICUSWORD_;USBINARY;_DEBUG
+Item18=_ICU_;_ICUSWORD_;USBINARY
+Item19=_ICU_;_ICUSWORD_;USBINARY;CURLAVAILABLE;_DEBUG
+Item20=_ICU_;_ICUSWORD_;USBINARY;CURLAVAILABLE
+Item21=;USBINARY;_DEBUG
+Item22=_ICU_;_ICUSWORD_
+Item23=_ICU_;_ICUSWORD_;_DEBUG
+Item24=_DEBUG
[HistoryLists\hlFinalOutputDir]
Count=3
@@ -292,10 +294,9 @@ ShowInfoMsgs=0
LinkDebugVcl=0
LinkCGLIB=0
-
[Language]
ActiveLang=
ProjectLang=
RootDir=
</IDEOPTIONS>
-</PROJECT>
+</PROJECT> \ No newline at end of file
diff --git a/lib/bcppmake/libsword6icu.bpf b/lib/bcppmake/libsword6icu.bpf
index 9cda1a9..45ed548 100644
--- a/lib/bcppmake/libsword6icu.bpf
+++ b/lib/bcppmake/libsword6icu.bpf
@@ -62,7 +62,6 @@ USEUNIT("..\..\src\modules\filters\gbfhtmlhref.cpp");
USEUNIT("..\..\src\modules\filters\gbfmorph.cpp");
USEUNIT("..\..\src\modules\filters\latin1utf16.cpp");
USEUNIT("..\..\src\modules\filters\latin1utf8.cpp");
-USEUNIT("..\..\src\modules\filters\scsuutf8.cpp");
USEUNIT("..\..\src\modules\filters\swbasicfilter.cpp");
USEUNIT("..\..\src\modules\filters\thmlfootnotes.cpp");
USEUNIT("..\..\src\modules\filters\thmlheadings.cpp");
@@ -79,6 +78,7 @@ USEUNIT("..\..\src\modules\filters\utf8bidireorder.cpp");
USEUNIT("..\..\src\modules\filters\utf8cantillation.cpp");
USEUNIT("..\..\src\modules\filters\utf8greekaccents.cpp");
USEUNIT("..\..\src\modules\filters\utf8hebrewpoints.cpp");
+USEUNIT("..\..\src\modules\filters\utf8arabicpoints.cpp");
USEUNIT("..\..\src\modules\filters\utf8html.cpp");
USEUNIT("..\..\src\modules\filters\utf8latin1.cpp");
USEUNIT("..\..\src\modules\filters\utf8nfc.cpp");
diff --git a/lib/bcppmake/libsword6icu.bpr b/lib/bcppmake/libsword6icu.bpr
index 2863040..4c87f2a 100644
--- a/lib/bcppmake/libsword6icu.bpr
+++ b/lib/bcppmake/libsword6icu.bpr
@@ -23,7 +23,7 @@
..\..\obj\swgenbook.obj ..\..\obj\rawgenbook.obj ..\..\obj\swfiltermgr.obj
..\..\obj\utf8utf16.obj ..\..\obj\gbfheadings.obj
..\..\obj\gbfhtmlhref.obj ..\..\obj\gbfmorph.obj ..\..\obj\latin1utf16.obj
- ..\..\obj\latin1utf8.obj ..\..\obj\scsuutf8.obj
+ ..\..\obj\latin1utf8.obj
..\..\obj\swbasicfilter.obj ..\..\obj\thmlfootnotes.obj
..\..\obj\thmlheadings.obj ..\..\obj\thmlhtmlhref.obj
..\..\obj\thmllemma.obj ..\..\obj\thmlmorph.obj ..\..\obj\thmlscripref.obj
@@ -32,6 +32,7 @@
..\..\obj\utf8arshaping.obj ..\..\obj\utf8bidireorder.obj
..\..\obj\utf8cantillation.obj ..\..\obj\utf8greekaccents.obj
..\..\obj\utf8hebrewpoints.obj ..\..\obj\utf8html.obj
+ ...\..\obj\utf8arabicpoints.obj
..\..\obj\utf8latin1.obj ..\..\obj\utf8nfc.obj ..\..\obj\utf8nfkd.obj
..\..\obj\utf8transliterator.obj ..\..\obj\zcom.obj ..\..\obj\rawld4.obj
..\..\obj\zipcomprs.obj ..\..\obj\zld.obj ..\..\obj\entriesblk.obj
@@ -161,7 +162,6 @@
<FILE FILENAME="..\..\src\modules\filters\gbfmorph.cpp" FORMNAME="" UNITNAME="gbfmorph" CONTAINERID="CCompiler" DESIGNCLASS="" LOCALCOMMAND=""/>
<FILE FILENAME="..\..\src\modules\filters\latin1utf16.cpp" FORMNAME="" UNITNAME="latin1utf16" CONTAINERID="CCompiler" DESIGNCLASS="" LOCALCOMMAND=""/>
<FILE FILENAME="..\..\src\modules\filters\latin1utf8.cpp" FORMNAME="" UNITNAME="latin1utf8" CONTAINERID="CCompiler" DESIGNCLASS="" LOCALCOMMAND=""/>
- <FILE FILENAME="..\..\src\modules\filters\scsuutf8.cpp" FORMNAME="" UNITNAME="scsuutf8" CONTAINERID="CCompiler" DESIGNCLASS="" LOCALCOMMAND=""/>
<FILE FILENAME="..\..\src\modules\filters\swbasicfilter.cpp" FORMNAME="" UNITNAME="swbasicfilter" CONTAINERID="CCompiler" DESIGNCLASS="" LOCALCOMMAND=""/>
<FILE FILENAME="..\..\src\modules\filters\thmlfootnotes.cpp" FORMNAME="" UNITNAME="thmlfootnotes" CONTAINERID="CCompiler" DESIGNCLASS="" LOCALCOMMAND=""/>
<FILE FILENAME="..\..\src\modules\filters\thmlheadings.cpp" FORMNAME="" UNITNAME="thmlheadings" CONTAINERID="CCompiler" DESIGNCLASS="" LOCALCOMMAND=""/>
@@ -178,6 +178,7 @@
<FILE FILENAME="..\..\src\modules\filters\utf8cantillation.cpp" FORMNAME="" UNITNAME="utf8cantillation" CONTAINERID="CCompiler" DESIGNCLASS="" LOCALCOMMAND=""/>
<FILE FILENAME="..\..\src\modules\filters\utf8greekaccents.cpp" FORMNAME="" UNITNAME="utf8greekaccents" CONTAINERID="CCompiler" DESIGNCLASS="" LOCALCOMMAND=""/>
<FILE FILENAME="..\..\src\modules\filters\utf8hebrewpoints.cpp" FORMNAME="" UNITNAME="utf8hebrewpoints" CONTAINERID="CCompiler" DESIGNCLASS="" LOCALCOMMAND=""/>
+ <FILE FILENAME="..\..\src\modules\filters\utf8arabicpoints.cpp" FORMNAME="" UNITNAME="utf8arabicpoints" CONTAINERID="CCompiler" DESIGNCLASS="" LOCALCOMMAND=""/>
<FILE FILENAME="..\..\src\modules\filters\utf8html.cpp" FORMNAME="" UNITNAME="utf8html" CONTAINERID="CCompiler" DESIGNCLASS="" LOCALCOMMAND=""/>
<FILE FILENAME="..\..\src\modules\filters\utf8latin1.cpp" FORMNAME="" UNITNAME="utf8latin1" CONTAINERID="CCompiler" DESIGNCLASS="" LOCALCOMMAND=""/>
<FILE FILENAME="..\..\src\modules\filters\utf8nfc.cpp" FORMNAME="" UNITNAME="utf8nfc" CONTAINERID="CCompiler" DESIGNCLASS="" LOCALCOMMAND=""/>
@@ -347,4 +348,4 @@ RemoteDebug=0
ShowInfoMsgs=0
LinkDebugVcl=0
</IDEOPTIONS>
-</PROJECT> \ No newline at end of file
+</PROJECT>
diff --git a/lib/vcppmake/vc7.1/libsword.vcproj b/lib/vcppmake/vc7.1/libsword.vcproj
deleted file mode 100644
index 8df55c5..0000000
--- a/lib/vcppmake/vc7.1/libsword.vcproj
+++ /dev/null
@@ -1,5614 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="7.10"
- Name="libsword"
- ProjectGUID="{97449E5E-F880-4D22-933A-0D2FC32034D4}"
- SccProjectName=""
- SccLocalPath="">
- <Platforms>
- <Platform
- Name="Win32"/>
- </Platforms>
- <Configurations>
- <Configuration
- Name="Release|Win32"
- OutputDirectory=".\Release"
- IntermediateDirectory=".\Release"
- ConfigurationType="4"
- UseOfMFC="0"
- ATLMinimizesCRunTimeLibraryUsage="FALSE"
- CharacterSet="2">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- InlineFunctionExpansion="1"
- AdditionalIncludeDirectories="../../../apps/windoze/CBuilder5/InstallMgr/curl,../../../include,../../../src/utilfuns/win32,../../../apps/windoze/CBuilder5/InstallMgr/curl/include"
- PreprocessorDefinitions="NDEBUG;WIN32;_LIB;REGEX_MALLOC"
- StringPooling="TRUE"
- RuntimeLibrary="2"
- EnableFunctionLevelLinking="TRUE"
- UsePrecompiledHeader="2"
- PrecompiledHeaderFile=".\Release/libsword.pch"
- AssemblerListingLocation=".\Release/"
- ObjectFile=".\Release/"
- ProgramDataBaseFileName=".\Release/"
- SuppressStartupBanner="TRUE"
- CompileAs="0"/>
- <Tool
- Name="VCCustomBuildTool"/>
- <Tool
- Name="VCLibrarianTool"
- OutputFile="..\..\libswordvc71.lib"
- SuppressStartupBanner="TRUE"/>
- <Tool
- Name="VCMIDLTool"/>
- <Tool
- Name="VCPostBuildEventTool"/>
- <Tool
- Name="VCPreBuildEventTool"/>
- <Tool
- Name="VCPreLinkEventTool"/>
- <Tool
- Name="VCResourceCompilerTool"
- PreprocessorDefinitions="NDEBUG"
- Culture="1033"/>
- <Tool
- Name="VCWebServiceProxyGeneratorTool"/>
- <Tool
- Name="VCXMLDataGeneratorTool"/>
- <Tool
- Name="VCManagedWrapperGeneratorTool"/>
- <Tool
- Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
- </Configuration>
- <Configuration
- Name="Debug with ICU|Win32"
- OutputDirectory=".\ICUDebug"
- IntermediateDirectory=".\ICUDebug"
- ConfigurationType="4"
- UseOfMFC="0"
- ATLMinimizesCRunTimeLibraryUsage="FALSE"
- CharacterSet="2">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories="../../../../icu-sword/source/common,../../../../icu-sword/source/i18n,../../../include,../../../src/utilfuns/win32"
- PreprocessorDefinitions="_DEBUG;WIN32;_LIB;REGEX_MALLOC;_ICU_;_ICUSWORD_"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- UsePrecompiledHeader="2"
- PrecompiledHeaderFile=".\ICUDebug/libsword.pch"
- AssemblerListingLocation=".\ICUDebug/"
- ObjectFile=".\ICUDebug/"
- ProgramDataBaseFileName=".\ICUDebug/"
- SuppressStartupBanner="TRUE"
- DebugInformationFormat="4"
- CompileAs="0"/>
- <Tool
- Name="VCCustomBuildTool"/>
- <Tool
- Name="VCLibrarianTool"
- OutputFile="..\..\libswordvc71icud.lib"
- SuppressStartupBanner="TRUE"/>
- <Tool
- Name="VCMIDLTool"/>
- <Tool
- Name="VCPostBuildEventTool"/>
- <Tool
- Name="VCPreBuildEventTool"/>
- <Tool
- Name="VCPreLinkEventTool"/>
- <Tool
- Name="VCResourceCompilerTool"
- PreprocessorDefinitions="_DEBUG"
- Culture="1033"/>
- <Tool
- Name="VCWebServiceProxyGeneratorTool"/>
- <Tool
- Name="VCXMLDataGeneratorTool"/>
- <Tool
- Name="VCManagedWrapperGeneratorTool"/>
- <Tool
- Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
- </Configuration>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory=".\Debug"
- IntermediateDirectory=".\Debug"
- ConfigurationType="4"
- UseOfMFC="0"
- ATLMinimizesCRunTimeLibraryUsage="FALSE"
- CharacterSet="2">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories="../../../include,../../../src/utilfuns/win32"
- PreprocessorDefinitions="_DEBUG;WIN32;_LIB;REGEX_MALLOC"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- UsePrecompiledHeader="2"
- PrecompiledHeaderFile=".\Debug/libsword.pch"
- AssemblerListingLocation=".\Debug/"
- ObjectFile=".\Debug/"
- ProgramDataBaseFileName=".\Debug/"
- BrowseInformation="1"
- SuppressStartupBanner="TRUE"
- DebugInformationFormat="4"
- CompileAs="0"/>
- <Tool
- Name="VCCustomBuildTool"/>
- <Tool
- Name="VCLibrarianTool"
- OutputFile="..\..\libswordvc71d.lib"
- SuppressStartupBanner="TRUE"/>
- <Tool
- Name="VCMIDLTool"/>
- <Tool
- Name="VCPostBuildEventTool"/>
- <Tool
- Name="VCPreBuildEventTool"/>
- <Tool
- Name="VCPreLinkEventTool"/>
- <Tool
- Name="VCResourceCompilerTool"
- PreprocessorDefinitions="_DEBUG"
- Culture="1033"/>
- <Tool
- Name="VCWebServiceProxyGeneratorTool"/>
- <Tool
- Name="VCXMLDataGeneratorTool"/>
- <Tool
- Name="VCManagedWrapperGeneratorTool"/>
- <Tool
- Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
- </Configuration>
- <Configuration
- Name="Release with ICU|Win32"
- OutputDirectory=".\ICURelease"
- IntermediateDirectory=".\ICURelease"
- ConfigurationType="4"
- UseOfMFC="0"
- ATLMinimizesCRunTimeLibraryUsage="FALSE"
- CharacterSet="2">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- InlineFunctionExpansion="1"
- AdditionalIncludeDirectories="../../../../icu-sword/include,../../../include,../../../src/utilfuns/win32,../../../apps/windoze/CBuilder5/InstallMgr/curl/include"
- PreprocessorDefinitions="NDEBUG;_ICU_;WIN32;_LIB;REGEX_MALLOC"
- StringPooling="TRUE"
- RuntimeLibrary="2"
- EnableFunctionLevelLinking="TRUE"
- UsePrecompiledHeader="2"
- PrecompiledHeaderFile=".\ICURelease/libsword.pch"
- AssemblerListingLocation=".\ICURelease/"
- ObjectFile=".\ICURelease/"
- ProgramDataBaseFileName=".\ICURelease/"
- SuppressStartupBanner="TRUE"
- CompileAs="0"/>
- <Tool
- Name="VCCustomBuildTool"/>
- <Tool
- Name="VCLibrarianTool"
- OutputFile="..\..\libswordvc71icu.lib"
- SuppressStartupBanner="TRUE"/>
- <Tool
- Name="VCMIDLTool"/>
- <Tool
- Name="VCPostBuildEventTool"/>
- <Tool
- Name="VCPreBuildEventTool"/>
- <Tool
- Name="VCPreLinkEventTool"/>
- <Tool
- Name="VCResourceCompilerTool"
- PreprocessorDefinitions="NDEBUG"
- Culture="1033"/>
- <Tool
- Name="VCWebServiceProxyGeneratorTool"/>
- <Tool
- Name="VCXMLDataGeneratorTool"/>
- <Tool
- Name="VCManagedWrapperGeneratorTool"/>
- <Tool
- Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="Sword Source Files"
- Filter="">
- <File
- RelativePath="..\..\..\src\utilfuns\zlib\adler32.c">
- <FileConfiguration
- Name="Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug with ICU|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Release with ICU|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\..\..\src\modules\filters\cipherfil.cpp">
- <FileConfiguration
- Name="Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug with ICU|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Release with ICU|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\..\..\src\utilfuns\zlib\compress.c">
- <FileConfiguration
- Name="Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug with ICU|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Release with ICU|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\..\..\src\utilfuns\zlib\crc32.c">
- <FileConfiguration
- Name="Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug with ICU|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Release with ICU|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\..\..\src\utilfuns\zlib\deflate.c">
- <FileConfiguration
- Name="Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug with ICU|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Release with ICU|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\..\..\src\utilfuns\win32\dirent.cpp">
- <FileConfiguration
- Name="Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug with ICU|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Release with ICU|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\..\..\src\mgr\encfiltmgr.cpp">
- <FileConfiguration
- Name="Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug with ICU|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Release with ICU|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\..\..\src\modules\common\entriesblk.cpp">
- <FileConfiguration
- Name="Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug with ICU|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Release with ICU|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\..\..\src\mgr\filemgr.cpp">
- <FileConfiguration
- Name="Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug with ICU|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Release with ICU|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\..\..\src\utilfuns\ftpparse.c">
- <FileConfiguration
- Name="Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug with ICU|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Release with ICU|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\..\..\src\modules\filters\gbffootnotes.cpp">
- <FileConfiguration
- Name="Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug with ICU|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Release with ICU|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\..\..\src\modules\filters\gbfheadings.cpp">
- <FileConfiguration
- Name="Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug with ICU|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Release with ICU|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\..\..\src\modules\filters\gbfhtml.cpp">
- <FileConfiguration
- Name="Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug with ICU|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Release with ICU|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\..\..\src\modules\filters\gbfhtmlhref.cpp">
- <FileConfiguration
- Name="Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug with ICU|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Release with ICU|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\..\..\src\modules\filters\gbfmorph.cpp">
- <FileConfiguration
- Name="Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug with ICU|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Release with ICU|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\..\..\src\modules\filters\gbfosis.cpp">
- <FileConfiguration
- Name="Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug with ICU|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Release with ICU|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\..\..\src\modules\filters\gbfplain.cpp">
- <FileConfiguration
- Name="Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug with ICU|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Release with ICU|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\..\..\src\modules\filters\gbfredletterwords.cpp">
- <FileConfiguration
- Name="Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug with ICU|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Release with ICU|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\..\..\src\modules\filters\gbfrtf.cpp">
- <FileConfiguration
- Name="Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug with ICU|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Release with ICU|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\..\..\src\modules\filters\gbfstrongs.cpp">
- <FileConfiguration
- Name="Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug with ICU|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Release with ICU|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\..\..\src\modules\filters\gbfthml.cpp">
- <FileConfiguration
- Name="Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug with ICU|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Release with ICU|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\..\..\src\modules\filters\gbfwebif.cpp">
- <FileConfiguration
- Name="Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug with ICU|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Release with ICU|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\..\..\src\keys\genarray.c">
- <FileConfiguration
- Name="Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug with ICU|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Release with ICU|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\..\..\src\utilfuns\Greek2Greek.cpp">
- <FileConfiguration
- Name="Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug with ICU|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Release with ICU|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\..\..\src\modules\filters\greeklexattribs.cpp">
- <FileConfiguration
- Name="Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug with ICU|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Release with ICU|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\..\..\src\utilfuns\zlib\gzio.c">
- <FileConfiguration
- Name="Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug with ICU|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Release with ICU|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\..\..\src\modules\comments\hrefcom\hrefcom.cpp">
- <FileConfiguration
- Name="Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug with ICU|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Release with ICU|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\..\..\src\utilfuns\zlib\infblock.c">
- <FileConfiguration
- Name="Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug with ICU|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Release with ICU|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\..\..\src\utilfuns\zlib\infcodes.c">
- <FileConfiguration
- Name="Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug with ICU|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Release with ICU|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\..\..\src\utilfuns\zlib\inffast.c">
- <FileConfiguration
- Name="Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug with ICU|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Release with ICU|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\..\..\src\utilfuns\zlib\inflate.c">
- <FileConfiguration
- Name="Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug with ICU|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Release with ICU|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\..\..\src\utilfuns\zlib\inftrees.c">
- <FileConfiguration
- Name="Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug with ICU|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Release with ICU|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\..\..\src\utilfuns\zlib\infutil.c">
- <FileConfiguration
- Name="Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug with ICU|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Release with ICU|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\..\..\src\mgr\installmgr.cpp">
- <FileConfiguration
- Name="Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug with ICU|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Release with ICU|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\..\..\src\modules\filters\latin1utf16.cpp">
- <FileConfiguration
- Name="Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug with ICU|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Release with ICU|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\..\..\src\modules\filters\latin1utf8.cpp">
- <FileConfiguration
- Name="Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug with ICU|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Release with ICU|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\..\..\src\keys\listkey.cpp">
- <FileConfiguration
- Name="Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug with ICU|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Release with ICU|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\..\..\src\mgr\localemgr.cpp">
- <FileConfiguration
- Name="Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug with ICU|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Release with ICU|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\..\..\src\modules\common\lzsscomprs.cpp">
- <FileConfiguration
- Name="Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug with ICU|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Release with ICU|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\..\..\src\mgr\markupfiltmgr.cpp">
- <FileConfiguration
- Name="Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug with ICU|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Release with ICU|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\..\..\src\modules\filters\osisfootnotes.cpp">
- <FileConfiguration
- Name="Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug with ICU|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Release with ICU|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\..\..\src\modules\filters\osisheadings.cpp">
- <FileConfiguration
- Name="Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug with ICU|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Release with ICU|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\..\..\src\modules\filters\osishtmlhref.cpp">
- <FileConfiguration
- Name="Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug with ICU|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Release with ICU|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\..\..\src\modules\filters\osislemma.cpp">
- <FileConfiguration
- Name="Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug with ICU|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Release with ICU|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\..\..\src\modules\filters\osismorph.cpp">
- <FileConfiguration
- Name="Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug with ICU|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Release with ICU|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\..\..\src\modules\filters\osisosis.cpp">
- </File>
- <File
- RelativePath="..\..\..\src\modules\filters\osisplain.cpp">
- <FileConfiguration
- Name="Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug with ICU|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Release with ICU|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\..\..\src\modules\filters\osisredletterwords.cpp">
- <FileConfiguration
- Name="Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug with ICU|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Release with ICU|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\..\..\src\modules\filters\osisrtf.cpp">
- <FileConfiguration
- Name="Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug with ICU|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Release with ICU|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\..\..\src\modules\filters\osisscripref.cpp">
- <FileConfiguration
- Name="Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug with ICU|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Release with ICU|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\..\..\src\modules\filters\osisstrongs.cpp">
- <FileConfiguration
- Name="Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug with ICU|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Release with ICU|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\..\..\src\modules\filters\osiswebif.cpp">
- </File>
- <File
- RelativePath="..\..\..\src\modules\filters\osiswordjs.cpp">
- </File>
- <File
- RelativePath="..\..\..\src\modules\filters\plainfootnotes.cpp">
- <FileConfiguration
- Name="Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug with ICU|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Release with ICU|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\..\..\src\modules\filters\plainhtml.cpp">
- <FileConfiguration
- Name="Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug with ICU|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Release with ICU|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\..\..\src\modules\comments\rawcom\rawcom.cpp">
- <FileConfiguration
- Name="Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug with ICU|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Release with ICU|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\..\..\src\modules\comments\rawfiles\rawfiles.cpp">
- <FileConfiguration
- Name="Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug with ICU|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Release with ICU|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\..\..\src\modules\genbook\rawgenbook\rawgenbook.cpp">
- <FileConfiguration
- Name="Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug with ICU|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Release with ICU|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\..\..\src\modules\lexdict\rawld\rawld.cpp">
- <FileConfiguration
- Name="Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug with ICU|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Release with ICU|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\..\..\src\modules\lexdict\rawld4\rawld4.cpp">
- <FileConfiguration
- Name="Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug with ICU|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Release with ICU|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\..\..\src\modules\common\rawstr.cpp">
- <FileConfiguration
- Name="Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug with ICU|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Release with ICU|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\..\..\src\modules\common\rawstr4.cpp">
- <FileConfiguration
- Name="Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug with ICU|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Release with ICU|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\..\..\src\modules\texts\rawtext\rawtext.cpp">
- <FileConfiguration
- Name="Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug with ICU|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Release with ICU|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\..\..\src\modules\common\rawverse.cpp">
- <FileConfiguration
- Name="Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug with ICU|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Release with ICU|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\..\..\src\utilfuns\regex.c">
- <FileConfiguration
- Name="Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug with ICU|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Release with ICU|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\..\..\src\utilfuns\roman.cpp">
- <FileConfiguration
- Name="Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug with ICU|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Release with ICU|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\..\..\src\modules\filters\rtfhtml.cpp">
- <FileConfiguration
- Name="Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug with ICU|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Release with ICU|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\..\..\src\modules\common\sapphire.cpp">
- <FileConfiguration
- Name="Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug with ICU|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Release with ICU|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\..\..\src\modules\filters\scsuutf8.cpp">
- <FileConfiguration
- Name="Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug with ICU|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Release with ICU|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\..\..\src\mgr\stringmgr.cpp">
- </File>
- <File
- RelativePath="..\..\..\src\keys\strkey.cpp">
- <FileConfiguration
- Name="Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug with ICU|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Release with ICU|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\..\..\src\modules\filters\swbasicfilter.cpp">
- <FileConfiguration
- Name="Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug with ICU|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Release with ICU|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\..\..\src\utilfuns\swbuf.cpp">
- <FileConfiguration
- Name="Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug with ICU|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Release with ICU|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\..\..\src\mgr\swcacher.cpp">
- <FileConfiguration
- Name="Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug with ICU|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Release with ICU|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\..\..\src\modules\common\swcipher.cpp">
- <FileConfiguration
- Name="Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug with ICU|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Release with ICU|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\..\..\src\modules\comments\swcom.cpp">
- <FileConfiguration
- Name="Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug with ICU|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Release with ICU|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\..\..\src\modules\common\swcomprs.cpp">
- <FileConfiguration
- Name="Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug with ICU|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Release with ICU|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\..\..\src\mgr\swconfig.cpp">
- <FileConfiguration
- Name="Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug with ICU|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Release with ICU|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\..\..\src\frontend\swdisp.cpp">
- <FileConfiguration
- Name="Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug with ICU|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Release with ICU|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\..\..\src\mgr\swfiltermgr.cpp">
- <FileConfiguration
- Name="Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug with ICU|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Release with ICU|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\..\..\src\modules\genbook\swgenbook.cpp">
- <FileConfiguration
- Name="Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug with ICU|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Release with ICU|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\..\..\src\keys\swkey.cpp">
- <FileConfiguration
- Name="Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug with ICU|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Release with ICU|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\..\..\src\modules\lexdict\swld.cpp">
- <FileConfiguration
- Name="Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug with ICU|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Release with ICU|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\..\..\src\mgr\swlocale.cpp">
- <FileConfiguration
- Name="Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug with ICU|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Release with ICU|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\..\..\src\frontend\swlog.cpp">
- <FileConfiguration
- Name="Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug with ICU|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Release with ICU|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\..\..\src\mgr\swmgr.cpp">
- <FileConfiguration
- Name="Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug with ICU|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Release with ICU|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\..\..\src\modules\swmodule.cpp">
- <FileConfiguration
- Name="Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug with ICU|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Release with ICU|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\..\..\src\utilfuns\swobject.cpp">
- </File>
- <File
- RelativePath="..\..\..\src\modules\filters\swoptfilter.cpp">
- <FileConfiguration
- Name="Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug with ICU|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Release with ICU|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\..\..\src\mgr\swsearchable.cpp">
- </File>
- <File
- RelativePath="..\..\..\src\modules\texts\swtext.cpp">
- <FileConfiguration
- Name="Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug with ICU|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Release with ICU|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\..\..\src\utilfuns\swunicod.cpp">
- <FileConfiguration
- Name="Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug with ICU|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Release with ICU|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\..\..\src\utilfuns\swversion.cpp">
- <FileConfiguration
- Name="Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug with ICU|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Release with ICU|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\..\..\src\modules\filters\thmlfootnotes.cpp">
- <FileConfiguration
- Name="Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug with ICU|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Release with ICU|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\..\..\src\modules\filters\thmlgbf.cpp">
- <FileConfiguration
- Name="Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug with ICU|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Release with ICU|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\..\..\src\modules\filters\thmlheadings.cpp">
- <FileConfiguration
- Name="Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug with ICU|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Release with ICU|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\..\..\src\modules\filters\thmlhtml.cpp">
- <FileConfiguration
- Name="Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug with ICU|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Release with ICU|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\..\..\src\modules\filters\thmlhtmlhref.cpp">
- <FileConfiguration
- Name="Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug with ICU|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Release with ICU|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\..\..\src\modules\filters\thmllemma.cpp">
- <FileConfiguration
- Name="Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug with ICU|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Release with ICU|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\..\..\src\modules\filters\thmlmorph.cpp">
- <FileConfiguration
- Name="Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug with ICU|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Release with ICU|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\..\..\src\modules\filters\thmlosis.cpp">
- <FileConfiguration
- Name="Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug with ICU|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Release with ICU|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\..\..\src\modules\filters\thmlplain.cpp">
- <FileConfiguration
- Name="Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug with ICU|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Release with ICU|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\..\..\src\modules\filters\thmlrtf.cpp">
- <FileConfiguration
- Name="Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug with ICU|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Release with ICU|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\..\..\src\modules\filters\thmlscripref.cpp">
- <FileConfiguration
- Name="Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug with ICU|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Release with ICU|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\..\..\src\modules\filters\thmlstrongs.cpp">
- <FileConfiguration
- Name="Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug with ICU|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Release with ICU|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\..\..\src\modules\filters\thmlvariants.cpp">
- <FileConfiguration
- Name="Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug with ICU|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Release with ICU|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\..\..\src\modules\filters\thmlwebif.cpp">
- <FileConfiguration
- Name="Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug with ICU|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Release with ICU|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\..\..\src\modules\filters\thmlwordjs.cpp">
- </File>
- <File
- RelativePath="..\..\..\src\keys\treekey.cpp">
- <FileConfiguration
- Name="Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug with ICU|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Release with ICU|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\..\..\src\keys\treekeyidx.cpp">
- <FileConfiguration
- Name="Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug with ICU|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Release with ICU|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\..\..\src\utilfuns\zlib\trees.c">
- <FileConfiguration
- Name="Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug with ICU|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Release with ICU|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\..\..\src\utilfuns\zlib\uncompr.c">
- <FileConfiguration
- Name="Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug with ICU|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Release with ICU|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\..\..\src\modules\filters\unicodertf.cpp">
- <FileConfiguration
- Name="Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug with ICU|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Release with ICU|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\..\..\src\utilfuns\zlib\untgz.c">
- <FileConfiguration
- Name="Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug with ICU|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Release with ICU|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\..\..\src\modules\filters\utf16utf8.cpp">
- <FileConfiguration
- Name="Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug with ICU|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Release with ICU|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\..\..\src\modules\filters\utf8arshaping.cpp">
- <FileConfiguration
- Name="Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug with ICU|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Release with ICU|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\..\..\src\modules\filters\utf8bidireorder.cpp">
- <FileConfiguration
- Name="Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug with ICU|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Release with ICU|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\..\..\src\modules\filters\utf8cantillation.cpp">
- <FileConfiguration
- Name="Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug with ICU|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Release with ICU|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\..\..\src\modules\filters\utf8greekaccents.cpp">
- <FileConfiguration
- Name="Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug with ICU|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Release with ICU|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\..\..\src\modules\filters\utf8hebrewpoints.cpp">
- <FileConfiguration
- Name="Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug with ICU|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Release with ICU|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\..\..\src\modules\filters\utf8html.cpp">
- <FileConfiguration
- Name="Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug with ICU|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Release with ICU|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\..\..\src\modules\filters\utf8latin1.cpp">
- <FileConfiguration
- Name="Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug with ICU|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Release with ICU|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\..\..\src\modules\filters\utf8nfc.cpp">
- <FileConfiguration
- Name="Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug with ICU|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Release with ICU|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\..\..\src\modules\filters\utf8nfkd.cpp">
- <FileConfiguration
- Name="Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug with ICU|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Release with ICU|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\..\..\src\modules\filters\utf8transliterator.cpp">
- <FileConfiguration
- Name="Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug with ICU|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Release with ICU|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\..\..\src\modules\filters\utf8utf16.cpp">
- <FileConfiguration
- Name="Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug with ICU|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Release with ICU|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\..\..\src\utilfuns\utilstr.cpp">
- <FileConfiguration
- Name="Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug with ICU|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Release with ICU|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\..\..\src\utilfuns\utilxml.cpp">
- <FileConfiguration
- Name="Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug with ICU|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Release with ICU|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\..\..\src\keys\versekey.cpp">
- <FileConfiguration
- Name="Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug with ICU|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Release with ICU|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\..\..\src\modules\comments\zcom\zcom.cpp">
- <FileConfiguration
- Name="Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug with ICU|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Release with ICU|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\..\..\src\modules\common\zipcomprs.cpp">
- <FileConfiguration
- Name="Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug with ICU|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Release with ICU|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\..\..\src\modules\lexdict\zld\zld.cpp">
- <FileConfiguration
- Name="Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug with ICU|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Release with ICU|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\..\..\src\modules\common\zstr.cpp">
- <FileConfiguration
- Name="Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug with ICU|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Release with ICU|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\..\..\src\modules\texts\ztext\ztext.cpp">
- <FileConfiguration
- Name="Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug with ICU|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Release with ICU|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\..\..\src\utilfuns\zlib\zutil.c">
- <FileConfiguration
- Name="Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug with ICU|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Release with ICU|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\..\..\src\modules\common\zverse.cpp">
- <FileConfiguration
- Name="Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug with ICU|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Release with ICU|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- </File>
- </Filter>
- <Filter
- Name="Sword Header Files"
- Filter="">
- <File
- RelativePath="..\..\..\include\apocrypha.h">
- </File>
- <File
- RelativePath="..\..\..\include\canon.h">
- </File>
- <File
- RelativePath="..\..\..\include\cdsourcemgr.h">
- </File>
- <File
- RelativePath="..\..\..\include\cipherfil.h">
- </File>
- <File
- RelativePath="..\..\..\include\config.h">
- </File>
- <File
- RelativePath="..\..\..\include\curlftpt.h">
- </File>
- <File
- RelativePath="..\..\..\include\defs.h">
- </File>
- <File
- RelativePath="..\..\..\include\echomod.h">
- </File>
- <File
- RelativePath="..\..\..\include\encfiltmgr.h">
- </File>
- <File
- RelativePath="..\..\..\include\entriesblk.h">
- </File>
- <File
- RelativePath="..\..\..\include\femain.h">
- </File>
- <File
- RelativePath="..\..\..\include\filemgr.h">
- </File>
- <File
- RelativePath="..\..\..\include\flatapi.h">
- </File>
- <File
- RelativePath="..\..\..\include\ftplib.h">
- </File>
- <File
- RelativePath="..\..\..\include\ftplibftpt.h">
- </File>
- <File
- RelativePath="..\..\..\include\ftpparse.h">
- </File>
- <File
- RelativePath="..\..\..\include\ftptrans.h">
- </File>
- <File
- RelativePath="..\..\..\include\gbffootnotes.h">
- </File>
- <File
- RelativePath="..\..\..\include\gbfheadings.h">
- </File>
- <File
- RelativePath="..\..\..\include\gbfhtml.h">
- </File>
- <File
- RelativePath="..\..\..\include\gbfhtmlhref.h">
- </File>
- <File
- RelativePath="..\..\..\include\gbfmorph.h">
- </File>
- <File
- RelativePath="..\..\..\include\gbfosis.h">
- </File>
- <File
- RelativePath="..\..\..\include\gbfplain.h">
- </File>
- <File
- RelativePath="..\..\..\include\gbfredletterwords.h">
- </File>
- <File
- RelativePath="..\..\..\include\gbfrtf.h">
- </File>
- <File
- RelativePath="..\..\..\include\gbfstrongs.h">
- </File>
- <File
- RelativePath="..\..\..\include\gbfthml.h">
- </File>
- <File
- RelativePath="..\..\..\include\gbfwebif.h">
- </File>
- <File
- RelativePath="..\..\..\include\Greek2Greek.h">
- </File>
- <File
- RelativePath="..\..\..\include\GreekChars.h">
- </File>
- <File
- RelativePath="..\..\..\include\greeklexattribs.h">
- </File>
- <File
- RelativePath="..\..\..\include\hebrewmcim.h">
- </File>
- <File
- RelativePath="..\..\..\include\hrefcom.h">
- </File>
- <File
- RelativePath="..\..\..\include\installmgr.h">
- </File>
- <File
- RelativePath="..\..\..\include\latin1utf16.h">
- </File>
- <File
- RelativePath="..\..\..\include\latin1utf8.h">
- </File>
- <File
- RelativePath="..\..\..\include\listkey.h">
- </File>
- <File
- RelativePath="..\..\..\include\localemgr.h">
- </File>
- <File
- RelativePath="..\..\..\include\lzsscomprs.h">
- </File>
- <File
- RelativePath="..\..\..\include\markupfiltmgr.h">
- </File>
- <File
- RelativePath="..\..\..\include\multimapwdef.h">
- </File>
- <File
- RelativePath="..\..\..\include\nullim.h">
- </File>
- <File
- RelativePath="..\..\..\include\osisbook.h">
- </File>
- <File
- RelativePath="..\..\..\include\osisfootnotes.h">
- </File>
- <File
- RelativePath="..\..\..\include\osisheadings.h">
- </File>
- <File
- RelativePath="..\..\..\include\osishtmlhref.h">
- </File>
- <File
- RelativePath="..\..\..\include\osislemma.h">
- </File>
- <File
- RelativePath="..\..\..\include\osismorph.h">
- </File>
- <File
- RelativePath="..\..\..\include\osisosis.h">
- </File>
- <File
- RelativePath="..\..\..\include\osisplain.h">
- </File>
- <File
- RelativePath="..\..\..\include\osisredletterwords.h">
- </File>
- <File
- RelativePath="..\..\..\include\osisrtf.h">
- </File>
- <File
- RelativePath="..\..\..\include\osisscripref.h">
- </File>
- <File
- RelativePath="..\..\..\include\osisstrongs.h">
- </File>
- <File
- RelativePath="..\..\..\include\osiswebif.h">
- </File>
- <File
- RelativePath="..\..\..\include\osiswordjs.h">
- </File>
- <File
- RelativePath="..\..\..\include\plainfootnotes.h">
- </File>
- <File
- RelativePath="..\..\..\include\plainhtml.h">
- </File>
- <File
- RelativePath="..\..\..\include\rawcom.h">
- </File>
- <File
- RelativePath="..\..\..\include\rawfiles.h">
- </File>
- <File
- RelativePath="..\..\..\include\rawgenbook.h">
- </File>
- <File
- RelativePath="..\..\..\include\rawld.h">
- </File>
- <File
- RelativePath="..\..\..\include\rawld4.h">
- </File>
- <File
- RelativePath="..\..\..\include\rawstr.h">
- </File>
- <File
- RelativePath="..\..\..\include\rawstr4.h">
- </File>
- <File
- RelativePath="..\..\..\include\rawtext.h">
- </File>
- <File
- RelativePath="..\..\..\include\rawverse.h">
- </File>
- <File
- RelativePath="..\..\..\include\regex.h">
- </File>
- <File
- RelativePath="..\..\..\include\remotesourcemgr.h">
- </File>
- <File
- RelativePath="..\..\..\include\roman.h">
- </File>
- <File
- RelativePath="..\..\..\include\rtfhtml.h">
- </File>
- <File
- RelativePath="..\..\..\include\sapphire.h">
- </File>
- <File
- RelativePath="..\..\..\include\scsuutf8.h">
- </File>
- <File
- RelativePath="..\..\..\include\stringmgr.h">
- </File>
- <File
- RelativePath="..\..\..\include\strkey.h">
- </File>
- <File
- RelativePath="..\..\..\include\swbasicfilter.h">
- </File>
- <File
- RelativePath="..\..\..\include\swbuf.h">
- </File>
- <File
- RelativePath="..\..\..\include\swcacher.h">
- </File>
- <File
- RelativePath="..\..\..\include\swcipher.h">
- </File>
- <File
- RelativePath="..\..\..\include\swcom.h">
- </File>
- <File
- RelativePath="..\..\..\include\swcomprs.h">
- </File>
- <File
- RelativePath="..\..\..\include\swconfig.h">
- </File>
- <File
- RelativePath="..\..\..\include\swdisp.h">
- </File>
- <File
- RelativePath="..\..\..\include\swdisprtf.h">
- </File>
- <File
- RelativePath="..\..\..\include\swdisprtfchap.h">
- </File>
- <File
- RelativePath="..\..\..\include\swfilter.h">
- </File>
- <File
- RelativePath="..\..\..\include\swfiltermgr.h">
- </File>
- <File
- RelativePath="..\..\..\include\swgenbook.h">
- </File>
- <File
- RelativePath="..\..\..\include\swinputmeth.h">
- </File>
- <File
- RelativePath="..\..\..\include\swinstallmgr.h">
- </File>
- <File
- RelativePath="..\..\..\include\swkey.h">
- </File>
- <File
- RelativePath="..\..\..\include\swld.h">
- </File>
- <File
- RelativePath="..\..\..\include\swlocale.h">
- </File>
- <File
- RelativePath="..\..\..\include\swlog.h">
- </File>
- <File
- RelativePath="..\..\..\include\swmacs.h">
- </File>
- <File
- RelativePath="..\..\..\include\swmgr.h">
- </File>
- <File
- RelativePath="..\..\..\include\swmodule.h">
- </File>
- <File
- RelativePath="..\..\..\include\swobject.h">
- </File>
- <File
- RelativePath="..\..\..\include\swoptfilter.h">
- </File>
- <File
- RelativePath="..\..\..\include\swremotemgr.h">
- </File>
- <File
- RelativePath="..\..\..\include\swsearchable.h">
- </File>
- <File
- RelativePath="..\..\..\include\swtext.h">
- </File>
- <File
- RelativePath="..\..\..\include\swunicod.h">
- </File>
- <File
- RelativePath="..\..\..\include\swversion.h">
- </File>
- <File
- RelativePath="..\..\..\include\swwinlog.h">
- </File>
- <File
- RelativePath="..\..\..\include\sysdata.h">
- </File>
- <File
- RelativePath="..\..\..\include\tbdisp.h">
- </File>
- <File
- RelativePath="..\..\..\include\thmlfootnotes.h">
- </File>
- <File
- RelativePath="..\..\..\include\thmlgbf.h">
- </File>
- <File
- RelativePath="..\..\..\include\thmlheadings.h">
- </File>
- <File
- RelativePath="..\..\..\include\thmlhtml.h">
- </File>
- <File
- RelativePath="..\..\..\include\thmlhtmlhref.h">
- </File>
- <File
- RelativePath="..\..\..\include\thmllemma.h">
- </File>
- <File
- RelativePath="..\..\..\include\thmlmorph.h">
- </File>
- <File
- RelativePath="..\..\..\include\thmlosis.h">
- </File>
- <File
- RelativePath="..\..\..\include\thmlplain.h">
- </File>
- <File
- RelativePath="..\..\..\include\thmlrtf.h">
- </File>
- <File
- RelativePath="..\..\..\include\thmlscripref.h">
- </File>
- <File
- RelativePath="..\..\..\include\thmlstrongs.h">
- </File>
- <File
- RelativePath="..\..\..\include\thmlvariants.h">
- </File>
- <File
- RelativePath="..\..\..\include\thmlwebif.h">
- </File>
- <File
- RelativePath="..\..\..\include\thmlwordjs.h">
- </File>
- <File
- RelativePath="..\..\..\include\treekey.h">
- </File>
- <File
- RelativePath="..\..\..\include\treekeyidx.h">
- </File>
- <File
- RelativePath="..\..\..\include\unicodertf.h">
- </File>
- <File
- RelativePath="..\..\..\include\unixstr.h">
- </File>
- <File
- RelativePath="..\..\..\include\untgz.h">
- </File>
- <File
- RelativePath="..\..\..\include\url.h">
- </File>
- <File
- RelativePath="..\..\..\include\utf16utf8.h">
- </File>
- <File
- RelativePath="..\..\..\include\utf8arshaping.h">
- </File>
- <File
- RelativePath="..\..\..\include\utf8bidireorder.h">
- </File>
- <File
- RelativePath="..\..\..\include\utf8cantillation.h">
- </File>
- <File
- RelativePath="..\..\..\include\utf8greekaccents.h">
- </File>
- <File
- RelativePath="..\..\..\include\utf8hebrewpoints.h">
- </File>
- <File
- RelativePath="..\..\..\include\utf8html.h">
- </File>
- <File
- RelativePath="..\..\..\include\utf8latin1.h">
- </File>
- <File
- RelativePath="..\..\..\include\utf8nfc.h">
- </File>
- <File
- RelativePath="..\..\..\include\utf8nfkd.h">
- </File>
- <File
- RelativePath="..\..\..\include\utf8transliterator.h">
- </File>
- <File
- RelativePath="..\..\..\include\utf8utf16.h">
- </File>
- <File
- RelativePath="..\..\..\include\utilfuns.h">
- </File>
- <File
- RelativePath="..\..\..\include\utilstr.h">
- </File>
- <File
- RelativePath="..\..\..\include\utilxml.h">
- </File>
- <File
- RelativePath="..\..\..\include\versekey.h">
- </File>
- <File
- RelativePath="..\..\..\include\zcom.h">
- </File>
- <File
- RelativePath="..\..\..\include\zconf.h">
- </File>
- <File
- RelativePath="..\..\..\include\zipcomprs.h">
- </File>
- <File
- RelativePath="..\..\..\include\zld.h">
- </File>
- <File
- RelativePath="..\..\..\include\zlib.h">
- </File>
- <File
- RelativePath="..\..\..\include\zstr.h">
- </File>
- <File
- RelativePath="..\..\..\include\ztext.h">
- </File>
- <File
- RelativePath="..\..\..\include\zverse.h">
- </File>
- </Filter>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
diff --git a/lib/vcppmake/vc8/libsword.vcproj b/lib/vcppmake/vc8/libsword.vcproj
index a43c749..96d850c 100644
--- a/lib/vcppmake/vc8/libsword.vcproj
+++ b/lib/vcppmake/vc8/libsword.vcproj
@@ -1,10 +1,11 @@
<?xml version="1.0" encoding="Windows-1252"?>
<VisualStudioProject
ProjectType="Visual C++"
- Version="8.00"
+ Version="9.00"
Name="libsword"
ProjectGUID="{97449E5E-F880-4D22-933A-0D2FC32034D4}"
RootNamespace="libsword"
+ TargetFrameworkVersion="131072"
>
<Platforms>
<Platform
@@ -43,8 +44,8 @@
Name="VCCLCompilerTool"
Optimization="2"
InlineFunctionExpansion="1"
- AdditionalIncludeDirectories="../../../apps/windoze/CBuilder5/InstallMgr/curl,../../../include,../../../src/utilfuns/win32,../../../apps/windoze/CBuilder5/InstallMgr/curl/include"
- PreprocessorDefinitions="NDEBUG;WIN32;_LIB;REGEX_MALLOC;SWMAKINGDLL"
+ AdditionalIncludeDirectories="../../../include;../../../src/utilfuns/win32;../../../../curl/include"
+ PreprocessorDefinitions="NDEBUG;WIN32;_LIB;REGEX_MALLOC;SWMAKINGDLL;CURLAVAILABLE;CURL_STATICLIB"
StringPooling="true"
RuntimeLibrary="2"
EnableFunctionLevelLinking="true"
@@ -70,6 +71,10 @@
/>
<Tool
Name="VCLinkerTool"
+ AdditionalDependencies="libcurl.lib ws2_32.lib winmm.lib wldap32.lib"
+ AdditionalLibraryDirectories="../../../../curl/lib/Release"
+ RandomizedBaseAddress="1"
+ DataExecutionPrevention="0"
/>
<Tool
Name="VCALinkTool"
@@ -90,9 +95,6 @@
Name="VCAppVerifierTool"
/>
<Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
Name="VCPostBuildEventTool"
/>
</Configuration>
@@ -125,8 +127,8 @@
Name="VCCLCompilerTool"
AdditionalOptions="/D _CRT_SECURE_NO_DEPRECATE"
Optimization="0"
- AdditionalIncludeDirectories="../../../../icu-sword/source/common,../../../../icu-sword/source/i18n,../../../include,../../../src/utilfuns/win32"
- PreprocessorDefinitions="_DEBUG;WIN32;_LIB;REGEX_MALLOC;_CRT_SECURE_NO_DEPRECATE"
+ AdditionalIncludeDirectories="&quot;../../../../icu-sword/include&quot;;../../../include;../../../src/utilfuns/win32;../../../../curl/include"
+ PreprocessorDefinitions="_DEBUG;_ICU_;_ICUSWORD_;WIN32;_LIB;REGEX_MALLOC;SWMAKINGDLL;CURLAVAILABLE;CURL_STATICLIB"
BasicRuntimeChecks="3"
RuntimeLibrary="3"
UsePrecompiledHeader="0"
@@ -152,6 +154,10 @@
/>
<Tool
Name="VCLinkerTool"
+ AdditionalDependencies="libcurl.lib ws2_32.lib winmm.lib wldap32.lib icuuc.lib icuin.lib icudt.lib"
+ AdditionalLibraryDirectories="../../../../curl/lib/Release;../../../../icu-sword/lib"
+ RandomizedBaseAddress="1"
+ DataExecutionPrevention="0"
/>
<Tool
Name="VCALinkTool"
@@ -172,9 +178,6 @@
Name="VCAppVerifierTool"
/>
<Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
Name="VCPostBuildEventTool"
/>
</Configuration>
@@ -206,8 +209,8 @@
<Tool
Name="VCCLCompilerTool"
Optimization="0"
- AdditionalIncludeDirectories="../../../include,../../../src/utilfuns/win32"
- PreprocessorDefinitions="_DEBUG;WIN32;_LIB;REGEX_MALLOC;SWMAKINGDLL"
+ AdditionalIncludeDirectories="../../../include;../../../src/utilfuns/win32;../../../../curl/include"
+ PreprocessorDefinitions="_DEBUG;WIN32;_LIB;REGEX_MALLOC;SWMAKINGDLL;CURLAVAILABLE;CURL_STATICLIB"
BasicRuntimeChecks="3"
RuntimeLibrary="3"
UsePrecompiledHeader="0"
@@ -233,6 +236,10 @@
/>
<Tool
Name="VCLinkerTool"
+ AdditionalDependencies="libcurl.lib ws2_32.lib winmm.lib wldap32.lib"
+ AdditionalLibraryDirectories="../../../../curl/lib/Debug"
+ RandomizedBaseAddress="1"
+ DataExecutionPrevention="0"
/>
<Tool
Name="VCALinkTool"
@@ -253,9 +260,6 @@
Name="VCAppVerifierTool"
/>
<Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
Name="VCPostBuildEventTool"
/>
</Configuration>
@@ -288,8 +292,8 @@
Name="VCCLCompilerTool"
Optimization="2"
InlineFunctionExpansion="1"
- AdditionalIncludeDirectories="../../../../icu-sword/include,../../../include,../../../src/utilfuns/win32,../../../apps/windoze/CBuilder5/InstallMgr/curl/include"
- PreprocessorDefinitions="NDEBUG;_ICU_;WIN32;_LIB;REGEX_MALLOC"
+ AdditionalIncludeDirectories="&quot;../../../../icu-sword/include&quot;;../../../include;../../../src/utilfuns/win32;../../../../curl/include"
+ PreprocessorDefinitions="NDEBUG;_ICU_;_ICUSWORD_;WIN32;_LIB;REGEX_MALLOC;SWMAKINGDLL;CURLAVAILABLE;CURL_STATICLIB"
StringPooling="true"
RuntimeLibrary="2"
EnableFunctionLevelLinking="true"
@@ -314,6 +318,10 @@
/>
<Tool
Name="VCLinkerTool"
+ AdditionalDependencies="libcurl.lib ws2_32.lib winmm.lib wldap32.lib icuuc.lib icuin.lib icudt.lib"
+ AdditionalLibraryDirectories="../../../../curl/lib/Release;../../../../icu-sword/lib"
+ RandomizedBaseAddress="1"
+ DataExecutionPrevention="0"
/>
<Tool
Name="VCALinkTool"
@@ -334,9 +342,6 @@
Name="VCAppVerifierTool"
/>
<Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
Name="VCPostBuildEventTool"
/>
</Configuration>
@@ -536,6 +541,14 @@
</FileConfiguration>
</File>
<File
+ RelativePath="..\..\..\src\mgr\curlftpt.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\src\mgr\curlhttpt.cpp"
+ >
+ </File>
+ <File
RelativePath="..\..\..\src\utilfuns\zlib\deflate.c"
>
<FileConfiguration
@@ -1774,6 +1787,10 @@
</FileConfiguration>
</File>
<File
+ RelativePath="..\..\..\src\mgr\installmgr.cpp"
+ >
+ </File>
+ <File
RelativePath="..\..\..\src\modules\filters\latin1utf16.cpp"
>
<FileConfiguration
@@ -2440,6 +2457,10 @@
</FileConfiguration>
</File>
<File
+ RelativePath="..\..\..\src\modules\filters\osisruby.cpp"
+ >
+ </File>
+ <File
RelativePath="..\..\..\src\modules\filters\osisscripref.cpp"
>
<FileConfiguration
@@ -3267,53 +3288,6 @@
</FileConfiguration>
</File>
<File
- RelativePath="..\..\..\src\modules\filters\scsuutf8.cpp"
- >
- <FileConfiguration
- Name="Release|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug with ICU|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release with ICU|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- />
- </FileConfiguration>
- </File>
- <File
RelativePath="..\..\..\src\mgr\stringmgr.cpp"
>
</File>
@@ -3365,10 +3339,6 @@
</FileConfiguration>
</File>
<File
- RelativePath="..\..\..\src\utilfuns\sub.c"
- >
- </File>
- <File
RelativePath="..\..\..\src\modules\filters\swbasicfilter.cpp"
>
<FileConfiguration
@@ -4317,6 +4287,10 @@
</FileConfiguration>
</File>
<File
+ RelativePath="..\..\..\src\modules\filters\teihtmlhref.cpp"
+ >
+ </File>
+ <File
RelativePath="..\..\..\src\modules\filters\teiplain.cpp"
>
</File>
@@ -5277,6 +5251,53 @@
</FileConfiguration>
</File>
<File
+ RelativePath="..\..\..\src\modules\filters\utf8arabicpoints.cpp"
+ >
+ <FileConfiguration
+ Name="Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug with ICU|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ BasicRuntimeChecks="3"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ BasicRuntimeChecks="3"
+ BrowseInformation="1"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release with ICU|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ </File>
+ <File
RelativePath="..\..\..\src\modules\filters\utf8arshaping.cpp"
>
<FileConfiguration
@@ -5935,6 +5956,10 @@
</FileConfiguration>
</File>
<File
+ RelativePath="..\..\..\src\mgr\versemgr.cpp"
+ >
+ </File>
+ <File
RelativePath="..\..\..\src\keys\versetreekey.cpp"
>
</File>
@@ -6272,11 +6297,35 @@
Name="Sword Header Files"
>
<File
- RelativePath="..\..\..\include\apocrypha.h"
+ RelativePath="..\..\..\include\canon.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\include\canon_abbrevs.h"
>
</File>
<File
- RelativePath="..\..\..\include\canon.h"
+ RelativePath="..\..\..\include\canon_kjva.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\include\canon_leningrad.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\include\canon_mt.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\include\canon_nrsv.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\include\canon_nrsva.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\include\canon_null.h"
>
</File>
<File
@@ -6324,14 +6373,6 @@
>
</File>
<File
- RelativePath="..\..\..\include\ftplib.h"
- >
- </File>
- <File
- RelativePath="..\..\..\include\ftplibftpt.h"
- >
- </File>
- <File
RelativePath="..\..\..\include\ftpparse.h"
>
</File>
@@ -6596,10 +6637,6 @@
>
</File>
<File
- RelativePath="..\..\..\include\scsuutf8.h"
- >
- </File>
- <File
RelativePath="..\..\..\include\stringmgr.h"
>
</File>
@@ -6736,6 +6773,10 @@
>
</File>
<File
+ RelativePath="..\..\..\include\teihtmlhref.h"
+ >
+ </File>
+ <File
RelativePath="..\..\..\include\teiplain.h"
>
</File>
@@ -6832,6 +6873,10 @@
>
</File>
<File
+ RelativePath="..\..\..\include\utf8arabicpoints.h"
+ >
+ </File>
+ <File
RelativePath="..\..\..\include\utf8arshaping.h"
>
</File>
diff --git a/locales.d/abbr.conf b/locales.d/abbr.conf
index 4207426..c8d6522 100644
--- a/locales.d/abbr.conf
+++ b/locales.d/abbr.conf
@@ -1,7 +1,7 @@
[Meta]
Name=abbr
Description=English abbreviations
-Encoding=ASCII
+Encoding=ISO8859-1
[Text]
Genesis=Gen
@@ -72,187 +72,4 @@ Jude=Jude
Revelation of John=Rev
[Book Abbrevs]
-1 C=46
-1 CHRONICLES=13
-1 CORINTHIANS=46
-1 JN=62
-1 JOHN=62
-1 KGS=11
-1 KINGS=11
-1 PETER=60
-1 PTR=60
-1 SAMUEL=9
-1 THESSALONIANS=52
-1 TIMOTHY=54
-1C=46
-1CHRONICLES=13
-1CORINTHIANS=46
-1JN=62
-1JOHN=62
-1KGS=11
-1KINGS=11
-1PETER=60
-1PTR=60
-1SAMUEL=9
-1THESSALONIANS=52
-1TIMOTHY=54
-2 C=47
-2 CHRONICLES=14
-2 CORINTHIANS=47
-2 JN=63
-2 JOHN=63
-2 KGS=12
-2 KINGS=12
-2 PETER=61
-2 PTR=61
-2 SAMUEL=10
-2 THESSALONIANS=53
-2 TIMOTHY=55
-2C=47
-2CHRONICLES=14
-2CORINTHIANS=47
-2JN=63
-2JOHN=63
-2KGS=12
-2KINGS=12
-2PETER=61
-2PTR=61
-2SAMUEL=10
-2THESSALONIANS=53
-2TIMOTHY=55
-3 JN=64
-3 JOHN=64
-3JN=64
-3JOHN=64
-ACTS=44
-AMOS=30
-APOCALYPSE OF ST. JOHN=66
-C=51
-CANTICLE OF CANTICLES=22
-COC=22
-COLOSSIANS=51
-D=5
-DANIEL=27
-DEUTERONOMY=5
-E=49
-ECCLESIASTES=21
-EPHESIANS=49
-ESTER=17
-ESTHER=17
-EXODUS=2
-EZEKIEL=26
-EZRA=15
-G=1
-GALATIANS=48
-GENESIS=1
-H=58
-HABAKKUK=35
-HAGGAI=37
-HEBREWS=58
-HOSEA=28
-I C=46
-I CHRONICLES=13
-I CORINTHIANS=46
-I JN=62
-I JOHN=62
-I KGS=11
-I KINGS=11
-I PETER=60
-I PTR=60
-I SAMUEL=9
-I THESSALONIANS=52
-I TIMOTHY=54
-IC=46
-ICHRONICLES=13
-ICORINTHIANS=46
-II C=47
-II CHRONICLES=14
-II CORINTHIANS=47
-II JN=63
-II JOHN=63
-II KGS=12
-II KINGS=12
-II PETER=61
-II PTR=61
-II SAMUEL=10
-II THESSALONIANS=53
-II TIMOTHY=55
-IIC=47
-IICHRONICLES=14
-IICORINTHIANS=47
-III JN=64
-III JOHN=64
-IIIJN=64
-IIIJOHN=64
-IIJN=63
-IIJOHN=63
-IIKGS=12
-IIKINGS=12
-IIPETER=61
-IIPTR=61
-IISAMUEL=10
-IITHESSALONIANS=53
-IITIMOTHY=55
-IJN=62
-IJOHN=62
-IKGS=11
-IKINGS=11
-IPETER=60
-IPTR=60
-ISA=23
-ISAIAH=23
-ISAMUEL=9
-ITHESSALONIANS=52
-ITIMOTHY=54
-J=43
-JAMES=59
-JAS=59
-JEREMIAH=24
-JN=43
-JO=43
-JOB=18
-JOEL=29
-JOHN=43
-JONAH=32
-JOSHUA=6
-JUD=7
-JUDE=65
-JUDGES=7
-L=42
-LAMENTATIONS=25
-LEVITICUS=3
-LK=42
-LUKE=42
-MA=40
-MALACHI=39
-MARK=41
-MATTHEW=40
-MICAH=33
-MK=41
-MR=41
-MT=40
-N=4
-NAHUM=34
-NEHEMIAH=16
-NUMBERS=4
-OBADIAH=31
-P=19
-PH=50
-PHILEMON=57
-PHILIPPIANS=50
-PHLM=57
-PHM=57
-PHP=50
-PROVERBS=20
-PSALMS=19
-PSM=19
-PSS=19
-REVELATION OF JOHN=66
-ROMANS=45
-RUTH=8
-SONG OF SOLOMON=22
-SONG OF SONGS=22
-SOS=22
-TITUS=56
-ZECHARIAH=38
-ZEPHANIAH=36
+
diff --git a/locales.d/af-utf8.conf b/locales.d/af-utf8.conf
index b125aa6..6e08aa5 100644
--- a/locales.d/af-utf8.conf
+++ b/locales.d/af-utf8.conf
@@ -72,254 +72,70 @@ Jude=Judas
Revelation of John=Openbaring
[Book Abbrevs]
-1 C=46
-1 CHRONICLES=13
-1 CORINTHIANS=46
-1 JN=62
-1 JOHN=62
-1 KGS=11
-1 KINGS=11
-1 PETER=60
-1 PTR=60
-1 SAMUEL=9
-1 THESSALONIANS=52
-1 TIMOTHY=54
-1C=46
-1CHRONICLES=13
-1CORINTHIANS=46
-1JN=62
-1JOHN=62
-1KGS=11
-1KINGS=11
-1PETER=60
-1PTR=60
-1SAMUEL=9
-1THESSALONIANS=52
-1TIMOTHY=54
-2 C=47
-2 CHRONICLES=14
-2 CORINTHIANS=47
-2 JN=63
-2 JOHN=63
-2 KGS=12
-2 KINGS=12
-2 PETER=61
-2 PTR=61
-2 SAMUEL=10
-2 THESSALONIANS=53
-2 TIMOTHY=55
-2C=47
-2CHRONICLES=14
-2CORINTHIANS=47
-2JN=63
-2JOHN=63
-2KGS=12
-2KINGS=12
-2PETER=61
-2PTR=61
-2SAMUEL=10
-2THESSALONIANS=53
-2TIMOTHY=55
-3 JN=64
-3 JOHN=64
-3JN=64
-3JOHN=64
-ACTS=44
-AMOS=30
-APOCALYPSE OF ST. JOHN=66
-C=51
-CANTICLE OF CANTICLES=22
-COC=22
-COLOSSIANS=51
-D=5
-DANIEL=27
-DEUTERONOMY=5
-E=49
-ECCLESIASTES=21
-EPHESIANS=49
-ESTER=17
-ESTHER=17
-EXODUS=2
-EZEKIEL=26
-EZRA=15
-G=1
-GALATIANS=48
-GENESIS=1
-H=58
-HABAKKUK=35
-HAGGAI=37
-HEBREWS=58
-HOSEA=28
-I C=46
-I CHRONICLES=13
-I CORINTHIANS=46
-I JN=62
-I JOHN=62
-I KGS=11
-I KINGS=11
-I PETER=60
-I PTR=60
-I SAMUEL=9
-I THESSALONIANS=52
-I TIMOTHY=54
-IC=46
-ICHRONICLES=13
-ICORINTHIANS=46
-II C=47
-II CHRONICLES=14
-II CORINTHIANS=47
-II JN=63
-II JOHN=63
-II KGS=12
-II KINGS=12
-II PETER=61
-II PTR=61
-II SAMUEL=10
-II THESSALONIANS=53
-II TIMOTHY=55
-IIC=47
-IICHRONICLES=14
-IICORINTHIANS=47
-III JN=64
-III JOHN=64
-IIIJN=64
-IIIJOHN=64
-IIJN=63
-IIJOHN=63
-IIKGS=12
-IIKINGS=12
-IIPETER=61
-IIPTR=61
-IISAMUEL=10
-IITHESSALONIANS=53
-IITIMOTHY=55
-IJN=62
-IJOHN=62
-IKGS=11
-IKINGS=11
-IPETER=60
-IPTR=60
-ISA=23
-ISAIAH=23
-ISAMUEL=9
-ITHESSALONIANS=52
-ITIMOTHY=54
-J=43
-JAMES=59
-JAS=59
-JEREMIAH=24
-JN=43
-JO=43
-JOB=18
-JOEL=29
-JOHN=43
-JONAH=32
-JOSHUA=6
-JUD=7
-JUDE=65
-JUDGES=7
-L=42
-LAMENTATIONS=25
-LEVITICUS=3
-LK=42
-LUKE=42
-MA=40
-MALACHI=39
-MARK=41
-MATTHEW=40
-MICAH=33
-MK=41
-MR=41
-MT=40
-N=4
-NAHUM=34
-NEHEMIAH=16
-NUMBERS=4
-OBADIAH=31
-P=19
-PH=50
-PHILEMON=57
-PHILIPPIANS=50
-PHLM=57
-PHM=57
-PHP=50
-PROVERBS=20
-PSALMS=19
-PSM=19
-PSS=19
-REVELATION OF JOHN=66
-ROMANS=45
-RUTH=8
-SONG OF SOLOMON=22
-SONG OF SONGS=22
-SOS=22
-TITUS=56
-ZECHARIAH=38
-ZEPHANIAH=36
-GENESIS=1
-EXODUS=2
-LEVITIKUS=3
-NUMERI=4
-DEUTERONOMIUM=5
-JOSUA=6
-RIGTERS=7
-RUT=8
-1 SAMUEL=9
-2 SAMUEL=10
-1 KONINGS=11
-2 KONINGS=12
-1 KRONIEKE=13
-2 KRONIEKE=14
-ESRA=15
-NEHEMIA=16
-ESTER=17
-JOB=18
-PSALMS=19
-SPREUKE VAN SALOMO=20
-PREDIKER=21
-HOOGLIED VAN SALOMO=22
-JESAJA=23
-JEREMIA=24
-KLAAGLIEDERE VAN JEREMIA=25
-ESEGIËL=26
-DANIËL=27
-HOSEA=28
-JOËL=29
-AMOS=30
-OBADJA=31
-JONA=32
-MIGA=33
-NAHUM=34
-HABAKUK=35
-SEFANJA=36
-HAGGAI=37
-SAGARIA=38
-MALEAGI=39
-MATTEUS=40
-MARKUS=41
-LUKAS=42
-JOHANNES=43
-HANDELINGE=44
-ROMEINE=45
-1 KORINTIËRS=46
-2 KORINTIËRS=47
-GALASIËRS=48
-EFESIËRS=49
-FILIPENSE=50
-KOLOSSENSE=51
-1 TESSALONISENSE=52
-2 THESSALONISENSE=53
-1 TIMOTEUS=54
-2 TIMOTEUS=55
-TITUS=56
-FILEMON=57
-HEBREËRS=58
-JAKOBUS=59
-1 PETRUS=60
-2 PETRUS=61
-1 JOHANNES=62
-2 JOHANNES=63
-3 JOHANNES=64
-JUDAS=65
-OPENBARING=66
+GENESIS=Gen
+EXODUS=Exod
+LEVITIKUS=Lev
+NUMERI=Num
+DEUTERONOMIUM=Deut
+JOSUA=Josh
+RIGTERS=Judg
+RUT=Ruth
+1 SAMUEL=1Sam
+2 SAMUEL=2Sam
+1 KONINGS=1Kgs
+2 KONINGS=2Kgs
+1 KRONIEKE=1Chr
+2 KRONIEKE=2Chr
+ESRA=Ezra
+NEHEMIA=Neh
+ESTER=Esth
+JOB=Job
+PSALMS=Ps
+SPREUKE VAN SALOMO=Prov
+PREDIKER=Eccl
+HOOGLIED VAN SALOMO=Song
+JESAJA=Isa
+JEREMIA=Jer
+KLAAGLIEDERE VAN JEREMIA=Lam
+ESEGIËL=Ezek
+DANIËL=Dan
+HOSEA=Hos
+JOËL=Joel
+AMOS=Amos
+OBADJA=Obad
+JONA=Jonah
+MIGA=Mic
+NAHUM=Nah
+HABAKUK=Hab
+SEFANJA=Zeph
+HAGGAI=Hag
+SAGARIA=Zech
+MALEAGI=Mal
+MATTEUS=Matt
+MARKUS=Mark
+LUKAS=Luke
+JOHANNES=John
+HANDELINGE=Acts
+ROMEINE=Rom
+1 KORINTIËRS=1Cor
+2 KORINTIËRS=2Cor
+GALASIËRS=Gal
+EFESIËRS=Eph
+FILIPENSE=Phil
+KOLOSSENSE=Col
+1 TESSALONISENSE=1Thess
+2 THESSALONISENSE=2Thess
+1 TIMOTEUS=1Tim
+2 TIMOTEUS=2Tim
+TITUS=Titus
+FILEMON=Phlm
+HEBREËRS=Heb
+JAKOBUS=Jas
+1 PETRUS=1Pet
+2 PETRUS=2Pet
+1 JOHANNES=1John
+2 JOHANNES=2John
+3 JOHANNES=3John
+JUDAS=Jude
+OPENBARING=Rev
diff --git a/locales.d/af.conf b/locales.d/af.conf
index 5b94fd1..4e2ec31 100644
--- a/locales.d/af.conf
+++ b/locales.d/af.conf
@@ -69,534 +69,347 @@ I John=1 Johannes
II John=2 Johannes
III John=3 Johannes
Jude=Judas
-Revelation of John=Openbaring  
+Revelation of John=Openbaring
[Book Abbrevs]
-1 C=46
-1 CHRONICLES=13
-1 CORINTHIANS=46
-1 JN=62
-1 JOHN=62
-1 KGS=11  
-1 KINGS=11  
-1 PETER=60  
-1 PTR=60  
-1 SAMUEL=9  
-1 THESSALONIANS=52  
-1 TIMOTHY=54  
-1C=46
-1CHRONICLES=13
-1CORINTHIANS=46
-1JN=62
-1JOHN=62
-1KGS=11
-1KINGS=11  
-1PETER=60  
-1PTR=60  
-1SAMUEL=9  
-1THESSALONIANS=52  
-1TIMOTHY=54  
-2 C=47  
-2 CHRONICLES=14  
-2 CORINTHIANS=47  
-2 JN=63
-2 JOHN=63  
-2 KGS=12  
-2 KINGS=12  
-2 PETER=61  
-2 PTR=61  
-2 SAMUEL=10  
-2 THESSALONIANS=53  
-2 TIMOTHY=55  
-2C=47  
-2CHRONICLES=14  
-2CORINTHIANS=47  
-2JN=63  
-2JOHN=63  
-2KGS=12
-2KINGS=12  
-2PETER=61  
-2PTR=61  
-2SAMUEL=10  
-2THESSALONIANS=53  
-2TIMOTHY=55  
-3 JN=64  
-3 JOHN=64  
-3JN=64  
-3JOHN=64  
-ACTS=44  
-AMOS=30  
-APOCALYPSE OF ST. JOHN=66  
-C=51  
-CANTICLE OF CANTICLES=22  
-COC=22  
-COLOSSIANS=51  
-D=5  
-DANIEL=27  
-DEUTERONOMY=5  
-E=49  
-ECCLESIASTES=21  
-EPHESIANS=49  
-ESTER=17  
-ESTHER=17  
-EXODUS=2  
-EZEKIEL=26  
-EZRA=15  
-G=1  
-GALATIANS=48  
-GENESIS=1  
-H=58  
-HABAKKUK=35  
-HAGGAI=37  
-HEBREWS=58  
-HOSEA=28  
-I C=46
-I CHRONICLES=13
-I CORINTHIANS=46
-I JN=62
-I JOHN=62
-I KGS=11
-I KINGS=11  
-I PETER=60  
-I PTR=60  
-I SAMUEL=9  
-I THESSALONIANS=52  
-I TIMOTHY=54  
-IC=46
-ICHRONICLES=13
-ICORINTHIANS=46
-II C=47  
-II CHRONICLES=14  
-II CORINTHIANS=47  
-II JN=63  
-II JOHN=63  
-II KGS=12
-II KINGS=12  
-II PETER=61  
-II PTR=61  
-II SAMUEL=10  
-II THESSALONIANS=53  
-II TIMOTHY=55  
-IIC=47  
-IICHRONICLES=14  
-IICORINTHIANS=47  
-III JN=64  
-III JOHN=64  
-IIIJN=64  
-IIIJOHN=64  
-IIJN=63  
-IIJOHN=63  
-IIKGS=12
-IIKINGS=12  
-IIPETER=61  
-IIPTR=61  
-IISAMUEL=10  
-IITHESSALONIANS=53  
-IITIMOTHY=55  
-IJN=62
-IJOHN=62
-IKGS=11
-IKINGS=11  
-IPETER=60  
-IPTR=60  
-ISA=23  
-ISAIAH=23  
-ISAMUEL=9  
-ITHESSALONIANS=52  
-ITIMOTHY=54  
-J=43  
-JAMES=59  
-JAS=59  
-JEREMIAH=24  
-JN=43  
-JO=43  
-JOB=18  
-JOEL=29  
-JOHN=43  
-JONAH=32  
-JOSHUA=6  
-JUD=7  
-JUDE=65  
-JUDGES=7
-L=42
-LAMENTATIONS=25
-LEVITICUS=3
-LK=42
-LUKE=42
-MA=40
-MALACHI=39  
-MARK=41
-MATTHEW=40
-MICAH=33
-MK=41
-MR=41
-MT=40
-N=4
-NAHUM=34
-NEHEMIAH=16
-NUMBERS=4
-OBADIAH=31
-P=19
-PH=50
-PHILEMON=57
-PHILIPPIANS=50
-PHLM=57
-PHM=57
-PHP=50
-PROVERBS=20
-PSALMS=19
-PSM=19
-PSS=19
-REVELATION OF JOHN=66
-ROMANS=45
-RUTH=8
-SONG OF SOLOMON=22
-SONG OF SONGS=22
-SOS=22
-TITUS=56
-ZECHARIAH=38
-ZEPHANIAH=36
-
-GÉNESIS=1
-GENESIS=1
-GEN=1
-genesis=1
-gen=1
-EXODUS=2
-EX=2
-EXO=2
-EXOD=2
-ex=2
-exo=2
-exod=2
-LEVÍTIKUS=3
-LEVITIKUS=3
-LEV=3
-levitikus=3
-lev=3
-NÚMERI=4
-NUMERI=4
-NUM=4
-numeri=4
-num=4
-DEUTERONÓMIUM=5
-DEUTERONOMIUM=5
-DEUT=5
-DEU=5
-deuteronomium=5
-deut=5
-deu=5
-JOSUA=6
-JOS=6
-josua=6
-jos=6
-RIGTERS=7
-RIG=7
-rigters=7
-rig=7
-RUT=8
-rut=8
-1 SAMUEL=9
-1SAMUEL=9
-1 SAM=9
-1SAM=9
-1 samuel=9
-1samuel=9
-1 sam=9
-1sam=9
-2 SAMUEL=10
-2SAMUEL=10
-2 SAM=10
-2SAM=10
-2 samuel=10
-2samuel=10
-2 sam=10
-2sam=10
-1 KONINGS=11
-1KONINGS=11
-1 KON=11
-1KON=11
-1 konings=11
-1konings=11
-1 kon=11
-1kon=11
-2 KONINGS=12
-2KONINGS=12
-2 KON=12
-2KON=12
-2 konings=12
-2konings=12
-2 kon=12
-2kon=12
-1 KRONIEKE=13
-1KRONIEKE=13
-1 KRON=13
-1KRON=13
-1 kronieke=13
-1kronieke=13
-1 kron=13
-1kron=13
-2 KRONIEKE=14
-2KRONIEKE=14
-2 KRON=14
-2KRON=14
-2 kronieke=14
-2kronieke=14
-2 kron=14
-2kron=14
-ESRA=15
-esra=15
-NEHEMÍA=16
-NEHEMIA=16
-NEH=16
-nehemia=16
-neh=16
-ESTER=17
-EST=17
-ester=17
-est=17
-JOB=18
-job=18
-PSALMS=19
-PS=19
-psalms=19
-ps=19
-SPREUKE VAN SALOMO=20
-SPREUKE=20
-spreuke=20
-PREDIKER=21
-PRED=21
-prediker=21
-pred=21
-HOOGLIED VAN SALOMO=22
-HOOGLIED=22
-hooglied=22
-JESAJA=23
-JES=23
-jesaja=23
-jes=23
-JEREMIA=24
-JER=24
-jeremia=24
-jer=24
-KLAAGLIEDERE VAN JEREMIA=25
-KLAAGLIEDERE=25
-KLAAGL=25
-klaaglieder=25
-klaagl=25
-ESÉGIËL=26
-ESEGIEL=26
-ESE=26
-esegiel=26
-ese=26
-DANIËL=27
-DANIEL=27
-DAN=27
-daniel=27
-daniël=27
-dan=27
-HOSÉA=28
-HOSEA=28
-HOS=28
-hosea=28
-hos=28
-JOËL=29
-JOEL=29
-joël=29
-joel=29
-AMOS=30
-amos=30
-OBADJA=31
-OBAD=31
-obadja=31
-obad=31
-JONA=32
-jona=32
-MIGA=33
-miga=33
-NAHUM=34
-NAH=34
-nahum=34
-nah=34
-HÁBAKUK=35
-HABAKUK=35
-HAB=35
-habakuk=35
-hab=35
-SEFÁNJA=36
-SEFANJA=36
-SEF=36
-sefanja=36
-sef=36
-HAGGAI=37
-HAG=37
-haggai=37
-hag=37
-SAGARIA=38
-SAG=38
-sagaria=38
-sag=38
-MALEÁGI=39
-MALEAGI=39
-MAL=39
-maleagi=39
-mal=39
-MATTHÉÜS=40
-MATTHEUS=40
-MAT=40
-mattheus=40
-mat=40
-MARKUS=41
-MARK=41
-MAR=41
-markus=41
-mark=41
-mar=41
-LUKAS=42
-LUK=42
-lukas=42
-LUK=42
-JOHANNES=43
-JOH=43
-johannes=43
-joh=43
-HANDELINGE=44
-HAND=44
-handelinge=44
-hand=44
-ROMEINE=45
-ROM=45
-romeine=45
-rom=45
-1 KORINTHIËRS=46
-1 KORINTHIERS=46
-1 KOR=46
-1KORINTHIERS=46
-1KOR=46
-1 korinthiërs=46
-1 korinthiers=46
-1korinthiers=46
-2 KORINTHIËRS=47
-2 KORINTHIERS=47
-2 KOR=47
-2KORINTHIERS=47
-2KOR=47
-2 korinthiërs=47
-2 korinthiers=47
-2korinthiers=47
-GALÁSIËRS=48
-GALASIERS=48
-GAL=48
-galasiers=48
-gal=48
-EFÉSIËRS=49
-EFESIERS=49
-EF=49
-efesiers=49
-ef=49
-FILIPPENSE=50
-FIL=50
-filipense=50
-fil=50
-KOLOSSENSE=51
-KOL=51
-kolossense=51
-kol=51
-1 THESSALONICENSE=52
-1THESSALONICENSE=52
-1THES=52
-1 thessalonicense=52
-1thessalonicense=52
-1thes=52
-2 THESSALONICENSE=53
-2THESSALONICENSE=53
-2THES=53
-2 thessalonicense=53
-2thessalonicense=53
-2thes=53
-1 TIMÓTHEÜS=54
-1 TIMOTHEUS=54
-1TIMOTHEUS=54
-1TIM=54
-1 timótheüs=54
-1 timotheus=54
-1timotheus=54
-1tim=54
-2 TIMÓTHEÜS=55
-2 TIMOTHEUS=55
-2TIMOTHEUS=55
-2TIM=55
-2 timótheüs=55
-2 timotheus=55
-2timotheus=55
-2tim=55
-TITUS=56
-TIT=56
-titus=56
-tit=56
-FILÉMON=57
-FILEMON=57
-FIL=57
-filemon=57
-fil=57
-HEBREËRS=58
-HEBREERS=58
-HEB=58
-hebreërs=58
-hebreers=58
-heb=58
-JAKOBUS=59
-JAK=59
-jakobus=59
-jak=59
-1 PETRUS=60
-1PETRUS=60
-1 PET=60
-1PET=60
-1 petrus=60
-1petrus=60
-1 pet=60
-1pet=60
-2 PETRUS=61
-2PETRUS=61
-2 PET=61
-2PET=61
-2 petrus=61
-2petrus=61
-2 pet=61
-2pet=61
-1 JOHANNES=62
-1JOHANNES=62
-1 JOH=62
-1JOH=62
-1 johannes=62
-1johannes=62
-1 joh=62
-1joh=62
-2 JOHANNES=63
-2JOHANNES=63
-2 JOH=63
-2JOH=63
-2 johannes=63
-2johannes=63
-2 joh=63
-2joh=63
-3 JOHANNES=64
-3JOHANNES=64
-3 JOH=64
-3JOH=64
-3 johannes=64
-3johannes=64
-3 joh=64
-3joh=64
-JUDAS=64
-JUD=64
-judas=64
-jud=64
-OPENBARING=66
-OPEN=66
-OP=66
-openbaring=66
-open=66
-op=66 \ No newline at end of file
+GÉNESIS=Gen
+GENESIS=Gen
+GEN=Gen
+genesis=Gen
+gen=Gen
+EXODUS=Exod
+EX=Exod
+EXO=Exod
+EXOD=Exod
+ex=Exod
+exo=Exod
+exod=Exod
+LEVÍTIKUS=Lev
+LEVITIKUS=Lev
+LEV=Lev
+levitikus=Lev
+lev=Lev
+NÚMERI=Num
+NUMERI=Num
+NUM=Num
+numeri=Num
+num=Num
+DEUTERONÓMIUM=Deut
+DEUTERONOMIUM=Deut
+DEUT=Deut
+DEU=Deut
+deuteronomium=Deut
+deut=Deut
+deu=Deut
+JOSUA=Josh
+JOS=Josh
+josua=Josh
+jos=Josh
+RIGTERS=Judg
+RIG=Judg
+rigters=Judg
+rig=Judg
+RUT=Ruth
+rut=Ruth
+1 SAMUEL=1Sam
+1SAMUEL=1Sam
+1 SAM=1Sam
+1SAM=1Sam
+1 samuel=1Sam
+1samuel=1Sam
+1 sam=1Sam
+1sam=1Sam
+2 SAMUEL=2Sam
+2SAMUEL=2Sam
+2 SAM=2Sam
+2SAM=2Sam
+2 samuel=2Sam
+2samuel=2Sam
+2 sam=2Sam
+2sam=2Sam
+1 KONINGS=1Kgs
+1KONINGS=1Kgs
+1 KON=1Kgs
+1KON=1Kgs
+1 konings=1Kgs
+1konings=1Kgs
+1 kon=1Kgs
+1kon=1Kgs
+2 KONINGS=2Kgs
+2KONINGS=2Kgs
+2 KON=2Kgs
+2KON=2Kgs
+2 konings=2Kgs
+2konings=2Kgs
+2 kon=2Kgs
+2kon=2Kgs
+1 KRONIEKE=1Chr
+1KRONIEKE=1Chr
+1 KRON=1Chr
+1KRON=1Chr
+1 kronieke=1Chr
+1kronieke=1Chr
+1 kron=1Chr
+1kron=1Chr
+2 KRONIEKE=2Chr
+2KRONIEKE=2Chr
+2 KRON=2Chr
+2KRON=2Chr
+2 kronieke=2Chr
+2kronieke=2Chr
+2 kron=2Chr
+2kron=2Chr
+ESRA=Ezra
+esra=Ezra
+NEHEMÍA=Neh
+NEHEMIA=Neh
+NEH=Neh
+nehemia=Neh
+neh=Neh
+ESTER=Esth
+EST=Esth
+ester=Esth
+est=Esth
+JOB=Job
+job=Job
+PSALMS=Ps
+PS=Ps
+psalms=Ps
+ps=Ps
+SPREUKE VAN SALOMO=Prov
+SPREUKE=Prov
+spreuke=Prov
+PREDIKER=Eccl
+PRED=Eccl
+prediker=Eccl
+pred=Eccl
+HOOGLIED VAN SALOMO=Song
+HOOGLIED=Song
+hooglied=Song
+JESAJA=Isa
+JES=Isa
+jesaja=Isa
+jes=Isa
+JEREMIA=Jer
+JER=Jer
+jeremia=Jer
+jer=Jer
+KLAAGLIEDERE VAN JEREMIA=Lam
+KLAAGLIEDERE=Lam
+KLAAGL=Lam
+klaaglieder=Lam
+klaagl=Lam
+ESÉGIËL=Ezek
+ESEGIEL=Ezek
+ESE=Ezek
+esegiel=Ezek
+ese=Ezek
+DANIËL=Dan
+DANIEL=Dan
+DAN=Dan
+daniel=Dan
+daniël=Dan
+dan=Dan
+HOSÉA=Hos
+HOSEA=Hos
+HOS=Hos
+hosea=Hos
+hos=Hos
+JOËL=Joel
+JOEL=Joel
+joël=Joel
+joel=Joel
+AMOS=Amos
+amos=Amos
+OBADJA=Obad
+OBAD=Obad
+obadja=Obad
+obad=Obad
+JONA=Jonah
+jona=Jonah
+MIGA=Mic
+miga=Mic
+NAHUM=Nah
+NAH=Nah
+nahum=Nah
+nah=Nah
+HÁBAKUK=Hab
+HABAKUK=Hab
+HAB=Hab
+habakuk=Hab
+hab=Hab
+SEFÁNJA=Zeph
+SEFANJA=Zeph
+SEF=Zeph
+sefanja=Zeph
+sef=Zeph
+HAGGAI=Hag
+HAG=Hag
+haggai=Hag
+hag=Hag
+SAGARIA=Zech
+SAG=Zech
+sagaria=Zech
+sag=Zech
+MALEÁGI=Mal
+MALEAGI=Mal
+MAL=Mal
+maleagi=Mal
+mal=Mal
+MATTHÉÜS=Matt
+MATTHEUS=Matt
+MAT=Matt
+mattheus=Matt
+mat=Matt
+MARKUS=Mark
+MARK=Mark
+MAR=Mark
+markus=Mark
+mark=Mark
+mar=Mark
+LUKAS=Luke
+LUK=Luke
+lukas=Luke
+LUK=Luke
+JOHANNES=John
+JOH=John
+johannes=John
+joh=John
+HANDELINGE=Acts
+HAND=Acts
+handelinge=Acts
+hand=Acts
+ROMEINE=Rom
+ROM=Rom
+romeine=Rom
+rom=Rom
+1 KORINTHIËRS=1Cor
+1 KORINTHIERS=1Cor
+1 KOR=1Cor
+1KORINTHIERS=1Cor
+1KOR=1Cor
+1 korinthiërs=1Cor
+1 korinthiers=1Cor
+1korinthiers=1Cor
+2 KORINTHIËRS=2Cor
+2 KORINTHIERS=2Cor
+2 KOR=2Cor
+2KORINTHIERS=2Cor
+2KOR=2Cor
+2 korinthiërs=2Cor
+2 korinthiers=2Cor
+2korinthiers=2Cor
+GALÁSIËRS=Gal
+GALASIERS=Gal
+GAL=Gal
+galasiers=Gal
+gal=Gal
+EFÉSIËRS=Eph
+EFESIERS=Eph
+EF=Eph
+efesiers=Eph
+ef=Eph
+FILIPPENSE=Phil
+FIL=Phil
+filipense=Phil
+fil=Phil
+KOLOSSENSE=Col
+KOL=Col
+kolossense=Col
+kol=Col
+1 THESSALONICENSE=1Thess
+1THESSALONICENSE=1Thess
+1THES=1Thess
+1 thessalonicense=1Thess
+1thessalonicense=1Thess
+1thes=1Thess
+2 THESSALONICENSE=2Thess
+2THESSALONICENSE=2Thess
+2THES=2Thess
+2 thessalonicense=2Thess
+2thessalonicense=2Thess
+2thes=2Thess
+1 TIMÓTHEÜS=1Tim
+1 TIMOTHEUS=1Tim
+1TIMOTHEUS=1Tim
+1TIM=1Tim
+1 timótheüs=1Tim
+1 timotheus=1Tim
+1timotheus=1Tim
+1tim=1Tim
+2 TIMÓTHEÜS=2Tim
+2 TIMOTHEUS=2Tim
+2TIMOTHEUS=2Tim
+2TIM=2Tim
+2 timótheüs=2Tim
+2 timotheus=2Tim
+2timotheus=2Tim
+2tim=2Tim
+TITUS=Titus
+TIT=Titus
+titus=Titus
+tit=Titus
+FILÉMON=Phlm
+FILEMON=Phlm
+FIL=Phlm
+filemon=Phlm
+fil=Phlm
+HEBREËRS=Heb
+HEBREERS=Heb
+HEB=Heb
+hebreërs=Heb
+hebreers=Heb
+heb=Heb
+JAKOBUS=Jas
+JAK=Jas
+jakobus=Jas
+jak=Jas
+1 PETRUS=1Pet
+1PETRUS=1Pet
+1 PET=1Pet
+1PET=1Pet
+1 petrus=1Pet
+1petrus=1Pet
+1 pet=1Pet
+1pet=1Pet
+2 PETRUS=2Pet
+2PETRUS=2Pet
+2 PET=2Pet
+2PET=2Pet
+2 petrus=2Pet
+2petrus=2Pet
+2 pet=2Pet
+2pet=2Pet
+1 JOHANNES=1John
+1JOHANNES=1John
+1 JOH=1John
+1JOH=1John
+1 johannes=1John
+1johannes=1John
+1 joh=1John
+1joh=1John
+2 JOHANNES=2John
+2JOHANNES=2John
+2 JOH=2John
+2JOH=2John
+2 johannes=2John
+2johannes=2John
+2 joh=2John
+2joh=2John
+3 JOHANNES=3John
+3JOHANNES=3John
+3 JOH=3John
+3JOH=3John
+3 johannes=3John
+3johannes=3John
+3 joh=3John
+3joh=3John
+JUDAS=Jude
+JUD=Jude
+OPENBARING=Rev
+OPEN=Rev
+OP=Rev
+openbaring=Rev
+open=Rev
+op=Rev
diff --git a/locales.d/ar_EG-cp1256.conf b/locales.d/ar_EG-cp1256.conf
index 839285e..b99051f 100644
--- a/locales.d/ar_EG-cp1256.conf
+++ b/locales.d/ar_EG-cp1256.conf
@@ -1,325 +1,209 @@
-[Meta]
-Name=ar_EG
-Description=Arabic (EG)
-Encoding=CP1256
-
-[Text]
-Genesis=Êßæíä
-Exodus=ÎÑæÌ
-Leviticus=áÇæííä
-Numbers=ÚÏÏ
-Deuteronomy=ÊËäíÉ
-Joshua=íÔæÚ
-Judges=ÞÖÇå
-Ruth=ÑÇÚæË
-I Samuel=ÕãæÇÆíá ÇáÇæá
-II Samuel=ÕãæÇÆíá ÇáËÇäí
-I Kings=ãáæß ÇáÇæá
-II Kings=ãáæß ÇáËÇäí
-I Chronicles=ÃÎÈÇÑ ÇáÃíÇã ÇáÃæá
-II Chronicles= ÃÎÈÇÑ ÇáÃíÇã ÇáËÇäí
-Ezra=ÚÒÑÇ
-Nehemiah=äÍãíÇ
-Esther=ÃÓÊíÑ
-Job=ÃíæÈ
-Psalms=ãÒÇãíÑ
-Proverbs=̋肇
-Ecclesiastes=ÇáÌÇãÚÉ
-Song of Solomon=äÔíÏ ÇáÃäÔÇÏ
-Isaiah=ÃÔÚíÇÁ
-Jeremiah=ÃÑãíÇ
-Lamentations=ãÑÇËí ÃÑãíÇ
-Ezekiel=ÍÒÞíÇá
-Daniel=ÏÇäíÇá
-Hosea=åæÔÚ
-Joel=íæÆíá
-Amos=ÚÇãæÓ
-Obadiah=ÚæÈÏíÇ
-Jonah=íæäÇä
-Micah=ãíÎÇ
-Nahum=äÇÍæã
-Habakkuk=ÍÈÞæÞ
-Zephaniah=ÕÝäíÇ
-Haggai=ÍÌí
-Zechariah=ÒßÑíÇ
-Malachi=ãáÇÎí
-Matthew=ãÊí
-Mark=ãÑÞÓ
-Luke=áæÞÇ
-John=íæÍäÇ
-Acts=ÃÚãÇá ÇáÑÓá
-Romans=ÑæãíÉ
-I Corinthians=ßæÑäËæÓ ÇáÃæáì
-II Corinthians=ßæÑäËæÓ ÇáËÇäíÉ
-Galatians=ÛáÇØíÉ
-Ephesians=ÇÝÓÓ
-Philippians=ÝíáÈì
-Colossians=ßæáæÓí
-I Thessalonians=ÊÓÇáæäíßì ÇáÃæáì
-II Thessalonians=ÊÓÇáæäíßì ÇáËÇäíÉ
-I Timothy=ÊíãæËÇæÓ ÇáÃæáì
-II Timothy=ÊíãæËÇæÓ ÇáËÇäíÉ
-Titus=ÊíØÓ
-Philemon=Ýíáãæä
-Hebrews=ÇáÚÈÑÇäííä
-James=íÚÞæÈ
-I Peter=ÈØÑÓ ÇáÃæáì
-II Peter=ÈØÑÓ ÇáËÇäíÉ
-I John=íæÍäÇ ÇáÃæáì
-II John=íæÍäÇ ÇáËÇäíÉ
-III John=íæÍäÇ ÇáËÇáËÉ
-Jude=íåæÐÇ
-Revelation of John=ÇáÑÄíÇ
-
-[Book Abbrevs]
-1 C=46
-1 CHRONICLES=13
-1 CORINTHIANS=46
-1 JN=62
-1 JOHN=62
-1 KGS=11
-1 KINGS=11
-1 PETER=60
-1 PTR=60
-1 SAMUEL=9
-1 THESSALONIANS=52
-1 TIMOTHY=54
-1C=46
-1CHRONICLES=13
-1CORINTHIANS=46
-1JN=62
-1JOHN=62
-1KGS=11
-1KINGS=11
-1PETER=60
-1PTR=60
-1SAMUEL=9
-1THESSALONIANS=52
-1TIMOTHY=54
-2 C=47
-2 CHRONICLES=14
-2 CORINTHIANS=47
-2 JN=63
-2 JOHN=63
-2 KGS=12
-2 KINGS=12
-2 PETER=61
-2 PTR=61
-2 SAMUEL=10
-2 THESSALONIANS=53
-2 TIMOTHY=55
-2C=47
-2CHRONICLES=14
-2CORINTHIANS=47
-2JN=63
-2JOHN=63
-2KGS=12
-2KINGS=12
-2PETER=61
-2PTR=61
-2SAMUEL=10
-2THESSALONIANS=53
-2TIMOTHY=55
-3 JN=64
-3 JOHN=64
-3JN=64
-3JOHN=64
-ACTS=44
-AMOS=30
-APOCALYPSE OF ST. JOHN=66
-C=51
-CANTICLE OF CANTICLES=22
-COC=22
-COLOSSIANS=51
-D=5
-DANIEL=27
-DEUTERONOMY=5
-E=49
-ECCLESIASTES=21
-EPHESIANS=49
-ESTER=17
-ESTHER=17
-EXODUS=2
-EZEKIEL=26
-EZRA=15
-G=1
-GALATIANS=48
-GENESIS=1
-H=58
-HABAKKUK=35
-HAGGAI=37
-HEBREWS=58
-HOSEA=28
-I C=46
-I CHRONICLES=13
-I CORINTHIANS=46
-I JN=62
-I JOHN=62
-I KGS=11
-I KINGS=11
-I PETER=60
-I PTR=60
-I SAMUEL=9
-I THESSALONIANS=52
-I TIMOTHY=54
-IC=46
-ICHRONICLES=13
-ICORINTHIANS=46
-II C=47
-II CHRONICLES=14
-II CORINTHIANS=47
-II JN=63
-II JOHN=63
-II KGS=12
-II KINGS=12
-II PETER=61
-II PTR=61
-II SAMUEL=10
-II THESSALONIANS=53
-II TIMOTHY=55
-IIC=47
-IICHRONICLES=14
-IICORINTHIANS=47
-III JN=64
-III JOHN=64
-IIIJN=64
-IIIJOHN=64
-IIJN=63
-IIJOHN=63
-IIKGS=12
-IIKINGS=12
-IIPETER=61
-IIPTR=61
-IISAMUEL=10
-IITHESSALONIANS=53
-IITIMOTHY=55
-IJN=62
-IJOHN=62
-IKGS=11
-IKINGS=11
-IPETER=60
-IPTR=60
-ISA=23
-ISAIAH=23
-ISAMUEL=9
-ITHESSALONIANS=52
-ITIMOTHY=54
-J=43
-JAMES=59
-JAS=59
-JEREMIAH=24
-JN=43
-JO=43
-JOB=18
-JOEL=29
-JOHN=43
-JONAH=32
-JOSHUA=6
-JUD=7
-JUDE=65
-JUDGES=7
-L=42
-LAMENTATIONS=25
-LEVITICUS=3
-LK=42
-LUKE=42
-MA=40
-MALACHI=39
-MARK=41
-MATTHEW=40
-MICAH=33
-MK=41
-MR=41
-MT=40
-N=4
-NAHUM=34
-NEHEMIAH=16
-NUMBERS=4
-OBADIAH=31
-P=19
-PH=50
-PHILEMON=57
-PHILIPPIANS=50
-PHLM=57
-PHM=57
-PHP=50
-PROVERBS=20
-PSALMS=19
-PSM=19
-PSS=19
-REVELATION OF JOHN=66
-ROMANS=45
-RUTH=8
-SONG OF SOLOMON=22
-SONG OF SONGS=22
-SOS=22
-TITUS=56
-ZECHARIAH=38
-ZEPHANIAH=36
-
-Êßæíä=1
-ÎÑæÌ=2
-áÇæííä=3
-ÚÏÏ=4
-ÊËäíÉ=5
-íÔæÚ=6
-ÞÖÇå=7
-ÑÇÚæË=8
-ÕãæÇÆíá ÇáÇæá=9
-ÕãæÇÆíá ÇáËÇäí=10
-ãáæß ÇáÇæá=11
-ãáæß ÇáËÇäí=12
-ÃÎÈÇÑ ÇáÃíÇã ÇáÃæá=13
-ÃÎÈÇÑ ÇáÃíÇã ÇáËÇäí=14
-ÚÒÑÇ=15
-äÍãíÇ=16
-ÃÓÊíÑ=17
-ÃíæÈ=18
-ãÒÇãíÑ=19
-̋肇=20
-ÇáÌÇãÚÉ=21
-äÔíÏ ÇáÃäÔÇÏ=22
-ÃÔÚíÇÁ=23
-ÃÑãíÇ=24
-ãÑÇËí ÃÑãíÇ=25
-ÍÒÞíÇá=26
-ÏÇäíÇá=27
-åæÔÚ=28
-íæÆíá=29
-ÚÇãæÓ=30
-ÚæÈÏíÇ=31
-íæäÇä=32
-ãíÎÇ=33
-äÇÍæã=34
-ÍÈÞæÞ=35
-ÕÝäíÇ=36
-ÍÌí=37
-ÒßÑíÇ=38
-ãáÇÎí=39
-ãÊí=40
-ãÑÞÓ=41
-áæÞÇ=42
-íæÍäÇ=43
-ÃÚãÇá ÇáÑÓá=44
-ÑæãíÉ=45
-ßæÑäËæÓ ÇáÃæáì=46
-ßæÑäËæÓ ÇáËÇäíÉ=47
-ÛáÇØíÉ=48
-ÇÝÓÓ=49
-ÝíáÈì=50
-ßæáæÓí=51
-ÊÓÇáæäíßì ÇáÃæáì=52
-ÊÓÇáæäíßì ÇáËÇäíÉ=53
-ÊíãæËÇæÓ ÇáÃæáì=54
-ÊíãæËÇæÓ ÇáËÇäíÉ=55
-ÊíØÓ=56
-Ýíáãæä=57
-ÇáÚÈÑÇäííä=58
-íÚÞæÈ=59
-ÈØÑÓ ÇáÃæáì=60
-ÈØÑÓ ÇáËÇäíÉ=61
-íæÍäÇ ÇáÃæáì=62
-íæÍäÇ ÇáËÇäíÉ=63
-íæÍäÇ ÇáËÇáËÉ=64
-íåæÐÇ=65
-ÇáÑÄíÇ=66 \ No newline at end of file
+[Meta]
+Name=ar_EG
+Description=Arabic (EG)
+Encoding=CP1256
+
+[Text]
+Genesis=Êßæíä
+Exodus=ÎÑæÌ
+Leviticus=áÇæííä
+Numbers=ÚÏÏ
+Deuteronomy=ÊËäíÉ
+Joshua=íÔæÚ
+Judges=ÞÖÇå
+Ruth=ÑÇÚæË
+I Samuel=ÕãæÇÆíá ÇáÇæá
+II Samuel=ÕãæÇÆíá ÇáËÇäí
+I Kings=ãáæß ÇáÇæá
+II Kings=ãáæß ÇáËÇäí
+I Chronicles=ÃÎÈÇÑ ÇáÃíÇã ÇáÃæá
+II Chronicles=ÃÎÈÇÑ ÇáÃíÇã ÇáËÇäí
+Ezra=ÚÒÑÇ
+Nehemiah=äÍãíÇ
+Esther=ÃÓÊíÑ
+Job=ÃíæÈ
+Psalms=ãÒÇãíÑ
+Proverbs=̋肇
+Ecclesiastes=ÇáÌÇãÚÉ
+Song of Solomon=äÔíÏ ÇáÃäÔÇÏ
+Isaiah=ÃÔÚíÇÁ
+Jeremiah=ÃÑãíÇ
+Lamentations=ãÑÇËí ÃÑãíÇ
+Ezekiel=ÍÒÞíÇá
+Daniel=ÏÇäíÇá
+Hosea=åæÔÚ
+Joel=íæÆíá
+Amos=ÚÇãæÓ
+Obadiah=ÚæÈÏíÇ
+Jonah=íæäÇä
+Micah=ãíÎÇ
+Nahum=äÇÍæã
+Habakkuk=ÍÈÞæÞ
+Zephaniah=ÕÝäíÇ
+Haggai=ÍÌí
+Zechariah=ÒßÑíÇ
+Malachi=ãáÇÎí
+Matthew=ãÊí
+Mark=ãÑÞÓ
+Luke=áæÞÇ
+John=íæÍäÇ
+Acts=ÃÚãÇá ÇáÑÓá
+Romans=ÑæãíÉ
+I Corinthians=ßæÑäËæÓ ÇáÃæáì
+II Corinthians=ßæÑäËæÓ ÇáËÇäíÉ
+Galatians=ÛáÇØíÉ
+Ephesians=ÇÝÓÓ
+Philippians=ÝíáÈì
+Colossians=ßæáæÓí
+I Thessalonians=ÊÓÇáæäíßì ÇáÃæáì
+II Thessalonians=ÊÓÇáæäíßì ÇáËÇäíÉ
+I Timothy=ÊíãæËÇæÓ ÇáÃæáì
+II Timothy=ÊíãæËÇæÓ ÇáËÇäíÉ
+Titus=ÊíØÓ
+Philemon=Ýíáãæä
+Hebrews=ÇáÚÈÑÇäííä
+James=íÚÞæÈ
+I Peter=ÈØÑÓ ÇáÃæáì
+II Peter=ÈØÑÓ ÇáËÇäíÉ
+I John=íæÍäÇ ÇáÃæáì
+II John=íæÍäÇ ÇáËÇäíÉ
+III John=íæÍäÇ ÇáËÇáËÉ
+Jude=íåæÐÇ
+Revelation of John=ÇáÑÄíÇ
+
+[Book Abbrevs]
+
+Êßæíä=1
+ÎÑæÌ=2
+áÇæííä=3
+ÚÏÏ=4
+ÊËäíÉ=5
+íÔæÚ=6
+ÞÖÇå=7
+ÑÇÚæË=8
+ÕãæÇÆíá ÇáÇæá=9
+ÕãæÇÆíá ÇáËÇäí=10
+ãáæß ÇáÇæá=11
+ãáæß ÇáËÇäí=12
+ÃÎÈÇÑ ÇáÃíÇã ÇáÃæá=13
+ÃÎÈÇÑ ÇáÃíÇã ÇáËÇäí=14
+ÚÒÑÇ=15
+äÍãíÇ=16
+ÃÓÊíÑ=17
+ÃíæÈ=18
+ãÒÇãíÑ=19
+̋肇=20
+ÇáÌÇãÚÉ=21
+äÔíÏ ÇáÃäÔÇÏ=22
+ÃÔÚíÇÁ=23
+ÃÑãíÇ=24
+ãÑÇËí ÃÑãíÇ=25
+ÍÒÞíÇá=26
+ÏÇäíÇá=27
+åæÔÚ=28
+íæÆíá=29
+ÚÇãæÓ=30
+ÚæÈÏíÇ=31
+íæäÇä=32
+ãíÎÇ=33
+äÇÍæã=34
+ÍÈÞæÞ=35
+ÕÝäíÇ=36
+ÍÌí=37
+ÒßÑíÇ=38
+ãáÇÎí=39
+ãÊí=40
+ãÑÞÓ=41
+áæÞÇ=42
+íæÍäÇ=43
+ÃÚãÇá ÇáÑÓá=44
+ÑæãíÉ=45
+ßæÑäËæÓ ÇáÃæáì=46
+ßæÑäËæÓ ÇáËÇäíÉ=47
+ÛáÇØíÉ=48
+ÇÝÓÓ=49
+ÝíáÈì=50
+ßæáæÓí=51
+ÊÓÇáæäíßì ÇáÃæáì=52
+ÊÓÇáæäíßì ÇáËÇäíÉ=53
+ÊíãæËÇæÓ ÇáÃæáì=54
+ÊíãæËÇæÓ ÇáËÇäíÉ=55
+ÊíØÓ=56
+Ýíáãæä=57
+ÇáÚÈÑÇäííä=58
+íÚÞæÈ=59
+ÈØÑÓ ÇáÃæáì=60
+ÈØÑÓ ÇáËÇäíÉ=61
+íæÍäÇ ÇáÃæáì=62
+íæÍäÇ ÇáËÇäíÉ=63
+íæÍäÇ ÇáËÇáËÉ=64
+íåæÐÇ=65
+ÇáÑÄíÇ=Rev
+
+
+ÊßÆÍÄ=Gen
+ÎÑÆÌ=Exod
+ÁÇÆÍÍÄ=Lev
+ÚÏÏ=Num
+ÊËÄÍÉ=Deut
+ÍÔÆÚ=Josh
+ÞÖÇÅ=Judg
+ÑÇÚÆË=Ruth
+ÕÃÆÇÆÍÁ ÇÁÇÆÁ=1Sam
+ÕÃÆÇÆÍÁ ÇÁËÇÄÍ=2Sam
+ÃÁÆß ÇÁÇÆÁ=1Kgs
+ÃÁÆß ÇÁËÇÄÍ=2Kgs
+ÃÎÈÇÑ ÇÁÃÍÇÃ ÇÁÃÆÁ=1Chr
+ÃÎÈÇÑ ÇÁÃÍÇÃ ÇÁËÇÄÍ=2Chr
+ÚÒÑÇ=Ezra
+ÄÍÃÍÇ=Neh
+ÃÓÊÍÑ=Esth
+ÃÍÆÈ=Job
+ÃÒÇÃÍÑ=Ps
+ÃÃËÇÁ=Prov
+ÇÁÌÇÃÚÉ=Eccl
+ÄÔÍÏ ÇÁÃÄÔÇÏ=Song
+ÃÔÚÍÇÁ=Isa
+ÃÑÃÍÇ=Jer
+ÃÑÇËÍ ÃÑÃÍÇ=Lam
+ÍÒÞÍÇÁ=Ezek
+ÏÇÄÍÇÁ=Dan
+ÅÆÔÚ=Hos
+ÍÆÆÍÁ=Joel
+ÚÇÃÆÓ=Amos
+ÚÆÈÏÍÇ=Obad
+ÍÆÄÇÄ=Jonah
+ÃÍÎÇ=Mic
+ÄÇÍÆÃ=Nah
+ÍÈÞÆÞ=Hab
+ÕÝÄÍÇ=Zeph
+ÍÌÍ=Hag
+ÒßÑÍÇ=Zech
+ÃÁÇÎÍ=Mal
+ÃÊÍ=Matt
+ÃÑÞÓ=Mark
+ÁÆÞÇ=Luke
+ÍÆÍÄÇ=John
+ÃÚÃÇÁ ÇÁÑÓÁ=Acts
+ÑÆÃÍÉ=Rom
+ßÆÑÄËÆÓ ÇÁÃÆÁÌ=1Cor
+ßÆÑÄËÆÓ ÇÁËÇÄÍÉ=2Cor
+ÛÁÇØÍÉ=Gal
+ÇÝÓÓ=Eph
+ÝÍÁÈÌ=Phil
+ßÆÁÆÓÍ=Col
+ÊÓÇÁÆÄÍßÌ ÇÁÃÆÁÌ=1Thess
+ÊÓÇÁÆÄÍßÌ ÇÁËÇÄÍÉ=2Thess
+ÊÍÃÆËÇÆÓ ÇÁÃÆÁÌ=1Tim
+ÊÍÃÆËÇÆÓ ÇÁËÇÄÍÉ=2Tim
+ÊÍØÓ=Titus
+ÝÍÁÃÆÄ=Phlm
+ÇÁÚÈÑÇÄÍÍÄ=Heb
+ÍÚÞÆÈ=Jas
+ÈØÑÓ ÇÁÃÆÁÌ=1Pet
+ÈØÑÓ ÇÁËÇÄÍÉ=2Pet
+ÍÆÍÄÇ ÇÁÃÆÁÌ=1John
+ÍÆÍÄÇ ÇÁËÇÄÍÉ=2John
+ÍÆÍÄÇ ÇÁËÇÁËÉ=3John
+ÍÅÆÐÇ=Jude
+
diff --git a/locales.d/ar_EG-utf8.conf b/locales.d/ar_EG-utf8.conf
index b937ab2..74425d1 100644
--- a/locales.d/ar_EG-utf8.conf
+++ b/locales.d/ar_EG-utf8.conf
@@ -1,4 +1,3 @@
-
[Meta]
Name=ar_EG
Description=Arabic (EG, Unicode)
@@ -18,7 +17,7 @@ II Samuel=صموائيل الثاني
I Kings=ملوك الاول
II Kings=ملوك الثاني
I Chronicles=أخبار الأيام الأول
-II Chronicles= أخبار الأيام الثاني
+II Chronicles=أخبار الأيام الثاني
Ezra=عزرا
Nehemiah=نحميا
Esther=أستير
@@ -73,254 +72,70 @@ Jude=يهوذا
Revelation of John=الرؤيا
[Book Abbrevs]
-1 C=46
-1 CHRONICLES=13
-1 CORINTHIANS=46
-1 JN=62
-1 JOHN=62
-1 KGS=11
-1 KINGS=11
-1 PETER=60
-1 PTR=60
-1 SAMUEL=9
-1 THESSALONIANS=52
-1 TIMOTHY=54
-1C=46
-1CHRONICLES=13
-1CORINTHIANS=46
-1JN=62
-1JOHN=62
-1KGS=11
-1KINGS=11
-1PETER=60
-1PTR=60
-1SAMUEL=9
-1THESSALONIANS=52
-1TIMOTHY=54
-2 C=47
-2 CHRONICLES=14
-2 CORINTHIANS=47
-2 JN=63
-2 JOHN=63
-2 KGS=12
-2 KINGS=12
-2 PETER=61
-2 PTR=61
-2 SAMUEL=10
-2 THESSALONIANS=53
-2 TIMOTHY=55
-2C=47
-2CHRONICLES=14
-2CORINTHIANS=47
-2JN=63
-2JOHN=63
-2KGS=12
-2KINGS=12
-2PETER=61
-2PTR=61
-2SAMUEL=10
-2THESSALONIANS=53
-2TIMOTHY=55
-3 JN=64
-3 JOHN=64
-3JN=64
-3JOHN=64
-ACTS=44
-AMOS=30
-APOCALYPSE OF ST. JOHN=66
-C=51
-CANTICLE OF CANTICLES=22
-COC=22
-COLOSSIANS=51
-D=5
-DANIEL=27
-DEUTERONOMY=5
-E=49
-ECCLESIASTES=21
-EPHESIANS=49
-ESTER=17
-ESTHER=17
-EXODUS=2
-EZEKIEL=26
-EZRA=15
-G=1
-GALATIANS=48
-GENESIS=1
-H=58
-HABAKKUK=35
-HAGGAI=37
-HEBREWS=58
-HOSEA=28
-I C=46
-I CHRONICLES=13
-I CORINTHIANS=46
-I JN=62
-I JOHN=62
-I KGS=11
-I KINGS=11
-I PETER=60
-I PTR=60
-I SAMUEL=9
-I THESSALONIANS=52
-I TIMOTHY=54
-IC=46
-ICHRONICLES=13
-ICORINTHIANS=46
-II C=47
-II CHRONICLES=14
-II CORINTHIANS=47
-II JN=63
-II JOHN=63
-II KGS=12
-II KINGS=12
-II PETER=61
-II PTR=61
-II SAMUEL=10
-II THESSALONIANS=53
-II TIMOTHY=55
-IIC=47
-IICHRONICLES=14
-IICORINTHIANS=47
-III JN=64
-III JOHN=64
-IIIJN=64
-IIIJOHN=64
-IIJN=63
-IIJOHN=63
-IIKGS=12
-IIKINGS=12
-IIPETER=61
-IIPTR=61
-IISAMUEL=10
-IITHESSALONIANS=53
-IITIMOTHY=55
-IJN=62
-IJOHN=62
-IKGS=11
-IKINGS=11
-IPETER=60
-IPTR=60
-ISA=23
-ISAIAH=23
-ISAMUEL=9
-ITHESSALONIANS=52
-ITIMOTHY=54
-J=43
-JAMES=59
-JAS=59
-JEREMIAH=24
-JN=43
-JO=43
-JOB=18
-JOEL=29
-JOHN=43
-JONAH=32
-JOSHUA=6
-JUD=7
-JUDE=65
-JUDGES=7
-L=42
-LAMENTATIONS=25
-LEVITICUS=3
-LK=42
-LUKE=42
-MA=40
-MALACHI=39
-MARK=41
-MATTHEW=40
-MICAH=33
-MK=41
-MR=41
-MT=40
-N=4
-NAHUM=34
-NEHEMIAH=16
-NUMBERS=4
-OBADIAH=31
-P=19
-PH=50
-PHILEMON=57
-PHILIPPIANS=50
-PHLM=57
-PHM=57
-PHP=50
-PROVERBS=20
-PSALMS=19
-PSM=19
-PSS=19
-REVELATION OF JOHN=66
-ROMANS=45
-RUTH=8
-SONG OF SOLOMON=22
-SONG OF SONGS=22
-SOS=22
-TITUS=56
-ZECHARIAH=38
-ZEPHANIAH=36
-تكوين=1
-خروج=2
-لاويين=3
-عدد=4
-تثنية=5
-يشوع=6
-قضاه=7
-راعوث=8
-صموائيل الاول=9
-صموائيل الثاني=10
-ملوك الاول=11
-ملوك الثاني=12
-أخبار الأيام الأول=13
-أخبار الأيام الثاني=14
-عزرا=15
-نحميا=16
-أستير=17
-أيوب=18
-مزامير=19
-أمثال=20
-الجامعة=21
-نشيد الأنشاد=22
-أشعياء=23
-أرميا=24
-مراثي أرميا=25
-حزقيال=26
-دانيال=27
-هوشع=28
-يوئيل=29
-عاموس=30
-عوبديا=31
-يونان=32
-ميخا=33
-ناحوم=34
-حبقوق=35
-صÙنيا=36
-حجي=37
-زكريا=38
-ملاخي=39
-متي=40
-مرقس=41
-لوقا=42
-يوحنا=43
-أعمال الرسل=44
-رومية=45
-كورنثوس الأولى=46
-كورنثوس الثانية=47
-غلاطية=48
-اÙسس=49
-Ùيلبى=50
-كولوسي=51
-تسالونيكى الأولى=52
-تسالونيكى الثانية=53
-تيموثاوس الأولى=54
-تيموثاوس الثانية=55
-تيطس=56
-Ùيلمون=57
-العبرانيين=58
-يعقوب=59
-بطرس الأولى=60
-بطرس الثانية=61
-يوحنا الأولى=62
-يوحنا الثانية=63
-يوحنا الثالثة=64
-يهوذا=65
-الرؤيا=66 \ No newline at end of file
+تكوين=Gen
+خروج=Exod
+لاويين=Lev
+عدد=Num
+تثنية=Deut
+يشوع=Josh
+قضاه=Judg
+راعوث=Ruth
+صموائيل الاول=1Sam
+صموائيل الثاني=2Sam
+ملوك الاول=1Kgs
+ملوك الثاني=2Kgs
+أخبار الأيام الأول=1Chr
+أخبار الأيام الثاني=2Chr
+عزرا=Ezra
+نحميا=Neh
+أستير=Esth
+أيوب=Job
+مزامير=Ps
+أمثال=Prov
+الجامعة=Eccl
+نشيد الأنشاد=Song
+أشعياء=Isa
+أرميا=Jer
+مراثي أرميا=Lam
+حزقيال=Ezek
+دانيال=Dan
+هوشع=Hos
+يوئيل=Joel
+عاموس=Amos
+عوبديا=Obad
+يونان=Jonah
+ميخا=Mic
+ناحوم=Nah
+حبقوق=Hab
+صÙنيا=Zeph
+حجي=Hag
+زكريا=Zech
+ملاخي=Mal
+متي=Matt
+مرقس=Mark
+لوقا=Luke
+يوحنا=John
+أعمال الرسل=Acts
+رومية=Rom
+كورنثوس الأولى=1Cor
+كورنثوس الثانية=2Cor
+غلاطية=Gal
+اÙسس=Eph
+Ùيلبى=Phil
+كولوسي=Col
+تسالونيكى الأولى=1Thess
+تسالونيكى الثانية=2Thess
+تيموثاوس الأولى=1Tim
+تيموثاوس الثانية=2Tim
+تيطس=Titus
+Ùيلمون=Phlm
+العبرانيين=Heb
+يعقوب=Jas
+بطرس الأولى=1Pet
+بطرس الثانية=2Pet
+يوحنا الأولى=1John
+يوحنا الثانية=2John
+يوحنا الثالثة=3John
+يهوذا=Jude
+الرؤيا=Rev
diff --git a/locales.d/bg_BG-cp1251.conf b/locales.d/bg_BG-cp1251.conf
index a15abf8..f6c01fd 100644
--- a/locales.d/bg_BG-cp1251.conf
+++ b/locales.d/bg_BG-cp1251.conf
@@ -76,329 +76,145 @@ Jude=Þäà
Revelation of John=Îòêðîâåíèåòî íà Éîàí
[Book Abbrevs]
-1 C=46
-1 CHRONICLES=13
-1 CORINTHIANS=46
-1 JN=62
-1 JOHN=62
-1 KGS=11
-1 KINGS=11
-1 PETER=60
-1 PTR=60
-1 SAMUEL=9
-1 THESSALONIANS=52
-1 TIMOTHY=54
-1C=46
-1CHRONICLES=13
-1CORINTHIANS=46
-1JN=62
-1JOHN=62
-1KGS=11
-1KINGS=11
-1PETER=60
-1PTR=60
-1SAMUEL=9
-1THESSALONIANS=52
-1TIMOTHY=54
-2 C=47
-2 CHRONICLES=14
-2 CORINTHIANS=47
-2 JN=63
-2 JOHN=63
-2 KGS=12
-2 KINGS=12
-2 PETER=61
-2 PTR=61
-2 SAMUEL=10
-2 THESSALONIANS=53
-2 TIMOTHY=55
-2C=47
-2CHRONICLES=14
-2CORINTHIANS=47
-2JN=63
-2JOHN=63
-2KGS=12
-2KINGS=12
-2PETER=61
-2PTR=61
-2SAMUEL=10
-2THESSALONIANS=53
-2TIMOTHY=55
-3 JN=64
-3 JOHN=64
-3JN=64
-3JOHN=64
-ACTS=44
-AMOS=30
-APOCALYPSE OF ST. JOHN=66
-C=51
-CANTICLE OF CANTICLES=22
-COC=22
-COLOSSIANS=51
-D=5
-DANIEL=27
-DEUTERONOMY=5
-E=49
-ECCLESIASTES=21
-EPHESIANS=49
-ESTER=17
-ESTHER=17
-EXODUS=2
-EZEKIEL=26
-EZRA=15
-G=1
-GALATIANS=48
-GENESIS=1
-H=58
-HABAKKUK=35
-HAGGAI=37
-HEBREWS=58
-HOSEA=28
-I C=46
-I CHRONICLES=13
-I CORINTHIANS=46
-I JN=62
-I JOHN=62
-I KGS=11
-I KINGS=11
-I PETER=60
-I PTR=60
-I SAMUEL=9
-I THESSALONIANS=52
-I TIMOTHY=54
-IC=46
-ICHRONICLES=13
-ICORINTHIANS=46
-II C=47
-II CHRONICLES=14
-II CORINTHIANS=47
-II JN=63
-II JOHN=63
-II KGS=12
-II KINGS=12
-II PETER=61
-II PTR=61
-II SAMUEL=10
-II THESSALONIANS=53
-II TIMOTHY=55
-IIC=47
-IICHRONICLES=14
-IICORINTHIANS=47
-III JN=64
-III JOHN=64
-IIIJN=64
-IIIJOHN=64
-IIJN=63
-IIJOHN=63
-IIKGS=12
-IIKINGS=12
-IIPETER=61
-IIPTR=61
-IISAMUEL=10
-IITHESSALONIANS=53
-IITIMOTHY=55
-IJN=62
-IJOHN=62
-IKGS=11
-IKINGS=11
-IPETER=60
-IPTR=60
-ISA=23
-ISAIAH=23
-ISAMUEL=9
-ITHESSALONIANS=52
-ITIMOTHY=54
-J=43
-JAMES=59
-JAS=59
-JEREMIAH=24
-JN=43
-JO=43
-JOB=18
-JOEL=29
-JOHN=43
-JONAH=32
-JOSHUA=6
-JUD=7
-JUDE=65
-JUDGES=7
-L=42
-LAMENTATIONS=25
-LEVITICUS=3
-LK=42
-LUKE=42
-MA=40
-MALACHI=39
-MARK=41
-MATTHEW=40
-MICAH=33
-MK=41
-MR=41
-MT=40
-N=4
-NAHUM=34
-NEHEMIAH=16
-NUMBERS=4
-OBADIAH=31
-P=19
-PH=50
-PHILEMON=57
-PHILIPPIANS=50
-PHLM=57
-PHM=57
-PHP=50
-PROVERBS=20
-PSALMS=19
-PSM=19
-PSS=19
-REVELATION OF JOHN=66
-ROMANS=45
-RUTH=8
-SONG OF SOLOMON=22
-SONG OF SONGS=22
-SOS=22
-TITUS=56
-ZECHARIAH=38
-ZEPHANIAH=36
-
-Áèòèå=1
-Áèò=1
-
-Èçõîä=2
-Èçõ=2
-
-Ëåâèò=3
-×èñëà=4
+Áèòèå=Gen
+Áèò=Gen
-Âòîðîçàêîíèå=5
+Èçõîä=Exod
+Èçõ=Exod
-Èñóñ Íàâèí=6
+Ëåâèò=Lev
-Ñúäèè=7
+×èñëà=Num
-Ðóò=8
+Âòîðîçàêîíèå=Deut
-1 Êíèãà íà Öàðåòå=9
-1 Öàðå=9
+Èñóñ Íàâèí=Josh
-2 Kíèãà íà Öàðåòå=10
-2 Öàðå=10
+Ñúäèè=Judg
-3 Êíèãà íà Öàðåòå=11
-3 Öàðå=11
+Ðóò=Ruth
-4 Êíèãà íà Öàðåòå=12
-4 Öàðå=12
+1 Êíèãà íà Öàðåòå=1Sam
+1 Öàðå=1Sam
-1 Êíèãà íà Ëåòîïèñèòå=13
-1 Ëåòîïèñè=13
+2 Kíèãà íà Öàðåòå=2Sam
+2 Öàðå=2Sam
-2 Êíèãà íà Ëåòîïèñèòå=14
-2 Ëåòîïèñè=14
+3 Êíèãà íà Öàðåòå=1Kgs
+3 Öàðå=1Kgs
-Åçäðà=15
+4 Êíèãà íà Öàðåòå=2Kgs
+4 Öàðå=2Kgs
-Íååìèÿ=16
+1 Êíèãà íà Ëåòîïèñèòå=1Chr
+1 Ëåòîïèñè=1Chr
-Åñòèð=17
+2 Êíèãà íà Ëåòîïèñèòå=2Chr
+2 Ëåòîïèñè=2Chr
-Éîâ=18
+Åçäðà=Ezra
-Ïñàëìè=19
+Íååìèÿ=Neh
-Ïðèò÷è=20
+Åñòèð=Esth
-Åêëèñèàñò=21
+Éîâ=Job
-Ïåñåí íà Ïåñíèòå=22
+Ïñàëìè=Ps
-Èñàÿ=23
+Ïðèò÷è=Prov
-Éåðåìèÿ=24
+Åêëèñèàñò=Eccl
-Ïëà÷úò íà Éåðåìèÿ=25
+Ïåñåí íà Ïåñíèòå=Song
-Éåçåêèë=26
+Èñàÿ=Isa
-Äàíèèë=27
+Éåðåìèÿ=Jer
-Îñèÿ=28
+Ïëà÷úò íà Éåðåìèÿ=Lam
-Éîèë=29
+Éåçåêèë=Ezek
-Àìîñ=30
+Äàíèèë=Dan
-Àâäèé=31
+Îñèÿ=Hos
-Éîíà=32
+Éîèë=Joel
-Ìèõåé=33
+Àìîñ=Amos
-Íàóì=34
+Àâäèé=Obad
-Àâàêóì=35
+Éîíà=Jonah
-Ñîôîíèÿ=36
+Ìèõåé=Mic
-Àãåé=37
+Íàóì=Nah
-Çàõàðèÿ=38
+Àâàêóì=Hab
-Ìàëàõèÿ=39
+Ñîôîíèÿ=Zeph
-Ìàòåé=40
+Àãåé=Hag
-Ìàðêî=41
+Çàõàðèÿ=Zech
-Ëóêà=42
+Ìàëàõèÿ=Mal
-Éîàí=43
+Ìàòåé=Matt
-Äåÿíèÿ íà Àïîñòîëèòå=44
-Äåÿíèÿ=44
+Ìàðêî=Mark
-Ðèìëÿíè=45
+Ëóêà=Luke
-1 Êîðèíòÿíè=46
+Éîàí=John
-2 Êîðèíòÿíè=47
+Äåÿíèÿ íà Àïîñòîëèòå=Acts
+Äåÿíèÿ=Acts
-Ãàëàòÿíè=48
+Ðèìëÿíè=Rom
-Åôåñÿíè=49
+1 Êîðèíòÿíè=1Cor
-Ôèëèïÿíè=50
+2 Êîðèíòÿíè=2Cor
-Êîëîñÿíè=51
+Ãàëàòÿíè=Gal
-1 Ñîëóíöè=52
+Åôåñÿíè=Eph
-2 Ñîëóíöè=53
+Ôèëèïÿíè=Phil
-1 Òèìîòåé=54
+Êîëîñÿíè=Col
-2 Òèìîòåé=55
+1 Ñîëóíöè=1Thess
-Òèò=56
+2 Ñîëóíöè=2Thess
-Ôèëèìîí=57
+1 Òèìîòåé=1Tim
-Åâðåè=58
+2 Òèìîòåé=2Tim
-ßêîâ=59
+Òèò=Titus
-1 Ïåòðîâî=60
+Ôèëèìîí=Phlm
-2 Ïåòðîâî=61
+Åâðåè=Heb
-1 Éîàíîâî=62
+ßêîâ=Jas
-2 Éîàíîâî=63
+1 Ïåòðîâî=1Pet
-3 Éîàíîâî=64
+2 Ïåòðîâî=2Pet
-Þäà=65
+1 Éîàíîâî=1John
-Îòêðîâåíèåòî íà Éîàí=66
-Îòêðîâåíèå=66
+2 Éîàíîâî=2John
+
+3 Éîàíîâî=3John
+
+Þäà=Jude
+
+Îòêðîâåíèåòî íà Éîàí=Rev
+Îòêðîâåíèå=Rev
diff --git a/locales.d/bg_BG-utf8.conf b/locales.d/bg_BG-utf8.conf
index 122925f..514b220 100644
--- a/locales.d/bg_BG-utf8.conf
+++ b/locales.d/bg_BG-utf8.conf
@@ -76,329 +76,145 @@ Jude=Юда
Revelation of John=Откровението на Йоан
[Book Abbrevs]
-1 C=46
-1 CHRONICLES=13
-1 CORINTHIANS=46
-1 JN=62
-1 JOHN=62
-1 KGS=11
-1 KINGS=11
-1 PETER=60
-1 PTR=60
-1 SAMUEL=9
-1 THESSALONIANS=52
-1 TIMOTHY=54
-1C=46
-1CHRONICLES=13
-1CORINTHIANS=46
-1JN=62
-1JOHN=62
-1KGS=11
-1KINGS=11
-1PETER=60
-1PTR=60
-1SAMUEL=9
-1THESSALONIANS=52
-1TIMOTHY=54
-2 C=47
-2 CHRONICLES=14
-2 CORINTHIANS=47
-2 JN=63
-2 JOHN=63
-2 KGS=12
-2 KINGS=12
-2 PETER=61
-2 PTR=61
-2 SAMUEL=10
-2 THESSALONIANS=53
-2 TIMOTHY=55
-2C=47
-2CHRONICLES=14
-2CORINTHIANS=47
-2JN=63
-2JOHN=63
-2KGS=12
-2KINGS=12
-2PETER=61
-2PTR=61
-2SAMUEL=10
-2THESSALONIANS=53
-2TIMOTHY=55
-3 JN=64
-3 JOHN=64
-3JN=64
-3JOHN=64
-ACTS=44
-AMOS=30
-APOCALYPSE OF ST. JOHN=66
-C=51
-CANTICLE OF CANTICLES=22
-COC=22
-COLOSSIANS=51
-D=5
-DANIEL=27
-DEUTERONOMY=5
-E=49
-ECCLESIASTES=21
-EPHESIANS=49
-ESTER=17
-ESTHER=17
-EXODUS=2
-EZEKIEL=26
-EZRA=15
-G=1
-GALATIANS=48
-GENESIS=1
-H=58
-HABAKKUK=35
-HAGGAI=37
-HEBREWS=58
-HOSEA=28
-I C=46
-I CHRONICLES=13
-I CORINTHIANS=46
-I JN=62
-I JOHN=62
-I KGS=11
-I KINGS=11
-I PETER=60
-I PTR=60
-I SAMUEL=9
-I THESSALONIANS=52
-I TIMOTHY=54
-IC=46
-ICHRONICLES=13
-ICORINTHIANS=46
-II C=47
-II CHRONICLES=14
-II CORINTHIANS=47
-II JN=63
-II JOHN=63
-II KGS=12
-II KINGS=12
-II PETER=61
-II PTR=61
-II SAMUEL=10
-II THESSALONIANS=53
-II TIMOTHY=55
-IIC=47
-IICHRONICLES=14
-IICORINTHIANS=47
-III JN=64
-III JOHN=64
-IIIJN=64
-IIIJOHN=64
-IIJN=63
-IIJOHN=63
-IIKGS=12
-IIKINGS=12
-IIPETER=61
-IIPTR=61
-IISAMUEL=10
-IITHESSALONIANS=53
-IITIMOTHY=55
-IJN=62
-IJOHN=62
-IKGS=11
-IKINGS=11
-IPETER=60
-IPTR=60
-ISA=23
-ISAIAH=23
-ISAMUEL=9
-ITHESSALONIANS=52
-ITIMOTHY=54
-J=43
-JAMES=59
-JAS=59
-JEREMIAH=24
-JN=43
-JO=43
-JOB=18
-JOEL=29
-JOHN=43
-JONAH=32
-JOSHUA=6
-JUD=7
-JUDE=65
-JUDGES=7
-L=42
-LAMENTATIONS=25
-LEVITICUS=3
-LK=42
-LUKE=42
-MA=40
-MALACHI=39
-MARK=41
-MATTHEW=40
-MICAH=33
-MK=41
-MR=41
-MT=40
-N=4
-NAHUM=34
-NEHEMIAH=16
-NUMBERS=4
-OBADIAH=31
-P=19
-PH=50
-PHILEMON=57
-PHILIPPIANS=50
-PHLM=57
-PHM=57
-PHP=50
-PROVERBS=20
-PSALMS=19
-PSM=19
-PSS=19
-REVELATION OF JOHN=66
-ROMANS=45
-RUTH=8
-SONG OF SOLOMON=22
-SONG OF SONGS=22
-SOS=22
-TITUS=56
-ZECHARIAH=38
-ZEPHANIAH=36
-
-Битие=1
-Бит=1
-
-Изход=2
-Изх=2
-
-Левит=3
-ЧиÑла=4
+Битие=Gen
+Бит=Gen
-Второзаконие=5
+Изход=Exod
+Изх=Exod
-ИÑÑƒÑ Ðавин=6
+Левит=Lev
-Съдии=7
+ЧиÑла=Num
-Рут=8
+Второзаконие=Deut
-1 Книга на Царете=9
-1 Царе=9
+ИÑÑƒÑ Ðавин=Josh
-2 Kнига на Царете=10
-2 Царе=10
+Съдии=Judg
-3 Книга на Царете=11
-3 Царе=11
+Рут=Ruth
-4 Книга на Царете=12
-4 Царе=12
+1 Книга на Царете=1Sam
+1 Царе=1Sam
-1 Книга на ЛетопиÑите=13
-1 ЛетопиÑи=13
+2 Kнига на Царете=2Sam
+2 Царе=2Sam
-2 Книга на ЛетопиÑите=14
-2 ЛетопиÑи=14
+3 Книга на Царете=1Kgs
+3 Царе=1Kgs
-Ездра=15
+4 Книга на Царете=2Kgs
+4 Царе=2Kgs
-ÐеемиÑ=16
+1 Книга на ЛетопиÑите=1Chr
+1 ЛетопиÑи=1Chr
-ЕÑтир=17
+2 Книга на ЛетопиÑите=2Chr
+2 ЛетопиÑи=2Chr
-Йов=18
+Ездра=Ezra
-ПÑалми=19
+ÐеемиÑ=Neh
-Притчи=20
+ЕÑтир=Esth
-ЕклиÑиаÑÑ‚=21
+Йов=Job
-ПеÑен на ПеÑните=22
+ПÑалми=Ps
-ИÑаÑ=23
+Притчи=Prov
-ЙеремиÑ=24
+ЕклиÑиаÑÑ‚=Eccl
-Плачът на ЙеремиÑ=25
+ПеÑен на ПеÑните=Song
-Йезекил=26
+ИÑаÑ=Isa
-Даниил=27
+ЙеремиÑ=Jer
-ОÑиÑ=28
+Плачът на ЙеремиÑ=Lam
-Йоил=29
+Йезекил=Ezek
-ÐмоÑ=30
+Даниил=Dan
-Ðвдий=31
+ОÑиÑ=Hos
-Йона=32
+Йоил=Joel
-Михей=33
+ÐмоÑ=Amos
-Ðаум=34
+Ðвдий=Obad
-Ðвакум=35
+Йона=Jonah
-СофониÑ=36
+Михей=Mic
-Ðгей=37
+Ðаум=Nah
-ЗахариÑ=38
+Ðвакум=Hab
-МалахиÑ=39
+СофониÑ=Zeph
-Матей=40
+Ðгей=Hag
-Марко=41
+ЗахариÑ=Zech
-Лука=42
+МалахиÑ=Mal
-Йоан=43
+Матей=Matt
-ДеÑÐ½Ð¸Ñ Ð½Ð° ÐпоÑтолите=44
-ДеÑниÑ=44
+Марко=Mark
-РимлÑни=45
+Лука=Luke
-1 КоринтÑни=46
+Йоан=John
-2 КоринтÑни=47
+ДеÑÐ½Ð¸Ñ Ð½Ð° ÐпоÑтолите=Acts
+ДеÑниÑ=Acts
-ГалатÑни=48
+РимлÑни=Rom
-ЕфеÑÑни=49
+1 КоринтÑни=1Cor
-ФилипÑни=50
+2 КоринтÑни=2Cor
-КолоÑÑни=51
+ГалатÑни=Gal
-1 Солунци=52
+ЕфеÑÑни=Eph
-2 Солунци=53
+ФилипÑни=Phil
-1 Тимотей=54
+КолоÑÑни=Col
-2 Тимотей=55
+1 Солунци=1Thess
-Тит=56
+2 Солунци=2Thess
-Филимон=57
+1 Тимотей=1Tim
-Евреи=58
+2 Тимотей=2Tim
-Яков=59
+Тит=Titus
-1 Петрово=60
+Филимон=Phlm
-2 Петрово=61
+Евреи=Heb
-1 Йоаново=62
+Яков=Jas
-2 Йоаново=63
+1 Петрово=1Pet
-3 Йоаново=64
+2 Петрово=2Pet
-Юда=65
+1 Йоаново=1John
-Откровението на Йоан=66
-Откровение=66
+2 Йоаново=2John
+
+3 Йоаново=3John
+
+Юда=Jude
+
+Откровението на Йоан=Rev
+Откровение=Rev
diff --git a/locales.d/cs-utf8.conf b/locales.d/cs-utf8.conf
index 185af03..b2066a3 100644
--- a/locales.d/cs-utf8.conf
+++ b/locales.d/cs-utf8.conf
@@ -86,377 +86,193 @@ Jude=Juda
Revelation of John=Zjevení
[Book Abbrevs]
-1 C=46
-1 CHRONICLES=13
-1 CORINTHIANS=46
-1 JN=62
-1 JOHN=62
-1 KGS=11
-1 KINGS=11
-1 PETER=60
-1 PTR=60
-1 SAMUEL=9
-1 THESSALONIANS=52
-1 TIMOTHY=54
-1C=46
-1CHRONICLES=13
-1CORINTHIANS=46
-1JN=62
-1JOHN=62
-1KGS=11
-1KINGS=11
-1PETER=60
-1PTR=60
-1SAMUEL=9
-1THESSALONIANS=52
-1TIMOTHY=54
-2 C=47
-2 CHRONICLES=14
-2 CORINTHIANS=47
-2 JN=63
-2 JOHN=63
-2 KGS=12
-2 KINGS=12
-2 PETER=61
-2 PTR=61
-2 SAMUEL=10
-2 THESSALONIANS=53
-2 TIMOTHY=55
-2C=47
-2CHRONICLES=14
-2CORINTHIANS=47
-2JN=63
-2JOHN=63
-2KGS=12
-2KINGS=12
-2PETER=61
-2PTR=61
-2SAMUEL=10
-2THESSALONIANS=53
-2TIMOTHY=55
-3 JN=64
-3 JOHN=64
-3JN=64
-3JOHN=64
-ACTS=44
-AMOS=30
-APOCALYPSE OF ST. JOHN=66
-C=51
-CANTICLE OF CANTICLES=22
-COC=22
-COLOSSIANS=51
-D=5
-DANIEL=27
-DEUTERONOMY=5
-E=49
-ECCLESIASTES=21
-EPHESIANS=49
-ESTER=17
-ESTHER=17
-EXODUS=2
-EZEKIEL=26
-EZRA=15
-G=1
-GALATIANS=48
-GENESIS=1
-H=58
-HABAKKUK=35
-HAGGAI=37
-HEBREWS=58
-HOSEA=28
-I C=46
-I CHRONICLES=13
-I CORINTHIANS=46
-I JN=62
-I JOHN=62
-I KGS=11
-I KINGS=11
-I PETER=60
-I PTR=60
-I SAMUEL=9
-I THESSALONIANS=52
-I TIMOTHY=54
-IC=46
-ICHRONICLES=13
-ICORINTHIANS=46
-II C=47
-II CHRONICLES=14
-II CORINTHIANS=47
-II JN=63
-II JOHN=63
-II KGS=12
-II KINGS=12
-II PETER=61
-II PTR=61
-II SAMUEL=10
-II THESSALONIANS=53
-II TIMOTHY=55
-IIC=47
-IICHRONICLES=14
-IICORINTHIANS=47
-III JN=64
-III JOHN=64
-IIIJN=64
-IIIJOHN=64
-IIJN=63
-IIJOHN=63
-IIKGS=12
-IIKINGS=12
-IIPETER=61
-IIPTR=61
-IISAMUEL=10
-IITHESSALONIANS=53
-IITIMOTHY=55
-IJN=62
-IJOHN=62
-IKGS=11
-IKINGS=11
-IPETER=60
-IPTR=60
-ISA=23
-ISAIAH=23
-ISAMUEL=9
-ITHESSALONIANS=52
-ITIMOTHY=54
-J=43
-JAMES=59
-JAS=59
-JEREMIAH=24
-JN=43
-JO=43
-JOB=18
-JOEL=29
-JOHN=43
-JONAH=32
-JOSHUA=6
-JUD=7
-JUDE=65
-JUDGES=7
-L=42
-LAMENTATIONS=25
-LEVITICUS=3
-LK=42
-LUKE=42
-MA=40
-MALACHI=39
-MARK=41
-MATTHEW=40
-MICAH=33
-MK=41
-MR=41
-MT=40
-N=4
-NAHUM=34
-NEHEMIAH=16
-NUMBERS=4
-OBADIAH=31
-P=19
-PH=50
-PHILEMON=57
-PHILIPPIANS=50
-PHLM=57
-PHM=57
-PHP=50
-PROVERBS=20
-PSALMS=19
-PSM=19
-PSS=19
-REVELATION OF JOHN=66
-ROMANS=45
-RUTH=8
-SONG OF SOLOMON=22
-SONG OF SONGS=22
-SOS=22
-TITUS=56
-ZECHARIAH=38
-ZEPHANIAH=36
-GENESIS=1
-GN=1
-EXODUS=2
-EX=2
-LEVITICUS=3
-LV=3
-NUMERI=4
-NU=4
-DEUTERONOMIUM=5
-DT=5
-JOZUE=6
-JOZ=6
-SOUDCÅ®=7
-SD=7
-RUT=8
-RT=8
+GENESIS=Gen
+GN=Gen
+EXODUS=Exod
+EX=Exod
+LEVITICUS=Lev
+LV=Lev
+NUMERI=Num
+NU=Num
+DEUTERONOMIUM=Deut
+DT=Deut
+JOZUE=Josh
+JOZ=Josh
+SOUDCÅ®=Judg
+SD=Judg
+RUT=Ruth
+RT=Ruth
-1. SAMUELOVA=9
-1 SAMUELOVA=9
-1SAMUELOVA=9
-1S=9
+1. SAMUELOVA=1Sam
+1 SAMUELOVA=1Sam
+1SAMUELOVA=1Sam
+1S=1Sam
-2. SAMUELOVA=10
-2 SAMUELOVA=10
-2SAMUELOVA=10
-2S=10
+2. SAMUELOVA=2Sam
+2 SAMUELOVA=2Sam
+2SAMUELOVA=2Sam
+2S=2Sam
-1. KRÃLOVSKÃ=11
-1 KRÃLOVSKÃ=11
-1KRÃLOVSKÃ=11
-1KR=11
+1. KRÃLOVSKÃ=1Kgs
+1 KRÃLOVSKÃ=1Kgs
+1KRÃLOVSKÃ=1Kgs
+1KR=1Kgs
-2. KRÃLOVSKÃ=12
-2 KRÃLOVSKÃ=12
-2KRÃLOVSKÃ=12
-2KR=12
+2. KRÃLOVSKÃ=2Kgs
+2 KRÃLOVSKÃ=2Kgs
+2KRÃLOVSKÃ=2Kgs
+2KR=2Kgs
-1. PARALIPOMENON=13
-1 PARALIPOMENON=13
-1PARALIPOMENON=13
-1PA=13
+1. PARALIPOMENON=1Chr
+1 PARALIPOMENON=1Chr
+1PARALIPOMENON=1Chr
+1PA=1Chr
-2. PARALIPOMENON=14
-2 PARALIPOMENON=14
-2PARALIPOMENON=14
-2PA=14
+2. PARALIPOMENON=2Chr
+2 PARALIPOMENON=2Chr
+2PARALIPOMENON=2Chr
+2PA=2Chr
-EZDRÃÅ =15
-EZD=15
-NEHEMIÃÅ =16
-NEH=16
-ESTER=17
-EST=17
-JOB=18
-JB=18
-ŽALMY=19
-Ž=19
-PŘÃSLOVÃ=20
-PŘ=20
-KAZATEL=21
-KAZ=21
-PÃSEŇ Å ALOMOUNOVA=22
-PÃSEŇ Å ALAMOUNOVA=22
-PÃS=22
-IZAIÃÅ =23
-IZ=23
-JEREMIÃÅ =24
-JR=24
-PLÃÄŒ JEREMIÃÅ Å®V=25
-PL=25
-EZECHIEL=26
-EZ=26
-DANIEL=26
-DN=27
-OZEÃÅ =28
-OZ=28
-JOEL=29
-JL=29
-AMOS=30
-AM=30
-ABDIÃÅ =31
-ABD=31
-JONÃÅ =32
-JON=32
-MICHEÃÅ =33
-MI=33
-NAHUM=34
-NA=34
-ABAKUK=35
-AB=35
-SOFONIÃÅ =36
-SF=36
-AGGEUS=37
-AG=37
-ZACHARIÃÅ =38
-ZA=38
-MALACHIÃÅ =39
-MAL=39
-MATOUÅ =40
-MT=40
-MAREK=41
-MK=41
-LUKÃÅ =42
-LK=42
-L=42
-JAN=43
-J=43
-SKUTKY=44
-SK=44
-ŘÃMANÅ®M=45
-Ř=45
+EZDRÃÅ =Ezra
+EZD=Ezra
+NEHEMIÃÅ =Neh
+NEH=Neh
+ESTER=Esth
+EST=Esth
+JOB=Job
+JB=Job
+ŽALMY=Ps
+Ž=Ps
+PŘÃSLOVÃ=Prov
+PŘ=Prov
+KAZATEL=Eccl
+KAZ=Eccl
+PÃSEŇ Å ALOMOUNOVA=Song
+PÃSEŇ Å ALAMOUNOVA=Song
+PÃS=Song
+IZAIÃÅ =Isa
+IZ=Isa
+JEREMIÃÅ =Jer
+JR=Jer
+PLÃÄŒ JEREMIÃÅ Å®V=Lam
+PL=Lam
+EZECHIEL=Ezek
+EZ=Ezek
+DANIEL=Dan
+DN=Dan
+OZEÃÅ =Hos
+OZ=Hos
+JOEL=Joel
+JL=Joel
+AMOS=Amos
+AM=Amos
+ABDIÃÅ =Obad
+ABD=Obad
+JONÃÅ =Jonah
+JON=Jonah
+MICHEÃÅ =Mic
+MI=Mic
+NAHUM=Nah
+NA=Nah
+ABAKUK=Hab
+AB=Hab
+SOFONIÃÅ =Zeph
+SF=Zeph
+AGGEUS=Hag
+AG=Hag
+ZACHARIÃÅ =Zech
+ZA=Zech
+MALACHIÃÅ =Mal
+MAL=Mal
+MATOUÅ =Matt
+MT=Matt
+MAREK=Mark
+MK=Mark
+LUKÃÅ =Luke
+LK=Luke
+L=Luke
+JAN=John
+J=John
+SKUTKY=Acts
+SK=Acts
+ŘÃMANÅ®M=Rom
+Ř=Rom
-1. KORINTSKÃM=46
-1 KORINTSKÃM=46
-1KORINTSKÃM=46
-1K=46
+1. KORINTSKÃM=1Cor
+1 KORINTSKÃM=1Cor
+1KORINTSKÃM=1Cor
+1K=1Cor
-2. KORINTSKÃM=47
-2 KORINTSKÃM=47
-2KORINTSKÃM=47
-2K=47
+2. KORINTSKÃM=2Cor
+2 KORINTSKÃM=2Cor
+2KORINTSKÃM=2Cor
+2K=2Cor
-GALATSKÃM=48
-GA=48
-EFEZSKÃM=49
-EF=49
-FILIPENSKÃM=50
-FP=50
-KOLOSSENSKÃM=51
-KO=51
+GALATSKÃM=Gal
+GA=Gal
+EFEZSKÃM=Eph
+EF=Eph
+FILIPENSKÃM=Phil
+FP=Phil
+KOLOSSENSKÃM=Col
+KO=Col
-1. TESSALONICENSKÃM=52
-1 TESSALONICENSKÃM=52
-1TESSALONICENSKÃM=52
-1TE=52
+1. TESSALONICENSKÃM=1Thess
+1 TESSALONICENSKÃM=1Thess
+1TESSALONICENSKÃM=1Thess
+1TE=1Thess
-2. TESSALONICENSKÃM=53
-2 TESSALONICENSKÃM=53
-2TESSALONICENSKÃM=53
-2TE=53
+2. TESSALONICENSKÃM=2Thess
+2 TESSALONICENSKÃM=2Thess
+2TESSALONICENSKÃM=2Thess
+2TE=2Thess
-1. TIMOTEOVI=54
-1 TIMOTEOVI=54
-1TIMOTEOVI=54
-1TM=54
+1. TIMOTEOVI=1Tim
+1 TIMOTEOVI=1Tim
+1TIMOTEOVI=1Tim
+1TM=1Tim
-2. TIMOTEOVI=55
-2 TIMOTEOVI=55
-2TIMOTEOVI=55
-2TM=55
+2. TIMOTEOVI=2Tim
+2 TIMOTEOVI=2Tim
+2TIMOTEOVI=2Tim
+2TM=2Tim
-TITOVI=56
-TT=56
-FILEMONOVI=57
-FM=57
-ŽIDŮM=58
-ŽD=58
-JAKUB=59
-JK=59
+TITOVI=Titus
+TT=Titus
+FILEMONOVI=Phlm
+FM=Phlm
+ŽIDŮM=Heb
+ŽD=Heb
+JAKUB=Jas
+JK=Jas
-1. PETROVA=60
-1 PETROVA=60
-1PETROVA=60
-1PT=60
+1. PETROVA=1Pet
+1 PETROVA=1Pet
+1PETROVA=1Pet
+1PT=1Pet
-2. PETROVA=61
-2 PETROVA=61
-2PETROVA=61
-2PT=61
+2. PETROVA=2Pet
+2 PETROVA=2Pet
+2PETROVA=2Pet
+2PT=2Pet
-1. JANOVA=62
-1 JANOVA=62
-1JANOVA=62
-1J=62
+1. JANOVA=1John
+1 JANOVA=1John
+1JANOVA=1John
+1J=1John
-2. JANOVA=63
-2 JANOVA=63
-2JANOVA=63
-2J=63
+2. JANOVA=2John
+2 JANOVA=2John
+2JANOVA=2John
+2J=2John
-3. JANOVA=64
-3 JANOVA=64
-3JANOVA=64
-3J=64
+3. JANOVA=3John
+3 JANOVA=3John
+3JANOVA=3John
+3J=3John
-JUDA=65
-JU=65
-ZJEVENÃ=66
-ZJ=66
+JUDA=Jude
+JU=Jude
+ZJEVENÃ=Rev
+ZJ=Rev
diff --git a/locales.d/cs.conf b/locales.d/cs.conf
index 3dffc81..f677aba 100644
--- a/locales.d/cs.conf
+++ b/locales.d/cs.conf
@@ -86,377 +86,193 @@ Jude=Juda
Revelation of John=Zjevení
[Book Abbrevs]
-1 C=46
-1 CHRONICLES=13
-1 CORINTHIANS=46
-1 JN=62
-1 JOHN=62
-1 KGS=11
-1 KINGS=11
-1 PETER=60
-1 PTR=60
-1 SAMUEL=9
-1 THESSALONIANS=52
-1 TIMOTHY=54
-1C=46
-1CHRONICLES=13
-1CORINTHIANS=46
-1JN=62
-1JOHN=62
-1KGS=11
-1KINGS=11
-1PETER=60
-1PTR=60
-1SAMUEL=9
-1THESSALONIANS=52
-1TIMOTHY=54
-2 C=47
-2 CHRONICLES=14
-2 CORINTHIANS=47
-2 JN=63
-2 JOHN=63
-2 KGS=12
-2 KINGS=12
-2 PETER=61
-2 PTR=61
-2 SAMUEL=10
-2 THESSALONIANS=53
-2 TIMOTHY=55
-2C=47
-2CHRONICLES=14
-2CORINTHIANS=47
-2JN=63
-2JOHN=63
-2KGS=12
-2KINGS=12
-2PETER=61
-2PTR=61
-2SAMUEL=10
-2THESSALONIANS=53
-2TIMOTHY=55
-3 JN=64
-3 JOHN=64
-3JN=64
-3JOHN=64
-ACTS=44
-AMOS=30
-APOCALYPSE OF ST. JOHN=66
-C=51
-CANTICLE OF CANTICLES=22
-COC=22
-COLOSSIANS=51
-D=5
-DANIEL=27
-DEUTERONOMY=5
-E=49
-ECCLESIASTES=21
-EPHESIANS=49
-ESTER=17
-ESTHER=17
-EXODUS=2
-EZEKIEL=26
-EZRA=15
-G=1
-GALATIANS=48
-GENESIS=1
-H=58
-HABAKKUK=35
-HAGGAI=37
-HEBREWS=58
-HOSEA=28
-I C=46
-I CHRONICLES=13
-I CORINTHIANS=46
-I JN=62
-I JOHN=62
-I KGS=11
-I KINGS=11
-I PETER=60
-I PTR=60
-I SAMUEL=9
-I THESSALONIANS=52
-I TIMOTHY=54
-IC=46
-ICHRONICLES=13
-ICORINTHIANS=46
-II C=47
-II CHRONICLES=14
-II CORINTHIANS=47
-II JN=63
-II JOHN=63
-II KGS=12
-II KINGS=12
-II PETER=61
-II PTR=61
-II SAMUEL=10
-II THESSALONIANS=53
-II TIMOTHY=55
-IIC=47
-IICHRONICLES=14
-IICORINTHIANS=47
-III JN=64
-III JOHN=64
-IIIJN=64
-IIIJOHN=64
-IIJN=63
-IIJOHN=63
-IIKGS=12
-IIKINGS=12
-IIPETER=61
-IIPTR=61
-IISAMUEL=10
-IITHESSALONIANS=53
-IITIMOTHY=55
-IJN=62
-IJOHN=62
-IKGS=11
-IKINGS=11
-IPETER=60
-IPTR=60
-ISA=23
-ISAIAH=23
-ISAMUEL=9
-ITHESSALONIANS=52
-ITIMOTHY=54
-J=43
-JAMES=59
-JAS=59
-JEREMIAH=24
-JN=43
-JO=43
-JOB=18
-JOEL=29
-JOHN=43
-JONAH=32
-JOSHUA=6
-JUD=7
-JUDE=65
-JUDGES=7
-L=42
-LAMENTATIONS=25
-LEVITICUS=3
-LK=42
-LUKE=42
-MA=40
-MALACHI=39
-MARK=41
-MATTHEW=40
-MICAH=33
-MK=41
-MR=41
-MT=40
-N=4
-NAHUM=34
-NEHEMIAH=16
-NUMBERS=4
-OBADIAH=31
-P=19
-PH=50
-PHILEMON=57
-PHILIPPIANS=50
-PHLM=57
-PHM=57
-PHP=50
-PROVERBS=20
-PSALMS=19
-PSM=19
-PSS=19
-REVELATION OF JOHN=66
-ROMANS=45
-RUTH=8
-SONG OF SOLOMON=22
-SONG OF SONGS=22
-SOS=22
-TITUS=56
-ZECHARIAH=38
-ZEPHANIAH=36
-GENESIS=1
-GN=1
-EXODUS=2
-EX=2
-LEVITICUS=3
-LV=3
-NUMERI=4
-NU=4
-DEUTERONOMIUM=5
-DT=5
-JOZUE=6
-JOZ=6
-SOUDCÙ=7
-SD=7
-RUT=8
-RT=8
+GENESIS=Gen
+GN=Gen
+EXODUS=Exod
+EX=Exod
+LEVITICUS=Lev
+LV=Lev
+NUMERI=Num
+NU=Num
+DEUTERONOMIUM=Deut
+DT=Deut
+JOZUE=Josh
+JOZ=Josh
+SOUDCÙ=Judg
+SD=Judg
+RUT=Ruth
+RT=Ruth
-1. SAMUELOVA=9
-1 SAMUELOVA=9
-1SAMUELOVA=9
-1S=9
+1. SAMUELOVA=1Sam
+1 SAMUELOVA=1Sam
+1SAMUELOVA=1Sam
+1S=1Sam
-2. SAMUELOVA=10
-2 SAMUELOVA=10
-2SAMUELOVA=10
-2S=10
+2. SAMUELOVA=2Sam
+2 SAMUELOVA=2Sam
+2SAMUELOVA=2Sam
+2S=2Sam
-1. KRÁLOVSKÁ=11
-1 KRÁLOVSKÁ=11
-1KRÁLOVSKÁ=11
-1KR=11
+1. KRÁLOVSKÁ=1Kgs
+1 KRÁLOVSKÁ=1Kgs
+1KRÁLOVSKÁ=1Kgs
+1KR=1Kgs
-2. KRÁLOVSKÁ=12
-2 KRÁLOVSKÁ=12
-2KRÁLOVSKÁ=12
-2KR=12
+2. KRÁLOVSKÁ=2Kgs
+2 KRÁLOVSKÁ=2Kgs
+2KRÁLOVSKÁ=2Kgs
+2KR=2Kgs
-1. PARALIPOMENON=13
-1 PARALIPOMENON=13
-1PARALIPOMENON=13
-1PA=13
+1. PARALIPOMENON=1Chr
+1 PARALIPOMENON=1Chr
+1PARALIPOMENON=1Chr
+1PA=1Chr
-2. PARALIPOMENON=14
-2 PARALIPOMENON=14
-2PARALIPOMENON=14
-2PA=14
+2. PARALIPOMENON=2Chr
+2 PARALIPOMENON=2Chr
+2PARALIPOMENON=2Chr
+2PA=2Chr
-EZDRÁ¹=15
-EZD=15
-NEHEMIÁ¹=16
-NEH=16
-ESTER=17
-EST=17
-JOB=18
-JB=18
-®ALMY=19
-®=19
-PØÍSLOVÍ=20
-PØ=20
-KAZATEL=21
-KAZ=21
-PÍSEÒ ©ALOMOUNOVA=22
-PÍSEÒ ©ALAMOUNOVA=22
-PÍS=22
-IZAIÁ¹=23
-IZ=23
-JEREMIÁ¹=24
-JR=24
-PLÁÈ JEREMIÁ¹ÙV=25
-PL=25
-EZECHIEL=26
-EZ=26
-DANIEL=26
-DN=27
-OZEÁ¹=28
-OZ=28
-JOEL=29
-JL=29
-AMOS=30
-AM=30
-ABDIÁ¹=31
-ABD=31
-JONÁ¹=32
-JON=32
-MICHEÁ¹=33
-MI=33
-NAHUM=34
-NA=34
-ABAKUK=35
-AB=35
-SOFONIÁ¹=36
-SF=36
-AGGEUS=37
-AG=37
-ZACHARIÁ¹=38
-ZA=38
-MALACHIÁ¹=39
-MAL=39
-MATOU¹=40
-MT=40
-MAREK=41
-MK=41
-LUKÁ¹=42
-LK=42
-L=42
-JAN=43
-J=43
-SKUTKY=44
-SK=44
-ØÍMANÙM=45
-Ø=45
+EZDRÁ¹=Ezra
+EZD=Ezra
+NEHEMIÁ¹=Neh
+NEH=Neh
+ESTER=Esth
+EST=Esth
+JOB=Job
+JB=Job
+®ALMY=Ps
+®=Ps
+PØÍSLOVÍ=Prov
+PØ=Prov
+KAZATEL=Eccl
+KAZ=Eccl
+PÍSEÒ ©ALOMOUNOVA=Song
+PÍSEÒ ©ALAMOUNOVA=Song
+PÍS=Song
+IZAIÁ¹=Isa
+IZ=Isa
+JEREMIÁ¹=Jer
+JR=Jer
+PLÁÈ JEREMIÁ¹ÙV=Lam
+PL=Lam
+EZECHIEL=Ezek
+EZ=Ezek
+DANIEL=Dan
+DN=Dan
+OZEÁ¹=Hos
+OZ=Hos
+JOEL=Joel
+JL=Joel
+AMOS=Amos
+AM=Amos
+ABDIÁ¹=Obad
+ABD=Obad
+JONÁ¹=Jonah
+JON=Jonah
+MICHEÁ¹=Mic
+MI=Mic
+NAHUM=Nah
+NA=Nah
+ABAKUK=Hab
+AB=Hab
+SOFONIÁ¹=Zeph
+SF=Zeph
+AGGEUS=Hag
+AG=Hag
+ZACHARIÁ¹=Zech
+ZA=Zech
+MALACHIÁ¹=Mal
+MAL=Mal
+MATOU¹=Matt
+MT=Matt
+MAREK=Mark
+MK=Mark
+LUKÁ¹=Luke
+LK=Luke
+L=Luke
+JAN=John
+J=John
+SKUTKY=Acts
+SK=Acts
+ØÍMANÙM=Rom
+Ø=Rom
-1. KORINTSKÝM=46
-1 KORINTSKÝM=46
-1KORINTSKÝM=46
-1K=46
+1. KORINTSKÝM=1Cor
+1 KORINTSKÝM=1Cor
+1KORINTSKÝM=1Cor
+1K=1Cor
-2. KORINTSKÝM=47
-2 KORINTSKÝM=47
-2KORINTSKÝM=47
-2K=47
+2. KORINTSKÝM=2Cor
+2 KORINTSKÝM=2Cor
+2KORINTSKÝM=2Cor
+2K=2Cor
-GALATSKÝM=48
-GA=48
-EFEZSKÝM=49
-EF=49
-FILIPENSKÝM=50
-FP=50
-KOLOSSENSKÝM=51
-KO=51
+GALATSKÝM=Gal
+GA=Gal
+EFEZSKÝM=Eph
+EF=Eph
+FILIPENSKÝM=Phil
+FP=Phil
+KOLOSSENSKÝM=Col
+KO=Col
-1. TESSALONICENSKÝM=52
-1 TESSALONICENSKÝM=52
-1TESSALONICENSKÝM=52
-1TE=52
+1. TESSALONICENSKÝM=1Thess
+1 TESSALONICENSKÝM=1Thess
+1TESSALONICENSKÝM=1Thess
+1TE=1Thess
-2. TESSALONICENSKÝM=53
-2 TESSALONICENSKÝM=53
-2TESSALONICENSKÝM=53
-2TE=53
+2. TESSALONICENSKÝM=2Thess
+2 TESSALONICENSKÝM=2Thess
+2TESSALONICENSKÝM=2Thess
+2TE=2Thess
-1. TIMOTEOVI=54
-1 TIMOTEOVI=54
-1TIMOTEOVI=54
-1TM=54
+1. TIMOTEOVI=1Tim
+1 TIMOTEOVI=1Tim
+1TIMOTEOVI=1Tim
+1TM=1Tim
-2. TIMOTEOVI=55
-2 TIMOTEOVI=55
-2TIMOTEOVI=55
-2TM=55
+2. TIMOTEOVI=2Tim
+2 TIMOTEOVI=2Tim
+2TIMOTEOVI=2Tim
+2TM=2Tim
-TITOVI=56
-TT=56
-FILEMONOVI=57
-FM=57
-®IDÙM=58
-®D=58
-JAKUB=59
-JK=59
+TITOVI=Titus
+TT=Titus
+FILEMONOVI=Phlm
+FM=Phlm
+®IDÙM=Heb
+®D=Heb
+JAKUB=Jas
+JK=Jas
-1. PETROVA=60
-1 PETROVA=60
-1PETROVA=60
-1PT=60
+1. PETROVA=1Pet
+1 PETROVA=1Pet
+1PETROVA=1Pet
+1PT=1Pet
-2. PETROVA=61
-2 PETROVA=61
-2PETROVA=61
-2PT=61
+2. PETROVA=2Pet
+2 PETROVA=2Pet
+2PETROVA=2Pet
+2PT=2Pet
-1. JANOVA=62
-1 JANOVA=62
-1JANOVA=62
-1J=62
+1. JANOVA=1John
+1 JANOVA=1John
+1JANOVA=1John
+1J=1John
-2. JANOVA=63
-2 JANOVA=63
-2JANOVA=63
-2J=63
+2. JANOVA=2John
+2 JANOVA=2John
+2JANOVA=2John
+2J=2John
-3. JANOVA=64
-3 JANOVA=64
-3JANOVA=64
-3J=64
+3. JANOVA=3John
+3 JANOVA=3John
+3JANOVA=3John
+3J=3John
-JUDA=65
-JU=65
-ZJEVENÍ=66
-ZJ=66
+JUDA=Jude
+JU=Jude
+ZJEVENÍ=Rev
+ZJ=Rev
diff --git a/locales.d/cy-utf8.conf b/locales.d/cy-utf8.conf
new file mode 100644
index 0000000..e9332b9
--- /dev/null
+++ b/locales.d/cy-utf8.conf
@@ -0,0 +1,171 @@
+[Meta]
+Name=cy
+Description=Cymraeg (Unicode)
+Encoding=UTF-8
+
+[Text]
+Genesis=Genesis
+Exodus=Exodus
+Leviticus=Lefiticus
+Numbers=Numeri
+Deuteronomy=Deuteronomium
+Joshua=Josua
+Judges=Barnwyr
+Ruth=Rut
+I Samuel=1 Samuel
+II Samuel=2 Samuel
+I Kings=1 Brenhinoedd
+II Kings=2 Brenhinoedd
+I Chronicles=1 Cronicl
+II Chronicles=2 Cronicl
+Ezra=Esra
+Nehemiah=Nehemeia
+Esther=Esther
+Job=Job
+Psalms=Salmau
+Proverbs=Diarhebion
+Ecclesiastes=Pregethwr
+Song of Solomon=Caniad Solomon
+Isaiah=Eseia
+Jeremiah=Jeremeia
+Lamentations=Galarnad
+Ezekiel=Eseciel
+Daniel=Daniel
+Hosea=Hosea
+Joel=Joel
+Amos=Amos
+Obadiah=Obadeia
+Jonah=Jona
+Micah=Micha
+Nahum=Nahum
+Habakkuk=Habacuc
+Zephaniah=Seffaneia
+Haggai=Haggai
+Zechariah=Sechareia
+Malachi=Malachi
+Matthew=Mathew
+Mark=Marc
+Luke=Luc
+John=Ioan
+Acts=Actau
+Romans=Rhufeiniaid
+I Corinthians=1 Corinthiaid
+II Corinthians=2 Corinthiaid
+Galatians=Galatiaid
+Ephesians=Effesiaid
+Philippians=Philipiaid
+Colossians=Colosiaid
+I Thessalonians=1 Thesaloniaid
+II Thessalonians=2 Thesaloniaid
+I Timothy=1 Timotheus
+II Timothy=2 Timotheus
+Titus=Titus
+Philemon=Philemon
+Hebrews=Hebreaid
+James=Iago
+I Peter=1 Pedr
+II Peter=2 Pedr
+I John=1 Ioan
+II John=2 Ioan
+III John=3 Ioan
+Jude=Jwdas
+Revelation of John=Datguddiad
+
+[Book Abbrevs]
+
+GENESIS=Gen
+EXODUS=Exod
+LEFITICUS=Lev
+NUMERI=Num
+DEUTERONOMIUM=Deut
+JOSUA=Josh
+BARNWYR=Judg
+
+1 SAMUEL=1Sam
+1SAMUEL=1Sam
+
+2 SAMUEL=2Sam
+2SAMUEL=2Sam
+
+1 BRENHINOEDD=1Kgs
+1BRENHINOEDD=1Kgs
+
+2 BRENHINOEDD=2Kgs
+2BRENHINOEDD=2Kgs
+
+1 CRONICL=1Chr
+1CRONICL=1Chr
+
+2 CRONICL=2Chr
+2CRONICL=2Chr
+
+ESRA=Ezra
+NEHEMEIA=Neh
+ESTHER=Esth
+SALMAU=Ps
+DIARHEBION=Prov
+PREGETHWR=Eccl
+CANIAD SOLOMON=Song
+ESEIA=Isa
+JEREMEIA=Jer
+GALARNAD=Lam
+ESECIEL=Ezek
+OBADEIA=Obad
+JONA=Jonah
+MICHA=Mic
+HABACUC=Hab
+SEFFANEIA=Zeph
+HAGGAI=Hag
+SECHAREIA=Zech
+
+MATHEW=Matt
+MARC=Mark
+LUC=Luke
+IOAN=John
+ACTAU=Acts
+RHUFEINIAID=Rom
+
+1 CORINTHIAID=1Cor
+1CORINTHIAID=1Cor
+
+2 CORINTHIAID=2Cor
+2CORINTHIAID=2Cor
+
+GALATIAID=Gal
+EFFESIAID=Eph
+PHILIPIAID=Phil
+COLOSIAID=Col
+
+1 THESALONIAID=1Thess
+1THESALONIAID=1Thess
+
+2 THESALONIAID=2Thess
+2THESALONIAID=2Thes
+
+1 TIMOTHEUS=1Tim
+1TIMOTHEUS=1Tim
+
+2 TIMOTHEUS=2Tim
+2TIMOTHEUS=2Tim
+
+HEBREAID=Heb
+IAGO=Jas
+
+1 PEDR=1Pet
+1PEDR=1Pet
+
+2 PEDR=2Pet
+2PEDR=2Pet
+
+1 IOAN=1John
+1IOAN=1John
+
+2 IOAN=2John
+2IOAN=2John
+
+3 IOAN=3John
+3IOAN=3John
+
+JWDAS=Jude
+DATGUDDIAD=Rev
+
diff --git a/locales.d/cy.conf b/locales.d/cy.conf
new file mode 100644
index 0000000..20a4788
--- /dev/null
+++ b/locales.d/cy.conf
@@ -0,0 +1,171 @@
+[Meta]
+Name=cy
+Description=Cymraeg
+Encoding=ISO8859-1
+
+[Text]
+Genesis=Genesis
+Exodus=Exodus
+Leviticus=Lefiticus
+Numbers=Numeri
+Deuteronomy=Deuteronomium
+Joshua=Josua
+Judges=Barnwyr
+Ruth=Rut
+I Samuel=1 Samuel
+II Samuel=2 Samuel
+I Kings=1 Brenhinoedd
+II Kings=2 Brenhinoedd
+I Chronicles=1 Cronicl
+II Chronicles=2 Cronicl
+Ezra=Esra
+Nehemiah=Nehemeia
+Esther=Esther
+Job=Job
+Psalms=Salmau
+Proverbs=Diarhebion
+Ecclesiastes=Pregethwr
+Song of Solomon=Caniad Solomon
+Isaiah=Eseia
+Jeremiah=Jeremeia
+Lamentations=Galarnad
+Ezekiel=Eseciel
+Daniel=Daniel
+Hosea=Hosea
+Joel=Joel
+Amos=Amos
+Obadiah=Obadeia
+Jonah=Jona
+Micah=Micha
+Nahum=Nahum
+Habakkuk=Habacuc
+Zephaniah=Seffaneia
+Haggai=Haggai
+Zechariah=Sechareia
+Malachi=Malachi
+Matthew=Mathew
+Mark=Marc
+Luke=Luc
+John=Ioan
+Acts=Actau
+Romans=Rhufeiniaid
+I Corinthians=1 Corinthiaid
+II Corinthians=2 Corinthiaid
+Galatians=Galatiaid
+Ephesians=Effesiaid
+Philippians=Philipiaid
+Colossians=Colosiaid
+I Thessalonians=1 Thesaloniaid
+II Thessalonians=2 Thesaloniaid
+I Timothy=1 Timotheus
+II Timothy=2 Timotheus
+Titus=Titus
+Philemon=Philemon
+Hebrews=Hebreaid
+James=Iago
+I Peter=1 Pedr
+II Peter=2 Pedr
+I John=1 Ioan
+II John=2 Ioan
+III John=3 Ioan
+Jude=Jwdas
+Revelation of John=Datguddiad
+
+[Book Abbrevs]
+
+GENESIS=Gen
+EXODUS=Exod
+LEFITICUS=Lev
+NUMERI=Num
+DEUTERONOMIUM=Deut
+JOSUA=Josh
+BARNWYR=Judg
+
+1 SAMUEL=1Sam
+1SAMUEL=1Sam
+
+2 SAMUEL=2Sam
+2SAMUEL=2Sam
+
+1 BRENHINOEDD=1Kgs
+1BRENHINOEDD=1Kgs
+
+2 BRENHINOEDD=2Kgs
+2BRENHINOEDD=2Kgs
+
+1 CRONICL=1Chr
+1CRONICL=1Chr
+
+2 CRONICL=2Chr
+2CRONICL=2Chr
+
+ESRA=Ezra
+NEHEMEIA=Neh
+ESTHER=Esth
+SALMAU=Ps
+DIARHEBION=Prov
+PREGETHWR=Eccl
+CANIAD SOLOMON=Song
+ESEIA=Isa
+JEREMEIA=Jer
+GALARNAD=Lam
+ESECIEL=Ezek
+OBADEIA=Obad
+JONA=Jonah
+MICHA=Mic
+HABACUC=Hab
+SEFFANEIA=Zeph
+HAGGAI=Hag
+SECHAREIA=Zech
+
+MATHEW=Matt
+MARC=Mark
+LUC=Luke
+IOAN=John
+ACTAU=Acts
+RHUFEINIAID=Rom
+
+1 CORINTHIAID=1Cor
+1CORINTHIAID=1Cor
+
+2 CORINTHIAID=2Cor
+2CORINTHIAID=2Cor
+
+GALATIAID=Gal
+EFFESIAID=Eph
+PHILIPIAID=Phil
+COLOSIAID=Col
+
+1 THESALONIAID=1Thess
+1THESALONIAID=1Thess
+
+2 THESALONIAID=2Thess
+2THESALONIAID=2Thes
+
+1 TIMOTHEUS=1Tim
+1TIMOTHEUS=1Tim
+
+2 TIMOTHEUS=2Tim
+2TIMOTHEUS=2Tim
+
+HEBREAID=Heb
+IAGO=Jas
+
+1 PEDR=1Pet
+1PEDR=1Pet
+
+2 PEDR=2Pet
+2PEDR=2Pet
+
+1 IOAN=1John
+1IOAN=1John
+
+2 IOAN=2John
+2IOAN=2John
+
+3 IOAN=3John
+3IOAN=3John
+
+JWDAS=Jude
+DATGUDDIAD=Rev
+
diff --git a/locales.d/da-utf8.conf b/locales.d/da-utf8.conf
index e93b4a6..f9635f7 100644
--- a/locales.d/da-utf8.conf
+++ b/locales.d/da-utf8.conf
@@ -1,6 +1,6 @@
[Meta]
Name=da
-Description=Danish (Unicode)
+Description=Dansk (Unicode)
Encoding=UTF-8
[Text]
@@ -72,500 +72,316 @@ Jude=Judas' Brev
Revelation of John=Johannes' Ã…benbaring
[Book Abbrevs]
-1 C=46
-1 CHRONICLES=13
-1 CORINTHIANS=46
-1 JN=62
-1 JOHN=62
-1 KGS=11
-1 KINGS=11
-1 PETER=60
-1 PTR=60
-1 SAMUEL=9
-1 THESSALONIANS=52
-1 TIMOTHY=54
-1C=46
-1CHRONICLES=13
-1CORINTHIANS=46
-1JN=62
-1JOHN=62
-1KGS=11
-1KINGS=11
-1PETER=60
-1PTR=60
-1SAMUEL=9
-1THESSALONIANS=52
-1TIMOTHY=54
-2 C=47
-2 CHRONICLES=14
-2 CORINTHIANS=47
-2 JN=63
-2 JOHN=63
-2 KGS=12
-2 KINGS=12
-2 PETER=61
-2 PTR=61
-2 SAMUEL=10
-2 THESSALONIANS=53
-2 TIMOTHY=55
-2C=47
-2CHRONICLES=14
-2CORINTHIANS=47
-2JN=63
-2JOHN=63
-2KGS=12
-2KINGS=12
-2PETER=61
-2PTR=61
-2SAMUEL=10
-2THESSALONIANS=53
-2TIMOTHY=55
-3 JN=64
-3 JOHN=64
-3JN=64
-3JOHN=64
-ACTS=44
-AMOS=30
-APOCALYPSE OF ST. JOHN=66
-C=51
-CANTICLE OF CANTICLES=22
-COC=22
-COLOSSIANS=51
-D=5
-DANIEL=27
-DEUTERONOMY=5
-E=49
-ECCLESIASTES=21
-EPHESIANS=49
-ESTER=17
-ESTHER=17
-EXODUS=2
-EZEKIEL=26
-EZRA=15
-G=1
-GALATIANS=48
-GENESIS=1
-H=58
-HABAKKUK=35
-HAGGAI=37
-HEBREWS=58
-HOSEA=28
-I C=46
-I CHRONICLES=13
-I CORINTHIANS=46
-I JN=62
-I JOHN=62
-I KGS=11
-I KINGS=11
-I PETER=60
-I PTR=60
-I SAMUEL=9
-I THESSALONIANS=52
-I TIMOTHY=54
-IC=46
-ICHRONICLES=13
-ICORINTHIANS=46
-II C=47
-II CHRONICLES=14
-II CORINTHIANS=47
-II JN=63
-II JOHN=63
-II KGS=12
-II KINGS=12
-II PETER=61
-II PTR=61
-II SAMUEL=10
-II THESSALONIANS=53
-II TIMOTHY=55
-IIC=47
-IICHRONICLES=14
-IICORINTHIANS=47
-III JN=64
-III JOHN=64
-IIIJN=64
-IIIJOHN=64
-IIJN=63
-IIJOHN=63
-IIKGS=12
-IIKINGS=12
-IIPETER=61
-IIPTR=61
-IISAMUEL=10
-IITHESSALONIANS=53
-IITIMOTHY=55
-IJN=62
-IJOHN=62
-IKGS=11
-IKINGS=11
-IPETER=60
-IPTR=60
-ISA=23
-ISAIAH=23
-ISAMUEL=9
-ITHESSALONIANS=52
-ITIMOTHY=54
-J=43
-JAMES=59
-JAS=59
-JEREMIAH=24
-JN=43
-JO=43
-JOB=18
-JOEL=29
-JOHN=43
-JONAH=32
-JOSHUA=6
-JUD=7
-JUDE=65
-JUDGES=7
-L=42
-LAMENTATIONS=25
-LEVITICUS=3
-LK=42
-LUKE=42
-MA=40
-MALACHI=39
-MARK=41
-MATTHEW=40
-MICAH=33
-MK=41
-MR=41
-MT=40
-N=4
-NAHUM=34
-NEHEMIAH=16
-NUMBERS=4
-OBADIAH=31
-P=19
-PH=50
-PHILEMON=57
-PHILIPPIANS=50
-PHLM=57
-PHM=57
-PHP=50
-PROVERBS=20
-PSALMS=19
-PSM=19
-PSS=19
-REVELATION OF JOHN=66
-ROMANS=45
-RUTH=8
-SONG OF SOLOMON=22
-SONG OF SONGS=22
-SOS=22
-TITUS=56
-ZECHARIAH=38
-ZEPHANIAH=36
-
-1. MOSEBOG=1
-1 MOSEBOG=1
-1MOSEBOG=1
-1 MOS=1
-
-2. MOSEBOG=2
-2 MOSEBOG=2
-2MOSEBOG=2
-2 MOS=2
-
-3. MOSEBOG=3
-3 MOSEBOG=3
-3MOSEBOG=3
-3 MOS=3
-
-4. MOSEBOG=4
-4 MOSEBOG=4
-4MOSEBOG=4
-4 MOS=4
-NUMERI=4
-
-5. MOSEBOG=5
-5 MOSEBOG=5
-5MOSEBOG=5
-5 MOS=5
-DEUTERONOMIUM=5
-
-JOSVA=6
-JOSUA=6
-JOS=6
-DOMMER=7
-DOM=7
-JUDICIUM=7
-RUTH=8
-RUT=8
-
-1. SAMUEL=9
-1 SAMUEL=9
-1SAMUEL=9
-1 SAM=9
-
-2. SAMUEL=10
-2 SAMUEL=10
-2SAMUEL=10
-2 SAM=10
-
-1. KONGE=11
-1 KONGE=11
-1KONGE=11
-1 KONG=11
-
-2. KONGE=12
-2 KONGE=12
-2KONGE=12
-2 KONG=12
-
-1. KRØNIKE=13
-1 KRØNIKE=13
-1KRØNIKE=13
-1 KRØN=13
-
-2. KRØNIKE=14
-2 KRØNIKE=14
-2KRØNIKE=14
-2 KRØN=14
-
-EZRA=15
-NEHEMIAS=16
-NEH=16
-ESTER=17
-JOB=18
-SALMERNE=19
-SL=19
-PSALM=19
-PSL=19
-ORDSPROGENE=20
-ORDSP=20
-PRÆDIKEREN=21
-PRÆD=21
-HØJSANGEN=22
-HØJS=22
-SALOMOS HØJSANG=22
-ESAJAS=23
-ES=23
-JEREMIAS=24
-JER=24
-KLAGESANGENE=25
-KLAGES=25
-EZEKIEL=26
-EZ=26
-EZEK=26
-DANIEL=27
-DAN=27
-HOSEAS=28
-HOS=28
-JOEL=29
-AMOS=30
-AM=30
-OBADIAS=31
-OBAD=31
-JONAS=32
-JON=32
-MIKA=33
-NAHUM=34
-HABAKKUK=35
-HAB=35
-ZEFANIAS=36
-ZEF=36
-HAGGAJ=37
-HAGG=37
-ZAKARIAS=38
-ZAK=38
-MALAKIAS=39
-MAL=39
-MATTHÆUS=40
-MATT=40
-MATTH=40
-MARKUS=41
-MARK=41
-LUKAS=42
-LUK=42
-JOHANNES=43
-JOH=43
-APOSTLENE=44
-AP.G=44
-AP G=44
-APG=44
-APOST=44
-ACTA=44
-ROMER=45
-ROM=45
-
-1. KORINTHER=46
-1 KORINTHER=46
-1KORINTHER=46
-1 KOR=46
-
-2. KORINTHER=47
-2 KORINTHER=47
-2KORINTHER=47
-2 KOR=47
-
-GALATER=48
-GALATERNE=48
-GAL=48
-EFESER=49
-EFESERBREVET=49
-EFESERNE=49
-EF=49
-FILIPPER=50
-FILIPPERBREVET=50
-FILIPPERNE=50
-FIL=50
-KOLOSSENSER=51
-KOLOSSENSERNE=51
-KOLOSSENSERBREVET=51
-KOLOSSER=51
-KOLOSSERNE=51
-KOLOSSERBREVET=51
-KOL=51
-
-1. THESSALONIKER=52
-1 THESSALONIKER=52
-1THESSALONIKER=52
-1 TESS=52
-1 THESS=52
-
-2. THESSALONIKER=53
-2 THESSALONIKER=53
-2THESSALONIKER=53
-2 TESS=53
-2 THESS=53
-
-1. TIMOTHEUS=54
-1 TIMOTHEUS=54
-1TIMOTHEUS=54
-1 TIM=54
-
-2. TIMOTHEUS=55
-2 TIMOTHEUS=55
-2TIMOTHEUS=55
-2 TIM=55
-
-TITUS=56
-TIT=56
-FILEMON=57
-FILEM=57
-HEBRÆERNE=58
-HEBR=58
-HEBRÆERBREVET=58
-JAKOB=59
-JAKOBSBREVET=59
-JAK=59
-
-1. PETER=60
-1 PETER=60
-1PETER=60
-1 PET=60
-
-2. PETER=61
-2 PETER=61
-2PETER=61
-2 PET=61
-
-1. JOHANNES=62
-1 JOHANNES=62
-1JOHANNES=62
-1 JOH=62
-
-2. JOHANNES=63
-2 JOHANNES=63
-2JOHANNES=63
-2 JOH=63
-
-3. JOHANNES=64
-3 JOHANNES=64
-3JOHANNES=64
-3 JOH=64
-
-JUDAS=65
-Ã…BENBARINGEN=66
-Ã…B=66
-AAB=66
-Ã…BENBARINGSBOGEN=66
-JOHANNES' APOKALYPSE=66
-APOKALYPSEN=66
-
-FØRSTE MOSEBOG=1
-ANDEN MOSEBOG=2
-TREDJE MOSEBOG=3
-FJERDE MOSEBOG=4
-FEMTE MOSEBOG=5
-JOSVABOGEN=6
-DOMMERBOGEN=7
-RUTHS BOG=8
-
-1. SAMUELSBOG=9
-1 SAMUELSBOG=9
-1SAMUELSBOG=9
-
-2. SAMUELSBOG=10
-2 SAMUELSBOG=10
-2SAMUELSBOG=10
-
-1. KONGEBOG=11
-1 KONGEBOG=11
-1KONGEBOG=11
-
-2. KONGEBOG=12
-2 KONGEBOG=12
-2KONGEBOG=12
-
-1. KRØNIKEBOG=13
-1 KRØNIKEBOG=13
-1KRØNIKEBOG=13
-
-2. KRØNIKEBOG=14
-2 KRØNIKEBOG=14
-2KRØNIKEBOG=14
-
-EZRAS BOG=15
-NEHEMIAS' BOG=16
-ESTERS BOG=17
-JOBS BOG=18
-SALMERNES BOG=19
-ORDSPROGENES BOG=20
-PRÆDIKERENS BOG=21
-HØJSANGEN=22
-ESAJAS' BOG=23
-JEREMIAS' BOG=24
-KLAGESANGENE=25
-EZEKIELS BOG=26
-DANIELS BOG=27
-HOSEAS' BOG=28
-JOELS BOG=29
-AMOS' BOG=30
-OBADIAS' BOG=31
-JONAS' BOG=32
-MIKAS BOG=33
-NAHUMS BOG=34
-HABAKKUKS BOG=35
-SEFANIAS' BOG=36
-HAGGAJS BOG=37
-ZAKARIAS' BOG=38
-MALAKIAS' BOG=39
-MATTHÆUSEVANGELIET=40
-MARKUSEVANGELIET=41
-LUKASEVANGELIET=42
-JOHANNESEVANGELIET=43
-APOSTLENES GERNINGER=44
-PAULUS' BREV TIL ROMERNE=45
-PAULUS' FØRSTE BREV TIL KORINTHERNE=46
-PAULUS' ANDET BREV TIL KORINTHERNE=47
-PAULUS' BREV TIL GALATERNE=48
-PAULUS' BREV TIL EFESERNE=49
-PAULUS' BREV TIL FILIPPERNE=50
-PAULUS' BREV TIL KOLOSSENSERNE=51
-PAULUS' FØRSTE BREV TIL THESSALONIKERNE=52
-PAULUS' ANDET BREV TIL THESSALONIKERNE=53
-PAULUS' FØRSTE BREV TIL TIMOTHEUS=54
-PAULUS' ANDET BREV TIL TIMOTHEUS=55
-PAULUS' BREV TIL TITUS=56
-PAULUS' BREV TIL FILEMON=57
-BREVET TIL HEBRÆERNE=58
-JAKOBS BREV=59
-PETERS FØRSTE BREV=60
-PETERS ANDET BREV=61
-JOHANNES' FØRSTE BREV=62
-JOHANNES' ANDET BREV=63
-JOHANNES' TREDJE BREV=64
-JUDAS' BREV=65
-JOHANNES' Ã…BENBARING=66
+
+1. MOSEBOG=Gen
+1 MOSEBOG=Gen
+1MOSEBOG=Gen
+1 MOS=Gen
+
+2. MOSEBOG=Exod
+2 MOSEBOG=Exod
+2MOSEBOG=Exod
+2 MOS=Exod
+
+3. MOSEBOG=Lev
+3 MOSEBOG=Lev
+3MOSEBOG=Lev
+3 MOS=Lev
+
+4. MOSEBOG=Num
+4 MOSEBOG=Num
+4MOSEBOG=Num
+4 MOS=Num
+NUMERI=Num
+
+5. MOSEBOG=Deut
+5 MOSEBOG=Deut
+5MOSEBOG=Deut
+5 MOS=Deut
+DEUTERONOMIUM=Deut
+
+JOSVA=Josh
+JOSUA=Josh
+JOS=Josh
+DOMMER=Judg
+DOM=Judg
+JUDICIUM=Judg
+RUTH=Ruth
+RUT=Ruth
+
+1. SAMUEL=1Sam
+1 SAMUEL=1Sam
+1SAMUEL=1Sam
+1 SAM=1Sam
+
+2. SAMUEL=2Sam
+2 SAMUEL=2Sam
+2SAMUEL=2Sam
+2 SAM=2Sam
+
+1. KONGE=1Kgs
+1 KONGE=1Kgs
+1KONGE=1Kgs
+1 KONG=1Kgs
+
+2. KONGE=2Kgs
+2 KONGE=2Kgs
+2KONGE=2Kgs
+2 KONG=2Kgs
+
+1. KRØNIKE=1Chr
+1 KRØNIKE=1Chr
+1KRØNIKE=1Chr
+1 KRØN=1Chr
+
+2. KRØNIKE=2Chr
+2 KRØNIKE=2Chr
+2KRØNIKE=2Chr
+2 KRØN=2Chr
+
+EZRA=Ezra
+NEHEMIAS=Neh
+NEH=Neh
+ESTER=Esth
+JOB=Job
+SALMERNE=Ps
+SL=Ps
+PSALM=Ps
+PSL=Ps
+ORDSPROGENE=Prov
+ORDSP=Prov
+PRÆDIKEREN=Eccl
+PRÆD=Eccl
+HØJSANGEN=Song
+HØJS=Song
+SALOMOS HØJSANG=Song
+ESAJAS=Isa
+ES=Isa
+JEREMIAS=Jer
+JER=Jer
+KLAGESANGENE=Lam
+KLAGES=Lam
+EZEKIEL=Ezek
+EZ=Ezek
+EZEK=Ezek
+DANIEL=Dan
+DAN=Dan
+HOSEAS=Hos
+HOS=Hos
+JOEL=Joel
+AMOS=Amos
+AM=Amos
+OBADIAS=Obad
+OBAD=Obad
+JONAS=Jonah
+JON=Jonah
+MIKA=Mic
+NAHUM=Nah
+HABAKKUK=Hab
+HAB=Hab
+ZEFANIAS=Zeph
+ZEF=Zeph
+HAGGAJ=Hag
+HAGG=Hag
+ZAKARIAS=Zech
+ZAK=Zech
+MALAKIAS=Mal
+MAL=Mal
+MATTHÆUS=Matt
+MATT=Matt
+MATTH=Matt
+MARKUS=Mark
+MARK=Mark
+LUKAS=Luke
+LUK=Luke
+JOHANNES=John
+JOH=John
+APOSTLENE=Acts
+AP.G=Acts
+AP G=Acts
+APG=Acts
+APOST=Acts
+ACTA=Acts
+ROMER=Rom
+ROM=Rom
+
+1. KORINTHER=1Cor
+1 KORINTHER=1Cor
+1KORINTHER=1Cor
+1 KOR=1Cor
+
+2. KORINTHER=2Cor
+2 KORINTHER=2Cor
+2KORINTHER=2Cor
+2 KOR=2Cor
+
+GALATER=Gal
+GALATERNE=Gal
+GAL=Gal
+EFESER=Eph
+EFESERBREVET=Eph
+EFESERNE=Eph
+EF=Eph
+FILIPPER=Phil
+FILIPPERBREVET=Phil
+FILIPPERNE=Phil
+FIL=Phil
+KOLOSSENSER=Col
+KOLOSSENSERNE=Col
+KOLOSSENSERBREVET=Col
+KOLOSSER=Col
+KOLOSSERNE=Col
+KOLOSSERBREVET=Col
+KOL=Col
+
+1. THESSALONIKER=1Thess
+1 THESSALONIKER=1Thess
+1THESSALONIKER=1Thess
+1 TESS=1Thess
+1 THESS=1Thess
+
+2. THESSALONIKER=2Thess
+2 THESSALONIKER=2Thess
+2THESSALONIKER=2Thess
+2 TESS=2Thess
+2 THESS=2Thess
+
+1. TIMOTHEUS=1Tim
+1 TIMOTHEUS=1Tim
+1TIMOTHEUS=1Tim
+1 TIM=1Tim
+
+2. TIMOTHEUS=2Tim
+2 TIMOTHEUS=2Tim
+2TIMOTHEUS=2Tim
+2 TIM=2Tim
+
+TITUS=Titus
+TIT=Titus
+FILEMON=Phlm
+FILEM=Phlm
+HEBRÆERNE=Heb
+HEBR=Heb
+HEBRÆERBREVET=Heb
+JAKOB=Jas
+JAKOBSBREVET=Jas
+JAK=Jas
+
+1. PETER=1Pet
+1 PETER=1Pet
+1PETER=1Pet
+1 PET=1Pet
+
+2. PETER=2Pet
+2 PETER=2Pet
+2PETER=2Pet
+2 PET=2Pet
+
+1. JOHANNES=1John
+1 JOHANNES=1John
+1JOHANNES=1John
+1 JOH=1John
+
+2. JOHANNES=2John
+2 JOHANNES=2John
+2JOHANNES=2John
+2 JOH=2John
+
+3. JOHANNES=3John
+3 JOHANNES=3John
+3JOHANNES=3John
+3 JOH=3John
+
+JUDAS=Jude
+Ã…BENBARINGEN=Rev
+Ã…B=Rev
+AAB=Rev
+Ã…BENBARINGSBOGEN=Rev
+JOHANNES' APOKALYPSE=Rev
+APOKALYPSEN=Rev
+
+FØRSTE MOSEBOG=Gen
+ANDEN MOSEBOG=Exod
+TREDJE MOSEBOG=Lev
+FJERDE MOSEBOG=Num
+FEMTE MOSEBOG=Deut
+JOSVABOGEN=Josh
+DOMMERBOGEN=Judg
+RUTHS BOG=Ruth
+
+1. SAMUELSBOG=1Sam
+1 SAMUELSBOG=1Sam
+1SAMUELSBOG=1Sam
+
+2. SAMUELSBOG=2Sam
+2 SAMUELSBOG=2Sam
+2SAMUELSBOG=2Sam
+
+1. KONGEBOG=1Kgs
+1 KONGEBOG=1Kgs
+1KONGEBOG=1Kgs
+
+2. KONGEBOG=2Kgs
+2 KONGEBOG=2Kgs
+2KONGEBOG=2Kgs
+
+1. KRØNIKEBOG=1Chr
+1 KRØNIKEBOG=1Chr
+1KRØNIKEBOG=1Chr
+
+2. KRØNIKEBOG=2Chr
+2 KRØNIKEBOG=2Chr
+2KRØNIKEBOG=2Chr
+
+EZRAS BOG=Ezra
+NEHEMIAS' BOG=Neh
+ESTERS BOG=Esth
+JOBS BOG=Job
+SALMERNES BOG=Ps
+ORDSPROGENES BOG=Prov
+PRÆDIKERENS BOG=Eccl
+HØJSANGEN=Song
+ESAJAS' BOG=Isa
+JEREMIAS' BOG=Jer
+KLAGESANGENE=Lam
+EZEKIELS BOG=Ezek
+DANIELS BOG=Dan
+HOSEAS' BOG=Hos
+JOELS BOG=Joel
+AMOS' BOG=Amos
+OBADIAS' BOG=Obad
+JONAS' BOG=Jonah
+MIKAS BOG=Mic
+NAHUMS BOG=Nah
+HABAKKUKS BOG=Hab
+SEFANIAS' BOG=Zeph
+HAGGAJS BOG=Hag
+ZAKARIAS' BOG=Zech
+MALAKIAS' BOG=Mal
+MATTHÆUSEVANGELIET=Matt
+MARKUSEVANGELIET=Mark
+LUKASEVANGELIET=Luke
+JOHANNESEVANGELIET=John
+APOSTLENES GERNINGER=Acts
+PAULUS' BREV TIL ROMERNE=Rom
+PAULUS' FØRSTE BREV TIL KORINTHERNE=1Cor
+PAULUS' ANDET BREV TIL KORINTHERNE=2Cor
+PAULUS' BREV TIL GALATERNE=Gal
+PAULUS' BREV TIL EFESERNE=Eph
+PAULUS' BREV TIL FILIPPERNE=Phil
+PAULUS' BREV TIL KOLOSSENSERNE=Col
+PAULUS' FØRSTE BREV TIL THESSALONIKERNE=1Thess
+PAULUS' ANDET BREV TIL THESSALONIKERNE=2Thess
+PAULUS' FØRSTE BREV TIL TIMOTHEUS=1Tim
+PAULUS' ANDET BREV TIL TIMOTHEUS=2Tim
+PAULUS' BREV TIL TITUS=Titus
+PAULUS' BREV TIL FILEMON=Phlm
+BREVET TIL HEBRÆERNE=Heb
+JAKOBS BREV=Jas
+PETERS FØRSTE BREV=1Pet
+PETERS ANDET BREV=2Pet
+JOHANNES' FØRSTE BREV=1John
+JOHANNES' ANDET BREV=2John
+JOHANNES' TREDJE BREV=3John
+JUDAS' BREV=Jude
+JOHANNES' Ã…BENBARING=Rev
diff --git a/locales.d/da.conf b/locales.d/da.conf
index e3619be..54c421f 100644
--- a/locales.d/da.conf
+++ b/locales.d/da.conf
@@ -1,6 +1,6 @@
[Meta]
Name=da
-Description=Danish
+Description=Dansk
Encoding=ISO8859-1
[Text]
@@ -72,500 +72,316 @@ Jude=Judas' Brev
Revelation of John=Johannes' Åbenbaring
[Book Abbrevs]
-1 C=46
-1 CHRONICLES=13
-1 CORINTHIANS=46
-1 JN=62
-1 JOHN=62
-1 KGS=11
-1 KINGS=11
-1 PETER=60
-1 PTR=60
-1 SAMUEL=9
-1 THESSALONIANS=52
-1 TIMOTHY=54
-1C=46
-1CHRONICLES=13
-1CORINTHIANS=46
-1JN=62
-1JOHN=62
-1KGS=11
-1KINGS=11
-1PETER=60
-1PTR=60
-1SAMUEL=9
-1THESSALONIANS=52
-1TIMOTHY=54
-2 C=47
-2 CHRONICLES=14
-2 CORINTHIANS=47
-2 JN=63
-2 JOHN=63
-2 KGS=12
-2 KINGS=12
-2 PETER=61
-2 PTR=61
-2 SAMUEL=10
-2 THESSALONIANS=53
-2 TIMOTHY=55
-2C=47
-2CHRONICLES=14
-2CORINTHIANS=47
-2JN=63
-2JOHN=63
-2KGS=12
-2KINGS=12
-2PETER=61
-2PTR=61
-2SAMUEL=10
-2THESSALONIANS=53
-2TIMOTHY=55
-3 JN=64
-3 JOHN=64
-3JN=64
-3JOHN=64
-ACTS=44
-AMOS=30
-APOCALYPSE OF ST. JOHN=66
-C=51
-CANTICLE OF CANTICLES=22
-COC=22
-COLOSSIANS=51
-D=5
-DANIEL=27
-DEUTERONOMY=5
-E=49
-ECCLESIASTES=21
-EPHESIANS=49
-ESTER=17
-ESTHER=17
-EXODUS=2
-EZEKIEL=26
-EZRA=15
-G=1
-GALATIANS=48
-GENESIS=1
-H=58
-HABAKKUK=35
-HAGGAI=37
-HEBREWS=58
-HOSEA=28
-I C=46
-I CHRONICLES=13
-I CORINTHIANS=46
-I JN=62
-I JOHN=62
-I KGS=11
-I KINGS=11
-I PETER=60
-I PTR=60
-I SAMUEL=9
-I THESSALONIANS=52
-I TIMOTHY=54
-IC=46
-ICHRONICLES=13
-ICORINTHIANS=46
-II C=47
-II CHRONICLES=14
-II CORINTHIANS=47
-II JN=63
-II JOHN=63
-II KGS=12
-II KINGS=12
-II PETER=61
-II PTR=61
-II SAMUEL=10
-II THESSALONIANS=53
-II TIMOTHY=55
-IIC=47
-IICHRONICLES=14
-IICORINTHIANS=47
-III JN=64
-III JOHN=64
-IIIJN=64
-IIIJOHN=64
-IIJN=63
-IIJOHN=63
-IIKGS=12
-IIKINGS=12
-IIPETER=61
-IIPTR=61
-IISAMUEL=10
-IITHESSALONIANS=53
-IITIMOTHY=55
-IJN=62
-IJOHN=62
-IKGS=11
-IKINGS=11
-IPETER=60
-IPTR=60
-ISA=23
-ISAIAH=23
-ISAMUEL=9
-ITHESSALONIANS=52
-ITIMOTHY=54
-J=43
-JAMES=59
-JAS=59
-JEREMIAH=24
-JN=43
-JO=43
-JOB=18
-JOEL=29
-JOHN=43
-JONAH=32
-JOSHUA=6
-JUD=7
-JUDE=65
-JUDGES=7
-L=42
-LAMENTATIONS=25
-LEVITICUS=3
-LK=42
-LUKE=42
-MA=40
-MALACHI=39
-MARK=41
-MATTHEW=40
-MICAH=33
-MK=41
-MR=41
-MT=40
-N=4
-NAHUM=34
-NEHEMIAH=16
-NUMBERS=4
-OBADIAH=31
-P=19
-PH=50
-PHILEMON=57
-PHILIPPIANS=50
-PHLM=57
-PHM=57
-PHP=50
-PROVERBS=20
-PSALMS=19
-PSM=19
-PSS=19
-REVELATION OF JOHN=66
-ROMANS=45
-RUTH=8
-SONG OF SOLOMON=22
-SONG OF SONGS=22
-SOS=22
-TITUS=56
-ZECHARIAH=38
-ZEPHANIAH=36
-
-1. MOSEBOG=1
-1 MOSEBOG=1
-1MOSEBOG=1
-1 MOS=1
-
-2. MOSEBOG=2
-2 MOSEBOG=2
-2MOSEBOG=2
-2 MOS=2
-
-3. MOSEBOG=3
-3 MOSEBOG=3
-3MOSEBOG=3
-3 MOS=3
-
-4. MOSEBOG=4
-4 MOSEBOG=4
-4MOSEBOG=4
-4 MOS=4
-NUMERI=4
-
-5. MOSEBOG=5
-5 MOSEBOG=5
-5MOSEBOG=5
-5 MOS=5
-DEUTERONOMIUM=5
-
-JOSVA=6
-JOSUA=6
-JOS=6
-DOMMER=7
-DOM=7
-JUDICIUM=7
-RUTH=8
-RUT=8
-
-1. SAMUEL=9
-1 SAMUEL=9
-1SAMUEL=9
-1 SAM=9
-
-2. SAMUEL=10
-2 SAMUEL=10
-2SAMUEL=10
-2 SAM=10
-
-1. KONGE=11
-1 KONGE=11
-1KONGE=11
-1 KONG=11
-
-2. KONGE=12
-2 KONGE=12
-2KONGE=12
-2 KONG=12
-
-1. KRØNIKE=13
-1 KRØNIKE=13
-1KRØNIKE=13
-1 KRØN=13
-
-2. KRØNIKE=14
-2 KRØNIKE=14
-2KRØNIKE=14
-2 KRØN=14
-
-EZRA=15
-NEHEMIAS=16
-NEH=16
-ESTER=17
-JOB=18
-SALMERNE=19
-SL=19
-PSALM=19
-PSL=19
-ORDSPROGENE=20
-ORDSP=20
-PRÆDIKEREN=21
-PRÆD=21
-HØJSANGEN=22
-HØJS=22
-SALOMOS HØJSANG=22
-ESAJAS=23
-ES=23
-JEREMIAS=24
-JER=24
-KLAGESANGENE=25
-KLAGES=25
-EZEKIEL=26
-EZ=26
-EZEK=26
-DANIEL=27
-DAN=27
-HOSEAS=28
-HOS=28
-JOEL=29
-AMOS=30
-AM=30
-OBADIAS=31
-OBAD=31
-JONAS=32
-JON=32
-MIKA=33
-NAHUM=34
-HABAKKUK=35
-HAB=35
-ZEFANIAS=36
-ZEF=36
-HAGGAJ=37
-HAGG=37
-ZAKARIAS=38
-ZAK=38
-MALAKIAS=39
-MAL=39
-MATTHÆUS=40
-MATT=40
-MATTH=40
-MARKUS=41
-MARK=41
-LUKAS=42
-LUK=42
-JOHANNES=43
-JOH=43
-APOSTLENE=44
-AP.G=44
-AP G=44
-APG=44
-APOST=44
-ACTA=44
-ROMER=45
-ROM=45
-
-1. KORINTHER=46
-1 KORINTHER=46
-1KORINTHER=46
-1 KOR=46
-
-2. KORINTHER=47
-2 KORINTHER=47
-2KORINTHER=47
-2 KOR=47
-
-GALATER=48
-GALATERNE=48
-GAL=48
-EFESER=49
-EFESERBREVET=49
-EFESERNE=49
-EF=49
-FILIPPER=50
-FILIPPERBREVET=50
-FILIPPERNE=50
-FIL=50
-KOLOSSENSER=51
-KOLOSSENSERNE=51
-KOLOSSENSERBREVET=51
-KOLOSSER=51
-KOLOSSERNE=51
-KOLOSSERBREVET=51
-KOL=51
-
-1. THESSALONIKER=52
-1 THESSALONIKER=52
-1THESSALONIKER=52
-1 TESS=52
-1 THESS=52
-
-2. THESSALONIKER=53
-2 THESSALONIKER=53
-2THESSALONIKER=53
-2 TESS=53
-2 THESS=53
-
-1. TIMOTHEUS=54
-1 TIMOTHEUS=54
-1TIMOTHEUS=54
-1 TIM=54
-
-2. TIMOTHEUS=55
-2 TIMOTHEUS=55
-2TIMOTHEUS=55
-2 TIM=55
-
-TITUS=56
-TIT=56
-FILEMON=57
-FILEM=57
-HEBRÆERNE=58
-HEBR=58
-HEBRÆERBREVET=58
-JAKOB=59
-JAKOBSBREVET=59
-JAK=59
-
-1. PETER=60
-1 PETER=60
-1PETER=60
-1 PET=60
-
-2. PETER=61
-2 PETER=61
-2PETER=61
-2 PET=61
-
-1. JOHANNES=62
-1 JOHANNES=62
-1JOHANNES=62
-1 JOH=62
-
-2. JOHANNES=63
-2 JOHANNES=63
-2JOHANNES=63
-2 JOH=63
-
-3. JOHANNES=64
-3 JOHANNES=64
-3JOHANNES=64
-3 JOH=64
-
-JUDAS=65
-ÅBENBARINGEN=66
-ÅB=66
-AAB=66
-ÅBENBARINGSBOGEN=66
-JOHANNES' APOKALYPSE=66
-APOKALYPSEN=66
-
-FØRSTE MOSEBOG=1
-ANDEN MOSEBOG=2
-TREDJE MOSEBOG=3
-FJERDE MOSEBOG=4
-FEMTE MOSEBOG=5
-JOSVABOGEN=6
-DOMMERBOGEN=7
-RUTHS BOG=8
-
-1. SAMUELSBOG=9
-1 SAMUELSBOG=9
-1SAMUELSBOG=9
-
-2. SAMUELSBOG=10
-2 SAMUELSBOG=10
-2SAMUELSBOG=10
-
-1. KONGEBOG=11
-1 KONGEBOG=11
-1KONGEBOG=11
-
-2. KONGEBOG=12
-2 KONGEBOG=12
-2KONGEBOG=12
-
-1. KRØNIKEBOG=13
-1 KRØNIKEBOG=13
-1KRØNIKEBOG=13
-
-2. KRØNIKEBOG=14
-2 KRØNIKEBOG=14
-2KRØNIKEBOG=14
-
-EZRAS BOG=15
-NEHEMIAS' BOG=16
-ESTERS BOG=17
-JOBS BOG=18
-SALMERNES BOG=19
-ORDSPROGENES BOG=20
-PRÆDIKERENS BOG=21
-HØJSANGEN=22
-ESAJAS' BOG=23
-JEREMIAS' BOG=24
-KLAGESANGENE=25
-EZEKIELS BOG=26
-DANIELS BOG=27
-HOSEAS' BOG=28
-JOELS BOG=29
-AMOS' BOG=30
-OBADIAS' BOG=31
-JONAS' BOG=32
-MIKAS BOG=33
-NAHUMS BOG=34
-HABAKKUKS BOG=35
-SEFANIAS' BOG=36
-HAGGAJS BOG=37
-ZAKARIAS' BOG=38
-MALAKIAS' BOG=39
-MATTHÆUSEVANGELIET=40
-MARKUSEVANGELIET=41
-LUKASEVANGELIET=42
-JOHANNESEVANGELIET=43
-APOSTLENES GERNINGER=44
-PAULUS' BREV TIL ROMERNE=45
-PAULUS' FØRSTE BREV TIL KORINTHERNE=46
-PAULUS' ANDET BREV TIL KORINTHERNE=47
-PAULUS' BREV TIL GALATERNE=48
-PAULUS' BREV TIL EFESERNE=49
-PAULUS' BREV TIL FILIPPERNE=50
-PAULUS' BREV TIL KOLOSSENSERNE=51
-PAULUS' FØRSTE BREV TIL THESSALONIKERNE=52
-PAULUS' ANDET BREV TIL THESSALONIKERNE=53
-PAULUS' FØRSTE BREV TIL TIMOTHEUS=54
-PAULUS' ANDET BREV TIL TIMOTHEUS=55
-PAULUS' BREV TIL TITUS=56
-PAULUS' BREV TIL FILEMON=57
-BREVET TIL HEBRÆERNE=58
-JAKOBS BREV=59
-PETERS FØRSTE BREV=60
-PETERS ANDET BREV=61
-JOHANNES' FØRSTE BREV=62
-JOHANNES' ANDET BREV=63
-JOHANNES' TREDJE BREV=64
-JUDAS' BREV=65
-JOHANNES' ÅBENBARING=66
+
+1. MOSEBOG=Gen
+1 MOSEBOG=Gen
+1MOSEBOG=Gen
+1 MOS=Gen
+
+2. MOSEBOG=Exod
+2 MOSEBOG=Exod
+2MOSEBOG=Exod
+2 MOS=Exod
+
+3. MOSEBOG=Lev
+3 MOSEBOG=Lev
+3MOSEBOG=Lev
+3 MOS=Lev
+
+4. MOSEBOG=Num
+4 MOSEBOG=Num
+4MOSEBOG=Num
+4 MOS=Num
+NUMERI=Num
+
+5. MOSEBOG=Deut
+5 MOSEBOG=Deut
+5MOSEBOG=Deut
+5 MOS=Deut
+DEUTERONOMIUM=Deut
+
+JOSVA=Josh
+JOSUA=Josh
+JOS=Josh
+DOMMER=Judg
+DOM=Judg
+JUDICIUM=Judg
+RUTH=Ruth
+RUT=Ruth
+
+1. SAMUEL=1Sam
+1 SAMUEL=1Sam
+1SAMUEL=1Sam
+1 SAM=1Sam
+
+2. SAMUEL=2Sam
+2 SAMUEL=2Sam
+2SAMUEL=2Sam
+2 SAM=2Sam
+
+1. KONGE=1Kgs
+1 KONGE=1Kgs
+1KONGE=1Kgs
+1 KONG=1Kgs
+
+2. KONGE=2Kgs
+2 KONGE=2Kgs
+2KONGE=2Kgs
+2 KONG=2Kgs
+
+1. KRØNIKE=1Chr
+1 KRØNIKE=1Chr
+1KRØNIKE=1Chr
+1 KRØN=1Chr
+
+2. KRØNIKE=2Chr
+2 KRØNIKE=2Chr
+2KRØNIKE=2Chr
+2 KRØN=2Chr
+
+EZRA=Ezra
+NEHEMIAS=Neh
+NEH=Neh
+ESTER=Esth
+JOB=Job
+SALMERNE=Ps
+SL=Ps
+PSALM=Ps
+PSL=Ps
+ORDSPROGENE=Prov
+ORDSP=Prov
+PRÆDIKEREN=Eccl
+PRÆD=Eccl
+HØJSANGEN=Song
+HØJS=Song
+SALOMOS HØJSANG=Song
+ESAJAS=Isa
+ES=Isa
+JEREMIAS=Jer
+JER=Jer
+KLAGESANGENE=Lam
+KLAGES=Lam
+EZEKIEL=Ezek
+EZ=Ezek
+EZEK=Ezek
+DANIEL=Dan
+DAN=Dan
+HOSEAS=Hos
+HOS=Hos
+JOEL=Joel
+AMOS=Amos
+AM=Amos
+OBADIAS=Obad
+OBAD=Obad
+JONAS=Jonah
+JON=Jonah
+MIKA=Mic
+NAHUM=Nah
+HABAKKUK=Hab
+HAB=Hab
+ZEFANIAS=Zeph
+ZEF=Zeph
+HAGGAJ=Hag
+HAGG=Hag
+ZAKARIAS=Zech
+ZAK=Zech
+MALAKIAS=Mal
+MAL=Mal
+MATTHÆUS=Matt
+MATT=Matt
+MATTH=Matt
+MARKUS=Mark
+MARK=Mark
+LUKAS=Luke
+LUK=Luke
+JOHANNES=John
+JOH=John
+APOSTLENE=Acts
+AP.G=Acts
+AP G=Acts
+APG=Acts
+APOST=Acts
+ACTA=Acts
+ROMER=Rom
+ROM=Rom
+
+1. KORINTHER=1Cor
+1 KORINTHER=1Cor
+1KORINTHER=1Cor
+1 KOR=1Cor
+
+2. KORINTHER=2Cor
+2 KORINTHER=2Cor
+2KORINTHER=2Cor
+2 KOR=2Cor
+
+GALATER=Gal
+GALATERNE=Gal
+GAL=Gal
+EFESER=Eph
+EFESERBREVET=Eph
+EFESERNE=Eph
+EF=Eph
+FILIPPER=Phil
+FILIPPERBREVET=Phil
+FILIPPERNE=Phil
+FIL=Phil
+KOLOSSENSER=Col
+KOLOSSENSERNE=Col
+KOLOSSENSERBREVET=Col
+KOLOSSER=Col
+KOLOSSERNE=Col
+KOLOSSERBREVET=Col
+KOL=Col
+
+1. THESSALONIKER=1Thess
+1 THESSALONIKER=1Thess
+1THESSALONIKER=1Thess
+1 TESS=1Thess
+1 THESS=1Thess
+
+2. THESSALONIKER=2Thess
+2 THESSALONIKER=2Thess
+2THESSALONIKER=2Thess
+2 TESS=2Thess
+2 THESS=2Thess
+
+1. TIMOTHEUS=1Tim
+1 TIMOTHEUS=1Tim
+1TIMOTHEUS=1Tim
+1 TIM=1Tim
+
+2. TIMOTHEUS=2Tim
+2 TIMOTHEUS=2Tim
+2TIMOTHEUS=2Tim
+2 TIM=2Tim
+
+TITUS=Titus
+TIT=Titus
+FILEMON=Phlm
+FILEM=Phlm
+HEBRÆERNE=Heb
+HEBR=Heb
+HEBRÆERBREVET=Heb
+JAKOB=Jas
+JAKOBSBREVET=Jas
+JAK=Jas
+
+1. PETER=1Pet
+1 PETER=1Pet
+1PETER=1Pet
+1 PET=1Pet
+
+2. PETER=2Pet
+2 PETER=2Pet
+2PETER=2Pet
+2 PET=2Pet
+
+1. JOHANNES=1John
+1 JOHANNES=1John
+1JOHANNES=1John
+1 JOH=1John
+
+2. JOHANNES=2John
+2 JOHANNES=2John
+2JOHANNES=2John
+2 JOH=2John
+
+3. JOHANNES=3John
+3 JOHANNES=3John
+3JOHANNES=3John
+3 JOH=3John
+
+JUDAS=Jude
+ÅBENBARINGEN=Rev
+ÅB=Rev
+AAB=Rev
+ÅBENBARINGSBOGEN=Rev
+JOHANNES' APOKALYPSE=Rev
+APOKALYPSEN=Rev
+
+FØRSTE MOSEBOG=Gen
+ANDEN MOSEBOG=Exod
+TREDJE MOSEBOG=Lev
+FJERDE MOSEBOG=Num
+FEMTE MOSEBOG=Deut
+JOSVABOGEN=Josh
+DOMMERBOGEN=Judg
+RUTHS BOG=Ruth
+
+1. SAMUELSBOG=1Sam
+1 SAMUELSBOG=1Sam
+1SAMUELSBOG=1Sam
+
+2. SAMUELSBOG=2Sam
+2 SAMUELSBOG=2Sam
+2SAMUELSBOG=2Sam
+
+1. KONGEBOG=1Kgs
+1 KONGEBOG=1Kgs
+1KONGEBOG=1Kgs
+
+2. KONGEBOG=2Kgs
+2 KONGEBOG=2Kgs
+2KONGEBOG=2Kgs
+
+1. KRØNIKEBOG=1Chr
+1 KRØNIKEBOG=1Chr
+1KRØNIKEBOG=1Chr
+
+2. KRØNIKEBOG=2Chr
+2 KRØNIKEBOG=2Chr
+2KRØNIKEBOG=2Chr
+
+EZRAS BOG=Ezra
+NEHEMIAS' BOG=Neh
+ESTERS BOG=Esth
+JOBS BOG=Job
+SALMERNES BOG=Ps
+ORDSPROGENES BOG=Prov
+PRÆDIKERENS BOG=Eccl
+HØJSANGEN=Song
+ESAJAS' BOG=Isa
+JEREMIAS' BOG=Jer
+KLAGESANGENE=Lam
+EZEKIELS BOG=Ezek
+DANIELS BOG=Dan
+HOSEAS' BOG=Hos
+JOELS BOG=Joel
+AMOS' BOG=Amos
+OBADIAS' BOG=Obad
+JONAS' BOG=Jonah
+MIKAS BOG=Mic
+NAHUMS BOG=Nah
+HABAKKUKS BOG=Hab
+SEFANIAS' BOG=Zeph
+HAGGAJS BOG=Hag
+ZAKARIAS' BOG=Zech
+MALAKIAS' BOG=Mal
+MATTHÆUSEVANGELIET=Matt
+MARKUSEVANGELIET=Mark
+LUKASEVANGELIET=Luke
+JOHANNESEVANGELIET=John
+APOSTLENES GERNINGER=Acts
+PAULUS' BREV TIL ROMERNE=Rom
+PAULUS' FØRSTE BREV TIL KORINTHERNE=1Cor
+PAULUS' ANDET BREV TIL KORINTHERNE=2Cor
+PAULUS' BREV TIL GALATERNE=Gal
+PAULUS' BREV TIL EFESERNE=Eph
+PAULUS' BREV TIL FILIPPERNE=Phil
+PAULUS' BREV TIL KOLOSSENSERNE=Col
+PAULUS' FØRSTE BREV TIL THESSALONIKERNE=1Thess
+PAULUS' ANDET BREV TIL THESSALONIKERNE=2Thess
+PAULUS' FØRSTE BREV TIL TIMOTHEUS=1Tim
+PAULUS' ANDET BREV TIL TIMOTHEUS=2Tim
+PAULUS' BREV TIL TITUS=Titus
+PAULUS' BREV TIL FILEMON=Phlm
+BREVET TIL HEBRÆERNE=Heb
+JAKOBS BREV=Jas
+PETERS FØRSTE BREV=1Pet
+PETERS ANDET BREV=2Pet
+JOHANNES' FØRSTE BREV=1John
+JOHANNES' ANDET BREV=2John
+JOHANNES' TREDJE BREV=3John
+JUDAS' BREV=Jude
+JOHANNES' ÅBENBARING=Rev
diff --git a/locales.d/de-utf8.conf b/locales.d/de-utf8.conf
index 4e02861..fb1fb7e 100644
--- a/locales.d/de-utf8.conf
+++ b/locales.d/de-utf8.conf
@@ -1,7 +1,6 @@
-
[Meta]
Name=de
-Description=German (Unicode)
+Description=Deutsch (Unicode)
Encoding=UTF-8
[Text]
@@ -73,349 +72,165 @@ Jude=Judas
Revelation of John=Offenbarung
[Book Abbrevs]
-1 C=46
-1 CHRONICLES=13
-1 CORINTHIANS=46
-1 JN=62
-1 JOHN=62
-1 KGS=11
-1 KINGS=11
-1 PETER=60
-1 PTR=60
-1 SAMUEL=9
-1 THESSALONIANS=52
-1 TIMOTHY=54
-1C=46
-1CHRONICLES=13
-1CORINTHIANS=46
-1JN=62
-1JOHN=62
-1KGS=11
-1KINGS=11
-1PETER=60
-1PTR=60
-1SAMUEL=9
-1THESSALONIANS=52
-1TIMOTHY=54
-2 C=47
-2 CHRONICLES=14
-2 CORINTHIANS=47
-2 JN=63
-2 JOHN=63
-2 KGS=12
-2 KINGS=12
-2 PETER=61
-2 PTR=61
-2 SAMUEL=10
-2 THESSALONIANS=53
-2 TIMOTHY=55
-2C=47
-2CHRONICLES=14
-2CORINTHIANS=47
-2JN=63
-2JOHN=63
-2KGS=12
-2KINGS=12
-2PETER=61
-2PTR=61
-2SAMUEL=10
-2THESSALONIANS=53
-2TIMOTHY=55
-3 JN=64
-3 JOHN=64
-3JN=64
-3JOHN=64
-ACTS=44
-AMOS=30
-APOCALYPSE OF ST. JOHN=66
-C=51
-CANTICLE OF CANTICLES=22
-COC=22
-COLOSSIANS=51
-D=5
-DANIEL=27
-DEUTERONOMY=5
-E=49
-ECCLESIASTES=21
-EPHESIANS=49
-ESTER=17
-ESTHER=17
-EXODUS=2
-EZEKIEL=26
-EZRA=15
-G=1
-GALATIANS=48
-GENESIS=1
-H=58
-HABAKKUK=35
-HAGGAI=37
-HEBREWS=58
-HOSEA=28
-I C=46
-I CHRONICLES=13
-I CORINTHIANS=46
-I JN=62
-I JOHN=62
-I KGS=11
-I KINGS=11
-I PETER=60
-I PTR=60
-I SAMUEL=9
-I THESSALONIANS=52
-I TIMOTHY=54
-IC=46
-ICHRONICLES=13
-ICORINTHIANS=46
-II C=47
-II CHRONICLES=14
-II CORINTHIANS=47
-II JN=63
-II JOHN=63
-II KGS=12
-II KINGS=12
-II PETER=61
-II PTR=61
-II SAMUEL=10
-II THESSALONIANS=53
-II TIMOTHY=55
-IIC=47
-IICHRONICLES=14
-IICORINTHIANS=47
-III JN=64
-III JOHN=64
-IIIJN=64
-IIIJOHN=64
-IIJN=63
-IIJOHN=63
-IIKGS=12
-IIKINGS=12
-IIPETER=61
-IIPTR=61
-IISAMUEL=10
-IITHESSALONIANS=53
-IITIMOTHY=55
-IJN=62
-IJOHN=62
-IKGS=11
-IKINGS=11
-IPETER=60
-IPTR=60
-ISA=23
-ISAIAH=23
-ISAMUEL=9
-ITHESSALONIANS=52
-ITIMOTHY=54
-J=43
-JAMES=59
-JAS=59
-JEREMIAH=24
-JN=43
-JO=43
-JOB=18
-JOEL=29
-JOHN=43
-JONAH=32
-JOSHUA=6
-JUD=7
-JUDE=65
-JUDGES=7
-L=42
-LAMENTATIONS=25
-LEVITICUS=3
-LK=42
-LUKE=42
-MA=40
-MALACHI=39
-MARK=41
-MATTHEW=40
-MICAH=33
-MK=41
-MR=41
-MT=40
-N=4
-NAHUM=34
-NEHEMIAH=16
-NUMBERS=4
-OBADIAH=31
-P=19
-PH=50
-PHILEMON=57
-PHILIPPIANS=50
-PHLM=57
-PHM=57
-PHP=50
-PROVERBS=20
-PSALMS=19
-PSM=19
-PSS=19
-REVELATION OF JOHN=66
-ROMANS=45
-RUTH=8
-SONG OF SOLOMON=22
-SONG OF SONGS=22
-SOS=22
-TITUS=56
-ZECHARIAH=38
-ZEPHANIAH=36
-
-1. MOSE=1
-1 MOSE=1
-1MOSE=1
-1MO=1
-
-2. MOSE=2
-2 MOSE=2
-2MOSE=2
-2MO=2
-
-3. MOSE=3
-3 MOSE=3
-3MOSE=3
-3MO=3
-
-4. MOSE=4
-4 MOSE=4
-4MOSE=4
-4MO=4
-
-5. MOSE=5
-5 MOSE=5
-5MOSE=5
-5MO=5
-
-JOSUA=6
-RICHTER=7
-RUT=8
-
-1. SAMUEL=9
-1 SAMUEL=9
-1SAMUEL=9
-1SAM=9
-
-2. SAMUEL=10
-2 SAMUEL=10
-2SAM=10
-
-1. KÖNIGE=11
-1 KÖNIGE=11
-1KÖNIGE=11
-1KÖN=11
-
-2. KÖNIGE=12
-2 KÖNIGE=12
-2KÖN=12
-2KÖN=12
-
-1. CHRONIK=13
-1 CHRONIK=13
-1CHRONIK=13
-1CHR=13
-
-2. CHRONIK=14
-2 CHRONIK=14
-2CHRONIK=14
-2CHR=14
-
-ESRA=15
-NEHEMIA=16
-ESTER=17
-HIOB=18
-PSALMEN=19
-SPRÃœCHE=20
-PREDIGER=21
-HOHESLIED=22
-JESAJA=23
-JEREMIA=24
-KLAGELIEDER=25
-HESEKIEL=26
-DANIEL=27
-HOSEA=28
-JOEL=29
-AMOS=30
-OBADJA=31
-JONA=32
-MICHA=33
-NAHUM=34
-HABAKUK=35
-ZEFANJA=36
-ZEPHANJA=36
-HAGGAI=37
-SACHARJA=38
-MALEACHI=39
-MATTHÄUS=40
-MARKUS=41
-LUKAS=42
-JOHANNES=43
-APOSTELGESCHICHTE=44
-RÖMER=45
-
-1. KORINTHER=46
-1 KORINTHER=46
-1KORINTHER=46
-1KOR=46
-
-2. KORINTHER=47
-2 KORINTHER=47
-2KORINTHER=47
-2KOR=47
-
-GALATER=48
-EPHESER=49
-PHILIPPER=50
-KOLOSSER=51
-
-1. THESSALONICHER=52
-1 THESSALONICHER=52
-1THESSALONICHER=52
-1THESS=52
-
-2. THESSALONICHER=53
-2 THESSALONICHER=53
-2THESSALONICHER=53
-2THESS=53
-
-1. TIMOTHEUS=54
-1 TIMOTHEUS=54
-1TIMOTHEUS=54
-1TIM=54
-
-2. TIMOTHEUS=55
-2 TIMOTHEUS=55
-2TIMOTHEUS=55
-2TIM=55
-
-TITUS=56
-PHILEMON=57
-HEBRÄER=58
-JAKOBUS=59
-
-1. PETRUS=60
-1 PETRUS=60
-1PETRUS=60
-1PET=60
-
-2. PETRUS=61
-2 PETRUS=61
-2PETRUS=61
-2PET=61
-
-1. JOHANNES=62
-1 JOHANNES=62
-1JOHANNES=62
-1JOH=62
-
-2. JOHANNES=63
-2 JOHANNES=63
-2JOHANNES=63
-2JOH=63
-
-3. JOHANNES=64
-3 JOHANNES=64
-3JOHANNES=64
-3JOH=64
-
-JUDAS=65
-OFFENBARUNG=66
-OFFB=66
-APC=66
+1. MOSE=Gen
+1 MOSE=Gen
+1MOSE=Gen
+1MO=Gen
+
+2. MOSE=Exod
+2 MOSE=Exod
+2MOSE=Exod
+2MO=Exod
+
+3. MOSE=Lev
+3 MOSE=Lev
+3MOSE=Lev
+3MO=Lev
+
+4. MOSE=Num
+4 MOSE=Num
+4MOSE=Num
+4MO=Num
+
+5. MOSE=Deut
+5 MOSE=Deut
+5MOSE=Deut
+5MO=Deut
+
+JOSUA=Josh
+RICHTER=Judg
+RUT=Ruth
+
+1. SAMUEL=1Sam
+1 SAMUEL=1Sam
+1SAMUEL=1Sam
+1SAM=1Sam
+
+2. SAMUEL=2Sam
+2 SAMUEL=2Sam
+2SAM=2Sam
+
+1. KÖNIGE=1Kgs
+1 KÖNIGE=1Kgs
+1KÖNIGE=1Kgs
+1KÖN=1Kgs
+
+2. KÖNIGE=2Kgs
+2 KÖNIGE=2Kgs
+2KÖN=2Kgs
+2KÖN=2Kgs
+
+1. CHRONIK=1Chr
+1 CHRONIK=1Chr
+1CHRONIK=1Chr
+1CHR=1Chr
+
+2. CHRONIK=2Chr
+2 CHRONIK=2Chr
+2CHRONIK=2Chr
+2CHR=2Chr
+
+ESRA=Ezra
+NEHEMIA=Neh
+ESTER=Esth
+HIOB=Job
+PSALMEN=Ps
+SPRÃœCHE=Prov
+PREDIGER=Eccl
+HOHESLIED=Song
+JESAJA=Isa
+JEREMIA=Jer
+KLAGELIEDER=Lam
+HESEKIEL=Ezek
+DANIEL=Dan
+HOSEA=Hos
+JOEL=Joel
+AMOS=Amos
+OBADJA=Obad
+JONA=Jonah
+MICHA=Mic
+NAHUM=Nah
+HABAKUK=Hab
+ZEFANJA=Zeph
+ZEPHANJA=Zeph
+HAGGAI=Hag
+SACHARJA=Zech
+MALEACHI=Mal
+MATTHÄUS=Matt
+MARKUS=Mark
+LUKAS=Luke
+JOHANNES=John
+APOSTELGESCHICHTE=Acts
+RÖMER=Rom
+
+1. KORINTHER=1Cor
+1 KORINTHER=1Cor
+1KORINTHER=1Cor
+1KOR=1Cor
+
+2. KORINTHER=2Cor
+2 KORINTHER=2Cor
+2KORINTHER=2Cor
+2KOR=2Cor
+
+GALATER=Gal
+EPHESER=Eph
+PHILIPPER=Phil
+KOLOSSER=Col
+
+1. THESSALONICHER=1Thess
+1 THESSALONICHER=1Thess
+1THESSALONICHER=1Thess
+1THESS=1Thess
+
+2. THESSALONICHER=2Thess
+2 THESSALONICHER=2Thess
+2THESSALONICHER=2Thess
+2THESS=2Thess
+
+1. TIMOTHEUS=1Tim
+1 TIMOTHEUS=1Tim
+1TIMOTHEUS=1Tim
+1TIM=1Tim
+
+2. TIMOTHEUS=2Tim
+2 TIMOTHEUS=2Tim
+2TIMOTHEUS=2Tim
+2TIM=2Tim
+
+TITUS=Titus
+PHILEMON=Phlm
+HEBRÄER=Heb
+JAKOBUS=Jas
+
+1. PETRUS=1Pet
+1 PETRUS=1Pet
+1PETRUS=1Pet
+1PET=1Pet
+
+2. PETRUS=2Pet
+2 PETRUS=2Pet
+2PETRUS=2Pet
+2PET=2Pet
+
+1. JOHANNES=1John
+1 JOHANNES=1John
+1JOHANNES=1John
+1JOH=1John
+
+2. JOHANNES=2John
+2 JOHANNES=2John
+2JOHANNES=2John
+2JOH=2John
+
+3. JOHANNES=3John
+3 JOHANNES=3John
+3JOHANNES=3John
+3JOH=3John
+
+JUDAS=Jude
+
+OFFENBARUNG=Rev
+OFFB=Rev
+APC=Rev
diff --git a/locales.d/de.conf b/locales.d/de.conf
index beb799d..a0ea7ca 100644
--- a/locales.d/de.conf
+++ b/locales.d/de.conf
@@ -1,6 +1,6 @@
[Meta]
Name=de
-Description=German
+Description=Deutsch
Encoding=ISO8859-1
[Text]
@@ -72,349 +72,165 @@ Jude=Judas
Revelation of John=Offenbarung
[Book Abbrevs]
-1 C=46
-1 CHRONICLES=13
-1 CORINTHIANS=46
-1 JN=62
-1 JOHN=62
-1 KGS=11
-1 KINGS=11
-1 PETER=60
-1 PTR=60
-1 SAMUEL=9
-1 THESSALONIANS=52
-1 TIMOTHY=54
-1C=46
-1CHRONICLES=13
-1CORINTHIANS=46
-1JN=62
-1JOHN=62
-1KGS=11
-1KINGS=11
-1PETER=60
-1PTR=60
-1SAMUEL=9
-1THESSALONIANS=52
-1TIMOTHY=54
-2 C=47
-2 CHRONICLES=14
-2 CORINTHIANS=47
-2 JN=63
-2 JOHN=63
-2 KGS=12
-2 KINGS=12
-2 PETER=61
-2 PTR=61
-2 SAMUEL=10
-2 THESSALONIANS=53
-2 TIMOTHY=55
-2C=47
-2CHRONICLES=14
-2CORINTHIANS=47
-2JN=63
-2JOHN=63
-2KGS=12
-2KINGS=12
-2PETER=61
-2PTR=61
-2SAMUEL=10
-2THESSALONIANS=53
-2TIMOTHY=55
-3 JN=64
-3 JOHN=64
-3JN=64
-3JOHN=64
-ACTS=44
-AMOS=30
-APOCALYPSE OF ST. JOHN=66
-C=51
-CANTICLE OF CANTICLES=22
-COC=22
-COLOSSIANS=51
-D=5
-DANIEL=27
-DEUTERONOMY=5
-E=49
-ECCLESIASTES=21
-EPHESIANS=49
-ESTER=17
-ESTHER=17
-EXODUS=2
-EZEKIEL=26
-EZRA=15
-G=1
-GALATIANS=48
-GENESIS=1
-H=58
-HABAKKUK=35
-HAGGAI=37
-HEBREWS=58
-HOSEA=28
-I C=46
-I CHRONICLES=13
-I CORINTHIANS=46
-I JN=62
-I JOHN=62
-I KGS=11
-I KINGS=11
-I PETER=60
-I PTR=60
-I SAMUEL=9
-I THESSALONIANS=52
-I TIMOTHY=54
-IC=46
-ICHRONICLES=13
-ICORINTHIANS=46
-II C=47
-II CHRONICLES=14
-II CORINTHIANS=47
-II JN=63
-II JOHN=63
-II KGS=12
-II KINGS=12
-II PETER=61
-II PTR=61
-II SAMUEL=10
-II THESSALONIANS=53
-II TIMOTHY=55
-IIC=47
-IICHRONICLES=14
-IICORINTHIANS=47
-III JN=64
-III JOHN=64
-IIIJN=64
-IIIJOHN=64
-IIJN=63
-IIJOHN=63
-IIKGS=12
-IIKINGS=12
-IIPETER=61
-IIPTR=61
-IISAMUEL=10
-IITHESSALONIANS=53
-IITIMOTHY=55
-IJN=62
-IJOHN=62
-IKGS=11
-IKINGS=11
-IPETER=60
-IPTR=60
-ISA=23
-ISAIAH=23
-ISAMUEL=9
-ITHESSALONIANS=52
-ITIMOTHY=54
-J=43
-JAMES=59
-JAS=59
-JEREMIAH=24
-JN=43
-JO=43
-JOB=18
-JOEL=29
-JOHN=43
-JONAH=32
-JOSHUA=6
-JUD=7
-JUDE=65
-JUDGES=7
-L=42
-LAMENTATIONS=25
-LEVITICUS=3
-LK=42
-LUKE=42
-MA=40
-MALACHI=39
-MARK=41
-MATTHEW=40
-MICAH=33
-MK=41
-MR=41
-MT=40
-N=4
-NAHUM=34
-NEHEMIAH=16
-NUMBERS=4
-OBADIAH=31
-P=19
-PH=50
-PHILEMON=57
-PHILIPPIANS=50
-PHLM=57
-PHM=57
-PHP=50
-PROVERBS=20
-PSALMS=19
-PSM=19
-PSS=19
-REVELATION OF JOHN=66
-ROMANS=45
-RUTH=8
-SONG OF SOLOMON=22
-SONG OF SONGS=22
-SOS=22
-TITUS=56
-ZECHARIAH=38
-ZEPHANIAH=36
-1. MOSE=1
-1 MOSE=1
-1MOSE=1
-1MO=1
-
-2. MOSE=2
-2 MOSE=2
-2MOSE=2
-2MO=2
-
-3. MOSE=3
-3 MOSE=3
-3MOSE=3
-3MO=3
-
-4. MOSE=4
-4 MOSE=4
-4MOSE=4
-4MO=4
-
-5. MOSE=5
-5 MOSE=5
-5MOSE=5
-5MO=5
-
-JOSUA=6
-RICHTER=7
-RUT=8
-
-1. SAMUEL=9
-1 SAMUEL=9
-1SAMUEL=9
-1SAM=9
-
-2. SAMUEL=10
-2 SAMUEL=10
-2SAM=10
-
-1. KÖNIGE=11
-1 KÖNIGE=11
-1KÖNIGE=11
-1KÖN=11
-
-2. KÖNIGE=12
-2 KÖNIGE=12
-2KÖN=12
-2KÖN=12
-
-1. CHRONIK=13
-1 CHRONIK=13
-1CHRONIK=13
-1CHR=13
-
-2. CHRONIK=14
-2 CHRONIK=14
-2CHRONIK=14
-2CHR=14
-
-ESRA=15
-NEHEMIA=16
-ESTER=17
-HIOB=18
-PSALMEN=19
-SPRÜCHE=20
-PREDIGER=21
-HOHESLIED=22
-JESAJA=23
-JEREMIA=24
-KLAGELIEDER=25
-HESEKIEL=26
-DANIEL=27
-HOSEA=28
-JOEL=29
-AMOS=30
-OBADJA=31
-JONA=32
-MICHA=33
-NAHUM=34
-HABAKUK=35
-ZEFANJA=36
-ZEPHANJA=36
-HAGGAI=37
-SACHARJA=38
-MALEACHI=39
-MATTHÄUS=40
-MARKUS=41
-LUKAS=42
-JOHANNES=43
-APOSTELGESCHICHTE=44
-RÖMER=45
-
-1. KORINTHER=46
-1 KORINTHER=46
-1KORINTHER=46
-1KOR=46
-
-2. KORINTHER=47
-2 KORINTHER=47
-2KORINTHER=47
-2KOR=47
-
-GALATER=48
-EPHESER=49
-PHILIPPER=50
-KOLOSSER=51
-
-1. THESSALONICHER=52
-1 THESSALONICHER=52
-1THESSALONICHER=52
-1THESS=52
-
-2. THESSALONICHER=53
-2 THESSALONICHER=53
-2THESSALONICHER=53
-2THESS=53
-
-1. TIMOTHEUS=54
-1 TIMOTHEUS=54
-1TIMOTHEUS=54
-1TIM=54
-
-2. TIMOTHEUS=55
-2 TIMOTHEUS=55
-2TIMOTHEUS=55
-2TIM=55
-
-TITUS=56
-PHILEMON=57
-HEBRÄER=58
-JAKOBUS=59
-
-1. PETRUS=60
-1 PETRUS=60
-1PETRUS=60
-1PET=60
-
-2. PETRUS=61
-2 PETRUS=61
-2PETRUS=61
-2PET=61
-
-1. JOHANNES=62
-1 JOHANNES=62
-1JOHANNES=62
-1JOH=62
-
-2. JOHANNES=63
-2 JOHANNES=63
-2JOHANNES=63
-2JOH=63
-
-3. JOHANNES=64
-3 JOHANNES=64
-3JOHANNES=64
-3JOH=64
-
-JUDAS=65
-
-OFFENBARUNG=66
-OFFB=66
-APC=66
+1. MOSE=Gen
+1 MOSE=Gen
+1MOSE=Gen
+1MO=Gen
+
+2. MOSE=Exod
+2 MOSE=Exod
+2MOSE=Exod
+2MO=Exod
+
+3. MOSE=Lev
+3 MOSE=Lev
+3MOSE=Lev
+3MO=Lev
+
+4. MOSE=Num
+4 MOSE=Num
+4MOSE=Num
+4MO=Num
+
+5. MOSE=Deut
+5 MOSE=Deut
+5MOSE=Deut
+5MO=Deut
+
+JOSUA=Josh
+RICHTER=Judg
+RUT=Ruth
+
+1. SAMUEL=1Sam
+1 SAMUEL=1Sam
+1SAMUEL=1Sam
+1SAM=1Sam
+
+2. SAMUEL=2Sam
+2 SAMUEL=2Sam
+2SAM=2Sam
+
+1. KÖNIGE=1Kgs
+1 KÖNIGE=1Kgs
+1KÖNIGE=1Kgs
+1KÖN=1Kgs
+
+2. KÖNIGE=2Kgs
+2 KÖNIGE=2Kgs
+2KÖN=2Kgs
+2KÖN=2Kgs
+
+1. CHRONIK=1Chr
+1 CHRONIK=1Chr
+1CHRONIK=1Chr
+1CHR=1Chr
+
+2. CHRONIK=2Chr
+2 CHRONIK=2Chr
+2CHRONIK=2Chr
+2CHR=2Chr
+
+ESRA=Ezra
+NEHEMIA=Neh
+ESTER=Esth
+HIOB=Job
+PSALMEN=Ps
+SPRÜCHE=Prov
+PREDIGER=Eccl
+HOHESLIED=Song
+JESAJA=Isa
+JEREMIA=Jer
+KLAGELIEDER=Lam
+HESEKIEL=Ezek
+DANIEL=Dan
+HOSEA=Hos
+JOEL=Joel
+AMOS=Amos
+OBADJA=Obad
+JONA=Jonah
+MICHA=Mic
+NAHUM=Nah
+HABAKUK=Hab
+ZEFANJA=Zeph
+ZEPHANJA=Zeph
+HAGGAI=Hag
+SACHARJA=Zech
+MALEACHI=Mal
+MATTHÄUS=Matt
+MARKUS=Mark
+LUKAS=Luke
+JOHANNES=John
+APOSTELGESCHICHTE=Acts
+RÖMER=Rom
+
+1. KORINTHER=1Cor
+1 KORINTHER=1Cor
+1KORINTHER=1Cor
+1KOR=1Cor
+
+2. KORINTHER=2Cor
+2 KORINTHER=2Cor
+2KORINTHER=2Cor
+2KOR=2Cor
+
+GALATER=Gal
+EPHESER=Eph
+PHILIPPER=Phil
+KOLOSSER=Col
+
+1. THESSALONICHER=1Thess
+1 THESSALONICHER=1Thess
+1THESSALONICHER=1Thess
+1THESS=1Thess
+
+2. THESSALONICHER=2Thess
+2 THESSALONICHER=2Thess
+2THESSALONICHER=2Thess
+2THESS=2Thess
+
+1. TIMOTHEUS=1Tim
+1 TIMOTHEUS=1Tim
+1TIMOTHEUS=1Tim
+1TIM=1Tim
+
+2. TIMOTHEUS=2Tim
+2 TIMOTHEUS=2Tim
+2TIMOTHEUS=2Tim
+2TIM=2Tim
+
+TITUS=Titus
+PHILEMON=Phlm
+HEBRÄER=Heb
+JAKOBUS=Jas
+
+1. PETRUS=1Pet
+1 PETRUS=1Pet
+1PETRUS=1Pet
+1PET=1Pet
+
+2. PETRUS=2Pet
+2 PETRUS=2Pet
+2PETRUS=2Pet
+2PET=2Pet
+
+1. JOHANNES=1John
+1 JOHANNES=1John
+1JOHANNES=1John
+1JOH=1John
+
+2. JOHANNES=2John
+2 JOHANNES=2John
+2JOHANNES=2John
+2JOH=2John
+
+3. JOHANNES=3John
+3 JOHANNES=3John
+3JOHANNES=3John
+3JOH=3John
+
+JUDAS=Jude
+
+OFFENBARUNG=Rev
+OFFB=Rev
+APC=Rev
diff --git a/locales.d/de_abbrev-utf8.conf b/locales.d/de_abbrev-utf8.conf
index 09a34a2..233cf13 100644
--- a/locales.d/de_abbrev-utf8.conf
+++ b/locales.d/de_abbrev-utf8.conf
@@ -79,253 +79,70 @@ Jude=Jud
Revelation of John=Offb
[Book Abbrevs]
-1 C=46
-1 CHRONICLES=13
-1 CORINTHIANS=46
-1 JN=62
-1 JOHN=62
-1 KGS=11
-1 KINGS=11
-1 PETER=60
-1 PTR=60
-1 SAMUEL=9
-1 THESSALONIANS=52
-1 TIMOTHY=54
-1C=46
-1CHRONICLES=13
-1CORINTHIANS=46
-1JN=62
-1JOHN=62
-1KGS=11
-1KINGS=11
-1PETER=60
-1PTR=60
-1SAMUEL=9
-1THESSALONIANS=52
-1TIMOTHY=54
-2 C=47
-2 CHRONICLES=14
-2 CORINTHIANS=47
-2 JN=63
-2 JOHN=63
-2 KGS=12
-2 KINGS=12
-2 PETER=61
-2 PTR=61
-2 SAMUEL=10
-2 THESSALONIANS=53
-2 TIMOTHY=55
-2C=47
-2CHRONICLES=14
-2CORINTHIANS=47
-2JN=63
-2JOHN=63
-2KGS=12
-2KINGS=12
-2PETER=61
-2PTR=61
-2SAMUEL=10
-2THESSALONIANS=53
-2TIMOTHY=55
-3 JN=64
-3 JOHN=64
-3JN=64
-3JOHN=64
-ACTS=44
-AMOS=30
-APOCALYPSE OF ST. JOHN=66
-C=51
-CANTICLE OF CANTICLES=22
-COC=22
-COLOSSIANS=51
-D=5
-DANIEL=27
-DEUTERONOMY=5
-E=49
-ECCLESIASTES=21
-EPHESIANS=49
-ESTER=17
-ESTHER=17
-EXODUS=2
-EZEKIEL=26
-EZRA=15
-G=1
-GALATIANS=48
-GENESIS=1
-H=58
-HABAKKUK=35
-HAGGAI=37
-HEBREWS=58
-HOSEA=28
-I C=46
-I CHRONICLES=13
-I CORINTHIANS=46
-I JN=62
-I JOHN=62
-I KGS=11
-I KINGS=11
-I PETER=60
-I PTR=60
-I SAMUEL=9
-I THESSALONIANS=52
-I TIMOTHY=54
-IC=46
-ICHRONICLES=13
-ICORINTHIANS=46
-II C=47
-II CHRONICLES=14
-II CORINTHIANS=47
-II JN=63
-II JOHN=63
-II KGS=12
-II KINGS=12
-II PETER=61
-II PTR=61
-II SAMUEL=10
-II THESSALONIANS=53
-II TIMOTHY=55
-IIC=47
-IICHRONICLES=14
-IICORINTHIANS=47
-III JN=64
-III JOHN=64
-IIIJN=64
-IIIJOHN=64
-IIJN=63
-IIJOHN=63
-IIKGS=12
-IIKINGS=12
-IIPETER=61
-IIPTR=61
-IISAMUEL=10
-IITHESSALONIANS=53
-IITIMOTHY=55
-IJN=62
-IJOHN=62
-IKGS=11
-IKINGS=11
-IPETER=60
-IPTR=60
-ISA=23
-ISAIAH=23
-ISAMUEL=9
-ITHESSALONIANS=52
-ITIMOTHY=54
-J=43
-JAMES=59
-JAS=59
-JEREMIAH=24
-JN=43
-JO=43
-JOB=18
-JOEL=29
-JOHN=43
-JONAH=32
-JOSHUA=6
-JUDE=65
-JUDGES=7
-L=42
-LAMENTATIONS=25
-LEVITICUS=3
-LK=42
-LUKE=42
-MA=40
-MALACHI=39
-MARK=41
-MATTHEW=40
-MICAH=33
-MK=41
-MR=41
-MT=40
-N=4
-NAHUM=34
-NEHEMIAH=16
-NUMBERS=4
-OBADIAH=31
-P=19
-PH=50
-PHILEMON=57
-PHILIPPIANS=50
-PHLM=57
-PHM=57
-PHP=50
-PROVERBS=20
-PSALMS=19
-PSM=19
-PSS=19
-REVELATION OF JOHN=66
-ROMANS=45
-RUTH=8
-SONG OF SOLOMON=22
-SONG OF SONGS=22
-SOS=22
-TITUS=56
-ZECHARIAH=38
-ZEPHANIAH=36
-1MO=1
-2MO=2
-3MO=3
-4MO=4
-5MO=5
-JOS=6
-RI=7
-RUT=8
-1SAM=9
-2SAMUEL=10
-1KÖN=11
-2KÖN=12
-1CHR=13
-2CHR=14
-ESRA=15
-NEH=16
-EST=17
-HIOB=18
-PS=19
-SPR=20
-PRED=21
-HLD=22
-JES=23
-JER=24
-KLGL=25
-HESL=26
-DAN=27
-HOS=28
-JOEL=29
-AM=30
-OBD=31
-JONA=32
-MI=33
-NAH=34
-HAB=35
-ZEF=36
-HAG=37
-SACH=38
-MAL=39
-MT=40
-MK=41
-LK=42
-JOH=43
-APG=44
-RÖM=45
-1KOR=46
-2KOR=47
-GAL=48
-EPH=49
-PHIL=50
-KOL=51
-1THESS=52
-2THESS=53
-1TIM=54
-2TIM=55
-TIT=56
-PHLM=57
-HEB=58
-JAK=59
-1PET=60
-2PET=61
-1JOH=62
-2JOH=63
-3JOH=64
-JUD=65
-OFFB=66
+1MO=Gen
+2MO=Exod
+3MO=Lev
+4MO=Num
+5MO=Deut
+JOS=Josh
+RI=Judg
+RUT=Ruth
+1SAM=1Sam
+2SAMUEL=2Sam
+1KÖN=1Kgs
+2KÖN=2Kgs
+1CHR=1Chr
+2CHR=2Chr
+ESRA=Ezra
+NEH=Neh
+EST=Esth
+HIOB=Job
+PS=Ps
+SPR=Prov
+PRED=Eccl
+HLD=Song
+JES=Isa
+JER=Jer
+KLGL=Lam
+HESL=Ezek
+DAN=Dan
+HOS=Hos
+JOEL=Joel
+AM=Amos
+OBD=Obad
+JONA=Jonah
+MI=Mic
+NAH=Nah
+HAB=Hab
+ZEF=Zeph
+HAG=Hag
+SACH=Zech
+MAL=Mal
+MT=Matt
+MK=Mark
+LK=Luke
+JOH=John
+APG=Acts
+RÖM=Rom
+1KOR=1Cor
+2KOR=2Cor
+GAL=Gal
+EPH=Eph
+PHIL=Phil
+KOL=Col
+1THESS=1Thess
+2THESS=2Thess
+1TIM=1Tim
+2TIM=2Tim
+TIT=Titus
+PHLM=Phlm
+HEB=Heb
+JAK=Jas
+1PET=1Pet
+2PET=2Pet
+1JOH=1John
+2JOH=2John
+3JOH=3John
+JUD=Jude
+OFFB=Rev
diff --git a/locales.d/de_abbrev.conf b/locales.d/de_abbrev.conf
index c34cb94..ceab927 100644
--- a/locales.d/de_abbrev.conf
+++ b/locales.d/de_abbrev.conf
@@ -79,253 +79,70 @@ Jude=Jud
Revelation of John=Offb
[Book Abbrevs]
-1 C=46
-1 CHRONICLES=13
-1 CORINTHIANS=46
-1 JN=62
-1 JOHN=62
-1 KGS=11
-1 KINGS=11
-1 PETER=60
-1 PTR=60
-1 SAMUEL=9
-1 THESSALONIANS=52
-1 TIMOTHY=54
-1C=46
-1CHRONICLES=13
-1CORINTHIANS=46
-1JN=62
-1JOHN=62
-1KGS=11
-1KINGS=11
-1PETER=60
-1PTR=60
-1SAMUEL=9
-1THESSALONIANS=52
-1TIMOTHY=54
-2 C=47
-2 CHRONICLES=14
-2 CORINTHIANS=47
-2 JN=63
-2 JOHN=63
-2 KGS=12
-2 KINGS=12
-2 PETER=61
-2 PTR=61
-2 SAMUEL=10
-2 THESSALONIANS=53
-2 TIMOTHY=55
-2C=47
-2CHRONICLES=14
-2CORINTHIANS=47
-2JN=63
-2JOHN=63
-2KGS=12
-2KINGS=12
-2PETER=61
-2PTR=61
-2SAMUEL=10
-2THESSALONIANS=53
-2TIMOTHY=55
-3 JN=64
-3 JOHN=64
-3JN=64
-3JOHN=64
-ACTS=44
-AMOS=30
-APOCALYPSE OF ST. JOHN=66
-C=51
-CANTICLE OF CANTICLES=22
-COC=22
-COLOSSIANS=51
-D=5
-DANIEL=27
-DEUTERONOMY=5
-E=49
-ECCLESIASTES=21
-EPHESIANS=49
-ESTER=17
-ESTHER=17
-EXODUS=2
-EZEKIEL=26
-EZRA=15
-G=1
-GALATIANS=48
-GENESIS=1
-H=58
-HABAKKUK=35
-HAGGAI=37
-HEBREWS=58
-HOSEA=28
-I C=46
-I CHRONICLES=13
-I CORINTHIANS=46
-I JN=62
-I JOHN=62
-I KGS=11
-I KINGS=11
-I PETER=60
-I PTR=60
-I SAMUEL=9
-I THESSALONIANS=52
-I TIMOTHY=54
-IC=46
-ICHRONICLES=13
-ICORINTHIANS=46
-II C=47
-II CHRONICLES=14
-II CORINTHIANS=47
-II JN=63
-II JOHN=63
-II KGS=12
-II KINGS=12
-II PETER=61
-II PTR=61
-II SAMUEL=10
-II THESSALONIANS=53
-II TIMOTHY=55
-IIC=47
-IICHRONICLES=14
-IICORINTHIANS=47
-III JN=64
-III JOHN=64
-IIIJN=64
-IIIJOHN=64
-IIJN=63
-IIJOHN=63
-IIKGS=12
-IIKINGS=12
-IIPETER=61
-IIPTR=61
-IISAMUEL=10
-IITHESSALONIANS=53
-IITIMOTHY=55
-IJN=62
-IJOHN=62
-IKGS=11
-IKINGS=11
-IPETER=60
-IPTR=60
-ISA=23
-ISAIAH=23
-ISAMUEL=9
-ITHESSALONIANS=52
-ITIMOTHY=54
-J=43
-JAMES=59
-JAS=59
-JEREMIAH=24
-JN=43
-JO=43
-JOB=18
-JOEL=29
-JOHN=43
-JONAH=32
-JOSHUA=6
-JUDE=65
-JUDGES=7
-L=42
-LAMENTATIONS=25
-LEVITICUS=3
-LK=42
-LUKE=42
-MA=40
-MALACHI=39
-MARK=41
-MATTHEW=40
-MICAH=33
-MK=41
-MR=41
-MT=40
-N=4
-NAHUM=34
-NEHEMIAH=16
-NUMBERS=4
-OBADIAH=31
-P=19
-PH=50
-PHILEMON=57
-PHILIPPIANS=50
-PHLM=57
-PHM=57
-PHP=50
-PROVERBS=20
-PSALMS=19
-PSM=19
-PSS=19
-REVELATION OF JOHN=66
-ROMANS=45
-RUTH=8
-SONG OF SOLOMON=22
-SONG OF SONGS=22
-SOS=22
-TITUS=56
-ZECHARIAH=38
-ZEPHANIAH=36
-1MO=1
-2MO=2
-3MO=3
-4MO=4
-5MO=5
-JOS=6
-RI=7
-RUT=8
-1SAM=9
-2SAMUEL=10
-1KÖN=11
-2KÖN=12
-1CHR=13
-2CHR=14
-ESRA=15
-NEH=16
-EST=17
-HIOB=18
-PS=19
-SPR=20
-PRED=21
-HLD=22
-JES=23
-JER=24
-KLGL=25
-HESL=26
-DAN=27
-HOS=28
-JOEL=29
-AM=30
-OBD=31
-JONA=32
-MI=33
-NAH=34
-HAB=35
-ZEF=36
-HAG=37
-SACH=38
-MAL=39
-MT=40
-MK=41
-LK=42
-JOH=43
-APG=44
-RÖM=45
-1KOR=46
-2KOR=47
-GAL=48
-EPH=49
-PHIL=50
-KOL=51
-1THESS=52
-2THESS=53
-1TIM=54
-2TIM=55
-TIT=56
-PHLM=57
-HEB=58
-JAK=59
-1PET=60
-2PET=61
-1JOH=62
-2JOH=63
-3JOH=64
-JUD=65
-OFFB=66
+1MO=Gen
+2MO=Exod
+3MO=Lev
+4MO=Num
+5MO=Deut
+JOS=Josh
+RI=Judg
+RUT=Ruth
+1SAM=1Sam
+2SAMUEL=2Sam
+1KÖN=1Kgs
+2KÖN=2Kgs
+1CHR=1Chr
+2CHR=2Chr
+ESRA=Ezra
+NEH=Neh
+EST=Esth
+HIOB=Job
+PS=Ps
+SPR=Prov
+PRED=Eccl
+HLD=Song
+JES=Isa
+JER=Jer
+KLGL=Lam
+HESL=Ezek
+DAN=Dan
+HOS=Hos
+JOEL=Joel
+AM=Amos
+OBD=Obad
+JONA=Jonah
+MI=Mic
+NAH=Nah
+HAB=Hab
+ZEF=Zeph
+HAG=Hag
+SACH=Zech
+MAL=Mal
+MT=Matt
+MK=Mark
+LK=Luke
+JOH=John
+APG=Acts
+RÖM=Rom
+1KOR=1Cor
+2KOR=2Cor
+GAL=Gal
+EPH=Eph
+PHIL=Phil
+KOL=Col
+1THESS=1Thess
+2THESS=2Thess
+1TIM=1Tim
+2TIM=2Tim
+TIT=Titus
+PHLM=Phlm
+HEB=Heb
+JAK=Jas
+1PET=1Pet
+2PET=2Pet
+1JOH=1John
+2JOH=2John
+3JOH=3John
+JUD=Jude
+OFFB=Rev
diff --git a/locales.d/en_GB.conf b/locales.d/en_GB.conf
index 032c751..c6cf129 100644
--- a/locales.d/en_GB.conf
+++ b/locales.d/en_GB.conf
@@ -1,7 +1,7 @@
[Meta]
Name=en_GB
Description=English (UK)
-Encoding=ASCII
+Encoding=ISO8859-1
[Text]
Genesis=Genesis
@@ -72,187 +72,5 @@ Jude=Jude
Revelation of John=Revelation of John
[Book Abbrevs]
-1 C=46
-1 CHRONICLES=13
-1 CORINTHIANS=46
-1 JN=62
-1 JOHN=62
-1 KGS=11
-1 KINGS=11
-1 PETER=60
-1 PTR=60
-1 SAMUEL=9
-1 THESSALONIANS=52
-1 TIMOTHY=54
-1C=46
-1CHRONICLES=13
-1CORINTHIANS=46
-1JN=62
-1JOHN=62
-1KGS=11
-1KINGS=11
-1PETER=60
-1PTR=60
-1SAMUEL=9
-1THESSALONIANS=52
-1TIMOTHY=54
-2 C=47
-2 CHRONICLES=14
-2 CORINTHIANS=47
-2 JN=63
-2 JOHN=63
-2 KGS=12
-2 KINGS=12
-2 PETER=61
-2 PTR=61
-2 SAMUEL=10
-2 THESSALONIANS=53
-2 TIMOTHY=55
-2C=47
-2CHRONICLES=14
-2CORINTHIANS=47
-2JN=63
-2JOHN=63
-2KGS=12
-2KINGS=12
-2PETER=61
-2PTR=61
-2SAMUEL=10
-2THESSALONIANS=53
-2TIMOTHY=55
-3 JN=64
-3 JOHN=64
-3JN=64
-3JOHN=64
-ACTS=44
-AMOS=30
-APOCALYPSE OF ST. JOHN=66
-C=51
-CANTICLE OF CANTICLES=22
-COC=22
-COLOSSIANS=51
-D=5
-DANIEL=27
-DEUTERONOMY=5
-E=49
-ECCLESIASTES=21
-EPHESIANS=49
-ESTER=17
-ESTHER=17
-EXODUS=2
-EZEKIEL=26
-EZRA=15
-G=1
-GALATIANS=48
-GENESIS=1
-H=58
-HABAKKUK=35
-HAGGAI=37
-HEBREWS=58
-HOSEA=28
-I C=46
-I CHRONICLES=13
-I CORINTHIANS=46
-I JN=62
-I JOHN=62
-I KGS=11
-I KINGS=11
-I PETER=60
-I PTR=60
-I SAMUEL=9
-I THESSALONIANS=52
-I TIMOTHY=54
-IC=46
-ICHRONICLES=13
-ICORINTHIANS=46
-II C=47
-II CHRONICLES=14
-II CORINTHIANS=47
-II JN=63
-II JOHN=63
-II KGS=12
-II KINGS=12
-II PETER=61
-II PTR=61
-II SAMUEL=10
-II THESSALONIANS=53
-II TIMOTHY=55
-IIC=47
-IICHRONICLES=14
-IICORINTHIANS=47
-III JN=64
-III JOHN=64
-IIIJN=64
-IIIJOHN=64
-IIJN=63
-IIJOHN=63
-IIKGS=12
-IIKINGS=12
-IIPETER=61
-IIPTR=61
-IISAMUEL=10
-IITHESSALONIANS=53
-IITIMOTHY=55
-IJN=62
-IJOHN=62
-IKGS=11
-IKINGS=11
-IPETER=60
-IPTR=60
-ISA=23
-ISAIAH=23
-ISAMUEL=9
-ITHESSALONIANS=52
-ITIMOTHY=54
-J=43
-JAMES=59
-JAS=59
-JEREMIAH=24
-JN=43
-JO=43
-JOB=18
-JOEL=29
-JOHN=43
-JONAH=32
-JOSHUA=6
-JUD=7
-JUDE=65
-JUDGES=7
-L=42
-LAMENTATIONS=25
-LEVITICUS=3
-LK=42
-LUKE=42
-MA=40
-MALACHI=39
-MARK=41
-MATTHEW=40
-MICAH=33
-MK=41
-MR=41
-MT=40
-N=4
-NAHUM=34
-NEHEMIAH=16
-NUMBERS=4
-OBADIAH=31
-P=19
-PH=50
-PHILEMON=57
-PHILIPPIANS=50
-PHLM=57
-PHM=57
-PHP=50
-PROVERBS=20
-PSALMS=19
-PSM=19
-PSS=19
-REVELATION OF JOHN=66
-ROMANS=45
-RUTH=8
-SONG OF SOLOMON=22
-SONG OF SONGS=22
-SOS=22
-TITUS=56
-ZECHARIAH=38
-ZEPHANIAH=36
+
+
diff --git a/locales.d/es-utf8.conf b/locales.d/es-utf8.conf
index fd3b779..ae6f7b7 100644
--- a/locales.d/es-utf8.conf
+++ b/locales.d/es-utf8.conf
@@ -73,319 +73,134 @@ Revelation of John=Apocalipsis
[Book Abbrevs]
-1 C=46
-1 CHRONICLES=13
-1 CORINTHIANS=46
-1 JN=62
-1 JOHN=62
-1 KGS=11
-1 KINGS=11
-1 PETER=60
-1 PTR=60
-1 SAMUEL=9
-1 THESSALONIANS=52
-1 TIMOTHY=54
-1C=46
-1CHRONICLES=13
-1CORINTHIANS=46
-1JN=62
-1JOHN=62
-1KGS=11
-1KINGS=11
-1PETER=60
-1PTR=60
-1SAMUEL=9
-1THESSALONIANS=52
-1TIMOTHY=54
-2 C=47
-2 CHRONICLES=14
-2 CORINTHIANS=47
-2 JN=63
-2 JOHN=63
-2 KGS=12
-2 KINGS=12
-2 PETER=61
-2 PTR=61
-2 SAMUEL=10
-2 THESSALONIANS=53
-2 TIMOTHY=55
-2C=47
-2CHRONICLES=14
-2CORINTHIANS=47
-2JN=63
-2JOHN=63
-2KGS=12
-2KINGS=12
-2PETER=61
-2PTR=61
-2SAMUEL=10
-2THESSALONIANS=53
-2TIMOTHY=55
-3 JN=64
-3 JOHN=64
-3JN=64
-3JOHN=64
-ACTS=44
-AMOS=30
-APOCALYPSE OF ST. JOHN=66
-C=51
-CANTICLE OF CANTICLES=22
-COC=22
-COLOSSIANS=51
-D=5
-DANIEL=27
-DEUTERONOMY=5
-E=49
-ECCLESIASTES=21
-EPHESIANS=49
-ESTER=17
-ESTHER=17
-EXODUS=2
-EZEKIEL=26
-EZRA=15
-G=1
-GALATIANS=48
-GENESIS=1
-H=58
-HABAKKUK=35
-HAGGAI=37
-HEBREWS=58
-HOSEA=28
-I C=46
-I CHRONICLES=13
-I CORINTHIANS=46
-I JN=62
-I JOHN=62
-I KGS=11
-I KINGS=11
-I PETER=60
-I PTR=60
-I SAMUEL=9
-I THESSALONIANS=52
-I TIMOTHY=54
-IC=46
-ICHRONICLES=13
-ICORINTHIANS=46
-II C=47
-II CHRONICLES=14
-II CORINTHIANS=47
-II JN=63
-II JOHN=63
-II KGS=12
-II KINGS=12
-II PETER=61
-II PTR=61
-II SAMUEL=10
-II THESSALONIANS=53
-II TIMOTHY=55
-IIC=47
-IICHRONICLES=14
-IICORINTHIANS=47
-III JN=64
-III JOHN=64
-IIIJN=64
-IIIJOHN=64
-IIJN=63
-IIJOHN=63
-IIKGS=12
-IIKINGS=12
-IIPETER=61
-IIPTR=61
-IISAMUEL=10
-IITHESSALONIANS=53
-IITIMOTHY=55
-IJN=62
-IJOHN=62
-IKGS=11
-IKINGS=11
-IPETER=60
-IPTR=60
-ISA=23
-ISAIAH=23
-ISAMUEL=9
-ITHESSALONIANS=52
-ITIMOTHY=54
-J=43
-JAMES=59
-JAS=59
-JEREMIAH=24
-JN=43
-JO=43
-JOB=18
-JOEL=29
-JOHN=43
-JONAH=32
-JOSHUA=6
-JUD=7
-JUDE=65
-JUDGES=7
-L=42
-LAMENTATIONS=25
-LEVITICUS=3
-LK=42
-LUKE=42
-MA=40
-MALACHI=39
-MARK=41
-MATTHEW=40
-MICAH=33
-MK=41
-MR=41
-MT=40
-N=4
-NAHUM=34
-NEHEMIAH=16
-NUMBERS=4
-OBADIAH=31
-P=19
-PH=50
-PHILEMON=57
-PHILIPPIANS=50
-PHLM=57
-PHM=57
-PHP=50
-PROVERBS=20
-PSALMS=19
-PSM=19
-PSS=19
-REVELATION OF JOHN=66
-ROMANS=45
-RUTH=8
-SONG OF SOLOMON=22
-SONG OF SONGS=22
-SOS=22
-TITUS=56
-ZECHARIAH=38
-ZEPHANIAH=36
-
-GÉNESIS=1
-GN=1
-ÉXODO=2
-EX=2
-LEVÃTICO=3
-LV=3
-NÚMEROS=4
-NM=4
-DEUTERONOMIO=5
-DT=5
-JOSUÉ=6
-JOS=6
-JUECES=7
-JUE=7
-RUT=8
-RT=8
-1 SAMUEL=9
-1S=9
-2 SAMUEL=10
-2S=10
-1 REYES=11
-1R=11
-2 REYES=12
-2R=12
-1 CRÓNICAS=13
-1CR=13
-2 CRÓNICAS=14
-2CR=14
-ESDRAS=15
-ESD=15
-NEHEMÃAS=16
-NEH=16
-ESTER=17
-EST=17
-JOB=18
-SALMOS=19
-SAL=19
-PROVERBIOS=20
-PR=20
-ECLESIASTÉS=21
-EC=21
-CANTARES=22
-CNT=22
-ISAÃAS=23
-IS=23
-JEREMÃAS=24
-JER=24
-LAMENTACIONES=25
-LM=25
-EZEQUIEL=26
-EZ=26
-DANIEL=27
-DN=27
-OSEAS=28
-OS=28
-JOEL=29
-JL=29
-AMÓS=30
-AM=30
-ABDÃAS=31
-ABD=31
-JONÃS=32
-JON=32
-MIQUEAS=33
-MI=33
-NAHUM=34
-NAH=34
-HABACUC=35
-HAB=35
-SOFONÃAS=36
-SOF=36
-HAGEO=37
-HAG=37
-ZACARÃAS=38
-ZAC=38
-MALAQUÃAS=39
-MAL=39
-MATEO=40
-MT=40
-MARCOS=41
-MR=41
-LUCAS=42
-LC=42
-JUAN=43
-JN=43
-HECHOS=44
-HCH=44
-ROMANOS=45
-RO=45
-1 CORINTIOS=46
-1CO=46
-2 CORINTIOS=47
-2CO=47
-GÃLATAS=48
-GÃ=48
-EFESIOS=49
-EF=49
-FILIPENSES=50
-FIL=50
-COLOSENSES=51
-COL=51
-1 TESALONICENSES=52
-1TS=52
-2 TESALONICENSES=53
-2TS=53
-1 TIMOTEO=54
-1TI=54
-2 TIMOTEO=55
-2TI=55
-TITO=56
-TIT=56
-FILEMÓN=57
-FLM=57
-HEBREOS=58
-HE=58
-SANTIAGO=59
-STG=59
-1 PEDRO=60
-1P=60
-2 PEDRO=61
-2P=61
-1 JUAN=62
-1JN=62
-2 JUAN=63
-2JN=63
-3 JUAN=64
-3JN=64
-JUDAS=65
-JUD=65
-APOCALIPSIS=66
-AP=66
+GÉNESIS=Gen
+GN=Gen
+ÉXODO=Exod
+EX=Exod
+LEVÃTICO=Lev
+LV=Lev
+NÚMEROS=Num
+NM=Num
+DEUTERONOMIO=Deut
+DT=Deut
+JOSUÉ=Josh
+JOS=Josh
+JUECES=Judg
+JUE=Judg
+RUT=Ruth
+RT=Ruth
+1 SAMUEL=1Sam
+1S=1Sam
+2 SAMUEL=2Sam
+2S=2Sam
+1 REYES=1Kgs
+1R=1Kgs
+2 REYES=2Kgs
+2R=2Kgs
+1 CRÓNICAS=1Chr
+1CR=1Chr
+2 CRÓNICAS=2Chr
+2CR=2Chr
+ESDRAS=Ezra
+ESD=Ezra
+NEHEMÃAS=Neh
+NEH=Neh
+ESTER=Esth
+EST=Esth
+JOB=Job
+SALMOS=Ps
+SAL=Ps
+PROVERBIOS=Prov
+PR=Prov
+ECLESIASTÉS=Eccl
+EC=Eccl
+CANTARES=Song
+CNT=Song
+ISAÃAS=Isa
+IS=Isa
+JEREMÃAS=Jer
+JER=Jer
+LAMENTACIONES=Lam
+LM=Lam
+EZEQUIEL=Ezek
+EZ=Ezek
+DANIEL=Dan
+DN=Dan
+OSEAS=Hos
+OS=Hos
+JOEL=Joel
+JL=Joel
+AMÓS=Amos
+AM=Amos
+ABDÃAS=Obad
+ABD=Obad
+JONÃS=Jonah
+JON=Jonah
+MIQUEAS=Mic
+MI=Mic
+NAHUM=Nah
+NAH=Nah
+HABACUC=Hab
+HAB=Hab
+SOFONÃAS=Zeph
+SOF=Zeph
+HAGEO=Hag
+HAG=Hag
+ZACARÃAS=Zech
+ZAC=Zech
+MALAQUÃAS=Mal
+MAL=Mal
+MATEO=Matt
+MT=Matt
+MARCOS=Mark
+MR=Mark
+LUCAS=Luke
+LC=Luke
+JUAN=John
+JN=John
+HECHOS=Acts
+HCH=Acts
+ROMANOS=Rom
+RO=Rom
+1 CORINTIOS=1Cor
+1CO=1Cor
+2 CORINTIOS=2Cor
+2CO=2Cor
+GÃLATAS=Gal
+GÃ=Gal
+EFESIOS=Eph
+EF=Eph
+FILIPENSES=Phil
+FIL=Phil
+COLOSENSES=Col
+COL=Col
+1 TESALONICENSES=1Thess
+1TS=1Thess
+2 TESALONICENSES=2Thess
+2TS=2Thess
+1 TIMOTEO=1Tim
+1TI=1Tim
+2 TIMOTEO=2Tim
+2TI=2Tim
+TITO=Titus
+TIT=Titus
+FILEMÓN=Phlm
+FLM=Phlm
+HEBREOS=Heb
+HE=Heb
+SANTIAGO=Jas
+STG=Jas
+1 PEDRO=1Pet
+1P=1Pet
+2 PEDRO=2Pet
+2P=2Pet
+1 JUAN=1John
+1JN=1John
+2 JUAN=2John
+2JN=2John
+3 JUAN=3John
+3JN=3John
+JUDAS=Jude
+JUD=Jude
+APOCALIPSIS=Rev
+AP=Rev
diff --git a/locales.d/es.conf b/locales.d/es.conf
index 3b80060..b628689 100644
--- a/locales.d/es.conf
+++ b/locales.d/es.conf
@@ -73,319 +73,134 @@ Revelation of John=Apocalipsis
[Book Abbrevs]
-1 C=46
-1 CHRONICLES=13
-1 CORINTHIANS=46
-1 JN=62
-1 JOHN=62
-1 KGS=11
-1 KINGS=11
-1 PETER=60
-1 PTR=60
-1 SAMUEL=9
-1 THESSALONIANS=52
-1 TIMOTHY=54
-1C=46
-1CHRONICLES=13
-1CORINTHIANS=46
-1JN=62
-1JOHN=62
-1KGS=11
-1KINGS=11
-1PETER=60
-1PTR=60
-1SAMUEL=9
-1THESSALONIANS=52
-1TIMOTHY=54
-2 C=47
-2 CHRONICLES=14
-2 CORINTHIANS=47
-2 JN=63
-2 JOHN=63
-2 KGS=12
-2 KINGS=12
-2 PETER=61
-2 PTR=61
-2 SAMUEL=10
-2 THESSALONIANS=53
-2 TIMOTHY=55
-2C=47
-2CHRONICLES=14
-2CORINTHIANS=47
-2JN=63
-2JOHN=63
-2KGS=12
-2KINGS=12
-2PETER=61
-2PTR=61
-2SAMUEL=10
-2THESSALONIANS=53
-2TIMOTHY=55
-3 JN=64
-3 JOHN=64
-3JN=64
-3JOHN=64
-ACTS=44
-AMOS=30
-APOCALYPSE OF ST. JOHN=66
-C=51
-CANTICLE OF CANTICLES=22
-COC=22
-COLOSSIANS=51
-D=5
-DANIEL=27
-DEUTERONOMY=5
-E=49
-ECCLESIASTES=21
-EPHESIANS=49
-ESTER=17
-ESTHER=17
-EXODUS=2
-EZEKIEL=26
-EZRA=15
-G=1
-GALATIANS=48
-GENESIS=1
-H=58
-HABAKKUK=35
-HAGGAI=37
-HEBREWS=58
-HOSEA=28
-I C=46
-I CHRONICLES=13
-I CORINTHIANS=46
-I JN=62
-I JOHN=62
-I KGS=11
-I KINGS=11
-I PETER=60
-I PTR=60
-I SAMUEL=9
-I THESSALONIANS=52
-I TIMOTHY=54
-IC=46
-ICHRONICLES=13
-ICORINTHIANS=46
-II C=47
-II CHRONICLES=14
-II CORINTHIANS=47
-II JN=63
-II JOHN=63
-II KGS=12
-II KINGS=12
-II PETER=61
-II PTR=61
-II SAMUEL=10
-II THESSALONIANS=53
-II TIMOTHY=55
-IIC=47
-IICHRONICLES=14
-IICORINTHIANS=47
-III JN=64
-III JOHN=64
-IIIJN=64
-IIIJOHN=64
-IIJN=63
-IIJOHN=63
-IIKGS=12
-IIKINGS=12
-IIPETER=61
-IIPTR=61
-IISAMUEL=10
-IITHESSALONIANS=53
-IITIMOTHY=55
-IJN=62
-IJOHN=62
-IKGS=11
-IKINGS=11
-IPETER=60
-IPTR=60
-ISA=23
-ISAIAH=23
-ISAMUEL=9
-ITHESSALONIANS=52
-ITIMOTHY=54
-J=43
-JAMES=59
-JAS=59
-JEREMIAH=24
-JN=43
-JO=43
-JOB=18
-JOEL=29
-JOHN=43
-JONAH=32
-JOSHUA=6
-JUD=7
-JUDE=65
-JUDGES=7
-L=42
-LAMENTATIONS=25
-LEVITICUS=3
-LK=42
-LUKE=42
-MA=40
-MALACHI=39
-MARK=41
-MATTHEW=40
-MICAH=33
-MK=41
-MR=41
-MT=40
-N=4
-NAHUM=34
-NEHEMIAH=16
-NUMBERS=4
-OBADIAH=31
-P=19
-PH=50
-PHILEMON=57
-PHILIPPIANS=50
-PHLM=57
-PHM=57
-PHP=50
-PROVERBS=20
-PSALMS=19
-PSM=19
-PSS=19
-REVELATION OF JOHN=66
-ROMANS=45
-RUTH=8
-SONG OF SOLOMON=22
-SONG OF SONGS=22
-SOS=22
-TITUS=56
-ZECHARIAH=38
-ZEPHANIAH=36
-
-GÉNESIS=1
-GN=1
-ÉXODO=2
-EX=2
-LEVÍTICO=3
-LV=3
-NÚMEROS=4
-NM=4
-DEUTERONOMIO=5
-DT=5
-JOSUÉ=6
-JOS=6
-JUECES=7
-JUE=7
-RUT=8
-RT=8
-1 SAMUEL=9
-1S=9
-2 SAMUEL=10
-2S=10
-1 REYES=11
-1R=11
-2 REYES=12
-2R=12
-1 CRÓNICAS=13
-1CR=13
-2 CRÓNICAS=14
-2CR=14
-ESDRAS=15
-ESD=15
-NEHEMÍAS=16
-NEH=16
-ESTER=17
-EST=17
-JOB=18
-SALMOS=19
-SAL=19
-PROVERBIOS=20
-PR=20
-ECLESIASTÉS=21
-EC=21
-CANTARES=22
-CNT=22
-ISAÍAS=23
-IS=23
-JEREMÍAS=24
-JER=24
-LAMENTACIONES=25
-LM=25
-EZEQUIEL=26
-EZ=26
-DANIEL=27
-DN=27
-OSEAS=28
-OS=28
-JOEL=29
-JL=29
-AMÓS=30
-AM=30
-ABDÍAS=31
-ABD=31
-JONÁS=32
-JON=32
-MIQUEAS=33
-MI=33
-NAHUM=34
-NAH=34
-HABACUC=35
-HAB=35
-SOFONÍAS=36
-SOF=36
-HAGEO=37
-HAG=37
-ZACARÍAS=38
-ZAC=38
-MALAQUÍAS=39
-MAL=39
-MATEO=40
-MT=40
-MARCOS=41
-MR=41
-LUCAS=42
-LC=42
-JUAN=43
-JN=43
-HECHOS=44
-HCH=44
-ROMANOS=45
-RO=45
-1 CORINTIOS=46
-1CO=46
-2 CORINTIOS=47
-2CO=47
-GÁLATAS=48
-GÁ=48
-EFESIOS=49
-EF=49
-FILIPENSES=50
-FIL=50
-COLOSENSES=51
-COL=51
-1 TESALONICENSES=52
-1TS=52
-2 TESALONICENSES=53
-2TS=53
-1 TIMOTEO=54
-1TI=54
-2 TIMOTEO=55
-2TI=55
-TITO=56
-TIT=56
-FILEMÓN=57
-FLM=57
-HEBREOS=58
-HE=58
-SANTIAGO=59
-STG=59
-1 PEDRO=60
-1P=60
-2 PEDRO=61
-2P=61
-1 JUAN=62
-1JN=62
-2 JUAN=63
-2JN=63
-3 JUAN=64
-3JN=64
-JUDAS=65
-JUD=65
-APOCALIPSIS=66
-AP=66
+GÉNESIS=Gen
+GN=Gen
+ÉXODO=Exod
+EX=Exod
+LEVÍTICO=Lev
+LV=Lev
+NÚMEROS=Num
+NM=Num
+DEUTERONOMIO=Deut
+DT=Deut
+JOSUÉ=Josh
+JOS=Josh
+JUECES=Judg
+JUE=Judg
+RUT=Ruth
+RT=Ruth
+1 SAMUEL=1Sam
+1S=1Sam
+2 SAMUEL=2Sam
+2S=2Sam
+1 REYES=1Kgs
+1R=1Kgs
+2 REYES=2Kgs
+2R=2Kgs
+1 CRÓNICAS=1Chr
+1CR=1Chr
+2 CRÓNICAS=2Chr
+2CR=2Chr
+ESDRAS=Ezra
+ESD=Ezra
+NEHEMÍAS=Neh
+NEH=Neh
+ESTER=Esth
+EST=Esth
+JOB=Job
+SALMOS=Ps
+SAL=Ps
+PROVERBIOS=Prov
+PR=Prov
+ECLESIASTÉS=Eccl
+EC=Eccl
+CANTARES=Song
+CNT=Song
+ISAÍAS=Isa
+IS=Isa
+JEREMÍAS=Jer
+JER=Jer
+LAMENTACIONES=Lam
+LM=Lam
+EZEQUIEL=Ezek
+EZ=Ezek
+DANIEL=Dan
+DN=Dan
+OSEAS=Hos
+OS=Hos
+JOEL=Joel
+JL=Joel
+AMÓS=Amos
+AM=Amos
+ABDÍAS=Obad
+ABD=Obad
+JONÁS=Jonah
+JON=Jonah
+MIQUEAS=Mic
+MI=Mic
+NAHUM=Nah
+NAH=Nah
+HABACUC=Hab
+HAB=Hab
+SOFONÍAS=Zeph
+SOF=Zeph
+HAGEO=Hag
+HAG=Hag
+ZACARÍAS=Zech
+ZAC=Zech
+MALAQUÍAS=Mal
+MAL=Mal
+MATEO=Matt
+MT=Matt
+MARCOS=Mark
+MR=Mark
+LUCAS=Luke
+LC=Luke
+JUAN=John
+JN=John
+HECHOS=Acts
+HCH=Acts
+ROMANOS=Rom
+RO=Rom
+1 CORINTIOS=1Cor
+1CO=1Cor
+2 CORINTIOS=2Cor
+2CO=2Cor
+GÁLATAS=Gal
+GÁ=Gal
+EFESIOS=Eph
+EF=Eph
+FILIPENSES=Phil
+FIL=Phil
+COLOSENSES=Col
+COL=Col
+1 TESALONICENSES=1Thess
+1TS=1Thess
+2 TESALONICENSES=2Thess
+2TS=2Thess
+1 TIMOTEO=1Tim
+1TI=1Tim
+2 TIMOTEO=2Tim
+2TI=2Tim
+TITO=Titus
+TIT=Titus
+FILEMÓN=Phlm
+FLM=Phlm
+HEBREOS=Heb
+HE=Heb
+SANTIAGO=Jas
+STG=Jas
+1 PEDRO=1Pet
+1P=1Pet
+2 PEDRO=2Pet
+2P=2Pet
+1 JUAN=1John
+1JN=1John
+2 JUAN=2John
+2JN=2John
+3 JUAN=3John
+3JN=3John
+JUDAS=Jude
+JUD=Jude
+APOCALIPSIS=Rev
+AP=Rev
diff --git a/locales.d/et-utf8.conf b/locales.d/et-utf8.conf
index 59696e3..78c0e83 100644
--- a/locales.d/et-utf8.conf
+++ b/locales.d/et-utf8.conf
@@ -73,422 +73,238 @@ Revelation of John=Ilmutuse
[Book Abbrevs]
-1 C=46
-1 CHRONICLES=13
-1 CORINTHIANS=46
-1 JN=62
-1 JOHN=62
-1 KGS=11
-1 KINGS=11
-1 PETER=60
-1 PTR=60
-1 SAMUEL=9
-1 THESSALONIANS=52
-1 TIMOTHY=54
-1C=46
-1CHRONICLES=13
-1CORINTHIANS=46
-1JN=62
-1JOHN=62
-1KGS=11
-1KINGS=11
-1PETER=60
-1PTR=60
-1SAMUEL=9
-1THESSALONIANS=52
-1TIMOTHY=54
-2 C=47
-2 CHRONICLES=14
-2 CORINTHIANS=47
-2 JN=63
-2 JOHN=63
-2 KGS=12
-2 KINGS=12
-2 PETER=61
-2 PTR=61
-2 SAMUEL=10
-2 THESSALONIANS=53
-2 TIMOTHY=55
-2C=47
-2CHRONICLES=14
-2CORINTHIANS=47
-2JN=63
-2JOHN=63
-2KGS=12
-2KINGS=12
-2PETER=61
-2PTR=61
-2SAMUEL=10
-2THESSALONIANS=53
-2TIMOTHY=55
-3 JN=64
-3 JOHN=64
-3JN=64
-3JOHN=64
-ACTS=44
-AMOS=30
-APOCALYPSE OF ST. JOHN=66
-C=51
-CANTICLE OF CANTICLES=22
-COC=22
-COLOSSIANS=51
-D=5
-DANIEL=27
-DEUTERONOMY=5
-E=49
-ECCLESIASTES=21
-EPHESIANS=49
-ESTER=17
-ESTHER=17
-EXODUS=2
-EZEKIEL=26
-EZRA=15
-G=1
-GALATIANS=48
-GENESIS=1
-H=58
-HABAKKUK=35
-HAGGAI=37
-HEBREWS=58
-HOSEA=28
-I C=46
-I CHRONICLES=13
-I CORINTHIANS=46
-I JN=62
-I JOHN=62
-I KGS=11
-I KINGS=11
-I PETER=60
-I PTR=60
-I SAMUEL=9
-I THESSALONIANS=52
-I TIMOTHY=54
-IC=46
-ICHRONICLES=13
-ICORINTHIANS=46
-II C=47
-II CHRONICLES=14
-II CORINTHIANS=47
-II JN=63
-II JOHN=63
-II KGS=12
-II KINGS=12
-II PETER=61
-II PTR=61
-II SAMUEL=10
-II THESSALONIANS=53
-II TIMOTHY=55
-IIC=47
-IICHRONICLES=14
-IICORINTHIANS=47
-III JN=64
-III JOHN=64
-IIIJN=64
-IIIJOHN=64
-IIJN=63
-IIJOHN=63
-IIKGS=12
-IIKINGS=12
-IIPETER=61
-IIPTR=61
-IISAMUEL=10
-IITHESSALONIANS=53
-IITIMOTHY=55
-IJN=62
-IJOHN=62
-IKGS=11
-IKINGS=11
-IPETER=60
-IPTR=60
-ISA=23
-ISAIAH=23
-ISAMUEL=9
-ITHESSALONIANS=52
-ITIMOTHY=54
-J=43
-JAMES=59
-JAS=59
-JEREMIAH=24
-JN=43
-JO=43
-JOB=18
-JOEL=29
-JOHN=43
-JONAH=32
-JOSHUA=6
-JUD=7
-JUDE=65
-JUDGES=7
-L=42
-LAMENTATIONS=25
-LEVITICUS=3
-LK=42
-LUKE=42
-MA=40
-MALACHI=39
-MARK=41
-MATTHEW=40
-MICAH=33
-MK=41
-MR=41
-MT=40
-N=4
-NAHUM=34
-NEHEMIAH=16
-NUMBERS=4
-OBADIAH=31
-P=19
-PH=50
-PHILEMON=57
-PHILIPPIANS=50
-PHLM=57
-PHM=57
-PHP=50
-PROVERBS=20
-PSALMS=19
-PSM=19
-PSS=19
-REVELATION OF JOHN=66
-ROMANS=45
-RUTH=8
-SONG OF SOLOMON=22
-SONG OF SONGS=22
-SOS=22
-TITUS=56
-ZECHARIAH=38
-ZEPHANIAH=36
+1MO=Gen
+1MS=Gen
+G=Gen
+GE=Gen
+1. MOOSESE=Gen
+1 MOOSESE=Gen
+1MOOSESE=Gen
-1MO=1
-1MS=1
-G=1
-GE=1
-1. MOOSESE=1
-1 MOOSESE=1
-1MOOSESE=1
+2MO=Exod
+2MS=Exod
+EX=Exod
+2. MOOSESE=Exod
+2 MOOSESE=Exod
+2MOOSESE=Exod
-2MO=2
-2MS=2
-EX=2
-2. MOOSESE=2
-2 MOOSESE=2
-2MOOSESE=2
+3MO=Lev
+3MS=Lev
+LEV=Lev
+3. MOOSESE=Lev
+3 MOOSESE=Lev
+3MOOSESE=Lev
-3MO=3
-3MS=3
-LEV=3
-3. MOOSESE=3
-3 MOOSESE=3
-3MOOSESE=3
+4MO=Num
+4MS=Num
+NU=Num
+4. MOOSESE=Num
+4 MOOSESE=Num
+4MOOSESE=Num
-4MO=4
-4MS=4
-NU=4
-4. MOOSESE=4
-4 MOOSESE=4
-4MOOSESE=4
+5MO=Deut
+5MS=Deut
+DT=Deut
+5. MOOSESE=Deut
+5 MOOSESE=Deut
+5MOOSESE=Deut
-5MO=5
-5MS=5
-DT=5
-5. MOOSESE=5
-5 MOOSESE=5
-5MOOSESE=5
+JO=Josh
+JOOSUA=Josh
+KM=Judg
+KOHTUMÕISTJATE=Judg
+RU=Ruth
+RUTT=Ruth
-JO=6
-JOOSUA=6
-KM=7
-KOHTUMÕISTJATE=7
-RU=8
-RUTT=8
+1SM=1Sam
+1. SAAMUELI=1Sam
+1 SAAMUELI=1Sam
+1SAAMUELI=1Sam
-1SM=9
-1. SAAMUELI=9
-1 SAAMUELI=9
-1SAAMUELI=9
+2SM=2Sam
+2. SAAMUELI=2Sam
+2 SAAMUELI=2Sam
+2SAAMUELI=2Sam
-2SM=10
-2. SAAMUELI=10
-2 SAAMUELI=10
-2SAAMUELI=10
+1KN=1Kgs
+1KU=1Kgs
+1. KUNINGATE=1Kgs
+1 KUNINGATE=1Kgs
+1KUNINGATE=1Kgs
-1KN=11
-1KU=11
-1. KUNINGATE=11
-1 KUNINGATE=11
-1KUNINGATE=11
+2KN=2Kgs
+2KU=2Kgs
+2. KUNINGATE=2Kgs
+2 KUNINGATE=2Kgs
+2KUNINGATE=2Kgs
-2KN=12
-2KU=12
-2. KUNINGATE=12
-2 KUNINGATE=12
-2KUNINGATE=12
+1AJ=1Chr
+1. AJARAAMAT=1Chr
+1 AJARAAMAT=1Chr
+1AJARAAMAT=1Chr
-1AJ=13
-1. AJARAAMAT=13
-1 AJARAAMAT=13
-1AJARAAMAT=13
+2AJ=2Chr
+2. AJARAAMAT=2Chr
+2 AJARAAMAT=2Chr
+2AJARAAMAT=2Chr
-2AJ=14
-2. AJARAAMAT=14
-2 AJARAAMAT=14
-2AJARAAMAT=14
+ES=Ezra
+ESRA=Ezra
+NE=Neh
+NEHEMJA=Neh
+EST=Esth
+ESTER=Esth
+II=Job
+IIOB=Job
+PS=Ps
+LA=Ps
+PSALMID=Ps
+LAULUD=Ps
+ÕP=Prov
+ÕPETUSSÕNAD=Prov
+KG=Eccl
+KOGUJA=Eccl
+ÃœL=Song
+ÃœLEMLAUL=Song
+JS=Isa
+JESAJA=Isa
+JR=Jer
+JEREMIJA=Jer
+NL=Lam
+NUTULAULUD=Lam
+HS=Ezek
+HESEKIEL=Ezek
+TA=Dan
+TAANIEL=Dan
+HO=Hos
+HOOSEA=Hos
+JL=Joel
+JOEL=Joel
+AM=Amos
+AAMOS=Amos
+OB=Obad
+OBADJA=Obad
+JN=Jonah
+JOONA=Jonah
+MI=Mic
+MIIKA=Mic
+NA=Nah
+NAHUM=Nah
+HA=Hab
+HABAKUK=Hab
+SF=Zeph
+SEFANJA=Zeph
+HG=Hag
+HAGGAI=Hag
+SK=Zech
+SAKARJA=Zech
+ML=Mal
+MALAKI=Mal
+MT=Matt
+MAT=Matt
+MATTEUSE=Matt
+MK=Mark
+MAR=Mark
+MARKUSE=Mark
+LU=Luke
+LK=Luke
+LUUKA=Luke
+JH=John
+JOHANNESE=John
+AP=Acts
+APT=Acts
+APOSTLITE TEOD=Acts
+RO=Rom
+RM=Rom
+ROOMLASTELE=Rom
-ES=15
-ESRA=15
-NE=16
-NEHEMJA=16
-EST=17
-ESTER=17
-II=18
-IIOB=18
-PS=19
-LA=19
-PSALMID=19
-LAULUD=19
-ÕP=20
-ÕPETUSSÕNAD=20
-KG=21
-KOGUJA=21
-ÃœL=22
-ÃœLEMLAUL=22
-JS=23
-JESAJA=23
-JR=24
-JEREMIJA=24
-NL=25
-NUTULAULUD=25
-HS=26
-HESEKIEL=26
-TA=27
-TAANIEL=27
-HO=28
-HOOSEA=28
-JL=29
-JOEL=29
-AM=30
-AAMOS=30
-OB=31
-OBADJA=31
-JN=32
-JOONA=32
-MI=33
-MIIKA=33
-NA=34
-NAHUM=34
-HA=35
-HABAKUK=35
-SF=36
-SEFANJA=36
-HG=37
-HAGGAI=37
-SK=38
-SAKARJA=38
-ML=39
-MALAKI=39
-MT=40
-MAT=40
-MATTEUSE=40
-MK=41
-MAR=41
-MARKUSE=41
-LU=42
-LK=42
-LUUKA=42
-JH=43
-JOHANNESE=43
-AP=44
-APT=44
-APOSTLITE TEOD=44
-RO=45
-RM=45
-ROOMLASTELE=45
+1KO=1Cor
+1KR=1Cor
+1KORINTLASTELE=1Cor
+1. KORINTLASTELE=1Cor
+1 KORINTLASTELE=1Cor
-1KO=46
-1KR=46
-1KORINTLASTELE=46
-1. KORINTLASTELE=46
-1 KORINTLASTELE=46
+2KO=2Cor
+2KR=2Cor
+2KORINTLASTELE=2Cor
+2. KORINTLASTELE=2Cor
+2 KORINTLASTELE=2Cor
-2KO=47
-2KR=47
-2KORINTLASTELE=47
-2. KORINTLASTELE=47
-2 KORINTLASTELE=47
+GL=Gal
+GALAATLASTELE=Gal
+EF=Eph
+EFESLASTELE=Eph
+FI=Phil
+FILIPLASTELE=Phil
+KO=Col
+KL=Col
+KOLOSLASTELE=Col
-GL=48
-GALAATLASTELE=48
-EF=49
-EFESLASTELE=49
-FI=50
-FILIPLASTELE=50
-KO=51
-KL=51
-KOLOSLASTELE=51
+1TS=1Thess
+1TE=1Thess
+1. TESSALOONIKLASTELE=1Thess
+1 TESSALOONIKLASTELE=1Thess
+1TESSALOONIKLASTELE=1Thess
-1TS=52
-1TE=52
-1. TESSALOONIKLASTELE=52
-1 TESSALOONIKLASTELE=52
-1TESSALOONIKLASTELE=52
+2TS=2Thess
+2TE=2Thess
+2. TESSALOONIKLASTELE=2Thess
+2 TESSALOONIKLASTELE=2Thess
+2TESSALOONIKLASTELE=2Thess
-2TS=53
-2TE=53
-2. TESSALOONIKLASTELE=53
-2 TESSALOONIKLASTELE=53
-2TESSALOONIKLASTELE=53
+1TM=1Tim
+1TI=1Tim
+1. TIMOTEOSELE=1Tim
+1 TIMOTEOSELE=1Tim
+1TIMOTEOSELE=1Tim
-1TM=54
-1TI=54
-1. TIMOTEOSELE=54
-1 TIMOTEOSELE=54
-1TIMOTEOSELE=54
+2TM=2Tim
+2TI=2Tim
+2. TIMOTEOSELE=2Tim
+2 TIMOTEOSELE=2Tim
+2TIMOTEOSELE=2Tim
-2TM=55
-2TI=55
-2. TIMOTEOSELE=55
-2 TIMOTEOSELE=55
-2TIMOTEOSELE=55
+TI=Titus
+TT=Titus
+TIITUSELE=Titus
+FL=Phil
+FM=Phlm
+FILEEMONILE=Phlm
+HE=Heb
+HB=Heb
+HEEBREALASTELE=Heb
+JK=Jas
+JAAKOBUSE=Jas
-TI=56
-TIITUSELE=56
-FL=57
-FM=57
-FILEEMONILE=57
-HE=58
-HB=58
-HEEBREALASTELE=58
-JK=59
-JAAKOBUSE=59
+1PT=1Pet
+1PE=1Pet
+1. PEETRUSE=1Pet
+1 PEETRUSE=1Pet
+1PEETRUSE=1Pet
-1PT=60
-1PE=60
-1. PEETRUSE=60
-1 PEETRUSE=60
-1PEETRUSE=60
+2PT=2Pet
+2PE=2Pet
+2. PEETRUSE=2Pet
+2 PEETRUSE=2Pet
+2PEETRUSE=2Pet
-2PT=61
-2PE=61
-2. PEETRUSE=61
-2 PEETRUSE=61
-2PEETRUSE=61
+1JH=1John
+1. JOHANNESE=1John
+1 JOHANNESE=1John
+1JOHANNESE=1John
-1JH=62
-1. JOHANNESE=62
-1 JOHANNESE=62
-1JOHANNESE=62
+2JH=2John
+2. JOHANNESE=2John
+2 JOHANNESE=2John
+2JOHANNESE=2John
-2JH=63
-2. JOHANNESE=63
-2 JOHANNESE=63
-2JOHANNESE=63
+3JH=3John
+3. JOHANNESE=3John
+3 JOHANNESE=3John
+3JOHANNESE=3John
-3JH=64
-3. JOHANNESE=64
-3 JOHANNESE=64
-3JOHANNESE=64
-
-JU=65
-JD=65
-JUUDA=65
-ILM=66
-ILMUTUSE=66
+JU=Jude
+JD=Jude
+JUUDA=Jude
+ILM=Rev
+ILMUTUSE=Rev
diff --git a/locales.d/et.conf b/locales.d/et.conf
index a97a878..102e975 100644
--- a/locales.d/et.conf
+++ b/locales.d/et.conf
@@ -73,422 +73,238 @@ Revelation of John=Ilmutuse
[Book Abbrevs]
-1 C=46
-1 CHRONICLES=13
-1 CORINTHIANS=46
-1 JN=62
-1 JOHN=62
-1 KGS=11
-1 KINGS=11
-1 PETER=60
-1 PTR=60
-1 SAMUEL=9
-1 THESSALONIANS=52
-1 TIMOTHY=54
-1C=46
-1CHRONICLES=13
-1CORINTHIANS=46
-1JN=62
-1JOHN=62
-1KGS=11
-1KINGS=11
-1PETER=60
-1PTR=60
-1SAMUEL=9
-1THESSALONIANS=52
-1TIMOTHY=54
-2 C=47
-2 CHRONICLES=14
-2 CORINTHIANS=47
-2 JN=63
-2 JOHN=63
-2 KGS=12
-2 KINGS=12
-2 PETER=61
-2 PTR=61
-2 SAMUEL=10
-2 THESSALONIANS=53
-2 TIMOTHY=55
-2C=47
-2CHRONICLES=14
-2CORINTHIANS=47
-2JN=63
-2JOHN=63
-2KGS=12
-2KINGS=12
-2PETER=61
-2PTR=61
-2SAMUEL=10
-2THESSALONIANS=53
-2TIMOTHY=55
-3 JN=64
-3 JOHN=64
-3JN=64
-3JOHN=64
-ACTS=44
-AMOS=30
-APOCALYPSE OF ST. JOHN=66
-C=51
-CANTICLE OF CANTICLES=22
-COC=22
-COLOSSIANS=51
-D=5
-DANIEL=27
-DEUTERONOMY=5
-E=49
-ECCLESIASTES=21
-EPHESIANS=49
-ESTER=17
-ESTHER=17
-EXODUS=2
-EZEKIEL=26
-EZRA=15
-G=1
-GALATIANS=48
-GENESIS=1
-H=58
-HABAKKUK=35
-HAGGAI=37
-HEBREWS=58
-HOSEA=28
-I C=46
-I CHRONICLES=13
-I CORINTHIANS=46
-I JN=62
-I JOHN=62
-I KGS=11
-I KINGS=11
-I PETER=60
-I PTR=60
-I SAMUEL=9
-I THESSALONIANS=52
-I TIMOTHY=54
-IC=46
-ICHRONICLES=13
-ICORINTHIANS=46
-II C=47
-II CHRONICLES=14
-II CORINTHIANS=47
-II JN=63
-II JOHN=63
-II KGS=12
-II KINGS=12
-II PETER=61
-II PTR=61
-II SAMUEL=10
-II THESSALONIANS=53
-II TIMOTHY=55
-IIC=47
-IICHRONICLES=14
-IICORINTHIANS=47
-III JN=64
-III JOHN=64
-IIIJN=64
-IIIJOHN=64
-IIJN=63
-IIJOHN=63
-IIKGS=12
-IIKINGS=12
-IIPETER=61
-IIPTR=61
-IISAMUEL=10
-IITHESSALONIANS=53
-IITIMOTHY=55
-IJN=62
-IJOHN=62
-IKGS=11
-IKINGS=11
-IPETER=60
-IPTR=60
-ISA=23
-ISAIAH=23
-ISAMUEL=9
-ITHESSALONIANS=52
-ITIMOTHY=54
-J=43
-JAMES=59
-JAS=59
-JEREMIAH=24
-JN=43
-JO=43
-JOB=18
-JOEL=29
-JOHN=43
-JONAH=32
-JOSHUA=6
-JUD=7
-JUDE=65
-JUDGES=7
-L=42
-LAMENTATIONS=25
-LEVITICUS=3
-LK=42
-LUKE=42
-MA=40
-MALACHI=39
-MARK=41
-MATTHEW=40
-MICAH=33
-MK=41
-MR=41
-MT=40
-N=4
-NAHUM=34
-NEHEMIAH=16
-NUMBERS=4
-OBADIAH=31
-P=19
-PH=50
-PHILEMON=57
-PHILIPPIANS=50
-PHLM=57
-PHM=57
-PHP=50
-PROVERBS=20
-PSALMS=19
-PSM=19
-PSS=19
-REVELATION OF JOHN=66
-ROMANS=45
-RUTH=8
-SONG OF SOLOMON=22
-SONG OF SONGS=22
-SOS=22
-TITUS=56
-ZECHARIAH=38
-ZEPHANIAH=36
+1MO=Gen
+1MS=Gen
+G=Gen
+GE=Gen
+1. MOOSESE=Gen
+1 MOOSESE=Gen
+1MOOSESE=Gen
-1MO=1
-1MS=1
-G=1
-GE=1
-1. MOOSESE=1
-1 MOOSESE=1
-1MOOSESE=1
+2MO=Exod
+2MS=Exod
+EX=Exod
+2. MOOSESE=Exod
+2 MOOSESE=Exod
+2MOOSESE=Exod
-2MO=2
-2MS=2
-EX=2
-2. MOOSESE=2
-2 MOOSESE=2
-2MOOSESE=2
+3MO=Lev
+3MS=Lev
+LEV=Lev
+3. MOOSESE=Lev
+3 MOOSESE=Lev
+3MOOSESE=Lev
-3MO=3
-3MS=3
-LEV=3
-3. MOOSESE=3
-3 MOOSESE=3
-3MOOSESE=3
+4MO=Num
+4MS=Num
+NU=Num
+4. MOOSESE=Num
+4 MOOSESE=Num
+4MOOSESE=Num
-4MO=4
-4MS=4
-NU=4
-4. MOOSESE=4
-4 MOOSESE=4
-4MOOSESE=4
+5MO=Deut
+5MS=Deut
+DT=Deut
+5. MOOSESE=Deut
+5 MOOSESE=Deut
+5MOOSESE=Deut
-5MO=5
-5MS=5
-DT=5
-5. MOOSESE=5
-5 MOOSESE=5
-5MOOSESE=5
+JO=Josh
+JOOSUA=Josh
+KM=Judg
+KOHTUMÕISTJATE=Judg
+RU=Ruth
+RUTT=Ruth
-JO=6
-JOOSUA=6
-KM=7
-KOHTUMÕISTJATE=7
-RU=8
-RUTT=8
+1SM=1Sam
+1. SAAMUELI=1Sam
+1 SAAMUELI=1Sam
+1SAAMUELI=1Sam
-1SM=9
-1. SAAMUELI=9
-1 SAAMUELI=9
-1SAAMUELI=9
+2SM=2Sam
+2. SAAMUELI=2Sam
+2 SAAMUELI=2Sam
+2SAAMUELI=2Sam
-2SM=10
-2. SAAMUELI=10
-2 SAAMUELI=10
-2SAAMUELI=10
+1KN=1Kgs
+1KU=1Kgs
+1. KUNINGATE=1Kgs
+1 KUNINGATE=1Kgs
+1KUNINGATE=1Kgs
-1KN=11
-1KU=11
-1. KUNINGATE=11
-1 KUNINGATE=11
-1KUNINGATE=11
+2KN=2Kgs
+2KU=2Kgs
+2. KUNINGATE=2Kgs
+2 KUNINGATE=2Kgs
+2KUNINGATE=2Kgs
-2KN=12
-2KU=12
-2. KUNINGATE=12
-2 KUNINGATE=12
-2KUNINGATE=12
+1AJ=1Chr
+1. AJARAAMAT=1Chr
+1 AJARAAMAT=1Chr
+1AJARAAMAT=1Chr
-1AJ=13
-1. AJARAAMAT=13
-1 AJARAAMAT=13
-1AJARAAMAT=13
+2AJ=2Chr
+2. AJARAAMAT=2Chr
+2 AJARAAMAT=2Chr
+2AJARAAMAT=2Chr
-2AJ=14
-2. AJARAAMAT=14
-2 AJARAAMAT=14
-2AJARAAMAT=14
+ES=Ezra
+ESRA=Ezra
+NE=Neh
+NEHEMJA=Neh
+EST=Esth
+ESTER=Esth
+II=Job
+IIOB=Job
+PS=Ps
+LA=Ps
+PSALMID=Ps
+LAULUD=Ps
+ÕP=Prov
+ÕPETUSSÕNAD=Prov
+KG=Eccl
+KOGUJA=Eccl
+ÜL=Song
+ÜLEMLAUL=Song
+JS=Isa
+JESAJA=Isa
+JR=Jer
+JEREMIJA=Jer
+NL=Lam
+NUTULAULUD=Lam
+HS=Ezek
+HESEKIEL=Ezek
+TA=Dan
+TAANIEL=Dan
+HO=Hos
+HOOSEA=Hos
+JL=Joel
+JOEL=Joel
+AM=Amos
+AAMOS=Amos
+OB=Obad
+OBADJA=Obad
+JN=Jonah
+JOONA=Jonah
+MI=Mic
+MIIKA=Mic
+NA=Nah
+NAHUM=Nah
+HA=Hab
+HABAKUK=Hab
+SF=Zeph
+SEFANJA=Zeph
+HG=Hag
+HAGGAI=Hag
+SK=Zech
+SAKARJA=Zech
+ML=Mal
+MALAKI=Mal
+MT=Matt
+MAT=Matt
+MATTEUSE=Matt
+MK=Mark
+MAR=Mark
+MARKUSE=Mark
+LU=Luke
+LK=Luke
+LUUKA=Luke
+JH=John
+JOHANNESE=John
+AP=Acts
+APT=Acts
+APOSTLITE TEOD=Acts
+RO=Rom
+RM=Rom
+ROOMLASTELE=Rom
-ES=15
-ESRA=15
-NE=16
-NEHEMJA=16
-EST=17
-ESTER=17
-II=18
-IIOB=18
-PS=19
-LA=19
-PSALMID=19
-LAULUD=19
-ÕP=20
-ÕPETUSSÕNAD=20
-KG=21
-KOGUJA=21
-ÜL=22
-ÜLEMLAUL=22
-JS=23
-JESAJA=23
-JR=24
-JEREMIJA=24
-NL=25
-NUTULAULUD=25
-HS=26
-HESEKIEL=26
-TA=27
-TAANIEL=27
-HO=28
-HOOSEA=28
-JL=29
-JOEL=29
-AM=30
-AAMOS=30
-OB=31
-OBADJA=31
-JN=32
-JOONA=32
-MI=33
-MIIKA=33
-NA=34
-NAHUM=34
-HA=35
-HABAKUK=35
-SF=36
-SEFANJA=36
-HG=37
-HAGGAI=37
-SK=38
-SAKARJA=38
-ML=39
-MALAKI=39
-MT=40
-MAT=40
-MATTEUSE=40
-MK=41
-MAR=41
-MARKUSE=41
-LU=42
-LK=42
-LUUKA=42
-JH=43
-JOHANNESE=43
-AP=44
-APT=44
-APOSTLITE TEOD=44
-RO=45
-RM=45
-ROOMLASTELE=45
+1KO=1Cor
+1KR=1Cor
+1KORINTLASTELE=1Cor
+1. KORINTLASTELE=1Cor
+1 KORINTLASTELE=1Cor
-1KO=46
-1KR=46
-1KORINTLASTELE=46
-1. KORINTLASTELE=46
-1 KORINTLASTELE=46
+2KO=2Cor
+2KR=2Cor
+2KORINTLASTELE=2Cor
+2. KORINTLASTELE=2Cor
+2 KORINTLASTELE=2Cor
-2KO=47
-2KR=47
-2KORINTLASTELE=47
-2. KORINTLASTELE=47
-2 KORINTLASTELE=47
+GL=Gal
+GALAATLASTELE=Gal
+EF=Eph
+EFESLASTELE=Eph
+FI=Phil
+FILIPLASTELE=Phil
+KO=Col
+KL=Col
+KOLOSLASTELE=Col
-GL=48
-GALAATLASTELE=48
-EF=49
-EFESLASTELE=49
-FI=50
-FILIPLASTELE=50
-KO=51
-KL=51
-KOLOSLASTELE=51
+1TS=1Thess
+1TE=1Thess
+1. TESSALOONIKLASTELE=1Thess
+1 TESSALOONIKLASTELE=1Thess
+1TESSALOONIKLASTELE=1Thess
-1TS=52
-1TE=52
-1. TESSALOONIKLASTELE=52
-1 TESSALOONIKLASTELE=52
-1TESSALOONIKLASTELE=52
+2TS=2Thess
+2TE=2Thess
+2. TESSALOONIKLASTELE=2Thess
+2 TESSALOONIKLASTELE=2Thess
+2TESSALOONIKLASTELE=2Thess
-2TS=53
-2TE=53
-2. TESSALOONIKLASTELE=53
-2 TESSALOONIKLASTELE=53
-2TESSALOONIKLASTELE=53
+1TM=1Tim
+1TI=1Tim
+1. TIMOTEOSELE=1Tim
+1 TIMOTEOSELE=1Tim
+1TIMOTEOSELE=1Tim
-1TM=54
-1TI=54
-1. TIMOTEOSELE=54
-1 TIMOTEOSELE=54
-1TIMOTEOSELE=54
+2TM=2Tim
+2TI=2Tim
+2. TIMOTEOSELE=2Tim
+2 TIMOTEOSELE=2Tim
+2TIMOTEOSELE=2Tim
-2TM=55
-2TI=55
-2. TIMOTEOSELE=55
-2 TIMOTEOSELE=55
-2TIMOTEOSELE=55
+TI=Titus
+TT=Titus
+TIITUSELE=Titus
+FL=Phil
+FM=Phlm
+FILEEMONILE=Phlm
+HE=Heb
+HB=Heb
+HEEBREALASTELE=Heb
+JK=Jas
+JAAKOBUSE=Jas
-TI=56
-TIITUSELE=56
-FL=57
-FM=57
-FILEEMONILE=57
-HE=58
-HB=58
-HEEBREALASTELE=58
-JK=59
-JAAKOBUSE=59
+1PT=1Pet
+1PE=1Pet
+1. PEETRUSE=1Pet
+1 PEETRUSE=1Pet
+1PEETRUSE=1Pet
-1PT=60
-1PE=60
-1. PEETRUSE=60
-1 PEETRUSE=60
-1PEETRUSE=60
+2PT=2Pet
+2PE=2Pet
+2. PEETRUSE=2Pet
+2 PEETRUSE=2Pet
+2PEETRUSE=2Pet
-2PT=61
-2PE=61
-2. PEETRUSE=61
-2 PEETRUSE=61
-2PEETRUSE=61
+1JH=1John
+1. JOHANNESE=1John
+1 JOHANNESE=1John
+1JOHANNESE=1John
-1JH=62
-1. JOHANNESE=62
-1 JOHANNESE=62
-1JOHANNESE=62
+2JH=2John
+2. JOHANNESE=2John
+2 JOHANNESE=2John
+2JOHANNESE=2John
-2JH=63
-2. JOHANNESE=63
-2 JOHANNESE=63
-2JOHANNESE=63
+3JH=3John
+3. JOHANNESE=3John
+3 JOHANNESE=3John
+3JOHANNESE=3John
-3JH=64
-3. JOHANNESE=64
-3 JOHANNESE=64
-3JOHANNESE=64
-
-JU=65
-JD=65
-JUUDA=65
-ILM=66
-ILMUTUSE=66
+JU=Jude
+JD=Jude
+JUUDA=Jude
+ILM=Rev
+ILMUTUSE=Rev
diff --git a/locales.d/et_abbr-utf8.conf b/locales.d/et_abbr-utf8.conf
index 17d05fa..23393da 100644
--- a/locales.d/et_abbr-utf8.conf
+++ b/locales.d/et_abbr-utf8.conf
@@ -72,424 +72,242 @@ Jude=Jd
Revelation of John=Ilm
[Book Abbrevs]
-1 C=46
-1 CHRONICLES=13
-1 CORINTHIANS=46
-1 JN=62
-1 JOHN=62
-1 KGS=11
-1 KINGS=11
-1 PETER=60
-1 PTR=60
-1 SAMUEL=9
-1 THESSALONIANS=52
-1 TIMOTHY=54
-1C=46
-1CHRONICLES=13
-1CORINTHIANS=46
-1JN=62
-1JOHN=62
-1KGS=11
-1KINGS=11
-1PETER=60
-1PTR=60
-1SAMUEL=9
-1THESSALONIANS=52
-1TIMOTHY=54
-2 C=47
-2 CHRONICLES=14
-2 CORINTHIANS=47
-2 JN=63
-2 JOHN=63
-2 KGS=12
-2 KINGS=12
-2 PETER=61
-2 PTR=61
-2 SAMUEL=10
-2 THESSALONIANS=53
-2 TIMOTHY=55
-2C=47
-2CHRONICLES=14
-2CORINTHIANS=47
-2JN=63
-2JOHN=63
-2KGS=12
-2KINGS=12
-2PETER=61
-2PTR=61
-2SAMUEL=10
-2THESSALONIANS=53
-2TIMOTHY=55
-3 JN=64
-3 JOHN=64
-3JN=64
-3JOHN=64
-ACTS=44
-AMOS=30
-APOCALYPSE OF ST. JOHN=66
-C=51
-CANTICLE OF CANTICLES=22
-COC=22
-COLOSSIANS=51
-D=5
-DANIEL=27
-DEUTERONOMY=5
-E=49
-ECCLESIASTES=21
-EPHESIANS=49
-ESTER=17
-ESTHER=17
-EXODUS=2
-EZEKIEL=26
-EZRA=15
-G=1
-GALATIANS=48
-GENESIS=1
-H=58
-HABAKKUK=35
-HAGGAI=37
-HEBREWS=58
-HOSEA=28
-I C=46
-I CHRONICLES=13
-I CORINTHIANS=46
-I JN=62
-I JOHN=62
-I KGS=11
-I KINGS=11
-I PETER=60
-I PTR=60
-I SAMUEL=9
-I THESSALONIANS=52
-I TIMOTHY=54
-IC=46
-ICHRONICLES=13
-ICORINTHIANS=46
-II C=47
-II CHRONICLES=14
-II CORINTHIANS=47
-II JN=63
-II JOHN=63
-II KGS=12
-II KINGS=12
-II PETER=61
-II PTR=61
-II SAMUEL=10
-II THESSALONIANS=53
-II TIMOTHY=55
-IIC=47
-IICHRONICLES=14
-IICORINTHIANS=47
-III JN=64
-III JOHN=64
-IIIJN=64
-IIIJOHN=64
-IIJN=63
-IIJOHN=63
-IIKGS=12
-IIKINGS=12
-IIPETER=61
-IIPTR=61
-IISAMUEL=10
-IITHESSALONIANS=53
-IITIMOTHY=55
-IJN=62
-IJOHN=62
-IKGS=11
-IKINGS=11
-IPETER=60
-IPTR=60
-ISA=23
-ISAIAH=23
-ISAMUEL=9
-ITHESSALONIANS=52
-ITIMOTHY=54
-J=43
-JAMES=59
-JAS=59
-JEREMIAH=24
-JN=43
-JO=43
-JOB=18
-JOEL=29
-JOHN=43
-JONAH=32
-JOSHUA=6
-JUDE=65
-JUDGES=7
-L=42
-LAMENTATIONS=25
-LEVITICUS=3
-LK=42
-LUKE=42
-MA=40
-MALACHI=39
-MARK=41
-MATTHEW=40
-MICAH=33
-MK=41
-MR=41
-MT=40
-N=4
-NAHUM=34
-NEHEMIAH=16
-NUMBERS=4
-OBADIAH=31
-P=19
-PH=50
-PHILEMON=57
-PHILIPPIANS=50
-PHLM=57
-PHM=57
-PHP=50
-PROVERBS=20
-PSALMS=19
-PSM=19
-PSS=19
-REVELATION OF JOHN=66
-ROMANS=45
-RUTH=8
-SONG OF SOLOMON=22
-SONG OF SONGS=22
-SOS=22
-TITUS=56
-ZECHARIAH=38
-ZEPHANIAH=36
-1MO=1
-1MS=1
-G=1
-GE=1
-1. MOOSESE=1
-1 MOOSESE=1
-1MOOSESE=1
+1MO=Gen
+1MS=Gen
+G=Gen
+GE=Gen
+1. MOOSESE=Gen
+1 MOOSESE=Gen
+1MOOSESE=Gen
-2MO=2
-2MS=2
-EX=2
-2. MOOSESE=2
-2 MOOSESE=2
-2MOOSESE=2
+2MO=Exod
+2MS=Exod
+EX=Exod
+2. MOOSESE=Exod
+2 MOOSESE=Exod
+2MOOSESE=Exod
-3MO=3
-3MS=3
-LEV=3
-3. MOOSESE=3
-3 MOOSESE=3
-3MOOSESE=3
+3MO=Lev
+3MS=Lev
+LEV=Lev
+3. MOOSESE=Lev
+3 MOOSESE=Lev
+3MOOSESE=Lev
-4MO=4
-4MS=4
-NU=4
-4. MOOSESE=4
-4 MOOSESE=4
-4MOOSESE=4
+4MO=Num
+4MS=Num
+NU=Num
+4. MOOSESE=Num
+4 MOOSESE=Num
+4MOOSESE=Num
-5MO=5
-5MS=5
-DT=5
-5. MOOSESE=5
-5 MOOSESE=5
-5MOOSESE=5
+5MO=Deut
+5MS=Deut
+DT=Deut
+5. MOOSESE=Deut
+5 MOOSESE=Deut
+5MOOSESE=Deut
-JO=6
-JOOSUA=6
-KM=7
-KOHTUMÕISTJATE=7
+JO=Josh
+JOOSUA=Josh
+KM=Judg
+KOHTUMÕISTJATE=Judg
-RT=8
-RU=8
-RUTT=8
+RT=Ruth
+RU=Ruth
+RUTT=Ruth
-1SM=9
-1. SAAMUELI=9
-1 SAAMUELI=9
-1SAAMUELI=9
+1SM=1Sam
+1. SAAMUELI=1Sam
+1 SAAMUELI=1Sam
+1SAAMUELI=1Sam
-2SM=10
-2. SAAMUELI=10
-2 SAAMUELI=10
-2SAAMUELI=10
+2SM=2Sam
+2. SAAMUELI=2Sam
+2 SAAMUELI=2Sam
+2SAAMUELI=2Sam
-1KN=11
-1KU=11
-1. KUNINGATE=11
-1 KUNINGATE=11
-1KUNINGATE=11
+1KN=1Kgs
+1KU=1Kgs
+1. KUNINGATE=1Kgs
+1 KUNINGATE=1Kgs
+1KUNINGATE=1Kgs
-2KN=12
-2KU=12
-2. KUNINGATE=12
-2 KUNINGATE=12
-2KUNINGATE=12
+2KN=2Kgs
+2KU=2Kgs
+2. KUNINGATE=2Kgs
+2 KUNINGATE=2Kgs
+2KUNINGATE=2Kgs
-1AJ=13
-1. AJARAAMAT=13
-1 AJARAAMAT=13
-1AJARAAMAT=13
+1AJ=1Chr
+1. AJARAAMAT=1Chr
+1 AJARAAMAT=1Chr
+1AJARAAMAT=1Chr
-2AJ=14
-2. AJARAAMAT=14
-2 AJARAAMAT=14
-2AJARAAMAT=14
+2AJ=2Chr
+2. AJARAAMAT=2Chr
+2 AJARAAMAT=2Chr
+2AJARAAMAT=2Chr
-ES=15
-ESRA=15
-NE=16
-NEHEMJA=16
-EST=17
-ESTER=17
-II=18
-IIOB=18
-PS=19
-LA=19
-PSALMID=19
-LAULUD=19
-ÕP=20
-ÕPETUSSÕNAD=20
-KG=21
-KOGUJA=21
-ÃœL=22
-ÃœLEMLAUL=22
-JS=23
-JESAJA=23
-JR=24
-JEREMIJA=24
-NL=25
-NUTULAULUD=25
-HS=26
-HESEKIEL=26
-TA=27
-TN=27
-TAANIEL=27
-HO=28
-HOOSEA=28
-JL=29
-JOEL=29
-AM=30
-AAMOS=30
-OB=31
-OBADJA=31
-JN=32
-JOONA=32
-MI=33
-MIIKA=33
-NA=34
-NAHUM=34
-HA=35
-HABAKUK=35
-SF=36
-SEFANJA=36
-HG=37
-HAGGAI=37
-SK=38
-SAKARJA=38
-ML=39
-MALAKI=39
-MT=40
-MAT=40
-MATTEUSE=40
-MK=41
-MAR=41
-MARKUSE=41
-LU=42
-LK=42
-LUUKA=42
-JH=43
-JOHANNESE=43
-AP=44
-APT=44
-APOSTLITE TEOD=44
-RO=45
-RM=45
-ROOMLASTELE=45
+ES=Ezra
+ESRA=Ezra
+NE=Neh
+NEHEMJA=Neh
+EST=Esth
+ESTER=Esth
+II=Job
+IIOB=Job
+PS=Ps
+LA=Ps
+PSALMID=Ps
+LAULUD=Ps
+ÕP=Prov
+ÕPETUSSÕNAD=Prov
+KG=Eccl
+KOGUJA=Eccl
+ÃœL=Song
+ÃœLEMLAUL=Song
+JS=Isa
+JESAJA=Isa
+JR=Jer
+JEREMIJA=Jer
+NL=Lam
+NUTULAULUD=Lam
+HS=Ezek
+HESEKIEL=Ezek
+TA=Dan
+TN=Dan
+TAANIEL=Dan
+HO=Hos
+HOOSEA=Hos
+JL=Joel
+JOEL=Joel
+AM=Amos
+AAMOS=Amos
+OB=Obad
+OBADJA=Obad
+JN=Jonah
+JOONA=Jonah
+MI=Mic
+MIIKA=Mic
+NA=Nah
+NAHUM=Nah
+HA=Hab
+HABAKUK=Hab
+SF=Zeph
+SEFANJA=Zeph
+HG=Hag
+HAGGAI=Hag
+SK=Zech
+SAKARJA=Zech
+ML=Mal
+MALAKI=Mal
+MT=Matt
+MAT=Matt
+MATTEUSE=Matt
+MK=Mark
+MAR=Mark
+MARKUSE=Mark
+LU=Luke
+LK=Luke
+LUUKA=Luke
+JH=John
+JOHANNESE=John
+AP=Acts
+APT=Acts
+APOSTLITE TEOD=Acts
+RO=Rom
+RM=Rom
+ROOMLASTELE=Rom
-1KO=46
-1KR=46
-1KORINTLASTELE=46
-1. KORINTLASTELE=46
-1 KORINTLASTELE=46
+1KO=1Cor
+1KR=1Cor
+1KORINTLASTELE=1Cor
+1. KORINTLASTELE=1Cor
+1 KORINTLASTELE=1Cor
-2KO=47
-2KR=47
-2KORINTLASTELE=47
-2. KORINTLASTELE=47
-2 KORINTLASTELE=47
+2KO=2Cor
+2KR=2Cor
+2KORINTLASTELE=2Cor
+2. KORINTLASTELE=2Cor
+2 KORINTLASTELE=2Cor
-GL=48
-GALAATLASTELE=48
-EF=49
-EFESLASTELE=49
-FI=50
-FILIPLASTELE=50
-KO=51
-KL=51
-KOLOSLASTELE=51
+GL=Gal
+GALAATLASTELE=Gal
+EF=Eph
+EFESLASTELE=Eph
+FI=Phil
+FILIPLASTELE=Phil
+KO=Col
+KL=Col
+KOLOSLASTELE=Col
-1TS=52
-1TE=52
-1. TESSALOONIKLASTELE=52
-1 TESSALOONIKLASTELE=52
-1TESSALOONIKLASTELE=52
+1TS=1Thess
+1TE=1Thess
+1. TESSALOONIKLASTELE=1Thess
+1 TESSALOONIKLASTELE=1Thess
+1TESSALOONIKLASTELE=1Thess
-2TS=53
-2TE=53
-2. TESSALOONIKLASTELE=53
-2 TESSALOONIKLASTELE=53
-2TESSALOONIKLASTELE=53
+2TS=2Thess
+2TE=2Thess
+2. TESSALOONIKLASTELE=2Thess
+2 TESSALOONIKLASTELE=2Thess
+2TESSALOONIKLASTELE=2Thess
-1TM=54
-1TI=54
-1. TIMOTEOSELE=54
-1 TIMOTEOSELE=54
-1TIMOTEOSELE=54
+1TM=1Tim
+1TI=1Tim
+1. TIMOTEOSELE=1Tim
+1 TIMOTEOSELE=1Tim
+1TIMOTEOSELE=1Tim
-2TM=55
-2TI=55
-2. TIMOTEOSELE=55
-2 TIMOTEOSELE=55
-2TIMOTEOSELE=55
+2TM=2Tim
+2TI=2Tim
+2. TIMOTEOSELE=2Tim
+2 TIMOTEOSELE=2Tim
+2TIMOTEOSELE=2Tim
-TI=56
-TIITUSELE=56
-FL=57
-FM=57
-FILEEMONILE=57
-HE=58
-HB=58
-HEEBREALASTELE=58
-JK=59
-JAAKOBUSE=59
+TI=Titus
+TT=Titus
+TIITUSELE=Titus
+FL=Phil
+FM=Phlm
+FILEEMONILE=Phlm
+HE=Heb
+HB=Heb
+HEEBREALASTELE=Heb
+JK=Jas
+JAAKOBUSE=Jas
-1PT=60
-1PE=60
-1. PEETRUSE=60
-1 PEETRUSE=60
-1PEETRUSE=60
+1PT=1Pet
+1PE=1Pet
+1. PEETRUSE=1Pet
+1 PEETRUSE=1Pet
+1PEETRUSE=1Pet
-2PT=61
-2PE=61
-2. PEETRUSE=61
-2 PEETRUSE=61
-2PEETRUSE=61
+2PT=2Pet
+2PE=2Pet
+2. PEETRUSE=2Pet
+2 PEETRUSE=2Pet
+2PEETRUSE=2Pet
-1JH=62
-1. JOHANNESE=62
-1 JOHANNESE=62
-1JOHANNESE=62
+1JH=1John
+1. JOHANNESE=1John
+1 JOHANNESE=1John
+1JOHANNESE=1John
-2JH=63
-2. JOHANNESE=63
-2 JOHANNESE=63
-2JOHANNESE=63
+2JH=2John
+2. JOHANNESE=2John
+2 JOHANNESE=2John
+2JOHANNESE=2John
-3JH=64
-3. JOHANNESE=64
-3 JOHANNESE=64
-3JOHANNESE=64
+3JH=3John
+3. JOHANNESE=3John
+3 JOHANNESE=3John
+3JOHANNESE=3John
-JU=65
-JD=65
-JUUDA=65
-ILM=66
-ILMUTUSE=66
+JU=Jude
+JD=Jude
+JUUDA=Jude
+ILM=Rev
+ILMUTUSE=Rev
diff --git a/locales.d/et_abbr.conf b/locales.d/et_abbr.conf
index 3d21005..7fda9c1 100644
--- a/locales.d/et_abbr.conf
+++ b/locales.d/et_abbr.conf
@@ -72,421 +72,241 @@ Jude=Jd
Revelation of John=Ilm
[Book Abbrevs]
-1 C=46
-1 CHRONICLES=13
-1 CORINTHIANS=46
-1 JN=62
-1 JOHN=62
-1 KGS=11
-1 KINGS=11
-1 PETER=60
-1 PTR=60
-1 SAMUEL=9
-1 THESSALONIANS=52
-1 TIMOTHY=54
-1C=46
-1CHRONICLES=13
-1CORINTHIANS=46
-1JN=62
-1JOHN=62
-1KGS=11
-1KINGS=11
-1PETER=60
-1PTR=60
-1SAMUEL=9
-1THESSALONIANS=52
-1TIMOTHY=54
-2 C=47
-2 CHRONICLES=14
-2 CORINTHIANS=47
-2 JN=63
-2 JOHN=63
-2 KGS=12
-2 KINGS=12
-2 PETER=61
-2 PTR=61
-2 SAMUEL=10
-2 THESSALONIANS=53
-2 TIMOTHY=55
-2C=47
-2CHRONICLES=14
-2CORINTHIANS=47
-2JN=63
-2JOHN=63
-2KGS=12
-2KINGS=12
-2PETER=61
-2PTR=61
-2SAMUEL=10
-2THESSALONIANS=53
-2TIMOTHY=55
-3 JN=64
-3 JOHN=64
-3JN=64
-3JOHN=64
-ACTS=44
-AMOS=30
-APOCALYPSE OF ST. JOHN=66
-C=51
-CANTICLE OF CANTICLES=22
-COC=22
-COLOSSIANS=51
-D=5
-DANIEL=27
-DEUTERONOMY=5
-E=49
-ECCLESIASTES=21
-EPHESIANS=49
-ESTER=17
-ESTHER=17
-EXODUS=2
-EZEKIEL=26
-EZRA=15
-G=1
-GALATIANS=48
-GENESIS=1
-H=58
-HABAKKUK=35
-HAGGAI=37
-HEBREWS=58
-HOSEA=28
-I C=46
-I CHRONICLES=13
-I CORINTHIANS=46
-I JN=62
-I JOHN=62
-I KGS=11
-I KINGS=11
-I PETER=60
-I PTR=60
-I SAMUEL=9
-I THESSALONIANS=52
-I TIMOTHY=54
-IC=46
-ICHRONICLES=13
-ICORINTHIANS=46
-II C=47
-II CHRONICLES=14
-II CORINTHIANS=47
-II JN=63
-II JOHN=63
-II KGS=12
-II KINGS=12
-II PETER=61
-II PTR=61
-II SAMUEL=10
-II THESSALONIANS=53
-II TIMOTHY=55
-IIC=47
-IICHRONICLES=14
-IICORINTHIANS=47
-III JN=64
-III JOHN=64
-IIIJN=64
-IIIJOHN=64
-IIJN=63
-IIJOHN=63
-IIKGS=12
-IIKINGS=12
-IIPETER=61
-IIPTR=61
-IISAMUEL=10
-IITHESSALONIANS=53
-IITIMOTHY=55
-IJN=62
-IJOHN=62
-IKGS=11
-IKINGS=11
-IPETER=60
-IPTR=60
-ISA=23
-ISAIAH=23
-ISAMUEL=9
-ITHESSALONIANS=52
-ITIMOTHY=54
-J=43
-JAMES=59
-JAS=59
-JEREMIAH=24
-JN=43
-JO=43
-JOB=18
-JOEL=29
-JOHN=43
-JONAH=32
-JOSHUA=6
-JUDE=65
-JUDGES=7
-L=42
-LAMENTATIONS=25
-LEVITICUS=3
-LK=42
-LUKE=42
-MA=40
-MALACHI=39
-MARK=41
-MATTHEW=40
-MICAH=33
-MK=41
-MR=41
-MT=40
-N=4
-NAHUM=34
-NEHEMIAH=16
-NUMBERS=4
-OBADIAH=31
-P=19
-PH=50
-PHILEMON=57
-PHILIPPIANS=50
-PHLM=57
-PHM=57
-PHP=50
-PROVERBS=20
-PSALMS=19
-PSM=19
-PSS=19
-REVELATION OF JOHN=66
-ROMANS=45
-RUTH=8
-SONG OF SOLOMON=22
-SONG OF SONGS=22
-SOS=22
-TITUS=56
-ZECHARIAH=38
-ZEPHANIAH=36
-1MO=1
-1MS=1
-G=1
-GE=1
-1. MOOSESE=1
-1 MOOSESE=1
-1MOOSESE=1
+1MO=Gen
+1MS=Gen
+G=Gen
+GE=Gen
+1. MOOSESE=Gen
+1 MOOSESE=Gen
+1MOOSESE=Gen
-2MO=2
-2MS=2
-EX=2
-2. MOOSESE=2
-2 MOOSESE=2
-2MOOSESE=2
+2MO=Exod
+2MS=Exod
+EX=Exod
+2. MOOSESE=Exod
+2 MOOSESE=Exod
+2MOOSESE=Exod
-3MO=3
-3MS=3
-LEV=3
-3. MOOSESE=3
-3 MOOSESE=3
-3MOOSESE=3
+3MO=Lev
+3MS=Lev
+LEV=Lev
+3. MOOSESE=Lev
+3 MOOSESE=Lev
+3MOOSESE=Lev
-4MO=4
-4MS=4
-NU=4
-4. MOOSESE=4
-4 MOOSESE=4
-4MOOSESE=4
+4MO=Num
+4MS=Num
+NU=Num
+4. MOOSESE=Num
+4 MOOSESE=Num
+4MOOSESE=Num
-5MO=5
-5MS=5
-DT=5
-5. MOOSESE=5
-5 MOOSESE=5
-5MOOSESE=5
+5MO=Deut
+5MS=Deut
+DT=Deut
+5. MOOSESE=Deut
+5 MOOSESE=Deut
+5MOOSESE=Deut
-JO=6
-JOOSUA=6
-KM=7
-KOHTUMÕISTJATE=7
-RU=8
-RUTT=8
+JO=Josh
+JOOSUA=Josh
+KM=Judg
+KOHTUMÕISTJATE=Judg
+RT=Ruth
+RU=Ruth
+RUTT=Ruth
-1SM=9
-1. SAAMUELI=9
-1 SAAMUELI=9
-1SAAMUELI=9
+1SM=1Sam
+1. SAAMUELI=1Sam
+1 SAAMUELI=1Sam
+1SAAMUELI=1Sam
-2SM=10
-2. SAAMUELI=10
-2 SAAMUELI=10
-2SAAMUELI=10
+2SM=2Sam
+2. SAAMUELI=2Sam
+2 SAAMUELI=2Sam
+2SAAMUELI=2Sam
-1KN=11
-1KU=11
-1. KUNINGATE=11
-1 KUNINGATE=11
-1KUNINGATE=11
+1KN=1Kgs
+1KU=1Kgs
+1. KUNINGATE=1Kgs
+1 KUNINGATE=1Kgs
+1KUNINGATE=1Kgs
-2KN=12
-2KU=12
-2. KUNINGATE=12
-2 KUNINGATE=12
-2KUNINGATE=12
+2KN=2Kgs
+2KU=2Kgs
+2. KUNINGATE=2Kgs
+2 KUNINGATE=2Kgs
+2KUNINGATE=2Kgs
-1AJ=13
-1. AJARAAMAT=13
-1 AJARAAMAT=13
-1AJARAAMAT=13
+1AJ=1Chr
+1. AJARAAMAT=1Chr
+1 AJARAAMAT=1Chr
+1AJARAAMAT=1Chr
-2AJ=14
-2. AJARAAMAT=14
-2 AJARAAMAT=14
-2AJARAAMAT=14
+2AJ=2Chr
+2. AJARAAMAT=2Chr
+2 AJARAAMAT=2Chr
+2AJARAAMAT=2Chr
-ES=15
-ESRA=15
-NE=16
-NEHEMJA=16
-EST=17
-ESTER=17
-II=18
-IIOB=18
-PS=19
-LA=19
-PSALMID=19
-LAULUD=19
-ÕP=20
-ÕPETUSSÕNAD=20
-KG=21
-KOGUJA=21
-ÜL=22
-ÜLEMLAUL=22
-JS=23
-JESAJA=23
-JR=24
-JEREMIJA=24
-NL=25
-NUTULAULUD=25
-HS=26
-HESEKIEL=26
-TA=27
-TAANIEL=27
-HO=28
-HOOSEA=28
-JL=29
-JOEL=29
-AM=30
-AAMOS=30
-OB=31
-OBADJA=31
-JN=32
-JOONA=32
-MI=33
-MIIKA=33
-NA=34
-NAHUM=34
-HA=35
-HABAKUK=35
-SF=36
-SEFANJA=36
-HG=37
-HAGGAI=37
-SK=38
-SAKARJA=38
-ML=39
-MALAKI=39
-MT=40
-MAT=40
-MATTEUSE=40
-MK=41
-MAR=41
-MARKUSE=41
-LU=42
-LK=42
-LUUKA=42
-JH=43
-JOHANNESE=43
-AP=44
-APT=44
-APOSTLITE TEOD=44
-RO=45
-RM=45
-ROOMLASTELE=45
+ES=Ezra
+ESRA=Ezra
+NE=Neh
+NEHEMJA=Neh
+EST=Esth
+ESTER=Esth
+II=Job
+IIOB=Job
+PS=Ps
+LA=Ps
+PSALMID=Ps
+LAULUD=Ps
+ÕP=Prov
+ÕPETUSSÕNAD=Prov
+KG=Eccl
+KOGUJA=Eccl
+ÜL=Song
+ÜLEMLAUL=Song
+JS=Isa
+JESAJA=Isa
+JR=Jer
+JEREMIJA=Jer
+NL=Lam
+NUTULAULUD=Lam
+HS=Ezek
+HESEKIEL=Ezek
+TA=Dan
+TN=Dan
+TAANIEL=Dan
+HO=Hos
+HOOSEA=Hos
+JL=Joel
+JOEL=Joel
+AM=Amos
+AAMOS=Amos
+OB=Obad
+OBADJA=Obad
+JN=Jonah
+JOONA=Jonah
+MI=Mic
+MIIKA=Mic
+NA=Nah
+NAHUM=Nah
+HA=Hab
+HABAKUK=Hab
+SF=Zeph
+SEFANJA=Zeph
+HG=Hag
+HAGGAI=Hag
+SK=Zech
+SAKARJA=Zech
+ML=Mal
+MALAKI=Mal
+MT=Matt
+MAT=Matt
+MATTEUSE=Matt
+MK=Mark
+MAR=Mark
+MARKUSE=Mark
+LU=Luke
+LK=Luke
+LUUKA=Luke
+JH=John
+JOHANNESE=John
+AP=Acts
+APT=Acts
+APOSTLITE TEOD=Acts
+RO=Rom
+RM=Rom
+ROOMLASTELE=Rom
-1KO=46
-1KR=46
-1KORINTLASTELE=46
-1. KORINTLASTELE=46
-1 KORINTLASTELE=46
+1KO=1Cor
+1KR=1Cor
+1KORINTLASTELE=1Cor
+1. KORINTLASTELE=1Cor
+1 KORINTLASTELE=1Cor
-2KO=47
-2KR=47
-2KORINTLASTELE=47
-2. KORINTLASTELE=47
-2 KORINTLASTELE=47
+2KO=2Cor
+2KR=2Cor
+2KORINTLASTELE=2Cor
+2. KORINTLASTELE=2Cor
+2 KORINTLASTELE=2Cor
-GL=48
-GALAATLASTELE=48
-EF=49
-EFESLASTELE=49
-FI=50
-FILIPLASTELE=50
-KO=51
-KL=51
-KOLOSLASTELE=51
+GL=Gal
+GALAATLASTELE=Gal
+EF=Eph
+EFESLASTELE=Eph
+FI=Phil
+FILIPLASTELE=Phil
+KO=Col
+KL=Col
+KOLOSLASTELE=Col
-1TS=52
-1TE=52
-1. TESSALOONIKLASTELE=52
-1 TESSALOONIKLASTELE=52
-1TESSALOONIKLASTELE=52
+1TS=1Thess
+1TE=1Thess
+1. TESSALOONIKLASTELE=1Thess
+1 TESSALOONIKLASTELE=1Thess
+1TESSALOONIKLASTELE=1Thess
-2TS=53
-2TE=53
-2. TESSALOONIKLASTELE=53
-2 TESSALOONIKLASTELE=53
-2TESSALOONIKLASTELE=53
+2TS=2Thess
+2TE=2Thess
+2. TESSALOONIKLASTELE=2Thess
+2 TESSALOONIKLASTELE=2Thess
+2TESSALOONIKLASTELE=2Thess
-1TM=54
-1TI=54
-1. TIMOTEOSELE=54
-1 TIMOTEOSELE=54
-1TIMOTEOSELE=54
+1TM=1Tim
+1TI=1Tim
+1. TIMOTEOSELE=1Tim
+1 TIMOTEOSELE=1Tim
+1TIMOTEOSELE=1Tim
-2TM=55
-2TI=55
-2. TIMOTEOSELE=55
-2 TIMOTEOSELE=55
-2TIMOTEOSELE=55
+2TM=2Tim
+2TI=2Tim
+2. TIMOTEOSELE=2Tim
+2 TIMOTEOSELE=2Tim
+2TIMOTEOSELE=2Tim
-TI=56
-TIITUSELE=56
-FL=57
-FM=57
-FILEEMONILE=57
-HE=58
-HB=58
-HEEBREALASTELE=58
-JK=59
-JAAKOBUSE=59
+TI=Titus
+TT=Titus
+TIITUSELE=Titus
+FL=Phil
+FM=Phlm
+FILEEMONILE=Phlm
+HE=Heb
+HB=Heb
+HEEBREALASTELE=Heb
+JK=Jas
+JAAKOBUSE=Jas
-1PT=60
-1PE=60
-1. PEETRUSE=60
-1 PEETRUSE=60
-1PEETRUSE=60
+1PT=1Pet
+1PE=1Pet
+1. PEETRUSE=1Pet
+1 PEETRUSE=1Pet
+1PEETRUSE=1Pet
-2PT=61
-2PE=61
-2. PEETRUSE=61
-2 PEETRUSE=61
-2PEETRUSE=61
+2PT=2Pet
+2PE=2Pet
+2. PEETRUSE=2Pet
+2 PEETRUSE=2Pet
+2PEETRUSE=2Pet
-1JH=62
-1. JOHANNESE=62
-1 JOHANNESE=62
-1JOHANNESE=62
+1JH=1John
+1. JOHANNESE=1John
+1 JOHANNESE=1John
+1JOHANNESE=1John
-2JH=63
-2. JOHANNESE=63
-2 JOHANNESE=63
-2JOHANNESE=63
+2JH=2John
+2. JOHANNESE=2John
+2 JOHANNESE=2John
+2JOHANNESE=2John
-3JH=64
-3. JOHANNESE=64
-3 JOHANNESE=64
-3JOHANNESE=64
+3JH=3John
+3. JOHANNESE=3John
+3 JOHANNESE=3John
+3JOHANNESE=3John
-JU=65
-JD=65
-JUUDA=65
-ILM=66
-ILMUTUSE=66
+JU=Jude
+JD=Jude
+JUUDA=Jude
+ILM=Rev
+ILMUTUSE=Rev
diff --git a/locales.d/fa-utf8.conf b/locales.d/fa-utf8.conf
index 852ed1c..01609a6 100644
--- a/locales.d/fa-utf8.conf
+++ b/locales.d/fa-utf8.conf
@@ -61,8 +61,8 @@ Philippians=Ùیلیپیان
Colossians=کولسیان
I Thessalonians=اول تسالونکیان
II Thessalonians=دوم تسالونکیان
-I Timothy=اول تیموتاو‌ٔس
-II Timothy=اوم تیموتاو‌ٔس
+I Timothy=اول تیموتاؤس
+II Timothy=دوم تیموتاؤس
Titus=تیطوس
Philemon=Ùلیمون
Hebrews=عبرانیان
@@ -76,254 +76,211 @@ Jude=یهودا
Revelation of John=مکاشÙÙ‡ یوحنا
[Book Abbrevs]
-1 C=46
-1 CHRONICLES=13
-1 CORINTHIANS=46
-1 JN=62
-1 JOHN=62
-1 KGS=11
-1 KINGS=11
-1 PETER=60
-1 PTR=60
-1 SAMUEL=9
-1 THESSALONIANS=52
-1 TIMOTHY=54
-1C=46
-1CHRONICLES=13
-1CORINTHIANS=46
-1JN=62
-1JOHN=62
-1KGS=11
-1KINGS=11
-1PETER=60
-1PTR=60
-1SAMUEL=9
-1THESSALONIANS=52
-1TIMOTHY=54
-2 C=47
-2 CHRONICLES=14
-2 CORINTHIANS=47
-2 JN=63
-2 JOHN=63
-2 KGS=12
-2 KINGS=12
-2 PETER=61
-2 PTR=61
-2 SAMUEL=10
-2 THESSALONIANS=53
-2 TIMOTHY=55
-2C=47
-2CHRONICLES=14
-2CORINTHIANS=47
-2JN=63
-2JOHN=63
-2KGS=12
-2KINGS=12
-2PETER=61
-2PTR=61
-2SAMUEL=10
-2THESSALONIANS=53
-2TIMOTHY=55
-3 JN=64
-3 JOHN=64
-3JN=64
-3JOHN=64
-ACTS=44
-AMOS=30
-APOCALYPSE OF ST. JOHN=66
-C=51
-CANTICLE OF CANTICLES=22
-COC=22
-COLOSSIANS=51
-D=5
-DANIEL=27
-DEUTERONOMY=5
-E=49
-ECCLESIASTES=21
-EPHESIANS=49
-ESTER=17
-ESTHER=17
-EXODUS=2
-EZEKIEL=26
-EZRA=15
-G=1
-GALATIANS=48
-GENESIS=1
-H=58
-HABAKKUK=35
-HAGGAI=37
-HEBREWS=58
-HOSEA=28
-I C=46
-I CHRONICLES=13
-I CORINTHIANS=46
-I JN=62
-I JOHN=62
-I KGS=11
-I KINGS=11
-I PETER=60
-I PTR=60
-I SAMUEL=9
-I THESSALONIANS=52
-I TIMOTHY=54
-IC=46
-ICHRONICLES=13
-ICORINTHIANS=46
-II C=47
-II CHRONICLES=14
-II CORINTHIANS=47
-II JN=63
-II JOHN=63
-II KGS=12
-II KINGS=12
-II PETER=61
-II PTR=61
-II SAMUEL=10
-II THESSALONIANS=53
-II TIMOTHY=55
-IIC=47
-IICHRONICLES=14
-IICORINTHIANS=47
-III JN=64
-III JOHN=64
-IIIJN=64
-IIIJOHN=64
-IIJN=63
-IIJOHN=63
-IIKGS=12
-IIKINGS=12
-IIPETER=61
-IIPTR=61
-IISAMUEL=10
-IITHESSALONIANS=53
-IITIMOTHY=55
-IJN=62
-IJOHN=62
-IKGS=11
-IKINGS=11
-IPETER=60
-IPTR=60
-ISA=23
-ISAIAH=23
-ISAMUEL=9
-ITHESSALONIANS=52
-ITIMOTHY=54
-J=43
-JAMES=59
-JAS=59
-JEREMIAH=24
-JN=43
-JO=43
-JOB=18
-JOEL=29
-JOHN=43
-JONAH=32
-JOSHUA=6
-JUD=7
-JUDE=65
-JUDGES=7
-L=42
-LAMENTATIONS=25
-LEVITICUS=3
-LK=42
-LUKE=42
-MA=40
-MALACHI=39
-MARK=41
-MATTHEW=40
-MICAH=33
-MK=41
-MR=41
-MT=40
-N=4
-NAHUM=34
-NEHEMIAH=16
-NUMBERS=4
-OBADIAH=31
-P=19
-PH=50
-PHILEMON=57
-PHILIPPIANS=50
-PHLM=57
-PHM=57
-PHP=50
-PROVERBS=20
-PSALMS=19
-PSM=19
-PSS=19
-REVELATION OF JOHN=66
-ROMANS=45
-RUTH=8
-SONG OF SOLOMON=22
-SONG OF SONGS=22
-SOS=22
-TITUS=56
-ZECHARIAH=38
-ZEPHANIAH=36
-پیدا=1
-خرو=2
-لاو=3
-اعد=4
-تث=5
-یوش=6
-داو=7
-روت=8
-۱ سمو‌=9
-۲ سمو=10
-۱ پاد=11
-۲ پاد=12
-۱ توا=13
-۲ توا=14
-عز=15
-نح=16
-است=17
-ایو=18
-مزا=19
-ام=20
-جام=21
-غزل=22
-اش=23
-ار=24
-مراث=25
-حز=26
-دان=27
-هوش=28
-یوی=29
-عامو=30
-عوب=31
-یون=32
-میک=33
-ناحو=34
-حبق=35
-ضÙÙ†=36
-حجی=37
-زکر=38
-ملا=39
-متی=40
-مرق=41
-لوق=42
-یوح=43
-اعمال=44
-روم=45
-۱ قر=46
-۲ قر=47
-غلا=48
-اÙس=49
-Ùیل=50
-کول=51
-۱ تسا=52
-۲ تسا=53
-۲ تیمو=54
-اوم تیمو=55
-تیط=56
-Ùلیم=57
-عبر=58
-یعق=59
-۱ پطر=60
-۲ پطر=61
-۱ یوح=62
-۲ یوح=63
-۳ یوح=64
-یهو=65
-مکا=66
+پیدایش=Gen
+خروج=Exod
+لاویان=Lev
+اعداد=Num
+تثنیه=Deut
+یوشع=Josh
+داوران=Judg
+روت=Ruth
+اول سموئیل=1Sam
+دوم سموئیل=2Sam
+اول پادشاهان=1Kgs
+دوم پادشاهان=2Kgs
+اول تواریخ=1Chr
+دوم تواریخ=2Chr
+عزرا=Ezra
+نحمیا=Neh
+استر=Esth
+ایوب=Job
+مزامیر=Ps
+امثال سلیمان=Prov
+جامعه=Eccl
+غزل غزلهای سلیمان=Song
+اشعیا=Isa
+ارمیا=Jer
+مراثی ارمیا=Lam
+حزقیال=Ezek
+دانیال=Dan
+هوشع=Hos
+یوییل=Joel
+عاموس=Amos
+عوبدیا=Obad
+یونس=Jonah
+میکاه=Mic
+ناحوم=Nah
+حبقوق=Hab
+ضÙنیا=Zeph
+حجی=Hag
+زکریا=Zech
+ملاکی=Mal
+متی=Matt
+مرقس=Mark
+لوقا=Luke
+یوحنا=John
+اعمال رسولان=Acts
+رومیان=Rom
+اول قرنتیان=1Cor
+دوم قرنتیان=2Cor
+غلاطیان=Gal
+اÙسسیان=Eph
+Ùیلیپیان=Phil
+کولسیان=Col
+اول تسالونکیان=1Thess
+دوم تسالونکیان=2Thess
+اول تیموتاؤس=1Tim
+دوم تیموتاؤس=2Tim
+تیطوس=Titus
+Ùلیمون=Phlm
+عبرانیان=Heb
+یعقوب=Jas
+اول پطرس=1Pet
+دوم پطرس=2Pet
+اول یوحنا=1John
+دوم یوحنا=2John
+سوم یوحنا=3John
+یهودا=Jude
+مکاشÙÙ‡ یوحنا=Rev
+
+پید=Gen
+خر=Exod
+لاو=Lev
+اعد=Num
+تثن=Deut
+یوش=Josh
+داو=Judg
+روت=Ruth
+۱ سم=1Sam
+۲ سم=2Sam
+۱ پاد=1Kgs
+۲ پاد=2Kgs
+۱ تو=1Chr
+۲ تو=2Chr
+عزرا=Ezra
+نحم=Neh
+است=Esth
+ایوب=Job
+مز=Ps
+امثال=Prov
+جام=Eccl
+غزل=Song
+اش=Isa
+ارم=Jer
+مرا=Lam
+حز=Ezek
+دان=Dan
+هوش=Hos
+یویی=Joel
+عام=Amos
+عوبد=Obad
+یون=Jonah
+میک=Mic
+ناح=Nah
+حبق=Hab
+ضÙÙ†=Zeph
+حجی=Hag
+زکر=Zech
+ملا=Mal
+متی=Matt
+مرق=Mark
+لوقا=Luke
+یوح=John
+اعمال=Acts
+روم=Rom
+۱ قر=1Cor
+۲ قر=2Cor
+غلا=Gal
+اÙس=Eph
+Ùیل=Phil
+کول=Col
+۱ تس=1Thess
+۲ تس=2Thess
+۱ تیم=1Tim
+۲ تیم=2Tim
+تیط=Titus
+ÙÙ„ÛŒ=Phlm
+عبر=Heb
+یعق=Jas
+۱ پط=1Pet
+۲ پط=2Pet
+۱ یو=1John
+۲ یو=2John
+۳ یو=3John
+یهو=Jude
+مکا=Rev
+
+۱سم=1Sam
+۲سم=2Sam
+۱پاد=1Kgs
+۲پاد=2Kgs
+۱تو=1Chr
+۲تو=2Chr
+۱قر=1Cor
+۲قر=2Cor
+۱تس=1Thess
+۲تس=2Thess
+۱تیم=1Tim
+۲تیم=2Tim
+۱پط=1Pet
+۲پط=2Pet
+۱یو=1John
+۲یو=2John
+۳یو=3John
+
+1 سم=1Sam
+2 سم=2Sam
+1 پاد=1Kgs
+2 پاد=2Kgs
+1 تو=1Chr
+2 تو=2Chr
+1 قر=1Cor
+2 قر=2Cor
+1 تس=1Thess
+2 تس=2Thess
+1 تیم=1Tim
+2 تیم=2Tim
+1 پط=1Pet
+2 پط=2Pet
+1 یو=1John
+2 یو=2John
+3 یو=3John
+
+1سم=1Sam
+2سم=2Sam
+1پاد=1Kgs
+2پاد=2Kgs
+1تو=1Chr
+2تو=2Chr
+1قر=1Cor
+2قر=2Cor
+1تس=1Thess
+2تس=2Thess
+1تیم=1Tim
+2تیم=2Tim
+1پط=1Pet
+2پط=2Pet
+1یو=1John
+2یو=2John
+3یو=3John
+
+اول سم=1Sam
+دوم سم=2Sam
+اول پاد=1Kgs
+دوم پاد=2Kgs
+اول تو=1Chr
+دوم تو=2Chr
+اول قر=1Cor
+دوم قر=2Cor
+اول تس=1Thess
+دوم تس=2Thess
+اول تیم=1Tim
+دوم تیم=2Tim
+اول پط=1Pet
+دوم پط=2Pet
+اول یو=1John
+دوم یو=2John
+سوم یو=3John
+
+
diff --git a/locales.d/fi-utf8.conf b/locales.d/fi-utf8.conf
index 106b011..e1bd311 100644
--- a/locales.d/fi-utf8.conf
+++ b/locales.d/fi-utf8.conf
@@ -72,443 +72,258 @@ Jude=Juudaksen kirje
Revelation of John=Johanneksen ilmestys
[Book Abbrevs]
-1 C=46
-1 CHRONICLES=13
-1 CORINTHIANS=46
-1 JN=62
-1 JOHN=62
-1 KGS=11
-1 KINGS=11
-1 PETER=60
-1 PTR=60
-1 SAMUEL=9
-1 THESSALONIANS=52
-1 TIMOTHY=54
-1C=46
-1CHRONICLES=13
-1CORINTHIANS=46
-1JN=62
-1JOHN=62
-1KGS=11
-1KINGS=11
-1PETER=60
-1PTR=60
-1SAMUEL=9
-1THESSALONIANS=52
-1TIMOTHY=54
-2 C=47
-2 CHRONICLES=14
-2 CORINTHIANS=47
-2 JN=63
-2 JOHN=63
-2 KGS=12
-2 KINGS=12
-2 PETER=61
-2 PTR=61
-2 SAMUEL=10
-2 THESSALONIANS=53
-2 TIMOTHY=55
-2C=47
-2CHRONICLES=14
-2CORINTHIANS=47
-2JN=63
-2JOHN=63
-2KGS=12
-2KINGS=12
-2PETER=61
-2PTR=61
-2SAMUEL=10
-2THESSALONIANS=53
-2TIMOTHY=55
-3 JN=64
-3 JOHN=64
-3JN=64
-3JOHN=64
-ACTS=44
-AMOS=30
-APOCALYPSE OF ST. JOHN=66
-C=51
-CANTICLE OF CANTICLES=22
-COC=22
-COLOSSIANS=51
-D=5
-DANIEL=27
-DEUTERONOMY=5
-E=49
-ECCLESIASTES=21
-EPHESIANS=49
-ESTER=17
-ESTHER=17
-EXODUS=2
-EZEKIEL=26
-EZRA=15
-G=1
-GALATIANS=48
-GENESIS=1
-H=58
-HABAKKUK=35
-HAGGAI=37
-HEBREWS=58
-HOSEA=28
-I C=46
-I CHRONICLES=13
-I CORINTHIANS=46
-I JN=62
-I JOHN=62
-I KGS=11
-I KINGS=11
-I PETER=60
-I PTR=60
-I SAMUEL=9
-I THESSALONIANS=52
-I TIMOTHY=54
-IC=46
-ICHRONICLES=13
-ICORINTHIANS=46
-II C=47
-II CHRONICLES=14
-II CORINTHIANS=47
-II JN=63
-II JOHN=63
-II KGS=12
-II KINGS=12
-II PETER=61
-II PTR=61
-II SAMUEL=10
-II THESSALONIANS=53
-II TIMOTHY=55
-IIC=47
-IICHRONICLES=14
-IICORINTHIANS=47
-III JN=64
-III JOHN=64
-IIIJN=64
-IIIJOHN=64
-IIJN=63
-IIJOHN=63
-IIKGS=12
-IIKINGS=12
-IIPETER=61
-IIPTR=61
-IISAMUEL=10
-IITHESSALONIANS=53
-IITIMOTHY=55
-IJN=62
-IJOHN=62
-IKGS=11
-IKINGS=11
-IPETER=60
-IPTR=60
-ISA=23
-ISAIAH=23
-ISAMUEL=9
-ITHESSALONIANS=52
-ITIMOTHY=54
-J=43
-JAMES=59
-JAS=59
-JEREMIAH=24
-JN=43
-JO=43
-JOB=18
-JOEL=29
-JOHN=43
-JONAH=32
-JOSHUA=6
-JUD=7
-JUDE=65
-JUDGES=7
-L=42
-LAMENTATIONS=25
-LEVITICUS=3
-LK=42
-LUKE=42
-MA=40
-MALACHI=39
-MARK=41
-MATTHEW=40
-MICAH=33
-MK=41
-MR=41
-MT=40
-N=4
-NAHUM=34
-NEHEMIAH=16
-NUMBERS=4
-OBADIAH=31
-P=19
-PH=50
-PHILEMON=57
-PHILIPPIANS=50
-PHLM=57
-PHM=57
-PHP=50
-PROVERBS=20
-PSALMS=19
-PSM=19
-PSS=19
-REVELATION OF JOHN=66
-ROMANS=45
-RUTH=8
-SONG OF SOLOMON=22
-SONG OF SONGS=22
-SOS=22
-TITUS=56
-ZECHARIAH=38
-ZEPHANIAH=36
-1. MOOSEKSEN KIRJA=1
-1 MOOSEKSEN KIRJA=1
+1. MOOSEKSEN KIRJA=Gen
+1 MOOSEKSEN KIRJA=Gen
-2. MOOSEKSEN KIRJA=2
-2 MOOSEKSEN KIRJA=2
+2. MOOSEKSEN KIRJA=Exod
+2 MOOSEKSEN KIRJA=Exod
-3. MOOSEKSEN KIRJA=3
-3 MOOSEKSEN KIRJA=3
+3. MOOSEKSEN KIRJA=Lev
+3 MOOSEKSEN KIRJA=Lev
-4. MOOSEKSEN KIRJA=4
-4 MOOSEKSEN KIRJA=4
+4. MOOSEKSEN KIRJA=Num
+4 MOOSEKSEN KIRJA=Num
-5. MOOSEKSEN KIRJA=5
-5 MOOSEKSEN KIRJA=5
+5. MOOSEKSEN KIRJA=Deut
+5 MOOSEKSEN KIRJA=Deut
-JOOSUA=6
-TUOMARIEN KIRJA=7
-RUUT=8
+JOOSUA=Josh
+TUOMARIEN KIRJA=Judg
+RUUT=Ruth
-1. SAMUELIN KIRJA=9
-1 SAMUELIN KIRJA=9
+1. SAMUELIN KIRJA=1Sam
+1 SAMUELIN KIRJA=1Sam
-2. SAMUELIN KIRJA=10
-2 SAMUELIN KIRJA=10
+2. SAMUELIN KIRJA=2Sam
+2 SAMUELIN KIRJA=2Sam
-1. KUNINKAIDEN KIRJA=11
-1 KUNINKAIDEN KIRJA=11
+1. KUNINKAIDEN KIRJA=1Kgs
+1 KUNINKAIDEN KIRJA=1Kgs
-2. KUNINKAIDEN KIRJA=12
-2 KUNINKAIDEN KIRJA=12
+2. KUNINKAIDEN KIRJA=2Kgs
+2 KUNINKAIDEN KIRJA=2Kgs
-1. AIKAKIRJA=13
-1 AIKAKIRJA=13
+1. AIKAKIRJA=1Chr
+1 AIKAKIRJA=1Chr
-2. AIKAKIRJA=14
-2 AIKAKIRJA=14
+2. AIKAKIRJA=2Chr
+2 AIKAKIRJA=2Chr
-ESRA=15
-NEHEMIA=16
-ESTER=17
-JOB=18
-PSALMIT=19
-SANANLASKUT=20
-SAARNAAJA=21
-LAULUJEN LAULU=22
-JESAJA=23
-JEREMIA=24
-VALITUSVIRRET=25
-HESEKIEL=26
-DANIEL=27
-HOOSEA=28
-JOEL=29
-AAMOS=30
-OBADJA=31
-JOONA=32
-MIIKA=33
-NAAHUM=34
-HABAKUK=35
-SEFANJA=36
-HAGGAI=37
-SAKARJA=38
-MALAKIA=39
-MATTEUS=40
-MARKUS=41
-LUUKAS=42
-JOHANNES=43
-APOSTOLIEN TEOT=44
-ROOMALAISKIRJE=45
+ESRA=Ezra
+NEHEMIA=Neh
+ESTER=Esth
+JOB=Job
+PSALMIT=Ps
+SANANLASKUT=Prov
+SAARNAAJA=Eccl
+LAULUJEN LAULU=Song
+JESAJA=Isa
+JEREMIA=Jer
+VALITUSVIRRET=Lam
+HESEKIEL=Ezek
+DANIEL=Dan
+HOOSEA=Hos
+JOEL=Joel
+AAMOS=Amos
+OBADJA=Obad
+JOONA=Jonah
+MIIKA=Mic
+NAAHUM=Nah
+HABAKUK=Hab
+SEFANJA=Zeph
+HAGGAI=Hag
+SAKARJA=Zech
+MALAKIA=Mal
+MATTEUS=Matt
+MARKUS=Mark
+LUUKAS=Luke
+JOHANNES=John
+APOSTOLIEN TEOT=Acts
+ROOMALAISKIRJE=Rom
-1. KORINTTOLAISKIRJE=46
-1 KORINTTOLAISKIRJE=46
+1. KORINTTOLAISKIRJE=1Cor
+1 KORINTTOLAISKIRJE=1Cor
-2. KORINTTOLAISKIRJE=47
-2 KORINTTOLAISKIRJE=47
+2. KORINTTOLAISKIRJE=2Cor
+2 KORINTTOLAISKIRJE=2Cor
-GALATALAISKIRJE=48
-EFESOLAISKIRJE=49
-FILIPPILÄISKIRJE=50
-KOLOSSALAISKIRJE=51
+GALATALAISKIRJE=Gal
+EFESOLAISKIRJE=Eph
+FILIPPILÄISKIRJE=Phil
+KOLOSSALAISKIRJE=Col
-1. TESSALONIKALAISKIRJE=52
-1 TESSALONIKALAISKIRJE=52
+1. TESSALONIKALAISKIRJE=1Thess
+1 TESSALONIKALAISKIRJE=1Thess
-2. TESSALONIKALAISKIRJE=53
-2 TESSALONIKALAISKIRJE=53
+2. TESSALONIKALAISKIRJE=2Thess
+2 TESSALONIKALAISKIRJE=2Thess
-1. KIRJE TIMOTEUKSELLE=54
-1 KIRJE TIMOTEUKSELLE=54
+1. KIRJE TIMOTEUKSELLE=1Tim
+1 KIRJE TIMOTEUKSELLE=1Tim
-2. KIRJE TIMOTEUKSELLE=55
-2 KIRJE TIMOTEUKSELLE=55
+2. KIRJE TIMOTEUKSELLE=2Tim
+2 KIRJE TIMOTEUKSELLE=2Tim
-KIRJE TITUKSELLE=56
-KIRJE FILEMONILLE=57
-HEPREALAISKIRJE=58
-JAAKOBIN KIRJE=59
+KIRJE TITUKSELLE=Titus
+KIRJE FILEMONILLE=Phlm
+HEPREALAISKIRJE=Heb
+JAAKOBIN KIRJE=Jas
-1. PIETARIN KIRJE=60
-1 PIETARIN KIRJE=60
+1. PIETARIN KIRJE=1Pet
+1 PIETARIN KIRJE=1Pet
-2. PIETARIN KIRJE=61
-2 PIETARIN KIRJE=61
+2. PIETARIN KIRJE=2Pet
+2 PIETARIN KIRJE=2Pet
-1. JOHANNEKSEN KIRJE=62
-1 JOHANNEKSEN KIRJE=62
+1. JOHANNEKSEN KIRJE=1John
+1 JOHANNEKSEN KIRJE=1John
-2. JOHANNEKSEN KIRJE=63
-2 JOHANNEKSEN KIRJE=63
+2. JOHANNEKSEN KIRJE=2John
+2 JOHANNEKSEN KIRJE=2John
-3. JOHANNEKSEN KIRJE=64
-3 JOHANNEKSEN KIRJE=64
-
-JUUDAKSEN KIRJE=65
-JOHANNEKSEN ILMESTYS=66
-1. MOOS=1
-1.MOOS=1
-1 MOOS=1
-1MOOS=1
-2. MOOS=2
-2.MOOS=2
-2 MOOS=2
-2MOOS=2
-3. MOOS=3
-3.MOOS=3
-3 MOOS=3
-3MOOS=3
-4. MOOS=4
-4.MOOS=4
-4 MOOS=4
-4MOOS=4
-5. MOOS=5
-5.MOOS=5
-5 MOOS=5
-5MOOS=5
-JOOS=6
-RUUT=8
-TUOM=7
-1. SAM=9
-1.SAM=9
-1 SAM=9
-1SAM=9
-2. SAM=10
-2.SAM=10
-2 SAM=10
-2SAM=10
-1. KUN=11
-1.KUN=11
-1 KUN=11
-1KUN=11
-2. KUN=12
-2.KUN=12
-2 KUN=12
-2KUN=12
-1. AIK=13
-1.AIK=13
-1 AIK=13
-1AIK=13
-2. AIK=14
-2.AIK=14
-2 AIK=14
-2AIK=14
-NEH=16
-EST=17
-PS=19
-SANANL=20
-SAARN=21
-LAUL. L=22
-LAUL.L=22
-LAUL L=22
-LAULL=22
-KORK. V=22
-KORK.V=22
-KORK V=22
-KORKV=22
-KORKEA VEISU=22
-JES=23
-JER=24
-VALIT=25
-HES=26
-DAN=27
-HOOS=28
-JOEL=29
-AAM=30
-OB=31
-JOONA=32
-MIIKA=33
-NAH=34
-HAB=35
-SEF=36
-HAGG=37
-SAK=38
-MAL=39
-MATT=40
-MARK=41
-LUUK=42
-JOH=43
-AP T=44
-APT=44
-ROOM=45
-1. KOR=46
-1.KOR=46
-1 KOR=46
-1KOR=46
-2. KOR=47
-2.KOR=47
-2 KOR=47
-2KOR=47
-GAL=48
-EF=49
-FIL=50
-KOL=51
-1. TESS=52
-1.TESS=52
-1 TESS=52
-1TESS=52
-2. TESS=53
-2.TESS=53
-2 TESS=53
-2TESS=53
-1. TIM=54
-1.TIM=54
-1 TIM=54
-1TIM=54
-2. TIM=55
-2.TIM=55
-2 TIM=55
-2TIM=55
-TIT=56
-FILEM=57
-HEBR=58
-HEPR=58
-JAAK=59
-1. PIET=60
-1.PIET=60
-1 PIET=60
-1PIET=60
-2. PIET=61
-2.PIET=61
-2 PIET=61
-2PIET=61
-1. JOH=62
-1.JOH=62
-1 JOH=62
-1JOH=62
-2. JOH=63
-2.JOH=63
-2 JOH=63
-2JOH=63
-3. JOH=64
-3.JOH=64
-3 JOH=64
-3JOH=64
-JUUD=65
-ILM=66
+3. JOHANNEKSEN KIRJE=3John
+3 JOHANNEKSEN KIRJE=3John
+JUUDAKSEN KIRJE=Jude
+JOHANNEKSEN ILMESTYS=Rev
+1. MOOS=Gen
+1.MOOS=Gen
+1 MOOS=Gen
+1MOOS=Gen
+2. MOOS=Exod
+2.MOOS=Exod
+2 MOOS=Exod
+2MOOS=Exod
+3. MOOS=Lev
+3.MOOS=Lev
+3 MOOS=Lev
+3MOOS=Lev
+4. MOOS=Num
+4.MOOS=Num
+4 MOOS=Num
+4MOOS=Num
+5. MOOS=Deut
+5.MOOS=Deut
+5 MOOS=Deut
+5MOOS=Deut
+JOOS=Josh
+RUUT=Ruth
+TUOM=Judg
+1. SAM=1Sam
+1.SAM=1Sam
+1 SAM=1Sam
+1SAM=1Sam
+2. SAM=2Sam
+2.SAM=2Sam
+2 SAM=2Sam
+2SAM=2Sam
+1. KUN=1Kgs
+1.KUN=1Kgs
+1 KUN=1Kgs
+1KUN=1Kgs
+2. KUN=2Kgs
+2.KUN=2Kgs
+2 KUN=2Kgs
+2KUN=2Kgs
+1. AIK=1Chr
+1.AIK=1Chr
+1 AIK=1Chr
+1AIK=1Chr
+2. AIK=2Chr
+2.AIK=2Chr
+2 AIK=2Chr
+2AIK=2Chr
+NEH=Neh
+EST=Esth
+PS=Ps
+SANANL=Prov
+SAARN=Eccl
+LAUL. L=Song
+LAUL.L=Song
+LAUL L=Song
+LAULL=Song
+KORK. V=Song
+KORK.V=Song
+KORK V=Song
+KORKV=Song
+KORKEA VEISU=Song
+JES=Isa
+JER=Jer
+VALIT=Lam
+HES=Ezek
+DAN=Dan
+HOOS=Hos
+JOEL=Joel
+AAM=Amos
+OB=Obad
+JOONA=Jonah
+MIIKA=Mic
+NAH=Nah
+HAB=Hab
+SEF=Zeph
+HAGG=Hag
+SAK=Zech
+MAL=Mal
+MATT=Matt
+MARK=Mark
+LUUK=Luke
+JOH=John
+AP T=Acts
+APT=Acts
+ROOM=Rom
+1. KOR=1Cor
+1.KOR=1Cor
+1 KOR=1Cor
+1KOR=1Cor
+2. KOR=2Cor
+2.KOR=2Cor
+2 KOR=2Cor
+2KOR=2Cor
+GAL=Gal
+EF=Eph
+FIL=Phil
+KOL=Col
+1. TESS=1Thess
+1.TESS=1Thess
+1 TESS=1Thess
+1TESS=1Thess
+2. TESS=2Thess
+2.TESS=2Thess
+2 TESS=2Thess
+2TESS=2Thess
+1. TIM=1Tim
+1.TIM=1Tim
+1 TIM=1Tim
+1TIM=1Tim
+2. TIM=2Tim
+2.TIM=2Tim
+2 TIM=2Tim
+2TIM=2Tim
+TIT=Titus
+FILEM=Phlm
+HEBR=Heb
+HEPR=Heb
+JAAK=Jas
+1. PIET=1Pet
+1.PIET=1Pet
+1 PIET=1Pet
+1PIET=1Pet
+2. PIET=2Pet
+2.PIET=2Pet
+2 PIET=2Pet
+2PIET=2Pet
+1. JOH=1John
+1.JOH=1John
+1 JOH=1John
+1JOH=1John
+2. JOH=2John
+2.JOH=2John
+2 JOH=2John
+2JOH=2John
+3. JOH=3John
+3.JOH=3John
+3 JOH=3John
+3JOH=3John
+JUUD=Jude
+ILM=Rev
diff --git a/locales.d/fi.conf b/locales.d/fi.conf
index 87b6ce1..95abaf1 100755
--- a/locales.d/fi.conf
+++ b/locales.d/fi.conf
@@ -72,443 +72,258 @@ Jude=Juudaksen kirje
Revelation of John=Johanneksen ilmestys
[Book Abbrevs]
-1 C=46
-1 CHRONICLES=13
-1 CORINTHIANS=46
-1 JN=62
-1 JOHN=62
-1 KGS=11
-1 KINGS=11
-1 PETER=60
-1 PTR=60
-1 SAMUEL=9
-1 THESSALONIANS=52
-1 TIMOTHY=54
-1C=46
-1CHRONICLES=13
-1CORINTHIANS=46
-1JN=62
-1JOHN=62
-1KGS=11
-1KINGS=11
-1PETER=60
-1PTR=60
-1SAMUEL=9
-1THESSALONIANS=52
-1TIMOTHY=54
-2 C=47
-2 CHRONICLES=14
-2 CORINTHIANS=47
-2 JN=63
-2 JOHN=63
-2 KGS=12
-2 KINGS=12
-2 PETER=61
-2 PTR=61
-2 SAMUEL=10
-2 THESSALONIANS=53
-2 TIMOTHY=55
-2C=47
-2CHRONICLES=14
-2CORINTHIANS=47
-2JN=63
-2JOHN=63
-2KGS=12
-2KINGS=12
-2PETER=61
-2PTR=61
-2SAMUEL=10
-2THESSALONIANS=53
-2TIMOTHY=55
-3 JN=64
-3 JOHN=64
-3JN=64
-3JOHN=64
-ACTS=44
-AMOS=30
-APOCALYPSE OF ST. JOHN=66
-C=51
-CANTICLE OF CANTICLES=22
-COC=22
-COLOSSIANS=51
-D=5
-DANIEL=27
-DEUTERONOMY=5
-E=49
-ECCLESIASTES=21
-EPHESIANS=49
-ESTER=17
-ESTHER=17
-EXODUS=2
-EZEKIEL=26
-EZRA=15
-G=1
-GALATIANS=48
-GENESIS=1
-H=58
-HABAKKUK=35
-HAGGAI=37
-HEBREWS=58
-HOSEA=28
-I C=46
-I CHRONICLES=13
-I CORINTHIANS=46
-I JN=62
-I JOHN=62
-I KGS=11
-I KINGS=11
-I PETER=60
-I PTR=60
-I SAMUEL=9
-I THESSALONIANS=52
-I TIMOTHY=54
-IC=46
-ICHRONICLES=13
-ICORINTHIANS=46
-II C=47
-II CHRONICLES=14
-II CORINTHIANS=47
-II JN=63
-II JOHN=63
-II KGS=12
-II KINGS=12
-II PETER=61
-II PTR=61
-II SAMUEL=10
-II THESSALONIANS=53
-II TIMOTHY=55
-IIC=47
-IICHRONICLES=14
-IICORINTHIANS=47
-III JN=64
-III JOHN=64
-IIIJN=64
-IIIJOHN=64
-IIJN=63
-IIJOHN=63
-IIKGS=12
-IIKINGS=12
-IIPETER=61
-IIPTR=61
-IISAMUEL=10
-IITHESSALONIANS=53
-IITIMOTHY=55
-IJN=62
-IJOHN=62
-IKGS=11
-IKINGS=11
-IPETER=60
-IPTR=60
-ISA=23
-ISAIAH=23
-ISAMUEL=9
-ITHESSALONIANS=52
-ITIMOTHY=54
-J=43
-JAMES=59
-JAS=59
-JEREMIAH=24
-JN=43
-JO=43
-JOB=18
-JOEL=29
-JOHN=43
-JONAH=32
-JOSHUA=6
-JUD=7
-JUDE=65
-JUDGES=7
-L=42
-LAMENTATIONS=25
-LEVITICUS=3
-LK=42
-LUKE=42
-MA=40
-MALACHI=39
-MARK=41
-MATTHEW=40
-MICAH=33
-MK=41
-MR=41
-MT=40
-N=4
-NAHUM=34
-NEHEMIAH=16
-NUMBERS=4
-OBADIAH=31
-P=19
-PH=50
-PHILEMON=57
-PHILIPPIANS=50
-PHLM=57
-PHM=57
-PHP=50
-PROVERBS=20
-PSALMS=19
-PSM=19
-PSS=19
-REVELATION OF JOHN=66
-ROMANS=45
-RUTH=8
-SONG OF SOLOMON=22
-SONG OF SONGS=22
-SOS=22
-TITUS=56
-ZECHARIAH=38
-ZEPHANIAH=36
-1. MOOSEKSEN KIRJA=1
-1 MOOSEKSEN KIRJA=1
+1. MOOSEKSEN KIRJA=Gen
+1 MOOSEKSEN KIRJA=Gen
-2. MOOSEKSEN KIRJA=2
-2 MOOSEKSEN KIRJA=2
+2. MOOSEKSEN KIRJA=Exod
+2 MOOSEKSEN KIRJA=Exod
-3. MOOSEKSEN KIRJA=3
-3 MOOSEKSEN KIRJA=3
+3. MOOSEKSEN KIRJA=Lev
+3 MOOSEKSEN KIRJA=Lev
-4. MOOSEKSEN KIRJA=4
-4 MOOSEKSEN KIRJA=4
+4. MOOSEKSEN KIRJA=Num
+4 MOOSEKSEN KIRJA=Num
-5. MOOSEKSEN KIRJA=5
-5 MOOSEKSEN KIRJA=5
+5. MOOSEKSEN KIRJA=Deut
+5 MOOSEKSEN KIRJA=Deut
-JOOSUA=6
-TUOMARIEN KIRJA=7
-RUUT=8
+JOOSUA=Josh
+TUOMARIEN KIRJA=Judg
+RUUT=Ruth
-1. SAMUELIN KIRJA=9
-1 SAMUELIN KIRJA=9
+1. SAMUELIN KIRJA=1Sam
+1 SAMUELIN KIRJA=1Sam
-2. SAMUELIN KIRJA=10
-2 SAMUELIN KIRJA=10
+2. SAMUELIN KIRJA=2Sam
+2 SAMUELIN KIRJA=2Sam
-1. KUNINKAIDEN KIRJA=11
-1 KUNINKAIDEN KIRJA=11
+1. KUNINKAIDEN KIRJA=1Kgs
+1 KUNINKAIDEN KIRJA=1Kgs
-2. KUNINKAIDEN KIRJA=12
-2 KUNINKAIDEN KIRJA=12
+2. KUNINKAIDEN KIRJA=2Kgs
+2 KUNINKAIDEN KIRJA=2Kgs
-1. AIKAKIRJA=13
-1 AIKAKIRJA=13
+1. AIKAKIRJA=1Chr
+1 AIKAKIRJA=1Chr
-2. AIKAKIRJA=14
-2 AIKAKIRJA=14
+2. AIKAKIRJA=2Chr
+2 AIKAKIRJA=2Chr
-ESRA=15
-NEHEMIA=16
-ESTER=17
-JOB=18
-PSALMIT=19
-SANANLASKUT=20
-SAARNAAJA=21
-LAULUJEN LAULU=22
-JESAJA=23
-JEREMIA=24
-VALITUSVIRRET=25
-HESEKIEL=26
-DANIEL=27
-HOOSEA=28
-JOEL=29
-AAMOS=30
-OBADJA=31
-JOONA=32
-MIIKA=33
-NAAHUM=34
-HABAKUK=35
-SEFANJA=36
-HAGGAI=37
-SAKARJA=38
-MALAKIA=39
-MATTEUS=40
-MARKUS=41
-LUUKAS=42
-JOHANNES=43
-APOSTOLIEN TEOT=44
-ROOMALAISKIRJE=45
+ESRA=Ezra
+NEHEMIA=Neh
+ESTER=Esth
+JOB=Job
+PSALMIT=Ps
+SANANLASKUT=Prov
+SAARNAAJA=Eccl
+LAULUJEN LAULU=Song
+JESAJA=Isa
+JEREMIA=Jer
+VALITUSVIRRET=Lam
+HESEKIEL=Ezek
+DANIEL=Dan
+HOOSEA=Hos
+JOEL=Joel
+AAMOS=Amos
+OBADJA=Obad
+JOONA=Jonah
+MIIKA=Mic
+NAAHUM=Nah
+HABAKUK=Hab
+SEFANJA=Zeph
+HAGGAI=Hag
+SAKARJA=Zech
+MALAKIA=Mal
+MATTEUS=Matt
+MARKUS=Mark
+LUUKAS=Luke
+JOHANNES=John
+APOSTOLIEN TEOT=Acts
+ROOMALAISKIRJE=Rom
-1. KORINTTOLAISKIRJE=46
-1 KORINTTOLAISKIRJE=46
+1. KORINTTOLAISKIRJE=1Cor
+1 KORINTTOLAISKIRJE=1Cor
-2. KORINTTOLAISKIRJE=47
-2 KORINTTOLAISKIRJE=47
+2. KORINTTOLAISKIRJE=2Cor
+2 KORINTTOLAISKIRJE=2Cor
-GALATALAISKIRJE=48
-EFESOLAISKIRJE=49
-FILIPPILÄISKIRJE=50
-KOLOSSALAISKIRJE=51
+GALATALAISKIRJE=Gal
+EFESOLAISKIRJE=Eph
+FILIPPILÄISKIRJE=Phil
+KOLOSSALAISKIRJE=Col
-1. TESSALONIKALAISKIRJE=52
-1 TESSALONIKALAISKIRJE=52
+1. TESSALONIKALAISKIRJE=1Thess
+1 TESSALONIKALAISKIRJE=1Thess
-2. TESSALONIKALAISKIRJE=53
-2 TESSALONIKALAISKIRJE=53
+2. TESSALONIKALAISKIRJE=2Thess
+2 TESSALONIKALAISKIRJE=2Thess
-1. KIRJE TIMOTEUKSELLE=54
-1 KIRJE TIMOTEUKSELLE=54
+1. KIRJE TIMOTEUKSELLE=1Tim
+1 KIRJE TIMOTEUKSELLE=1Tim
-2. KIRJE TIMOTEUKSELLE=55
-2 KIRJE TIMOTEUKSELLE=55
+2. KIRJE TIMOTEUKSELLE=2Tim
+2 KIRJE TIMOTEUKSELLE=2Tim
-KIRJE TITUKSELLE=56
-KIRJE FILEMONILLE=57
-HEPREALAISKIRJE=58
-JAAKOBIN KIRJE=59
+KIRJE TITUKSELLE=Titus
+KIRJE FILEMONILLE=Phlm
+HEPREALAISKIRJE=Heb
+JAAKOBIN KIRJE=Jas
-1. PIETARIN KIRJE=60
-1 PIETARIN KIRJE=60
+1. PIETARIN KIRJE=1Pet
+1 PIETARIN KIRJE=1Pet
-2. PIETARIN KIRJE=61
-2 PIETARIN KIRJE=61
+2. PIETARIN KIRJE=2Pet
+2 PIETARIN KIRJE=2Pet
-1. JOHANNEKSEN KIRJE=62
-1 JOHANNEKSEN KIRJE=62
+1. JOHANNEKSEN KIRJE=1John
+1 JOHANNEKSEN KIRJE=1John
-2. JOHANNEKSEN KIRJE=63
-2 JOHANNEKSEN KIRJE=63
+2. JOHANNEKSEN KIRJE=2John
+2 JOHANNEKSEN KIRJE=2John
-3. JOHANNEKSEN KIRJE=64
-3 JOHANNEKSEN KIRJE=64
-
-JUUDAKSEN KIRJE=65
-JOHANNEKSEN ILMESTYS=66
-1. MOOS=1
-1.MOOS=1
-1 MOOS=1
-1MOOS=1
-2. MOOS=2
-2.MOOS=2
-2 MOOS=2
-2MOOS=2
-3. MOOS=3
-3.MOOS=3
-3 MOOS=3
-3MOOS=3
-4. MOOS=4
-4.MOOS=4
-4 MOOS=4
-4MOOS=4
-5. MOOS=5
-5.MOOS=5
-5 MOOS=5
-5MOOS=5
-JOOS=6
-RUUT=8
-TUOM=7
-1. SAM=9
-1.SAM=9
-1 SAM=9
-1SAM=9
-2. SAM=10
-2.SAM=10
-2 SAM=10
-2SAM=10
-1. KUN=11
-1.KUN=11
-1 KUN=11
-1KUN=11
-2. KUN=12
-2.KUN=12
-2 KUN=12
-2KUN=12
-1. AIK=13
-1.AIK=13
-1 AIK=13
-1AIK=13
-2. AIK=14
-2.AIK=14
-2 AIK=14
-2AIK=14
-NEH=16
-EST=17
-PS=19
-SANANL=20
-SAARN=21
-LAUL. L=22
-LAUL.L=22
-LAUL L=22
-LAULL=22
-KORK. V=22
-KORK.V=22
-KORK V=22
-KORKV=22
-KORKEA VEISU=22
-JES=23
-JER=24
-VALIT=25
-HES=26
-DAN=27
-HOOS=28
-JOEL=29
-AAM=30
-OB=31
-JOONA=32
-MIIKA=33
-NAH=34
-HAB=35
-SEF=36
-HAGG=37
-SAK=38
-MAL=39
-MATT=40
-MARK=41
-LUUK=42
-JOH=43
-AP T=44
-APT=44
-ROOM=45
-1. KOR=46
-1.KOR=46
-1 KOR=46
-1KOR=46
-2. KOR=47
-2.KOR=47
-2 KOR=47
-2KOR=47
-GAL=48
-EF=49
-FIL=50
-KOL=51
-1. TESS=52
-1.TESS=52
-1 TESS=52
-1TESS=52
-2. TESS=53
-2.TESS=53
-2 TESS=53
-2TESS=53
-1. TIM=54
-1.TIM=54
-1 TIM=54
-1TIM=54
-2. TIM=55
-2.TIM=55
-2 TIM=55
-2TIM=55
-TIT=56
-FILEM=57
-HEBR=58
-HEPR=58
-JAAK=59
-1. PIET=60
-1.PIET=60
-1 PIET=60
-1PIET=60
-2. PIET=61
-2.PIET=61
-2 PIET=61
-2PIET=61
-1. JOH=62
-1.JOH=62
-1 JOH=62
-1JOH=62
-2. JOH=63
-2.JOH=63
-2 JOH=63
-2JOH=63
-3. JOH=64
-3.JOH=64
-3 JOH=64
-3JOH=64
-JUUD=65
-ILM=66
+3. JOHANNEKSEN KIRJE=3John
+3 JOHANNEKSEN KIRJE=3John
+JUUDAKSEN KIRJE=Jude
+JOHANNEKSEN ILMESTYS=Rev
+1. MOOS=Gen
+1.MOOS=Gen
+1 MOOS=Gen
+1MOOS=Gen
+2. MOOS=Exod
+2.MOOS=Exod
+2 MOOS=Exod
+2MOOS=Exod
+3. MOOS=Lev
+3.MOOS=Lev
+3 MOOS=Lev
+3MOOS=Lev
+4. MOOS=Num
+4.MOOS=Num
+4 MOOS=Num
+4MOOS=Num
+5. MOOS=Deut
+5.MOOS=Deut
+5 MOOS=Deut
+5MOOS=Deut
+JOOS=Josh
+RUUT=Ruth
+TUOM=Judg
+1. SAM=1Sam
+1.SAM=1Sam
+1 SAM=1Sam
+1SAM=1Sam
+2. SAM=2Sam
+2.SAM=2Sam
+2 SAM=2Sam
+2SAM=2Sam
+1. KUN=1Kgs
+1.KUN=1Kgs
+1 KUN=1Kgs
+1KUN=1Kgs
+2. KUN=2Kgs
+2.KUN=2Kgs
+2 KUN=2Kgs
+2KUN=2Kgs
+1. AIK=1Chr
+1.AIK=1Chr
+1 AIK=1Chr
+1AIK=1Chr
+2. AIK=2Chr
+2.AIK=2Chr
+2 AIK=2Chr
+2AIK=2Chr
+NEH=Neh
+EST=Esth
+PS=Ps
+SANANL=Prov
+SAARN=Eccl
+LAUL. L=Song
+LAUL.L=Song
+LAUL L=Song
+LAULL=Song
+KORK. V=Song
+KORK.V=Song
+KORK V=Song
+KORKV=Song
+KORKEA VEISU=Song
+JES=Isa
+JER=Jer
+VALIT=Lam
+HES=Ezek
+DAN=Dan
+HOOS=Hos
+JOEL=Joel
+AAM=Amos
+OB=Obad
+JOONA=Jonah
+MIIKA=Mic
+NAH=Nah
+HAB=Hab
+SEF=Zeph
+HAGG=Hag
+SAK=Zech
+MAL=Mal
+MATT=Matt
+MARK=Mark
+LUUK=Luke
+JOH=John
+AP T=Acts
+APT=Acts
+ROOM=Rom
+1. KOR=1Cor
+1.KOR=1Cor
+1 KOR=1Cor
+1KOR=1Cor
+2. KOR=2Cor
+2.KOR=2Cor
+2 KOR=2Cor
+2KOR=2Cor
+GAL=Gal
+EF=Eph
+FIL=Phil
+KOL=Col
+1. TESS=1Thess
+1.TESS=1Thess
+1 TESS=1Thess
+1TESS=1Thess
+2. TESS=2Thess
+2.TESS=2Thess
+2 TESS=2Thess
+2TESS=2Thess
+1. TIM=1Tim
+1.TIM=1Tim
+1 TIM=1Tim
+1TIM=1Tim
+2. TIM=2Tim
+2.TIM=2Tim
+2 TIM=2Tim
+2TIM=2Tim
+TIT=Titus
+FILEM=Phlm
+HEBR=Heb
+HEPR=Heb
+JAAK=Jas
+1. PIET=1Pet
+1.PIET=1Pet
+1 PIET=1Pet
+1PIET=1Pet
+2. PIET=2Pet
+2.PIET=2Pet
+2 PIET=2Pet
+2PIET=2Pet
+1. JOH=1John
+1.JOH=1John
+1 JOH=1John
+1JOH=1John
+2. JOH=2John
+2.JOH=2John
+2 JOH=2John
+2JOH=2John
+3. JOH=3John
+3.JOH=3John
+3 JOH=3John
+3JOH=3John
+JUUD=Jude
+ILM=Rev
diff --git a/locales.d/fr-utf8.conf b/locales.d/fr-utf8.conf
index 9d172ab..9039d22 100644
--- a/locales.d/fr-utf8.conf
+++ b/locales.d/fr-utf8.conf
@@ -72,621 +72,447 @@ Jude=Jude
Revelation of John=Apocalypse
[Book Abbrevs]
-1 C=46
-1 CHRONICLES=13
-1 CORINTHIANS=46
-1 JN=62
-1 JOHN=62
-1 KGS=11
-1 KINGS=11
-1 PETER=60
-1 PTR=60
-1 SAMUEL=9
-1 THESSALONIANS=52
-1 TIMOTHY=54
-1C=46
-1CHRONICLES=13
-1CORINTHIANS=46
-1JN=62
-1JOHN=62
-1KGS=11
-1KINGS=11
-1PETER=60
-1PTR=60
-1SAMUEL=9
-1THESSALONIANS=52
-1TIMOTHY=54
-2 C=47
-2 CHRONICLES=14
-2 CORINTHIANS=47
-2 JN=63
-2 JOHN=63
-2 KGS=12
-2 KINGS=12
-2 PETER=61
-2 PTR=61
-2 SAMUEL=10
-2 THESSALONIANS=53
-2 TIMOTHY=55
-2C=47
-2CHRONICLES=14
-2CORINTHIANS=47
-2JN=63
-2JOHN=63
-2KGS=12
-2KINGS=12
-2PETER=61
-2PTR=61
-2SAMUEL=10
-2THESSALONIANS=53
-2TIMOTHY=55
-3 JN=64
-3 JOHN=64
-3JN=64
-3JOHN=64
-ACTS=44
-AMOS=30
-APOCALYPSE OF ST. JOHN=66
-C=51
-CANTICLE OF CANTICLES=22
-COC=22
-COLOSSIANS=51
-D=5
-DANIEL=27
-DEUTERONOMY=5
-E=2
-ECCLESIASTES=21
-EPHESIANS=49
-ESTER=17
-ESTHER=17
-EXODUS=2
-EZEKIEL=26
-EZRA=15
-G=1
-GALATIANS=48
-GENESIS=1
-H=58
-HABAKKUK=35
-HAGGAI=37
-HEBREWS=58
-HOSEA=28
-I C=46
-I CHRONICLES=13
-I CORINTHIANS=46
-I JN=62
-I JOHN=62
-I KGS=11
-I KINGS=11
-I PETER=60
-I PTR=60
-I SAMUEL=9
-I THESSALONIANS=52
-I TIMOTHY=54
-IC=46
-ICHRONICLES=13
-ICORINTHIANS=46
-II C=47
-II CHRONICLES=14
-II CORINTHIANS=47
-II JN=63
-II JOHN=63
-II KGS=12
-II KINGS=12
-II PETER=61
-II PTR=61
-II SAMUEL=10
-II THESSALONIANS=53
-II TIMOTHY=55
-IIC=47
-IICHRONICLES=14
-IICORINTHIANS=47
-III JN=64
-III JOHN=64
-IIIJN=64
-IIIJOHN=64
-IIJN=63
-IIJOHN=63
-IIKGS=12
-IIKINGS=12
-IIPETER=61
-IIPTR=61
-IISAMUEL=10
-IITHESSALONIANS=53
-IITIMOTHY=55
-IJN=62
-IJOHN=62
-IKGS=11
-IKINGS=11
-IPETER=60
-IPTR=60
-ISA=23
-ISAIAH=23
-ISAMUEL=9
-ITHESSALONIANS=52
-ITIMOTHY=54
-J=43
-JAMES=59
-JAS=59
-JEREMIAH=24
-JN=43
-JO=6
-JOB=18
-JOEL=29
-JOHN=43
-JONAH=32
-JOSHUA=6
-JUD=65
-JUDE=65
-JUDGES=7
-L=42
-LAMENTATIONS=25
-LEVITICUS=3
-LK=42
-LUKE=42
-MA=40
-MALACHI=39
-MARK=41
-MATTHEW=40
-MICAH=33
-MK=41
-MR=41
-MT=40
-N=4
-NAHUM=34
-NEHEMIAH=16
-NUMBERS=4
-OBADIAH=31
-P=19
-PH=50
-PHILEMON=57
-PHILIPPIANS=50
-PHLM=57
-PHM=57
-PHP=50
-PROVERBS=20
-PSALMS=19
-PSM=19
-PSS=19
-REVELATION OF JOHN=66
-ROMANS=45
-RUTH=8
-SONG OF SOLOMON=22
-SONG OF SONGS=22
-SOS=22
-TITUS=56
-ZECHARIAH=38
-ZEPHANIAH=36
-GENÈSE=1
-EXODE=2
-LÉVITIQUE=3
-NOMBRES=4
-DEUTÉRONOME=5
-JOSUÉ=6
-JUGES=7
-RUTH=8
-1 SAMUEL=9
-2 SAMUEL=10
-1 ROIS=11
-2 ROIS=12
-1 CHRONIQUES=13
-2 CHRONIQUES=14
-ESDRAS=15
-NÉHÉMIE=16
-ESTHER=17
-JOB=18
-PSAUMES=19
-PROVERBES=20
-ECCLÉSIASTE=21
-CANTIQUE DES CANTIQUES=22
-ESAÃE=23
-JÉRÉMIE=24
-LAMENTATIONS DE JÉRÉMIE=25
-ÉZÉCHIEL=26
-DANIEL=27
-OSÉE=28
-JOËL=29
-AMOS=30
-ABDIAS=31
-JONAS=32
-MICHÉE=33
-NAHUM=34
-HABAKUK=35
-SOPHONIE=36
-AGGÉE=37
-ZACCHARIE=38
-MALACHIE=39
-MATTHIEU=40
-MARC=41
-LUC=42
-JEAN=43
-ACTES=44
-ROMAINS=45
-1 CORINTHIENS=46
-2 CORINTHIENS=47
-GALATES=48
-EPHÉSIENS=49
-PHILIPPIENS=50
-COLOSSIENS=51
-1 THESSALONICIENS=52
-2 THESSALONICIENS=53
-1 TIMOTHÉE=54
-2 TIMOTHÉE=55
-TITE=56
-PHILÉMON=57
-HÉBREUX=58
-JACQUES=59
-1 PIERRE=60
-2 PIERRE=61
-1 JEAN=62
-2 JEAN=63
-3 JEAN=64
-JUDE=65
-APOCALYPSE=66
-
-1 C=46
-1C=46
-1 CH=13
-1CH=13
-1 CHR=13
-1CHR=13
-1 CHRO=13
-1CHRO=13
-1 CO=46
-1CO=46
-1 COR=46
-1COR=46
-1 J=62
-1J=62
-1 JE=62
-1JE=62
-1 JEA=62
-1JEA=62
-1 JN=62
-1JN=62
-1 P=60
-1P=60
-1 PI=60
-1PI=60
-1 PIE=60
-1PIE=60
-1 R=11
-1R=11
-1 RO=11
-1RO=11
-1 ROI=11
-1ROI=11
-1 S=9
-1S=9
-1 SA=9
-1SA=9
-1 SAM=9
-1SAM=9
-1 T=52
-1T=52
-1 TH=52
-1TH=52
-1 THE=52
-1THE=52
-1 TI=54
-1TI=54
-1 TIM=54
-1TIM=54
-1 TIMOTHEE=54
-1TIMOTHEE=54
-1 TM=54
-1TM=54
-2 C=47
-2C=47
-2 CH=14
-2CH=14
-2 CHR=14
-2CHR=14
-2 CHRO=14
-2CHRO=14
-2 CO=47
-2CO=47
-2 COR=47
-2COR=47
-2 J=63
-2J=63
-2 JE=63
-2JE=63
-2 JEA=63
-2JEA=63
-2 JN=63
-2JN=63
-2 P=61
-2P=61
-2 PI=61
-2PI=61
-2 PIE=61
-2PIE=61
-2 R=12
-2R=12
-2 RO=12
-2RO=12
-2 ROI=12
-2ROI=12
-2 S=10
-2S=10
-2 SA=10
-2SA=10
-2 SAM=10
-2SAM=10
-2 T=53
-2T=53
-2 TH=53
-2TH=53
-2 THE=53
-2THE=53
-2 TI=55
-2TI=55
-2 TIM=55
-2TIM=55
-2 TIMOTHEE=55
-2TIMOTHEE=55
-2 TM=55
-2TM=55
-3 J=64
-3J=64
-3 JE=64
-3JE=64
-3 JEA=64
-3JEA=64
-3 JN=64
-3JN=64
-A=44
-AB=31
-ABD=31
-ABDI=31
-AC=44
-ACT=44
-ACTE=44
-AG=37
-AGG=37
-AGGE=37
-AGGÉ=37
-AGGEE=37
-AM=30
-AMO=30
-AP=66
-APO=66
-APOC=66
-B=58
-CA=22
-CAN=22
-CANT=22
-CDC=22
-CO=51
-COL=51
-COLO=51
-CT=22
-DA=27
-DAN=27
-DANI=27
-DE=5
-DEU=5
-DEUT=5
-DEUTERONOME=5
-DN=27
-DT=5
-E=2
-É=49
-EC=21
-ECC=21
-ECCL=21
-ECCLESIASTE=21
-ÉC=21
-ÉCC=21
-ÉCCL=21
-ECL=21
-ÉCL=21
-EP=49
-ÉP=49
-EPH=49
-ÉPH=49
-EPHE=49
-ÉPHE=49
-EPHÉ=49
-ÉPHÉ=49
-EPHESIENS=49
-ÉPHÉSIENS=49
-ES=23
-ÉS=23
-ESA=23
-ÉSA=23
-ESAI=23
-ESAÃ=23
-ÉSAÃ=23
-ESAIE=23
-ÉSAIE=23
-ÉSAÃE=23
-ESD=15
-ESDR=15
-ÉSD=15
-EST=17
-ESTH=17
-ÉST=17
-EX=2
-EXO=2
-EXOD=2
-EZ=26
-EZE=26
-ÉZE=26
-EZÉ=26
-ÉZÉ=26
-EZEC=26
-ÉZEC=26
-EZÉC=26
-ÉZÉC=26
-EZECHIEL=26
-F=49
-G=1
-GA=48
-GAL=48
-GALA=48
-GE=1
-GEN=1
-GENE=1
-GENÈ=1
-GENESE=1
-GÉ=1
-GÉN=1
-GN=1
-H=35
-HA=35
-HAB=35
-HABA=35
-HABACUC=35
-HABAQUQ=35
-HE=58
-HÉ=58
-HEB=58
-HÉB=58
-HEBREUX=58
-I=23
-IS=23
-ISA=23
-ISAI=23
-ISAÃ=23
-ISAIE=23
-J=6
-JA=59
-JAC=59
-JACQ=59
-JB=18
-JC=59
-JD=65
-JÉ=24
-JE=43
-JEA=43
-JER=24
-JÉR=24
-JERE=24
-JÉRE=24
-JERÉ=24
-JÉRÉ=24
-JEREMIE=24
-JG=7
-JL=29
-JN=43
-JOB=18
-JOE=29
-JOË=29
-JOEL=29
-JON=32
-JONA=32
-JOS=6
-JOSUE=6
-JR=24
-JS=6
-JU=7
-JUD=65
-JUG=7
-JUGE=7
-K=35
-L=3
-LA=25
-LAM=25
-LAME=25
-LC=42
-LDJ=25
-LE=3
-LÉ=3
-LEV=3
-LÉV=3
-LEVI=3
-LÉVI=3
-LEVITIQUE=3
-LM=25
-LU=42
-LUC=42
-LV=3
-M=40
-MA=39
-MAL=39
-MALA=39
-MAR=41
-MAT=40
-MATT=40
-MC=41
-MI=33
-MIC=33
-MICH=33
-MICHEE=33
-ML=39
-MR=41
-MT=40
-N=4
-NA=34
-NAH=34
-NAHU=35
-NB=4
-NE=16
-NÉ=16
-NEH=16
-NÉH=16
-NEHE=16
-NÉHE=16
-NEHÉ=16
-NÉHÉ=16
-NEHEMIE=16
-NO=4
-NOM=4
-NOMB=4
-O=28
-OS=28
-OSE=28
-OSÉ=28
-OSEE=28
-P=19
-PH=50
-PHI=50
-PHIL=50
-PHIL=57
-PHILEMON=57
-PHM=57
-PR=20
-PRE=21
-PRÉ=21
-PRED=21
-PRÉD=21
-PREDICATEUR=21
-PRO=20
-PROV=20
-PS=19
-PSA=19
-PSAU=19
-QO=21
-R=45
-RE=66
-RÉ=66
-REV=66
-RÉV=66
-REVE=66
-RÉVE=66
-REVÉ=66
-RÉVÉ=66
-RM=45
-RO=45
-ROM=45
-RT=8
-RU=8
-RUT=8
-S=36
-SO=36
-SOP=36
-SOPH=36
-T=56
-TI=56
-TIT=56
-TT=56
-U=7
-V=3
-Z=38
-ZA=38
-ZAC=38
-ZACH=38
+GENÈSE=Gen
+EXODE=Exod
+LÉVITIQUE=Lev
+NOMBRES=Num
+DEUTÉRONOME=Deut
+JOSUÉ=Josh
+JUGES=Judg
+RUTH=Ruth
+1 SAMUEL=1Sam
+2 SAMUEL=2Sam
+1 ROIS=1Kgs
+2 ROIS=2Kgs
+1 CHRONIQUES=1Chr
+2 CHRONIQUES=2Chr
+ESDRAS=Ezra
+NÉHÉMIE=Neh
+ESTHER=Esth
+JOB=Job
+PSAUMES=Ps
+PROVERBES=Prov
+ECCLÉSIASTE=Eccl
+CANTIQUE DES CANTIQUES=Song
+ESAÃE=Isa
+JÉRÉMIE=Jer
+LAMENTATIONS DE JÉRÉMIE=Lam
+ÉZÉCHIEL=Ezek
+DANIEL=Dan
+OSÉE=Hos
+JOËL=Joel
+AMOS=Amos
+ABDIAS=Obad
+JONAS=Jonah
+MICHÉE=Mic
+NAHUM=Nah
+HABAKUK=Hab
+SOPHONIE=Zeph
+AGGÉE=Hag
+ZACCHARIE=Zech
+MALACHIE=Mal
+MATTHIEU=Matt
+MARC=Mark
+LUC=Luke
+JEAN=John
+ACTES=Acts
+ROMAINS=Rom
+1 CORINTHIENS=1Cor
+2 CORINTHIENS=2Cor
+GALATES=Gal
+EPHÉSIENS=Eph
+PHILIPPIENS=Phil
+COLOSSIENS=Col
+1 THESSALONICIENS=1Thess
+2 THESSALONICIENS=2Thess
+1 TIMOTHÉE=1Tim
+2 TIMOTHÉE=2Tim
+TITE=Titus
+PHILÉMON=Phlm
+HÉBREUX=Heb
+JACQUES=Jas
+1 PIERRE=1Pet
+2 PIERRE=2Pet
+1 JEAN=1John
+2 JEAN=2John
+3 JEAN=3John
+JUDE=Jude
+APOCALYPSE=Rev
+1 C=1Cor
+1C=1Cor
+1 CH=1Chr
+1CH=1Chr
+1 CHR=1Chr
+1CHR=1Chr
+1 CHRO=1Chr
+1CHRO=1Chr
+1 CO=1Cor
+1CO=1Cor
+1 COR=1Cor
+1COR=1Cor
+1 J=1John
+1J=1John
+1 JE=1John
+1JE=1John
+1 JEA=1John
+1JEA=1John
+1 JN=1John
+1JN=1John
+1 P=1Pet
+1P=1Pet
+1 PI=1Pet
+1PI=1Pet
+1 PIE=1Pet
+1PIE=1Pet
+1 R=1Kgs
+1R=1Kgs
+1 RO=1Kgs
+1RO=1Kgs
+1 ROI=1Kgs
+1ROI=1Kgs
+1 S=1Sam
+1S=1Sam
+1 SA=1Sam
+1SA=1Sam
+1 SAM=1Sam
+1SAM=1Sam
+1 T=1Thess
+1T=1Thess
+1 TH=1Thess
+1TH=1Thess
+1 THE=1Thess
+1THE=1Thess
+1 TI=1Tim
+1TI=1Tim
+1 TIM=1Tim
+1TIM=1Tim
+1 TIMOTHEE=1Tim
+1TIMOTHEE=1Tim
+1 TM=1Tim
+1TM=1Tim
+2 C=2Cor
+2C=2Cor
+2 CH=2Chr
+2CH=2Chr
+2 CHR=2Chr
+2CHR=2Chr
+2 CHRO=2Chr
+2CHRO=2Chr
+2 CO=2Cor
+2CO=2Cor
+2 COR=2Cor
+2COR=2Cor
+2 J=2John
+2J=2John
+2 JE=2John
+2JE=2John
+2 JEA=2John
+2JEA=2John
+2 JN=2John
+2JN=2John
+2 P=2Pet
+2P=2Pet
+2 PI=2Pet
+2PI=2Pet
+2 PIE=2Pet
+2PIE=2Pet
+2 R=2Kgs
+2R=2Kgs
+2 RO=2Kgs
+2RO=2Kgs
+2 ROI=2Kgs
+2ROI=2Kgs
+2 S=2Sam
+2S=2Sam
+2 SA=2Sam
+2SA=2Sam
+2 SAM=2Sam
+2SAM=2Sam
+2 T=2Thess
+2T=2Thess
+2 TH=2Thess
+2TH=2Thess
+2 THE=2Thess
+2THE=2Thess
+2 TI=2Tim
+2TI=2Tim
+2 TIM=2Tim
+2TIM=2Tim
+2 TIMOTHEE=2Tim
+2TIMOTHEE=2Tim
+2 TM=2Tim
+2TM=2Tim
+3 J=3John
+3J=3John
+3 JE=3John
+3JE=3John
+3 JEA=3John
+3JEA=3John
+3 JN=3John
+3JN=3John
+A=Acts
+AB=Obad
+ABD=Obad
+ABDI=Obad
+AC=Acts
+ACT=Acts
+ACTE=Acts
+AG=Hag
+AGG=Hag
+AGGE=Hag
+AGGÉ=Hag
+AGGEE=Hag
+AM=Amos
+AMO=Amos
+AP=Rev
+APO=Rev
+APOC=Rev
+B=Heb
+CA=Song
+CAN=Song
+CANT=Song
+CDC=Song
+CO=Col
+COL=Col
+COLO=Col
+CT=Song
+DA=Dan
+DAN=Dan
+DANI=Dan
+DE=Deut
+DEU=Deut
+DEUT=Deut
+DEUTERONOME=Deut
+DN=Dan
+DT=Deut
+E=Exod
+É=Eph
+EC=Eccl
+ECC=Eccl
+ECCL=Eccl
+ECCLESIASTE=Eccl
+ÉC=Eccl
+ÉCC=Eccl
+ÉCCL=Eccl
+ECL=Eccl
+ÉCL=Eccl
+EP=Eph
+ÉP=Eph
+EPH=Eph
+ÉPH=Eph
+EPHE=Eph
+ÉPHE=Eph
+EPHÉ=Eph
+ÉPHÉ=Eph
+EPHESIENS=Eph
+ÉPHÉSIENS=Eph
+ES=Isa
+ÉS=Isa
+ESA=Isa
+ÉSA=Isa
+ESAI=Isa
+ESAÃ=Isa
+ÉSAÃ=Isa
+ESAIE=Isa
+ÉSAIE=Isa
+ÉSAÃE=Isa
+ESD=Ezra
+ESDR=Ezra
+ÉSD=Ezra
+EST=Esth
+ESTH=Esth
+ÉST=Esth
+EX=Exod
+EXO=Exod
+EXOD=Exod
+EZ=Ezek
+EZE=Ezek
+ÉZE=Ezek
+EZÉ=Ezek
+ÉZÉ=Ezek
+EZEC=Ezek
+ÉZEC=Ezek
+EZÉC=Ezek
+ÉZÉC=Ezek
+EZECHIEL=Ezek
+F=Eph
+G=Gen
+GA=Gal
+GAL=Gal
+GALA=Gal
+GE=Gen
+GEN=Gen
+GENE=Gen
+GENÈ=Gen
+GENESE=Gen
+GÉ=Gen
+GÉN=Gen
+GN=Gen
+H=Hab
+HA=Hab
+HAB=Hab
+HABA=Hab
+HABACUC=Hab
+HABAQUQ=Hab
+HE=Heb
+HÉ=Heb
+HEB=Heb
+HÉB=Heb
+HEBREUX=Heb
+I=Isa
+IS=Isa
+ISA=Isa
+ISAI=Isa
+ISAÃ=Isa
+ISAIE=Isa
+J=Josh
+JA=Jas
+JAC=Jas
+JACQ=Jas
+JB=Job
+JC=Jas
+JD=Jude
+JÉ=Jer
+JE=John
+JEA=John
+JER=Jer
+JÉR=Jer
+JERE=Jer
+JÉRE=Jer
+JERÉ=Jer
+JÉRÉ=Jer
+JEREMIE=Jer
+JG=Judg
+JL=Joel
+JN=John
+JOB=Job
+JOE=Joel
+JOË=Joel
+JOEL=Joel
+JON=Jonah
+JONA=Jonah
+JOS=Josh
+JOSUE=Josh
+JR=Jer
+JS=Josh
+JU=Judg
+JUD=Jude
+JUG=Judg
+JUGE=Judg
+K=Hab
+L=Lev
+LA=Lam
+LAM=Lam
+LAME=Lam
+LC=Luke
+LDJ=Lam
+LE=Lev
+LÉ=Lev
+LEV=Lev
+LÉV=Lev
+LEVI=Lev
+LÉVI=Lev
+LEVITIQUE=Lev
+LM=Lam
+LU=Luke
+LUC=Luke
+LV=Lev
+M=Matt
+MA=Mal
+MAL=Mal
+MALA=Mal
+MAR=Mark
+MAT=Matt
+MATT=Matt
+MC=Mark
+MI=Mic
+MIC=Mic
+MICH=Mic
+MICHEE=Mic
+ML=Mal
+MR=Mark
+MT=Matt
+N=Num
+NA=Nah
+NAH=Nah
+NAHU=Hab
+NB=Num
+NE=Neh
+NÉ=Neh
+NEH=Neh
+NÉH=Neh
+NEHE=Neh
+NÉHE=Neh
+NEHÉ=Neh
+NÉHÉ=Neh
+NEHEMIE=Neh
+NO=Num
+NOM=Num
+NOMB=Num
+O=Hos
+OS=Hos
+OSE=Hos
+OSÉ=Hos
+OSEE=Hos
+P=Ps
+PH=Phil
+PHI=Phil
+PHIL=Phil
+PHIL=Phlm
+PHILEMON=Phlm
+PHM=Phlm
+PR=Prov
+PRE=Eccl
+PRÉ=Eccl
+PRED=Eccl
+PRÉD=Eccl
+PREDICATEUR=Eccl
+PRO=Prov
+PROV=Prov
+PS=Ps
+PSA=Ps
+PSAU=Ps
+QO=Eccl
+R=Rom
+RE=Rev
+RÉ=Rev
+REV=Rev
+RÉV=Rev
+REVE=Rev
+RÉVE=Rev
+REVÉ=Rev
+RÉVÉ=Rev
+RM=Rom
+RO=Rom
+ROM=Rom
+RT=Ruth
+RU=Ruth
+RUT=Ruth
+S=Zeph
+SO=Zeph
+SOP=Zeph
+SOPH=Zeph
+T=Titus
+TI=Titus
+TIT=Titus
+TT=Titus
+U=Judg
+V=Lev
+Z=Zech
+ZA=Zech
+ZAC=Zech
+ZACH=Zech
+LÉ=Lev
+NO=Num
+1 R=1Kgs
+2 R=2Kgs
+NÉ=Neh
+ES=Isa
+JÉ=Jer
+JOË=Joel
+HÉ=Heb
+1 PI=1Pet
+2 PI=2Pet
diff --git a/locales.d/fr.conf b/locales.d/fr.conf
index 2d4a996..82e90c1 100644
--- a/locales.d/fr.conf
+++ b/locales.d/fr.conf
@@ -72,619 +72,447 @@ Jude=Jude
Revelation of John=Apocalypse
[Book Abbrevs]
-1 C=46
-1 CHRONICLES=13
-1 CORINTHIANS=46
-1 JN=62
-1 JOHN=62
-1 KGS=11
-1 KINGS=11
-1 PETER=60
-1 PTR=60
-1 SAMUEL=9
-1 THESSALONIANS=52
-1 TIMOTHY=54
-1C=46
-1CHRONICLES=13
-1CORINTHIANS=46
-1JN=62
-1JOHN=62
-1KGS=11
-1KINGS=11
-1PETER=60
-1PTR=60
-1SAMUEL=9
-1THESSALONIANS=52
-1TIMOTHY=54
-2 C=47
-2 CHRONICLES=14
-2 CORINTHIANS=47
-2 JN=63
-2 JOHN=63
-2 KGS=12
-2 KINGS=12
-2 PETER=61
-2 PTR=61
-2 SAMUEL=10
-2 THESSALONIANS=53
-2 TIMOTHY=55
-2C=47
-2CHRONICLES=14
-2CORINTHIANS=47
-2JN=63
-2JOHN=63
-2KGS=12
-2KINGS=12
-2PETER=61
-2PTR=61
-2SAMUEL=10
-2THESSALONIANS=53
-2TIMOTHY=55
-3 JN=64
-3 JOHN=64
-3JN=64
-3JOHN=64
-ACTS=44
-AMOS=30
-APOCALYPSE OF ST. JOHN=66
-C=51
-CANTICLE OF CANTICLES=22
-COC=22
-COLOSSIANS=51
-D=5
-DANIEL=27
-DEUTERONOMY=5
-E=2
-ECCLESIASTES=21
-EPHESIANS=49
-ESTER=17
-ESTHER=17
-EXODUS=2
-EZEKIEL=26
-EZRA=15
-G=1
-GALATIANS=48
-GENESIS=1
-H=58
-HABAKKUK=35
-HAGGAI=37
-HEBREWS=58
-HOSEA=28
-I C=46
-I CHRONICLES=13
-I CORINTHIANS=46
-I JN=62
-I JOHN=62
-I KGS=11
-I KINGS=11
-I PETER=60
-I PTR=60
-I SAMUEL=9
-I THESSALONIANS=52
-I TIMOTHY=54
-IC=46
-ICHRONICLES=13
-ICORINTHIANS=46
-II C=47
-II CHRONICLES=14
-II CORINTHIANS=47
-II JN=63
-II JOHN=63
-II KGS=12
-II KINGS=12
-II PETER=61
-II PTR=61
-II SAMUEL=10
-II THESSALONIANS=53
-II TIMOTHY=55
-IIC=47
-IICHRONICLES=14
-IICORINTHIANS=47
-III JN=64
-III JOHN=64
-IIIJN=64
-IIIJOHN=64
-IIJN=63
-IIJOHN=63
-IIKGS=12
-IIKINGS=12
-IIPETER=61
-IIPTR=61
-IISAMUEL=10
-IITHESSALONIANS=53
-IITIMOTHY=55
-IJN=62
-IJOHN=62
-IKGS=11
-IKINGS=11
-IPETER=60
-IPTR=60
-ISA=23
-ISAIAH=23
-ISAMUEL=9
-ITHESSALONIANS=52
-ITIMOTHY=54
-J=43
-JAMES=59
-JAS=59
-JEREMIAH=24
-JN=43
-JO=6
-JOB=18
-JOEL=29
-JOHN=43
-JONAH=32
-JOSHUA=6
-JUD=65
-JUDE=65
-JUDGES=7
-L=42
-LAMENTATIONS=25
-LEVITICUS=3
-LK=42
-LUKE=42
-MA=40
-MALACHI=39
-MARK=41
-MATTHEW=40
-MICAH=33
-MK=41
-MR=41
-MT=40
-N=4
-NAHUM=34
-NEHEMIAH=16
-NUMBERS=4
-OBADIAH=31
-P=19
-PH=50
-PHILEMON=57
-PHILIPPIANS=50
-PHLM=57
-PHM=57
-PHP=50
-PROVERBS=20
-PSALMS=19
-PSM=19
-PSS=19
-REVELATION OF JOHN=66
-ROMANS=45
-RUTH=8
-SONG OF SOLOMON=22
-SONG OF SONGS=22
-SOS=22
-TITUS=56
-ZECHARIAH=38
-ZEPHANIAH=36
-GENÈSE=1
-EXODE=2
-LÉVITIQUE=3
-NOMBRES=4
-DEUTÉRONOME=5
-JOSUÉ=6
-JUGES=7
-RUTH=8
-1 SAMUEL=9
-2 SAMUEL=10
-1 ROIS=11
-2 ROIS=12
-1 CHRONIQUES=13
-2 CHRONIQUES=14
-ESDRAS=15
-NÉHÉMIE=16
-ESTHER=17
-JOB=18
-PSAUMES=19
-PROVERBES=20
-ECCLÉSIASTE=21
-CANTIQUE DES CANTIQUES=22
-ESAÏE=23
-JÉRÉMIE=24
-LAMENTATIONS DE JÉRÉMIE=25
-ÉZÉCHIEL=26
-DANIEL=27
-OSÉE=28
-JOËL=29
-AMOS=30
-ABDIAS=31
-JONAS=32
-MICHÉE=33
-NAHUM=34
-HABAKUK=35
-SOPHONIE=36
-AGGÉE=37
-ZACCHARIE=38
-MALACHIE=39
-MATTHIEU=40
-MARC=41
-LUC=42
-JEAN=43
-ACTES=44
-ROMAINS=45
-1 CORINTHIENS=46
-2 CORINTHIENS=47
-GALATES=48
-EPHÉSIENS=49
-PHILIPPIENS=50
-COLOSSIENS=51
-1 THESSALONICIENS=52
-2 THESSALONICIENS=53
-1 TIMOTHÉE=54
-2 TIMOTHÉE=55
-TITE=56
-PHILÉMON=57
-HÉBREUX=58
-JACQUES=59
-1 PIERRE=60
-2 PIERRE=61
-1 JEAN=62
-2 JEAN=63
-3 JEAN=64
-JUDE=65
-APOCALYPSE=66
-
-1 C=46
-1C=46
-1 CH=13
-1CH=13
-1 CHR=13
-1CHR=13
-1 CHRO=13
-1CHRO=13
-1 CO=46
-1CO=46
-1 COR=46
-1COR=46
-1 J=62
-1J=62
-1 JE=62
-1JE=62
-1 JEA=62
-1JEA=62
-1 JN=62
-1JN=62
-1 P=60
-1P=60
-1 PI=60
-1PI=60
-1 PIE=60
-1PIE=60
-1 R=11
-1R=11
-1 RO=11
-1RO=11
-1 ROI=11
-1ROI=11
-1 S=9
-1S=9
-1 SA=9
-1SA=9
-1 SAM=9
-1SAM=9
-1 T=52
-1T=52
-1 TH=52
-1TH=52
-1 THE=52
-1THE=52
-1 TI=54
-1TI=54
-1 TIM=54
-1TIM=54
-1 TIMOTHEE=54
-1TIMOTHEE=54
-1 TM=54
-1TM=54
-2 C=47
-2C=47
-2 CH=14
-2CH=14
-2 CHR=14
-2CHR=14
-2 CHRO=14
-2CHRO=14
-2 CO=47
-2CO=47
-2 COR=47
-2COR=47
-2 J=63
-2J=63
-2 JE=63
-2JE=63
-2 JEA=63
-2JEA=63
-2 JN=63
-2JN=63
-2 P=61
-2P=61
-2 PI=61
-2PI=61
-2 PIE=61
-2PIE=61
-2 R=12
-2R=12
-2 RO=12
-2RO=12
-2 ROI=12
-2ROI=12
-2 S=10
-2S=10
-2 SA=10
-2SA=10
-2 SAM=10
-2SAM=10
-2 T=53
-2T=53
-2 TH=53
-2TH=53
-2 THE=53
-2THE=53
-2 TI=55
-2TI=55
-2 TIM=55
-2TIM=55
-2 TIMOTHEE=55
-2TIMOTHEE=55
-2 TM=55
-2TM=55
-3 J=64
-3J=64
-3 JE=64
-3JE=64
-3 JEA=64
-3JEA=64
-3 JN=64
-3JN=64
-A=44
-AB=31
-ABD=31
-ABDI=31
-AC=44
-ACT=44
-ACTE=44
-AG=37
-AGG=37
-AGGE=37
-AGGÉ=37
-AGGEE=37
-AM=30
-AMO=30
-AP=66
-APO=66
-APOC=66
-B=58
-CA=22
-CAN=22
-CANT=22
-CDC=22
-CO=51
-COL=51
-COLO=51
-CT=22
-DA=27
-DAN=27
-DANI=27
-DE=5
-DEU=5
-DEUT=5
-DEUTERONOME=5
-DN=27
-DT=5
-E=2
-É=49
-EC=21
-ECC=21
-ECCL=21
-ECCLESIASTE=21
-ÉC=21
-ÉCC=21
-ÉCCL=21
-ECL=21
-ÉCL=21
-EP=49
-ÉP=49
-EPH=49
-ÉPH=49
-EPHE=49
-ÉPHE=49
-EPHÉ=49
-ÉPHÉ=49
-EPHESIENS=49
-ES=23
-ÉS=23
-ESA=23
-ÉSA=23
-ESAI=23
-ESAÏ=23
-ÉSAÏ=23
-ESAIE=23
-ÉSAIE=23
-ESD=15
-ESDR=15
-ÉSD=15
-EST=17
-ESTH=17
-ÉST=17
-EX=2
-EXO=2
-EXOD=2
-EZ=26
-EZE=26
-ÉZE=26
-EZÉ=26
-ÉZÉ=26
-EZEC=26
-ÉZEC=26
-EZÉC=26
-ÉZÉC=26
-EZECHIEL=26
-F=49
-G=1
-GA=48
-GAL=48
-GALA=48
-GE=1
-GEN=1
-GENE=1
-GENÈ=1
-GENESE=1
-GÉ=1
-GÉN=1
-GN=1
-H=35
-HA=35
-HAB=35
-HABA=35
-HABACUC=35
-HABAQUQ=35
-HE=58
-HÉ=58
-HEB=58
-HÉB=58
-HEBREUX=58
-I=23
-IS=23
-ISA=23
-ISAI=23
-ISAÏ=23
-ISAIE=23
-J=6
-JA=59
-JAC=59
-JACQ=59
-JB=18
-JC=59
-JD=65
-JÉ=24
-JE=43
-JEA=43
-JER=24
-JÉR=24
-JERE=24
-JÉRE=24
-JERÉ=24
-JÉRÉ=24
-JEREMIE=24
-JG=7
-JL=29
-JN=43
-JOB=18
-JOE=29
-JOË=29
-JOEL=29
-JON=32
-JONA=32
-JOS=6
-JOSUE=6
-JR=24
-JS=6
-JU=7
-JUD=65
-JUG=7
-JUGE=7
-K=35
-L=3
-LA=25
-LAM=25
-LAME=25
-LC=42
-LDJ=25
-LE=3
-LÉ=3
-LEV=3
-LÉV=3
-LEVI=3
-LÉVI=3
-LEVITIQUE=3
-LM=25
-LU=42
-LUC=42
-LV=3
-M=40
-MA=39
-MAL=39
-MALA=39
-MAR=41
-MAT=40
-MATT=40
-MC=41
-MI=33
-MIC=33
-MICH=33
-MICHEE=33
-ML=39
-MR=41
-MT=40
-N=4
-NA=34
-NAH=34
-NAHU=35
-NB=4
-NE=16
-NÉ=16
-NEH=16
-NÉH=16
-NEHE=16
-NÉHE=16
-NEHÉ=16
-NÉHÉ=16
-NEHEMIE=16
-NO=4
-NOM=4
-NOMB=4
-O=28
-OS=28
-OSE=28
-OSÉ=28
-OSEE=28
-P=19
-PH=50
-PHI=50
-PHIL=50
-PHIL=57
-PHILEMON=57
-PHM=57
-PR=20
-PRE=21
-PRÉ=21
-PRED=21
-PRÉD=21
-PREDICATEUR=21
-PRO=20
-PROV=20
-PS=19
-PSA=19
-PSAU=19
-QO=21
-R=45
-RE=66
-RÉ=66
-REV=66
-RÉV=66
-REVE=66
-RÉVE=66
-REVÉ=66
-RÉVÉ=66
-RM=45
-RO=45
-ROM=45
-RT=8
-RU=8
-RUT=8
-S=36
-SO=36
-SOP=36
-SOPH=36
-T=56
-TI=56
-TIT=56
-TT=56
-U=7
-V=3
-Z=38
-ZA=38
-ZAC=38
-ZACH=38
+GENÈSE=Gen
+EXODE=Exod
+LÉVITIQUE=Lev
+NOMBRES=Num
+DEUTÉRONOME=Deut
+JOSUÉ=Josh
+JUGES=Judg
+RUTH=Ruth
+1 SAMUEL=1Sam
+2 SAMUEL=2Sam
+1 ROIS=1Kgs
+2 ROIS=2Kgs
+1 CHRONIQUES=1Chr
+2 CHRONIQUES=2Chr
+ESDRAS=Ezra
+NÉHÉMIE=Neh
+ESTHER=Esth
+JOB=Job
+PSAUMES=Ps
+PROVERBES=Prov
+ECCLÉSIASTE=Eccl
+ÉCCLÉSIASTE=Eccl
+CANTIQUE DES CANTIQUES=Song
+ESAÏE=Isa
+JÉRÉMIE=Jer
+LAMENTATIONS DE JÉRÉMIE=Lam
+ÉZÉCHIEL=Ezek
+DANIEL=Dan
+OSÉE=Hos
+JOËL=Joel
+AMOS=Amos
+ABDIAS=Obad
+JONAS=Jonah
+MICHÉE=Mic
+NAHUM=Nah
+HABAKUK=Hab
+SOPHONIE=Zeph
+AGGÉE=Hag
+ZACCHARIE=Zech
+MALACHIE=Mal
+MATTHIEU=Matt
+MARC=Mark
+LUC=Luke
+JEAN=John
+ACTES=Acts
+ROMAINS=Rom
+1 CORINTHIENS=1Cor
+2 CORINTHIENS=2Cor
+GALATES=Gal
+EPHÉSIENS=Eph
+ÉPHÉSIENS=Eph
+PHILIPPIENS=Phil
+COLOSSIENS=Col
+1 THESSALONICIENS=1Thess
+2 THESSALONICIENS=2Thess
+1 TIMOTHÉE=1Tim
+2 TIMOTHÉE=2Tim
+TITE=Titus
+PHILÉMON=Phlm
+HÉBREUX=Heb
+JACQUES=Jas
+1 PIERRE=1Pet
+2 PIERRE=2Pet
+1 JEAN=1John
+2 JEAN=2John
+3 JEAN=3John
+JUDE=Jude
+APOCALYPSE=Rev
+1 C=1Cor
+1C=1Cor
+1 CH=1Chr
+1CH=1Chr
+1 CHR=1Chr
+1CHR=1Chr
+1 CHRO=1Chr
+1CHRO=1Chr
+1 CO=1Cor
+1CO=1Cor
+1 COR=1Cor
+1COR=1Cor
+1 J=1John
+1J=1John
+1 JE=1John
+1JE=1John
+1 JEA=1John
+1JEA=1John
+1 JN=1John
+1JN=1John
+1 P=1Pet
+1P=1Pet
+1 PI=1Pet
+1PI=1Pet
+1 PIE=1Pet
+1PIE=1Pet
+1 R=1Kgs
+1R=1Kgs
+1 RO=1Kgs
+1RO=1Kgs
+1 ROI=1Kgs
+1ROI=1Kgs
+1 S=1Sam
+1S=1Sam
+1 SA=1Sam
+1SA=1Sam
+1 SAM=1Sam
+1SAM=1Sam
+1 T=1Thess
+1T=1Thess
+1 TH=1Thess
+1TH=1Thess
+1 THE=1Thess
+1THE=1Thess
+1 TI=1Tim
+1TI=1Tim
+1 TIM=1Tim
+1TIM=1Tim
+1 TIMOTHEE=1Tim
+1TIMOTHEE=1Tim
+1 TM=1Tim
+1TM=1Tim
+2 C=2Cor
+2C=2Cor
+2 CH=2Chr
+2CH=2Chr
+2 CHR=2Chr
+2CHR=2Chr
+2 CHRO=2Chr
+2CHRO=2Chr
+2 CO=2Cor
+2CO=2Cor
+2 COR=2Cor
+2COR=2Cor
+2 J=2John
+2J=2John
+2 JE=2John
+2JE=2John
+2 JEA=2John
+2JEA=2John
+2 JN=2John
+2JN=2John
+2 P=2Pet
+2P=2Pet
+2 PI=2Pet
+2PI=2Pet
+2 PIE=2Pet
+2PIE=2Pet
+2 R=2Kgs
+2R=2Kgs
+2 RO=2Kgs
+2RO=2Kgs
+2 ROI=2Kgs
+2ROI=2Kgs
+2 S=2Sam
+2S=2Sam
+2 SA=2Sam
+2SA=2Sam
+2 SAM=2Sam
+2SAM=2Sam
+2 T=2Thess
+2T=2Thess
+2 TH=2Thess
+2TH=2Thess
+2 THE=2Thess
+2THE=2Thess
+2 TI=2Tim
+2TI=2Tim
+2 TIM=2Tim
+2TIM=2Tim
+2 TIMOTHEE=2Tim
+2TIMOTHEE=2Tim
+2 TM=2Tim
+2TM=2Tim
+3 J=3John
+3J=3John
+3 JE=3John
+3JE=3John
+3 JEA=3John
+3JEA=3John
+3 JN=3John
+3JN=3John
+A=Acts
+AB=Obad
+ABD=Obad
+ABDI=Obad
+AC=Acts
+ACT=Acts
+ACTE=Acts
+AG=Hag
+AGG=Hag
+AGGE=Hag
+AGGÉ=Hag
+AGGEE=Hag
+AM=Amos
+AMO=Amos
+AP=Rev
+APO=Rev
+APOC=Rev
+B=Heb
+CA=Song
+CAN=Song
+CANT=Song
+CDC=Song
+CO=Col
+COL=Col
+COLO=Col
+CT=Song
+DA=Dan
+DAN=Dan
+DANI=Dan
+DE=Deut
+DEU=Deut
+DEUT=Deut
+DEUTERONOME=Deut
+DN=Dan
+DT=Deut
+E=Exod
+É=Eph
+EC=Eccl
+ECC=Eccl
+ECCL=Eccl
+ECCLESIASTE=Eccl
+ÉC=Eccl
+ÉCC=Eccl
+ÉCCL=Eccl
+ECL=Eccl
+ÉCL=Eccl
+EP=Eph
+ÉP=Eph
+EPH=Eph
+ÉPH=Eph
+EPHE=Eph
+ÉPHE=Eph
+EPHÉ=Eph
+ÉPHÉ=Eph
+EPHESIENS=Eph
+ES=Isa
+ÉS=Isa
+ESA=Isa
+ÉSA=Isa
+ESAI=Isa
+ESAÏ=Isa
+ÉSAÏ=Isa
+ESAIE=Isa
+ÉSAIE=Isa
+ESD=Ezra
+ESDR=Ezra
+ÉSD=Ezra
+EST=Esth
+ESTH=Esth
+ÉST=Esth
+EX=Exod
+EXO=Exod
+EXOD=Exod
+EZ=Ezek
+EZE=Ezek
+ÉZE=Ezek
+EZÉ=Ezek
+ÉZÉ=Ezek
+EZEC=Ezek
+ÉZEC=Ezek
+EZÉC=Ezek
+ÉZÉC=Ezek
+EZECHIEL=Ezek
+F=Eph
+G=Gen
+GA=Gal
+GAL=Gal
+GALA=Gal
+GE=Gen
+GEN=Gen
+GENE=Gen
+GENÈ=Gen
+GENESE=Gen
+GÉ=Gen
+GÉN=Gen
+GN=Gen
+H=Hab
+HA=Hab
+HAB=Hab
+HABA=Hab
+HABACUC=Hab
+HABAQUQ=Hab
+HE=Heb
+HÉ=Heb
+HEB=Heb
+HÉB=Heb
+HEBREUX=Heb
+I=Isa
+IS=Isa
+ISA=Isa
+ISAI=Isa
+ISAÏ=Isa
+ISAIE=Isa
+J=Josh
+JA=Jas
+JAC=Jas
+JACQ=Jas
+JB=Job
+JC=Jas
+JD=Jude
+JÉ=Jer
+JE=John
+JEA=John
+JER=Jer
+JÉR=Jer
+JERE=Jer
+JÉRE=Jer
+JERÉ=Jer
+JÉRÉ=Jer
+JEREMIE=Jer
+JG=Judg
+JL=Joel
+JN=John
+JOB=Job
+JOE=Joel
+JOË=Joel
+JOEL=Joel
+JON=Jonah
+JONA=Jonah
+JOS=Josh
+JOSUE=Josh
+JR=Jer
+JS=Josh
+JU=Judg
+JUD=Jude
+JUG=Judg
+JUGE=Judg
+K=Hab
+L=Lev
+LA=Lam
+LAM=Lam
+LAME=Lam
+LC=Luke
+LDJ=Lam
+LE=Lev
+LÉ=Lev
+LEV=Lev
+LÉV=Lev
+LEVI=Lev
+LÉVI=Lev
+LEVITIQUE=Lev
+LM=Lam
+LU=Luke
+LUC=Luke
+LV=Lev
+M=Matt
+MA=Mal
+MAL=Mal
+MALA=Mal
+MAR=Mark
+MAT=Matt
+MATT=Matt
+MC=Mark
+MI=Mic
+MIC=Mic
+MICH=Mic
+MICHEE=Mic
+ML=Mal
+MR=Mark
+MT=Matt
+N=Num
+NA=Nah
+NAH=Nah
+NAHU=Hab
+NB=Num
+NE=Neh
+NÉ=Neh
+NEH=Neh
+NÉH=Neh
+NEHE=Neh
+NÉHE=Neh
+NEHÉ=Neh
+NÉHÉ=Neh
+NEHEMIE=Neh
+NO=Num
+NOM=Num
+NOMB=Num
+O=Hos
+OS=Hos
+OSE=Hos
+OSÉ=Hos
+OSEE=Hos
+P=Ps
+PH=Phil
+PHI=Phil
+PHIL=Phil
+PHIL=Phlm
+PHILEMON=Phlm
+PHM=Phlm
+PR=Prov
+PRE=Eccl
+PRÉ=Eccl
+PRED=Eccl
+PRÉD=Eccl
+PREDICATEUR=Eccl
+PRO=Prov
+PROV=Prov
+PS=Ps
+PSA=Ps
+PSAU=Ps
+QO=Eccl
+R=Rom
+RE=Rev
+RÉ=Rev
+REV=Rev
+RÉV=Rev
+REVE=Rev
+RÉVE=Rev
+REVÉ=Rev
+RÉVÉ=Rev
+RM=Rom
+RO=Rom
+ROM=Rom
+RT=Ruth
+RU=Ruth
+RUT=Ruth
+S=Zeph
+SO=Zeph
+SOP=Zeph
+SOPH=Zeph
+T=Titus
+TI=Titus
+TIT=Titus
+TT=Titus
+U=Judg
+V=Lev
+Z=Zech
+ZA=Zech
+ZAC=Zech
+ZACH=Zech
+LÉ=Lev
+NO=Num
+1 R=1Kgs
+2 R=2Kgs
+NÉ=Neh
+ES=Isa
+JÉ=Jer
+JOË=Joel
+HÉ=Heb
+1 PI=1Pet
+2 PI=2Pet
diff --git a/locales.d/fr_abbrev-utf8.conf b/locales.d/fr_abbrev-utf8.conf
index e6bf39e..3189b72 100644
--- a/locales.d/fr_abbrev-utf8.conf
+++ b/locales.d/fr_abbrev-utf8.conf
@@ -79,255 +79,70 @@ Jude=Jud
Revelation of John=Ap
[Book Abbrevs]
-1 C=46
-1 CHRONICLES=13
-1 CORINTHIANS=46
-1 JN=62
-1 JOHN=62
-1 KGS=11
-1 KINGS=11
-1 PETER=60
-1 PTR=60
-1 SAMUEL=9
-1 THESSALONIANS=52
-1 TIMOTHY=54
-1C=46
-1CHRONICLES=13
-1CORINTHIANS=46
-1JN=62
-1JOHN=62
-1KGS=11
-1KINGS=11
-1PETER=60
-1PTR=60
-1SAMUEL=9
-1THESSALONIANS=52
-1TIMOTHY=54
-2 C=47
-2 CHRONICLES=14
-2 CORINTHIANS=47
-2 JN=63
-2 JOHN=63
-2 KGS=12
-2 KINGS=12
-2 PETER=61
-2 PTR=61
-2 SAMUEL=10
-2 THESSALONIANS=53
-2 TIMOTHY=55
-2C=47
-2CHRONICLES=14
-2CORINTHIANS=47
-2JN=63
-2JOHN=63
-2KGS=12
-2KINGS=12
-2PETER=61
-2PTR=61
-2SAMUEL=10
-2THESSALONIANS=53
-2TIMOTHY=55
-3 JN=64
-3 JOHN=64
-3JN=64
-3JOHN=64
-ACTS=44
-AMOS=30
-APOCALYPSE OF ST. JOHN=66
-C=51
-CANTICLE OF CANTICLES=22
-COC=22
-COLOSSIANS=51
-D=5
-DANIEL=27
-DEUTERONOMY=5
-E=49
-ECCLESIASTES=21
-EPHESIANS=49
-ESTER=17
-ESTHER=17
-EXODUS=2
-EZEKIEL=26
-EZRA=15
-G=1
-GALATIANS=48
-GENESIS=1
-H=58
-HABAKKUK=35
-HAGGAI=37
-HEBREWS=58
-HOSEA=28
-I C=46
-I CHRONICLES=13
-I CORINTHIANS=46
-I JN=62
-I JOHN=62
-I KGS=11
-I KINGS=11
-I PETER=60
-I PTR=60
-I SAMUEL=9
-I THESSALONIANS=52
-I TIMOTHY=54
-IC=46
-ICHRONICLES=13
-ICORINTHIANS=46
-II C=47
-II CHRONICLES=14
-II CORINTHIANS=47
-II JN=63
-II JOHN=63
-II KGS=12
-II KINGS=12
-II PETER=61
-II PTR=61
-II SAMUEL=10
-II THESSALONIANS=53
-II TIMOTHY=55
-IIC=47
-IICHRONICLES=14
-IICORINTHIANS=47
-III JN=64
-III JOHN=64
-IIIJN=64
-IIIJOHN=64
-IIJN=63
-IIJOHN=63
-IIKGS=12
-IIKINGS=12
-IIPETER=61
-IIPTR=61
-IISAMUEL=10
-IITHESSALONIANS=53
-IITIMOTHY=55
-IJN=62
-IJOHN=62
-IKGS=11
-IKINGS=11
-IPETER=60
-IPTR=60
-ISA=23
-ISAIAH=23
-ISAMUEL=9
-ITHESSALONIANS=52
-ITIMOTHY=54
-J=43
-JAMES=59
-JAS=59
-JEREMIAH=24
-JN=43
-JO=43
-JOB=18
-JOEL=29
-JOHN=43
-JONAH=32
-JOSHUA=6
-JUD=7
-JUDE=65
-JUDGES=7
-L=42
-LAMENTATIONS=25
-LEVITICUS=3
-LK=42
-LUKE=42
-MA=40
-MALACHI=39
-MARK=41
-MATTHEW=40
-MICAH=33
-MK=41
-MR=41
-MT=40
-N=4
-NAHUM=34
-NEHEMIAH=16
-NUMBERS=4
-OBADIAH=31
-P=19
-PH=50
-PHILEMON=57
-PHILIPPIANS=50
-PHLM=57
-PHM=57
-PHP=50
-PROVERBS=20
-PSALMS=19
-PSM=19
-PSS=19
-REVELATION OF JOHN=66
-ROMANS=45
-RUTH=8
-SONG OF SOLOMON=22
-SONG OF SONGS=22
-SOS=22
-TITUS=56
-ZECHARIAH=38
-ZEPHANIAH=36
-
-GN=1
-EX=2
-LV=3
-NB=4
-DT=5
-JOS=6
-JG=7
-RT=8
-1S=9
-2S=10
-1R=11
-2R=12
-1CH=13
-2CH=14
-ESD=15
-NE=16
-EST=17
-JB=18
-PS=19
-PR=20
-ECC=21
-CT=22
-ÉS=23
-JR=24
-LM=25
-EZ=26
-DN=27
-OS=28
-JL=29
-AM=30
-AB=31
-JON=32
-MI=33
-NA=34
-HA=35
-SO=36
-AG=37
-ZA=38
-ML=39
-MT=40
-MC=41
-LC=42
-JN=43
-AC=44
-RM=45
-1CO=46
-2CO=47
-GA=48
-ÉPH=49
-PH=50
-COL=51
-1TH=52
-2TH=53
-1TM=54
-2TM=55
-TT=56
-PHM=57
-HE=58
-JC=59
-1P=60
-2P=61
-1JN=62
-2JN=63
-3JN=64
-JD=65
-AP=66
+GN=Gen
+EX=Exod
+LV=Lev
+NB=Num
+DT=Deut
+JOS=Josh
+JG=Judg
+RT=Ruth
+1S=1Sam
+2S=2Sam
+1R=1Kgs
+2R=2Kgs
+1CH=1Chr
+2CH=2Chr
+ESD=Ezra
+NE=Neh
+EST=Esth
+JB=Job
+PS=Ps
+PR=Prov
+ECC=Eccl
+CT=Song
+ÉS=Isa
+JR=Jer
+LM=Lam
+EZ=Ezek
+DN=Dan
+OS=Hos
+JL=Joel
+AM=Amos
+AB=Obad
+JON=Jonah
+MI=Mic
+NA=Nah
+HA=Hab
+SO=Zeph
+AG=Hag
+ZA=Zech
+ML=Mal
+MT=Matt
+MC=Mark
+LC=Luke
+JN=John
+AC=Acts
+RM=Rom
+1CO=1Cor
+2CO=2Cor
+GA=Gal
+ÉPH=Eph
+PH=Phil
+COL=Col
+1TH=1Thess
+2TH=2Thess
+1TM=1Tim
+2TM=2Tim
+TT=Titus
+PHM=Phlm
+HE=Heb
+JC=Jas
+1P=1Pet
+2P=2Pet
+1JN=1John
+2JN=2John
+3JN=3John
+JD=Jude
+AP=Rev
diff --git a/locales.d/fr_abbrev.conf b/locales.d/fr_abbrev.conf
index 362dad0..5671e44 100644
--- a/locales.d/fr_abbrev.conf
+++ b/locales.d/fr_abbrev.conf
@@ -79,255 +79,84 @@ Jude=Jud
Revelation of John=Ap
[Book Abbrevs]
-1 C=46
-1 CHRONICLES=13
-1 CORINTHIANS=46
-1 JN=62
-1 JOHN=62
-1 KGS=11
-1 KINGS=11
-1 PETER=60
-1 PTR=60
-1 SAMUEL=9
-1 THESSALONIANS=52
-1 TIMOTHY=54
-1C=46
-1CHRONICLES=13
-1CORINTHIANS=46
-1JN=62
-1JOHN=62
-1KGS=11
-1KINGS=11
-1PETER=60
-1PTR=60
-1SAMUEL=9
-1THESSALONIANS=52
-1TIMOTHY=54
-2 C=47
-2 CHRONICLES=14
-2 CORINTHIANS=47
-2 JN=63
-2 JOHN=63
-2 KGS=12
-2 KINGS=12
-2 PETER=61
-2 PTR=61
-2 SAMUEL=10
-2 THESSALONIANS=53
-2 TIMOTHY=55
-2C=47
-2CHRONICLES=14
-2CORINTHIANS=47
-2JN=63
-2JOHN=63
-2KGS=12
-2KINGS=12
-2PETER=61
-2PTR=61
-2SAMUEL=10
-2THESSALONIANS=53
-2TIMOTHY=55
-3 JN=64
-3 JOHN=64
-3JN=64
-3JOHN=64
-ACTS=44
-AMOS=30
-APOCALYPSE OF ST. JOHN=66
-C=51
-CANTICLE OF CANTICLES=22
-COC=22
-COLOSSIANS=51
-D=5
-DANIEL=27
-DEUTERONOMY=5
-E=49
-ECCLESIASTES=21
-EPHESIANS=49
-ESTER=17
-ESTHER=17
-EXODUS=2
-EZEKIEL=26
-EZRA=15
-G=1
-GALATIANS=48
-GENESIS=1
-H=58
-HABAKKUK=35
-HAGGAI=37
-HEBREWS=58
-HOSEA=28
-I C=46
-I CHRONICLES=13
-I CORINTHIANS=46
-I JN=62
-I JOHN=62
-I KGS=11
-I KINGS=11
-I PETER=60
-I PTR=60
-I SAMUEL=9
-I THESSALONIANS=52
-I TIMOTHY=54
-IC=46
-ICHRONICLES=13
-ICORINTHIANS=46
-II C=47
-II CHRONICLES=14
-II CORINTHIANS=47
-II JN=63
-II JOHN=63
-II KGS=12
-II KINGS=12
-II PETER=61
-II PTR=61
-II SAMUEL=10
-II THESSALONIANS=53
-II TIMOTHY=55
-IIC=47
-IICHRONICLES=14
-IICORINTHIANS=47
-III JN=64
-III JOHN=64
-IIIJN=64
-IIIJOHN=64
-IIJN=63
-IIJOHN=63
-IIKGS=12
-IIKINGS=12
-IIPETER=61
-IIPTR=61
-IISAMUEL=10
-IITHESSALONIANS=53
-IITIMOTHY=55
-IJN=62
-IJOHN=62
-IKGS=11
-IKINGS=11
-IPETER=60
-IPTR=60
-ISA=23
-ISAIAH=23
-ISAMUEL=9
-ITHESSALONIANS=52
-ITIMOTHY=54
-J=43
-JAMES=59
-JAS=59
-JEREMIAH=24
-JN=43
-JO=43
-JOB=18
-JOEL=29
-JOHN=43
-JONAH=32
-JOSHUA=6
-JUD=7
-JUDE=65
-JUDGES=7
-L=42
-LAMENTATIONS=25
-LEVITICUS=3
-LK=42
-LUKE=42
-MA=40
-MALACHI=39
-MARK=41
-MATTHEW=40
-MICAH=33
-MK=41
-MR=41
-MT=40
-N=4
-NAHUM=34
-NEHEMIAH=16
-NUMBERS=4
-OBADIAH=31
-P=19
-PH=50
-PHILEMON=57
-PHILIPPIANS=50
-PHLM=57
-PHM=57
-PHP=50
-PROVERBS=20
-PSALMS=19
-PSM=19
-PSS=19
-REVELATION OF JOHN=66
-ROMANS=45
-RUTH=8
-SONG OF SOLOMON=22
-SONG OF SONGS=22
-SOS=22
-TITUS=56
-ZECHARIAH=38
-ZEPHANIAH=36
-GN=1
-EX=2
-LV=3
-NB=4
-DT=5
-JOS=6
-JG=7
-RT=8
-1S=9
-2S=10
-1R=11
-2R=12
-1CH=13
-2CH=14
-ESD=15
-NE=16
-EST=17
-JB=18
-PS=19
-PR=20
-ECC=21
-CT=22
-ÉS=23
-JR=24
-LM=25
-EZ=26
-DN=27
-OS=28
-JL=29
-AM=30
-AB=31
-JON=32
-MI=33
-NA=34
-HA=35
-SO=36
-AG=37
-ZA=38
-ML=39
-MT=40
-MC=41
-LC=42
-JN=43
-AC=44
-RM=45
-1CO=46
-2CO=47
-GA=48
-ÉPH=49
-PH=50
-COL=51
-1TH=52
-2TH=53
-1TM=54
-2TM=55
-TT=56
-PHM=57
-HE=58
-JC=59
-1P=60
-2P=61
-1JN=62
-2JN=63
-3JN=64
-JD=65
-AP=66
+GN=Gen
+EX=Exod
+LV=Lev
+NB=Num
+DT=Deut
+JOS=Josh
+JG=Judg
+RT=Ruth
+1S=1Sam
+2S=2Sam
+1R=1Kgs
+2R=2Kgs
+1CH=1Chr
+2CH=2Chr
+ESD=Ezra
+NE=Neh
+EST=Esth
+JB=Job
+PS=Ps
+PR=Prov
+ECC=Eccl
+ÉCCLÉSIASTE=Eccl
+CT=Song
+ÉS=Isa
+JR=Jer
+LM=Lam
+EZ=Ezek
+DN=Dan
+OS=Hos
+JL=Joel
+AM=Amos
+AB=Obad
+JON=Jonah
+MI=Mic
+NA=Nah
+HA=Hab
+SO=Zeph
+AG=Hag
+ZA=Zech
+ML=Mal
+MT=Matt
+MC=Mark
+LC=Luke
+JN=John
+AC=Acts
+RM=Rom
+1CO=1Cor
+2CO=2Cor
+GA=Gal
+ÉPH=Eph
+PH=Phil
+COL=Col
+1TH=1Thess
+2TH=2Thess
+1TM=1Tim
+2TM=2Tim
+TT=Titus
+PHM=Phlm
+HE=Heb
+JC=Jas
+1P=1Pet
+2P=2Pet
+1JN=1John
+2JN=2John
+3JN=3John
+JD=Jude
+AP=Rev
+
+LÉ=Lev
+NO=Num
+1 R=1Kgs
+2 R=2Kgs
+NÉ=Neh
+ES=Isa
+JÉ=Jer
+JOË=Joel
+HÉ=Heb
+1 PI=1Pet
+2 PI=2Pet
diff --git a/locales.d/ga-utf8.conf b/locales.d/ga-utf8.conf
new file mode 100644
index 0000000..fd2acfb
--- /dev/null
+++ b/locales.d/ga-utf8.conf
@@ -0,0 +1,347 @@
+# Enter a comment here like:
+# Gaeilge also known as Irish
+# Provided by John Duffy
+# 6 May 2009
+
+[Meta]
+Name=ga
+Description=Gaeilge
+Encoding=UTF-8
+
+
+[Text]
+
+Genesis=Geineasas
+Exodus=Eaxodus
+Leviticus=Léivític
+Numbers=Uimhreacha
+Deuteronomy=Deotranaimí
+Joshua=Leabhar Iósua
+Judges=Leabhar Na mBreithiúna
+Ruth=Leabhar Rút
+I Samuel=Céad Leabhar Shamúéil
+II Samuel=Dara Leabhar Shamúéil
+I Kings=Céad Leabhar na Ríthe
+II Kings=Dara Leabhar na Ríthe
+I Chronicles=Céad Leabhar na gCroinicí
+II Chronicles=Dara Leabhar na gCroinicí
+Ezra=Leabhar Eazrá
+Nehemiah=Leabhar Nihimiá
+Esther=Leabhar Eistir
+Job=Leabhar Iób
+Psalms=Leabhar na Salm
+Proverbs=Leabhar na Seanfhocal
+Ecclesiastes=Cóheilit
+Song of Solomon=Laoi na Laoithe
+Isaiah=Ãseáia
+Jeremiah=Irimia
+Lamentations=Leabhar na nOlagón
+Ezekiel=Eizicéil
+Daniel=Dainéil
+Hosea=Hóisé
+Joel=Ióéil
+Amos=Amós
+Obadiah=Obaidiá
+Jonah=Ióna
+Micah=Míocá
+Nahum=Nahúm
+Habakkuk=Habacúc
+Zephaniah=Zafainiá
+Haggai=Hagaí
+Zechariah=Zacairia
+Malachi=Malaicí
+
+
+Matthew=Matha
+Mark=Marcas
+Luke=Lúcás
+John=Eoin
+Acts=Gníomhartha na nAspal
+Romans=Rómhánaigh
+I Corinthians=1 Corantaigh
+II Corinthians=2 Corantaigh
+Galatians=Galataigh
+Ephesians=Eifisigh
+Philippians=Filipigh
+Colossians=Colosaigh
+I Thessalonians=1 Teasalónaigh
+II Thessalonians=2 Teasalónaigh
+I Timothy=1 Tiomóid
+II Timothy=2 Tiomóid
+Titus=Títeas
+Philemon=Filéamón
+Hebrews=Eabhraigh
+James=Séamas
+I Peter=1 Peadar
+II Peter=2 Peadar
+I John=1 Eoin
+II John=2 Eoin
+III John=3 Eoin
+Jude=Iúd
+Revelation of John=Apacailipsis
+
+
+#Apocr
+# In the Irish Bible, there are only 7 Apoc books, Tobit, Judith, Sirach, Wisdom, Baruch, 1Macc, 2Macc
+
+I Esdras=I Esdras
+II Esdras=II Esdras
+Tobit=Leabhar Thóibít
+Judith=Leabhar Iúidit
+Additions to Esther=Additions to Esther
+Esther (Greek)=Esther (Greek)
+Wisdom=Leabhar na hEagna
+Sirach=Leabhar Shíorach
+Baruch=Barúch
+Prayer of Azariah=Prayer of Azariah
+Susanna=Susanna
+Bel and the Dragon=Bel and the Dragon
+Prayer of Manasses=Prayer of Manasses
+I Maccabees=Céad Leabhar na Macabaech
+II Maccabees=Dara Leabhar na Macabaech
+III Maccabees=III Maccabees
+IV Maccabees=IV Maccabees
+Additional Psalm=Additional Psalm
+
+# These aren't yet included but probably will soon,
+# so if you'd like to get a headstart now, you may but don't
+# complain if the strings change before final release! :)
+
+Jubilees=Jubilees
+Sirach (Prologue)=Sirach (Prologue)
+I Enoch=I Enoch
+I Meqabyan=I Meqabyan
+II Meqabyan=II Meqabyan
+III Meqabyan=III Meqabyan
+II Baruch=II Baruch
+IV Baruch=IV Baruch
+Daniel (Greek)=Daniel (Greek)
+Additions to Daniel=Additions to Daniel
+Epistle of Jeremiah=Epistle of Jeremiah
+Laodiceans=Laodiceans
+Odes=Odes
+Psalms of Solomon=Psalms of Solomon
+
+
+[Book Abbrevs]
+
+1 CO=1Cor
+1 CORANTAIGH=1Cor
+1 CR=1Chr
+1 EO=1John
+1 EOIN=1John
+1 MA=1Macc
+1 PE=1Pet
+1 PEADAR=1Pet
+1 RI=1Kgs
+1 RÃ=1Kgs
+1 SA=1Sam
+1 TE=1Thess
+1 TEASALÓNAIGH=1Thess
+1 TI=1Tim
+1 TIOMÓID=1Tim
+1CO=1Cor
+1CR=1Chr
+1EO=1John
+1MA=1Macc
+1PE=1Pet
+1RI=1Kgs
+1RÃ=1Kgs
+1SA=1Sam
+1TE=1Thess
+1TI=1Tim
+2 CO=2Cor
+2 CORANTAIGH=2Cor
+2 CR=2Chr
+2 EO=2John
+2 EOIN=2John
+2 MA=2Macc
+2 PE=2Pet
+2 PEADAR=2Pet
+2 RI=2Kgs
+2 RÃ=2Kgs
+2 SA=2Sam
+2 TE=2Thess
+2 TEASALÓNAIGH=2Thess
+2 TI=2Tim
+2 TIOMÓID=2Tim
+2CO=2Cor
+2CR=2Chr
+2EO=2John
+2MA=2Macc
+2PE=2Pet
+2RI=2Kgs
+2RÃ=2Kgs
+2SA=2Sam
+2TE=2Thess
+2TI=2Tim
+3 EO=3John
+3 EOIN=3John
+3EO=3John
+AM=Amos
+AMOS=Amos
+AMÓS=Amos
+APA=Rev
+APACAILIPSIS=Rev
+BAR=Bar
+BARUCH=Bar
+BARÚCH=Bar
+BRE=Judg
+CÉAD LEABHAR NA GCROINICÃ=1Chr
+CÉAD LEABHAR NA MACABAECH=1Macc
+CÉAD LEABHAR NA RÃTHE=1Kgs
+CÉAD LEABHAR SHAMÚÉIL=1Sam
+CO=Eccl
+CÓ=Eccl
+CÓHEILIT=Eccl
+COL=Col
+COLOSAIGH=Col
+DA=Dan
+DAINÉIL=Dan
+DARA LEABHAR NA GCROINICÃ=2Chr
+DARA LEABHAR NA MACABAECH=2Macc
+DARA LEABHAR NA RÃTHE=2Kgs
+DARA LEABHAR SHAMÚÉIL=2Sam
+DE=Deut
+DEOTRANAIMÃ=Deut
+EAB=Heb
+EABHRAIGH=Heb
+EAG=Wis
+EAX=Exod
+EAXODUS=Exod
+EAZ=Ezra
+EIF=Eph
+EIFISIGH=Eph
+EIS=Esth
+EIZ=Ezek
+EIZICÉIL=Ezek
+EO=John
+EOIN=John
+FI=Phlm
+FIL=Phil
+FILÉAMÓN=Phlm
+FILIPIGH=Phil
+GA=Gal
+GALATAIGH=Gal
+GE=Gen
+GEINEASAS=Gen
+GNI=Acts
+GNÃ=Acts
+GNÃOMHARTHA NA NASPAL=Acts
+HAB=Hab
+HABACÚC=Hab
+HAG=Hag
+HAGAÃ=Hag
+HO=Hos
+HÓ=Hos
+HÓISÉ=Hos
+IOB=Job
+IÓB=Job
+IOE=Joel
+IÓÉ=Joel
+IÓÉIL=Joel
+ION=Jonah
+IÓN=Jonah
+IÓNA=Jonah
+IOS=Josh
+IÓS=Josh
+IR=Jer
+IRIMIA=Jer
+ISE=Isa
+ÃSE=Isa
+ÃSEÃIA=Isa
+IU=Jdt
+IÚ=Jdt
+IUD=Jude
+IÚD=Jude
+IÚD=Jude
+LAOI NA LAOITHE=Song
+LE=Lev
+LÉ=Lev
+LEABHAR EAZRÃ=Ezra
+LEABHAR EISTIR=Esth
+LEABHAR IÓB=Job
+LEABHAR IÓSUA=Josh
+LEABHAR IÚIDIT=Jdt
+LEABHAR NA HEAGNA=Wis
+LEABHAR NA MBREITHIÚNA=Judg
+LEABHAR NA NOLAGÓN=Lam
+LEABHAR NA SALM=Ps
+LEABHAR NA SEANFHOCAL=Prov
+LEABHAR NIHIMIÃ=Neh
+LEABHAR RÚT=Ruth
+LEABHAR SHÃORACH=Sir
+LEABHAR THÓIBÃT=Tob
+LÉIVÃTIC=Lev
+LNL=Song
+LU=Luke
+LÚ=Luke
+LÚCÃS=Luke
+MAL=Mal
+MALAICÃ=Mal
+MAR=Mark
+MARCAS=Mark
+MAT=Matt
+MATHA=Matt
+MI=Mic
+MÃ=Mic
+MÃOCÃ=Mic
+NA=Nah
+NAHÚM=Nah
+NIH=Neh
+OB=Obad
+OBAIDIÃ=Obad
+OL=Lam
+RO=Rom
+RÓ=Rom
+RÓMHÃNAIGH=Rom
+RUT=Ruth
+RÚT=Ruth
+SAL=Ps
+SE=Prov
+SEA=Jas
+SÉA=Jas
+SÉAMAS=Jas
+SI=Sir
+SÃ=Sir
+TI=Titus
+TÃ=Titus
+TÃTEAS=Titus
+TOI=Tob
+TÓI=Tob
+UI=Num
+UIMHREACHA=Num
+ZAC=Zech
+ZACAIRIA=Zech
+ZAF=Zeph
+ZAFAINIÃ=Zeph
+#
+# These are not in the Irish Bible, but are included here if required if the list must be complete
+#
+ADDITIONAL PSALM=AddPs
+ADDITIONS TO DANIEL=AddDan
+ADDITIONS TO ESTHER=AddEsth
+BEL AND THE DRAGON=Bel
+DANIEL (GREEK)=DanGr
+EPISTLE OF JEREMIAH=EpJer
+ESTHER (GREEK)=EsthGr
+I ENOCH=1En
+I ESDRAS=1Esd
+I MEQABYAN=1Meq
+II BARUCH=2Bar
+II ESDRAS=2Esd
+II MEQABYAN=2Meq
+III MACCABEES=3Macc
+III MEQABYAN=3Meq
+IV BARUCH=4Bar
+IV MACCABEES=4Macc
+JUBILEES=Jub
+LAODICEANS=EpLao
+ODES=Odes
+PRAYER OF AZARIAH=PrAzar
+PRAYER OF MANASSES=PrMan
+PSALMS OF SOLOMON=PssSol
+SIRACH (PROLOGUE)=SirP
+SUSANNA=Sus
+
+
diff --git a/locales.d/he-utf8.conf b/locales.d/he-utf8.conf
index 9eeebe3..1ff904c 100644
--- a/locales.d/he-utf8.conf
+++ b/locales.d/he-utf8.conf
@@ -80,343 +80,159 @@ Jude=יהודה
Revelation of John=התגלות
[Book Abbrevs]
-1 C=46
-1 CHRONICLES=13
-1 CORINTHIANS=46
-1 JN=62
-1 JOHN=62
-1 KGS=11
-1 KINGS=11
-1 PETER=60
-1 PTR=60
-1 SAMUEL=9
-1 THESSALONIANS=52
-1 TIMOTHY=54
-1C=46
-1CHRONICLES=13
-1CORINTHIANS=46
-1JN=62
-1JOHN=62
-1KGS=11
-1KINGS=11
-1PETER=60
-1PTR=60
-1SAMUEL=9
-1THESSALONIANS=52
-1TIMOTHY=54
-2 C=47
-2 CHRONICLES=14
-2 CORINTHIANS=47
-2 JN=63
-2 JOHN=63
-2 KGS=12
-2 KINGS=12
-2 PETER=61
-2 PTR=61
-2 SAMUEL=10
-2 THESSALONIANS=53
-2 TIMOTHY=55
-2C=47
-2CHRONICLES=14
-2CORINTHIANS=47
-2JN=63
-2JOHN=63
-2KGS=12
-2KINGS=12
-2PETER=61
-2PTR=61
-2SAMUEL=10
-2THESSALONIANS=53
-2TIMOTHY=55
-3 JN=64
-3 JOHN=64
-3JN=64
-3JOHN=64
-ACTS=44
-AMOS=30
-APOCALYPSE OF ST. JOHN=66
-C=51
-CANTICLE OF CANTICLES=22
-COC=22
-COLOSSIANS=51
-D=5
-DANIEL=27
-DEUTERONOMY=5
-E=49
-ECCLESIASTES=21
-EPHESIANS=49
-ESTER=17
-ESTHER=17
-EXODUS=2
-EZEKIEL=26
-EZRA=15
-G=1
-GALATIANS=48
-GENESIS=1
-H=58
-HABAKKUK=35
-HAGGAI=37
-HEBREWS=58
-HOSEA=28
-I C=46
-I CHRONICLES=13
-I CORINTHIANS=46
-I JN=62
-I JOHN=62
-I KGS=11
-I KINGS=11
-I PETER=60
-I PTR=60
-I SAMUEL=9
-I THESSALONIANS=52
-I TIMOTHY=54
-IC=46
-ICHRONICLES=13
-ICORINTHIANS=46
-II C=47
-II CHRONICLES=14
-II CORINTHIANS=47
-II JN=63
-II JOHN=63
-II KGS=12
-II KINGS=12
-II PETER=61
-II PTR=61
-II SAMUEL=10
-II THESSALONIANS=53
-II TIMOTHY=55
-IIC=47
-IICHRONICLES=14
-IICORINTHIANS=47
-III JN=64
-III JOHN=64
-IIIJN=64
-IIIJOHN=64
-IIJN=63
-IIJOHN=63
-IIKGS=12
-IIKINGS=12
-IIPETER=61
-IIPTR=61
-IISAMUEL=10
-IITHESSALONIANS=53
-IITIMOTHY=55
-IJN=62
-IJOHN=62
-IKGS=11
-IKINGS=11
-IPETER=60
-IPTR=60
-ISA=23
-ISAIAH=23
-ISAMUEL=9
-ITHESSALONIANS=52
-ITIMOTHY=54
-J=43
-JAMES=59
-JAS=59
-JEREMIAH=24
-JN=43
-JO=43
-JOB=18
-JOEL=29
-JOHN=43
-JONAH=32
-JOSHUA=6
-JUD=7
-JUDE=65
-JUDGES=7
-L=42
-LAMENTATIONS=25
-LEVITICUS=3
-LK=42
-LUKE=42
-MA=40
-MALACHI=39
-MARK=41
-MATTHEW=40
-MICAH=33
-MK=41
-MR=41
-MT=40
-N=4
-NAHUM=34
-NEHEMIAH=16
-NUMBERS=4
-OBADIAH=31
-P=19
-PH=50
-PHILEMON=57
-PHILIPPIANS=50
-PHLM=57
-PHM=57
-PHP=50
-PROVERBS=20
-PSALMS=19
-PSM=19
-PSS=19
-REVELATION OF JOHN=66
-ROMANS=45
-RUTH=8
-SONG OF SOLOMON=22
-SONG OF SONGS=22
-SOS=22
-TITUS=56
-ZECHARIAH=38
-ZEPHANIAH=36
-
-בר×שית=1
-שמות=2
-ויקר×=3
-במדבר=4
-דברי×=5
-יהושוע=6
-שופטי×=7
-רות=8
-שמו×ל ×'=9
-שמו×ל×=9
-שמו×ל ×=9
-שמו×ל ב'=10
-שמו×לב=10
-שמו×ל ב=10
-מל××›×™× ×'=11
-מל××›×™××=11
-מל××›×™× ×=11
-מל××›×™× ×‘'=12
-מל××›×™× ×‘=12
-מל××›×™×ב=12
-דברי ×”×™×ž×™× ×'=13
-דבריהימי××=13
-דברי ×”×™×ž×™× ×=13
-דברי ×”×™×ž×™× ×‘'=14
-דבריהימי×ב=14
-דברי ×”×™×ž×™× ×‘=14
-עזר×=15
-נחמיה=16
-×סתר=17
-×יוב=18
-תהילי×=19
-משלי=20-
-קוהלת=21
-שיר השירי×=22
-××™×›×”=25
-דניי×ל=27
-ישיעיהו=23
-ירמיהו=24
-יחזק×ל=26
-הושע=28
-יו×ל=29
-עמוס=30
-עובדיה=31
-יונה=32
-מיכה=33
-נחו×=34
-חבקוק=35
-צפניה=36
-×—×’×™×™=37
-זכריה=38
-מל××›×™=39
-
-מתי=40
-הבשורה על־פי מתי=40
-
-מרקו×=41
-הבשורה על־פי מרקו×=41
-
-לוק×=42
-הבשורה על־פי לוק×=42
-
-יוחנן=43
-הבשורה על־פי יוחנן=43
-
-מעשי השליחי×=44
-
-×ל־הרומיי×=45
-×גרת ×ל־הרומיי×=45
-×גרת ×¤×•×œ×•× ×ל־הרומיי×=45
-×גרת ×¤×•×œ×•× ×”×©×œ×™×— ×ל־הרומיי×=45
-
-הר×שונה ×ל־הקורינתי×=46
-×גרת הר×שונה ×ל־הקורינתי×=46
-×גרת ×¤×•×œ×•× ×”×¨×שונה ×ל־הקורינתי×=46
-
-השנייה ×ל־הקורינתי×=47
-×גרת השנייה ×ל־הקורינתי×=47
-×גרת ×¤×•×œ×•× ×”×©× ×™×™×” ×ל־הקורינתי×=47
-
-×ל־הגלטי×=48
-×גרת ×ל־הגלטי×=48
-×גרת ×¤×•×œ×•× ×ל־הגלטי×=48
-×גרת ×¤×•×œ×•× ×”×©×œ×™×— ×ל־הגלטי×=48
-
-×ל־ה×פסיי×=49
-×גרת ×ל־ה×פסיי×=49
-×גרת ×¤×•×œ×•× ×ל־ה×פסיי×=49
-×גרת ×¤×•×œ×•× ×”×©×œ×™×— ×ל־ה×פסיי×=49
-
-×ל־הפיליפיי×=50
-×גרת ×ל־הפיליפיי×=50
-×גרת ×¤×•×œ×•× ×ל־הפיליפיי×=50
-×גרת ×¤×•×œ×•× ×”×©×œ×™×— ×ל־הפיליפיי×=50
-
-×ל־הקולומי×=51
-×גרת ×ל־הקולומי×=51
-×גרת ×¤×•×œ×•× ×ל־הקולומי×=51
-×גר פולומ השליח ×ל־הקולומי×=51
-
-הר×שונה ×ל־התסלוניקי×=52
-×גרת הר×שונה ×ל־התסלוניקי×=52
-×גרת ×¤×•×œ×•× ×”×¨×שונה ×ל־התסלוניקי×=52
-
-השנייה ×ל־התסלוניקי×=53
-×גרת השנייה ×ל־התסלוניקי×=53
-×גרת ×¤×•×œ×•× ×”×©× ×™×™×” ×ל־התסלוניקי×=53
-
-הר×שונה ×ל־טימותיו×=54
-×גרת הר×שונה ×ל־טימותיו×=54
-×גרת ×¤×•×œ×•× ×”×¨×שונה ×ל־טימותיו×=54
-
-השנייה ×ל־טימותיו×=55
-×גרת השנייה ×ל־טימותיו×=55
-×גרת ×¤×•×œ×•× ×”×©× ×™×™×” ×ל־טימותיו×=55
-
-×ל־טיטו×=56
-×גרת ×ל־טיטו×=56
-×גרת ×¤×•×œ×•× ×ל־טיטו×=56
-
-×ל־פילימון=57
-×גרת ×ל־פילימון=57
-×גרת ×¤×•×œ×•× ×ל־פילימון=57
-
-×ל־העברי×=58
-×גרת ×ל־העברי×=58
-×”×גרת ×ל־העברי×=58
-
-יעקב=59
-×גרת יעקב=59
-
-×¤×˜×¨×•× ×”×¨×שונה=60
-×גרת ×¤×˜×¨×•× ×”×¨×שונה=60
-×גרת הרשונה של ×¤×˜×¨×•× ×”×©×œ×™×—=60
-
-×¤×˜×¨×•× ×”×©× ×™×™×”=61
-×גרת ×¤×˜×¨×•× ×”×©× ×™×™×”=61
-×גרת השנייה של ×¤×˜×¨×•× ×”×©×œ×™×—=61
-
-יוחנן הר×שונה=62
-×גרת יוחנן הר×שונה=62
-×גרת הרשונה של יוחנן השליח=62
-
-יוחנן השנייה=63
-×גרת יוחנן השנייה=63
-×גרת השנייה של יוחנן השליח=63
-יוחנן השלישית=64
-×גרת יוחנן השלישית=64
-×גרת השלישית יוחנן השליח=64
+בר×שית=Gen
+שמות=Exod
+ויקר×=Lev
+במדבר=Num
+דברי×=Deut
+יהושוע=Josh
+שופטי×=Judg
+רות=Ruth
+שמו×ל ×'=1Sam
+שמו×ל×=1Sam
+שמו×ל ×=1Sam
+שמו×ל ב'=2Sam
+שמו×לב=2Sam
+שמו×ל ב=2Sam
+מל××›×™× ×'=1Kgs
+מל××›×™××=1Kgs
+מל××›×™× ×=1Kgs
+מל××›×™× ×‘'=2Kgs
+מל××›×™× ×‘=2Kgs
+מל××›×™×ב=2Kgs
+דברי ×”×™×ž×™× ×'=1Chr
+דבריהימי××=1Chr
+דברי ×”×™×ž×™× ×=1Chr
+דברי ×”×™×ž×™× ×‘'=2Chr
+דבריהימי×ב=2Chr
+דברי ×”×™×ž×™× ×‘=2Chr
+עזר×=Ezra
+נחמיה=Neh
+×סתר=Esth
+×יוב=Job
+תהילי×=Ps
+משלי=Prov
+קוהלת=Eccl
+שיר השירי×=Song
+××™×›×”=Lam
+דניי×ל=Dan
+ישיעיהו=Isa
+ירמיהו=Jer
+יחזק×ל=Ezek
+הושע=Hos
+יו×ל=Joel
+עמוס=Amos
+עובדיה=Obad
+יונה=Jonah
+מיכה=Mic
+נחו×=Nah
+חבקוק=Hab
+צפניה=Zeph
+×—×’×™×™=Hag
+זכריה=Zech
+מל××›×™=Mal
+
+מתי=Matt
+הבשורה על־פי מתי=Matt
+
+מרקו×=Mark
+הבשורה על־פי מרקו×=Mark
+
+לוק×=Luke
+הבשורה על־פי לוק×=Luke
+
+יוחנן=John
+הבשורה על־פי יוחנן=John
+
+מעשי השליחי×=Acts
+
+×ל־הרומיי×=Rom
+×גרת ×ל־הרומיי×=Rom
+×גרת ×¤×•×œ×•× ×ל־הרומיי×=Rom
+×גרת ×¤×•×œ×•× ×”×©×œ×™×— ×ל־הרומיי×=Rom
+
+הר×שונה ×ל־הקורינתי×=1Cor
+×גרת הר×שונה ×ל־הקורינתי×=1Cor
+×גרת ×¤×•×œ×•× ×”×¨×שונה ×ל־הקורינתי×=1Cor
+
+השנייה ×ל־הקורינתי×=2Cor
+×גרת השנייה ×ל־הקורינתי×=2Cor
+×גרת ×¤×•×œ×•× ×”×©× ×™×™×” ×ל־הקורינתי×=2Cor
+
+×ל־הגלטי×=Gal
+×גרת ×ל־הגלטי×=Gal
+×גרת ×¤×•×œ×•× ×ל־הגלטי×=Gal
+×גרת ×¤×•×œ×•× ×”×©×œ×™×— ×ל־הגלטי×=Gal
+
+×ל־ה×פסיי×=Eph
+×גרת ×ל־ה×פסיי×=Eph
+×גרת ×¤×•×œ×•× ×ל־ה×פסיי×=Eph
+×גרת ×¤×•×œ×•× ×”×©×œ×™×— ×ל־ה×פסיי×=Eph
+
+×ל־הפיליפיי×=Phil
+×גרת ×ל־הפיליפיי×=Phil
+×גרת ×¤×•×œ×•× ×ל־הפיליפיי×=Phil
+×גרת ×¤×•×œ×•× ×”×©×œ×™×— ×ל־הפיליפיי×=Phil
+
+×ל־הקולומי×=Col
+×גרת ×ל־הקולומי×=Col
+×גרת ×¤×•×œ×•× ×ל־הקולומי×=Col
+×גר פולומ השליח ×ל־הקולומי×=Col
+
+הר×שונה ×ל־התסלוניקי×=1Thess
+×גרת הר×שונה ×ל־התסלוניקי×=1Thess
+×גרת ×¤×•×œ×•× ×”×¨×שונה ×ל־התסלוניקי×=1Thess
+
+השנייה ×ל־התסלוניקי×=2Thess
+×גרת השנייה ×ל־התסלוניקי×=2Thess
+×גרת ×¤×•×œ×•× ×”×©× ×™×™×” ×ל־התסלוניקי×=2Thess
+
+הר×שונה ×ל־טימותיו×=1Tim
+×גרת הר×שונה ×ל־טימותיו×=1Tim
+×גרת ×¤×•×œ×•× ×”×¨×שונה ×ל־טימותיו×=1Tim
+
+השנייה ×ל־טימותיו×=2Tim
+×גרת השנייה ×ל־טימותיו×=2Tim
+×גרת ×¤×•×œ×•× ×”×©× ×™×™×” ×ל־טימותיו×=2Tim
+
+×ל־טיטו×=Titus
+×גרת ×ל־טיטו×=Titus
+×גרת ×¤×•×œ×•× ×ל־טיטו×=Titus
+
+×ל־פילימון=Phlm
+×גרת ×ל־פילימון=Phlm
+×גרת ×¤×•×œ×•× ×ל־פילימון=Phlm
+
+×ל־העברי×=Heb
+×גרת ×ל־העברי×=Heb
+×”×גרת ×ל־העברי×=Heb
+
+יעקב=Jas
+×גרת יעקב=Jas
+
+×¤×˜×¨×•× ×”×¨×שונה=1Pet
+×גרת ×¤×˜×¨×•× ×”×¨×שונה=1Pet
+×גרת הרשונה של ×¤×˜×¨×•× ×”×©×œ×™×—=1Pet
+
+×¤×˜×¨×•× ×”×©× ×™×™×”=2Pet
+×גרת ×¤×˜×¨×•× ×”×©× ×™×™×”=2Pet
+×גרת השנייה של ×¤×˜×¨×•× ×”×©×œ×™×—=2Pet
+
+יוחנן הר×שונה=1John
+×גרת יוחנן הר×שונה=1John
+×גרת הרשונה של יוחנן השליח=1John
+
+יוחנן השנייה=2John
+×גרת יוחנן השנייה=2John
+×גרת השנייה של יוחנן השליח=2John
-יהודה=65
-×גרת יהודה=65
+יוחנן השלישית=3John
+×גרת יוחנן השלישית=3John
+×גרת השלישית יוחנן השליח=3John
-התגלות=66
-התגלות יוחנן=66
+יהודה=Jude
+×גרת יהודה=Jude
+
+התגלות=Rev
+התגלות יוחנן=Rev
diff --git a/locales.d/hu-utf8.conf b/locales.d/hu-utf8.conf
index 4a12c4c..de757d8 100644
--- a/locales.d/hu-utf8.conf
+++ b/locales.d/hu-utf8.conf
@@ -72,324 +72,140 @@ Jude=Júdás
Revelation of John=Jelenések
[Book Abbrevs]
-1 C=46
-1 CHRONICLES=13
-1 CORINTHIANS=46
-1 JN=62
-1 JOHN=62
-1 KGS=11
-1 KINGS=11
-1 PETER=60
-1 PTR=60
-1 SAMUEL=9
-1 THESSALONIANS=52
-1 TIMOTHY=54
-1C=46
-1CHRONICLES=13
-1CORINTHIANS=46
-1JN=62
-1JOHN=62
-1KGS=11
-1KINGS=11
-1PETER=60
-1PTR=60
-1SAMUEL=9
-1THESSALONIANS=52
-1TIMOTHY=54
-2 C=47
-2 CHRONICLES=14
-2 CORINTHIANS=47
-2 JN=63
-2 JOHN=63
-2 KGS=12
-2 KINGS=12
-2 PETER=61
-2 PTR=61
-2 SAMUEL=10
-2 THESSALONIANS=53
-2 TIMOTHY=55
-2C=47
-2CHRONICLES=14
-2CORINTHIANS=47
-2JN=63
-2JOHN=63
-2KGS=12
-2KINGS=12
-2PETER=61
-2PTR=61
-2SAMUEL=10
-2THESSALONIANS=53
-2TIMOTHY=55
-3 JN=64
-3 JOHN=64
-3JN=64
-3JOHN=64
-ACTS=44
-AMOS=30
-APOCALYPSE OF ST. JOHN=66
-C=51
-CANTICLE OF CANTICLES=22
-COC=22
-COLOSSIANS=51
-D=5
-DANIEL=27
-DEUTERONOMY=5
-E=49
-ECCLESIASTES=21
-EPHESIANS=49
-ESTER=17
-ESTHER=17
-EXODUS=2
-EZEKIEL=26
-EZRA=15
-G=1
-GALATIANS=48
-GENESIS=1
-H=58
-HABAKKUK=35
-HAGGAI=37
-HEBREWS=58
-HOSEA=28
-I C=46
-I CHRONICLES=13
-I CORINTHIANS=46
-I JN=62
-I JOHN=62
-I KGS=11
-I KINGS=11
-I PETER=60
-I PTR=60
-I SAMUEL=9
-I THESSALONIANS=52
-I TIMOTHY=54
-IC=46
-ICHRONICLES=13
-ICORINTHIANS=46
-II C=47
-II CHRONICLES=14
-II CORINTHIANS=47
-II JN=63
-II JOHN=63
-II KGS=12
-II KINGS=12
-II PETER=61
-II PTR=61
-II SAMUEL=10
-II THESSALONIANS=53
-II TIMOTHY=55
-IIC=47
-IICHRONICLES=14
-IICORINTHIANS=47
-III JN=64
-III JOHN=64
-IIIJN=64
-IIIJOHN=64
-IIJN=63
-IIJOHN=63
-IIKGS=12
-IIKINGS=12
-IIPETER=61
-IIPTR=61
-IISAMUEL=10
-IITHESSALONIANS=53
-IITIMOTHY=55
-IJN=62
-IJOHN=62
-IKGS=11
-IKINGS=11
-IPETER=60
-IPTR=60
-ISA=23
-ISAIAH=23
-ISAMUEL=9
-ITHESSALONIANS=52
-ITIMOTHY=54
-J=43
-JAMES=59
-JAS=59
-JEREMIAH=24
-JN=43
-JO=43
-JOB=18
-JOEL=29
-JOHN=43
-JONAH=32
-JOSHUA=6
-JUD=7
-JUDE=65
-JUDGES=7
-L=42
-LAMENTATIONS=25
-LEVITICUS=3
-LK=42
-LUKE=42
-MA=40
-MALACHI=39
-MARK=41
-MATTHEW=40
-MICAH=33
-MK=41
-MR=41
-MT=40
-N=4
-NAHUM=34
-NEHEMIAH=16
-NUMBERS=4
-OBADIAH=31
-P=19
-PH=50
-PHILEMON=57
-PHILIPPIANS=50
-PHLM=57
-PHM=57
-PHP=50
-PROVERBS=20
-PSALMS=19
-PSM=19
-PSS=19
-REVELATION OF JOHN=66
-ROMANS=45
-RUTH=8
-SONG OF SOLOMON=22
-SONG OF SONGS=22
-SOS=22
-TITUS=56
-ZECHARIAH=38
-ZEPHANIAH=36
-1. MÓZES=1
-1 MÓZES=1
-1MÓZES=1
-
-2. MÓZES=2
-2 MÓZES=2
-2MÓZES=2
-
-3. MÓZES=3
-3 MÓZES=3
-3MÓZES=3
-
-4. MÓZES=4
-4 MÓZES=4
-4MÓZES=4
-
-5. MÓZES=5
-5 MÓZES=5
-5MÓZES=5
-
-JÓZSUÉ=6
-BÃRÃK=7
-RUTH=8
-
-1. SÃMUEL=9
-1 SÃMUEL=9
-1SÃMUEL=9
-
-2. SÃMUEL=10
-2 SÃMUEL=10
-2SÃMUEL=10
-
-1. KIRÃLYOK=11
-1 KIRÃLYOK=11
-1KIRÃLYOK=11
-
-2. KIRÃLYOK=12
-2 KIRÃLYOK=12
-2KIRÃLYOK=12
-
-1. KRÓNIKA=13
-1 KRÓNIKA=13
-1KRÓNIKA=13
-
-2. KRÓNIKA=14
-2 KRÓNIKA=14
-2KRÓNIKA=14
-
-EZSDRÃS=15
-NEHÉMIÃS=16
-ESZTER=17
-JÓB=18
-ZSOLTÃROK=19
-PÉLDABESZÉDEK=20
-PRÉDIKÃTOR=21
-ÉNEKEK ÉNEKE=22
-ÉZSAIÃS=23
-JEREMIÃS=24
-JEREMIÃS SIRALMAI=25
-EZÉKIEL=26
-DÃNIEL=27
-HÓSEÃS=28
-JÓEL=29
-ÃMÓS=30
-ABDIÃS=31
-JÓNÃS=32
-MIKEÃS=33
-NÃHUM=34
-HABAKUK=35
-SOFÓNIÃS=36
-AGGEUS=37
-ZAKARIÃS=38
-MALAKIÃS=39
-MÃTÉ=40
-MÃRK=41
-LUKÃCS=42
-JÃNOS=43
-APOSTOLOK CSELEKEDETEI=44
-RÓMA=45
-
-1. KORINTUS=46
-1 KORINTUS=46
-1KORINTUS=46
-
-2. KORINTUS=47
-2 KORINTUS=47
-2KORINTUS=47
-
-GALATA=48
-EFÉZUS=49
-FILIPPI=50
-KOLOSSÉ=51
-
-1. THESSALONIKA=52
-1 THESSALONIKA=52
-1THESSALONIKA=52
-
-2. THESSALONIKA=53
-2 THESSALONIKA=53
-2THESSALONIKA=53
-
-1. TIMÓTEUS=54
-1 TIMÓTEUS=54
-1TIMÓTEUS=54
-
-2. TIMÓTEUS=55
-2 TIMÓTEUS=55
-2TIMÓTEUS=55
-
-TITUSZ=56
-FILEMON=57
-ZSIDÓKHOZ ÃRT LEVÉL=58
-JAKAB=59
-
-1. PÉTER=60
-1 PÉTER=60
-1PÉTER=60
-
-2. PÉTER=61
-2 PÉTER=61
-2PÉTER=61
-
-1. JÃNOS=62
-1 JÃNOS=62
-1JÃNOS=62
-
-2. JÃNOS=63
-2 JÃNOS=63
-2JÃNOS=63
-
-3. JÃNOS=64
-3 JÃNOS=64
-3JÃNOS=64
-
-JÚDÃS=65
-JELENÉSEK=66
+1. MÓZES=Gen
+1 MÓZES=Gen
+1MÓZES=Gen
+
+2. MÓZES=Exod
+2 MÓZES=Exod
+2MÓZES=Exod
+
+3. MÓZES=Lev
+3 MÓZES=Lev
+3MÓZES=Lev
+
+4. MÓZES=Num
+4 MÓZES=Num
+4MÓZES=Num
+
+5. MÓZES=Deut
+5 MÓZES=Deut
+5MÓZES=Deut
+
+JÓZSUÉ=Josh
+BÃRÃK=Judg
+RUTH=Ruth
+
+1. SÃMUEL=1Sam
+1 SÃMUEL=1Sam
+1SÃMUEL=1Sam
+
+2. SÃMUEL=2Sam
+2 SÃMUEL=2Sam
+2SÃMUEL=2Sam
+
+1. KIRÃLYOK=1Kgs
+1 KIRÃLYOK=1Kgs
+1KIRÃLYOK=1Kgs
+
+2. KIRÃLYOK=2Kgs
+2 KIRÃLYOK=2Kgs
+2KIRÃLYOK=2Kgs
+
+1. KRÓNIKA=1Chr
+1 KRÓNIKA=1Chr
+1KRÓNIKA=1Chr
+
+2. KRÓNIKA=2Chr
+2 KRÓNIKA=2Chr
+2KRÓNIKA=2Chr
+
+EZSDRÃS=Ezra
+NEHÉMIÃS=Neh
+ESZTER=Esth
+JÓB=Job
+ZSOLTÃROK=Ps
+PÉLDABESZÉDEK=Prov
+PRÉDIKÃTOR=Eccl
+ÉNEKEK ÉNEKE=Song
+ÉZSAIÃS=Isa
+JEREMIÃS=Jer
+JEREMIÃS SIRALMAI=Lam
+EZÉKIEL=Ezek
+DÃNIEL=Dan
+HÓSEÃS=Hos
+JÓEL=Joel
+ÃMÓS=Amos
+ABDIÃS=Obad
+JÓNÃS=Jonah
+MIKEÃS=Mic
+NÃHUM=Nah
+HABAKUK=Hab
+SOFÓNIÃS=Zeph
+AGGEUS=Hag
+ZAKARIÃS=Zech
+MALAKIÃS=Mal
+MÃTÉ=Matt
+MÃRK=Mark
+LUKÃCS=Luke
+JÃNOS=John
+APOSTOLOK CSELEKEDETEI=Acts
+RÓMA=Rom
+
+1. KORINTUS=1Cor
+1 KORINTUS=1Cor
+1KORINTUS=1Cor
+
+2. KORINTUS=2Cor
+2 KORINTUS=2Cor
+2KORINTUS=2Cor
+
+GALATA=Gal
+EFÉZUS=Eph
+FILIPPI=Phil
+KOLOSSÉ=Col
+
+1. THESSALONIKA=1Thess
+1 THESSALONIKA=1Thess
+1THESSALONIKA=1Thess
+
+2. THESSALONIKA=2Thess
+2 THESSALONIKA=2Thess
+2THESSALONIKA=2Thess
+
+1. TIMÓTEUS=1Tim
+1 TIMÓTEUS=1Tim
+1TIMÓTEUS=1Tim
+
+2. TIMÓTEUS=2Tim
+2 TIMÓTEUS=2Tim
+2TIMÓTEUS=2Tim
+
+TITUSZ=Titus
+FILEMON=Phlm
+ZSIDÓKHOZ ÃRT LEVÉL=Heb
+JAKAB=Jas
+
+1. PÉTER=1Pet
+1 PÉTER=1Pet
+1PÉTER=1Pet
+
+2. PÉTER=2Pet
+2 PÉTER=2Pet
+2PÉTER=2Pet
+
+1. JÃNOS=1John
+1 JÃNOS=1John
+1JÃNOS=1John
+
+2. JÃNOS=2John
+2 JÃNOS=2John
+2JÃNOS=2John
+
+3. JÃNOS=3John
+3 JÃNOS=3John
+3JÃNOS=3John
+
+JÚDÃS=Jude
+JELENÉSEK=Rev
diff --git a/locales.d/hu.conf b/locales.d/hu.conf
index ffb78ba..e0dc834 100644
--- a/locales.d/hu.conf
+++ b/locales.d/hu.conf
@@ -72,324 +72,140 @@ Jude=Júdás
Revelation of John=Jelenések
[Book Abbrevs]
-1 C=46
-1 CHRONICLES=13
-1 CORINTHIANS=46
-1 JN=62
-1 JOHN=62
-1 KGS=11
-1 KINGS=11
-1 PETER=60
-1 PTR=60
-1 SAMUEL=9
-1 THESSALONIANS=52
-1 TIMOTHY=54
-1C=46
-1CHRONICLES=13
-1CORINTHIANS=46
-1JN=62
-1JOHN=62
-1KGS=11
-1KINGS=11
-1PETER=60
-1PTR=60
-1SAMUEL=9
-1THESSALONIANS=52
-1TIMOTHY=54
-2 C=47
-2 CHRONICLES=14
-2 CORINTHIANS=47
-2 JN=63
-2 JOHN=63
-2 KGS=12
-2 KINGS=12
-2 PETER=61
-2 PTR=61
-2 SAMUEL=10
-2 THESSALONIANS=53
-2 TIMOTHY=55
-2C=47
-2CHRONICLES=14
-2CORINTHIANS=47
-2JN=63
-2JOHN=63
-2KGS=12
-2KINGS=12
-2PETER=61
-2PTR=61
-2SAMUEL=10
-2THESSALONIANS=53
-2TIMOTHY=55
-3 JN=64
-3 JOHN=64
-3JN=64
-3JOHN=64
-ACTS=44
-AMOS=30
-APOCALYPSE OF ST. JOHN=66
-C=51
-CANTICLE OF CANTICLES=22
-COC=22
-COLOSSIANS=51
-D=5
-DANIEL=27
-DEUTERONOMY=5
-E=49
-ECCLESIASTES=21
-EPHESIANS=49
-ESTER=17
-ESTHER=17
-EXODUS=2
-EZEKIEL=26
-EZRA=15
-G=1
-GALATIANS=48
-GENESIS=1
-H=58
-HABAKKUK=35
-HAGGAI=37
-HEBREWS=58
-HOSEA=28
-I C=46
-I CHRONICLES=13
-I CORINTHIANS=46
-I JN=62
-I JOHN=62
-I KGS=11
-I KINGS=11
-I PETER=60
-I PTR=60
-I SAMUEL=9
-I THESSALONIANS=52
-I TIMOTHY=54
-IC=46
-ICHRONICLES=13
-ICORINTHIANS=46
-II C=47
-II CHRONICLES=14
-II CORINTHIANS=47
-II JN=63
-II JOHN=63
-II KGS=12
-II KINGS=12
-II PETER=61
-II PTR=61
-II SAMUEL=10
-II THESSALONIANS=53
-II TIMOTHY=55
-IIC=47
-IICHRONICLES=14
-IICORINTHIANS=47
-III JN=64
-III JOHN=64
-IIIJN=64
-IIIJOHN=64
-IIJN=63
-IIJOHN=63
-IIKGS=12
-IIKINGS=12
-IIPETER=61
-IIPTR=61
-IISAMUEL=10
-IITHESSALONIANS=53
-IITIMOTHY=55
-IJN=62
-IJOHN=62
-IKGS=11
-IKINGS=11
-IPETER=60
-IPTR=60
-ISA=23
-ISAIAH=23
-ISAMUEL=9
-ITHESSALONIANS=52
-ITIMOTHY=54
-J=43
-JAMES=59
-JAS=59
-JEREMIAH=24
-JN=43
-JO=43
-JOB=18
-JOEL=29
-JOHN=43
-JONAH=32
-JOSHUA=6
-JUD=7
-JUDE=65
-JUDGES=7
-L=42
-LAMENTATIONS=25
-LEVITICUS=3
-LK=42
-LUKE=42
-MA=40
-MALACHI=39
-MARK=41
-MATTHEW=40
-MICAH=33
-MK=41
-MR=41
-MT=40
-N=4
-NAHUM=34
-NEHEMIAH=16
-NUMBERS=4
-OBADIAH=31
-P=19
-PH=50
-PHILEMON=57
-PHILIPPIANS=50
-PHLM=57
-PHM=57
-PHP=50
-PROVERBS=20
-PSALMS=19
-PSM=19
-PSS=19
-REVELATION OF JOHN=66
-ROMANS=45
-RUTH=8
-SONG OF SOLOMON=22
-SONG OF SONGS=22
-SOS=22
-TITUS=56
-ZECHARIAH=38
-ZEPHANIAH=36
-1. MÓZES=1
-1 MÓZES=1
-1MÓZES=1
-
-2. MÓZES=2
-2 MÓZES=2
-2MÓZES=2
-
-3. MÓZES=3
-3 MÓZES=3
-3MÓZES=3
-
-4. MÓZES=4
-4 MÓZES=4
-4MÓZES=4
-
-5. MÓZES=5
-5 MÓZES=5
-5MÓZES=5
-
-JÓZSUÉ=6
-BÍRÁK=7
-RUTH=8
-
-1. SÁMUEL=9
-1 SÁMUEL=9
-1SÁMUEL=9
-
-2. SÁMUEL=10
-2 SÁMUEL=10
-2SÁMUEL=10
-
-1. KIRÁLYOK=11
-1 KIRÁLYOK=11
-1KIRÁLYOK=11
-
-2. KIRÁLYOK=12
-2 KIRÁLYOK=12
-2KIRÁLYOK=12
-
-1. KRÓNIKA=13
-1 KRÓNIKA=13
-1KRÓNIKA=13
-
-2. KRÓNIKA=14
-2 KRÓNIKA=14
-2KRÓNIKA=14
-
-EZSDRÁS=15
-NEHÉMIÁS=16
-ESZTER=17
-JÓB=18
-ZSOLTÁROK=19
-PÉLDABESZÉDEK=20
-PRÉDIKÁTOR=21
-ÉNEKEK ÉNEKE=22
-ÉZSAIÁS=23
-JEREMIÁS=24
-JEREMIÁS SIRALMAI=25
-EZÉKIEL=26
-DÁNIEL=27
-HÓSEÁS=28
-JÓEL=29
-ÁMÓS=30
-ABDIÁS=31
-JÓNÁS=32
-MIKEÁS=33
-NÁHUM=34
-HABAKUK=35
-SOFÓNIÁS=36
-AGGEUS=37
-ZAKARIÁS=38
-MALAKIÁS=39
-MÁTÉ=40
-MÁRK=41
-LUKÁCS=42
-JÁNOS=43
-APOSTOLOK CSELEKEDETEI=44
-RÓMA=45
-
-1. KORINTUS=46
-1 KORINTUS=46
-1KORINTUS=46
-
-2. KORINTUS=47
-2 KORINTUS=47
-2KORINTUS=47
-
-GALATA=48
-EFÉZUS=49
-FILIPPI=50
-KOLOSSÉ=51
-
-1. THESSALONIKA=52
-1 THESSALONIKA=52
-1THESSALONIKA=52
-
-2. THESSALONIKA=53
-2 THESSALONIKA=53
-2THESSALONIKA=53
-
-1. TIMÓTEUS=54
-1 TIMÓTEUS=54
-1TIMÓTEUS=54
-
-2. TIMÓTEUS=55
-2 TIMÓTEUS=55
-2TIMÓTEUS=55
-
-TITUSZ=56
-FILEMON=57
-ZSIDÓKHOZ ÍRT LEVÉL=58
-JAKAB=59
-
-1. PÉTER=60
-1 PÉTER=60
-1PÉTER=60
-
-2. PÉTER=61
-2 PÉTER=61
-2PÉTER=61
-
-1. JÁNOS=62
-1 JÁNOS=62
-1JÁNOS=62
-
-2. JÁNOS=63
-2 JÁNOS=63
-2JÁNOS=63
-
-3. JÁNOS=64
-3 JÁNOS=64
-3JÁNOS=64
-
-JÚDÁS=65
-JELENÉSEK=66
+1. MÓZES=Gen
+1 MÓZES=Gen
+1MÓZES=Gen
+
+2. MÓZES=Exod
+2 MÓZES=Exod
+2MÓZES=Exod
+
+3. MÓZES=Lev
+3 MÓZES=Lev
+3MÓZES=Lev
+
+4. MÓZES=Num
+4 MÓZES=Num
+4MÓZES=Num
+
+5. MÓZES=Deut
+5 MÓZES=Deut
+5MÓZES=Deut
+
+JÓZSUÉ=Josh
+BÍRÁK=Judg
+RUTH=Ruth
+
+1. SÁMUEL=1Sam
+1 SÁMUEL=1Sam
+1SÁMUEL=1Sam
+
+2. SÁMUEL=2Sam
+2 SÁMUEL=2Sam
+2SÁMUEL=2Sam
+
+1. KIRÁLYOK=1Kgs
+1 KIRÁLYOK=1Kgs
+1KIRÁLYOK=1Kgs
+
+2. KIRÁLYOK=2Kgs
+2 KIRÁLYOK=2Kgs
+2KIRÁLYOK=2Kgs
+
+1. KRÓNIKA=1Chr
+1 KRÓNIKA=1Chr
+1KRÓNIKA=1Chr
+
+2. KRÓNIKA=2Chr
+2 KRÓNIKA=2Chr
+2KRÓNIKA=2Chr
+
+EZSDRÁS=Ezra
+NEHÉMIÁS=Neh
+ESZTER=Esth
+JÓB=Job
+ZSOLTÁROK=Ps
+PÉLDABESZÉDEK=Prov
+PRÉDIKÁTOR=Eccl
+ÉNEKEK ÉNEKE=Song
+ÉZSAIÁS=Isa
+JEREMIÁS=Jer
+JEREMIÁS SIRALMAI=Lam
+EZÉKIEL=Ezek
+DÁNIEL=Dan
+HÓSEÁS=Hos
+JÓEL=Joel
+ÁMÓS=Amos
+ABDIÁS=Obad
+JÓNÁS=Jonah
+MIKEÁS=Mic
+NÁHUM=Nah
+HABAKUK=Hab
+SOFÓNIÁS=Zeph
+AGGEUS=Hag
+ZAKARIÁS=Zech
+MALAKIÁS=Mal
+MÁTÉ=Matt
+MÁRK=Mark
+LUKÁCS=Luke
+JÁNOS=John
+APOSTOLOK CSELEKEDETEI=Acts
+RÓMA=Rom
+
+1. KORINTUS=1Cor
+1 KORINTUS=1Cor
+1KORINTUS=1Cor
+
+2. KORINTUS=2Cor
+2 KORINTUS=2Cor
+2KORINTUS=2Cor
+
+GALATA=Gal
+EFÉZUS=Eph
+FILIPPI=Phil
+KOLOSSÉ=Col
+
+1. THESSALONIKA=1Thess
+1 THESSALONIKA=1Thess
+1THESSALONIKA=1Thess
+
+2. THESSALONIKA=2Thess
+2 THESSALONIKA=2Thess
+2THESSALONIKA=2Thess
+
+1. TIMÓTEUS=1Tim
+1 TIMÓTEUS=1Tim
+1TIMÓTEUS=1Tim
+
+2. TIMÓTEUS=2Tim
+2 TIMÓTEUS=2Tim
+2TIMÓTEUS=2Tim
+
+TITUSZ=Titus
+FILEMON=Phlm
+ZSIDÓKHOZ ÍRT LEVÉL=Heb
+JAKAB=Jas
+
+1. PÉTER=1Pet
+1 PÉTER=1Pet
+1PÉTER=1Pet
+
+2. PÉTER=2Pet
+2 PÉTER=2Pet
+2PÉTER=2Pet
+
+1. JÁNOS=1John
+1 JÁNOS=1John
+1JÁNOS=1John
+
+2. JÁNOS=2John
+2 JÁNOS=2John
+2JÁNOS=2John
+
+3. JÁNOS=3John
+3 JÁNOS=3John
+3JÁNOS=3John
+
+JÚDÁS=Jude
+JELENÉSEK=Rev
diff --git a/locales.d/id-utf8.conf b/locales.d/id-utf8.conf
new file mode 100644
index 0000000..785035c
--- /dev/null
+++ b/locales.d/id-utf8.conf
@@ -0,0 +1,465 @@
+[Meta]
+Name=id
+Description=Bahasa Indonesia (Unicode)
+Encoding=UTF-8
+
+[Text]
+Genesis=Kejadian
+Exodus=Keluaran
+Leviticus=Imamat
+Numbers=Bilangan
+Deuteronomy=Ulangan
+Joshua=Yosua
+Judges=Hakim-hakim
+Ruth=Rut
+I Samuel=1 Samuel
+II Samuel=2 Samuel
+I Kings=1 Raja
+II Kings=2 Raja
+I Chronicles=1 Tawarikh
+II Chronicles=2 Tawarikh
+Ezra=Ezra
+Nehemiah=Nehemia
+Esther=Ester
+Job=Ayub
+Psalms=Mazmur
+Proverbs=Amsal
+Ecclesiastes=Pengkhotbah
+Song of Solomon=Kidung Agung
+Isaiah=Yesaya
+Jeremiah=Yeremia
+Lamentations=Ratapan
+Ezekiel=Yehezkiel
+Daniel=Daniel
+Hosea=Hosea
+Joel=Yoel
+Amos=Amos
+Obadiah=Obaja
+Jonah=Yunus
+Micah=Mikha
+Nahum=Nahum
+Habakkuk=Habakuk
+Zephaniah=Zefanya
+Haggai=Hagai
+Zechariah=Zakharia
+Malachi=Maleakhi
+Matthew=Matius
+Mark=Markus
+Luke=Lukas
+John=Yohanes
+Acts=Kisah Para Rasul
+Romans=Roma
+I Corinthians=1 Korintus
+II Corinthians=2 Korintus
+Galatians=Galatia
+Ephesians=Efesus
+Philippians=Filipi
+Colossians=Kolose
+I Thessalonians=1 Tesalonika
+II Thessalonians=2 Tesalonika
+I Timothy=1 Timotius
+II Timothy=2 Timotius
+Titus=Titus
+Philemon=Filemon
+Hebrews=Ibrani
+James=Yakobus
+I Peter=1 Petrus
+II Peter=2 Petrus
+I John=1 Yohanes
+II John=2 Yohanes
+III John=3 Yohanes
+Jude=Yudas
+Revelation of John=Wahyu
+
+[Book Abbrevs]
+1 C=1Cor
+1 CHRONICLES=1Chr
+1 CORINTHIANS=1Cor
+1 JN=1John
+1 JOHN=1John
+1 KGS=1Kgs
+1 KINGS=1Kgs
+1 KOR=1Cor
+1 KORINTUS=1Cor
+1 PE=1Pet
+1 PETER=1Pet
+1 PETRUS=1Pet
+1 PTR=1Pet
+1 RA=1Kgs
+1 RAJA=1Kgs
+1 RAJA-RAJA=1Kgs
+1 SA=1Sam
+1 SAMUEL=1Sam
+1 TA=1Chr
+1 TAWARIKH=1Chr
+1 TE=1Thess
+1 TESALONIKA=1Thess
+1 THESSALONIANS=1Thess
+1 TI=1Tim
+1 TIMOTHY=1Tim
+1 TIMOTIUS=1Tim
+1 YO=1John
+1 YOHANES=1John
+1C=1Cor
+1CHRONICLES=1Chr
+1CORINTHIANS=1Cor
+1JN=1John
+1JOHN=1John
+1KGS=1Kgs
+1KINGS=1Kgs
+1KO=1Cor
+1PE=1Pet
+1PETER=1Pet
+1PTR=1Pet
+1RA=1Kgs
+1RAJA-RAJA=1Kgs
+1SA=1Sam
+1SAMUEL=1Sam
+1TA=1Chr
+1TE=1Thess
+1THESSALONIANS=1Thess
+1TI=1Tim
+1TIMOTHY=1Tim
+1YO=1John
+1YOH=1John
+2 C=2Cor
+2 CHRONICLES=2Chr
+2 CORINTHIANS=2Cor
+2 JN=2John
+2 JOHN=2John
+2 KGS=2Kgs
+2 KINGS=2Kgs
+2 KO=2Cor
+2 KORINTUS=2Cor
+2 PE=2Pet
+2 PETER=2Pet
+2 PETRUS=2Pet
+2 PTR=2Pet
+2 RA=2Kgs
+2 RAJA=2Kgs
+2 RAJA-RAJA=2Kgs
+2 SA=2Sam
+2 SAMUEL=2Sam
+2 TA=2Chr
+2 TAWARIKH=2Chr
+2 TE=2Thess
+2 TESALONIKA=2Thess
+2 THESSALONIANS=2Thess
+2 TI=2Tim
+2 TIMOTHY=2Tim
+2 TIMOTIUS=2Tim
+2 YO=2John
+2 YOHANES=2John
+2C=2Cor
+2CHRONICLES=2Chr
+2CORINTHIANS=2Cor
+2JN=2John
+2JOHN=2John
+2KGS=2Kgs
+2KINGS=2Kgs
+2KO=2Cor
+2PE=2Pet
+2PETER=2Pet
+2PTR=2Pet
+2RA=2Kgs
+2RAJA-RAJA=2Kgs
+2SA=2Sam
+2SAMUEL=2Sam
+2TA=2Chr
+2TE=2Thess
+2THESSALONIANS=2Thess
+2TI=2Tim
+2TIMOTHY=2Tim
+2YO=2John
+2YOH=2John
+3 JN=3John
+3 JOHN=3John
+3 YO=3John
+3 YOHANES=3John
+3JN=3John
+3JOHN=3John
+3YO=3John
+3YOH=3John
+A=Prov
+ACTS=Acts
+AM=Amos
+AMO=Amos
+AMOS=Amos
+AMS=Prov
+AMSAL=Prov
+AYB=Job
+AYU=Job
+AYUB=Job
+BIL=Num
+BILANGAN=Num
+C=Col
+CANTICLE OF CANTICLES=Song
+COC=Song
+COLOSSIANS=Col
+D=Dan
+DAN=Dan
+DANIEL=Dan
+DEUTERONOMY=Deut
+E=Eph
+ECCLESIASTES=Eccl
+EF=Eph
+EFESUS=Eph
+EPHESIANS=Eph
+EST=Esth
+ESTER=Esth
+ESTHER=Esth
+EXODUS=Exod
+EZEKIEL=Ezek
+EZR=Ezra
+EZRA=Ezra
+F=Phil
+FILE=Phlm
+FILEMON=Phlm
+FILI=Phil
+FILIPI=Phil
+FLM=Phlm
+FLP=Phil
+G=Gal
+GAL=Gal
+GALATIA=Gal
+GALATIANS=Gal
+GENESIS=Gen
+H=Judg
+HA=Judg
+HAB=Hab
+HABAKKUK=Hab
+HABAKUK=Hab
+HAG=Hag
+HAGAI=Hag
+HAGGAI=Hag
+HAK=Judg
+HAKIM-HAKIM=Judg
+HE=Heb
+HEBREWS=Heb
+HOS=Hos
+HOSEA=Hos
+I C=1Cor
+I CHRONICLES=1Chr
+I CORINTHIANS=1Cor
+I JN=1John
+I JOHN=1John
+I KGS=1Kgs
+I KINGS=1Kgs
+I KO=1Cor
+I PE=1Pet
+I PETER=1Pet
+I PETRUS=1Pet
+I PTR=1Pet
+I RA=1Kgs
+I RAJA-RAJA=1Kgs
+I SA=1Sam
+I SAMUEL=1Sam
+I TA=1Chr
+I TE=1Thess
+I THESSALONIANS=1Thess
+I TI=1Tim
+I TIMOTHY=1Tim
+I YO=1John
+I=Lev
+IBR=Heb
+IBRANI=Heb
+IC=1Cor
+ICHRONICLES=1Chr
+ICORINTHIANS=1Cor
+II C=2Cor
+II CHRONICLES=2Chr
+II CORINTHIANS=2Cor
+II JN=2John
+II JOHN=2John
+II KGS=2Kgs
+II KINGS=2Kgs
+II KO=2Cor
+II PE=2Pet
+II PETER=2Pet
+II PETRUS=2Pet
+II PTR=2Pet
+II RA=2Kgs
+II RAJA-RAJA=2Kgs
+II SA=2Sam
+II SAMUEL=2Sam
+II TA=2Chr
+II TE=2Thess
+II THESSALONIANS=2Thess
+II TI=2Tim
+II TIMOTHY=2Tim
+II YO=2John
+IIC=2Cor
+IICHRONICLES=2Chr
+IICORINTHIANS=2Cor
+III JN=3John
+III JOHN=3John
+III YO=3John
+IIIJN=3John
+IIIJOHN=3John
+IIIYO=3John
+IIJN=2John
+IIJOHN=2John
+IIKGS=2Kgs
+IIKINGS=2Kgs
+IIKO=2Cor
+IIPE=2Pet
+IIPETER=2Pet
+IIPETRUS=2Pet
+IIPTR=2Pet
+IIRA=2Kgs
+IIRAJA-RAJA=2Kgs
+IISA=2Sam
+IISAMUEL=2Sam
+IITA=2Chr
+IITE=2Thess
+IITHESSALONIANS=2Thess
+IITI=1Tim
+IITI=2Tim
+IITIMOTHY=2Tim
+IIYO=2John
+IJN=1John
+IJOHN=1John
+IKGS=1Kgs
+IKINGS=1Kgs
+IKO=1Cor
+IM=Lev
+IMAMAT=Lev
+IPE=1Pet
+IPETER=1Pet
+IPETRUS=1Pet
+IPTR=1Pet
+IRA=1Kgs
+IRAJA-RAJA=1Kgs
+ISA=Isa
+ISAIAH=Isa
+ISAMUEL=1Sam
+ITA=1Chr
+ITE=1Thess
+ITHESSALONIANS=1Thess
+ITIMOTHY=1Tim
+IYES=Isa
+IYO=1John
+J=John
+JAMES=Jas
+JAS=Jas
+JEREMIAH=Jer
+JN=John
+JO=John
+JOB=Job
+JOEL=Joel
+JOHN=John
+JONAH=Jonah
+JOSHUA=Josh
+JUD=Judg
+JUDE=Jude
+JUDGES=Judg
+KEJ=Gen
+KEJADIAN=Gen
+KEL=Exod
+KELUARAN=Exod
+KID=Song
+KIDUNG AGUNG=Song
+KIS=Acts
+KISAH PARA RASUL=Acts
+KOL=Col
+KOLOSE=Col
+L=Luke
+LAMENTATIONS=Lam
+LEVITICUS=Lev
+LK=Luke
+LUK=Luke
+LUKAS=Luke
+LUKE=Luke
+MA=Matt
+MAL=Mal
+MALACHI=Mal
+MALEAKHI=Mal
+MARK=Mark
+MARKUS=Mark
+MAT=Matt
+MATIUS=Matt
+MATTHEW=Matt
+MAZ=Ps
+MAZMUR=Ps
+MICAH=Mic
+MIK=Mic
+MIKHA=Mic
+MK=Mark
+MR=Mark
+MRK=Mark
+MT=Matt
+MZM=Ps
+N=Neh
+NAH=Nah
+NAHUM=Nah
+NEH=Neh
+NEHEMIA=Neh
+NEHEMIAH=Neh
+NUMBERS=Num
+OB=Obad
+OBADIAH=Obad
+OBAJA=Obad
+P=Eccl
+PENGK=Eccl
+PENGKHOTBAH=Eccl
+PH=Phil
+PHILEMON=Phlm
+PHILIPPIANS=Phil
+PHLM=Phlm
+PHM=Phlm
+PHP=Phil
+PKH=Eccl
+PROVERBS=Prov
+PSALMS=Ps
+PSM=Ps
+PSS=Ps
+R=Rom
+RAT=Lam
+RATAPAN=Lam
+REVELATION OF JOHN=Rev
+REVELATION OF ST. JOHN=Rev
+REVELATION=Rev
+RM=Rom
+ROM=Rom
+ROMA=Rom
+ROMANS=Rom
+RUT=Ruth
+RUTH=Ruth
+SONG OF SOLOMON=Song
+SONG OF SONGS=Song
+SOS=Song
+TIT=Titus
+TITUS=Titus
+UL=Deut
+ULANGAN=Deut
+WAH=Rev
+WAHYU=Rev
+WHY=Rev
+Y=John
+YAK=Jas
+YAKOBUS=Jas
+YE=Isa
+YEH=Ezek
+YEHEZKIEL=Ezek
+YER=Jer
+YEREMIA=Jer
+YES=Isa
+YESAYA=Isa
+YL=Joel
+YO=John
+YOE=Joel
+YOEL=Joel
+YOH=John
+YOHANES=John
+YOS=Josh
+YOSUA=Josh
+YUD=Jude
+YUDAS=Jude
+YUN=Jonah
+YUNUS=Jonah
+ZAK=Zech
+ZAKHARIA=Zech
+ZECHARIAH=Zech
+ZEF=Zeph
+ZEFANYA=Zeph
+ZEPHANIAH=Zeph
diff --git a/locales.d/id.conf b/locales.d/id.conf
index d8476e0..16a1fbb 100644
--- a/locales.d/id.conf
+++ b/locales.d/id.conf
@@ -1,7 +1,7 @@
[Meta]
Name=id
-Description=Indonesian
-Encoding=ASCII
+Description=Bahasa Indonesia
+Encoding=ISO8859-1
[Text]
Genesis=Kejadian
@@ -72,394 +72,394 @@ Jude=Yudas
Revelation of John=Wahyu
[Book Abbrevs]
-1 C=46
-1 CHRONICLES=13
-1 CORINTHIANS=46
-1 JN=62
-1 JOHN=62
-1 KGS=11
-1 KINGS=11
-1 KOR=46
-1 KORINTUS=46
-1 PE=60
-1 PETER=60
-1 PETRUS=60
-1 PTR=60
-1 RA=11
-1 RAJA=11
-1 RAJA-RAJA=11
-1 SA=9
-1 SAMUEL=9
-1 TA=13
-1 TAWARIKH=13
-1 TE=52
-1 TESALONIKA=52
-1 THESSALONIANS=52
-1 TI=54
-1 TIMOTHY=54
-1 TIMOTIUS=54
-1 YO=62
-1 YOHANES=62
-1C=46
-1CHRONICLES=13
-1CORINTHIANS=46
-1JN=62
-1JOHN=62
-1KGS=11
-1KINGS=11
-1KO=46
-1PE=60
-1PETER=60
-1PTR=60
-1RA=11
-1RAJA-RAJA=11
-1SA=9
-1SAMUEL=9
-1TA=13
-1TE=52
-1THESSALONIANS=52
-1TI=54
-1TIMOTHY=54
-1YO=62
-1YOH=62
-2 C=47
-2 CHRONICLES=14
-2 CORINTHIANS=47
-2 JN=63
-2 JOHN=63
-2 KGS=12
-2 KINGS=12
-2 KO=47
-2 KORINTUS=47
-2 PE=61
-2 PETER=61
-2 PETRUS=61
-2 PTR=61
-2 RA=12
-2 RAJA=12
-2 RAJA-RAJA=12
-2 SA=10
-2 SAMUEL=10
-2 TA=14
-2 TAWARIKH=14
-2 TE=53
-2 TESALONIKA=53
-2 THESSALONIANS=53
-2 TI=55
-2 TIMOTHY=55
-2 TIMOTIUS=55
-2 YO=63
-2 YOHANES=63
-2C=47
-2CHRONICLES=14
-2CORINTHIANS=47
-2JN=63
-2JOHN=63
-2KGS=12
-2KINGS=12
-2KO=47
-2PE=61
-2PETER=61
-2PTR=61
-2RA=12
-2RAJA-RAJA=12
-2SA=10
-2SAMUEL=10
-2TA=14
-2TE=53
-2THESSALONIANS=53
-2TI=55
-2TIMOTHY=55
-2YO=63
-2YOH=63
-3 JN=64
-3 JOHN=64
-3 YO=64
-3 YOHANES=64
-3JN=64
-3JOHN=64
-3YO=64
-3YOH=64
-A=20
-ACTS=44
-AM=30
-AMO=30
-AMOS=30
-AMS=20
-AMSAL=20
-AYB=18
-AYU=18
-AYUB=18
-BIL=4
-BILANGAN=4
-C=51
-CANTICLE OF CANTICLES=22
-COC=22
-COLOSSIANS=51
-D=27
-DAN=27
-DANIEL=27
-DEUTERONOMY=5
-E=49
-ECCLESIASTES=21
-EF=49
-EFESUS=49
-EPHESIANS=49
-EST=17
-ESTER=17
-ESTHER=17
-EXODUS=2
-EZEKIEL=26
-EZR=15
-EZRA=15
-F=50
-FILE=57
-FILEMON=57
-FILI=50
-FILIPI=50
-FLM=57
-FLP=50
-G=48
-GAL=48
-GALATIA=48
-GALATIANS=48
-GENESIS=1
-H=7
-HA=7
-HAB=35
-HABAKKUK=35
-HABAKUK=35
-HAG=37
-HAGAI=37
-HAGGAI=37
-HAK=7
-HAKIM-HAKIM=7
-HE=58
-HEBREWS=58
-HOS=28
-HOSEA=28
-I C=46
-I CHRONICLES=13
-I CORINTHIANS=46
-I JN=62
-I JOHN=62
-I KGS=11
-I KINGS=11
-I KO=46
-I PE=60
-I PETER=60
-I PETRUS=60
-I PTR=60
-I RA=11
-I RAJA-RAJA=11
-I SA=9
-I SAMUEL=9
-I TA=13
-I TE=52
-I THESSALONIANS=52
-I TI=54
-I TIMOTHY=54
-I YO=62
-I=3
-IBR=58
-IBRANI=58
-IC=46
-ICHRONICLES=13
-ICORINTHIANS=46
-II C=47
-II CHRONICLES=14
-II CORINTHIANS=47
-II JN=63
-II JOHN=63
-II KGS=12
-II KINGS=12
-II KO=47
-II PE=61
-II PETER=61
-II PETRUS=61
-II PTR=61
-II RA=12
-II RAJA-RAJA=12
-II SA=10
-II SAMUEL=10
-II TA=14
-II TE=53
-II THESSALONIANS=53
-II TI=55
-II TIMOTHY=55
-II YO=63
-IIC=47
-IICHRONICLES=14
-IICORINTHIANS=47
-III JN=64
-III JOHN=64
-III YO=64
-IIIJN=64
-IIIJOHN=64
-IIIYO=64
-IIJN=63
-IIJOHN=63
-IIKGS=12
-IIKINGS=12
-IIKO=47
-IIPE=61
-IIPETER=61
-IIPETRUS=61
-IIPTR=61
-IIRA=12
-IIRAJA-RAJA=12
-IISA=10
-IISAMUEL=10
-IITA=14
-IITE=53
-IITHESSALONIANS=53
-IITI=54
-IITI=55
-IITIMOTHY=55
-IIYO=63
-IJN=62
-IJOHN=62
-IKGS=11
-IKINGS=11
-IKO=46
-IM=3
-IMAMAT=3
-IPE=60
-IPETER=60
-IPETRUS=60
-IPTR=60
-IRA=11
-IRAJA-RAJA=11
-ISA=23
-ISAIAH=23
-ISAMUEL=9
-ITA=13
-ITE=52
-ITHESSALONIANS=52
-ITIMOTHY=54
-IYES=23
-IYO=62
-J=43
-JAMES=59
-JAS=59
-JEREMIAH=24
-JN=43
-JO=43
-JOB=18
-JOEL=29
-JOHN=43
-JONAH=32
-JOSHUA=6
-JUD=7
-JUDE=65
-JUDGES=7
-KEJ=1
-KEJADIAN=1
-KEL=2
-KELUARAN=2
-KID=22
-KIDUNG AGUNG=22
-KIS=44
-KISAH PARA RASUL=44
-KOL=51
-KOLOSE=51
-L=42
-LAMENTATIONS=25
-LEVITICUS=3
-LK=42
-LUK=42
-LUKAS=42
-LUKE=42
-MA=40
-MAL=39
-MALACHI=39
-MALEAKHI=39
-MARK=41
-MARKUS=41
-MAT=40
-MATIUS=40
-MATTHEW=40
-MAZ=19
-MAZMUR=19
-MICAH=33
-MIK=33
-MIKHA=33
-MK=41
-MR=41
-MRK=41
-MT=40
-MZM=19
-N=16
-NAH=34
-NAHUM=34
-NEH=16
-NEHEMIA=16
-NEHEMIAH=16
-NUMBERS=4
-OB=31
-OBADIAH=31
-OBAJA=31
-P=21
-PENGK=21
-PENGKHOTBAH=21
-PH=50
-PHILEMON=57
-PHILIPPIANS=50
-PHLM=57
-PHM=57
-PHP=50
-PKH=21
-PROVERBS=20
-PSALMS=19
-PSM=19
-PSS=19
-R=45
-RAT=25
-RATAPAN=25
-REVELATION OF JOHN=66
-REVELATION OF ST. JOHN=66
-REVELATION=66
-RM=45
-ROM=45
-ROMA=45
-ROMANS=45
-RUT=8
-RUTH=8
-SONG OF SOLOMON=22
-SONG OF SONGS=22
-SOS=22
-TIT=56
-TITUS=56
-UL=5
-ULANGAN=5
-WAH=66
-WAHYU=66
-WHY=66
-Y=43
-YAK=59
-YAKOBUS=59
-YE=23
-YEH=26
-YEHEZKIEL=26
-YER=24
-YEREMIA=24
-YES=23
-YESAYA=23
-YL=29
-YO=43
-YOE=29
-YOEL=29
-YOH=43
-YOHANES=43
-YOS=6
-YOSUA=6
-YUD=65
-YUDAS=65
-YUN=32
-YUNUS=32
-ZAK=38
-ZAKHARIA=38
-ZECHARIAH=38
-ZEF=36
-ZEFANYA=36
-ZEPHANIAH=36
+1 C=1Cor
+1 CHRONICLES=1Chr
+1 CORINTHIANS=1Cor
+1 JN=1John
+1 JOHN=1John
+1 KGS=1Kgs
+1 KINGS=1Kgs
+1 KOR=1Cor
+1 KORINTUS=1Cor
+1 PE=1Pet
+1 PETER=1Pet
+1 PETRUS=1Pet
+1 PTR=1Pet
+1 RA=1Kgs
+1 RAJA=1Kgs
+1 RAJA-RAJA=1Kgs
+1 SA=1Sam
+1 SAMUEL=1Sam
+1 TA=1Chr
+1 TAWARIKH=1Chr
+1 TE=1Thess
+1 TESALONIKA=1Thess
+1 THESSALONIANS=1Thess
+1 TI=1Tim
+1 TIMOTHY=1Tim
+1 TIMOTIUS=1Tim
+1 YO=1John
+1 YOHANES=1John
+1C=1Cor
+1CHRONICLES=1Chr
+1CORINTHIANS=1Cor
+1JN=1John
+1JOHN=1John
+1KGS=1Kgs
+1KINGS=1Kgs
+1KO=1Cor
+1PE=1Pet
+1PETER=1Pet
+1PTR=1Pet
+1RA=1Kgs
+1RAJA-RAJA=1Kgs
+1SA=1Sam
+1SAMUEL=1Sam
+1TA=1Chr
+1TE=1Thess
+1THESSALONIANS=1Thess
+1TI=1Tim
+1TIMOTHY=1Tim
+1YO=1John
+1YOH=1John
+2 C=2Cor
+2 CHRONICLES=2Chr
+2 CORINTHIANS=2Cor
+2 JN=2John
+2 JOHN=2John
+2 KGS=2Kgs
+2 KINGS=2Kgs
+2 KO=2Cor
+2 KORINTUS=2Cor
+2 PE=2Pet
+2 PETER=2Pet
+2 PETRUS=2Pet
+2 PTR=2Pet
+2 RA=2Kgs
+2 RAJA=2Kgs
+2 RAJA-RAJA=2Kgs
+2 SA=2Sam
+2 SAMUEL=2Sam
+2 TA=2Chr
+2 TAWARIKH=2Chr
+2 TE=2Thess
+2 TESALONIKA=2Thess
+2 THESSALONIANS=2Thess
+2 TI=2Tim
+2 TIMOTHY=2Tim
+2 TIMOTIUS=2Tim
+2 YO=2John
+2 YOHANES=2John
+2C=2Cor
+2CHRONICLES=2Chr
+2CORINTHIANS=2Cor
+2JN=2John
+2JOHN=2John
+2KGS=2Kgs
+2KINGS=2Kgs
+2KO=2Cor
+2PE=2Pet
+2PETER=2Pet
+2PTR=2Pet
+2RA=2Kgs
+2RAJA-RAJA=2Kgs
+2SA=2Sam
+2SAMUEL=2Sam
+2TA=2Chr
+2TE=2Thess
+2THESSALONIANS=2Thess
+2TI=2Tim
+2TIMOTHY=2Tim
+2YO=2John
+2YOH=2John
+3 JN=3John
+3 JOHN=3John
+3 YO=3John
+3 YOHANES=3John
+3JN=3John
+3JOHN=3John
+3YO=3John
+3YOH=3John
+A=Prov
+ACTS=Acts
+AM=Amos
+AMO=Amos
+AMOS=Amos
+AMS=Prov
+AMSAL=Prov
+AYB=Job
+AYU=Job
+AYUB=Job
+BIL=Num
+BILANGAN=Num
+C=Col
+CANTICLE OF CANTICLES=Song
+COC=Song
+COLOSSIANS=Col
+D=Dan
+DAN=Dan
+DANIEL=Dan
+DEUTERONOMY=Deut
+E=Eph
+ECCLESIASTES=Eccl
+EF=Eph
+EFESUS=Eph
+EPHESIANS=Eph
+EST=Esth
+ESTER=Esth
+ESTHER=Esth
+EXODUS=Exod
+EZEKIEL=Ezek
+EZR=Ezra
+EZRA=Ezra
+F=Phil
+FILE=Phlm
+FILEMON=Phlm
+FILI=Phil
+FILIPI=Phil
+FLM=Phlm
+FLP=Phil
+G=Gal
+GAL=Gal
+GALATIA=Gal
+GALATIANS=Gal
+GENESIS=Gen
+H=Judg
+HA=Judg
+HAB=Hab
+HABAKKUK=Hab
+HABAKUK=Hab
+HAG=Hag
+HAGAI=Hag
+HAGGAI=Hag
+HAK=Judg
+HAKIM-HAKIM=Judg
+HE=Heb
+HEBREWS=Heb
+HOS=Hos
+HOSEA=Hos
+I C=1Cor
+I CHRONICLES=1Chr
+I CORINTHIANS=1Cor
+I JN=1John
+I JOHN=1John
+I KGS=1Kgs
+I KINGS=1Kgs
+I KO=1Cor
+I PE=1Pet
+I PETER=1Pet
+I PETRUS=1Pet
+I PTR=1Pet
+I RA=1Kgs
+I RAJA-RAJA=1Kgs
+I SA=1Sam
+I SAMUEL=1Sam
+I TA=1Chr
+I TE=1Thess
+I THESSALONIANS=1Thess
+I TI=1Tim
+I TIMOTHY=1Tim
+I YO=1John
+I=Lev
+IBR=Heb
+IBRANI=Heb
+IC=1Cor
+ICHRONICLES=1Chr
+ICORINTHIANS=1Cor
+II C=2Cor
+II CHRONICLES=2Chr
+II CORINTHIANS=2Cor
+II JN=2John
+II JOHN=2John
+II KGS=2Kgs
+II KINGS=2Kgs
+II KO=2Cor
+II PE=2Pet
+II PETER=2Pet
+II PETRUS=2Pet
+II PTR=2Pet
+II RA=2Kgs
+II RAJA-RAJA=2Kgs
+II SA=2Sam
+II SAMUEL=2Sam
+II TA=2Chr
+II TE=2Thess
+II THESSALONIANS=2Thess
+II TI=2Tim
+II TIMOTHY=2Tim
+II YO=2John
+IIC=2Cor
+IICHRONICLES=2Chr
+IICORINTHIANS=2Cor
+III JN=3John
+III JOHN=3John
+III YO=3John
+IIIJN=3John
+IIIJOHN=3John
+IIIYO=3John
+IIJN=2John
+IIJOHN=2John
+IIKGS=2Kgs
+IIKINGS=2Kgs
+IIKO=2Cor
+IIPE=2Pet
+IIPETER=2Pet
+IIPETRUS=2Pet
+IIPTR=2Pet
+IIRA=2Kgs
+IIRAJA-RAJA=2Kgs
+IISA=2Sam
+IISAMUEL=2Sam
+IITA=2Chr
+IITE=2Thess
+IITHESSALONIANS=2Thess
+IITI=1Tim
+IITI=2Tim
+IITIMOTHY=2Tim
+IIYO=2John
+IJN=1John
+IJOHN=1John
+IKGS=1Kgs
+IKINGS=1Kgs
+IKO=1Cor
+IM=Lev
+IMAMAT=Lev
+IPE=1Pet
+IPETER=1Pet
+IPETRUS=1Pet
+IPTR=1Pet
+IRA=1Kgs
+IRAJA-RAJA=1Kgs
+ISA=Isa
+ISAIAH=Isa
+ISAMUEL=1Sam
+ITA=1Chr
+ITE=1Thess
+ITHESSALONIANS=1Thess
+ITIMOTHY=1Tim
+IYES=Isa
+IYO=1John
+J=John
+JAMES=Jas
+JAS=Jas
+JEREMIAH=Jer
+JN=John
+JO=John
+JOB=Job
+JOEL=Joel
+JOHN=John
+JONAH=Jonah
+JOSHUA=Josh
+JUD=Judg
+JUDE=Jude
+JUDGES=Judg
+KEJ=Gen
+KEJADIAN=Gen
+KEL=Exod
+KELUARAN=Exod
+KID=Song
+KIDUNG AGUNG=Song
+KIS=Acts
+KISAH PARA RASUL=Acts
+KOL=Col
+KOLOSE=Col
+L=Luke
+LAMENTATIONS=Lam
+LEVITICUS=Lev
+LK=Luke
+LUK=Luke
+LUKAS=Luke
+LUKE=Luke
+MA=Matt
+MAL=Mal
+MALACHI=Mal
+MALEAKHI=Mal
+MARK=Mark
+MARKUS=Mark
+MAT=Matt
+MATIUS=Matt
+MATTHEW=Matt
+MAZ=Ps
+MAZMUR=Ps
+MICAH=Mic
+MIK=Mic
+MIKHA=Mic
+MK=Mark
+MR=Mark
+MRK=Mark
+MT=Matt
+MZM=Ps
+N=Neh
+NAH=Nah
+NAHUM=Nah
+NEH=Neh
+NEHEMIA=Neh
+NEHEMIAH=Neh
+NUMBERS=Num
+OB=Obad
+OBADIAH=Obad
+OBAJA=Obad
+P=Eccl
+PENGK=Eccl
+PENGKHOTBAH=Eccl
+PH=Phil
+PHILEMON=Phlm
+PHILIPPIANS=Phil
+PHLM=Phlm
+PHM=Phlm
+PHP=Phil
+PKH=Eccl
+PROVERBS=Prov
+PSALMS=Ps
+PSM=Ps
+PSS=Ps
+R=Rom
+RAT=Lam
+RATAPAN=Lam
+REVELATION OF JOHN=Rev
+REVELATION OF ST. JOHN=Rev
+REVELATION=Rev
+RM=Rom
+ROM=Rom
+ROMA=Rom
+ROMANS=Rom
+RUT=Ruth
+RUTH=Ruth
+SONG OF SOLOMON=Song
+SONG OF SONGS=Song
+SOS=Song
+TIT=Titus
+TITUS=Titus
+UL=Deut
+ULANGAN=Deut
+WAH=Rev
+WAHYU=Rev
+WHY=Rev
+Y=John
+YAK=Jas
+YAKOBUS=Jas
+YE=Isa
+YEH=Ezek
+YEHEZKIEL=Ezek
+YER=Jer
+YEREMIA=Jer
+YES=Isa
+YESAYA=Isa
+YL=Joel
+YO=John
+YOE=Joel
+YOEL=Joel
+YOH=John
+YOHANES=John
+YOS=Josh
+YOSUA=Josh
+YUD=Jude
+YUDAS=Jude
+YUN=Jonah
+YUNUS=Jonah
+ZAK=Zech
+ZAKHARIA=Zech
+ZECHARIAH=Zech
+ZEF=Zeph
+ZEFANYA=Zeph
+ZEPHANIAH=Zeph
diff --git a/locales.d/it-utf8.conf b/locales.d/it-utf8.conf
index 08be853..eb08f92 100644
--- a/locales.d/it-utf8.conf
+++ b/locales.d/it-utf8.conf
@@ -1,6 +1,6 @@
[Meta]
Name=it
-Description=Italiano
+Description=Italiano (Unicode)
Encoding=UTF-8
[Text]
@@ -72,603 +72,416 @@ Jude=Giuda
Revelation of John=Apocalisse di Giovanni
[Book Abbrevs]
-1 C=46
-1 CHRONICLES=13
-1 CORINTHIANS=46
-1 JN=62
-1 JOHN=62
-1 KGS=11
-1 KINGS=11
-1 PETER=60
-1 PTR=60
-1 SAMUEL=9
-1 THESSALONIANS=52
-1 TIMOTHY=54
-1C=46
-1CHRONICLES=13
-1CORINTHIANS=46
-1JN=62
-1JOHN=62
-1KGS=11
-1KINGS=11
-1PETER=60
-1PTR=60
-1SAMUEL=9
-1THESSALONIANS=52
-1TIMOTHY=54
-2 C=47
-2 CHRONICLES=14
-2 CORINTHIANS=47
-2 JN=63
-2 JOHN=63
-2 KGS=12
-2 KINGS=12
-2 PETER=61
-2 PTR=61
-2 SAMUEL=10
-2 THESSALONIANS=53
-2 TIMOTHY=55
-2C=47
-2CHRONICLES=14
-2CORINTHIANS=47
-2JN=63
-2JOHN=63
-2KGS=12
-2KINGS=12
-2PETER=61
-2PTR=61
-2SAMUEL=10
-2THESSALONIANS=53
-2TIMOTHY=55
-3 JN=64
-3 JOHN=64
-3JN=64
-3JOHN=64
-ACTS=44
-AMOS=30
-APOCALYPSE OF ST. JOHN=66
-C=51
-CANTICLE OF CANTICLES=22
-COC=22
-COLOSSIANS=51
-D=5
-DANIEL=27
-DEUTERONOMY=5
-E=49
-ECCLESIASTES=21
-EPHESIANS=49
-ESTER=17
-ESTHER=17
-EXODUS=2
-EZEKIEL=26
-EZRA=15
-G=1
-GALATIANS=48
-GENESIS=1
-H=58
-HABAKKUK=35
-HAGGAI=37
-HEBREWS=58
-HOSEA=28
-I C=46
-I CHRONICLES=13
-I CORINTHIANS=46
-I JN=62
-I JOHN=62
-I KGS=11
-I KINGS=11
-I PETER=60
-I PTR=60
-I SAMUEL=9
-I THESSALONIANS=52
-I TIMOTHY=54
-IC=46
-ICHRONICLES=13
-ICORINTHIANS=46
-II C=47
-II CHRONICLES=14
-II CORINTHIANS=47
-II JN=63
-II JOHN=63
-II KGS=12
-II KINGS=12
-II PETER=61
-II PTR=61
-II SAMUEL=10
-II THESSALONIANS=53
-II TIMOTHY=55
-IIC=47
-IICHRONICLES=14
-IICORINTHIANS=47
-III JN=64
-III JOHN=64
-IIIJN=64
-IIIJOHN=64
-IIJN=63
-IIJOHN=63
-IIKGS=12
-IIKINGS=12
-IIPETER=61
-IIPTR=61
-IISAMUEL=10
-IITHESSALONIANS=53
-IITIMOTHY=55
-IJN=62
-IJOHN=62
-IKGS=11
-IKINGS=11
-IPETER=60
-IPTR=60
-ISA=23
-ISAIAH=23
-ISAMUEL=9
-ITHESSALONIANS=52
-ITIMOTHY=54
-J=43
-JAMES=59
-JAS=59
-JEREMIAH=24
-JN=43
-JO=43
-JOB=18
-JOEL=29
-JOHN=43
-JONAH=32
-JOSHUA=6
-JUD=7
-JUDE=65
-JUDGES=7
-L=42
-LAMENTATIONS=25
-LEVITICUS=3
-LK=42
-LUKE=42
-MA=40
-MALACHI=39
-MARK=41
-MATTHEW=40
-MICAH=33
-MK=41
-MR=41
-MT=40
-N=4
-NAHUM=34
-NEHEMIAH=16
-NUMBERS=4
-OBADIAH=31
-P=19
-PH=50
-PHILEMON=57
-PHILIPPIANS=50
-PHLM=57
-PHM=57
-PHP=50
-PROVERBS=20
-PSALMS=19
-PSM=19
-PSS=19
-REVELATION OF JOHN=66
-ROMANS=45
-RUTH=8
-SONG OF SOLOMON=22
-SONG OF SONGS=22
-SOS=22
-TITUS=56
-ZECHARIAH=38
-ZEPHANIAH=36
-GENESI=1
-ESODO=2
-LEVITICO=3
-NUMERI=4
-DEUTERONOMIO=5
-GIOSUÈ=6
-GIUDICI=7
-RUTH=8
+GENESI=Gen
+ESODO=Exod
+LEVITICO=Lev
+NUMERI=Num
+DEUTERONOMIO=Deut
+GIOSUÈ=Josh
+GIUDICI=Judg
+RUTH=Ruth
-1. SAMUELE=9
-1 SAMUELE=9
-1SAMUELE=9
+1. SAMUELE=1Sam
+1 SAMUELE=1Sam
+1SAMUELE=1Sam
-2. SAMUELE=10
-2 SAMUELE=10
-2SAMUELE=10
+2. SAMUELE=2Sam
+2 SAMUELE=2Sam
+2SAMUELE=2Sam
-1. RE=11
-1 RE=11
-1RE=11
+1. RE=1Kgs
+1 RE=1Kgs
+1RE=1Kgs
-2. RE=12
-2 RE=12
-2RE=12
+2. RE=2Kgs
+2 RE=2Kgs
+2RE=2Kgs
-1. CRONACHE=13
-1 CRONACHE=13
-1CRONACHE=13
+1. CRONACHE=1Chr
+1 CRONACHE=1Chr
+1CRONACHE=1Chr
-2. CRONACHE=14
-2 CRONACHE=14
-2CRONACHE=14
+2. CRONACHE=2Chr
+2 CRONACHE=2Chr
+2CRONACHE=2Chr
-ESODO=15
-NEHEMIA=16
-ESTER=17
-GIOBBE=18
-SALMI=19
-PROVERBI=20
-ECCLESIASTE=21
-CANTICO DEI CANTICI=22
-ISAIA=23
-GEREMIA=24
-LAMENTAZIONI=25
-EZECHIELE=26
-DANIELE=27
-OSEA=28
-GIOELE=29
-AMOS=30
-ABDIA=31
-GIONA=32
-MICHEA=33
-NAHUM=34
-HABACUC=35
-SOFONIA=36
-AGGEO=37
-ZACCARIA=38
-MALACHIA=39
-MATTEO=40
-MARCO=41
-LUCA=42
-GIOVANNI=43
-ATTI=44
-ROMANI=45
-1. CORINZI=46
-2. CORINZI=47
-GALATI=48
-EFESINI=49
-FILIPPESI=50
-COLOSSESI=51
+ESODO=Ezra
+NEHEMIA=Neh
+ESTER=Esth
+GIOBBE=Job
+SALMI=Ps
+PROVERBI=Prov
+ECCLESIASTE=Eccl
+CANTICO DEI CANTICI=Song
+ISAIA=Isa
+GEREMIA=Jer
+LAMENTAZIONI=Lam
+EZECHIELE=Ezek
+DANIELE=Dan
+OSEA=Hos
+GIOELE=Joel
+AMOS=Amos
+ABDIA=Obad
+GIONA=Jonah
+MICHEA=Mic
+NAHUM=Nah
+HABACUC=Hab
+SOFONIA=Zeph
+AGGEO=Hag
+ZACCARIA=Zech
+MALACHIA=Mal
+MATTEO=Matt
+MARCO=Mark
+LUCA=Luke
+GIOVANNI=John
+ATTI=Acts
+ROMANI=Rom
+1. CORINZI=1Cor
+2. CORINZI=2Cor
+GALATI=Gal
+EFESINI=Eph
+FILIPPESI=Phil
+COLOSSESI=Col
-1. TESSALONICESI=52
-1 TESSALONICESI=52
-1TESSALONICESI=52
+1. TESSALONICESI=1Thess
+1 TESSALONICESI=1Thess
+1TESSALONICESI=1Thess
-2. TESSALONICESI=53
-2 TESSALONICESI=53
-2TESSALONICESI=53
+2. TESSALONICESI=2Thess
+2 TESSALONICESI=2Thess
+2TESSALONICESI=2Thess
-1. TIMOTEO=54
-1 TIMOTEO=54
-1TIMOTEO=54
+1. TIMOTEO=1Tim
+1 TIMOTEO=1Tim
+1TIMOTEO=1Tim
-2. TIMOTEO=55
-2 TIMOTEO=55
-2TIMOTEO=55
+2. TIMOTEO=2Tim
+2 TIMOTEO=2Tim
+2TIMOTEO=2Tim
-TITO=56
-FILEMONE=57
-EBREI=58
-GIACOMO=59
+TITO=Titus
+FILEMONE=Phlm
+EBREI=Heb
+GIACOMO=Jas
-1. PIETRO=60
-1 PIETRO=60
-1PIETRO=60
+1. PIETRO=1Pet
+1 PIETRO=1Pet
+1PIETRO=1Pet
-2. PIETRO=61
-2 PIETRO=61
-2PIETRO=61
+2. PIETRO=2Pet
+2 PIETRO=2Pet
+2PIETRO=2Pet
-1. GIOVANNI=62
-1 GIOVANNI=62
-1GIOVANNI=62
+1. GIOVANNI=1John
+1 GIOVANNI=1John
+1GIOVANNI=1John
-2. GIOVANNI=63
-2 GIOVANNI=63
-2GIOVANNI=63
-
-3. GIOVANNI=64
-3 GIOVANNI=64
-3GIOVANNI=64
-
-GIUDA=65
-APOCALISSE=66
-
-1 C=46
-1 COR=46
-1 CORINZI=46
-1 CR=46
-1 CRO=13
-1 CRON=13
-1 CRONACHE=13
-1 GIOVANNI=62
-1 GV=62
-1 PIETRO=60
-1 PT=60
-1 RE=11
-1 SAM=9
-1 SAMUELE=9
-1 TESS=52
-1 TESSALONICESI=52
-1 TIM=54
-1 TIMOTEO=54
-1 TM=54
-1 TS=52
-1C=46
-1COR=46
-1CORINZI=46
-1CR=46
-1CRO=13
-1CRON=13
-1CRONACHE=13
-1GIOVANNI=62
-1GV=62
-1PIETRO=60
-1PT=60
-1RE=11
-1SAM=9
-1SAMUELE=9
-1TESS=52
-1TESSALONICESI=52
-1TIM=54
-1TIMOTEO=54
-1TM=54
-1TS=52
-2 C=47
-2 COR=47
-2 CORINZI=47
-2 CR=47
-2 CRO=14
-2 CRON=14
-2 CRONACHE=14
-2 GIOVANNI=63
-2 GV=63
-2 PIETRO=61
-2 PT=61
-2 RE=12
-2 SAM=10
-2 SAMUELE=10
-2 TESS=53
-2 TESSALONICESI=53
-2 TIM=55
-2 TIMOTEO=55
-2 TM=55
-2 TS=53
-2C=47
-2COR=47
-2CORINZI=47
-2CR=47
-2CRO=14
-2CRON=14
-2CRONACHE=14
-2GIOVANNI=63
-2GV=63
-2PIETRO=61
-2PT=61
-2RE=12
-2SAM=10
-2SAMUELE=10
-2TESS=53
-2TESSALONICESI=53
-2TIM=55
-2TIMOTEO=55
-2TM=55
-2TS=53
-3 GIOVANNI=64
-3 GV=64
-3GIOVANNI=64
-3GV=64
-AB=35
-ABACUC=35
-ABD=31
-ABDIA=31
-AGG=37
-AGGEO=37
-AM=30
-AMO=30
-AMOS=30
-AP=66
-APOC=66
-APOCALISSE DI GIOVANNI=66
-AT=44
-ATTI DEGLI APOSTOLI=44
-C=51
-CAN=22
-CL=51
-COL=51
-COLOSSESI=51
-D=5
-DAN=27
-DANIELE=27
-DEU=5
-DEUT=5
-DEUTERONOMIO=5
-E=49
-EB=58
-EBR=58
-EBREI=58
-ECC=21
-ECCLE=21
-ECCLESIASTE=21
-EF=49
-EFESINI=49
-ES=2
-ESD=15
-ESDRA=15
-ESO=2
-ESODO=2
-EST=17
-ESTER=17
-EZ=26
-EZE=26
-EZECHIELE=26
-FIL=50
-FILEM=57
-FILEMONE=57
-FILIPPESI=50
-FL=50
-FM=57
-G=1
-GAL=48
-GALATI=48
-GBB=18
-GC=59
-GD=65
-GDC=7
-GEN=1
-GENESI=1
-GER=24
-GEREMIA=24
-GIAC=59
-GIACOMO=59
-GIO=6
-GIOB=18
-GIOBBE=18
-GIOELE=29
-GIONA=32
-GIOS=6
-GIOSUÈ=6
-GIOVANNI=43
-GIUD=7
-GIUDA=65
-GIUDICI=7
-GL=48
-GLE=29
-GNA=32
-GV=43
-HAB=35
-HABACUC=35
-I C=46
-I COR=46
-I CORINZI=46
-I CR=46
-I CRO=13
-I CRON=13
-I CRONACHE=13
-I GIOVANNI=62
-I GV=62
-I PIETRO=60
-I PT=60
-I RE=11
-I SAM=9
-I SAMUEL=9
-I TESS=52
-I TESSALONICESI=52
-I TIM=54
-I TIMOTEO=54
-I TM=54
-I TS=52
-IC=46
-ICOR=46
-ICORINZI=46
-ICR=46
-ICRO=13
-ICRON=13
-ICRONACHE=13
-IGIOVANNI=62
-IGV=62
-II C=47
-II COR=47
-II CORINZI=47
-II CR=47
-II CRO=14
-II CRON=14
-II CRONACHE=14
-II GIOVANNI=63
-II GV=63
-II PIETRO=61
-II PT=61
-II RE=12
-II SAM=10
-II SAMUELE=10
-II TESS=53
-II TESSALONICESI=53
-II TIM=55
-II TIMOTEO=55
-II TM=55
-II TS=53
-IIC=47
-IICOR=47
-IICORINZI=47
-IICR=47
-IICRO=14
-IICRON=14
-IICRONACHE=14
-IIGIOVANNI=63
-IIGV=63
-III GIOVANNI=64
-III GV=64
-IIIGIOVANNI=64
-IIIGV=64
-IIPIETRO=61
-IIPT=61
-IIRE=12
-IISAM=10
-IISAMUELE=10
-IITESS=53
-IITESSALONICESI=53
-IITIM=55
-IITIMOTEO=55
-IITM=55
-IITS=53
-IPIETRO=60
-IPT=60
-IRE=11
-IS=23
-ISA=23
-ISAIA=23
-ISAM=9
-ISAMUELE=9
-ITESS=52
-ITESSALONICESI=52
-ITIM=54
-ITIMOTEO=54
-ITM=54
-ITS=52
-L=42
-LC=42
-LAM=25
-LAMENTATIONS=25
-LEV=3
-LEVITICO=3
-LUCA=42
-MA=40
-MAL=39
-MALACHIA=39
-MARCO=41
-MATTEO=40
-MC=41
-MI=33
-MIC=33
-MICHEA=33
-MT=40
-N=4
-NAH=34
-NAHUM=34
-NEEM=16
-NEH=16
-NEHEMIA=16
-NUM=4
-NUMERI=4
-OS=28
-OSE=28
-OSEA=28
-PRO=20
-PROV=20
-PROVERBI=20
-RM=45
-ROM=45
-ROMANI=45
-RUT=8
-RUTH=8
-SAL=19
-SALMI=19
-SLM=19
-SOF=36
-SOFONIA=36
-TIT=56
-TITO=56
-TT=56
-ZAC=38
-ZACCARIA=38
+2. GIOVANNI=2John
+2 GIOVANNI=2John
+2GIOVANNI=2John
+3. GIOVANNI=3John
+3 GIOVANNI=3John
+3GIOVANNI=3John
+GIUDA=Jude
+APOCALISSE=Rev
+1 C=1Cor
+1 COR=1Cor
+1 CORINZI=1Cor
+1 CR=1Cor
+1 CRO=1Chr
+1 CRON=1Chr
+1 CRONACHE=1Chr
+1 GIOVANNI=1John
+1 GV=1John
+1 PIETRO=1Pet
+1 PT=1Pet
+1 RE=1Kgs
+1 SAM=1Sam
+1 SAMUELE=1Sam
+1 TESS=1Thess
+1 TESSALONICESI=1Thess
+1 TIM=1Tim
+1 TIMOTEO=1Tim
+1 TM=1Tim
+1 TS=1Thess
+1C=1Cor
+1COR=1Cor
+1CORINZI=1Cor
+1CR=1Cor
+1CRO=1Chr
+1CRON=1Chr
+1CRONACHE=1Chr
+1GIOVANNI=1John
+1GV=1John
+1PIETRO=1Pet
+1PT=1Pet
+1RE=1Kgs
+1SAM=1Sam
+1SAMUELE=1Sam
+1TESS=1Thess
+1TESSALONICESI=1Thess
+1TIM=1Tim
+1TIMOTEO=1Tim
+1TM=1Tim
+1TS=1Thess
+2 C=2Cor
+2 COR=2Cor
+2 CORINZI=2Cor
+2 CR=2Cor
+2 CRO=2Chr
+2 CRON=2Chr
+2 CRONACHE=2Chr
+2 GIOVANNI=2John
+2 GV=2John
+2 PIETRO=2Pet
+2 PT=2Pet
+2 RE=2Kgs
+2 SAM=2Sam
+2 SAMUELE=2Sam
+2 TESS=2Thess
+2 TESSALONICESI=2Thess
+2 TIM=2Tim
+2 TIMOTEO=2Tim
+2 TM=2Tim
+2 TS=2Thess
+2C=2Cor
+2COR=2Cor
+2CORINZI=2Cor
+2CR=2Cor
+2CRO=2Chr
+2CRON=2Chr
+2CRONACHE=2Chr
+2GIOVANNI=2John
+2GV=2John
+2PIETRO=2Pet
+2PT=2Pet
+2RE=2Kgs
+2SAM=2Sam
+2SAMUELE=2Sam
+2TESS=2Thess
+2TESSALONICESI=2Thess
+2TIM=2Tim
+2TIMOTEO=2Tim
+2TM=2Tim
+2TS=2Thess
+3 GIOVANNI=3John
+3 GV=3John
+3GIOVANNI=3John
+3GV=3John
+AB=Hab
+ABACUC=Hab
+ABD=Obad
+ABDIA=Obad
+AGG=Hag
+AGGEO=Hag
+AM=Amos
+AMO=Amos
+AMOS=Amos
+AP=Rev
+APOC=Rev
+APOCALISSE DI GIOVANNI=Rev
+AT=Acts
+ATTI DEGLI APOSTOLI=Acts
+C=Col
+CAN=Song
+CL=Col
+COL=Col
+COLOSSESI=Col
+D=Deut
+DAN=Dan
+DANIELE=Dan
+DEU=Deut
+DEUT=Deut
+DEUTERONOMIO=Deut
+E=Eph
+EB=Heb
+EBR=Heb
+EBREI=Heb
+ECC=Eccl
+ECCLE=Eccl
+ECCLESIASTE=Eccl
+EF=Eph
+EFESINI=Eph
+ES=Exod
+ESD=Ezra
+ESDRA=Ezra
+ESO=Exod
+ESODO=Exod
+EST=Esth
+ESTER=Esth
+EZ=Ezek
+EZE=Ezek
+EZECHIELE=Ezek
+FIL=Phil
+FILEM=Phlm
+FILEMONE=Phlm
+FILIPPESI=Phil
+FL=Phil
+FM=Phlm
+G=Gen
+GAL=Gal
+GALATI=Gal
+GBB=Job
+GC=Jas
+GD=Jude
+GDC=Judg
+GEN=Gen
+GENESI=Gen
+GER=Jer
+GEREMIA=Jer
+GIAC=Jas
+GIACOMO=Jas
+GIO=Josh
+GIOB=Job
+GIOBBE=Job
+GIOELE=Joel
+GIONA=Jonah
+GIOS=Josh
+GIOSUÈ=Josh
+GIOVANNI=John
+GIUD=Judg
+GIUDA=Jude
+GIUDICI=Judg
+GL=Gal
+GLE=Joel
+GNA=Jonah
+GV=John
+HAB=Hab
+HABACUC=Hab
+I C=1Cor
+I COR=1Cor
+I CORINZI=1Cor
+I CR=1Cor
+I CRO=1Chr
+I CRON=1Chr
+I CRONACHE=1Chr
+I GIOVANNI=1John
+I GV=1John
+I PIETRO=1Pet
+I PT=1Pet
+I RE=1Kgs
+I SAM=1Sam
+I SAMUEL=1Sam
+I TESS=1Thess
+I TESSALONICESI=1Thess
+I TIM=1Tim
+I TIMOTEO=1Tim
+I TM=1Tim
+I TS=1Thess
+IC=1Cor
+ICOR=1Cor
+ICORINZI=1Cor
+ICR=1Cor
+ICRO=1Chr
+ICRON=1Chr
+ICRONACHE=1Chr
+IGIOVANNI=1John
+IGV=1John
+II C=2Cor
+II COR=2Cor
+II CORINZI=2Cor
+II CR=2Cor
+II CRO=2Chr
+II CRON=2Chr
+II CRONACHE=2Chr
+II GIOVANNI=2John
+II GV=2John
+II PIETRO=2Pet
+II PT=2Pet
+II RE=2Kgs
+II SAM=2Sam
+II SAMUELE=2Sam
+II TESS=2Thess
+II TESSALONICESI=2Thess
+II TIM=2Tim
+II TIMOTEO=2Tim
+II TM=2Tim
+II TS=2Thess
+IIC=2Cor
+IICOR=2Cor
+IICORINZI=2Cor
+IICR=2Cor
+IICRO=2Chr
+IICRON=2Chr
+IICRONACHE=2Chr
+IIGIOVANNI=2John
+IIGV=2John
+III GIOVANNI=3John
+III GV=3John
+IIIGIOVANNI=3John
+IIIGV=3John
+IIPIETRO=2Pet
+IIPT=2Pet
+IIRE=2Kgs
+IISAM=2Sam
+IISAMUELE=2Sam
+IITESS=2Thess
+IITESSALONICESI=2Thess
+IITIM=2Tim
+IITIMOTEO=2Tim
+IITM=2Tim
+IITS=2Thess
+IPIETRO=1Pet
+IPT=1Pet
+IRE=1Kgs
+IS=Isa
+ISA=Isa
+ISAIA=Isa
+ISAM=1Sam
+ISAMUELE=1Sam
+ITESS=1Thess
+ITESSALONICESI=1Thess
+ITIM=1Tim
+ITIMOTEO=1Tim
+ITM=1Tim
+ITS=1Thess
+L=Luke
+LC=Luke
+LAM=Lam
+LAMENTATIONS=Lam
+LEV=Lev
+LEVITICO=Lev
+LUCA=Luke
+MA=Matt
+MAL=Mal
+MALACHIA=Mal
+MARCO=Mark
+MATTEO=Matt
+MC=Mark
+MI=Mic
+MIC=Mic
+MICHEA=Mic
+MT=Matt
+N=Num
+NAH=Nah
+NAHUM=Nah
+NEEM=Neh
+NEH=Neh
+NEHEMIA=Neh
+NUM=Num
+NUMERI=Num
+OS=Hos
+OSE=Hos
+OSEA=Hos
+PRO=Prov
+PROV=Prov
+PROVERBI=Prov
+RM=Rom
+ROM=Rom
+ROMANI=Rom
+RUT=Ruth
+RUTH=Ruth
+SAL=Ps
+SALMI=Ps
+SLM=Ps
+SOF=Zeph
+SOFONIA=Zeph
+TIT=Titus
+TITO=Titus
+TT=Titus
+ZAC=Zech
+ZACCARIA=Zech
diff --git a/locales.d/it.conf b/locales.d/it.conf
index f941033..426e7b2 100644
--- a/locales.d/it.conf
+++ b/locales.d/it.conf
@@ -72,603 +72,416 @@ Jude=Giuda
Revelation of John=Apocalisse di Giovanni
[Book Abbrevs]
-1 C=46
-1 CHRONICLES=13
-1 CORINTHIANS=46
-1 JN=62
-1 JOHN=62
-1 KGS=11
-1 KINGS=11
-1 PETER=60
-1 PTR=60
-1 SAMUEL=9
-1 THESSALONIANS=52
-1 TIMOTHY=54
-1C=46
-1CHRONICLES=13
-1CORINTHIANS=46
-1JN=62
-1JOHN=62
-1KGS=11
-1KINGS=11
-1PETER=60
-1PTR=60
-1SAMUEL=9
-1THESSALONIANS=52
-1TIMOTHY=54
-2 C=47
-2 CHRONICLES=14
-2 CORINTHIANS=47
-2 JN=63
-2 JOHN=63
-2 KGS=12
-2 KINGS=12
-2 PETER=61
-2 PTR=61
-2 SAMUEL=10
-2 THESSALONIANS=53
-2 TIMOTHY=55
-2C=47
-2CHRONICLES=14
-2CORINTHIANS=47
-2JN=63
-2JOHN=63
-2KGS=12
-2KINGS=12
-2PETER=61
-2PTR=61
-2SAMUEL=10
-2THESSALONIANS=53
-2TIMOTHY=55
-3 JN=64
-3 JOHN=64
-3JN=64
-3JOHN=64
-ACTS=44
-AMOS=30
-APOCALYPSE OF ST. JOHN=66
-C=51
-CANTICLE OF CANTICLES=22
-COC=22
-COLOSSIANS=51
-D=5
-DANIEL=27
-DEUTERONOMY=5
-E=49
-ECCLESIASTES=21
-EPHESIANS=49
-ESTER=17
-ESTHER=17
-EXODUS=2
-EZEKIEL=26
-EZRA=15
-G=1
-GALATIANS=48
-GENESIS=1
-H=58
-HABAKKUK=35
-HAGGAI=37
-HEBREWS=58
-HOSEA=28
-I C=46
-I CHRONICLES=13
-I CORINTHIANS=46
-I JN=62
-I JOHN=62
-I KGS=11
-I KINGS=11
-I PETER=60
-I PTR=60
-I SAMUEL=9
-I THESSALONIANS=52
-I TIMOTHY=54
-IC=46
-ICHRONICLES=13
-ICORINTHIANS=46
-II C=47
-II CHRONICLES=14
-II CORINTHIANS=47
-II JN=63
-II JOHN=63
-II KGS=12
-II KINGS=12
-II PETER=61
-II PTR=61
-II SAMUEL=10
-II THESSALONIANS=53
-II TIMOTHY=55
-IIC=47
-IICHRONICLES=14
-IICORINTHIANS=47
-III JN=64
-III JOHN=64
-IIIJN=64
-IIIJOHN=64
-IIJN=63
-IIJOHN=63
-IIKGS=12
-IIKINGS=12
-IIPETER=61
-IIPTR=61
-IISAMUEL=10
-IITHESSALONIANS=53
-IITIMOTHY=55
-IJN=62
-IJOHN=62
-IKGS=11
-IKINGS=11
-IPETER=60
-IPTR=60
-ISA=23
-ISAIAH=23
-ISAMUEL=9
-ITHESSALONIANS=52
-ITIMOTHY=54
-J=43
-JAMES=59
-JAS=59
-JEREMIAH=24
-JN=43
-JO=43
-JOB=18
-JOEL=29
-JOHN=43
-JONAH=32
-JOSHUA=6
-JUD=7
-JUDE=65
-JUDGES=7
-L=42
-LAMENTATIONS=25
-LEVITICUS=3
-LK=42
-LUKE=42
-MA=40
-MALACHI=39
-MARK=41
-MATTHEW=40
-MICAH=33
-MK=41
-MR=41
-MT=40
-N=4
-NAHUM=34
-NEHEMIAH=16
-NUMBERS=4
-OBADIAH=31
-P=19
-PH=50
-PHILEMON=57
-PHILIPPIANS=50
-PHLM=57
-PHM=57
-PHP=50
-PROVERBS=20
-PSALMS=19
-PSM=19
-PSS=19
-REVELATION OF JOHN=66
-ROMANS=45
-RUTH=8
-SONG OF SOLOMON=22
-SONG OF SONGS=22
-SOS=22
-TITUS=56
-ZECHARIAH=38
-ZEPHANIAH=36
-GENESI=1
-ESODO=2
-LEVITICO=3
-NUMERI=4
-DEUTERONOMIO=5
-GIOSUÈ=6
-GIUDICI=7
-RUTH=8
+GENESI=Gen
+ESODO=Exod
+LEVITICO=Lev
+NUMERI=Num
+DEUTERONOMIO=Deut
+GIOSUÈ=Josh
+GIUDICI=Judg
+RUTH=Ruth
-1. SAMUELE=9
-1 SAMUELE=9
-1SAMUELE=9
+1. SAMUELE=1Sam
+1 SAMUELE=1Sam
+1SAMUELE=1Sam
-2. SAMUELE=10
-2 SAMUELE=10
-2SAMUELE=10
+2. SAMUELE=2Sam
+2 SAMUELE=2Sam
+2SAMUELE=2Sam
-1. RE=11
-1 RE=11
-1RE=11
+1. RE=1Kgs
+1 RE=1Kgs
+1RE=1Kgs
-2. RE=12
-2 RE=12
-2RE=12
+2. RE=2Kgs
+2 RE=2Kgs
+2RE=2Kgs
-1. CRONACHE=13
-1 CRONACHE=13
-1CRONACHE=13
+1. CRONACHE=1Chr
+1 CRONACHE=1Chr
+1CRONACHE=1Chr
-2. CRONACHE=14
-2 CRONACHE=14
-2CRONACHE=14
+2. CRONACHE=2Chr
+2 CRONACHE=2Chr
+2CRONACHE=2Chr
-ESODO=15
-NEHEMIA=16
-ESTER=17
-GIOBBE=18
-SALMI=19
-PROVERBI=20
-ECCLESIASTE=21
-CANTICO DEI CANTICI=22
-ISAIA=23
-GEREMIA=24
-LAMENTAZIONI=25
-EZECHIELE=26
-DANIELE=27
-OSEA=28
-GIOELE=29
-AMOS=30
-ABDIA=31
-GIONA=32
-MICHEA=33
-NAHUM=34
-HABACUC=35
-SOFONIA=36
-AGGEO=37
-ZACCARIA=38
-MALACHIA=39
-MATTEO=40
-MARCO=41
-LUCA=42
-GIOVANNI=43
-ATTI=44
-ROMANI=45
-1. CORINZI=46
-2. CORINZI=47
-GALATI=48
-EFESINI=49
-FILIPPESI=50
-COLOSSESI=51
+ESODO=Ezra
+NEHEMIA=Neh
+ESTER=Esth
+GIOBBE=Job
+SALMI=Ps
+PROVERBI=Prov
+ECCLESIASTE=Eccl
+CANTICO DEI CANTICI=Song
+ISAIA=Isa
+GEREMIA=Jer
+LAMENTAZIONI=Lam
+EZECHIELE=Ezek
+DANIELE=Dan
+OSEA=Hos
+GIOELE=Joel
+AMOS=Amos
+ABDIA=Obad
+GIONA=Jonah
+MICHEA=Mic
+NAHUM=Nah
+HABACUC=Hab
+SOFONIA=Zeph
+AGGEO=Hag
+ZACCARIA=Zech
+MALACHIA=Mal
+MATTEO=Matt
+MARCO=Mark
+LUCA=Luke
+GIOVANNI=John
+ATTI=Acts
+ROMANI=Rom
+1. CORINZI=1Cor
+2. CORINZI=2Cor
+GALATI=Gal
+EFESINI=Eph
+FILIPPESI=Phil
+COLOSSESI=Col
-1. TESSALONICESI=52
-1 TESSALONICESI=52
-1TESSALONICESI=52
+1. TESSALONICESI=1Thess
+1 TESSALONICESI=1Thess
+1TESSALONICESI=1Thess
-2. TESSALONICESI=53
-2 TESSALONICESI=53
-2TESSALONICESI=53
+2. TESSALONICESI=2Thess
+2 TESSALONICESI=2Thess
+2TESSALONICESI=2Thess
-1. TIMOTEO=54
-1 TIMOTEO=54
-1TIMOTEO=54
+1. TIMOTEO=1Tim
+1 TIMOTEO=1Tim
+1TIMOTEO=1Tim
-2. TIMOTEO=55
-2 TIMOTEO=55
-2TIMOTEO=55
+2. TIMOTEO=2Tim
+2 TIMOTEO=2Tim
+2TIMOTEO=2Tim
-TITO=56
-FILEMONE=57
-EBREI=58
-GIACOMO=59
+TITO=Titus
+FILEMONE=Phlm
+EBREI=Heb
+GIACOMO=Jas
-1. PIETRO=60
-1 PIETRO=60
-1PIETRO=60
+1. PIETRO=1Pet
+1 PIETRO=1Pet
+1PIETRO=1Pet
-2. PIETRO=61
-2 PIETRO=61
-2PIETRO=61
+2. PIETRO=2Pet
+2 PIETRO=2Pet
+2PIETRO=2Pet
-1. GIOVANNI=62
-1 GIOVANNI=62
-1GIOVANNI=62
+1. GIOVANNI=1John
+1 GIOVANNI=1John
+1GIOVANNI=1John
-2. GIOVANNI=63
-2 GIOVANNI=63
-2GIOVANNI=63
-
-3. GIOVANNI=64
-3 GIOVANNI=64
-3GIOVANNI=64
-
-GIUDA=65
-APOCALISSE=66
-
-1 C=46
-1 COR=46
-1 CORINZI=46
-1 CR=46
-1 CRO=13
-1 CRON=13
-1 CRONACHE=13
-1 GIOVANNI=62
-1 GV=62
-1 PIETRO=60
-1 PT=60
-1 RE=11
-1 SAM=9
-1 SAMUELE=9
-1 TESS=52
-1 TESSALONICESI=52
-1 TIM=54
-1 TIMOTEO=54
-1 TM=54
-1 TS=52
-1C=46
-1COR=46
-1CORINZI=46
-1CR=46
-1CRO=13
-1CRON=13
-1CRONACHE=13
-1GIOVANNI=62
-1GV=62
-1PIETRO=60
-1PT=60
-1RE=11
-1SAM=9
-1SAMUELE=9
-1TESS=52
-1TESSALONICESI=52
-1TIM=54
-1TIMOTEO=54
-1TM=54
-1TS=52
-2 C=47
-2 COR=47
-2 CORINZI=47
-2 CR=47
-2 CRO=14
-2 CRON=14
-2 CRONACHE=14
-2 GIOVANNI=63
-2 GV=63
-2 PIETRO=61
-2 PT=61
-2 RE=12
-2 SAM=10
-2 SAMUELE=10
-2 TESS=53
-2 TESSALONICESI=53
-2 TIM=55
-2 TIMOTEO=55
-2 TM=55
-2 TS=53
-2C=47
-2COR=47
-2CORINZI=47
-2CR=47
-2CRO=14
-2CRON=14
-2CRONACHE=14
-2GIOVANNI=63
-2GV=63
-2PIETRO=61
-2PT=61
-2RE=12
-2SAM=10
-2SAMUELE=10
-2TESS=53
-2TESSALONICESI=53
-2TIM=55
-2TIMOTEO=55
-2TM=55
-2TS=53
-3 GIOVANNI=64
-3 GV=64
-3GIOVANNI=64
-3GV=64
-AB=35
-ABACUC=35
-ABD=31
-ABDIA=31
-AGG=37
-AGGEO=37
-AM=30
-AMO=30
-AMOS=30
-AP=66
-APOC=66
-APOCALISSE DI GIOVANNI=66
-AT=44
-ATTI DEGLI APOSTOLI=44
-C=51
-CAN=22
-CL=51
-COL=51
-COLOSSESI=51
-D=5
-DAN=27
-DANIELE=27
-DEU=5
-DEUT=5
-DEUTERONOMIO=5
-E=49
-EB=58
-EBR=58
-EBREI=58
-ECC=21
-ECCLE=21
-ECCLESIASTE=21
-EF=49
-EFESINI=49
-ES=2
-ESD=15
-ESDRA=15
-ESO=2
-ESODO=2
-EST=17
-ESTER=17
-EZ=26
-EZE=26
-EZECHIELE=26
-FIL=50
-FILEM=57
-FILEMONE=57
-FILIPPESI=50
-FL=50
-FM=57
-G=1
-GAL=48
-GALATI=48
-GBB=18
-GC=59
-GD=65
-GDC=7
-GEN=1
-GENESI=1
-GER=24
-GEREMIA=24
-GIAC=59
-GIACOMO=59
-GIO=6
-GIOB=18
-GIOBBE=18
-GIOELE=29
-GIONA=32
-GIOS=6
-GIOSUÈ=6
-GIOVANNI=43
-GIUD=7
-GIUDA=65
-GIUDICI=7
-GL=48
-GLE=29
-GNA=32
-GV=43
-HAB=35
-HABACUC=35
-I C=46
-I COR=46
-I CORINZI=46
-I CR=46
-I CRO=13
-I CRON=13
-I CRONACHE=13
-I GIOVANNI=62
-I GV=62
-I PIETRO=60
-I PT=60
-I RE=11
-I SAM=9
-I SAMUEL=9
-I TESS=52
-I TESSALONICESI=52
-I TIM=54
-I TIMOTEO=54
-I TM=54
-I TS=52
-IC=46
-ICOR=46
-ICORINZI=46
-ICR=46
-ICRO=13
-ICRON=13
-ICRONACHE=13
-IGIOVANNI=62
-IGV=62
-II C=47
-II COR=47
-II CORINZI=47
-II CR=47
-II CRO=14
-II CRON=14
-II CRONACHE=14
-II GIOVANNI=63
-II GV=63
-II PIETRO=61
-II PT=61
-II RE=12
-II SAM=10
-II SAMUELE=10
-II TESS=53
-II TESSALONICESI=53
-II TIM=55
-II TIMOTEO=55
-II TM=55
-II TS=53
-IIC=47
-IICOR=47
-IICORINZI=47
-IICR=47
-IICRO=14
-IICRON=14
-IICRONACHE=14
-IIGIOVANNI=63
-IIGV=63
-III GIOVANNI=64
-III GV=64
-IIIGIOVANNI=64
-IIIGV=64
-IIPIETRO=61
-IIPT=61
-IIRE=12
-IISAM=10
-IISAMUELE=10
-IITESS=53
-IITESSALONICESI=53
-IITIM=55
-IITIMOTEO=55
-IITM=55
-IITS=53
-IPIETRO=60
-IPT=60
-IRE=11
-IS=23
-ISA=23
-ISAIA=23
-ISAM=9
-ISAMUELE=9
-ITESS=52
-ITESSALONICESI=52
-ITIM=54
-ITIMOTEO=54
-ITM=54
-ITS=52
-L=42
-LC=42
-LAM=25
-LAMENTATIONS=25
-LEV=3
-LEVITICO=3
-LUCA=42
-MA=40
-MAL=39
-MALACHIA=39
-MARCO=41
-MATTEO=40
-MC=41
-MI=33
-MIC=33
-MICHEA=33
-MT=40
-N=4
-NAH=34
-NAHUM=34
-NEEM=16
-NEH=16
-NEHEMIA=16
-NUM=4
-NUMERI=4
-OS=28
-OSE=28
-OSEA=28
-PRO=20
-PROV=20
-PROVERBI=20
-RM=45
-ROM=45
-ROMANI=45
-RUT=8
-RUTH=8
-SAL=19
-SALMI=19
-SLM=19
-SOF=36
-SOFONIA=36
-TIT=56
-TITO=56
-TT=56
-ZAC=38
-ZACCARIA=38
+2. GIOVANNI=2John
+2 GIOVANNI=2John
+2GIOVANNI=2John
+3. GIOVANNI=3John
+3 GIOVANNI=3John
+3GIOVANNI=3John
+GIUDA=Jude
+APOCALISSE=Rev
+1 C=1Cor
+1 COR=1Cor
+1 CORINZI=1Cor
+1 CR=1Cor
+1 CRO=1Chr
+1 CRON=1Chr
+1 CRONACHE=1Chr
+1 GIOVANNI=1John
+1 GV=1John
+1 PIETRO=1Pet
+1 PT=1Pet
+1 RE=1Kgs
+1 SAM=1Sam
+1 SAMUELE=1Sam
+1 TESS=1Thess
+1 TESSALONICESI=1Thess
+1 TIM=1Tim
+1 TIMOTEO=1Tim
+1 TM=1Tim
+1 TS=1Thess
+1C=1Cor
+1COR=1Cor
+1CORINZI=1Cor
+1CR=1Cor
+1CRO=1Chr
+1CRON=1Chr
+1CRONACHE=1Chr
+1GIOVANNI=1John
+1GV=1John
+1PIETRO=1Pet
+1PT=1Pet
+1RE=1Kgs
+1SAM=1Sam
+1SAMUELE=1Sam
+1TESS=1Thess
+1TESSALONICESI=1Thess
+1TIM=1Tim
+1TIMOTEO=1Tim
+1TM=1Tim
+1TS=1Thess
+2 C=2Cor
+2 COR=2Cor
+2 CORINZI=2Cor
+2 CR=2Cor
+2 CRO=2Chr
+2 CRON=2Chr
+2 CRONACHE=2Chr
+2 GIOVANNI=2John
+2 GV=2John
+2 PIETRO=2Pet
+2 PT=2Pet
+2 RE=2Kgs
+2 SAM=2Sam
+2 SAMUELE=2Sam
+2 TESS=2Thess
+2 TESSALONICESI=2Thess
+2 TIM=2Tim
+2 TIMOTEO=2Tim
+2 TM=2Tim
+2 TS=2Thess
+2C=2Cor
+2COR=2Cor
+2CORINZI=2Cor
+2CR=2Cor
+2CRO=2Chr
+2CRON=2Chr
+2CRONACHE=2Chr
+2GIOVANNI=2John
+2GV=2John
+2PIETRO=2Pet
+2PT=2Pet
+2RE=2Kgs
+2SAM=2Sam
+2SAMUELE=2Sam
+2TESS=2Thess
+2TESSALONICESI=2Thess
+2TIM=2Tim
+2TIMOTEO=2Tim
+2TM=2Tim
+2TS=2Thess
+3 GIOVANNI=3John
+3 GV=3John
+3GIOVANNI=3John
+3GV=3John
+AB=Hab
+ABACUC=Hab
+ABD=Obad
+ABDIA=Obad
+AGG=Hag
+AGGEO=Hag
+AM=Amos
+AMO=Amos
+AMOS=Amos
+AP=Rev
+APOC=Rev
+APOCALISSE DI GIOVANNI=Rev
+AT=Acts
+ATTI DEGLI APOSTOLI=Acts
+C=Col
+CAN=Song
+CL=Col
+COL=Col
+COLOSSESI=Col
+D=Deut
+DAN=Dan
+DANIELE=Dan
+DEU=Deut
+DEUT=Deut
+DEUTERONOMIO=Deut
+E=Eph
+EB=Heb
+EBR=Heb
+EBREI=Heb
+ECC=Eccl
+ECCLE=Eccl
+ECCLESIASTE=Eccl
+EF=Eph
+EFESINI=Eph
+ES=Exod
+ESD=Ezra
+ESDRA=Ezra
+ESO=Exod
+ESODO=Exod
+EST=Esth
+ESTER=Esth
+EZ=Ezek
+EZE=Ezek
+EZECHIELE=Ezek
+FIL=Phil
+FILEM=Phlm
+FILEMONE=Phlm
+FILIPPESI=Phil
+FL=Phil
+FM=Phlm
+G=Gen
+GAL=Gal
+GALATI=Gal
+GBB=Job
+GC=Jas
+GD=Jude
+GDC=Judg
+GEN=Gen
+GENESI=Gen
+GER=Jer
+GEREMIA=Jer
+GIAC=Jas
+GIACOMO=Jas
+GIO=Josh
+GIOB=Job
+GIOBBE=Job
+GIOELE=Joel
+GIONA=Jonah
+GIOS=Josh
+GIOSUÈ=Josh
+GIOVANNI=John
+GIUD=Judg
+GIUDA=Jude
+GIUDICI=Judg
+GL=Gal
+GLE=Joel
+GNA=Jonah
+GV=John
+HAB=Hab
+HABACUC=Hab
+I C=1Cor
+I COR=1Cor
+I CORINZI=1Cor
+I CR=1Cor
+I CRO=1Chr
+I CRON=1Chr
+I CRONACHE=1Chr
+I GIOVANNI=1John
+I GV=1John
+I PIETRO=1Pet
+I PT=1Pet
+I RE=1Kgs
+I SAM=1Sam
+I SAMUEL=1Sam
+I TESS=1Thess
+I TESSALONICESI=1Thess
+I TIM=1Tim
+I TIMOTEO=1Tim
+I TM=1Tim
+I TS=1Thess
+IC=1Cor
+ICOR=1Cor
+ICORINZI=1Cor
+ICR=1Cor
+ICRO=1Chr
+ICRON=1Chr
+ICRONACHE=1Chr
+IGIOVANNI=1John
+IGV=1John
+II C=2Cor
+II COR=2Cor
+II CORINZI=2Cor
+II CR=2Cor
+II CRO=2Chr
+II CRON=2Chr
+II CRONACHE=2Chr
+II GIOVANNI=2John
+II GV=2John
+II PIETRO=2Pet
+II PT=2Pet
+II RE=2Kgs
+II SAM=2Sam
+II SAMUELE=2Sam
+II TESS=2Thess
+II TESSALONICESI=2Thess
+II TIM=2Tim
+II TIMOTEO=2Tim
+II TM=2Tim
+II TS=2Thess
+IIC=2Cor
+IICOR=2Cor
+IICORINZI=2Cor
+IICR=2Cor
+IICRO=2Chr
+IICRON=2Chr
+IICRONACHE=2Chr
+IIGIOVANNI=2John
+IIGV=2John
+III GIOVANNI=3John
+III GV=3John
+IIIGIOVANNI=3John
+IIIGV=3John
+IIPIETRO=2Pet
+IIPT=2Pet
+IIRE=2Kgs
+IISAM=2Sam
+IISAMUELE=2Sam
+IITESS=2Thess
+IITESSALONICESI=2Thess
+IITIM=2Tim
+IITIMOTEO=2Tim
+IITM=2Tim
+IITS=2Thess
+IPIETRO=1Pet
+IPT=1Pet
+IRE=1Kgs
+IS=Isa
+ISA=Isa
+ISAIA=Isa
+ISAM=1Sam
+ISAMUELE=1Sam
+ITESS=1Thess
+ITESSALONICESI=1Thess
+ITIM=1Tim
+ITIMOTEO=1Tim
+ITM=1Tim
+ITS=1Thess
+L=Luke
+LC=Luke
+LAM=Lam
+LAMENTATIONS=Lam
+LEV=Lev
+LEVITICO=Lev
+LUCA=Luke
+MA=Matt
+MAL=Mal
+MALACHIA=Mal
+MARCO=Mark
+MATTEO=Matt
+MC=Mark
+MI=Mic
+MIC=Mic
+MICHEA=Mic
+MT=Matt
+N=Num
+NAH=Nah
+NAHUM=Nah
+NEEM=Neh
+NEH=Neh
+NEHEMIA=Neh
+NUM=Num
+NUMERI=Num
+OS=Hos
+OSE=Hos
+OSEA=Hos
+PRO=Prov
+PROV=Prov
+PROVERBI=Prov
+RM=Rom
+ROM=Rom
+ROMANI=Rom
+RUT=Ruth
+RUTH=Ruth
+SAL=Ps
+SALMI=Ps
+SLM=Ps
+SOF=Zeph
+SOFONIA=Zeph
+TIT=Titus
+TITO=Titus
+TT=Titus
+ZAC=Zech
+ZACCARIA=Zech
diff --git a/locales.d/ja-utf8.conf b/locales.d/ja-utf8.conf
new file mode 100644
index 0000000..d6d2c9a
--- /dev/null
+++ b/locales.d/ja-utf8.conf
@@ -0,0 +1,201 @@
+[Meta]
+Name=ja
+Description=Japanese (Unicode)
+Encoding=UTF-8
+
+[Text]
+Genesis=創世記
+Exodus=出エジプト記
+Leviticus=レビ記
+Numbers=民数記
+Deuteronomy=申命記
+Joshua=ヨシュア記
+Judges=士師記
+Ruth=ルツ記
+I Samuel=サムエル記上
+II Samuel=サムエル記下
+I Kings=列王紀上
+II Kings=列王紀下
+I Chronicles=歴代志上
+II Chronicles=歴代志下
+Ezra=エズラ記
+Nehemiah=ãƒãƒ˜ãƒŸãƒ¤è¨˜
+Esther=エステル記
+Job=ヨブ記
+Psalms=詩篇
+Proverbs=箴言
+Ecclesiastes=ä¼é“ã®æ›¸
+Song of Solomon=雅歌
+Isaiah=イザヤ書
+Jeremiah=エレミヤ書
+Lamentations=哀歌
+Ezekiel=エゼキエル書
+Daniel=ダニエル書
+Hosea=ホセア書
+Joel=ヨエル書
+Amos=アモス書
+Obadiah=オãƒãƒ‡ãƒ¤æ›¸
+Jonah=ヨナ書
+Micah=ミカ書
+Nahum=ナホム書
+Habakkuk=ãƒãƒã‚¯ã‚¯æ›¸
+Zephaniah=ゼãƒãƒ‹ãƒ¤æ›¸
+Haggai=ãƒã‚¬ã‚¤æ›¸
+Zechariah=ゼカリヤ書
+Malachi=マラキ書
+Matthew=マタイã«ã‚ˆã‚‹ç¦éŸ³æ›¸
+Mark=マルコã«ã‚ˆã‚‹ç¦éŸ³æ›¸
+Luke=ルカã«ã‚ˆã‚‹ç¦éŸ³æ›¸
+John=ヨãƒãƒã«ã‚ˆã‚‹ç¦éŸ³æ›¸
+Acts=使徒行ä¼
+Romans=ローマ人ã¸ã®æ‰‹ç´™
+I Corinthians=コリント人ã¸ã®ç¬¬ä¸€ã®æ‰‹ç´™
+II Corinthians=コリント人ã¸ã®ç¬¬äºŒã®æ‰‹ç´™
+Galatians=ガラテヤ人ã¸ã®æ‰‹ç´™
+Ephesians=エペソ人ã¸ã®æ‰‹ç´™
+Philippians=ピリピ人ã¸ã®æ‰‹ç´™
+Colossians=コロサイ人ã¸ã®æ‰‹ç´™
+I Thessalonians=テサロニケ人ã¸ã®ç¬¬ä¸€ã®æ‰‹ç´™
+II Thessalonians=テサロニケ人ã¸ã®ç¬¬äºŒã®æ‰‹ç´™
+I Timothy=テモテヘã®ç¬¬ä¸€ã®æ‰‹ç´™
+II Timothy=テモテヘã®ç¬¬äºŒã®æ‰‹ç´™
+Titus=テトスヘã®æ‰‹ç´™
+Philemon=ピレモンヘã®æ‰‹ç´™
+Hebrews=ヘブル人ã¸ã®æ‰‹ç´™
+James=ヤコブã®æ‰‹ç´™
+I Peter=ペテロã®ç¬¬ä¸€ã®æ‰‹ç´™
+II Peter=ペテロã®ç¬¬äºŒã®æ‰‹ç´™
+I John=ヨãƒãƒã®ç¬¬ä¸€ã®æ‰‹ç´™
+II John=ヨãƒãƒã®ç¬¬äºŒã®æ‰‹ç´™
+III John=ヨãƒãƒã®ç¬¬ä¸‰ã®æ‰‹ç´™
+Jude=ユダã®æ‰‹ç´™
+Revelation of John=ヨãƒãƒã®é»™ç¤ºéŒ²
+
+
+#Apocr
+
+
+# 1Esd
+I Esdras=エズラ記(ギリシャ語)
+# 2Esd
+II Esdras=エズラ記(ラテン語)
+# Tob
+Tobit=トビト記
+# Jdt
+Judith=ユディト記
+# AddEsth
+Additions to Esther=エステル記補éº
+# EsthGr
+Esther (Greek)=エステル記(ギリシャ語)
+# Wis
+Wisdom=知æµã®æ›¸
+# Sir
+Sirach=シラ書(集会ã®æ›¸)
+# Bar
+Baruch=ãƒãƒ«ã‚¯æ›¸
+# PrAzar
+Prayer of Azariah=アザルヤã®ç¥ˆã‚Šã¨ä¸‰äººã®è‹¥è€…ã®è³›æ­Œ
+# Sus
+Susanna=スザンナ
+# Bel
+Bel and the Dragon=ベルã¨ç«œ
+# PrMan
+Prayer of Manasses=マナセã®ç¥ˆã‚Š
+# 1Macc
+I Maccabees=マカãƒã‚¤è¨˜ä¸€
+# 2Macc
+II Maccabees=マカãƒã‚¤è¨˜äºŒ
+# 3Macc
+III Maccabees=マカãƒã‚¤è¨˜ä¸‰
+# 4Macc
+IV Maccabees=マカãƒã‚¤è¨˜å››
+# AddPs
+Additional Psalm=詩篇第151編
+
+
+[Book Abbrevs]
+
+創世記=Gen
+出エジプト記=Exod
+レビ記=Lev
+民数記=Num
+申命記=Deut
+ヨシュア記=Josh
+士師記=Judg
+ルツ記=Ruth
+サムエル記上=1Sam
+サムエル記下=2Sam
+列王紀上=1Kgs
+列王紀下=2Kgs
+歴代志上=1Chr
+歴代志下=2Chr
+エズラ記=Ezra
+ãƒãƒ˜ãƒŸãƒ¤è¨˜=Neh
+エステル記=Esth
+ヨブ記=Job
+詩篇=Ps
+箴言=Prov
+ä¼é“ã®æ›¸=Eccl
+雅歌=Song
+イザヤ書=Isa
+エレミヤ書=Jer
+哀歌=Lam
+エゼキエル書=Ezek
+ダニエル書=Dan
+ホセア書=Hos
+ヨエル書=Joel
+アモス書=Amos
+オãƒãƒ‡ãƒ¤æ›¸=Obad
+ヨナ書=Jonah
+ミカ書=Mic
+ナホム書=Nah
+ãƒãƒã‚¯ã‚¯æ›¸=Hab
+ゼãƒãƒ‹ãƒ¤æ›¸=Zeph
+ãƒã‚¬ã‚¤æ›¸=Hag
+ゼカリヤ書=Zech
+マラキ書=Mal
+マタイã«ã‚ˆã‚‹ç¦éŸ³æ›¸=Matt
+マルコã«ã‚ˆã‚‹ç¦éŸ³æ›¸=Mark
+ルカã«ã‚ˆã‚‹ç¦éŸ³æ›¸=Luke
+ヨãƒãƒã«ã‚ˆã‚‹ç¦éŸ³æ›¸=John
+使徒行ä¼=Acts
+ローマ人ã¸ã®æ‰‹ç´™=Rom
+コリント人ã¸ã®ç¬¬ä¸€ã®æ‰‹ç´™=1Cor
+コリント人ã¸ã®ç¬¬äºŒã®æ‰‹ç´™=2Cor
+ガラテヤ人ã¸ã®æ‰‹ç´™=Gal
+エペソ人ã¸ã®æ‰‹ç´™=Eph
+ピリピ人ã¸ã®æ‰‹ç´™=Phil
+コロサイ人ã¸ã®æ‰‹ç´™=Col
+テサロニケ人ã¸ã®ç¬¬ä¸€ã®æ‰‹ç´™=1Thess
+テサロニケ人ã¸ã®ç¬¬äºŒã®æ‰‹ç´™=2Thess
+テモテヘã®ç¬¬ä¸€ã®æ‰‹ç´™=1Tim
+テモテヘã®ç¬¬äºŒã®æ‰‹ç´™=2Tim
+テトスヘã®æ‰‹ç´™=Titus
+ピレモンヘã®æ‰‹ç´™=Phlm
+ヘブル人ã¸ã®æ‰‹ç´™=Heb
+ヤコブã®æ‰‹ç´™=Jas
+ペテロã®ç¬¬ä¸€ã®æ‰‹ç´™=1Pet
+ペテロã®ç¬¬äºŒã®æ‰‹ç´™=2Pet
+ヨãƒãƒã®ç¬¬ä¸€ã®æ‰‹ç´™=1John
+ヨãƒãƒã®ç¬¬äºŒã®æ‰‹ç´™=2John
+ヨãƒãƒã®ç¬¬ä¸‰ã®æ‰‹ç´™=3John
+ユダã®æ‰‹ç´™=Jude
+ヨãƒãƒã®é»™ç¤ºéŒ²=Rev
+エズラ記(ギリシャ語)=1Esd
+エズラ記(ラテン語)=2Esd
+トビト記=Tob
+ユディト記=Jdt
+エステル記補éº=AddEsth
+エステル記(ギリシャ語)=EsthGr
+知æµã®æ›¸=Wis
+シラ書(集会ã®æ›¸)=Sir
+ãƒãƒ«ã‚¯æ›¸=Bar
+アザルヤã®ç¥ˆã‚Šã¨ä¸‰äººã®è‹¥è€…ã®è³›æ­Œ=PrAzar
+スザンナ=Sus
+ベルã¨ç«œ=Bel
+マナセã®ç¥ˆã‚Š=PrMan
+マカãƒã‚¤è¨˜ä¸€=1Macc
+マカãƒã‚¤è¨˜äºŒ=2Macc
+マカãƒã‚¤è¨˜ä¸‰=3Macc
+マカãƒã‚¤è¨˜å››=4Macc
+詩篇第151編=AddPs
diff --git a/locales.d/ja.conf b/locales.d/ja.conf
deleted file mode 100644
index cda897e..0000000
--- a/locales.d/ja.conf
+++ /dev/null
@@ -1,401 +0,0 @@
-[Meta]
-Name=ja
-Description=Japanese[unicode]
-Encoding=UTF-8
-[Text]
-
-# Insert after the = characters the translated booknames.
-
-Genesis=創世記
-Exodus=出エジプト記
-Leviticus=レビ記
-Numbers=民数記
-Deuteronomy=申命記
-Joshua=ヨシュア記
-Judges=士師記
-Ruth=ルツ記
-I Samuel=サムエル記上
-II Samuel=サムエル記下
-I Kings=列王紀上
-II Kings=列王紀下
-I Chronicles=歴代志上
-II Chronicles=歴代志下
-Ezra=エズラ記
-Nehemiah=ãƒãƒ˜ãƒŸãƒ¤è¨˜
-Esther=エステル記
-Job=ヨブ記
-Psalms=詩篇
-Proverbs=箴言
-Ecclesiastes=ä¼é“ã®æ›¸
-Song of Solomon=雅歌
-Isaiah=イザヤ書
-Jeremiah=エレミヤ書
-Lamentations=哀歌
-Ezekiel=エゼキエル書
-Daniel=ダニエル書
-Hosea=ホセア書
-Joel=ヨエル書
-Amos=アモス書
-Obadiah=オãƒãƒ‡ãƒ¤æ›¸
-Jonah=ヨナ書
-Micah=ミカ書
-Nahum=ナホム書
-Habakkuk=ãƒãƒã‚¯ã‚¯æ›¸
-Zephaniah=ゼãƒãƒ‹ãƒ¤æ›¸
-Haggai=ãƒã‚¬ã‚¤æ›¸
-Zechariah=ゼカリヤ書
-Malachi=マラキ書
-Matthew=マタイã«ã‚ˆã‚‹ç¦éŸ³æ›¸
-Mark=マルコã«ã‚ˆã‚‹ç¦éŸ³æ›¸
-Luke=ルカã«ã‚ˆã‚‹ç¦éŸ³æ›¸
-John=ヨãƒãƒã«ã‚ˆã‚‹ç¦éŸ³æ›¸
-Acts=使徒行ä¼
-Romans=ローマ人ã¸ã®æ‰‹ç´™
-I Corinthians=コリント人ã¸ã®ç¬¬ä¸€ã®æ‰‹ç´™
-II Corinthians=コリント人ã¸ã®ç¬¬äºŒã®æ‰‹ç´™
-Galatians=ガラテヤ人ã¸ã®æ‰‹ç´™
-Ephesians=エペソ人ã¸ã®æ‰‹ç´™
-Philippians=ピリピ人ã¸ã®æ‰‹ç´™
-Colossians=コロサイ人ã¸ã®æ‰‹ç´™
-I Thessalonians=テサロニケ人ã¸ã®ç¬¬ä¸€ã®æ‰‹ç´™
-II Thessalonians=テサロニケ人ã¸ã®ç¬¬äºŒã®æ‰‹ç´™
-I Timothy=テモテヘã®ç¬¬ä¸€ã®æ‰‹ç´™
-II Timothy=テモテヘã®ç¬¬äºŒã®æ‰‹ç´™
-Titus=テトスヘã®æ‰‹ç´™
-Philemon=ピレモンヘã®æ‰‹ç´™
-Hebrews=ヘブル人ã¸ã®æ‰‹ç´™
-James=ヤコブã®æ‰‹ç´™
-I Peter=ペテロã®ç¬¬ä¸€ã®æ‰‹ç´™
-II Peter=ペテロã®ç¬¬äºŒã®æ‰‹ç´™
-I John=ヨãƒãƒã®ç¬¬ä¸€ã®æ‰‹ç´™
-II John=ヨãƒãƒã®ç¬¬äºŒã®æ‰‹ç´™
-III John=ヨãƒãƒã®ç¬¬ä¸‰ã®æ‰‹ç´™
-Jude=ユダã®æ‰‹ç´™
-Revelation of John=ヨãƒãƒã®é»™ç¤ºéŒ²
-
-[Book Abbrevs]
-
-# Here are the standard english booknames and abbrevations. Don't change
-# them. Change your own ones below.
-
-1 C=46
-1 CHRONICLES=13
-1 CORINTHIANS=46
-1 JN=62
-1 JOHN=62
-1 KGS=11
-1 KINGS=11
-1 PETER=60
-1 PTR=60
-1 SAMUEL=9
-1 THESSALONIANS=52
-1 TIMOTHY=54
-1C=46
-1CHRONICLES=13
-1CORINTHIANS=46
-1JN=62
-1JOHN=62
-1KGS=11
-1KINGS=11
-1PETER=60
-1PTR=60
-1SAMUEL=9
-1THESSALONIANS=52
-1TIMOTHY=54
-2 C=47
-2 CHRONICLES=14
-2 CORINTHIANS=47
-2 JN=63
-2 JOHN=63
-2 KGS=12
-2 KINGS=12
-2 PETER=61
-2 PTR=61
-2 SAMUEL=10
-2 THESSALONIANS=53
-2 TIMOTHY=55
-2C=47
-2CHRONICLES=14
-2CORINTHIANS=47
-2JN=63
-2JOHN=63
-2KGS=12
-2KINGS=12
-2PETER=61
-2PTR=61
-2SAMUEL=10
-2THESSALONIANS=53
-2TIMOTHY=55
-3 JN=64
-3 JOHN=64
-3JN=64
-3JOHN=64
-ACTS=44
-AMOS=30
-APOCALYPSE OF ST. JOHN=66
-C=51
-CANTICLE OF CANTICLES=22
-COC=22
-COLOSSIANS=51
-D=5
-DANIEL=27
-DEUTERONOMY=5
-E=49
-ECCLESIASTES=21
-EPHESIANS=49
-ESTER=17
-ESTHER=17
-EXODUS=2
-EZEKIEL=26
-EZRA=15
-G=1
-GALATIANS=48
-GENESIS=1
-H=58
-HABAKKUK=35
-HAGGAI=37
-HEBREWS=58
-HOSEA=28
-I C=46
-I CHRONICLES=13
-I CORINTHIANS=46
-I JN=62
-I JOHN=62
-I KGS=11
-I KINGS=11
-I PETER=60
-I PTR=60
-I SAMUEL=9
-I THESSALONIANS=52
-I TIMOTHY=54
-IC=46
-ICHRONICLES=13
-ICORINTHIANS=46
-II C=47
-II CHRONICLES=14
-II CORINTHIANS=47
-II JN=63
-II JOHN=63
-II KGS=12
-II KINGS=12
-II PETER=61
-II PTR=61
-II SAMUEL=10
-II THESSALONIANS=53
-II TIMOTHY=55
-IIC=47
-IICHRONICLES=14
-IICORINTHIANS=47
-III JN=64
-III JOHN=64
-IIIJN=64
-IIIJOHN=64
-IIJN=63
-IIJOHN=63
-IIKGS=12
-IIKINGS=12
-IIPETER=61
-IIPTR=61
-IISAMUEL=10
-IITHESSALONIANS=53
-IITIMOTHY=55
-IJN=62
-IJOHN=62
-IKGS=11
-IKINGS=11
-IPETER=60
-IPTR=60
-ISA=23
-ISAIAH=23
-ISAMUEL=9
-ITHESSALONIANS=52
-ITIMOTHY=54
-J=43
-JAMES=59
-JAS=59
-JEREMIAH=24
-JN=43
-JO=43
-JOB=18
-JOEL=29
-JOHN=43
-JONAH=32
-JOSHUA=6
-JUD=7
-JUDE=65
-JUDGES=7
-L=42
-LAMENTATIONS=25
-LEVITICUS=3
-LK=42
-LUKE=42
-MA=40
-MALACHI=39
-MARK=41
-MATTHEW=40
-MICAH=33
-MK=41
-MR=41
-MT=40
-N=4
-NAHUM=34
-NEHEMIAH=16
-NUMBERS=4
-OBADIAH=31
-P=19
-PH=50
-PHILEMON=57
-PHILIPPIANS=50
-PHM=57
-PHP=50
-PROVERBS=20
-PSALMS=19
-PSM=19
-PSS=19
-REVELATION OF JOHN=66
-ROMANS=45
-RUTH=8
-SONG OF SOLOMON=22
-SONG OF SONGS=22
-SOS=22
-TITUS=56
-ZECHARIAH=38
-ZEPHANIAH=36
-
-# here are the booknames and possible abbrevations of your language! The
-# names below are german booknames, change them. The number after the names
-# are the booknumber (location of book in the Bible).
-
-GEN=1
-EXOD=2
-LEV=3
-NUM=4
-DEUT=5
-JOSH=6
-JUDG=7
-RUTH=8
-1 SAM=9
-2 SAM=10
-1 KGS=11
-2 KGS=12
-1 CHR=13
-2 CHR=14
-EZRA=15
-NEH=16
-ESTH=17
-JOB=18
-PS=19
-PROV=20
-ECCL=21
-SONG=22
-ISA=23
-JER=24
-LAM=25
-EZEK=26
-DAN=27
-HOS=28
-JOEL=29
-AMOS=30
-OBAD=31
-JONAH=32
-MIC=33
-NAH=34
-HAB=35
-ZEPH=36
-HAG=37
-ZECH=38
-MAL=39
-MATTHEW=40
-MARK=41
-LUKE=42
-JOHN=43
-ACTS=44
-ROM=45
-1 COR=46
-2 COR=47
-GAL=48
-EPH=49
-PHIL=50
-COL=51
-1 THESS=52
-2 THESS=53
-1 TIM=54
-2 TIM=55
-TIT=56
-PHLM=57
-HEB=58
-JAS=59
-1 PET=60
-2 PET=61
-1 JOHN=62
-2 JOHN=63
-3 JOHN=64
-JUDE=65
-REV=66
-
-創世記=1
-出エジプト記=2
-レビ記=3
-民数記=4
-申命記=5
-ヨシュア記=6
-士師記=7
-ルツ記=8
-サムエル記上=9
-サムエル記下=10
-列王紀上=11
-列王紀下=12
-歴代志上=13
-歴代志下=14
-エズラ記=15
-ãƒãƒ˜ãƒŸãƒ¤è¨˜=16
-エステル記=17
-ヨブ記=18
-詩篇=19
-箴言=20
-ä¼é“ã®æ›¸=21
-雅歌=22
-イザヤ書=23
-エレミヤ書=24
-哀歌=25
-エゼキエル書=26
-ダニエル書=27
-ホセア書=28
-ヨエル書=29
-アモス書=30
-オãƒãƒ‡ãƒ¤æ›¸=31
-ヨナ書=32
-ミカ書=33
-ナホム書=34
-ãƒãƒã‚¯ã‚¯æ›¸=35
-ゼãƒãƒ‹ãƒ¤æ›¸=36
-ãƒã‚¬ã‚¤æ›¸=37
-ゼカリヤ書=38
-マラキ書=39
-マタイã«ã‚ˆã‚‹ç¦éŸ³æ›¸=40
-マルコã«ã‚ˆã‚‹ç¦éŸ³æ›¸=41
-ルカã«ã‚ˆã‚‹ç¦éŸ³æ›¸=42
-ヨãƒãƒã«ã‚ˆã‚‹ç¦éŸ³æ›¸=43
-使徒行ä¼=44
-ローマ人ã¸ã®æ‰‹ç´™=45
-コリント人ã¸ã®ç¬¬ä¸€ã®æ‰‹ç´™=46
-コリント人ã¸ã®ç¬¬äºŒã®æ‰‹ç´™=47
-ガラテヤ人ã¸ã®æ‰‹ç´™=48
-エペソ人ã¸ã®æ‰‹ç´™=49
-ピリピ人ã¸ã®æ‰‹ç´™=50
-コロサイ人ã¸ã®æ‰‹ç´™=51
-テサロニケ人ã¸ã®ç¬¬ä¸€ã®æ‰‹ç´™=52
-テサロニケ人ã¸ã®ç¬¬äºŒã®æ‰‹ç´™=53
-テモテヘã®ç¬¬ä¸€ã®æ‰‹ç´™=54
-テモテヘã®ç¬¬äºŒã®æ‰‹ç´™=55
-テトスヘã®æ‰‹ç´™=56
-ピレモンヘã®æ‰‹ç´™=57
-ヘブル人ã¸ã®æ‰‹ç´™=58
-ヤコブã®æ‰‹ç´™=59
-ペテロã®ç¬¬ä¸€ã®æ‰‹ç´™=60
-ペテロã®ç¬¬äºŒã®æ‰‹ç´™=61
-ヨãƒãƒã®ç¬¬ä¸€ã®æ‰‹ç´™=62
-ヨãƒãƒã®ç¬¬äºŒã®æ‰‹ç´™=63
-ヨãƒãƒã®ç¬¬ä¸‰ã®æ‰‹ç´™=64
-ユダã®æ‰‹ç´™=65
-ヨãƒãƒã®é»™ç¤ºéŒ²=66
diff --git a/locales.d/ko-utf8.conf b/locales.d/ko-utf8.conf
index ef3caa2..0c621f2 100644
--- a/locales.d/ko-utf8.conf
+++ b/locales.d/ko-utf8.conf
@@ -72,385 +72,201 @@ Jude=유다서
Revelation of John=요한계시ë¡
[Book Abbrevs]
-1 C=46
-1 CHRONICLES=13
-1 CORINTHIANS=46
-1 JN=62
-1 JOHN=62
-1 KGS=11
-1 KINGS=11
-1 PETER=60
-1 PTR=60
-1 SAMUEL=9
-1 THESSALONIANS=52
-1 TIMOTHY=54
-1C=46
-1CHRONICLES=13
-1CORINTHIANS=46
-1JN=62
-1JOHN=62
-1KGS=11
-1KINGS=11
-1PETER=60
-1PTR=60
-1SAMUEL=9
-1THESSALONIANS=52
-1TIMOTHY=54
-2 C=47
-2 CHRONICLES=14
-2 CORINTHIANS=47
-2 JN=63
-2 JOHN=63
-2 KGS=12
-2 KINGS=12
-2 PETER=61
-2 PTR=61
-2 SAMUEL=10
-2 THESSALONIANS=53
-2 TIMOTHY=55
-2C=47
-2CHRONICLES=14
-2CORINTHIANS=47
-2JN=63
-2JOHN=63
-2KGS=12
-2KINGS=12
-2PETER=61
-2PTR=61
-2SAMUEL=10
-2THESSALONIANS=53
-2TIMOTHY=55
-3 JN=64
-3 JOHN=64
-3JN=64
-3JOHN=64
-ACTS=44
-AMOS=30
-APOCALYPSE OF ST. JOHN=66
-C=51
-CANTICLE OF CANTICLES=22
-COC=22
-COLOSSIANS=51
-D=5
-DANIEL=27
-DEUTERONOMY=5
-E=49
-ECCLESIASTES=21
-EPHESIANS=49
-ESTER=17
-ESTHER=17
-EXODUS=2
-EZEKIEL=26
-EZRA=15
-G=1
-GALATIANS=48
-GENESIS=1
-H=58
-HABAKKUK=35
-HAGGAI=37
-HEBREWS=58
-HOSEA=28
-I C=46
-I CHRONICLES=13
-I CORINTHIANS=46
-I JN=62
-I JOHN=62
-I KGS=11
-I KINGS=11
-I PETER=60
-I PTR=60
-I SAMUEL=9
-I THESSALONIANS=52
-I TIMOTHY=54
-IC=46
-ICHRONICLES=13
-ICORINTHIANS=46
-II C=47
-II CHRONICLES=14
-II CORINTHIANS=47
-II JN=63
-II JOHN=63
-II KGS=12
-II KINGS=12
-II PETER=61
-II PTR=61
-II SAMUEL=10
-II THESSALONIANS=53
-II TIMOTHY=55
-IIC=47
-IICHRONICLES=14
-IICORINTHIANS=47
-III JN=64
-III JOHN=64
-IIIJN=64
-IIIJOHN=64
-IIJN=63
-IIJOHN=63
-IIKGS=12
-IIKINGS=12
-IIPETER=61
-IIPTR=61
-IISAMUEL=10
-IITHESSALONIANS=53
-IITIMOTHY=55
-IJN=62
-IJOHN=62
-IKGS=11
-IKINGS=11
-IPETER=60
-IPTR=60
-ISA=23
-ISAIAH=23
-ISAMUEL=9
-ITHESSALONIANS=52
-ITIMOTHY=54
-J=43
-JAMES=59
-JAS=59
-JEREMIAH=24
-JN=43
-JO=43
-JOB=18
-JOEL=29
-JOHN=43
-JONAH=32
-JOSHUA=6
-JUD=7
-JUDE=65
-JUDGES=7
-L=42
-LAMENTATIONS=25
-LEVITICUS=3
-LK=42
-LUKE=42
-MA=40
-MALACHI=39
-MARK=41
-MATTHEW=40
-MICAH=33
-MK=41
-MR=41
-MT=40
-N=4
-NAHUM=34
-NEHEMIAH=16
-NUMBERS=4
-OBADIAH=31
-P=19
-PH=50
-PHILEMON=57
-PHILIPPIANS=50
-PHLM=57
-PHM=57
-PHP=50
-PROVERBS=20
-PSALMS=19
-PSM=19
-PSS=19
-REVELATION OF JOHN=66
-ROMANS=45
-RUTH=8
-SONG OF SOLOMON=22
-SONG OF SONGS=22
-SOS=22
-TITUS=56
-ZECHARIAH=38
-ZEPHANIAH=36
-
-창세기=1
-ì°½=1
-
-출애굽기=2
-츌=2
-
-레위기=3
-ë ˆ=3
-
-민수기=4
-민=4
-
-신명기=5
-ì‹ =5
-
-여호수아=6
-수=6
-
-사사기=7
-ì‚¿=7
-
-룻기=8
-룻=8
-
-사무엘ìƒ=9
-삼ìƒ=9
-
-사무엘하=10
-삼하=10
-
-열왕기ìƒ=11
-왕ìƒ=11
-
-열왕기하=12
-왕하=12
-
-역대ìƒ=13
-대ìƒ=13
-
-역대하=14
-대하=14
-
-ì—스ë¼=15
-스=15
-
-ëŠí—¤ë¯¸ì•¼=16
-ëŠ=16
-ì—스ë”=17
-ì—=17
+창세기=Gen
+ì°½=Gen
-욥기=18
-욥=18
+출애굽기=Exod
+츌=Exod
-시편=19
-시=19
+레위기=Lev
+ë ˆ=Lev
-ìž ì–¸=20
-ìž =20
+민수기=Num
+민=Num
-ì „ë„ì„œ=21
-ì „=21
+신명기=Deut
+ì‹ =Deut
-ì•„ê°€=22
-ì•„=22
+여호수아=Josh
+수=Josh
-ì´ì‚¬ì•¼=23
-사=23
+사사기=Judg
+ì‚¿=Judg
-예레미야=24
-ë ˜=24
+룻기=Ruth
+룻=Ruth
-예레미야애가=25
-ì• =25
+사무엘ìƒ=1Sam
+삼ìƒ=1Sam
-ì—스겔=26
-ê²”=26
+사무엘하=2Sam
+삼하=2Sam
-다니엘=27
-단=27
+열왕기ìƒ=1Kgs
+왕ìƒ=1Kgs
-호세아=28
-호=28
+열왕기하=2Kgs
+왕하=2Kgs
-요엘=29
-욜=29
+역대ìƒ=1Chr
+대ìƒ=1Chr
-아모스=30
-ì•”=30
+역대하=2Chr
+대하=2Chr
-오바댜=31
-옵=31
+ì—스ë¼=Ezra
+스=Ezra
-요나=32
-욘=32
+ëŠí—¤ë¯¸ì•¼=Neh
+ëŠ=Neh
-미가=33
-미=33
+ì—스ë”=Esth
+ì—=Esth
-나훔=34
-나=34
+욥기=Job
+욥=Job
-하박국=35
-í•©=35
+시편=Ps
+시=Ps
-스바ëƒ=36
-습=36
+ìž ì–¸=Prov
+ìž =Prov
-학개=37
-í•™=37
+ì „ë„ì„œ=Eccl
+ì „=Eccl
-스가랴=38
-슥=38
+ì•„ê°€=Song
+ì•„=Song
-ë§ë¼ê¸°=39
-ë§=39
+ì´ì‚¬ì•¼=Isa
+사=Isa
-마태복ìŒ=40
-마=40
+예레미야=Jer
+ë ˜=Jer
-마가복ìŒ=41
-막=41
+예레미야애가=Lam
+ì• =Lam
-누가복ìŒ=42
-눅=42
+ì—스겔=Ezek
+ê²”=Ezek
-요한복ìŒ=43
-ìš”=43
+다니엘=Dan
+단=Dan
-사ë„행전=44
-í–‰=44
+호세아=Hos
+호=Hos
-로마서=45
-롬=45
+요엘=Joel
+욜=Joel
-고린ë„ì „ì„œ=46
-ê³ ì „=46
+아모스=Amos
+ì•”=Amos
-고린ë„후서=47
-고후=47
+오바댜=Obad
+옵=Obad
-ê°ˆë¼ë””ì•„ì„œ=48
-ê°ˆ=48
+요나=Jonah
+욘=Jonah
-ì—베소서=49
-ì—¡=49
+미가=Mic
+미=Mic
-빌립보서=50
-빌=50
+나훔=Nah
+나=Nah
-골로새서=51
-골=51
+하박국=Hab
+í•©=Hab
-ë°ì‚´ë¡œë‹ˆê°€ì „ì„œ=52
-ì‚´ì „=52
+스바ëƒ=Zeph
+습=Zeph
-ë°ì‚´ë¡œë‹ˆê°€í›„ì„œ=53
-살후=53
+학개=Hag
+í•™=Hag
-디모ë°ì „ì„œ=54
-딤전=54
+스가랴=Zech
+슥=Zech
-디모ë°í›„ì„œ=55
-딤후=55
+ë§ë¼ê¸°=Mal
+ë§=Mal
-ë””ë„ì„œ=56
-ë”›=56
+마태복ìŒ=Matt
+마=Matt
-빌레몬서=57
-몬=57
+마가복ìŒ=Mark
+막=Mark
-히브리서=58
-히=58
+누가복ìŒ=Luke
+눅=Luke
-야고보서=59
-약=59
+요한복ìŒ=John
+ìš”=John
-베드로전서=60
-벧전=60
+사ë„행전=Acts
+í–‰=Acts
-베드로후서=61
-벧후=61
+로마서=Rom
+롬=Rom
-요한ì¼ì„œ=62
-ìš”ì¼=62
+고린ë„ì „ì„œ=1Cor
+ê³ ì „=1Cor
-요한ì´ì„œ=63
-ìš”ì´=63
+고린ë„후서=2Cor
+고후=2Cor
-요한삼서=64
-요삼=64
+ê°ˆë¼ë””ì•„ì„œ=Gal
+ê°ˆ=Gal
-유다서=65
-유=65
+ì—베소서=Eph
+ì—¡=Eph
-요한계시ë¡=66
-계=66
+빌립보서=Phil
+빌=Phil
+
+골로새서=Col
+골=Col
+
+ë°ì‚´ë¡œë‹ˆê°€ì „ì„œ=1Thess
+ì‚´ì „=1Thess
+
+ë°ì‚´ë¡œë‹ˆê°€í›„ì„œ=2Thess
+살후=2Thess
+
+디모ë°ì „ì„œ=1Tim
+딤전=1Tim
+
+디모ë°í›„ì„œ=2Tim
+딤후=2Tim
+
+ë””ë„ì„œ=Titus
+ë”›=Titus
+
+빌레몬서=Phlm
+몬=Phlm
+
+히브리서=Heb
+히=Heb
+
+야고보서=Jas
+약=Jas
+
+베드로전서=1Pet
+벧전=1Pet
+
+베드로후서=2Pet
+벧후=2Pet
+
+요한ì¼ì„œ=1John
+ìš”ì¼=1John
+
+요한ì´ì„œ=2John
+ìš”ì´=2John
+
+요한삼서=3John
+요삼=3John
+
+유다서=Jude
+유=Jude
+
+요한계시ë¡=Rev
+계=Rev
diff --git a/locales.d/ko.conf b/locales.d/ko.conf
index bdd7736..0d662f4 100644
--- a/locales.d/ko.conf
+++ b/locales.d/ko.conf
@@ -1,7 +1,7 @@
[Meta]
Name=ko
Description=Korean
-Encoding=EUCKR
+Encoding=EUC-KR
[Text]
Genesis=â¼¼±â
@@ -72,385 +72,201 @@ Jude=À¯´Ù¼­
Revelation of John=¿äÇÑ°è½Ã·Ï
[Book Abbrevs]
-1 C=46
-1 CHRONICLES=13
-1 CORINTHIANS=46
-1 JN=62
-1 JOHN=62
-1 KGS=11
-1 KINGS=11
-1 PETER=60
-1 PTR=60
-1 SAMUEL=9
-1 THESSALONIANS=52
-1 TIMOTHY=54
-1C=46
-1CHRONICLES=13
-1CORINTHIANS=46
-1JN=62
-1JOHN=62
-1KGS=11
-1KINGS=11
-1PETER=60
-1PTR=60
-1SAMUEL=9
-1THESSALONIANS=52
-1TIMOTHY=54
-2 C=47
-2 CHRONICLES=14
-2 CORINTHIANS=47
-2 JN=63
-2 JOHN=63
-2 KGS=12
-2 KINGS=12
-2 PETER=61
-2 PTR=61
-2 SAMUEL=10
-2 THESSALONIANS=53
-2 TIMOTHY=55
-2C=47
-2CHRONICLES=14
-2CORINTHIANS=47
-2JN=63
-2JOHN=63
-2KGS=12
-2KINGS=12
-2PETER=61
-2PTR=61
-2SAMUEL=10
-2THESSALONIANS=53
-2TIMOTHY=55
-3 JN=64
-3 JOHN=64
-3JN=64
-3JOHN=64
-ACTS=44
-AMOS=30
-APOCALYPSE OF ST. JOHN=66
-C=51
-CANTICLE OF CANTICLES=22
-COC=22
-COLOSSIANS=51
-D=5
-DANIEL=27
-DEUTERONOMY=5
-E=49
-ECCLESIASTES=21
-EPHESIANS=49
-ESTER=17
-ESTHER=17
-EXODUS=2
-EZEKIEL=26
-EZRA=15
-G=1
-GALATIANS=48
-GENESIS=1
-H=58
-HABAKKUK=35
-HAGGAI=37
-HEBREWS=58
-HOSEA=28
-I C=46
-I CHRONICLES=13
-I CORINTHIANS=46
-I JN=62
-I JOHN=62
-I KGS=11
-I KINGS=11
-I PETER=60
-I PTR=60
-I SAMUEL=9
-I THESSALONIANS=52
-I TIMOTHY=54
-IC=46
-ICHRONICLES=13
-ICORINTHIANS=46
-II C=47
-II CHRONICLES=14
-II CORINTHIANS=47
-II JN=63
-II JOHN=63
-II KGS=12
-II KINGS=12
-II PETER=61
-II PTR=61
-II SAMUEL=10
-II THESSALONIANS=53
-II TIMOTHY=55
-IIC=47
-IICHRONICLES=14
-IICORINTHIANS=47
-III JN=64
-III JOHN=64
-IIIJN=64
-IIIJOHN=64
-IIJN=63
-IIJOHN=63
-IIKGS=12
-IIKINGS=12
-IIPETER=61
-IIPTR=61
-IISAMUEL=10
-IITHESSALONIANS=53
-IITIMOTHY=55
-IJN=62
-IJOHN=62
-IKGS=11
-IKINGS=11
-IPETER=60
-IPTR=60
-ISA=23
-ISAIAH=23
-ISAMUEL=9
-ITHESSALONIANS=52
-ITIMOTHY=54
-J=43
-JAMES=59
-JAS=59
-JEREMIAH=24
-JN=43
-JO=43
-JOB=18
-JOEL=29
-JOHN=43
-JONAH=32
-JOSHUA=6
-JUD=7
-JUDE=65
-JUDGES=7
-L=42
-LAMENTATIONS=25
-LEVITICUS=3
-LK=42
-LUKE=42
-MA=40
-MALACHI=39
-MARK=41
-MATTHEW=40
-MICAH=33
-MK=41
-MR=41
-MT=40
-N=4
-NAHUM=34
-NEHEMIAH=16
-NUMBERS=4
-OBADIAH=31
-P=19
-PH=50
-PHILEMON=57
-PHILIPPIANS=50
-PHLM=57
-PHM=57
-PHP=50
-PROVERBS=20
-PSALMS=19
-PSM=19
-PSS=19
-REVELATION OF JOHN=66
-ROMANS=45
-RUTH=8
-SONG OF SOLOMON=22
-SONG OF SONGS=22
-SOS=22
-TITUS=56
-ZECHARIAH=38
-ZEPHANIAH=36
-
-â¼¼±â=1
-â=1
-
-Ãâ¾Ö±Á±â=2
-Ãô=2
-
-·¹À§±â=3
-·¹=3
-
-¹Î¼ö±â=4
-¹Î=4
-
-½Å¸í±â=5
-½Å=5
-
-¿©È£¼ö¾Æ=6
-¼ö=6
-
-»ç»ç±â=7
-Ȗ=7
-
-·í±â=8
-·í=8
-
-»ç¹«¿¤»ó=9
-ȕȗ=9
-
-»ç¹«¿¤ÇÏ=10
-»ïÇÏ=10
-
-¿­¿Õ±â»ó=11
-¿Õ»ó=11
-
-¿­¿Õ±âÇÏ=12
-¿ÕÇÏ=12
-
-¿ª´ë»ó=13
-´ë»ó=13
-
-¿ª´ëÇÏ=14
-´ëÇÏ=14
-
-¿¡½º¶ó=15
-½º=15
-
-´ÀÇì¹Ì¾ß=16
-´À=16
-¿¡½º´õ=17
-¿¡=17
+â¼¼±â=Gen
+â=Gen
-¿é±â=18
-¿é=18
+Ãâ¾Ö±Á±â=Exod
+Ãô=Exod
-½ÃÆí=19
-½Ã=19
+·¹À§±â=Lev
+·¹=Lev
-Àá¾ð=20
-Àá=20
+¹Î¼ö±â=Num
+¹Î=Num
-Àüµµ¼­=21
-Àü=21
+½Å¸í±â=Deut
+½Å=Deut
-¾Æ°¡=22
-¾Æ=22
+¿©È£¼ö¾Æ=Josh
+¼ö=Josh
-ÀÌ»ç¾ß=23
-ȍ=23
+»ç»ç±â=Judg
+Ȗ=Judg
-¿¹·¹¹Ì¾ß=24
-·½=24
+·í±â=Ruth
+·í=Ruth
-¿¹·¹¹Ì¾ß¾Ö°¡=25
-¾Ö=25
+»ç¹«¿¤»ó=1Sam
+ȕȗ=1Sam
-¿¡½º°Ö=26
-°Ö=26
+»ç¹«¿¤ÇÏ=2Sam
+»ïÇÏ=2Sam
-´Ù´Ï¿¤=27
-´Ü=27
+¿­¿Õ±â»ó=1Kgs
+¿Õ»ó=1Kgs
-È£¼¼¾Æ=28
-È£=28
+¿­¿Õ±âÇÏ=2Kgs
+¿ÕÇÏ=2Kgs
-¿ä¿¤=29
-¿ç=29
+¿ª´ë»ó=1Chr
+´ë»ó=1Chr
-¾Æ¸ð½º=30
-¾Ï=30
+¿ª´ëÇÏ=2Chr
+´ëÇÏ=2Chr
-¿À¹Ù´ô=31
-¿É=31
+¿¡½º¶ó=Ezra
+½º=Ezra
-¿ä³ª=32
-¿æ=32
+´ÀÇì¹Ì¾ß=Neh
+´À=Neh
-¹Ì°¡=33
-¹Ì=33
+¿¡½º´õ=Esth
+¿¡=Esth
-³ªÈÉ=34
-³ª=34
+¿é±â=Job
+¿é=Job
-ÇϹڱ¹=35
-ÇÕ=35
+½ÃÆí=Ps
+½Ã=Ps
-½º¹Ù³Ä=36
-½À=36
+Àá¾ð=Prov
+Àá=Prov
-Çа³=37
-ÇÐ=37
+Àüµµ¼­=Eccl
+Àü=Eccl
-½º°¡·ª=38
-½»=38
+¾Æ°¡=Song
+¾Æ=Song
-¸»¶ó±â=39
-¸»=39
+ÀÌ»ç¾ß=Isa
+ȍ=Isa
-¸¶Åº¹À½=40
-¸¶=40
+¿¹·¹¹Ì¾ß=Jer
+·½=Jer
-¸¶°¡º¹À½=41
-¸·=41
+¿¹·¹¹Ì¾ß¾Ö°¡=Lam
+¾Ö=Lam
-´©°¡º¹À½=42
-´ª=42
+¿¡½º°Ö=Ezek
+°Ö=Ezek
-¿äÇѺ¹À½=43
-¿ä=43
+´Ù´Ï¿¤=Dan
+´Ü=Dan
-»çµµÇàÀü=44
-Çà=44
+È£¼¼¾Æ=Hos
+È£=Hos
-·Î¸¶¼­=45
-·Ò=45
+¿ä¿¤=Joel
+¿ç=Joel
-°í¸°µµÀü¼­=46
-°íÀü=46
+¾Æ¸ð½º=Amos
+¾Ï=Amos
-°í¸°µµÈļ­=47
-°íÈÄ=47
+¿À¹Ù´ô=Obad
+¿É=Obad
-°¥¶óµð¾Æ¼­=48
-°¥=48
+¿ä³ª=Jonah
+¿æ=Jonah
-¿¡º£¼Ò¼­=49
-¿¦=49
+¹Ì°¡=Mic
+¹Ì=Mic
-ºô¸³º¸¼­=50
-ºô=50
+³ªÈÉ=Nah
+³ª=Nah
-°ñ·Î»õ¼­=51
-°ñ=51
+ÇϹڱ¹=Hab
+ÇÕ=Hab
-µ¥»ì·Î´Ï°¡Àü¼­=52
-ȓ˟=52
+½º¹Ù³Ä=Zeph
+½À=Zeph
-µ¥»ì·Î´Ï°¡Èļ­=53
-»ìÈÄ=53
+Çа³=Hag
+ÇÐ=Hag
-µð¸ðµ¥Àü¼­=54
-µõÀü=54
+½º°¡·ª=Zech
+½»=Zech
-µð¸ðµ¥Èļ­=55
-µõÈÄ=55
+¸»¶ó±â=Mal
+¸»=Mal
-µðµµ¼­=56
-µó=56
+¸¶Åº¹À½=Matt
+¸¶=Matt
-ºô·¹¸ó¼­=57
-¸ó=57
+¸¶°¡º¹À½=Mark
+¸·=Mark
-È÷ºê¸®¼­=58
-È÷=58
+´©°¡º¹À½=Luke
+´ª=Luke
-¾ß°íº¸¼­=59
-¾à=59
+¿äÇѺ¹À½=John
+¿ä=John
-º£µå·ÎÀü¼­=60
-º¦Àü=60
+»çµµÇàÀü=Acts
+Çà=Acts
-º£µå·ÎÈļ­=61
-º¦ÈÄ=61
+·Î¸¶¼­=Rom
+·Ò=Rom
-¿äÇÑÀϼ­=62
-¿äÀÏ=62
+°í¸°µµÀü¼­=1Cor
+°íÀü=1Cor
-¿äÇÑÀ̼­=63
-¿äÀÌ=63
+°í¸°µµÈļ­=2Cor
+°íÈÄ=2Cor
-¿äÇѻM=64
-¿ä»ï=64
+°¥¶óµð¾Æ¼­=Gal
+°¥=Gal
-À¯´Ù¼­=65
-À¯=65
+¿¡º£¼Ò¼­=Eph
+¿¦=Eph
-¿äÇÑ°è½Ã·Ï=66
-°è=66
+ºô¸³º¸¼­=Phil
+ºô=Phil
+
+°ñ·Î»õ¼­=Col
+°ñ=Col
+
+µ¥»ì·Î´Ï°¡Àü¼­=1Thess
+ȓ˟=1Thess
+
+µ¥»ì·Î´Ï°¡Èļ­=2Thess
+»ìÈÄ=2Thess
+
+µð¸ðµ¥Àü¼­=1Tim
+µõÀü=1Tim
+
+µð¸ðµ¥Èļ­=2Tim
+µõÈÄ=2Tim
+
+µðµµ¼­=Titus
+µó=Titus
+
+ºô·¹¸ó¼­=Phlm
+¸ó=Phlm
+
+È÷ºê¸®¼­=Heb
+È÷=Heb
+
+¾ß°íº¸¼­=Jas
+¾à=Jas
+
+º£µå·ÎÀü¼­=1Pet
+º¦Àü=1Pet
+
+º£µå·ÎÈļ­=2Pet
+º¦ÈÄ=2Pet
+
+¿äÇÑÀϼ­=1John
+¿äÀÏ=1John
+
+¿äÇÑÀ̼­=2John
+¿äÀÌ=2John
+
+¿äÇѻM=3John
+¿ä»ï=3John
+
+À¯´Ù¼­=Jude
+À¯=Jude
+
+¿äÇÑ°è½Ã·Ï=Rev
+°è=Rev
diff --git a/locales.d/ko_abbrev-utf8.conf b/locales.d/ko_abbrev-utf8.conf
index 9275112..13f04b3 100644
--- a/locales.d/ko_abbrev-utf8.conf
+++ b/locales.d/ko_abbrev-utf8.conf
@@ -72,200 +72,200 @@ Jude=유
Revelation of John=계
[Book Abbrevs]
-창세기=1
-ì°½=1
+창세기=Gen
+ì°½=Gen
-출애굽기=2
-츌=2
+출애굽기=Exod
+츌=Exod
-레위기=3
-ë ˆ=3
+레위기=Lev
+ë ˆ=Lev
-민수기=4
-민=4
+민수기=Num
+민=Num
-신명기=5
-ì‹ =5
+신명기=Deut
+ì‹ =Deut
-여호수아=6
-수=6
+여호수아=Josh
+수=Josh
-사사기=7
-ì‚¿=7
+사사기=Judg
+ì‚¿=Judg
-룻기=8
-룻=8
+룻기=Ruth
+룻=Ruth
-사무엘ìƒ=9
-삼ìƒ=9
+사무엘ìƒ=1Sam
+삼ìƒ=1Sam
-사무엘하=10
-삼하=10
+사무엘하=2Sam
+삼하=2Sam
-열왕기ìƒ=11
-왕ìƒ=11
+열왕기ìƒ=1Kgs
+왕ìƒ=1Kgs
-열왕기하=12
-왕하=12
+열왕기하=2Kgs
+왕하=2Kgs
-역대ìƒ=13
-대ìƒ=13
+역대ìƒ=1Chr
+대ìƒ=1Chr
-역대하=14
-대하=14
+역대하=2Chr
+대하=2Chr
-ì—스ë¼=15
-스=15
+ì—스ë¼=Ezra
+스=Ezra
-ëŠí—¤ë¯¸ì•¼=16
-ëŠ=16
+ëŠí—¤ë¯¸ì•¼=Neh
+ëŠ=Neh
-ì—스ë”=17
-ì—=17
+ì—스ë”=Esth
+ì—=Esth
-욥기=18
-욥=18
+욥기=Job
+욥=Job
-시편=19
-시=19
+시편=Ps
+시=Ps
-ìž ì–¸=20
-ìž =20
+ìž ì–¸=Prov
+ìž =Prov
-ì „ë„ì„œ=21
-ì „=21
+ì „ë„ì„œ=Eccl
+ì „=Eccl
-ì•„ê°€=22
-ì•„=22
+ì•„ê°€=Song
+ì•„=Song
-ì´ì‚¬ì•¼=23
-사=23
+ì´ì‚¬ì•¼=Isa
+사=Isa
-예레미야=24
-ë ˜=24
+예레미야=Jer
+ë ˜=Jer
-예레미야애가=25
-ì• =25
+예레미야애가=Lam
+ì• =Lam
-ì—스겔=26
-ê²”=26
+ì—스겔=Ezek
+ê²”=Ezek
-다니엘=27
-단=27
+다니엘=Dan
+단=Dan
-호세아=28
-호=28
+호세아=Hos
+호=Hos
-요엘=29
-욜=29
+요엘=Joel
+욜=Joel
-아모스=30
-ì•”=30
+아모스=Amos
+ì•”=Amos
-오바댜=31
-옵=31
+오바댜=Obad
+옵=Obad
-요나=32
-욘=32
+요나=Jonah
+욘=Jonah
-미가=33
-미=33
+미가=Mic
+미=Mic
-나훔=34
-나=34
+나훔=Nah
+나=Nah
-하박국=35
-í•©=35
+하박국=Hab
+í•©=Hab
-스바ëƒ=36
-습=36
+스바ëƒ=Zeph
+습=Zeph
-학개=37
-í•™=37
+학개=Hag
+í•™=Hag
-스가랴=38
-슥=38
+스가랴=Zech
+슥=Zech
-ë§ë¼ê¸°=39
-ë§=39
+ë§ë¼ê¸°=Mal
+ë§=Mal
-마태복ìŒ=40
-마=40
+마태복ìŒ=Matt
+마=Matt
-마가복ìŒ=41
-막=41
+마가복ìŒ=Mark
+막=Mark
-누가복ìŒ=42
-눅=42
+누가복ìŒ=Luke
+눅=Luke
-요한복ìŒ=43
-ìš”=43
+요한복ìŒ=John
+ìš”=John
-사ë„행전=44
-í–‰=44
+사ë„행전=Acts
+í–‰=Acts
-로마서=45
-롬=45
+로마서=Rom
+롬=Rom
-고린ë„ì „ì„œ=46
-ê³ ì „=46
+고린ë„ì „ì„œ=1Cor
+ê³ ì „=1Cor
-고린ë„후서=47
-고후=47
+고린ë„후서=2Cor
+고후=2Cor
-ê°ˆë¼ë””ì•„ì„œ=48
-ê°ˆ=48
+ê°ˆë¼ë””ì•„ì„œ=Gal
+ê°ˆ=Gal
-ì—베소서=49
-ì—¡=49
+ì—베소서=Eph
+ì—¡=Eph
-빌립보서=50
-빌=50
+빌립보서=Phil
+빌=Phil
-골로새서=51
-골=51
+골로새서=Col
+골=Col
-ë°ì‚´ë¡œë‹ˆê°€ì „ì„œ=52
-ì‚´ì „=52
+ë°ì‚´ë¡œë‹ˆê°€ì „ì„œ=1Thess
+ì‚´ì „=1Thess
-ë°ì‚´ë¡œë‹ˆê°€í›„ì„œ=53
-살후=53
+ë°ì‚´ë¡œë‹ˆê°€í›„ì„œ=2Thess
+살후=2Thess
-디모ë°ì „ì„œ=54
-딤전=54
+디모ë°ì „ì„œ=1Tim
+딤전=1Tim
-디모ë°í›„ì„œ=55
-딤후=55
+디모ë°í›„ì„œ=2Tim
+딤후=2Tim
-ë””ë„ì„œ=56
-ë”›=56
+ë””ë„ì„œ=Titus
+ë”›=Titus
-빌레몬서=57
-몬=57
+빌레몬서=Phlm
+몬=Phlm
-히브리서=58
-히=58
+히브리서=Heb
+히=Heb
-야고보서=59
-약=59
+야고보서=Jas
+약=Jas
-베드로전서=60
-벧전=60
+베드로전서=1Pet
+벧전=1Pet
-베드로후서=61
-벧후=61
+베드로후서=2Pet
+벧후=2Pet
-요한ì¼ì„œ=62
-ìš”ì¼=62
+요한ì¼ì„œ=1John
+ìš”ì¼=1John
-요한ì´ì„œ=63
-ìš”ì´=63
+요한ì´ì„œ=2John
+ìš”ì´=2John
-요한삼서=64
-요삼=64
+요한삼서=3John
+요삼=3John
-유다서=65
-유=65
+유다서=Jude
+유=Jude
-요한계시ë¡=66
-계=66 \ No newline at end of file
+요한계시ë¡=Rev
+계=Rev
diff --git a/locales.d/ko_abbrev.conf b/locales.d/ko_abbrev.conf
index e7c4155..1911304 100644
--- a/locales.d/ko_abbrev.conf
+++ b/locales.d/ko_abbrev.conf
@@ -1,7 +1,7 @@
[Meta]
Name=ko_abbrev
Description=Korean abbreviations
-Encoding=EUCKR
+Encoding=EUC-KR
[Text]
Genesis=â
@@ -34,7 +34,7 @@ Daniel=´Ü
Hosea=È£
Joel=¿ç
Amos=¾Ï
-Obadiah=¿É
+Obadiah=¿À¹Ù´ô
Jonah=¿æ
Micah=¹Ì
Nahum=³ª
@@ -72,200 +72,201 @@ Jude=À¯
Revelation of John=°è
[Book Abbrevs]
-â¼¼±â=1
-â=1
+â¼¼±â=Gen
+â=Gen
-Ãâ¾Ö±Á±â=2
-Ãô=2
+Ãâ¾Ö±Á±â=Exod
+Ãô=Exod
-·¹À§±â=3
-·¹=3
+·¹À§±â=Lev
+·¹=Lev
-¹Î¼ö±â=4
-¹Î=4
+¹Î¼ö±â=Num
+¹Î=Num
-½Å¸í±â=5
-½Å=5
+½Å¸í±â=Deut
+½Å=Deut
-¿©È£¼ö¾Æ=6
-¼ö=6
+¿©È£¼ö¾Æ=Josh
+¼ö=Josh
-»ç»ç±â=7
-Ȗ=7
+»ç»ç±â=Judg
+Ȗ=Judg
-·í±â=8
-·í=8
+·í±â=Ruth
+·í=Ruth
-»ç¹«¿¤»ó=9
-ȕȗ=9
+»ç¹«¿¤»ó=1Sam
+ȕȗ=1Sam
-»ç¹«¿¤ÇÏ=10
-»ïÇÏ=10
+»ç¹«¿¤ÇÏ=2Sam
+»ïÇÏ=2Sam
-¿­¿Õ±â»ó=11
-¿Õ»ó=11
+¿­¿Õ±â»ó=1Kgs
+¿Õ»ó=1Kgs
-¿­¿Õ±âÇÏ=12
-¿ÕÇÏ=12
+¿­¿Õ±âÇÏ=2Kgs
+¿ÕÇÏ=2Kgs
-¿ª´ë»ó=13
-´ë»ó=13
+¿ª´ë»ó=1Chr
+´ë»ó=1Chr
-¿ª´ëÇÏ=14
-´ëÇÏ=14
+¿ª´ëÇÏ=2Chr
+´ëÇÏ=2Chr
-¿¡½º¶ó=15
-½º=15
+¿¡½º¶ó=Ezra
+½º=Ezra
-´ÀÇì¹Ì¾ß=16
-´À=16
+´ÀÇì¹Ì¾ß=Neh
+´À=Neh
-¿¡½º´õ=17
-¿¡=17
+¿¡½º´õ=Esth
+¿¡=Esth
-¿é±â=18
-¿é=18
+¿é±â=Job
+¿é=Job
+¿É=Job
-½ÃÆí=19
-½Ã=19
-Àá¾ð=20
-Àá=20
+½ÃÆí=Ps
+½Ã=Ps
-Àüµµ¼­=21
-Àü=21
+Àá¾ð=Prov
+Àá=Prov
-¾Æ°¡=22
-¾Æ=22
+Àüµµ¼­=Eccl
+Àü=Eccl
-ÀÌ»ç¾ß=23
-ȍ=23
+¾Æ°¡=Song
+¾Æ=Song
-¿¹·¹¹Ì¾ß=24
-·½=24
+ÀÌ»ç¾ß=Isa
+ȍ=Isa
-¿¹·¹¹Ì¾ß¾Ö°¡=25
-¾Ö=25
+¿¹·¹¹Ì¾ß=Jer
+·½=Jer
-¿¡½º°Ö=26
-°Ö=26
+¿¹·¹¹Ì¾ß¾Ö°¡=Lam
+¾Ö=Lam
-´Ù´Ï¿¤=27
-´Ü=27
+¿¡½º°Ö=Ezek
+°Ö=Ezek
-È£¼¼¾Æ=28
-È£=28
+´Ù´Ï¿¤=Dan
+´Ü=Dan
-¿ä¿¤=29
-¿ç=29
+È£¼¼¾Æ=Hos
+È£=Hos
-¾Æ¸ð½º=30
-¾Ï=30
+¿ä¿¤=Joel
+¿ç=Joel
-¿À¹Ù´ô=31
-¿É=31
+¾Æ¸ð½º=Amos
+¾Ï=Amos
-¿ä³ª=32
-¿æ=32
+¿À¹Ù´ô=Obad
-¹Ì°¡=33
-¹Ì=33
+¿ä³ª=Jonah
+¿æ=Jonah
-³ªÈÉ=34
-³ª=34
+¹Ì°¡=Mic
+¹Ì=Mic
-ÇϹڱ¹=35
-ÇÕ=35
+³ªÈÉ=Nah
+³ª=Nah
-½º¹Ù³Ä=36
-½À=36
+ÇϹڱ¹=Hab
+ÇÕ=Hab
-Çа³=37
-ÇÐ=37
+½º¹Ù³Ä=Zeph
+½À=Zeph
-½º°¡·ª=38
-½»=38
+Çа³=Hag
+ÇÐ=Hag
-¸»¶ó±â=39
-¸»=39
+½º°¡·ª=Zech
+½»=Zech
-¸¶Åº¹À½=40
-¸¶=40
+¸»¶ó±â=Mal
+¸»=Mal
-¸¶°¡º¹À½=41
-¸·=41
+¸¶Åº¹À½=Matt
+¸¶=Matt
-´©°¡º¹À½=42
-´ª=42
+¸¶°¡º¹À½=Mark
+¸·=Mark
-¿äÇѺ¹À½=43
-¿ä=43
+´©°¡º¹À½=Luke
+´ª=Luke
-»çµµÇàÀü=44
-Çà=44
+¿äÇѺ¹À½=John
+¿ä=John
-·Î¸¶¼­=45
-·Ò=45
+»çµµÇàÀü=Acts
+Çà=Acts
-°í¸°µµÀü¼­=46
-°íÀü=46
+·Î¸¶¼­=Rom
+·Ò=Rom
-°í¸°µµÈļ­=47
-°íÈÄ=47
+°í¸°µµÀü¼­=1Cor
+°íÀü=1Cor
-°¥¶óµð¾Æ¼­=48
-°¥=48
+°í¸°µµÈļ­=2Cor
+°íÈÄ=2Cor
-¿¡º£¼Ò¼­=49
-¿¦=49
+°¥¶óµð¾Æ¼­=Gal
+°¥=Gal
-ºô¸³º¸¼­=50
-ºô=50
+¿¡º£¼Ò¼­=Eph
+¿¦=Eph
-°ñ·Î»õ¼­=51
-°ñ=51
+ºô¸³º¸¼­=Phil
+ºô=Phil
-µ¥»ì·Î´Ï°¡Àü¼­=52
-ȓ˟=52
+°ñ·Î»õ¼­=Col
+°ñ=Col
-µ¥»ì·Î´Ï°¡Èļ­=53
-»ìÈÄ=53
+µ¥»ì·Î´Ï°¡Àü¼­=1Thess
+ȓ˟=1Thess
-µð¸ðµ¥Àü¼­=54
-µõÀü=54
+µ¥»ì·Î´Ï°¡Èļ­=2Thess
+»ìÈÄ=2Thess
-µð¸ðµ¥Èļ­=55
-µõÈÄ=55
+µð¸ðµ¥Àü¼­=1Tim
+µõÀü=1Tim
-µðµµ¼­=56
-µó=56
+µð¸ðµ¥Èļ­=2Tim
+µõÈÄ=2Tim
-ºô·¹¸ó¼­=57
-¸ó=57
+µðµµ¼­=Titus
+µó=Titus
-È÷ºê¸®¼­=58
-È÷=58
+ºô·¹¸ó¼­=Phlm
+¸ó=Phlm
-¾ß°íº¸¼­=59
-¾à=59
+È÷ºê¸®¼­=Heb
+È÷=Heb
-º£µå·ÎÀü¼­=60
-º¦Àü=60
+¾ß°íº¸¼­=Jas
+¾à=Jas
-º£µå·ÎÈļ­=61
-º¦ÈÄ=61
+º£µå·ÎÀü¼­=1Pet
+º¦Àü=1Pet
-¿äÇÑÀϼ­=62
-¿äÀÏ=62
+º£µå·ÎÈļ­=2Pet
+º¦ÈÄ=2Pet
-¿äÇÑÀ̼­=63
-¿äÀÌ=63
+¿äÇÑÀϼ­=1John
+¿äÀÏ=1John
-¿äÇѻM=64
-¿ä»ï=64
+¿äÇÑÀ̼­=2John
+¿äÀÌ=2John
-À¯´Ù¼­=65
-À¯=65
+¿äÇѻM=3John
+¿ä»ï=3John
-¿äÇÑ°è½Ã·Ï=66
-°è=66 \ No newline at end of file
+À¯´Ù¼­=Jude
+À¯=Jude
+
+¿äÇÑ°è½Ã·Ï=Rev
+°è=Rev
diff --git a/locales.d/la-utf8.conf b/locales.d/la-utf8.conf
new file mode 100644
index 0000000..153cd9b
--- /dev/null
+++ b/locales.d/la-utf8.conf
@@ -0,0 +1,147 @@
+#
+# Latin Bible booknames as in the Vulgata
+# Still in alpha stage. Contributions are welcome.
+#
+# Martin Gruner mgruner@crosswire.org
+
+[Meta]
+Name=la
+Description=Lingua Latina (Unicode)
+Encoding=UTF-8
+
+[Text]
+Genesis=Genesis
+Exodus=Exodus
+Leviticus=Leviticus
+Numbers=Numeri
+Deuteronomy=Deuteronomium
+Joshua=Iosue
+Judges=Judicum
+Ruth=Ruth
+I Samuel=I Samuhel
+II Samuel=II Samuhel
+I Kings=I Regum
+II Kings=II Regum
+I Chronicles=I Paralipomenon
+II Chronicles=II Paralipomenon
+Ezra=Ezras
+Nehemiah=Neemia
+Esther=Hester
+Job=Iob
+Psalms=Psalmi
+Proverbs=Proverbia
+Ecclesiastes=Ecclesiastes
+Song of Solomon=Canticum
+Isaiah=Isaias
+Jeremiah=Hieremias
+Lamentations=Lamentationes
+Ezekiel=Hiezecihel
+Daniel=Danihel
+Hosea=Osee
+Joel=Johel
+Amos=Amos
+Obadiah=Abdias
+Jonah=Ionas
+Micah=Micha
+Nahum=Naum
+Habakkuk=Abacuc
+Zephaniah=Sofonias
+Haggai=Aggeus
+Zechariah=Zaccharias
+Malachi=Malachi
+Matthew=Secundum Mattheum
+Mark=Secundum Marcum
+Luke=Secundum Lucam
+John=Secundum Iohannem
+Acts=Actus Apostolorum
+Romans=Ad Romanos
+I Corinthians=Ad Corinthios I
+II Corinthians=Ad Corinthios II
+Galatians=Ad Galatas
+Ephesians=Ad Ephesios
+Philippians=Ad Philippenses
+Colossians=Ad Colossenses
+I Thessalonians=Ad Thessalonicenses I
+II Thessalonians=Ad Thessalonicenses II
+I Timothy=Ad Timotheum I
+II Timothy=Ad Timotheum II
+Titus=Ad Titum
+Philemon=Ad Philemonem
+Hebrews=Ad Hebraeos
+James=Jacobi
+I Peter=Petri I
+II Peter=Petri II
+I John=Iohannis I
+II John=Iohannis II
+III John=Iohannis III
+Jude=Judae
+Revelation of John=Apocalypsis
+
+[Book Abbrevs]
+
+GENESIS=Gen
+EXODUS=Exod
+LEVITICUS=Lev
+NUMERI=Num
+DEUTERONOMIUM=Deut
+IOSUE=Josh
+JUDICUM=Judg
+RUTH=Ruth
+I SAMUHEL=1Sam
+II SAMUHEL=2Sam
+I REGUM=1Kgs
+II REGUM=2Kgs
+I PARALIPOMENON=1Chr
+II PARALIPOMENON=2Chr
+EZRAS=Ezra
+NEEMIA=Neh
+HESTER=Esth
+IOB=Job
+PSALMI=Ps
+PROVERBIA=Prov
+ECCLESIASTES=Eccl
+CANTICUM=Song
+ISAIAS=Isa
+HIEREMIAS=Jer
+LAMENTATIONES=Lam
+HIEZECIHEL=Ezek
+DANIHEL=Dan
+OSEE=Hos
+JOHEL=Joel
+AMOS=Amos
+ABDIAS=Obad
+IONAS=Jonah
+MICHA=Mic
+NAUM=Nah
+ABACUC=Hab
+SOFONIAS=Zeph
+AGGEUS=Hag
+ZACCHARIAS=Zech
+MALACHI=Mal
+SECUNDUM MATTHEUM=Matt
+SECUNDUM MARCUM=Mark
+SECUNDUM LUCAM=Luke
+SECUNDUM IOHANNEM=John
+ACTUS APOSTOLORUM=Acts
+AD ROMANOS=Rom
+AD CORINTHIOS I=1Cor
+AD CORINTHIOS II=2Cor
+AD GALATAS=Gal
+AD EPHESIOS=Eph
+AD PHILIPPENSES=Phil
+AD COLOSSENSES=Col
+AD THESSALONICENSES I=1Thess
+AD THESSALONICENSES II=2Thess
+AD TIMOTHEUM I=1Tim
+AD TIMOTHEUM II=2Tim
+AD TITUM=Titus
+AD PHILEMONEM=Phlm
+AD HEBRAEOS=Heb
+JACOBI=Jas
+PETRI I=1Pet
+PETRI II=2Pet
+IOHANNIS I=1John
+IOHANNIS II=2John
+IOHANNIS III=3John
+JUDAE=Jude
+APOCALYPSIS=Rev
diff --git a/locales.d/la.conf b/locales.d/la.conf
index c3e619a..30251af 100644
--- a/locales.d/la.conf
+++ b/locales.d/la.conf
@@ -1,4 +1,3 @@
-
#
# Latin Bible booknames as in the Vulgata
# Still in alpha stage. Contributions are welcome.
@@ -7,8 +6,8 @@
[Meta]
Name=la
-Description=Latin
-Encoding=ASCII
+Description=Lingua Latina
+Encoding=ISO8859-1
[Text]
Genesis=Genesis
@@ -79,254 +78,70 @@ Jude=Judae
Revelation of John=Apocalypsis
[Book Abbrevs]
-1 C=46
-1 CHRONICLES=13
-1 CORINTHIANS=46
-1 JN=62
-1 JOHN=62
-1 KGS=11
-1 KINGS=11
-1 PETER=60
-1 PTR=60
-1 SAMUEL=9
-1 THESSALONIANS=52
-1 TIMOTHY=54
-1C=46
-1CHRONICLES=13
-1CORINTHIANS=46
-1JN=62
-1JOHN=62
-1KGS=11
-1KINGS=11
-1PETER=60
-1PTR=60
-1SAMUEL=9
-1THESSALONIANS=52
-1TIMOTHY=54
-2 C=47
-2 CHRONICLES=14
-2 CORINTHIANS=47
-2 JN=63
-2 JOHN=63
-2 KGS=12
-2 KINGS=12
-2 PETER=61
-2 PTR=61
-2 SAMUEL=10
-2 THESSALONIANS=53
-2 TIMOTHY=55
-2C=47
-2CHRONICLES=14
-2CORINTHIANS=47
-2JN=63
-2JOHN=63
-2KGS=12
-2KINGS=12
-2PETER=61
-2PTR=61
-2SAMUEL=10
-2THESSALONIANS=53
-2TIMOTHY=55
-3 JN=64
-3 JOHN=64
-3JN=64
-3JOHN=64
-ACTS=44
-AMOS=30
-APOCALYPSE OF ST. JOHN=66
-C=51
-CANTICLE OF CANTICLES=22
-COC=22
-COLOSSIANS=51
-D=5
-DANIEL=27
-DEUTERONOMY=5
-E=49
-ECCLESIASTES=21
-EPHESIANS=49
-ESTER=17
-ESTHER=17
-EXODUS=2
-EZEKIEL=26
-EZRA=15
-G=1
-GALATIANS=48
-GENESIS=1
-H=58
-HABAKKUK=35
-HAGGAI=37
-HEBREWS=58
-HOSEA=28
-I C=46
-I CHRONICLES=13
-I CORINTHIANS=46
-I JN=62
-I JOHN=62
-I KGS=11
-I KINGS=11
-I PETER=60
-I PTR=60
-I SAMUEL=9
-I THESSALONIANS=52
-I TIMOTHY=54
-IC=46
-ICHRONICLES=13
-ICORINTHIANS=46
-II C=47
-II CHRONICLES=14
-II CORINTHIANS=47
-II JN=63
-II JOHN=63
-II KGS=12
-II KINGS=12
-II PETER=61
-II PTR=61
-II SAMUEL=10
-II THESSALONIANS=53
-II TIMOTHY=55
-IIC=47
-IICHRONICLES=14
-IICORINTHIANS=47
-III JN=64
-III JOHN=64
-IIIJN=64
-IIIJOHN=64
-IIJN=63
-IIJOHN=63
-IIKGS=12
-IIKINGS=12
-IIPETER=61
-IIPTR=61
-IISAMUEL=10
-IITHESSALONIANS=53
-IITIMOTHY=55
-IJN=62
-IJOHN=62
-IKGS=11
-IKINGS=11
-IPETER=60
-IPTR=60
-ISA=23
-ISAIAH=23
-ISAMUEL=9
-ITHESSALONIANS=52
-ITIMOTHY=54
-J=43
-JAMES=59
-JAS=59
-JEREMIAH=24
-JN=43
-JO=43
-JOB=18
-JOEL=29
-JOHN=43
-JONAH=32
-JOSHUA=6
-JUD=7
-JUDE=65
-JUDGES=7
-L=42
-LAMENTATIONS=25
-LEVITICUS=3
-LK=42
-LUKE=42
-MA=40
-MALACHI=39
-MARK=41
-MATTHEW=40
-MICAH=33
-MK=41
-MR=41
-MT=40
-N=4
-NAHUM=34
-NEHEMIAH=16
-NUMBERS=4
-OBADIAH=31
-P=19
-PH=50
-PHILEMON=57
-PHILIPPIANS=50
-PHLM=57
-PHM=57
-PHP=50
-PROVERBS=20
-PSALMS=19
-PSM=19
-PSS=19
-REVELATION OF JOHN=66
-ROMANS=45
-RUTH=8
-SONG OF SOLOMON=22
-SONG OF SONGS=22
-SOS=22
-TITUS=56
-ZECHARIAH=38
-ZEPHANIAH=36
-GENESIS=1
-EXODUS=2
-LEVITICUS=3
-NUMERI=4
-DEUTERONOMIUM=5
-IOSUE=6
-JUDICUM=7
-RUTH=8
-I SAMUHEL=9
-II SAMUHEL=10
-I REGUM=11
-II REGUM=12
-I PARALIPOMENON=13
-II PARALIPOMENON=14
-EZRAS=15
-NEEMIA=16
-HESTER=17
-IOB=18
-PSALMI=19
-PROVERBIA=20
-ECCLESIASTES=21
-CANTICUM=22
-ISAIAS=23
-HIEREMIAS=24
-LAMENTATIONES=25
-HIEZECIHEL=26
-DANIHEL=27
-OSEE=28
-JOHEL=29
-AMOS=30
-ABDIAS=31
-IONAS=32
-MICHA=33
-NAUM=34
-ABACUC=35
-SOFONIAS=36
-AGGEUS=37
-ZACCHARIAS=38
-MALACHI=39
-SECUNDUM MATTHEUM=40
-SECUNDUM MARCUM=41
-SECUNDUM LUCAM=42
-SECUNDUM IOHANNEM=43
-ACTUS APOSTOLORUM=44
-AD ROMANOS=45
-AD CORINTHIOS I=46
-AD CORINTHIOS II=47
-AD GALATAS=48
-AD EPHESIOS=49
-AD PHILIPPENSES=50
-AD COLOSSENSES=51
-AD THESSALONICENSES I=52
-AD THESSALONICENSES II=53
-AD TIMOTHEUM I=54
-AD TIMOTHEUM II=55
-AD TITUM=56
-AD PHILEMONEM=57
-AD HEBRAEOS=58
-JACOBI=59
-PETRI I=60
-PETRI II=61
-IOHANNIS I=62
-IOHANNIS II=63
-IOHANNIS III=64
-JUDAE=65
-APOCALYPSIS=66
+GENESIS=Gen
+EXODUS=Exod
+LEVITICUS=Lev
+NUMERI=Num
+DEUTERONOMIUM=Deut
+IOSUE=Josh
+JUDICUM=Judg
+RUTH=Ruth
+I SAMUHEL=1Sam
+II SAMUHEL=2Sam
+I REGUM=1Kgs
+II REGUM=2Kgs
+I PARALIPOMENON=1Chr
+II PARALIPOMENON=2Chr
+EZRAS=Ezra
+NEEMIA=Neh
+HESTER=Esth
+IOB=Job
+PSALMI=Ps
+PROVERBIA=Prov
+ECCLESIASTES=Eccl
+CANTICUM=Song
+ISAIAS=Isa
+HIEREMIAS=Jer
+LAMENTATIONES=Lam
+HIEZECIHEL=Ezek
+DANIHEL=Dan
+OSEE=Hos
+JOHEL=Joel
+AMOS=Amos
+ABDIAS=Obad
+IONAS=Jonah
+MICHA=Mic
+NAUM=Nah
+ABACUC=Hab
+SOFONIAS=Zeph
+AGGEUS=Hag
+ZACCHARIAS=Zech
+MALACHI=Mal
+SECUNDUM MATTHEUM=Matt
+SECUNDUM MARCUM=Mark
+SECUNDUM LUCAM=Luke
+SECUNDUM IOHANNEM=John
+ACTUS APOSTOLORUM=Acts
+AD ROMANOS=Rom
+AD CORINTHIOS I=1Cor
+AD CORINTHIOS II=2Cor
+AD GALATAS=Gal
+AD EPHESIOS=Eph
+AD PHILIPPENSES=Phil
+AD COLOSSENSES=Col
+AD THESSALONICENSES I=1Thess
+AD THESSALONICENSES II=2Thess
+AD TIMOTHEUM I=1Tim
+AD TIMOTHEUM II=2Tim
+AD TITUM=Titus
+AD PHILEMONEM=Phlm
+AD HEBRAEOS=Heb
+JACOBI=Jas
+PETRI I=1Pet
+PETRI II=2Pet
+IOHANNIS I=1John
+IOHANNIS II=2John
+IOHANNIS III=3John
+JUDAE=Jude
+APOCALYPSIS=Rev
diff --git a/locales.d/lt-utf8.conf b/locales.d/lt-utf8.conf
index 570cef7..8d36e0e 100644
--- a/locales.d/lt-utf8.conf
+++ b/locales.d/lt-utf8.conf
@@ -75,507 +75,323 @@ Jude=Judo
Revelation of John=Apreiškimas Jonui
[Book Abbrevs]
-1 C=46
-1 CHRONICLES=13
-1 CORINTHIANS=46
-1 JN=62
-1 JOHN=62
-1 KGS=11
-1 KINGS=11
-1 PETER=60
-1 PTR=60
-1 SAMUEL=9
-1 THESSALONIANS=52
-1 TIMOTHY=54
-1C=46
-1CHRONICLES=13
-1CORINTHIANS=46
-1JN=62
-1JOHN=62
-1KGS=11
-1KINGS=11
-1PETER=60
-1PTR=60
-1SAMUEL=9
-1THESSALONIANS=52
-1TIMOTHY=54
-2 C=47
-2 CHRONICLES=14
-2 CORINTHIANS=47
-2 JN=63
-2 JOHN=63
-2 KGS=12
-2 KINGS=12
-2 PETER=61
-2 PTR=61
-2 SAMUEL=10
-2 THESSALONIANS=53
-2 TIMOTHY=55
-2C=47
-2CHRONICLES=14
-2CORINTHIANS=47
-2JN=63
-2JOHN=63
-2KGS=12
-2KINGS=12
-2PETER=61
-2PTR=61
-2SAMUEL=10
-2THESSALONIANS=53
-2TIMOTHY=55
-3 JN=64
-3 JOHN=64
-3JN=64
-3JOHN=64
-ACTS=44
-AMOS=30
-APOCALYPSE OF ST. JOHN=66
-C=51
-CANTICLE OF CANTICLES=22
-COC=22
-COLOSSIANS=51
-D=5
-DANIEL=27
-DEUTERONOMY=5
-E=49
-ECCLESIASTES=21
-EPHESIANS=49
-ESTER=17
-ESTHER=17
-EXODUS=2
-EZEKIEL=26
-EZRA=15
-G=1
-GALATIANS=48
-GENESIS=1
-H=58
-HABAKKUK=35
-HAGGAI=37
-HEBREWS=58
-HOSEA=28
-I C=46
-I CHRONICLES=13
-I CORINTHIANS=46
-I JN=62
-I JOHN=62
-I KGS=11
-I KINGS=11
-I PETER=60
-I PTR=60
-I SAMUEL=9
-I THESSALONIANS=52
-I TIMOTHY=54
-IC=46
-ICHRONICLES=13
-ICORINTHIANS=46
-II C=47
-II CHRONICLES=14
-II CORINTHIANS=47
-II JN=63
-II JOHN=63
-II KGS=12
-II KINGS=12
-II PETER=61
-II PTR=61
-II SAMUEL=10
-II THESSALONIANS=53
-II TIMOTHY=55
-IIC=47
-IICHRONICLES=14
-IICORINTHIANS=47
-III JN=64
-III JOHN=64
-IIIJN=64
-IIIJOHN=64
-IIJN=63
-IIJOHN=63
-IIKGS=12
-IIKINGS=12
-IIPETER=61
-IIPTR=61
-IISAMUEL=10
-IITHESSALONIANS=53
-IITIMOTHY=55
-IJN=62
-IJOHN=62
-IKGS=11
-IKINGS=11
-IPETER=60
-IPTR=60
-ISA=23
-ISAIAH=23
-ISAMUEL=9
-ITHESSALONIANS=52
-ITIMOTHY=54
-J=43
-JAMES=59
-JAS=59
-JEREMIAH=24
-JN=43
-JO=43
-JOB=18
-JOEL=29
-JOHN=43
-JONAH=32
-JOSHUA=6
-JUD=7
-JUDE=65
-JUDGES=7
-L=42
-LAMENTATIONS=25
-LEVITICUS=3
-LK=42
-LUKE=42
-MA=40
-MALACHI=39
-MARK=41
-MATTHEW=40
-MICAH=33
-MK=41
-MR=41
-MT=40
-N=4
-NAHUM=34
-NEHEMIAH=16
-NUMBERS=4
-OBADIAH=31
-P=19
-PH=50
-PHILEMON=57
-PHILIPPIANS=50
-PHLM=57
-PHM=57
-PHP=50
-PROVERBS=20
-PSALMS=19
-PSM=19
-PSS=19
-REVELATION OF JOHN=66
-ROMANS=45
-RUTH=8
-SONG OF SOLOMON=22
-SONG OF SONGS=22
-SOS=22
-TITUS=56
-ZECHARIAH=38
-ZEPHANIAH=36
-PR=1
-PRAD=1
-PRADŽIOS=1
-IÅ =2
-IÅ Ä–J=2
-IÅ Ä–JIMO=2
-KN=3
-KUN=3
-KUNIGŲ=3
-SK=4
-SKAIČ=4
-SKAIČIŲ=4
-PAK=5
-PAKARTOTO=5
-PAKARTOTO ĮSTATYMO=5
-JOZ=6
-JOZUÄ–S=6
-TS=7
-TEIS=7
-TEISĖJŲ=7
-RT=8
-RUT=8
-RUTOS=8
-1SAM=9
-1SAMUELIO=9
-1 SAM=9
-1 SAUELIO=9
-I SAM=9
-I SAMUELIO=9
-2 SAM=10
-2 SAUELIO=10
-II SAM=10
-II SAMUELIO=10
-1KAR=11
-1 KAR=11
-1KARAL=11
-1 KARAL=11
-1KARALIŲ=11
-1 KARALIŲ=11
-I KAR=11
-I KARAL=11
-I KARALIŲ=11
-2KAR=12
-2 KAR=12
-2KARAL=12
-2 KARAL=12
-2KARALIŲ=12
-2 KARALIŲ=12
-II KAR=12
-II KARAL=12
-II KARALIŲ=12
-1KRON=13
-1KRONIKŲ=13
-1 KRON=13
-1KRONIKŲ=13
-I KRON=13
-I KRONIKŲ=13
-2KRON=14
-2KRONIKŲ=14
-2 KRON=14
-2KRONIKŲ=14
-II KRON=14
-II KRONIKŲ=14
-EZ=15
-EZD=15
-EZDRO=15
-NEH=16
-NEHEM=16
-NEHEMIJO=16
-ES=17
-EST=17
-ESTER=17
-ESTEROS=17
-JOB=18
-JOBO=18
-PS=19
-PSALM=19
-PSALMIŲ=19
-PSALMÄ–S=19
-PT=20
-PAT=20
-PATARL=20
-PATARLIŲ=20
-PATARLÄ–S=20
-EK=21
-EKL=21
-EKLEZ=21
-EKLEZIASTO=21
-GG=22
-GIESM=22
-GIESMÄ–=22
-GIESMIŲ GIESMĖ=22
-IZ=23
-IZAIJO=23
-JER=24
-JEREM=24
-JEREMIJO=24
-RAUD=25
-RAUDŲ=25
-EZE=26
-EZECH=26
-EZECHIELIO=26
-EZEKIELIO=26
-DAN=27
-DANIEL=27
-DANIELIAUS=27
-OZ=28
-OZÄ–JO=28
-JOEL=29
-JOELIO=29
-AM=30
-AMOSO=30
-ABD=31
-ABDIJO=31
-JONOS=32
-MICH=33
-MICHÄ–JO=33
-NAH=34
-NAHUM=34
-NAHUMO=34
-HAB=35
-HABAK=35
-HABAKUK=35
-HABAKUKO=35
-SOF=36
-SOFON=36
-SOFONIJO=36
-AG=37
-AGÄ–JO=37
-ZACH=38
-ZACHAR=38
-ZACHARIJO=38
-MAL=39
-MALACH=39
-MALACHIJO=39
-MT=40
-MAT=40
-MATO=40
-MK=41
-MOR=41
-MORK=41
-MORKAUS=41
-LK=42
-LUK=42
-LUKO=42
-JN=43
-JON=43
-JONO=43
-APD=44
-APAÅ T=44
-APAŠTALŲ=44
-APAŠTALŲ DARBAI=44
-RM=45
-ROM=45
-ROMIEČ=45
-ROMIEÄŒIAMS=45
-1KOR=46
-1KORINT=46
-1KORINTIEÄŒIAMS=46
-1 KOR=46
-1 KORINT=46
-1 KORINTIEÄŒIAMS=46
-I KOR=46
-I KORINT=46
-I KORINTIEÄŒIAMS=46
-2KOR=47
-2KORINT=47
-2KORINTIEÄŒIAMS=47
-2 KOR=47
-2 KORINT=47
-2 KORINTIEÄŒIAMS=47
-II KOR=47
-II KORINT=47
-II KORINTIEÄŒIAMS=47
-GL=48
-GAL=48
-GALAT=48
-GALATAMS=48
-EF=49
-EFEZ=49
-EFEZIEČ=49
-EFEZIEÄŒIAMS=49
-FILIP=50
-FILIPIEČ=50
-FILIPIEÄŒIAMS=50
-KOL=51
-KOLOS=51
-KOLOSIEČ=51
-KOLOSIEÄŒIAMS=51
-1TES=52
-1TESAL=52
-1TESALON=52
-1TESALONIK=52
-1TESALONIKIEČ=52
-1TESALONIKIEÄŒIAMS=52
-1 TES=52
-1 TESAL=52
-1 TESALON=52
-1 TESALONIK=52
-1 TESALONIKIEČ=52
-1 TESALONIKIEÄŒIAMS=52
-I TES=52
-I TESAL=52
-I TESALON=52
-I TESALONIK=52
-I TESALONIKIEČ=52
-I TESALONIKIEÄŒIAMS=52
-2TES=53
-2TESAL=53
-2TESALON=53
-2TESALONIK=53
-2TESALONIKIEČ=53
-2TESALONIKIEÄŒIAMS=53
-2 TES=53
-2 TESAL=53
-2 TESALON=53
-2 TESALONIK=53
-2 TESALONIKIEČ=53
-2 TESALONIKIEÄŒIAMS=53
-II TES=53
-II TESAL=53
-II TESALON=53
-II TESALONIK=53
-II TESALONIKIEČ=53
-II TESALONIKIEÄŒIAMS=53
-1TIM=54
-1TIMOT=54
-1TIMOTIEJ=54
-1TIMOTIEJUI=54
-1 TIM=54
-1 TIMOT=54
-1 TIMOTIEJ=54
-1 TIMOTIEJUI=54
-I TIM=54
-I TIMOT=54
-I TIMOTIEJ=54
-I TIMOTIEJUI=54
-2TIM=55
-2TIMOT=55
-2TIMOTIEJ=55
-2TIMOTIEJUI=55
-2 TIM=55
-2 TIMOT=55
-2 TIMOTIEJ=55
-2 TIMOTIEJUI=55
-II TIM=55
-II TIMOT=55
-II TIMOTIEJ=55
-II TIMOTIEJUI=55
-TIT=56
-TITUI=56
-FILEM=57
-FILEMON=57
-FILEMONUI=57
-ŽD=58
-ŽYD=58
-ŽYDAMS=58
-JOK=59
-JOKŪB=59
-JOKŪBO=59
-1PT=60
-1PET=60
-1PETR=60
-1PETRO=60
-1 PT=60
-1 PET=60
-1 PETR=60
-1 PETRO=60
-I PT=60
-I PET=60
-I PETR=60
-I PETRO=60
-2PT=61
-2PET=61
-2PETR=61
-2PETRO=61
-2 PT=61
-2 PET=61
-2 PETR=61
-2 PETRO=61
-II PT=61
-II PET=61
-II PETR=61
-II PETRO=61
-1JN=62
-1JON=62
-1JONO=62
-1 JN=62
-1 JON=62
-1 JONO=62
-I JN=62
-I JON=62
-I JONO=62
-2JN=63
-2JON=63
-2JONO=63
-2 JN=63
-2 JON=63
-2 JONO=63
-II JN=63
-II JON=63
-II JONO=63
-3JN=64
-3JON=64
-3JONO=64
-3 JN=64
-3 JON=64
-3 JONO=64
-III JN=64
-III JON=64
-III JONO=64
-JD=65
-JUD=65
-JUDO=65
-APR=66
-APREIÅ K=66
-APREIÅ KIM=66
-APREIÅ KIMAS=66
-APREIÅ KIMAS JONUI=66 \ No newline at end of file
+PR=Gen
+PRAD=Gen
+PRADŽIOS=Gen
+IÅ =Exod
+IÅ Ä–J=Exod
+IÅ Ä–JIMO=Exod
+KN=Lev
+KUN=Lev
+KUNIGŲ=Lev
+SK=Num
+SKAIČ=Num
+SKAIČIŲ=Num
+PAK=Deut
+PAKARTOTO=Deut
+PAKARTOTO ĮSTATYMO=Deut
+JOZ=Josh
+JOZUÄ–S=Josh
+TS=Judg
+TEIS=Judg
+TEISĖJŲ=Judg
+RT=Ruth
+RUT=Ruth
+RUTOS=Ruth
+1SAM=1Sam
+1SAMUELIO=1Sam
+1 SAM=1Sam
+1 SAUELIO=1Sam
+I SAM=1Sam
+I SAMUELIO=1Sam
+2 SAM=2Sam
+2 SAUELIO=2Sam
+II SAM=2Sam
+II SAMUELIO=2Sam
+1KAR=1Kgs
+1 KAR=1Kgs
+1KARAL=1Kgs
+1 KARAL=1Kgs
+1KARALIŲ=1Kgs
+1 KARALIŲ=1Kgs
+I KAR=1Kgs
+I KARAL=1Kgs
+I KARALIŲ=1Kgs
+2KAR=2Kgs
+2 KAR=2Kgs
+2KARAL=2Kgs
+2 KARAL=2Kgs
+2KARALIŲ=2Kgs
+2 KARALIŲ=2Kgs
+II KAR=2Kgs
+II KARAL=2Kgs
+II KARALIŲ=2Kgs
+1KRON=1Chr
+1KRONIKŲ=1Chr
+1 KRON=1Chr
+1KRONIKŲ=1Chr
+I KRON=1Chr
+I KRONIKŲ=1Chr
+2KRON=2Chr
+2KRONIKŲ=2Chr
+2 KRON=2Chr
+2KRONIKŲ=2Chr
+II KRON=2Chr
+II KRONIKŲ=2Chr
+EZ=Ezra
+EZD=Ezra
+EZDRO=Ezra
+NEH=Neh
+NEHEM=Neh
+NEHEMIJO=Neh
+ES=Esth
+EST=Esth
+ESTER=Esth
+ESTEROS=Esth
+JOB=Job
+JOBO=Job
+PS=Ps
+PSALM=Ps
+PSALMIŲ=Ps
+PSALMÄ–S=Ps
+PT=Prov
+PAT=Prov
+PATARL=Prov
+PATARLIŲ=Prov
+PATARLÄ–S=Prov
+EK=Eccl
+EKL=Eccl
+EKLEZ=Eccl
+EKLEZIASTO=Eccl
+GG=Song
+GIESM=Song
+GIESMÄ–=Song
+GIESMIŲ GIESMĖ=Song
+IZ=Isa
+IZAIJO=Isa
+JER=Jer
+JEREM=Jer
+JEREMIJO=Jer
+RAUD=Lam
+RAUDŲ=Lam
+EZE=Ezek
+EZECH=Ezek
+EZECHIELIO=Ezek
+EZEKIELIO=Ezek
+DAN=Dan
+DANIEL=Dan
+DANIELIAUS=Dan
+OZ=Hos
+OZÄ–JO=Hos
+JOEL=Joel
+JOELIO=Joel
+AM=Amos
+AMOSO=Amos
+ABD=Obad
+ABDIJO=Obad
+JONOS=Jonah
+MICH=Mic
+MICHÄ–JO=Mic
+NAH=Nah
+NAHUM=Nah
+NAHUMO=Nah
+HAB=Hab
+HABAK=Hab
+HABAKUK=Hab
+HABAKUKO=Hab
+SOF=Zeph
+SOFON=Zeph
+SOFONIJO=Zeph
+AG=Hag
+AGÄ–JO=Hag
+ZACH=Zech
+ZACHAR=Zech
+ZACHARIJO=Zech
+MAL=Mal
+MALACH=Mal
+MALACHIJO=Mal
+MT=Matt
+MAT=Matt
+MATO=Matt
+MK=Mark
+MOR=Mark
+MORK=Mark
+MORKAUS=Mark
+LK=Luke
+LUK=Luke
+LUKO=Luke
+JN=John
+JON=John
+JONO=John
+APD=Acts
+APAÅ T=Acts
+APAŠTALŲ=Acts
+APAŠTALŲ DARBAI=Acts
+RM=Rom
+ROM=Rom
+ROMIEČ=Rom
+ROMIEÄŒIAMS=Rom
+1KOR=1Cor
+1KORINT=1Cor
+1KORINTIEÄŒIAMS=1Cor
+1 KOR=1Cor
+1 KORINT=1Cor
+1 KORINTIEÄŒIAMS=1Cor
+I KOR=1Cor
+I KORINT=1Cor
+I KORINTIEÄŒIAMS=1Cor
+2KOR=2Cor
+2KORINT=2Cor
+2KORINTIEÄŒIAMS=2Cor
+2 KOR=2Cor
+2 KORINT=2Cor
+2 KORINTIEÄŒIAMS=2Cor
+II KOR=2Cor
+II KORINT=2Cor
+II KORINTIEÄŒIAMS=2Cor
+GL=Gal
+GAL=Gal
+GALAT=Gal
+GALATAMS=Gal
+EF=Eph
+EFEZ=Eph
+EFEZIEČ=Eph
+EFEZIEÄŒIAMS=Eph
+FILIP=Phil
+FILIPIEČ=Phil
+FILIPIEÄŒIAMS=Phil
+KOL=Col
+KOLOS=Col
+KOLOSIEČ=Col
+KOLOSIEÄŒIAMS=Col
+1TES=1Thess
+1TESAL=1Thess
+1TESALON=1Thess
+1TESALONIK=1Thess
+1TESALONIKIEČ=1Thess
+1TESALONIKIEÄŒIAMS=1Thess
+1 TES=1Thess
+1 TESAL=1Thess
+1 TESALON=1Thess
+1 TESALONIK=1Thess
+1 TESALONIKIEČ=1Thess
+1 TESALONIKIEÄŒIAMS=1Thess
+I TES=1Thess
+I TESAL=1Thess
+I TESALON=1Thess
+I TESALONIK=1Thess
+I TESALONIKIEČ=1Thess
+I TESALONIKIEÄŒIAMS=1Thess
+2TES=2Thess
+2TESAL=2Thess
+2TESALON=2Thess
+2TESALONIK=2Thess
+2TESALONIKIEČ=2Thess
+2TESALONIKIEÄŒIAMS=2Thess
+2 TES=2Thess
+2 TESAL=2Thess
+2 TESALON=2Thess
+2 TESALONIK=2Thess
+2 TESALONIKIEČ=2Thess
+2 TESALONIKIEÄŒIAMS=2Thess
+II TES=2Thess
+II TESAL=2Thess
+II TESALON=2Thess
+II TESALONIK=2Thess
+II TESALONIKIEČ=2Thess
+II TESALONIKIEÄŒIAMS=2Thess
+1TIM=1Tim
+1TIMOT=1Tim
+1TIMOTIEJ=1Tim
+1TIMOTIEJUI=1Tim
+1 TIM=1Tim
+1 TIMOT=1Tim
+1 TIMOTIEJ=1Tim
+1 TIMOTIEJUI=1Tim
+I TIM=1Tim
+I TIMOT=1Tim
+I TIMOTIEJ=1Tim
+I TIMOTIEJUI=1Tim
+2TIM=2Tim
+2TIMOT=2Tim
+2TIMOTIEJ=2Tim
+2TIMOTIEJUI=2Tim
+2 TIM=2Tim
+2 TIMOT=2Tim
+2 TIMOTIEJ=2Tim
+2 TIMOTIEJUI=2Tim
+II TIM=2Tim
+II TIMOT=2Tim
+II TIMOTIEJ=2Tim
+II TIMOTIEJUI=2Tim
+TIT=Titus
+TITUI=Titus
+FILEM=Phlm
+FILEMON=Phlm
+FILEMONUI=Phlm
+ŽD=Heb
+ŽYD=Heb
+ŽYDAMS=Heb
+JOK=Jas
+JOKŪB=Jas
+JOKŪBO=Jas
+1PT=1Pet
+1PET=1Pet
+1PETR=1Pet
+1PETRO=1Pet
+1 PT=1Pet
+1 PET=1Pet
+1 PETR=1Pet
+1 PETRO=1Pet
+I PT=1Pet
+I PET=1Pet
+I PETR=1Pet
+I PETRO=1Pet
+2PT=2Pet
+2PET=2Pet
+2PETR=2Pet
+2PETRO=2Pet
+2 PT=2Pet
+2 PET=2Pet
+2 PETR=2Pet
+2 PETRO=2Pet
+II PT=2Pet
+II PET=2Pet
+II PETR=2Pet
+II PETRO=2Pet
+1JN=1John
+1JON=1John
+1JONO=1John
+1 JN=1John
+1 JON=1John
+1 JONO=1John
+I JN=1John
+I JON=1John
+I JONO=1John
+2JN=2John
+2JON=2John
+2JONO=2John
+2 JN=2John
+2 JON=2John
+2 JONO=2John
+II JN=2John
+II JON=2John
+II JONO=2John
+3JN=3John
+3JON=3John
+3JONO=3John
+3 JN=3John
+3 JON=3John
+3 JONO=3John
+III JN=3John
+III JON=3John
+III JONO=3John
+JD=Jude
+JUD=Jude
+JUDO=Jude
+APR=Rev
+APREIÅ K=Rev
+APREIÅ KIM=Rev
+APREIÅ KIMAS=Rev
+APREIÅ KIMAS JONUI=Rev
diff --git a/locales.d/mt-utf8.conf b/locales.d/mt-utf8.conf
new file mode 100644
index 0000000..b5f8bfe
--- /dev/null
+++ b/locales.d/mt-utf8.conf
@@ -0,0 +1,211 @@
+[Meta]
+Name=mt
+Description=Maltese / Malti
+Encoding=UTF-8
+
+[Text]
+Genesis=Ä enesi
+Exodus=Eżodu
+Leviticus=Levitku
+Numbers=Numri
+Deuteronomy=Dewteronomju
+Joshua=Ġożwe
+Judges=Imħallfin
+Ruth=Rut
+I Samuel=1 Samwel
+II Samuel=2 Samwel
+I Kings=1 Slaten
+II Kings=2 Slaten
+I Chronicles=1 Kronaki
+II Chronicles=2 Kronaki
+Ezra=Esdra
+Nehemiah=Neħemija
+#Tobit=Tobija
+#Judith=Ä uditta
+Esther=Ester
+#I Maccabees=L-Ewwel Ktieb tal-Makkabin
+#II Maccabees=Tt-Tieni Ktieb tal-Makkabin
+Job=Ä ob
+Psalms=Salmi
+Proverbs=Qwiel
+Ecclesiastes=Ktieb Qohelet
+Song of Solomon=L-Għanja tal-Għanjiet
+#Wisdom=Ktieb il-Għerf
+#Sirach=Il-Ktieb ta' Bin Sirak
+Isaiah=Isaija
+Jeremiah=Ä eremija
+Lamentations=Lamentazzjonijiet
+#Baruch=Ktieb Baruk
+Ezekiel=Eżekjel
+Daniel=Danjel
+Hosea=Hosegħa
+Joel=Joel
+Amos=Għamos
+Obadiah=Għabdija
+Jonah=Jona
+Micah=Mikea
+Nahum=Naħum
+Habakkuk=Ħabaqquq
+Zephaniah=Ktieb Sofonija
+Haggai=Ħaggaj
+Zechariah=Żakkarija
+Malachi=Malakija
+Matthew=Mattew
+Mark=Mark
+Luke=Luqa
+John=Ä wann
+Acts=Atti tal-Appostli
+Romans=L-ittra lir-Rumani
+I Corinthians=l-1 ittra Korintin
+II Corinthians=it-2 Ittra lill-Korintin
+Galatians=L-Ittra lill-Galatin
+I Thessalonians= 1 Tessalonkin
+II Thessalonians=2 Tessalonkin
+Ephesians=Itra lill-Efesin
+Philippians=Ittra lill-Filippin
+Colossians= l-Ittra lill-Kolossin
+Philemon= L-Ittra lil Filemon
+I Timothy=L-Ewwel ittra lil Timoteus
+II Timothy=It-tieni ittra lil Timoteus
+Titus=L-Ittra lil Titus
+Hebrews=L-ittra lil Lhud
+James=L-ittra ta'San Ä akbu
+I Peter= L-Ewwel Ittra ta' San Pietru
+II Peter=It-Tieni Ittra ta' San Pietru
+I John=L-ewwel ittra ta' San Ä wann
+II John= It-tieni ittra ta' San Ä wann
+III John= It-Tielet ittra ta' San Ä wann
+Jude= L-Ittra ta' San Ä uda
+Revelation of John=Apokalissi
+
+[Book Abbrevs]
+
+Ä ENESI=Gen
+EŻODU=Exod
+LEVITKU=Lev
+NUMRI=Num
+DEWTERONOMJU=Deut
+
+ĠOŻWE=Josh
+IMĦALLFIN=Judg
+RUT=Ruth
+
+1 SAMWEL=1Sam
+2 SAMWEL=2Sam
+1 SLATEN=1Kgs
+2 SLATEN=2Kgs
+
+1 KRONAKI=1Chr
+2 KRONAKI=2Chr
+ESDRA=Ezra
+NEĦEMIJA=Neh
+# TOBIJA=Esth
+# Ä UDITTA=Job
+ESTER=Esth
+# 1 MAKKABIN=Prov
+# 2 MAKKABIN=Eccl
+Ä OB=Job
+SALMI=Ps
+QWIEL=Prov
+
+QOHELET=Eccl
+KTIEB QOHELET=Eccl
+
+L-GĦANJA TAL-GĦANJIET=Song
+# GĦERF=Dan
+# BIN SIRAK=Hos
+
+ISAIJA=Isa
+Ä EREMIJA=Jer
+LAMENTAZZJONIJIET=Lam
+
+# BARUK=Jonah
+
+EŻEKJEL=Ezek
+DANJEL=Dan
+HOSEGĦA=Hos
+JOEL=Joel
+GĦAMOS=Amos
+GĦABDIJA=Obad
+JONA=Jonah
+MIKEA=Mic
+NAĦUM=Nah
+ĦABAQQUQ=Hab
+
+KTIEB SOFONIJA=Zeph
+SOFONIJA=Zeph
+
+ĦAGGAJ=Hag
+ŻAKKARIJA=Zech
+MALAKIJA=Mal
+MATTEW=Matt
+MARK=Mark
+LUQA=Luke
+Ä WANN=John
+ATTI=Acts
+ATTI TAL-APPOSTLI=Acts
+RUMANI=Rom
+L-ITTRA LIR-RUMANI=Rom
+
+1 KORINTIN=1Cor
+L-1 ITTRA KORINTIN=1Cor
+
+
+2 KORINTIN=2Cor
+IT-2 ITTRA LILL-KORINTIN=2Cor
+
+GALATIN=Gal
+L-ITTRA LILL-GALATIN=Gal
+
+EFESIN=EPh
+ITRA LILL-EFESIN=Eph
+
+FILIPPIN=Phil
+ITTRA LILL-FILIPPIN=Phil
+
+KOLOSSIN=Col
+L-ITTRA LILL-KOLOSSIN=Col
+
+1 TESSALONKIN=1Thess
+
+2 TESSALONKIN=2Thess
+
+1 TIMOTEUS=1Tim
+L-EWWEL ITTRA LIL TIMOTEUS=1Tim
+
+2 TIMOTEUS=2Tim
+IT-TIENI ITTRA LIL TIMOTEUS=2Tim
+
+TITUS=Titus
+L-ITTRA LIL TITUS=Titus
+
+FILEMON=Phlm
+L-ITTRA LIL FILEMON=Phlm
+
+LHUD=Heb
+L-ITTRA LIL LHUD=Heb
+
+SAN Ä AKBU=Jas
+L-ITTRA TA'SAN Ä AKBU=Jas
+
+1 SAN PIETRU=1Pet
+L-EWWEL ITTRA TA' SAN PIETRU=1Pet
+
+2 SAN PIETRU=2Pet
+IT-TIENI ITTRA TA' SAN PIETRU=2Pet
+
+1 Ä WANN=1John
+L-EWWEL ITTRA TA' SAN Ä WANN=1John
+
+2 Ä WANN=2John
+IT-TIENI ITTRA TA' SAN Ä WANN=2John
+
+3 Ä WANN=3John
+IT-TIELET ITTRA TA' SAN Ä WANN=3John
+
+Ä UDA=Jude
+L-ITTRA TA' SAN Ä UDA=Jude
+
+APOKALISSI=Rev
+
+
diff --git a/locales.d/nb-utf8.conf b/locales.d/nb-utf8.conf
new file mode 100644
index 0000000..be8b7f6
--- /dev/null
+++ b/locales.d/nb-utf8.conf
@@ -0,0 +1,295 @@
+[Meta]
+Name=nb
+Description=Bokmål (Unicode)
+Encoding=UTF-8
+
+[Text]
+Genesis=1. Mosebok
+Exodus=2. Mosebok
+Leviticus=3. Mosebok
+Numbers=4. Mosebok
+Deuteronomy=5. Mosebok
+Joshua=Josva
+Judges=Dommerne
+Ruth=Rut
+I Samuel=1. Samuelsbok
+II Samuel=2. Samuelsbok
+I Kings=1. Kongebok
+II Kings=2. Kongebok
+I Chronicles=1. Krønikebok
+II Chronicles=2. Krønikebok
+Ezra=Esra
+Nehemiah=Nehemja
+Esther=Ester
+Job=Job
+Psalms=Salmene
+Proverbs=Ordspråkene
+Ecclesiastes=Forkynneren
+Song of Solomon=Høysangen
+Isaiah=Jesaja
+Jeremiah=Jeremia
+Lamentations=Klagesangene
+Ezekiel=Esekiel
+Daniel=Daniel
+Hosea=Hosea
+Joel=Joel
+Amos=Amos
+Obadiah=Obadja
+Jonah=Jona
+Micah=Mika
+Nahum=Nahum
+Habakkuk=Habakkuk
+Zephaniah=Sefanja
+Haggai=Haggai
+Zechariah=Sakarja
+Malachi=Malaki
+Matthew=Matteus
+Mark=Markus
+Luke=Lukas
+John=Johannes
+Acts=Apostlenes gjerninger
+Romans=Romerne
+I Corinthians=1. Korinter
+II Corinthians=2. Korinter
+Galatians=Galaterne
+Ephesians=Efeserne
+Philippians=Filipperne
+Colossians=Kolosserne
+I Thessalonians=1. Tessaloniker
+II Thessalonians=2. Tessaloniker
+I Timothy=1. Timoteus
+II Timothy=2. Timoteus
+Titus=Titus
+Philemon=Filemon
+Hebrews=Hebreerne
+James=Jakob
+I Peter=1. Peter
+II Peter=2. Peter
+I John=1. Johannes
+II John=2. Johannes
+III John=3. Johannes
+Jude=Judas
+Revelation of John=Johannes' åpenbaring
+
+[Book Abbrevs]
+
+1. MOSEBOK=Gen
+1 MOSEBOK=Gen
+1MOSEBOK=Gen
+
+2. MOSEBOK=Exod
+2 MOSEBOK=Exod
+2MOSEBOK=Exod
+
+3. MOSEBOK=Lev
+3 MOSEBOK=Lev
+3MOSEBOK=Lev
+
+4. MOSEBOK=Num
+4 MOSEBOK=Num
+4MOSEBOK=Num
+
+5. MOSEBOK=Deut
+5 MOSEBOK=Deut
+5MOSEBOK=Deut
+
+JOSVA=Josh
+DOMMERNE=Judg
+RUT=Ruth
+
+1. SAMUELSBOK=1Sam
+1 SAMUELSBOK=1Sam
+1SAMUELSBOK=1Sam
+
+2. SAMUELSBOK=2Sam
+2 SAMUELSBOK=2Sam
+2SAMUELSBOK=2Sam
+
+1. KONGEBOK=1Kgs
+1 KONGEBOK=1Kgs
+1KONGEBOK=1Kgs
+
+2. KONGEBOK=2Kgs
+2 KONGEBOK=2Kgs
+2KONGEBOK=2Kgs
+
+1. KRØNIKEBOK=1Chr
+1 KRØNIKEBOK=1Chr
+1KRØNIKEBOK=1Chr
+
+2. KRØNIKEBOK=2Chr
+2 KRØNIKEBOK=2Chr
+2KRØNIKEBOK=2Chr
+
+ESRA=Ezra
+NEHEMJA=Neh
+ESTER=Esth
+JOB=Job
+SALMENE=Ps
+ORDSPRÃ…KENE=Prov
+FORKYNNEREN=Eccl
+HØYSANGEN=Song
+JESAJA=Isa
+JEREMIA=Jer
+KLAGESANGENE=Lam
+ESEKIEL=Ezek
+DANIEL=Dan
+HOSEA=Hos
+JOEL=Joel
+AMOS=Amos
+OBADJA=Obad
+JONA=Jonah
+MIKA=Mic
+NAHUM=Nah
+HABAKKUK=Hab
+SEFANJA=Zeph
+HAGGAI=Hag
+SAKARJA=Zech
+MALAKI=Mal
+MATTEUS=Matt
+MARKUS=Mark
+LUKAS=Luke
+JOHANNES=John
+APOSTLENES GJERNINGER=Acts
+ROMERNE=Rom
+
+1. KORINTER=1Cor
+1 KORINTER=1Cor
+1KORINTER=1Cor
+
+2. KORINTER=2Cor
+2 KORINTER=2Cor
+2KORINTER=2Cor
+
+GALATERNE=Gal
+EFESERNE=Eph
+FILIPPERNE=Phil
+KOLOSSERNE=Col
+
+1. TESSALONIKER=1Thess
+1 TESSALONIKER=1Thess
+1TESSALONIKER=1Thess
+
+2. TESSALONIKER=2Thess
+2 TESSALONIKER=2Thess
+2TESSALONIKER=2Thess
+
+1. TIMOTEUS=1Tim
+1 TIMOTEUS=1Tim
+1TIMOTEUS=1Tim
+
+2. TIMOTEUS=2Tim
+2 TIMOTEUS=2Tim
+2TIMOTEUS=2Tim
+
+TITUS=Titus
+FILEMON=Phlm
+HEBREERNE=Heb
+JAKOB=Jas
+
+1. PETER=1Pet
+1 PETER=1Pet
+1PETER=1Pet
+
+2. PETER=2Pet
+2 PETER=2Pet
+2PETER=2Pet
+
+1. JOHANNES=1John
+1 JOHANNES=1John
+1JOHANNES=1John
+
+2. JOHANNES=2John
+2 JOHANNES=2John
+2JOHANNES=2John
+
+3. JOHANNES=3John
+3 JOHANNES=3John
+3JOHANNES=3John
+
+JUDAS=Jude
+JOHANNES' Ã…PENBARING=Rev
+
+1. MOS=Gen
+1MOS=Gen
+2. MOS=Exod
+2MOS=Exod
+3. MOS=Lev
+3MOS=Lev
+4. MOS=Num
+4MOS=Num
+5. MOS=Deut
+5MOS=Deut
+JOS=Josh
+DOM=Judg
+1. SAM=1Sam
+1SAM=1Sam
+2. SAM=2Sam
+2SAM=2Sam
+1. KONG=1Kgs
+1KONG=1Kgs
+2. KONG=2Kgs
+2KONG=2Kgs
+1. KRØN=1Chr
+1KRØN=1Chr
+2. KRØN=2Chr
+2KRØN=2Chr
+NEH=Neh
+EST=Esth
+SAL=Ps
+ORDSP=Prov
+FORK=Eccl
+HØYS=Song
+JES=Isa
+JER=Jer
+KLAG=Lam
+ESEK=Ezek
+DAN=Dan
+HOS=Hos
+AM=Amos
+OB=Obad
+MI=Mic
+NAH=Nah
+HAB=Hab
+SEF=Zeph
+HAG=Hag
+SAK=Zech
+MAL=Mal
+MATT=Matt
+MARK=Mark
+LUK=Luke
+JOH=John
+APG=Acts
+ROM=Rom
+1. KOR=1Cor
+1KOR=1Cor
+2. KOR=2Cor
+2KOR=2Cor
+GAL=Gal
+EF=Eph
+FIL=Phil
+KOL=Col
+1. TESS=1Thess
+1TESS=1Thess
+2. TESS=2Thess
+2TESS=2Thess
+1. TIM=1Tim
+1TIM=1Tim
+2. TIM=2Tim
+2TIM=2Tim
+TIT=Titus
+FILEM=Phlm
+HEBR=Heb
+JAK=Jas
+1. PET=1Pet
+1PET=1Pet
+2. PET=2Pet
+2PET=2Pet
+1. JOH=1John
+1JOH=1John
+2. JOH=2John
+2JOH=2John
+3. JOH=3John
+3JOH=3John
+JUD=Jude
+Ã…P=Rev
diff --git a/locales.d/nb.conf b/locales.d/nb.conf
new file mode 100644
index 0000000..bf7702c
--- /dev/null
+++ b/locales.d/nb.conf
@@ -0,0 +1,295 @@
+[Meta]
+Name=nb
+Description=Bokmål
+Encoding=ISO8859-1
+
+[Text]
+Genesis=1. Mosebok
+Exodus=2. Mosebok
+Leviticus=3. Mosebok
+Numbers=4. Mosebok
+Deuteronomy=5. Mosebok
+Joshua=Josva
+Judges=Dommerne
+Ruth=Rut
+I Samuel=1. Samuelsbok
+II Samuel=2. Samuelsbok
+I Kings=1. Kongebok
+II Kings=2. Kongebok
+I Chronicles=1. Krønikebok
+II Chronicles=2. Krønikebok
+Ezra=Esra
+Nehemiah=Nehemja
+Esther=Ester
+Job=Job
+Psalms=Salmene
+Proverbs=Ordspråkene
+Ecclesiastes=Forkynneren
+Song of Solomon=Høysangen
+Isaiah=Jesaja
+Jeremiah=Jeremia
+Lamentations=Klagesangene
+Ezekiel=Esekiel
+Daniel=Daniel
+Hosea=Hosea
+Joel=Joel
+Amos=Amos
+Obadiah=Obadja
+Jonah=Jona
+Micah=Mika
+Nahum=Nahum
+Habakkuk=Habakkuk
+Zephaniah=Sefanja
+Haggai=Haggai
+Zechariah=Sakarja
+Malachi=Malaki
+Matthew=Matteus
+Mark=Markus
+Luke=Lukas
+John=Johannes
+Acts=Apostlenes gjerninger
+Romans=Romerne
+I Corinthians=1. Korinter
+II Corinthians=2. Korinter
+Galatians=Galaterne
+Ephesians=Efeserne
+Philippians=Filipperne
+Colossians=Kolosserne
+I Thessalonians=1. Tessaloniker
+II Thessalonians=2. Tessaloniker
+I Timothy=1. Timoteus
+II Timothy=2. Timoteus
+Titus=Titus
+Philemon=Filemon
+Hebrews=Hebreerne
+James=Jakob
+I Peter=1. Peter
+II Peter=2. Peter
+I John=1. Johannes
+II John=2. Johannes
+III John=3. Johannes
+Jude=Judas
+Revelation of John=Johannes' åpenbaring
+
+[Book Abbrevs]
+
+1. MOSEBOK=Gen
+1 MOSEBOK=Gen
+1MOSEBOK=Gen
+
+2. MOSEBOK=Exod
+2 MOSEBOK=Exod
+2MOSEBOK=Exod
+
+3. MOSEBOK=Lev
+3 MOSEBOK=Lev
+3MOSEBOK=Lev
+
+4. MOSEBOK=Num
+4 MOSEBOK=Num
+4MOSEBOK=Num
+
+5. MOSEBOK=Deut
+5 MOSEBOK=Deut
+5MOSEBOK=Deut
+
+JOSVA=Josh
+DOMMERNE=Judg
+RUT=Ruth
+
+1. SAMUELSBOK=1Sam
+1 SAMUELSBOK=1Sam
+1SAMUELSBOK=1Sam
+
+2. SAMUELSBOK=2Sam
+2 SAMUELSBOK=2Sam
+2SAMUELSBOK=2Sam
+
+1. KONGEBOK=1Kgs
+1 KONGEBOK=1Kgs
+1KONGEBOK=1Kgs
+
+2. KONGEBOK=2Kgs
+2 KONGEBOK=2Kgs
+2KONGEBOK=2Kgs
+
+1. KRØNIKEBOK=1Chr
+1 KRØNIKEBOK=1Chr
+1KRØNIKEBOK=1Chr
+
+2. KRØNIKEBOK=2Chr
+2 KRØNIKEBOK=2Chr
+2KRØNIKEBOK=2Chr
+
+ESRA=Ezra
+NEHEMJA=Neh
+ESTER=Esth
+JOB=Job
+SALMENE=Ps
+ORDSPRÅKENE=Prov
+FORKYNNEREN=Eccl
+HØYSANGEN=Song
+JESAJA=Isa
+JEREMIA=Jer
+KLAGESANGENE=Lam
+ESEKIEL=Ezek
+DANIEL=Dan
+HOSEA=Hos
+JOEL=Joel
+AMOS=Amos
+OBADJA=Obad
+JONA=Jonah
+MIKA=Mic
+NAHUM=Nah
+HABAKKUK=Hab
+SEFANJA=Zeph
+HAGGAI=Hag
+SAKARJA=Zech
+MALAKI=Mal
+MATTEUS=Matt
+MARKUS=Mark
+LUKAS=Luke
+JOHANNES=John
+APOSTLENES GJERNINGER=Acts
+ROMERNE=Rom
+
+1. KORINTER=1Cor
+1 KORINTER=1Cor
+1KORINTER=1Cor
+
+2. KORINTER=2Cor
+2 KORINTER=2Cor
+2KORINTER=2Cor
+
+GALATERNE=Gal
+EFESERNE=Eph
+FILIPPERNE=Phil
+KOLOSSERNE=Col
+
+1. TESSALONIKER=1Thess
+1 TESSALONIKER=1Thess
+1TESSALONIKER=1Thess
+
+2. TESSALONIKER=2Thess
+2 TESSALONIKER=2Thess
+2TESSALONIKER=2Thess
+
+1. TIMOTEUS=1Tim
+1 TIMOTEUS=1Tim
+1TIMOTEUS=1Tim
+
+2. TIMOTEUS=2Tim
+2 TIMOTEUS=2Tim
+2TIMOTEUS=2Tim
+
+TITUS=Titus
+FILEMON=Phlm
+HEBREERNE=Heb
+JAKOB=Jas
+
+1. PETER=1Pet
+1 PETER=1Pet
+1PETER=1Pet
+
+2. PETER=2Pet
+2 PETER=2Pet
+2PETER=2Pet
+
+1. JOHANNES=1John
+1 JOHANNES=1John
+1JOHANNES=1John
+
+2. JOHANNES=2John
+2 JOHANNES=2John
+2JOHANNES=2John
+
+3. JOHANNES=3John
+3 JOHANNES=3John
+3JOHANNES=3John
+
+JUDAS=Jude
+JOHANNES' ÅPENBARING=Rev
+
+1. MOS=Gen
+1MOS=Gen
+2. MOS=Exod
+2MOS=Exod
+3. MOS=Lev
+3MOS=Lev
+4. MOS=Num
+4MOS=Num
+5. MOS=Deut
+5MOS=Deut
+JOS=Josh
+DOM=Judg
+1. SAM=1Sam
+1SAM=1Sam
+2. SAM=2Sam
+2SAM=2Sam
+1. KONG=1Kgs
+1KONG=1Kgs
+2. KONG=2Kgs
+2KONG=2Kgs
+1. KRØN=1Chr
+1KRØN=1Chr
+2. KRØN=2Chr
+2KRØN=2Chr
+NEH=Neh
+EST=Esth
+SAL=Ps
+ORDSP=Prov
+FORK=Eccl
+HØYS=Song
+JES=Isa
+JER=Jer
+KLAG=Lam
+ESEK=Ezek
+DAN=Dan
+HOS=Hos
+AM=Amos
+OB=Obad
+MI=Mic
+NAH=Nah
+HAB=Hab
+SEF=Zeph
+HAG=Hag
+SAK=Zech
+MAL=Mal
+MATT=Matt
+MARK=Mark
+LUK=Luke
+JOH=John
+APG=Acts
+ROM=Rom
+1. KOR=1Cor
+1KOR=1Cor
+2. KOR=2Cor
+2KOR=2Cor
+GAL=Gal
+EF=Eph
+FIL=Phil
+KOL=Col
+1. TESS=1Thess
+1TESS=1Thess
+2. TESS=2Thess
+2TESS=2Thess
+1. TIM=1Tim
+1TIM=1Tim
+2. TIM=2Tim
+2TIM=2Tim
+TIT=Titus
+FILEM=Phlm
+HEBR=Heb
+JAK=Jas
+1. PET=1Pet
+1PET=1Pet
+2. PET=2Pet
+2PET=2Pet
+1. JOH=1John
+1JOH=1John
+2. JOH=2John
+2JOH=2John
+3. JOH=3John
+3JOH=3John
+JUD=Jude
+ÅP=Rev
diff --git a/locales.d/nl-utf8.conf b/locales.d/nl-utf8.conf
new file mode 100644
index 0000000..d5e12e0
--- /dev/null
+++ b/locales.d/nl-utf8.conf
@@ -0,0 +1,263 @@
+[Meta]
+Name=nl
+Description=Nederlands (Unicode)
+Encoding=UTF-8
+
+[Text]
+Genesis=Genesis
+Exodus=Exodus
+Leviticus=Leviticus
+Numbers=Numeri
+Deuteronomy=Deuteronomium
+Joshua=Jozua
+Judges=Richteren
+Ruth=Ruth
+I Samuel=1Samuel
+II Samuel=2Samuel
+I Kings=1Koningen
+II Kings=2Koningen
+I Chronicles=1Kronieken
+II Chronicles=2Kronieken
+Ezra=Ezra
+Nehemiah=Nehemia
+Esther=Esther
+Job=Job
+Psalms=Psalm
+Proverbs=Spreuken
+Ecclesiastes=Prediker
+Song of Solomon=Hooglied
+Isaiah=Jesaja
+Jeremiah=Jeremia
+Lamentations=Klaagliederen
+Ezekiel=Ezechiel
+Daniel=Daniel
+Hosea=Hosea
+Joel=Joel
+Amos=Amos
+Obadiah=Obadja
+Jonah=Jona
+Micah=Micha
+Nahum=Nahum
+Habakkuk=Habakkuk
+Zephaniah=Zephanja
+Haggai=Haggai
+Zechariah=Zacharia
+Malachi=Maleachi
+Matthew=Mattheus
+Mark=Markus
+Luke=Lukas
+John=Johannes
+Acts=Handelingen
+Romans=Romeinen
+I Corinthians=1Corinthe
+II Corinthians=2Corinthe
+Galatians=Galaten
+Ephesians=Efeze
+Philippians=Philippensen
+Colossians=Kolossensen
+I Thessalonians=1Thessalonisensen
+II Thessalonians=2Thessalonisensen
+I Timothy=1Thimotheus
+II Timothy=2Thimotheus
+Titus=Titus
+Philemon=Philemon
+Hebrews=Hebreeen
+James=Jacobus
+I Peter=1Petrus
+II Peter=2Petrus
+I John=1Johannes
+II John=2Johannes
+III John=3Johannes
+Jude=Judas
+Revelation of John=Openbaring
+
+[Book Abbrevs]
+
+GENESIS=Gen
+GE=Gen
+EXODUS=Exod
+EX=Exod
+LEVITICUS=Lev
+LE=Lev
+LEV=Lev
+NUMERI=Num
+NUM=Num
+NU=Num
+DEUTERONOMIUM=Deut
+DE=Deut
+DEUT=Deut
+JOZUA=Josh
+JOZ=Josh
+RICHTEREN=Judg
+RI=Judg
+RICH=Judg
+RUTH=Ruth
+1SAMUEL=1Sam
+1SA=1Sam
+1SAM=1Sam
+1 SA=1Sam
+1 SAM=1Sam
+2SAMUEL=2Sam
+2SA=2Sam
+2SAM=2Sam
+2 SA=2Sam
+2 SAM=2Sam
+1KONINGEN=1Kgs
+1KO=1Kgs
+1 KO=1Kgs
+1KON=1Kgs
+1 KON=1Kgs
+2KONINGEN=2Kgs
+2KO=2Kgs
+2 KO=2Kgs
+2KON=2Kgs
+2 KON=2Kgs
+1KRONIEKEN=1Chr
+1KR=1Chr
+1 KR=1Chr
+2KRONIEKEN=2Chr
+2KR=2Chr
+2 KR=2Chr
+EZRA=Ezra
+EZR=Ezra
+NEHEMIA=Neh
+NEH=Neh
+ESTHER=Esth
+ESTER=Esth
+ES=Esth
+JOB=Job
+PSALM=Ps
+PS=Ps
+SPREUKEN=Prov
+SPR=Prov
+SP=Prov
+PREDIKER=Eccl
+PR=Eccl
+HOOGLIED=Song
+HOOGL=Song
+JESAJA=Isa
+JES=Isa
+JEREMIA=Jer
+JER=Jer
+KLAAGLIEDEREN=Lam
+KLAAGL=Lam
+KL=Lam
+EZECHIEL=Ezek
+EZ=Ezek
+DANIEL=Dan
+DAN=Dan
+HOSEA=Hos
+HOS=Hos
+JOEL=Joel
+AMOS=Amos
+AM=Amos
+OBADJA=Obad
+OB=Obad
+JONA=Jonah
+JON=Jonah
+MICHA=Mic
+NAHUM=Nah
+NAH=Nah
+HABAKKUK=Hab
+HAB=Hab
+ZEPHANJA=Zeph
+ZEPH=Zeph
+HAGGAI=Hag
+HAG=Hag
+ZACHARIA=Zech
+ZACH=Zech
+MALEACHI=Mal
+MAL=Mal
+MATTHEUS=Matt
+MT=Matt
+MATH=Matt
+MARKUS=Mark
+MR=Mark
+MARK=Mark
+LUKAS=Luke
+LUK=Luke
+JOHANNES=John
+JOH=John
+HANDELINGEN=Acts
+HAND=Acts
+AC=Acts
+ROMEINEN=Rom
+ROM=Rom
+RO=Rom
+1KORINTHE=1Cor
+1CORINTHE=1Cor
+1KOR=1Cor
+2KORINTHE=2Cor
+2CORINTHE=2Cor
+2KORINTIERS=2Cor
+2KOR=2Cor
+GALATEN=Gal
+GAL=Gal
+GA=Gal
+EFEZE=Eph
+EF=Eph
+EPH=Eph
+PHILIPPENSEN=Phil
+PHLM=Phlm
+PHP=Phil
+PHIL=Phil
+PH=Phil
+KOLOSSENSEN=Col
+KOL=Col
+1THESSALONISENSEN=1Thess
+1TH=1Thess
+1THES=1Thess
+1 TH=1Thess
+1 THES=1Thess
+2THESSALONISENSEN=2Thess
+2TH=2Thess
+2THES=2Thess
+2 TH=2Thess
+2 THES=2Thess
+1THIMOTHEUS=1Tim
+1TIM=1Tim
+1TI=1Tim
+2THIMOTHEUS=2Tim
+2TIM=2Tim
+2TI=2Tim
+TITUS=Titus
+TIT=Titus
+TI=Titus
+PHILEMON=Phlm
+PHIL=Phlm
+PH=Phlm
+HEBREEEN=Heb
+HEB=Heb
+HEBR=Heb
+JACOBUS=Jas
+JAC=Jas
+1PETRUS=1Pet
+1PE=1Pet
+1PETR=1Pet
+1 PE=1Pet
+1 PETR=1Pet
+2PETRUS=2Pet
+2PE=2Pet
+2PETR=2Pet
+2 PE=2Pet
+2 PETR=2Pet
+1JOHANNES=1John
+1JO=1John
+1 JO=1John
+1JOH=1John
+1 JOH=1John
+2JOHANNES=2John
+2JO=2John
+2 JO=2John
+2JOH=2John
+2 JOH=2John
+3JOHANNES=3John
+3JO=3John
+3 JO=3John
+3JOH=3John
+3 JOH=3John
+JUDAS=Jude
+OPENBARING=Rev
+OP=Rev
+OPB=Rev
+OPENB=Rev
diff --git a/locales.d/nl.conf b/locales.d/nl.conf
index 9459bb2..ff9e0ba 100644
--- a/locales.d/nl.conf
+++ b/locales.d/nl.conf
@@ -1,7 +1,7 @@
[Meta]
Name=nl
Description=Nederlands
-Encoding=ASCII
+Encoding=ISO8859-1
[Text]
Genesis=Genesis
@@ -72,376 +72,192 @@ Jude=Judas
Revelation of John=Openbaring
[Book Abbrevs]
-1 C=46
-1 CHRONICLES=13
-1 CORINTHIANS=46
-1 JN=62
-1 JOHN=62
-1 KGS=11
-1 KINGS=11
-1 PETER=60
-1 PTR=60
-1 SAMUEL=9
-1 THESSALONIANS=52
-1 TIMOTHY=54
-1C=46
-1CHRONICLES=13
-1CORINTHIANS=46
-1JN=62
-1JOHN=62
-1KGS=11
-1KINGS=11
-1PETER=60
-1PTR=60
-1SAMUEL=9
-1THESSALONIANS=52
-1TIMOTHY=54
-2 C=47
-2 CHRONICLES=14
-2 CORINTHIANS=47
-2 JN=63
-2 JOHN=63
-2 KGS=12
-2 KINGS=12
-2 PETER=61
-2 PTR=61
-2 SAMUEL=10
-2 THESSALONIANS=53
-2 TIMOTHY=55
-2C=47
-2CHRONICLES=14
-2CORINTHIANS=47
-2JN=63
-2JOHN=63
-2KGS=12
-2KINGS=12
-2PETER=61
-2PTR=61
-2SAMUEL=10
-2THESSALONIANS=53
-2TIMOTHY=55
-3 JN=64
-3 JOHN=64
-3JN=64
-3JOHN=64
-ACTS=44
-AMOS=30
-APOCALYPSE OF ST. JOHN=66
-C=51
-CANTICLE OF CANTICLES=22
-COC=22
-COLOSSIANS=51
-D=5
-DANIEL=27
-DEUTERONOMY=5
-E=49
-ECCLESIASTES=21
-EPHESIANS=49
-ESTER=17
-ESTHER=17
-EXODUS=2
-EZEKIEL=26
-EZRA=15
-G=1
-GALATIANS=48
-GENESIS=1
-H=58
-HABAKKUK=35
-HAGGAI=37
-HEBREWS=58
-HOSEA=28
-I C=46
-I CHRONICLES=13
-I CORINTHIANS=46
-I JN=62
-I JOHN=62
-I KGS=11
-I KINGS=11
-I PETER=60
-I PTR=60
-I SAMUEL=9
-I THESSALONIANS=52
-I TIMOTHY=54
-IC=46
-ICHRONICLES=13
-ICORINTHIANS=46
-II C=47
-II CHRONICLES=14
-II CORINTHIANS=47
-II JN=63
-II JOHN=63
-II KGS=12
-II KINGS=12
-II PETER=61
-II PTR=61
-II SAMUEL=10
-II THESSALONIANS=53
-II TIMOTHY=55
-IIC=47
-IICHRONICLES=14
-IICORINTHIANS=47
-III JN=64
-III JOHN=64
-IIIJN=64
-IIIJOHN=64
-IIJN=63
-IIJOHN=63
-IIKGS=12
-IIKINGS=12
-IIPETER=61
-IIPTR=61
-IISAMUEL=10
-IITHESSALONIANS=53
-IITIMOTHY=55
-IJN=62
-IJOHN=62
-IKGS=11
-IKINGS=11
-IPETER=60
-IPTR=60
-ISA=23
-ISAIAH=23
-ISAMUEL=9
-ITHESSALONIANS=52
-ITIMOTHY=54
-J=43
-JAMES=59
-JAS=59
-JEREMIAH=24
-JN=43
-JO=43
-JOB=18
-JOEL=29
-JOHN=43
-JONAH=32
-JOSHUA=6
-JUD=7
-JUDE=65
-JUDGES=7
-L=42
-LAMENTATIONS=25
-LEVITICUS=3
-LK=42
-LUKE=42
-MA=40
-MALACHI=39
-MARK=41
-MATTHEW=40
-MICAH=33
-MK=41
-MR=41
-MT=40
-N=4
-NAHUM=34
-NEHEMIAH=16
-NUMBERS=4
-OBADIAH=31
-P=19
-PH=50
-PHILEMON=57
-PHILIPPIANS=50
-PHLM=57
-PHM=57
-PHP=50
-PROVERBS=20
-PSALMS=19
-PSM=19
-PSS=19
-REVELATION OF JOHN=66
-ROMANS=45
-RUTH=8
-SONG OF SOLOMON=22
-SONG OF SONGS=22
-SOS=22
-TITUS=56
-ZECHARIAH=38
-ZEPHANIAH=36
-GENESIS=1
-GE=1
-EXODUS=2
-EX=2
-LEVITICUS=3
-LE=3
-LEV=3
-NUMERI=4
-NUM=4
-NU=4
-DEUTERONOMIUM=5
-DE=5
-DEUT=5
-JOZUA=6
-JOZ=6
-RICHTEREN=7
-RI=7
-RICH=7
-RUTH=8
-1SAMUEL=9
-1SA=9
-1SAM=9
-1 SA=9
-1 SAM=9
-2SAMUEL=10
-2SA=10
-2SAM=10
-2 SA=10
-2 SAM=10
-1KONINGEN=11
-1KO=11
-1 KO=11
-1KON=11
-1 KON=11
-2KONINGEN=12
-2KO=12
-2 KO=12
-2KON=12
-2 KON=12
-1KRONIEKEN=13
-1KR=13
-1 KR=13
-2KRONIEKEN=14
-2KR=14
-2 KR=14
-EZRA=15
-EZR=15
-NEHEMIA=16
-NEH=16
-ESTHER=17
-ESTER=17
-ES=17
-JOB=18
-PSALM=19
-PS=19
-SPREUKEN=20
-SPR=20
-SP=20
-PREDIKER=21
-PR=21
-HOOGLIED=22
-HOOGL=22
-JESAJA=23
-JES=23
-JEREMIA=24
-JER=24
-KLAAGLIEDEREN=25
-KLAAGL=25
-KL=25
-EZECHIEL=26
-EZ=26
-DANIEL=27
-DAN=27
-HOSEA=28
-HOS=28
-JOEL=29
-AMOS=30
-AM=30
-OBADJA=31
-OB=31
-JONA=32
-JON=32
-MICHA=33
-NAHUM=34
-NAH=34
-HABAKKUK=35
-HAB=35
-ZEPHANJA=36
-ZEPH=36
-HAGGAI=37
-HAG=37
-ZACHARIA=38
-ZACH=38
-MALEACHI=39
-MAL=39
-MATTHEUS=40
-MT=40
-MATH=40
-MARKUS=41
-MR=41
-MARK=41
-LUKAS=42
-LUK=42
-JOHANNES=43
-JOH=43
-HANDELINGEN=44
-HAND=44
-AC=44
-ROMEINEN=45
-ROM=45
-RO=45
-1KORINTHE=46
-1CORINTHE=46
-1KOR=46
-2KORINTHE=47
-2CORINTHE=47
-2KORINTIERS=47
-2KOR=47
-GALATEN=48
-GAL=48
-GA=48
-EFEZE=49
-EF=49
-EPH=49
-PHILIPPENSEN=50
-PHLM=57
-PHP=50
-PHIL=50
-PH=50
-KOLOSSENSEN=51
-KOL=51
-1THESSALONISENSEN=52
-1TH=52
-1THES=52
-1 TH=52
-1 THES=52
-2THESSALONISENSEN=53
-2TH=53
-2THES=53
-2 TH=53
-2 THES=53
-1THIMOTHEUS=54
-1TIM=54
-1TI=54
-2THIMOTHEUS=55
-2TIM=55
-2TI=55
-TITUS=56
-TIT=56
-TI=56
-PHILEMON=57
-PHIL=57
-PH=57
-HEBREEEN=58
-HEB=58
-HEBR=58
-JACOBUS=59
-JAC=59
-1PETRUS=60
-1PE=60
-1PETR=60
-1 PE=60
-1 PETR=60
-2PETRUS=61
-2PE=61
-2PETR=61
-2 PE=61
-2 PETR=61
-1JOHANNES=62
-1JO=62
-1 JO=62
-1JOH=62
-1 JOH=62
-2JOHANNES=63
-2JO=63
-2 JO=63
-2JOH=63
-2 JOH=63
-3JOHANNES=64
-3JO=64
-3 JO=64
-3JOH=64
-3 JOH=64
-JUDAS=65
-OPENBARING=66
-OP=66
-OPB=66
-OPENB=66
+GENESIS=Gen
+GE=Gen
+EXODUS=Exod
+EX=Exod
+LEVITICUS=Lev
+LE=Lev
+LEV=Lev
+NUMERI=Num
+NUM=Num
+NU=Num
+DEUTERONOMIUM=Deut
+DE=Deut
+DEUT=Deut
+JOZUA=Josh
+JOZ=Josh
+RICHTEREN=Judg
+RI=Judg
+RICH=Judg
+RUTH=Ruth
+1SAMUEL=1Sam
+1SA=1Sam
+1SAM=1Sam
+1 SA=1Sam
+1 SAM=1Sam
+2SAMUEL=2Sam
+2SA=2Sam
+2SAM=2Sam
+2 SA=2Sam
+2 SAM=2Sam
+1KONINGEN=1Kgs
+1KO=1Kgs
+1 KO=1Kgs
+1KON=1Kgs
+1 KON=1Kgs
+2KONINGEN=2Kgs
+2KO=2Kgs
+2 KO=2Kgs
+2KON=2Kgs
+2 KON=2Kgs
+1KRONIEKEN=1Chr
+1KR=1Chr
+1 KR=1Chr
+2KRONIEKEN=2Chr
+2KR=2Chr
+2 KR=2Chr
+EZRA=Ezra
+EZR=Ezra
+NEHEMIA=Neh
+NEH=Neh
+ESTHER=Esth
+ESTER=Esth
+ES=Esth
+JOB=Job
+PSALM=Ps
+PS=Ps
+SPREUKEN=Prov
+SPR=Prov
+SP=Prov
+PREDIKER=Eccl
+PR=Eccl
+HOOGLIED=Song
+HOOGL=Song
+JESAJA=Isa
+JES=Isa
+JEREMIA=Jer
+JER=Jer
+KLAAGLIEDEREN=Lam
+KLAAGL=Lam
+KL=Lam
+EZECHIEL=Ezek
+EZ=Ezek
+DANIEL=Dan
+DAN=Dan
+HOSEA=Hos
+HOS=Hos
+JOEL=Joel
+AMOS=Amos
+AM=Amos
+OBADJA=Obad
+OB=Obad
+JONA=Jonah
+JON=Jonah
+MICHA=Mic
+NAHUM=Nah
+NAH=Nah
+HABAKKUK=Hab
+HAB=Hab
+ZEPHANJA=Zeph
+ZEPH=Zeph
+HAGGAI=Hag
+HAG=Hag
+ZACHARIA=Zech
+ZACH=Zech
+MALEACHI=Mal
+MAL=Mal
+MATTHEUS=Matt
+MT=Matt
+MATH=Matt
+MARKUS=Mark
+MR=Mark
+MARK=Mark
+LUKAS=Luke
+LUK=Luke
+JOHANNES=John
+JOH=John
+HANDELINGEN=Acts
+HAND=Acts
+AC=Acts
+ROMEINEN=Rom
+ROM=Rom
+RO=Rom
+1KORINTHE=1Cor
+1CORINTHE=1Cor
+1KOR=1Cor
+2KORINTHE=2Cor
+2CORINTHE=2Cor
+2KORINTIERS=2Cor
+2KOR=2Cor
+GALATEN=Gal
+GAL=Gal
+GA=Gal
+EFEZE=Eph
+EF=Eph
+EPH=Eph
+PHILIPPENSEN=Phil
+PHLM=Phlm
+PHP=Phil
+PHIL=Phil
+PH=Phil
+KOLOSSENSEN=Col
+KOL=Col
+1THESSALONISENSEN=1Thess
+1TH=1Thess
+1THES=1Thess
+1 TH=1Thess
+1 THES=1Thess
+2THESSALONISENSEN=2Thess
+2TH=2Thess
+2THES=2Thess
+2 TH=2Thess
+2 THES=2Thess
+1THIMOTHEUS=1Tim
+1TIM=1Tim
+1TI=1Tim
+2THIMOTHEUS=2Tim
+2TIM=2Tim
+2TI=2Tim
+TITUS=Titus
+TIT=Titus
+TI=Titus
+PHILEMON=Phlm
+PHIL=Phlm
+PH=Phlm
+HEBREEEN=Heb
+HEB=Heb
+HEBR=Heb
+JACOBUS=Jas
+JAC=Jas
+1PETRUS=1Pet
+1PE=1Pet
+1PETR=1Pet
+1 PE=1Pet
+1 PETR=1Pet
+2PETRUS=2Pet
+2PE=2Pet
+2PETR=2Pet
+2 PE=2Pet
+2 PETR=2Pet
+1JOHANNES=1John
+1JO=1John
+1 JO=1John
+1JOH=1John
+1 JOH=1John
+2JOHANNES=2John
+2JO=2John
+2 JO=2John
+2JOH=2John
+2 JOH=2John
+3JOHANNES=3John
+3JO=3John
+3 JO=3John
+3JOH=3John
+3 JOH=3John
+JUDAS=Jude
+OPENBARING=Rev
+OP=Rev
+OPB=Rev
+OPENB=Rev
diff --git a/locales.d/no-utf8.conf b/locales.d/no-utf8.conf
index a8094e3..bc8d9ce 100644
--- a/locales.d/no-utf8.conf
+++ b/locales.d/no-utf8.conf
@@ -1,6 +1,6 @@
[Meta]
Name=no
-Description=Norwegian (Unicode)
+Description=Norsk (Unicode)
Encoding=UTF-8
[Text]
@@ -72,408 +72,224 @@ Jude=Judas
Revelation of John=Johannes' åpenbaring
[Book Abbrevs]
-1 C=46
-1 CHRONICLES=13
-1 CORINTHIANS=46
-1 JN=62
-1 JOHN=62
-1 KGS=11
-1 KINGS=11
-1 PETER=60
-1 PTR=60
-1 SAMUEL=9
-1 THESSALONIANS=52
-1 TIMOTHY=54
-1C=46
-1CHRONICLES=13
-1CORINTHIANS=46
-1JN=62
-1JOHN=62
-1KGS=11
-1KINGS=11
-1PETER=60
-1PTR=60
-1SAMUEL=9
-1THESSALONIANS=52
-1TIMOTHY=54
-2 C=47
-2 CHRONICLES=14
-2 CORINTHIANS=47
-2 JN=63
-2 JOHN=63
-2 KGS=12
-2 KINGS=12
-2 PETER=61
-2 PTR=61
-2 SAMUEL=10
-2 THESSALONIANS=53
-2 TIMOTHY=55
-2C=47
-2CHRONICLES=14
-2CORINTHIANS=47
-2JN=63
-2JOHN=63
-2KGS=12
-2KINGS=12
-2PETER=61
-2PTR=61
-2SAMUEL=10
-2THESSALONIANS=53
-2TIMOTHY=55
-3 JN=64
-3 JOHN=64
-3JN=64
-3JOHN=64
-ACTS=44
-AMOS=30
-APOCALYPSE OF ST. JOHN=66
-C=51
-CANTICLE OF CANTICLES=22
-COC=22
-COLOSSIANS=51
-D=5
-DANIEL=27
-DEUTERONOMY=5
-E=49
-ECCLESIASTES=21
-EPHESIANS=49
-ESTER=17
-ESTHER=17
-EXODUS=2
-EZEKIEL=26
-EZRA=15
-G=1
-GALATIANS=48
-GENESIS=1
-H=58
-HABAKKUK=35
-HAGGAI=37
-HEBREWS=58
-HOSEA=28
-I C=46
-I CHRONICLES=13
-I CORINTHIANS=46
-I JN=62
-I JOHN=62
-I KGS=11
-I KINGS=11
-I PETER=60
-I PTR=60
-I SAMUEL=9
-I THESSALONIANS=52
-I TIMOTHY=54
-IC=46
-ICHRONICLES=13
-ICORINTHIANS=46
-II C=47
-II CHRONICLES=14
-II CORINTHIANS=47
-II JN=63
-II JOHN=63
-II KGS=12
-II KINGS=12
-II PETER=61
-II PTR=61
-II SAMUEL=10
-II THESSALONIANS=53
-II TIMOTHY=55
-IIC=47
-IICHRONICLES=14
-IICORINTHIANS=47
-III JN=64
-III JOHN=64
-IIIJN=64
-IIIJOHN=64
-IIJN=63
-IIJOHN=63
-IIKGS=12
-IIKINGS=12
-IIPETER=61
-IIPTR=61
-IISAMUEL=10
-IITHESSALONIANS=53
-IITIMOTHY=55
-IJN=62
-IJOHN=62
-IKGS=11
-IKINGS=11
-IPETER=60
-IPTR=60
-ISA=23
-ISAIAH=23
-ISAMUEL=9
-ITHESSALONIANS=52
-ITIMOTHY=54
-J=43
-JAMES=59
-JAS=59
-JEREMIAH=24
-JN=43
-JO=43
-JOB=18
-JOEL=29
-JOHN=43
-JONAH=32
-JOSHUA=6
-JUD=7
-JUDE=65
-JUDGES=7
-L=42
-LAMENTATIONS=25
-LEVITICUS=3
-LK=42
-LUKE=42
-MA=40
-MALACHI=39
-MARK=41
-MATTHEW=40
-MICAH=33
-MK=41
-MR=41
-MT=40
-N=4
-NAHUM=34
-NEHEMIAH=16
-NUMBERS=4
-OBADIAH=31
-P=19
-PH=50
-PHILEMON=57
-PHILIPPIANS=50
-PHLM=57
-PHM=57
-PHP=50
-PROVERBS=20
-PSALMS=19
-PSM=19
-PSS=19
-REVELATION OF JOHN=66
-ROMANS=45
-RUTH=8
-SONG OF SOLOMON=22
-SONG OF SONGS=22
-SOS=22
-TITUS=56
-ZECHARIAH=38
-ZEPHANIAH=36
-1. MOSEBOK=1
-1 MOSEBOK=1
-1MOSEBOK=1
+1. MOSEBOK=Gen
+1 MOSEBOK=Gen
+1MOSEBOK=Gen
-2. MOSEBOK=2
-2 MOSEBOK=2
-2MOSEBOK=2
+2. MOSEBOK=Exod
+2 MOSEBOK=Exod
+2MOSEBOK=Exod
-3. MOSEBOK=3
-3 MOSEBOK=3
-3MOSEBOK=3
+3. MOSEBOK=Lev
+3 MOSEBOK=Lev
+3MOSEBOK=Lev
-4. MOSEBOK=4
-4 MOSEBOK=4
-4MOSEBOK=4
+4. MOSEBOK=Num
+4 MOSEBOK=Num
+4MOSEBOK=Num
-5. MOSEBOK=5
-5 MOSEBOK=5
-5MOSEBOK=5
+5. MOSEBOK=Deut
+5 MOSEBOK=Deut
+5MOSEBOK=Deut
-JOSVA=6
-DOMMERNE=7
-RUT=8
+JOSVA=Josh
+DOMMERNE=Judg
+RUT=Ruth
-1. SAMUELSBOK=9
-1 SAMUELSBOK=9
-1SAMUELSBOK=9
+1. SAMUELSBOK=1Sam
+1 SAMUELSBOK=1Sam
+1SAMUELSBOK=1Sam
-2. SAMUELSBOK=10
-2 SAMUELSBOK=10
-2SAMUELSBOK=10
+2. SAMUELSBOK=2Sam
+2 SAMUELSBOK=2Sam
+2SAMUELSBOK=2Sam
-1. KONGEBOK=11
-1 KONGEBOK=11
-1KONGEBOK=11
+1. KONGEBOK=1Kgs
+1 KONGEBOK=1Kgs
+1KONGEBOK=1Kgs
-2. KONGEBOK=12
-2 KONGEBOK=12
-2KONGEBOK=12
+2. KONGEBOK=2Kgs
+2 KONGEBOK=2Kgs
+2KONGEBOK=2Kgs
-1. KRØNIKEBOK=13
-1 KRØNIKEBOK=13
-1KRØNIKEBOK=13
+1. KRØNIKEBOK=1Chr
+1 KRØNIKEBOK=1Chr
+1KRØNIKEBOK=1Chr
-2. KRØNIKEBOK=14
-2 KRØNIKEBOK=14
-2KRØNIKEBOK=14
+2. KRØNIKEBOK=2Chr
+2 KRØNIKEBOK=2Chr
+2KRØNIKEBOK=2Chr
-ESRA=15
-NEHEMJA=16
-ESTER=17
-JOB=18
-SALMENE=19
-ORDSPRÃ…KENE=20
-FORKYNNEREN=21
-HØYSANGEN=22
-JESAJA=23
-JEREMIA=24
-KLAGESANGENE=25
-ESEKIEL=26
-DANIEL=27
-HOSEA=28
-JOEL=29
-AMOS=30
-OBADJA=31
-JONA=32
-MIKA=33
-NAHUM=34
-HABAKKUK=35
-SEFANJA=36
-HAGGAI=37
-SAKARJA=38
-MALAKI=39
-MATTEUS=40
-MARKUS=41
-LUKAS=42
-JOHANNES=43
-APOSTLENES GJERNINGER=44
-ROMERNE=45
+ESRA=Ezra
+NEHEMJA=Neh
+ESTER=Esth
+JOB=Job
+SALMENE=Ps
+ORDSPRÃ…KENE=Prov
+FORKYNNEREN=Eccl
+HØYSANGEN=Song
+JESAJA=Isa
+JEREMIA=Jer
+KLAGESANGENE=Lam
+ESEKIEL=Ezek
+DANIEL=Dan
+HOSEA=Hos
+JOEL=Joel
+AMOS=Amos
+OBADJA=Obad
+JONA=Jonah
+MIKA=Mic
+NAHUM=Nah
+HABAKKUK=Hab
+SEFANJA=Zeph
+HAGGAI=Hag
+SAKARJA=Zech
+MALAKI=Mal
+MATTEUS=Matt
+MARKUS=Mark
+LUKAS=Luke
+JOHANNES=John
+APOSTLENES GJERNINGER=Acts
+ROMERNE=Rom
-1. KORINTER=46
-1 KORINTER=46
-1KORINTER=46
+1. KORINTER=1Cor
+1 KORINTER=1Cor
+1KORINTER=1Cor
-2. KORINTER=47
-2 KORINTER=47
-2KORINTER=47
+2. KORINTER=2Cor
+2 KORINTER=2Cor
+2KORINTER=2Cor
-GALATERNE=48
-EFESERNE=49
-FILIPPERNE=50
-KOLOSSERNE=51
+GALATERNE=Gal
+EFESERNE=Eph
+FILIPPERNE=Phil
+KOLOSSERNE=Col
-1. TESSALONIKER=52
-1 TESSALONIKER=52
-1TESSALONIKER=52
+1. TESSALONIKER=1Thess
+1 TESSALONIKER=1Thess
+1TESSALONIKER=1Thess
-2. TESSALONIKER=53
-2 TESSALONIKER=53
-2TESSALONIKER=53
+2. TESSALONIKER=2Thess
+2 TESSALONIKER=2Thess
+2TESSALONIKER=2Thess
-1. TIMOTEUS=54
-1 TIMOTEUS=54
-1TIMOTEUS=54
+1. TIMOTEUS=1Tim
+1 TIMOTEUS=1Tim
+1TIMOTEUS=1Tim
-2. TIMOTEUS=55
-2 TIMOTEUS=55
-2TIMOTEUS=55
+2. TIMOTEUS=2Tim
+2 TIMOTEUS=2Tim
+2TIMOTEUS=2Tim
-TITUS=56
-FILEMON=57
-HEBREERNE=58
-JAKOB=59
+TITUS=Titus
+FILEMON=Phlm
+HEBREERNE=Heb
+JAKOB=Jas
-1. PETER=60
-1 PETER=60
-1PETER=60
+1. PETER=1Pet
+1 PETER=1Pet
+1PETER=1Pet
-2. PETER=61
-2 PETER=61
-2PETER=61
+2. PETER=2Pet
+2 PETER=2Pet
+2PETER=2Pet
-1. JOHANNES=62
-1 JOHANNES=62
-1JOHANNES=62
+1. JOHANNES=1John
+1 JOHANNES=1John
+1JOHANNES=1John
-2. JOHANNES=63
-2 JOHANNES=63
-2JOHANNES=63
+2. JOHANNES=2John
+2 JOHANNES=2John
+2JOHANNES=2John
-3. JOHANNES=64
-3 JOHANNES=64
-3JOHANNES=64
+3. JOHANNES=3John
+3 JOHANNES=3John
+3JOHANNES=3John
-JUDAS=65
-JOHANNES' Ã…PENBARING=66
+JUDAS=Jude
+JOHANNES' Ã…PENBARING=Rev
-1. MOS=1
-1MOS=1
-2. MOS=2
-2MOS=2
-3. MOS=3
-3MOS=3
-4. MOS=4
-4MOS=4
-5. MOS=5
-5MOS=5
-JOS=6
-DOM=7
-1. SAM=9
-1SAM=9
-2. SAM=10
-2SAM=10
-1. KONG=11
-1KONG=11
-2. KONG=12
-2KONG=12
-1. KRØN=13
-1KRØN=13
-2. KRØN=14
-2KRØN=14
-NEH=16
-EST=17
-SAL=19
-ORDSP=20
-FORK=21
-HØYS=22
-JES=23
-JER=24
-KLAG=25
-ESEK=26
-DAN=27
-HOS=28
-AM=30
-OB=31
-MI=33
-NAH=34
-HAB=35
-SEF=36
-HAG=37
-SAK=38
-MAL=39
-MATT=40
-MARK=41
-LUK=42
-JOH=43
-APG=44
-ROM=45
-1. KOR=46
-1KOR=46
-2. KOR=47
-2KOR=47
-GAL=48
-EF=49
-FIL=50
-KOL=51
-1. TESS=52
-1TESS=52
-2. TESS=53
-2TESS=53
-1. TIM=54
-1TIM=54
-2. TIM=55
-2TIM=55
-TIT=56
-FILEM=57
-HEBR=58
-JAK=59
-1. PET=60
-1PET=60
-2. PET=61
-2PET=61
-1. JOH=62
-1JOH=62
-2. JOH=63
-2JOH=63
-3. JOH=64
-3JOH=64
-JUD=65
-Ã…P=66
+1. MOS=Gen
+1MOS=Gen
+2. MOS=Exod
+2MOS=Exod
+3. MOS=Lev
+3MOS=Lev
+4. MOS=Num
+4MOS=Num
+5. MOS=Deut
+5MOS=Deut
+JOS=Josh
+DOM=Judg
+1. SAM=1Sam
+1SAM=1Sam
+2. SAM=2Sam
+2SAM=2Sam
+1. KONG=1Kgs
+1KONG=1Kgs
+2. KONG=2Kgs
+2KONG=2Kgs
+1. KRØN=1Chr
+1KRØN=1Chr
+2. KRØN=2Chr
+2KRØN=2Chr
+NEH=Neh
+EST=Esth
+SAL=Ps
+ORDSP=Prov
+FORK=Eccl
+HØYS=Song
+JES=Isa
+JER=Jer
+KLAG=Lam
+ESEK=Ezek
+DAN=Dan
+HOS=Hos
+AM=Amos
+OB=Obad
+MI=Mic
+NAH=Nah
+HAB=Hab
+SEF=Zeph
+HAG=Hag
+SAK=Zech
+MAL=Mal
+MATT=Matt
+MARK=Mark
+LUK=Luke
+JOH=John
+APG=Acts
+ROM=Rom
+1. KOR=1Cor
+1KOR=1Cor
+2. KOR=2Cor
+2KOR=2Cor
+GAL=Gal
+EF=Eph
+FIL=Phil
+KOL=Col
+1. TESS=1Thess
+1TESS=1Thess
+2. TESS=2Thess
+2TESS=2Thess
+1. TIM=1Tim
+1TIM=1Tim
+2. TIM=2Tim
+2TIM=2Tim
+TIT=Titus
+FILEM=Phlm
+HEBR=Heb
+JAK=Jas
+1. PET=1Pet
+1PET=1Pet
+2. PET=2Pet
+2PET=2Pet
+1. JOH=1John
+1JOH=1John
+2. JOH=2John
+2JOH=2John
+3. JOH=3John
+3JOH=3John
+JUD=Jude
+Ã…P=Rev
diff --git a/locales.d/no.conf b/locales.d/no.conf
index 8854273..0021bd0 100644
--- a/locales.d/no.conf
+++ b/locales.d/no.conf
@@ -1,6 +1,6 @@
[Meta]
Name=no
-Description=Norwegian
+Description=Norsk
Encoding=ISO8859-1
[Text]
@@ -72,408 +72,224 @@ Jude=Judas
Revelation of John=Johannes' åpenbaring
[Book Abbrevs]
-1 C=46
-1 CHRONICLES=13
-1 CORINTHIANS=46
-1 JN=62
-1 JOHN=62
-1 KGS=11
-1 KINGS=11
-1 PETER=60
-1 PTR=60
-1 SAMUEL=9
-1 THESSALONIANS=52
-1 TIMOTHY=54
-1C=46
-1CHRONICLES=13
-1CORINTHIANS=46
-1JN=62
-1JOHN=62
-1KGS=11
-1KINGS=11
-1PETER=60
-1PTR=60
-1SAMUEL=9
-1THESSALONIANS=52
-1TIMOTHY=54
-2 C=47
-2 CHRONICLES=14
-2 CORINTHIANS=47
-2 JN=63
-2 JOHN=63
-2 KGS=12
-2 KINGS=12
-2 PETER=61
-2 PTR=61
-2 SAMUEL=10
-2 THESSALONIANS=53
-2 TIMOTHY=55
-2C=47
-2CHRONICLES=14
-2CORINTHIANS=47
-2JN=63
-2JOHN=63
-2KGS=12
-2KINGS=12
-2PETER=61
-2PTR=61
-2SAMUEL=10
-2THESSALONIANS=53
-2TIMOTHY=55
-3 JN=64
-3 JOHN=64
-3JN=64
-3JOHN=64
-ACTS=44
-AMOS=30
-APOCALYPSE OF ST. JOHN=66
-C=51
-CANTICLE OF CANTICLES=22
-COC=22
-COLOSSIANS=51
-D=5
-DANIEL=27
-DEUTERONOMY=5
-E=49
-ECCLESIASTES=21
-EPHESIANS=49
-ESTER=17
-ESTHER=17
-EXODUS=2
-EZEKIEL=26
-EZRA=15
-G=1
-GALATIANS=48
-GENESIS=1
-H=58
-HABAKKUK=35
-HAGGAI=37
-HEBREWS=58
-HOSEA=28
-I C=46
-I CHRONICLES=13
-I CORINTHIANS=46
-I JN=62
-I JOHN=62
-I KGS=11
-I KINGS=11
-I PETER=60
-I PTR=60
-I SAMUEL=9
-I THESSALONIANS=52
-I TIMOTHY=54
-IC=46
-ICHRONICLES=13
-ICORINTHIANS=46
-II C=47
-II CHRONICLES=14
-II CORINTHIANS=47
-II JN=63
-II JOHN=63
-II KGS=12
-II KINGS=12
-II PETER=61
-II PTR=61
-II SAMUEL=10
-II THESSALONIANS=53
-II TIMOTHY=55
-IIC=47
-IICHRONICLES=14
-IICORINTHIANS=47
-III JN=64
-III JOHN=64
-IIIJN=64
-IIIJOHN=64
-IIJN=63
-IIJOHN=63
-IIKGS=12
-IIKINGS=12
-IIPETER=61
-IIPTR=61
-IISAMUEL=10
-IITHESSALONIANS=53
-IITIMOTHY=55
-IJN=62
-IJOHN=62
-IKGS=11
-IKINGS=11
-IPETER=60
-IPTR=60
-ISA=23
-ISAIAH=23
-ISAMUEL=9
-ITHESSALONIANS=52
-ITIMOTHY=54
-J=43
-JAMES=59
-JAS=59
-JEREMIAH=24
-JN=43
-JO=43
-JOB=18
-JOEL=29
-JOHN=43
-JONAH=32
-JOSHUA=6
-JUD=7
-JUDE=65
-JUDGES=7
-L=42
-LAMENTATIONS=25
-LEVITICUS=3
-LK=42
-LUKE=42
-MA=40
-MALACHI=39
-MARK=41
-MATTHEW=40
-MICAH=33
-MK=41
-MR=41
-MT=40
-N=4
-NAHUM=34
-NEHEMIAH=16
-NUMBERS=4
-OBADIAH=31
-P=19
-PH=50
-PHILEMON=57
-PHILIPPIANS=50
-PHLM=57
-PHM=57
-PHP=50
-PROVERBS=20
-PSALMS=19
-PSM=19
-PSS=19
-REVELATION OF JOHN=66
-ROMANS=45
-RUTH=8
-SONG OF SOLOMON=22
-SONG OF SONGS=22
-SOS=22
-TITUS=56
-ZECHARIAH=38
-ZEPHANIAH=36
-1. MOSEBOK=1
-1 MOSEBOK=1
-1MOSEBOK=1
+1. MOSEBOK=Gen
+1 MOSEBOK=Gen
+1MOSEBOK=Gen
-2. MOSEBOK=2
-2 MOSEBOK=2
-2MOSEBOK=2
+2. MOSEBOK=Exod
+2 MOSEBOK=Exod
+2MOSEBOK=Exod
-3. MOSEBOK=3
-3 MOSEBOK=3
-3MOSEBOK=3
+3. MOSEBOK=Lev
+3 MOSEBOK=Lev
+3MOSEBOK=Lev
-4. MOSEBOK=4
-4 MOSEBOK=4
-4MOSEBOK=4
+4. MOSEBOK=Num
+4 MOSEBOK=Num
+4MOSEBOK=Num
-5. MOSEBOK=5
-5 MOSEBOK=5
-5MOSEBOK=5
+5. MOSEBOK=Deut
+5 MOSEBOK=Deut
+5MOSEBOK=Deut
-JOSVA=6
-DOMMERNE=7
-RUT=8
+JOSVA=Josh
+DOMMERNE=Judg
+RUT=Ruth
-1. SAMUELSBOK=9
-1 SAMUELSBOK=9
-1SAMUELSBOK=9
+1. SAMUELSBOK=1Sam
+1 SAMUELSBOK=1Sam
+1SAMUELSBOK=1Sam
-2. SAMUELSBOK=10
-2 SAMUELSBOK=10
-2SAMUELSBOK=10
+2. SAMUELSBOK=2Sam
+2 SAMUELSBOK=2Sam
+2SAMUELSBOK=2Sam
-1. KONGEBOK=11
-1 KONGEBOK=11
-1KONGEBOK=11
+1. KONGEBOK=1Kgs
+1 KONGEBOK=1Kgs
+1KONGEBOK=1Kgs
-2. KONGEBOK=12
-2 KONGEBOK=12
-2KONGEBOK=12
+2. KONGEBOK=2Kgs
+2 KONGEBOK=2Kgs
+2KONGEBOK=2Kgs
-1. KRØNIKEBOK=13
-1 KRØNIKEBOK=13
-1KRØNIKEBOK=13
+1. KRØNIKEBOK=1Chr
+1 KRØNIKEBOK=1Chr
+1KRØNIKEBOK=1Chr
-2. KRØNIKEBOK=14
-2 KRØNIKEBOK=14
-2KRØNIKEBOK=14
+2. KRØNIKEBOK=2Chr
+2 KRØNIKEBOK=2Chr
+2KRØNIKEBOK=2Chr
-ESRA=15
-NEHEMJA=16
-ESTER=17
-JOB=18
-SALMENE=19
-ORDSPRÅKENE=20
-FORKYNNEREN=21
-HØYSANGEN=22
-JESAJA=23
-JEREMIA=24
-KLAGESANGENE=25
-ESEKIEL=26
-DANIEL=27
-HOSEA=28
-JOEL=29
-AMOS=30
-OBADJA=31
-JONA=32
-MIKA=33
-NAHUM=34
-HABAKKUK=35
-SEFANJA=36
-HAGGAI=37
-SAKARJA=38
-MALAKI=39
-MATTEUS=40
-MARKUS=41
-LUKAS=42
-JOHANNES=43
-APOSTLENES GJERNINGER=44
-ROMERNE=45
+ESRA=Ezra
+NEHEMJA=Neh
+ESTER=Esth
+JOB=Job
+SALMENE=Ps
+ORDSPRÅKENE=Prov
+FORKYNNEREN=Eccl
+HØYSANGEN=Song
+JESAJA=Isa
+JEREMIA=Jer
+KLAGESANGENE=Lam
+ESEKIEL=Ezek
+DANIEL=Dan
+HOSEA=Hos
+JOEL=Joel
+AMOS=Amos
+OBADJA=Obad
+JONA=Jonah
+MIKA=Mic
+NAHUM=Nah
+HABAKKUK=Hab
+SEFANJA=Zeph
+HAGGAI=Hag
+SAKARJA=Zech
+MALAKI=Mal
+MATTEUS=Matt
+MARKUS=Mark
+LUKAS=Luke
+JOHANNES=John
+APOSTLENES GJERNINGER=Acts
+ROMERNE=Rom
-1. KORINTER=46
-1 KORINTER=46
-1KORINTER=46
+1. KORINTER=1Cor
+1 KORINTER=1Cor
+1KORINTER=1Cor
-2. KORINTER=47
-2 KORINTER=47
-2KORINTER=47
+2. KORINTER=2Cor
+2 KORINTER=2Cor
+2KORINTER=2Cor
-GALATERNE=48
-EFESERNE=49
-FILIPPERNE=50
-KOLOSSERNE=51
+GALATERNE=Gal
+EFESERNE=Eph
+FILIPPERNE=Phil
+KOLOSSERNE=Col
-1. TESSALONIKER=52
-1 TESSALONIKER=52
-1TESSALONIKER=52
+1. TESSALONIKER=1Thess
+1 TESSALONIKER=1Thess
+1TESSALONIKER=1Thess
-2. TESSALONIKER=53
-2 TESSALONIKER=53
-2TESSALONIKER=53
+2. TESSALONIKER=2Thess
+2 TESSALONIKER=2Thess
+2TESSALONIKER=2Thess
-1. TIMOTEUS=54
-1 TIMOTEUS=54
-1TIMOTEUS=54
+1. TIMOTEUS=1Tim
+1 TIMOTEUS=1Tim
+1TIMOTEUS=1Tim
-2. TIMOTEUS=55
-2 TIMOTEUS=55
-2TIMOTEUS=55
+2. TIMOTEUS=2Tim
+2 TIMOTEUS=2Tim
+2TIMOTEUS=2Tim
-TITUS=56
-FILEMON=57
-HEBREERNE=58
-JAKOB=59
+TITUS=Titus
+FILEMON=Phlm
+HEBREERNE=Heb
+JAKOB=Jas
-1. PETER=60
-1 PETER=60
-1PETER=60
+1. PETER=1Pet
+1 PETER=1Pet
+1PETER=1Pet
-2. PETER=61
-2 PETER=61
-2PETER=61
+2. PETER=2Pet
+2 PETER=2Pet
+2PETER=2Pet
-1. JOHANNES=62
-1 JOHANNES=62
-1JOHANNES=62
+1. JOHANNES=1John
+1 JOHANNES=1John
+1JOHANNES=1John
-2. JOHANNES=63
-2 JOHANNES=63
-2JOHANNES=63
+2. JOHANNES=2John
+2 JOHANNES=2John
+2JOHANNES=2John
-3. JOHANNES=64
-3 JOHANNES=64
-3JOHANNES=64
+3. JOHANNES=3John
+3 JOHANNES=3John
+3JOHANNES=3John
-JUDAS=65
-JOHANNES' ÅPENBARING=66
+JUDAS=Jude
+JOHANNES' ÅPENBARING=Rev
-1. MOS=1
-1MOS=1
-2. MOS=2
-2MOS=2
-3. MOS=3
-3MOS=3
-4. MOS=4
-4MOS=4
-5. MOS=5
-5MOS=5
-JOS=6
-DOM=7
-1. SAM=9
-1SAM=9
-2. SAM=10
-2SAM=10
-1. KONG=11
-1KONG=11
-2. KONG=12
-2KONG=12
-1. KRØN=13
-1KRØN=13
-2. KRØN=14
-2KRØN=14
-NEH=16
-EST=17
-SAL=19
-ORDSP=20
-FORK=21
-HØYS=22
-JES=23
-JER=24
-KLAG=25
-ESEK=26
-DAN=27
-HOS=28
-AM=30
-OB=31
-MI=33
-NAH=34
-HAB=35
-SEF=36
-HAG=37
-SAK=38
-MAL=39
-MATT=40
-MARK=41
-LUK=42
-JOH=43
-APG=44
-ROM=45
-1. KOR=46
-1KOR=46
-2. KOR=47
-2KOR=47
-GAL=48
-EF=49
-FIL=50
-KOL=51
-1. TESS=52
-1TESS=52
-2. TESS=53
-2TESS=53
-1. TIM=54
-1TIM=54
-2. TIM=55
-2TIM=55
-TIT=56
-FILEM=57
-HEBR=58
-JAK=59
-1. PET=60
-1PET=60
-2. PET=61
-2PET=61
-1. JOH=62
-1JOH=62
-2. JOH=63
-2JOH=63
-3. JOH=64
-3JOH=64
-JUD=65
-ÅP=66
+1. MOS=Gen
+1MOS=Gen
+2. MOS=Exod
+2MOS=Exod
+3. MOS=Lev
+3MOS=Lev
+4. MOS=Num
+4MOS=Num
+5. MOS=Deut
+5MOS=Deut
+JOS=Josh
+DOM=Judg
+1. SAM=1Sam
+1SAM=1Sam
+2. SAM=2Sam
+2SAM=2Sam
+1. KONG=1Kgs
+1KONG=1Kgs
+2. KONG=2Kgs
+2KONG=2Kgs
+1. KRØN=1Chr
+1KRØN=1Chr
+2. KRØN=2Chr
+2KRØN=2Chr
+NEH=Neh
+EST=Esth
+SAL=Ps
+ORDSP=Prov
+FORK=Eccl
+HØYS=Song
+JES=Isa
+JER=Jer
+KLAG=Lam
+ESEK=Ezek
+DAN=Dan
+HOS=Hos
+AM=Amos
+OB=Obad
+MI=Mic
+NAH=Nah
+HAB=Hab
+SEF=Zeph
+HAG=Hag
+SAK=Zech
+MAL=Mal
+MATT=Matt
+MARK=Mark
+LUK=Luke
+JOH=John
+APG=Acts
+ROM=Rom
+1. KOR=1Cor
+1KOR=1Cor
+2. KOR=2Cor
+2KOR=2Cor
+GAL=Gal
+EF=Eph
+FIL=Phil
+KOL=Col
+1. TESS=1Thess
+1TESS=1Thess
+2. TESS=2Thess
+2TESS=2Thess
+1. TIM=1Tim
+1TIM=1Tim
+2. TIM=2Tim
+2TIM=2Tim
+TIT=Titus
+FILEM=Phlm
+HEBR=Heb
+JAK=Jas
+1. PET=1Pet
+1PET=1Pet
+2. PET=2Pet
+2PET=2Pet
+1. JOH=1John
+1JOH=1John
+2. JOH=2John
+2JOH=2John
+3. JOH=3John
+3JOH=3John
+JUD=Jude
+ÅP=Rev
diff --git a/locales.d/pl-utf8.conf b/locales.d/pl-utf8.conf
index 7532279..49ae5e0 100644
--- a/locales.d/pl-utf8.conf
+++ b/locales.d/pl-utf8.conf
@@ -1,6 +1,6 @@
[Meta]
Name=pl
-Description=Polish (Unicode)
+Description=Polska (Unicode)
Encoding=UTF-8
[Text]
@@ -72,266 +72,82 @@ Jude=Judy
Revelation of John=Apokalipsa
[Book Abbrevs]
-1 C=46
-1 CHRONICLES=13
-1 CORINTHIANS=46
-1 JN=62
-1 JOHN=62
-1 KGS=11
-1 KINGS=11
-1 PETER=60
-1 PTR=60
-1 SAMUEL=9
-1 THESSALONIANS=52
-1 TIMOTHY=54
-1C=46
-1CHRONICLES=13
-1CORINTHIANS=46
-1JN=62
-1JOHN=62
-1KGS=11
-1KINGS=11
-1PETER=60
-1PTR=60
-1SAMUEL=9
-1THESSALONIANS=52
-1TIMOTHY=54
-2 C=47
-2 CHRONICLES=14
-2 CORINTHIANS=47
-2 JN=63
-2 JOHN=63
-2 KGS=12
-2 KINGS=12
-2 PETER=61
-2 PTR=61
-2 SAMUEL=10
-2 THESSALONIANS=53
-2 TIMOTHY=55
-2C=47
-2CHRONICLES=14
-2CORINTHIANS=47
-2JN=63
-2JOHN=63
-2KGS=12
-2KINGS=12
-2PETER=61
-2PTR=61
-2SAMUEL=10
-2THESSALONIANS=53
-2TIMOTHY=55
-3 JN=64
-3 JOHN=64
-3JN=64
-3JOHN=64
-ACTS=44
-AMOS=30
-APOCALYPSE OF ST. JOHN=66
-C=51
-CANTICLE OF CANTICLES=22
-COC=22
-COLOSSIANS=51
-D=5
-DANIEL=27
-DEUTERONOMY=5
-E=49
-ECCLESIASTES=21
-EPHESIANS=49
-ESTER=17
-ESTHER=17
-EXODUS=2
-EZEKIEL=26
-EZRA=15
-G=1
-GALATIANS=48
-GENESIS=1
-H=58
-HABAKKUK=35
-HAGGAI=37
-HEBREWS=58
-HOSEA=28
-I C=46
-I CHRONICLES=13
-I CORINTHIANS=46
-I JN=62
-I JOHN=62
-I KGS=11
-I KINGS=11
-I PETER=60
-I PTR=60
-I SAMUEL=9
-I THESSALONIANS=52
-I TIMOTHY=54
-IC=46
-ICHRONICLES=13
-ICORINTHIANS=46
-II C=47
-II CHRONICLES=14
-II CORINTHIANS=47
-II JN=63
-II JOHN=63
-II KGS=12
-II KINGS=12
-II PETER=61
-II PTR=61
-II SAMUEL=10
-II THESSALONIANS=53
-II TIMOTHY=55
-IIC=47
-IICHRONICLES=14
-IICORINTHIANS=47
-III JN=64
-III JOHN=64
-IIIJN=64
-IIIJOHN=64
-IIJN=63
-IIJOHN=63
-IIKGS=12
-IIKINGS=12
-IIPETER=61
-IIPTR=61
-IISAMUEL=10
-IITHESSALONIANS=53
-IITIMOTHY=55
-IJN=62
-IJOHN=62
-IKGS=11
-IKINGS=11
-IPETER=60
-IPTR=60
-ISA=23
-ISAIAH=23
-ISAMUEL=9
-ITHESSALONIANS=52
-ITIMOTHY=54
-J=43
-JAMES=59
-JAS=59
-JEREMIAH=24
-JN=43
-JO=43
-JOB=18
-JOEL=29
-JOHN=43
-JONAH=32
-JOSHUA=6
-JUD=7
-JUDE=65
-JUDGES=7
-L=42
-LAMENTATIONS=25
-LEVITICUS=3
-LK=42
-LUKE=42
-MA=40
-MALACHI=39
-MARK=41
-MATTHEW=40
-MICAH=33
-MK=41
-MR=41
-MT=40
-N=4
-NAHUM=34
-NEHEMIAH=16
-NUMBERS=4
-OBADIAH=31
-P=19
-PH=50
-PHILEMON=57
-PHILIPPIANS=50
-PHLM=57
-PHM=57
-PHP=50
-PROVERBS=20
-PSALMS=19
-PSM=19
-PSS=19
-REVELATION OF JOHN=66
-ROMANS=45
-RUTH=8
-SONG OF SOLOMON=22
-SONG OF SONGS=22
-SOS=22
-TITUS=56
-ZECHARIAH=38
-ZEPHANIAH=36
-RODZAJU=1
-WYJÅšCIAJ=2
-KAPÅAŃSKA=3
-LICZB=4
-POWTÓRZONEGO PRAWA=5
-JOZUEGO=6
-SĘDZIÓW=7
-RUT=8
-1 SAMUELA=9
-2 SAMUELA=10
-1 KRÓLEWSKA=11
-2 KRÓLEWSKA=12
-1 KRONIK=13
-2 KRONIK=14
-EZDRASZA=15
-NEHEMIASZA=16
-ESTERY=17
-HIOBA=18
-PSALMÓW=19
-PRZYSÅÓW=20
-KOHELETA=21
-EKLEZJASTESA=21
-PIEÅšNI NAD PIEÅšNIAMI=22
-IZAJASZA=23
-JEREMIASZA=24
-LAMENTACJE=25
-EZECHIELA=26
-DANIELA=27
-OZEASZA=28
-JOELA=29
-AMOSA=30
-ABDIASZA=31
-JONASZA=32
-MICHEASZA=33
-NAHUMA=34
-HABAKUKA=35
-SOFONIASZA=36
-AGGEUSZA=37
-ZACHARIASZA=38
-MALACHIASZA=39
-MATEUSZA=40
-MARKA=41
-ÅUKASZA=42
-JANA=43
-DZIEJE=44
-RZYMIAN=45
-1 KORYNTIAN=46
-1KORYNTIAN=46
-2 KORYNTIAN=47
-2KORYNTIAN=47
-GALATÓW=48
-EFEZJAN=49
-FILIPIAN=50
-KOLOSAN=51
-1 TESALONICZAN=52
-1TESALONICZAN=52
-2 TESALONICZAN=53
-2TESALONICZAN=53
-1 TYMOTEUSZA=54
-1TYMOTEUSZA=54
-2 TYMOTEUSZA=55
-2TYMOTEUSZA=55
-TYTUSA=56
-FILEMONA=57
-HEBRAJCZYKÓW=58
-JAKUBA=59
-1 PIOTRA=60
-1PIOTRA=60
-2 PIOTRA=61
-2PIOTRA=61
-1 JANA=62
-1JANA=62
-2 JANA=63
-2JANA=63
-3 JANA=64
-3JANA=64
-JUDY=65
-APOKALIPSA=66
+RODZAJU=Gen
+WYJÅšCIAJ=Exod
+KAPÅAŃSKA=Lev
+LICZB=Num
+POWTÓRZONEGO PRAWA=Deut
+JOZUEGO=Josh
+SĘDZIÓW=Judg
+RUT=Ruth
+1 SAMUELA=1Sam
+2 SAMUELA=2Sam
+1 KRÓLEWSKA=1Kgs
+2 KRÓLEWSKA=2Kgs
+1 KRONIK=1Chr
+2 KRONIK=2Chr
+EZDRASZA=Ezra
+NEHEMIASZA=Neh
+ESTERY=Esth
+HIOBA=Job
+PSALMÓW=Ps
+PRZYSÅÓW=Prov
+KOHELETA=Eccl
+EKLEZJASTESA=Eccl
+PIEÅšNI NAD PIEÅšNIAMI=Song
+IZAJASZA=Isa
+JEREMIASZA=Jer
+LAMENTACJE=Lam
+EZECHIELA=Ezek
+DANIELA=Dan
+OZEASZA=Hos
+JOELA=Joel
+AMOSA=Amos
+ABDIASZA=Obad
+JONASZA=Jonah
+MICHEASZA=Mic
+NAHUMA=Nah
+HABAKUKA=Hab
+SOFONIASZA=Zeph
+AGGEUSZA=Hag
+ZACHARIASZA=Zech
+MALACHIASZA=Mal
+MATEUSZA=Matt
+MARKA=Mark
+ÅUKASZA=Luke
+JANA=John
+DZIEJE=Acts
+RZYMIAN=Rom
+1 KORYNTIAN=1Cor
+1KORYNTIAN=1Cor
+2 KORYNTIAN=2Cor
+2KORYNTIAN=2Cor
+GALATÓW=Gal
+EFEZJAN=Eph
+FILIPIAN=Phil
+KOLOSAN=Col
+1 TESALONICZAN=1Thess
+1TESALONICZAN=1Thess
+2 TESALONICZAN=2Thess
+2TESALONICZAN=2Thess
+1 TYMOTEUSZA=1Tim
+1TYMOTEUSZA=1Tim
+2 TYMOTEUSZA=2Tim
+2TYMOTEUSZA=2Tim
+TYTUSA=Titus
+FILEMONA=Phlm
+HEBRAJCZYKÓW=Heb
+JAKUBA=Jas
+1 PIOTRA=1Pet
+1PIOTRA=1Pet
+2 PIOTRA=2Pet
+2PIOTRA=2Pet
+1 JANA=1John
+1JANA=1John
+2 JANA=2John
+2JANA=2John
+3 JANA=3John
+3JANA=3John
+JUDY=Jude
+APOKALIPSA=Rev
diff --git a/locales.d/pl.conf b/locales.d/pl.conf
index acfcbfd..8fd115a 100644
--- a/locales.d/pl.conf
+++ b/locales.d/pl.conf
@@ -1,6 +1,6 @@
[Meta]
Name=pl
-Description=Polish
+Description=Polska
Encoding=ISO8859-2
[Text]
@@ -72,266 +72,89 @@ Jude=Judy
Revelation of John=Apokalipsa
[Book Abbrevs]
-1 C=46
-1 CHRONICLES=13
-1 CORINTHIANS=46
-1 JN=62
-1 JOHN=62
-1 KGS=11
-1 KINGS=11
-1 PETER=60
-1 PTR=60
-1 SAMUEL=9
-1 THESSALONIANS=52
-1 TIMOTHY=54
-1C=46
-1CHRONICLES=13
-1CORINTHIANS=46
-1JN=62
-1JOHN=62
-1KGS=11
-1KINGS=11
-1PETER=60
-1PTR=60
-1SAMUEL=9
-1THESSALONIANS=52
-1TIMOTHY=54
-2 C=47
-2 CHRONICLES=14
-2 CORINTHIANS=47
-2 JN=63
-2 JOHN=63
-2 KGS=12
-2 KINGS=12
-2 PETER=61
-2 PTR=61
-2 SAMUEL=10
-2 THESSALONIANS=53
-2 TIMOTHY=55
-2C=47
-2CHRONICLES=14
-2CORINTHIANS=47
-2JN=63
-2JOHN=63
-2KGS=12
-2KINGS=12
-2PETER=61
-2PTR=61
-2SAMUEL=10
-2THESSALONIANS=53
-2TIMOTHY=55
-3 JN=64
-3 JOHN=64
-3JN=64
-3JOHN=64
-ACTS=44
-AMOS=30
-APOCALYPSE OF ST. JOHN=66
-C=51
-CANTICLE OF CANTICLES=22
-COC=22
-COLOSSIANS=51
-D=5
-DANIEL=27
-DEUTERONOMY=5
-E=49
-ECCLESIASTES=21
-EPHESIANS=49
-ESTER=17
-ESTHER=17
-EXODUS=2
-EZEKIEL=26
-EZRA=15
-G=1
-GALATIANS=48
-GENESIS=1
-H=58
-HABAKKUK=35
-HAGGAI=37
-HEBREWS=58
-HOSEA=28
-I C=46
-I CHRONICLES=13
-I CORINTHIANS=46
-I JN=62
-I JOHN=62
-I KGS=11
-I KINGS=11
-I PETER=60
-I PTR=60
-I SAMUEL=9
-I THESSALONIANS=52
-I TIMOTHY=54
-IC=46
-ICHRONICLES=13
-ICORINTHIANS=46
-II C=47
-II CHRONICLES=14
-II CORINTHIANS=47
-II JN=63
-II JOHN=63
-II KGS=12
-II KINGS=12
-II PETER=61
-II PTR=61
-II SAMUEL=10
-II THESSALONIANS=53
-II TIMOTHY=55
-IIC=47
-IICHRONICLES=14
-IICORINTHIANS=47
-III JN=64
-III JOHN=64
-IIIJN=64
-IIIJOHN=64
-IIJN=63
-IIJOHN=63
-IIKGS=12
-IIKINGS=12
-IIPETER=61
-IIPTR=61
-IISAMUEL=10
-IITHESSALONIANS=53
-IITIMOTHY=55
-IJN=62
-IJOHN=62
-IKGS=11
-IKINGS=11
-IPETER=60
-IPTR=60
-ISA=23
-ISAIAH=23
-ISAMUEL=9
-ITHESSALONIANS=52
-ITIMOTHY=54
-J=43
-JAMES=59
-JAS=59
-JEREMIAH=24
-JN=43
-JO=43
-JOB=18
-JOEL=29
-JOHN=43
-JONAH=32
-JOSHUA=6
-JUD=7
-JUDE=65
-JUDGES=7
-L=42
-LAMENTATIONS=25
-LEVITICUS=3
-LK=42
-LUKE=42
-MA=40
-MALACHI=39
-MARK=41
-MATTHEW=40
-MICAH=33
-MK=41
-MR=41
-MT=40
-N=4
-NAHUM=34
-NEHEMIAH=16
-NUMBERS=4
-OBADIAH=31
-P=19
-PH=50
-PHILEMON=57
-PHILIPPIANS=50
-PHLM=57
-PHM=57
-PHP=50
-PROVERBS=20
-PSALMS=19
-PSM=19
-PSS=19
-REVELATION OF JOHN=66
-ROMANS=45
-RUTH=8
-SONG OF SOLOMON=22
-SONG OF SONGS=22
-SOS=22
-TITUS=56
-ZECHARIAH=38
-ZEPHANIAH=36
-RODZAJU=1
-WYJ¶CIAJ=2
-KAP³AÑSKA=3
-LICZB=4
-POWTÓRZONEGO PRAWA=5
-JOZUEGO=6
-SDZÊDZIÓW=7
-RUT=8
-1 SAMUELA=9
-2 SAMUELA=10
-1 KRÓLEWSKA=11
-2 KRÓLEWSKA=12
-1 KRONIK=13
-2 KRONIK=14
-EZDRASZA=15
-NEHEMIASZA=16
-ESTERY=17
-HIOBA=18
-PSALMÓW=19
-PRZYS³ÓW=20
-KOHELETA=21
-EKLEZJASTESA=21
-PIE¶NI NAD PIE¶NIAMI=22
-IZAJASZA=23
-JEREMIASZA=24
-LAMENTACJE=25
-EZECHIEL=26
-DANIEL=27
-OZEASZ=28
-JOEL=29
-AMOS=30
-ABDIASZA=31
-JONASZA=32
-MICHEASZA=33
-NAHUMA=34
-HABAKUKA=35
-SOFONIASZA=36
-AGGEUSZA=37
-ZACHARIASZA=38
-MALACHIASZA=39
-MATEUSZA=40
-MARKA=41
-£UKASZA=42
-JANA=43
-DZIEJE=44
-RZYMIAN=45
-1 KORYNTIAN=46
-1KORYNTIAN=46
-2 KORYNTIAN=47
-2KORYNTIAN=47
-GALATÓW=48
-EFEZJAN=49
-FILIPIAN=50
-KOLOSAN=51
-1 TESALONICZAN=52
-1TESALONICZAN=52
-2 TESALONICZAN=53
-2TESALONICZAN=53
-1 TYMOTEUSZA=54
-1TYMOTEUSZA=54
-2 TYMOTEUSZA=55
-2TYMOTEUSZA=55
-TYTUSA=56
-FILEMONA=57
-HEBRAJCZYKÓW=58
-JAKUBA=59
-1 PIOTRA=60
-1PIOTRA=60
-2 PIOTRA=61
-2PIOTRA=61
-1 JANA=62
-1JANA=62
-2 JANA=63
-2JANA=63
-3 JANA=64
-3JANA=64
-JUDY=65
-APOKALIPSA=66
+RODZAJU=Gen
+WYJ¶CIAJ=Exod
+KAP³AÑSKA=Lev
+LICZB=Num
+POWTÓRZONEGO PRAWA=Deut
+JOZUEGO=Josh
+SDZÊDZIÓW=Judg
+SÊDZIÓW=Judg
+RUT=Ruth
+1 SAMUELA=1Sam
+2 SAMUELA=2Sam
+1 KRÓLEWSKA=1Kgs
+2 KRÓLEWSKA=2Kgs
+1 KRONIK=1Chr
+2 KRONIK=2Chr
+EZDRASZA=Ezra
+NEHEMIASZA=Neh
+ESTERY=Esth
+HIOBA=Job
+PSALMÓW=Ps
+PRZYS³ÓW=Prov
+KOHELETA=Eccl
+EKLEZJASTESA=Eccl
+PIE¶NI NAD PIE¶NIAMI=Song
+IZAJASZA=Isa
+JEREMIASZA=Jer
+LAMENTACJE=Lam
+EZECHIEL=Ezek
+EZECHIELA=Ezek
+DANIEL=Dan
+DANIELA=Dan
+
+OZEASZ=Hos
+OZEASZA=Hos
+JOEL=Joel
+JOELA=Joel
+AMOS=Amos
+AMOSA=Amos
+ABDIASZA=Obad
+JONASZA=Jonah
+MICHEASZA=Mic
+NAHUMA=Nah
+HABAKUKA=Hab
+SOFONIASZA=Zeph
+AGGEUSZA=Hag
+ZACHARIASZA=Zech
+MALACHIASZA=Mal
+MATEUSZA=Matt
+MARKA=Mark
+£UKASZA=Luke
+JANA=John
+DZIEJE=Acts
+RZYMIAN=Rom
+1 KORYNTIAN=1Cor
+1KORYNTIAN=1Cor
+2 KORYNTIAN=2Cor
+2KORYNTIAN=2Cor
+GALATÓW=Gal
+EFEZJAN=Eph
+FILIPIAN=Phil
+KOLOSAN=Col
+1 TESALONICZAN=1Thess
+1TESALONICZAN=1Thess
+2 TESALONICZAN=2Thess
+2TESALONICZAN=2Thess
+1 TYMOTEUSZA=1Tim
+1TYMOTEUSZA=1Tim
+2 TYMOTEUSZA=2Tim
+2TYMOTEUSZA=2Tim
+TYTUSA=Titus
+FILEMONA=Phlm
+HEBRAJCZYKÓW=Heb
+JAKUBA=Jas
+1 PIOTRA=1Pet
+1PIOTRA=1Pet
+2 PIOTRA=2Pet
+2PIOTRA=2Pet
+1 JANA=1John
+1JANA=1John
+2 JANA=2John
+2JANA=2John
+3 JANA=3John
+3JANA=3John
+JUDY=Jude
+APOKALIPSA=Rev
diff --git a/locales.d/pt-utf8.conf b/locales.d/pt-utf8.conf
index 441de46..81661f9 100644
--- a/locales.d/pt-utf8.conf
+++ b/locales.d/pt-utf8.conf
@@ -73,320 +73,134 @@ Revelation of John=Apocalipse
[Book Abbrevs]
-1 C=46
-1 CHRONICLES=13
-1 CORINTHIANS=46
-1 JN=62
-1 JOHN=62
-1 KGS=11
-1 KINGS=11
-1 PETER=60
-1 PTR=60
-1 SAMUEL=9
-1 THESSALONIANS=52
-1 TIMOTHY=54
-1C=46
-1CHRONICLES=13
-1CORINTHIANS=46
-1JN=62
-1JOHN=62
-1KGS=11
-1KINGS=11
-1PETER=60
-1PTR=60
-1SAMUEL=9
-1THESSALONIANS=52
-1TIMOTHY=54
-2 C=47
-2 CHRONICLES=14
-2 CORINTHIANS=47
-2 JN=63
-2 JOHN=63
-2 KGS=12
-2 KINGS=12
-2 PETER=61
-2 PTR=61
-2 SAMUEL=10
-2 THESSALONIANS=53
-2 TIMOTHY=55
-2C=47
-2CHRONICLES=14
-2CORINTHIANS=47
-2JN=63
-2JOHN=63
-2KGS=12
-2KINGS=12
-2PETER=61
-2PTR=61
-2SAMUEL=10
-2THESSALONIANS=53
-2TIMOTHY=55
-3 JN=64
-3 JOHN=64
-3JN=64
-3JOHN=64
-ACTS=44
-AMOS=30
-APOCALYPSE OF ST. JOHN=66
-C=51
-CANTICLE OF CANTICLES=22
-COC=22
-COLOSSIANS=51
-D=5
-DANIEL=27
-DEUTERONOMY=5
-E=49
-ECCLESIASTES=21
-EPHESIANS=49
-ESTER=17
-ESTHER=17
-EXODUS=2
-EZEKIEL=26
-EZRA=15
-G=1
-GALATIANS=48
-GENESIS=1
-H=58
-HABAKKUK=35
-HAGGAI=37
-HEBREWS=58
-HOSEA=28
-I C=46
-I CHRONICLES=13
-I CORINTHIANS=46
-I JN=62
-I JOHN=62
-I KGS=11
-I KINGS=11
-I PETER=60
-I PTR=60
-I SAMUEL=9
-I THESSALONIANS=52
-I TIMOTHY=54
-IC=46
-ICHRONICLES=13
-ICORINTHIANS=46
-II C=47
-II CHRONICLES=14
-II CORINTHIANS=47
-II JN=63
-II JOHN=63
-II KGS=12
-II KINGS=12
-II PETER=61
-II PTR=61
-II SAMUEL=10
-II THESSALONIANS=53
-II TIMOTHY=55
-IIC=47
-IICHRONICLES=14
-IICORINTHIANS=47
-III JN=64
-III JOHN=64
-IIIJN=64
-IIIJOHN=64
-IIJN=63
-IIJOHN=63
-IIKGS=12
-IIKINGS=12
-IIPETER=61
-IIPTR=61
-IISAMUEL=10
-IITHESSALONIANS=53
-IITIMOTHY=55
-IJN=62
-IJOHN=62
-IKGS=11
-IKINGS=11
-IPETER=60
-IPTR=60
-ISA=23
-ISAIAH=23
-ISAMUEL=9
-ITHESSALONIANS=52
-ITIMOTHY=54
-J=43
-JAMES=59
-JAS=59
-JEREMIAH=24
-JN=43
-JO=43
-JOB=18
-JOEL=29
-JOHN=43
-JONAH=32
-JOSHUA=6
-JUD=7
-JUDE=65
-JUDGES=7
-L=42
-LAMENTATIONS=25
-LEVITICUS=3
-LK=42
-LUKE=42
-MA=40
-MALACHI=39
-MARK=41
-MATTHEW=40
-MICAH=33
-MK=41
-MR=41
-MT=40
-N=4
-NAHUM=34
-NEHEMIAH=16
-NUMBERS=4
-OBADIAH=31
-P=19
-PH=50
-PHILEMON=57
-PHILIPPIANS=50
-PHLM=57
-PHM=57
-PHP=50
-PROVERBS=20
-PSALMS=19
-PSM=19
-PSS=19
-REVELATION OF JOHN=66
-ROMANS=45
-RUTH=8
-SONG OF SOLOMON=22
-SONG OF SONGS=22
-SOS=22
-TITUS=56
-ZECHARIAH=38
-ZEPHANIAH=36
-
-
-GÉNESIS=1
-GEN=1
-ÊXODO=2
-EX=2
-LEVÃTICO=3
-LV=3
-NÚMEROS=4
-NM=4
-DEUTERONÓMIO=5
-DT=5
-JOSUÉ=6
-JS=6
-JUÃZES=7
-JZ=7
-RUTE=8
-RT=8
-1 SAMUEL=9
-1SM=9
-2 SAMUEL=10
-2SM=10
-1 REIS=11
-1RE=11
-2 REIS=12
-2RE=12
-1 CRÓNICAS=13
-1CR=13
-2 CRÓNICAS=14
-2CR=14
-ESDRAS=15
-ED=15
-NEEMIAS=16
-NE=16
-ESTER=17
-ET=17
-JÓ=18
-SALMOS=19
-SL=19
-PROVÉRBIOS=20
-PV=20
-ECLESIASTES=21
-EC=21
-CANTARES DE SALOMÃO=22
-CT=22
-ISAÃAS=23
-IS=23
-JEREMIAS=24
-JR=24
-LAMENTAÇÕES=25
-LM=25
-EZEQUIEL=26
-EZ=26
-DANIEL=27
-DN=27
-OSÉIAS=28
-OS=28
-JOEL=29
-JL=29
-AMÓS=30
-AM=30
-OBADIAS=31
-OB=31
-JONAS=32
-JN=32
-MIQUÉIAS=33
-MQ=33
-NAUM=34
-NA=34
-HABACUQUE=35
-HC=35
-SOFONIAS=36
-SF=36
-AGEU=37
-AG=37
-ZACARIAS=38
-ZC=38
-MALAQUIAS=39
-ML=39
-MATEUS=40
-MT=40
-MARCOS=41
-MC=41
-LUCAS=42
-LC=42
-JOÃO=43
-JO=43
-ACTOS=44
-AT=44
-ROMANOS=45
-RM=45
-1 CORÃNTIOS=46
-1CO=46
-2 CORÃNTIOS=47
-2CO=47
-GÃLATAS=48
-GL=48
-EFÉSIOS=49
-EF=49
-FILIPENSES=50
-FL=50
-COLOSSENSES=51
-CL=51
-1 TESSALONICENSES=52
-1TE=52
-2 TESSALONICENSES=53
-2TE=53
-1 TIMÓTEO=54
-1TM=54
-2 TIMÓTEO=55
-2TM=55
-TITO=56
-TT=56
-FILEMON=57
-FM=57
-HEBREUS=58
-HB=58
-TIAGO=59
-TG=59
-1 PEDRO=60
-1PE=60
-2 PEDRO=61
-2PE=61
-1 JOÃO=62
-1JO=62
-2 JOÃO=63
-2JO=63
-3 JOÃO=64
-3JO=64
-JUDAS=65
-JD=65
-APOCALIPSE=66
-AP=66
+GÉNESIS=Gen
+GEN=Gen
+ÊXODO=Exod
+EX=Exod
+LEVÃTICO=Lev
+LV=Lev
+NÚMEROS=Num
+NM=Num
+DEUTERONÓMIO=Deut
+DT=Deut
+JOSUÉ=Josh
+JS=Josh
+JUÃZES=Judg
+JZ=Judg
+RUTE=Ruth
+RT=Ruth
+1 SAMUEL=1Sam
+1SM=1Sam
+2 SAMUEL=2Sam
+2SM=2Sam
+1 REIS=1Kgs
+1RE=1Kgs
+2 REIS=2Kgs
+2RE=2Kgs
+1 CRÓNICAS=1Chr
+1CR=1Chr
+2 CRÓNICAS=2Chr
+2CR=2Chr
+ESDRAS=Ezra
+ED=Ezra
+NEEMIAS=Neh
+NE=Neh
+ESTER=Esth
+ET=Esth
+JÓ=Job
+SALMOS=Ps
+SL=Ps
+PROVÉRBIOS=Prov
+PV=Prov
+ECLESIASTES=Eccl
+EC=Eccl
+CANTARES DE SALOMÃO=Song
+CT=Song
+ISAÃAS=Isa
+IS=Isa
+JEREMIAS=Jer
+JR=Jer
+LAMENTAÇÕES=Lam
+LM=Lam
+EZEQUIEL=Ezek
+EZ=Ezek
+DANIEL=Dan
+DN=Dan
+OSÉIAS=Hos
+OS=Hos
+JOEL=Joel
+JL=Joel
+AMÓS=Amos
+AM=Amos
+OBADIAS=Obad
+OB=Obad
+JONAS=Jonah
+JN=Jonah
+MIQUÉIAS=Mic
+MQ=Mic
+NAUM=Nah
+NA=Nah
+HABACUQUE=Hab
+HC=Hab
+SOFONIAS=Zeph
+SF=Zeph
+AGEU=Hag
+AG=Hag
+ZACARIAS=Zech
+ZC=Zech
+MALAQUIAS=Mal
+ML=Mal
+MATEUS=Matt
+MT=Matt
+MARCOS=Mark
+MC=Mark
+LUCAS=Luke
+LC=Luke
+JOÃO=John
+JO=John
+ACTOS=Acts
+AT=Acts
+ROMANOS=Rom
+RM=Rom
+1 CORÃNTIOS=1Cor
+1CO=1Cor
+2 CORÃNTIOS=2Cor
+2CO=2Cor
+GÃLATAS=Gal
+GL=Gal
+EFÉSIOS=Eph
+EF=Eph
+FILIPENSES=Phil
+FL=Phil
+COLOSSENSES=Col
+CL=Col
+1 TESSALONICENSES=1Thess
+1TE=1Thess
+2 TESSALONICENSES=2Thess
+2TE=2Thess
+1 TIMÓTEO=1Tim
+1TM=1Tim
+2 TIMÓTEO=2Tim
+2TM=2Tim
+TITO=Titus
+TT=Titus
+FILEMON=Phlm
+FM=Phlm
+HEBREUS=Heb
+HB=Heb
+TIAGO=Jas
+TG=Jas
+1 PEDRO=1Pet
+1PE=1Pet
+2 PEDRO=2Pet
+2PE=2Pet
+1 JOÃO=1John
+1JO=1John
+2 JOÃO=2John
+2JO=2John
+3 JOÃO=3John
+3JO=3John
+JUDAS=Jude
+JD=Jude
+APOCALIPSE=Rev
+AP=Rev
diff --git a/locales.d/pt.conf b/locales.d/pt.conf
index 27a803d..8df006c 100644
--- a/locales.d/pt.conf
+++ b/locales.d/pt.conf
@@ -73,320 +73,134 @@ Revelation of John=Apocalipse
[Book Abbrevs]
-1 C=46
-1 CHRONICLES=13
-1 CORINTHIANS=46
-1 JN=62
-1 JOHN=62
-1 KGS=11
-1 KINGS=11
-1 PETER=60
-1 PTR=60
-1 SAMUEL=9
-1 THESSALONIANS=52
-1 TIMOTHY=54
-1C=46
-1CHRONICLES=13
-1CORINTHIANS=46
-1JN=62
-1JOHN=62
-1KGS=11
-1KINGS=11
-1PETER=60
-1PTR=60
-1SAMUEL=9
-1THESSALONIANS=52
-1TIMOTHY=54
-2 C=47
-2 CHRONICLES=14
-2 CORINTHIANS=47
-2 JN=63
-2 JOHN=63
-2 KGS=12
-2 KINGS=12
-2 PETER=61
-2 PTR=61
-2 SAMUEL=10
-2 THESSALONIANS=53
-2 TIMOTHY=55
-2C=47
-2CHRONICLES=14
-2CORINTHIANS=47
-2JN=63
-2JOHN=63
-2KGS=12
-2KINGS=12
-2PETER=61
-2PTR=61
-2SAMUEL=10
-2THESSALONIANS=53
-2TIMOTHY=55
-3 JN=64
-3 JOHN=64
-3JN=64
-3JOHN=64
-ACTS=44
-AMOS=30
-APOCALYPSE OF ST. JOHN=66
-C=51
-CANTICLE OF CANTICLES=22
-COC=22
-COLOSSIANS=51
-D=5
-DANIEL=27
-DEUTERONOMY=5
-E=49
-ECCLESIASTES=21
-EPHESIANS=49
-ESTER=17
-ESTHER=17
-EXODUS=2
-EZEKIEL=26
-EZRA=15
-G=1
-GALATIANS=48
-GENESIS=1
-H=58
-HABAKKUK=35
-HAGGAI=37
-HEBREWS=58
-HOSEA=28
-I C=46
-I CHRONICLES=13
-I CORINTHIANS=46
-I JN=62
-I JOHN=62
-I KGS=11
-I KINGS=11
-I PETER=60
-I PTR=60
-I SAMUEL=9
-I THESSALONIANS=52
-I TIMOTHY=54
-IC=46
-ICHRONICLES=13
-ICORINTHIANS=46
-II C=47
-II CHRONICLES=14
-II CORINTHIANS=47
-II JN=63
-II JOHN=63
-II KGS=12
-II KINGS=12
-II PETER=61
-II PTR=61
-II SAMUEL=10
-II THESSALONIANS=53
-II TIMOTHY=55
-IIC=47
-IICHRONICLES=14
-IICORINTHIANS=47
-III JN=64
-III JOHN=64
-IIIJN=64
-IIIJOHN=64
-IIJN=63
-IIJOHN=63
-IIKGS=12
-IIKINGS=12
-IIPETER=61
-IIPTR=61
-IISAMUEL=10
-IITHESSALONIANS=53
-IITIMOTHY=55
-IJN=62
-IJOHN=62
-IKGS=11
-IKINGS=11
-IPETER=60
-IPTR=60
-ISA=23
-ISAIAH=23
-ISAMUEL=9
-ITHESSALONIANS=52
-ITIMOTHY=54
-J=43
-JAMES=59
-JAS=59
-JEREMIAH=24
-JN=43
-JO=43
-JOB=18
-JOEL=29
-JOHN=43
-JONAH=32
-JOSHUA=6
-JUD=7
-JUDE=65
-JUDGES=7
-L=42
-LAMENTATIONS=25
-LEVITICUS=3
-LK=42
-LUKE=42
-MA=40
-MALACHI=39
-MARK=41
-MATTHEW=40
-MICAH=33
-MK=41
-MR=41
-MT=40
-N=4
-NAHUM=34
-NEHEMIAH=16
-NUMBERS=4
-OBADIAH=31
-P=19
-PH=50
-PHILEMON=57
-PHILIPPIANS=50
-PHLM=57
-PHM=57
-PHP=50
-PROVERBS=20
-PSALMS=19
-PSM=19
-PSS=19
-REVELATION OF JOHN=66
-ROMANS=45
-RUTH=8
-SONG OF SOLOMON=22
-SONG OF SONGS=22
-SOS=22
-TITUS=56
-ZECHARIAH=38
-ZEPHANIAH=36
-
-
-GÉNESIS=1
-GEN=1
-ÊXODO=2
-EX=2
-LEVÍTICO=3
-LV=3
-NÚMEROS=4
-NM=4
-DEUTERONÓMIO=5
-DT=5
-JOSUÉ=6
-JS=6
-JUÍZES=7
-JZ=7
-RUTE=8
-RT=8
-1 SAMUEL=9
-1SM=9
-2 SAMUEL=10
-2SM=10
-1 REIS=11
-1RE=11
-2 REIS=12
-2RE=12
-1 CRÓNICAS=13
-1CR=13
-2 CRÓNICAS=14
-2CR=14
-ESDRAS=15
-ED=15
-NEEMIAS=16
-NE=16
-ESTER=17
-ET=17
-JÓ=18
-SALMOS=19
-SL=19
-PROVÉRBIOS=20
-PV=20
-ECLESIASTES=21
-EC=21
-CANTARES DE SALOMÃO=22
-CT=22
-ISAÍAS=23
-IS=23
-JEREMIAS=24
-JR=24
-LAMENTAÇÕES=25
-LM=25
-EZEQUIEL=26
-EZ=26
-DANIEL=27
-DN=27
-OSÉIAS=28
-OS=28
-JOEL=29
-JL=29
-AMÓS=30
-AM=30
-OBADIAS=31
-OB=31
-JONAS=32
-JN=32
-MIQUÉIAS=33
-MQ=33
-NAUM=34
-NA=34
-HABACUQUE=35
-HC=35
-SOFONIAS=36
-SF=36
-AGEU=37
-AG=37
-ZACARIAS=38
-ZC=38
-MALAQUIAS=39
-ML=39
-MATEUS=40
-MT=40
-MARCOS=41
-MC=41
-LUCAS=42
-LC=42
-JOÃO=43
-JO=43
-ACTOS=44
-AT=44
-ROMANOS=45
-RM=45
-1 CORÍNTIOS=46
-1CO=46
-2 CORÍNTIOS=47
-2CO=47
-GÁLATAS=48
-GL=48
-EFÉSIOS=49
-EF=49
-FILIPENSES=50
-FL=50
-COLOSSENSES=51
-CL=51
-1 TESSALONICENSES=52
-1TE=52
-2 TESSALONICENSES=53
-2TE=53
-1 TIMÓTEO=54
-1TM=54
-2 TIMÓTEO=55
-2TM=55
-TITO=56
-TT=56
-FILEMON=57
-FM=57
-HEBREUS=58
-HB=58
-TIAGO=59
-TG=59
-1 PEDRO=60
-1PE=60
-2 PEDRO=61
-2PE=61
-1 JOÃO=62
-1JO=62
-2 JOÃO=63
-2JO=63
-3 JOÃO=64
-3JO=64
-JUDAS=65
-JD=65
-APOCALIPSE=66
-AP=66
+GÉNESIS=Gen
+GEN=Gen
+ÊXODO=Exod
+EX=Exod
+LEVÍTICO=Lev
+LV=Lev
+NÚMEROS=Num
+NM=Num
+DEUTERONÓMIO=Deut
+DT=Deut
+JOSUÉ=Josh
+JS=Josh
+JUÍZES=Judg
+JZ=Judg
+RUTE=Ruth
+RT=Ruth
+1 SAMUEL=1Sam
+1SM=1Sam
+2 SAMUEL=2Sam
+2SM=2Sam
+1 REIS=1Kgs
+1RE=1Kgs
+2 REIS=2Kgs
+2RE=2Kgs
+1 CRÓNICAS=1Chr
+1CR=1Chr
+2 CRÓNICAS=2Chr
+2CR=2Chr
+ESDRAS=Ezra
+ED=Ezra
+NEEMIAS=Neh
+NE=Neh
+ESTER=Esth
+ET=Esth
+JÓ=Job
+SALMOS=Ps
+SL=Ps
+PROVÉRBIOS=Prov
+PV=Prov
+ECLESIASTES=Eccl
+EC=Eccl
+CANTARES DE SALOMÃO=Song
+CT=Song
+ISAÍAS=Isa
+IS=Isa
+JEREMIAS=Jer
+JR=Jer
+LAMENTAÇÕES=Lam
+LM=Lam
+EZEQUIEL=Ezek
+EZ=Ezek
+DANIEL=Dan
+DN=Dan
+OSÉIAS=Hos
+OS=Hos
+JOEL=Joel
+JL=Joel
+AMÓS=Amos
+AM=Amos
+OBADIAS=Obad
+OB=Obad
+JONAS=Jonah
+JN=Jonah
+MIQUÉIAS=Mic
+MQ=Mic
+NAUM=Nah
+NA=Nah
+HABACUQUE=Hab
+HC=Hab
+SOFONIAS=Zeph
+SF=Zeph
+AGEU=Hag
+AG=Hag
+ZACARIAS=Zech
+ZC=Zech
+MALAQUIAS=Mal
+ML=Mal
+MATEUS=Matt
+MT=Matt
+MARCOS=Mark
+MC=Mark
+LUCAS=Luke
+LC=Luke
+JOÃO=John
+JO=John
+ACTOS=Acts
+AT=Acts
+ROMANOS=Rom
+RM=Rom
+1 CORÍNTIOS=1Cor
+1CO=1Cor
+2 CORÍNTIOS=2Cor
+2CO=2Cor
+GÁLATAS=Gal
+GL=Gal
+EFÉSIOS=Eph
+EF=Eph
+FILIPENSES=Phil
+FL=Phil
+COLOSSENSES=Col
+CL=Col
+1 TESSALONICENSES=1Thess
+1TE=1Thess
+2 TESSALONICENSES=2Thess
+2TE=2Thess
+1 TIMÓTEO=1Tim
+1TM=1Tim
+2 TIMÓTEO=2Tim
+2TM=2Tim
+TITO=Titus
+TT=Titus
+FILEMON=Phlm
+FM=Phlm
+HEBREUS=Heb
+HB=Heb
+TIAGO=Jas
+TG=Jas
+1 PEDRO=1Pet
+1PE=1Pet
+2 PEDRO=2Pet
+2PE=2Pet
+1 JOÃO=1John
+1JO=1John
+2 JOÃO=2John
+2JO=2John
+3 JOÃO=3John
+3JO=3John
+JUDAS=Jude
+JD=Jude
+APOCALIPSE=Rev
+AP=Rev
diff --git a/locales.d/pt_BR-utf8.conf b/locales.d/pt_BR-utf8.conf
index 0bff867..9cb8105 100644
--- a/locales.d/pt_BR-utf8.conf
+++ b/locales.d/pt_BR-utf8.conf
@@ -1,7 +1,7 @@
[Meta]
Name=pt_BR
Description=Brazillian Portuguese
-Encoding=ISO8859-1
+Encoding=UTF-8
[Text]
Genesis=Gênesis
@@ -73,320 +73,134 @@ Revelation of John=Apocalipse
[Book Abbrevs]
-1 C=46
-1 CHRONICLES=13
-1 CORINTHIANS=46
-1 JN=62
-1 JOHN=62
-1 KGS=11
-1 KINGS=11
-1 PETER=60
-1 PTR=60
-1 SAMUEL=9
-1 THESSALONIANS=52
-1 TIMOTHY=54
-1C=46
-1CHRONICLES=13
-1CORINTHIANS=46
-1JN=62
-1JOHN=62
-1KGS=11
-1KINGS=11
-1PETER=60
-1PTR=60
-1SAMUEL=9
-1THESSALONIANS=52
-1TIMOTHY=54
-2 C=47
-2 CHRONICLES=14
-2 CORINTHIANS=47
-2 JN=63
-2 JOHN=63
-2 KGS=12
-2 KINGS=12
-2 PETER=61
-2 PTR=61
-2 SAMUEL=10
-2 THESSALONIANS=53
-2 TIMOTHY=55
-2C=47
-2CHRONICLES=14
-2CORINTHIANS=47
-2JN=63
-2JOHN=63
-2KGS=12
-2KINGS=12
-2PETER=61
-2PTR=61
-2SAMUEL=10
-2THESSALONIANS=53
-2TIMOTHY=55
-3 JN=64
-3 JOHN=64
-3JN=64
-3JOHN=64
-ACTS=44
-AMOS=30
-APOCALYPSE OF ST. JOHN=66
-C=51
-CANTICLE OF CANTICLES=22
-COC=22
-COLOSSIANS=51
-D=5
-DANIEL=27
-DEUTERONOMY=5
-E=49
-ECCLESIASTES=21
-EPHESIANS=49
-ESTER=17
-ESTHER=17
-EXODUS=2
-EZEKIEL=26
-EZRA=15
-G=1
-GALATIANS=48
-GENESIS=1
-H=58
-HABAKKUK=35
-HAGGAI=37
-HEBREWS=58
-HOSEA=28
-I C=46
-I CHRONICLES=13
-I CORINTHIANS=46
-I JN=62
-I JOHN=62
-I KGS=11
-I KINGS=11
-I PETER=60
-I PTR=60
-I SAMUEL=9
-I THESSALONIANS=52
-I TIMOTHY=54
-IC=46
-ICHRONICLES=13
-ICORINTHIANS=46
-II C=47
-II CHRONICLES=14
-II CORINTHIANS=47
-II JN=63
-II JOHN=63
-II KGS=12
-II KINGS=12
-II PETER=61
-II PTR=61
-II SAMUEL=10
-II THESSALONIANS=53
-II TIMOTHY=55
-IIC=47
-IICHRONICLES=14
-IICORINTHIANS=47
-III JN=64
-III JOHN=64
-IIIJN=64
-IIIJOHN=64
-IIJN=63
-IIJOHN=63
-IIKGS=12
-IIKINGS=12
-IIPETER=61
-IIPTR=61
-IISAMUEL=10
-IITHESSALONIANS=53
-IITIMOTHY=55
-IJN=62
-IJOHN=62
-IKGS=11
-IKINGS=11
-IPETER=60
-IPTR=60
-ISA=23
-ISAIAH=23
-ISAMUEL=9
-ITHESSALONIANS=52
-ITIMOTHY=54
-J=43
-JAMES=59
-JAS=59
-JEREMIAH=24
-JN=43
-JO=43
-JOB=18
-JOEL=29
-JOHN=43
-JONAH=32
-JOSHUA=6
-JUD=7
-JUDE=65
-JUDGES=7
-L=42
-LAMENTATIONS=25
-LEVITICUS=3
-LK=42
-LUKE=42
-MA=40
-MALACHI=39
-MARK=41
-MATTHEW=40
-MICAH=33
-MK=41
-MR=41
-MT=40
-N=4
-NAHUM=34
-NEHEMIAH=16
-NUMBERS=4
-OBADIAH=31
-P=19
-PH=50
-PHILEMON=57
-PHILIPPIANS=50
-PHLM=57
-PHM=57
-PHP=50
-PROVERBS=20
-PSALMS=19
-PSM=19
-PSS=19
-REVELATION OF JOHN=66
-ROMANS=45
-RUTH=8
-SONG OF SOLOMON=22
-SONG OF SONGS=22
-SOS=22
-TITUS=56
-ZECHARIAH=38
-ZEPHANIAH=36
-
-
-GÊNESIS=1
-GEN=1
-ÊXODO=2
-EX=2
-LEVÃTICO=3
-LV=3
-NÚMEROS=4
-NM=4
-DEUTERONÔMIO=5
-DT=5
-JOSUÉ=6
-JS=6
-JUÃZES=7
-JZ=7
-RUTE=8
-RT=8
-1 SAMUEL=9
-1SM=9
-2 SAMUEL=10
-2SM=10
-1 REIS=11
-1RE=11
-2 REIS=12
-2RE=12
-1 CRÔNICAS=13
-1CR=13
-2 CRÔNICAS=14
-2CR=14
-ESDRAS=15
-ED=15
-NEEMIAS=16
-NE=16
-ESTER=17
-ET=17
-JÓ=18
-SALMOS=19
-SL=19
-PROVÉRBIOS=20
-PV=20
-ECLESIASTES=21
-EC=21
-Cântico dos Cânticos=22
-CT=22
-ISAÃAS=23
-IS=23
-JEREMIAS=24
-JR=24
-LAMENTAÇÕES=25
-LM=25
-EZEQUIEL=26
-EZ=26
-DANIEL=27
-DN=27
-OSÉIAS=28
-OS=28
-JOEL=29
-JL=29
-AMÓS=30
-AM=30
-OBADIAS=31
-OB=31
-JONAS=32
-JN=32
-MIQUÉIAS=33
-MQ=33
-NAUM=34
-NA=34
-HABACUQUE=35
-HC=35
-SOFONIAS=36
-SF=36
-AGEU=37
-AG=37
-ZACARIAS=38
-ZC=38
-MALAQUIAS=39
-ML=39
-MATEUS=40
-MT=40
-MARCOS=41
-MC=41
-LUCAS=42
-LC=42
-JOÃO=43
-JO=43
-ATOS=44
-AT=44
-ROMANOS=45
-RM=45
-1 CORÃNTIOS=46
-1CO=46
-2 CORÃNTIOS=47
-2CO=47
-GÃLATAS=48
-GL=48
-EFÉSIOS=49
-EF=49
-FILIPENSES=50
-FL=50
-COLOSSENSES=51
-CL=51
-1 TESSALONICENSES=52
-1TE=52
-2 TESSALONICENSES=53
-2TE=53
-1 TIMÓTEO=54
-1TM=54
-2 TIMÓTEO=55
-2TM=55
-TITO=56
-TT=56
-FILEMON=57
-FM=57
-HEBREUS=58
-HB=58
-TIAGO=59
-TG=59
-1 PEDRO=60
-1PE=60
-2 PEDRO=61
-2PE=61
-1 JOÃO=62
-1JO=62
-2 JOÃO=63
-2JO=63
-3 JOÃO=64
-3JO=64
-JUDAS=65
-JD=65
-APOCALIPSE=66
-AP=66
+GÊNESIS=Gen
+GEN=Gen
+ÊXODO=Exod
+EX=Exod
+LEVÃTICO=Lev
+LV=Lev
+NÚMEROS=Num
+NM=Num
+DEUTERONÔMIO=Deut
+DT=Deut
+JOSUÉ=Josh
+JS=Josh
+JUÃZES=Judg
+JZ=Judg
+RUTE=Ruth
+RT=Ruth
+1 SAMUEL=1Sam
+1SM=1Sam
+2 SAMUEL=2Sam
+2SM=2Sam
+1 REIS=1Kgs
+1RE=1Kgs
+2 REIS=2Kgs
+2RE=2Kgs
+1 CRÔNICAS=1Chr
+1CR=1Chr
+2 CRÔNICAS=2Chr
+2CR=2Chr
+ESDRAS=Ezra
+ED=Ezra
+NEEMIAS=Neh
+NE=Neh
+ESTER=Esth
+ET=Esth
+JÓ=Job
+SALMOS=Ps
+SL=Ps
+PROVÉRBIOS=Prov
+PV=Prov
+ECLESIASTES=Eccl
+EC=Eccl
+Cântico dos Cânticos=Song
+CT=Song
+ISAÃAS=Isa
+IS=Isa
+JEREMIAS=Jer
+JR=Jer
+LAMENTAÇÕES=Lam
+LM=Lam
+EZEQUIEL=Ezek
+EZ=Ezek
+DANIEL=Dan
+DN=Dan
+OSÉIAS=Hos
+OS=Hos
+JOEL=Joel
+JL=Joel
+AMÓS=Amos
+AM=Amos
+OBADIAS=Obad
+OB=Obad
+JONAS=Jonah
+JN=Jonah
+MIQUÉIAS=Mic
+MQ=Mic
+NAUM=Nah
+NA=Nah
+HABACUQUE=Hab
+HC=Hab
+SOFONIAS=Zeph
+SF=Zeph
+AGEU=Hag
+AG=Hag
+ZACARIAS=Zech
+ZC=Zech
+MALAQUIAS=Mal
+ML=Mal
+MATEUS=Matt
+MT=Matt
+MARCOS=Mark
+MC=Mark
+LUCAS=Luke
+LC=Luke
+JOÃO=John
+JO=John
+ATOS=Acts
+AT=Acts
+ROMANOS=Rom
+RM=Rom
+1 CORÃNTIOS=1Cor
+1CO=1Cor
+2 CORÃNTIOS=2Cor
+2CO=2Cor
+GÃLATAS=Gal
+GL=Gal
+EFÉSIOS=Eph
+EF=Eph
+FILIPENSES=Phil
+FL=Phil
+COLOSSENSES=Col
+CL=Col
+1 TESSALONICENSES=1Thess
+1TE=1Thess
+2 TESSALONICENSES=2Thess
+2TE=2Thess
+1 TIMÓTEO=1Tim
+1TM=1Tim
+2 TIMÓTEO=2Tim
+2TM=2Tim
+TITO=Titus
+TT=Titus
+FILEMON=Phlm
+FM=Phlm
+HEBREUS=Heb
+HB=Heb
+TIAGO=Jas
+TG=Jas
+1 PEDRO=1Pet
+1PE=1Pet
+2 PEDRO=2Pet
+2PE=2Pet
+1 JOÃO=1John
+1JO=1John
+2 JOÃO=2John
+2JO=2John
+3 JOÃO=3John
+3JO=3John
+JUDAS=Jude
+JD=Jude
+APOCALIPSE=Rev
+AP=Rev
diff --git a/locales.d/pt_BR.conf b/locales.d/pt_BR.conf
index 7420d98..8aa702a 100644
--- a/locales.d/pt_BR.conf
+++ b/locales.d/pt_BR.conf
@@ -73,320 +73,134 @@ Revelation of John=Apocalipse
[Book Abbrevs]
-1 C=46
-1 CHRONICLES=13
-1 CORINTHIANS=46
-1 JN=62
-1 JOHN=62
-1 KGS=11
-1 KINGS=11
-1 PETER=60
-1 PTR=60
-1 SAMUEL=9
-1 THESSALONIANS=52
-1 TIMOTHY=54
-1C=46
-1CHRONICLES=13
-1CORINTHIANS=46
-1JN=62
-1JOHN=62
-1KGS=11
-1KINGS=11
-1PETER=60
-1PTR=60
-1SAMUEL=9
-1THESSALONIANS=52
-1TIMOTHY=54
-2 C=47
-2 CHRONICLES=14
-2 CORINTHIANS=47
-2 JN=63
-2 JOHN=63
-2 KGS=12
-2 KINGS=12
-2 PETER=61
-2 PTR=61
-2 SAMUEL=10
-2 THESSALONIANS=53
-2 TIMOTHY=55
-2C=47
-2CHRONICLES=14
-2CORINTHIANS=47
-2JN=63
-2JOHN=63
-2KGS=12
-2KINGS=12
-2PETER=61
-2PTR=61
-2SAMUEL=10
-2THESSALONIANS=53
-2TIMOTHY=55
-3 JN=64
-3 JOHN=64
-3JN=64
-3JOHN=64
-ACTS=44
-AMOS=30
-APOCALYPSE OF ST. JOHN=66
-C=51
-CANTICLE OF CANTICLES=22
-COC=22
-COLOSSIANS=51
-D=5
-DANIEL=27
-DEUTERONOMY=5
-E=49
-ECCLESIASTES=21
-EPHESIANS=49
-ESTER=17
-ESTHER=17
-EXODUS=2
-EZEKIEL=26
-EZRA=15
-G=1
-GALATIANS=48
-GENESIS=1
-H=58
-HABAKKUK=35
-HAGGAI=37
-HEBREWS=58
-HOSEA=28
-I C=46
-I CHRONICLES=13
-I CORINTHIANS=46
-I JN=62
-I JOHN=62
-I KGS=11
-I KINGS=11
-I PETER=60
-I PTR=60
-I SAMUEL=9
-I THESSALONIANS=52
-I TIMOTHY=54
-IC=46
-ICHRONICLES=13
-ICORINTHIANS=46
-II C=47
-II CHRONICLES=14
-II CORINTHIANS=47
-II JN=63
-II JOHN=63
-II KGS=12
-II KINGS=12
-II PETER=61
-II PTR=61
-II SAMUEL=10
-II THESSALONIANS=53
-II TIMOTHY=55
-IIC=47
-IICHRONICLES=14
-IICORINTHIANS=47
-III JN=64
-III JOHN=64
-IIIJN=64
-IIIJOHN=64
-IIJN=63
-IIJOHN=63
-IIKGS=12
-IIKINGS=12
-IIPETER=61
-IIPTR=61
-IISAMUEL=10
-IITHESSALONIANS=53
-IITIMOTHY=55
-IJN=62
-IJOHN=62
-IKGS=11
-IKINGS=11
-IPETER=60
-IPTR=60
-ISA=23
-ISAIAH=23
-ISAMUEL=9
-ITHESSALONIANS=52
-ITIMOTHY=54
-J=43
-JAMES=59
-JAS=59
-JEREMIAH=24
-JN=43
-JO=43
-JOB=18
-JOEL=29
-JOHN=43
-JONAH=32
-JOSHUA=6
-JUD=7
-JUDE=65
-JUDGES=7
-L=42
-LAMENTATIONS=25
-LEVITICUS=3
-LK=42
-LUKE=42
-MA=40
-MALACHI=39
-MARK=41
-MATTHEW=40
-MICAH=33
-MK=41
-MR=41
-MT=40
-N=4
-NAHUM=34
-NEHEMIAH=16
-NUMBERS=4
-OBADIAH=31
-P=19
-PH=50
-PHILEMON=57
-PHILIPPIANS=50
-PHLM=57
-PHM=57
-PHP=50
-PROVERBS=20
-PSALMS=19
-PSM=19
-PSS=19
-REVELATION OF JOHN=66
-ROMANS=45
-RUTH=8
-SONG OF SOLOMON=22
-SONG OF SONGS=22
-SOS=22
-TITUS=56
-ZECHARIAH=38
-ZEPHANIAH=36
-
-
-GÊNESIS=1
-GEN=1
-ÊXODO=2
-EX=2
-LEVÍTICO=3
-LV=3
-NÚMEROS=4
-NM=4
-DEUTERONÔMIO=5
-DT=5
-JOSUÉ=6
-JS=6
-JUÍZES=7
-JZ=7
-RUTE=8
-RT=8
-1 SAMUEL=9
-1SM=9
-2 SAMUEL=10
-2SM=10
-1 REIS=11
-1RE=11
-2 REIS=12
-2RE=12
-1 CRÔNICAS=13
-1CR=13
-2 CRÔNICAS=14
-2CR=14
-ESDRAS=15
-ED=15
-NEEMIAS=16
-NE=16
-ESTER=17
-ET=17
-JÓ=18
-SALMOS=19
-SL=19
-PROVÉRBIOS=20
-PV=20
-ECLESIASTES=21
-EC=21
-Cântico dos Cânticos=22
-CT=22
-ISAÍAS=23
-IS=23
-JEREMIAS=24
-JR=24
-LAMENTAÇÕES=25
-LM=25
-EZEQUIEL=26
-EZ=26
-DANIEL=27
-DN=27
-OSÉIAS=28
-OS=28
-JOEL=29
-JL=29
-AMÓS=30
-AM=30
-OBADIAS=31
-OB=31
-JONAS=32
-JN=32
-MIQUÉIAS=33
-MQ=33
-NAUM=34
-NA=34
-HABACUQUE=35
-HC=35
-SOFONIAS=36
-SF=36
-AGEU=37
-AG=37
-ZACARIAS=38
-ZC=38
-MALAQUIAS=39
-ML=39
-MATEUS=40
-MT=40
-MARCOS=41
-MC=41
-LUCAS=42
-LC=42
-JOÃO=43
-JO=43
-ATOS=44
-AT=44
-ROMANOS=45
-RM=45
-1 CORÍNTIOS=46
-1CO=46
-2 CORÍNTIOS=47
-2CO=47
-GÁLATAS=48
-GL=48
-EFÉSIOS=49
-EF=49
-FILIPENSES=50
-FL=50
-COLOSSENSES=51
-CL=51
-1 TESSALONICENSES=52
-1TE=52
-2 TESSALONICENSES=53
-2TE=53
-1 TIMÓTEO=54
-1TM=54
-2 TIMÓTEO=55
-2TM=55
-TITO=56
-TT=56
-FILEMON=57
-FM=57
-HEBREUS=58
-HB=58
-TIAGO=59
-TG=59
-1 PEDRO=60
-1PE=60
-2 PEDRO=61
-2PE=61
-1 JOÃO=62
-1JO=62
-2 JOÃO=63
-2JO=63
-3 JOÃO=64
-3JO=64
-JUDAS=65
-JD=65
-APOCALIPSE=66
-AP=66
+GÊNESIS=Gen
+GEN=Gen
+ÊXODO=Exod
+EX=Exod
+LEVÍTICO=Lev
+LV=Lev
+NÚMEROS=Num
+NM=Num
+DEUTERONÔMIO=Deut
+DT=Deut
+JOSUÉ=Josh
+JS=Josh
+JUÍZES=Judg
+JZ=Judg
+RUTE=Ruth
+RT=Ruth
+1 SAMUEL=1Sam
+1SM=1Sam
+2 SAMUEL=2Sam
+2SM=2Sam
+1 REIS=1Kgs
+1RE=1Kgs
+2 REIS=2Kgs
+2RE=2Kgs
+1 CRÔNICAS=1Chr
+1CR=1Chr
+2 CRÔNICAS=2Chr
+2CR=2Chr
+ESDRAS=Ezra
+ED=Ezra
+NEEMIAS=Neh
+NE=Neh
+ESTER=Esth
+ET=Esth
+JÓ=Job
+SALMOS=Ps
+SL=Ps
+PROVÉRBIOS=Prov
+PV=Prov
+ECLESIASTES=Eccl
+EC=Eccl
+Cântico dos Cânticos=Song
+CT=Song
+ISAÍAS=Isa
+IS=Isa
+JEREMIAS=Jer
+JR=Jer
+LAMENTAÇÕES=Lam
+LM=Lam
+EZEQUIEL=Ezek
+EZ=Ezek
+DANIEL=Dan
+DN=Dan
+OSÉIAS=Hos
+OS=Hos
+JOEL=Joel
+JL=Joel
+AMÓS=Amos
+AM=Amos
+OBADIAS=Obad
+OB=Obad
+JONAS=Jonah
+JN=Jonah
+MIQUÉIAS=Mic
+MQ=Mic
+NAUM=Nah
+NA=Nah
+HABACUQUE=Hab
+HC=Hab
+SOFONIAS=Zeph
+SF=Zeph
+AGEU=Hag
+AG=Hag
+ZACARIAS=Zech
+ZC=Zech
+MALAQUIAS=Mal
+ML=Mal
+MATEUS=Matt
+MT=Matt
+MARCOS=Mark
+MC=Mark
+LUCAS=Luke
+LC=Luke
+JOÃO=John
+JO=John
+ATOS=Acts
+AT=Acts
+ROMANOS=Rom
+RM=Rom
+1 CORÍNTIOS=1Cor
+1CO=1Cor
+2 CORÍNTIOS=2Cor
+2CO=2Cor
+GÁLATAS=Gal
+GL=Gal
+EFÉSIOS=Eph
+EF=Eph
+FILIPENSES=Phil
+FL=Phil
+COLOSSENSES=Col
+CL=Col
+1 TESSALONICENSES=1Thess
+1TE=1Thess
+2 TESSALONICENSES=2Thess
+2TE=2Thess
+1 TIMÓTEO=1Tim
+1TM=1Tim
+2 TIMÓTEO=2Tim
+2TM=2Tim
+TITO=Titus
+TT=Titus
+FILEMON=Phlm
+FM=Phlm
+HEBREUS=Heb
+HB=Heb
+TIAGO=Jas
+TG=Jas
+1 PEDRO=1Pet
+1PE=1Pet
+2 PEDRO=2Pet
+2PE=2Pet
+1 JOÃO=1John
+1JO=1John
+2 JOÃO=2John
+2JO=2John
+3 JOÃO=3John
+3JO=3John
+JUDAS=Jude
+JD=Jude
+APOCALIPSE=Rev
+AP=Rev
diff --git a/locales.d/ro-utf8.conf b/locales.d/ro-utf8.conf
new file mode 100644
index 0000000..87cd586
--- /dev/null
+++ b/locales.d/ro-utf8.conf
@@ -0,0 +1,147 @@
+#
+# Numele cartilor Bibliei in versiunea Cornilescu
+#
+# Artemis State arty@home.ro
+# multumiri lui Martin Gruner mg.pub@gmx.net
+
+[Meta]
+Name=ro
+Description=Romanian (Unicode)
+Encoding=UTF-8
+
+[Text]
+Genesis=Genesa
+Exodus=Exod
+Leviticus=Levitic
+Numbers=Numeri
+Deuteronomy=Deuteronom
+Joshua=Iosua
+Judges=Judecatori
+Ruth=Rut
+I Samuel=I Samuel
+II Samuel=II Samuel
+I Kings=I Regi
+II Kings=II Regi
+I Chronicles=I Cronici
+II Chronicles=II Cronici
+Ezra=Ezra
+Nehemiah=Neemia
+Esther=Estera
+Job=Iov
+Psalms=Psalmi
+Proverbs=Proverbe
+Ecclesiastes=Eclesiastul
+Song of Solomon=Cantarea Cantarilor
+Isaiah=Isaia
+Jeremiah=Ieremia
+Lamentations=Plangerile
+Ezekiel=Ezechiel
+Daniel=Daniel
+Hosea=Osea
+Joel=Ioel
+Amos=Amos
+Obadiah=Obadia
+Jonah=Iona
+Micah=Mica
+Nahum=Naum
+Habakkuk=Habacuc
+Zephaniah=Tefania
+Haggai=Hagai
+Zechariah=Zaharia
+Malachi=Maleachi
+Matthew=Matei
+Mark=Marcu
+Luke=Luca
+John=Ioan
+Acts=Faptele Apostolilor
+Romans=Romani
+I Corinthians=I Corinteni
+II Corinthians=II Corinteni
+Galatians=Galateni
+Ephesians=Efeseni
+Philippians=Filipeni
+Colossians=Coloseni
+I Thessalonians=I Tesaloniceni
+II Thessalonians=II Tesaloniceni
+I Timothy=I Timotei
+II Timothy=II Timotei
+Titus=Tit
+Philemon=Filimon
+Hebrews=Evrei
+James=Iacov
+I Peter=I Petru
+II Peter=II Petru
+I John=I Ioan
+II John=II Ioan
+III John=III Ioan
+Jude=Iuda
+Revelation of John=Apocalipsa
+
+[Book Abbrevs]
+
+GENESA=Gen
+EXOD=Exod
+LEVITIC=Lev
+NUMERI=Num
+DEUTERONOM=Deut
+IOSUA=Josh
+JUDECATORI=Judg
+RUT=Ruth
+I SAMUEL=1Sam
+II SAMUEL=2Sam
+I REGI=1Kgs
+II REGI=2Kgs
+I CRONICI=1Chr
+II CRONICI=2Chr
+EZRA=Ezra
+NEEMIA=Neh
+ESTERA=Esth
+IOV=Job
+PSALMI=Ps
+PROVERBE=Prov
+ECLESIASTUL=Eccl
+CANTAREA CANTARILOR=Song
+ISAIA=Isa
+IEREMIA=Jer
+PLANGERILE=Lam
+EZECHIEL=Ezek
+DANIEL=Dan
+OSEA=Hos
+IOEL=Joel
+AMOS=Amos
+OBADIA=Obad
+IONA=Jonah
+MICA=Mic
+NAUM=Nah
+HABACUC=Hab
+TEFANIA=Zeph
+HAGAI=Hag
+ZAHARIA=Zech
+MALEACHI=Mal
+MATEI=Matt
+MARCU=Mark
+LUCA=Luke
+IOAN=John
+FAPTELE APOSTOLILOR=Acts
+ROMANI=Rom
+I CORINTENI=1Cor
+II CORINTENI=2Cor
+GALATENI=Gal
+EFESENI=Eph
+FILIPENI=Phil
+COLOSENI=Col
+I TESALONICENI=1Thess
+II TESALONICENI=2Thess
+I TIMOTEI=1Tim
+II TIMOTEI=2Tim
+TIT=Titus
+FILIMON=Phlm
+EVREI=Heb
+IACOV=Jas
+I PETRU=1Pet
+II PETRU=2Pet
+I IOAN=1John
+II IOAN=2John
+III IOAN=3John
+IUDA=Jude
+APOCALIPSA=Rev
diff --git a/locales.d/ro.conf b/locales.d/ro.conf
index c233431..b10fc5f 100644
--- a/locales.d/ro.conf
+++ b/locales.d/ro.conf
@@ -7,7 +7,7 @@
[Meta]
Name=ro
Description=Romanian
-Encoding=ASCII
+Encoding=ISO8859-1
[Text]
Genesis=Genesa
@@ -78,253 +78,70 @@ Jude=Iuda
Revelation of John=Apocalipsa
[Book Abbrevs]
-1 C=46
-1 CHRONICLES=13
-1 CORINTHIANS=46
-1 JN=62
-1 JOHN=62
-1 KGS=11
-1 KINGS=11
-1 PETER=60
-1 PTR=60
-1 SAMUEL=9
-1 THESSALONIANS=52
-1 TIMOTHY=54
-1C=46
-1CHRONICLES=13
-1CORINTHIANS=46
-1JN=62
-1JOHN=62
-1KGS=11
-1KINGS=11
-1PETER=60
-1PTR=60
-1SAMUEL=9
-1THESSALONIANS=52
-1TIMOTHY=54
-2 C=47
-2 CHRONICLES=14
-2 CORINTHIANS=47
-2 JN=63
-2 JOHN=63
-2 KGS=12
-2 KINGS=12
-2 PETER=61
-2 PTR=61
-2 SAMUEL=10
-2 THESSALONIANS=53
-2 TIMOTHY=55
-2C=47
-2CHRONICLES=14
-2CORINTHIANS=47
-2JN=63
-2JOHN=63
-2KGS=12
-2KINGS=12
-2PETER=61
-2PTR=61
-2SAMUEL=10
-2THESSALONIANS=53
-2TIMOTHY=55
-3 JN=64
-3 JOHN=64
-3JN=64
-3JOHN=64
-ACTS=44
-AMOS=30
-APOCALYPSE OF ST. JOHN=66
-C=51
-CANTICLE OF CANTICLES=22
-COC=22
-COLOSSIANS=51
-D=5
-DANIEL=27
-DEUTERONOMY=5
-E=49
-ECCLESIASTES=21
-EPHESIANS=49
-ESTER=17
-ESTHER=17
-EXODUS=2
-EZEKIEL=26
-EZRA=15
-G=1
-GALATIANS=48
-GENESIS=1
-H=58
-HABAKKUK=35
-HAGGAI=37
-HEBREWS=58
-HOSEA=28
-I C=46
-I CHRONICLES=13
-I CORINTHIANS=46
-I JN=62
-I JOHN=62
-I KGS=11
-I KINGS=11
-I PETER=60
-I PTR=60
-I SAMUEL=9
-I THESSALONIANS=52
-I TIMOTHY=54
-IC=46
-ICHRONICLES=13
-ICORINTHIANS=46
-II C=47
-II CHRONICLES=14
-II CORINTHIANS=47
-II JN=63
-II JOHN=63
-II KGS=12
-II KINGS=12
-II PETER=61
-II PTR=61
-II SAMUEL=10
-II THESSALONIANS=53
-II TIMOTHY=55
-IIC=47
-IICHRONICLES=14
-IICORINTHIANS=47
-III JN=64
-III JOHN=64
-IIIJN=64
-IIIJOHN=64
-IIJN=63
-IIJOHN=63
-IIKGS=12
-IIKINGS=12
-IIPETER=61
-IIPTR=61
-IISAMUEL=10
-IITHESSALONIANS=53
-IITIMOTHY=55
-IJN=62
-IJOHN=62
-IKGS=11
-IKINGS=11
-IPETER=60
-IPTR=60
-ISA=23
-ISAIAH=23
-ISAMUEL=9
-ITHESSALONIANS=52
-ITIMOTHY=54
-J=43
-JAMES=59
-JAS=59
-JEREMIAH=24
-JN=43
-JO=43
-JOB=18
-JOEL=29
-JOHN=43
-JONAH=32
-JOSHUA=6
-JUD=7
-JUDE=65
-JUDGES=7
-L=42
-LAMENTATIONS=25
-LEVITICUS=3
-LK=42
-LUKE=42
-MA=40
-MALACHI=39
-MARK=41
-MATTHEW=40
-MICAH=33
-MK=41
-MR=41
-MT=40
-N=4
-NAHUM=34
-NEHEMIAH=16
-NUMBERS=4
-OBADIAH=31
-P=19
-PH=50
-PHILEMON=57
-PHILIPPIANS=50
-PHM=57
-PHP=50
-PROVERBS=20
-PSALMS=19
-PSM=19
-PSS=19
-REVELATION OF JOHN=66
-ROMANS=45
-RUTH=8
-SONG OF SOLOMON=22
-SONG OF SONGS=22
-SOS=22
-TITUS=56
-ZECHARIAH=38
-ZEPHANIAH=36
-GENESA=1
-EXOD=2
-LEVITIC=3
-NUMERI=4
-DEUTERONOM=5
-IOSUA=6
-JUDECATORI=7
-RUT=8
-I SAMUEL=9
-II SAMUEL=10
-I REGI=11
-II REGI=12
-I CRONICI=13
-II CRONICI=14
-EZRA=15
-NEEMIA=16
-ESTERA=17
-IOV=18
-PSALMI=19
-PROVERBE=20
-ECLESIASTUL=21
-CANTAREA CANTARILOR=22
-ISAIA=23
-IEREMIA=24
-PLANGERILE=25
-EZECHIEL=26
-DANIEL=27
-OSEA=28
-IOEL=29
-AMOS=30
-OBADIA=31
-IONA=32
-MICA=33
-NAUM=34
-HABACUC=35
-TEFANIA=36
-HAGAI=37
-ZAHARIA=38
-MALEACHI=39
-MATEI=40
-MARCU=41
-LUCA=42
-IOAN=43
-FAPTELE APOSTOLILOR=44
-ROMANI=45
-I CORINTENI=46
-II CORINTENI=47
-GALATENI=48
-EFESENI=49
-FILIPENI=50
-COLOSENI=51
-I TESALONICENI=52
-II TESALONICENI=53
-I TIMOTEI=54
-II TIMOTEI=55
-TIT=56
-FILIMON=57
-EVREI=58
-IACOV=59
-I PETRU=60
-II PETRU=61
-I IOAN=62
-II IOAN=63
-III IOAN=64
-IUDA=65
-APOCALIPSA=66
+GENESA=Gen
+EXOD=Exod
+LEVITIC=Lev
+NUMERI=Num
+DEUTERONOM=Deut
+IOSUA=Josh
+JUDECATORI=Judg
+RUT=Ruth
+I SAMUEL=1Sam
+II SAMUEL=2Sam
+I REGI=1Kgs
+II REGI=2Kgs
+I CRONICI=1Chr
+II CRONICI=2Chr
+EZRA=Ezra
+NEEMIA=Neh
+ESTERA=Esth
+IOV=Job
+PSALMI=Ps
+PROVERBE=Prov
+ECLESIASTUL=Eccl
+CANTAREA CANTARILOR=Song
+ISAIA=Isa
+IEREMIA=Jer
+PLANGERILE=Lam
+EZECHIEL=Ezek
+DANIEL=Dan
+OSEA=Hos
+IOEL=Joel
+AMOS=Amos
+OBADIA=Obad
+IONA=Jonah
+MICA=Mic
+NAUM=Nah
+HABACUC=Hab
+TEFANIA=Zeph
+HAGAI=Hag
+ZAHARIA=Zech
+MALEACHI=Mal
+MATEI=Matt
+MARCU=Mark
+LUCA=Luke
+IOAN=John
+FAPTELE APOSTOLILOR=Acts
+ROMANI=Rom
+I CORINTENI=1Cor
+II CORINTENI=2Cor
+GALATENI=Gal
+EFESENI=Eph
+FILIPENI=Phil
+COLOSENI=Col
+I TESALONICENI=1Thess
+II TESALONICENI=2Thess
+I TIMOTEI=1Tim
+II TIMOTEI=2Tim
+TIT=Titus
+FILIMON=Phlm
+EVREI=Heb
+IACOV=Jas
+I PETRU=1Pet
+II PETRU=2Pet
+I IOAN=1John
+II IOAN=2John
+III IOAN=3John
+IUDA=Jude
+APOCALIPSA=Rev
diff --git a/locales.d/ru_RU-cp1251.conf b/locales.d/ru_RU-cp1251.conf
index c93e0ac..d70ea52 100755
--- a/locales.d/ru_RU-cp1251.conf
+++ b/locales.d/ru_RU-cp1251.conf
@@ -4,8 +4,8 @@
# Pavlo Bohmat bohm@ukr.net
[Meta]
-Name=ru_RU-cp1251
-Description=Russian (cp1251)
+Name=ru_RU-cp1251
+Description=Russian (CP1251)
Encoding=CP1251
[Text]
@@ -77,665 +77,481 @@ Jude=Èóäû
Revelation of John=Îòêðîâåíèå
[Book Abbrevs]
-1 C=46
-1 CHRONICLES=13
-1 CORINTHIANS=46
-1 JN=62
-1 JOHN=62
-1 KGS=11
-1 KINGS=11
-1 PETER=60
-1 PTR=60
-1 SAMUEL=9
-1 THESSALONIANS=52
-1 TIMOTHY=54
-1C=46
-1CHRONICLES=13
-1CORINTHIANS=46
-1JN=62
-1JOHN=62
-1KGS=11
-1KINGS=11
-1PETER=60
-1PTR=60
-1SAMUEL=9
-1THESSALONIANS=52
-1TIMOTHY=54
-2 C=47
-2 CHRONICLES=14
-2 CORINTHIANS=47
-2 JN=63
-2 JOHN=63
-2 KGS=12
-2 KINGS=12
-2 PETER=61
-2 PTR=61
-2 SAMUEL=10
-2 THESSALONIANS=53
-2 TIMOTHY=55
-2C=47
-2CHRONICLES=14
-2CORINTHIANS=47
-2JN=63
-2JOHN=63
-2KGS=12
-2KINGS=12
-2PETER=61
-2PTR=61
-2SAMUEL=10
-2THESSALONIANS=53
-2TIMOTHY=55
-3 JN=64
-3 JOHN=64
-3JN=64
-3JOHN=64
-ACTS=44
-AMOS=30
-APOCALYPSE OF ST. JOHN=66
-C=51
-CANTICLE OF CANTICLES=22
-COC=22
-COLOSSIANS=51
-D=5
-DANIEL=27
-DEUTERONOMY=5
-E=49
-ECCLESIASTES=21
-EPHESIANS=49
-ESTER=17
-ESTHER=17
-EXODUS=2
-EZEKIEL=26
-EZRA=15
-G=1
-GALATIANS=48
-GENESIS=1
-H=58
-HABAKKUK=35
-HAGGAI=37
-HEBREWS=58
-HOSEA=28
-I C=46
-I CHRONICLES=13
-I CORINTHIANS=46
-I JN=62
-I JOHN=62
-I KGS=11
-I KINGS=11
-I PETER=60
-I PTR=60
-I SAMUEL=9
-I THESSALONIANS=52
-I TIMOTHY=54
-IC=46
-ICHRONICLES=13
-ICORINTHIANS=46
-II C=47
-II CHRONICLES=14
-II CORINTHIANS=47
-II JN=63
-II JOHN=63
-II KGS=12
-II KINGS=12
-II PETER=61
-II PTR=61
-II SAMUEL=10
-II THESSALONIANS=53
-II TIMOTHY=55
-IIC=47
-IICHRONICLES=14
-IICORINTHIANS=47
-III JN=64
-III JOHN=64
-IIIJN=64
-IIIJOHN=64
-IIJN=63
-IIJOHN=63
-IIKGS=12
-IIKINGS=12
-IIPETER=61
-IIPTR=61
-IISAMUEL=10
-IITHESSALONIANS=53
-IITIMOTHY=55
-IJN=62
-IJOHN=62
-IKGS=11
-IKINGS=11
-IPETER=60
-IPTR=60
-ISA=23
-ISAIAH=23
-ISAMUEL=9
-ITHESSALONIANS=52
-ITIMOTHY=54
-J=43
-JAMES=59
-JAS=59
-JEREMIAH=24
-JN=43
-JO=43
-JOB=18
-JOEL=29
-JOHN=43
-JONAH=32
-JOSHUA=6
-JUD=7
-JUDE=65
-JUDGES=7
-L=42
-LAMENTATIONS=25
-LEVITICUS=3
-LK=42
-LUKE=42
-MA=40
-MALACHI=39
-MARK=41
-MATTHEW=40
-MICAH=33
-MK=41
-MR=41
-MT=40
-N=4
-NAHUM=34
-NEHEMIAH=16
-NUMBERS=4
-OBADIAH=31
-P=19
-PH=50
-PHILEMON=57
-PHILIPPIANS=50
-PHLM=57
-PHM=57
-PHP=50
-PROVERBS=20
-PSALMS=19
-PSM=19
-PSS=19
-REVELATION OF JOHN=66
-ROMANS=45
-RUTH=8
-SONG OF SOLOMON=22
-SONG OF SONGS=22
-SOS=22
-TITUS=56
-ZECHARIAH=38
-ZEPHANIAH=36
-1Ì=1
-1Ì.=1
-áûò=1
-áûò.=1
-Áûò=1
-Áûò.=1
-áûòèå=1
-Áûòèå=1
-2Ì=2
-2Ì.=2
-èñõ=2
-èñõ.=2
-Èñõ=2
-Èñõ.=2
-èñõîä=2
-Èñõîä=2
-3Ì=3
-3Ì.=3
-ëåâ=3
-ëåâ.=3
-Ëåâ=3
-Ëåâ.=3
-ëåâèò=3
-Ëåâèò=3
-4Ì=4
-4Ì.=4
-÷èñ=4
-÷èñ.=4
-×èñ=4
-×èñ.=4
-÷èñëà=4
-×èñëà=4
-5Ì=5
-5Ì.=5
-âòîð=5
-âòîð.=5
-Âòîð=5
-Âòîð.=5
-Âòîðîçàêîíèå=5
-èèñ.íàâ.=6
-åãîøóè=6
-Åãîøóè=6
-åã=6
-åã.=6
-èèñóñ íàâèí=6
-Èèñóñ Íàâèí=6
-ñóä=7
-ñóä.=7
-ñóäüè=7
-Ñóäüè=7
-ðóô=8
-ðóô.=8
-ðóôü=8
-Ðóôü=8
+1Ì=Gen
+1Ì.=Gen
+áûò=Gen
+áûò.=Gen
+Áûò=Gen
+Áûò.=Gen
+áûòèå=Gen
+Áûòèå=Gen
+2Ì=Exod
+2Ì.=Exod
+èñõ=Exod
+èñõ.=Exod
+Èñõ=Exod
+Èñõ.=Exod
+èñõîä=Exod
+Èñõîä=Exod
+3Ì=Lev
+3Ì.=Lev
+ëåâ=Lev
+ëåâ.=Lev
+Ëåâ=Lev
+Ëåâ.=Lev
+ëåâèò=Lev
+Ëåâèò=Lev
+4Ì=Num
+4Ì.=Num
+÷èñ=Num
+÷èñ.=Num
+×èñ=Num
+×èñ.=Num
+÷èñëà=Num
+×èñëà=Num
+5Ì=Deut
+5Ì.=Deut
+âòîð=Deut
+âòîð.=Deut
+Âòîð=Deut
+Âòîð.=Deut
+Âòîðîçàêîíèå=Deut
+èèñ.íàâ.=Josh
+åãîøóè=Josh
+Åãîøóè=Josh
+åã=Josh
+åã.=Josh
+èèñóñ íàâèí=Josh
+Èèñóñ Íàâèí=Josh
+ñóä=Judg
+ñóä.=Judg
+ñóäüè=Judg
+Ñóäüè=Judg
+ðóô=Ruth
+ðóô.=Ruth
+ðóôü=Ruth
+Ðóôü=Ruth
-1. Öàðñòâ=9
-1 Öàðñòâ=9
-1Öàðñòâ=9
-1öàð=9
-1öàð.=9
-1 öàð=9
-1 öàð.=9
-1Öàð=9
-1Öàð.=9
-1 Öàð=9
-1 Öàð.=9
+1. Öàðñòâ=1Sam
+1 Öàðñòâ=1Sam
+1Öàðñòâ=1Sam
+1öàð=1Sam
+1öàð.=1Sam
+1 öàð=1Sam
+1 öàð.=1Sam
+1Öàð=1Sam
+1Öàð.=1Sam
+1 Öàð=1Sam
+1 Öàð.=1Sam
-2. Öàðñòâ=10
-2 Öàðñòâ=10
-2Öàðñòâ=10
-2öàð=10
-2öàð.=10
-2 öàð=10
-2 öàð.=10
-2Öàð=10
-2Öàð.=10
-2 Öàð=10
-2 Öàð.=10
+2. Öàðñòâ=2Sam
+2 Öàðñòâ=2Sam
+2Öàðñòâ=2Sam
+2öàð=2Sam
+2öàð.=2Sam
+2 öàð=2Sam
+2 öàð.=2Sam
+2Öàð=2Sam
+2Öàð.=2Sam
+2 Öàð=2Sam
+2 Öàð.=2Sam
-3. Öàðñòâ=11
-3 Öàðñòâ=11
-3Öàðñòâ=11
-3öàð=11
-3öàð.=11
-3 öàð=11
-3 öàð.=11
-3Öàð=11
-3Öàð.=11
-3 Öàð=11
-3 Öàð.=11
+3. Öàðñòâ=1Kgs
+3 Öàðñòâ=1Kgs
+3Öàðñòâ=1Kgs
+3öàð=1Kgs
+3öàð.=1Kgs
+3 öàð=1Kgs
+3 öàð.=1Kgs
+3Öàð=1Kgs
+3Öàð.=1Kgs
+3 Öàð=1Kgs
+3 Öàð.=1Kgs
-4. Öàðñòâ=12
-4 Öàðñòâ=12
-4Öàðñòâ=12
-4öàð=12
-4öàð.=12
-4 öàð=12
-4 öàð.=12
-4Öàð=12
-4Öàð.=12
-4 Öàð=12
-4 Öàð.=12
+4. Öàðñòâ=2Kgs
+4 Öàðñòâ=2Kgs
+4Öàðñòâ=2Kgs
+4öàð=2Kgs
+4öàð.=2Kgs
+4 öàð=2Kgs
+4 öàð.=2Kgs
+4Öàð=2Kgs
+4Öàð.=2Kgs
+4 Öàð=2Kgs
+4 Öàð.=2Kgs
-1. Ïàðàëèïîìåíîí=13
-1 Ïàðàëèïîìåíîí=13
-1Ïàðàëèïîìåíîí=13
-1ïàð=13
-1ïàð.=13
-1 ïàð=13
-1 ïàð.=13
-1 Ïàð=13
-1 Ïàð.=13
+1. Ïàðàëèïîìåíîí=1Chr
+1 Ïàðàëèïîìåíîí=1Chr
+1Ïàðàëèïîìåíîí=1Chr
+1ïàð=1Chr
+1ïàð.=1Chr
+1 ïàð=1Chr
+1 ïàð.=1Chr
+1 Ïàð=1Chr
+1 Ïàð.=1Chr
-2. Ïàðàëèïîìåíîí=14
-2 Ïàðàëèïîìåíîí=14
-2Ïàðàëèïîìåíîí=14
-2ïàð=14
-2ïàð.=14
-2 ïàð=14
-2 ïàð.=14
-2Ïàð=14
-2Ïàð.=14
-2 Ïàð=14
-2 Ïàð.=14
+2. Ïàðàëèïîìåíîí=2Chr
+2 Ïàðàëèïîìåíîí=2Chr
+2Ïàðàëèïîìåíîí=2Chr
+2ïàð=2Chr
+2ïàð.=2Chr
+2 ïàð=2Chr
+2 ïàð.=2Chr
+2Ïàð=2Chr
+2Ïàð.=2Chr
+2 Ïàð=2Chr
+2 Ïàð.=2Chr
-åçäð=15
-åçäð.=15
-Åçäð=15
-Åçäð.=15
-åçä=15
-åçä.=15
-Åçä=15
-Åçä.=15
-Åçäðà=15
-íååì=16
-íååì.=16
-Íååì=16
-Íååì.=16
-Íååìèÿ=16
-åñô=17
-åñô.=17
-Åñô=17
-Åñô.=17
-Åñôèðü=17
-èîâ=18
-èîâ.=18
-Èîâ=18
-ïñ=19
-ïñ.=19
-Ïñ=19
-Ïñ.=19
-Ïñàëòèðü=19
-ïðèò=20
-ïðèò.=20
-Ïðèò=20
-Ïðèò.=20
-Ïðèò÷è=20
-åêêë=21
-åêêë.=21
-Åêêë=21
-Åêêë.=21
-Åêêëåñèàñò=21
-ïåñí=22
-ïåñí.=22
-Ïåñí=22
-Ïåñí.=22
-Ïåñíÿ Ïåñíåé=22
-èñ=23
-èñ.=23
-Èñ=23
-Èñ.=23
-Èñàèÿ=23
-èåð=24
-èåð.=24
-Èåð=24
-Èåð.=24
-Èåðåìèÿ=24
-ïëà÷=25
-ïëà÷.=25
-Ïëà÷=25
-Ïëà÷.=25
-Ïëà÷ Èåðåìèè=25
-èåç=26
-èåç.=26
-Èåç=26
-Èåç.=26
-Èåçåêèèëü=26
-äàí=27
-äàí.=27
-Äàí=27
-Äàí.=27
-Äàíèèë=27
-îñ=28
-îñ.=28
-Îñ=28
-Îñ.=28
-Îñèÿ=28
-èîèë=29
-èîèë.=29
-Èîèë=29
-Èîèë.=29
-Èîèëü=29
-àì=30
-àì.=30
-Àì=30
-Àì.=30
-àìîñ=30
-Àìîñ=30
-àâä.=31
-Àâäèé=31
-àâä=31
-èîí=32
-èîí.=32
-Èîí=32
-Èîí.=32
-Èîíà=32
-ìèõ=33
-ìèõ.=33
-Ìèõ=33
-Ìèõ.=33
-Ìèõåé=33
-íàóì=34
-íàóì.=34
-Íàóì=34
-àââ=35
-àââ.=35
-Àââ=35
-Àââ.=35
-Àââàêóì=35
-ñîô=36
-ñîô.=36
-Ñîô=36
-Ñîô.=36
-Ñîôîíèÿ=36
-àãã=37
-àãã.=37
-Àãã=37
-Àãã.=37
-Àããåé=37
-çàõ=38
-çàõ.=38
-Çàõ=38
-Çàõ.=38
-Çàõàðèÿ=38
-ìàë=39
-ìàë.=39
-Ìàë=39
-Ìàë.=39
-Ìàëàõèÿ=39
-ìàòô=40
-ìàòô.=40
-ìô=40
-ìô.=40
-Ìô=40
-Ìô.=40
-Îò Ìàòôåÿ=40
-ìàð=41
-ìàð.=41
-ìê=41
-ìê.=41
-Ìê=41
-Ìê.=41
-Îò Ìàðêà=41
-ëóê=42
-ëóê.=42
-ëê=42
-ëê.=42
-Ëê=42
-Ëê.=42
-Îò Ëóêè=42
-èîàí=43
-èîàí.=43
-èí=43
-èí.=43
-Èí=43
-Èí.=43
-Îò Èîàííà=43
-äåÿí=44
-äåÿí.=44
-Äåÿí=44
-Äåÿí.=44
-Äåÿíèÿ=44
-ðèì=45
-ðèì.=45
-Ðèì=45
-Ðèì.=45
-Ê Ðèìëÿíàì=45
+åçäð=Ezra
+åçäð.=Ezra
+Åçäð=Ezra
+Åçäð.=Ezra
+åçä=Ezra
+åçä.=Ezra
+Åçä=Ezra
+Åçä.=Ezra
+Åçäðà=Ezra
+íååì=Neh
+íååì.=Neh
+Íååì=Neh
+Íååì.=Neh
+Íååìèÿ=Neh
+åñô=Esth
+åñô.=Esth
+Åñô=Esth
+Åñô.=Esth
+Åñôèðü=Esth
+èîâ=Job
+èîâ.=Job
+Èîâ=Job
+ïñ=Ps
+ïñ.=Ps
+Ïñ=Ps
+Ïñ.=Ps
+Ïñàëòèðü=Ps
+ïðèò=Prov
+ïðèò.=Prov
+Ïðèò=Prov
+Ïðèò.=Prov
+Ïðèò÷è=Prov
+åêêë=Eccl
+åêêë.=Eccl
+Åêêë=Eccl
+Åêêë.=Eccl
+Åêêëåñèàñò=Eccl
+ïåñí=Song
+ïåñí.=Song
+Ïåñí=Song
+Ïåñí.=Song
+Ïåñíÿ Ïåñíåé=Song
+èñ=Isa
+èñ.=Isa
+Èñ=Isa
+Èñ.=Isa
+Èñàèÿ=Isa
+èåð=Jer
+èåð.=Jer
+Èåð=Jer
+Èåð.=Jer
+Èåðåìèÿ=Jer
+ïëà÷=Lam
+ïëà÷.=Lam
+Ïëà÷=Lam
+Ïëà÷.=Lam
+Ïëà÷ Èåðåìèè=Lam
+èåç=Ezek
+èåç.=Ezek
+Èåç=Ezek
+Èåç.=Ezek
+Èåçåêèèëü=Ezek
+äàí=Dan
+äàí.=Dan
+Äàí=Dan
+Äàí.=Dan
+Äàíèèë=Dan
+îñ=Hos
+îñ.=Hos
+Îñ=Hos
+Îñ.=Hos
+Îñèÿ=Hos
+èîèë=Joel
+èîèë.=Joel
+Èîèë=Joel
+Èîèë.=Joel
+Èîèëü=Joel
+àì=Amos
+àì.=Amos
+Àì=Amos
+Àì.=Amos
+àìîñ=Amos
+Àìîñ=Amos
+àâä.=Obad
+Àâäèé=Obad
+àâä=Obad
+èîí=Jonah
+èîí.=Jonah
+Èîí=Jonah
+Èîí.=Jonah
+Èîíà=Jonah
+ìèõ=Mic
+ìèõ.=Mic
+Ìèõ=Mic
+Ìèõ.=Mic
+Ìèõåé=Mic
+íàóì=Nah
+íàóì.=Nah
+Íàóì=Nah
+àââ=Hab
+àââ.=Hab
+Àââ=Hab
+Àââ.=Hab
+Àââàêóì=Hab
+ñîô=Zeph
+ñîô.=Zeph
+Ñîô=Zeph
+Ñîô.=Zeph
+Ñîôîíèÿ=Zeph
+àãã=Hag
+àãã.=Hag
+Àãã=Hag
+Àãã.=Hag
+Àããåé=Hag
+çàõ=Zech
+çàõ.=Zech
+Çàõ=Zech
+Çàõ.=Zech
+Çàõàðèÿ=Zech
+ìàë=Mal
+ìàë.=Mal
+Ìàë=Mal
+Ìàë.=Mal
+Ìàëàõèÿ=Mal
+ìàòô=Matt
+ìàòô.=Matt
+ìô=Matt
+ìô.=Matt
+Ìô=Matt
+Ìô.=Matt
+Îò Ìàòôåÿ=Matt
+ìàð=Mark
+ìàð.=Mark
+ìê=Mark
+ìê.=Mark
+Ìê=Mark
+Ìê.=Mark
+Îò Ìàðêà=Mark
+ëóê=Luke
+ëóê.=Luke
+ëê=Luke
+ëê.=Luke
+Ëê=Luke
+Ëê.=Luke
+Îò Ëóêè=Luke
+èîàí=John
+èîàí.=John
+èí=John
+èí.=John
+Èí=John
+Èí.=John
+Îò Èîàííà=John
+äåÿí=Acts
+äåÿí.=Acts
+Äåÿí=Acts
+Äåÿí.=Acts
+Äåÿíèÿ=Acts
+ðèì=Rom
+ðèì.=Rom
+Ðèì=Rom
+Ðèì.=Rom
+Ê Ðèìëÿíàì=Rom
-1. Êîðèíôÿíàì=46
-1 Êîðèíôÿíàì=46
-1Êîðèíôÿíàì=46
-1êîð=46
-1êîð.=46
-1 êîð=46
-1 êîð.=46
-1Êîð=46
-1Êîð.=46
-1 Êîð=46
-1 Êîð.=46
+1. Êîðèíôÿíàì=1Cor
+1 Êîðèíôÿíàì=1Cor
+1Êîðèíôÿíàì=1Cor
+1êîð=1Cor
+1êîð.=1Cor
+1 êîð=1Cor
+1 êîð.=1Cor
+1Êîð=1Cor
+1Êîð.=1Cor
+1 Êîð=1Cor
+1 Êîð.=1Cor
-2. Êîðèíôÿíàì=47
-2 Êîðèíôÿíàì=47
-2Êîðèíôÿíàì=47
-2êîð=47
-2êîð.=47
-2 êîð=47
-2 êîð.=47
-2Êîð=47
-2Êîð.=47
-2 Êîð=47
-2 Êîð.=47
+2. Êîðèíôÿíàì=2Cor
+2 Êîðèíôÿíàì=2Cor
+2Êîðèíôÿíàì=2Cor
+2êîð=2Cor
+2êîð.=2Cor
+2 êîð=2Cor
+2 êîð.=2Cor
+2Êîð=2Cor
+2Êîð.=2Cor
+2 Êîð=2Cor
+2 Êîð.=2Cor
-ãàë=48
-ãàë.=48
-Ãàë=48
-Ãàë.=48
-Ê Ãàëàòàì=48
-åô=49
-åô.=49
-Åô=49
-Åô.=49
-Ê Åôåñÿíàì=49
-ôèë=50
-ôèë.=50
-Ôèë=50
-Ôèë.=50
-ôëï=50
-ôëï.=50
-Ôëï=50
-Ôëï.=50
-Ê Ôèëèïïèéöàì=50
-Ê Êîëîññÿíàì=51
-êîë=51
-êîë.=51
-Êîë=51
-Êîë.=51
+ãàë=Gal
+ãàë.=Gal
+Ãàë=Gal
+Ãàë.=Gal
+Ê Ãàëàòàì=Gal
+åô=Eph
+åô.=Eph
+Åô=Eph
+Åô.=Eph
+Ê Åôåñÿíàì=Eph
+ôèë=Phil
+ôèë.=Phil
+Ôèë=Phil
+Ôèë.=Phil
+ôëï=Phil
+ôëï.=Phil
+Ôëï=Phil
+Ôëï.=Phil
+Ê Ôèëèïïèéöàì=Phil
+Ê Êîëîññÿíàì=Col
+êîë=Col
+êîë.=Col
+Êîë=Col
+Êîë.=Col
-1. Ôåññàëîíèêèéöàì=52
-1 Ôåññàëîíèêèéöàì=52
-1Ôåññàëîíèêèéöàì=52
-1ôåñ=52
-1ôåñ.=52
-1 ôåñ=52
-1 ôåñ.=52
-1 Ôåñ=52
-1 Ôåñ.=52
+1. Ôåññàëîíèêèéöàì=1Thess
+1 Ôåññàëîíèêèéöàì=1Thess
+1Ôåññàëîíèêèéöàì=1Thess
+1ôåñ=1Thess
+1ôåñ.=1Thess
+1 ôåñ=1Thess
+1 ôåñ.=1Thess
+1 Ôåñ=1Thess
+1 Ôåñ.=1Thess
-2. Ôåññàëîíèêèéöàì=53
-2 Ôåññàëîíèêèéöàì=53
-2Ôåññàëîíèêèéöàì=53
-2ôåñ=53
-2ôåñ.=53
-2 ôåñ=53
-2 ôåñ.=53
-2Ôåñ=53
-2Ôåñ.=53
-2 Ôåñ=53
-2 Ôåñ.=53
+2. Ôåññàëîíèêèéöàì=2Thess
+2 Ôåññàëîíèêèéöàì=2Thess
+2Ôåññàëîíèêèéöàì=2Thess
+2ôåñ=2Thess
+2ôåñ.=2Thess
+2 ôåñ=2Thess
+2 ôåñ.=2Thess
+2Ôåñ=2Thess
+2Ôåñ.=2Thess
+2 Ôåñ=2Thess
+2 Ôåñ.=2Thess
-1. Òèìîôåþ=54
-1 Òèìîôåþ=54
-1Òèìîôåþ=54
-1òèì=54
-1òèì.=54
-1 òèì=54
-1 òèì.=54
-1Òèì=54
-1Òèì.=54
-1 Òèì=54
-1 Òèì.=54
+1. Òèìîôåþ=1Tim
+1 Òèìîôåþ=1Tim
+1Òèìîôåþ=1Tim
+1òèì=1Tim
+1òèì.=1Tim
+1 òèì=1Tim
+1 òèì.=1Tim
+1Òèì=1Tim
+1Òèì.=1Tim
+1 Òèì=1Tim
+1 Òèì.=1Tim
-2. Òèìîôåþ=55
-2 Òèìîôåþ=55
-2Òèìîôåþ=55
-2òèì=55
-2òèì.=55
-2 òèì=55
-2 òèì.=55
-2Òèì=55
-2Òèì.=55
-2 Òèì=55
-2 Òèì.=55
+2. Òèìîôåþ=2Tim
+2 Òèìîôåþ=2Tim
+2Òèìîôåþ=2Tim
+2òèì=2Tim
+2òèì.=2Tim
+2 òèì=2Tim
+2 òèì.=2Tim
+2Òèì=2Tim
+2Òèì.=2Tim
+2 Òèì=2Tim
+2 Òèì.=2Tim
-Ê Òèòó=56
-òèò=56
-òèò.=56
-Òèò=56
-Òèò.=56
-ôëì=57
-ôëì.=57
-Ôëì=57
-Ôëì.=57
-Ê Ôèëèìîíó=57
-åâð.=58
-åâð=58
-Åâð=58
-Åâð.=58
-Ê Åâðåÿì=58
-èàê=59
-èàê.=59
-Èàê=59
-Èàê.=59
-èàêîâà=59
-Èàêîâà=59
+Ê Òèòó=Titus
+òèò=Titus
+òèò.=Titus
+Òèò=Titus
+Òèò.=Titus
+ôëì=Phlm
+ôëì.=Phlm
+Ôëì=Phlm
+Ôëì.=Phlm
+Ê Ôèëèìîíó=Phlm
+åâð.=Heb
+åâð=Heb
+Åâð=Heb
+Åâð.=Heb
+Ê Åâðåÿì=Heb
+èàê=Jas
+èàê.=Jas
+Èàê=Jas
+Èàê.=Jas
+èàêîâà=Jas
+Èàêîâà=Jas
-1. Ïåòðà=60
-1 Ïåòðà=60
-1Ïåòðà=60
-1ïåò=60
-1ïåò.=60
-1 ïåò=60
-1 ïåò.=60
-1Ïåò=60
-1Ïåò.=60
-1 Ïåò=60
-1 Ïåò.=60
+1. Ïåòðà=1Pet
+1 Ïåòðà=1Pet
+1Ïåòðà=1Pet
+1ïåò=1Pet
+1ïåò.=1Pet
+1 ïåò=1Pet
+1 ïåò.=1Pet
+1Ïåò=1Pet
+1Ïåò.=1Pet
+1 Ïåò=1Pet
+1 Ïåò.=1Pet
-2. Ïåòðà=61
-2 Ïåòðà=61
-2Ïåòðà=61
-2ïåò=61
-2ïåò.=61
-2 ïåò=61
-2 ïåò.=61
-2Ïåò=61
-2Ïåò.=61
-2 Ïåò=61
-2 Ïåò.=61
+2. Ïåòðà=2Pet
+2 Ïåòðà=2Pet
+2Ïåòðà=2Pet
+2ïåò=2Pet
+2ïåò.=2Pet
+2 ïåò=2Pet
+2 ïåò.=2Pet
+2Ïåò=2Pet
+2Ïåò.=2Pet
+2 Ïåò=2Pet
+2 Ïåò.=2Pet
-1. Èîàííà=62
-1 Èîàííà=62
-1Èîàííà=62
-1èîàí=62
-1èîàí.=62
-1èí=62
-1èí.=62
-1 èí=62
-1 èí.=62
-1Èí=62
-1Èí.=62
-1 Èí=62
-1 Èí.=62
+1. Èîàííà=1John
+1 Èîàííà=1John
+1Èîàííà=1John
+1èîàí=1John
+1èîàí.=1John
+1èí=1John
+1èí.=1John
+1 èí=1John
+1 èí.=1John
+1Èí=1John
+1Èí.=1John
+1 Èí=1John
+1 Èí.=1John
-2. Èîàííà=63
-2 Èîàííà=63
-2Èîàííà=63
-2èîàí=63
-2èîàí.=63
-2èí=63
-2èí.=63
-2 èí=63
-2 èí.=63
-2Èí=63
-2Èí.=63
-2 Èí=63
-2 Èí.=63
+2. Èîàííà=2John
+2 Èîàííà=2John
+2Èîàííà=2John
+2èîàí=2John
+2èîàí.=2John
+2èí=2John
+2èí.=2John
+2 èí=2John
+2 èí.=2John
+2Èí=2John
+2Èí.=2John
+2 Èí=2John
+2 Èí.=2John
-3. Èîàííà=64
-3 Èîàííà=64
-3Èîàííà=64
-3èîàí=64
-3èîàí.=64
-3èí=64
-3èí.=64
-3 èí=64
-3 èí.=64
-3Èí=64
-3Èí.=64
+3. Èîàííà=3John
+3 Èîàííà=3John
+3Èîàííà=3John
+3èîàí=3John
+3èîàí.=3John
+3èí=3John
+3èí.=3John
+3 èí=3John
+3 èí.=3John
+3Èí=3John
+3Èí.=3John
-èóä=65
-èóä.=65
-Èóäû=65
-îòêð=66
-îòêð.=66
-Îòêð=66
-Îòêð.=66
-Îòêðîâåíèå=66
+èóä=Jude
+èóä.=Jude
+Èóäû=Jude
+îòêð=Rev
+îòêð.=Rev
+Îòêð=Rev
+Îòêð.=Rev
+Îòêðîâåíèå=Rev
diff --git a/locales.d/ru_RU-koi8-r.conf b/locales.d/ru_RU-koi8-r.conf
index 2c0b88e..6b5f50f 100755
--- a/locales.d/ru_RU-koi8-r.conf
+++ b/locales.d/ru_RU-koi8-r.conf
@@ -4,8 +4,8 @@
# Pavlo Bohmat bohm@ukr.net
[Meta]
-Name=ru_RU-koi8-r
-Description=Russian (koi8-r)
+Name=ru_RU-koi8-r
+Description=Russian (KOI8-R)
Encoding=KOI8-R
[Text]
@@ -77,665 +77,481 @@ Jude=éÕÄÙ
Revelation of John=ïÔËÒÏ×ÅÎÉÅ
[Book Abbrevs]
-1 C=46
-1 CHRONICLES=13
-1 CORINTHIANS=46
-1 JN=62
-1 JOHN=62
-1 KGS=11
-1 KINGS=11
-1 PETER=60
-1 PTR=60
-1 SAMUEL=9
-1 THESSALONIANS=52
-1 TIMOTHY=54
-1C=46
-1CHRONICLES=13
-1CORINTHIANS=46
-1JN=62
-1JOHN=62
-1KGS=11
-1KINGS=11
-1PETER=60
-1PTR=60
-1SAMUEL=9
-1THESSALONIANS=52
-1TIMOTHY=54
-2 C=47
-2 CHRONICLES=14
-2 CORINTHIANS=47
-2 JN=63
-2 JOHN=63
-2 KGS=12
-2 KINGS=12
-2 PETER=61
-2 PTR=61
-2 SAMUEL=10
-2 THESSALONIANS=53
-2 TIMOTHY=55
-2C=47
-2CHRONICLES=14
-2CORINTHIANS=47
-2JN=63
-2JOHN=63
-2KGS=12
-2KINGS=12
-2PETER=61
-2PTR=61
-2SAMUEL=10
-2THESSALONIANS=53
-2TIMOTHY=55
-3 JN=64
-3 JOHN=64
-3JN=64
-3JOHN=64
-ACTS=44
-AMOS=30
-APOCALYPSE OF ST. JOHN=66
-C=51
-CANTICLE OF CANTICLES=22
-COC=22
-COLOSSIANS=51
-D=5
-DANIEL=27
-DEUTERONOMY=5
-E=49
-ECCLESIASTES=21
-EPHESIANS=49
-ESTER=17
-ESTHER=17
-EXODUS=2
-EZEKIEL=26
-EZRA=15
-G=1
-GALATIANS=48
-GENESIS=1
-H=58
-HABAKKUK=35
-HAGGAI=37
-HEBREWS=58
-HOSEA=28
-I C=46
-I CHRONICLES=13
-I CORINTHIANS=46
-I JN=62
-I JOHN=62
-I KGS=11
-I KINGS=11
-I PETER=60
-I PTR=60
-I SAMUEL=9
-I THESSALONIANS=52
-I TIMOTHY=54
-IC=46
-ICHRONICLES=13
-ICORINTHIANS=46
-II C=47
-II CHRONICLES=14
-II CORINTHIANS=47
-II JN=63
-II JOHN=63
-II KGS=12
-II KINGS=12
-II PETER=61
-II PTR=61
-II SAMUEL=10
-II THESSALONIANS=53
-II TIMOTHY=55
-IIC=47
-IICHRONICLES=14
-IICORINTHIANS=47
-III JN=64
-III JOHN=64
-IIIJN=64
-IIIJOHN=64
-IIJN=63
-IIJOHN=63
-IIKGS=12
-IIKINGS=12
-IIPETER=61
-IIPTR=61
-IISAMUEL=10
-IITHESSALONIANS=53
-IITIMOTHY=55
-IJN=62
-IJOHN=62
-IKGS=11
-IKINGS=11
-IPETER=60
-IPTR=60
-ISA=23
-ISAIAH=23
-ISAMUEL=9
-ITHESSALONIANS=52
-ITIMOTHY=54
-J=43
-JAMES=59
-JAS=59
-JEREMIAH=24
-JN=43
-JO=43
-JOB=18
-JOEL=29
-JOHN=43
-JONAH=32
-JOSHUA=6
-JUD=7
-JUDE=65
-JUDGES=7
-L=42
-LAMENTATIONS=25
-LEVITICUS=3
-LK=42
-LUKE=42
-MA=40
-MALACHI=39
-MARK=41
-MATTHEW=40
-MICAH=33
-MK=41
-MR=41
-MT=40
-N=4
-NAHUM=34
-NEHEMIAH=16
-NUMBERS=4
-OBADIAH=31
-P=19
-PH=50
-PHILEMON=57
-PHILIPPIANS=50
-PHLM=57
-PHM=57
-PHP=50
-PROVERBS=20
-PSALMS=19
-PSM=19
-PSS=19
-REVELATION OF JOHN=66
-ROMANS=45
-RUTH=8
-SONG OF SOLOMON=22
-SONG OF SONGS=22
-SOS=22
-TITUS=56
-ZECHARIAH=38
-ZEPHANIAH=36
-1í=1
-1í.=1
-ÂÙÔ=1
-ÂÙÔ.=1
-âÙÔ=1
-âÙÔ.=1
-ÂÙÔÉÅ=1
-âÙÔÉÅ=1
-2í=2
-2í.=2
-ÉÓÈ=2
-ÉÓÈ.=2
-éÓÈ=2
-éÓÈ.=2
-ÉÓÈÏÄ=2
-éÓÈÏÄ=2
-3í=3
-3í.=3
-ÌÅ×=3
-ÌÅ×.=3
-ìÅ×=3
-ìÅ×.=3
-ÌÅ×ÉÔ=3
-ìÅ×ÉÔ=3
-4í=4
-4í.=4
-ÞÉÓ=4
-ÞÉÓ.=4
-þÉÓ=4
-þÉÓ.=4
-ÞÉÓÌÁ=4
-þÉÓÌÁ=4
-5í=5
-5í.=5
-×ÔÏÒ=5
-×ÔÏÒ.=5
-÷ÔÏÒ=5
-÷ÔÏÒ.=5
-÷ÔÏÒÏÚÁËÏÎÉÅ=5
-ÉÉÓ.ÎÁ×.=6
-ÅÇÏÛÕÉ=6
-åÇÏÛÕÉ=6
-ÅÇ=6
-ÅÇ.=6
-ÉÉÓÕÓ ÎÁ×ÉÎ=6
-éÉÓÕÓ îÁ×ÉÎ=6
-ÓÕÄ=7
-ÓÕÄ.=7
-ÓÕÄØÉ=7
-óÕÄØÉ=7
-ÒÕÆ=8
-ÒÕÆ.=8
-ÒÕÆØ=8
-òÕÆØ=8
+1í=Gen
+1í.=Gen
+ÂÙÔ=Gen
+ÂÙÔ.=Gen
+âÙÔ=Gen
+âÙÔ.=Gen
+ÂÙÔÉÅ=Gen
+âÙÔÉÅ=Gen
+2í=Exod
+2í.=Exod
+ÉÓÈ=Exod
+ÉÓÈ.=Exod
+éÓÈ=Exod
+éÓÈ.=Exod
+ÉÓÈÏÄ=Exod
+éÓÈÏÄ=Exod
+3í=Lev
+3í.=Lev
+ÌÅ×=Lev
+ÌÅ×.=Lev
+ìÅ×=Lev
+ìÅ×.=Lev
+ÌÅ×ÉÔ=Lev
+ìÅ×ÉÔ=Lev
+4í=Num
+4í.=Num
+ÞÉÓ=Num
+ÞÉÓ.=Num
+þÉÓ=Num
+þÉÓ.=Num
+ÞÉÓÌÁ=Num
+þÉÓÌÁ=Num
+5í=Deut
+5í.=Deut
+×ÔÏÒ=Deut
+×ÔÏÒ.=Deut
+÷ÔÏÒ=Deut
+÷ÔÏÒ.=Deut
+÷ÔÏÒÏÚÁËÏÎÉÅ=Deut
+ÉÉÓ.ÎÁ×.=Josh
+ÅÇÏÛÕÉ=Josh
+åÇÏÛÕÉ=Josh
+ÅÇ=Josh
+ÅÇ.=Josh
+ÉÉÓÕÓ ÎÁ×ÉÎ=Josh
+éÉÓÕÓ îÁ×ÉÎ=Josh
+ÓÕÄ=Judg
+ÓÕÄ.=Judg
+ÓÕÄØÉ=Judg
+óÕÄØÉ=Judg
+ÒÕÆ=Ruth
+ÒÕÆ.=Ruth
+ÒÕÆØ=Ruth
+òÕÆØ=Ruth
-1. ãÁÒÓÔ×=9
-1 ãÁÒÓÔ×=9
-1ãÁÒÓÔ×=9
-1ÃÁÒ=9
-1ÃÁÒ.=9
-1 ÃÁÒ=9
-1 ÃÁÒ.=9
-1ãÁÒ=9
-1ãÁÒ.=9
-1 ãÁÒ=9
-1 ãÁÒ.=9
+1. ãÁÒÓÔ×=1Sam
+1 ãÁÒÓÔ×=1Sam
+1ãÁÒÓÔ×=1Sam
+1ÃÁÒ=1Sam
+1ÃÁÒ.=1Sam
+1 ÃÁÒ=1Sam
+1 ÃÁÒ.=1Sam
+1ãÁÒ=1Sam
+1ãÁÒ.=1Sam
+1 ãÁÒ=1Sam
+1 ãÁÒ.=1Sam
-2. ãÁÒÓÔ×=10
-2 ãÁÒÓÔ×=10
-2ãÁÒÓÔ×=10
-2ÃÁÒ=10
-2ÃÁÒ.=10
-2 ÃÁÒ=10
-2 ÃÁÒ.=10
-2ãÁÒ=10
-2ãÁÒ.=10
-2 ãÁÒ=10
-2 ãÁÒ.=10
+2. ãÁÒÓÔ×=2Sam
+2 ãÁÒÓÔ×=2Sam
+2ãÁÒÓÔ×=2Sam
+2ÃÁÒ=2Sam
+2ÃÁÒ.=2Sam
+2 ÃÁÒ=2Sam
+2 ÃÁÒ.=2Sam
+2ãÁÒ=2Sam
+2ãÁÒ.=2Sam
+2 ãÁÒ=2Sam
+2 ãÁÒ.=2Sam
-3. ãÁÒÓÔ×=11
-3 ãÁÒÓÔ×=11
-3ãÁÒÓÔ×=11
-3ÃÁÒ=11
-3ÃÁÒ.=11
-3 ÃÁÒ=11
-3 ÃÁÒ.=11
-3ãÁÒ=11
-3ãÁÒ.=11
-3 ãÁÒ=11
-3 ãÁÒ.=11
+3. ãÁÒÓÔ×=1Kgs
+3 ãÁÒÓÔ×=1Kgs
+3ãÁÒÓÔ×=1Kgs
+3ÃÁÒ=1Kgs
+3ÃÁÒ.=1Kgs
+3 ÃÁÒ=1Kgs
+3 ÃÁÒ.=1Kgs
+3ãÁÒ=1Kgs
+3ãÁÒ.=1Kgs
+3 ãÁÒ=1Kgs
+3 ãÁÒ.=1Kgs
-4. ãÁÒÓÔ×=12
-4 ãÁÒÓÔ×=12
-4ãÁÒÓÔ×=12
-4ÃÁÒ=12
-4ÃÁÒ.=12
-4 ÃÁÒ=12
-4 ÃÁÒ.=12
-4ãÁÒ=12
-4ãÁÒ.=12
-4 ãÁÒ=12
-4 ãÁÒ.=12
+4. ãÁÒÓÔ×=2Kgs
+4 ãÁÒÓÔ×=2Kgs
+4ãÁÒÓÔ×=2Kgs
+4ÃÁÒ=2Kgs
+4ÃÁÒ.=2Kgs
+4 ÃÁÒ=2Kgs
+4 ÃÁÒ.=2Kgs
+4ãÁÒ=2Kgs
+4ãÁÒ.=2Kgs
+4 ãÁÒ=2Kgs
+4 ãÁÒ.=2Kgs
-1. ðÁÒÁÌÉÐÏÍÅÎÏÎ=13
-1 ðÁÒÁÌÉÐÏÍÅÎÏÎ=13
-1ðÁÒÁÌÉÐÏÍÅÎÏÎ=13
-1ÐÁÒ=13
-1ÐÁÒ.=13
-1 ÐÁÒ=13
-1 ÐÁÒ.=13
-1 ðÁÒ=13
-1 ðÁÒ.=13
+1. ðÁÒÁÌÉÐÏÍÅÎÏÎ=1Chr
+1 ðÁÒÁÌÉÐÏÍÅÎÏÎ=1Chr
+1ðÁÒÁÌÉÐÏÍÅÎÏÎ=1Chr
+1ÐÁÒ=1Chr
+1ÐÁÒ.=1Chr
+1 ÐÁÒ=1Chr
+1 ÐÁÒ.=1Chr
+1 ðÁÒ=1Chr
+1 ðÁÒ.=1Chr
-2. ðÁÒÁÌÉÐÏÍÅÎÏÎ=14
-2 ðÁÒÁÌÉÐÏÍÅÎÏÎ=14
-2ðÁÒÁÌÉÐÏÍÅÎÏÎ=14
-2ÐÁÒ=14
-2ÐÁÒ.=14
-2 ÐÁÒ=14
-2 ÐÁÒ.=14
-2ðÁÒ=14
-2ðÁÒ.=14
-2 ðÁÒ=14
-2 ðÁÒ.=14
+2. ðÁÒÁÌÉÐÏÍÅÎÏÎ=2Chr
+2 ðÁÒÁÌÉÐÏÍÅÎÏÎ=2Chr
+2ðÁÒÁÌÉÐÏÍÅÎÏÎ=2Chr
+2ÐÁÒ=2Chr
+2ÐÁÒ.=2Chr
+2 ÐÁÒ=2Chr
+2 ÐÁÒ.=2Chr
+2ðÁÒ=2Chr
+2ðÁÒ.=2Chr
+2 ðÁÒ=2Chr
+2 ðÁÒ.=2Chr
-ÅÚÄÒ=15
-ÅÚÄÒ.=15
-åÚÄÒ=15
-åÚÄÒ.=15
-ÅÚÄ=15
-ÅÚÄ.=15
-åÚÄ=15
-åÚÄ.=15
-åÚÄÒÁ=15
-ÎÅÅÍ=16
-ÎÅÅÍ.=16
-îÅÅÍ=16
-îÅÅÍ.=16
-îÅÅÍÉÑ=16
-ÅÓÆ=17
-ÅÓÆ.=17
-åÓÆ=17
-åÓÆ.=17
-åÓÆÉÒØ=17
-ÉÏ×=18
-ÉÏ×.=18
-éÏ×=18
-ÐÓ=19
-ÐÓ.=19
-ðÓ=19
-ðÓ.=19
-ðÓÁÌÔÉÒØ=19
-ÐÒÉÔ=20
-ÐÒÉÔ.=20
-ðÒÉÔ=20
-ðÒÉÔ.=20
-ðÒÉÔÞÉ=20
-ÅËËÌ=21
-ÅËËÌ.=21
-åËËÌ=21
-åËËÌ.=21
-åËËÌÅÓÉÁÓÔ=21
-ÐÅÓÎ=22
-ÐÅÓÎ.=22
-ðÅÓÎ=22
-ðÅÓÎ.=22
-ðÅÓÎÑ ðÅÓÎÅÊ=22
-ÉÓ=23
-ÉÓ.=23
-éÓ=23
-éÓ.=23
-éÓÁÉÑ=23
-ÉÅÒ=24
-ÉÅÒ.=24
-éÅÒ=24
-éÅÒ.=24
-éÅÒÅÍÉÑ=24
-ÐÌÁÞ=25
-ÐÌÁÞ.=25
-ðÌÁÞ=25
-ðÌÁÞ.=25
-ðÌÁÞ éÅÒÅÍÉÉ=25
-ÉÅÚ=26
-ÉÅÚ.=26
-éÅÚ=26
-éÅÚ.=26
-éÅÚÅËÉÉÌØ=26
-ÄÁÎ=27
-ÄÁÎ.=27
-äÁÎ=27
-äÁÎ.=27
-äÁÎÉÉÌ=27
-ÏÓ=28
-ÏÓ.=28
-ïÓ=28
-ïÓ.=28
-ïÓÉÑ=28
-ÉÏÉÌ=29
-ÉÏÉÌ.=29
-éÏÉÌ=29
-éÏÉÌ.=29
-éÏÉÌØ=29
-ÁÍ=30
-ÁÍ.=30
-áÍ=30
-áÍ.=30
-ÁÍÏÓ=30
-áÍÏÓ=30
-Á×Ä.=31
-á×ÄÉÊ=31
-Á×Ä=31
-ÉÏÎ=32
-ÉÏÎ.=32
-éÏÎ=32
-éÏÎ.=32
-éÏÎÁ=32
-ÍÉÈ=33
-ÍÉÈ.=33
-íÉÈ=33
-íÉÈ.=33
-íÉÈÅÊ=33
-ÎÁÕÍ=34
-ÎÁÕÍ.=34
-îÁÕÍ=34
-Á××=35
-Á××.=35
-á××=35
-á××.=35
-á××ÁËÕÍ=35
-ÓÏÆ=36
-ÓÏÆ.=36
-óÏÆ=36
-óÏÆ.=36
-óÏÆÏÎÉÑ=36
-ÁÇÇ=37
-ÁÇÇ.=37
-áÇÇ=37
-áÇÇ.=37
-áÇÇÅÊ=37
-ÚÁÈ=38
-ÚÁÈ.=38
-úÁÈ=38
-úÁÈ.=38
-úÁÈÁÒÉÑ=38
-ÍÁÌ=39
-ÍÁÌ.=39
-íÁÌ=39
-íÁÌ.=39
-íÁÌÁÈÉÑ=39
-ÍÁÔÆ=40
-ÍÁÔÆ.=40
-ÍÆ=40
-ÍÆ.=40
-íÆ=40
-íÆ.=40
-ïÔ íÁÔÆÅÑ=40
-ÍÁÒ=41
-ÍÁÒ.=41
-ÍË=41
-ÍË.=41
-íË=41
-íË.=41
-ïÔ íÁÒËÁ=41
-ÌÕË=42
-ÌÕË.=42
-ÌË=42
-ÌË.=42
-ìË=42
-ìË.=42
-ïÔ ìÕËÉ=42
-ÉÏÁÎ=43
-ÉÏÁÎ.=43
-ÉÎ=43
-ÉÎ.=43
-éÎ=43
-éÎ.=43
-ïÔ éÏÁÎÎÁ=43
-ÄÅÑÎ=44
-ÄÅÑÎ.=44
-äÅÑÎ=44
-äÅÑÎ.=44
-äÅÑÎÉÑ=44
-ÒÉÍ=45
-ÒÉÍ.=45
-òÉÍ=45
-òÉÍ.=45
-ë òÉÍÌÑÎÁÍ=45
+ÅÚÄÒ=Ezra
+ÅÚÄÒ.=Ezra
+åÚÄÒ=Ezra
+åÚÄÒ.=Ezra
+ÅÚÄ=Ezra
+ÅÚÄ.=Ezra
+åÚÄ=Ezra
+åÚÄ.=Ezra
+åÚÄÒÁ=Ezra
+ÎÅÅÍ=Neh
+ÎÅÅÍ.=Neh
+îÅÅÍ=Neh
+îÅÅÍ.=Neh
+îÅÅÍÉÑ=Neh
+ÅÓÆ=Esth
+ÅÓÆ.=Esth
+åÓÆ=Esth
+åÓÆ.=Esth
+åÓÆÉÒØ=Esth
+ÉÏ×=Job
+ÉÏ×.=Job
+éÏ×=Job
+ÐÓ=Ps
+ÐÓ.=Ps
+ðÓ=Ps
+ðÓ.=Ps
+ðÓÁÌÔÉÒØ=Ps
+ÐÒÉÔ=Prov
+ÐÒÉÔ.=Prov
+ðÒÉÔ=Prov
+ðÒÉÔ.=Prov
+ðÒÉÔÞÉ=Prov
+ÅËËÌ=Eccl
+ÅËËÌ.=Eccl
+åËËÌ=Eccl
+åËËÌ.=Eccl
+åËËÌÅÓÉÁÓÔ=Eccl
+ÐÅÓÎ=Song
+ÐÅÓÎ.=Song
+ðÅÓÎ=Song
+ðÅÓÎ.=Song
+ðÅÓÎÑ ðÅÓÎÅÊ=Song
+ÉÓ=Isa
+ÉÓ.=Isa
+éÓ=Isa
+éÓ.=Isa
+éÓÁÉÑ=Isa
+ÉÅÒ=Jer
+ÉÅÒ.=Jer
+éÅÒ=Jer
+éÅÒ.=Jer
+éÅÒÅÍÉÑ=Jer
+ÐÌÁÞ=Lam
+ÐÌÁÞ.=Lam
+ðÌÁÞ=Lam
+ðÌÁÞ.=Lam
+ðÌÁÞ éÅÒÅÍÉÉ=Lam
+ÉÅÚ=Ezek
+ÉÅÚ.=Ezek
+éÅÚ=Ezek
+éÅÚ.=Ezek
+éÅÚÅËÉÉÌØ=Ezek
+ÄÁÎ=Dan
+ÄÁÎ.=Dan
+äÁÎ=Dan
+äÁÎ.=Dan
+äÁÎÉÉÌ=Dan
+ÏÓ=Hos
+ÏÓ.=Hos
+ïÓ=Hos
+ïÓ.=Hos
+ïÓÉÑ=Hos
+ÉÏÉÌ=Joel
+ÉÏÉÌ.=Joel
+éÏÉÌ=Joel
+éÏÉÌ.=Joel
+éÏÉÌØ=Joel
+ÁÍ=Amos
+ÁÍ.=Amos
+áÍ=Amos
+áÍ.=Amos
+ÁÍÏÓ=Amos
+áÍÏÓ=Amos
+Á×Ä.=Obad
+á×ÄÉÊ=Obad
+Á×Ä=Obad
+ÉÏÎ=Jonah
+ÉÏÎ.=Jonah
+éÏÎ=Jonah
+éÏÎ.=Jonah
+éÏÎÁ=Jonah
+ÍÉÈ=Mic
+ÍÉÈ.=Mic
+íÉÈ=Mic
+íÉÈ.=Mic
+íÉÈÅÊ=Mic
+ÎÁÕÍ=Nah
+ÎÁÕÍ.=Nah
+îÁÕÍ=Nah
+Á××=Hab
+Á××.=Hab
+á××=Hab
+á××.=Hab
+á××ÁËÕÍ=Hab
+ÓÏÆ=Zeph
+ÓÏÆ.=Zeph
+óÏÆ=Zeph
+óÏÆ.=Zeph
+óÏÆÏÎÉÑ=Zeph
+ÁÇÇ=Hag
+ÁÇÇ.=Hag
+áÇÇ=Hag
+áÇÇ.=Hag
+áÇÇÅÊ=Hag
+ÚÁÈ=Zech
+ÚÁÈ.=Zech
+úÁÈ=Zech
+úÁÈ.=Zech
+úÁÈÁÒÉÑ=Zech
+ÍÁÌ=Mal
+ÍÁÌ.=Mal
+íÁÌ=Mal
+íÁÌ.=Mal
+íÁÌÁÈÉÑ=Mal
+ÍÁÔÆ=Matt
+ÍÁÔÆ.=Matt
+ÍÆ=Matt
+ÍÆ.=Matt
+íÆ=Matt
+íÆ.=Matt
+ïÔ íÁÔÆÅÑ=Matt
+ÍÁÒ=Mark
+ÍÁÒ.=Mark
+ÍË=Mark
+ÍË.=Mark
+íË=Mark
+íË.=Mark
+ïÔ íÁÒËÁ=Mark
+ÌÕË=Luke
+ÌÕË.=Luke
+ÌË=Luke
+ÌË.=Luke
+ìË=Luke
+ìË.=Luke
+ïÔ ìÕËÉ=Luke
+ÉÏÁÎ=John
+ÉÏÁÎ.=John
+ÉÎ=John
+ÉÎ.=John
+éÎ=John
+éÎ.=John
+ïÔ éÏÁÎÎÁ=John
+ÄÅÑÎ=Acts
+ÄÅÑÎ.=Acts
+äÅÑÎ=Acts
+äÅÑÎ.=Acts
+äÅÑÎÉÑ=Acts
+ÒÉÍ=Rom
+ÒÉÍ.=Rom
+òÉÍ=Rom
+òÉÍ.=Rom
+ë òÉÍÌÑÎÁÍ=Rom
-1. ëÏÒÉÎÆÑÎÁÍ=46
-1 ëÏÒÉÎÆÑÎÁÍ=46
-1ëÏÒÉÎÆÑÎÁÍ=46
-1ËÏÒ=46
-1ËÏÒ.=46
-1 ËÏÒ=46
-1 ËÏÒ.=46
-1ëÏÒ=46
-1ëÏÒ.=46
-1 ëÏÒ=46
-1 ëÏÒ.=46
+1. ëÏÒÉÎÆÑÎÁÍ=1Cor
+1 ëÏÒÉÎÆÑÎÁÍ=1Cor
+1ëÏÒÉÎÆÑÎÁÍ=1Cor
+1ËÏÒ=1Cor
+1ËÏÒ.=1Cor
+1 ËÏÒ=1Cor
+1 ËÏÒ.=1Cor
+1ëÏÒ=1Cor
+1ëÏÒ.=1Cor
+1 ëÏÒ=1Cor
+1 ëÏÒ.=1Cor
-2. ëÏÒÉÎÆÑÎÁÍ=47
-2 ëÏÒÉÎÆÑÎÁÍ=47
-2ëÏÒÉÎÆÑÎÁÍ=47
-2ËÏÒ=47
-2ËÏÒ.=47
-2 ËÏÒ=47
-2 ËÏÒ.=47
-2ëÏÒ=47
-2ëÏÒ.=47
-2 ëÏÒ=47
-2 ëÏÒ.=47
+2. ëÏÒÉÎÆÑÎÁÍ=2Cor
+2 ëÏÒÉÎÆÑÎÁÍ=2Cor
+2ëÏÒÉÎÆÑÎÁÍ=2Cor
+2ËÏÒ=2Cor
+2ËÏÒ.=2Cor
+2 ËÏÒ=2Cor
+2 ËÏÒ.=2Cor
+2ëÏÒ=2Cor
+2ëÏÒ.=2Cor
+2 ëÏÒ=2Cor
+2 ëÏÒ.=2Cor
-ÇÁÌ=48
-ÇÁÌ.=48
-çÁÌ=48
-çÁÌ.=48
-ë çÁÌÁÔÁÍ=48
-ÅÆ=49
-ÅÆ.=49
-åÆ=49
-åÆ.=49
-ë åÆÅÓÑÎÁÍ=49
-ÆÉÌ=50
-ÆÉÌ.=50
-æÉÌ=50
-æÉÌ.=50
-ÆÌÐ=50
-ÆÌÐ.=50
-æÌÐ=50
-æÌÐ.=50
-ë æÉÌÉÐÐÉÊÃÁÍ=50
-ë ëÏÌÏÓÓÑÎÁÍ=51
-ËÏÌ=51
-ËÏÌ.=51
-ëÏÌ=51
-ëÏÌ.=51
+ÇÁÌ=Gal
+ÇÁÌ.=Gal
+çÁÌ=Gal
+çÁÌ.=Gal
+ë çÁÌÁÔÁÍ=Gal
+ÅÆ=Eph
+ÅÆ.=Eph
+åÆ=Eph
+åÆ.=Eph
+ë åÆÅÓÑÎÁÍ=Eph
+ÆÉÌ=Phil
+ÆÉÌ.=Phil
+æÉÌ=Phil
+æÉÌ.=Phil
+ÆÌÐ=Phil
+ÆÌÐ.=Phil
+æÌÐ=Phil
+æÌÐ.=Phil
+ë æÉÌÉÐÐÉÊÃÁÍ=Phil
+ë ëÏÌÏÓÓÑÎÁÍ=Col
+ËÏÌ=Col
+ËÏÌ.=Col
+ëÏÌ=Col
+ëÏÌ.=Col
-1. æÅÓÓÁÌÏÎÉËÉÊÃÁÍ=52
-1 æÅÓÓÁÌÏÎÉËÉÊÃÁÍ=52
-1æÅÓÓÁÌÏÎÉËÉÊÃÁÍ=52
-1ÆÅÓ=52
-1ÆÅÓ.=52
-1 ÆÅÓ=52
-1 ÆÅÓ.=52
-1 æÅÓ=52
-1 æÅÓ.=52
+1. æÅÓÓÁÌÏÎÉËÉÊÃÁÍ=1Thess
+1 æÅÓÓÁÌÏÎÉËÉÊÃÁÍ=1Thess
+1æÅÓÓÁÌÏÎÉËÉÊÃÁÍ=1Thess
+1ÆÅÓ=1Thess
+1ÆÅÓ.=1Thess
+1 ÆÅÓ=1Thess
+1 ÆÅÓ.=1Thess
+1 æÅÓ=1Thess
+1 æÅÓ.=1Thess
-2. æÅÓÓÁÌÏÎÉËÉÊÃÁÍ=53
-2 æÅÓÓÁÌÏÎÉËÉÊÃÁÍ=53
-2æÅÓÓÁÌÏÎÉËÉÊÃÁÍ=53
-2ÆÅÓ=53
-2ÆÅÓ.=53
-2 ÆÅÓ=53
-2 ÆÅÓ.=53
-2æÅÓ=53
-2æÅÓ.=53
-2 æÅÓ=53
-2 æÅÓ.=53
+2. æÅÓÓÁÌÏÎÉËÉÊÃÁÍ=2Thess
+2 æÅÓÓÁÌÏÎÉËÉÊÃÁÍ=2Thess
+2æÅÓÓÁÌÏÎÉËÉÊÃÁÍ=2Thess
+2ÆÅÓ=2Thess
+2ÆÅÓ.=2Thess
+2 ÆÅÓ=2Thess
+2 ÆÅÓ.=2Thess
+2æÅÓ=2Thess
+2æÅÓ.=2Thess
+2 æÅÓ=2Thess
+2 æÅÓ.=2Thess
-1. ôÉÍÏÆÅÀ=54
-1 ôÉÍÏÆÅÀ=54
-1ôÉÍÏÆÅÀ=54
-1ÔÉÍ=54
-1ÔÉÍ.=54
-1 ÔÉÍ=54
-1 ÔÉÍ.=54
-1ôÉÍ=54
-1ôÉÍ.=54
-1 ôÉÍ=54
-1 ôÉÍ.=54
+1. ôÉÍÏÆÅÀ=1Tim
+1 ôÉÍÏÆÅÀ=1Tim
+1ôÉÍÏÆÅÀ=1Tim
+1ÔÉÍ=1Tim
+1ÔÉÍ.=1Tim
+1 ÔÉÍ=1Tim
+1 ÔÉÍ.=1Tim
+1ôÉÍ=1Tim
+1ôÉÍ.=1Tim
+1 ôÉÍ=1Tim
+1 ôÉÍ.=1Tim
-2. ôÉÍÏÆÅÀ=55
-2 ôÉÍÏÆÅÀ=55
-2ôÉÍÏÆÅÀ=55
-2ÔÉÍ=55
-2ÔÉÍ.=55
-2 ÔÉÍ=55
-2 ÔÉÍ.=55
-2ôÉÍ=55
-2ôÉÍ.=55
-2 ôÉÍ=55
-2 ôÉÍ.=55
+2. ôÉÍÏÆÅÀ=2Tim
+2 ôÉÍÏÆÅÀ=2Tim
+2ôÉÍÏÆÅÀ=2Tim
+2ÔÉÍ=2Tim
+2ÔÉÍ.=2Tim
+2 ÔÉÍ=2Tim
+2 ÔÉÍ.=2Tim
+2ôÉÍ=2Tim
+2ôÉÍ.=2Tim
+2 ôÉÍ=2Tim
+2 ôÉÍ.=2Tim
-ë ôÉÔÕ=56
-ÔÉÔ=56
-ÔÉÔ.=56
-ôÉÔ=56
-ôÉÔ.=56
-ÆÌÍ=57
-ÆÌÍ.=57
-æÌÍ=57
-æÌÍ.=57
-ë æÉÌÉÍÏÎÕ=57
-Å×Ò.=58
-Å×Ò=58
-å×Ò=58
-å×Ò.=58
-ë å×ÒÅÑÍ=58
-ÉÁË=59
-ÉÁË.=59
-éÁË=59
-éÁË.=59
-ÉÁËÏ×Á=59
-éÁËÏ×Á=59
+ë ôÉÔÕ=Titus
+ÔÉÔ=Titus
+ÔÉÔ.=Titus
+ôÉÔ=Titus
+ôÉÔ.=Titus
+ÆÌÍ=Phlm
+ÆÌÍ.=Phlm
+æÌÍ=Phlm
+æÌÍ.=Phlm
+ë æÉÌÉÍÏÎÕ=Phlm
+Å×Ò.=Heb
+Å×Ò=Heb
+å×Ò=Heb
+å×Ò.=Heb
+ë å×ÒÅÑÍ=Heb
+ÉÁË=Jas
+ÉÁË.=Jas
+éÁË=Jas
+éÁË.=Jas
+ÉÁËÏ×Á=Jas
+éÁËÏ×Á=Jas
-1. ðÅÔÒÁ=60
-1 ðÅÔÒÁ=60
-1ðÅÔÒÁ=60
-1ÐÅÔ=60
-1ÐÅÔ.=60
-1 ÐÅÔ=60
-1 ÐÅÔ.=60
-1ðÅÔ=60
-1ðÅÔ.=60
-1 ðÅÔ=60
-1 ðÅÔ.=60
+1. ðÅÔÒÁ=1Pet
+1 ðÅÔÒÁ=1Pet
+1ðÅÔÒÁ=1Pet
+1ÐÅÔ=1Pet
+1ÐÅÔ.=1Pet
+1 ÐÅÔ=1Pet
+1 ÐÅÔ.=1Pet
+1ðÅÔ=1Pet
+1ðÅÔ.=1Pet
+1 ðÅÔ=1Pet
+1 ðÅÔ.=1Pet
-2. ðÅÔÒÁ=61
-2 ðÅÔÒÁ=61
-2ðÅÔÒÁ=61
-2ÐÅÔ=61
-2ÐÅÔ.=61
-2 ÐÅÔ=61
-2 ÐÅÔ.=61
-2ðÅÔ=61
-2ðÅÔ.=61
-2 ðÅÔ=61
-2 ðÅÔ.=61
+2. ðÅÔÒÁ=2Pet
+2 ðÅÔÒÁ=2Pet
+2ðÅÔÒÁ=2Pet
+2ÐÅÔ=2Pet
+2ÐÅÔ.=2Pet
+2 ÐÅÔ=2Pet
+2 ÐÅÔ.=2Pet
+2ðÅÔ=2Pet
+2ðÅÔ.=2Pet
+2 ðÅÔ=2Pet
+2 ðÅÔ.=2Pet
-1. éÏÁÎÎÁ=62
-1 éÏÁÎÎÁ=62
-1éÏÁÎÎÁ=62
-1ÉÏÁÎ=62
-1ÉÏÁÎ.=62
-1ÉÎ=62
-1ÉÎ.=62
-1 ÉÎ=62
-1 ÉÎ.=62
-1éÎ=62
-1éÎ.=62
-1 éÎ=62
-1 éÎ.=62
+1. éÏÁÎÎÁ=1John
+1 éÏÁÎÎÁ=1John
+1éÏÁÎÎÁ=1John
+1ÉÏÁÎ=1John
+1ÉÏÁÎ.=1John
+1ÉÎ=1John
+1ÉÎ.=1John
+1 ÉÎ=1John
+1 ÉÎ.=1John
+1éÎ=1John
+1éÎ.=1John
+1 éÎ=1John
+1 éÎ.=1John
-2. éÏÁÎÎÁ=63
-2 éÏÁÎÎÁ=63
-2éÏÁÎÎÁ=63
-2ÉÏÁÎ=63
-2ÉÏÁÎ.=63
-2ÉÎ=63
-2ÉÎ.=63
-2 ÉÎ=63
-2 ÉÎ.=63
-2éÎ=63
-2éÎ.=63
-2 éÎ=63
-2 éÎ.=63
+2. éÏÁÎÎÁ=2John
+2 éÏÁÎÎÁ=2John
+2éÏÁÎÎÁ=2John
+2ÉÏÁÎ=2John
+2ÉÏÁÎ.=2John
+2ÉÎ=2John
+2ÉÎ.=2John
+2 ÉÎ=2John
+2 ÉÎ.=2John
+2éÎ=2John
+2éÎ.=2John
+2 éÎ=2John
+2 éÎ.=2John
-3. éÏÁÎÎÁ=64
-3 éÏÁÎÎÁ=64
-3éÏÁÎÎÁ=64
-3ÉÏÁÎ=64
-3ÉÏÁÎ.=64
-3ÉÎ=64
-3ÉÎ.=64
-3 ÉÎ=64
-3 ÉÎ.=64
-3éÎ=64
-3éÎ.=64
+3. éÏÁÎÎÁ=3John
+3 éÏÁÎÎÁ=3John
+3éÏÁÎÎÁ=3John
+3ÉÏÁÎ=3John
+3ÉÏÁÎ.=3John
+3ÉÎ=3John
+3ÉÎ.=3John
+3 ÉÎ=3John
+3 ÉÎ.=3John
+3éÎ=3John
+3éÎ.=3John
-ÉÕÄ=65
-ÉÕÄ.=65
-éÕÄÙ=65
-ÏÔËÒ=66
-ÏÔËÒ.=66
-ïÔËÒ=66
-ïÔËÒ.=66
-ïÔËÒÏ×ÅÎÉÅ=66
+ÉÕÄ=Jude
+ÉÕÄ.=Jude
+éÕÄÙ=Jude
+ÏÔËÒ=Rev
+ÏÔËÒ.=Rev
+ïÔËÒ=Rev
+ïÔËÒ.=Rev
+ïÔËÒÏ×ÅÎÉÅ=Rev
diff --git a/locales.d/ru_RU-utf8.conf b/locales.d/ru_RU-utf8.conf
index fb1b58e..6077c9f 100644
--- a/locales.d/ru_RU-utf8.conf
+++ b/locales.d/ru_RU-utf8.conf
@@ -6,7 +6,7 @@
# Converted with iconv by Martin Gruner
[Meta]
-Name=ru
+Name=ru_RU
Description=Russian (Unicode)
Encoding=UTF-8
@@ -79,665 +79,481 @@ Jude=Иуды
Revelation of John=Откровение
[Book Abbrevs]
-1 C=46
-1 CHRONICLES=13
-1 CORINTHIANS=46
-1 JN=62
-1 JOHN=62
-1 KGS=11
-1 KINGS=11
-1 PETER=60
-1 PTR=60
-1 SAMUEL=9
-1 THESSALONIANS=52
-1 TIMOTHY=54
-1C=46
-1CHRONICLES=13
-1CORINTHIANS=46
-1JN=62
-1JOHN=62
-1KGS=11
-1KINGS=11
-1PETER=60
-1PTR=60
-1SAMUEL=9
-1THESSALONIANS=52
-1TIMOTHY=54
-2 C=47
-2 CHRONICLES=14
-2 CORINTHIANS=47
-2 JN=63
-2 JOHN=63
-2 KGS=12
-2 KINGS=12
-2 PETER=61
-2 PTR=61
-2 SAMUEL=10
-2 THESSALONIANS=53
-2 TIMOTHY=55
-2C=47
-2CHRONICLES=14
-2CORINTHIANS=47
-2JN=63
-2JOHN=63
-2KGS=12
-2KINGS=12
-2PETER=61
-2PTR=61
-2SAMUEL=10
-2THESSALONIANS=53
-2TIMOTHY=55
-3 JN=64
-3 JOHN=64
-3JN=64
-3JOHN=64
-ACTS=44
-AMOS=30
-APOCALYPSE OF ST. JOHN=66
-C=51
-CANTICLE OF CANTICLES=22
-COC=22
-COLOSSIANS=51
-D=5
-DANIEL=27
-DEUTERONOMY=5
-E=49
-ECCLESIASTES=21
-EPHESIANS=49
-ESTER=17
-ESTHER=17
-EXODUS=2
-EZEKIEL=26
-EZRA=15
-G=1
-GALATIANS=48
-GENESIS=1
-H=58
-HABAKKUK=35
-HAGGAI=37
-HEBREWS=58
-HOSEA=28
-I C=46
-I CHRONICLES=13
-I CORINTHIANS=46
-I JN=62
-I JOHN=62
-I KGS=11
-I KINGS=11
-I PETER=60
-I PTR=60
-I SAMUEL=9
-I THESSALONIANS=52
-I TIMOTHY=54
-IC=46
-ICHRONICLES=13
-ICORINTHIANS=46
-II C=47
-II CHRONICLES=14
-II CORINTHIANS=47
-II JN=63
-II JOHN=63
-II KGS=12
-II KINGS=12
-II PETER=61
-II PTR=61
-II SAMUEL=10
-II THESSALONIANS=53
-II TIMOTHY=55
-IIC=47
-IICHRONICLES=14
-IICORINTHIANS=47
-III JN=64
-III JOHN=64
-IIIJN=64
-IIIJOHN=64
-IIJN=63
-IIJOHN=63
-IIKGS=12
-IIKINGS=12
-IIPETER=61
-IIPTR=61
-IISAMUEL=10
-IITHESSALONIANS=53
-IITIMOTHY=55
-IJN=62
-IJOHN=62
-IKGS=11
-IKINGS=11
-IPETER=60
-IPTR=60
-ISA=23
-ISAIAH=23
-ISAMUEL=9
-ITHESSALONIANS=52
-ITIMOTHY=54
-J=43
-JAMES=59
-JAS=59
-JEREMIAH=24
-JN=43
-JO=43
-JOB=18
-JOEL=29
-JOHN=43
-JONAH=32
-JOSHUA=6
-JUD=7
-JUDE=65
-JUDGES=7
-L=42
-LAMENTATIONS=25
-LEVITICUS=3
-LK=42
-LUKE=42
-MA=40
-MALACHI=39
-MARK=41
-MATTHEW=40
-MICAH=33
-MK=41
-MR=41
-MT=40
-N=4
-NAHUM=34
-NEHEMIAH=16
-NUMBERS=4
-OBADIAH=31
-P=19
-PH=50
-PHILEMON=57
-PHILIPPIANS=50
-PHLM=57
-PHM=57
-PHP=50
-PROVERBS=20
-PSALMS=19
-PSM=19
-PSS=19
-REVELATION OF JOHN=66
-ROMANS=45
-RUTH=8
-SONG OF SOLOMON=22
-SONG OF SONGS=22
-SOS=22
-TITUS=56
-ZECHARIAH=38
-ZEPHANIAH=36
-1М=1
-1М.=1
-быт=1
-быт.=1
-Быт=1
-Быт.=1
-бытие=1
-Бытие=1
-2М=2
-2М.=2
-иÑÑ…=2
-иÑÑ….=2
-ИÑÑ…=2
-ИÑÑ….=2
-иÑход=2
-ИÑход=2
-3М=3
-3М.=3
-лев=3
-лев.=3
-Лев=3
-Лев.=3
-левит=3
-Левит=3
-4М=4
-4М.=4
-чиÑ=4
-чиÑ.=4
-ЧиÑ=4
-ЧиÑ.=4
-чиÑла=4
-ЧиÑла=4
-5М=5
-5М.=5
-втор=5
-втор.=5
-Втор=5
-Втор.=5
-Второзаконие=5
-ииÑ.нав.=6
-егошуи=6
-Егошуи=6
-ег=6
-ег.=6
-ииÑÑƒÑ Ð½Ð°Ð²Ð¸Ð½=6
-ИиÑÑƒÑ Ðавин=6
-Ñуд=7
-Ñуд.=7
-Ñудьи=7
-Судьи=7
-руф=8
-руф.=8
-руфь=8
-Руфь=8
+1М=Gen
+1М.=Gen
+быт=Gen
+быт.=Gen
+Быт=Gen
+Быт.=Gen
+бытие=Gen
+Бытие=Gen
+2М=Exod
+2М.=Exod
+иÑÑ…=Exod
+иÑÑ….=Exod
+ИÑÑ…=Exod
+ИÑÑ….=Exod
+иÑход=Exod
+ИÑход=Exod
+3М=Lev
+3М.=Lev
+лев=Lev
+лев.=Lev
+Лев=Lev
+Лев.=Lev
+левит=Lev
+Левит=Lev
+4М=Num
+4М.=Num
+чиÑ=Num
+чиÑ.=Num
+ЧиÑ=Num
+ЧиÑ.=Num
+чиÑла=Num
+ЧиÑла=Num
+5М=Deut
+5М.=Deut
+втор=Deut
+втор.=Deut
+Втор=Deut
+Втор.=Deut
+Второзаконие=Deut
+ииÑ.нав.=Josh
+егошуи=Josh
+Егошуи=Josh
+ег=Josh
+ег.=Josh
+ииÑÑƒÑ Ð½Ð°Ð²Ð¸Ð½=Josh
+ИиÑÑƒÑ Ðавин=Josh
+Ñуд=Judg
+Ñуд.=Judg
+Ñудьи=Judg
+Судьи=Judg
+руф=Ruth
+руф.=Ruth
+руфь=Ruth
+Руфь=Ruth
-1. ЦарÑтв=9
-1 ЦарÑтв=9
-1ЦарÑтв=9
-1цар=9
-1цар.=9
-1 цар=9
-1 цар.=9
-1Цар=9
-1Цар.=9
-1 Цар=9
-1 Цар.=9
+1. ЦарÑтв=1Sam
+1 ЦарÑтв=1Sam
+1ЦарÑтв=1Sam
+1цар=1Sam
+1цар.=1Sam
+1 цар=1Sam
+1 цар.=1Sam
+1Цар=1Sam
+1Цар.=1Sam
+1 Цар=1Sam
+1 Цар.=1Sam
-2. ЦарÑтв=10
-2 ЦарÑтв=10
-2ЦарÑтв=10
-2цар=10
-2цар.=10
-2 цар=10
-2 цар.=10
-2Цар=10
-2Цар.=10
-2 Цар=10
-2 Цар.=10
+2. ЦарÑтв=2Sam
+2 ЦарÑтв=2Sam
+2ЦарÑтв=2Sam
+2цар=2Sam
+2цар.=2Sam
+2 цар=2Sam
+2 цар.=2Sam
+2Цар=2Sam
+2Цар.=2Sam
+2 Цар=2Sam
+2 Цар.=2Sam
-3. ЦарÑтв=11
-3 ЦарÑтв=11
-3ЦарÑтв=11
-3цар=11
-3цар.=11
-3 цар=11
-3 цар.=11
-3Цар=11
-3Цар.=11
-3 Цар=11
-3 Цар.=11
+3. ЦарÑтв=1Kgs
+3 ЦарÑтв=1Kgs
+3ЦарÑтв=1Kgs
+3цар=1Kgs
+3цар.=1Kgs
+3 цар=1Kgs
+3 цар.=1Kgs
+3Цар=1Kgs
+3Цар.=1Kgs
+3 Цар=1Kgs
+3 Цар.=1Kgs
-4. ЦарÑтв=12
-4 ЦарÑтв=12
-4ЦарÑтв=12
-4цар=12
-4цар.=12
-4 цар=12
-4 цар.=12
-4Цар=12
-4Цар.=12
-4 Цар=12
-4 Цар.=12
+4. ЦарÑтв=2Kgs
+4 ЦарÑтв=2Kgs
+4ЦарÑтв=2Kgs
+4цар=2Kgs
+4цар.=2Kgs
+4 цар=2Kgs
+4 цар.=2Kgs
+4Цар=2Kgs
+4Цар.=2Kgs
+4 Цар=2Kgs
+4 Цар.=2Kgs
-1. Паралипоменон=13
-1 Паралипоменон=13
-1Паралипоменон=13
-1пар=13
-1пар.=13
-1 пар=13
-1 пар.=13
-1 Пар=13
-1 Пар.=13
+1. Паралипоменон=1Chr
+1 Паралипоменон=1Chr
+1Паралипоменон=1Chr
+1пар=1Chr
+1пар.=1Chr
+1 пар=1Chr
+1 пар.=1Chr
+1 Пар=1Chr
+1 Пар.=1Chr
-2. Паралипоменон=14
-2 Паралипоменон=14
-2Паралипоменон=14
-2пар=14
-2пар.=14
-2 пар=14
-2 пар.=14
-2Пар=14
-2Пар.=14
-2 Пар=14
-2 Пар.=14
+2. Паралипоменон=2Chr
+2 Паралипоменон=2Chr
+2Паралипоменон=2Chr
+2пар=2Chr
+2пар.=2Chr
+2 пар=2Chr
+2 пар.=2Chr
+2Пар=2Chr
+2Пар.=2Chr
+2 Пар=2Chr
+2 Пар.=2Chr
-ездр=15
-ездр.=15
-Ездр=15
-Ездр.=15
-езд=15
-езд.=15
-Езд=15
-Езд.=15
-Ездра=15
-неем=16
-неем.=16
-Ðеем=16
-Ðеем.=16
-ÐеемиÑ=16
-еÑÑ„=17
-еÑÑ„.=17
-ЕÑÑ„=17
-ЕÑÑ„.=17
-ЕÑфирь=17
-иов=18
-иов.=18
-Иов=18
-пÑ=19
-пÑ.=19
-ПÑ=19
-ПÑ.=19
-ПÑалтирь=19
-прит=20
-прит.=20
-Прит=20
-Прит.=20
-Притчи=20
-еккл=21
-еккл.=21
-Еккл=21
-Еккл.=21
-ЕкклеÑиаÑÑ‚=21
-пеÑн=22
-пеÑн.=22
-ПеÑн=22
-ПеÑн.=22
-ПеÑÐ½Ñ ÐŸÐµÑней=22
-иÑ=23
-иÑ.=23
-ИÑ=23
-ИÑ.=23
-ИÑаиÑ=23
-иер=24
-иер.=24
-Иер=24
-Иер.=24
-ИеремиÑ=24
-плач=25
-плач.=25
-Плач=25
-Плач.=25
-Плач Иеремии=25
-иез=26
-иез.=26
-Иез=26
-Иез.=26
-Иезекииль=26
-дан=27
-дан.=27
-Дан=27
-Дан.=27
-Даниил=27
-оÑ=28
-оÑ.=28
-ОÑ=28
-ОÑ.=28
-ОÑиÑ=28
-иоил=29
-иоил.=29
-Иоил=29
-Иоил.=29
-Иоиль=29
-ам=30
-ам.=30
-Ðм=30
-Ðм.=30
-амоÑ=30
-ÐмоÑ=30
-авд.=31
-Ðвдий=31
-авд=31
-ион=32
-ион.=32
-Ион=32
-Ион.=32
-Иона=32
-мих=33
-мих.=33
-Мих=33
-Мих.=33
-Михей=33
-наум=34
-наум.=34
-Ðаум=34
-авв=35
-авв.=35
-Ðвв=35
-Ðвв.=35
-Ðввакум=35
-Ñоф=36
-Ñоф.=36
-Соф=36
-Соф.=36
-СофониÑ=36
-агг=37
-агг.=37
-Ðгг=37
-Ðгг.=37
-Ðггей=37
-зах=38
-зах.=38
-Зах=38
-Зах.=38
-ЗахариÑ=38
-мал=39
-мал.=39
-Мал=39
-Мал.=39
-МалахиÑ=39
-матф=40
-матф.=40
-мф=40
-мф.=40
-Мф=40
-Мф.=40
-От МатфеÑ=40
-мар=41
-мар.=41
-мк=41
-мк.=41
-Мк=41
-Мк.=41
-От Марка=41
-лук=42
-лук.=42
-лк=42
-лк.=42
-Лк=42
-Лк.=42
-От Луки=42
-иоан=43
-иоан.=43
-ин=43
-ин.=43
-Ин=43
-Ин.=43
-От Иоанна=43
-деÑн=44
-деÑн.=44
-ДеÑн=44
-ДеÑн.=44
-ДеÑниÑ=44
-рим=45
-рим.=45
-Рим=45
-Рим.=45
-К РимлÑнам=45
+ездр=Ezra
+ездр.=Ezra
+Ездр=Ezra
+Ездр.=Ezra
+езд=Ezra
+езд.=Ezra
+Езд=Ezra
+Езд.=Ezra
+Ездра=Ezra
+неем=Neh
+неем.=Neh
+Ðеем=Neh
+Ðеем.=Neh
+ÐеемиÑ=Neh
+еÑÑ„=Esth
+еÑÑ„.=Esth
+ЕÑÑ„=Esth
+ЕÑÑ„.=Esth
+ЕÑфирь=Esth
+иов=Job
+иов.=Job
+Иов=Job
+пÑ=Ps
+пÑ.=Ps
+ПÑ=Ps
+ПÑ.=Ps
+ПÑалтирь=Ps
+прит=Prov
+прит.=Prov
+Прит=Prov
+Прит.=Prov
+Притчи=Prov
+еккл=Eccl
+еккл.=Eccl
+Еккл=Eccl
+Еккл.=Eccl
+ЕкклеÑиаÑÑ‚=Eccl
+пеÑн=Song
+пеÑн.=Song
+ПеÑн=Song
+ПеÑн.=Song
+ПеÑÐ½Ñ ÐŸÐµÑней=Song
+иÑ=Isa
+иÑ.=Isa
+ИÑ=Isa
+ИÑ.=Isa
+ИÑаиÑ=Isa
+иер=Jer
+иер.=Jer
+Иер=Jer
+Иер.=Jer
+ИеремиÑ=Jer
+плач=Lam
+плач.=Lam
+Плач=Lam
+Плач.=Lam
+Плач Иеремии=Lam
+иез=Ezek
+иез.=Ezek
+Иез=Ezek
+Иез.=Ezek
+Иезекииль=Ezek
+дан=Dan
+дан.=Dan
+Дан=Dan
+Дан.=Dan
+Даниил=Dan
+оÑ=Hos
+оÑ.=Hos
+ОÑ=Hos
+ОÑ.=Hos
+ОÑиÑ=Hos
+иоил=Joel
+иоил.=Joel
+Иоил=Joel
+Иоил.=Joel
+Иоиль=Joel
+ам=Amos
+ам.=Amos
+Ðм=Amos
+Ðм.=Amos
+амоÑ=Amos
+ÐмоÑ=Amos
+авд.=Obad
+Ðвдий=Obad
+авд=Obad
+ион=Jonah
+ион.=Jonah
+Ион=Jonah
+Ион.=Jonah
+Иона=Jonah
+мих=Mic
+мих.=Mic
+Мих=Mic
+Мих.=Mic
+Михей=Mic
+наум=Nah
+наум.=Nah
+Ðаум=Nah
+авв=Hab
+авв.=Hab
+Ðвв=Hab
+Ðвв.=Hab
+Ðввакум=Hab
+Ñоф=Zeph
+Ñоф.=Zeph
+Соф=Zeph
+Соф.=Zeph
+СофониÑ=Zeph
+агг=Hag
+агг.=Hag
+Ðгг=Hag
+Ðгг.=Hag
+Ðггей=Hag
+зах=Zech
+зах.=Zech
+Зах=Zech
+Зах.=Zech
+ЗахариÑ=Zech
+мал=Mal
+мал.=Mal
+Мал=Mal
+Мал.=Mal
+МалахиÑ=Mal
+матф=Matt
+матф.=Matt
+мф=Matt
+мф.=Matt
+Мф=Matt
+Мф.=Matt
+От МатфеÑ=Matt
+мар=Mark
+мар.=Mark
+мк=Mark
+мк.=Mark
+Мк=Mark
+Мк.=Mark
+От Марка=Mark
+лук=Luke
+лук.=Luke
+лк=Luke
+лк.=Luke
+Лк=Luke
+Лк.=Luke
+От Луки=Luke
+иоан=John
+иоан.=John
+ин=John
+ин.=John
+Ин=John
+Ин.=John
+От Иоанна=John
+деÑн=Acts
+деÑн.=Acts
+ДеÑн=Acts
+ДеÑн.=Acts
+ДеÑниÑ=Acts
+рим=Rom
+рим.=Rom
+Рим=Rom
+Рим.=Rom
+К РимлÑнам=Rom
-1. КоринфÑнам=46
-1 КоринфÑнам=46
-1КоринфÑнам=46
-1кор=46
-1кор.=46
-1 кор=46
-1 кор.=46
-1Кор=46
-1Кор.=46
-1 Кор=46
-1 Кор.=46
+1. КоринфÑнам=1Cor
+1 КоринфÑнам=1Cor
+1КоринфÑнам=1Cor
+1кор=1Cor
+1кор.=1Cor
+1 кор=1Cor
+1 кор.=1Cor
+1Кор=1Cor
+1Кор.=1Cor
+1 Кор=1Cor
+1 Кор.=1Cor
-2. КоринфÑнам=47
-2 КоринфÑнам=47
-2КоринфÑнам=47
-2кор=47
-2кор.=47
-2 кор=47
-2 кор.=47
-2Кор=47
-2Кор.=47
-2 Кор=47
-2 Кор.=47
+2. КоринфÑнам=2Cor
+2 КоринфÑнам=2Cor
+2КоринфÑнам=2Cor
+2кор=2Cor
+2кор.=2Cor
+2 кор=2Cor
+2 кор.=2Cor
+2Кор=2Cor
+2Кор.=2Cor
+2 Кор=2Cor
+2 Кор.=2Cor
-гал=48
-гал.=48
-Гал=48
-Гал.=48
-К Галатам=48
-еф=49
-еф.=49
-Еф=49
-Еф.=49
-К ЕфеÑÑнам=49
-фил=50
-фил.=50
-Фил=50
-Фил.=50
-флп=50
-флп.=50
-Флп=50
-Флп.=50
-К Филиппийцам=50
-К КолоÑÑÑнам=51
-кол=51
-кол.=51
-Кол=51
-Кол.=51
+гал=Gal
+гал.=Gal
+Гал=Gal
+Гал.=Gal
+К Галатам=Gal
+еф=Eph
+еф.=Eph
+Еф=Eph
+Еф.=Eph
+К ЕфеÑÑнам=Eph
+фил=Phil
+фил.=Phil
+Фил=Phil
+Фил.=Phil
+флп=Phil
+флп.=Phil
+Флп=Phil
+Флп.=Phil
+К Филиппийцам=Phil
+К КолоÑÑÑнам=Col
+кол=Col
+кол.=Col
+Кол=Col
+Кол.=Col
-1. ФеÑÑалоникийцам=52
-1 ФеÑÑалоникийцам=52
-1ФеÑÑалоникийцам=52
-1феÑ=52
-1феÑ.=52
-1 феÑ=52
-1 феÑ.=52
-1 ФеÑ=52
-1 ФеÑ.=52
+1. ФеÑÑалоникийцам=1Thess
+1 ФеÑÑалоникийцам=1Thess
+1ФеÑÑалоникийцам=1Thess
+1феÑ=1Thess
+1феÑ.=1Thess
+1 феÑ=1Thess
+1 феÑ.=1Thess
+1 ФеÑ=1Thess
+1 ФеÑ.=1Thess
-2. ФеÑÑалоникийцам=53
-2 ФеÑÑалоникийцам=53
-2ФеÑÑалоникийцам=53
-2феÑ=53
-2феÑ.=53
-2 феÑ=53
-2 феÑ.=53
-2ФеÑ=53
-2ФеÑ.=53
-2 ФеÑ=53
-2 ФеÑ.=53
+2. ФеÑÑалоникийцам=2Thess
+2 ФеÑÑалоникийцам=2Thess
+2ФеÑÑалоникийцам=2Thess
+2феÑ=2Thess
+2феÑ.=2Thess
+2 феÑ=2Thess
+2 феÑ.=2Thess
+2ФеÑ=2Thess
+2ФеÑ.=2Thess
+2 ФеÑ=2Thess
+2 ФеÑ.=2Thess
-1. Тимофею=54
-1 Тимофею=54
-1Тимофею=54
-1тим=54
-1тим.=54
-1 тим=54
-1 тим.=54
-1Тим=54
-1Тим.=54
-1 Тим=54
-1 Тим.=54
+1. Тимофею=1Tim
+1 Тимофею=1Tim
+1Тимофею=1Tim
+1тим=1Tim
+1тим.=1Tim
+1 тим=1Tim
+1 тим.=1Tim
+1Тим=1Tim
+1Тим.=1Tim
+1 Тим=1Tim
+1 Тим.=1Tim
-2. Тимофею=55
-2 Тимофею=55
-2Тимофею=55
-2тим=55
-2тим.=55
-2 тим=55
-2 тим.=55
-2Тим=55
-2Тим.=55
-2 Тим=55
-2 Тим.=55
+2. Тимофею=2Tim
+2 Тимофею=2Tim
+2Тимофею=2Tim
+2тим=2Tim
+2тим.=2Tim
+2 тим=2Tim
+2 тим.=2Tim
+2Тим=2Tim
+2Тим.=2Tim
+2 Тим=2Tim
+2 Тим.=2Tim
-К Титу=56
-тит=56
-тит.=56
-Тит=56
-Тит.=56
-флм=57
-флм.=57
-Флм=57
-Флм.=57
-К Филимону=57
-евр.=58
-евр=58
-Евр=58
-Евр.=58
-К ЕвреÑм=58
-иак=59
-иак.=59
-Иак=59
-Иак.=59
-иакова=59
-Иакова=59
+К Титу=Titus
+тит=Titus
+тит.=Titus
+Тит=Titus
+Тит.=Titus
+флм=Phlm
+флм.=Phlm
+Флм=Phlm
+Флм.=Phlm
+К Филимону=Phlm
+евр.=Heb
+евр=Heb
+Евр=Heb
+Евр.=Heb
+К ЕвреÑм=Heb
+иак=Jas
+иак.=Jas
+Иак=Jas
+Иак.=Jas
+иакова=Jas
+Иакова=Jas
-1. Петра=60
-1 Петра=60
-1Петра=60
-1пет=60
-1пет.=60
-1 пет=60
-1 пет.=60
-1Пет=60
-1Пет.=60
-1 Пет=60
-1 Пет.=60
+1. Петра=1Pet
+1 Петра=1Pet
+1Петра=1Pet
+1пет=1Pet
+1пет.=1Pet
+1 пет=1Pet
+1 пет.=1Pet
+1Пет=1Pet
+1Пет.=1Pet
+1 Пет=1Pet
+1 Пет.=1Pet
-2. Петра=61
-2 Петра=61
-2Петра=61
-2пет=61
-2пет.=61
-2 пет=61
-2 пет.=61
-2Пет=61
-2Пет.=61
-2 Пет=61
-2 Пет.=61
+2. Петра=2Pet
+2 Петра=2Pet
+2Петра=2Pet
+2пет=2Pet
+2пет.=2Pet
+2 пет=2Pet
+2 пет.=2Pet
+2Пет=2Pet
+2Пет.=2Pet
+2 Пет=2Pet
+2 Пет.=2Pet
-1. Иоанна=62
-1 Иоанна=62
-1Иоанна=62
-1иоан=62
-1иоан.=62
-1ин=62
-1ин.=62
-1 ин=62
-1 ин.=62
-1Ин=62
-1Ин.=62
-1 Ин=62
-1 Ин.=62
+1. Иоанна=1John
+1 Иоанна=1John
+1Иоанна=1John
+1иоан=1John
+1иоан.=1John
+1ин=1John
+1ин.=1John
+1 ин=1John
+1 ин.=1John
+1Ин=1John
+1Ин.=1John
+1 Ин=1John
+1 Ин.=1John
-2. Иоанна=63
-2 Иоанна=63
-2Иоанна=63
-2иоан=63
-2иоан.=63
-2ин=63
-2ин.=63
-2 ин=63
-2 ин.=63
-2Ин=63
-2Ин.=63
-2 Ин=63
-2 Ин.=63
+2. Иоанна=2John
+2 Иоанна=2John
+2Иоанна=2John
+2иоан=2John
+2иоан.=2John
+2ин=2John
+2ин.=2John
+2 ин=2John
+2 ин.=2John
+2Ин=2John
+2Ин.=2John
+2 Ин=2John
+2 Ин.=2John
-3. Иоанна=64
-3 Иоанна=64
-3Иоанна=64
-3иоан=64
-3иоан.=64
-3ин=64
-3ин.=64
-3 ин=64
-3 ин.=64
-3Ин=64
-3Ин.=64
+3. Иоанна=3John
+3 Иоанна=3John
+3Иоанна=3John
+3иоан=3John
+3иоан.=3John
+3ин=3John
+3ин.=3John
+3 ин=3John
+3 ин.=3John
+3Ин=3John
+3Ин.=3John
-иуд=65
-иуд.=65
-Иуды=65
-откр=66
-откр.=66
-Откр=66
-Откр.=66
-Откровение=66
+иуд=Jude
+иуд.=Jude
+Иуды=Jude
+откр=Rev
+откр.=Rev
+Откр=Rev
+Откр.=Rev
+Откровение=Rev
diff --git a/locales.d/sk-utf8.conf b/locales.d/sk-utf8.conf
index c81d34c..3c280f5 100644
--- a/locales.d/sk-utf8.conf
+++ b/locales.d/sk-utf8.conf
@@ -2,8 +2,8 @@
# Slovak Bible books for Sword.
#
# 2001/01/06 (c) zdpo@post.sk, GNU GPL 2.0.
+# 2009/05/06 (c) zdposter@gmail.sk, GNU GPL 2.0.
#
-# This locale was converted to Unicode by the Sword developers.
#
[Meta]
@@ -14,41 +14,41 @@ Encoding=UTF-8
[Text]
Genesis=Genesis
Exodus=Exodus
-Leviticus=Leviticus
+Leviticus=Levitikus
Numbers=Numeri
-Deuteronomy=Deuteronomium
+Deuteronomy=Deuteronómium
Joshua=Jozue
Judges=Sudcov
Ruth=Rút
I Samuel=1 Samuelova
II Samuel=2 Samuelova
-I Kings=1 Kráľovská
-II Kings=2 Kráľovská
-I Chronicles=1 Kronická
-II Chronicles=2 Kronická
+I Kings=1 Kráľov
+II Kings=2 Kráľov
+I Chronicles=1 Kroník
+II Chronicles=2 Kroník
Ezra=Ezdráš
Nehemiah=Nehemiáš
Esther=Ester
Job=Jób
Psalms=Žalmy
-Proverbs=Príslovie
+Proverbs=Príslovia
Ecclesiastes=Kazateľ
-Song of Solomon=Veľpieseň
+Song of Solomon=Pieseň piesní
Isaiah=Izaiáš
Jeremiah=Jeremiáš
-Lamentations=PlaÄ Jeremiášov
+Lamentations=Náreky
Ezekiel=Ezechiel
Daniel=Daniel
-Hosea=Hozeáš
+Hosea=Ozeáš
Joel=Joel
Amos=Ãmos
-Obadiah=Obadiáš
+Obadiah=Abdiáš
Jonah=Jonáš
Micah=Micheáš
-Nahum=Náhum
+Nahum=Nahum
Habakkuk=Habakuk
Zephaniah=Sofoniáš
-Haggai=Hageus
+Haggai=Aggeus
Zechariah=Zachariáš
Malachi=Malachiáš
Matthew=Matúš
@@ -63,12 +63,12 @@ Galatians=Galaťanom
Ephesians=Efezanom
Philippians=Filipanom
Colossians=Kolosanom
-I Thessalonians=1 TesaloniÄanom
-II Thessalonians=2 TesaloniÄanom
+I Thessalonians=1 SolúnÄanom
+II Thessalonians=2 SolúnÄanom
I Timothy=1 Timotejovi
II Timothy=2 Timotejovi
Titus=Títovi
-Philemon=Filemonovi
+Philemon=Filemónovi
Hebrews=Hebrejom
James=Jakubov
I Peter=1 Petrov
@@ -79,354 +79,313 @@ III John=3 Jánov
Jude=Júdov
Revelation of John=Zjavenie Jána
+#Apocr
+I Esdras=1 Ezdráša
+II Esdras=2 Ezdráša
+Tobit=Tobiáš
+Judith=Judita
+Additions to Esther=Prídavok k Esteri
+Esther (Greek)=Ester (gréc.)
+Wisdom=Múdrosti
+Sirach=Sirachovec
+Baruch=Báruch
+Prayer of Azariah=Modlitba Azariášova
+Susanna=Zuzana
+Bel and the Dragon=Bél a Drak
+Prayer of Manasses=Modlitba Manasesa
+I Maccabees=1 Machabejcov
+II Maccabees=2 Machabejcov
+III Maccabees=3 Machabejcov
+IV Maccabees=4 Machabejcov
+Additional Psalm=Ďalšie Žalmy
+
[Book Abbrevs]
-1 C=46
-1 CHRONICLES=13
-1 CORINTHIANS=46
-1 JN=62
-1 JOHN=62
-1 KGS=11
-1 KINGS=11
-1 PETER=60
-1 PTR=60
-1 SAMUEL=9
-1 THESSALONIANS=52
-1 TIMOTHY=54
-1C=46
-1CHRONICLES=13
-1CORINTHIANS=46
-1JN=62
-1JOHN=62
-1KGS=11
-1KINGS=11
-1PETER=60
-1PTR=60
-1SAMUEL=9
-1THESSALONIANS=52
-1TIMOTHY=54
-2 C=47
-2 CHRONICLES=14
-2 CORINTHIANS=47
-2 JN=63
-2 JOHN=63
-2 KGS=12
-2 KINGS=12
-2 PETER=61
-2 PTR=61
-2 SAMUEL=10
-2 THESSALONIANS=53
-2 TIMOTHY=55
-2C=47
-2CHRONICLES=14
-2CORINTHIANS=47
-2JN=63
-2JOHN=63
-2KGS=12
-2KINGS=12
-2PETER=61
-2PTR=61
-2SAMUEL=10
-2THESSALONIANS=53
-2TIMOTHY=55
-3 JN=64
-3 JOHN=64
-3JN=64
-3JOHN=64
-ACTS=44
-AMOS=30
-APOCALYPSE OF ST. JOHN=66
-C=51
-CANTICLE OF CANTICLES=22
-COC=22
-COLOSSIANS=51
-D=5
-DANIEL=27
-DEUTERONOMY=5
-E=49
-ECCLESIASTES=21
-EPHESIANS=49
-ESTER=17
-ESTHER=17
-EXODUS=2
-EZEKIEL=26
-EZRA=15
-G=1
-GALATIANS=48
-GENESIS=1
-H=58
-HABAKKUK=35
-HAGGAI=37
-HEBREWS=58
-HOSEA=28
-I C=46
-I CHRONICLES=13
-I CORINTHIANS=46
-I JN=62
-I JOHN=62
-I KGS=11
-I KINGS=11
-I PETER=60
-I PTR=60
-I SAMUEL=9
-I THESSALONIANS=52
-I TIMOTHY=54
-IC=46
-ICHRONICLES=13
-ICORINTHIANS=46
-II C=47
-II CHRONICLES=14
-II CORINTHIANS=47
-II JN=63
-II JOHN=63
-II KGS=12
-II KINGS=12
-II PETER=61
-II PTR=61
-II SAMUEL=10
-II THESSALONIANS=53
-II TIMOTHY=55
-IIC=47
-IICHRONICLES=14
-IICORINTHIANS=47
-III JN=64
-III JOHN=64
-IIIJN=64
-IIIJOHN=64
-IIJN=63
-IIJOHN=63
-IIKGS=12
-IIKINGS=12
-IIPETER=61
-IIPTR=61
-IISAMUEL=10
-IITHESSALONIANS=53
-IITIMOTHY=55
-IJN=62
-IJOHN=62
-IKGS=11
-IKINGS=11
-IPETER=60
-IPTR=60
-ISA=23
-ISAIAH=23
-ISAMUEL=9
-ITHESSALONIANS=52
-ITIMOTHY=54
-J=43
-JAMES=59
-JAS=59
-JEREMIAH=24
-JN=43
-JO=43
-JOB=18
-JOEL=29
-JOHN=43
-JONAH=32
-JOSHUA=6
-JUD=7
-JUDE=65
-JUDGES=7
-L=42
-LAMENTATIONS=25
-LEVITICUS=3
-LK=42
-LUKE=42
-MA=40
-MALACHI=39
-MARK=41
-MATTHEW=40
-MICAH=33
-MK=41
-MR=41
-MT=40
-N=4
-NAHUM=34
-NEHEMIAH=16
-NUMBERS=4
-OBADIAH=31
-P=19
-PH=50
-PHILEMON=57
-PHILIPPIANS=50
-PHLM=57
-PHM=57
-PHP=50
-PROVERBS=20
-PSALMS=19
-PSM=19
-PSS=19
-REVELATION OF JOHN=66
-ROMANS=45
-RUTH=8
-SONG OF SOLOMON=22
-SONG OF SONGS=22
-SOS=22
-TITUS=56
-ZECHARIAH=38
-ZEPHANIAH=36
+GENESIS=Gen
+GN=Gen
+1M=Gen
+1 M=Gen
+1 MOJŽIŠOVA=Gen
+EXODUS=Exod
+EX=Exod
+2M=Exod
+2 M=Exod
+2 MOJŽIŠOVA=Exod
+LEVITICUS=Lev
+LEVITIKUS=Lev
+LV=Lev
+3M=Lev
+3 M=Lev
+3 MOJŽIŠOVA=Lev
+NUMERI=Num
+NM=Num
+NU=Num
+4M=Num
+4 M=Num
+4 MOJŽIŠOVA=Num
+DEUTERONOMIUM=Deut
+DEUTERONÓMIUM=Deut
+DT=Deut
+5M=Deut
+5 M=Deut
+5 MOJŽIŠOVA=Deut
+JOZUE=Josh
+JOZ=Josh
+SUDCOV=Judg
+SUD=Judg
+SDC=Judg
+RÚT=Ruth
+RUT=Ruth
+RT=Ruth
+1 SAMUELOVA=1Sam
+1SAM=1Sam
+1S=1Sam
+1 S=1Sam
+2 SAMUELOVA=2Sam
+2SAM=2Sam
+2S=2Sam
+2 S=2Sam
+1 KRÃĽOVSKÃ=1Kgs
+1KR=1Kgs
+1 KR=1Kgs
+2 KRÃĽOVSKÃ=2Kgs
+2KR=2Kgs
+2 KR=2Kgs
+1 KRONICKÃ=1Chr
+1 KRONÃK=1Chr
+1 PARALIPOMENOM=1Chr
+1KRN=1Chr
+1PA=1Chr
+1 PA=1Chr
+1 KRO=1Chr
+2 KRONICKÃ=2Chr
+2 KRONÃK=2Chr
+2 PARALIPOMENOM=2Chr
+2KRN=2Chr
+2PA=2Chr
+2 PA=2Chr
+2 KRO=2Chr
+EZDRÃÅ =Ezra
+EZD=Ezra
+NEHEMIÃÅ =Neh
+NEH=Neh
+ESTER=Esth
+EST=Esth
+JÓB=Job
+JOB=Job
+JB=Job
+ŽALMY=Ps
+Ž=Ps
+Z=Ps
+PRÃSLOVIA=Prov
+PRIS=Prov
+PR=Prov
+KAZATEĽ=Eccl
+KOHELET=Eccl
+KOH=Eccl
+KAZ=Eccl
+VEĽPIESEŇ=Song
+PIESEŇ PIESNÃ=Song
+PIESEŇ ŠALAMÚNOVA=Song
+PIES=Song
+PIE=Song
+VEĽ=Song
+IZAIÃÅ =Isa
+IZ=Isa
+JEREMIÃÅ =Jer
+JER=Jer
+JR=Jer
+PLAÄŒ JEREMIÃÅ OV=Lam
+NÃREKY=Lam
+NAR=Lam
+NÃR=Lam
+PL=Lam
+EZECHIEL=Ezek
+EZ=Ezek
+DANIEL=Dan
+DAN=Dan
+DN=Dan
+OZEÃÅ =Hos
+HOZEÃÅ =Hos
+OZ=Hos
+JOEL=Joel
+JL=Joel
+ÃMOS=Amos
+AM=Amos
+OBADIÃÅ =Obad
+ABDIÃÅ =Obad
+ABD=Obad
+OBA=Obad
+JONÃÅ =Jonah
+JON=Jonah
+MICHEÃÅ =Mic
+MICH=Mic
+MI=Mic
+NÃHUM=Nah
+NAH=Nah
+NA=Nah
+HABAKUK=Hab
+HAB=Hab
+SOFONIÃÅ =Zeph
+SOF=Zeph
+SF=Zeph
+HAGEUS=Hag
+AGGEUS=Hag
+AG=Hag
+HAG=Hag
+ZACHARIÃÅ =Zech
+ZACH=Zech
+ZA=Zech
+MALACHIÃÅ =Mal
+MAL=Mal
+MATÚŠ=Matt
+MT=Matt
+MAREK=Mark
+MK=Mark
+LUKÃÅ =Luke
+LK=Luke
+L=Luke
+JÃN=John
+JN=John
+J=John
+SKUTKY=Acts
+SK=Acts
+RIMANOM=Rom
+RIM=Rom
+1 KORINŤANOM=1Cor
+1KOR=1Cor
+1K=1Cor
+1 K=1Cor
+2 KORINŤANOM=2Cor
+2KOR=2Cor
+2K=2Cor
+2 K=2Cor
+GALAŤANOM=Gal
+GAL=Gal
+GA=Gal
+EFEZANOM=Eph
+EF=Eph
+FILIPANOM=Phil
+FLP=Phil
+FP=Phil
+KOLOSANOM=Col
+KOL=Col
+KO=Col
+1 TESALONIÄŒANOM=1Thess
+1 SOLÚNČANOM=1Thess
+1SOL=1Thess
+1TE=1Thess
+1 TE=1Thess
+2 TESALONIÄŒANOM=2Thess
+2 SOLÚNČANOM=2Thess
+2SOL=2Thess
+2TE=2Thess
+2 TE=2Thess
+1 TIMOTEJOVI=1Tim
+1TIM=1Tim
+1TM=1Tim
+1 TM=1Tim
+2 TIMOTEJOVI=2Tim
+2TIM=2Tim
+2TM=2Tim
+2 TM=2Tim
+TÃTOVI=Titus
+TIT=Titus
+FILEMONOVI=Phlm
+FILEMÓNOVI=Phlm
+FLM=Phlm
+FM=Phlm
+HEBREJOM=Heb
+HEBR=Heb
+HE=Heb
+ŽIDOM=Heb
+ŽID=Heb
+ŽD=Heb
+JAKUBOV=Jas
+JAK=Jas
+JK=Jas
+1 PETROV=1Pet
+1PT=1Pet
+1 PT=1Pet
+2 PETROV=2Pet
+2PT=2Pet
+2 PT=2Pet
+1 JÃNOV=1John
+1J=1John
+1Jn=1John
+1 J=1John
+2 JÃNOV=2John
+2J=2John
+2Jn=2John
+2 J=2John
+3 JÃNOV=3John
+3J=3John
+3Jn=3John
+3 J=3John
+JÚDOV=Jude
+JÚ=Jude
+JUD=Jude
+ZJAVENIE JÃNA=Rev
+ZJV=Rev
+ZJ=Rev
+
+1EZD=1Esd
+2EZD=2Esd
+
+TB=Tob
+TBT=Tob
+TOB=Tob
+
+MÚDR=Wis
+MUDR=Wis
+
+SIR=Sir
+SIRACH=Sir
+
+MODLITBA AZARIÃÅ OVA=PrAzar
+AZARIÃÅ =PrAzar
+AZAR=PrAzar
+
+MODLITBA MANASESA=PrMan
+MANASES=PrMan
+MAN=PrMan
+
+ZUZ=Sus
+
+1MAK=1Macc
+1 MAK=1Macc
+2MAK=2Macc
+2 MAK=2Macc
+3MAK=3Macc
+3 MAK=3Macc
+4MAK=4Macc
+4 MAK=4Macc
+
+BARUCH=Bar
+BAR=Bar
+
+JDT=Jdt
+
+PRÃDAVOK K ESTERI=AddEsth
+
+ESTERr (GRÉC.)=EsthGr
+
+ĎALŠIE ŽALMY=AddPs
+BEL=Bel
+BÉL AND DRAK=Bel
-GENESIS=1
-GN=1
-1M=1
-1 M=1
-EXODUS=2
-EX=2
-2M=2
-2 M=2
-LEVITICUS=3
-LV=3
-3M=3
-3 M=3
-NUMERI=4
-NU=4
-4M=4
-4 M=4
-DEUTERONOMIUM=5
-DT=5
-5M=5
-5 M=5
-JOZUE=6
-JOZ=6
-SUDCOV=7
-SUD=7
-RÚT=8
-RT=8
-1 SAMUELOVA=9
-1S=9
-1 S=9
-2 SAMUELOVA=10
-2S=10
-2 S=10
-1 KRÃĽOVSKÃ=11
-1KR=11
-1 KR=11
-2 KRÃĽOVSKÃ=12
-2KR=12
-2 KR=12
-1 KRONICKÃ=13
-1PA=13
-1 PA=13
-1 KRO=13
-2 KRONICKÃ=14
-2PA=14
-2 PA=14
-2 KRO=14
-EZDRÃÅ =15
-EZD=15
-NEHEMIÃÅ =16
-NEH=16
-ESTER=17
-EST=17
-JÓB=18
-JB=18
-ŽALMY=19
-Ž=19
-PRÃSLOVIE=20
-PR=20
-KAZATEĽ=21
-KAZ=21
-VEĽPIESEŇ=22
-PIE=22
-VEĽ=22
-IZAIÃÅ =23
-IZ=23
-JEREMIÃÅ =24
-JR=24
-PLAÄŒ JEREMIÃÅ OV=25
-PL=25
-EZECHIEL=26
-EZ=26
-DANIEL=27
-DN=27
-HOZEÃÅ =28
-OZ=28
-JOEL=29
-JL=29
-ÃMOS=30
-AM=30
-OBADIÃÅ =31
-OBA=31
-JONÃÅ =32
-JON=32
-MICHEÃÅ =33
-MI=33
-NÃHUM=34
-NA=34
-HABAKUK=35
-HAB=35
-SOFONIÃÅ =36
-SF=36
-HAGEUS=37
-HAG=37
-ZACHARIÃÅ =38
-ZA=38
-MALACHIÃÅ =39
-MAL=39
-MATÚŠ=40
-MT=40
-MAREK=41
-MK=41
-LUKÃÅ =42
-L=42
-JÃN=43
-J=43
-SKUTKY=44
-SK=44
-RIMANOM=45
-RIM=45
-1 KORINŤANOM=46
-1K=46
-1 K=46
-2 KORINŤANOM=47
-2K=47
-2 K=47
-GALAŤANOM=48
-GA=48
-EFEZANOM=49
-EF=49
-FILIPANOM=50
-FP=50
-KOLOSANOM=51
-KO=51
-1 TESALONIÄŒANOM=52
-1TE=52
-1 TE=52
-2 TESALONIÄŒANOM=53
-2TE=53
-2 TE=53
-1 TIMOTEJOVI=54
-1TM=54
-1 TM=54
-2 TIMOTEJOVI=55
-2TM=55
-2 TM=55
-TÃTOVI=56
-TIT=56
-FILEMONOVI=57
-FM=57
-HEBREJOM=58
-HE=58
-ŽD=58
-JAKUBOV=59
-JK=59
-1 PETROV=60
-1PT=60
-1 PT=60
-2 PETROV=61
-2PT=61
-2 PT=61
-1 JÃNOV=62
-1J=62
-1 J=62
-2 JÃNOV=63
-2J=63
-2 J=63
-3 JÃNOV=64
-3J=64
-3 J=64
-JÚDOV=65
-JÚ=65
-ZJAVENIE JÃNA=66
-ZJ=66
+TOBIÃÅ =Tob
+JUDITA=Jdt
+ESTER (GRÉC.)=EsthGr
+MÚDROSTI=Wis
+SIRACHOVEC=Sir
+BÃRUCH=Bar
+ZUZANA=Sus
+BÉL A DRAK=Bel
+1 MACHABEJCOV=1Macc
+2 MACHABEJCOV=2Macc
+1 EZDRÃÅ A=1Esd
+3 MACHABEJCOV=3Macc
+2 EZDRÃÅ A=2Esd
+4 MACHABEJCOV=4Macc
diff --git a/locales.d/sk.conf b/locales.d/sk.conf
index e8a9d84..2bd9c8c 100644
--- a/locales.d/sk.conf
+++ b/locales.d/sk.conf
@@ -2,11 +2,12 @@
# Slovak Bible books for Sword.
#
# 2001/01/06 (c) zdpo@post.sk, GNU GPL 2.0.
+# 2009/05/06 (c) zdposter@gmail.sk, GNU GPL 2.0.
#
# Notice: The locales name of slovak language is sk. For correct
# slovak environment you must set locales to "sk_SK"
-# if you are using bash try this:
-# export LC_ALL=sk_SK LANG=sk
+# if you are using bash try this:
+# export LC_ALL=sk_SK LANG=sk
#
[Meta]
@@ -17,41 +18,41 @@ Encoding=ISO8859-2
[Text]
Genesis=Genesis
Exodus=Exodus
-Leviticus=Leviticus
+Leviticus=Levitikus
Numbers=Numeri
-Deuteronomy=Deuteronomium
+Deuteronomy=Deuteronómium
Joshua=Jozue
Judges=Sudcov
Ruth=Rút
I Samuel=1 Samuelova
II Samuel=2 Samuelova
-I Kings=1 Kráµovská
-II Kings=2 Kráµovská
-I Chronicles=1 Kronická
-II Chronicles=2 Kronická
+I Kings=1 Kráµov
+II Kings=2 Kráµov
+I Chronicles=1 Kroník
+II Chronicles=2 Kroník
Ezra=Ezdrá¹
Nehemiah=Nehemiá¹
Esther=Ester
Job=Jób
Psalms=®almy
-Proverbs=Príslovie
+Proverbs=Príslovia
Ecclesiastes=Kazateµ
-Song of Solomon=Veµpieseò
+Song of Solomon=Pieseò piesní
Isaiah=Izaiá¹
Jeremiah=Jeremiá¹
-Lamentations=Plaè Jeremiá¹ov
+Lamentations=Náreky
Ezekiel=Ezechiel
Daniel=Daniel
-Hosea=Hozeá¹
+Hosea=Ozeá¹
Joel=Joel
Amos=Ámos
-Obadiah=Obadiá¹
+Obadiah=Abdiá¹
Jonah=Joná¹
Micah=Micheá¹
-Nahum=Náhum
+Nahum=Nahum
Habakkuk=Habakuk
Zephaniah=Sofoniá¹
-Haggai=Hageus
+Haggai=Aggeus
Zechariah=Zachariá¹
Malachi=Malachiá¹
Matthew=Matú¹
@@ -66,12 +67,12 @@ Galatians=Gala»anom
Ephesians=Efezanom
Philippians=Filipanom
Colossians=Kolosanom
-I Thessalonians=1 Tesalonièanom
-II Thessalonians=2 Tesalonièanom
+I Thessalonians=1 Solúnèanom
+II Thessalonians=2 Solúnèanom
I Timothy=1 Timotejovi
II Timothy=2 Timotejovi
Titus=Títovi
-Philemon=Filemonovi
+Philemon=Filemónovi
Hebrews=Hebrejom
James=Jakubov
I Peter=1 Petrov
@@ -82,354 +83,313 @@ III John=3 Jánov
Jude=Júdov
Revelation of John=Zjavenie Jána
+#Apocr
+I Esdras=1 Ezdrá¹a
+II Esdras=2 Ezdrá¹a
+Tobit=Tobiá¹
+Judith=Judita
+Additions to Esther=Prídavok k Esteri
+Esther (Greek)=Ester (gréc.)
+Wisdom=Múdrosti
+Sirach=Sirachovec
+Baruch=Báruch
+Prayer of Azariah=Modlitba Azariá¹ova
+Susanna=Zuzana
+Bel and the Dragon=Bél a Drak
+Prayer of Manasses=Modlitba Manasesa
+I Maccabees=1 Machabejcov
+II Maccabees=2 Machabejcov
+III Maccabees=3 Machabejcov
+IV Maccabees=4 Machabejcov
+Additional Psalm=Ïal¹ie ®almy
+
[Book Abbrevs]
-1 C=46
-1 CHRONICLES=13
-1 CORINTHIANS=46
-1 JN=62
-1 JOHN=62
-1 KGS=11
-1 KINGS=11
-1 PETER=60
-1 PTR=60
-1 SAMUEL=9
-1 THESSALONIANS=52
-1 TIMOTHY=54
-1C=46
-1CHRONICLES=13
-1CORINTHIANS=46
-1JN=62
-1JOHN=62
-1KGS=11
-1KINGS=11
-1PETER=60
-1PTR=60
-1SAMUEL=9
-1THESSALONIANS=52
-1TIMOTHY=54
-2 C=47
-2 CHRONICLES=14
-2 CORINTHIANS=47
-2 JN=63
-2 JOHN=63
-2 KGS=12
-2 KINGS=12
-2 PETER=61
-2 PTR=61
-2 SAMUEL=10
-2 THESSALONIANS=53
-2 TIMOTHY=55
-2C=47
-2CHRONICLES=14
-2CORINTHIANS=47
-2JN=63
-2JOHN=63
-2KGS=12
-2KINGS=12
-2PETER=61
-2PTR=61
-2SAMUEL=10
-2THESSALONIANS=53
-2TIMOTHY=55
-3 JN=64
-3 JOHN=64
-3JN=64
-3JOHN=64
-ACTS=44
-AMOS=30
-APOCALYPSE OF ST. JOHN=66
-C=51
-CANTICLE OF CANTICLES=22
-COC=22
-COLOSSIANS=51
-D=5
-DANIEL=27
-DEUTERONOMY=5
-E=49
-ECCLESIASTES=21
-EPHESIANS=49
-ESTER=17
-ESTHER=17
-EXODUS=2
-EZEKIEL=26
-EZRA=15
-G=1
-GALATIANS=48
-GENESIS=1
-H=58
-HABAKKUK=35
-HAGGAI=37
-HEBREWS=58
-HOSEA=28
-I C=46
-I CHRONICLES=13
-I CORINTHIANS=46
-I JN=62
-I JOHN=62
-I KGS=11
-I KINGS=11
-I PETER=60
-I PTR=60
-I SAMUEL=9
-I THESSALONIANS=52
-I TIMOTHY=54
-IC=46
-ICHRONICLES=13
-ICORINTHIANS=46
-II C=47
-II CHRONICLES=14
-II CORINTHIANS=47
-II JN=63
-II JOHN=63
-II KGS=12
-II KINGS=12
-II PETER=61
-II PTR=61
-II SAMUEL=10
-II THESSALONIANS=53
-II TIMOTHY=55
-IIC=47
-IICHRONICLES=14
-IICORINTHIANS=47
-III JN=64
-III JOHN=64
-IIIJN=64
-IIIJOHN=64
-IIJN=63
-IIJOHN=63
-IIKGS=12
-IIKINGS=12
-IIPETER=61
-IIPTR=61
-IISAMUEL=10
-IITHESSALONIANS=53
-IITIMOTHY=55
-IJN=62
-IJOHN=62
-IKGS=11
-IKINGS=11
-IPETER=60
-IPTR=60
-ISA=23
-ISAIAH=23
-ISAMUEL=9
-ITHESSALONIANS=52
-ITIMOTHY=54
-J=43
-JAMES=59
-JAS=59
-JEREMIAH=24
-JN=43
-JO=43
-JOB=18
-JOEL=29
-JOHN=43
-JONAH=32
-JOSHUA=6
-JUD=7
-JUDE=65
-JUDGES=7
-L=42
-LAMENTATIONS=25
-LEVITICUS=3
-LK=42
-LUKE=42
-MA=40
-MALACHI=39
-MARK=41
-MATTHEW=40
-MICAH=33
-MK=41
-MR=41
-MT=40
-N=4
-NAHUM=34
-NEHEMIAH=16
-NUMBERS=4
-OBADIAH=31
-P=19
-PH=50
-PHILEMON=57
-PHILIPPIANS=50
-PHLM=57
-PHM=57
-PHP=50
-PROVERBS=20
-PSALMS=19
-PSM=19
-PSS=19
-REVELATION OF JOHN=66
-ROMANS=45
-RUTH=8
-SONG OF SOLOMON=22
-SONG OF SONGS=22
-SOS=22
-TITUS=56
-ZECHARIAH=38
-ZEPHANIAH=36
+GENESIS=Gen
+GN=Gen
+1M=Gen
+1 M=Gen
+1 MOJ®I©OVA=Gen
+EXODUS=Exod
+EX=Exod
+2M=Exod
+2 M=Exod
+2 MOJ®I©OVA=Exod
+LEVITICUS=Lev
+LEVITIKUS=Lev
+LV=Lev
+3M=Lev
+3 M=Lev
+3 MOJ®I©OVA=Lev
+NUMERI=Num
+NM=Num
+NU=Num
+4M=Num
+4 M=Num
+4 MOJ®I©OVA=Num
+DEUTERONOMIUM=Deut
+DEUTERONÓMIUM=Deut
+DT=Deut
+5M=Deut
+5 M=Deut
+5 MOJ®I©OVA=Deut
+JOZUE=Josh
+JOZ=Josh
+SUDCOV=Judg
+SUD=Judg
+SDC=Judg
+RÚT=Ruth
+RUT=Ruth
+RT=Ruth
+1 SAMUELOVA=1Sam
+1SAM=1Sam
+1S=1Sam
+1 S=1Sam
+2 SAMUELOVA=2Sam
+2SAM=2Sam
+2S=2Sam
+2 S=2Sam
+1 KRÁ¥OVSKÁ=1Kgs
+1KR=1Kgs
+1 KR=1Kgs
+2 KRÁ¥OVSKÁ=2Kgs
+2KR=2Kgs
+2 KR=2Kgs
+1 KRONICKÁ=1Chr
+1 KRONÍK=1Chr
+1 PARALIPOMENOM=1Chr
+1KRN=1Chr
+1PA=1Chr
+1 PA=1Chr
+1 KRO=1Chr
+2 KRONICKÁ=2Chr
+2 KRONÍK=2Chr
+2 PARALIPOMENOM=2Chr
+2KRN=2Chr
+2PA=2Chr
+2 PA=2Chr
+2 KRO=2Chr
+EZDRÁ©=Ezra
+EZD=Ezra
+NEHEMIÁ©=Neh
+NEH=Neh
+ESTER=Esth
+EST=Esth
+JÓB=Job
+JOB=Job
+JB=Job
+®ALMY=Ps
+®=Ps
+Z=Ps
+PRÍSLOVIA=Prov
+PRIS=Prov
+PR=Prov
+KAZATE¥=Eccl
+KOHELET=Eccl
+KOH=Eccl
+KAZ=Eccl
+VE¥PIESEÒ=Song
+PIESEÒ PIESNÍ=Song
+PIESEÒ ©ALAMÚNOVA=Song
+PIES=Song
+PIE=Song
+VE¥=Song
+IZAIÁ©=Isa
+IZ=Isa
+JEREMIÁ©=Jer
+JER=Jer
+JR=Jer
+PLAÈ JEREMIÁ©OV=Lam
+NÁREKY=Lam
+NAR=Lam
+NÁR=Lam
+PL=Lam
+EZECHIEL=Ezek
+EZ=Ezek
+DANIEL=Dan
+DAN=Dan
+DN=Dan
+OZEÁ©=Hos
+HOZEÁ©=Hos
+OZ=Hos
+JOEL=Joel
+JL=Joel
+ÁMOS=Amos
+AM=Amos
+OBADIÁ©=Obad
+ABDIÁ©=Obad
+ABD=Obad
+OBA=Obad
+JONÁ©=Jonah
+JON=Jonah
+MICHEÁ©=Mic
+MICH=Mic
+MI=Mic
+NÁHUM=Nah
+NAH=Nah
+NA=Nah
+HABAKUK=Hab
+HAB=Hab
+SOFONIÁ©=Zeph
+SOF=Zeph
+SF=Zeph
+HAGEUS=Hag
+AGGEUS=Hag
+AG=Hag
+HAG=Hag
+ZACHARIÁ©=Zech
+ZACH=Zech
+ZA=Zech
+MALACHIÁ©=Mal
+MAL=Mal
+MATÚ©=Matt
+MT=Matt
+MAREK=Mark
+MK=Mark
+LUKÁ©=Luke
+LK=Luke
+L=Luke
+JÁN=John
+JN=John
+J=John
+SKUTKY=Acts
+SK=Acts
+RIMANOM=Rom
+RIM=Rom
+1 KORIN«ANOM=1Cor
+1KOR=1Cor
+1K=1Cor
+1 K=1Cor
+2 KORIN«ANOM=2Cor
+2KOR=2Cor
+2K=2Cor
+2 K=2Cor
+GALA«ANOM=Gal
+GAL=Gal
+GA=Gal
+EFEZANOM=Eph
+EF=Eph
+FILIPANOM=Phil
+FLP=Phil
+FP=Phil
+KOLOSANOM=Col
+KOL=Col
+KO=Col
+1 TESALONIÈANOM=1Thess
+1 SOLÚNÈANOM=1Thess
+1SOL=1Thess
+1TE=1Thess
+1 TE=1Thess
+2 TESALONIÈANOM=2Thess
+2 SOLÚNÈANOM=2Thess
+2SOL=2Thess
+2TE=2Thess
+2 TE=2Thess
+1 TIMOTEJOVI=1Tim
+1TIM=1Tim
+1TM=1Tim
+1 TM=1Tim
+2 TIMOTEJOVI=2Tim
+2TIM=2Tim
+2TM=2Tim
+2 TM=2Tim
+TÍTOVI=Titus
+TIT=Titus
+FILEMONOVI=Phlm
+FILEMÓNOVI=Phlm
+FLM=Phlm
+FM=Phlm
+HEBREJOM=Heb
+HEBR=Heb
+HE=Heb
+®IDOM=Heb
+®ID=Heb
+®D=Heb
+JAKUBOV=Jas
+JAK=Jas
+JK=Jas
+1 PETROV=1Pet
+1PT=1Pet
+1 PT=1Pet
+2 PETROV=2Pet
+2PT=2Pet
+2 PT=2Pet
+1 JÁNOV=1John
+1J=1John
+1Jn=1John
+1 J=1John
+2 JÁNOV=2John
+2J=2John
+2Jn=2John
+2 J=2John
+3 JÁNOV=3John
+3J=3John
+3Jn=3John
+3 J=3John
+JÚDOV=Jude
+JÚ=Jude
+JUD=Jude
+ZJAVENIE JÁNA=Rev
+ZJV=Rev
+ZJ=Rev
+
+1EZD=1Esd
+2EZD=2Esd
+
+TB=Tob
+TBT=Tob
+TOB=Tob
+
+MÚDR=Wis
+MUDR=Wis
+
+SIR=Sir
+SIRACH=Sir
+
+MODLITBA AZARIÁ©OVA=PrAzar
+AZARIÁ©=PrAzar
+AZAR=PrAzar
+
+MODLITBA MANASESA=PrMan
+MANASES=PrMan
+MAN=PrMan
+
+ZUZ=Sus
+
+1MAK=1Macc
+1 MAK=1Macc
+2MAK=2Macc
+2 MAK=2Macc
+3MAK=3Macc
+3 MAK=3Macc
+4MAK=4Macc
+4 MAK=4Macc
+
+BARUCH=Bar
+BAR=Bar
+
+JDT=Jdt
+
+PRÍDAVOK K ESTERI=AddEsth
+
+ESTERr (GRÉC.)=EsthGr
+
+ÏAL©IE ®ALMY=AddPs
+BEL=Bel
+BÉL AND DRAK=Bel
-GENESIS=1
-GN=1
-1M=1
-1 M=1
-EXODUS=2
-EX=2
-2M=2
-2 M=2
-LEVITICUS=3
-LV=3
-3M=3
-3 M=3
-NUMERI=4
-NU=4
-4M=4
-4 M=4
-DEUTERONOMIUM=5
-DT=5
-5M=5
-5 M=5
-JOZUE=6
-JOZ=6
-SUDCOV=7
-SUD=7
-RÚT=8
-RT=8
-1 SAMUELOVA=9
-1S=9
-1 S=9
-2 SAMUELOVA=10
-2S=10
-2 S=10
-1 KRÁµOVSKÁ=11
-1KR=11
-1 KR=11
-2 KRÁµOVSKÁ=12
-2KR=12
-2 KR=12
-1 KRONICKÁ=13
-1PA=13
-1 PA=13
-1 KRO=13
-2 KRONICKÁ=14
-2PA=14
-2 PA=14
-2 KRO=14
-EZDRÁ¹=15
-EZD=15
-NEHEMIÁ¹=16
-NEH=16
-ESTER=17
-EST=17
-JÓB=18
-JB=18
-®ALMY=19
-®=19
-PRÍSLOVIE=20
-PR=20
-KAZATEµ=21
-KAZ=21
-VEµPIESEÒ=22
-PIE=22
-VE¥=22
-IZAIÁ¹=23
-IZ=23
-JEREMIÁ¹=24
-JR=24
-PLAÈ JEREMIÁ¹OV=25
-PL=25
-EZECHIEL=26
-EZ=26
-DANIEL=27
-DN=27
-HOZEÁ¹=28
-OZ=28
-JOEL=29
-JL=29
-ÁMOS=30
-AM=30
-OBADIÁ¹=31
-OBA=31
-JONÁ¹=32
-JON=32
-MICHEÁ¹=33
-MI=33
-NÁHUM=34
-NA=34
-HABAKUK=35
-HAB=35
-SOFONIÁ¹=36
-SF=36
-HAGEUS=37
-HAG=37
-ZACHARIÁ¹=38
-ZA=38
-MALACHIÁ¹=39
-MAL=39
-MATÚ¹=40
-MT=40
-MAREK=41
-MK=41
-LUKÁ¹=42
-L=42
-JÁN=43
-J=43
-SKUTKY=44
-SK=44
-RIMANOM=45
-RIM=45
-1 KORIN»ANOM=46
-1K=46
-1 K=46
-2 KORIN»ANOM=47
-2K=47
-2 K=47
-GALA»ANOM=48
-GA=48
-EFEZANOM=49
-EF=49
-FILIPANOM=50
-FP=50
-KOLOSANOM=51
-KO=51
-1 TESALONIÈANOM=52
-1TE=52
-1 TE=52
-2 TESALONIÈANOM=53
-2TE=53
-2 TE=53
-1 TIMOTEJOVI=54
-1TM=54
-1 TM=54
-2 TIMOTEJOVI=55
-2TM=55
-2 TM=55
-TÍTOVI=56
-TIT=56
-FILEMONOVI=57
-FM=57
-HEBREJOM=58
-HE=58
-®D=58
-JAKUBOV=59
-JK=59
-1 PETROV=60
-1PT=60
-1 PT=60
-2 PETROV=61
-2PT=61
-2 PT=61
-1 JÁNOV=62
-1J=62
-1 J=62
-2 JÁNOV=63
-2J=63
-2 J=63
-3 JÁNOV=64
-3J=64
-3 J=64
-JÚDOV=65
-JÚ=65
-ZJAVENIE JÁNA=66
-ZJ=66
+TOBIÁ©=Tob
+JUDITA=Jdt
+ESTER (GRÉC.)=EsthGr
+MÚDROSTI=Wis
+SIRACHOVEC=Sir
+BÁRUCH=Bar
+ZUZANA=Sus
+BÉL A DRAK=Bel
+1 MACHABEJCOV=1Macc
+2 MACHABEJCOV=2Macc
+1 EZDRÁ©A=1Esd
+3 MACHABEJCOV=3Macc
+2 EZDRÁ©A=2Esd
+4 MACHABEJCOV=4Macc
diff --git a/locales.d/sl-utf8.conf b/locales.d/sl-utf8.conf
new file mode 100644
index 0000000..61ccf80
--- /dev/null
+++ b/locales.d/sl-utf8.conf
@@ -0,0 +1,254 @@
+[Meta]
+Name=sl
+Description=Slovenian (Unicode)
+Encoding=UTF-8
+
+[Text]
+Genesis=Geneza
+Exodus=Eksodus
+Leviticus=Levitik
+Numbers=Numeri
+Deuteronomy=Devteronomij
+Joshua=Jozue
+Judges=Sodniki
+Ruth=Ruta
+I Samuel=1 Samuel
+II Samuel=2 Samuel
+I Kings=1 Kraljev
+II Kings=2 Kraljev
+I Chronicles=1 Kroniska
+II Chronicles=2 Kroniska
+Ezra=Ezra
+Nehemiah=Nehemija
+Esther=Estera
+Job=Job
+Psalms=Psalmi
+Proverbs=Pregovori
+Ecclesiastes=Pridigar
+Song of Solomon=Visoka pesem
+Isaiah=Izaija
+Jeremiah=Jeremija
+Lamentations=Zalostinke
+Ezekiel=Ezekiel
+Daniel=Daniel
+Hosea=Ozej
+Joel=Joel
+Amos=Amos
+Obadiah=Abdija
+Jonah=Jona
+Micah=Mihej
+Nahum=Nahum
+Habakkuk=Habakuk
+Zephaniah=Sofonija
+Haggai=Agej
+Zechariah=Zaharija
+Malachi=Malahija
+Matthew=Matej
+Mark=Marko
+Luke=Luka
+John=Janez
+Acts=Dela
+Romans=Rimljanom
+I Corinthians=1 Korincanom
+II Corinthians=2 Korincanom
+Galatians=Galacanom
+Ephesians=Efezanom
+Philippians=Filipljanom
+Colossians=Kolosanom
+I Thessalonians=1 Tesalonicanom
+II Thessalonians=2 Tesalonicanom
+I Timothy=1 Timotej
+II Timothy=2 Timotej
+Titus=Tit
+Philemon=Filemon
+Hebrews=Hebrejcem
+James=Jakob
+I Peter=1 Peter
+II Peter=2 Peter
+I John=1 Janez
+II John=2 Janez
+III John=3 Janez
+Jude=Juda
+Revelation of John=Razodetje
+
+[Book Abbrevs]
+
+GENEZA=Gen
+GEN=Gen
+1MZ=Gen
+1 MZ=Gen
+EKSODUS=Exod
+EXO=Exod
+2MZ=Exod
+2 MZ=Exod
+LEVITIK=Lev
+LEV=Lev
+3MZ=Lev
+3 MZ=Lev
+NUMERI=Num
+NUM=Num
+4MZ=Num
+4 MZ=Num
+DEVTERONOMIJ=Deut
+DEU=Deut
+5MZ=Deut
+5 MZ=Deut
+JOZUE=Josh
+JOZ=Josh
+SODNIKI=Judg
+SOD=Judg
+RUTA=Ruth
+RUT=Ruth
+1SAMUEL=1Sam
+1 SAMUEL=1Sam
+1SAM=1Sam
+1 SAM=1Sam
+2SAMUEL=2Sam
+2 SAMUEL=2Sam
+2SAM=2Sam
+2 SAM=2Sam
+1KRALJEV=1Kgs
+1 KRALJEV=1Kgs
+1KR=1Kgs
+1 KR=1Kgs
+2KRALJEV=2Kgs
+2 KRALJEV=2Kgs
+2KR=2Kgs
+2 KR=2Kgs
+1KRONISKA=1Chr
+1 KRONISKA=1Chr
+1KRN=1Chr
+1 KRN=1Chr
+2KRONISKA=2Chr
+2 KRONISKA=2Chr
+2KRN=2Chr
+2 KRN=2Chr
+EZRA=Ezra
+EZR=Ezra
+NEHEMIJA=Neh
+NEH=Neh
+ESTERA=Esth
+EST=Esth
+JOB=Job
+PSALMI=Ps
+PS=Ps
+PREGOVORI=Prov
+PRG=Prov
+PRIDIGAR=Eccl
+PRD=Eccl
+VISOKA PESEM=Song
+VP=Song
+IZAIJA=Isa
+IZ=Isa
+JEREMIJA=Jer
+JER=Jer
+ZALOSTINKE=Lam
+ZAL=Lam
+EZEKIEL=Ezek
+EZK=Ezek
+DANIEL=Dan
+DAN=Dan
+OZEJ=Hos
+OZ=Hos
+JOEL=Joel
+JL=Joel
+AMOS=Amos
+AM=Amos
+ABDIJA=Obad
+ABD=Obad
+JONA=Jonah
+JON=Jonah
+MIHEJ=Mic
+MIH=Mic
+NAHUM=Nah
+NAH=Nah
+HABAKUK=Hab
+HAB=Hab
+SOFONIJA=Zeph
+SOF=Zeph
+AGEJ=Hag
+AG=Hag
+ZAHARIJA=Zech
+ZAH=Zech
+MALAHIJA=Mal
+MAL=Mal
+MATEJ=Matt
+MT=Matt
+MARKO=Mark
+MR=Mark
+LUKA=Luke
+LK=Luke
+JANEZ=John
+JN=John
+APOSTOLSKA DELA=Acts
+DELA=Acts
+APD=Acts
+RIMLJANOM=Rom
+RIM=Rom
+1KORINCANOM=1Cor
+1 KORINCANOM=1Cor
+1KOR=1Cor
+1 KOR=1Cor
+2KORINCANOM=2Cor
+2 KORINCANOM=2Cor
+2KOR=2Cor
+2 KOR=2Cor
+GALACANOM=Gal
+GAL=Gal
+EFEZANOM=Eph
+EF=Eph
+FILIPLJANOM=Phil
+FLP=Phil
+KOLOSANOM=Col
+KOL=Col
+1TESALONICANOM=1Thess
+1 TESALONICANOM=1Thess
+1TES=1Thess
+1 TES=1Thess
+2TESALONICANOM=2Thess
+2 TESALONICANOM=2Thess
+2TES=2Thess
+2 TES=2Thess
+1TIMOTEJ=1Tim
+1 TIMOTEJ=1Tim
+1TIM=1Tim
+1 TIM=1Tim
+2TIMOTEJ=2Tim
+2 TIMOTEJ=2Tim
+2TIM=2Tim
+2 TIM=2Tim
+TIT=Titus
+FILEMON=Phlm
+FLM=Phlm
+HEBREJCEM=Heb
+HEB=Heb
+JAKOB=Jas
+JAK=Jas
+1PETER=1Pet
+1 PETER=1Pet
+1PET=1Pet
+1 PET=1Pet
+1PT=1Pet
+1 PT=1Pet
+2PETER=2Pet
+2 PETER=2Pet
+2PET=2Pet
+2 PET=2Pet
+2PT=2Pet
+2 PT=2Pet
+1JANEZ=1John
+1 JANEZ=1John
+1JN=1John
+1 JN=1John
+2JANEZ=2John
+2 JANEZ=2John
+2JN=2John
+2 JN=2John
+3JANEZ=3John
+3 JANEZ=3John
+3JN=3John
+3 JN=3John
+JUDA=Jude
+JUD=Jude
+RAZODETJE=Rev
+RAZ=Rev
diff --git a/locales.d/sl.conf b/locales.d/sl.conf
index 0ef3eac..fb59af2 100644
--- a/locales.d/sl.conf
+++ b/locales.d/sl.conf
@@ -1,7 +1,7 @@
[Meta]
Name=sl
Description=Slovenian
-Encoding=ASCII
+Encoding=ISO8859-1
[Text]
Genesis=Geneza
@@ -72,367 +72,183 @@ Jude=Juda
Revelation of John=Razodetje
[Book Abbrevs]
-1 C=46
-1 CHRONICLES=13
-1 CORINTHIANS=46
-1 JN=62
-1 JOHN=62
-1 KGS=11
-1 KINGS=11
-1 PETER=60
-1 PTR=60
-1 SAMUEL=9
-1 THESSALONIANS=52
-1 TIMOTHY=54
-1C=46
-1CHRONICLES=13
-1CORINTHIANS=46
-1JN=62
-1JOHN=62
-1KGS=11
-1KINGS=11
-1PETER=60
-1PTR=60
-1SAMUEL=9
-1THESSALONIANS=52
-1TIMOTHY=54
-2 C=47
-2 CHRONICLES=14
-2 CORINTHIANS=47
-2 JN=63
-2 JOHN=63
-2 KGS=12
-2 KINGS=12
-2 PETER=61
-2 PTR=61
-2 SAMUEL=10
-2 THESSALONIANS=53
-2 TIMOTHY=55
-2C=47
-2CHRONICLES=14
-2CORINTHIANS=47
-2JN=63
-2JOHN=63
-2KGS=12
-2KINGS=12
-2PETER=61
-2PTR=61
-2SAMUEL=10
-2THESSALONIANS=53
-2TIMOTHY=55
-3 JN=64
-3 JOHN=64
-3JN=64
-3JOHN=64
-ACTS=44
-AMOS=30
-APOCALYPSE OF ST. JOHN=66
-C=51
-CANTICLE OF CANTICLES=22
-COC=22
-COLOSSIANS=51
-D=5
-DANIEL=27
-DEUTERONOMY=5
-E=49
-ECCLESIASTES=21
-EPHESIANS=49
-ESTER=17
-ESTHER=17
-EXODUS=2
-EZEKIEL=26
-EZRA=15
-G=1
-GALATIANS=48
-GENESIS=1
-H=58
-HABAKKUK=35
-HAGGAI=37
-HEBREWS=58
-HOSEA=28
-I C=46
-I CHRONICLES=13
-I CORINTHIANS=46
-I JN=62
-I JOHN=62
-I KGS=11
-I KINGS=11
-I PETER=60
-I PTR=60
-I SAMUEL=9
-I THESSALONIANS=52
-I TIMOTHY=54
-IC=46
-ICHRONICLES=13
-ICORINTHIANS=46
-II C=47
-II CHRONICLES=14
-II CORINTHIANS=47
-II JN=63
-II JOHN=63
-II KGS=12
-II KINGS=12
-II PETER=61
-II PTR=61
-II SAMUEL=10
-II THESSALONIANS=53
-II TIMOTHY=55
-IIC=47
-IICHRONICLES=14
-IICORINTHIANS=47
-III JN=64
-III JOHN=64
-IIIJN=64
-IIIJOHN=64
-IIJN=63
-IIJOHN=63
-IIKGS=12
-IIKINGS=12
-IIPETER=61
-IIPTR=61
-IISAMUEL=10
-IITHESSALONIANS=53
-IITIMOTHY=55
-IJN=62
-IJOHN=62
-IKGS=11
-IKINGS=11
-IPETER=60
-IPTR=60
-ISA=23
-ISAIAH=23
-ISAMUEL=9
-ITHESSALONIANS=52
-ITIMOTHY=54
-J=43
-JAMES=59
-JAS=59
-JEREMIAH=24
-JN=43
-JO=43
-JOB=18
-JOEL=29
-JOHN=43
-JONAH=32
-JOSHUA=6
-JUD=7
-JUDE=65
-JUDGES=7
-L=42
-LAMENTATIONS=25
-LEVITICUS=3
-LK=42
-LUKE=42
-MA=40
-MALACHI=39
-MARK=41
-MATTHEW=40
-MICAH=33
-MK=41
-MR=41
-MT=40
-N=4
-NAHUM=34
-NEHEMIAH=16
-NUMBERS=4
-OBADIAH=31
-P=19
-PH=50
-PHILEMON=57
-PHILIPPIANS=50
-PHLM=57
-PHM=57
-PHP=50
-PROVERBS=20
-PSALMS=19
-PSM=19
-PSS=19
-REVELATION OF JOHN=66
-ROMANS=45
-RUTH=8
-SONG OF SOLOMON=22
-SONG OF SONGS=22
-SOS=22
-TITUS=56
-ZECHARIAH=38
-ZEPHANIAH=36
-GENEZA=1
-GEN=1
-1MZ=1
-1 MZ=1
-EKSODUS=2
-EXO=2
-2MZ=2
-2 MZ=2
-LEVITIK=3
-LEV=3
-3MZ=3
-3 MZ=3
-NUMERI=4
-NUM=4
-4MZ=4
-4 MZ=4
-DEVTERONOMIJ=5
-DEU=5
-5MZ=5
-5 MZ=5
-JOZUE=6
-JOZ=6
-SODNIKI=7
-SOD=7
-RUTA=8
-RUT=8
-1SAMUEL=9
-1 SAMUEL=9
-1SAM=9
-1 SAM=9
-2SAMUEL=10
-2 SAMUEL=10
-2SAM=10
-2 SAM=10
-1KRALJEV=11
-1 KRALJEV=11
-1KR=11
-1 KR=11
-2KRALJEV=12
-2 KRALJEV=12
-2KR=12
-2 KR=12
-1KRONISKA=13
-1 KRONISKA=13
-1KRN=13
-1 KRN=13
-2KRONISKA=14
-2 KRONISKA=14
-2KRN=14
-2 KRN=14
-EZRA=15
-EZR=15
-NEHEMIJA=16
-NEH=16
-ESTERA=17
-EST=17
-JOB=18
-PSALMI=19
-PS=19
-PREGOVORI=20
-PRG=20
-PRIDIGAR=21
-PRD=21
-VISOKA PESEM=22
-VP=22
-IZAIJA=23
-IZ=23
-JEREMIJA=24
-JER=24
-ZALOSTINKE=25
-ZAL=25
-EZEKIEL=26
-EZK=26
-DANIEL=27
-DAN=27
-OZEJ=28
-OZ=28
-JOEL=29
-JL=29
-AMOS=30
-AM=30
-ABDIJA=31
-ABD=31
-JONA=32
-JON=32
-MIHEJ=33
-MIH=33
-NAHUM=34
-NAH=34
-HABAKUK=35
-HAB=35
-SOFONIJA=36
-SOF=36
-AGEJ=37
-AG=37
-ZAHARIJA=38
-ZAH=38
-MALAHIJA=39
-MAL=39
-MATEJ=40
-MT=40
-MARKO=41
-MR=41
-LUKA=42
-LK=42
-JANEZ=43
-JN=43
-APOSTOLSKA DELA=44
-DELA=44
-APD=44
-RIMLJANOM=45
-RIM=45
-1KORINCANOM=46
-1 KORINCANOM=46
-1KOR=46
-1 KOR=46
-2KORINCANOM=47
-2 KORINCANOM=47
-2KOR=47
-2 KOR=47
-GALACANOM=48
-GAL=48
-EFEZANOM=49
-EF=49
-FILIPLJANOM=50
-FLP=50
-KOLOSANOM=51
-KOL=51
-1TESALONICANOM=52
-1 TESALONICANOM=52
-1TES=52
-1 TES=52
-2TESALONICANOM=53
-2 TESALONICANOM=53
-2TES=53
-2 TES=53
-1TIMOTEJ=54
-1 TIMOTEJ=54
-1TIM=54
-1 TIM=54
-2TIMOTEJ=55
-2 TIMOTEJ=55
-2TIM=55
-2 TIM=55
-TIT=56
-FILEMON=57
-FLM=57
-HEBREJCEM=58
-HEB=58
-JAKOB=59
-JAK=59
-1PETER=60
-1 PETER=60
-1PET=60
-1 PET=60
-1PT=60
-1 PT=60
-2PETER=61
-2 PETER=61
-2PET=61
-2 PET=61
-2PT=61
-2 PT=61
-1JANEZ=62
-1 JANEZ=62
-1JN=62
-1 JN=62
-2JANEZ=63
-2 JANEZ=63
-2JN=63
-2 JN=63
-3JANEZ=64
-3 JANEZ=64
-3JN=64
-3 JN=64
-JUDA=65
-JUD=65
-RAZODETJE=66
-RAZ=66
+GENEZA=Gen
+GEN=Gen
+1MZ=Gen
+1 MZ=Gen
+EKSODUS=Exod
+EXO=Exod
+2MZ=Exod
+2 MZ=Exod
+LEVITIK=Lev
+LEV=Lev
+3MZ=Lev
+3 MZ=Lev
+NUMERI=Num
+NUM=Num
+4MZ=Num
+4 MZ=Num
+DEVTERONOMIJ=Deut
+DEU=Deut
+5MZ=Deut
+5 MZ=Deut
+JOZUE=Josh
+JOZ=Josh
+SODNIKI=Judg
+SOD=Judg
+RUTA=Ruth
+RUT=Ruth
+1SAMUEL=1Sam
+1 SAMUEL=1Sam
+1SAM=1Sam
+1 SAM=1Sam
+2SAMUEL=2Sam
+2 SAMUEL=2Sam
+2SAM=2Sam
+2 SAM=2Sam
+1KRALJEV=1Kgs
+1 KRALJEV=1Kgs
+1KR=1Kgs
+1 KR=1Kgs
+2KRALJEV=2Kgs
+2 KRALJEV=2Kgs
+2KR=2Kgs
+2 KR=2Kgs
+1KRONISKA=1Chr
+1 KRONISKA=1Chr
+1KRN=1Chr
+1 KRN=1Chr
+2KRONISKA=2Chr
+2 KRONISKA=2Chr
+2KRN=2Chr
+2 KRN=2Chr
+EZRA=Ezra
+EZR=Ezra
+NEHEMIJA=Neh
+NEH=Neh
+ESTERA=Esth
+EST=Esth
+JOB=Job
+PSALMI=Ps
+PS=Ps
+PREGOVORI=Prov
+PRG=Prov
+PRIDIGAR=Eccl
+PRD=Eccl
+VISOKA PESEM=Song
+VP=Song
+IZAIJA=Isa
+IZ=Isa
+JEREMIJA=Jer
+JER=Jer
+ZALOSTINKE=Lam
+ZAL=Lam
+EZEKIEL=Ezek
+EZK=Ezek
+DANIEL=Dan
+DAN=Dan
+OZEJ=Hos
+OZ=Hos
+JOEL=Joel
+JL=Joel
+AMOS=Amos
+AM=Amos
+ABDIJA=Obad
+ABD=Obad
+JONA=Jonah
+JON=Jonah
+MIHEJ=Mic
+MIH=Mic
+NAHUM=Nah
+NAH=Nah
+HABAKUK=Hab
+HAB=Hab
+SOFONIJA=Zeph
+SOF=Zeph
+AGEJ=Hag
+AG=Hag
+ZAHARIJA=Zech
+ZAH=Zech
+MALAHIJA=Mal
+MAL=Mal
+MATEJ=Matt
+MT=Matt
+MARKO=Mark
+MR=Mark
+LUKA=Luke
+LK=Luke
+JANEZ=John
+JN=John
+APOSTOLSKA DELA=Acts
+DELA=Acts
+APD=Acts
+RIMLJANOM=Rom
+RIM=Rom
+1KORINCANOM=1Cor
+1 KORINCANOM=1Cor
+1KOR=1Cor
+1 KOR=1Cor
+2KORINCANOM=2Cor
+2 KORINCANOM=2Cor
+2KOR=2Cor
+2 KOR=2Cor
+GALACANOM=Gal
+GAL=Gal
+EFEZANOM=Eph
+EF=Eph
+FILIPLJANOM=Phil
+FLP=Phil
+KOLOSANOM=Col
+KOL=Col
+1TESALONICANOM=1Thess
+1 TESALONICANOM=1Thess
+1TES=1Thess
+1 TES=1Thess
+2TESALONICANOM=2Thess
+2 TESALONICANOM=2Thess
+2TES=2Thess
+2 TES=2Thess
+1TIMOTEJ=1Tim
+1 TIMOTEJ=1Tim
+1TIM=1Tim
+1 TIM=1Tim
+2TIMOTEJ=2Tim
+2 TIMOTEJ=2Tim
+2TIM=2Tim
+2 TIM=2Tim
+TIT=Titus
+FILEMON=Phlm
+FLM=Phlm
+HEBREJCEM=Heb
+HEB=Heb
+JAKOB=Jas
+JAK=Jas
+1PETER=1Pet
+1 PETER=1Pet
+1PET=1Pet
+1 PET=1Pet
+1PT=1Pet
+1 PT=1Pet
+2PETER=2Pet
+2 PETER=2Pet
+2PET=2Pet
+2 PET=2Pet
+2PT=2Pet
+2 PT=2Pet
+1JANEZ=1John
+1 JANEZ=1John
+1JN=1John
+1 JN=1John
+2JANEZ=2John
+2 JANEZ=2John
+2JN=2John
+2 JN=2John
+3JANEZ=3John
+3 JANEZ=3John
+3JN=3John
+3 JN=3John
+JUDA=Jude
+JUD=Jude
+RAZODETJE=Rev
+RAZ=Rev
diff --git a/locales.d/sv-utf8.conf b/locales.d/sv-utf8.conf
index bd1bae2..3efb964 100644
--- a/locales.d/sv-utf8.conf
+++ b/locales.d/sv-utf8.conf
@@ -1,9 +1,8 @@
[Meta]
Name=sv
-Description=Swedish (Unicode)
+Description=Svensk (Unicode)
Encoding=UTF-8
-
[Text]
Genesis=1. Mosebok
Exodus=2. Mosebok
@@ -73,457 +72,272 @@ Jude=Judas brev
Revelation of John=Uppenbarelseboken
[Book Abbrevs]
-1 C=46
-1 CHRONICLES=13
-1 CORINTHIANS=46
-1 JN=62
-1 JOHN=62
-1 KGS=11
-1 KINGS=11
-1 PETER=60
-1 PTR=60
-1 SAMUEL=9
-1 THESSALONIANS=52
-1 TIMOTHY=54
-1C=46
-1CHRONICLES=13
-1CORINTHIANS=46
-1JN=62
-1JOHN=62
-1KGS=11
-1KINGS=11
-1PETER=60
-1PTR=60
-1SAMUEL=9
-1THESSALONIANS=52
-1TIMOTHY=54
-2 C=47
-2 CHRONICLES=14
-2 CORINTHIANS=47
-2 JN=63
-2 JOHN=63
-2 KGS=12
-2 KINGS=12
-2 PETER=61
-2 PTR=61
-2 SAMUEL=10
-2 THESSALONIANS=53
-2 TIMOTHY=55
-2C=47
-2CHRONICLES=14
-2CORINTHIANS=47
-2JN=63
-2JOHN=63
-2KGS=12
-2KINGS=12
-2PETER=61
-2PTR=61
-2SAMUEL=10
-2THESSALONIANS=53
-2TIMOTHY=55
-3 JN=64
-3 JOHN=64
-3JN=64
-3JOHN=64
-ACTS=44
-AMOS=30
-APOCALYPSE OF ST. JOHN=66
-C=51
-CANTICLE OF CANTICLES=22
-COC=22
-COLOSSIANS=51
-D=5
-DANIEL=27
-DEUTERONOMY=5
-E=49
-ECCLESIASTES=21
-EPHESIANS=49
-ESTER=17
-ESTHER=17
-EXODUS=2
-EZEKIEL=26
-EZRA=15
-G=1
-GALATIANS=48
-GENESIS=1
-H=58
-HABAKKUK=35
-HAGGAI=37
-HEBREWS=58
-HOSEA=28
-I C=46
-I CHRONICLES=13
-I CORINTHIANS=46
-I JN=62
-I JOHN=62
-I KGS=11
-I KINGS=11
-I PETER=60
-I PTR=60
-I SAMUEL=9
-I THESSALONIANS=52
-I TIMOTHY=54
-IC=46
-ICHRONICLES=13
-ICORINTHIANS=46
-II C=47
-II CHRONICLES=14
-II CORINTHIANS=47
-II JN=63
-II JOHN=63
-II KGS=12
-II KINGS=12
-II PETER=61
-II PTR=61
-II SAMUEL=10
-II THESSALONIANS=53
-II TIMOTHY=55
-IIC=47
-IICHRONICLES=14
-IICORINTHIANS=47
-III JN=64
-III JOHN=64
-IIIJN=64
-IIIJOHN=64
-IIJN=63
-IIJOHN=63
-IIKGS=12
-IIKINGS=12
-IIPETER=61
-IIPTR=61
-IISAMUEL=10
-IITHESSALONIANS=53
-IITIMOTHY=55
-IJN=62
-IJOHN=62
-IKGS=11
-IKINGS=11
-IPETER=60
-IPTR=60
-ISA=23
-ISAIAH=23
-ISAMUEL=9
-ITHESSALONIANS=52
-ITIMOTHY=54
-J=43
-JAMES=59
-JAS=59
-JEREMIAH=24
-JN=43
-JO=43
-JOB=18
-JOEL=29
-JOHN=43
-JONAH=32
-JOSHUA=6
-JUD=7
-JUDE=65
-JUDGES=7
-L=42
-LAMENTATIONS=25
-LEVITICUS=3
-LK=42
-LUKE=42
-MA=40
-MALACHI=39
-MARK=41
-MATTHEW=40
-MICAH=33
-MK=41
-MR=41
-MT=40
-N=4
-NAHUM=34
-NEHEMIAH=16
-NUMBERS=4
-OBADIAH=31
-P=19
-PH=50
-PHILEMON=57
-PHILIPPIANS=50
-PHLM=57
-PHM=57
-PHP=50
-PROVERBS=20
-PSALMS=19
-PSM=19
-PSS=19
-REVELATION OF JOHN=66
-ROMANS=45
-RUTH=8
-SONG OF SOLOMON=22
-SONG OF SONGS=22
-SOS=22
-TITUS=56
-ZECHARIAH=38
-ZEPHANIAH=36
-
-1. MOSEBOK=1
-1 MOSEBOK=1
-2. MOSEBOK=2
-2 MOSEBOK=2
+1. MOSEBOK=Gen
+1 MOSEBOK=Gen
-3. MOSEBOK=3
-3 MOSEBOK=3
+2. MOSEBOK=Exod
+2 MOSEBOK=Exod
-4. MOSEBOK=4
-4 MOSEBOK=4
+3. MOSEBOK=Lev
+3 MOSEBOK=Lev
-5. MOSEBOK=5
-5 MOSEBOK=5
+4. MOSEBOK=Num
+4 MOSEBOK=Num
-JOSUA=6
-DOMARBOKEN=7
-RUT=8
+5. MOSEBOK=Deut
+5 MOSEBOK=Deut
-1. SAMUELSBOKEN=9
-1 SAMUELSBOKEN=9
+JOSUA=Josh
+DOMARBOKEN=Judg
+RUT=Ruth
-2. SAMUELSBOKEN=10
-2 SAMUELSBOKEN=10
+1. SAMUELSBOKEN=1Sam
+1 SAMUELSBOKEN=1Sam
-1. KUNGABOKEN=11
-1 KUNGABOKEN=11
+2. SAMUELSBOKEN=2Sam
+2 SAMUELSBOKEN=2Sam
-2. KUNGABOKEN=12
-2 KUNGABOKEN=12
+1. KUNGABOKEN=1Kgs
+1 KUNGABOKEN=1Kgs
-1. KRÖNIKEBOKEN=13
-1 KRÖNIKEBOKEN=13
+2. KUNGABOKEN=2Kgs
+2 KUNGABOKEN=2Kgs
-2. KRÖNIKEBOKEN=14
-2 KRÖNIKEBOKEN=14
+1. KRÖNIKEBOKEN=1Chr
+1 KRÖNIKEBOKEN=1Chr
-ESRA=15
-NEHEMJA=16
-ESTER=17
-JOB=18
-PSALTAREN=19
-ORDSPRÃ…KSBOKEN=20
-PREDIKAREN=21
-HÖGA VISAN=22
-JESAJA=23
-JEREMIA=24
-KLAGOVISORNA=25
-HESEKIEL=26
-DANIEL=27
-HOSEA=28
-JOEL=29
-AMOS=30
-OBADJA=31
-JONA=32
-MIKA=33
-NAAHUM=34
-HABACKUK=35
-SEFANJA=36
-HAGGAI=37
-SAKARJA=38
-MALAKI=39
-MATTEUS=40
-MARKUS=41
-LUKAS=42
-JOHANNES=43
-APOSTLAGÄRNINGARNA=44
-ROMARBREVET=45
+2. KRÖNIKEBOKEN=2Chr
+2 KRÖNIKEBOKEN=2Chr
-1. KORINTIERBREVET=46
-1 KORINTIERBREVET=46
+ESRA=Ezra
+NEHEMJA=Neh
+ESTER=Esth
+JOB=Job
+PSALTAREN=Ps
+ORDSPRÃ…KSBOKEN=Prov
+PREDIKAREN=Eccl
+HÖGA VISAN=Song
+JESAJA=Isa
+JEREMIA=Jer
+KLAGOVISORNA=Lam
+HESEKIEL=Ezek
+DANIEL=Dan
+HOSEA=Hos
+JOEL=Joel
+AMOS=Amos
+OBADJA=Obad
+JONA=Jonah
+MIKA=Mic
+NAAHUM=Nah
+HABACKUK=Hab
+SEFANJA=Zeph
+HAGGAI=Hag
+SAKARJA=Zech
+MALAKI=Mal
+MATTEUS=Matt
+MARKUS=Mark
+LUKAS=Luke
+JOHANNES=John
+APOSTLAGÄRNINGARNA=Acts
+ROMARBREVET=Rom
-2. KORINTIERBREVET=47
-2 KORINTIERBREVET=47
+1. KORINTIERBREVET=1Cor
+1 KORINTIERBREVET=1Cor
-GALATERBREVET=48
-EFESIERBREVET=49
-FILIPPERBREVET=50
-KOLOSSERBREVET=51
+2. KORINTIERBREVET=2Cor
+2 KORINTIERBREVET=2Cor
-1. TESSALONIKERBREVET=52
-1 TESSALONIKERBREVET=52
+GALATERBREVET=Gal
+EFESIERBREVET=Eph
+FILIPPERBREVET=Phil
+KOLOSSERBREVET=Col
-2. TESSALONIKERBREVET=53
-2 TESSALONIKERBREVET=53
+1. TESSALONIKERBREVET=1Thess
+1 TESSALONIKERBREVET=1Thess
-1. TIMOTEUSBREVET=54
-1 TIMOTEUSBREVET=54
+2. TESSALONIKERBREVET=2Thess
+2 TESSALONIKERBREVET=2Thess
-2. TIMOTEUSBREVET=55
-2 TIMOTEUSBREVET=55
+1. TIMOTEUSBREVET=1Tim
+1 TIMOTEUSBREVET=1Tim
-BREVET TILL TITUS=56
-BREVET TILL FILEMON=57
-HEBREERBREVET=58
-JAKOBS BREV=59
+2. TIMOTEUSBREVET=2Tim
+2 TIMOTEUSBREVET=2Tim
-1. PETRUSBREVET=60
-1 PETRUSBREVET=60
+BREVET TILL TITUS=Titus
+BREVET TILL FILEMON=Phlm
+HEBREERBREVET=Heb
+JAKOBS BREV=Jas
-2. PETRUSBREVET=61
-2 PETRUSBREVET=61
+1. PETRUSBREVET=1Pet
+1 PETRUSBREVET=1Pet
-1. JOHANNESBREVET=62
-1 JOHANNESBREVET=62
+2. PETRUSBREVET=2Pet
+2 PETRUSBREVET=2Pet
-2. JOHANNESBREVET=63
-2 JOHANNESBREVET=63
+1. JOHANNESBREVET=1John
+1 JOHANNESBREVET=1John
-3. JOHANNESBREVET=64
-3 JOHANNESBREVET=64
+2. JOHANNESBREVET=2John
+2 JOHANNESBREVET=2John
-JUDAS BREV=65
-UPPENBARELSEBOKEN=66
-1. MOS=1
-1.MOS=1
-1 MOS=1
-1MOS=1
-2. MOS=2
-2.MOS=2
-2 MOS=2
-2MOS=2
-3. MOS=3
-3.MOS=3
-3 MOS=3
-3MOS=3
-4. MOS=4
-4.MOS=4
-4 MOS=4
-4MOS=4
-5. MOS=5
-5.MOS=5
-5 MOS=5
-5MOS=5
-JOS=6
-RUT=8
-DOM=7
-1. SAM=9
-1.SAM=9
-1 SAM=9
-1SAM=9
-2. SAM=10
-2.SAM=10
-2 SAM=10
-2SAM=10
-1. KUNG=11
-1.KUNG=11
-1 KUNG=11
-1KUNG=11
-2. KUNG=12
-2.KUNG=12
-2 KUNG=12
-2KUNG=12
-1. KRÖN=13
-1.KRÖN=13
-1 KRÖN=13
-1KRÖN=13
-2. KRÖN=14
-2.KRÖN=14
-2 KRÖN=14
-2KRÖN=14
-NEH=16
-EST=17
-PS=19
-ORDS=20
-PRED=21
-HÖGAV=22
-HÖGAV.=22
-HÖGA V=22
-HÖGA V.=22
-HÖG V=22
-HÖG. V=22
-HÖG. V.=22
-HÖG V.=22
-HV=22
-H.V=22
-H.V.=22
-H V.=22
-H V=22
-HÖGA VISAN=22
-JES=23
-JER=24
-KLAG=25
-HES=26
-DAN=27
-HOS=28
-JOEL=29
-AM=30
-AMOS=30
-OB=31
-JONA=32
-MIK=33
-MIKA=33
-NAH=34
-HAB=35
-SEF=36
-HAGG=37
-SAK=38
-MAL=39
-MATT=40
-MARK=41
-LUK=42
-JOH=43
-APG=44
-AP=44
-ROM=45
-1. KOR=46
-1.KOR=46
-1 KOR=46
-1KOR=46
-2. KOR=47
-2.KOR=47
-2 KOR=47
-2KOR=47
-GAL=48
-EF=49
-FIL=50
-KOL=51
-1. TESS=52
-1.TESS=52
-1 TESS=52
-1TESS=52
-2. TESS=53
-2.TESS=53
-2 TESS=53
-2TESS=53
-1. THESS=52
-1.THESS=52
-1 THESS=52
-1THESS=52
-2. THESS=53
-2.THESS=53
-2 THESS=53
-2THESS=53
-1. TIM=54
-1.TIM=54
-1 TIM=54
-1TIM=54
-2. TIM=55
-2.TIM=55
-2 TIM=55
-2TIM=55
-TIT=56
-FILEM=57
-HEBR=58
-JAK=59
-1. PET=60
-1.PET=60
-1 PET=60
-1PET=60
-2. PET=61
-2.PET=61
-2 PET=61
-2PET=61
-1. JOH=62
-1.JOH=62
-1 JOH=62
-1JOH=62
-2. JOH=63
-2.JOH=63
-2 JOH=63
-2JOH=63
-3. JOH=64
-3.JOH=64
-3 JOH=64
-3JOH=64
-JUD=65
-UPP=66
+3. JOHANNESBREVET=3John
+3 JOHANNESBREVET=3John
+JUDAS BREV=Jude
+UPPENBARELSEBOKEN=Rev
+1. MOS=Gen
+1.MOS=Gen
+1 MOS=Gen
+1MOS=Gen
+2. MOS=Exod
+2.MOS=Exod
+2 MOS=Exod
+2MOS=Exod
+3. MOS=Lev
+3.MOS=Lev
+3 MOS=Lev
+3MOS=Lev
+4. MOS=Num
+4.MOS=Num
+4 MOS=Num
+4MOS=Num
+5. MOS=Deut
+5.MOS=Deut
+5 MOS=Deut
+5MOS=Deut
+JOS=Josh
+RUT=Ruth
+DOM=Judg
+1. SAM=1Sam
+1.SAM=1Sam
+1 SAM=1Sam
+1SAM=1Sam
+2. SAM=2Sam
+2.SAM=2Sam
+2 SAM=2Sam
+2SAM=2Sam
+1. KUNG=1Kgs
+1.KUNG=1Kgs
+1 KUNG=1Kgs
+1KUNG=1Kgs
+2. KUNG=2Kgs
+2.KUNG=2Kgs
+2 KUNG=2Kgs
+2KUNG=2Kgs
+1. KRÖN=1Chr
+1.KRÖN=1Chr
+1 KRÖN=1Chr
+1KRÖN=1Chr
+2. KRÖN=2Chr
+2.KRÖN=2Chr
+2 KRÖN=2Chr
+2KRÖN=2Chr
+NEH=Neh
+EST=Esth
+PS=Ps
+ORDS=Prov
+PRED=Eccl
+HÖGAV=Song
+HÖGAV.=Song
+HÖGA V=Song
+HÖGA V.=Song
+HÖG V=Song
+HÖG. V=Song
+HÖG. V.=Song
+HÖG V.=Song
+HV=Song
+H.V=Song
+H.V.=Song
+H V.=Song
+H V=Song
+HÖGA VISAN=Song
+JES=Isa
+JER=Jer
+KLAG=Lam
+HES=Ezek
+DAN=Dan
+HOS=Hos
+JOEL=Joel
+AM=Amos
+AMOS=Amos
+OB=Obad
+JONA=Jonah
+MIK=Mic
+MIKA=Mic
+NAH=Nah
+HAB=Hab
+SEF=Zeph
+HAGG=Hag
+SAK=Zech
+MAL=Mal
+MATT=Matt
+MARK=Mark
+LUK=Luke
+JOH=John
+APG=Acts
+AP=Acts
+ROM=Rom
+1. KOR=1Cor
+1.KOR=1Cor
+1 KOR=1Cor
+1KOR=1Cor
+2. KOR=2Cor
+2.KOR=2Cor
+2 KOR=2Cor
+2KOR=2Cor
+GAL=Gal
+EF=Eph
+FIL=Phil
+KOL=Col
+1. TESS=1Thess
+1.TESS=1Thess
+1 TESS=1Thess
+1TESS=1Thess
+2. TESS=2Thess
+2.TESS=2Thess
+2 TESS=2Thess
+2TESS=2Thess
+1. THESS=1Thess
+1.THESS=1Thess
+1 THESS=1Thess
+1THESS=1Thess
+2. THESS=2Thess
+2.THESS=2Thess
+2 THESS=2Thess
+2THESS=2Thess
+1. TIM=1Tim
+1.TIM=1Tim
+1 TIM=1Tim
+1TIM=1Tim
+2. TIM=2Tim
+2.TIM=2Tim
+2 TIM=2Tim
+2TIM=2Tim
+TIT=Titus
+FILEM=Phlm
+HEBR=Heb
+JAK=Jas
+1. PET=1Pet
+1.PET=1Pet
+1 PET=1Pet
+1PET=1Pet
+2. PET=2Pet
+2.PET=2Pet
+2 PET=2Pet
+2PET=2Pet
+1. JOH=1John
+1.JOH=1John
+1 JOH=1John
+1JOH=1John
+2. JOH=2John
+2.JOH=2John
+2 JOH=2John
+2JOH=2John
+3. JOH=3John
+3.JOH=3John
+3 JOH=3John
+3JOH=3John
+JUD=Jude
+UPP=Rev
diff --git a/locales.d/sv.conf b/locales.d/sv.conf
index a64f67c..68f0afd 100644
--- a/locales.d/sv.conf
+++ b/locales.d/sv.conf
@@ -1,6 +1,7 @@
[Meta]
Name=sv
-Description=Swedish
+Description=Svensk
+Encoding=ISO8859-1
[Text]
Genesis=1. Mosebok
@@ -71,457 +72,273 @@ Jude=Judas brev
Revelation of John=Uppenbarelseboken
[Book Abbrevs]
-1 C=46
-1 CHRONICLES=13
-1 CORINTHIANS=46
-1 JN=62
-1 JOHN=62
-1 KGS=11
-1 KINGS=11
-1 PETER=60
-1 PTR=60
-1 SAMUEL=9
-1 THESSALONIANS=52
-1 TIMOTHY=54
-1C=46
-1CHRONICLES=13
-1CORINTHIANS=46
-1JN=62
-1JOHN=62
-1KGS=11
-1KINGS=11
-1PETER=60
-1PTR=60
-1SAMUEL=9
-1THESSALONIANS=52
-1TIMOTHY=54
-2 C=47
-2 CHRONICLES=14
-2 CORINTHIANS=47
-2 JN=63
-2 JOHN=63
-2 KGS=12
-2 KINGS=12
-2 PETER=61
-2 PTR=61
-2 SAMUEL=10
-2 THESSALONIANS=53
-2 TIMOTHY=55
-2C=47
-2CHRONICLES=14
-2CORINTHIANS=47
-2JN=63
-2JOHN=63
-2KGS=12
-2KINGS=12
-2PETER=61
-2PTR=61
-2SAMUEL=10
-2THESSALONIANS=53
-2TIMOTHY=55
-3 JN=64
-3 JOHN=64
-3JN=64
-3JOHN=64
-ACTS=44
-AMOS=30
-APOCALYPSE OF ST. JOHN=66
-C=51
-CANTICLE OF CANTICLES=22
-COC=22
-COLOSSIANS=51
-D=5
-DANIEL=27
-DEUTERONOMY=5
-E=49
-ECCLESIASTES=21
-EPHESIANS=49
-ESTER=17
-ESTHER=17
-EXODUS=2
-EZEKIEL=26
-EZRA=15
-G=1
-GALATIANS=48
-GENESIS=1
-H=58
-HABAKKUK=35
-HAGGAI=37
-HEBREWS=58
-HOSEA=28
-I C=46
-I CHRONICLES=13
-I CORINTHIANS=46
-I JN=62
-I JOHN=62
-I KGS=11
-I KINGS=11
-I PETER=60
-I PTR=60
-I SAMUEL=9
-I THESSALONIANS=52
-I TIMOTHY=54
-IC=46
-ICHRONICLES=13
-ICORINTHIANS=46
-II C=47
-II CHRONICLES=14
-II CORINTHIANS=47
-II JN=63
-II JOHN=63
-II KGS=12
-II KINGS=12
-II PETER=61
-II PTR=61
-II SAMUEL=10
-II THESSALONIANS=53
-II TIMOTHY=55
-IIC=47
-IICHRONICLES=14
-IICORINTHIANS=47
-III JN=64
-III JOHN=64
-IIIJN=64
-IIIJOHN=64
-IIJN=63
-IIJOHN=63
-IIKGS=12
-IIKINGS=12
-IIPETER=61
-IIPTR=61
-IISAMUEL=10
-IITHESSALONIANS=53
-IITIMOTHY=55
-IJN=62
-IJOHN=62
-IKGS=11
-IKINGS=11
-IPETER=60
-IPTR=60
-ISA=23
-ISAIAH=23
-ISAMUEL=9
-ITHESSALONIANS=52
-ITIMOTHY=54
-J=43
-JAMES=59
-JAS=59
-JEREMIAH=24
-JN=43
-JO=43
-JOB=18
-JOEL=29
-JOHN=43
-JONAH=32
-JOSHUA=6
-JUD=7
-JUDE=65
-JUDGES=7
-L=42
-LAMENTATIONS=25
-LEVITICUS=3
-LK=42
-LUKE=42
-MA=40
-MALACHI=39
-MARK=41
-MATTHEW=40
-MICAH=33
-MK=41
-MR=41
-MT=40
-N=4
-NAHUM=34
-NEHEMIAH=16
-NUMBERS=4
-OBADIAH=31
-P=19
-PH=50
-PHILEMON=57
-PHILIPPIANS=50
-PHLM=57
-PHM=57
-PHP=50
-PROVERBS=20
-PSALMS=19
-PSM=19
-PSS=19
-REVELATION OF JOHN=66
-ROMANS=45
-RUTH=8
-SONG OF SOLOMON=22
-SONG OF SONGS=22
-SOS=22
-TITUS=56
-ZECHARIAH=38
-ZEPHANIAH=36
-1. MOSEBOK=1
-1 MOSEBOK=1
+1. MOSEBOK=Gen
+1 MOSEBOK=Gen
-2. MOSEBOK=2
-2 MOSEBOK=2
+2. MOSEBOK=Exod
+2 MOSEBOK=Exod
-3. MOSEBOK=3
-3 MOSEBOK=3
+3. MOSEBOK=Lev
+3 MOSEBOK=Lev
-4. MOSEBOK=4
-4 MOSEBOK=4
+4. MOSEBOK=Num
+4 MOSEBOK=Num
-5. MOSEBOK=5
-5 MOSEBOK=5
+5. MOSEBOK=Deut
+5 MOSEBOK=Deut
-JOSUA=6
-DOMARBOKEN=7
-RUT=8
+JOSUA=Josh
+DOMARBOKEN=Judg
+RUT=Ruth
-1. SAMUELSBOKEN=9
-1 SAMUELSBOKEN=9
+1. SAMUELSBOKEN=1Sam
+1 SAMUELSBOKEN=1Sam
-2. SAMUELSBOKEN=10
-2 SAMUELSBOKEN=10
+2. SAMUELSBOKEN=2Sam
+2 SAMUELSBOKEN=2Sam
-1. KUNGABOKEN=11
-1 KUNGABOKEN=11
+1. KUNGABOKEN=1Kgs
+1 KUNGABOKEN=1Kgs
-2. KUNGABOKEN=12
-2 KUNGABOKEN=12
+2. KUNGABOKEN=2Kgs
+2 KUNGABOKEN=2Kgs
-1. KRÖNIKEBOKEN=13
-1 KRÖNIKEBOKEN=13
+1. KRÖNIKEBOKEN=1Chr
+1 KRÖNIKEBOKEN=1Chr
-2. KRÖNIKEBOKEN=14
-2 KRÖNIKEBOKEN=14
+2. KRÖNIKEBOKEN=2Chr
+2 KRÖNIKEBOKEN=2Chr
-ESRA=15
-NEHEMJA=16
-ESTER=17
-JOB=18
-PSALTAREN=19
-ORDSPRÅKSBOKEN=20
-PREDIKAREN=21
-HÖGA VISAN=22
-JESAJA=23
-JEREMIA=24
-KLAGOVISORNA=25
-HESEKIEL=26
-DANIEL=27
-HOSEA=28
-JOEL=29
-AMOS=30
-OBADJA=31
-JONA=32
-MIKA=33
-NAAHUM=34
-HABACKUK=35
-SEFANJA=36
-HAGGAI=37
-SAKARJA=38
-MALAKI=39
-MATTEUS=40
-MARKUS=41
-LUKAS=42
-JOHANNES=43
-APOSTLAGÄRNINGARNA=44
-ROMARBREVET=45
+ESRA=Ezra
+NEHEMJA=Neh
+ESTER=Esth
+JOB=Job
+PSALTAREN=Ps
+ORDSPRÅKSBOKEN=Prov
+PREDIKAREN=Eccl
+HÖGA VISAN=Song
+JESAJA=Isa
+JEREMIA=Jer
+KLAGOVISORNA=Lam
+HESEKIEL=Ezek
+DANIEL=Dan
+HOSEA=Hos
+JOEL=Joel
+AMOS=Amos
+OBADJA=Obad
+JONA=Jonah
+MIKA=Mic
+NAAHUM=Nah
+HABACKUK=Hab
+SEFANJA=Zeph
+HAGGAI=Hag
+SAKARJA=Zech
+MALAKI=Mal
+MATTEUS=Matt
+MARKUS=Mark
+LUKAS=Luke
+JOHANNES=John
+APOSTLAGÄRNINGARNA=Acts
+ROMARBREVET=Rom
-1. KORINTIERBREVET=46
-1 KORINTIERBREVET=46
+1. KORINTIERBREVET=1Cor
+1 KORINTIERBREVET=1Cor
-2. KORINTIERBREVET=47
-2 KORINTIERBREVET=47
+2. KORINTIERBREVET=2Cor
+2 KORINTIERBREVET=2Cor
-GALATERBREVET=48
-EFESIERBREVET=49
-FILIPPERBREVET=50
-KOLOSSERBREVET=51
+GALATERBREVET=Gal
+EFESIERBREVET=Eph
+FILIPPERBREVET=Phil
+KOLOSSERBREVET=Col
-1. TESSALONIKERBREVET=52
-1 TESSALONIKERBREVET=52
+1. TESSALONIKERBREVET=1Thess
+1 TESSALONIKERBREVET=1Thess
-2. TESSALONIKERBREVET=53
-2 TESSALONIKERBREVET=53
+2. TESSALONIKERBREVET=2Thess
+2 TESSALONIKERBREVET=2Thess
-1. TIMOTEUSBREVET=54
-1 TIMOTEUSBREVET=54
+1. TIMOTEUSBREVET=1Tim
+1 TIMOTEUSBREVET=1Tim
-2. TIMOTEUSBREVET=55
-2 TIMOTEUSBREVET=55
+2. TIMOTEUSBREVET=2Tim
+2 TIMOTEUSBREVET=2Tim
-BREVET TILL TITUS=56
-BREVET TILL FILEMON=57
-HEBREERBREVET=58
-JAKOBS BREV=59
+BREVET TILL TITUS=Titus
+BREVET TILL FILEMON=Phlm
+HEBREERBREVET=Heb
+JAKOBS BREV=Jas
-1. PETRUSBREVET=60
-1 PETRUSBREVET=60
+1. PETRUSBREVET=1Pet
+1 PETRUSBREVET=1Pet
-2. PETRUSBREVET=61
-2 PETRUSBREVET=61
+2. PETRUSBREVET=2Pet
+2 PETRUSBREVET=2Pet
-1. JOHANNESBREVET=62
-1 JOHANNESBREVET=62
+1. JOHANNESBREVET=1John
+1 JOHANNESBREVET=1John
-2. JOHANNESBREVET=63
-2 JOHANNESBREVET=63
+2. JOHANNESBREVET=2John
+2 JOHANNESBREVET=2John
-3. JOHANNESBREVET=64
-3 JOHANNESBREVET=64
+3. JOHANNESBREVET=3John
+3 JOHANNESBREVET=3John
-JUDAS BREV=65
-UPPENBARELSEBOKEN=66
-1. MOS=1
-1.MOS=1
-1 MOS=1
-1MOS=1
-2. MOS=2
-2.MOS=2
-2 MOS=2
-2MOS=2
-3. MOS=3
-3.MOS=3
-3 MOS=3
-3MOS=3
-4. MOS=4
-4.MOS=4
-4 MOS=4
-4MOS=4
-5. MOS=5
-5.MOS=5
-5 MOS=5
-5MOS=5
-JOS=6
-RUT=8
-DOM=7
-1. SAM=9
-1.SAM=9
-1 SAM=9
-1SAM=9
-2. SAM=10
-2.SAM=10
-2 SAM=10
-2SAM=10
-1. KUNG=11
-1.KUNG=11
-1 KUNG=11
-1KUNG=11
-2. KUNG=12
-2.KUNG=12
-2 KUNG=12
-2KUNG=12
-1. KRÖN=13
-1.KRÖN=13
-1 KRÖN=13
-1KRÖN=13
-2. KRÖN=14
-2.KRÖN=14
-2 KRÖN=14
-2KRÖN=14
-NEH=16
-EST=17
-PS=19
-ORDS=20
-PRED=21
-HÖGAV=22
-HÖGAV.=22
-HÖGA V=22
-HÖGA V.=22
-HÖG V=22
-HÖG. V=22
-HÖG. V.=22
-HÖG V.=22
-HV=22
-H.V=22
-H.V.=22
-H V.=22
-H V=22
-HÖGA VISAN=22
-JES=23
-JER=24
-KLAG=25
-HES=26
-DAN=27
-HOS=28
-JOEL=29
-AM=30
-AMOS=30
-OB=31
-JONA=32
-MIK=33
-MIKA=33
-NAH=34
-HAB=35
-SEF=36
-HAGG=37
-SAK=38
-MAL=39
-MATT=40
-MARK=41
-LUK=42
-JOH=43
-APG=44
-AP=44
-ROM=45
-1. KOR=46
-1.KOR=46
-1 KOR=46
-1KOR=46
-2. KOR=47
-2.KOR=47
-2 KOR=47
-2KOR=47
-GAL=48
-EF=49
-FIL=50
-KOL=51
-1. TESS=52
-1.TESS=52
-1 TESS=52
-1TESS=52
-2. TESS=53
-2.TESS=53
-2 TESS=53
-2TESS=53
-1. THESS=52
-1.THESS=52
-1 THESS=52
-1THESS=52
-2. THESS=53
-2.THESS=53
-2 THESS=53
-2THESS=53
-1. TIM=54
-1.TIM=54
-1 TIM=54
-1TIM=54
-2. TIM=55
-2.TIM=55
-2 TIM=55
-2TIM=55
-TIT=56
-FILEM=57
-HEBR=58
-JAK=59
-1. PET=60
-1.PET=60
-1 PET=60
-1PET=60
-2. PET=61
-2.PET=61
-2 PET=61
-2PET=61
-1. JOH=62
-1.JOH=62
-1 JOH=62
-1JOH=62
-2. JOH=63
-2.JOH=63
-2 JOH=63
-2JOH=63
-3. JOH=64
-3.JOH=64
-3 JOH=64
-3JOH=64
-JUD=65
-UPP=66
+JUDAS BREV=Jude
+UPPENBARELSEBOKEN=Rev
+1. MOS=Gen
+1.MOS=Gen
+1 MOS=Gen
+1MOS=Gen
+2. MOS=Exod
+2.MOS=Exod
+2 MOS=Exod
+2MOS=Exod
+3. MOS=Lev
+3.MOS=Lev
+3 MOS=Lev
+3MOS=Lev
+4. MOS=Num
+4.MOS=Num
+4 MOS=Num
+4MOS=Num
+5. MOS=Deut
+5.MOS=Deut
+5 MOS=Deut
+5MOS=Deut
+JOS=Josh
+RUT=Ruth
+DOM=Judg
+1. SAM=1Sam
+1.SAM=1Sam
+1 SAM=1Sam
+1SAM=1Sam
+2. SAM=2Sam
+2.SAM=2Sam
+2 SAM=2Sam
+2SAM=2Sam
+1. KUNG=1Kgs
+1.KUNG=1Kgs
+1 KUNG=1Kgs
+1KUNG=1Kgs
+2. KUNG=2Kgs
+2.KUNG=2Kgs
+2 KUNG=2Kgs
+2KUNG=2Kgs
+1. KRÖN=1Chr
+1.KRÖN=1Chr
+1 KRÖN=1Chr
+1KRÖN=1Chr
+2. KRÖN=2Chr
+2.KRÖN=2Chr
+2 KRÖN=2Chr
+2KRÖN=2Chr
+NEH=Neh
+EST=Esth
+PS=Ps
+ORDS=Prov
+PRED=Eccl
+HÖGAV=Song
+HÖGAV.=Song
+HÖGA V=Song
+HÖGA V.=Song
+HÖG V=Song
+HÖG. V=Song
+HÖG. V.=Song
+HÖG V.=Song
+HV=Song
+H.V=Song
+H.V.=Song
+H V.=Song
+H V=Song
+HÖGA VISAN=Song
+JES=Isa
+JER=Jer
+KLAG=Lam
+HES=Ezek
+DAN=Dan
+HOS=Hos
+JOEL=Joel
+AM=Amos
+AMOS=Amos
+OB=Obad
+JONA=Jonah
+MIK=Mic
+MIKA=Mic
+NAH=Nah
+HAB=Hab
+SEF=Zeph
+HAGG=Hag
+SAK=Zech
+MAL=Mal
+MATT=Matt
+MARK=Mark
+LUK=Luke
+JOH=John
+APG=Acts
+AP=Acts
+ROM=Rom
+1. KOR=1Cor
+1.KOR=1Cor
+1 KOR=1Cor
+1KOR=1Cor
+2. KOR=2Cor
+2.KOR=2Cor
+2 KOR=2Cor
+2KOR=2Cor
+GAL=Gal
+EF=Eph
+FIL=Phil
+KOL=Col
+1. TESS=1Thess
+1.TESS=1Thess
+1 TESS=1Thess
+1TESS=1Thess
+2. TESS=2Thess
+2.TESS=2Thess
+2 TESS=2Thess
+2TESS=2Thess
+1. THESS=1Thess
+1.THESS=1Thess
+1 THESS=1Thess
+1THESS=1Thess
+2. THESS=2Thess
+2.THESS=2Thess
+2 THESS=2Thess
+2THESS=2Thess
+1. TIM=1Tim
+1.TIM=1Tim
+1 TIM=1Tim
+1TIM=1Tim
+2. TIM=2Tim
+2.TIM=2Tim
+2 TIM=2Tim
+2TIM=2Tim
+TIT=Titus
+FILEM=Phlm
+HEBR=Heb
+JAK=Jas
+1. PET=1Pet
+1.PET=1Pet
+1 PET=1Pet
+1PET=1Pet
+2. PET=2Pet
+2.PET=2Pet
+2 PET=2Pet
+2PET=2Pet
+1. JOH=1John
+1.JOH=1John
+1 JOH=1John
+1JOH=1John
+2. JOH=2John
+2.JOH=2John
+2 JOH=2John
+2JOH=2John
+3. JOH=3John
+3.JOH=3John
+3 JOH=3John
+3JOH=3John
+JUD=Jude
+UPP=Rev
diff --git a/locales.d/th-utf8.conf b/locales.d/th-utf8.conf
index 5cabfd1..5e1179b 100644
--- a/locales.d/th-utf8.conf
+++ b/locales.d/th-utf8.conf
@@ -5,9 +5,7 @@ Encoding=UTF-8
[Text]
Genesis=ปà¸à¸¡à¸à¸²à¸¥
-
Exodus=อพยพ
-
Leviticus=เลวีนิติ
Numbers=à¸à¸±à¸™à¸”ารวิถี
Deuteronomy=เฉลยธรรมบัà¸à¸à¸±à¸•à¸´
@@ -74,284 +72,137 @@ Jude=ยูดาห์
Revelation of John=วิวรณ์
[Book Abbrevs]
-ปà¸à¸¡à¸à¸²à¸¥=1
-ปà¸à¸=1
-อพยพ=2
-อพย=2
-เลวีนิติ=3
-ลนต=3
-à¸à¸±à¸™à¸”ารวิถี=4
-à¸à¸”ว=4
-เฉลยธรรมบัà¸à¸à¸±à¸•à¸´=5
+ปà¸à¸¡à¸à¸²à¸¥=Gen
+ปà¸à¸=Gen
+อพยพ=Exod
+อพย=Exod
+เลวีนิติ=Lev
+ลนต=Lev
+à¸à¸±à¸™à¸”ารวิถี=Num
+à¸à¸”ว=Num
+เฉลยธรรมบัà¸à¸à¸±à¸•à¸´=Deut
+
+ฉธบ=Deut
+โยชูวา=Josh
-ฉธบ=5
-โยชูวา=6
+ยชว=Josh
+ผู้วินิจฉัย=Judg
+วนฉ=Judg
+นางรูธ=Ruth
+นรธ=Ruth
+1 ซามูเอล=1Sam
+1ซมอ=1Sam
+2 ซามูเอล=2Sam
+2ซมอ=2Sam
+1 พงศ์à¸à¸©à¸±à¸•à¸£à¸´à¸¢à¹Œ=1Kgs
+1พà¸à¸©=1Kgs
+2 พงศ์à¸à¸©à¸±à¸•à¸£à¸´à¸¢à¹Œ=2Kgs
+2พà¸à¸©=2Kgs
+1 พงศาวดาร=1Chr
+1พศด=1Chr
+2 พงศาวดาร=2Chr
+2พศด=2Chr
+เอสรา=Ezra
+อสร=Ezra
+เนหมีย์=Neh
+นหม=Neh
+เอสเธอร์=Esth
+อสธ=Esth
+โยบ=Job
+สดุดี=Ps
+สดด=Ps
+สุภาษิต=Prov
+สภษ=Prov
+ปัà¸à¸à¸²à¸ˆà¸²à¸£à¸¢à¹Œ=Eccl
+ปà¸à¸ˆ=Eccl
+เพลงซาโลมอน=Song
+พซม=Song
+อิสยาห์=Isa
+อสย=Isa
+เยเรมีย์=Jer
+ยรม=Jer
+บทเพลงคร่ำครวà¸=Lam
+พคค=Lam
+เอเสเคียล=Ezek
+อสค=Ezek
+ดาเนียล=Dan
+ดนล=Dan
+โฮเชยา=Hos
+ฮชย=Hos
+โยเอล=Joel
+ยอล=Joel
+อาโมส=Amos
+อมส=Amos
+โอบาดีห์=Obad
+อบด=Obad
+โยนาห์=Jonah
+ยนา=Jonah
+มีคาห์=Mic
+มคา=Mic
+นาฮูม=Nah
+นฮม=Nah
+ฮาบาà¸à¸¸à¸=Hab
+ฮบà¸=Hab
+เศฟันยาห์=Zeph
+ศฟย=Zeph
+ฮัà¸à¸à¸±à¸¢=Hag
+ฮà¸à¸=Hag
+เศคาริยาห์=Zech
+ศคย=Zech
+มาลาคี=Mal
+มลค=Mal
+มัทธิว=Matt
+มธ=Matt
+มาระโà¸=Mark
+มà¸=Mark
+ลูà¸à¸²=Luke
+ลà¸=Luke
+ยอห์น=John
+ยน=John
+à¸à¸´à¸ˆà¸à¸²à¸£=Acts
+à¸à¸ˆ=Acts
+โรม=Rom
+รม=Rom
+1 โครินธ์=1Cor
+1คร=1Cor
+2 โครินธ์=2Cor
+2คร=2Cor
+à¸à¸²à¸¥à¸²à¹€à¸—ีย=Gal
+à¸à¸—=Gal
+เอเฟซัส=Eph
+อฟ=Eph
+ฟีลิปปี=Phil
+ฟป=Phil
+โคโลสี=Col
+คส=Col
+1 เธสะโลนิà¸à¸²=1Thess
+1ธส=1Thess
+2 เธสะโลนิà¸à¸²=2Thess
+2ธส=2Thess
+1 ทิโมธี=1Tim
+1ทธ=1Tim
+2 ทิโมธี=2Tim
+2ทธ=2Tim
+ทิตัส=Titus
+ทต=Titus
+ฟีเลโมน=Phlm
+ฟม=Phlm
+ฮีบรู=Heb
+ฮบ=Heb
+ยาà¸à¸­à¸š=Jas
+ยà¸=Jas
+1 เปโตร=1Pet
+1ปต=1Pet
+2 เปโตร=2Pet
+2ปต=2Pet
+1 ยอห์น=1John
+1ยน=1John
+2 ยอห์น=2John
+2ยน=2John
+3 ยอห์น=3John
+3ยน=3John
+ยูดาห์=Jude
+ยด=Jude
+วิวรณ์=Rev
+วว=Rev
-ยชว=6
-ผู้วินิจฉัย=7
-วนฉ=7
-นางรูธ=8
-นรธ=8
-1 ซามูเอล=9
-1ซมอ=9
-2 ซามูเอล=10
-2ซมอ=10
-1 พงศ์à¸à¸©à¸±à¸•à¸£à¸´à¸¢à¹Œ=11
-1พà¸à¸©=11
-2 พงศ์à¸à¸©à¸±à¸•à¸£à¸´à¸¢à¹Œ=12
-2พà¸à¸©=12
-1 พงศาวดาร=13
-1พศด=13
-2 พงศาวดาร=14
-2พศด=14
-เอสรา=15
-อสร=15
-เนหมีย์=16
-นหม=16
-เอสเธอร์=17
-อสธ=17
-โยบ=18
-สดุดี=19
-สดด=19
-สุภาษิต=20
-สภษ=20
-ปัà¸à¸à¸²à¸ˆà¸²à¸£à¸¢à¹Œ=21
-ปà¸à¸ˆ=21
-เพลงซาโลมอน=22
-พซม=22
-อิสยาห์=23
-อสย=23
-เยเรมีย์=24
-ยรม=24
-บทเพลงคร่ำครวà¸=25
-พคค=25
-เอเสเคียล=26
-อสค=26
-ดาเนียล=27
-ดนล=27
-โฮเชยา=28
-ฮชย=28
-โยเอล=29
-ยอล=29
-อาโมส=30
-อมส=30
-โอบาดีห์=31
-อบด=31
-โยนาห์=32
-ยนา=32
-มีคาห์=33
-มคา=33
-นาฮูม=34
-นฮม=34
-ฮาบาà¸à¸¸à¸=35
-ฮบà¸=35
-เศฟันยาห์=36
-ศฟย=36
-ฮัà¸à¸à¸±à¸¢=37
-ฮà¸à¸=37
-เศคาริยาห์=38
-ศคย=38
-มาลาคี=39
-มลค=39
-มัทธิว=40
-มธ=40
-มาระโà¸=41
-มà¸=41
-ลูà¸à¸²=42
-ลà¸=42
-ยอห์น=43
-ยน=43
-à¸à¸´à¸ˆà¸à¸²à¸£=44
-à¸à¸ˆ=44
-โรม=45
-รม=45
-1 โครินธ์=46
-1คร=46
-2 โครินธ์=47
-2คร=47
-à¸à¸²à¸¥à¸²à¹€à¸—ีย=48
-à¸à¸—=48
-เอเฟซัส=49
-อฟ=49
-ฟีลิปปี=50
-ฟป=50
-โคโลสี=51
-คส=51
-1 เธสะโลนิà¸à¸²=52
-1ธส=52
-2 เธสะโลนิà¸à¸²=53
-2ธส=53
-1 ทิโมธี=54
-1ทธ=54
-2 ทิโมธี=55
-2ทธ=55
-ทิตัส=56
-ทต=56
-ฟีเลโมน=57
-ฟม=57
-ฮีบรู=58
-ฮบ=58
-ยาà¸à¸­à¸š=59
-ยà¸=59
-1 เปโตร=60
-1ปต=60
-2 เปโตร=61
-2ปต=61
-1 ยอห์น=62
-1ยน=62
-2 ยอห์น=63
-2ยน=63
-3 ยอห์น=64
-3ยน=64
-ยูดาห์=65
-ยด=65
-วิวรณ์=66
-วว=66
-1 CHRONICLES=13
-1 CORINTHIANS=46
-1 JOHN=62
-1 KINGS=11
-1 PETER=60
-1 SAMUEL=9
-1 THESSALONIANS=52
-1 TIMOTHY=54
-1CHRONICLES=13
-1CH=13
-1CORINTHIANS=46
-1CO=46
-1JN=62
-1JOHN=62
-1KI=11
-1KINGS=11
-1PE=60
-1PETER=60
-1SA=9
-1SAMUEL=9
-1THESSALONIANS=52
-1TH=52
-1TI=54
-1TIMOTHY=54
-2 CHRONICLES=14
-2 CORINTHIANS=47
-2 JOHN=63
-2 KINGS=12
-2 PETER=61
-2 SAMUEL=10
-2 THESSALONIANS=53
-2 TIMOTHY=55
-2CHRONICLES=14
-2CH=14
-2CORINTHIANS=47
-2CO=47
-2JN=63
-2JOHN=63
-2KI=12
-2KINGS=12
-2PE=61
-2PETER=61
-2SA=10
-2SAMUEL=10
-2THESSALONIANS=53
-2TH=53
-2TI=55
-2TIMOTHY=55
-3 JOHN=64
-3JN=64
-3JOHN=64
-ACTS=44
-AC=44
-AM=30
-AMOS=30
-COLOSSIANS=51
-COL=51
-DA=27
-DANIEL=27
-DEUTERONOMY=5
-DE=5
-ECCLESIASTES=21
-ECC=21
-EPHESIANS=49
-EPH=40
-EST=17
-ESTHER=17
-EXODUS=2
-EX=2
-EZEKIEL=26
-EZE=26
-EZR=15
-EZRA=15
-GAL=48
-GALATIANS=48
-GENESIS=1
-GE=1
-HAB=35
-HABAKKUK=35
-HAG=37
-HAGGAI=37
-HEBREWS=58
-HEB=58
-HOS=28
-HOSEA=28
-ISA=23
-ISAIAH=23
-JAMES=59
-JAS=59
-JEREMIAH=24
-JER=24
-JOB=18
-JOEL=29
-JOHN=43
-JN=43
-JONAH=32
-JNH=32
-JOSHUA=6
-JOS=6
-JUD=7
-JUDE=65
-JUDGES=7
-JDG=7
-LAMENTATIONS=25
-LA=25
-LEVITICUS=3
-LEV=3
-LK=42
-LUKE=42
-MAL=39
-MALACHI=39
-MARK=41
-MK=41
-MT=40
-MATTHEW=40
-MICAH=33
-MIC=33
-NA=34
-NAHUM=34
-NE=16
-NEHEMIAH=16
-NUMBERS=4
-NU=4
-OBADIAH=31
-OB=31
-PHILEMON=57
-PHM=57
-PHILIPPIANS=50
-PHP=50
-PROVERBS=20
-PR=20
-PSALMS=19
-PS=19
-REVELATION=66
-REV=66
-RO=45
-ROMANS=45
-RU=8
-RUTH=8
-SONG OF SOLOMON=22
-SONG OF SONGS=22
-SS=22
-TIT=56
-TITUS=56
-ZECHARIAH=38
-ZEC=38
-ZEPHANIAH=36
-ZEP=36 \ No newline at end of file
diff --git a/locales.d/uk_UA-cp1251.conf b/locales.d/uk_UA-cp1251.conf
index 094f870..4b4cd2d 100755
--- a/locales.d/uk_UA-cp1251.conf
+++ b/locales.d/uk_UA-cp1251.conf
@@ -5,7 +5,7 @@
[Meta]
Name=uk_UA-cp1251
-Description=Ukrainian (cp1251)
+Description=Ukrainian (CP1251)
Encoding=CP1251
[Text]
@@ -77,663 +77,479 @@ Jude=Þäè
Revelation of John=Îá'ÿâëåííÿ
[Book Abbrevs]
-1 C=46
-1 CHRONICLES=13
-1 CORINTHIANS=46
-1 JN=62
-1 JOHN=62
-1 KGS=11
-1 KINGS=11
-1 PETER=60
-1 PTR=60
-1 SAMUEL=9
-1 THESSALONIANS=52
-1 TIMOTHY=54
-1C=46
-1CHRONICLES=13
-1CORINTHIANS=46
-1JN=62
-1JOHN=62
-1KGS=11
-1KINGS=11
-1PETER=60
-1PTR=60
-1SAMUEL=9
-1THESSALONIANS=52
-1TIMOTHY=54
-2 C=47
-2 CHRONICLES=14
-2 CORINTHIANS=47
-2 JN=63
-2 JOHN=63
-2 KGS=12
-2 KINGS=12
-2 PETER=61
-2 PTR=61
-2 SAMUEL=10
-2 THESSALONIANS=53
-2 TIMOTHY=55
-2C=47
-2CHRONICLES=14
-2CORINTHIANS=47
-2JN=63
-2JOHN=63
-2KGS=12
-2KINGS=12
-2PETER=61
-2PTR=61
-2SAMUEL=10
-2THESSALONIANS=53
-2TIMOTHY=55
-3 JN=64
-3 JOHN=64
-3JN=64
-3JOHN=64
-ACTS=44
-AMOS=30
-APOCALYPSE OF ST. JOHN=66
-C=51
-CANTICLE OF CANTICLES=22
-COC=22
-COLOSSIANS=51
-D=5
-DANIEL=27
-DEUTERONOMY=5
-E=49
-ECCLESIASTES=21
-EPHESIANS=49
-ESTER=17
-ESTHER=17
-EXODUS=2
-EZEKIEL=26
-EZRA=15
-G=1
-GALATIANS=48
-GENESIS=1
-H=58
-HABAKKUK=35
-HAGGAI=37
-HEBREWS=58
-HOSEA=28
-I C=46
-I CHRONICLES=13
-I CORINTHIANS=46
-I JN=62
-I JOHN=62
-I KGS=11
-I KINGS=11
-I PETER=60
-I PTR=60
-I SAMUEL=9
-I THESSALONIANS=52
-I TIMOTHY=54
-IC=46
-ICHRONICLES=13
-ICORINTHIANS=46
-II C=47
-II CHRONICLES=14
-II CORINTHIANS=47
-II JN=63
-II JOHN=63
-II KGS=12
-II KINGS=12
-II PETER=61
-II PTR=61
-II SAMUEL=10
-II THESSALONIANS=53
-II TIMOTHY=55
-IIC=47
-IICHRONICLES=14
-IICORINTHIANS=47
-III JN=64
-III JOHN=64
-IIIJN=64
-IIIJOHN=64
-IIJN=63
-IIJOHN=63
-IIKGS=12
-IIKINGS=12
-IIPETER=61
-IIPTR=61
-IISAMUEL=10
-IITHESSALONIANS=53
-IITIMOTHY=55
-IJN=62
-IJOHN=62
-IKGS=11
-IKINGS=11
-IPETER=60
-IPTR=60
-ISA=23
-ISAIAH=23
-ISAMUEL=9
-ITHESSALONIANS=52
-ITIMOTHY=54
-J=43
-JAMES=59
-JAS=59
-JEREMIAH=24
-JN=43
-JO=43
-JOB=18
-JOEL=29
-JOHN=43
-JONAH=32
-JOSHUA=6
-JUD=7
-JUDE=65
-JUDGES=7
-L=42
-LAMENTATIONS=25
-LEVITICUS=3
-LK=42
-LUKE=42
-MA=40
-MALACHI=39
-MARK=41
-MATTHEW=40
-MICAH=33
-MK=41
-MR=41
-MT=40
-N=4
-NAHUM=34
-NEHEMIAH=16
-NUMBERS=4
-OBADIAH=31
-P=19
-PH=50
-PHILEMON=57
-PHILIPPIANS=50
-PHLM=57
-PHM=57
-PHP=50
-PROVERBS=20
-PSALMS=19
-PSM=19
-PSS=19
-REVELATION OF JOHN=66
-ROMANS=45
-RUTH=8
-SONG OF SOLOMON=22
-SONG OF SONGS=22
-SOS=22
-TITUS=56
-ZECHARIAH=38
-ZEPHANIAH=36
-Áóòòÿ=1
-Âèõ³ä=2
-Ëåâèò=3
-×èñëà=4
-Ïîâòîðåííÿ Çàêîíó=5
-²ñóñ Íàâèí=6
-Ñóää³â=7
-Ðóò=8
+Áóòòÿ=Gen
+Âèõ³ä=Exod
+Ëåâèò=Lev
+×èñëà=Num
+Ïîâòîðåííÿ Çàêîíó=Deut
+²ñóñ Íàâèí=Josh
+Ñóää³â=Judg
+Ðóò=Ruth
-1. Ñàìó¿ëà=9
-1 Ñàìó¿ëà=9
-1Ñàìó¿ëà=9
+1. Ñàìó¿ëà=1Sam
+1 Ñàìó¿ëà=1Sam
+1Ñàìó¿ëà=1Sam
-2. Ñàìó¿ëà=10
-2 Ñàìó¿ëà=10
-2Ñàìó¿ëà=10
+2. Ñàìó¿ëà=2Sam
+2 Ñàìó¿ëà=2Sam
+2Ñàìó¿ëà=2Sam
-1. Öàð³â=11
-1 Öàð³â=11
-1Öàð³â=11
+1. Öàð³â=1Kgs
+1 Öàð³â=1Kgs
+1Öàð³â=1Kgs
-2. Öàð³â=12
-2 Öàð³â=12
-2Öàð³â=12
+2. Öàð³â=2Kgs
+2 Öàð³â=2Kgs
+2Öàð³â=2Kgs
-1. Õðîí³êè=13
-1 Õðîí³êè=13
-1Õðîí³êè=13
+1. Õðîí³êè=1Chr
+1 Õðîí³êè=1Chr
+1Õðîí³êè=1Chr
-2. Õðîí³êè=14
-2 Õðîí³êè=14
-2Õðîí³êè=14
+2. Õðîí³êè=2Chr
+2 Õðîí³êè=2Chr
+2Õðîí³êè=2Chr
-Åçäðè=15
-Íåå쳿=16
-Eñòåð=17
-Éîâà=18
-Ïñàëì³â=19
-Ïðèïîâ³ñòåé=20
-Åêêëåç³ÿñò=21
-ϳñíÿ íàä ï³ñíÿìè=22
-²ñà¿=23
-ªðå쳿=24
-Ïëà÷ ªðå쳿=25
-ªçå곿ëÿ=26
-Äàíè¿ëà=27
-Îñ³¿=28
-Éî³ëà=29
-Aìîñà=30
-Îâä³ÿ=31
-Éîíè=32
-Mèõåÿ=33
-Íàóìà=34
-Àâàêóìà=35
-Ñîôîí³¿=36
-Îã³ÿ=37
-Çàõàð³ÿ=38
-Ìàëàõ³¿=39
-Ìàòâ³ÿ=40
-Ìàðêà=41
-Ëóêè=42
-²âàíà=43
-ij¿=44
-Ðèìëÿí=45
+Åçäðè=Ezra
+Íåå쳿=Neh
+Eñòåð=Esth
+Éîâà=Job
+Ïñàëì³â=Ps
+Ïðèïîâ³ñòåé=Prov
+Åêêëåç³ÿñò=Eccl
+ϳñíÿ íàä ï³ñíÿìè=Song
+²ñà¿=Isa
+ªðå쳿=Jer
+Ïëà÷ ªðå쳿=Lam
+ªçå곿ëÿ=Ezek
+Äàíè¿ëà=Dan
+Îñ³¿=Hos
+Éî³ëà=Joel
+Aìîñà=Amos
+Îâä³ÿ=Obad
+Éîíè=Jonah
+Mèõåÿ=Mic
+Íàóìà=Nah
+Àâàêóìà=Hab
+Ñîôîí³¿=Zeph
+Îã³ÿ=Hag
+Çàõàð³ÿ=Zech
+Ìàëàõ³¿=Mal
+Ìàòâ³ÿ=Matt
+Ìàðêà=Mark
+Ëóêè=Luke
+²âàíà=John
+ij¿=Acts
+Ðèìëÿí=Rom
-1. Êîðèíòÿí=46
-1 Êîðèíòÿí=46
-1Êîðèíòÿí=46
+1. Êîðèíòÿí=1Cor
+1 Êîðèíòÿí=1Cor
+1Êîðèíòÿí=1Cor
-2. Êîðèíòÿí=47
-2 Êîðèíòÿí=47
-2Êîðèíòÿí=47
+2. Êîðèíòÿí=2Cor
+2 Êîðèíòÿí=2Cor
+2Êîðèíòÿí=2Cor
-Ãàëàò³â=48
-Åôåñÿí=49
-Ôèëèï'ÿí=50
-Êîëîñÿí=51
+Ãàëàò³â=Gal
+Åôåñÿí=Eph
+Ôèëèï'ÿí=Phil
+Êîëîñÿí=Col
-1. Ñîëóíÿí=52
-1 Ñîëóíÿí=52
-1Ñîëóíÿí=52
+1. Ñîëóíÿí=1Thess
+1 Ñîëóíÿí=1Thess
+1Ñîëóíÿí=1Thess
-2. Ñîëóíÿí=53
-2 Ñîëóíÿí=53
-2Ñîëóíÿí=53
+2. Ñîëóíÿí=2Thess
+2 Ñîëóíÿí=2Thess
+2Ñîëóíÿí=2Thess
-1. Òèìîô³ÿ=54
-1 Òèìîô³ÿ=54
-1Òèìîô³ÿ=54
+1. Òèìîô³ÿ=1Tim
+1 Òèìîô³ÿ=1Tim
+1Òèìîô³ÿ=1Tim
-2. Òèìîô³ÿ=55
-2 Òèìîô³ÿ=55
-2Òèìîô³ÿ=55
+2. Òèìîô³ÿ=2Tim
+2 Òèìîô³ÿ=2Tim
+2Òèìîô³ÿ=2Tim
-Òèòà=56
-Ôèëèìîíà=57
-ªâðå¿â=58
-ßêîâà=59
+Òèòà=Titus
+Ôèëèìîíà=Phlm
+ªâðå¿â=Heb
+ßêîâà=Jas
-1. Ïåòðà=60
-1 Ïåòðà=60
-1Ïåòðà=60
+1. Ïåòðà=1Pet
+1 Ïåòðà=1Pet
+1Ïåòðà=1Pet
-2. Ïåòðà=61
-2 Ïåòðà=61
-2Ïåòðà=61
+2. Ïåòðà=2Pet
+2 Ïåòðà=2Pet
+2Ïåòðà=2Pet
-1. ²âàíà=62
-1 ²âàíà=62
-1²âàíà=62
+1. ²âàíà=1John
+1 ²âàíà=1John
+1²âàíà=1John
-2. ²âàíà=63
-2 ²âàíà=63
-2²âàíà=63
+2. ²âàíà=2John
+2 ²âàíà=2John
+2²âàíà=2John
-3. ²âàíà=64
-3 ²âàíà=64
-3²âàíà=64
+3. ²âàíà=3John
+3 ²âàíà=3John
+3²âàíà=3John
-Þäè=65
-Îá'ÿâëåííÿ=66
+Þäè=Jude
+Îá'ÿâëåííÿ=Rev
-áóò=1
-áóò.=1
-Áóò=1
-Áóò.=1
-1Ì=1
-1Ì.=1
-1 Ì=1
-1 Ì.=1
-âèõ=2
-âèõ.=2
-Âèõ=2
-Âèõ.=2
-2Ì=2
-2Ì.=2
-2 Ì=2
-2 Ì.=2
-ëåâ=3
-ëåâ.=3
-Ëåâ=3
-Ëåâ.=3
-3Ì=3
-3Ì.=3
-3 Ì=3
-3 Ì.=3
-÷èñ=4
-÷èñ.=4
-×èñ=4
-×èñ.=4
-4Ì=4
-4Ì.=4
-4 Ì=4
-4 Ì.=4
-ïîâò. çàê.=5
-ïîâò çàê=5
-Ïîâò Çàê=5
-Ïîâò. Çàê.=5
-5Ì=5
-5Ì.=5
-5 Ì=5
-5 Ì.=5
-³ñóñ íàâèí=6
-Íàâèí=6
-íàâèí=6
-ºãîøó¿=6
-ªãîøó¿=6
-ºã=6
-ºã.=6
-ªã=6
-ªã.=6
-ñóä=7
-ñóä.=7
-Ñóä=7
-Ñóä.=7
-ðóò=8
-Ðóò=8
-1ñàì=9
-1ñàì.=9
-1 ñàì=9
-1 ñàì.=9
-1Ñàì=9
-1Ñàì.=9
-1 Ñàì=9
-1 Ñàì.=9
-2ñàì=10
-2ñàì.=10
-2 ñàì=10
-2 ñàì.=10
-2Ñàì=10
-2Ñàì.=10
-2 Ñàì=10
-2 Ñàì.=10
-1öàð=11
-1öàð.=11
-1 öàð=11
-1 öàð.=11
-1Öàð=11
-1Öàð.=11
-1 Öàð=11
-1 Öàð.=11
-2öàð=12
-2öàð.=12
-2 öàð=12
-2 öàð.=12
-2Öàð=12
-2Öàð.=12
-2 Öàð=12
-2 Öàð.=12
-1õð=13
-1õð.=13
-1 õð=13
-1 õð.=13
-1Õð=13
-1Õð.=13
-1 Õð=13
-1 Õð.=13
-2õð=14
-2õð.=14
-2 õð=14
-2 õð.=14
-2Õð=14
-2Õð.=14
-2 Õð=14
-2 Õð.=14
-åçä=15
-åçä.=15
-Åçä=15
-Åçä.=15
-íååì=16
-íååì.=16
-Íååì=16
-Íååì.=16
-åñò=17
-åñò.=17
-Åñò=17
-Åñò.=17
-éîâ=18
-Éîâ=18
-ïñ=19
-ïñ.=19
-Ïñ=19
-Ïñ.=19
-ïð=20
+áóò=Gen
+áóò.=Gen
+Áóò=Gen
+Áóò.=Gen
+1Ì=Gen
+1Ì.=Gen
+1 Ì=Gen
+1 Ì.=Gen
+âèõ=Exod
+âèõ.=Exod
+Âèõ=Exod
+Âèõ.=Exod
+2Ì=Exod
+2Ì.=Exod
+2 Ì=Exod
+2 Ì.=Exod
+ëåâ=Lev
+ëåâ.=Lev
+Ëåâ=Lev
+Ëåâ.=Lev
+3Ì=Lev
+3Ì.=Lev
+3 Ì=Lev
+3 Ì.=Lev
+÷èñ=Num
+÷èñ.=Num
+×èñ=Num
+×èñ.=Num
+4Ì=Num
+4Ì.=Num
+4 Ì=Num
+4 Ì.=Num
+ïîâò. çàê.=Deut
+ïîâò çàê=Deut
+Ïîâò Çàê=Deut
+Ïîâò. Çàê.=Deut
+5Ì=Deut
+5Ì.=Deut
+5 Ì=Deut
+5 Ì.=Deut
+³ñóñ íàâèí=Josh
+Íàâèí=Josh
+íàâèí=Josh
+ºãîøó¿=Josh
+ªãîøó¿=Josh
+ºã=Josh
+ºã.=Josh
+ªã=Josh
+ªã.=Josh
+ñóä=Judg
+ñóä.=Judg
+Ñóä=Judg
+Ñóä.=Judg
+ðóò=Ruth
+Ðóò=Ruth
+1ñàì=1Sam
+1ñàì.=1Sam
+1 ñàì=1Sam
+1 ñàì.=1Sam
+1Ñàì=1Sam
+1Ñàì.=1Sam
+1 Ñàì=1Sam
+1 Ñàì.=1Sam
+2ñàì=2Sam
+2ñàì.=2Sam
+2 ñàì=2Sam
+2 ñàì.=2Sam
+2Ñàì=2Sam
+2Ñàì.=2Sam
+2 Ñàì=2Sam
+2 Ñàì.=2Sam
+1öàð=1Kgs
+1öàð.=1Kgs
+1 öàð=1Kgs
+1 öàð.=1Kgs
+1Öàð=1Kgs
+1Öàð.=1Kgs
+1 Öàð=1Kgs
+1 Öàð.=1Kgs
+2öàð=2Kgs
+2öàð.=2Kgs
+2 öàð=2Kgs
+2 öàð.=2Kgs
+2Öàð=2Kgs
+2Öàð.=2Kgs
+2 Öàð=2Kgs
+2 Öàð.=2Kgs
+1õð=1Chr
+1õð.=1Chr
+1 õð=1Chr
+1 õð.=1Chr
+1Õð=1Chr
+1Õð.=1Chr
+1 Õð=1Chr
+1 Õð.=1Chr
+2õð=2Chr
+2õð.=2Chr
+2 õð=2Chr
+2 õð.=2Chr
+2Õð=2Chr
+2Õð.=2Chr
+2 Õð=2Chr
+2 Õð.=2Chr
+åçä=Ezra
+åçä.=Ezra
+Åçä=Ezra
+Åçä.=Ezra
+íååì=Neh
+íååì.=Neh
+Íååì=Neh
+Íååì.=Neh
+åñò=Esth
+åñò.=Esth
+Åñò=Esth
+Åñò.=Esth
+éîâ=Job
+Éîâ=Job
+ïñ=Ps
+ïñ.=Ps
+Ïñ=Ps
+Ïñ.=Ps
+ïð=Prov
ïð.20
-Ïð=20
-Ïð.=20
-ïðèï=20
-ïðèï.=20
-Ïðèï=20
-Ïðèï.=20
-åêë=21
-åêë.=21
-åêêë=21
-åêëë.=21
-Åêêë=21
-Åêêë.=21
-Åêë=21
-Åêë.=21
-ï³ñí=22
-ï³ñí.=22
-ϳñí=22
-ϳñí.=22
-³ñ=23
-³ñ.=23
-²ñ=23
-²ñ.=23
-ºð=24
-ºð.=24
-ªð=24
-ªð.=24
-ïëà÷=25
-ïëà÷.=25
-Ïëà÷=25
-Ïëà÷.=25
-ºç=26
-ºç.=26
-ªç=26
-ªç.=26
-äàí=27
-äàí.=27
-Äàí=27
-Äàí.=27
-îñ=28
-îñ.=28
-Îñ=28
-Îñ.=28
-éî³ë=29
-Éî³ë=29
-àì=30
-àì.=30
-Àì=30
-Àì.=30
-îâä=31
-îâä.=31
-Îâä=31
-Îâä.=31
-éîíà=32
-Éîíà=32
-ìèõ=33
-ìèõ.=33
-Ìèõ=33
-Ìèõ.=33
-íàóì=34
-Íàóì=34
-àâ=35
-àâ.=35
-Àâ=35
-Àâ.=35
-ñîô=36
-ñîô.=36
-Ñîô=36
-Ñîô.=36
-îã=37
-îã.=37
-Îã=37
-Îã.=37
-çàõ=38
-çàõ.=38
-Çàõ=38
-Çàõ.=38
-ìàë=39
-ìàë.=39
-Ìàë=39
-Ìàë.=39
-ìò=40
-ìò.=40
-Ìò=40
-Ìò.=40
-ìð=41
-ìð.=41
-Ìð=41
-Ìð.=41
-ëê=42
-ëê.=42
-Ëê=42
-Ëê.=42
-³â=43
-³â.=43
-²â=43
-²â.=43
-䳿=44
-ij¿=44
-ðèì=45
-ðèì.=45
-Ðèì=45
-Ðèì.=45
-1êîð=46
-1êîð.=46
-1 êîð=46
-1 êîð.=46
-1Êîð=46
-1Êîð.=46
-1 Êîð=46
-1 Êîð.=46
-2êîð=47
-2êîð.=47
-2 êîð=47
-2 êîð.=47
-2Êîð=47
-2Êîð.=47
-2 Êîð=47
-2 Êîð.=47
-ãàë=48
-ãàë.=48
-Ãàë=48
-Ãàë.=48
-åô=49
-åô.=49
-Åô=49
-Åô.=49
-ôèë=50
-ôèë.=50
-Ôèë=50
-Ôèë.=50
-êîë=51
-êîë.=51
-Êîë=51
-Êîë.=51
-1ñîë=52
-1ñîë.=52
-1 ñîë=52
-1 ñîë.=52
-1Ñîë=52
-1Ñîë.=52
-1 Ñîë=52
-1 Ñîë.=52
-2ñîë=53
-2ñîë.=53
-2 ñîë=53
-2 ñîë.=53
-2Ñîë=53
-2Ñîë.=53
-2 Ñîë=53
-2 Ñîë.=53
-1òèì=54
-1òèì.=54
-1 òèì=54
-1 òèì.=54
-1Òèì=54
-1Òèì.=54
-1 Òèì=54
-1 Òèì.=54
-2òèì=55
-2òèì.=55
-2 òèì=55
-2 òèì.=55
-2Òèì=55
-2Òèì.=55
-2 Òèì=55
-2 Òèì.=55
-òèò=56
-òèò.=56
-Òèò=56
-Òèò.=56
-ôèëèì=57
-ôèëèì.=57
-Ôèëèì=57
-Ôèëèì.=57
-ºâð=58
-ºâð.=58
-ªâð=58
-ªâð.=58
-ÿê=59
-ÿê.=59
-ßê=59
-ßê.=59
-1ïåòð=60
-1ïåòð.=60
-1 ïåòð=60
-1 ïåòð.=60
-1Ïåòð=60
-1Ïåòð.=60
-1 Ïåòð=60
-1 Ïåòð.=60
-2ïåòð=61
-2ïåòð.=61
-2 ïåòð=61
-2 ïåòð.=61
-2Ïåòð=61
-2Ïåòð.=61
-2 Ïåòð=61
-2 Ïåòð.=61
-1³â=62
-1³â.=62
-1 ³â=62
-1 ³â.=62
-1²â=62
-1²â.=62
-1 ²â=62
-1 ²â.=62
-2³â=63
-2³â.=63
-2 ³â=63
-2 ³â.=63
-2²â=63
-2²â.=63
-2 ²â=63
-2 ²â.=63
-3³â=64
-3³â.=64
-3 ³â=64
-3 ³â.=64
-3²â=64
-3²â.=64
-3 ²â=64
-3 ²â.=64
-þä=65
-þä.=65
-Þä=65
-Þä.=65
-îá=66
-îá.=66
-Îá=66
-Îá.=66
+Ïð=Prov
+Ïð.=Prov
+ïðèï=Prov
+ïðèï.=Prov
+Ïðèï=Prov
+Ïðèï.=Prov
+åêë=Eccl
+åêë.=Eccl
+åêêë=Eccl
+åêëë.=Eccl
+Åêêë=Eccl
+Åêêë.=Eccl
+Åêë=Eccl
+Åêë.=Eccl
+ï³ñí=Song
+ï³ñí.=Song
+ϳñí=Song
+ϳñí.=Song
+³ñ=Isa
+³ñ.=Isa
+²ñ=Isa
+²ñ.=Isa
+ºð=Jer
+ºð.=Jer
+ªð=Jer
+ªð.=Jer
+ïëà÷=Lam
+ïëà÷.=Lam
+Ïëà÷=Lam
+Ïëà÷.=Lam
+ºç=Ezek
+ºç.=Ezek
+ªç=Ezek
+ªç.=Ezek
+äàí=Dan
+äàí.=Dan
+Äàí=Dan
+Äàí.=Dan
+îñ=Hos
+îñ.=Hos
+Îñ=Hos
+Îñ.=Hos
+éî³ë=Joel
+Éî³ë=Joel
+àì=Amos
+àì.=Amos
+Àì=Amos
+Àì.=Amos
+îâä=Obad
+îâä.=Obad
+Îâä=Obad
+Îâä.=Obad
+éîíà=Jonah
+Éîíà=Jonah
+ìèõ=Mic
+ìèõ.=Mic
+Ìèõ=Mic
+Ìèõ.=Mic
+íàóì=Nah
+Íàóì=Nah
+àâ=Hab
+àâ.=Hab
+Àâ=Hab
+Àâ.=Hab
+ñîô=Zeph
+ñîô.=Zeph
+Ñîô=Zeph
+Ñîô.=Zeph
+îã=Hag
+îã.=Hag
+Îã=Hag
+Îã.=Hag
+çàõ=Zech
+çàõ.=Zech
+Çàõ=Zech
+Çàõ.=Zech
+ìàë=Mal
+ìàë.=Mal
+Ìàë=Mal
+Ìàë.=Mal
+ìò=Matt
+ìò.=Matt
+Ìò=Matt
+Ìò.=Matt
+ìð=Mark
+ìð.=Mark
+Ìð=Mark
+Ìð.=Mark
+ëê=Luke
+ëê.=Luke
+Ëê=Luke
+Ëê.=Luke
+³â=John
+³â.=John
+²â=John
+²â.=John
+䳿=Acts
+ij¿=Acts
+ðèì=Rom
+ðèì.=Rom
+Ðèì=Rom
+Ðèì.=Rom
+1êîð=1Cor
+1êîð.=1Cor
+1 êîð=1Cor
+1 êîð.=1Cor
+1Êîð=1Cor
+1Êîð.=1Cor
+1 Êîð=1Cor
+1 Êîð.=1Cor
+2êîð=2Cor
+2êîð.=2Cor
+2 êîð=2Cor
+2 êîð.=2Cor
+2Êîð=2Cor
+2Êîð.=2Cor
+2 Êîð=2Cor
+2 Êîð.=2Cor
+ãàë=Gal
+ãàë.=Gal
+Ãàë=Gal
+Ãàë.=Gal
+åô=Eph
+åô.=Eph
+Åô=Eph
+Åô.=Eph
+ôèë=Phil
+ôèë.=Phil
+Ôèë=Phil
+Ôèë.=Phil
+êîë=Col
+êîë.=Col
+Êîë=Col
+Êîë.=Col
+1ñîë=1Thess
+1ñîë.=1Thess
+1 ñîë=1Thess
+1 ñîë.=1Thess
+1Ñîë=1Thess
+1Ñîë.=1Thess
+1 Ñîë=1Thess
+1 Ñîë.=1Thess
+2ñîë=2Thess
+2ñîë.=2Thess
+2 ñîë=2Thess
+2 ñîë.=2Thess
+2Ñîë=2Thess
+2Ñîë.=2Thess
+2 Ñîë=2Thess
+2 Ñîë.=2Thess
+1òèì=1Tim
+1òèì.=1Tim
+1 òèì=1Tim
+1 òèì.=1Tim
+1Òèì=1Tim
+1Òèì.=1Tim
+1 Òèì=1Tim
+1 Òèì.=1Tim
+2òèì=2Tim
+2òèì.=2Tim
+2 òèì=2Tim
+2 òèì.=2Tim
+2Òèì=2Tim
+2Òèì.=2Tim
+2 Òèì=2Tim
+2 Òèì.=2Tim
+òèò=Titus
+òèò.=Titus
+Òèò=Titus
+Òèò.=Titus
+ôèëèì=Phlm
+ôèëèì.=Phlm
+Ôèëèì=Phlm
+Ôèëèì.=Phlm
+ºâð=Heb
+ºâð.=Heb
+ªâð=Heb
+ªâð.=Heb
+ÿê=Jas
+ÿê.=Jas
+ßê=Jas
+ßê.=Jas
+1ïåòð=1Pet
+1ïåòð.=1Pet
+1 ïåòð=1Pet
+1 ïåòð.=1Pet
+1Ïåòð=1Pet
+1Ïåòð.=1Pet
+1 Ïåòð=1Pet
+1 Ïåòð.=1Pet
+2ïåòð=2Pet
+2ïåòð.=2Pet
+2 ïåòð=2Pet
+2 ïåòð.=2Pet
+2Ïåòð=2Pet
+2Ïåòð.=2Pet
+2 Ïåòð=2Pet
+2 Ïåòð.=2Pet
+1³â=1John
+1³â.=1John
+1 ³â=1John
+1 ³â.=1John
+1²â=1John
+1²â.=1John
+1 ²â=1John
+1 ²â.=1John
+2³â=2John
+2³â.=2John
+2 ³â=2John
+2 ³â.=2John
+2²â=2John
+2²â.=2John
+2 ²â=2John
+2 ²â.=2John
+3³â=3John
+3³â.=3John
+3 ³â=3John
+3 ³â.=3John
+3²â=3John
+3²â.=3John
+3 ²â=3John
+3 ²â.=3John
+þä=Jude
+þä.=Jude
+Þä=Jude
+Þä.=Jude
+îá=Rev
+îá.=Rev
+Îá=Rev
+Îá.=Rev
diff --git a/locales.d/uk_UA-koi8-u.conf b/locales.d/uk_UA-koi8-u.conf
index 8e92345..38342f4 100755
--- a/locales.d/uk_UA-koi8-u.conf
+++ b/locales.d/uk_UA-koi8-u.conf
@@ -5,7 +5,7 @@
[Meta]
Name=uk_UA-koi8-u
-Description=Ukrainian (koi8-u)
+Description=Ukrainian (KOI8-U)
Encoding=KOI8-U
[Text]
@@ -77,663 +77,479 @@ Jude=àÄÉ
Revelation of John=ïÂ'Ñ×ÌÅÎÎÑ
[Book Abbrevs]
-1 C=46
-1 CHRONICLES=13
-1 CORINTHIANS=46
-1 JN=62
-1 JOHN=62
-1 KGS=11
-1 KINGS=11
-1 PETER=60
-1 PTR=60
-1 SAMUEL=9
-1 THESSALONIANS=52
-1 TIMOTHY=54
-1C=46
-1CHRONICLES=13
-1CORINTHIANS=46
-1JN=62
-1JOHN=62
-1KGS=11
-1KINGS=11
-1PETER=60
-1PTR=60
-1SAMUEL=9
-1THESSALONIANS=52
-1TIMOTHY=54
-2 C=47
-2 CHRONICLES=14
-2 CORINTHIANS=47
-2 JN=63
-2 JOHN=63
-2 KGS=12
-2 KINGS=12
-2 PETER=61
-2 PTR=61
-2 SAMUEL=10
-2 THESSALONIANS=53
-2 TIMOTHY=55
-2C=47
-2CHRONICLES=14
-2CORINTHIANS=47
-2JN=63
-2JOHN=63
-2KGS=12
-2KINGS=12
-2PETER=61
-2PTR=61
-2SAMUEL=10
-2THESSALONIANS=53
-2TIMOTHY=55
-3 JN=64
-3 JOHN=64
-3JN=64
-3JOHN=64
-ACTS=44
-AMOS=30
-APOCALYPSE OF ST. JOHN=66
-C=51
-CANTICLE OF CANTICLES=22
-COC=22
-COLOSSIANS=51
-D=5
-DANIEL=27
-DEUTERONOMY=5
-E=49
-ECCLESIASTES=21
-EPHESIANS=49
-ESTER=17
-ESTHER=17
-EXODUS=2
-EZEKIEL=26
-EZRA=15
-G=1
-GALATIANS=48
-GENESIS=1
-H=58
-HABAKKUK=35
-HAGGAI=37
-HEBREWS=58
-HOSEA=28
-I C=46
-I CHRONICLES=13
-I CORINTHIANS=46
-I JN=62
-I JOHN=62
-I KGS=11
-I KINGS=11
-I PETER=60
-I PTR=60
-I SAMUEL=9
-I THESSALONIANS=52
-I TIMOTHY=54
-IC=46
-ICHRONICLES=13
-ICORINTHIANS=46
-II C=47
-II CHRONICLES=14
-II CORINTHIANS=47
-II JN=63
-II JOHN=63
-II KGS=12
-II KINGS=12
-II PETER=61
-II PTR=61
-II SAMUEL=10
-II THESSALONIANS=53
-II TIMOTHY=55
-IIC=47
-IICHRONICLES=14
-IICORINTHIANS=47
-III JN=64
-III JOHN=64
-IIIJN=64
-IIIJOHN=64
-IIJN=63
-IIJOHN=63
-IIKGS=12
-IIKINGS=12
-IIPETER=61
-IIPTR=61
-IISAMUEL=10
-IITHESSALONIANS=53
-IITIMOTHY=55
-IJN=62
-IJOHN=62
-IKGS=11
-IKINGS=11
-IPETER=60
-IPTR=60
-ISA=23
-ISAIAH=23
-ISAMUEL=9
-ITHESSALONIANS=52
-ITIMOTHY=54
-J=43
-JAMES=59
-JAS=59
-JEREMIAH=24
-JN=43
-JO=43
-JOB=18
-JOEL=29
-JOHN=43
-JONAH=32
-JOSHUA=6
-JUD=7
-JUDE=65
-JUDGES=7
-L=42
-LAMENTATIONS=25
-LEVITICUS=3
-LK=42
-LUKE=42
-MA=40
-MALACHI=39
-MARK=41
-MATTHEW=40
-MICAH=33
-MK=41
-MR=41
-MT=40
-N=4
-NAHUM=34
-NEHEMIAH=16
-NUMBERS=4
-OBADIAH=31
-P=19
-PH=50
-PHILEMON=57
-PHILIPPIANS=50
-PHLM=57
-PHM=57
-PHP=50
-PROVERBS=20
-PSALMS=19
-PSM=19
-PSS=19
-REVELATION OF JOHN=66
-ROMANS=45
-RUTH=8
-SONG OF SOLOMON=22
-SONG OF SONGS=22
-SOS=22
-TITUS=56
-ZECHARIAH=38
-ZEPHANIAH=36
-âÕÔÔÑ=1
-÷ÉȦÄ=2
-ìÅ×ÉÔ=3
-þÉÓÌÁ=4
-ðÏ×ÔÏÒÅÎÎÑ úÁËÏÎÕ=5
-¶ÓÕÓ îÁ×ÉÎ=6
-óÕÄĦ×=7
-òÕÔ=8
+âÕÔÔÑ=Gen
+÷ÉȦÄ=Exod
+ìÅ×ÉÔ=Lev
+þÉÓÌÁ=Num
+ðÏ×ÔÏÒÅÎÎÑ úÁËÏÎÕ=Deut
+¶ÓÕÓ îÁ×ÉÎ=Josh
+óÕÄĦ×=Judg
+òÕÔ=Ruth
-1. óÁÍÕ§ÌÁ=9
-1 óÁÍÕ§ÌÁ=9
-1óÁÍÕ§ÌÁ=9
+1. óÁÍÕ§ÌÁ=1Sam
+1 óÁÍÕ§ÌÁ=1Sam
+1óÁÍÕ§ÌÁ=1Sam
-2. óÁÍÕ§ÌÁ=10
-2 óÁÍÕ§ÌÁ=10
-2óÁÍÕ§ÌÁ=10
+2. óÁÍÕ§ÌÁ=2Sam
+2 óÁÍÕ§ÌÁ=2Sam
+2óÁÍÕ§ÌÁ=2Sam
-1. ãÁÒ¦×=11
-1 ãÁÒ¦×=11
-1ãÁÒ¦×=11
+1. ãÁÒ¦×=1Kgs
+1 ãÁÒ¦×=1Kgs
+1ãÁÒ¦×=1Kgs
-2. ãÁÒ¦×=12
-2 ãÁÒ¦×=12
-2ãÁÒ¦×=12
+2. ãÁÒ¦×=2Kgs
+2 ãÁÒ¦×=2Kgs
+2ãÁÒ¦×=2Kgs
-1. èÒÏΦËÉ=13
-1 èÒÏΦËÉ=13
-1èÒÏΦËÉ=13
+1. èÒÏΦËÉ=1Chr
+1 èÒÏΦËÉ=1Chr
+1èÒÏΦËÉ=1Chr
-2. èÒÏΦËÉ=14
-2 èÒÏΦËÉ=14
-2èÒÏΦËÉ=14
+2. èÒÏΦËÉ=2Chr
+2 èÒÏΦËÉ=2Chr
+2èÒÏΦËÉ=2Chr
-åÚÄÒÉ=15
-îÅÅͦ§=16
-EÓÔÅÒ=17
-êÏ×Á=18
-ðÓÁÌͦ×=19
-ðÒÉÐÏצÓÔÅÊ=20
-åËËÌÅÚ¦ÑÓÔ=21
-ð¦ÓÎÑ ÎÁÄ Ð¦ÓÎÑÍÉ=22
-¶ÓÁ§=23
-´ÒÅͦ§=24
-ðÌÁÞ ´ÒÅͦ§=25
-´ÚÅ˦§ÌÑ=26
-äÁÎɧÌÁ=27
-ïÓ¦§=28
-êϦÌÁ=29
-AÍÏÓÁ=30
-ï×ĦÑ=31
-êÏÎÉ=32
-MÉÈÅÑ=33
-îÁÕÍÁ=34
-á×ÁËÕÍÁ=35
-óÏÆÏΦ§=36
-ïǦÑ=37
-úÁÈÁÒ¦Ñ=38
-íÁÌÁȦ§=39
-íÁÔצÑ=40
-íÁÒËÁ=41
-ìÕËÉ=42
-¶×ÁÎÁ=43
-䦧=44
-òÉÍÌÑÎ=45
+åÚÄÒÉ=Ezra
+îÅÅͦ§=Neh
+EÓÔÅÒ=Esth
+êÏ×Á=Job
+ðÓÁÌͦ×=Ps
+ðÒÉÐÏצÓÔÅÊ=Prov
+åËËÌÅÚ¦ÑÓÔ=Eccl
+ð¦ÓÎÑ ÎÁÄ Ð¦ÓÎÑÍÉ=Song
+¶ÓÁ§=Isa
+´ÒÅͦ§=Jer
+ðÌÁÞ ´ÒÅͦ§=Lam
+´ÚÅ˦§ÌÑ=Ezek
+äÁÎɧÌÁ=Dan
+ïÓ¦§=Hos
+êϦÌÁ=Joel
+AÍÏÓÁ=Amos
+ï×ĦÑ=Obad
+êÏÎÉ=Jonah
+MÉÈÅÑ=Mic
+îÁÕÍÁ=Nah
+á×ÁËÕÍÁ=Hab
+óÏÆÏΦ§=Zeph
+ïǦÑ=Hag
+úÁÈÁÒ¦Ñ=Zech
+íÁÌÁȦ§=Mal
+íÁÔצÑ=Matt
+íÁÒËÁ=Mark
+ìÕËÉ=Luke
+¶×ÁÎÁ=John
+䦧=Acts
+òÉÍÌÑÎ=Rom
-1. ëÏÒÉÎÔÑÎ=46
-1 ëÏÒÉÎÔÑÎ=46
-1ëÏÒÉÎÔÑÎ=46
+1. ëÏÒÉÎÔÑÎ=1Cor
+1 ëÏÒÉÎÔÑÎ=1Cor
+1ëÏÒÉÎÔÑÎ=1Cor
-2. ëÏÒÉÎÔÑÎ=47
-2 ëÏÒÉÎÔÑÎ=47
-2ëÏÒÉÎÔÑÎ=47
+2. ëÏÒÉÎÔÑÎ=2Cor
+2 ëÏÒÉÎÔÑÎ=2Cor
+2ëÏÒÉÎÔÑÎ=2Cor
-çÁÌÁÔ¦×=48
-åÆÅÓÑÎ=49
-æÉÌÉÐ'ÑÎ=50
-ëÏÌÏÓÑÎ=51
+çÁÌÁÔ¦×=Gal
+åÆÅÓÑÎ=Eph
+æÉÌÉÐ'ÑÎ=Phil
+ëÏÌÏÓÑÎ=Col
-1. óÏÌÕÎÑÎ=52
-1 óÏÌÕÎÑÎ=52
-1óÏÌÕÎÑÎ=52
+1. óÏÌÕÎÑÎ=1Thess
+1 óÏÌÕÎÑÎ=1Thess
+1óÏÌÕÎÑÎ=1Thess
-2. óÏÌÕÎÑÎ=53
-2 óÏÌÕÎÑÎ=53
-2óÏÌÕÎÑÎ=53
+2. óÏÌÕÎÑÎ=2Thess
+2 óÏÌÕÎÑÎ=2Thess
+2óÏÌÕÎÑÎ=2Thess
-1. ôÉÍÏƦÑ=54
-1 ôÉÍÏƦÑ=54
-1ôÉÍÏƦÑ=54
+1. ôÉÍÏƦÑ=1Tim
+1 ôÉÍÏƦÑ=1Tim
+1ôÉÍÏƦÑ=1Tim
-2. ôÉÍÏƦÑ=55
-2 ôÉÍÏƦÑ=55
-2ôÉÍÏƦÑ=55
+2. ôÉÍÏƦÑ=2Tim
+2 ôÉÍÏƦÑ=2Tim
+2ôÉÍÏƦÑ=2Tim
-ôÉÔÁ=56
-æÉÌÉÍÏÎÁ=57
-´×Òŧ×=58
-ñËÏ×Á=59
+ôÉÔÁ=Titus
+æÉÌÉÍÏÎÁ=Phlm
+´×Òŧ×=Heb
+ñËÏ×Á=Jas
-1. ðÅÔÒÁ=60
-1 ðÅÔÒÁ=60
-1ðÅÔÒÁ=60
+1. ðÅÔÒÁ=1Pet
+1 ðÅÔÒÁ=1Pet
+1ðÅÔÒÁ=1Pet
-2. ðÅÔÒÁ=61
-2 ðÅÔÒÁ=61
-2ðÅÔÒÁ=61
+2. ðÅÔÒÁ=2Pet
+2 ðÅÔÒÁ=2Pet
+2ðÅÔÒÁ=2Pet
-1. ¶×ÁÎÁ=62
-1 ¶×ÁÎÁ=62
-1¶×ÁÎÁ=62
+1. ¶×ÁÎÁ=1John
+1 ¶×ÁÎÁ=1John
+1¶×ÁÎÁ=1John
-2. ¶×ÁÎÁ=63
-2 ¶×ÁÎÁ=63
-2¶×ÁÎÁ=63
+2. ¶×ÁÎÁ=2John
+2 ¶×ÁÎÁ=2John
+2¶×ÁÎÁ=2John
-3. ¶×ÁÎÁ=64
-3 ¶×ÁÎÁ=64
-3¶×ÁÎÁ=64
+3. ¶×ÁÎÁ=3John
+3 ¶×ÁÎÁ=3John
+3¶×ÁÎÁ=3John
-àÄÉ=65
-ïÂ'Ñ×ÌÅÎÎÑ=66
+àÄÉ=Jude
+ïÂ'Ñ×ÌÅÎÎÑ=Rev
-ÂÕÔ=1
-ÂÕÔ.=1
-âÕÔ=1
-âÕÔ.=1
-1í=1
-1í.=1
-1 í=1
-1 í.=1
-×ÉÈ=2
-×ÉÈ.=2
-÷ÉÈ=2
-÷ÉÈ.=2
-2í=2
-2í.=2
-2 í=2
-2 í.=2
-ÌÅ×=3
-ÌÅ×.=3
-ìÅ×=3
-ìÅ×.=3
-3í=3
-3í.=3
-3 í=3
-3 í.=3
-ÞÉÓ=4
-ÞÉÓ.=4
-þÉÓ=4
-þÉÓ.=4
-4í=4
-4í.=4
-4 í=4
-4 í.=4
-ÐÏ×Ô. ÚÁË.=5
-ÐÏ×Ô ÚÁË=5
-ðÏ×Ô úÁË=5
-ðÏ×Ô. úÁË.=5
-5í=5
-5í.=5
-5 í=5
-5 í.=5
-¦ÓÕÓ ÎÁ×ÉÎ=6
-îÁ×ÉÎ=6
-ÎÁ×ÉÎ=6
-¤ÇÏÛÕ§=6
-´ÇÏÛÕ§=6
-¤Ç=6
-¤Ç.=6
-´Ç=6
-´Ç.=6
-ÓÕÄ=7
-ÓÕÄ.=7
-óÕÄ=7
-óÕÄ.=7
-ÒÕÔ=8
-òÕÔ=8
-1ÓÁÍ=9
-1ÓÁÍ.=9
-1 ÓÁÍ=9
-1 ÓÁÍ.=9
-1óÁÍ=9
-1óÁÍ.=9
-1 óÁÍ=9
-1 óÁÍ.=9
-2ÓÁÍ=10
-2ÓÁÍ.=10
-2 ÓÁÍ=10
-2 ÓÁÍ.=10
-2óÁÍ=10
-2óÁÍ.=10
-2 óÁÍ=10
-2 óÁÍ.=10
-1ÃÁÒ=11
-1ÃÁÒ.=11
-1 ÃÁÒ=11
-1 ÃÁÒ.=11
-1ãÁÒ=11
-1ãÁÒ.=11
-1 ãÁÒ=11
-1 ãÁÒ.=11
-2ÃÁÒ=12
-2ÃÁÒ.=12
-2 ÃÁÒ=12
-2 ÃÁÒ.=12
-2ãÁÒ=12
-2ãÁÒ.=12
-2 ãÁÒ=12
-2 ãÁÒ.=12
-1ÈÒ=13
-1ÈÒ.=13
-1 ÈÒ=13
-1 ÈÒ.=13
-1èÒ=13
-1èÒ.=13
-1 èÒ=13
-1 èÒ.=13
-2ÈÒ=14
-2ÈÒ.=14
-2 ÈÒ=14
-2 ÈÒ.=14
-2èÒ=14
-2èÒ.=14
-2 èÒ=14
-2 èÒ.=14
-ÅÚÄ=15
-ÅÚÄ.=15
-åÚÄ=15
-åÚÄ.=15
-ÎÅÅÍ=16
-ÎÅÅÍ.=16
-îÅÅÍ=16
-îÅÅÍ.=16
-ÅÓÔ=17
-ÅÓÔ.=17
-åÓÔ=17
-åÓÔ.=17
-ÊÏ×=18
-êÏ×=18
-ÐÓ=19
-ÐÓ.=19
-ðÓ=19
-ðÓ.=19
-ÐÒ=20
+ÂÕÔ=Gen
+ÂÕÔ.=Gen
+âÕÔ=Gen
+âÕÔ.=Gen
+1í=Gen
+1í.=Gen
+1 í=Gen
+1 í.=Gen
+×ÉÈ=Exod
+×ÉÈ.=Exod
+÷ÉÈ=Exod
+÷ÉÈ.=Exod
+2í=Exod
+2í.=Exod
+2 í=Exod
+2 í.=Exod
+ÌÅ×=Lev
+ÌÅ×.=Lev
+ìÅ×=Lev
+ìÅ×.=Lev
+3í=Lev
+3í.=Lev
+3 í=Lev
+3 í.=Lev
+ÞÉÓ=Num
+ÞÉÓ.=Num
+þÉÓ=Num
+þÉÓ.=Num
+4í=Num
+4í.=Num
+4 í=Num
+4 í.=Num
+ÐÏ×Ô. ÚÁË.=Deut
+ÐÏ×Ô ÚÁË=Deut
+ðÏ×Ô úÁË=Deut
+ðÏ×Ô. úÁË.=Deut
+5í=Deut
+5í.=Deut
+5 í=Deut
+5 í.=Deut
+¦ÓÕÓ ÎÁ×ÉÎ=Josh
+îÁ×ÉÎ=Josh
+ÎÁ×ÉÎ=Josh
+¤ÇÏÛÕ§=Josh
+´ÇÏÛÕ§=Josh
+¤Ç=Josh
+¤Ç.=Josh
+´Ç=Josh
+´Ç.=Josh
+ÓÕÄ=Judg
+ÓÕÄ.=Judg
+óÕÄ=Judg
+óÕÄ.=Judg
+ÒÕÔ=Ruth
+òÕÔ=Ruth
+1ÓÁÍ=1Sam
+1ÓÁÍ.=1Sam
+1 ÓÁÍ=1Sam
+1 ÓÁÍ.=1Sam
+1óÁÍ=1Sam
+1óÁÍ.=1Sam
+1 óÁÍ=1Sam
+1 óÁÍ.=1Sam
+2ÓÁÍ=2Sam
+2ÓÁÍ.=2Sam
+2 ÓÁÍ=2Sam
+2 ÓÁÍ.=2Sam
+2óÁÍ=2Sam
+2óÁÍ.=2Sam
+2 óÁÍ=2Sam
+2 óÁÍ.=2Sam
+1ÃÁÒ=1Kgs
+1ÃÁÒ.=1Kgs
+1 ÃÁÒ=1Kgs
+1 ÃÁÒ.=1Kgs
+1ãÁÒ=1Kgs
+1ãÁÒ.=1Kgs
+1 ãÁÒ=1Kgs
+1 ãÁÒ.=1Kgs
+2ÃÁÒ=2Kgs
+2ÃÁÒ.=2Kgs
+2 ÃÁÒ=2Kgs
+2 ÃÁÒ.=2Kgs
+2ãÁÒ=2Kgs
+2ãÁÒ.=2Kgs
+2 ãÁÒ=2Kgs
+2 ãÁÒ.=2Kgs
+1ÈÒ=1Chr
+1ÈÒ.=1Chr
+1 ÈÒ=1Chr
+1 ÈÒ.=1Chr
+1èÒ=1Chr
+1èÒ.=1Chr
+1 èÒ=1Chr
+1 èÒ.=1Chr
+2ÈÒ=2Chr
+2ÈÒ.=2Chr
+2 ÈÒ=2Chr
+2 ÈÒ.=2Chr
+2èÒ=2Chr
+2èÒ.=2Chr
+2 èÒ=2Chr
+2 èÒ.=2Chr
+ÅÚÄ=Ezra
+ÅÚÄ.=Ezra
+åÚÄ=Ezra
+åÚÄ.=Ezra
+ÎÅÅÍ=Neh
+ÎÅÅÍ.=Neh
+îÅÅÍ=Neh
+îÅÅÍ.=Neh
+ÅÓÔ=Esth
+ÅÓÔ.=Esth
+åÓÔ=Esth
+åÓÔ.=Esth
+ÊÏ×=Job
+êÏ×=Job
+ÐÓ=Ps
+ÐÓ.=Ps
+ðÓ=Ps
+ðÓ.=Ps
+ÐÒ=Prov
ÐÒ.20
-ðÒ=20
-ðÒ.=20
-ÐÒÉÐ=20
-ÐÒÉÐ.=20
-ðÒÉÐ=20
-ðÒÉÐ.=20
-ÅËÌ=21
-ÅËÌ.=21
-ÅËËÌ=21
-ÅËÌÌ.=21
-åËËÌ=21
-åËËÌ.=21
-åËÌ=21
-åËÌ.=21
-ЦÓÎ=22
-ЦÓÎ.=22
-ð¦ÓÎ=22
-ð¦ÓÎ.=22
-¦Ó=23
-¦Ó.=23
-¶Ó=23
-¶Ó.=23
-¤Ò=24
-¤Ò.=24
-´Ò=24
-´Ò.=24
-ÐÌÁÞ=25
-ÐÌÁÞ.=25
-ðÌÁÞ=25
-ðÌÁÞ.=25
-¤Ú=26
-¤Ú.=26
-´Ú=26
-´Ú.=26
-ÄÁÎ=27
-ÄÁÎ.=27
-äÁÎ=27
-äÁÎ.=27
-ÏÓ=28
-ÏÓ.=28
-ïÓ=28
-ïÓ.=28
-ÊϦÌ=29
-êϦÌ=29
-ÁÍ=30
-ÁÍ.=30
-áÍ=30
-áÍ.=30
-Ï×Ä=31
-Ï×Ä.=31
-ï×Ä=31
-ï×Ä.=31
-ÊÏÎÁ=32
-êÏÎÁ=32
-ÍÉÈ=33
-ÍÉÈ.=33
-íÉÈ=33
-íÉÈ.=33
-ÎÁÕÍ=34
-îÁÕÍ=34
-Á×=35
-Á×.=35
-á×=35
-á×.=35
-ÓÏÆ=36
-ÓÏÆ.=36
-óÏÆ=36
-óÏÆ.=36
-ÏÇ=37
-ÏÇ.=37
-ïÇ=37
-ïÇ.=37
-ÚÁÈ=38
-ÚÁÈ.=38
-úÁÈ=38
-úÁÈ.=38
-ÍÁÌ=39
-ÍÁÌ.=39
-íÁÌ=39
-íÁÌ.=39
-ÍÔ=40
-ÍÔ.=40
-íÔ=40
-íÔ.=40
-ÍÒ=41
-ÍÒ.=41
-íÒ=41
-íÒ.=41
-ÌË=42
-ÌË.=42
-ìË=42
-ìË.=42
-¦×=43
-¦×.=43
-¶×=43
-¶×.=43
-Ħ§=44
-䦧=44
-ÒÉÍ=45
-ÒÉÍ.=45
-òÉÍ=45
-òÉÍ.=45
-1ËÏÒ=46
-1ËÏÒ.=46
-1 ËÏÒ=46
-1 ËÏÒ.=46
-1ëÏÒ=46
-1ëÏÒ.=46
-1 ëÏÒ=46
-1 ëÏÒ.=46
-2ËÏÒ=47
-2ËÏÒ.=47
-2 ËÏÒ=47
-2 ËÏÒ.=47
-2ëÏÒ=47
-2ëÏÒ.=47
-2 ëÏÒ=47
-2 ëÏÒ.=47
-ÇÁÌ=48
-ÇÁÌ.=48
-çÁÌ=48
-çÁÌ.=48
-ÅÆ=49
-ÅÆ.=49
-åÆ=49
-åÆ.=49
-ÆÉÌ=50
-ÆÉÌ.=50
-æÉÌ=50
-æÉÌ.=50
-ËÏÌ=51
-ËÏÌ.=51
-ëÏÌ=51
-ëÏÌ.=51
-1ÓÏÌ=52
-1ÓÏÌ.=52
-1 ÓÏÌ=52
-1 ÓÏÌ.=52
-1óÏÌ=52
-1óÏÌ.=52
-1 óÏÌ=52
-1 óÏÌ.=52
-2ÓÏÌ=53
-2ÓÏÌ.=53
-2 ÓÏÌ=53
-2 ÓÏÌ.=53
-2óÏÌ=53
-2óÏÌ.=53
-2 óÏÌ=53
-2 óÏÌ.=53
-1ÔÉÍ=54
-1ÔÉÍ.=54
-1 ÔÉÍ=54
-1 ÔÉÍ.=54
-1ôÉÍ=54
-1ôÉÍ.=54
-1 ôÉÍ=54
-1 ôÉÍ.=54
-2ÔÉÍ=55
-2ÔÉÍ.=55
-2 ÔÉÍ=55
-2 ÔÉÍ.=55
-2ôÉÍ=55
-2ôÉÍ.=55
-2 ôÉÍ=55
-2 ôÉÍ.=55
-ÔÉÔ=56
-ÔÉÔ.=56
-ôÉÔ=56
-ôÉÔ.=56
-ÆÉÌÉÍ=57
-ÆÉÌÉÍ.=57
-æÉÌÉÍ=57
-æÉÌÉÍ.=57
-¤×Ò=58
-¤×Ò.=58
-´×Ò=58
-´×Ò.=58
-ÑË=59
-ÑË.=59
-ñË=59
-ñË.=59
-1ÐÅÔÒ=60
-1ÐÅÔÒ.=60
-1 ÐÅÔÒ=60
-1 ÐÅÔÒ.=60
-1ðÅÔÒ=60
-1ðÅÔÒ.=60
-1 ðÅÔÒ=60
-1 ðÅÔÒ.=60
-2ÐÅÔÒ=61
-2ÐÅÔÒ.=61
-2 ÐÅÔÒ=61
-2 ÐÅÔÒ.=61
-2ðÅÔÒ=61
-2ðÅÔÒ.=61
-2 ðÅÔÒ=61
-2 ðÅÔÒ.=61
-1¦×=62
-1¦×.=62
-1 ¦×=62
-1 ¦×.=62
-1¶×=62
-1¶×.=62
-1 ¶×=62
-1 ¶×.=62
-2¦×=63
-2¦×.=63
-2 ¦×=63
-2 ¦×.=63
-2¶×=63
-2¶×.=63
-2 ¶×=63
-2 ¶×.=63
-3¦×=64
-3¦×.=64
-3 ¦×=64
-3 ¦×.=64
-3¶×=64
-3¶×.=64
-3 ¶×=64
-3 ¶×.=64
-ÀÄ=65
-ÀÄ.=65
-àÄ=65
-àÄ.=65
-ÏÂ=66
-ÏÂ.=66
-ïÂ=66
-ïÂ.=66
+ðÒ=Prov
+ðÒ.=Prov
+ÐÒÉÐ=Prov
+ÐÒÉÐ.=Prov
+ðÒÉÐ=Prov
+ðÒÉÐ.=Prov
+ÅËÌ=Eccl
+ÅËÌ.=Eccl
+ÅËËÌ=Eccl
+ÅËÌÌ.=Eccl
+åËËÌ=Eccl
+åËËÌ.=Eccl
+åËÌ=Eccl
+åËÌ.=Eccl
+ЦÓÎ=Song
+ЦÓÎ.=Song
+ð¦ÓÎ=Song
+ð¦ÓÎ.=Song
+¦Ó=Isa
+¦Ó.=Isa
+¶Ó=Isa
+¶Ó.=Isa
+¤Ò=Jer
+¤Ò.=Jer
+´Ò=Jer
+´Ò.=Jer
+ÐÌÁÞ=Lam
+ÐÌÁÞ.=Lam
+ðÌÁÞ=Lam
+ðÌÁÞ.=Lam
+¤Ú=Ezek
+¤Ú.=Ezek
+´Ú=Ezek
+´Ú.=Ezek
+ÄÁÎ=Dan
+ÄÁÎ.=Dan
+äÁÎ=Dan
+äÁÎ.=Dan
+ÏÓ=Hos
+ÏÓ.=Hos
+ïÓ=Hos
+ïÓ.=Hos
+ÊϦÌ=Joel
+êϦÌ=Joel
+ÁÍ=Amos
+ÁÍ.=Amos
+áÍ=Amos
+áÍ.=Amos
+Ï×Ä=Obad
+Ï×Ä.=Obad
+ï×Ä=Obad
+ï×Ä.=Obad
+ÊÏÎÁ=Jonah
+êÏÎÁ=Jonah
+ÍÉÈ=Mic
+ÍÉÈ.=Mic
+íÉÈ=Mic
+íÉÈ.=Mic
+ÎÁÕÍ=Nah
+îÁÕÍ=Nah
+Á×=Hab
+Á×.=Hab
+á×=Hab
+á×.=Hab
+ÓÏÆ=Zeph
+ÓÏÆ.=Zeph
+óÏÆ=Zeph
+óÏÆ.=Zeph
+ÏÇ=Hag
+ÏÇ.=Hag
+ïÇ=Hag
+ïÇ.=Hag
+ÚÁÈ=Zech
+ÚÁÈ.=Zech
+úÁÈ=Zech
+úÁÈ.=Zech
+ÍÁÌ=Mal
+ÍÁÌ.=Mal
+íÁÌ=Mal
+íÁÌ.=Mal
+ÍÔ=Matt
+ÍÔ.=Matt
+íÔ=Matt
+íÔ.=Matt
+ÍÒ=Mark
+ÍÒ.=Mark
+íÒ=Mark
+íÒ.=Mark
+ÌË=Luke
+ÌË.=Luke
+ìË=Luke
+ìË.=Luke
+¦×=John
+¦×.=John
+¶×=John
+¶×.=John
+Ħ§=Acts
+䦧=Acts
+ÒÉÍ=Rom
+ÒÉÍ.=Rom
+òÉÍ=Rom
+òÉÍ.=Rom
+1ËÏÒ=1Cor
+1ËÏÒ.=1Cor
+1 ËÏÒ=1Cor
+1 ËÏÒ.=1Cor
+1ëÏÒ=1Cor
+1ëÏÒ.=1Cor
+1 ëÏÒ=1Cor
+1 ëÏÒ.=1Cor
+2ËÏÒ=2Cor
+2ËÏÒ.=2Cor
+2 ËÏÒ=2Cor
+2 ËÏÒ.=2Cor
+2ëÏÒ=2Cor
+2ëÏÒ.=2Cor
+2 ëÏÒ=2Cor
+2 ëÏÒ.=2Cor
+ÇÁÌ=Gal
+ÇÁÌ.=Gal
+çÁÌ=Gal
+çÁÌ.=Gal
+ÅÆ=Eph
+ÅÆ.=Eph
+åÆ=Eph
+åÆ.=Eph
+ÆÉÌ=Phil
+ÆÉÌ.=Phil
+æÉÌ=Phil
+æÉÌ.=Phil
+ËÏÌ=Col
+ËÏÌ.=Col
+ëÏÌ=Col
+ëÏÌ.=Col
+1ÓÏÌ=1Thess
+1ÓÏÌ.=1Thess
+1 ÓÏÌ=1Thess
+1 ÓÏÌ.=1Thess
+1óÏÌ=1Thess
+1óÏÌ.=1Thess
+1 óÏÌ=1Thess
+1 óÏÌ.=1Thess
+2ÓÏÌ=2Thess
+2ÓÏÌ.=2Thess
+2 ÓÏÌ=2Thess
+2 ÓÏÌ.=2Thess
+2óÏÌ=2Thess
+2óÏÌ.=2Thess
+2 óÏÌ=2Thess
+2 óÏÌ.=2Thess
+1ÔÉÍ=1Tim
+1ÔÉÍ.=1Tim
+1 ÔÉÍ=1Tim
+1 ÔÉÍ.=1Tim
+1ôÉÍ=1Tim
+1ôÉÍ.=1Tim
+1 ôÉÍ=1Tim
+1 ôÉÍ.=1Tim
+2ÔÉÍ=2Tim
+2ÔÉÍ.=2Tim
+2 ÔÉÍ=2Tim
+2 ÔÉÍ.=2Tim
+2ôÉÍ=2Tim
+2ôÉÍ.=2Tim
+2 ôÉÍ=2Tim
+2 ôÉÍ.=2Tim
+ÔÉÔ=Titus
+ÔÉÔ.=Titus
+ôÉÔ=Titus
+ôÉÔ.=Titus
+ÆÉÌÉÍ=Phlm
+ÆÉÌÉÍ.=Phlm
+æÉÌÉÍ=Phlm
+æÉÌÉÍ.=Phlm
+¤×Ò=Heb
+¤×Ò.=Heb
+´×Ò=Heb
+´×Ò.=Heb
+ÑË=Jas
+ÑË.=Jas
+ñË=Jas
+ñË.=Jas
+1ÐÅÔÒ=1Pet
+1ÐÅÔÒ.=1Pet
+1 ÐÅÔÒ=1Pet
+1 ÐÅÔÒ.=1Pet
+1ðÅÔÒ=1Pet
+1ðÅÔÒ.=1Pet
+1 ðÅÔÒ=1Pet
+1 ðÅÔÒ.=1Pet
+2ÐÅÔÒ=2Pet
+2ÐÅÔÒ.=2Pet
+2 ÐÅÔÒ=2Pet
+2 ÐÅÔÒ.=2Pet
+2ðÅÔÒ=2Pet
+2ðÅÔÒ.=2Pet
+2 ðÅÔÒ=2Pet
+2 ðÅÔÒ.=2Pet
+1¦×=1John
+1¦×.=1John
+1 ¦×=1John
+1 ¦×.=1John
+1¶×=1John
+1¶×.=1John
+1 ¶×=1John
+1 ¶×.=1John
+2¦×=2John
+2¦×.=2John
+2 ¦×=2John
+2 ¦×.=2John
+2¶×=2John
+2¶×.=2John
+2 ¶×=2John
+2 ¶×.=2John
+3¦×=3John
+3¦×.=3John
+3 ¦×=3John
+3 ¦×.=3John
+3¶×=3John
+3¶×.=3John
+3 ¶×=3John
+3 ¶×.=3John
+ÀÄ=Jude
+ÀÄ.=Jude
+àÄ=Jude
+àÄ.=Jude
+ÏÂ=Rev
+ÏÂ.=Rev
+ïÂ=Rev
+ïÂ.=Rev
diff --git a/locales.d/uk_UA-utf8.conf b/locales.d/uk_UA-utf8.conf
index 08563ad..4397581 100644
--- a/locales.d/uk_UA-utf8.conf
+++ b/locales.d/uk_UA-utf8.conf
@@ -77,663 +77,479 @@ Jude=Юди
Revelation of John=Об'ÑвленнÑ
[Book Abbrevs]
-1 C=46
-1 CHRONICLES=13
-1 CORINTHIANS=46
-1 JN=62
-1 JOHN=62
-1 KGS=11
-1 KINGS=11
-1 PETER=60
-1 PTR=60
-1 SAMUEL=9
-1 THESSALONIANS=52
-1 TIMOTHY=54
-1C=46
-1CHRONICLES=13
-1CORINTHIANS=46
-1JN=62
-1JOHN=62
-1KGS=11
-1KINGS=11
-1PETER=60
-1PTR=60
-1SAMUEL=9
-1THESSALONIANS=52
-1TIMOTHY=54
-2 C=47
-2 CHRONICLES=14
-2 CORINTHIANS=47
-2 JN=63
-2 JOHN=63
-2 KGS=12
-2 KINGS=12
-2 PETER=61
-2 PTR=61
-2 SAMUEL=10
-2 THESSALONIANS=53
-2 TIMOTHY=55
-2C=47
-2CHRONICLES=14
-2CORINTHIANS=47
-2JN=63
-2JOHN=63
-2KGS=12
-2KINGS=12
-2PETER=61
-2PTR=61
-2SAMUEL=10
-2THESSALONIANS=53
-2TIMOTHY=55
-3 JN=64
-3 JOHN=64
-3JN=64
-3JOHN=64
-ACTS=44
-AMOS=30
-APOCALYPSE OF ST. JOHN=66
-C=51
-CANTICLE OF CANTICLES=22
-COC=22
-COLOSSIANS=51
-D=5
-DANIEL=27
-DEUTERONOMY=5
-E=49
-ECCLESIASTES=21
-EPHESIANS=49
-ESTER=17
-ESTHER=17
-EXODUS=2
-EZEKIEL=26
-EZRA=15
-G=1
-GALATIANS=48
-GENESIS=1
-H=58
-HABAKKUK=35
-HAGGAI=37
-HEBREWS=58
-HOSEA=28
-I C=46
-I CHRONICLES=13
-I CORINTHIANS=46
-I JN=62
-I JOHN=62
-I KGS=11
-I KINGS=11
-I PETER=60
-I PTR=60
-I SAMUEL=9
-I THESSALONIANS=52
-I TIMOTHY=54
-IC=46
-ICHRONICLES=13
-ICORINTHIANS=46
-II C=47
-II CHRONICLES=14
-II CORINTHIANS=47
-II JN=63
-II JOHN=63
-II KGS=12
-II KINGS=12
-II PETER=61
-II PTR=61
-II SAMUEL=10
-II THESSALONIANS=53
-II TIMOTHY=55
-IIC=47
-IICHRONICLES=14
-IICORINTHIANS=47
-III JN=64
-III JOHN=64
-IIIJN=64
-IIIJOHN=64
-IIJN=63
-IIJOHN=63
-IIKGS=12
-IIKINGS=12
-IIPETER=61
-IIPTR=61
-IISAMUEL=10
-IITHESSALONIANS=53
-IITIMOTHY=55
-IJN=62
-IJOHN=62
-IKGS=11
-IKINGS=11
-IPETER=60
-IPTR=60
-ISA=23
-ISAIAH=23
-ISAMUEL=9
-ITHESSALONIANS=52
-ITIMOTHY=54
-J=43
-JAMES=59
-JAS=59
-JEREMIAH=24
-JN=43
-JO=43
-JOB=18
-JOEL=29
-JOHN=43
-JONAH=32
-JOSHUA=6
-JUD=7
-JUDE=65
-JUDGES=7
-L=42
-LAMENTATIONS=25
-LEVITICUS=3
-LK=42
-LUKE=42
-MA=40
-MALACHI=39
-MARK=41
-MATTHEW=40
-MICAH=33
-MK=41
-MR=41
-MT=40
-N=4
-NAHUM=34
-NEHEMIAH=16
-NUMBERS=4
-OBADIAH=31
-P=19
-PH=50
-PHILEMON=57
-PHILIPPIANS=50
-PHLM=57
-PHM=57
-PHP=50
-PROVERBS=20
-PSALMS=19
-PSM=19
-PSS=19
-REVELATION OF JOHN=66
-ROMANS=45
-RUTH=8
-SONG OF SOLOMON=22
-SONG OF SONGS=22
-SOS=22
-TITUS=56
-ZECHARIAH=38
-ZEPHANIAH=36
-БуттÑ=1
-Вихід=2
-Левит=3
-ЧиÑла=4
-ÐŸÐ¾Ð²Ñ‚Ð¾Ñ€ÐµÐ½Ð½Ñ Ð—Ð°ÐºÐ¾Ð½Ñƒ=5
-ІÑÑƒÑ Ðавин=6
-Суддів=7
-Рут=8
+БуттÑ=Gen
+Вихід=Exod
+Левит=Lev
+ЧиÑла=Num
+ÐŸÐ¾Ð²Ñ‚Ð¾Ñ€ÐµÐ½Ð½Ñ Ð—Ð°ÐºÐ¾Ð½Ñƒ=Deut
+ІÑÑƒÑ Ðавин=Josh
+Суддів=Judg
+Рут=Ruth
-1. Самуїла=9
-1 Самуїла=9
-1Самуїла=9
+1. Самуїла=1Sam
+1 Самуїла=1Sam
+1Самуїла=1Sam
-2. Самуїла=10
-2 Самуїла=10
-2Самуїла=10
+2. Самуїла=2Sam
+2 Самуїла=2Sam
+2Самуїла=2Sam
-1. Царів=11
-1 Царів=11
-1Царів=11
+1. Царів=1Kgs
+1 Царів=1Kgs
+1Царів=1Kgs
-2. Царів=12
-2 Царів=12
-2Царів=12
+2. Царів=2Kgs
+2 Царів=2Kgs
+2Царів=2Kgs
-1. Хроніки=13
-1 Хроніки=13
-1Хроніки=13
+1. Хроніки=1Chr
+1 Хроніки=1Chr
+1Хроніки=1Chr
-2. Хроніки=14
-2 Хроніки=14
-2Хроніки=14
+2. Хроніки=2Chr
+2 Хроніки=2Chr
+2Хроніки=2Chr
-Ездри=15
-Ðеемії=16
-EÑтер=17
-Йова=18
-ПÑалмів=19
-ПриповіÑтей=20
-ЕкклезіÑÑÑ‚=21
-ПіÑÐ½Ñ Ð½Ð°Ð´ піÑнÑми=22
-ІÑаї=23
-Єремії=24
-Плач Єремії=25
-ЄзекіїлÑ=26
-Даниїла=27
-ОÑÑ–Ñ—=28
-Йоіла=29
-AмоÑа=30
-ОвдіÑ=31
-Йони=32
-MихеÑ=33
-Ðаума=34
-Ðвакума=35
-Софонії=36
-ОгіÑ=37
-ЗахаріÑ=38
-Малахії=39
-МатвіÑ=40
-Марка=41
-Луки=42
-Івана=43
-Дії=44
-РимлÑн=45
+Ездри=Ezra
+Ðеемії=Neh
+EÑтер=Esth
+Йова=Job
+ПÑалмів=Ps
+ПриповіÑтей=Prov
+ЕкклезіÑÑÑ‚=Eccl
+ПіÑÐ½Ñ Ð½Ð°Ð´ піÑнÑми=Song
+ІÑаї=Isa
+Єремії=Jer
+Плач Єремії=Lam
+ЄзекіїлÑ=Ezek
+Даниїла=Dan
+ОÑÑ–Ñ—=Hos
+Йоіла=Joel
+AмоÑа=Amos
+ОвдіÑ=Obad
+Йони=Jonah
+MихеÑ=Mic
+Ðаума=Nah
+Ðвакума=Hab
+Софонії=Zeph
+ОгіÑ=Hag
+ЗахаріÑ=Zech
+Малахії=Mal
+МатвіÑ=Matt
+Марка=Mark
+Луки=Luke
+Івана=John
+Дії=Acts
+РимлÑн=Rom
-1. КоринтÑн=46
-1 КоринтÑн=46
-1КоринтÑн=46
+1. КоринтÑн=1Cor
+1 КоринтÑн=1Cor
+1КоринтÑн=1Cor
-2. КоринтÑн=47
-2 КоринтÑн=47
-2КоринтÑн=47
+2. КоринтÑн=2Cor
+2 КоринтÑн=2Cor
+2КоринтÑн=2Cor
-Галатів=48
-ЕфеÑÑн=49
-Филип'Ñн=50
-КолоÑÑн=51
+Галатів=Gal
+ЕфеÑÑн=Eph
+Филип'Ñн=Phil
+КолоÑÑн=Col
-1. СолунÑн=52
-1 СолунÑн=52
-1СолунÑн=52
+1. СолунÑн=1Thess
+1 СолунÑн=1Thess
+1СолунÑн=1Thess
-2. СолунÑн=53
-2 СолунÑн=53
-2СолунÑн=53
+2. СолунÑн=2Thess
+2 СолунÑн=2Thess
+2СолунÑн=2Thess
-1. ТимофіÑ=54
-1 ТимофіÑ=54
-1ТимофіÑ=54
+1. ТимофіÑ=1Tim
+1 ТимофіÑ=1Tim
+1ТимофіÑ=1Tim
-2. ТимофіÑ=55
-2 ТимофіÑ=55
-2ТимофіÑ=55
+2. ТимофіÑ=2Tim
+2 ТимофіÑ=2Tim
+2ТимофіÑ=2Tim
-Тита=56
-Филимона=57
-Євреїв=58
-Якова=59
+Тита=Titus
+Филимона=Phlm
+Євреїв=Heb
+Якова=Jas
-1. Петра=60
-1 Петра=60
-1Петра=60
+1. Петра=1Pet
+1 Петра=1Pet
+1Петра=1Pet
-2. Петра=61
-2 Петра=61
-2Петра=61
+2. Петра=2Pet
+2 Петра=2Pet
+2Петра=2Pet
-1. Івана=62
-1 Івана=62
-1Івана=62
+1. Івана=1John
+1 Івана=1John
+1Івана=1John
-2. Івана=63
-2 Івана=63
-2Івана=63
+2. Івана=2John
+2 Івана=2John
+2Івана=2John
-3. Івана=64
-3 Івана=64
-3Івана=64
+3. Івана=3John
+3 Івана=3John
+3Івана=3John
-Юди=65
-Об'ÑвленнÑ=66
+Юди=Jude
+Об'ÑвленнÑ=Rev
-бут=1
-бут.=1
-Бут=1
-Бут.=1
-1М=1
-1М.=1
-1 М=1
-1 М.=1
-вих=2
-вих.=2
-Вих=2
-Вих.=2
-2М=2
-2М.=2
-2 М=2
-2 М.=2
-лев=3
-лев.=3
-Лев=3
-Лев.=3
-3М=3
-3М.=3
-3 М=3
-3 М.=3
-чиÑ=4
-чиÑ.=4
-ЧиÑ=4
-ЧиÑ.=4
-4М=4
-4М.=4
-4 М=4
-4 М.=4
-повт. зак.=5
-повт зак=5
-Повт Зак=5
-Повт. Зак.=5
-5М=5
-5М.=5
-5 М=5
-5 М.=5
-Ñ–ÑÑƒÑ Ð½Ð°Ð²Ð¸Ð½=6
-Ðавин=6
-навин=6
-єгошуї=6
-Єгошуї=6
-єг=6
-єг.=6
-Єг=6
-Єг.=6
-Ñуд=7
-Ñуд.=7
-Суд=7
-Суд.=7
-рут=8
-Рут=8
-1Ñам=9
-1Ñам.=9
-1 Ñам=9
-1 Ñам.=9
-1Сам=9
-1Сам.=9
-1 Сам=9
-1 Сам.=9
-2Ñам=10
-2Ñам.=10
-2 Ñам=10
-2 Ñам.=10
-2Сам=10
-2Сам.=10
-2 Сам=10
-2 Сам.=10
-1цар=11
-1цар.=11
-1 цар=11
-1 цар.=11
-1Цар=11
-1Цар.=11
-1 Цар=11
-1 Цар.=11
-2цар=12
-2цар.=12
-2 цар=12
-2 цар.=12
-2Цар=12
-2Цар.=12
-2 Цар=12
-2 Цар.=12
-1Ñ…Ñ€=13
-1Ñ…Ñ€.=13
-1 Ñ…Ñ€=13
-1 Ñ…Ñ€.=13
-1Хр=13
-1Хр.=13
-1 Хр=13
-1 Хр.=13
-2Ñ…Ñ€=14
-2Ñ…Ñ€.=14
-2 Ñ…Ñ€=14
-2 Ñ…Ñ€.=14
-2Хр=14
-2Хр.=14
-2 Хр=14
-2 Хр.=14
-езд=15
-езд.=15
-Езд=15
-Езд.=15
-неем=16
-неем.=16
-Ðеем=16
-Ðеем.=16
-еÑÑ‚=17
-еÑÑ‚.=17
-ЕÑÑ‚=17
-ЕÑÑ‚.=17
-йов=18
-Йов=18
-пÑ=19
-пÑ.=19
-ПÑ=19
-ПÑ.=19
-пр=20
+бут=Gen
+бут.=Gen
+Бут=Gen
+Бут.=Gen
+1М=Gen
+1М.=Gen
+1 М=Gen
+1 М.=Gen
+вих=Exod
+вих.=Exod
+Вих=Exod
+Вих.=Exod
+2М=Exod
+2М.=Exod
+2 М=Exod
+2 М.=Exod
+лев=Lev
+лев.=Lev
+Лев=Lev
+Лев.=Lev
+3М=Lev
+3М.=Lev
+3 М=Lev
+3 М.=Lev
+чиÑ=Num
+чиÑ.=Num
+ЧиÑ=Num
+ЧиÑ.=Num
+4М=Num
+4М.=Num
+4 М=Num
+4 М.=Num
+повт. зак.=Deut
+повт зак=Deut
+Повт Зак=Deut
+Повт. Зак.=Deut
+5М=Deut
+5М.=Deut
+5 М=Deut
+5 М.=Deut
+Ñ–ÑÑƒÑ Ð½Ð°Ð²Ð¸Ð½=Josh
+Ðавин=Josh
+навин=Josh
+єгошуї=Josh
+Єгошуї=Josh
+єг=Josh
+єг.=Josh
+Єг=Josh
+Єг.=Josh
+Ñуд=Judg
+Ñуд.=Judg
+Суд=Judg
+Суд.=Judg
+рут=Ruth
+Рут=Ruth
+1Ñам=1Sam
+1Ñам.=1Sam
+1 Ñам=1Sam
+1 Ñам.=1Sam
+1Сам=1Sam
+1Сам.=1Sam
+1 Сам=1Sam
+1 Сам.=1Sam
+2Ñам=2Sam
+2Ñам.=2Sam
+2 Ñам=2Sam
+2 Ñам.=2Sam
+2Сам=2Sam
+2Сам.=2Sam
+2 Сам=2Sam
+2 Сам.=2Sam
+1цар=1Kgs
+1цар.=1Kgs
+1 цар=1Kgs
+1 цар.=1Kgs
+1Цар=1Kgs
+1Цар.=1Kgs
+1 Цар=1Kgs
+1 Цар.=1Kgs
+2цар=2Kgs
+2цар.=2Kgs
+2 цар=2Kgs
+2 цар.=2Kgs
+2Цар=2Kgs
+2Цар.=2Kgs
+2 Цар=2Kgs
+2 Цар.=2Kgs
+1Ñ…Ñ€=1Chr
+1Ñ…Ñ€.=1Chr
+1 Ñ…Ñ€=1Chr
+1 Ñ…Ñ€.=1Chr
+1Хр=1Chr
+1Хр.=1Chr
+1 Хр=1Chr
+1 Хр.=1Chr
+2Ñ…Ñ€=2Chr
+2Ñ…Ñ€.=2Chr
+2 Ñ…Ñ€=2Chr
+2 Ñ…Ñ€.=2Chr
+2Хр=2Chr
+2Хр.=2Chr
+2 Хр=2Chr
+2 Хр.=2Chr
+езд=Ezra
+езд.=Ezra
+Езд=Ezra
+Езд.=Ezra
+неем=Neh
+неем.=Neh
+Ðеем=Neh
+Ðеем.=Neh
+еÑÑ‚=Esth
+еÑÑ‚.=Esth
+ЕÑÑ‚=Esth
+ЕÑÑ‚.=Esth
+йов=Job
+Йов=Job
+пÑ=Ps
+пÑ.=Ps
+ПÑ=Ps
+ПÑ.=Ps
+пр=Prov
пр.20
-Пр=20
-Пр.=20
-прип=20
-прип.=20
-Прип=20
-Прип.=20
-екл=21
-екл.=21
-еккл=21
-еклл.=21
-Еккл=21
-Еккл.=21
-Екл=21
-Екл.=21
-піÑн=22
-піÑн.=22
-ПіÑн=22
-ПіÑн.=22
-Ñ–Ñ=23
-Ñ–Ñ.=23
-ІÑ=23
-ІÑ.=23
-єр=24
-єр.=24
-Єр=24
-Єр.=24
-плач=25
-плач.=25
-Плач=25
-Плач.=25
-єз=26
-єз.=26
-Єз=26
-Єз.=26
-дан=27
-дан.=27
-Дан=27
-Дан.=27
-оÑ=28
-оÑ.=28
-ОÑ=28
-ОÑ.=28
-йоіл=29
-Йоіл=29
-ам=30
-ам.=30
-Ðм=30
-Ðм.=30
-овд=31
-овд.=31
-Овд=31
-Овд.=31
-йона=32
-Йона=32
-мих=33
-мих.=33
-Мих=33
-Мих.=33
-наум=34
-Ðаум=34
-ав=35
-ав.=35
-Ðв=35
-Ðв.=35
-Ñоф=36
-Ñоф.=36
-Соф=36
-Соф.=36
-ог=37
-ог.=37
-Ог=37
-Ог.=37
-зах=38
-зах.=38
-Зах=38
-Зах.=38
-мал=39
-мал.=39
-Мал=39
-Мал.=39
-мт=40
-мт.=40
-Мт=40
-Мт.=40
-мр=41
-мр.=41
-Мр=41
-Мр.=41
-лк=42
-лк.=42
-Лк=42
-Лк.=42
-ів=43
-ів.=43
-Ів=43
-Ів.=43
-дії=44
-Дії=44
-рим=45
-рим.=45
-Рим=45
-Рим.=45
-1кор=46
-1кор.=46
-1 кор=46
-1 кор.=46
-1Кор=46
-1Кор.=46
-1 Кор=46
-1 Кор.=46
-2кор=47
-2кор.=47
-2 кор=47
-2 кор.=47
-2Кор=47
-2Кор.=47
-2 Кор=47
-2 Кор.=47
-гал=48
-гал.=48
-Гал=48
-Гал.=48
-еф=49
-еф.=49
-Еф=49
-Еф.=49
-фил=50
-фил.=50
-Фил=50
-Фил.=50
-кол=51
-кол.=51
-Кол=51
-Кол.=51
-1Ñол=52
-1Ñол.=52
-1 Ñол=52
-1 Ñол.=52
-1Сол=52
-1Сол.=52
-1 Сол=52
-1 Сол.=52
-2Ñол=53
-2Ñол.=53
-2 Ñол=53
-2 Ñол.=53
-2Сол=53
-2Сол.=53
-2 Сол=53
-2 Сол.=53
-1тим=54
-1тим.=54
-1 тим=54
-1 тим.=54
-1Тим=54
-1Тим.=54
-1 Тим=54
-1 Тим.=54
-2тим=55
-2тим.=55
-2 тим=55
-2 тим.=55
-2Тим=55
-2Тим.=55
-2 Тим=55
-2 Тим.=55
-тит=56
-тит.=56
-Тит=56
-Тит.=56
-филим=57
-филим.=57
-Филим=57
-Филим.=57
-євр=58
-євр.=58
-Євр=58
-Євр.=58
-Ñк=59
-Ñк.=59
-Як=59
-Як.=59
-1петр=60
-1петр.=60
-1 петр=60
-1 петр.=60
-1Петр=60
-1Петр.=60
-1 Петр=60
-1 Петр.=60
-2петр=61
-2петр.=61
-2 петр=61
-2 петр.=61
-2Петр=61
-2Петр.=61
-2 Петр=61
-2 Петр.=61
-1ів=62
-1ів.=62
-1 ів=62
-1 ів.=62
-1Ів=62
-1Ів.=62
-1 Ів=62
-1 Ів.=62
-2ів=63
-2ів.=63
-2 ів=63
-2 ів.=63
-2Ів=63
-2Ів.=63
-2 Ів=63
-2 Ів.=63
-3ів=64
-3ів.=64
-3 ів=64
-3 ів.=64
-3Ів=64
-3Ів.=64
-3 Ів=64
-3 Ів.=64
-юд=65
-юд.=65
-Юд=65
-Юд.=65
-об=66
-об.=66
-Об=66
-Об.=66
+Пр=Prov
+Пр.=Prov
+прип=Prov
+прип.=Prov
+Прип=Prov
+Прип.=Prov
+екл=Eccl
+екл.=Eccl
+еккл=Eccl
+еклл.=Eccl
+Еккл=Eccl
+Еккл.=Eccl
+Екл=Eccl
+Екл.=Eccl
+піÑн=Song
+піÑн.=Song
+ПіÑн=Song
+ПіÑн.=Song
+Ñ–Ñ=Isa
+Ñ–Ñ.=Isa
+ІÑ=Isa
+ІÑ.=Isa
+єр=Jer
+єр.=Jer
+Єр=Jer
+Єр.=Jer
+плач=Lam
+плач.=Lam
+Плач=Lam
+Плач.=Lam
+єз=Ezek
+єз.=Ezek
+Єз=Ezek
+Єз.=Ezek
+дан=Dan
+дан.=Dan
+Дан=Dan
+Дан.=Dan
+оÑ=Hos
+оÑ.=Hos
+ОÑ=Hos
+ОÑ.=Hos
+йоіл=Joel
+Йоіл=Joel
+ам=Amos
+ам.=Amos
+Ðм=Amos
+Ðм.=Amos
+овд=Obad
+овд.=Obad
+Овд=Obad
+Овд.=Obad
+йона=Jonah
+Йона=Jonah
+мих=Mic
+мих.=Mic
+Мих=Mic
+Мих.=Mic
+наум=Nah
+Ðаум=Nah
+ав=Hab
+ав.=Hab
+Ðв=Hab
+Ðв.=Hab
+Ñоф=Zeph
+Ñоф.=Zeph
+Соф=Zeph
+Соф.=Zeph
+ог=Hag
+ог.=Hag
+Ог=Hag
+Ог.=Hag
+зах=Zech
+зах.=Zech
+Зах=Zech
+Зах.=Zech
+мал=Mal
+мал.=Mal
+Мал=Mal
+Мал.=Mal
+мт=Matt
+мт.=Matt
+Мт=Matt
+Мт.=Matt
+мр=Mark
+мр.=Mark
+Мр=Mark
+Мр.=Mark
+лк=Luke
+лк.=Luke
+Лк=Luke
+Лк.=Luke
+ів=John
+ів.=John
+Ів=John
+Ів.=John
+дії=Acts
+Дії=Acts
+рим=Rom
+рим.=Rom
+Рим=Rom
+Рим.=Rom
+1кор=1Cor
+1кор.=1Cor
+1 кор=1Cor
+1 кор.=1Cor
+1Кор=1Cor
+1Кор.=1Cor
+1 Кор=1Cor
+1 Кор.=1Cor
+2кор=2Cor
+2кор.=2Cor
+2 кор=2Cor
+2 кор.=2Cor
+2Кор=2Cor
+2Кор.=2Cor
+2 Кор=2Cor
+2 Кор.=2Cor
+гал=Gal
+гал.=Gal
+Гал=Gal
+Гал.=Gal
+еф=Eph
+еф.=Eph
+Еф=Eph
+Еф.=Eph
+фил=Phil
+фил.=Phil
+Фил=Phil
+Фил.=Phil
+кол=Col
+кол.=Col
+Кол=Col
+Кол.=Col
+1Ñол=1Thess
+1Ñол.=1Thess
+1 Ñол=1Thess
+1 Ñол.=1Thess
+1Сол=1Thess
+1Сол.=1Thess
+1 Сол=1Thess
+1 Сол.=1Thess
+2Ñол=2Thess
+2Ñол.=2Thess
+2 Ñол=2Thess
+2 Ñол.=2Thess
+2Сол=2Thess
+2Сол.=2Thess
+2 Сол=2Thess
+2 Сол.=2Thess
+1тим=1Tim
+1тим.=1Tim
+1 тим=1Tim
+1 тим.=1Tim
+1Тим=1Tim
+1Тим.=1Tim
+1 Тим=1Tim
+1 Тим.=1Tim
+2тим=2Tim
+2тим.=2Tim
+2 тим=2Tim
+2 тим.=2Tim
+2Тим=2Tim
+2Тим.=2Tim
+2 Тим=2Tim
+2 Тим.=2Tim
+тит=Titus
+тит.=Titus
+Тит=Titus
+Тит.=Titus
+филим=Phlm
+филим.=Phlm
+Филим=Phlm
+Филим.=Phlm
+євр=Heb
+євр.=Heb
+Євр=Heb
+Євр.=Heb
+Ñк=Jas
+Ñк.=Jas
+Як=Jas
+Як.=Jas
+1петр=1Pet
+1петр.=1Pet
+1 петр=1Pet
+1 петр.=1Pet
+1Петр=1Pet
+1Петр.=1Pet
+1 Петр=1Pet
+1 Петр.=1Pet
+2петр=2Pet
+2петр.=2Pet
+2 петр=2Pet
+2 петр.=2Pet
+2Петр=2Pet
+2Петр.=2Pet
+2 Петр=2Pet
+2 Петр.=2Pet
+1ів=1John
+1ів.=1John
+1 ів=1John
+1 ів.=1John
+1Ів=1John
+1Ів.=1John
+1 Ів=1John
+1 Ів.=1John
+2ів=2John
+2ів.=2John
+2 ів=2John
+2 ів.=2John
+2Ів=2John
+2Ів.=2John
+2 Ів=2John
+2 Ів.=2John
+3ів=3John
+3ів.=3John
+3 ів=3John
+3 ів.=3John
+3Ів=3John
+3Ів.=3John
+3 Ів=3John
+3 Ів.=3John
+юд=Jude
+юд.=Jude
+Юд=Jude
+Юд.=Jude
+об=Rev
+об.=Rev
+Об=Rev
+Об.=Rev
diff --git a/locales.d/vi-utf8.conf b/locales.d/vi-utf8.conf
index afbc445..3c2c32b 100644
--- a/locales.d/vi-utf8.conf
+++ b/locales.d/vi-utf8.conf
@@ -1,14 +1,20 @@
+# Vietnamese also known as Tiếng Việt
+# Provided by Daniel Owens
+# 6 May 2009
+
[Meta]
Name=vi
-Description=Vietnamese (Unicode)
+Description=Tiếng Việt
Encoding=UTF-8
+
[Text]
+
Genesis=Sáng Thế Ký
Exodus=Xuất Êdíptô Ký
Leviticus=Lêvi Ký
Numbers=Dân Số Ký
-Deuteronomy=Phục Truyá»n Luât Lệ Ký
+Deuteronomy=Phục Truyá»n Luật Lệ Ký
Joshua=Giôsuê
Judges=Các Quan Xét
Ruth=Rutơ
@@ -43,6 +49,7 @@ Zephaniah=Sôphôni
Haggai=Aghê
Zechariah=Xachari
Malachi=Malachi
+
Matthew=Mathiơ
Mark=Mác
Luke=Luca
@@ -71,320 +78,160 @@ III John=III Giăng
Jude=Giuđe
Revelation of John=Khải Huyá»n
+
+#Apocr
+
+
+I Esdras=I Esdras
+II Esdras=II Esdras
+Tobit=Tôbia
+Judith=Giuđitha
+Additions to Esther=Phần Bổ Sung Êxơtê
+Esther (Greek)=Êxơtê (Tiếng Hy Lạp)
+Wisdom=Khôn Ngoan
+Sirach=Huấn Ca
+Baruch=Barúc
+Prayer of Azariah=Cầu Nguyện của Axaria
+Susanna=Susanna
+# Bel
+#Bel and the Dragon=
+# PrMan
+#Prayer of Manasses=
+I Maccabees=Macabê Quyển 1
+II Maccabees=Macabê Quyển 2
+III Maccabees=Macabê Quyển 3
+IV Maccabees=Macabê Quyển 4
+Additional Psalm=Thi Thiên 151
+
+
+# These aren't yet included but probably will soon,
+# so if you'd like to get a headstart now, you may but don't
+# complain if the strings change before final release! :)
+
+# Jub
+#Jubilees=
+# SirP
+#Sirach (Prologue)=
+# 1En
+#I Enoch=
+# 1Meq
+#I Meqabyan=
+# 2Meq
+#II Meqabyan=
+# 3Meq
+#III Meqabyan=
+II Baruch=II Barúc
+# 4Bar
+#IV Baruch=
+Daniel (Greek)=Äaniên (Tiếng Hy Lạp)
+Additions to Daniel=Phần Bổ Sung Äaniên
+# EpJer
+#Epistle of Jeremiah=
+# EpLao
+#Laodiceans=
+# Odes
+#Odes=
+Psalms of Solomon=Thi Thiên của Salômôn
+
+
[Book Abbrevs]
-1 C=46
-1 CHRONICLES=13
-1 CORINTHIANS=46
-1 JN=62
-1 JOHN=62
-1 KGS=11
-1 KINGS=11
-1 PETER=60
-1 PTR=60
-1 SAMUEL=9
-1 THESSALONIANS=52
-1 TIMOTHY=54
-1C=46
-1CHRONICLES=13
-1CORINTHIANS=46
-1JN=62
-1JOHN=62
-1KGS=11
-1KINGS=11
-1PETER=60
-1PTR=60
-1SAMUEL=9
-1THESSALONIANS=52
-1TIMOTHY=54
-2 C=47
-2 CHRONICLES=14
-2 CORINTHIANS=47
-2 JN=63
-2 JOHN=63
-2 KGS=12
-2 KINGS=12
-2 PETER=61
-2 PTR=61
-2 SAMUEL=10
-2 THESSALONIANS=53
-2 TIMOTHY=55
-2C=47
-2CHRONICLES=14
-2CORINTHIANS=47
-2JN=63
-2JOHN=63
-2KGS=12
-2KINGS=12
-2PETER=61
-2PTR=61
-2SAMUEL=10
-2THESSALONIANS=53
-2TIMOTHY=55
-3 JN=64
-3 JOHN=64
-3JN=64
-3JOHN=64
-ACTS=44
-AMOS=30
-APOCALYPSE OF ST. JOHN=66
-C=51
-CANTICLE OF CANTICLES=22
-COC=22
-COLOSSIANS=51
-D=5
-DANIEL=27
-DEUTERONOMY=5
-E=49
-ECCLESIASTES=21
-EPHESIANS=49
-ESTER=17
-ESTHER=17
-EXODUS=2
-EZEKIEL=26
-EZRA=15
-G=1
-GALATIANS=48
-GENESIS=1
-H=58
-HABAKKUK=35
-HAGGAI=37
-HEBREWS=58
-HOSEA=28
-I C=46
-I CHRONICLES=13
-I CORINTHIANS=46
-I JN=62
-I JOHN=62
-I KGS=11
-I KINGS=11
-I PETER=60
-I PTR=60
-I SAMUEL=9
-I THESSALONIANS=52
-I TIMOTHY=54
-IC=46
-ICHRONICLES=13
-ICORINTHIANS=46
-II C=47
-II CHRONICLES=14
-II CORINTHIANS=47
-II JN=63
-II JOHN=63
-II KGS=12
-II KINGS=12
-II PETER=61
-II PTR=61
-II SAMUEL=10
-II THESSALONIANS=53
-II TIMOTHY=55
-IIC=47
-IICHRONICLES=14
-IICORINTHIANS=47
-III JN=64
-III JOHN=64
-IIIJN=64
-IIIJOHN=64
-IIJN=63
-IIJOHN=63
-IIKGS=12
-IIKINGS=12
-IIPETER=61
-IIPTR=61
-IISAMUEL=10
-IITHESSALONIANS=53
-IITIMOTHY=55
-IJN=62
-IJOHN=62
-IKGS=11
-IKINGS=11
-IPETER=60
-IPTR=60
-ISA=23
-ISAIAH=23
-ISAMUEL=9
-ITHESSALONIANS=52
-ITIMOTHY=54
-J=43
-JAMES=59
-JAS=59
-JEREMIAH=24
-JN=43
-JO=43
-JOB=18
-JOEL=29
-JOHN=43
-JONAH=32
-JOSHUA=6
-JUD=7
-JUDE=65
-JUDGES=7
-L=42
-LAMENTATIONS=25
-LEVITICUS=3
-LK=42
-LUKE=42
-MA=40
-MALACHI=39
-MARK=41
-MATTHEW=40
-MICAH=33
-MK=41
-MR=41
-MT=40
-N=4
-NAHUM=34
-NEHEMIAH=16
-NUMBERS=4
-OBADIAH=31
-P=19
-PH=50
-PHILEMON=57
-PHILIPPIANS=50
-PHLM=57
-PHM=57
-PHP=50
-PROVERBS=20
-PSALMS=19
-PSM=19
-PSS=19
-REVELATION OF JOHN=66
-ROMANS=45
-RUTH=8
-SONG OF SOLOMON=22
-SONG OF SONGS=22
-SOS=22
-TITUS=56
-ZECHARIAH=38
-ZEPHANIAH=36
-Sáng Thế Ký=1
-Sa=1
-Xuất Êdíptô Ký=2
-Xu=2
-Lêvi Ký=3
-Le=3
-Dân Số Ký=4
-Dan=4
-Phục Truyá»n Luât Lệ Ký=5
-Phu=5
-Giôsuê=6
-Gios=6
-Các Quan Xét=7
-Cac=7
-Rutơ=8
-Ru=8
-I Samuên=9
-ISa=9
-II Samuên=10
-IISa=10
-I Các Vua=11
-IVua=11
-II Các Vua=12
-IIVua=12
-I Sử ký=13
-ISu=13
-II Sử ký=14
-IISu=14
-Exơra=15
-Exo=15
-Nêhêmi=16
-Ne=16
-Êxơtê=17
-Et=17
-Gióp=18
-Giop=18
-Thi Thiên=19
-Thi=19
-Châm Ngôn=20
-Ch=20
-Truyá»n Äạo=21
-Tr=21
-Nhã Ca=22
-Nha=22
-Êsai=23
-Es=23
-Giêrêmi=24
-Gie=24
-Ca ThÆ°Æ¡ng=25
-Ca=25
-Êxêchiên=26
-Exe=26
-Äaniên=27
-Da=27
-Ôsê=28
-Os=28
-Giôên=29
-Gio=29
-Amốt=30
-Am=30
-ÃpÄ‘ia=31
-Ap=31
-Giôna=32
-Gion=32
-Michê=33
-Mi=33
-Nahum=34
-Na=34
-Habacúc=35
-Ha=35
-Sôphôni=36
-So=36
-Aghê=37
-Ag=37
-Xachari=38
-Xa=38
-Malachi=39
-Ma=39
-Mathiơ=40
-Mat=40
-Mác=41
-Mac=41
-Luca=42
-Lu=42
-Giăng=43
-Gi=43
-Công Vụ Các Sứ Äồ=44
-Cong=44
-Rôma=45
-Ro=45
-I Côrinhtô=46
-ICo=46
-II Côrinhtô=47
-IICo=47
-Galati=48
-Ga=48
-Êphêsô=49
-Eph=49
-Philíp=50
-Phi=50
-Côlôse=51
-Co=51
-I Têsalônica=52
-ITe=52
-II Têsalônica=53
-IITe=53
-I Timôthê=54
-ITi=54
-II Timôthê=55
-IITi=55
-Tít=56
-Tit=56
-Philêmôn=57
-Phil=57
-Hêbơrơ=58
-He=58
-Giacơ=59
-Gia=59
-I Phierơ=60
-IPhi=60
-II Phierơ=61
-IIPhi=61
-I Giăng=62
-IGi=62
-II Giăng=63
-IIGi=63
-III Giăng=64
-IIIGi=64
-Giuđe=65
-Giu=65
-Khải Huyá»n=66
-Kh=66
+
+AGHÊ=Hag
+AMá»T=Amos
+ÃPÄIA=Obad
+BARÚC=Bar
+BEL AND THE DRAGON=Bel
+CA THƯƠNG=Lam
+CÃC QUAN XÉT=Judg
+CẦU NGUYỆN CỦA AXARIA=PrAzar
+CHÂM NGÔN=Prov
+CÔLÔSE=Col
+CÔNG VỤ CÃC SỨ Äá»’=Acts
+DÂN Sá» KÃ=Num
+ÄANIÊN=Dan
+ÄANIÊN (TIẾNG HY LẠP)=DanGr
+ÊPHÊSÔ=Eph
+EPISTLE OF JEREMIAH=EpJer
+ÊSAI=Isa
+ÊXÊCHIÊN=Ezek
+EXÆ RA=Ezra
+ÊXƠTÊ=Esth
+ÊXƠTÊ (TIẾNG HY LẠP)=EsthGr
+GALATI=Gal
+GIACÆ =Jas
+GIÄ‚NG=John
+GIÊRÊMI=Jer
+GIÔÊN=Joel
+GIÔNA=Jonah
+GIÓP=Job
+GIÔSUÊ=Josh
+GIUÄE=Jude
+GIUÄITHA=Jdt
+HABACÚC=Hab
+HÊBƠRƠ=Heb
+HUẤN CA=Sir
+I CÃC VUA=1Kgs
+I CÔRINHTÔ=1Cor
+I ENOCH=1En
+I ESDRAS=1Esd
+I GIÄ‚NG=1John
+I MEQABYAN=1Meq
+I PHIERÆ =1Pet
+I SAMUÊN=1Sam
+I SỬ KÃ=1Chr
+I TÊSALÔNICA=1Thess
+I TIMÔTHÊ=1Tim
+II BARÚC=2Bar
+II CÃC VUA=2Kgs
+II CÔRINHTÔ=2Cor
+II ESDRAS=2Esd
+II GIÄ‚NG=2John
+II MEQABYAN=2Meq
+II PHIERÆ =2Pet
+II SAMUÊN=2Sam
+II SỬ KÃ=2Chr
+II TÊSALÔNICA=2Thess
+II TIMÔTHÊ=2Tim
+III GIÄ‚NG=3John
+III MEQABYAN=3Meq
+IV BARÚC=4Bar
+JUBILEES=Jub
+KHẢI HUYỀN=Rev
+KHÔN NGOAN=Wis
+LAODICEANS=EpLao
+LÊVI KÃ=Lev
+LUCA=Luke
+MÃC=Mark
+MACABÊ QUYỂN 1=1Macc
+MACABÊ QUYỂN 2=2Macc
+MACABÊ QUYỂN 3=3Macc
+MACABÊ QUYỂN 4=4Macc
+MALACHI=Mal
+MATHIÆ =Matt
+MICHÊ=Mic
+NAHUM=Nah
+NÊHÊMI=Neh
+NHÃ CA=Song
+ODES=Odes
+ÔSÊ=Hos
+PHẦN Bá»” SUNG ÄANIÊN=AddDan
+PHẦN BỔ SUNG ÊXƠTÊ=AddEsth
+PHILÊMÔN=Phlm
+PHILÃP=Phil
+PHỤC TRUYỀN LUẬT LỆ KÃ=Deut
+PRAYER OF MANASSES=PrMan
+RÔMA=Rom
+RUTÆ =Ruth
+SÃNG THẾ KÃ=Gen
+SIRACH (PROLOGUE)=SirP
+SÔPHÔNI=Zeph
+SUSANNA=Sus
+THI THIÊN=Ps
+THI THIÊN 151=AddPs
+THI THIÊN CỦA SALÔMÔN=PssSol
+TÃT=Titus
+TÔBIA=Tob
+TRUYỀN ÄẠO=Eccl
+XACHARI=Zech
+XUẤT ÊDÃPTÔ KÃ=Exod
+
diff --git a/locales.d/zh_TW-utf8.conf b/locales.d/zh_TW-utf8.conf
new file mode 100644
index 0000000..eba9429
--- /dev/null
+++ b/locales.d/zh_TW-utf8.conf
@@ -0,0 +1,141 @@
+[Meta]
+Name=zh_TW
+Description=中文 (å°ç£)
+Encoding=UTF-8
+
+[Text]
+Genesis=創世紀
+Exodus=出埃åŠè¨˜
+Leviticus=利未記
+Numbers=民數記
+Deuteronomy=申命記
+Joshua=約書亞記
+Judges=士師記
+Ruth=路得記
+I Samuel=æ’’æ¯è€³è¨˜ä¸Š
+II Samuel=æ’’æ¯è€³è¨˜ä¸‹
+I Kings=列王紀上
+II Kings=列王紀下
+I Chronicles=歷代志上
+II Chronicles=歷代志下
+Ezra=以斯拉記
+Nehemiah=尼希米記
+Esther=以斯帖記
+Job=約伯記
+Psalms=詩篇
+Proverbs=箴言
+Ecclesiastes=傳é“書
+Song of Solomon=雅歌
+Isaiah=以賽亞書
+Jeremiah=耶利米書
+Lamentations=耶利米哀歌
+Ezekiel=以西çµæ›¸
+Daniel=但以ç†æ›¸
+Hosea=何西阿書
+Joel=ç´„ç¥æ›¸
+Amos=阿摩å¸æ›¸
+Obadiah=俄巴底亞書
+Jonah=約拿書
+Micah=彌迦書
+Nahum=那鴻書
+Habakkuk=哈巴谷書
+Zephaniah=西番雅書
+Haggai=哈該書
+Zechariah=撒迦利亞書
+Malachi=瑪拉基書
+Matthew=馬太ç¦éŸ³
+Mark=馬å¯ç¦éŸ³
+Luke=路加ç¦éŸ³
+John=ç´„ç¿°ç¦éŸ³
+Acts=使徒行傳
+Romans=羅馬書
+I Corinthians=哥林多å‰æ›¸
+II Corinthians=哥林多後書
+Galatians=加拉太書
+Ephesians=以弗所書
+Philippians=腓立比書
+Colossians=歌羅西書
+I Thessalonians=帖撒羅尼迦å‰æ›¸
+II Thessalonians=帖撒羅尼迦後書
+I Timothy=æ摩太å‰æ›¸
+II Timothy=æ摩太後書
+Titus=æ多書
+Philemon=腓利門書
+Hebrews=希伯來書
+James=é›…å„書
+I Peter=彼得å‰æ›¸
+II Peter=彼得後書
+I John=約翰壹書
+II John=約翰貳書
+III John=ç´„ç¿°åƒæ›¸
+Jude=猶大書
+Revelation of John=啟示錄
+
+[Book Abbrevs]
+
+創世紀=Gen
+出埃åŠè¨˜=Exod
+利未記=Lev
+民數記=Num
+申命記=Deut
+約書亞記=Josh
+士師記=Judg
+路得記=Ruth
+æ’’æ¯è€³è¨˜ä¸Š=1Sam
+æ’’æ¯è€³è¨˜ä¸‹=2Sam
+列王紀上=1Kgs
+列王紀下=2Kgs
+歷代志上=1Chr
+歷代志下=2Chr
+以斯拉記=Ezra
+尼希米記=Neh
+以斯帖記=Esth
+約伯記=Job
+詩篇=Ps
+箴言=Prov
+傳é“書=Eccl
+雅歌=Song
+以賽亞書=Isa
+耶利米書=Jer
+耶利米哀歌=Lam
+以西çµæ›¸=Ezek
+但以ç†æ›¸=Dan
+何西阿書=Hos
+ç´„ç¥æ›¸=Joel
+阿摩å¸æ›¸=Amos
+俄巴底亞書=Obad
+約拿書=Jonah
+彌迦書=Mic
+那鴻書=Nah
+哈巴谷書=Hab
+西番雅書=Zeph
+哈該書=Hag
+撒迦利亞書=Zech
+瑪拉基書=Mal
+馬太ç¦éŸ³=Matt
+馬å¯ç¦éŸ³=Mark
+路加ç¦éŸ³=Luke
+ç´„ç¿°ç¦éŸ³=John
+使徒行傳=Acts
+羅馬書=Rom
+哥林多å‰æ›¸=1Cor
+哥林多後書=2Cor
+加拉太書=Gal
+以弗所書=Eph
+腓立比書=Phil
+歌羅西書=Col
+帖撒羅尼迦å‰æ›¸=1Thess
+帖撒羅尼迦後書=2Thess
+æ摩太å‰æ›¸=1Tim
+æ摩太後書=2Tim
+æ多書=Titus
+腓利門書=Phlm
+希伯來書=Heb
+é›…å„書=Jas
+彼得å‰æ›¸=1Pet
+彼得後書=2Pet
+約翰壹書=1John
+約翰貳書=2John
+ç´„ç¿°åƒæ›¸=3John
+猶大書=Jude
+啟示錄=Rev
diff --git a/locales.d/zh_english-utf8.conf b/locales.d/zh_english-utf8.conf
new file mode 100644
index 0000000..2095f72
--- /dev/null
+++ b/locales.d/zh_english-utf8.conf
@@ -0,0 +1,141 @@
+[Meta]
+Name=zh_English
+Description=中文 (å°ç£)
+Encoding=UTF-8
+
+[Text]
+Genesis=創世紀Genesis
+Exodus=出埃åŠè¨˜Exodus
+Leviticus=利未記Leviticus
+Numbers=民數記Numbers
+Deuteronomy=申命記Deuteronomy
+Joshua=約書亞記Joshua
+Judges=士師記Judges
+Ruth=路得記Ruth
+I Samuel=æ’’æ¯è€³è¨˜ä¸ŠI Samuel
+II Samuel=æ’’æ¯è€³è¨˜ä¸‹II Samuel
+I Kings=列王紀上I Kings
+II Kings=列王紀下II Kings
+I Chronicles=歷代志上I Chronicles
+II Chronicles=歷代志下II Chronicles
+Ezra=以斯拉記Ezra
+Nehemiah=尼希米記Nehemiah
+Esther=以斯帖記Esther
+Job=約伯記Job
+Psalms=詩篇Psalms
+Proverbs=箴言Proverbs
+Ecclesiastes=傳é“書Ecclesiastes
+Song of Solomon=é›…æ­ŒSong of Solomon
+Isaiah=以賽亞書Isaiah
+Jeremiah=耶利米書Jeremiah
+Lamentations=耶利米哀歌Lamentations
+Ezekiel=以西çµæ›¸Ezekiel
+Daniel=但以ç†æ›¸Daniel
+Hosea=何西阿書Hosea
+Joel=ç´„ç¥æ›¸Joel
+Amos=阿摩å¸æ›¸Amos
+Obadiah=俄巴底亞書Obadiah
+Jonah=約拿書Jonah
+Micah=彌迦書Micah
+Nahum=那鴻書Nahum
+Habakkuk=哈巴谷書Habakkuk
+Zephaniah=西番雅書Zephaniah
+Haggai=哈該書Haggai
+Zechariah=撒迦利亞書Zechariah
+Malachi=瑪拉基書Malachi
+Matthew=馬太ç¦éŸ³Matthew
+Mark=馬å¯ç¦éŸ³Mark
+Luke=路加ç¦éŸ³Luke
+John=ç´„ç¿°ç¦éŸ³John
+Acts=使徒行傳Acts
+Romans=羅馬書Romans
+I Corinthians=哥林多å‰æ›¸I Corinthians
+II Corinthians=哥林多後書II Corinthians
+Galatians=加拉太書Galatians
+Ephesians=以弗所書Ephesians
+Philippians=腓立比書Philippians
+Colossians=歌羅西書Colossians
+I Thessalonians=帖撒羅尼迦å‰æ›¸I Thessalonians
+II Thessalonians=帖撒羅尼迦後書II Thessalonians
+I Timothy=æ摩太å‰æ›¸I Timothy
+II Timothy=æ摩太後書II Timothy
+Titus=æ多書Titus
+Philemon=腓利門書Philemon
+Hebrews=希伯來書Hebrews
+James=é›…å„書James
+I Peter=彼得å‰æ›¸I Peter
+II Peter=彼得後書II Peter
+I John=約翰壹書I John
+II John=約翰貳書II John
+III John=ç´„ç¿°åƒæ›¸III John
+Jude=猶大書Jude
+Revelation of John=啟示錄Revelation of John
+
+[Book Abbrevs]
+
+創世紀Genesis=Gen
+出埃åŠè¨˜Exodus=Exod
+利未記Leviticus=Lev
+民數記Numbers=Num
+申命記Deuteronomy=Deut
+約書亞記Joshua=Josh
+士師記Judges=Judg
+路得記Ruth=Ruth
+æ’’æ¯è€³è¨˜ä¸ŠI Samuel=1Sam
+æ’’æ¯è€³è¨˜ä¸‹II Samuel=2Sam
+列王紀上I Kings=1Kgs
+列王紀下II Kings=2Kgs
+歷代志上I Chronicles=1Chr
+歷代志下II Chronicles=2Chr
+以斯拉記Ezra=Ezra
+尼希米記Nehemiah=Neh
+以斯帖記Esther=Esth
+約伯記Job=Job
+詩篇Psalms=Ps
+箴言Proverbs=Prov
+傳é“書Ecclesiastes=Eccl
+é›…æ­ŒSong of Solomon=Song
+以賽亞書Isaiah=Isa
+耶利米書Jeremiah=Jer
+耶利米哀歌Lamentations=Lam
+以西çµæ›¸Ezekiel=Ezek
+但以ç†æ›¸Daniel=Dan
+何西阿書Hosea=Hos
+ç´„ç¥æ›¸Joel=Joel
+阿摩å¸æ›¸Amos=Amos
+俄巴底亞書Obadiah=Obad
+約拿書Jonah=Jonah
+彌迦書Micah=Mic
+那鴻書Nahum=Nah
+哈巴谷書Habakkuk=Hab
+西番雅書Zephaniah=Zeph
+哈該書Haggai=Hag
+撒迦利亞書Zechariah=Zech
+瑪拉基書Malachi=Mal
+馬太ç¦éŸ³Matthew=Matt
+馬å¯ç¦éŸ³Mark=Mark
+路加ç¦éŸ³Luke=Luke
+ç´„ç¿°ç¦éŸ³John=John
+使徒行傳Acts=Acts
+羅馬書Romans=Rom
+哥林多å‰æ›¸I Corinthians=1Cor
+哥林多後書II Corinthians=2Cor
+加拉太書Galatians=Gal
+以弗所書Ephesians=Eph
+腓立比書Philippians=Phil
+歌羅西書Colossians=Col
+帖撒羅尼迦å‰æ›¸I Thessalonians=1Thess
+帖撒羅尼迦後書II Thessalonians=2Thess
+æ摩太å‰æ›¸I Timothy=1Tim
+æ摩太後書II Timothy=2Tim
+æ多書Titus=Titus
+腓利門書Philemon=Phlm
+希伯來書Hebrews=Heb
+é›…å„書James=Jas
+彼得å‰æ›¸I Peter=1Pet
+彼得後書II Peter=2Pet
+約翰壹書I John=1John
+約翰貳書II John=2John
+ç´„ç¿°åƒæ›¸III John=3John
+猶大書Jude=Jude
+啟示錄Revelation of John=Rev
diff --git a/ltmain.sh b/ltmain.sh
index 8e5a930..b612e9a 100644..100755
--- a/ltmain.sh
+++ b/ltmain.sh
@@ -1,52 +1,83 @@
-# ltmain.sh - Provide generalized library-building support services.
-# NOTE: Changing this file will not affect anything until you rerun configure.
-#
-# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, 2006,
-# 2007 Free Software Foundation, Inc.
-# Originally by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
-#
-# This program is free software; you can redistribute it and/or modify
+# Generated from ltmain.m4sh.
+
+# ltmain.sh (GNU libtool) 2.2.6
+# Written by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
+
+# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, 2006, 2007 2008 Free Software Foundation, Inc.
+# This is free software; see the source for copying conditions. There is NO
+# warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+# GNU Libtool is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
-# This program is distributed in the hope that it will be useful, but
+# As a special exception to the GNU General Public License,
+# if you distribute this file as part of a program or library that
+# is built using GNU Libtool, you may include this file under the
+# same distribution terms that you use for the rest of that program.
+#
+# GNU Libtool is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# General Public License for more details.
#
# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
-#
-# As a special exception to the GNU General Public License, if you
-# distribute this file as part of a program that contains a
-# configuration script generated by Autoconf, you may include it under
-# the same distribution terms that you use for the rest of that program.
-
-basename="s,^.*/,,g"
-
-# Work around backward compatibility issue on IRIX 6.5. On IRIX 6.4+, sh
-# is ksh but when the shell is invoked as "sh" and the current value of
-# the _XPG environment variable is not equal to 1 (one), the special
-# positional parameter $0, within a function call, is the name of the
-# function.
-progpath="$0"
+# along with GNU Libtool; see the file COPYING. If not, a copy
+# can be downloaded from http://www.gnu.org/licenses/gpl.html,
+# or obtained by writing to the Free Software Foundation, Inc.,
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
-# The name of this program:
-progname=`echo "$progpath" | $SED $basename`
-modename="$progname"
-
-# Global variables:
-EXIT_SUCCESS=0
-EXIT_FAILURE=1
+# Usage: $progname [OPTION]... [MODE-ARG]...
+#
+# Provide generalized library-building support services.
+#
+# --config show all configuration variables
+# --debug enable verbose shell tracing
+# -n, --dry-run display commands without modifying any files
+# --features display basic configuration information and exit
+# --mode=MODE use operation mode MODE
+# --preserve-dup-deps don't remove duplicate dependency libraries
+# --quiet, --silent don't print informational messages
+# --tag=TAG use configuration variables from tag TAG
+# -v, --verbose print informational messages (default)
+# --version print version information
+# -h, --help print short or long help message
+#
+# MODE must be one of the following:
+#
+# clean remove files from the build directory
+# compile compile a source file into a libtool object
+# execute automatically set library path, then run a program
+# finish complete the installation of libtool libraries
+# install install libraries or executables
+# link create a library or an executable
+# uninstall remove libraries from an installed directory
+#
+# MODE-ARGS vary depending on the MODE.
+# Try `$progname --help --mode=MODE' for a more detailed description of MODE.
+#
+# When reporting a bug, please describe a test case to reproduce it and
+# include the following information:
+#
+# host-triplet: $host
+# shell: $SHELL
+# compiler: $LTCC
+# compiler flags: $LTCFLAGS
+# linker: $LD (gnu? $with_gnu_ld)
+# $progname: (GNU libtool) 2.2.6 Debian-2.2.6a-1ubuntu1
+# automake: $automake_version
+# autoconf: $autoconf_version
+#
+# Report bugs to <bug-libtool@gnu.org>.
PROGRAM=ltmain.sh
PACKAGE=libtool
-VERSION=1.5.24
-TIMESTAMP=" (1.1220.2.456 2007/06/24 02:25:32)"
+VERSION="2.2.6 Debian-2.2.6a-1ubuntu1"
+TIMESTAMP=""
+package_revision=1.3012
-# Be Bourne compatible (taken from Autoconf:_AS_BOURNE_COMPATIBLE).
+# Be Bourne compatible
if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
emulate sh
NULLCMD=:
@@ -60,98 +91,261 @@ fi
BIN_SH=xpg4; export BIN_SH # for Tru64
DUALCASE=1; export DUALCASE # for MKS sh
-# Check that we have a working $echo.
-if test "X$1" = X--no-reexec; then
- # Discard the --no-reexec flag, and continue.
- shift
-elif test "X$1" = X--fallback-echo; then
- # Avoid inline document here, it may be left over
- :
-elif test "X`($echo '\t') 2>/dev/null`" = 'X\t'; then
- # Yippee, $echo works!
- :
-else
- # Restart under the correct shell, and then maybe $echo will work.
- exec $SHELL "$progpath" --no-reexec ${1+"$@"}
-fi
-
-if test "X$1" = X--fallback-echo; then
- # used as fallback echo
- shift
- cat <<EOF
-$*
-EOF
- exit $EXIT_SUCCESS
-fi
-
-default_mode=
-help="Try \`$progname --help' for more information."
-magic="%%%MAGIC variable%%%"
-mkdir="mkdir"
-mv="mv -f"
-rm="rm -f"
-
-# Sed substitution that helps us do robust quoting. It backslashifies
-# metacharacters that are still active within double-quoted strings.
-Xsed="${SED}"' -e 1s/^X//'
-sed_quote_subst='s/\([\\`\\"$\\\\]\)/\\\1/g'
-# test EBCDIC or ASCII
-case `echo X|tr X '\101'` in
- A) # ASCII based system
- # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr
- SP2NL='tr \040 \012'
- NL2SP='tr \015\012 \040\040'
- ;;
- *) # EBCDIC based system
- SP2NL='tr \100 \n'
- NL2SP='tr \r\n \100\100'
- ;;
-esac
-
-# NLS nuisances.
+# NLS nuisances: We save the old values to restore during execute mode.
# Only set LANG and LC_ALL to C if already set.
# These must not be set unconditionally because not all systems understand
# e.g. LANG=C (notably SCO).
-# We save the old values to restore during execute mode.
-for lt_var in LANG LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES
+lt_user_locale=
+lt_safe_locale=
+for lt_var in LANG LANGUAGE LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES
do
eval "if test \"\${$lt_var+set}\" = set; then
- save_$lt_var=\$$lt_var
- $lt_var=C
+ save_$lt_var=\$$lt_var
+ $lt_var=C
export $lt_var
+ lt_user_locale=\"$lt_var=\\\$save_\$lt_var; \$lt_user_locale\"
+ lt_safe_locale=\"$lt_var=C; \$lt_safe_locale\"
fi"
done
+$lt_unset CDPATH
+
+
+
+
+
+: ${CP="cp -f"}
+: ${ECHO="echo"}
+: ${EGREP="/bin/grep -E"}
+: ${FGREP="/bin/grep -F"}
+: ${GREP="/bin/grep"}
+: ${LN_S="ln -s"}
+: ${MAKE="make"}
+: ${MKDIR="mkdir"}
+: ${MV="mv -f"}
+: ${RM="rm -f"}
+: ${SED="/bin/sed"}
+: ${SHELL="${CONFIG_SHELL-/bin/sh}"}
+: ${Xsed="$SED -e 1s/^X//"}
+
+# Global variables:
+EXIT_SUCCESS=0
+EXIT_FAILURE=1
+EXIT_MISMATCH=63 # $? = 63 is used to indicate version mismatch to missing.
+EXIT_SKIP=77 # $? = 77 is used to indicate a skipped test to automake.
+
+exit_status=$EXIT_SUCCESS
+
# Make sure IFS has a sensible default
lt_nl='
'
IFS=" $lt_nl"
-if test "$build_libtool_libs" != yes && test "$build_old_libs" != yes; then
- $echo "$modename: not configured to build any kind of library" 1>&2
- $echo "Fatal configuration error. See the $PACKAGE docs for more information." 1>&2
- exit $EXIT_FAILURE
-fi
+dirname="s,/[^/]*$,,"
+basename="s,^.*/,,"
+
+# func_dirname_and_basename file append nondir_replacement
+# perform func_basename and func_dirname in a single function
+# call:
+# dirname: Compute the dirname of FILE. If nonempty,
+# add APPEND to the result, otherwise set result
+# to NONDIR_REPLACEMENT.
+# value returned in "$func_dirname_result"
+# basename: Compute filename of FILE.
+# value retuned in "$func_basename_result"
+# Implementation must be kept synchronized with func_dirname
+# and func_basename. For efficiency, we do not delegate to
+# those functions but instead duplicate the functionality here.
+func_dirname_and_basename ()
+{
+ # Extract subdirectory from the argument.
+ func_dirname_result=`$ECHO "X${1}" | $Xsed -e "$dirname"`
+ if test "X$func_dirname_result" = "X${1}"; then
+ func_dirname_result="${3}"
+ else
+ func_dirname_result="$func_dirname_result${2}"
+ fi
+ func_basename_result=`$ECHO "X${1}" | $Xsed -e "$basename"`
+}
-# Global variables.
-mode=$default_mode
-nonopt=
-prev=
-prevopt=
-run=
-show="$echo"
-show_help=
-execute_dlfiles=
-duplicate_deps=no
-preserve_args=
-lo2o="s/\\.lo\$/.${objext}/"
-o2lo="s/\\.${objext}\$/.lo/"
-extracted_archives=
-extracted_serial=0
+# Generated shell functions inserted here.
+
+# Work around backward compatibility issue on IRIX 6.5. On IRIX 6.4+, sh
+# is ksh but when the shell is invoked as "sh" and the current value of
+# the _XPG environment variable is not equal to 1 (one), the special
+# positional parameter $0, within a function call, is the name of the
+# function.
+progpath="$0"
+
+# The name of this program:
+# In the unlikely event $progname began with a '-', it would play havoc with
+# func_echo (imagine progname=-n), so we prepend ./ in that case:
+func_dirname_and_basename "$progpath"
+progname=$func_basename_result
+case $progname in
+ -*) progname=./$progname ;;
+esac
+
+# Make sure we have an absolute path for reexecution:
+case $progpath in
+ [\\/]*|[A-Za-z]:\\*) ;;
+ *[\\/]*)
+ progdir=$func_dirname_result
+ progdir=`cd "$progdir" && pwd`
+ progpath="$progdir/$progname"
+ ;;
+ *)
+ save_IFS="$IFS"
+ IFS=:
+ for progdir in $PATH; do
+ IFS="$save_IFS"
+ test -x "$progdir/$progname" && break
+ done
+ IFS="$save_IFS"
+ test -n "$progdir" || progdir=`pwd`
+ progpath="$progdir/$progname"
+ ;;
+esac
+
+# Sed substitution that helps us do robust quoting. It backslashifies
+# metacharacters that are still active within double-quoted strings.
+Xsed="${SED}"' -e 1s/^X//'
+sed_quote_subst='s/\([`"$\\]\)/\\\1/g'
+
+# Same as above, but do not quote variable references.
+double_quote_subst='s/\(["`\\]\)/\\\1/g'
+
+# Re-`\' parameter expansions in output of double_quote_subst that were
+# `\'-ed in input to the same. If an odd number of `\' preceded a '$'
+# in input to double_quote_subst, that '$' was protected from expansion.
+# Since each input `\' is now two `\'s, look for any number of runs of
+# four `\'s followed by two `\'s and then a '$'. `\' that '$'.
+bs='\\'
+bs2='\\\\'
+bs4='\\\\\\\\'
+dollar='\$'
+sed_double_backslash="\
+ s/$bs4/&\\
+/g
+ s/^$bs2$dollar/$bs&/
+ s/\\([^$bs]\\)$bs2$dollar/\\1$bs2$bs$dollar/g
+ s/\n//g"
+
+# Standard options:
+opt_dry_run=false
+opt_help=false
+opt_quiet=false
+opt_verbose=false
+opt_warning=:
+
+# func_echo arg...
+# Echo program name prefixed message, along with the current mode
+# name if it has been set yet.
+func_echo ()
+{
+ $ECHO "$progname${mode+: }$mode: $*"
+}
+
+# func_verbose arg...
+# Echo program name prefixed message in verbose mode only.
+func_verbose ()
+{
+ $opt_verbose && func_echo ${1+"$@"}
+
+ # A bug in bash halts the script if the last line of a function
+ # fails when set -e is in force, so we need another command to
+ # work around that:
+ :
+}
+
+# func_error arg...
+# Echo program name prefixed message to standard error.
+func_error ()
+{
+ $ECHO "$progname${mode+: }$mode: "${1+"$@"} 1>&2
+}
+
+# func_warning arg...
+# Echo program name prefixed warning message to standard error.
+func_warning ()
+{
+ $opt_warning && $ECHO "$progname${mode+: }$mode: warning: "${1+"$@"} 1>&2
+
+ # bash bug again:
+ :
+}
+
+# func_fatal_error arg...
+# Echo program name prefixed message to standard error, and exit.
+func_fatal_error ()
+{
+ func_error ${1+"$@"}
+ exit $EXIT_FAILURE
+}
+
+# func_fatal_help arg...
+# Echo program name prefixed message to standard error, followed by
+# a help hint, and exit.
+func_fatal_help ()
+{
+ func_error ${1+"$@"}
+ func_fatal_error "$help"
+}
+help="Try \`$progname --help' for more information." ## default
+
+
+# func_grep expression filename
+# Check whether EXPRESSION matches any line of FILENAME, without output.
+func_grep ()
+{
+ $GREP "$1" "$2" >/dev/null 2>&1
+}
+
+
+# func_mkdir_p directory-path
+# Make sure the entire path to DIRECTORY-PATH is available.
+func_mkdir_p ()
+{
+ my_directory_path="$1"
+ my_dir_list=
+
+ if test -n "$my_directory_path" && test "$opt_dry_run" != ":"; then
+
+ # Protect directory names starting with `-'
+ case $my_directory_path in
+ -*) my_directory_path="./$my_directory_path" ;;
+ esac
+
+ # While some portion of DIR does not yet exist...
+ while test ! -d "$my_directory_path"; do
+ # ...make a list in topmost first order. Use a colon delimited
+ # list incase some portion of path contains whitespace.
+ my_dir_list="$my_directory_path:$my_dir_list"
+
+ # If the last portion added has no slash in it, the list is done
+ case $my_directory_path in */*) ;; *) break ;; esac
+
+ # ...otherwise throw away the child directory and loop
+ my_directory_path=`$ECHO "X$my_directory_path" | $Xsed -e "$dirname"`
+ done
+ my_dir_list=`$ECHO "X$my_dir_list" | $Xsed -e 's,:*$,,'`
+
+ save_mkdir_p_IFS="$IFS"; IFS=':'
+ for my_dir in $my_dir_list; do
+ IFS="$save_mkdir_p_IFS"
+ # mkdir can fail with a `File exist' error if two processes
+ # try to create one of the directories concurrently. Don't
+ # stop in that case!
+ $MKDIR "$my_dir" 2>/dev/null || :
+ done
+ IFS="$save_mkdir_p_IFS"
+
+ # Bail out if we (or some other process) failed to create a directory.
+ test -d "$my_directory_path" || \
+ func_fatal_error "Failed to create \`$1'"
+ fi
+}
-#####################################
-# Shell function definitions:
-# This seems to be the best place for them
# func_mktempdir [string]
# Make a temporary directory that won't clash with other running
@@ -161,7 +355,7 @@ func_mktempdir ()
{
my_template="${TMPDIR-/tmp}/${1-$progname}"
- if test "$run" = ":"; then
+ if test "$opt_dry_run" = ":"; then
# Return a directory name, but don't create it in dry-run mode
my_tmpdir="${my_template}-$$"
else
@@ -170,486 +364,743 @@ func_mktempdir ()
my_tmpdir=`mktemp -d "${my_template}-XXXXXXXX" 2>/dev/null`
if test ! -d "$my_tmpdir"; then
- # Failing that, at least try and use $RANDOM to avoid a race
- my_tmpdir="${my_template}-${RANDOM-0}$$"
+ # Failing that, at least try and use $RANDOM to avoid a race
+ my_tmpdir="${my_template}-${RANDOM-0}$$"
- save_mktempdir_umask=`umask`
- umask 0077
- $mkdir "$my_tmpdir"
- umask $save_mktempdir_umask
+ save_mktempdir_umask=`umask`
+ umask 0077
+ $MKDIR "$my_tmpdir"
+ umask $save_mktempdir_umask
fi
# If we're not in dry-run mode, bomb out on failure
- test -d "$my_tmpdir" || {
- $echo "cannot create temporary directory \`$my_tmpdir'" 1>&2
- exit $EXIT_FAILURE
- }
+ test -d "$my_tmpdir" || \
+ func_fatal_error "cannot create temporary directory \`$my_tmpdir'"
fi
- $echo "X$my_tmpdir" | $Xsed
+ $ECHO "X$my_tmpdir" | $Xsed
}
-# func_win32_libid arg
-# return the library type of file 'arg'
-#
-# Need a lot of goo to handle *both* DLLs and import libs
-# Has to be a shell function in order to 'eat' the argument
-# that is supplied when $file_magic_command is called.
-func_win32_libid ()
+# func_quote_for_eval arg
+# Aesthetically quote ARG to be evaled later.
+# This function returns two values: FUNC_QUOTE_FOR_EVAL_RESULT
+# is double-quoted, suitable for a subsequent eval, whereas
+# FUNC_QUOTE_FOR_EVAL_UNQUOTED_RESULT has merely all characters
+# which are still active within double quotes backslashified.
+func_quote_for_eval ()
{
- win32_libid_type="unknown"
- win32_fileres=`file -L $1 2>/dev/null`
- case $win32_fileres in
- *ar\ archive\ import\ library*) # definitely import
- win32_libid_type="x86 archive import"
- ;;
- *ar\ archive*) # could be an import, or static
- if eval $OBJDUMP -f $1 | $SED -e '10q' 2>/dev/null | \
- $EGREP -e 'file format pe-i386(.*architecture: i386)?' >/dev/null ; then
- win32_nmres=`eval $NM -f posix -A $1 | \
- $SED -n -e '1,100{
- / I /{
- s,.*,import,
- p
- q
- }
- }'`
- case $win32_nmres in
- import*) win32_libid_type="x86 archive import";;
- *) win32_libid_type="x86 archive static";;
- esac
- fi
- ;;
- *DLL*)
- win32_libid_type="x86 DLL"
- ;;
- *executable*) # but shell scripts are "executable" too...
- case $win32_fileres in
- *MS\ Windows\ PE\ Intel*)
- win32_libid_type="x86 DLL"
- ;;
+ case $1 in
+ *[\\\`\"\$]*)
+ func_quote_for_eval_unquoted_result=`$ECHO "X$1" | $Xsed -e "$sed_quote_subst"` ;;
+ *)
+ func_quote_for_eval_unquoted_result="$1" ;;
+ esac
+
+ case $func_quote_for_eval_unquoted_result in
+ # Double-quote args containing shell metacharacters to delay
+ # word splitting, command substitution and and variable
+ # expansion for a subsequent eval.
+ # Many Bourne shells cannot handle close brackets correctly
+ # in scan sets, so we specify it separately.
+ *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
+ func_quote_for_eval_result="\"$func_quote_for_eval_unquoted_result\""
+ ;;
+ *)
+ func_quote_for_eval_result="$func_quote_for_eval_unquoted_result"
esac
- ;;
- esac
- $echo $win32_libid_type
}
-# func_infer_tag arg
-# Infer tagged configuration to use if any are available and
-# if one wasn't chosen via the "--tag" command line option.
-# Only attempt this if the compiler in the base compile
-# command doesn't match the default compiler.
-# arg is usually of the form 'gcc ...'
-func_infer_tag ()
+# func_quote_for_expand arg
+# Aesthetically quote ARG to be evaled later; same as above,
+# but do not quote variable references.
+func_quote_for_expand ()
{
- if test -n "$available_tags" && test -z "$tagname"; then
- CC_quoted=
- for arg in $CC; do
- case $arg in
- *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
- arg="\"$arg\""
- ;;
- esac
- CC_quoted="$CC_quoted $arg"
- done
- case $@ in
- # Blanks in the command may have been stripped by the calling shell,
- # but not from the CC environment variable when configure was run.
- " $CC "* | "$CC "* | " `$echo $CC` "* | "`$echo $CC` "* | " $CC_quoted"* | "$CC_quoted "* | " `$echo $CC_quoted` "* | "`$echo $CC_quoted` "*) ;;
- # Blanks at the start of $base_compile will cause this to fail
- # if we don't check for them as well.
+ case $1 in
+ *[\\\`\"]*)
+ my_arg=`$ECHO "X$1" | $Xsed \
+ -e "$double_quote_subst" -e "$sed_double_backslash"` ;;
*)
- for z in $available_tags; do
- if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $z$" < "$progpath" > /dev/null; then
- # Evaluate the configuration.
- eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$z'$/,/^# ### END LIBTOOL TAG CONFIG: '$z'$/p' < $progpath`"
- CC_quoted=
- for arg in $CC; do
- # Double-quote args containing other shell metacharacters.
- case $arg in
- *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
- arg="\"$arg\""
- ;;
- esac
- CC_quoted="$CC_quoted $arg"
- done
- case "$@ " in
- " $CC "* | "$CC "* | " `$echo $CC` "* | "`$echo $CC` "* | " $CC_quoted"* | "$CC_quoted "* | " `$echo $CC_quoted` "* | "`$echo $CC_quoted` "*)
- # The compiler in the base compile command matches
- # the one in the tagged configuration.
- # Assume this is the tagged configuration we want.
- tagname=$z
- break
- ;;
- esac
- fi
- done
- # If $tagname still isn't set, then no tagged configuration
- # was found and let the user know that the "--tag" command
- # line option must be used.
- if test -z "$tagname"; then
- $echo "$modename: unable to infer tagged configuration"
- $echo "$modename: specify a tag with \`--tag'" 1>&2
- exit $EXIT_FAILURE
-# else
-# $echo "$modename: using $tagname tagged configuration"
- fi
- ;;
- esac
- fi
+ my_arg="$1" ;;
+ esac
+
+ case $my_arg in
+ # Double-quote args containing shell metacharacters to delay
+ # word splitting and command substitution for a subsequent eval.
+ # Many Bourne shells cannot handle close brackets correctly
+ # in scan sets, so we specify it separately.
+ *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
+ my_arg="\"$my_arg\""
+ ;;
+ esac
+
+ func_quote_for_expand_result="$my_arg"
}
-# func_extract_an_archive dir oldlib
-func_extract_an_archive ()
+# func_show_eval cmd [fail_exp]
+# Unless opt_silent is true, then output CMD. Then, if opt_dryrun is
+# not true, evaluate CMD. If the evaluation of CMD fails, and FAIL_EXP
+# is given, then evaluate it.
+func_show_eval ()
{
- f_ex_an_ar_dir="$1"; shift
- f_ex_an_ar_oldlib="$1"
+ my_cmd="$1"
+ my_fail_exp="${2-:}"
- $show "(cd $f_ex_an_ar_dir && $AR x $f_ex_an_ar_oldlib)"
- $run eval "(cd \$f_ex_an_ar_dir && $AR x \$f_ex_an_ar_oldlib)" || exit $?
- if ($AR t "$f_ex_an_ar_oldlib" | sort | sort -uc >/dev/null 2>&1); then
- :
- else
- $echo "$modename: ERROR: object name conflicts: $f_ex_an_ar_dir/$f_ex_an_ar_oldlib" 1>&2
- exit $EXIT_FAILURE
+ ${opt_silent-false} || {
+ func_quote_for_expand "$my_cmd"
+ eval "func_echo $func_quote_for_expand_result"
+ }
+
+ if ${opt_dry_run-false}; then :; else
+ eval "$my_cmd"
+ my_status=$?
+ if test "$my_status" -eq 0; then :; else
+ eval "(exit $my_status); $my_fail_exp"
+ fi
fi
}
-# func_extract_archives gentop oldlib ...
-func_extract_archives ()
+
+# func_show_eval_locale cmd [fail_exp]
+# Unless opt_silent is true, then output CMD. Then, if opt_dryrun is
+# not true, evaluate CMD. If the evaluation of CMD fails, and FAIL_EXP
+# is given, then evaluate it. Use the saved locale for evaluation.
+func_show_eval_locale ()
{
- my_gentop="$1"; shift
- my_oldlibs=${1+"$@"}
- my_oldobjs=""
- my_xlib=""
- my_xabs=""
- my_xdir=""
- my_status=""
-
- $show "${rm}r $my_gentop"
- $run ${rm}r "$my_gentop"
- $show "$mkdir $my_gentop"
- $run $mkdir "$my_gentop"
- my_status=$?
- if test "$my_status" -ne 0 && test ! -d "$my_gentop"; then
- exit $my_status
- fi
+ my_cmd="$1"
+ my_fail_exp="${2-:}"
- for my_xlib in $my_oldlibs; do
- # Extract the objects.
- case $my_xlib in
- [\\/]* | [A-Za-z]:[\\/]*) my_xabs="$my_xlib" ;;
- *) my_xabs=`pwd`"/$my_xlib" ;;
- esac
- my_xlib=`$echo "X$my_xlib" | $Xsed -e 's%^.*/%%'`
- my_xlib_u=$my_xlib
- while :; do
- case " $extracted_archives " in
- *" $my_xlib_u "*)
- extracted_serial=`expr $extracted_serial + 1`
- my_xlib_u=lt$extracted_serial-$my_xlib ;;
- *) break ;;
- esac
- done
- extracted_archives="$extracted_archives $my_xlib_u"
- my_xdir="$my_gentop/$my_xlib_u"
+ ${opt_silent-false} || {
+ func_quote_for_expand "$my_cmd"
+ eval "func_echo $func_quote_for_expand_result"
+ }
- $show "${rm}r $my_xdir"
- $run ${rm}r "$my_xdir"
- $show "$mkdir $my_xdir"
- $run $mkdir "$my_xdir"
- exit_status=$?
- if test "$exit_status" -ne 0 && test ! -d "$my_xdir"; then
- exit $exit_status
+ if ${opt_dry_run-false}; then :; else
+ eval "$lt_user_locale
+ $my_cmd"
+ my_status=$?
+ eval "$lt_safe_locale"
+ if test "$my_status" -eq 0; then :; else
+ eval "(exit $my_status); $my_fail_exp"
fi
- case $host in
- *-darwin*)
- $show "Extracting $my_xabs"
- # Do not bother doing anything if just a dry run
- if test -z "$run"; then
- darwin_orig_dir=`pwd`
- cd $my_xdir || exit $?
- darwin_archive=$my_xabs
- darwin_curdir=`pwd`
- darwin_base_archive=`$echo "X$darwin_archive" | $Xsed -e 's%^.*/%%'`
- darwin_arches=`lipo -info "$darwin_archive" 2>/dev/null | $EGREP Architectures 2>/dev/null`
- if test -n "$darwin_arches"; then
- darwin_arches=`echo "$darwin_arches" | $SED -e 's/.*are://'`
- darwin_arch=
- $show "$darwin_base_archive has multiple architectures $darwin_arches"
- for darwin_arch in $darwin_arches ; do
- mkdir -p "unfat-$$/${darwin_base_archive}-${darwin_arch}"
- lipo -thin $darwin_arch -output "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}" "${darwin_archive}"
- cd "unfat-$$/${darwin_base_archive}-${darwin_arch}"
- func_extract_an_archive "`pwd`" "${darwin_base_archive}"
- cd "$darwin_curdir"
- $rm "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}"
- done # $darwin_arches
- ## Okay now we have a bunch of thin objects, gotta fatten them up :)
- darwin_filelist=`find unfat-$$ -type f -name \*.o -print -o -name \*.lo -print| xargs basename | sort -u | $NL2SP`
- darwin_file=
- darwin_files=
- for darwin_file in $darwin_filelist; do
- darwin_files=`find unfat-$$ -name $darwin_file -print | $NL2SP`
- lipo -create -output "$darwin_file" $darwin_files
- done # $darwin_filelist
- ${rm}r unfat-$$
- cd "$darwin_orig_dir"
- else
- cd "$darwin_orig_dir"
- func_extract_an_archive "$my_xdir" "$my_xabs"
- fi # $darwin_arches
- fi # $run
- ;;
- *)
- func_extract_an_archive "$my_xdir" "$my_xabs"
- ;;
- esac
- my_oldobjs="$my_oldobjs "`find $my_xdir -name \*.$objext -print -o -name \*.lo -print | $NL2SP`
- done
- func_extract_archives_result="$my_oldobjs"
+ fi
}
-# End of Shell function definitions
-#####################################
-# Darwin sucks
-eval std_shrext=\"$shrext_cmds\"
-disable_libs=no
-# Parse our command line options once, thoroughly.
-while test "$#" -gt 0
-do
- arg="$1"
+
+
+# func_version
+# Echo version message to standard output and exit.
+func_version ()
+{
+ $SED -n '/^# '$PROGRAM' (GNU /,/# warranty; / {
+ s/^# //
+ s/^# *$//
+ s/\((C)\)[ 0-9,-]*\( [1-9][0-9]*\)/\1\2/
+ p
+ }' < "$progpath"
+ exit $?
+}
+
+# func_usage
+# Echo short help message to standard output and exit.
+func_usage ()
+{
+ $SED -n '/^# Usage:/,/# -h/ {
+ s/^# //
+ s/^# *$//
+ s/\$progname/'$progname'/
+ p
+ }' < "$progpath"
+ $ECHO
+ $ECHO "run \`$progname --help | more' for full usage"
+ exit $?
+}
+
+# func_help
+# Echo long help message to standard output and exit.
+func_help ()
+{
+ $SED -n '/^# Usage:/,/# Report bugs to/ {
+ s/^# //
+ s/^# *$//
+ s*\$progname*'$progname'*
+ s*\$host*'"$host"'*
+ s*\$SHELL*'"$SHELL"'*
+ s*\$LTCC*'"$LTCC"'*
+ s*\$LTCFLAGS*'"$LTCFLAGS"'*
+ s*\$LD*'"$LD"'*
+ s/\$with_gnu_ld/'"$with_gnu_ld"'/
+ s/\$automake_version/'"`(automake --version) 2>/dev/null |$SED 1q`"'/
+ s/\$autoconf_version/'"`(autoconf --version) 2>/dev/null |$SED 1q`"'/
+ p
+ }' < "$progpath"
+ exit $?
+}
+
+# func_missing_arg argname
+# Echo program name prefixed message to standard error and set global
+# exit_cmd.
+func_missing_arg ()
+{
+ func_error "missing argument for $1"
+ exit_cmd=exit
+}
+
+exit_cmd=:
+
+
+
+
+
+# Check that we have a working $ECHO.
+if test "X$1" = X--no-reexec; then
+ # Discard the --no-reexec flag, and continue.
shift
+elif test "X$1" = X--fallback-echo; then
+ # Avoid inline document here, it may be left over
+ :
+elif test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t'; then
+ # Yippee, $ECHO works!
+ :
+else
+ # Restart under the correct shell, and then maybe $ECHO will work.
+ exec $SHELL "$progpath" --no-reexec ${1+"$@"}
+fi
- case $arg in
- -*=*) optarg=`$echo "X$arg" | $Xsed -e 's/[-_a-zA-Z0-9]*=//'` ;;
- *) optarg= ;;
- esac
+if test "X$1" = X--fallback-echo; then
+ # used as fallback echo
+ shift
+ cat <<EOF
+$*
+EOF
+ exit $EXIT_SUCCESS
+fi
- # If the previous option needs an argument, assign it.
- if test -n "$prev"; then
- case $prev in
- execute_dlfiles)
- execute_dlfiles="$execute_dlfiles $arg"
- ;;
- tag)
- tagname="$arg"
- preserve_args="${preserve_args}=$arg"
-
- # Check whether tagname contains only valid characters
- case $tagname in
- *[!-_A-Za-z0-9,/]*)
- $echo "$progname: invalid tag name: $tagname" 1>&2
- exit $EXIT_FAILURE
- ;;
- esac
+magic="%%%MAGIC variable%%%"
+magic_exe="%%%MAGIC EXE variable%%%"
- case $tagname in
- CC)
- # Don't test for the "default" C tag, as we know, it's there, but
- # not specially marked.
- ;;
- *)
- if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$" < "$progpath" > /dev/null; then
- taglist="$taglist $tagname"
- # Evaluate the configuration.
- eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$tagname'$/,/^# ### END LIBTOOL TAG CONFIG: '$tagname'$/p' < $progpath`"
- else
- $echo "$progname: ignoring unknown tag $tagname" 1>&2
- fi
- ;;
- esac
- ;;
- *)
- eval "$prev=\$arg"
- ;;
- esac
+# Global variables.
+# $mode is unset
+nonopt=
+execute_dlfiles=
+preserve_args=
+lo2o="s/\\.lo\$/.${objext}/"
+o2lo="s/\\.${objext}\$/.lo/"
+extracted_archives=
+extracted_serial=0
- prev=
- prevopt=
- continue
- fi
+opt_dry_run=false
+opt_duplicate_deps=false
+opt_silent=false
+opt_debug=:
- # Have we seen a non-optional argument yet?
- case $arg in
- --help)
- show_help=yes
- ;;
+# If this variable is set in any of the actions, the command in it
+# will be execed at the end. This prevents here-documents from being
+# left over by shells.
+exec_cmd=
+
+# func_fatal_configuration arg...
+# Echo program name prefixed message to standard error, followed by
+# a configuration failure hint, and exit.
+func_fatal_configuration ()
+{
+ func_error ${1+"$@"}
+ func_error "See the $PACKAGE documentation for more information."
+ func_fatal_error "Fatal configuration error."
+}
- --version)
- echo "\
-$PROGRAM (GNU $PACKAGE) $VERSION$TIMESTAMP
-Copyright (C) 2007 Free Software Foundation, Inc.
-This is free software; see the source for copying conditions. There is NO
-warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
- exit $?
- ;;
+# func_config
+# Display the configuration for all the tags in this script.
+func_config ()
+{
+ re_begincf='^# ### BEGIN LIBTOOL'
+ re_endcf='^# ### END LIBTOOL'
+
+ # Default configuration.
+ $SED "1,/$re_begincf CONFIG/d;/$re_endcf CONFIG/,\$d" < "$progpath"
- --config)
- ${SED} -e '1,/^# ### BEGIN LIBTOOL CONFIG/d' -e '/^# ### END LIBTOOL CONFIG/,$d' $progpath
# Now print the configurations for the tags.
for tagname in $taglist; do
- ${SED} -n -e "/^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$/,/^# ### END LIBTOOL TAG CONFIG: $tagname$/p" < "$progpath"
+ $SED -n "/$re_begincf TAG CONFIG: $tagname\$/,/$re_endcf TAG CONFIG: $tagname\$/p" < "$progpath"
done
- exit $?
- ;;
-
- --debug)
- $echo "$progname: enabling shell trace mode"
- set -x
- preserve_args="$preserve_args $arg"
- ;;
- --dry-run | -n)
- run=:
- ;;
+ exit $?
+}
- --features)
- $echo "host: $host"
+# func_features
+# Display the features supported by this script.
+func_features ()
+{
+ $ECHO "host: $host"
if test "$build_libtool_libs" = yes; then
- $echo "enable shared libraries"
+ $ECHO "enable shared libraries"
else
- $echo "disable shared libraries"
+ $ECHO "disable shared libraries"
fi
if test "$build_old_libs" = yes; then
- $echo "enable static libraries"
+ $ECHO "enable static libraries"
else
- $echo "disable static libraries"
+ $ECHO "disable static libraries"
fi
+
exit $?
- ;;
+}
- --finish) mode="finish" ;;
+# func_enable_tag tagname
+# Verify that TAGNAME is valid, and either flag an error and exit, or
+# enable the TAGNAME tag. We also add TAGNAME to the global $taglist
+# variable here.
+func_enable_tag ()
+{
+ # Global variable:
+ tagname="$1"
- --mode) prevopt="--mode" prev=mode ;;
- --mode=*) mode="$optarg" ;;
+ re_begincf="^# ### BEGIN LIBTOOL TAG CONFIG: $tagname\$"
+ re_endcf="^# ### END LIBTOOL TAG CONFIG: $tagname\$"
+ sed_extractcf="/$re_begincf/,/$re_endcf/p"
- --preserve-dup-deps) duplicate_deps="yes" ;;
+ # Validate tagname.
+ case $tagname in
+ *[!-_A-Za-z0-9,/]*)
+ func_fatal_error "invalid tag name: $tagname"
+ ;;
+ esac
- --quiet | --silent)
- show=:
- preserve_args="$preserve_args $arg"
- ;;
+ # Don't test for the "default" C tag, as we know it's
+ # there but not specially marked.
+ case $tagname in
+ CC) ;;
+ *)
+ if $GREP "$re_begincf" "$progpath" >/dev/null 2>&1; then
+ taglist="$taglist $tagname"
+
+ # Evaluate the configuration. Be careful to quote the path
+ # and the sed script, to avoid splitting on whitespace, but
+ # also don't use non-portable quotes within backquotes within
+ # quotes we have to do it in 2 steps:
+ extractedcf=`$SED -n -e "$sed_extractcf" < "$progpath"`
+ eval "$extractedcf"
+ else
+ func_error "ignoring unknown tag $tagname"
+ fi
+ ;;
+ esac
+}
+
+# Parse options once, thoroughly. This comes as soon as possible in
+# the script to make things like `libtool --version' happen quickly.
+{
- --tag)
- prevopt="--tag"
- prev=tag
- preserve_args="$preserve_args --tag"
+ # Shorthand for --mode=foo, only valid as the first argument
+ case $1 in
+ clean|clea|cle|cl)
+ shift; set dummy --mode clean ${1+"$@"}; shift
;;
- --tag=*)
- set tag "$optarg" ${1+"$@"}
- shift
- prev=tag
- preserve_args="$preserve_args --tag"
+ compile|compil|compi|comp|com|co|c)
+ shift; set dummy --mode compile ${1+"$@"}; shift
;;
-
- -dlopen)
- prevopt="-dlopen"
- prev=execute_dlfiles
+ execute|execut|execu|exec|exe|ex|e)
+ shift; set dummy --mode execute ${1+"$@"}; shift
;;
-
- -*)
- $echo "$modename: unrecognized option \`$arg'" 1>&2
- $echo "$help" 1>&2
- exit $EXIT_FAILURE
+ finish|finis|fini|fin|fi|f)
+ shift; set dummy --mode finish ${1+"$@"}; shift
;;
-
- *)
- nonopt="$arg"
- break
+ install|instal|insta|inst|ins|in|i)
+ shift; set dummy --mode install ${1+"$@"}; shift
+ ;;
+ link|lin|li|l)
+ shift; set dummy --mode link ${1+"$@"}; shift
+ ;;
+ uninstall|uninstal|uninsta|uninst|unins|unin|uni|un|u)
+ shift; set dummy --mode uninstall ${1+"$@"}; shift
;;
esac
-done
-if test -n "$prevopt"; then
- $echo "$modename: option \`$prevopt' requires an argument" 1>&2
- $echo "$help" 1>&2
- exit $EXIT_FAILURE
-fi
+ # Parse non-mode specific arguments:
+ while test "$#" -gt 0; do
+ opt="$1"
+ shift
-case $disable_libs in
-no)
- ;;
-shared)
- build_libtool_libs=no
- build_old_libs=yes
- ;;
-static)
- build_old_libs=`case $build_libtool_libs in yes) echo no;; *) echo yes;; esac`
- ;;
-esac
+ case $opt in
+ --config) func_config ;;
-# If this variable is set in any of the actions, the command in it
-# will be execed at the end. This prevents here-documents from being
-# left over by shells.
-exec_cmd=
+ --debug) preserve_args="$preserve_args $opt"
+ func_echo "enabling shell trace mode"
+ opt_debug='set -x'
+ $opt_debug
+ ;;
-if test -z "$show_help"; then
+ -dlopen) test "$#" -eq 0 && func_missing_arg "$opt" && break
+ execute_dlfiles="$execute_dlfiles $1"
+ shift
+ ;;
- # Infer the operation mode.
- if test -z "$mode"; then
- $echo "*** Warning: inferring the mode of operation is deprecated." 1>&2
- $echo "*** Future versions of Libtool will require --mode=MODE be specified." 1>&2
- case $nonopt in
- *cc | cc* | *++ | gcc* | *-gcc* | g++* | xlc*)
- mode=link
- for arg
- do
- case $arg in
- -c)
- mode=compile
- break
- ;;
- esac
- done
- ;;
- *db | *dbx | *strace | *truss)
- mode=execute
- ;;
- *install*|cp|mv)
- mode=install
- ;;
- *rm)
- mode=uninstall
+ --dry-run | -n) opt_dry_run=: ;;
+ --features) func_features ;;
+ --finish) mode="finish" ;;
+
+ --mode) test "$#" -eq 0 && func_missing_arg "$opt" && break
+ case $1 in
+ # Valid mode arguments:
+ clean) ;;
+ compile) ;;
+ execute) ;;
+ finish) ;;
+ install) ;;
+ link) ;;
+ relink) ;;
+ uninstall) ;;
+
+ # Catch anything else as an error
+ *) func_error "invalid argument for $opt"
+ exit_cmd=exit
+ break
+ ;;
+ esac
+
+ mode="$1"
+ shift
+ ;;
+
+ --preserve-dup-deps)
+ opt_duplicate_deps=: ;;
+
+ --quiet|--silent) preserve_args="$preserve_args $opt"
+ opt_silent=:
+ ;;
+
+ --verbose| -v) preserve_args="$preserve_args $opt"
+ opt_silent=false
+ ;;
+
+ --tag) test "$#" -eq 0 && func_missing_arg "$opt" && break
+ preserve_args="$preserve_args $opt $1"
+ func_enable_tag "$1" # tagname is set here
+ shift
+ ;;
+
+ # Separate optargs to long options:
+ -dlopen=*|--mode=*|--tag=*)
+ func_opt_split "$opt"
+ set dummy "$func_opt_split_opt" "$func_opt_split_arg" ${1+"$@"}
+ shift
+ ;;
+
+ -\?|-h) func_usage ;;
+ --help) opt_help=: ;;
+ --version) func_version ;;
+
+ -*) func_fatal_help "unrecognized option \`$opt'" ;;
+
+ *) nonopt="$opt"
+ break
+ ;;
+ esac
+ done
+
+
+ case $host in
+ *cygwin* | *mingw* | *pw32* | *cegcc*)
+ # don't eliminate duplications in $postdeps and $predeps
+ opt_duplicate_compiler_generated_deps=:
;;
*)
- # If we have no mode, but dlfiles were specified, then do execute mode.
- test -n "$execute_dlfiles" && mode=execute
+ opt_duplicate_compiler_generated_deps=$opt_duplicate_deps
+ ;;
+ esac
- # Just use the default operation mode.
- if test -z "$mode"; then
- if test -n "$nonopt"; then
- $echo "$modename: warning: cannot infer operation mode from \`$nonopt'" 1>&2
- else
- $echo "$modename: warning: cannot infer operation mode without MODE-ARGS" 1>&2
- fi
+ # Having warned about all mis-specified options, bail out if
+ # anything was wrong.
+ $exit_cmd $EXIT_FAILURE
+}
+
+# func_check_version_match
+# Ensure that we are using m4 macros, and libtool script from the same
+# release of libtool.
+func_check_version_match ()
+{
+ if test "$package_revision" != "$macro_revision"; then
+ if test "$VERSION" != "$macro_version"; then
+ if test -z "$macro_version"; then
+ cat >&2 <<_LT_EOF
+$progname: Version mismatch error. This is $PACKAGE $VERSION, but the
+$progname: definition of this LT_INIT comes from an older release.
+$progname: You should recreate aclocal.m4 with macros from $PACKAGE $VERSION
+$progname: and run autoconf again.
+_LT_EOF
+ else
+ cat >&2 <<_LT_EOF
+$progname: Version mismatch error. This is $PACKAGE $VERSION, but the
+$progname: definition of this LT_INIT comes from $PACKAGE $macro_version.
+$progname: You should recreate aclocal.m4 with macros from $PACKAGE $VERSION
+$progname: and run autoconf again.
+_LT_EOF
fi
- ;;
- esac
+ else
+ cat >&2 <<_LT_EOF
+$progname: Version mismatch error. This is $PACKAGE $VERSION, revision $package_revision,
+$progname: but the definition of this LT_INIT comes from revision $macro_revision.
+$progname: You should recreate aclocal.m4 with macros from revision $package_revision
+$progname: of $PACKAGE $VERSION and run autoconf again.
+_LT_EOF
+ fi
+
+ exit $EXIT_MISMATCH
fi
+}
+
+
+## ----------- ##
+## Main. ##
+## ----------- ##
+
+$opt_help || {
+ # Sanity checks first:
+ func_check_version_match
+
+ if test "$build_libtool_libs" != yes && test "$build_old_libs" != yes; then
+ func_fatal_configuration "not configured to build any kind of library"
+ fi
+
+ test -z "$mode" && func_fatal_error "error: you must specify a MODE."
+
+
+ # Darwin sucks
+ eval std_shrext=\"$shrext_cmds\"
+
# Only execute mode is allowed to have -dlopen flags.
if test -n "$execute_dlfiles" && test "$mode" != execute; then
- $echo "$modename: unrecognized option \`-dlopen'" 1>&2
- $echo "$help" 1>&2
+ func_error "unrecognized option \`-dlopen'"
+ $ECHO "$help" 1>&2
exit $EXIT_FAILURE
fi
# Change the help message to a mode-specific one.
generic_help="$help"
- help="Try \`$modename --help --mode=$mode' for more information."
+ help="Try \`$progname --help --mode=$mode' for more information."
+}
+
+
+# func_lalib_p file
+# True iff FILE is a libtool `.la' library or `.lo' object file.
+# This function is only a basic sanity check; it will hardly flush out
+# determined imposters.
+func_lalib_p ()
+{
+ test -f "$1" &&
+ $SED -e 4q "$1" 2>/dev/null \
+ | $GREP "^# Generated by .*$PACKAGE" > /dev/null 2>&1
+}
+
+# func_lalib_unsafe_p file
+# True iff FILE is a libtool `.la' library or `.lo' object file.
+# This function implements the same check as func_lalib_p without
+# resorting to external programs. To this end, it redirects stdin and
+# closes it afterwards, without saving the original file descriptor.
+# As a safety measure, use it only where a negative result would be
+# fatal anyway. Works if `file' does not exist.
+func_lalib_unsafe_p ()
+{
+ lalib_p=no
+ if test -f "$1" && test -r "$1" && exec 5<&0 <"$1"; then
+ for lalib_p_l in 1 2 3 4
+ do
+ read lalib_p_line
+ case "$lalib_p_line" in
+ \#\ Generated\ by\ *$PACKAGE* ) lalib_p=yes; break;;
+ esac
+ done
+ exec 0<&5 5<&-
+ fi
+ test "$lalib_p" = yes
+}
+
+# func_ltwrapper_script_p file
+# True iff FILE is a libtool wrapper script
+# This function is only a basic sanity check; it will hardly flush out
+# determined imposters.
+func_ltwrapper_script_p ()
+{
+ func_lalib_p "$1"
+}
+
+# func_ltwrapper_executable_p file
+# True iff FILE is a libtool wrapper executable
+# This function is only a basic sanity check; it will hardly flush out
+# determined imposters.
+func_ltwrapper_executable_p ()
+{
+ func_ltwrapper_exec_suffix=
+ case $1 in
+ *.exe) ;;
+ *) func_ltwrapper_exec_suffix=.exe ;;
+ esac
+ $GREP "$magic_exe" "$1$func_ltwrapper_exec_suffix" >/dev/null 2>&1
+}
+
+# func_ltwrapper_scriptname file
+# Assumes file is an ltwrapper_executable
+# uses $file to determine the appropriate filename for a
+# temporary ltwrapper_script.
+func_ltwrapper_scriptname ()
+{
+ func_ltwrapper_scriptname_result=""
+ if func_ltwrapper_executable_p "$1"; then
+ func_dirname_and_basename "$1" "" "."
+ func_stripname '' '.exe' "$func_basename_result"
+ func_ltwrapper_scriptname_result="$func_dirname_result/$objdir/${func_stripname_result}_ltshwrapper"
+ fi
+}
+
+# func_ltwrapper_p file
+# True iff FILE is a libtool wrapper script or wrapper executable
+# This function is only a basic sanity check; it will hardly flush out
+# determined imposters.
+func_ltwrapper_p ()
+{
+ func_ltwrapper_script_p "$1" || func_ltwrapper_executable_p "$1"
+}
+
+
+# func_execute_cmds commands fail_cmd
+# Execute tilde-delimited COMMANDS.
+# If FAIL_CMD is given, eval that upon failure.
+# FAIL_CMD may read-access the current command in variable CMD!
+func_execute_cmds ()
+{
+ $opt_debug
+ save_ifs=$IFS; IFS='~'
+ for cmd in $1; do
+ IFS=$save_ifs
+ eval cmd=\"$cmd\"
+ func_show_eval "$cmd" "${2-:}"
+ done
+ IFS=$save_ifs
+}
+
- # These modes are in order of execution frequency so that they run quickly.
- case $mode in
- # libtool compile mode
- compile)
- modename="$modename: compile"
+# func_source file
+# Source FILE, adding directory component if necessary.
+# Note that it is not necessary on cygwin/mingw to append a dot to
+# FILE even if both FILE and FILE.exe exist: automatic-append-.exe
+# behavior happens only for exec(3), not for open(2)! Also, sourcing
+# `FILE.' does not work on cygwin managed mounts.
+func_source ()
+{
+ $opt_debug
+ case $1 in
+ */* | *\\*) . "$1" ;;
+ *) . "./$1" ;;
+ esac
+}
+
+
+# func_infer_tag arg
+# Infer tagged configuration to use if any are available and
+# if one wasn't chosen via the "--tag" command line option.
+# Only attempt this if the compiler in the base compile
+# command doesn't match the default compiler.
+# arg is usually of the form 'gcc ...'
+func_infer_tag ()
+{
+ $opt_debug
+ if test -n "$available_tags" && test -z "$tagname"; then
+ CC_quoted=
+ for arg in $CC; do
+ func_quote_for_eval "$arg"
+ CC_quoted="$CC_quoted $func_quote_for_eval_result"
+ done
+ case $@ in
+ # Blanks in the command may have been stripped by the calling shell,
+ # but not from the CC environment variable when configure was run.
+ " $CC "* | "$CC "* | " `$ECHO $CC` "* | "`$ECHO $CC` "* | " $CC_quoted"* | "$CC_quoted "* | " `$ECHO $CC_quoted` "* | "`$ECHO $CC_quoted` "*) ;;
+ # Blanks at the start of $base_compile will cause this to fail
+ # if we don't check for them as well.
+ *)
+ for z in $available_tags; do
+ if $GREP "^# ### BEGIN LIBTOOL TAG CONFIG: $z$" < "$progpath" > /dev/null; then
+ # Evaluate the configuration.
+ eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$z'$/,/^# ### END LIBTOOL TAG CONFIG: '$z'$/p' < $progpath`"
+ CC_quoted=
+ for arg in $CC; do
+ # Double-quote args containing other shell metacharacters.
+ func_quote_for_eval "$arg"
+ CC_quoted="$CC_quoted $func_quote_for_eval_result"
+ done
+ case "$@ " in
+ " $CC "* | "$CC "* | " `$ECHO $CC` "* | "`$ECHO $CC` "* | " $CC_quoted"* | "$CC_quoted "* | " `$ECHO $CC_quoted` "* | "`$ECHO $CC_quoted` "*)
+ # The compiler in the base compile command matches
+ # the one in the tagged configuration.
+ # Assume this is the tagged configuration we want.
+ tagname=$z
+ break
+ ;;
+ esac
+ fi
+ done
+ # If $tagname still isn't set, then no tagged configuration
+ # was found and let the user know that the "--tag" command
+ # line option must be used.
+ if test -z "$tagname"; then
+ func_echo "unable to infer tagged configuration"
+ func_fatal_error "specify a tag with \`--tag'"
+# else
+# func_verbose "using $tagname tagged configuration"
+ fi
+ ;;
+ esac
+ fi
+}
+
+
+
+# func_write_libtool_object output_name pic_name nonpic_name
+# Create a libtool object file (analogous to a ".la" file),
+# but don't create it if we're doing a dry run.
+func_write_libtool_object ()
+{
+ write_libobj=${1}
+ if test "$build_libtool_libs" = yes; then
+ write_lobj=\'${2}\'
+ else
+ write_lobj=none
+ fi
+
+ if test "$build_old_libs" = yes; then
+ write_oldobj=\'${3}\'
+ else
+ write_oldobj=none
+ fi
+
+ $opt_dry_run || {
+ cat >${write_libobj}T <<EOF
+# $write_libobj - a libtool object file
+# Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# Name of the PIC object.
+pic_object=$write_lobj
+
+# Name of the non-PIC object
+non_pic_object=$write_oldobj
+
+EOF
+ $MV "${write_libobj}T" "${write_libobj}"
+ }
+}
+
+# func_mode_compile arg...
+func_mode_compile ()
+{
+ $opt_debug
# Get the compilation command and the source file.
base_compile=
srcfile="$nonopt" # always keep a non-empty value in "srcfile"
@@ -658,6 +1109,7 @@ if test -z "$show_help"; then
arg_mode=normal
libobj=
later=
+ pie_flag=
for arg
do
@@ -678,15 +1130,18 @@ if test -z "$show_help"; then
# Accept any command-line options.
case $arg in
-o)
- if test -n "$libobj" ; then
- $echo "$modename: you cannot specify \`-o' more than once" 1>&2
- exit $EXIT_FAILURE
- fi
+ test -n "$libobj" && \
+ func_fatal_error "you cannot specify \`-o' more than once"
arg_mode=target
continue
;;
- -static | -prefer-pic | -prefer-non-pic)
+ -pie | -fpie | -fPIE)
+ pie_flag="$pie_flag $arg"
+ continue
+ ;;
+
+ -shared | -static | -prefer-pic | -prefer-non-pic)
later="$later $arg"
continue
;;
@@ -702,31 +1157,25 @@ if test -z "$show_help"; then
;; # replaced later. I would guess that would be a bug.
-Wc,*)
- args=`$echo "X$arg" | $Xsed -e "s/^-Wc,//"`
+ func_stripname '-Wc,' '' "$arg"
+ args=$func_stripname_result
lastarg=
save_ifs="$IFS"; IFS=','
- for arg in $args; do
+ for arg in $args; do
IFS="$save_ifs"
-
- # Double-quote args containing other shell metacharacters.
- # Many Bourne shells cannot handle close brackets correctly
- # in scan sets, so we specify it separately.
- case $arg in
- *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
- arg="\"$arg\""
- ;;
- esac
- lastarg="$lastarg $arg"
+ func_quote_for_eval "$arg"
+ lastarg="$lastarg $func_quote_for_eval_result"
done
IFS="$save_ifs"
- lastarg=`$echo "X$lastarg" | $Xsed -e "s/^ //"`
+ func_stripname ' ' '' "$lastarg"
+ lastarg=$func_stripname_result
# Add the arguments to base_compile.
base_compile="$base_compile $lastarg"
continue
;;
- * )
+ *)
# Accept the current argument as the source file.
# The previous "srcfile" becomes the current argument.
#
@@ -738,65 +1187,42 @@ if test -z "$show_help"; then
esac # case $arg_mode
# Aesthetically quote the previous argument.
- lastarg=`$echo "X$lastarg" | $Xsed -e "$sed_quote_subst"`
-
- case $lastarg in
- # Double-quote args containing other shell metacharacters.
- # Many Bourne shells cannot handle close brackets correctly
- # in scan sets, and some SunOS ksh mistreat backslash-escaping
- # in scan sets (worked around with variable expansion),
- # and furthermore cannot handle '|' '&' '(' ')' in scan sets
- # at all, so we specify them separately.
- *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
- lastarg="\"$lastarg\""
- ;;
- esac
-
- base_compile="$base_compile $lastarg"
+ func_quote_for_eval "$lastarg"
+ base_compile="$base_compile $func_quote_for_eval_result"
done # for arg
case $arg_mode in
arg)
- $echo "$modename: you must specify an argument for -Xcompile"
- exit $EXIT_FAILURE
+ func_fatal_error "you must specify an argument for -Xcompile"
;;
target)
- $echo "$modename: you must specify a target with \`-o'" 1>&2
- exit $EXIT_FAILURE
+ func_fatal_error "you must specify a target with \`-o'"
;;
*)
# Get the name of the library object.
- [ -z "$libobj" ] && libobj=`$echo "X$srcfile" | $Xsed -e 's%^.*/%%'`
+ test -z "$libobj" && {
+ func_basename "$srcfile"
+ libobj="$func_basename_result"
+ }
;;
esac
# Recognize several different file suffixes.
# If the user specifies -o file.o, it is replaced with file.lo
- xform='[cCFSifmso]'
case $libobj in
- *.ada) xform=ada ;;
- *.adb) xform=adb ;;
- *.ads) xform=ads ;;
- *.asm) xform=asm ;;
- *.c++) xform=c++ ;;
- *.cc) xform=cc ;;
- *.ii) xform=ii ;;
- *.class) xform=class ;;
- *.cpp) xform=cpp ;;
- *.cxx) xform=cxx ;;
- *.[fF][09]?) xform=[fF][09]. ;;
- *.for) xform=for ;;
- *.java) xform=java ;;
- *.obj) xform=obj ;;
+ *.[cCFSifmso] | \
+ *.ada | *.adb | *.ads | *.asm | \
+ *.c++ | *.cc | *.ii | *.class | *.cpp | *.cxx | \
+ *.[fF][09]? | *.for | *.java | *.obj | *.sx)
+ func_xform "$libobj"
+ libobj=$func_xform_result
+ ;;
esac
- libobj=`$echo "X$libobj" | $Xsed -e "s/\.$xform$/.lo/"`
-
case $libobj in
- *.lo) obj=`$echo "X$libobj" | $Xsed -e "$lo2o"` ;;
+ *.lo) func_lo2o "$libobj"; obj=$func_lo2o_result ;;
*)
- $echo "$modename: cannot determine name of library object from \`$libobj'" 1>&2
- exit $EXIT_FAILURE
+ func_fatal_error "cannot determine name of library object from \`$libobj'"
;;
esac
@@ -804,7 +1230,15 @@ if test -z "$show_help"; then
for arg in $later; do
case $arg in
+ -shared)
+ test "$build_libtool_libs" != yes && \
+ func_fatal_configuration "can not build a shared library"
+ build_old_libs=no
+ continue
+ ;;
+
-static)
+ build_libtool_libs=no
build_old_libs=yes
continue
;;
@@ -821,28 +1255,17 @@ if test -z "$show_help"; then
esac
done
- qlibobj=`$echo "X$libobj" | $Xsed -e "$sed_quote_subst"`
- case $qlibobj in
- *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
- qlibobj="\"$qlibobj\"" ;;
- esac
- test "X$libobj" != "X$qlibobj" \
- && $echo "X$libobj" | grep '[]~#^*{};<>?"'"'"' &()|`$[]' \
- && $echo "$modename: libobj name \`$libobj' may not contain shell special characters."
- objname=`$echo "X$obj" | $Xsed -e 's%^.*/%%'`
- xdir=`$echo "X$obj" | $Xsed -e 's%/[^/]*$%%'`
- if test "X$xdir" = "X$obj"; then
- xdir=
- else
- xdir=$xdir/
- fi
+ func_quote_for_eval "$libobj"
+ test "X$libobj" != "X$func_quote_for_eval_result" \
+ && $ECHO "X$libobj" | $GREP '[]~#^*{};<>?"'"'"' &()|`$[]' \
+ && func_warning "libobj name \`$libobj' may not contain shell special characters."
+ func_dirname_and_basename "$obj" "/" ""
+ objname="$func_basename_result"
+ xdir="$func_dirname_result"
lobj=${xdir}$objdir/$objname
- if test -z "$base_compile"; then
- $echo "$modename: you must specify a compilation command" 1>&2
- $echo "$help" 1>&2
- exit $EXIT_FAILURE
- fi
+ test -z "$base_compile" && \
+ func_fatal_help "you must specify a compilation command"
# Delete any leftover library objects.
if test "$build_old_libs" = yes; then
@@ -851,12 +1274,9 @@ if test -z "$show_help"; then
removelist="$lobj $libobj ${libobj}T"
fi
- $run $rm $removelist
- trap "$run $rm $removelist; exit $EXIT_FAILURE" 1 2 15
-
# On Cygwin there's no "real" PIC flag so we must build both object types
case $host_os in
- cygwin* | mingw* | pw32* | os2*)
+ cygwin* | mingw* | pw32* | os2* | cegcc*)
pic_mode=default
;;
esac
@@ -868,10 +1288,8 @@ if test -z "$show_help"; then
# Calculate the filename of the output object if compiler does
# not support -o with -c
if test "$compiler_c_o" = no; then
- output_obj=`$echo "X$srcfile" | $Xsed -e 's%^.*/%%' -e 's%\.[^.]*$%%'`.${objext}
+ output_obj=`$ECHO "X$srcfile" | $Xsed -e 's%^.*/%%' -e 's%\.[^.]*$%%'`.${objext}
lockfile="$output_obj.lock"
- removelist="$removelist $output_obj $lockfile"
- trap "$run $rm $removelist; exit $EXIT_FAILURE" 1 2 15
else
output_obj=
need_locks=no
@@ -881,13 +1299,13 @@ if test -z "$show_help"; then
# Lock this critical section if it is needed
# We use this script file to make the link, it avoids creating a new file
if test "$need_locks" = yes; then
- until $run ln "$progpath" "$lockfile" 2>/dev/null; do
- $show "Waiting for $lockfile to be removed"
+ until $opt_dry_run || ln "$progpath" "$lockfile" 2>/dev/null; do
+ func_echo "Waiting for $lockfile to be removed"
sleep 2
done
elif test "$need_locks" = warn; then
if test -f "$lockfile"; then
- $echo "\
+ $ECHO "\
*** ERROR, $lockfile exists and contains:
`cat $lockfile 2>/dev/null`
@@ -898,34 +1316,22 @@ repeat this compilation, it may succeed, by chance, but you had better
avoid parallel builds (make -j) in this platform, or get a better
compiler."
- $run $rm $removelist
+ $opt_dry_run || $RM $removelist
exit $EXIT_FAILURE
fi
- $echo "$srcfile" > "$lockfile"
+ removelist="$removelist $output_obj"
+ $ECHO "$srcfile" > "$lockfile"
fi
+ $opt_dry_run || $RM $removelist
+ removelist="$removelist $lockfile"
+ trap '$opt_dry_run || $RM $removelist; exit $EXIT_FAILURE' 1 2 15
+
if test -n "$fix_srcfile_path"; then
eval srcfile=\"$fix_srcfile_path\"
fi
- qsrcfile=`$echo "X$srcfile" | $Xsed -e "$sed_quote_subst"`
- case $qsrcfile in
- *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
- qsrcfile="\"$qsrcfile\"" ;;
- esac
-
- $run $rm "$libobj" "${libobj}T"
-
- # Create a libtool object file (analogous to a ".la" file),
- # but don't create it if we're doing a dry run.
- test -z "$run" && cat > ${libobj}T <<EOF
-# $libobj - a libtool object file
-# Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP
-#
-# Please DO NOT delete this file!
-# It is necessary for linking the library.
-
-# Name of the PIC object.
-EOF
+ func_quote_for_eval "$srcfile"
+ qsrcfile=$func_quote_for_eval_result
# Only build a PIC object if we are building libtool libraries.
if test "$build_libtool_libs" = yes; then
@@ -939,32 +1345,19 @@ EOF
command="$base_compile $qsrcfile"
fi
- if test ! -d "${xdir}$objdir"; then
- $show "$mkdir ${xdir}$objdir"
- $run $mkdir ${xdir}$objdir
- exit_status=$?
- if test "$exit_status" -ne 0 && test ! -d "${xdir}$objdir"; then
- exit $exit_status
- fi
- fi
+ func_mkdir_p "$xdir$objdir"
if test -z "$output_obj"; then
# Place PIC objects in $objdir
command="$command -o $lobj"
fi
- $run $rm "$lobj" "$output_obj"
-
- $show "$command"
- if $run eval "$command"; then :
- else
- test -n "$output_obj" && $run $rm $removelist
- exit $EXIT_FAILURE
- fi
+ func_show_eval_locale "$command" \
+ 'test -n "$output_obj" && $RM $removelist; exit $EXIT_FAILURE'
if test "$need_locks" = warn &&
test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then
- $echo "\
+ $ECHO "\
*** ERROR, $lockfile contains:
`cat $lockfile 2>/dev/null`
@@ -978,45 +1371,27 @@ repeat this compilation, it may succeed, by chance, but you had better
avoid parallel builds (make -j) in this platform, or get a better
compiler."
- $run $rm $removelist
+ $opt_dry_run || $RM $removelist
exit $EXIT_FAILURE
fi
# Just move the object if needed, then go on to compile the next one
if test -n "$output_obj" && test "X$output_obj" != "X$lobj"; then
- $show "$mv $output_obj $lobj"
- if $run $mv $output_obj $lobj; then :
- else
- error=$?
- $run $rm $removelist
- exit $error
- fi
+ func_show_eval '$MV "$output_obj" "$lobj"' \
+ 'error=$?; $opt_dry_run || $RM $removelist; exit $error'
fi
- # Append the name of the PIC object to the libtool object file.
- test -z "$run" && cat >> ${libobj}T <<EOF
-pic_object='$objdir/$objname'
-
-EOF
-
# Allow error messages only from the first compilation.
if test "$suppress_opt" = yes; then
- suppress_output=' >/dev/null 2>&1'
+ suppress_output=' >/dev/null 2>&1'
fi
- else
- # No PIC object so indicate it doesn't exist in the libtool
- # object file.
- test -z "$run" && cat >> ${libobj}T <<EOF
-pic_object=none
-
-EOF
fi
# Only build a position-dependent object if we build old libraries.
if test "$build_old_libs" = yes; then
if test "$pic_mode" != yes; then
# Don't build PIC code
- command="$base_compile $qsrcfile"
+ command="$base_compile $qsrcfile$pie_flag"
else
command="$base_compile $qsrcfile $pic_flag"
fi
@@ -1026,17 +1401,12 @@ EOF
# Suppress compiler output if we already did a PIC compilation.
command="$command$suppress_output"
- $run $rm "$obj" "$output_obj"
- $show "$command"
- if $run eval "$command"; then :
- else
- $run $rm $removelist
- exit $EXIT_FAILURE
- fi
+ func_show_eval_locale "$command" \
+ '$opt_dry_run || $RM $removelist; exit $EXIT_FAILURE'
if test "$need_locks" = warn &&
test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then
- $echo "\
+ $ECHO "\
*** ERROR, $lockfile contains:
`cat $lockfile 2>/dev/null`
@@ -1050,53 +1420,2620 @@ repeat this compilation, it may succeed, by chance, but you had better
avoid parallel builds (make -j) in this platform, or get a better
compiler."
- $run $rm $removelist
+ $opt_dry_run || $RM $removelist
exit $EXIT_FAILURE
fi
# Just move the object if needed
if test -n "$output_obj" && test "X$output_obj" != "X$obj"; then
- $show "$mv $output_obj $obj"
- if $run $mv $output_obj $obj; then :
+ func_show_eval '$MV "$output_obj" "$obj"' \
+ 'error=$?; $opt_dry_run || $RM $removelist; exit $error'
+ fi
+ fi
+
+ $opt_dry_run || {
+ func_write_libtool_object "$libobj" "$objdir/$objname" "$objname"
+
+ # Unlock the critical section if it was locked
+ if test "$need_locks" != no; then
+ removelist=$lockfile
+ $RM "$lockfile"
+ fi
+ }
+
+ exit $EXIT_SUCCESS
+}
+
+$opt_help || {
+test "$mode" = compile && func_mode_compile ${1+"$@"}
+}
+
+func_mode_help ()
+{
+ # We need to display help for each of the modes.
+ case $mode in
+ "")
+ # Generic help is extracted from the usage comments
+ # at the start of this file.
+ func_help
+ ;;
+
+ clean)
+ $ECHO \
+"Usage: $progname [OPTION]... --mode=clean RM [RM-OPTION]... FILE...
+
+Remove files from the build directory.
+
+RM is the name of the program to use to delete files associated with each FILE
+(typically \`/bin/rm'). RM-OPTIONS are options (such as \`-f') to be passed
+to RM.
+
+If FILE is a libtool library, object or program, all the files associated
+with it are deleted. Otherwise, only FILE itself is deleted using RM."
+ ;;
+
+ compile)
+ $ECHO \
+"Usage: $progname [OPTION]... --mode=compile COMPILE-COMMAND... SOURCEFILE
+
+Compile a source file into a libtool library object.
+
+This mode accepts the following additional options:
+
+ -o OUTPUT-FILE set the output file name to OUTPUT-FILE
+ -no-suppress do not suppress compiler output for multiple passes
+ -prefer-pic try to building PIC objects only
+ -prefer-non-pic try to building non-PIC objects only
+ -shared do not build a \`.o' file suitable for static linking
+ -static only build a \`.o' file suitable for static linking
+
+COMPILE-COMMAND is a command to be used in creating a \`standard' object file
+from the given SOURCEFILE.
+
+The output file name is determined by removing the directory component from
+SOURCEFILE, then substituting the C source code suffix \`.c' with the
+library object suffix, \`.lo'."
+ ;;
+
+ execute)
+ $ECHO \
+"Usage: $progname [OPTION]... --mode=execute COMMAND [ARGS]...
+
+Automatically set library path, then run a program.
+
+This mode accepts the following additional options:
+
+ -dlopen FILE add the directory containing FILE to the library path
+
+This mode sets the library path environment variable according to \`-dlopen'
+flags.
+
+If any of the ARGS are libtool executable wrappers, then they are translated
+into their corresponding uninstalled binary, and any of their required library
+directories are added to the library path.
+
+Then, COMMAND is executed, with ARGS as arguments."
+ ;;
+
+ finish)
+ $ECHO \
+"Usage: $progname [OPTION]... --mode=finish [LIBDIR]...
+
+Complete the installation of libtool libraries.
+
+Each LIBDIR is a directory that contains libtool libraries.
+
+The commands that this mode executes may require superuser privileges. Use
+the \`--dry-run' option if you just want to see what would be executed."
+ ;;
+
+ install)
+ $ECHO \
+"Usage: $progname [OPTION]... --mode=install INSTALL-COMMAND...
+
+Install executables or libraries.
+
+INSTALL-COMMAND is the installation command. The first component should be
+either the \`install' or \`cp' program.
+
+The following components of INSTALL-COMMAND are treated specially:
+
+ -inst-prefix PREFIX-DIR Use PREFIX-DIR as a staging area for installation
+
+The rest of the components are interpreted as arguments to that command (only
+BSD-compatible install options are recognized)."
+ ;;
+
+ link)
+ $ECHO \
+"Usage: $progname [OPTION]... --mode=link LINK-COMMAND...
+
+Link object files or libraries together to form another library, or to
+create an executable program.
+
+LINK-COMMAND is a command using the C compiler that you would use to create
+a program from several object files.
+
+The following components of LINK-COMMAND are treated specially:
+
+ -all-static do not do any dynamic linking at all
+ -avoid-version do not add a version suffix if possible
+ -dlopen FILE \`-dlpreopen' FILE if it cannot be dlopened at runtime
+ -dlpreopen FILE link in FILE and add its symbols to lt_preloaded_symbols
+ -export-dynamic allow symbols from OUTPUT-FILE to be resolved with dlsym(3)
+ -export-symbols SYMFILE
+ try to export only the symbols listed in SYMFILE
+ -export-symbols-regex REGEX
+ try to export only the symbols matching REGEX
+ -LLIBDIR search LIBDIR for required installed libraries
+ -lNAME OUTPUT-FILE requires the installed library libNAME
+ -module build a library that can dlopened
+ -no-fast-install disable the fast-install mode
+ -no-install link a not-installable executable
+ -no-undefined declare that a library does not refer to external symbols
+ -o OUTPUT-FILE create OUTPUT-FILE from the specified objects
+ -objectlist FILE Use a list of object files found in FILE to specify objects
+ -precious-files-regex REGEX
+ don't remove output files matching REGEX
+ -release RELEASE specify package release information
+ -rpath LIBDIR the created library will eventually be installed in LIBDIR
+ -R[ ]LIBDIR add LIBDIR to the runtime path of programs and libraries
+ -shared only do dynamic linking of libtool libraries
+ -shrext SUFFIX override the standard shared library file extension
+ -static do not do any dynamic linking of uninstalled libtool libraries
+ -static-libtool-libs
+ do not do any dynamic linking of libtool libraries
+ -version-info CURRENT[:REVISION[:AGE]]
+ specify library version info [each variable defaults to 0]
+ -weak LIBNAME declare that the target provides the LIBNAME interface
+
+All other options (arguments beginning with \`-') are ignored.
+
+Every other argument is treated as a filename. Files ending in \`.la' are
+treated as uninstalled libtool libraries, other files are standard or library
+object files.
+
+If the OUTPUT-FILE ends in \`.la', then a libtool library is created,
+only library objects (\`.lo' files) may be specified, and \`-rpath' is
+required, except when creating a convenience library.
+
+If OUTPUT-FILE ends in \`.a' or \`.lib', then a standard library is created
+using \`ar' and \`ranlib', or on Windows using \`lib'.
+
+If OUTPUT-FILE ends in \`.lo' or \`.${objext}', then a reloadable object file
+is created, otherwise an executable program is created."
+ ;;
+
+ uninstall)
+ $ECHO \
+"Usage: $progname [OPTION]... --mode=uninstall RM [RM-OPTION]... FILE...
+
+Remove libraries from an installation directory.
+
+RM is the name of the program to use to delete files associated with each FILE
+(typically \`/bin/rm'). RM-OPTIONS are options (such as \`-f') to be passed
+to RM.
+
+If FILE is a libtool library, all the files associated with it are deleted.
+Otherwise, only FILE itself is deleted using RM."
+ ;;
+
+ *)
+ func_fatal_help "invalid operation mode \`$mode'"
+ ;;
+ esac
+
+ $ECHO
+ $ECHO "Try \`$progname --help' for more information about other modes."
+
+ exit $?
+}
+
+ # Now that we've collected a possible --mode arg, show help if necessary
+ $opt_help && func_mode_help
+
+
+# func_mode_execute arg...
+func_mode_execute ()
+{
+ $opt_debug
+ # The first argument is the command name.
+ cmd="$nonopt"
+ test -z "$cmd" && \
+ func_fatal_help "you must specify a COMMAND"
+
+ # Handle -dlopen flags immediately.
+ for file in $execute_dlfiles; do
+ test -f "$file" \
+ || func_fatal_help "\`$file' is not a file"
+
+ dir=
+ case $file in
+ *.la)
+ # Check to see that this really is a libtool archive.
+ func_lalib_unsafe_p "$file" \
+ || func_fatal_help "\`$lib' is not a valid libtool archive"
+
+ # Read the libtool library.
+ dlname=
+ library_names=
+ func_source "$file"
+
+ # Skip this library if it cannot be dlopened.
+ if test -z "$dlname"; then
+ # Warn if it was a shared library.
+ test -n "$library_names" && \
+ func_warning "\`$file' was not linked with \`-export-dynamic'"
+ continue
+ fi
+
+ func_dirname "$file" "" "."
+ dir="$func_dirname_result"
+
+ if test -f "$dir/$objdir/$dlname"; then
+ dir="$dir/$objdir"
else
- error=$?
- $run $rm $removelist
- exit $error
+ if test ! -f "$dir/$dlname"; then
+ func_fatal_error "cannot find \`$dlname' in \`$dir' or \`$dir/$objdir'"
+ fi
fi
+ ;;
+
+ *.lo)
+ # Just add the directory containing the .lo file.
+ func_dirname "$file" "" "."
+ dir="$func_dirname_result"
+ ;;
+
+ *)
+ func_warning "\`-dlopen' is ignored for non-libtool libraries and objects"
+ continue
+ ;;
+ esac
+
+ # Get the absolute pathname.
+ absdir=`cd "$dir" && pwd`
+ test -n "$absdir" && dir="$absdir"
+
+ # Now add the directory to shlibpath_var.
+ if eval "test -z \"\$$shlibpath_var\""; then
+ eval "$shlibpath_var=\"\$dir\""
+ else
+ eval "$shlibpath_var=\"\$dir:\$$shlibpath_var\""
fi
+ done
- # Append the name of the non-PIC object the libtool object file.
- # Only append if the libtool object file exists.
- test -z "$run" && cat >> ${libobj}T <<EOF
-# Name of the non-PIC object.
-non_pic_object='$objname'
+ # This variable tells wrapper scripts just to set shlibpath_var
+ # rather than running their programs.
+ libtool_execute_magic="$magic"
-EOF
+ # Check if any of the arguments is a wrapper script.
+ args=
+ for file
+ do
+ case $file in
+ -*) ;;
+ *)
+ # Do a test to see if this is really a libtool program.
+ if func_ltwrapper_script_p "$file"; then
+ func_source "$file"
+ # Transform arg to wrapped name.
+ file="$progdir/$program"
+ elif func_ltwrapper_executable_p "$file"; then
+ func_ltwrapper_scriptname "$file"
+ func_source "$func_ltwrapper_scriptname_result"
+ # Transform arg to wrapped name.
+ file="$progdir/$program"
+ fi
+ ;;
+ esac
+ # Quote arguments (to preserve shell metacharacters).
+ func_quote_for_eval "$file"
+ args="$args $func_quote_for_eval_result"
+ done
+
+ if test "X$opt_dry_run" = Xfalse; then
+ if test -n "$shlibpath_var"; then
+ # Export the shlibpath_var.
+ eval "export $shlibpath_var"
+ fi
+
+ # Restore saved environment variables
+ for lt_var in LANG LANGUAGE LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES
+ do
+ eval "if test \"\${save_$lt_var+set}\" = set; then
+ $lt_var=\$save_$lt_var; export $lt_var
+ else
+ $lt_unset $lt_var
+ fi"
+ done
+
+ # Now prepare to actually exec the command.
+ exec_cmd="\$cmd$args"
else
- # Append the name of the non-PIC object the libtool object file.
- # Only append if the libtool object file exists.
- test -z "$run" && cat >> ${libobj}T <<EOF
-# Name of the non-PIC object.
-non_pic_object=none
+ # Display what would be done.
+ if test -n "$shlibpath_var"; then
+ eval "\$ECHO \"\$shlibpath_var=\$$shlibpath_var\""
+ $ECHO "export $shlibpath_var"
+ fi
+ $ECHO "$cmd$args"
+ exit $EXIT_SUCCESS
+ fi
+}
-EOF
+test "$mode" = execute && func_mode_execute ${1+"$@"}
+
+
+# func_mode_finish arg...
+func_mode_finish ()
+{
+ $opt_debug
+ libdirs="$nonopt"
+ admincmds=
+
+ if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then
+ for dir
+ do
+ libdirs="$libdirs $dir"
+ done
+
+ for libdir in $libdirs; do
+ if test -n "$finish_cmds"; then
+ # Do each command in the finish commands.
+ func_execute_cmds "$finish_cmds" 'admincmds="$admincmds
+'"$cmd"'"'
+ fi
+ if test -n "$finish_eval"; then
+ # Do the single finish_eval.
+ eval cmds=\"$finish_eval\"
+ $opt_dry_run || eval "$cmds" || admincmds="$admincmds
+ $cmds"
+ fi
+ done
fi
- $run $mv "${libobj}T" "${libobj}"
+ # Exit here if they wanted silent mode.
+ $opt_silent && exit $EXIT_SUCCESS
+
+ $ECHO "X----------------------------------------------------------------------" | $Xsed
+ $ECHO "Libraries have been installed in:"
+ for libdir in $libdirs; do
+ $ECHO " $libdir"
+ done
+ $ECHO
+ $ECHO "If you ever happen to want to link against installed libraries"
+ $ECHO "in a given directory, LIBDIR, you must either use libtool, and"
+ $ECHO "specify the full pathname of the library, or use the \`-LLIBDIR'"
+ $ECHO "flag during linking and do at least one of the following:"
+ if test -n "$shlibpath_var"; then
+ $ECHO " - add LIBDIR to the \`$shlibpath_var' environment variable"
+ $ECHO " during execution"
+ fi
+ if test -n "$runpath_var"; then
+ $ECHO " - add LIBDIR to the \`$runpath_var' environment variable"
+ $ECHO " during linking"
+ fi
+ if test -n "$hardcode_libdir_flag_spec"; then
+ libdir=LIBDIR
+ eval flag=\"$hardcode_libdir_flag_spec\"
- # Unlock the critical section if it was locked
- if test "$need_locks" != no; then
- $run $rm "$lockfile"
+ $ECHO " - use the \`$flag' linker flag"
fi
+ if test -n "$admincmds"; then
+ $ECHO " - have your system administrator run these commands:$admincmds"
+ fi
+ if test -f /etc/ld.so.conf; then
+ $ECHO " - have your system administrator add LIBDIR to \`/etc/ld.so.conf'"
+ fi
+ $ECHO
+ $ECHO "See any operating system documentation about shared libraries for"
+ case $host in
+ solaris2.[6789]|solaris2.1[0-9])
+ $ECHO "more information, such as the ld(1), crle(1) and ld.so(8) manual"
+ $ECHO "pages."
+ ;;
+ *)
+ $ECHO "more information, such as the ld(1) and ld.so(8) manual pages."
+ ;;
+ esac
+ $ECHO "X----------------------------------------------------------------------" | $Xsed
exit $EXIT_SUCCESS
+}
+
+test "$mode" = finish && func_mode_finish ${1+"$@"}
+
+
+# func_mode_install arg...
+func_mode_install ()
+{
+ $opt_debug
+ # There may be an optional sh(1) argument at the beginning of
+ # install_prog (especially on Windows NT).
+ if test "$nonopt" = "$SHELL" || test "$nonopt" = /bin/sh ||
+ # Allow the use of GNU shtool's install command.
+ $ECHO "X$nonopt" | $GREP shtool >/dev/null; then
+ # Aesthetically quote it.
+ func_quote_for_eval "$nonopt"
+ install_prog="$func_quote_for_eval_result "
+ arg=$1
+ shift
+ else
+ install_prog=
+ arg=$nonopt
+ fi
+
+ # The real first argument should be the name of the installation program.
+ # Aesthetically quote it.
+ func_quote_for_eval "$arg"
+ install_prog="$install_prog$func_quote_for_eval_result"
+
+ # We need to accept at least all the BSD install flags.
+ dest=
+ files=
+ opts=
+ prev=
+ install_type=
+ isdir=no
+ stripme=
+ for arg
+ do
+ if test -n "$dest"; then
+ files="$files $dest"
+ dest=$arg
+ continue
+ fi
+
+ case $arg in
+ -d) isdir=yes ;;
+ -f)
+ case " $install_prog " in
+ *[\\\ /]cp\ *) ;;
+ *) prev=$arg ;;
+ esac
+ ;;
+ -g | -m | -o)
+ prev=$arg
+ ;;
+ -s)
+ stripme=" -s"
+ continue
+ ;;
+ -*)
+ ;;
+ *)
+ # If the previous option needed an argument, then skip it.
+ if test -n "$prev"; then
+ prev=
+ else
+ dest=$arg
+ continue
+ fi
+ ;;
+ esac
+
+ # Aesthetically quote the argument.
+ func_quote_for_eval "$arg"
+ install_prog="$install_prog $func_quote_for_eval_result"
+ done
+
+ test -z "$install_prog" && \
+ func_fatal_help "you must specify an install program"
+
+ test -n "$prev" && \
+ func_fatal_help "the \`$prev' option requires an argument"
+
+ if test -z "$files"; then
+ if test -z "$dest"; then
+ func_fatal_help "no file or destination specified"
+ else
+ func_fatal_help "you must specify a destination"
+ fi
+ fi
+
+ # Strip any trailing slash from the destination.
+ func_stripname '' '/' "$dest"
+ dest=$func_stripname_result
+
+ # Check to see that the destination is a directory.
+ test -d "$dest" && isdir=yes
+ if test "$isdir" = yes; then
+ destdir="$dest"
+ destname=
+ else
+ func_dirname_and_basename "$dest" "" "."
+ destdir="$func_dirname_result"
+ destname="$func_basename_result"
+
+ # Not a directory, so check to see that there is only one file specified.
+ set dummy $files; shift
+ test "$#" -gt 1 && \
+ func_fatal_help "\`$dest' is not a directory"
+ fi
+ case $destdir in
+ [\\/]* | [A-Za-z]:[\\/]*) ;;
+ *)
+ for file in $files; do
+ case $file in
+ *.lo) ;;
+ *)
+ func_fatal_help "\`$destdir' must be an absolute directory name"
+ ;;
+ esac
+ done
+ ;;
+ esac
+
+ # This variable tells wrapper scripts just to set variables rather
+ # than running their programs.
+ libtool_install_magic="$magic"
+
+ staticlibs=
+ future_libdirs=
+ current_libdirs=
+ for file in $files; do
+
+ # Do each installation.
+ case $file in
+ *.$libext)
+ # Do the static libraries later.
+ staticlibs="$staticlibs $file"
+ ;;
+
+ *.la)
+ # Check to see that this really is a libtool archive.
+ func_lalib_unsafe_p "$file" \
+ || func_fatal_help "\`$file' is not a valid libtool archive"
+
+ library_names=
+ old_library=
+ relink_command=
+ func_source "$file"
+
+ # Add the libdir to current_libdirs if it is the destination.
+ if test "X$destdir" = "X$libdir"; then
+ case "$current_libdirs " in
+ *" $libdir "*) ;;
+ *) current_libdirs="$current_libdirs $libdir" ;;
+ esac
+ else
+ # Note the libdir as a future libdir.
+ case "$future_libdirs " in
+ *" $libdir "*) ;;
+ *) future_libdirs="$future_libdirs $libdir" ;;
+ esac
+ fi
+
+ func_dirname "$file" "/" ""
+ dir="$func_dirname_result"
+ dir="$dir$objdir"
+
+ if test -n "$relink_command"; then
+ # Determine the prefix the user has applied to our future dir.
+ inst_prefix_dir=`$ECHO "X$destdir" | $Xsed -e "s%$libdir\$%%"`
+
+ # Don't allow the user to place us outside of our expected
+ # location b/c this prevents finding dependent libraries that
+ # are installed to the same prefix.
+ # At present, this check doesn't affect windows .dll's that
+ # are installed into $libdir/../bin (currently, that works fine)
+ # but it's something to keep an eye on.
+ test "$inst_prefix_dir" = "$destdir" && \
+ func_fatal_error "error: cannot install \`$file' to a directory not ending in $libdir"
+
+ if test -n "$inst_prefix_dir"; then
+ # Stick the inst_prefix_dir data into the link command.
+ relink_command=`$ECHO "X$relink_command" | $Xsed -e "s%@inst_prefix_dir@%-inst-prefix-dir $inst_prefix_dir%"`
+ else
+ relink_command=`$ECHO "X$relink_command" | $Xsed -e "s%@inst_prefix_dir@%%"`
+ fi
+
+ func_warning "relinking \`$file'"
+ func_show_eval "$relink_command" \
+ 'func_fatal_error "error: relink \`$file'\'' with the above command before installing it"'
+ fi
+
+ # See the names of the shared library.
+ set dummy $library_names; shift
+ if test -n "$1"; then
+ realname="$1"
+ shift
+
+ srcname="$realname"
+ test -n "$relink_command" && srcname="$realname"T
+
+ # Install the shared library and build the symlinks.
+ func_show_eval "$install_prog $dir/$srcname $destdir/$realname" \
+ 'exit $?'
+ tstripme="$stripme"
+ case $host_os in
+ cygwin* | mingw* | pw32* | cegcc*)
+ case $realname in
+ *.dll.a)
+ tstripme=""
+ ;;
+ esac
+ ;;
+ esac
+ if test -n "$tstripme" && test -n "$striplib"; then
+ func_show_eval "$striplib $destdir/$realname" 'exit $?'
+ fi
+
+ if test "$#" -gt 0; then
+ # Delete the old symlinks, and create new ones.
+ # Try `ln -sf' first, because the `ln' binary might depend on
+ # the symlink we replace! Solaris /bin/ln does not understand -f,
+ # so we also need to try rm && ln -s.
+ for linkname
+ do
+ test "$linkname" != "$realname" \
+ && func_show_eval "(cd $destdir && { $LN_S -f $realname $linkname || { $RM $linkname && $LN_S $realname $linkname; }; })"
+ done
+ fi
+
+ # Do each command in the postinstall commands.
+ lib="$destdir/$realname"
+ func_execute_cmds "$postinstall_cmds" 'exit $?'
+ fi
+
+ # Install the pseudo-library for information purposes.
+ func_basename "$file"
+ name="$func_basename_result"
+ instname="$dir/$name"i
+ func_show_eval "$install_prog $instname $destdir/$name" 'exit $?'
+
+ # Maybe install the static library, too.
+ test -n "$old_library" && staticlibs="$staticlibs $dir/$old_library"
+ ;;
+
+ *.lo)
+ # Install (i.e. copy) a libtool object.
+
+ # Figure out destination file name, if it wasn't already specified.
+ if test -n "$destname"; then
+ destfile="$destdir/$destname"
+ else
+ func_basename "$file"
+ destfile="$func_basename_result"
+ destfile="$destdir/$destfile"
+ fi
+
+ # Deduce the name of the destination old-style object file.
+ case $destfile in
+ *.lo)
+ func_lo2o "$destfile"
+ staticdest=$func_lo2o_result
+ ;;
+ *.$objext)
+ staticdest="$destfile"
+ destfile=
+ ;;
+ *)
+ func_fatal_help "cannot copy a libtool object to \`$destfile'"
+ ;;
+ esac
+
+ # Install the libtool object if requested.
+ test -n "$destfile" && \
+ func_show_eval "$install_prog $file $destfile" 'exit $?'
+
+ # Install the old object if enabled.
+ if test "$build_old_libs" = yes; then
+ # Deduce the name of the old-style object file.
+ func_lo2o "$file"
+ staticobj=$func_lo2o_result
+ func_show_eval "$install_prog \$staticobj \$staticdest" 'exit $?'
+ fi
+ exit $EXIT_SUCCESS
+ ;;
+
+ *)
+ # Figure out destination file name, if it wasn't already specified.
+ if test -n "$destname"; then
+ destfile="$destdir/$destname"
+ else
+ func_basename "$file"
+ destfile="$func_basename_result"
+ destfile="$destdir/$destfile"
+ fi
+
+ # If the file is missing, and there is a .exe on the end, strip it
+ # because it is most likely a libtool script we actually want to
+ # install
+ stripped_ext=""
+ case $file in
+ *.exe)
+ if test ! -f "$file"; then
+ func_stripname '' '.exe' "$file"
+ file=$func_stripname_result
+ stripped_ext=".exe"
+ fi
+ ;;
+ esac
+
+ # Do a test to see if this is really a libtool program.
+ case $host in
+ *cygwin* | *mingw*)
+ if func_ltwrapper_executable_p "$file"; then
+ func_ltwrapper_scriptname "$file"
+ wrapper=$func_ltwrapper_scriptname_result
+ else
+ func_stripname '' '.exe' "$file"
+ wrapper=$func_stripname_result
+ fi
+ ;;
+ *)
+ wrapper=$file
+ ;;
+ esac
+ if func_ltwrapper_script_p "$wrapper"; then
+ notinst_deplibs=
+ relink_command=
+
+ func_source "$wrapper"
+
+ # Check the variables that should have been set.
+ test -z "$generated_by_libtool_version" && \
+ func_fatal_error "invalid libtool wrapper script \`$wrapper'"
+
+ finalize=yes
+ for lib in $notinst_deplibs; do
+ # Check to see that each library is installed.
+ libdir=
+ if test -f "$lib"; then
+ func_source "$lib"
+ fi
+ libfile="$libdir/"`$ECHO "X$lib" | $Xsed -e 's%^.*/%%g'` ### testsuite: skip nested quoting test
+ if test -n "$libdir" && test ! -f "$libfile"; then
+ func_warning "\`$lib' has not been installed in \`$libdir'"
+ finalize=no
+ fi
+ done
+
+ relink_command=
+ func_source "$wrapper"
+
+ outputname=
+ if test "$fast_install" = no && test -n "$relink_command"; then
+ $opt_dry_run || {
+ if test "$finalize" = yes; then
+ tmpdir=`func_mktempdir`
+ func_basename "$file$stripped_ext"
+ file="$func_basename_result"
+ outputname="$tmpdir/$file"
+ # Replace the output file specification.
+ relink_command=`$ECHO "X$relink_command" | $Xsed -e 's%@OUTPUT@%'"$outputname"'%g'`
+
+ $opt_silent || {
+ func_quote_for_expand "$relink_command"
+ eval "func_echo $func_quote_for_expand_result"
+ }
+ if eval "$relink_command"; then :
+ else
+ func_error "error: relink \`$file' with the above command before installing it"
+ $opt_dry_run || ${RM}r "$tmpdir"
+ continue
+ fi
+ file="$outputname"
+ else
+ func_warning "cannot relink \`$file'"
+ fi
+ }
+ else
+ # Install the binary that we compiled earlier.
+ file=`$ECHO "X$file$stripped_ext" | $Xsed -e "s%\([^/]*\)$%$objdir/\1%"`
+ fi
+ fi
+
+ # remove .exe since cygwin /usr/bin/install will append another
+ # one anyway
+ case $install_prog,$host in
+ */usr/bin/install*,*cygwin*)
+ case $file:$destfile in
+ *.exe:*.exe)
+ # this is ok
+ ;;
+ *.exe:*)
+ destfile=$destfile.exe
+ ;;
+ *:*.exe)
+ func_stripname '' '.exe' "$destfile"
+ destfile=$func_stripname_result
+ ;;
+ esac
+ ;;
+ esac
+ func_show_eval "$install_prog\$stripme \$file \$destfile" 'exit $?'
+ $opt_dry_run || if test -n "$outputname"; then
+ ${RM}r "$tmpdir"
+ fi
+ ;;
+ esac
+ done
+
+ for file in $staticlibs; do
+ func_basename "$file"
+ name="$func_basename_result"
+
+ # Set up the ranlib parameters.
+ oldlib="$destdir/$name"
+
+ func_show_eval "$install_prog \$file \$oldlib" 'exit $?'
+
+ if test -n "$stripme" && test -n "$old_striplib"; then
+ func_show_eval "$old_striplib $oldlib" 'exit $?'
+ fi
+
+ # Do each command in the postinstall commands.
+ func_execute_cmds "$old_postinstall_cmds" 'exit $?'
+ done
+
+ test -n "$future_libdirs" && \
+ func_warning "remember to run \`$progname --finish$future_libdirs'"
+
+ if test -n "$current_libdirs"; then
+ # Maybe just do a dry run.
+ $opt_dry_run && current_libdirs=" -n$current_libdirs"
+ exec_cmd='$SHELL $progpath $preserve_args --finish$current_libdirs'
+ else
+ exit $EXIT_SUCCESS
+ fi
+}
+
+test "$mode" = install && func_mode_install ${1+"$@"}
+
+
+# func_generate_dlsyms outputname originator pic_p
+# Extract symbols from dlprefiles and create ${outputname}S.o with
+# a dlpreopen symbol table.
+func_generate_dlsyms ()
+{
+ $opt_debug
+ my_outputname="$1"
+ my_originator="$2"
+ my_pic_p="${3-no}"
+ my_prefix=`$ECHO "$my_originator" | sed 's%[^a-zA-Z0-9]%_%g'`
+ my_dlsyms=
+
+ if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then
+ if test -n "$NM" && test -n "$global_symbol_pipe"; then
+ my_dlsyms="${my_outputname}S.c"
+ else
+ func_error "not configured to extract global symbols from dlpreopened files"
+ fi
+ fi
+
+ if test -n "$my_dlsyms"; then
+ case $my_dlsyms in
+ "") ;;
+ *.c)
+ # Discover the nlist of each of the dlfiles.
+ nlist="$output_objdir/${my_outputname}.nm"
+
+ func_show_eval "$RM $nlist ${nlist}S ${nlist}T"
+
+ # Parse the name list into a source file.
+ func_verbose "creating $output_objdir/$my_dlsyms"
+
+ $opt_dry_run || $ECHO > "$output_objdir/$my_dlsyms" "\
+/* $my_dlsyms - symbol resolution table for \`$my_outputname' dlsym emulation. */
+/* Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION */
+
+#ifdef __cplusplus
+extern \"C\" {
+#endif
+
+/* External symbol declarations for the compiler. */\
+"
+
+ if test "$dlself" = yes; then
+ func_verbose "generating symbol list for \`$output'"
+
+ $opt_dry_run || echo ': @PROGRAM@ ' > "$nlist"
+
+ # Add our own program objects to the symbol list.
+ progfiles=`$ECHO "X$objs$old_deplibs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
+ for progfile in $progfiles; do
+ func_verbose "extracting global C symbols from \`$progfile'"
+ $opt_dry_run || eval "$NM $progfile | $global_symbol_pipe >> '$nlist'"
+ done
+
+ if test -n "$exclude_expsyms"; then
+ $opt_dry_run || {
+ eval '$EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T'
+ eval '$MV "$nlist"T "$nlist"'
+ }
+ fi
+
+ if test -n "$export_symbols_regex"; then
+ $opt_dry_run || {
+ eval '$EGREP -e "$export_symbols_regex" "$nlist" > "$nlist"T'
+ eval '$MV "$nlist"T "$nlist"'
+ }
+ fi
+
+ # Prepare the list of exported symbols
+ if test -z "$export_symbols"; then
+ export_symbols="$output_objdir/$outputname.exp"
+ $opt_dry_run || {
+ $RM $export_symbols
+ eval "${SED} -n -e '/^: @PROGRAM@ $/d' -e 's/^.* \(.*\)$/\1/p' "'< "$nlist" > "$export_symbols"'
+ case $host in
+ *cygwin* | *mingw* | *cegcc* )
+ eval "echo EXPORTS "'> "$output_objdir/$outputname.def"'
+ eval 'cat "$export_symbols" >> "$output_objdir/$outputname.def"'
+ ;;
+ esac
+ }
+ else
+ $opt_dry_run || {
+ eval "${SED} -e 's/\([].[*^$]\)/\\\\\1/g' -e 's/^/ /' -e 's/$/$/'"' < "$export_symbols" > "$output_objdir/$outputname.exp"'
+ eval '$GREP -f "$output_objdir/$outputname.exp" < "$nlist" > "$nlist"T'
+ eval '$MV "$nlist"T "$nlist"'
+ case $host in
+ *cygwin | *mingw* | *cegcc* )
+ eval "echo EXPORTS "'> "$output_objdir/$outputname.def"'
+ eval 'cat "$nlist" >> "$output_objdir/$outputname.def"'
+ ;;
+ esac
+ }
+ fi
+ fi
+
+ for dlprefile in $dlprefiles; do
+ func_verbose "extracting global C symbols from \`$dlprefile'"
+ func_basename "$dlprefile"
+ name="$func_basename_result"
+ $opt_dry_run || {
+ eval '$ECHO ": $name " >> "$nlist"'
+ eval "$NM $dlprefile 2>/dev/null | $global_symbol_pipe >> '$nlist'"
+ }
+ done
+
+ $opt_dry_run || {
+ # Make sure we have at least an empty file.
+ test -f "$nlist" || : > "$nlist"
+
+ if test -n "$exclude_expsyms"; then
+ $EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T
+ $MV "$nlist"T "$nlist"
+ fi
+
+ # Try sorting and uniquifying the output.
+ if $GREP -v "^: " < "$nlist" |
+ if sort -k 3 </dev/null >/dev/null 2>&1; then
+ sort -k 3
+ else
+ sort +2
+ fi |
+ uniq > "$nlist"S; then
+ :
+ else
+ $GREP -v "^: " < "$nlist" > "$nlist"S
+ fi
+
+ if test -f "$nlist"S; then
+ eval "$global_symbol_to_cdecl"' < "$nlist"S >> "$output_objdir/$my_dlsyms"'
+ else
+ $ECHO '/* NONE */' >> "$output_objdir/$my_dlsyms"
+ fi
+
+ $ECHO >> "$output_objdir/$my_dlsyms" "\
+
+/* The mapping between symbol names and symbols. */
+typedef struct {
+ const char *name;
+ void *address;
+} lt_dlsymlist;
+"
+ case $host in
+ *cygwin* | *mingw* | *cegcc* )
+ $ECHO >> "$output_objdir/$my_dlsyms" "\
+/* DATA imports from DLLs on WIN32 con't be const, because
+ runtime relocations are performed -- see ld's documentation
+ on pseudo-relocs. */"
+ lt_dlsym_const= ;;
+ *osf5*)
+ echo >> "$output_objdir/$my_dlsyms" "\
+/* This system does not cope well with relocations in const data */"
+ lt_dlsym_const= ;;
+ *)
+ lt_dlsym_const=const ;;
+ esac
+
+ $ECHO >> "$output_objdir/$my_dlsyms" "\
+extern $lt_dlsym_const lt_dlsymlist
+lt_${my_prefix}_LTX_preloaded_symbols[];
+$lt_dlsym_const lt_dlsymlist
+lt_${my_prefix}_LTX_preloaded_symbols[] =
+{\
+ { \"$my_originator\", (void *) 0 },"
+
+ case $need_lib_prefix in
+ no)
+ eval "$global_symbol_to_c_name_address" < "$nlist" >> "$output_objdir/$my_dlsyms"
+ ;;
+ *)
+ eval "$global_symbol_to_c_name_address_lib_prefix" < "$nlist" >> "$output_objdir/$my_dlsyms"
+ ;;
+ esac
+ $ECHO >> "$output_objdir/$my_dlsyms" "\
+ {0, (void *) 0}
+};
+
+/* This works around a problem in FreeBSD linker */
+#ifdef FREEBSD_WORKAROUND
+static const void *lt_preloaded_setup() {
+ return lt_${my_prefix}_LTX_preloaded_symbols;
+}
+#endif
+
+#ifdef __cplusplus
+}
+#endif\
+"
+ } # !$opt_dry_run
+
+ pic_flag_for_symtable=
+ case "$compile_command " in
+ *" -static "*) ;;
+ *)
+ case $host in
+ # compiling the symbol table file with pic_flag works around
+ # a FreeBSD bug that causes programs to crash when -lm is
+ # linked before any other PIC object. But we must not use
+ # pic_flag when linking with -static. The problem exists in
+ # FreeBSD 2.2.6 and is fixed in FreeBSD 3.1.
+ *-*-freebsd2*|*-*-freebsd3.0*|*-*-freebsdelf3.0*)
+ pic_flag_for_symtable=" $pic_flag -DFREEBSD_WORKAROUND" ;;
+ *-*-hpux*)
+ pic_flag_for_symtable=" $pic_flag" ;;
+ *)
+ if test "X$my_pic_p" != Xno; then
+ pic_flag_for_symtable=" $pic_flag"
+ fi
+ ;;
+ esac
+ ;;
+ esac
+ symtab_cflags=
+ for arg in $LTCFLAGS; do
+ case $arg in
+ -pie | -fpie | -fPIE) ;;
+ *) symtab_cflags="$symtab_cflags $arg" ;;
+ esac
+ done
+
+ # Now compile the dynamic symbol file.
+ func_show_eval '(cd $output_objdir && $LTCC$symtab_cflags -c$no_builtin_flag$pic_flag_for_symtable "$my_dlsyms")' 'exit $?'
+
+ # Clean up the generated files.
+ func_show_eval '$RM "$output_objdir/$my_dlsyms" "$nlist" "${nlist}S" "${nlist}T"'
+
+ # Transform the symbol file into the correct name.
+ symfileobj="$output_objdir/${my_outputname}S.$objext"
+ case $host in
+ *cygwin* | *mingw* | *cegcc* )
+ if test -f "$output_objdir/$my_outputname.def"; then
+ compile_command=`$ECHO "X$compile_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/$my_outputname.def $symfileobj%"`
+ finalize_command=`$ECHO "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/$my_outputname.def $symfileobj%"`
+ else
+ compile_command=`$ECHO "X$compile_command" | $Xsed -e "s%@SYMFILE@%$symfileobj%"`
+ finalize_command=`$ECHO "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$symfileobj%"`
+ fi
+ ;;
+ *)
+ compile_command=`$ECHO "X$compile_command" | $Xsed -e "s%@SYMFILE@%$symfileobj%"`
+ finalize_command=`$ECHO "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$symfileobj%"`
+ ;;
+ esac
+ ;;
+ *)
+ func_fatal_error "unknown suffix for \`$my_dlsyms'"
+ ;;
+ esac
+ else
+ # We keep going just in case the user didn't refer to
+ # lt_preloaded_symbols. The linker will fail if global_symbol_pipe
+ # really was required.
+
+ # Nullify the symbol file.
+ compile_command=`$ECHO "X$compile_command" | $Xsed -e "s% @SYMFILE@%%"`
+ finalize_command=`$ECHO "X$finalize_command" | $Xsed -e "s% @SYMFILE@%%"`
+ fi
+}
+
+# func_win32_libid arg
+# return the library type of file 'arg'
+#
+# Need a lot of goo to handle *both* DLLs and import libs
+# Has to be a shell function in order to 'eat' the argument
+# that is supplied when $file_magic_command is called.
+func_win32_libid ()
+{
+ $opt_debug
+ win32_libid_type="unknown"
+ win32_fileres=`file -L $1 2>/dev/null`
+ case $win32_fileres in
+ *ar\ archive\ import\ library*) # definitely import
+ win32_libid_type="x86 archive import"
+ ;;
+ *ar\ archive*) # could be an import, or static
+ if eval $OBJDUMP -f $1 | $SED -e '10q' 2>/dev/null |
+ $EGREP 'file format pe-i386(.*architecture: i386)?' >/dev/null ; then
+ win32_nmres=`eval $NM -f posix -A $1 |
+ $SED -n -e '
+ 1,100{
+ / I /{
+ s,.*,import,
+ p
+ q
+ }
+ }'`
+ case $win32_nmres in
+ import*) win32_libid_type="x86 archive import";;
+ *) win32_libid_type="x86 archive static";;
+ esac
+ fi
+ ;;
+ *DLL*)
+ win32_libid_type="x86 DLL"
+ ;;
+ *executable*) # but shell scripts are "executable" too...
+ case $win32_fileres in
+ *MS\ Windows\ PE\ Intel*)
+ win32_libid_type="x86 DLL"
+ ;;
+ esac
;;
+ esac
+ $ECHO "$win32_libid_type"
+}
+
- # libtool link mode
- link | relink)
- modename="$modename: link"
+
+# func_extract_an_archive dir oldlib
+func_extract_an_archive ()
+{
+ $opt_debug
+ f_ex_an_ar_dir="$1"; shift
+ f_ex_an_ar_oldlib="$1"
+ func_show_eval "(cd \$f_ex_an_ar_dir && $AR x \"\$f_ex_an_ar_oldlib\")" 'exit $?'
+ if ($AR t "$f_ex_an_ar_oldlib" | sort | sort -uc >/dev/null 2>&1); then
+ :
+ else
+ func_fatal_error "object name conflicts in archive: $f_ex_an_ar_dir/$f_ex_an_ar_oldlib"
+ fi
+}
+
+
+# func_extract_archives gentop oldlib ...
+func_extract_archives ()
+{
+ $opt_debug
+ my_gentop="$1"; shift
+ my_oldlibs=${1+"$@"}
+ my_oldobjs=""
+ my_xlib=""
+ my_xabs=""
+ my_xdir=""
+
+ for my_xlib in $my_oldlibs; do
+ # Extract the objects.
+ case $my_xlib in
+ [\\/]* | [A-Za-z]:[\\/]*) my_xabs="$my_xlib" ;;
+ *) my_xabs=`pwd`"/$my_xlib" ;;
+ esac
+ func_basename "$my_xlib"
+ my_xlib="$func_basename_result"
+ my_xlib_u=$my_xlib
+ while :; do
+ case " $extracted_archives " in
+ *" $my_xlib_u "*)
+ func_arith $extracted_serial + 1
+ extracted_serial=$func_arith_result
+ my_xlib_u=lt$extracted_serial-$my_xlib ;;
+ *) break ;;
+ esac
+ done
+ extracted_archives="$extracted_archives $my_xlib_u"
+ my_xdir="$my_gentop/$my_xlib_u"
+
+ func_mkdir_p "$my_xdir"
+
+ case $host in
+ *-darwin*)
+ func_verbose "Extracting $my_xabs"
+ # Do not bother doing anything if just a dry run
+ $opt_dry_run || {
+ darwin_orig_dir=`pwd`
+ cd $my_xdir || exit $?
+ darwin_archive=$my_xabs
+ darwin_curdir=`pwd`
+ darwin_base_archive=`basename "$darwin_archive"`
+ darwin_arches=`$LIPO -info "$darwin_archive" 2>/dev/null | $GREP Architectures 2>/dev/null || true`
+ if test -n "$darwin_arches"; then
+ darwin_arches=`$ECHO "$darwin_arches" | $SED -e 's/.*are://'`
+ darwin_arch=
+ func_verbose "$darwin_base_archive has multiple architectures $darwin_arches"
+ for darwin_arch in $darwin_arches ; do
+ func_mkdir_p "unfat-$$/${darwin_base_archive}-${darwin_arch}"
+ $LIPO -thin $darwin_arch -output "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}" "${darwin_archive}"
+ cd "unfat-$$/${darwin_base_archive}-${darwin_arch}"
+ func_extract_an_archive "`pwd`" "${darwin_base_archive}"
+ cd "$darwin_curdir"
+ $RM "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}"
+ done # $darwin_arches
+ ## Okay now we've a bunch of thin objects, gotta fatten them up :)
+ darwin_filelist=`find unfat-$$ -type f -name \*.o -print -o -name \*.lo -print | $SED -e "$basename" | sort -u`
+ darwin_file=
+ darwin_files=
+ for darwin_file in $darwin_filelist; do
+ darwin_files=`find unfat-$$ -name $darwin_file -print | $NL2SP`
+ $LIPO -create -output "$darwin_file" $darwin_files
+ done # $darwin_filelist
+ $RM -rf unfat-$$
+ cd "$darwin_orig_dir"
+ else
+ cd $darwin_orig_dir
+ func_extract_an_archive "$my_xdir" "$my_xabs"
+ fi # $darwin_arches
+ } # !$opt_dry_run
+ ;;
+ *)
+ func_extract_an_archive "$my_xdir" "$my_xabs"
+ ;;
+ esac
+ my_oldobjs="$my_oldobjs "`find $my_xdir -name \*.$objext -print -o -name \*.lo -print | $NL2SP`
+ done
+
+ func_extract_archives_result="$my_oldobjs"
+}
+
+
+
+# func_emit_wrapper_part1 [arg=no]
+#
+# Emit the first part of a libtool wrapper script on stdout.
+# For more information, see the description associated with
+# func_emit_wrapper(), below.
+func_emit_wrapper_part1 ()
+{
+ func_emit_wrapper_part1_arg1=no
+ if test -n "$1" ; then
+ func_emit_wrapper_part1_arg1=$1
+ fi
+
+ $ECHO "\
+#! $SHELL
+
+# $output - temporary wrapper script for $objdir/$outputname
+# Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION
+#
+# The $output program cannot be directly executed until all the libtool
+# libraries that it depends on are installed.
+#
+# This wrapper script should never be moved out of the build directory.
+# If it is, it will not operate correctly.
+
+# Sed substitution that helps us do robust quoting. It backslashifies
+# metacharacters that are still active within double-quoted strings.
+Xsed='${SED} -e 1s/^X//'
+sed_quote_subst='$sed_quote_subst'
+
+# Be Bourne compatible
+if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then
+ emulate sh
+ NULLCMD=:
+ # Zsh 3.x and 4.x performs word splitting on \${1+\"\$@\"}, which
+ # is contrary to our usage. Disable this feature.
+ alias -g '\${1+\"\$@\"}'='\"\$@\"'
+ setopt NO_GLOB_SUBST
+else
+ case \`(set -o) 2>/dev/null\` in *posix*) set -o posix;; esac
+fi
+BIN_SH=xpg4; export BIN_SH # for Tru64
+DUALCASE=1; export DUALCASE # for MKS sh
+
+# The HP-UX ksh and POSIX shell print the target directory to stdout
+# if CDPATH is set.
+(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
+
+relink_command=\"$relink_command\"
+
+# This environment variable determines our operation mode.
+if test \"\$libtool_install_magic\" = \"$magic\"; then
+ # install mode needs the following variables:
+ generated_by_libtool_version='$macro_version'
+ notinst_deplibs='$notinst_deplibs'
+else
+ # When we are sourced in execute mode, \$file and \$ECHO are already set.
+ if test \"\$libtool_execute_magic\" != \"$magic\"; then
+ ECHO=\"$qecho\"
+ file=\"\$0\"
+ # Make sure echo works.
+ if test \"X\$1\" = X--no-reexec; then
+ # Discard the --no-reexec flag, and continue.
+ shift
+ elif test \"X\`{ \$ECHO '\t'; } 2>/dev/null\`\" = 'X\t'; then
+ # Yippee, \$ECHO works!
+ :
+ else
+ # Restart under the correct shell, and then maybe \$ECHO will work.
+ exec $SHELL \"\$0\" --no-reexec \${1+\"\$@\"}
+ fi
+ fi\
+"
+ $ECHO "\
+
+ # Find the directory that this script lives in.
+ thisdir=\`\$ECHO \"X\$file\" | \$Xsed -e 's%/[^/]*$%%'\`
+ test \"x\$thisdir\" = \"x\$file\" && thisdir=.
+
+ # Follow symbolic links until we get to the real thisdir.
+ file=\`ls -ld \"\$file\" | ${SED} -n 's/.*-> //p'\`
+ while test -n \"\$file\"; do
+ destdir=\`\$ECHO \"X\$file\" | \$Xsed -e 's%/[^/]*\$%%'\`
+
+ # If there was a directory component, then change thisdir.
+ if test \"x\$destdir\" != \"x\$file\"; then
+ case \"\$destdir\" in
+ [\\\\/]* | [A-Za-z]:[\\\\/]*) thisdir=\"\$destdir\" ;;
+ *) thisdir=\"\$thisdir/\$destdir\" ;;
+ esac
+ fi
+
+ file=\`\$ECHO \"X\$file\" | \$Xsed -e 's%^.*/%%'\`
+ file=\`ls -ld \"\$thisdir/\$file\" | ${SED} -n 's/.*-> //p'\`
+ done
+"
+}
+# end: func_emit_wrapper_part1
+
+# func_emit_wrapper_part2 [arg=no]
+#
+# Emit the second part of a libtool wrapper script on stdout.
+# For more information, see the description associated with
+# func_emit_wrapper(), below.
+func_emit_wrapper_part2 ()
+{
+ func_emit_wrapper_part2_arg1=no
+ if test -n "$1" ; then
+ func_emit_wrapper_part2_arg1=$1
+ fi
+
+ $ECHO "\
+
+ # Usually 'no', except on cygwin/mingw when embedded into
+ # the cwrapper.
+ WRAPPER_SCRIPT_BELONGS_IN_OBJDIR=$func_emit_wrapper_part2_arg1
+ if test \"\$WRAPPER_SCRIPT_BELONGS_IN_OBJDIR\" = \"yes\"; then
+ # special case for '.'
+ if test \"\$thisdir\" = \".\"; then
+ thisdir=\`pwd\`
+ fi
+ # remove .libs from thisdir
+ case \"\$thisdir\" in
+ *[\\\\/]$objdir ) thisdir=\`\$ECHO \"X\$thisdir\" | \$Xsed -e 's%[\\\\/][^\\\\/]*$%%'\` ;;
+ $objdir ) thisdir=. ;;
+ esac
+ fi
+
+ # Try to get the absolute directory name.
+ absdir=\`cd \"\$thisdir\" && pwd\`
+ test -n \"\$absdir\" && thisdir=\"\$absdir\"
+"
+
+ if test "$fast_install" = yes; then
+ $ECHO "\
+ program=lt-'$outputname'$exeext
+ progdir=\"\$thisdir/$objdir\"
+
+ if test ! -f \"\$progdir/\$program\" ||
+ { file=\`ls -1dt \"\$progdir/\$program\" \"\$progdir/../\$program\" 2>/dev/null | ${SED} 1q\`; \\
+ test \"X\$file\" != \"X\$progdir/\$program\"; }; then
+
+ file=\"\$\$-\$program\"
+
+ if test ! -d \"\$progdir\"; then
+ $MKDIR \"\$progdir\"
+ else
+ $RM \"\$progdir/\$file\"
+ fi"
+
+ $ECHO "\
+
+ # relink executable if necessary
+ if test -n \"\$relink_command\"; then
+ if relink_command_output=\`eval \$relink_command 2>&1\`; then :
+ else
+ $ECHO \"\$relink_command_output\" >&2
+ $RM \"\$progdir/\$file\"
+ exit 1
+ fi
+ fi
+
+ $MV \"\$progdir/\$file\" \"\$progdir/\$program\" 2>/dev/null ||
+ { $RM \"\$progdir/\$program\";
+ $MV \"\$progdir/\$file\" \"\$progdir/\$program\"; }
+ $RM \"\$progdir/\$file\"
+ fi"
+ else
+ $ECHO "\
+ program='$outputname'
+ progdir=\"\$thisdir/$objdir\"
+"
+ fi
+
+ $ECHO "\
+
+ if test -f \"\$progdir/\$program\"; then"
+
+ # Export our shlibpath_var if we have one.
+ if test "$shlibpath_overrides_runpath" = yes && test -n "$shlibpath_var" && test -n "$temp_rpath"; then
+ $ECHO "\
+ # Add our own library path to $shlibpath_var
+ $shlibpath_var=\"$temp_rpath\$$shlibpath_var\"
+
+ # Some systems cannot cope with colon-terminated $shlibpath_var
+ # The second colon is a workaround for a bug in BeOS R4 sed
+ $shlibpath_var=\`\$ECHO \"X\$$shlibpath_var\" | \$Xsed -e 's/::*\$//'\`
+
+ export $shlibpath_var
+"
+ fi
+
+ # fixup the dll searchpath if we need to.
+ if test -n "$dllsearchpath"; then
+ $ECHO "\
+ # Add the dll search path components to the executable PATH
+ PATH=$dllsearchpath:\$PATH
+"
+ fi
+
+ $ECHO "\
+ if test \"\$libtool_execute_magic\" != \"$magic\"; then
+ # Run the actual program with our arguments.
+"
+ case $host in
+ # Backslashes separate directories on plain windows
+ *-*-mingw | *-*-os2* | *-cegcc*)
+ $ECHO "\
+ exec \"\$progdir\\\\\$program\" \${1+\"\$@\"}
+"
+ ;;
+
+ *)
+ $ECHO "\
+ exec \"\$progdir/\$program\" \${1+\"\$@\"}
+"
+ ;;
+ esac
+ $ECHO "\
+ \$ECHO \"\$0: cannot exec \$program \$*\" 1>&2
+ exit 1
+ fi
+ else
+ # The program doesn't exist.
+ \$ECHO \"\$0: error: \\\`\$progdir/\$program' does not exist\" 1>&2
+ \$ECHO \"This script is just a wrapper for \$program.\" 1>&2
+ $ECHO \"See the $PACKAGE documentation for more information.\" 1>&2
+ exit 1
+ fi
+fi\
+"
+}
+# end: func_emit_wrapper_part2
+
+
+# func_emit_wrapper [arg=no]
+#
+# Emit a libtool wrapper script on stdout.
+# Don't directly open a file because we may want to
+# incorporate the script contents within a cygwin/mingw
+# wrapper executable. Must ONLY be called from within
+# func_mode_link because it depends on a number of variables
+# set therein.
+#
+# ARG is the value that the WRAPPER_SCRIPT_BELONGS_IN_OBJDIR
+# variable will take. If 'yes', then the emitted script
+# will assume that the directory in which it is stored is
+# the $objdir directory. This is a cygwin/mingw-specific
+# behavior.
+func_emit_wrapper ()
+{
+ func_emit_wrapper_arg1=no
+ if test -n "$1" ; then
+ func_emit_wrapper_arg1=$1
+ fi
+
+ # split this up so that func_emit_cwrapperexe_src
+ # can call each part independently.
+ func_emit_wrapper_part1 "${func_emit_wrapper_arg1}"
+ func_emit_wrapper_part2 "${func_emit_wrapper_arg1}"
+}
+
+
+# func_to_host_path arg
+#
+# Convert paths to host format when used with build tools.
+# Intended for use with "native" mingw (where libtool itself
+# is running under the msys shell), or in the following cross-
+# build environments:
+# $build $host
+# mingw (msys) mingw [e.g. native]
+# cygwin mingw
+# *nix + wine mingw
+# where wine is equipped with the `winepath' executable.
+# In the native mingw case, the (msys) shell automatically
+# converts paths for any non-msys applications it launches,
+# but that facility isn't available from inside the cwrapper.
+# Similar accommodations are necessary for $host mingw and
+# $build cygwin. Calling this function does no harm for other
+# $host/$build combinations not listed above.
+#
+# ARG is the path (on $build) that should be converted to
+# the proper representation for $host. The result is stored
+# in $func_to_host_path_result.
+func_to_host_path ()
+{
+ func_to_host_path_result="$1"
+ if test -n "$1" ; then
+ case $host in
+ *mingw* )
+ lt_sed_naive_backslashify='s|\\\\*|\\|g;s|/|\\|g;s|\\|\\\\|g'
+ case $build in
+ *mingw* ) # actually, msys
+ # awkward: cmd appends spaces to result
+ lt_sed_strip_trailing_spaces="s/[ ]*\$//"
+ func_to_host_path_tmp1=`( cmd //c echo "$1" |\
+ $SED -e "$lt_sed_strip_trailing_spaces" ) 2>/dev/null || echo ""`
+ func_to_host_path_result=`echo "$func_to_host_path_tmp1" |\
+ $SED -e "$lt_sed_naive_backslashify"`
+ ;;
+ *cygwin* )
+ func_to_host_path_tmp1=`cygpath -w "$1"`
+ func_to_host_path_result=`echo "$func_to_host_path_tmp1" |\
+ $SED -e "$lt_sed_naive_backslashify"`
+ ;;
+ * )
+ # Unfortunately, winepath does not exit with a non-zero
+ # error code, so we are forced to check the contents of
+ # stdout. On the other hand, if the command is not
+ # found, the shell will set an exit code of 127 and print
+ # *an error message* to stdout. So we must check for both
+ # error code of zero AND non-empty stdout, which explains
+ # the odd construction:
+ func_to_host_path_tmp1=`winepath -w "$1" 2>/dev/null`
+ if test "$?" -eq 0 && test -n "${func_to_host_path_tmp1}"; then
+ func_to_host_path_result=`echo "$func_to_host_path_tmp1" |\
+ $SED -e "$lt_sed_naive_backslashify"`
+ else
+ # Allow warning below.
+ func_to_host_path_result=""
+ fi
+ ;;
+ esac
+ if test -z "$func_to_host_path_result" ; then
+ func_error "Could not determine host path corresponding to"
+ func_error " '$1'"
+ func_error "Continuing, but uninstalled executables may not work."
+ # Fallback:
+ func_to_host_path_result="$1"
+ fi
+ ;;
+ esac
+ fi
+}
+# end: func_to_host_path
+
+# func_to_host_pathlist arg
+#
+# Convert pathlists to host format when used with build tools.
+# See func_to_host_path(), above. This function supports the
+# following $build/$host combinations (but does no harm for
+# combinations not listed here):
+# $build $host
+# mingw (msys) mingw [e.g. native]
+# cygwin mingw
+# *nix + wine mingw
+#
+# Path separators are also converted from $build format to
+# $host format. If ARG begins or ends with a path separator
+# character, it is preserved (but converted to $host format)
+# on output.
+#
+# ARG is a pathlist (on $build) that should be converted to
+# the proper representation on $host. The result is stored
+# in $func_to_host_pathlist_result.
+func_to_host_pathlist ()
+{
+ func_to_host_pathlist_result="$1"
+ if test -n "$1" ; then
case $host in
- *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*)
+ *mingw* )
+ lt_sed_naive_backslashify='s|\\\\*|\\|g;s|/|\\|g;s|\\|\\\\|g'
+ # Remove leading and trailing path separator characters from
+ # ARG. msys behavior is inconsistent here, cygpath turns them
+ # into '.;' and ';.', and winepath ignores them completely.
+ func_to_host_pathlist_tmp2="$1"
+ # Once set for this call, this variable should not be
+ # reassigned. It is used in tha fallback case.
+ func_to_host_pathlist_tmp1=`echo "$func_to_host_pathlist_tmp2" |\
+ $SED -e 's|^:*||' -e 's|:*$||'`
+ case $build in
+ *mingw* ) # Actually, msys.
+ # Awkward: cmd appends spaces to result.
+ lt_sed_strip_trailing_spaces="s/[ ]*\$//"
+ func_to_host_pathlist_tmp2=`( cmd //c echo "$func_to_host_pathlist_tmp1" |\
+ $SED -e "$lt_sed_strip_trailing_spaces" ) 2>/dev/null || echo ""`
+ func_to_host_pathlist_result=`echo "$func_to_host_pathlist_tmp2" |\
+ $SED -e "$lt_sed_naive_backslashify"`
+ ;;
+ *cygwin* )
+ func_to_host_pathlist_tmp2=`cygpath -w -p "$func_to_host_pathlist_tmp1"`
+ func_to_host_pathlist_result=`echo "$func_to_host_pathlist_tmp2" |\
+ $SED -e "$lt_sed_naive_backslashify"`
+ ;;
+ * )
+ # unfortunately, winepath doesn't convert pathlists
+ func_to_host_pathlist_result=""
+ func_to_host_pathlist_oldIFS=$IFS
+ IFS=:
+ for func_to_host_pathlist_f in $func_to_host_pathlist_tmp1 ; do
+ IFS=$func_to_host_pathlist_oldIFS
+ if test -n "$func_to_host_pathlist_f" ; then
+ func_to_host_path "$func_to_host_pathlist_f"
+ if test -n "$func_to_host_path_result" ; then
+ if test -z "$func_to_host_pathlist_result" ; then
+ func_to_host_pathlist_result="$func_to_host_path_result"
+ else
+ func_to_host_pathlist_result="$func_to_host_pathlist_result;$func_to_host_path_result"
+ fi
+ fi
+ fi
+ IFS=:
+ done
+ IFS=$func_to_host_pathlist_oldIFS
+ ;;
+ esac
+ if test -z "$func_to_host_pathlist_result" ; then
+ func_error "Could not determine the host path(s) corresponding to"
+ func_error " '$1'"
+ func_error "Continuing, but uninstalled executables may not work."
+ # Fallback. This may break if $1 contains DOS-style drive
+ # specifications. The fix is not to complicate the expression
+ # below, but for the user to provide a working wine installation
+ # with winepath so that path translation in the cross-to-mingw
+ # case works properly.
+ lt_replace_pathsep_nix_to_dos="s|:|;|g"
+ func_to_host_pathlist_result=`echo "$func_to_host_pathlist_tmp1" |\
+ $SED -e "$lt_replace_pathsep_nix_to_dos"`
+ fi
+ # Now, add the leading and trailing path separators back
+ case "$1" in
+ :* ) func_to_host_pathlist_result=";$func_to_host_pathlist_result"
+ ;;
+ esac
+ case "$1" in
+ *: ) func_to_host_pathlist_result="$func_to_host_pathlist_result;"
+ ;;
+ esac
+ ;;
+ esac
+ fi
+}
+# end: func_to_host_pathlist
+
+# func_emit_cwrapperexe_src
+# emit the source code for a wrapper executable on stdout
+# Must ONLY be called from within func_mode_link because
+# it depends on a number of variable set therein.
+func_emit_cwrapperexe_src ()
+{
+ cat <<EOF
+
+/* $cwrappersource - temporary wrapper executable for $objdir/$outputname
+ Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION
+
+ The $output program cannot be directly executed until all the libtool
+ libraries that it depends on are installed.
+
+ This wrapper executable should never be moved out of the build directory.
+ If it is, it will not operate correctly.
+
+ Currently, it simply execs the wrapper *script* "$SHELL $output",
+ but could eventually absorb all of the scripts functionality and
+ exec $objdir/$outputname directly.
+*/
+EOF
+ cat <<"EOF"
+#include <stdio.h>
+#include <stdlib.h>
+#ifdef _MSC_VER
+# include <direct.h>
+# include <process.h>
+# include <io.h>
+# define setmode _setmode
+#else
+# include <unistd.h>
+# include <stdint.h>
+# ifdef __CYGWIN__
+# include <io.h>
+# define HAVE_SETENV
+# ifdef __STRICT_ANSI__
+char *realpath (const char *, char *);
+int putenv (char *);
+int setenv (const char *, const char *, int);
+# endif
+# endif
+#endif
+#include <malloc.h>
+#include <stdarg.h>
+#include <assert.h>
+#include <string.h>
+#include <ctype.h>
+#include <errno.h>
+#include <fcntl.h>
+#include <sys/stat.h>
+
+#if defined(PATH_MAX)
+# define LT_PATHMAX PATH_MAX
+#elif defined(MAXPATHLEN)
+# define LT_PATHMAX MAXPATHLEN
+#else
+# define LT_PATHMAX 1024
+#endif
+
+#ifndef S_IXOTH
+# define S_IXOTH 0
+#endif
+#ifndef S_IXGRP
+# define S_IXGRP 0
+#endif
+
+#ifdef _MSC_VER
+# define S_IXUSR _S_IEXEC
+# define stat _stat
+# ifndef _INTPTR_T_DEFINED
+# define intptr_t int
+# endif
+#endif
+
+#ifndef DIR_SEPARATOR
+# define DIR_SEPARATOR '/'
+# define PATH_SEPARATOR ':'
+#endif
+
+#if defined (_WIN32) || defined (__MSDOS__) || defined (__DJGPP__) || \
+ defined (__OS2__)
+# define HAVE_DOS_BASED_FILE_SYSTEM
+# define FOPEN_WB "wb"
+# ifndef DIR_SEPARATOR_2
+# define DIR_SEPARATOR_2 '\\'
+# endif
+# ifndef PATH_SEPARATOR_2
+# define PATH_SEPARATOR_2 ';'
+# endif
+#endif
+
+#ifndef DIR_SEPARATOR_2
+# define IS_DIR_SEPARATOR(ch) ((ch) == DIR_SEPARATOR)
+#else /* DIR_SEPARATOR_2 */
+# define IS_DIR_SEPARATOR(ch) \
+ (((ch) == DIR_SEPARATOR) || ((ch) == DIR_SEPARATOR_2))
+#endif /* DIR_SEPARATOR_2 */
+
+#ifndef PATH_SEPARATOR_2
+# define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR)
+#else /* PATH_SEPARATOR_2 */
+# define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR_2)
+#endif /* PATH_SEPARATOR_2 */
+
+#ifdef __CYGWIN__
+# define FOPEN_WB "wb"
+#endif
+
+#ifndef FOPEN_WB
+# define FOPEN_WB "w"
+#endif
+#ifndef _O_BINARY
+# define _O_BINARY 0
+#endif
+
+#define XMALLOC(type, num) ((type *) xmalloc ((num) * sizeof(type)))
+#define XFREE(stale) do { \
+ if (stale) { free ((void *) stale); stale = 0; } \
+} while (0)
+
+#undef LTWRAPPER_DEBUGPRINTF
+#if defined DEBUGWRAPPER
+# define LTWRAPPER_DEBUGPRINTF(args) ltwrapper_debugprintf args
+static void
+ltwrapper_debugprintf (const char *fmt, ...)
+{
+ va_list args;
+ va_start (args, fmt);
+ (void) vfprintf (stderr, fmt, args);
+ va_end (args);
+}
+#else
+# define LTWRAPPER_DEBUGPRINTF(args)
+#endif
+
+const char *program_name = NULL;
+
+void *xmalloc (size_t num);
+char *xstrdup (const char *string);
+const char *base_name (const char *name);
+char *find_executable (const char *wrapper);
+char *chase_symlinks (const char *pathspec);
+int make_executable (const char *path);
+int check_executable (const char *path);
+char *strendzap (char *str, const char *pat);
+void lt_fatal (const char *message, ...);
+void lt_setenv (const char *name, const char *value);
+char *lt_extend_str (const char *orig_value, const char *add, int to_end);
+void lt_opt_process_env_set (const char *arg);
+void lt_opt_process_env_prepend (const char *arg);
+void lt_opt_process_env_append (const char *arg);
+int lt_split_name_value (const char *arg, char** name, char** value);
+void lt_update_exe_path (const char *name, const char *value);
+void lt_update_lib_path (const char *name, const char *value);
+
+static const char *script_text_part1 =
+EOF
+
+ func_emit_wrapper_part1 yes |
+ $SED -e 's/\([\\"]\)/\\\1/g' \
+ -e 's/^/ "/' -e 's/$/\\n"/'
+ echo ";"
+ cat <<EOF
+
+static const char *script_text_part2 =
+EOF
+ func_emit_wrapper_part2 yes |
+ $SED -e 's/\([\\"]\)/\\\1/g' \
+ -e 's/^/ "/' -e 's/$/\\n"/'
+ echo ";"
+
+ cat <<EOF
+const char * MAGIC_EXE = "$magic_exe";
+const char * LIB_PATH_VARNAME = "$shlibpath_var";
+EOF
+
+ if test "$shlibpath_overrides_runpath" = yes && test -n "$shlibpath_var" && test -n "$temp_rpath"; then
+ func_to_host_pathlist "$temp_rpath"
+ cat <<EOF
+const char * LIB_PATH_VALUE = "$func_to_host_pathlist_result";
+EOF
+ else
+ cat <<"EOF"
+const char * LIB_PATH_VALUE = "";
+EOF
+ fi
+
+ if test -n "$dllsearchpath"; then
+ func_to_host_pathlist "$dllsearchpath:"
+ cat <<EOF
+const char * EXE_PATH_VARNAME = "PATH";
+const char * EXE_PATH_VALUE = "$func_to_host_pathlist_result";
+EOF
+ else
+ cat <<"EOF"
+const char * EXE_PATH_VARNAME = "";
+const char * EXE_PATH_VALUE = "";
+EOF
+ fi
+
+ if test "$fast_install" = yes; then
+ cat <<EOF
+const char * TARGET_PROGRAM_NAME = "lt-$outputname"; /* hopefully, no .exe */
+EOF
+ else
+ cat <<EOF
+const char * TARGET_PROGRAM_NAME = "$outputname"; /* hopefully, no .exe */
+EOF
+ fi
+
+
+ cat <<"EOF"
+
+#define LTWRAPPER_OPTION_PREFIX "--lt-"
+#define LTWRAPPER_OPTION_PREFIX_LENGTH 5
+
+static const size_t opt_prefix_len = LTWRAPPER_OPTION_PREFIX_LENGTH;
+static const char *ltwrapper_option_prefix = LTWRAPPER_OPTION_PREFIX;
+
+static const char *dumpscript_opt = LTWRAPPER_OPTION_PREFIX "dump-script";
+
+static const size_t env_set_opt_len = LTWRAPPER_OPTION_PREFIX_LENGTH + 7;
+static const char *env_set_opt = LTWRAPPER_OPTION_PREFIX "env-set";
+ /* argument is putenv-style "foo=bar", value of foo is set to bar */
+
+static const size_t env_prepend_opt_len = LTWRAPPER_OPTION_PREFIX_LENGTH + 11;
+static const char *env_prepend_opt = LTWRAPPER_OPTION_PREFIX "env-prepend";
+ /* argument is putenv-style "foo=bar", new value of foo is bar${foo} */
+
+static const size_t env_append_opt_len = LTWRAPPER_OPTION_PREFIX_LENGTH + 10;
+static const char *env_append_opt = LTWRAPPER_OPTION_PREFIX "env-append";
+ /* argument is putenv-style "foo=bar", new value of foo is ${foo}bar */
+
+int
+main (int argc, char *argv[])
+{
+ char **newargz;
+ int newargc;
+ char *tmp_pathspec;
+ char *actual_cwrapper_path;
+ char *actual_cwrapper_name;
+ char *target_name;
+ char *lt_argv_zero;
+ intptr_t rval = 127;
+
+ int i;
+
+ program_name = (char *) xstrdup (base_name (argv[0]));
+ LTWRAPPER_DEBUGPRINTF (("(main) argv[0] : %s\n", argv[0]));
+ LTWRAPPER_DEBUGPRINTF (("(main) program_name : %s\n", program_name));
+
+ /* very simple arg parsing; don't want to rely on getopt */
+ for (i = 1; i < argc; i++)
+ {
+ if (strcmp (argv[i], dumpscript_opt) == 0)
+ {
+EOF
+ case "$host" in
+ *mingw* | *cygwin* )
+ # make stdout use "unix" line endings
+ echo " setmode(1,_O_BINARY);"
+ ;;
+ esac
+
+ cat <<"EOF"
+ printf ("%s", script_text_part1);
+ printf ("%s", script_text_part2);
+ return 0;
+ }
+ }
+
+ newargz = XMALLOC (char *, argc + 1);
+ tmp_pathspec = find_executable (argv[0]);
+ if (tmp_pathspec == NULL)
+ lt_fatal ("Couldn't find %s", argv[0]);
+ LTWRAPPER_DEBUGPRINTF (("(main) found exe (before symlink chase) at : %s\n",
+ tmp_pathspec));
+
+ actual_cwrapper_path = chase_symlinks (tmp_pathspec);
+ LTWRAPPER_DEBUGPRINTF (("(main) found exe (after symlink chase) at : %s\n",
+ actual_cwrapper_path));
+ XFREE (tmp_pathspec);
+
+ actual_cwrapper_name = xstrdup( base_name (actual_cwrapper_path));
+ strendzap (actual_cwrapper_path, actual_cwrapper_name);
+
+ /* wrapper name transforms */
+ strendzap (actual_cwrapper_name, ".exe");
+ tmp_pathspec = lt_extend_str (actual_cwrapper_name, ".exe", 1);
+ XFREE (actual_cwrapper_name);
+ actual_cwrapper_name = tmp_pathspec;
+ tmp_pathspec = 0;
+
+ /* target_name transforms -- use actual target program name; might have lt- prefix */
+ target_name = xstrdup (base_name (TARGET_PROGRAM_NAME));
+ strendzap (target_name, ".exe");
+ tmp_pathspec = lt_extend_str (target_name, ".exe", 1);
+ XFREE (target_name);
+ target_name = tmp_pathspec;
+ tmp_pathspec = 0;
+
+ LTWRAPPER_DEBUGPRINTF (("(main) libtool target name: %s\n",
+ target_name));
+EOF
+
+ cat <<EOF
+ newargz[0] =
+ XMALLOC (char, (strlen (actual_cwrapper_path) +
+ strlen ("$objdir") + 1 + strlen (actual_cwrapper_name) + 1));
+ strcpy (newargz[0], actual_cwrapper_path);
+ strcat (newargz[0], "$objdir");
+ strcat (newargz[0], "/");
+EOF
+
+ cat <<"EOF"
+ /* stop here, and copy so we don't have to do this twice */
+ tmp_pathspec = xstrdup (newargz[0]);
+
+ /* do NOT want the lt- prefix here, so use actual_cwrapper_name */
+ strcat (newargz[0], actual_cwrapper_name);
+
+ /* DO want the lt- prefix here if it exists, so use target_name */
+ lt_argv_zero = lt_extend_str (tmp_pathspec, target_name, 1);
+ XFREE (tmp_pathspec);
+ tmp_pathspec = NULL;
+EOF
+
+ case $host_os in
+ mingw*)
+ cat <<"EOF"
+ {
+ char* p;
+ while ((p = strchr (newargz[0], '\\')) != NULL)
+ {
+ *p = '/';
+ }
+ while ((p = strchr (lt_argv_zero, '\\')) != NULL)
+ {
+ *p = '/';
+ }
+ }
+EOF
+ ;;
+ esac
+
+ cat <<"EOF"
+ XFREE (target_name);
+ XFREE (actual_cwrapper_path);
+ XFREE (actual_cwrapper_name);
+
+ lt_setenv ("BIN_SH", "xpg4"); /* for Tru64 */
+ lt_setenv ("DUALCASE", "1"); /* for MSK sh */
+ lt_update_lib_path (LIB_PATH_VARNAME, LIB_PATH_VALUE);
+ lt_update_exe_path (EXE_PATH_VARNAME, EXE_PATH_VALUE);
+
+ newargc=0;
+ for (i = 1; i < argc; i++)
+ {
+ if (strncmp (argv[i], env_set_opt, env_set_opt_len) == 0)
+ {
+ if (argv[i][env_set_opt_len] == '=')
+ {
+ const char *p = argv[i] + env_set_opt_len + 1;
+ lt_opt_process_env_set (p);
+ }
+ else if (argv[i][env_set_opt_len] == '\0' && i + 1 < argc)
+ {
+ lt_opt_process_env_set (argv[++i]); /* don't copy */
+ }
+ else
+ lt_fatal ("%s missing required argument", env_set_opt);
+ continue;
+ }
+ if (strncmp (argv[i], env_prepend_opt, env_prepend_opt_len) == 0)
+ {
+ if (argv[i][env_prepend_opt_len] == '=')
+ {
+ const char *p = argv[i] + env_prepend_opt_len + 1;
+ lt_opt_process_env_prepend (p);
+ }
+ else if (argv[i][env_prepend_opt_len] == '\0' && i + 1 < argc)
+ {
+ lt_opt_process_env_prepend (argv[++i]); /* don't copy */
+ }
+ else
+ lt_fatal ("%s missing required argument", env_prepend_opt);
+ continue;
+ }
+ if (strncmp (argv[i], env_append_opt, env_append_opt_len) == 0)
+ {
+ if (argv[i][env_append_opt_len] == '=')
+ {
+ const char *p = argv[i] + env_append_opt_len + 1;
+ lt_opt_process_env_append (p);
+ }
+ else if (argv[i][env_append_opt_len] == '\0' && i + 1 < argc)
+ {
+ lt_opt_process_env_append (argv[++i]); /* don't copy */
+ }
+ else
+ lt_fatal ("%s missing required argument", env_append_opt);
+ continue;
+ }
+ if (strncmp (argv[i], ltwrapper_option_prefix, opt_prefix_len) == 0)
+ {
+ /* however, if there is an option in the LTWRAPPER_OPTION_PREFIX
+ namespace, but it is not one of the ones we know about and
+ have already dealt with, above (inluding dump-script), then
+ report an error. Otherwise, targets might begin to believe
+ they are allowed to use options in the LTWRAPPER_OPTION_PREFIX
+ namespace. The first time any user complains about this, we'll
+ need to make LTWRAPPER_OPTION_PREFIX a configure-time option
+ or a configure.ac-settable value.
+ */
+ lt_fatal ("Unrecognized option in %s namespace: '%s'",
+ ltwrapper_option_prefix, argv[i]);
+ }
+ /* otherwise ... */
+ newargz[++newargc] = xstrdup (argv[i]);
+ }
+ newargz[++newargc] = NULL;
+
+ LTWRAPPER_DEBUGPRINTF (("(main) lt_argv_zero : %s\n", (lt_argv_zero ? lt_argv_zero : "<NULL>")));
+ for (i = 0; i < newargc; i++)
+ {
+ LTWRAPPER_DEBUGPRINTF (("(main) newargz[%d] : %s\n", i, (newargz[i] ? newargz[i] : "<NULL>")));
+ }
+
+EOF
+
+ case $host_os in
+ mingw*)
+ cat <<"EOF"
+ /* execv doesn't actually work on mingw as expected on unix */
+ rval = _spawnv (_P_WAIT, lt_argv_zero, (const char * const *) newargz);
+ if (rval == -1)
+ {
+ /* failed to start process */
+ LTWRAPPER_DEBUGPRINTF (("(main) failed to launch target \"%s\": errno = %d\n", lt_argv_zero, errno));
+ return 127;
+ }
+ return rval;
+EOF
+ ;;
+ *)
+ cat <<"EOF"
+ execv (lt_argv_zero, newargz);
+ return rval; /* =127, but avoids unused variable warning */
+EOF
+ ;;
+ esac
+
+ cat <<"EOF"
+}
+
+void *
+xmalloc (size_t num)
+{
+ void *p = (void *) malloc (num);
+ if (!p)
+ lt_fatal ("Memory exhausted");
+
+ return p;
+}
+
+char *
+xstrdup (const char *string)
+{
+ return string ? strcpy ((char *) xmalloc (strlen (string) + 1),
+ string) : NULL;
+}
+
+const char *
+base_name (const char *name)
+{
+ const char *base;
+
+#if defined (HAVE_DOS_BASED_FILE_SYSTEM)
+ /* Skip over the disk name in MSDOS pathnames. */
+ if (isalpha ((unsigned char) name[0]) && name[1] == ':')
+ name += 2;
+#endif
+
+ for (base = name; *name; name++)
+ if (IS_DIR_SEPARATOR (*name))
+ base = name + 1;
+ return base;
+}
+
+int
+check_executable (const char *path)
+{
+ struct stat st;
+
+ LTWRAPPER_DEBUGPRINTF (("(check_executable) : %s\n",
+ path ? (*path ? path : "EMPTY!") : "NULL!"));
+ if ((!path) || (!*path))
+ return 0;
+
+ if ((stat (path, &st) >= 0)
+ && (st.st_mode & (S_IXUSR | S_IXGRP | S_IXOTH)))
+ return 1;
+ else
+ return 0;
+}
+
+int
+make_executable (const char *path)
+{
+ int rval = 0;
+ struct stat st;
+
+ LTWRAPPER_DEBUGPRINTF (("(make_executable) : %s\n",
+ path ? (*path ? path : "EMPTY!") : "NULL!"));
+ if ((!path) || (!*path))
+ return 0;
+
+ if (stat (path, &st) >= 0)
+ {
+ rval = chmod (path, st.st_mode | S_IXOTH | S_IXGRP | S_IXUSR);
+ }
+ return rval;
+}
+
+/* Searches for the full path of the wrapper. Returns
+ newly allocated full path name if found, NULL otherwise
+ Does not chase symlinks, even on platforms that support them.
+*/
+char *
+find_executable (const char *wrapper)
+{
+ int has_slash = 0;
+ const char *p;
+ const char *p_next;
+ /* static buffer for getcwd */
+ char tmp[LT_PATHMAX + 1];
+ int tmp_len;
+ char *concat_name;
+
+ LTWRAPPER_DEBUGPRINTF (("(find_executable) : %s\n",
+ wrapper ? (*wrapper ? wrapper : "EMPTY!") : "NULL!"));
+
+ if ((wrapper == NULL) || (*wrapper == '\0'))
+ return NULL;
+
+ /* Absolute path? */
+#if defined (HAVE_DOS_BASED_FILE_SYSTEM)
+ if (isalpha ((unsigned char) wrapper[0]) && wrapper[1] == ':')
+ {
+ concat_name = xstrdup (wrapper);
+ if (check_executable (concat_name))
+ return concat_name;
+ XFREE (concat_name);
+ }
+ else
+ {
+#endif
+ if (IS_DIR_SEPARATOR (wrapper[0]))
+ {
+ concat_name = xstrdup (wrapper);
+ if (check_executable (concat_name))
+ return concat_name;
+ XFREE (concat_name);
+ }
+#if defined (HAVE_DOS_BASED_FILE_SYSTEM)
+ }
+#endif
+
+ for (p = wrapper; *p; p++)
+ if (*p == '/')
+ {
+ has_slash = 1;
+ break;
+ }
+ if (!has_slash)
+ {
+ /* no slashes; search PATH */
+ const char *path = getenv ("PATH");
+ if (path != NULL)
+ {
+ for (p = path; *p; p = p_next)
+ {
+ const char *q;
+ size_t p_len;
+ for (q = p; *q; q++)
+ if (IS_PATH_SEPARATOR (*q))
+ break;
+ p_len = q - p;
+ p_next = (*q == '\0' ? q : q + 1);
+ if (p_len == 0)
+ {
+ /* empty path: current directory */
+ if (getcwd (tmp, LT_PATHMAX) == NULL)
+ lt_fatal ("getcwd failed");
+ tmp_len = strlen (tmp);
+ concat_name =
+ XMALLOC (char, tmp_len + 1 + strlen (wrapper) + 1);
+ memcpy (concat_name, tmp, tmp_len);
+ concat_name[tmp_len] = '/';
+ strcpy (concat_name + tmp_len + 1, wrapper);
+ }
+ else
+ {
+ concat_name =
+ XMALLOC (char, p_len + 1 + strlen (wrapper) + 1);
+ memcpy (concat_name, p, p_len);
+ concat_name[p_len] = '/';
+ strcpy (concat_name + p_len + 1, wrapper);
+ }
+ if (check_executable (concat_name))
+ return concat_name;
+ XFREE (concat_name);
+ }
+ }
+ /* not found in PATH; assume curdir */
+ }
+ /* Relative path | not found in path: prepend cwd */
+ if (getcwd (tmp, LT_PATHMAX) == NULL)
+ lt_fatal ("getcwd failed");
+ tmp_len = strlen (tmp);
+ concat_name = XMALLOC (char, tmp_len + 1 + strlen (wrapper) + 1);
+ memcpy (concat_name, tmp, tmp_len);
+ concat_name[tmp_len] = '/';
+ strcpy (concat_name + tmp_len + 1, wrapper);
+
+ if (check_executable (concat_name))
+ return concat_name;
+ XFREE (concat_name);
+ return NULL;
+}
+
+char *
+chase_symlinks (const char *pathspec)
+{
+#ifndef S_ISLNK
+ return xstrdup (pathspec);
+#else
+ char buf[LT_PATHMAX];
+ struct stat s;
+ char *tmp_pathspec = xstrdup (pathspec);
+ char *p;
+ int has_symlinks = 0;
+ while (strlen (tmp_pathspec) && !has_symlinks)
+ {
+ LTWRAPPER_DEBUGPRINTF (("checking path component for symlinks: %s\n",
+ tmp_pathspec));
+ if (lstat (tmp_pathspec, &s) == 0)
+ {
+ if (S_ISLNK (s.st_mode) != 0)
+ {
+ has_symlinks = 1;
+ break;
+ }
+
+ /* search backwards for last DIR_SEPARATOR */
+ p = tmp_pathspec + strlen (tmp_pathspec) - 1;
+ while ((p > tmp_pathspec) && (!IS_DIR_SEPARATOR (*p)))
+ p--;
+ if ((p == tmp_pathspec) && (!IS_DIR_SEPARATOR (*p)))
+ {
+ /* no more DIR_SEPARATORS left */
+ break;
+ }
+ *p = '\0';
+ }
+ else
+ {
+ char *errstr = strerror (errno);
+ lt_fatal ("Error accessing file %s (%s)", tmp_pathspec, errstr);
+ }
+ }
+ XFREE (tmp_pathspec);
+
+ if (!has_symlinks)
+ {
+ return xstrdup (pathspec);
+ }
+
+ tmp_pathspec = realpath (pathspec, buf);
+ if (tmp_pathspec == 0)
+ {
+ lt_fatal ("Could not follow symlinks for %s", pathspec);
+ }
+ return xstrdup (tmp_pathspec);
+#endif
+}
+
+char *
+strendzap (char *str, const char *pat)
+{
+ size_t len, patlen;
+
+ assert (str != NULL);
+ assert (pat != NULL);
+
+ len = strlen (str);
+ patlen = strlen (pat);
+
+ if (patlen <= len)
+ {
+ str += len - patlen;
+ if (strcmp (str, pat) == 0)
+ *str = '\0';
+ }
+ return str;
+}
+
+static void
+lt_error_core (int exit_status, const char *mode,
+ const char *message, va_list ap)
+{
+ fprintf (stderr, "%s: %s: ", program_name, mode);
+ vfprintf (stderr, message, ap);
+ fprintf (stderr, ".\n");
+
+ if (exit_status >= 0)
+ exit (exit_status);
+}
+
+void
+lt_fatal (const char *message, ...)
+{
+ va_list ap;
+ va_start (ap, message);
+ lt_error_core (EXIT_FAILURE, "FATAL", message, ap);
+ va_end (ap);
+}
+
+void
+lt_setenv (const char *name, const char *value)
+{
+ LTWRAPPER_DEBUGPRINTF (("(lt_setenv) setting '%s' to '%s'\n",
+ (name ? name : "<NULL>"),
+ (value ? value : "<NULL>")));
+ {
+#ifdef HAVE_SETENV
+ /* always make a copy, for consistency with !HAVE_SETENV */
+ char *str = xstrdup (value);
+ setenv (name, str, 1);
+#else
+ int len = strlen (name) + 1 + strlen (value) + 1;
+ char *str = XMALLOC (char, len);
+ sprintf (str, "%s=%s", name, value);
+ if (putenv (str) != EXIT_SUCCESS)
+ {
+ XFREE (str);
+ }
+#endif
+ }
+}
+
+char *
+lt_extend_str (const char *orig_value, const char *add, int to_end)
+{
+ char *new_value;
+ if (orig_value && *orig_value)
+ {
+ int orig_value_len = strlen (orig_value);
+ int add_len = strlen (add);
+ new_value = XMALLOC (char, add_len + orig_value_len + 1);
+ if (to_end)
+ {
+ strcpy (new_value, orig_value);
+ strcpy (new_value + orig_value_len, add);
+ }
+ else
+ {
+ strcpy (new_value, add);
+ strcpy (new_value + add_len, orig_value);
+ }
+ }
+ else
+ {
+ new_value = xstrdup (add);
+ }
+ return new_value;
+}
+
+int
+lt_split_name_value (const char *arg, char** name, char** value)
+{
+ const char *p;
+ int len;
+ if (!arg || !*arg)
+ return 1;
+
+ p = strchr (arg, (int)'=');
+
+ if (!p)
+ return 1;
+
+ *value = xstrdup (++p);
+
+ len = strlen (arg) - strlen (*value);
+ *name = XMALLOC (char, len);
+ strncpy (*name, arg, len-1);
+ (*name)[len - 1] = '\0';
+
+ return 0;
+}
+
+void
+lt_opt_process_env_set (const char *arg)
+{
+ char *name = NULL;
+ char *value = NULL;
+
+ if (lt_split_name_value (arg, &name, &value) != 0)
+ {
+ XFREE (name);
+ XFREE (value);
+ lt_fatal ("bad argument for %s: '%s'", env_set_opt, arg);
+ }
+
+ lt_setenv (name, value);
+ XFREE (name);
+ XFREE (value);
+}
+
+void
+lt_opt_process_env_prepend (const char *arg)
+{
+ char *name = NULL;
+ char *value = NULL;
+ char *new_value = NULL;
+
+ if (lt_split_name_value (arg, &name, &value) != 0)
+ {
+ XFREE (name);
+ XFREE (value);
+ lt_fatal ("bad argument for %s: '%s'", env_prepend_opt, arg);
+ }
+
+ new_value = lt_extend_str (getenv (name), value, 0);
+ lt_setenv (name, new_value);
+ XFREE (new_value);
+ XFREE (name);
+ XFREE (value);
+}
+
+void
+lt_opt_process_env_append (const char *arg)
+{
+ char *name = NULL;
+ char *value = NULL;
+ char *new_value = NULL;
+
+ if (lt_split_name_value (arg, &name, &value) != 0)
+ {
+ XFREE (name);
+ XFREE (value);
+ lt_fatal ("bad argument for %s: '%s'", env_append_opt, arg);
+ }
+
+ new_value = lt_extend_str (getenv (name), value, 1);
+ lt_setenv (name, new_value);
+ XFREE (new_value);
+ XFREE (name);
+ XFREE (value);
+}
+
+void
+lt_update_exe_path (const char *name, const char *value)
+{
+ LTWRAPPER_DEBUGPRINTF (("(lt_update_exe_path) modifying '%s' by prepending '%s'\n",
+ (name ? name : "<NULL>"),
+ (value ? value : "<NULL>")));
+
+ if (name && *name && value && *value)
+ {
+ char *new_value = lt_extend_str (getenv (name), value, 0);
+ /* some systems can't cope with a ':'-terminated path #' */
+ int len = strlen (new_value);
+ while (((len = strlen (new_value)) > 0) && IS_PATH_SEPARATOR (new_value[len-1]))
+ {
+ new_value[len-1] = '\0';
+ }
+ lt_setenv (name, new_value);
+ XFREE (new_value);
+ }
+}
+
+void
+lt_update_lib_path (const char *name, const char *value)
+{
+ LTWRAPPER_DEBUGPRINTF (("(lt_update_lib_path) modifying '%s' by prepending '%s'\n",
+ (name ? name : "<NULL>"),
+ (value ? value : "<NULL>")));
+
+ if (name && *name && value && *value)
+ {
+ char *new_value = lt_extend_str (getenv (name), value, 0);
+ lt_setenv (name, new_value);
+ XFREE (new_value);
+ }
+}
+
+
+EOF
+}
+# end: func_emit_cwrapperexe_src
+
+# func_mode_link arg...
+func_mode_link ()
+{
+ $opt_debug
+ case $host in
+ *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*)
# It is impossible to link a dll without this setting, and
# we shouldn't force the makefile maintainer to figure out
# which system we are compiling for in order to pass an extra
@@ -1114,10 +4051,10 @@ EOF
allow_undefined=yes
;;
esac
- libtool_args="$nonopt"
+ libtool_args=$nonopt
base_compile="$nonopt $@"
- compile_command="$nonopt"
- finalize_command="$nonopt"
+ compile_command=$nonopt
+ finalize_command=$nonopt
compile_rpath=
finalize_rpath=
@@ -1132,6 +4069,7 @@ EOF
dllsearchpath=
lib_search_path=`pwd`
inst_prefix_dir=
+ new_inherited_linker_flags=
avoid_version=no
dlfiles=
@@ -1147,7 +4085,6 @@ EOF
no_install=no
objs=
non_pic_objects=
- notinst_path= # paths that contain not-installed libtool libraries
precious_files_regex=
prefer_static_libs=no
preload=no
@@ -1161,18 +4098,25 @@ EOF
thread_safe=no
vinfo=
vinfo_number=no
-
+ weak_libs=
+ single_module="${wl}-single_module"
func_infer_tag $base_compile
# We need to know -static, to get the right output filenames.
for arg
do
case $arg in
+ -shared)
+ test "$build_libtool_libs" != yes && \
+ func_fatal_configuration "can not build a shared library"
+ build_old_libs=no
+ break
+ ;;
-all-static | -static | -static-libtool-libs)
case $arg in
-all-static)
if test "$build_libtool_libs" = yes && test -z "$link_static_flag"; then
- $echo "$modename: warning: complete static linking is impossible in this configuration" 1>&2
+ func_warning "complete static linking is impossible in this configuration"
fi
if test -n "$link_static_flag"; then
dlopen_self=$dlopen_self_static
@@ -1206,20 +4150,16 @@ EOF
while test "$#" -gt 0; do
arg="$1"
shift
- case $arg in
- *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
- qarg=\"`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`\" ### testsuite: skip nested quoting test
- ;;
- *) qarg=$arg ;;
- esac
- libtool_args="$libtool_args $qarg"
+ func_quote_for_eval "$arg"
+ qarg=$func_quote_for_eval_unquoted_result
+ func_append libtool_args " $func_quote_for_eval_result"
# If the previous option needs an argument, assign it.
if test -n "$prev"; then
case $prev in
output)
- compile_command="$compile_command @OUTPUT@"
- finalize_command="$finalize_command @OUTPUT@"
+ func_append compile_command " @OUTPUT@"
+ func_append finalize_command " @OUTPUT@"
;;
esac
@@ -1227,8 +4167,8 @@ EOF
dlfiles|dlprefiles)
if test "$preload" = no; then
# Add the symbol object into the linking commands.
- compile_command="$compile_command @SYMFILE@"
- finalize_command="$finalize_command @SYMFILE@"
+ func_append compile_command " @SYMFILE@"
+ func_append finalize_command " @SYMFILE@"
preload=yes
fi
case $arg in
@@ -1266,10 +4206,8 @@ EOF
;;
expsyms)
export_symbols="$arg"
- if test ! -f "$arg"; then
- $echo "$modename: symbol file \`$arg' does not exist"
- exit $EXIT_FAILURE
- fi
+ test -f "$arg" \
+ || func_fatal_error "symbol file \`$arg' does not exist"
prev=
continue
;;
@@ -1278,18 +4216,21 @@ EOF
prev=
continue
;;
- inst_prefix)
- inst_prefix_dir="$arg"
- prev=
- continue
- ;;
- precious_regex)
- precious_files_regex="$arg"
+ framework)
+ case $host in
+ *-*-darwin*)
+ case "$deplibs " in
+ *" $qarg.ltframework "*) ;;
+ *) deplibs="$deplibs $qarg.ltframework" # this is fixed later
+ ;;
+ esac
+ ;;
+ esac
prev=
continue
;;
- release)
- release="-$arg"
+ inst_prefix)
+ inst_prefix_dir="$arg"
prev=
continue
;;
@@ -1297,39 +4238,30 @@ EOF
if test -f "$arg"; then
save_arg=$arg
moreargs=
- for fil in `cat $save_arg`
+ for fil in `cat "$save_arg"`
do
# moreargs="$moreargs $fil"
arg=$fil
# A libtool-controlled object.
# Check to see that this really is a libtool object.
- if (${SED} -e '2q' $arg | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then
+ if func_lalib_unsafe_p "$arg"; then
pic_object=
non_pic_object=
# Read the .lo file
- # If there is no directory component, then add one.
- case $arg in
- */* | *\\*) . $arg ;;
- *) . ./$arg ;;
- esac
+ func_source "$arg"
- if test -z "$pic_object" || \
+ if test -z "$pic_object" ||
test -z "$non_pic_object" ||
- test "$pic_object" = none && \
+ test "$pic_object" = none &&
test "$non_pic_object" = none; then
- $echo "$modename: cannot find name of object for \`$arg'" 1>&2
- exit $EXIT_FAILURE
+ func_fatal_error "cannot find name of object for \`$arg'"
fi
# Extract subdirectory from the argument.
- xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'`
- if test "X$xdir" = "X$arg"; then
- xdir=
- else
- xdir="$xdir/"
- fi
+ func_dirname "$arg" "/" ""
+ xdir="$func_dirname_result"
if test "$pic_object" != none; then
# Prepend the subdirectory the object is found in.
@@ -1354,7 +4286,7 @@ EOF
fi
# A PIC object.
- libobjs="$libobjs $pic_object"
+ func_append libobjs " $pic_object"
arg="$pic_object"
fi
@@ -1364,7 +4296,7 @@ EOF
non_pic_object="$xdir$non_pic_object"
# A standard non-PIC object
- non_pic_objects="$non_pic_objects $non_pic_object"
+ func_append non_pic_objects " $non_pic_object"
if test -z "$pic_object" || test "$pic_object" = none ; then
arg="$non_pic_object"
fi
@@ -1372,46 +4304,48 @@ EOF
# If the PIC object exists, use it instead.
# $xdir was prepended to $pic_object above.
non_pic_object="$pic_object"
- non_pic_objects="$non_pic_objects $non_pic_object"
+ func_append non_pic_objects " $non_pic_object"
fi
else
# Only an error if not doing a dry-run.
- if test -z "$run"; then
- $echo "$modename: \`$arg' is not a valid libtool object" 1>&2
- exit $EXIT_FAILURE
- else
- # Dry-run case.
-
+ if $opt_dry_run; then
# Extract subdirectory from the argument.
- xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'`
- if test "X$xdir" = "X$arg"; then
- xdir=
- else
- xdir="$xdir/"
- fi
-
- pic_object=`$echo "X${xdir}${objdir}/${arg}" | $Xsed -e "$lo2o"`
- non_pic_object=`$echo "X${xdir}${arg}" | $Xsed -e "$lo2o"`
- libobjs="$libobjs $pic_object"
- non_pic_objects="$non_pic_objects $non_pic_object"
+ func_dirname "$arg" "/" ""
+ xdir="$func_dirname_result"
+
+ func_lo2o "$arg"
+ pic_object=$xdir$objdir/$func_lo2o_result
+ non_pic_object=$xdir$func_lo2o_result
+ func_append libobjs " $pic_object"
+ func_append non_pic_objects " $non_pic_object"
+ else
+ func_fatal_error "\`$arg' is not a valid libtool object"
fi
fi
done
else
- $echo "$modename: link input file \`$save_arg' does not exist"
- exit $EXIT_FAILURE
+ func_fatal_error "link input file \`$arg' does not exist"
fi
arg=$save_arg
prev=
continue
;;
+ precious_regex)
+ precious_files_regex="$arg"
+ prev=
+ continue
+ ;;
+ release)
+ release="-$arg"
+ prev=
+ continue
+ ;;
rpath | xrpath)
# We need an absolute path.
case $arg in
[\\/]* | [A-Za-z]:[\\/]*) ;;
*)
- $echo "$modename: only absolute run-paths are allowed" 1>&2
- exit $EXIT_FAILURE
+ func_fatal_error "only absolute run-paths are allowed"
;;
esac
if test "$prev" = rpath; then
@@ -1428,39 +4362,37 @@ EOF
prev=
continue
;;
- xcompiler)
- compiler_flags="$compiler_flags $qarg"
+ shrext)
+ shrext_cmds="$arg"
prev=
- compile_command="$compile_command $qarg"
- finalize_command="$finalize_command $qarg"
continue
;;
- xlinker)
- linker_flags="$linker_flags $qarg"
- compiler_flags="$compiler_flags $wl$qarg"
+ weak)
+ weak_libs="$weak_libs $arg"
prev=
- compile_command="$compile_command $wl$qarg"
- finalize_command="$finalize_command $wl$qarg"
continue
;;
xcclinker)
linker_flags="$linker_flags $qarg"
compiler_flags="$compiler_flags $qarg"
prev=
- compile_command="$compile_command $qarg"
- finalize_command="$finalize_command $qarg"
+ func_append compile_command " $qarg"
+ func_append finalize_command " $qarg"
continue
;;
- shrext)
- shrext_cmds="$arg"
+ xcompiler)
+ compiler_flags="$compiler_flags $qarg"
prev=
+ func_append compile_command " $qarg"
+ func_append finalize_command " $qarg"
continue
;;
- darwin_framework|darwin_framework_skip)
- test "$prev" = "darwin_framework" && compiler_flags="$compiler_flags $arg"
- compile_command="$compile_command $arg"
- finalize_command="$finalize_command $arg"
+ xlinker)
+ linker_flags="$linker_flags $qarg"
+ compiler_flags="$compiler_flags $wl$qarg"
prev=
+ func_append compile_command " $wl$qarg"
+ func_append finalize_command " $wl$qarg"
continue
;;
*)
@@ -1476,16 +4408,16 @@ EOF
case $arg in
-all-static)
if test -n "$link_static_flag"; then
- compile_command="$compile_command $link_static_flag"
- finalize_command="$finalize_command $link_static_flag"
+ # See comment for -static flag below, for more details.
+ func_append compile_command " $link_static_flag"
+ func_append finalize_command " $link_static_flag"
fi
continue
;;
-allow-undefined)
# FIXME: remove this flag sometime in the future.
- $echo "$modename: \`-allow-undefined' is deprecated because it is the default" 1>&2
- continue
+ func_fatal_error "\`-allow-undefined' must not be used because it is the default"
;;
-avoid-version)
@@ -1510,8 +4442,7 @@ EOF
-export-symbols | -export-symbols-regex)
if test -n "$export_symbols" || test -n "$export_symbols_regex"; then
- $echo "$modename: more than one -exported-symbols argument is not allowed"
- exit $EXIT_FAILURE
+ func_fatal_error "more than one -exported-symbols argument is not allowed"
fi
if test "X$arg" = "X-export-symbols"; then
prev=expsyms
@@ -1521,15 +4452,8 @@ EOF
continue
;;
- -framework|-arch|-isysroot)
- case " $CC " in
- *" ${arg} ${1} "* | *" ${arg} ${1} "*)
- prev=darwin_framework_skip ;;
- *) compiler_flags="$compiler_flags $arg"
- prev=darwin_framework ;;
- esac
- compile_command="$compile_command $arg"
- finalize_command="$finalize_command $arg"
+ -framework)
+ prev=framework
continue
;;
@@ -1543,25 +4467,30 @@ EOF
-L[A-Z][A-Z]*:*)
case $with_gcc/$host in
no/*-*-irix* | /*-*-irix*)
- compile_command="$compile_command $arg"
- finalize_command="$finalize_command $arg"
+ func_append compile_command " $arg"
+ func_append finalize_command " $arg"
;;
esac
continue
;;
-L*)
- dir=`$echo "X$arg" | $Xsed -e 's/^-L//'`
+ func_stripname '-L' '' "$arg"
+ dir=$func_stripname_result
+ if test -z "$dir"; then
+ if test "$#" -gt 0; then
+ func_fatal_error "require no space between \`-L' and \`$1'"
+ else
+ func_fatal_error "need path for \`-L' option"
+ fi
+ fi
# We need an absolute path.
case $dir in
[\\/]* | [A-Za-z]:[\\/]*) ;;
*)
absdir=`cd "$dir" && pwd`
- if test -z "$absdir"; then
- $echo "$modename: cannot determine absolute directory name of \`$dir'" 1>&2
- absdir="$dir"
- notinst_path="$notinst_path $dir"
- fi
+ test -z "$absdir" && \
+ func_fatal_error "cannot determine absolute directory name of \`$dir'"
dir="$absdir"
;;
esac
@@ -1573,14 +4502,16 @@ EOF
;;
esac
case $host in
- *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*)
- testbindir=`$echo "X$dir" | $Xsed -e 's*/lib$*/bin*'`
+ *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*)
+ testbindir=`$ECHO "X$dir" | $Xsed -e 's*/lib$*/bin*'`
case :$dllsearchpath: in
*":$dir:"*) ;;
+ ::) dllsearchpath=$dir;;
*) dllsearchpath="$dllsearchpath:$dir";;
esac
case :$dllsearchpath: in
*":$testbindir:"*) ;;
+ ::) dllsearchpath=$testbindir;;
*) dllsearchpath="$dllsearchpath:$testbindir";;
esac
;;
@@ -1591,7 +4522,7 @@ EOF
-l*)
if test "X$arg" = "X-lc" || test "X$arg" = "X-lm"; then
case $host in
- *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-beos*)
+ *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-beos* | *-cegcc*)
# These systems don't actually have a C or math library (as such)
continue
;;
@@ -1605,7 +4536,7 @@ EOF
;;
*-*-rhapsody* | *-*-darwin1.[012])
# Rhapsody C and math libraries are in the System framework
- deplibs="$deplibs -framework System"
+ deplibs="$deplibs System.ltframework"
continue
;;
*-*-sco3.2v5* | *-*-sco5v6*)
@@ -1629,58 +4560,35 @@ EOF
continue
;;
+ -module)
+ module=yes
+ continue
+ ;;
+
# Tru64 UNIX uses -model [arg] to determine the layout of C++
# classes, name mangling, and exception handling.
- -model)
- compile_command="$compile_command $arg"
+ # Darwin uses the -arch flag to determine output architecture.
+ -model|-arch|-isysroot)
compiler_flags="$compiler_flags $arg"
- finalize_command="$finalize_command $arg"
+ func_append compile_command " $arg"
+ func_append finalize_command " $arg"
prev=xcompiler
continue
;;
- -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe|-threads)
+ -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe|-threads)
compiler_flags="$compiler_flags $arg"
- compile_command="$compile_command $arg"
- finalize_command="$finalize_command $arg"
+ func_append compile_command " $arg"
+ func_append finalize_command " $arg"
+ case "$new_inherited_linker_flags " in
+ *" $arg "*) ;;
+ * ) new_inherited_linker_flags="$new_inherited_linker_flags $arg" ;;
+ esac
continue
;;
- -module)
- module=yes
- continue
- ;;
-
- # -64, -mips[0-9] enable 64-bit mode on the SGI compiler
- # -r[0-9][0-9]* specifies the processor on the SGI compiler
- # -xarch=*, -xtarget=* enable 64-bit mode on the Sun compiler
- # +DA*, +DD* enable 64-bit mode on the HP compiler
- # -q* pass through compiler args for the IBM compiler
- # -m* pass through architecture-specific compiler args for GCC
- # -m*, -t[45]*, -txscale* pass through architecture-specific
- # compiler args for GCC
- # -p, -pg, --coverage, -fprofile-* pass through profiling flag for GCC
- # -F/path gives path to uninstalled frameworks, gcc on darwin
- # @file GCC response files
- -64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*| \
- -t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*)
-
- # Unknown arguments in both finalize_command and compile_command need
- # to be aesthetically quoted because they are evaled later.
- arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
- case $arg in
- *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
- arg="\"$arg\""
- ;;
- esac
- compile_command="$compile_command $arg"
- finalize_command="$finalize_command $arg"
- compiler_flags="$compiler_flags $arg"
- continue
- ;;
-
- -shrext)
- prev=shrext
+ -multi_module)
+ single_module="${wl}-multi_module"
continue
;;
@@ -1691,11 +4599,11 @@ EOF
-no-install)
case $host in
- *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-darwin*)
+ *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-darwin* | *-cegcc*)
# The PATH hackery in wrapper scripts is required on Windows
# and Darwin in order for the loader to find any dlls it needs.
- $echo "$modename: warning: \`-no-install' is ignored for $host" 1>&2
- $echo "$modename: warning: assuming \`-no-fast-install' instead" 1>&2
+ func_warning "\`-no-install' is ignored for $host"
+ func_warning "assuming \`-no-fast-install' instead"
fast_install=no
;;
*) no_install=yes ;;
@@ -1736,13 +4644,13 @@ EOF
;;
-R*)
- dir=`$echo "X$arg" | $Xsed -e 's/^-R//'`
+ func_stripname '-R' '' "$arg"
+ dir=$func_stripname_result
# We need an absolute path.
case $dir in
[\\/]* | [A-Za-z]:[\\/]*) ;;
*)
- $echo "$modename: only absolute run-paths are allowed" 1>&2
- exit $EXIT_FAILURE
+ func_fatal_error "only absolute run-paths are allowed"
;;
esac
case "$xrpath " in
@@ -1752,6 +4660,16 @@ EOF
continue
;;
+ -shared)
+ # The effects of -shared are defined in a previous loop.
+ continue
+ ;;
+
+ -shrext)
+ prev=shrext
+ continue
+ ;;
+
-static | -static-libtool-libs)
# The effects of -static are defined in a previous loop.
# We used to do the same as -all-static on platforms that
@@ -1770,47 +4688,49 @@ EOF
prev=vinfo
continue
;;
+
-version-number)
prev=vinfo
vinfo_number=yes
continue
;;
+ -weak)
+ prev=weak
+ continue
+ ;;
+
-Wc,*)
- args=`$echo "X$arg" | $Xsed -e "$sed_quote_subst" -e 's/^-Wc,//'`
+ func_stripname '-Wc,' '' "$arg"
+ args=$func_stripname_result
arg=
save_ifs="$IFS"; IFS=','
for flag in $args; do
IFS="$save_ifs"
- case $flag in
- *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
- flag="\"$flag\""
- ;;
- esac
- arg="$arg $wl$flag"
- compiler_flags="$compiler_flags $flag"
+ func_quote_for_eval "$flag"
+ arg="$arg $wl$func_quote_for_eval_result"
+ compiler_flags="$compiler_flags $func_quote_for_eval_result"
done
IFS="$save_ifs"
- arg=`$echo "X$arg" | $Xsed -e "s/^ //"`
+ func_stripname ' ' '' "$arg"
+ arg=$func_stripname_result
;;
-Wl,*)
- args=`$echo "X$arg" | $Xsed -e "$sed_quote_subst" -e 's/^-Wl,//'`
+ func_stripname '-Wl,' '' "$arg"
+ args=$func_stripname_result
arg=
save_ifs="$IFS"; IFS=','
for flag in $args; do
IFS="$save_ifs"
- case $flag in
- *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
- flag="\"$flag\""
- ;;
- esac
- arg="$arg $wl$flag"
- compiler_flags="$compiler_flags $wl$flag"
- linker_flags="$linker_flags $flag"
+ func_quote_for_eval "$flag"
+ arg="$arg $wl$func_quote_for_eval_result"
+ compiler_flags="$compiler_flags $wl$func_quote_for_eval_result"
+ linker_flags="$linker_flags $func_quote_for_eval_result"
done
IFS="$save_ifs"
- arg=`$echo "X$arg" | $Xsed -e "s/^ //"`
+ func_stripname ' ' '' "$arg"
+ arg=$func_stripname_result
;;
-Xcompiler)
@@ -1828,16 +4748,36 @@ EOF
continue
;;
+ # -msg_* for osf cc
+ -msg_*)
+ func_quote_for_eval "$arg"
+ arg="$func_quote_for_eval_result"
+ ;;
+
+ # -64, -mips[0-9] enable 64-bit mode on the SGI compiler
+ # -r[0-9][0-9]* specifies the processor on the SGI compiler
+ # -xarch=*, -xtarget=* enable 64-bit mode on the Sun compiler
+ # +DA*, +DD* enable 64-bit mode on the HP compiler
+ # -q* pass through compiler args for the IBM compiler
+ # -m*, -t[45]*, -txscale* pass through architecture-specific
+ # compiler args for GCC
+ # -F/path gives path to uninstalled frameworks, gcc on darwin
+ # -p, -pg, --coverage, -fprofile-* pass through profiling flag for GCC
+ # @file GCC response files
+ -64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*| \
+ -t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*)
+ func_quote_for_eval "$arg"
+ arg="$func_quote_for_eval_result"
+ func_append compile_command " $arg"
+ func_append finalize_command " $arg"
+ compiler_flags="$compiler_flags $arg"
+ continue
+ ;;
+
# Some other compiler flag.
-* | +*)
- # Unknown arguments in both finalize_command and compile_command need
- # to be aesthetically quoted because they are evaled later.
- arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
- case $arg in
- *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
- arg="\"$arg\""
- ;;
- esac
+ func_quote_for_eval "$arg"
+ arg="$func_quote_for_eval_result"
;;
*.$objext)
@@ -1849,32 +4789,23 @@ EOF
# A libtool-controlled object.
# Check to see that this really is a libtool object.
- if (${SED} -e '2q' $arg | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then
+ if func_lalib_unsafe_p "$arg"; then
pic_object=
non_pic_object=
# Read the .lo file
- # If there is no directory component, then add one.
- case $arg in
- */* | *\\*) . $arg ;;
- *) . ./$arg ;;
- esac
+ func_source "$arg"
- if test -z "$pic_object" || \
+ if test -z "$pic_object" ||
test -z "$non_pic_object" ||
- test "$pic_object" = none && \
+ test "$pic_object" = none &&
test "$non_pic_object" = none; then
- $echo "$modename: cannot find name of object for \`$arg'" 1>&2
- exit $EXIT_FAILURE
+ func_fatal_error "cannot find name of object for \`$arg'"
fi
# Extract subdirectory from the argument.
- xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'`
- if test "X$xdir" = "X$arg"; then
- xdir=
- else
- xdir="$xdir/"
- fi
+ func_dirname "$arg" "/" ""
+ xdir="$func_dirname_result"
if test "$pic_object" != none; then
# Prepend the subdirectory the object is found in.
@@ -1899,7 +4830,7 @@ EOF
fi
# A PIC object.
- libobjs="$libobjs $pic_object"
+ func_append libobjs " $pic_object"
arg="$pic_object"
fi
@@ -1909,7 +4840,7 @@ EOF
non_pic_object="$xdir$non_pic_object"
# A standard non-PIC object
- non_pic_objects="$non_pic_objects $non_pic_object"
+ func_append non_pic_objects " $non_pic_object"
if test -z "$pic_object" || test "$pic_object" = none ; then
arg="$non_pic_object"
fi
@@ -1917,28 +4848,22 @@ EOF
# If the PIC object exists, use it instead.
# $xdir was prepended to $pic_object above.
non_pic_object="$pic_object"
- non_pic_objects="$non_pic_objects $non_pic_object"
+ func_append non_pic_objects " $non_pic_object"
fi
else
# Only an error if not doing a dry-run.
- if test -z "$run"; then
- $echo "$modename: \`$arg' is not a valid libtool object" 1>&2
- exit $EXIT_FAILURE
- else
- # Dry-run case.
-
+ if $opt_dry_run; then
# Extract subdirectory from the argument.
- xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'`
- if test "X$xdir" = "X$arg"; then
- xdir=
- else
- xdir="$xdir/"
- fi
-
- pic_object=`$echo "X${xdir}${objdir}/${arg}" | $Xsed -e "$lo2o"`
- non_pic_object=`$echo "X${xdir}${arg}" | $Xsed -e "$lo2o"`
- libobjs="$libobjs $pic_object"
- non_pic_objects="$non_pic_objects $non_pic_object"
+ func_dirname "$arg" "/" ""
+ xdir="$func_dirname_result"
+
+ func_lo2o "$arg"
+ pic_object=$xdir$objdir/$func_lo2o_result
+ non_pic_object=$xdir$func_lo2o_result
+ func_append libobjs " $pic_object"
+ func_append non_pic_objects " $non_pic_object"
+ else
+ func_fatal_error "\`$arg' is not a valid libtool object"
fi
fi
;;
@@ -1971,70 +4896,51 @@ EOF
*)
# Unknown arguments in both finalize_command and compile_command need
# to be aesthetically quoted because they are evaled later.
- arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
- case $arg in
- *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
- arg="\"$arg\""
- ;;
- esac
+ func_quote_for_eval "$arg"
+ arg="$func_quote_for_eval_result"
;;
esac # arg
# Now actually substitute the argument into the commands.
if test -n "$arg"; then
- compile_command="$compile_command $arg"
- finalize_command="$finalize_command $arg"
+ func_append compile_command " $arg"
+ func_append finalize_command " $arg"
fi
done # argument parsing loop
- if test -n "$prev"; then
- $echo "$modename: the \`$prevarg' option requires an argument" 1>&2
- $echo "$help" 1>&2
- exit $EXIT_FAILURE
- fi
+ test -n "$prev" && \
+ func_fatal_help "the \`$prevarg' option requires an argument"
if test "$export_dynamic" = yes && test -n "$export_dynamic_flag_spec"; then
eval arg=\"$export_dynamic_flag_spec\"
- compile_command="$compile_command $arg"
- finalize_command="$finalize_command $arg"
+ func_append compile_command " $arg"
+ func_append finalize_command " $arg"
fi
oldlibs=
# calculate the name of the file, without its directory
- outputname=`$echo "X$output" | $Xsed -e 's%^.*/%%'`
+ func_basename "$output"
+ outputname="$func_basename_result"
libobjs_save="$libobjs"
if test -n "$shlibpath_var"; then
# get the directories listed in $shlibpath_var
- eval shlib_search_path=\`\$echo \"X\${$shlibpath_var}\" \| \$Xsed -e \'s/:/ /g\'\`
+ eval shlib_search_path=\`\$ECHO \"X\${$shlibpath_var}\" \| \$Xsed -e \'s/:/ /g\'\`
else
shlib_search_path=
fi
eval sys_lib_search_path=\"$sys_lib_search_path_spec\"
eval sys_lib_dlsearch_path=\"$sys_lib_dlsearch_path_spec\"
- output_objdir=`$echo "X$output" | $Xsed -e 's%/[^/]*$%%'`
- if test "X$output_objdir" = "X$output"; then
- output_objdir="$objdir"
- else
- output_objdir="$output_objdir/$objdir"
- fi
+ func_dirname "$output" "/" ""
+ output_objdir="$func_dirname_result$objdir"
# Create the object directory.
- if test ! -d "$output_objdir"; then
- $show "$mkdir $output_objdir"
- $run $mkdir $output_objdir
- exit_status=$?
- if test "$exit_status" -ne 0 && test ! -d "$output_objdir"; then
- exit $exit_status
- fi
- fi
+ func_mkdir_p "$output_objdir"
# Determine the type of output
case $output in
"")
- $echo "$modename: you must specify an output file" 1>&2
- $echo "$help" 1>&2
- exit $EXIT_FAILURE
+ func_fatal_help "you must specify an output file"
;;
*.$libext) linkmode=oldlib ;;
*.lo | *.$objext) linkmode=obj ;;
@@ -2042,22 +4948,13 @@ EOF
*) linkmode=prog ;; # Anything else should be a program.
esac
- case $host in
- *cygwin* | *mingw* | *pw32*)
- # don't eliminate duplications in $postdeps and $predeps
- duplicate_compiler_generated_deps=yes
- ;;
- *)
- duplicate_compiler_generated_deps=$duplicate_deps
- ;;
- esac
specialdeplibs=
libs=
# Find all interdependent deplibs by searching for libraries
# that are linked more than once (e.g. -la -lb -la)
for deplib in $deplibs; do
- if test "X$duplicate_deps" = "Xyes" ; then
+ if $opt_duplicate_deps ; then
case "$libs " in
*" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
esac
@@ -2072,7 +4969,7 @@ EOF
# $postdeps and mark them as special (i.e., whose duplicates are
# not to be eliminated).
pre_post_deps=
- if test "X$duplicate_compiler_generated_deps" = "Xyes" ; then
+ if $opt_duplicate_compiler_generated_deps; then
for pre_post_dep in $predeps $postdeps; do
case "$pre_post_deps " in
*" $pre_post_dep "*) specialdeplibs="$specialdeplibs $pre_post_deps" ;;
@@ -2088,15 +4985,16 @@ EOF
newlib_search_path=
need_relink=no # whether we're linking any uninstalled libtool libraries
notinst_deplibs= # not-installed libtool libraries
+ notinst_path= # paths that contain not-installed libtool libraries
+
case $linkmode in
lib)
- passes="conv link"
+ passes="conv dlpreopen link"
for file in $dlfiles $dlprefiles; do
case $file in
*.la) ;;
*)
- $echo "$modename: libraries can \`-dlopen' only libtool libraries: $file" 1>&2
- exit $EXIT_FAILURE
+ func_fatal_help "libraries can \`-dlopen' only libtool libraries: $file"
;;
esac
done
@@ -2112,7 +5010,20 @@ EOF
*) passes="conv"
;;
esac
+
for pass in $passes; do
+ # The preopen pass in lib mode reverses $deplibs; put it back here
+ # so that -L comes before libs that need it for instance...
+ if test "$linkmode,$pass" = "lib,link"; then
+ ## FIXME: Find the place where the list is rebuilt in the wrong
+ ## order, and fix it there properly
+ tmp_deplibs=
+ for deplib in $deplibs; do
+ tmp_deplibs="$deplib $tmp_deplibs"
+ done
+ deplibs="$tmp_deplibs"
+ fi
+
if test "$linkmode,$pass" = "lib,link" ||
test "$linkmode,$pass" = "prog,scan"; then
libs="$deplibs"
@@ -2122,14 +5033,39 @@ EOF
case $pass in
dlopen) libs="$dlfiles" ;;
dlpreopen) libs="$dlprefiles" ;;
- link) libs="$deplibs %DEPLIBS% $dependency_libs" ;;
+ link)
+ libs="$deplibs %DEPLIBS%"
+ test "X$link_all_deplibs" != Xno && libs="$libs $dependency_libs"
+ ;;
esac
fi
+ if test "$linkmode,$pass" = "lib,dlpreopen"; then
+ # Collect and forward deplibs of preopened libtool libs
+ for lib in $dlprefiles; do
+ # Ignore non-libtool-libs
+ dependency_libs=
+ case $lib in
+ *.la) func_source "$lib" ;;
+ esac
+
+ # Collect preopened libtool deplibs, except any this library
+ # has declared as weak libs
+ for deplib in $dependency_libs; do
+ deplib_base=`$ECHO "X$deplib" | $Xsed -e "$basename"`
+ case " $weak_libs " in
+ *" $deplib_base "*) ;;
+ *) deplibs="$deplibs $deplib" ;;
+ esac
+ done
+ done
+ libs="$dlprefiles"
+ fi
if test "$pass" = dlopen; then
# Collect dlpreopened libraries
save_deplibs="$deplibs"
deplibs=
fi
+
for deplib in $libs; do
lib=
found=no
@@ -2140,16 +5076,28 @@ EOF
finalize_deplibs="$deplib $finalize_deplibs"
else
compiler_flags="$compiler_flags $deplib"
+ if test "$linkmode" = lib ; then
+ case "$new_inherited_linker_flags " in
+ *" $deplib "*) ;;
+ * ) new_inherited_linker_flags="$new_inherited_linker_flags $deplib" ;;
+ esac
+ fi
fi
continue
;;
-l*)
if test "$linkmode" != lib && test "$linkmode" != prog; then
- $echo "$modename: warning: \`-l' is ignored for archives/objects" 1>&2
+ func_warning "\`-l' is ignored for archives/objects"
continue
fi
- name=`$echo "X$deplib" | $Xsed -e 's/^-l//'`
- for searchdir in $newlib_search_path $lib_search_path $sys_lib_search_path $shlib_search_path; do
+ func_stripname '-l' '' "$deplib"
+ name=$func_stripname_result
+ if test "$linkmode" = lib; then
+ searchdirs="$newlib_search_path $lib_search_path $compiler_lib_search_dirs $sys_lib_search_path $shlib_search_path"
+ else
+ searchdirs="$newlib_search_path $lib_search_path $sys_lib_search_path $shlib_search_path"
+ fi
+ for searchdir in $searchdirs; do
for search_ext in .la $std_shrext .so .a; do
# Search the libtool library
lib="$searchdir/lib${name}${search_ext}"
@@ -2179,21 +5127,17 @@ EOF
if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
case " $predeps $postdeps " in
*" $deplib "*)
- if (${SED} -e '2q' $lib |
- grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then
+ if func_lalib_p "$lib"; then
library_names=
old_library=
- case $lib in
- */* | *\\*) . $lib ;;
- *) . ./$lib ;;
- esac
+ func_source "$lib"
for l in $old_library $library_names; do
ll="$l"
done
if test "X$ll" = "X$old_library" ; then # only static version available
found=no
- ladir=`$echo "X$lib" | $Xsed -e 's%/[^/]*$%%'`
- test "X$ladir" = "X$lib" && ladir="."
+ func_dirname "$lib" "" "."
+ ladir="$func_dirname_result"
lib=$ladir/$old_library
if test "$linkmode,$pass" = "prog,link"; then
compile_deplibs="$deplib $compile_deplibs"
@@ -2205,19 +5149,35 @@ EOF
continue
fi
fi
- ;;
+ ;;
*) ;;
esac
fi
fi
;; # -l
+ *.ltframework)
+ if test "$linkmode,$pass" = "prog,link"; then
+ compile_deplibs="$deplib $compile_deplibs"
+ finalize_deplibs="$deplib $finalize_deplibs"
+ else
+ deplibs="$deplib $deplibs"
+ if test "$linkmode" = lib ; then
+ case "$new_inherited_linker_flags " in
+ *" $deplib "*) ;;
+ * ) new_inherited_linker_flags="$new_inherited_linker_flags $deplib" ;;
+ esac
+ fi
+ fi
+ continue
+ ;;
-L*)
case $linkmode in
lib)
deplibs="$deplib $deplibs"
test "$pass" = conv && continue
newdependency_libs="$deplib $newdependency_libs"
- newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'`
+ func_stripname '-L' '' "$deplib"
+ newlib_search_path="$newlib_search_path $func_stripname_result"
;;
prog)
if test "$pass" = conv; then
@@ -2230,17 +5190,19 @@ EOF
compile_deplibs="$deplib $compile_deplibs"
finalize_deplibs="$deplib $finalize_deplibs"
fi
- newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'`
+ func_stripname '-L' '' "$deplib"
+ newlib_search_path="$newlib_search_path $func_stripname_result"
;;
*)
- $echo "$modename: warning: \`-L' is ignored for archives/objects" 1>&2
+ func_warning "\`-L' is ignored for archives/objects"
;;
esac # linkmode
continue
;; # -L
-R*)
if test "$pass" = link; then
- dir=`$echo "X$deplib" | $Xsed -e 's/^-R//'`
+ func_stripname '-R' '' "$deplib"
+ dir=$func_stripname_result
# Make sure the xrpath contains only unique directories.
case "$xrpath " in
*" $dir "*) ;;
@@ -2258,35 +5220,41 @@ EOF
fi
case $linkmode in
lib)
- valid_a_lib=no
- case $deplibs_check_method in
- match_pattern*)
- set dummy $deplibs_check_method
- match_pattern_regex=`expr "$deplibs_check_method" : "$2 \(.*\)"`
- if eval $echo \"$deplib\" 2>/dev/null \
- | $SED 10q \
+ # Linking convenience modules into shared libraries is allowed,
+ # but linking other static libraries is non-portable.
+ case " $dlpreconveniencelibs " in
+ *" $deplib "*) ;;
+ *)
+ valid_a_lib=no
+ case $deplibs_check_method in
+ match_pattern*)
+ set dummy $deplibs_check_method; shift
+ match_pattern_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"`
+ if eval "\$ECHO \"X$deplib\"" 2>/dev/null | $Xsed -e 10q \
| $EGREP "$match_pattern_regex" > /dev/null; then
- valid_a_lib=yes
- fi
+ valid_a_lib=yes
+ fi
;;
- pass_all)
- valid_a_lib=yes
+ pass_all)
+ valid_a_lib=yes
;;
- esac
- if test "$valid_a_lib" != yes; then
- $echo
- $echo "*** Warning: Trying to link with static lib archive $deplib."
- $echo "*** I have the capability to make that library automatically link in when"
- $echo "*** you link to this library. But I can only do this if you have a"
- $echo "*** shared version of the library, which you do not appear to have"
- $echo "*** because the file extensions .$libext of this argument makes me believe"
- $echo "*** that it is just a static archive that I should not used here."
- else
- $echo
- $echo "*** Warning: Linking the shared library $output against the"
- $echo "*** static library $deplib is not portable!"
- deplibs="$deplib $deplibs"
- fi
+ esac
+ if test "$valid_a_lib" != yes; then
+ $ECHO
+ $ECHO "*** Warning: Trying to link with static lib archive $deplib."
+ $ECHO "*** I have the capability to make that library automatically link in when"
+ $ECHO "*** you link to this library. But I can only do this if you have a"
+ $ECHO "*** shared version of the library, which you do not appear to have"
+ $ECHO "*** because the file extensions .$libext of this argument makes me believe"
+ $ECHO "*** that it is just a static archive that I should not use here."
+ else
+ $ECHO
+ $ECHO "*** Warning: Linking the shared library $output against the"
+ $ECHO "*** static library $deplib is not portable!"
+ deplibs="$deplib $deplibs"
+ fi
+ ;;
+ esac
continue
;;
prog)
@@ -2321,21 +5289,18 @@ EOF
continue
;;
esac # case $deplib
+
if test "$found" = yes || test -f "$lib"; then :
else
- $echo "$modename: cannot find the library \`$lib' or unhandled argument \`$deplib'" 1>&2
- exit $EXIT_FAILURE
+ func_fatal_error "cannot find the library \`$lib' or unhandled argument \`$deplib'"
fi
# Check to see that this really is a libtool archive.
- if (${SED} -e '2q' $lib | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then :
- else
- $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2
- exit $EXIT_FAILURE
- fi
+ func_lalib_unsafe_p "$lib" \
+ || func_fatal_error "\`$lib' is not a valid libtool archive"
- ladir=`$echo "X$lib" | $Xsed -e 's%/[^/]*$%%'`
- test "X$ladir" = "X$lib" && ladir="."
+ func_dirname "$lib" "" "."
+ ladir="$func_dirname_result"
dlname=
dlopen=
@@ -2343,6 +5308,7 @@ EOF
libdir=
library_names=
old_library=
+ inherited_linker_flags=
# If the library was installed with an old release of libtool,
# it will not redefine variables installed, or shouldnotlink
installed=yes
@@ -2351,11 +5317,19 @@ EOF
# Read the .la file
- case $lib in
- */* | *\\*) . $lib ;;
- *) . ./$lib ;;
- esac
-
+ func_source "$lib"
+
+ # Convert "-framework foo" to "foo.ltframework"
+ if test -n "$inherited_linker_flags"; then
+ tmp_inherited_linker_flags=`$ECHO "X$inherited_linker_flags" | $Xsed -e 's/-framework \([^ $]*\)/\1.ltframework/g'`
+ for tmp_inherited_linker_flag in $tmp_inherited_linker_flags; do
+ case " $new_inherited_linker_flags " in
+ *" $tmp_inherited_linker_flag "*) ;;
+ *) new_inherited_linker_flags="$new_inherited_linker_flags $tmp_inherited_linker_flag";;
+ esac
+ done
+ fi
+ dependency_libs=`$ECHO "X $dependency_libs" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'`
if test "$linkmode,$pass" = "lib,link" ||
test "$linkmode,$pass" = "prog,scan" ||
{ test "$linkmode" != prog && test "$linkmode" != lib; }; then
@@ -2368,26 +5342,24 @@ EOF
deplibs="$lib $deplibs"
if test -z "$libdir"; then
if test -z "$old_library"; then
- $echo "$modename: cannot find name of link library for \`$lib'" 1>&2
- exit $EXIT_FAILURE
+ func_fatal_error "cannot find name of link library for \`$lib'"
fi
# It is a libtool convenience library, so add in its objects.
convenience="$convenience $ladir/$objdir/$old_library"
old_convenience="$old_convenience $ladir/$objdir/$old_library"
- tmp_libs=
- for deplib in $dependency_libs; do
- deplibs="$deplib $deplibs"
- if test "X$duplicate_deps" = "Xyes" ; then
- case "$tmp_libs " in
- *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
- esac
- fi
- tmp_libs="$tmp_libs $deplib"
- done
elif test "$linkmode" != prog && test "$linkmode" != lib; then
- $echo "$modename: \`$lib' is not a convenience library" 1>&2
- exit $EXIT_FAILURE
+ func_fatal_error "\`$lib' is not a convenience library"
fi
+ tmp_libs=
+ for deplib in $dependency_libs; do
+ deplibs="$deplib $deplibs"
+ if $opt_duplicate_deps ; then
+ case "$tmp_libs " in
+ *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
+ esac
+ fi
+ tmp_libs="$tmp_libs $deplib"
+ done
continue
fi # $pass = conv
@@ -2398,15 +5370,13 @@ EOF
linklib="$l"
done
if test -z "$linklib"; then
- $echo "$modename: cannot find name of link library for \`$lib'" 1>&2
- exit $EXIT_FAILURE
+ func_fatal_error "cannot find name of link library for \`$lib'"
fi
# This library was specified with -dlopen.
if test "$pass" = dlopen; then
if test -z "$libdir"; then
- $echo "$modename: cannot -dlopen a convenience library: \`$lib'" 1>&2
- exit $EXIT_FAILURE
+ func_fatal_error "cannot -dlopen a convenience library: \`$lib'"
fi
if test -z "$dlname" ||
test "$dlopen_support" != yes ||
@@ -2428,18 +5398,19 @@ EOF
*)
abs_ladir=`cd "$ladir" && pwd`
if test -z "$abs_ladir"; then
- $echo "$modename: warning: cannot determine absolute directory name of \`$ladir'" 1>&2
- $echo "$modename: passing it literally to the linker, although it might fail" 1>&2
+ func_warning "cannot determine absolute directory name of \`$ladir'"
+ func_warning "passing it literally to the linker, although it might fail"
abs_ladir="$ladir"
fi
;;
esac
- laname=`$echo "X$lib" | $Xsed -e 's%^.*/%%'`
+ func_basename "$lib"
+ laname="$func_basename_result"
# Find the relevant object directory and library name.
if test "X$installed" = Xyes; then
if test ! -f "$libdir/$linklib" && test -f "$abs_ladir/$linklib"; then
- $echo "$modename: warning: library \`$lib' was moved." 1>&2
+ func_warning "library \`$lib' was moved."
dir="$ladir"
absdir="$abs_ladir"
libdir="$abs_ladir"
@@ -2461,18 +5432,22 @@ EOF
notinst_path="$notinst_path $abs_ladir"
fi
fi # $installed = yes
- name=`$echo "X$laname" | $Xsed -e 's/\.la$//' -e 's/^lib//'`
+ func_stripname 'lib' '.la' "$laname"
+ name=$func_stripname_result
# This library was specified with -dlpreopen.
if test "$pass" = dlpreopen; then
- if test -z "$libdir"; then
- $echo "$modename: cannot -dlpreopen a convenience library: \`$lib'" 1>&2
- exit $EXIT_FAILURE
+ if test -z "$libdir" && test "$linkmode" = prog; then
+ func_fatal_error "only libraries may -dlpreopen a convenience library: \`$lib'"
fi
# Prefer using a static library (so that no silly _DYNAMIC symbols
# are required to link).
if test -n "$old_library"; then
newdlprefiles="$newdlprefiles $dir/$old_library"
+ # Keep a list of preopened convenience libraries to check
+ # that they are being used correctly in the link pass.
+ test -z "$libdir" && \
+ dlpreconveniencelibs="$dlpreconveniencelibs $dir/$old_library"
# Otherwise, use the dlname, so that lt_dlopen finds it.
elif test -n "$dlname"; then
newdlprefiles="$newdlprefiles $dir/$dlname"
@@ -2508,7 +5483,9 @@ EOF
tmp_libs=
for deplib in $dependency_libs; do
case $deplib in
- -L*) newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'`;; ### testsuite: skip nested quoting test
+ -L*) func_stripname '-L' '' "$deplib"
+ newlib_search_path="$newlib_search_path $func_stripname_result"
+ ;;
esac
# Need to link against all dependency_libs?
if test "$linkalldeplibs" = yes; then
@@ -2518,7 +5495,7 @@ EOF
# or/and link against static libraries
newdependency_libs="$deplib $newdependency_libs"
fi
- if test "X$duplicate_deps" = "Xyes" ; then
+ if $opt_duplicate_deps ; then
case "$tmp_libs " in
*" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
esac
@@ -2531,15 +5508,14 @@ EOF
if test "$linkmode,$pass" = "prog,link"; then
if test -n "$library_names" &&
{ { test "$prefer_static_libs" = no ||
- test "$prefer_static_libs,$installed" = "built,yes"; } ||
+ test "$prefer_static_libs,$installed" = "built,yes"; } ||
test -z "$old_library"; }; then
# We need to hardcode the library path
if test -n "$shlibpath_var" && test -z "$avoidtemprpath" ; then
# Make sure the rpath contains only unique directories.
- case "$temp_rpath " in
- *" $dir "*) ;;
- *" $absdir "*) ;;
- *) temp_rpath="$temp_rpath $absdir" ;;
+ case "$temp_rpath:" in
+ *"$absdir:"*) ;;
+ *) temp_rpath="$temp_rpath$absdir:" ;;
esac
fi
@@ -2577,27 +5553,43 @@ EOF
link_static=no # Whether the deplib will be linked statically
use_static_libs=$prefer_static_libs
- if test "$use_static_libs" = built && test "$installed" = yes ; then
+ if test "$use_static_libs" = built && test "$installed" = yes; then
use_static_libs=no
fi
if test -n "$library_names" &&
{ test "$use_static_libs" = no || test -z "$old_library"; }; then
- if test "$installed" = no; then
- notinst_deplibs="$notinst_deplibs $lib"
- need_relink=yes
- fi
+ case $host in
+ *cygwin* | *mingw* | *cegcc*)
+ # No point in relinking DLLs because paths are not encoded
+ notinst_deplibs="$notinst_deplibs $lib"
+ need_relink=no
+ ;;
+ *)
+ if test "$installed" = no; then
+ notinst_deplibs="$notinst_deplibs $lib"
+ need_relink=yes
+ fi
+ ;;
+ esac
# This is a shared library
- # Warn about portability, can't link against -module's on
- # some systems (darwin)
- if test "$shouldnotlink" = yes && test "$pass" = link ; then
- $echo
+ # Warn about portability, can't link against -module's on some
+ # systems (darwin). Don't bleat about dlopened modules though!
+ dlopenmodule=""
+ for dlpremoduletest in $dlprefiles; do
+ if test "X$dlpremoduletest" = "X$lib"; then
+ dlopenmodule="$dlpremoduletest"
+ break
+ fi
+ done
+ if test -z "$dlopenmodule" && test "$shouldnotlink" = yes && test "$pass" = link; then
+ $ECHO
if test "$linkmode" = prog; then
- $echo "*** Warning: Linking the executable $output against the loadable module"
+ $ECHO "*** Warning: Linking the executable $output against the loadable module"
else
- $echo "*** Warning: Linking the shared library $output against the loadable module"
+ $ECHO "*** Warning: Linking the shared library $output against the loadable module"
fi
- $echo "*** $linklib is not portable!"
+ $ECHO "*** $linklib is not portable!"
fi
if test "$linkmode" = lib &&
test "$hardcode_into_libs" = yes; then
@@ -2627,17 +5619,19 @@ EOF
if test -n "$old_archive_from_expsyms_cmds"; then
# figure out the soname
set dummy $library_names
- realname="$2"
- shift; shift
- libname=`eval \\$echo \"$libname_spec\"`
+ shift
+ realname="$1"
+ shift
+ libname=`eval "\\$ECHO \"$libname_spec\""`
# use dlname if we got it. it's perfectly good, no?
if test -n "$dlname"; then
soname="$dlname"
elif test -n "$soname_spec"; then
# bleh windows
case $host in
- *cygwin* | mingw*)
- major=`expr $current - $age`
+ *cygwin* | mingw* | *cegcc*)
+ func_arith $current - $age
+ major=$func_arith_result
versuffix="-$major"
;;
esac
@@ -2648,36 +5642,22 @@ EOF
# Make a new name for the extract_expsyms_cmds to use
soroot="$soname"
- soname=`$echo $soroot | ${SED} -e 's/^.*\///'`
- newlib="libimp-`$echo $soname | ${SED} 's/^lib//;s/\.dll$//'`.a"
+ func_basename "$soroot"
+ soname="$func_basename_result"
+ func_stripname 'lib' '.dll' "$soname"
+ newlib=libimp-$func_stripname_result.a
# If the library has no export list, then create one now
if test -f "$output_objdir/$soname-def"; then :
else
- $show "extracting exported symbol list from \`$soname'"
- save_ifs="$IFS"; IFS='~'
- cmds=$extract_expsyms_cmds
- for cmd in $cmds; do
- IFS="$save_ifs"
- eval cmd=\"$cmd\"
- $show "$cmd"
- $run eval "$cmd" || exit $?
- done
- IFS="$save_ifs"
+ func_verbose "extracting exported symbol list from \`$soname'"
+ func_execute_cmds "$extract_expsyms_cmds" 'exit $?'
fi
# Create $newlib
if test -f "$output_objdir/$newlib"; then :; else
- $show "generating import library for \`$soname'"
- save_ifs="$IFS"; IFS='~'
- cmds=$old_archive_from_expsyms_cmds
- for cmd in $cmds; do
- IFS="$save_ifs"
- eval cmd=\"$cmd\"
- $show "$cmd"
- $run eval "$cmd" || exit $?
- done
- IFS="$save_ifs"
+ func_verbose "generating import library for \`$soname'"
+ func_execute_cmds "$old_archive_from_expsyms_cmds" 'exit $?'
fi
# make sure the library variables are pointing to the new library
dir=$output_objdir
@@ -2699,17 +5679,21 @@ EOF
*-*-sysv5OpenUNIX* | *-*-sysv5UnixWare7.[01].[10]* | \
*-*-unixware7*) add_dir="-L$dir" ;;
*-*-darwin* )
- # if the lib is a module then we can not link against
- # it, someone is ignoring the new warnings I added
+ # if the lib is a (non-dlopened) module then we can not
+ # link against it, someone is ignoring the earlier warnings
if /usr/bin/file -L $add 2> /dev/null |
- $EGREP ": [^:]* bundle" >/dev/null ; then
- $echo "** Warning, lib $linklib is a module, not a shared library"
- if test -z "$old_library" ; then
- $echo
- $echo "** And there doesn't seem to be a static archive available"
- $echo "** The link will probably fail, sorry"
- else
- add="$dir/$old_library"
+ $GREP ": [^:]* bundle" >/dev/null ; then
+ if test "X$dlopenmodule" != "X$lib"; then
+ $ECHO "*** Warning: lib $linklib is a module, not a shared library"
+ if test -z "$old_library" ; then
+ $ECHO
+ $ECHO "*** And there doesn't seem to be a static archive available"
+ $ECHO "*** The link will probably fail, sorry"
+ else
+ add="$dir/$old_library"
+ fi
+ elif test -n "$old_library"; then
+ add="$dir/$old_library"
fi
fi
esac
@@ -2727,7 +5711,8 @@ EOF
fi
;;
relink)
- if test "$hardcode_direct" = yes; then
+ if test "$hardcode_direct" = yes &&
+ test "$hardcode_direct_absolute" = no; then
add="$dir/$linklib"
elif test "$hardcode_minus_L" = yes; then
add_dir="-L$dir"
@@ -2751,8 +5736,7 @@ EOF
esac
if test "$lib_linked" != yes; then
- $echo "$modename: configuration error: unsupported hardcode properties"
- exit $EXIT_FAILURE
+ func_fatal_configuration "unsupported hardcode properties"
fi
if test -n "$add_shlibpath"; then
@@ -2767,8 +5751,8 @@ EOF
else
test -n "$add_dir" && deplibs="$add_dir $deplibs"
test -n "$add" && deplibs="$add $deplibs"
- if test "$hardcode_direct" != yes && \
- test "$hardcode_minus_L" != yes && \
+ if test "$hardcode_direct" != yes &&
+ test "$hardcode_minus_L" != yes &&
test "$hardcode_shlibpath_var" = yes; then
case :$finalize_shlibpath: in
*":$libdir:"*) ;;
@@ -2783,7 +5767,8 @@ EOF
add_dir=
add=
# Finalize command for both is simple: just hardcode it.
- if test "$hardcode_direct" = yes; then
+ if test "$hardcode_direct" = yes &&
+ test "$hardcode_direct_absolute" = no; then
add="$libdir/$linklib"
elif test "$hardcode_minus_L" = yes; then
add_dir="-L$libdir"
@@ -2797,9 +5782,9 @@ EOF
elif test "$hardcode_automatic" = yes; then
if test -n "$inst_prefix_dir" &&
test -f "$inst_prefix_dir$libdir/$linklib" ; then
- add="$inst_prefix_dir$libdir/$linklib"
+ add="$inst_prefix_dir$libdir/$linklib"
else
- add="$libdir/$linklib"
+ add="$libdir/$linklib"
fi
else
# We cannot seem to hardcode it, guess we'll fake it.
@@ -2843,21 +5828,21 @@ EOF
# Just print a warning and add the library to dependency_libs so
# that the program can be linked against the static library.
- $echo
- $echo "*** Warning: This system can not link to static lib archive $lib."
- $echo "*** I have the capability to make that library automatically link in when"
- $echo "*** you link to this library. But I can only do this if you have a"
- $echo "*** shared version of the library, which you do not appear to have."
+ $ECHO
+ $ECHO "*** Warning: This system can not link to static lib archive $lib."
+ $ECHO "*** I have the capability to make that library automatically link in when"
+ $ECHO "*** you link to this library. But I can only do this if you have a"
+ $ECHO "*** shared version of the library, which you do not appear to have."
if test "$module" = yes; then
- $echo "*** But as you try to build a module library, libtool will still create "
- $echo "*** a static module, that should work as long as the dlopening application"
- $echo "*** is linked with the -dlopen flag to resolve symbols at runtime."
+ $ECHO "*** But as you try to build a module library, libtool will still create "
+ $ECHO "*** a static module, that should work as long as the dlopening application"
+ $ECHO "*** is linked with the -dlopen flag to resolve symbols at runtime."
if test -z "$global_symbol_pipe"; then
- $echo
- $echo "*** However, this would only work if libtool was able to extract symbol"
- $echo "*** lists from a program, using \`nm' or equivalent, but libtool could"
- $echo "*** not find such a program. So, this module is probably useless."
- $echo "*** \`nm' from GNU binutils and a full rebuild may help."
+ $ECHO
+ $ECHO "*** However, this would only work if libtool was able to extract symbol"
+ $ECHO "*** lists from a program, using \`nm' or equivalent, but libtool could"
+ $ECHO "*** not find such a program. So, this module is probably useless."
+ $ECHO "*** \`nm' from GNU binutils and a full rebuild may help."
fi
if test "$build_old_libs" = no; then
build_libtool_libs=module
@@ -2881,7 +5866,8 @@ EOF
temp_deplibs=
for libdir in $dependency_libs; do
case $libdir in
- -R*) temp_xrpath=`$echo "X$libdir" | $Xsed -e 's/^-R//'`
+ -R*) func_stripname '-R' '' "$libdir"
+ temp_xrpath=$func_stripname_result
case " $xrpath " in
*" $temp_xrpath "*) ;;
*) xrpath="$xrpath $temp_xrpath";;
@@ -2899,7 +5885,7 @@ EOF
tmp_libs=
for deplib in $dependency_libs; do
newdependency_libs="$deplib $newdependency_libs"
- if test "X$duplicate_deps" = "Xyes" ; then
+ if $opt_duplicate_deps ; then
case "$tmp_libs " in
*" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
esac
@@ -2913,88 +5899,71 @@ EOF
case $deplib in
-L*) path="$deplib" ;;
*.la)
- dir=`$echo "X$deplib" | $Xsed -e 's%/[^/]*$%%'`
- test "X$dir" = "X$deplib" && dir="."
+ func_dirname "$deplib" "" "."
+ dir="$func_dirname_result"
# We need an absolute path.
case $dir in
[\\/]* | [A-Za-z]:[\\/]*) absdir="$dir" ;;
*)
absdir=`cd "$dir" && pwd`
if test -z "$absdir"; then
- $echo "$modename: warning: cannot determine absolute directory name of \`$dir'" 1>&2
+ func_warning "cannot determine absolute directory name of \`$dir'"
absdir="$dir"
fi
;;
esac
- if grep "^installed=no" $deplib > /dev/null; then
- path="$absdir/$objdir"
- else
- eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib`
- if test -z "$libdir"; then
- $echo "$modename: \`$deplib' is not a valid libtool archive" 1>&2
- exit $EXIT_FAILURE
- fi
- if test "$absdir" != "$libdir"; then
- $echo "$modename: warning: \`$deplib' seems to be moved" 1>&2
- fi
- path="$absdir"
- fi
- depdepl=
+ if $GREP "^installed=no" $deplib > /dev/null; then
case $host in
*-*-darwin*)
- # we do not want to link against static libs,
- # but need to link against shared
+ depdepl=
eval deplibrary_names=`${SED} -n -e 's/^library_names=\(.*\)$/\1/p' $deplib`
if test -n "$deplibrary_names" ; then
for tmp in $deplibrary_names ; do
depdepl=$tmp
done
- if test -f "$path/$depdepl" ; then
- depdepl="$path/$depdepl"
+ if test -f "$absdir/$objdir/$depdepl" ; then
+ depdepl="$absdir/$objdir/$depdepl"
+ darwin_install_name=`${OTOOL} -L $depdepl | awk '{if (NR == 2) {print $1;exit}}'`
+ if test -z "$darwin_install_name"; then
+ darwin_install_name=`${OTOOL64} -L $depdepl | awk '{if (NR == 2) {print $1;exit}}'`
+ fi
+ compiler_flags="$compiler_flags ${wl}-dylib_file ${wl}${darwin_install_name}:${depdepl}"
+ linker_flags="$linker_flags -dylib_file ${darwin_install_name}:${depdepl}"
+ path=
fi
- # do not add paths which are already there
- case " $newlib_search_path " in
- *" $path "*) ;;
- *) newlib_search_path="$newlib_search_path $path";;
- esac
fi
- path=""
;;
*)
- path="-L$path"
- ;;
- esac
- ;;
- -l*)
- case $host in
- *-*-darwin*)
- # Again, we only want to link against shared libraries
- eval tmp_libs=`$echo "X$deplib" | $Xsed -e "s,^\-l,,"`
- for tmp in $newlib_search_path ; do
- if test -f "$tmp/lib$tmp_libs.dylib" ; then
- eval depdepl="$tmp/lib$tmp_libs.dylib"
- break
- fi
- done
- path=""
+ path="-L$absdir/$objdir"
;;
- *) continue ;;
esac
+ else
+ eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib`
+ test -z "$libdir" && \
+ func_fatal_error "\`$deplib' is not a valid libtool archive"
+ test "$absdir" != "$libdir" && \
+ func_warning "\`$deplib' seems to be moved"
+
+ path="-L$absdir"
+ fi
;;
- *) continue ;;
esac
case " $deplibs " in
*" $path "*) ;;
*) deplibs="$path $deplibs" ;;
esac
- case " $deplibs " in
- *" $depdepl "*) ;;
- *) deplibs="$depdepl $deplibs" ;;
- esac
done
fi # link_all_deplibs != no
fi # linkmode = lib
done # for deplib in $libs
+ if test "$pass" = link; then
+ if test "$linkmode" = "prog"; then
+ compile_deplibs="$new_inherited_linker_flags $compile_deplibs"
+ finalize_deplibs="$new_inherited_linker_flags $finalize_deplibs"
+ else
+ compiler_flags="$compiler_flags "`$ECHO "X $new_inherited_linker_flags" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'`
+ fi
+ fi
dependency_libs="$newdependency_libs"
if test "$pass" = dlpreopen; then
# Link the dlpreopened libraries before other libraries
@@ -3093,38 +6062,36 @@ EOF
done # for pass
if test "$linkmode" = prog; then
dlfiles="$newdlfiles"
+ fi
+ if test "$linkmode" = prog || test "$linkmode" = lib; then
dlprefiles="$newdlprefiles"
fi
case $linkmode in
oldlib)
- if test -n "$deplibs"; then
- $echo "$modename: warning: \`-l' and \`-L' are ignored for archives" 1>&2
- fi
-
if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then
- $echo "$modename: warning: \`-dlopen' is ignored for archives" 1>&2
+ func_warning "\`-dlopen' is ignored for archives"
fi
- if test -n "$rpath"; then
- $echo "$modename: warning: \`-rpath' is ignored for archives" 1>&2
- fi
+ case " $deplibs" in
+ *\ -l* | *\ -L*)
+ func_warning "\`-l' and \`-L' are ignored for archives" ;;
+ esac
- if test -n "$xrpath"; then
- $echo "$modename: warning: \`-R' is ignored for archives" 1>&2
- fi
+ test -n "$rpath" && \
+ func_warning "\`-rpath' is ignored for archives"
- if test -n "$vinfo"; then
- $echo "$modename: warning: \`-version-info/-version-number' is ignored for archives" 1>&2
- fi
+ test -n "$xrpath" && \
+ func_warning "\`-R' is ignored for archives"
- if test -n "$release"; then
- $echo "$modename: warning: \`-release' is ignored for archives" 1>&2
- fi
+ test -n "$vinfo" && \
+ func_warning "\`-version-info/-version-number' is ignored for archives"
- if test -n "$export_symbols" || test -n "$export_symbols_regex"; then
- $echo "$modename: warning: \`-export-symbols' is ignored for archives" 1>&2
- fi
+ test -n "$release" && \
+ func_warning "\`-release' is ignored for archives"
+
+ test -n "$export_symbols$export_symbols_regex" && \
+ func_warning "\`-export-symbols' is ignored for archives"
# Now set the variables for building old libraries.
build_libtool_libs=no
@@ -3136,48 +6103,48 @@ EOF
# Make sure we only generate libraries of the form `libNAME.la'.
case $outputname in
lib*)
- name=`$echo "X$outputname" | $Xsed -e 's/\.la$//' -e 's/^lib//'`
+ func_stripname 'lib' '.la' "$outputname"
+ name=$func_stripname_result
eval shared_ext=\"$shrext_cmds\"
eval libname=\"$libname_spec\"
;;
*)
- if test "$module" = no; then
- $echo "$modename: libtool library \`$output' must begin with \`lib'" 1>&2
- $echo "$help" 1>&2
- exit $EXIT_FAILURE
- fi
+ test "$module" = no && \
+ func_fatal_help "libtool library \`$output' must begin with \`lib'"
+
if test "$need_lib_prefix" != no; then
# Add the "lib" prefix for modules if required
- name=`$echo "X$outputname" | $Xsed -e 's/\.la$//'`
+ func_stripname '' '.la' "$outputname"
+ name=$func_stripname_result
eval shared_ext=\"$shrext_cmds\"
eval libname=\"$libname_spec\"
else
- libname=`$echo "X$outputname" | $Xsed -e 's/\.la$//'`
+ func_stripname '' '.la' "$outputname"
+ libname=$func_stripname_result
fi
;;
esac
if test -n "$objs"; then
if test "$deplibs_check_method" != pass_all; then
- $echo "$modename: cannot build libtool library \`$output' from non-libtool objects on this host:$objs" 2>&1
- exit $EXIT_FAILURE
+ func_fatal_error "cannot build libtool library \`$output' from non-libtool objects on this host:$objs"
else
- $echo
- $echo "*** Warning: Linking the shared library $output against the non-libtool"
- $echo "*** objects $objs is not portable!"
+ $ECHO
+ $ECHO "*** Warning: Linking the shared library $output against the non-libtool"
+ $ECHO "*** objects $objs is not portable!"
libobjs="$libobjs $objs"
fi
fi
- if test "$dlself" != no; then
- $echo "$modename: warning: \`-dlopen self' is ignored for libtool libraries" 1>&2
- fi
+ test "$dlself" != no && \
+ func_warning "\`-dlopen self' is ignored for libtool libraries"
set dummy $rpath
- if test "$#" -gt 2; then
- $echo "$modename: warning: ignoring multiple \`-rpath's for a libtool library" 1>&2
- fi
- install_libdir="$2"
+ shift
+ test "$#" -gt 1 && \
+ func_warning "ignoring multiple \`-rpath's for a libtool library"
+
+ install_libdir="$1"
oldlibs=
if test -z "$rpath"; then
@@ -3191,25 +6158,21 @@ EOF
build_old_libs=yes
fi
- if test -n "$vinfo"; then
- $echo "$modename: warning: \`-version-info/-version-number' is ignored for convenience libraries" 1>&2
- fi
+ test -n "$vinfo" && \
+ func_warning "\`-version-info/-version-number' is ignored for convenience libraries"
- if test -n "$release"; then
- $echo "$modename: warning: \`-release' is ignored for convenience libraries" 1>&2
- fi
+ test -n "$release" && \
+ func_warning "\`-release' is ignored for convenience libraries"
else
# Parse the version information argument.
save_ifs="$IFS"; IFS=':'
set dummy $vinfo 0 0 0
+ shift
IFS="$save_ifs"
- if test -n "$8"; then
- $echo "$modename: too many parameters to \`-version-info'" 1>&2
- $echo "$help" 1>&2
- exit $EXIT_FAILURE
- fi
+ test -n "$7" && \
+ func_fatal_help "too many parameters to \`-version-info'"
# convert absolute version numbers to libtool ages
# this retains compatibility with .la files and attempts
@@ -3217,9 +6180,9 @@ EOF
case $vinfo_number in
yes)
- number_major="$2"
- number_minor="$3"
- number_revision="$4"
+ number_major="$1"
+ number_minor="$2"
+ number_revision="$3"
#
# There are really only two kinds -- those that
# use the current revision as the major version
@@ -3229,7 +6192,8 @@ EOF
#
case $version_type in
darwin|linux|osf|windows|none)
- current=`expr $number_major + $number_minor`
+ func_arith $number_major + $number_minor
+ current=$func_arith_result
age="$number_minor"
revision="$number_revision"
;;
@@ -3239,17 +6203,21 @@ EOF
age="0"
;;
irix|nonstopux)
- current=`expr $number_major + $number_minor`
+ func_arith $number_major + $number_minor
+ current=$func_arith_result
age="$number_minor"
revision="$number_minor"
lt_irix_increment=no
;;
+ *)
+ func_fatal_configuration "$modename: unknown library version type \`$version_type'"
+ ;;
esac
;;
no)
- current="$2"
- revision="$3"
- age="$4"
+ current="$1"
+ revision="$2"
+ age="$3"
;;
esac
@@ -3257,34 +6225,30 @@ EOF
case $current in
0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;;
*)
- $echo "$modename: CURRENT \`$current' must be a nonnegative integer" 1>&2
- $echo "$modename: \`$vinfo' is not valid version information" 1>&2
- exit $EXIT_FAILURE
+ func_error "CURRENT \`$current' must be a nonnegative integer"
+ func_fatal_error "\`$vinfo' is not valid version information"
;;
esac
case $revision in
0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;;
*)
- $echo "$modename: REVISION \`$revision' must be a nonnegative integer" 1>&2
- $echo "$modename: \`$vinfo' is not valid version information" 1>&2
- exit $EXIT_FAILURE
+ func_error "REVISION \`$revision' must be a nonnegative integer"
+ func_fatal_error "\`$vinfo' is not valid version information"
;;
esac
case $age in
0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;;
*)
- $echo "$modename: AGE \`$age' must be a nonnegative integer" 1>&2
- $echo "$modename: \`$vinfo' is not valid version information" 1>&2
- exit $EXIT_FAILURE
+ func_error "AGE \`$age' must be a nonnegative integer"
+ func_fatal_error "\`$vinfo' is not valid version information"
;;
esac
if test "$age" -gt "$current"; then
- $echo "$modename: AGE \`$age' is greater than the current interface number \`$current'" 1>&2
- $echo "$modename: \`$vinfo' is not valid version information" 1>&2
- exit $EXIT_FAILURE
+ func_error "AGE \`$age' is greater than the current interface number \`$current'"
+ func_fatal_error "\`$vinfo' is not valid version information"
fi
# Calculate the version variables.
@@ -3297,10 +6261,12 @@ EOF
darwin)
# Like Linux, but with the current version available in
# verstring for coding it into the library header
- major=.`expr $current - $age`
+ func_arith $current - $age
+ major=.$func_arith_result
versuffix="$major.$age.$revision"
# Darwin ld doesn't like 0 for these options...
- minor_current=`expr $current + 1`
+ func_arith $current + 1
+ minor_current=$func_arith_result
xlcverstring="${wl}-compatibility_version ${wl}$minor_current ${wl}-current_version ${wl}$minor_current.$revision"
verstring="-compatibility_version $minor_current -current_version $minor_current.$revision"
;;
@@ -3312,15 +6278,17 @@ EOF
freebsd-elf)
major=".$current"
- versuffix=".$current";
+ versuffix=".$current"
;;
irix | nonstopux)
if test "X$lt_irix_increment" = "Xno"; then
- major=`expr $current - $age`
+ func_arith $current - $age
else
- major=`expr $current - $age + 1`
+ func_arith $current - $age + 1
fi
+ major=$func_arith_result
+
case $version_type in
nonstopux) verstring_prefix=nonstopux ;;
*) verstring_prefix=sgi ;;
@@ -3330,8 +6298,10 @@ EOF
# Add in all the interfaces that we are compatible with.
loop=$revision
while test "$loop" -ne 0; do
- iface=`expr $revision - $loop`
- loop=`expr $loop - 1`
+ func_arith $revision - $loop
+ iface=$func_arith_result
+ func_arith $loop - 1
+ loop=$func_arith_result
verstring="$verstring_prefix$major.$iface:$verstring"
done
@@ -3341,20 +6311,24 @@ EOF
;;
linux)
- major=.`expr $current - $age`
+ func_arith $current - $age
+ major=.$func_arith_result
versuffix="$major.$age.$revision"
;;
osf)
- major=.`expr $current - $age`
+ func_arith $current - $age
+ major=.$func_arith_result
versuffix=".$current.$age.$revision"
verstring="$current.$age.$revision"
# Add in all the interfaces that we are compatible with.
loop=$age
while test "$loop" -ne 0; do
- iface=`expr $current - $loop`
- loop=`expr $loop - 1`
+ func_arith $current - $loop
+ iface=$func_arith_result
+ func_arith $loop - 1
+ loop=$func_arith_result
verstring="$verstring:${iface}.0"
done
@@ -3362,6 +6336,11 @@ EOF
verstring="$verstring:${current}.0"
;;
+ qnx)
+ major=".$current"
+ versuffix=".$current"
+ ;;
+
sunos)
major=".$current"
versuffix=".$current.$revision"
@@ -3370,14 +6349,13 @@ EOF
windows)
# Use '-' rather than '.', since we only want one
# extension on DOS 8.3 filesystems.
- major=`expr $current - $age`
+ func_arith $current - $age
+ major=$func_arith_result
versuffix="-$major"
;;
*)
- $echo "$modename: unknown library version type \`$version_type'" 1>&2
- $echo "Fatal configuration error. See the $PACKAGE docs for more information." 1>&2
- exit $EXIT_FAILURE
+ func_fatal_configuration "unknown library version type \`$version_type'"
;;
esac
@@ -3411,7 +6389,7 @@ EOF
# Check to see if the archive will have undefined symbols.
if test "$allow_undefined" = yes; then
if test "$allow_undefined_flag" = unsupported; then
- $echo "$modename: warning: undefined symbols not allowed in $host shared libraries" 1>&2
+ func_warning "undefined symbols not allowed in $host shared libraries"
build_libtool_libs=no
build_old_libs=yes
fi
@@ -3419,21 +6397,26 @@ EOF
# Don't allow undefined symbols.
allow_undefined_flag="$no_undefined_flag"
fi
+
fi
+ func_generate_dlsyms "$libname" "$libname" "yes"
+ libobjs="$libobjs $symfileobj"
+ test "X$libobjs" = "X " && libobjs=
+
if test "$mode" != relink; then
# Remove our outputs, but don't remove object files since they
# may have been created when compiling PIC objects.
removelist=
- tempremovelist=`$echo "$output_objdir/*"`
+ tempremovelist=`$ECHO "$output_objdir/*"`
for p in $tempremovelist; do
case $p in
- *.$objext)
+ *.$objext | *.gcno)
;;
$output_objdir/$outputname | $output_objdir/$libname.* | $output_objdir/${libname}${release}.*)
if test "X$precious_files_regex" != "X"; then
- if echo $p | $EGREP -e "$precious_files_regex" >/dev/null 2>&1
- then
+ if $ECHO "$p" | $EGREP -e "$precious_files_regex" >/dev/null 2>&1
+ then
continue
fi
fi
@@ -3442,10 +6425,8 @@ EOF
*) ;;
esac
done
- if test -n "$removelist"; then
- $show "${rm}r $removelist"
- $run ${rm}r $removelist
- fi
+ test -n "$removelist" && \
+ func_show_eval "${RM}r \$removelist"
fi
# Now set the variables for building old libraries.
@@ -3453,14 +6434,14 @@ EOF
oldlibs="$oldlibs $output_objdir/$libname.$libext"
# Transform .lo files to .o files.
- oldobjs="$objs "`$echo "X$libobjs" | $SP2NL | $Xsed -e '/\.'${libext}'$/d' -e "$lo2o" | $NL2SP`
+ oldobjs="$objs "`$ECHO "X$libobjs" | $SP2NL | $Xsed -e '/\.'${libext}'$/d' -e "$lo2o" | $NL2SP`
fi
# Eliminate all temporary directories.
#for path in $notinst_path; do
- # lib_search_path=`$echo "$lib_search_path " | ${SED} -e "s% $path % %g"`
- # deplibs=`$echo "$deplibs " | ${SED} -e "s% -L$path % %g"`
- # dependency_libs=`$echo "$dependency_libs " | ${SED} -e "s% -L$path % %g"`
+ # lib_search_path=`$ECHO "X$lib_search_path " | $Xsed -e "s% $path % %g"`
+ # deplibs=`$ECHO "X$deplibs " | $Xsed -e "s% -L$path % %g"`
+ # dependency_libs=`$ECHO "X$dependency_libs " | $Xsed -e "s% -L$path % %g"`
#done
if test -n "$xrpath"; then
@@ -3501,12 +6482,12 @@ EOF
if test "$build_libtool_libs" = yes; then
if test -n "$rpath"; then
case $host in
- *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-beos*)
+ *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-beos* | *-cegcc*)
# these systems don't actually have a c library (as such)!
;;
*-*-rhapsody* | *-*-darwin1.[012])
# Rhapsody C library is in the System framework
- deplibs="$deplibs -framework System"
+ deplibs="$deplibs System.ltframework"
;;
*-*-netbsd*)
# Don't link with libc until the a.out ld.so is fixed.
@@ -3520,7 +6501,7 @@ EOF
*-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*)
# Compiler inserts libc in the correct place for threads to work
;;
- *)
+ *)
# Add libc to deplibs on all other systems if necessary.
if test "$build_libtool_need_lc" = "yes"; then
deplibs="$deplibs -lc"
@@ -3557,17 +6538,18 @@ EOF
# limits. Maybe even breaks it. We compile a program, linking it
# against the deplibs as a proxy for the library. Then we can check
# whether they linked in statically or dynamically with ldd.
- $rm conftest.c
+ $opt_dry_run || $RM conftest.c
cat > conftest.c <<EOF
int main() { return 0; }
EOF
- $rm conftest
+ $opt_dry_run || $RM conftest
if $LTCC $LTCFLAGS -o conftest conftest.c $deplibs; then
ldd_output=`ldd conftest`
for i in $deplibs; do
- name=`expr $i : '-l\(.*\)'`
- # If $name is empty we are operating on a -L argument.
- if test "$name" != "" && test "$name" != "0"; then
+ case $i in
+ -l*)
+ func_stripname -l '' "$i"
+ name=$func_stripname_result
if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
case " $predeps $postdeps " in
*" $i "*)
@@ -3575,37 +6557,40 @@ EOF
i=""
;;
esac
- fi
+ fi
if test -n "$i" ; then
- libname=`eval \\$echo \"$libname_spec\"`
- deplib_matches=`eval \\$echo \"$library_names_spec\"`
- set dummy $deplib_matches
- deplib_match=$2
+ libname=`eval "\\$ECHO \"$libname_spec\""`
+ deplib_matches=`eval "\\$ECHO \"$library_names_spec\""`
+ set dummy $deplib_matches; shift
+ deplib_match=$1
if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0 ; then
newdeplibs="$newdeplibs $i"
else
droppeddeps=yes
- $echo
- $echo "*** Warning: dynamic linker does not accept needed library $i."
- $echo "*** I have the capability to make that library automatically link in when"
- $echo "*** you link to this library. But I can only do this if you have a"
- $echo "*** shared version of the library, which I believe you do not have"
- $echo "*** because a test_compile did reveal that the linker did not use it for"
- $echo "*** its dynamic dependency list that programs get resolved with at runtime."
+ $ECHO
+ $ECHO "*** Warning: dynamic linker does not accept needed library $i."
+ $ECHO "*** I have the capability to make that library automatically link in when"
+ $ECHO "*** you link to this library. But I can only do this if you have a"
+ $ECHO "*** shared version of the library, which I believe you do not have"
+ $ECHO "*** because a test_compile did reveal that the linker did not use it for"
+ $ECHO "*** its dynamic dependency list that programs get resolved with at runtime."
fi
fi
- else
+ ;;
+ *)
newdeplibs="$newdeplibs $i"
- fi
+ ;;
+ esac
done
else
# Error occurred in the first compile. Let's try to salvage
# the situation: Compile a separate program for each library.
for i in $deplibs; do
- name=`expr $i : '-l\(.*\)'`
- # If $name is empty we are operating on a -L argument.
- if test "$name" != "" && test "$name" != "0"; then
- $rm conftest
+ case $i in
+ -l*)
+ func_stripname -l '' "$i"
+ name=$func_stripname_result
+ $opt_dry_run || $RM conftest
if $LTCC $LTCFLAGS -o conftest conftest.c $i; then
ldd_output=`ldd conftest`
if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
@@ -3617,44 +6602,47 @@ EOF
esac
fi
if test -n "$i" ; then
- libname=`eval \\$echo \"$libname_spec\"`
- deplib_matches=`eval \\$echo \"$library_names_spec\"`
- set dummy $deplib_matches
- deplib_match=$2
+ libname=`eval "\\$ECHO \"$libname_spec\""`
+ deplib_matches=`eval "\\$ECHO \"$library_names_spec\""`
+ set dummy $deplib_matches; shift
+ deplib_match=$1
if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0 ; then
newdeplibs="$newdeplibs $i"
else
droppeddeps=yes
- $echo
- $echo "*** Warning: dynamic linker does not accept needed library $i."
- $echo "*** I have the capability to make that library automatically link in when"
- $echo "*** you link to this library. But I can only do this if you have a"
- $echo "*** shared version of the library, which you do not appear to have"
- $echo "*** because a test_compile did reveal that the linker did not use this one"
- $echo "*** as a dynamic dependency that programs can get resolved with at runtime."
+ $ECHO
+ $ECHO "*** Warning: dynamic linker does not accept needed library $i."
+ $ECHO "*** I have the capability to make that library automatically link in when"
+ $ECHO "*** you link to this library. But I can only do this if you have a"
+ $ECHO "*** shared version of the library, which you do not appear to have"
+ $ECHO "*** because a test_compile did reveal that the linker did not use this one"
+ $ECHO "*** as a dynamic dependency that programs can get resolved with at runtime."
fi
fi
else
droppeddeps=yes
- $echo
- $echo "*** Warning! Library $i is needed by this library but I was not able to"
- $echo "*** make it link in! You will probably need to install it or some"
- $echo "*** library that it depends on before this library will be fully"
- $echo "*** functional. Installing it before continuing would be even better."
+ $ECHO
+ $ECHO "*** Warning! Library $i is needed by this library but I was not able to"
+ $ECHO "*** make it link in! You will probably need to install it or some"
+ $ECHO "*** library that it depends on before this library will be fully"
+ $ECHO "*** functional. Installing it before continuing would be even better."
fi
- else
+ ;;
+ *)
newdeplibs="$newdeplibs $i"
- fi
+ ;;
+ esac
done
fi
;;
file_magic*)
- set dummy $deplibs_check_method
- file_magic_regex=`expr "$deplibs_check_method" : "$2 \(.*\)"`
+ set dummy $deplibs_check_method; shift
+ file_magic_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"`
for a_deplib in $deplibs; do
- name=`expr $a_deplib : '-l\(.*\)'`
- # If $name is empty we are operating on a -L argument.
- if test "$name" != "" && test "$name" != "0"; then
+ case $a_deplib in
+ -l*)
+ func_stripname -l '' "$a_deplib"
+ name=$func_stripname_result
if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
case " $predeps $postdeps " in
*" $a_deplib "*)
@@ -3664,13 +6652,13 @@ EOF
esac
fi
if test -n "$a_deplib" ; then
- libname=`eval \\$echo \"$libname_spec\"`
+ libname=`eval "\\$ECHO \"$libname_spec\""`
for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do
potential_libs=`ls $i/$libname[.-]* 2>/dev/null`
for potent_lib in $potential_libs; do
# Follow soft links.
- if ls -lLd "$potent_lib" 2>/dev/null \
- | grep " -> " >/dev/null; then
+ if ls -lLd "$potent_lib" 2>/dev/null |
+ $GREP " -> " >/dev/null; then
continue
fi
# The statement above tries to avoid entering an
@@ -3683,12 +6671,12 @@ EOF
potliblink=`ls -ld $potlib | ${SED} 's/.* -> //'`
case $potliblink in
[\\/]* | [A-Za-z]:[\\/]*) potlib="$potliblink";;
- *) potlib=`$echo "X$potlib" | $Xsed -e 's,[^/]*$,,'`"$potliblink";;
+ *) potlib=`$ECHO "X$potlib" | $Xsed -e 's,[^/]*$,,'`"$potliblink";;
esac
done
- if eval $file_magic_cmd \"\$potlib\" 2>/dev/null \
- | ${SED} 10q \
- | $EGREP "$file_magic_regex" > /dev/null; then
+ if eval $file_magic_cmd \"\$potlib\" 2>/dev/null |
+ $SED -e 10q |
+ $EGREP "$file_magic_regex" > /dev/null; then
newdeplibs="$newdeplibs $a_deplib"
a_deplib=""
break 2
@@ -3698,32 +6686,35 @@ EOF
fi
if test -n "$a_deplib" ; then
droppeddeps=yes
- $echo
- $echo "*** Warning: linker path does not have real file for library $a_deplib."
- $echo "*** I have the capability to make that library automatically link in when"
- $echo "*** you link to this library. But I can only do this if you have a"
- $echo "*** shared version of the library, which you do not appear to have"
- $echo "*** because I did check the linker path looking for a file starting"
+ $ECHO
+ $ECHO "*** Warning: linker path does not have real file for library $a_deplib."
+ $ECHO "*** I have the capability to make that library automatically link in when"
+ $ECHO "*** you link to this library. But I can only do this if you have a"
+ $ECHO "*** shared version of the library, which you do not appear to have"
+ $ECHO "*** because I did check the linker path looking for a file starting"
if test -z "$potlib" ; then
- $echo "*** with $libname but no candidates were found. (...for file magic test)"
+ $ECHO "*** with $libname but no candidates were found. (...for file magic test)"
else
- $echo "*** with $libname and none of the candidates passed a file format test"
- $echo "*** using a file magic. Last file checked: $potlib"
+ $ECHO "*** with $libname and none of the candidates passed a file format test"
+ $ECHO "*** using a file magic. Last file checked: $potlib"
fi
fi
- else
+ ;;
+ *)
# Add a -L argument.
newdeplibs="$newdeplibs $a_deplib"
- fi
+ ;;
+ esac
done # Gone through all deplibs.
;;
match_pattern*)
- set dummy $deplibs_check_method
- match_pattern_regex=`expr "$deplibs_check_method" : "$2 \(.*\)"`
+ set dummy $deplibs_check_method; shift
+ match_pattern_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"`
for a_deplib in $deplibs; do
- name=`expr $a_deplib : '-l\(.*\)'`
- # If $name is empty we are operating on a -L argument.
- if test -n "$name" && test "$name" != "0"; then
+ case $a_deplib in
+ -l*)
+ func_stripname -l '' "$a_deplib"
+ name=$func_stripname_result
if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
case " $predeps $postdeps " in
*" $a_deplib "*)
@@ -3733,14 +6724,13 @@ EOF
esac
fi
if test -n "$a_deplib" ; then
- libname=`eval \\$echo \"$libname_spec\"`
+ libname=`eval "\\$ECHO \"$libname_spec\""`
for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do
potential_libs=`ls $i/$libname[.-]* 2>/dev/null`
for potent_lib in $potential_libs; do
potlib="$potent_lib" # see symlink-check above in file_magic test
- if eval $echo \"$potent_lib\" 2>/dev/null \
- | ${SED} 10q \
- | $EGREP "$match_pattern_regex" > /dev/null; then
+ if eval "\$ECHO \"X$potent_lib\"" 2>/dev/null | $Xsed -e 10q | \
+ $EGREP "$match_pattern_regex" > /dev/null; then
newdeplibs="$newdeplibs $a_deplib"
a_deplib=""
break 2
@@ -3750,44 +6740,46 @@ EOF
fi
if test -n "$a_deplib" ; then
droppeddeps=yes
- $echo
- $echo "*** Warning: linker path does not have real file for library $a_deplib."
- $echo "*** I have the capability to make that library automatically link in when"
- $echo "*** you link to this library. But I can only do this if you have a"
- $echo "*** shared version of the library, which you do not appear to have"
- $echo "*** because I did check the linker path looking for a file starting"
+ $ECHO
+ $ECHO "*** Warning: linker path does not have real file for library $a_deplib."
+ $ECHO "*** I have the capability to make that library automatically link in when"
+ $ECHO "*** you link to this library. But I can only do this if you have a"
+ $ECHO "*** shared version of the library, which you do not appear to have"
+ $ECHO "*** because I did check the linker path looking for a file starting"
if test -z "$potlib" ; then
- $echo "*** with $libname but no candidates were found. (...for regex pattern test)"
+ $ECHO "*** with $libname but no candidates were found. (...for regex pattern test)"
else
- $echo "*** with $libname and none of the candidates passed a file format test"
- $echo "*** using a regex pattern. Last file checked: $potlib"
+ $ECHO "*** with $libname and none of the candidates passed a file format test"
+ $ECHO "*** using a regex pattern. Last file checked: $potlib"
fi
fi
- else
+ ;;
+ *)
# Add a -L argument.
newdeplibs="$newdeplibs $a_deplib"
- fi
+ ;;
+ esac
done # Gone through all deplibs.
;;
none | unknown | *)
newdeplibs=""
- tmp_deplibs=`$echo "X $deplibs" | $Xsed -e 's/ -lc$//' \
- -e 's/ -[LR][^ ]*//g'`
+ tmp_deplibs=`$ECHO "X $deplibs" | $Xsed \
+ -e 's/ -lc$//' -e 's/ -[LR][^ ]*//g'`
if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
for i in $predeps $postdeps ; do
# can't use Xsed below, because $i might contain '/'
- tmp_deplibs=`$echo "X $tmp_deplibs" | ${SED} -e "1s,^X,," -e "s,$i,,"`
+ tmp_deplibs=`$ECHO "X $tmp_deplibs" | $Xsed -e "s,$i,,"`
done
fi
- if $echo "X $tmp_deplibs" | $Xsed -e 's/[ ]//g' \
- | grep . >/dev/null; then
- $echo
+ if $ECHO "X $tmp_deplibs" | $Xsed -e 's/[ ]//g' |
+ $GREP . >/dev/null; then
+ $ECHO
if test "X$deplibs_check_method" = "Xnone"; then
- $echo "*** Warning: inter-library dependencies are not supported in this platform."
+ $ECHO "*** Warning: inter-library dependencies are not supported in this platform."
else
- $echo "*** Warning: inter-library dependencies are not known to be supported."
+ $ECHO "*** Warning: inter-library dependencies are not known to be supported."
fi
- $echo "*** All declared inter-library dependencies are being dropped."
+ $ECHO "*** All declared inter-library dependencies are being dropped."
droppeddeps=yes
fi
;;
@@ -3800,24 +6792,24 @@ EOF
case $host in
*-*-rhapsody* | *-*-darwin1.[012])
- # On Rhapsody replace the C library is the System framework
- newdeplibs=`$echo "X $newdeplibs" | $Xsed -e 's/ -lc / -framework System /'`
+ # On Rhapsody replace the C library with the System framework
+ newdeplibs=`$ECHO "X $newdeplibs" | $Xsed -e 's/ -lc / System.ltframework /'`
;;
esac
if test "$droppeddeps" = yes; then
if test "$module" = yes; then
- $echo
- $echo "*** Warning: libtool could not satisfy all declared inter-library"
- $echo "*** dependencies of module $libname. Therefore, libtool will create"
- $echo "*** a static module, that should work as long as the dlopening"
- $echo "*** application is linked with the -dlopen flag."
+ $ECHO
+ $ECHO "*** Warning: libtool could not satisfy all declared inter-library"
+ $ECHO "*** dependencies of module $libname. Therefore, libtool will create"
+ $ECHO "*** a static module, that should work as long as the dlopening"
+ $ECHO "*** application is linked with the -dlopen flag."
if test -z "$global_symbol_pipe"; then
- $echo
- $echo "*** However, this would only work if libtool was able to extract symbol"
- $echo "*** lists from a program, using \`nm' or equivalent, but libtool could"
- $echo "*** not find such a program. So, this module is probably useless."
- $echo "*** \`nm' from GNU binutils and a full rebuild may help."
+ $ECHO
+ $ECHO "*** However, this would only work if libtool was able to extract symbol"
+ $ECHO "*** lists from a program, using \`nm' or equivalent, but libtool could"
+ $ECHO "*** not find such a program. So, this module is probably useless."
+ $ECHO "*** \`nm' from GNU binutils and a full rebuild may help."
fi
if test "$build_old_libs" = no; then
oldlibs="$output_objdir/$libname.$libext"
@@ -3827,16 +6819,16 @@ EOF
build_libtool_libs=no
fi
else
- $echo "*** The inter-library dependencies that have been dropped here will be"
- $echo "*** automatically added whenever a program is linked with this library"
- $echo "*** or is declared to -dlopen it."
+ $ECHO "*** The inter-library dependencies that have been dropped here will be"
+ $ECHO "*** automatically added whenever a program is linked with this library"
+ $ECHO "*** or is declared to -dlopen it."
if test "$allow_undefined" = no; then
- $echo
- $echo "*** Since this library must not contain undefined symbols,"
- $echo "*** because either the platform does not support them or"
- $echo "*** it was explicitly requested with -no-undefined,"
- $echo "*** libtool will only create a static version of it."
+ $ECHO
+ $ECHO "*** Since this library must not contain undefined symbols,"
+ $ECHO "*** because either the platform does not support them or"
+ $ECHO "*** it was explicitly requested with -no-undefined,"
+ $ECHO "*** libtool will only create a static version of it."
if test "$build_old_libs" = no; then
oldlibs="$output_objdir/$libname.$libext"
build_libtool_libs=module
@@ -3850,7 +6842,14 @@ EOF
# Done checking deplibs!
deplibs=$newdeplibs
fi
-
+ # Time to change all our "foo.ltframework" stuff back to "-framework foo"
+ case $host in
+ *-*-darwin*)
+ newdeplibs=`$ECHO "X $newdeplibs" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'`
+ new_inherited_linker_flags=`$ECHO "X $new_inherited_linker_flags" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'`
+ deplibs=`$ECHO "X $deplibs" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'`
+ ;;
+ esac
# move library search paths that coincide with paths to not yet
# installed libraries to the beginning of the library search list
@@ -3879,7 +6878,6 @@ EOF
done
deplibs="$new_libs"
-
# All the library-specific variables (install_libdir is set above).
library_names=
old_library=
@@ -3924,10 +6922,7 @@ EOF
test -n "$hardcode_libdirs"; then
libdir="$hardcode_libdirs"
if test -n "$hardcode_libdir_flag_spec_ld"; then
- case $archive_cmds in
- *\$LD*) eval dep_rpath=\"$hardcode_libdir_flag_spec_ld\" ;;
- *) eval dep_rpath=\"$hardcode_libdir_flag_spec\" ;;
- esac
+ eval dep_rpath=\"$hardcode_libdir_flag_spec_ld\"
else
eval dep_rpath=\"$hardcode_libdir_flag_spec\"
fi
@@ -3953,8 +6948,9 @@ EOF
eval shared_ext=\"$shrext_cmds\"
eval library_names=\"$library_names_spec\"
set dummy $library_names
- realname="$2"
- shift; shift
+ shift
+ realname="$1"
+ shift
if test -n "$soname_spec"; then
eval soname=\"$soname_spec\"
@@ -3973,71 +6969,122 @@ EOF
done
# Use standard objects if they are pic
- test -z "$pic_flag" && libobjs=`$echo "X$libobjs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
+ test -z "$pic_flag" && libobjs=`$ECHO "X$libobjs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
+ test "X$libobjs" = "X " && libobjs=
+
+ delfiles=
+ if test -n "$export_symbols" && test -n "$include_expsyms"; then
+ $opt_dry_run || cp "$export_symbols" "$output_objdir/$libname.uexp"
+ export_symbols="$output_objdir/$libname.uexp"
+ delfiles="$delfiles $export_symbols"
+ fi
+
+ orig_export_symbols=
+ case $host_os in
+ cygwin* | mingw* | cegcc*)
+ if test -n "$export_symbols" && test -z "$export_symbols_regex"; then
+ # exporting using user supplied symfile
+ if test "x`$SED 1q $export_symbols`" != xEXPORTS; then
+ # and it's NOT already a .def file. Must figure out
+ # which of the given symbols are data symbols and tag
+ # them as such. So, trigger use of export_symbols_cmds.
+ # export_symbols gets reassigned inside the "prepare
+ # the list of exported symbols" if statement, so the
+ # include_expsyms logic still works.
+ orig_export_symbols="$export_symbols"
+ export_symbols=
+ always_export_symbols=yes
+ fi
+ fi
+ ;;
+ esac
# Prepare the list of exported symbols
if test -z "$export_symbols"; then
if test "$always_export_symbols" = yes || test -n "$export_symbols_regex"; then
- $show "generating symbol list for \`$libname.la'"
+ func_verbose "generating symbol list for \`$libname.la'"
export_symbols="$output_objdir/$libname.exp"
- $run $rm $export_symbols
+ $opt_dry_run || $RM $export_symbols
cmds=$export_symbols_cmds
save_ifs="$IFS"; IFS='~'
for cmd in $cmds; do
IFS="$save_ifs"
eval cmd=\"$cmd\"
- if len=`expr "X$cmd" : ".*"` &&
- test "$len" -le "$max_cmd_len" || test "$max_cmd_len" -le -1; then
- $show "$cmd"
- $run eval "$cmd" || exit $?
- skipped_export=false
+ func_len " $cmd"
+ len=$func_len_result
+ if test "$len" -lt "$max_cmd_len" || test "$max_cmd_len" -le -1; then
+ func_show_eval "$cmd" 'exit $?'
+ skipped_export=false
else
- # The command line is too long to execute in one step.
- $show "using reloadable object file for export list..."
- skipped_export=:
+ # The command line is too long to execute in one step.
+ func_verbose "using reloadable object file for export list..."
+ skipped_export=:
# Break out early, otherwise skipped_export may be
# set to false by a later but shorter cmd.
break
fi
done
IFS="$save_ifs"
- if test -n "$export_symbols_regex"; then
- $show "$EGREP -e \"$export_symbols_regex\" \"$export_symbols\" > \"${export_symbols}T\""
- $run eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"'
- $show "$mv \"${export_symbols}T\" \"$export_symbols\""
- $run eval '$mv "${export_symbols}T" "$export_symbols"'
+ if test -n "$export_symbols_regex" && test "X$skipped_export" != "X:"; then
+ func_show_eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"'
+ func_show_eval '$MV "${export_symbols}T" "$export_symbols"'
fi
fi
fi
if test -n "$export_symbols" && test -n "$include_expsyms"; then
- $run eval '$echo "X$include_expsyms" | $SP2NL >> "$export_symbols"'
+ tmp_export_symbols="$export_symbols"
+ test -n "$orig_export_symbols" && tmp_export_symbols="$orig_export_symbols"
+ $opt_dry_run || eval '$ECHO "X$include_expsyms" | $Xsed | $SP2NL >> "$tmp_export_symbols"'
+ fi
+
+ if test "X$skipped_export" != "X:" && test -n "$orig_export_symbols"; then
+ # The given exports_symbols file has to be filtered, so filter it.
+ func_verbose "filter symbol list for \`$libname.la' to tag DATA exports"
+ # FIXME: $output_objdir/$libname.filter potentially contains lots of
+ # 's' commands which not all seds can handle. GNU sed should be fine
+ # though. Also, the filter scales superlinearly with the number of
+ # global variables. join(1) would be nice here, but unfortunately
+ # isn't a blessed tool.
+ $opt_dry_run || $SED -e '/[ ,]DATA/!d;s,\(.*\)\([ \,].*\),s|^\1$|\1\2|,' < $export_symbols > $output_objdir/$libname.filter
+ delfiles="$delfiles $export_symbols $output_objdir/$libname.filter"
+ export_symbols=$output_objdir/$libname.def
+ $opt_dry_run || $SED -f $output_objdir/$libname.filter < $orig_export_symbols > $export_symbols
fi
tmp_deplibs=
for test_deplib in $deplibs; do
- case " $convenience " in
- *" $test_deplib "*) ;;
- *)
- tmp_deplibs="$tmp_deplibs $test_deplib"
- ;;
- esac
+ case " $convenience " in
+ *" $test_deplib "*) ;;
+ *)
+ tmp_deplibs="$tmp_deplibs $test_deplib"
+ ;;
+ esac
done
deplibs="$tmp_deplibs"
if test -n "$convenience"; then
+ if test -n "$whole_archive_flag_spec" &&
+ test "$compiler_needs_object" = yes &&
+ test -z "$libobjs"; then
+ # extract the archives, so we have objects to list.
+ # TODO: could optimize this to just extract one archive.
+ whole_archive_flag_spec=
+ fi
if test -n "$whole_archive_flag_spec"; then
save_libobjs=$libobjs
eval libobjs=\"\$libobjs $whole_archive_flag_spec\"
+ test "X$libobjs" = "X " && libobjs=
else
gentop="$output_objdir/${outputname}x"
generated="$generated $gentop"
func_extract_archives $gentop $convenience
libobjs="$libobjs $func_extract_archives_result"
+ test "X$libobjs" = "X " && libobjs=
fi
fi
-
+
if test "$thread_safe" = yes && test -n "$thread_safe_flag_spec"; then
eval flag=\"$thread_safe_flag_spec\"
linker_flags="$linker_flags $flag"
@@ -4045,7 +7092,7 @@ EOF
# Make a backup of the uninstalled library when relinking
if test "$mode" = relink; then
- $run eval '(cd $output_objdir && $rm ${realname}U && $mv $realname ${realname}U)' || exit $?
+ $opt_dry_run || eval '(cd $output_objdir && $RM ${realname}U && $MV $realname ${realname}U)' || exit $?
fi
# Do each of the archive commands.
@@ -4058,22 +7105,24 @@ EOF
cmds=$module_cmds
fi
else
- if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then
- eval test_cmds=\"$archive_expsym_cmds\"
- cmds=$archive_expsym_cmds
- else
- eval test_cmds=\"$archive_cmds\"
- cmds=$archive_cmds
+ if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then
+ eval test_cmds=\"$archive_expsym_cmds\"
+ cmds=$archive_expsym_cmds
+ else
+ eval test_cmds=\"$archive_cmds\"
+ cmds=$archive_cmds
fi
fi
if test "X$skipped_export" != "X:" &&
- len=`expr "X$test_cmds" : ".*" 2>/dev/null` &&
- test "$len" -le "$max_cmd_len" || test "$max_cmd_len" -le -1; then
+ func_len " $test_cmds" &&
+ len=$func_len_result &&
+ test "$len" -lt "$max_cmd_len" || test "$max_cmd_len" -le -1; then
:
else
- # The command line is too long to link in one step, link piecewise.
- $echo "creating reloadable object files..."
+ # The command line is too long to link in one step, link piecewise
+ # or, if using GNU ld and skipped_export is not :, use a linker
+ # script.
# Save the value of $output and $libobjs because we want to
# use them later. If we have whole_archive_flag_spec, we
@@ -4087,77 +7136,162 @@ EOF
save_libobjs=$libobjs
fi
save_output=$output
- output_la=`$echo "X$output" | $Xsed -e "$basename"`
+ output_la=`$ECHO "X$output" | $Xsed -e "$basename"`
# Clear the reloadable object creation command queue and
# initialize k to one.
test_cmds=
concat_cmds=
objlist=
- delfiles=
last_robj=
k=1
- output=$output_objdir/$output_la-${k}.$objext
- # Loop over the list of objects to be linked.
- for obj in $save_libobjs
- do
- eval test_cmds=\"$reload_cmds $objlist $last_robj\"
- if test "X$objlist" = X ||
- { len=`expr "X$test_cmds" : ".*" 2>/dev/null` &&
- test "$len" -le "$max_cmd_len"; }; then
- objlist="$objlist $obj"
+
+ if test -n "$save_libobjs" && test "X$skipped_export" != "X:" && test "$with_gnu_ld" = yes; then
+ output=${output_objdir}/${output_la}.lnkscript
+ func_verbose "creating GNU ld script: $output"
+ $ECHO 'INPUT (' > $output
+ for obj in $save_libobjs
+ do
+ $ECHO "$obj" >> $output
+ done
+ $ECHO ')' >> $output
+ delfiles="$delfiles $output"
+ elif test -n "$save_libobjs" && test "X$skipped_export" != "X:" && test "X$file_list_spec" != X; then
+ output=${output_objdir}/${output_la}.lnk
+ func_verbose "creating linker input file list: $output"
+ : > $output
+ set x $save_libobjs
+ shift
+ firstobj=
+ if test "$compiler_needs_object" = yes; then
+ firstobj="$1 "
+ shift
+ fi
+ for obj
+ do
+ $ECHO "$obj" >> $output
+ done
+ delfiles="$delfiles $output"
+ output=$firstobj\"$file_list_spec$output\"
+ else
+ if test -n "$save_libobjs"; then
+ func_verbose "creating reloadable object files..."
+ output=$output_objdir/$output_la-${k}.$objext
+ eval test_cmds=\"$reload_cmds\"
+ func_len " $test_cmds"
+ len0=$func_len_result
+ len=$len0
+
+ # Loop over the list of objects to be linked.
+ for obj in $save_libobjs
+ do
+ func_len " $obj"
+ func_arith $len + $func_len_result
+ len=$func_arith_result
+ if test "X$objlist" = X ||
+ test "$len" -lt "$max_cmd_len"; then
+ func_append objlist " $obj"
+ else
+ # The command $test_cmds is almost too long, add a
+ # command to the queue.
+ if test "$k" -eq 1 ; then
+ # The first file doesn't have a previous command to add.
+ eval concat_cmds=\"$reload_cmds $objlist $last_robj\"
+ else
+ # All subsequent reloadable object files will link in
+ # the last one created.
+ eval concat_cmds=\"\$concat_cmds~$reload_cmds $objlist $last_robj~\$RM $last_robj\"
+ fi
+ last_robj=$output_objdir/$output_la-${k}.$objext
+ func_arith $k + 1
+ k=$func_arith_result
+ output=$output_objdir/$output_la-${k}.$objext
+ objlist=$obj
+ func_len " $last_robj"
+ func_arith $len0 + $func_len_result
+ len=$func_arith_result
+ fi
+ done
+ # Handle the remaining objects by creating one last
+ # reloadable object file. All subsequent reloadable object
+ # files will link in the last one created.
+ test -z "$concat_cmds" || concat_cmds=$concat_cmds~
+ eval concat_cmds=\"\${concat_cmds}$reload_cmds $objlist $last_robj\"
+ if test -n "$last_robj"; then
+ eval concat_cmds=\"\${concat_cmds}~\$RM $last_robj\"
+ fi
+ delfiles="$delfiles $output"
+
else
- # The command $test_cmds is almost too long, add a
- # command to the queue.
- if test "$k" -eq 1 ; then
- # The first file doesn't have a previous command to add.
- eval concat_cmds=\"$reload_cmds $objlist $last_robj\"
- else
- # All subsequent reloadable object files will link in
- # the last one created.
- eval concat_cmds=\"\$concat_cmds~$reload_cmds $objlist $last_robj\"
+ output=
+ fi
+
+ if ${skipped_export-false}; then
+ func_verbose "generating symbol list for \`$libname.la'"
+ export_symbols="$output_objdir/$libname.exp"
+ $opt_dry_run || $RM $export_symbols
+ libobjs=$output
+ # Append the command to create the export file.
+ test -z "$concat_cmds" || concat_cmds=$concat_cmds~
+ eval concat_cmds=\"\$concat_cmds$export_symbols_cmds\"
+ if test -n "$last_robj"; then
+ eval concat_cmds=\"\$concat_cmds~\$RM $last_robj\"
fi
- last_robj=$output_objdir/$output_la-${k}.$objext
- k=`expr $k + 1`
- output=$output_objdir/$output_la-${k}.$objext
- objlist=$obj
- len=1
fi
- done
- # Handle the remaining objects by creating one last
- # reloadable object file. All subsequent reloadable object
- # files will link in the last one created.
- test -z "$concat_cmds" || concat_cmds=$concat_cmds~
- eval concat_cmds=\"\${concat_cmds}$reload_cmds $objlist $last_robj\"
-
- if ${skipped_export-false}; then
- $show "generating symbol list for \`$libname.la'"
- export_symbols="$output_objdir/$libname.exp"
- $run $rm $export_symbols
- libobjs=$output
- # Append the command to create the export file.
- eval concat_cmds=\"\$concat_cmds~$export_symbols_cmds\"
- fi
-
- # Set up a command to remove the reloadable object files
- # after they are used.
- i=0
- while test "$i" -lt "$k"
- do
- i=`expr $i + 1`
- delfiles="$delfiles $output_objdir/$output_la-${i}.$objext"
- done
- $echo "creating a temporary reloadable object file: $output"
+ test -n "$save_libobjs" &&
+ func_verbose "creating a temporary reloadable object file: $output"
- # Loop through the commands generated above and execute them.
- save_ifs="$IFS"; IFS='~'
- for cmd in $concat_cmds; do
+ # Loop through the commands generated above and execute them.
+ save_ifs="$IFS"; IFS='~'
+ for cmd in $concat_cmds; do
+ IFS="$save_ifs"
+ $opt_silent || {
+ func_quote_for_expand "$cmd"
+ eval "func_echo $func_quote_for_expand_result"
+ }
+ $opt_dry_run || eval "$cmd" || {
+ lt_exit=$?
+
+ # Restore the uninstalled library and exit
+ if test "$mode" = relink; then
+ ( cd "$output_objdir" && \
+ $RM "${realname}T" && \
+ $MV "${realname}U" "$realname" )
+ fi
+
+ exit $lt_exit
+ }
+ done
IFS="$save_ifs"
- $show "$cmd"
- $run eval "$cmd" || exit $?
- done
- IFS="$save_ifs"
+
+ if test -n "$export_symbols_regex" && ${skipped_export-false}; then
+ func_show_eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"'
+ func_show_eval '$MV "${export_symbols}T" "$export_symbols"'
+ fi
+ fi
+
+ if ${skipped_export-false}; then
+ if test -n "$export_symbols" && test -n "$include_expsyms"; then
+ tmp_export_symbols="$export_symbols"
+ test -n "$orig_export_symbols" && tmp_export_symbols="$orig_export_symbols"
+ $opt_dry_run || eval '$ECHO "X$include_expsyms" | $Xsed | $SP2NL >> "$tmp_export_symbols"'
+ fi
+
+ if test -n "$orig_export_symbols"; then
+ # The given exports_symbols file has to be filtered, so filter it.
+ func_verbose "filter symbol list for \`$libname.la' to tag DATA exports"
+ # FIXME: $output_objdir/$libname.filter potentially contains lots of
+ # 's' commands which not all seds can handle. GNU sed should be fine
+ # though. Also, the filter scales superlinearly with the number of
+ # global variables. join(1) would be nice here, but unfortunately
+ # isn't a blessed tool.
+ $opt_dry_run || $SED -e '/[ ,]DATA/!d;s,\(.*\)\([ \,].*\),s|^\1$|\1\2|,' < $export_symbols > $output_objdir/$libname.filter
+ delfiles="$delfiles $export_symbols $output_objdir/$libname.filter"
+ export_symbols=$output_objdir/$libname.def
+ $opt_dry_run || $SED -f $output_objdir/$libname.filter < $orig_export_symbols > $export_symbols
+ fi
+ fi
libobjs=$output
# Restore the value of output.
@@ -4165,6 +7299,7 @@ EOF
if test -n "$convenience" && test -n "$whole_archive_flag_spec"; then
eval libobjs=\"\$libobjs $whole_archive_flag_spec\"
+ test "X$libobjs" = "X " && libobjs=
fi
# Expand the library linking commands again to reset the
# value of $libobjs for piecewise linking.
@@ -4177,28 +7312,45 @@ EOF
cmds=$module_cmds
fi
else
- if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then
- cmds=$archive_expsym_cmds
- else
- cmds=$archive_cmds
+ if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then
+ cmds=$archive_expsym_cmds
+ else
+ cmds=$archive_cmds
fi
fi
+ fi
+
+ if test -n "$delfiles"; then
+ # Append the command to remove temporary files to $cmds.
+ eval cmds=\"\$cmds~\$RM $delfiles\"
+ fi
- # Append the command to remove the reloadable object files
- # to the just-reset $cmds.
- eval cmds=\"\$cmds~\$rm $delfiles\"
+ # Add any objects from preloaded convenience libraries
+ if test -n "$dlprefiles"; then
+ gentop="$output_objdir/${outputname}x"
+ generated="$generated $gentop"
+
+ func_extract_archives $gentop $dlprefiles
+ libobjs="$libobjs $func_extract_archives_result"
+ test "X$libobjs" = "X " && libobjs=
fi
+
save_ifs="$IFS"; IFS='~'
for cmd in $cmds; do
IFS="$save_ifs"
eval cmd=\"$cmd\"
- $show "$cmd"
- $run eval "$cmd" || {
+ $opt_silent || {
+ func_quote_for_expand "$cmd"
+ eval "func_echo $func_quote_for_expand_result"
+ }
+ $opt_dry_run || eval "$cmd" || {
lt_exit=$?
# Restore the uninstalled library and exit
if test "$mode" = relink; then
- $run eval '(cd $output_objdir && $rm ${realname}T && $mv ${realname}U $realname)'
+ ( cd "$output_objdir" && \
+ $RM "${realname}T" && \
+ $MV "${realname}U" "$realname" )
fi
exit $lt_exit
@@ -4208,12 +7360,11 @@ EOF
# Restore the uninstalled library and exit
if test "$mode" = relink; then
- $run eval '(cd $output_objdir && $rm ${realname}T && $mv $realname ${realname}T && $mv "$realname"U $realname)' || exit $?
+ $opt_dry_run || eval '(cd $output_objdir && $RM ${realname}T && $MV $realname ${realname}T && $MV ${realname}U $realname)' || exit $?
if test -n "$convenience"; then
if test -z "$whole_archive_flag_spec"; then
- $show "${rm}r $gentop"
- $run ${rm}r "$gentop"
+ func_show_eval '${RM}r "$gentop"'
fi
fi
@@ -4223,8 +7374,7 @@ EOF
# Create links to the real library.
for linkname in $linknames; do
if test "$realname" != "$linkname"; then
- $show "(cd $output_objdir && $rm $linkname && $LN_S $realname $linkname)"
- $run eval '(cd $output_objdir && $rm $linkname && $LN_S $realname $linkname)' || exit $?
+ func_show_eval '(cd "$output_objdir" && $RM "$linkname" && $LN_S "$realname" "$linkname")' 'exit $?'
fi
done
@@ -4237,38 +7387,35 @@ EOF
;;
obj)
- if test -n "$deplibs"; then
- $echo "$modename: warning: \`-l' and \`-L' are ignored for objects" 1>&2
- fi
-
if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then
- $echo "$modename: warning: \`-dlopen' is ignored for objects" 1>&2
+ func_warning "\`-dlopen' is ignored for objects"
fi
- if test -n "$rpath"; then
- $echo "$modename: warning: \`-rpath' is ignored for objects" 1>&2
- fi
+ case " $deplibs" in
+ *\ -l* | *\ -L*)
+ func_warning "\`-l' and \`-L' are ignored for objects" ;;
+ esac
- if test -n "$xrpath"; then
- $echo "$modename: warning: \`-R' is ignored for objects" 1>&2
- fi
+ test -n "$rpath" && \
+ func_warning "\`-rpath' is ignored for objects"
- if test -n "$vinfo"; then
- $echo "$modename: warning: \`-version-info' is ignored for objects" 1>&2
- fi
+ test -n "$xrpath" && \
+ func_warning "\`-R' is ignored for objects"
- if test -n "$release"; then
- $echo "$modename: warning: \`-release' is ignored for objects" 1>&2
- fi
+ test -n "$vinfo" && \
+ func_warning "\`-version-info' is ignored for objects"
+
+ test -n "$release" && \
+ func_warning "\`-release' is ignored for objects"
case $output in
*.lo)
- if test -n "$objs$old_deplibs"; then
- $echo "$modename: cannot build library object \`$output' from non-libtool objects" 1>&2
- exit $EXIT_FAILURE
- fi
- libobj="$output"
- obj=`$echo "X$output" | $Xsed -e "$lo2o"`
+ test -n "$objs$old_deplibs" && \
+ func_fatal_error "cannot build library object \`$output' from non-libtool objects"
+
+ libobj=$output
+ func_lo2o "$libobj"
+ obj=$func_lo2o_result
;;
*)
libobj=
@@ -4277,7 +7424,7 @@ EOF
esac
# Delete the old objects.
- $run $rm $obj $libobj
+ $opt_dry_run || $RM $obj $libobj
# Objects from convenience libraries. This assumes
# single-version convenience libraries. Whenever we create
@@ -4293,7 +7440,7 @@ EOF
if test -n "$convenience"; then
if test -n "$whole_archive_flag_spec"; then
eval tmp_whole_archive_flags=\"$whole_archive_flag_spec\"
- reload_conv_objs=$reload_objs\ `$echo "X$tmp_whole_archive_flags" | $Xsed -e 's|,| |g'`
+ reload_conv_objs=$reload_objs\ `$ECHO "X$tmp_whole_archive_flags" | $Xsed -e 's|,| |g'`
else
gentop="$output_objdir/${obj}x"
generated="$generated $gentop"
@@ -4304,24 +7451,15 @@ EOF
fi
# Create the old-style object.
- reload_objs="$objs$old_deplibs "`$echo "X$libobjs" | $SP2NL | $Xsed -e '/\.'${libext}$'/d' -e '/\.lib$/d' -e "$lo2o" | $NL2SP`" $reload_conv_objs" ### testsuite: skip nested quoting test
+ reload_objs="$objs$old_deplibs "`$ECHO "X$libobjs" | $SP2NL | $Xsed -e '/\.'${libext}$'/d' -e '/\.lib$/d' -e "$lo2o" | $NL2SP`" $reload_conv_objs" ### testsuite: skip nested quoting test
output="$obj"
- cmds=$reload_cmds
- save_ifs="$IFS"; IFS='~'
- for cmd in $cmds; do
- IFS="$save_ifs"
- eval cmd=\"$cmd\"
- $show "$cmd"
- $run eval "$cmd" || exit $?
- done
- IFS="$save_ifs"
+ func_execute_cmds "$reload_cmds" 'exit $?'
# Exit if we aren't doing a library object file.
if test -z "$libobj"; then
if test -n "$gentop"; then
- $show "${rm}r $gentop"
- $run ${rm}r $gentop
+ func_show_eval '${RM}r "$gentop"'
fi
exit $EXIT_SUCCESS
@@ -4329,14 +7467,13 @@ EOF
if test "$build_libtool_libs" != yes; then
if test -n "$gentop"; then
- $show "${rm}r $gentop"
- $run ${rm}r $gentop
+ func_show_eval '${RM}r "$gentop"'
fi
# Create an invalid libtool object if no PIC, so that we don't
# accidentally link it into a program.
# $show "echo timestamp > $libobj"
- # $run eval "echo timestamp > $libobj" || exit $?
+ # $opt_dry_run || eval "echo timestamp > $libobj" || exit $?
exit $EXIT_SUCCESS
fi
@@ -4344,20 +7481,11 @@ EOF
# Only do commands if we really have different PIC objects.
reload_objs="$libobjs $reload_conv_objs"
output="$libobj"
- cmds=$reload_cmds
- save_ifs="$IFS"; IFS='~'
- for cmd in $cmds; do
- IFS="$save_ifs"
- eval cmd=\"$cmd\"
- $show "$cmd"
- $run eval "$cmd" || exit $?
- done
- IFS="$save_ifs"
+ func_execute_cmds "$reload_cmds" 'exit $?'
fi
if test -n "$gentop"; then
- $show "${rm}r $gentop"
- $run ${rm}r $gentop
+ func_show_eval '${RM}r "$gentop"'
fi
exit $EXIT_SUCCESS
@@ -4365,39 +7493,45 @@ EOF
prog)
case $host in
- *cygwin*) output=`$echo $output | ${SED} -e 's,.exe$,,;s,$,.exe,'` ;;
+ *cygwin*) func_stripname '' '.exe' "$output"
+ output=$func_stripname_result.exe;;
esac
- if test -n "$vinfo"; then
- $echo "$modename: warning: \`-version-info' is ignored for programs" 1>&2
- fi
+ test -n "$vinfo" && \
+ func_warning "\`-version-info' is ignored for programs"
- if test -n "$release"; then
- $echo "$modename: warning: \`-release' is ignored for programs" 1>&2
- fi
+ test -n "$release" && \
+ func_warning "\`-release' is ignored for programs"
- if test "$preload" = yes; then
- if test "$dlopen_support" = unknown && test "$dlopen_self" = unknown &&
- test "$dlopen_self_static" = unknown; then
- $echo "$modename: warning: \`AC_LIBTOOL_DLOPEN' not used. Assuming no dlopen support."
- fi
- fi
+ test "$preload" = yes \
+ && test "$dlopen_support" = unknown \
+ && test "$dlopen_self" = unknown \
+ && test "$dlopen_self_static" = unknown && \
+ func_warning "\`LT_INIT([dlopen])' not used. Assuming no dlopen support."
case $host in
*-*-rhapsody* | *-*-darwin1.[012])
# On Rhapsody replace the C library is the System framework
- compile_deplibs=`$echo "X $compile_deplibs" | $Xsed -e 's/ -lc / -framework System /'`
- finalize_deplibs=`$echo "X $finalize_deplibs" | $Xsed -e 's/ -lc / -framework System /'`
+ compile_deplibs=`$ECHO "X $compile_deplibs" | $Xsed -e 's/ -lc / System.ltframework /'`
+ finalize_deplibs=`$ECHO "X $finalize_deplibs" | $Xsed -e 's/ -lc / System.ltframework /'`
;;
esac
case $host in
- *darwin*)
- # Don't allow lazy linking, it breaks C++ global constructors
- if test "$tagname" = CXX ; then
- compile_command="$compile_command ${wl}-bind_at_load"
- finalize_command="$finalize_command ${wl}-bind_at_load"
- fi
- ;;
+ *-*-darwin*)
+ # Don't allow lazy linking, it breaks C++ global constructors
+ # But is supposedly fixed on 10.4 or later (yay!).
+ if test "$tagname" = CXX ; then
+ case ${MACOSX_DEPLOYMENT_TARGET-10.0} in
+ 10.[0123])
+ compile_command="$compile_command ${wl}-bind_at_load"
+ finalize_command="$finalize_command ${wl}-bind_at_load"
+ ;;
+ esac
+ fi
+ # Time to change all our "foo.ltframework" stuff back to "-framework foo"
+ compile_deplibs=`$ECHO "X $compile_deplibs" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'`
+ finalize_deplibs=`$ECHO "X $finalize_deplibs" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'`
+ ;;
esac
@@ -4472,14 +7606,16 @@ EOF
esac
fi
case $host in
- *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*)
- testbindir=`$echo "X$libdir" | $Xsed -e 's*/lib$*/bin*'`
+ *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*)
+ testbindir=`${ECHO} "$libdir" | ${SED} -e 's*/lib$*/bin*'`
case :$dllsearchpath: in
*":$libdir:"*) ;;
+ ::) dllsearchpath=$libdir;;
*) dllsearchpath="$dllsearchpath:$libdir";;
esac
case :$dllsearchpath: in
*":$testbindir:"*) ;;
+ ::) dllsearchpath=$testbindir;;
*) dllsearchpath="$dllsearchpath:$testbindir";;
esac
;;
@@ -4531,281 +7667,51 @@ EOF
if test -n "$libobjs" && test "$build_old_libs" = yes; then
# Transform all the library objects into standard objects.
- compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
- finalize_command=`$echo "X$finalize_command" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
+ compile_command=`$ECHO "X$compile_command" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
+ finalize_command=`$ECHO "X$finalize_command" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
fi
- dlsyms=
- if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then
- if test -n "$NM" && test -n "$global_symbol_pipe"; then
- dlsyms="${outputname}S.c"
- else
- $echo "$modename: not configured to extract global symbols from dlpreopened files" 1>&2
- fi
- fi
-
- if test -n "$dlsyms"; then
- case $dlsyms in
- "") ;;
- *.c)
- # Discover the nlist of each of the dlfiles.
- nlist="$output_objdir/${outputname}.nm"
-
- $show "$rm $nlist ${nlist}S ${nlist}T"
- $run $rm "$nlist" "${nlist}S" "${nlist}T"
-
- # Parse the name list into a source file.
- $show "creating $output_objdir/$dlsyms"
-
- test -z "$run" && $echo > "$output_objdir/$dlsyms" "\
-/* $dlsyms - symbol resolution table for \`$outputname' dlsym emulation. */
-/* Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP */
-
-#ifdef __cplusplus
-extern \"C\" {
-#endif
-
-/* Prevent the only kind of declaration conflicts we can make. */
-#define lt_preloaded_symbols some_other_symbol
-
-/* External symbol declarations for the compiler. */\
-"
-
- if test "$dlself" = yes; then
- $show "generating symbol list for \`$output'"
-
- test -z "$run" && $echo ': @PROGRAM@ ' > "$nlist"
-
- # Add our own program objects to the symbol list.
- progfiles=`$echo "X$objs$old_deplibs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
- for arg in $progfiles; do
- $show "extracting global C symbols from \`$arg'"
- $run eval "$NM $arg | $global_symbol_pipe >> '$nlist'"
- done
+ func_generate_dlsyms "$outputname" "@PROGRAM@" "no"
- if test -n "$exclude_expsyms"; then
- $run eval '$EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T'
- $run eval '$mv "$nlist"T "$nlist"'
- fi
-
- if test -n "$export_symbols_regex"; then
- $run eval '$EGREP -e "$export_symbols_regex" "$nlist" > "$nlist"T'
- $run eval '$mv "$nlist"T "$nlist"'
- fi
-
- # Prepare the list of exported symbols
- if test -z "$export_symbols"; then
- export_symbols="$output_objdir/$outputname.exp"
- $run $rm $export_symbols
- $run eval "${SED} -n -e '/^: @PROGRAM@ $/d' -e 's/^.* \(.*\)$/\1/p' "'< "$nlist" > "$export_symbols"'
- case $host in
- *cygwin* | *mingw* )
- $run eval "echo EXPORTS "'> "$output_objdir/$outputname.def"'
- $run eval 'cat "$export_symbols" >> "$output_objdir/$outputname.def"'
- ;;
- esac
- else
- $run eval "${SED} -e 's/\([].[*^$]\)/\\\\\1/g' -e 's/^/ /' -e 's/$/$/'"' < "$export_symbols" > "$output_objdir/$outputname.exp"'
- $run eval 'grep -f "$output_objdir/$outputname.exp" < "$nlist" > "$nlist"T'
- $run eval 'mv "$nlist"T "$nlist"'
- case $host in
- *cygwin* | *mingw* )
- $run eval "echo EXPORTS "'> "$output_objdir/$outputname.def"'
- $run eval 'cat "$nlist" >> "$output_objdir/$outputname.def"'
- ;;
- esac
- fi
- fi
-
- for arg in $dlprefiles; do
- $show "extracting global C symbols from \`$arg'"
- name=`$echo "$arg" | ${SED} -e 's%^.*/%%'`
- $run eval '$echo ": $name " >> "$nlist"'
- $run eval "$NM $arg | $global_symbol_pipe >> '$nlist'"
- done
-
- if test -z "$run"; then
- # Make sure we have at least an empty file.
- test -f "$nlist" || : > "$nlist"
-
- if test -n "$exclude_expsyms"; then
- $EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T
- $mv "$nlist"T "$nlist"
- fi
-
- # Try sorting and uniquifying the output.
- if grep -v "^: " < "$nlist" |
- if sort -k 3 </dev/null >/dev/null 2>&1; then
- sort -k 3
- else
- sort +2
- fi |
- uniq > "$nlist"S; then
- :
- else
- grep -v "^: " < "$nlist" > "$nlist"S
- fi
-
- if test -f "$nlist"S; then
- eval "$global_symbol_to_cdecl"' < "$nlist"S >> "$output_objdir/$dlsyms"'
- else
- $echo '/* NONE */' >> "$output_objdir/$dlsyms"
- fi
-
- $echo >> "$output_objdir/$dlsyms" "\
-
-#undef lt_preloaded_symbols
-
-#if defined (__STDC__) && __STDC__
-# define lt_ptr void *
-#else
-# define lt_ptr char *
-# define const
-#endif
-
-/* The mapping between symbol names and symbols. */
-"
-
- case $host in
- *cygwin* | *mingw* )
- $echo >> "$output_objdir/$dlsyms" "\
-/* DATA imports from DLLs on WIN32 can't be const, because
- runtime relocations are performed -- see ld's documentation
- on pseudo-relocs */
-struct {
-"
- ;;
- * )
- $echo >> "$output_objdir/$dlsyms" "\
-const struct {
-"
- ;;
- esac
-
-
- $echo >> "$output_objdir/$dlsyms" "\
- const char *name;
- lt_ptr address;
-}
-lt_preloaded_symbols[] =
-{\
-"
-
- eval "$global_symbol_to_c_name_address" < "$nlist" >> "$output_objdir/$dlsyms"
-
- $echo >> "$output_objdir/$dlsyms" "\
- {0, (lt_ptr) 0}
-};
-
-/* This works around a problem in FreeBSD linker */
-#ifdef FREEBSD_WORKAROUND
-static const void *lt_preloaded_setup() {
- return lt_preloaded_symbols;
-}
-#endif
-
-#ifdef __cplusplus
-}
-#endif\
-"
- fi
-
- pic_flag_for_symtable=
- case $host in
- # compiling the symbol table file with pic_flag works around
- # a FreeBSD bug that causes programs to crash when -lm is
- # linked before any other PIC object. But we must not use
- # pic_flag when linking with -static. The problem exists in
- # FreeBSD 2.2.6 and is fixed in FreeBSD 3.1.
- *-*-freebsd2*|*-*-freebsd3.0*|*-*-freebsdelf3.0*)
- case "$compile_command " in
- *" -static "*) ;;
- *) pic_flag_for_symtable=" $pic_flag -DFREEBSD_WORKAROUND";;
- esac;;
- *-*-hpux*)
- case "$compile_command " in
- *" -static "*) ;;
- *) pic_flag_for_symtable=" $pic_flag";;
- esac
- esac
-
- # Now compile the dynamic symbol file.
- $show "(cd $output_objdir && $LTCC $LTCFLAGS -c$no_builtin_flag$pic_flag_for_symtable \"$dlsyms\")"
- $run eval '(cd $output_objdir && $LTCC $LTCFLAGS -c$no_builtin_flag$pic_flag_for_symtable "$dlsyms")' || exit $?
-
- # Clean up the generated files.
- $show "$rm $output_objdir/$dlsyms $nlist ${nlist}S ${nlist}T"
- $run $rm "$output_objdir/$dlsyms" "$nlist" "${nlist}S" "${nlist}T"
-
- # Transform the symbol file into the correct name.
- case $host in
- *cygwin* | *mingw* )
- if test -f "$output_objdir/${outputname}.def" ; then
- compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}.def $output_objdir/${outputname}S.${objext}%" | $NL2SP`
- finalize_command=`$echo "X$finalize_command" | $SP2NL | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}.def $output_objdir/${outputname}S.${objext}%" | $NL2SP`
- else
- compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%" | $NL2SP`
- finalize_command=`$echo "X$finalize_command" | $SP2NL | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%" | $NL2SP`
- fi
- ;;
- * )
- compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%" | $NL2SP`
- finalize_command=`$echo "X$finalize_command" | $SP2NL | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%" | $NL2SP`
- ;;
- esac
- ;;
- *)
- $echo "$modename: unknown suffix for \`$dlsyms'" 1>&2
- exit $EXIT_FAILURE
- ;;
- esac
- else
- # We keep going just in case the user didn't refer to
- # lt_preloaded_symbols. The linker will fail if global_symbol_pipe
- # really was required.
-
- # Nullify the symbol file.
- compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e "s% @SYMFILE@%%" | $NL2SP`
- finalize_command=`$echo "X$finalize_command" | $SP2NL | $Xsed -e "s% @SYMFILE@%%" | $NL2SP`
+ # template prelinking step
+ if test -n "$prelink_cmds"; then
+ func_execute_cmds "$prelink_cmds" 'exit $?'
fi
- if test "$need_relink" = no || test "$build_libtool_libs" != yes; then
+ wrappers_required=yes
+ case $host in
+ *cygwin* | *mingw* )
+ if test "$build_libtool_libs" != yes; then
+ wrappers_required=no
+ fi
+ ;;
+ *cegcc)
+ # Disable wrappers for cegcc, we are cross compiling anyway.
+ wrappers_required=no
+ ;;
+ *)
+ if test "$need_relink" = no || test "$build_libtool_libs" != yes; then
+ wrappers_required=no
+ fi
+ ;;
+ esac
+ if test "$wrappers_required" = no; then
# Replace the output file specification.
- compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e 's%@OUTPUT@%'"$output"'%g' | $NL2SP`
+ compile_command=`$ECHO "X$compile_command" | $Xsed -e 's%@OUTPUT@%'"$output"'%g'`
link_command="$compile_command$compile_rpath"
# We have no uninstalled library dependencies, so finalize right now.
- $show "$link_command"
- $run eval "$link_command"
- exit_status=$?
+ exit_status=0
+ func_show_eval "$link_command" 'exit_status=$?'
# Delete the generated files.
- if test -n "$dlsyms"; then
- $show "$rm $output_objdir/${outputname}S.${objext}"
- $run $rm "$output_objdir/${outputname}S.${objext}"
+ if test -f "$output_objdir/${outputname}S.${objext}"; then
+ func_show_eval '$RM "$output_objdir/${outputname}S.${objext}"'
fi
exit $exit_status
fi
- if test -n "$shlibpath_var"; then
- # We should set the shlibpath_var
- rpath=
- for dir in $temp_rpath; do
- case $dir in
- [\\/]* | [A-Za-z]:[\\/]*)
- # Absolute path.
- rpath="$rpath$dir:"
- ;;
- *)
- # Relative path: add a thisdir entry.
- rpath="$rpath\$thisdir/$dir:"
- ;;
- esac
- done
- temp_rpath="$rpath"
- fi
-
if test -n "$compile_shlibpath$finalize_shlibpath"; then
compile_command="$shlibpath_var=\"$compile_shlibpath$finalize_shlibpath\$$shlibpath_var\" $compile_command"
fi
@@ -4838,12 +7744,11 @@ static const void *lt_preloaded_setup() {
# We don't need to create a wrapper script.
link_command="$compile_var$compile_command$compile_rpath"
# Replace the output file specification.
- link_command=`$echo "X$link_command" | $Xsed -e 's%@OUTPUT@%'"$output"'%g'`
+ link_command=`$ECHO "X$link_command" | $Xsed -e 's%@OUTPUT@%'"$output"'%g'`
# Delete the old output file.
- $run $rm $output
+ $opt_dry_run || $RM $output
# Link the executable and exit
- $show "$link_command"
- $run eval "$link_command" || exit $?
+ func_show_eval "$link_command" 'exit $?'
exit $EXIT_SUCCESS
fi
@@ -4852,13 +7757,13 @@ static const void *lt_preloaded_setup() {
link_command="$compile_var$compile_command$compile_rpath"
relink_command="$finalize_var$finalize_command$finalize_rpath"
- $echo "$modename: warning: this platform does not like uninstalled shared libraries" 1>&2
- $echo "$modename: \`$output' will be relinked during installation" 1>&2
+ func_warning "this platform does not like uninstalled shared libraries"
+ func_warning "\`$output' will be relinked during installation"
else
if test "$fast_install" != no; then
link_command="$finalize_var$compile_command$finalize_rpath"
if test "$fast_install" = yes; then
- relink_command=`$echo "X$compile_var$compile_command$compile_rpath" | $SP2NL | $Xsed -e 's%@OUTPUT@%\$progdir/\$file%g' | $NL2SP`
+ relink_command=`$ECHO "X$compile_var$compile_command$compile_rpath" | $Xsed -e 's%@OUTPUT@%\$progdir/\$file%g'`
else
# fast_install is set to needless
relink_command=
@@ -4870,608 +7775,103 @@ static const void *lt_preloaded_setup() {
fi
# Replace the output file specification.
- link_command=`$echo "X$link_command" | $Xsed -e 's%@OUTPUT@%'"$output_objdir/$outputname"'%g'`
+ link_command=`$ECHO "X$link_command" | $Xsed -e 's%@OUTPUT@%'"$output_objdir/$outputname"'%g'`
# Delete the old output files.
- $run $rm $output $output_objdir/$outputname $output_objdir/lt-$outputname
+ $opt_dry_run || $RM $output $output_objdir/$outputname $output_objdir/lt-$outputname
- $show "$link_command"
- $run eval "$link_command" || exit $?
+ func_show_eval "$link_command" 'exit $?'
# Now create the wrapper script.
- $show "creating $output"
+ func_verbose "creating $output"
# Quote the relink command for shipping.
if test -n "$relink_command"; then
# Preserve any variables that may affect compiler behavior
for var in $variables_saved_for_relink; do
if eval test -z \"\${$var+set}\"; then
- relink_command="{ test -z \"\${$var+set}\" || unset $var || { $var=; export $var; }; }; $relink_command"
+ relink_command="{ test -z \"\${$var+set}\" || $lt_unset $var || { $var=; export $var; }; }; $relink_command"
elif eval var_value=\$$var; test -z "$var_value"; then
relink_command="$var=; export $var; $relink_command"
else
- var_value=`$echo "X$var_value" | $Xsed -e "$sed_quote_subst"`
- relink_command="$var=\"$var_value\"; export $var; $relink_command"
+ func_quote_for_eval "$var_value"
+ relink_command="$var=$func_quote_for_eval_result; export $var; $relink_command"
fi
done
relink_command="(cd `pwd`; $relink_command)"
- relink_command=`$echo "X$relink_command" | $SP2NL | $Xsed -e "$sed_quote_subst" | $NL2SP`
+ relink_command=`$ECHO "X$relink_command" | $Xsed -e "$sed_quote_subst"`
fi
- # Quote $echo for shipping.
- if test "X$echo" = "X$SHELL $progpath --fallback-echo"; then
+ # Quote $ECHO for shipping.
+ if test "X$ECHO" = "X$SHELL $progpath --fallback-echo"; then
case $progpath in
[\\/]* | [A-Za-z]:[\\/]*) qecho="$SHELL $progpath --fallback-echo";;
*) qecho="$SHELL `pwd`/$progpath --fallback-echo";;
esac
- qecho=`$echo "X$qecho" | $Xsed -e "$sed_quote_subst"`
+ qecho=`$ECHO "X$qecho" | $Xsed -e "$sed_quote_subst"`
else
- qecho=`$echo "X$echo" | $Xsed -e "$sed_quote_subst"`
+ qecho=`$ECHO "X$ECHO" | $Xsed -e "$sed_quote_subst"`
fi
- # Only actually do things if our run command is non-null.
- if test -z "$run"; then
+ # Only actually do things if not in dry run mode.
+ $opt_dry_run || {
# win32 will think the script is a binary if it has
# a .exe suffix, so we strip it off here.
case $output in
- *.exe) output=`$echo $output|${SED} 's,.exe$,,'` ;;
+ *.exe) func_stripname '' '.exe' "$output"
+ output=$func_stripname_result ;;
esac
# test for cygwin because mv fails w/o .exe extensions
case $host in
*cygwin*)
exeext=.exe
- outputname=`$echo $outputname|${SED} 's,.exe$,,'` ;;
+ func_stripname '' '.exe' "$outputname"
+ outputname=$func_stripname_result ;;
*) exeext= ;;
esac
case $host in
*cygwin* | *mingw* )
- output_name=`basename $output`
- output_path=`dirname $output`
- cwrappersource="$output_path/$objdir/lt-$output_name.c"
- cwrapper="$output_path/$output_name.exe"
- $rm $cwrappersource $cwrapper
- trap "$rm $cwrappersource $cwrapper; exit $EXIT_FAILURE" 1 2 15
-
- cat > $cwrappersource <<EOF
-
-/* $cwrappersource - temporary wrapper executable for $objdir/$outputname
- Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP
-
- The $output program cannot be directly executed until all the libtool
- libraries that it depends on are installed.
-
- This wrapper executable should never be moved out of the build directory.
- If it is, it will not operate correctly.
-
- Currently, it simply execs the wrapper *script* "/bin/sh $output",
- but could eventually absorb all of the scripts functionality and
- exec $objdir/$outputname directly.
-*/
-EOF
- cat >> $cwrappersource<<"EOF"
-#include <stdio.h>
-#include <stdlib.h>
-#include <unistd.h>
-#include <malloc.h>
-#include <stdarg.h>
-#include <assert.h>
-#include <string.h>
-#include <ctype.h>
-#include <sys/stat.h>
-
-#if defined(PATH_MAX)
-# define LT_PATHMAX PATH_MAX
-#elif defined(MAXPATHLEN)
-# define LT_PATHMAX MAXPATHLEN
-#else
-# define LT_PATHMAX 1024
-#endif
-
-#ifndef DIR_SEPARATOR
-# define DIR_SEPARATOR '/'
-# define PATH_SEPARATOR ':'
-#endif
-
-#if defined (_WIN32) || defined (__MSDOS__) || defined (__DJGPP__) || \
- defined (__OS2__)
-# define HAVE_DOS_BASED_FILE_SYSTEM
-# ifndef DIR_SEPARATOR_2
-# define DIR_SEPARATOR_2 '\\'
-# endif
-# ifndef PATH_SEPARATOR_2
-# define PATH_SEPARATOR_2 ';'
-# endif
-#endif
-
-#ifndef DIR_SEPARATOR_2
-# define IS_DIR_SEPARATOR(ch) ((ch) == DIR_SEPARATOR)
-#else /* DIR_SEPARATOR_2 */
-# define IS_DIR_SEPARATOR(ch) \
- (((ch) == DIR_SEPARATOR) || ((ch) == DIR_SEPARATOR_2))
-#endif /* DIR_SEPARATOR_2 */
-
-#ifndef PATH_SEPARATOR_2
-# define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR)
-#else /* PATH_SEPARATOR_2 */
-# define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR_2)
-#endif /* PATH_SEPARATOR_2 */
-
-#define XMALLOC(type, num) ((type *) xmalloc ((num) * sizeof(type)))
-#define XFREE(stale) do { \
- if (stale) { free ((void *) stale); stale = 0; } \
-} while (0)
-
-/* -DDEBUG is fairly common in CFLAGS. */
-#undef DEBUG
-#if defined DEBUGWRAPPER
-# define DEBUG(format, ...) fprintf(stderr, format, __VA_ARGS__)
-#else
-# define DEBUG(format, ...)
-#endif
-
-const char *program_name = NULL;
-
-void * xmalloc (size_t num);
-char * xstrdup (const char *string);
-const char * base_name (const char *name);
-char * find_executable(const char *wrapper);
-int check_executable(const char *path);
-char * strendzap(char *str, const char *pat);
-void lt_fatal (const char *message, ...);
-
-int
-main (int argc, char *argv[])
-{
- char **newargz;
- int i;
-
- program_name = (char *) xstrdup (base_name (argv[0]));
- DEBUG("(main) argv[0] : %s\n",argv[0]);
- DEBUG("(main) program_name : %s\n",program_name);
- newargz = XMALLOC(char *, argc+2);
-EOF
-
- cat >> $cwrappersource <<EOF
- newargz[0] = (char *) xstrdup("$SHELL");
-EOF
-
- cat >> $cwrappersource <<"EOF"
- newargz[1] = find_executable(argv[0]);
- if (newargz[1] == NULL)
- lt_fatal("Couldn't find %s", argv[0]);
- DEBUG("(main) found exe at : %s\n",newargz[1]);
- /* we know the script has the same name, without the .exe */
- /* so make sure newargz[1] doesn't end in .exe */
- strendzap(newargz[1],".exe");
- for (i = 1; i < argc; i++)
- newargz[i+1] = xstrdup(argv[i]);
- newargz[argc+1] = NULL;
-
- for (i=0; i<argc+1; i++)
- {
- DEBUG("(main) newargz[%d] : %s\n",i,newargz[i]);
- ;
- }
-
-EOF
-
- case $host_os in
- mingw*)
- cat >> $cwrappersource <<EOF
- execv("$SHELL",(char const **)newargz);
-EOF
- ;;
- *)
- cat >> $cwrappersource <<EOF
- execv("$SHELL",newargz);
-EOF
- ;;
- esac
-
- cat >> $cwrappersource <<"EOF"
- return 127;
-}
-
-void *
-xmalloc (size_t num)
-{
- void * p = (void *) malloc (num);
- if (!p)
- lt_fatal ("Memory exhausted");
-
- return p;
-}
-
-char *
-xstrdup (const char *string)
-{
- return string ? strcpy ((char *) xmalloc (strlen (string) + 1), string) : NULL
-;
-}
-
-const char *
-base_name (const char *name)
-{
- const char *base;
-
-#if defined (HAVE_DOS_BASED_FILE_SYSTEM)
- /* Skip over the disk name in MSDOS pathnames. */
- if (isalpha ((unsigned char)name[0]) && name[1] == ':')
- name += 2;
-#endif
-
- for (base = name; *name; name++)
- if (IS_DIR_SEPARATOR (*name))
- base = name + 1;
- return base;
-}
-
-int
-check_executable(const char * path)
-{
- struct stat st;
-
- DEBUG("(check_executable) : %s\n", path ? (*path ? path : "EMPTY!") : "NULL!");
- if ((!path) || (!*path))
- return 0;
-
- if ((stat (path, &st) >= 0) &&
- (
- /* MinGW & native WIN32 do not support S_IXOTH or S_IXGRP */
-#if defined (S_IXOTH)
- ((st.st_mode & S_IXOTH) == S_IXOTH) ||
-#endif
-#if defined (S_IXGRP)
- ((st.st_mode & S_IXGRP) == S_IXGRP) ||
-#endif
- ((st.st_mode & S_IXUSR) == S_IXUSR))
- )
- return 1;
- else
- return 0;
-}
-
-/* Searches for the full path of the wrapper. Returns
- newly allocated full path name if found, NULL otherwise */
-char *
-find_executable (const char* wrapper)
-{
- int has_slash = 0;
- const char* p;
- const char* p_next;
- /* static buffer for getcwd */
- char tmp[LT_PATHMAX + 1];
- int tmp_len;
- char* concat_name;
-
- DEBUG("(find_executable) : %s\n", wrapper ? (*wrapper ? wrapper : "EMPTY!") : "NULL!");
-
- if ((wrapper == NULL) || (*wrapper == '\0'))
- return NULL;
-
- /* Absolute path? */
-#if defined (HAVE_DOS_BASED_FILE_SYSTEM)
- if (isalpha ((unsigned char)wrapper[0]) && wrapper[1] == ':')
- {
- concat_name = xstrdup (wrapper);
- if (check_executable(concat_name))
- return concat_name;
- XFREE(concat_name);
- }
- else
- {
-#endif
- if (IS_DIR_SEPARATOR (wrapper[0]))
- {
- concat_name = xstrdup (wrapper);
- if (check_executable(concat_name))
- return concat_name;
- XFREE(concat_name);
- }
-#if defined (HAVE_DOS_BASED_FILE_SYSTEM)
- }
-#endif
-
- for (p = wrapper; *p; p++)
- if (*p == '/')
- {
- has_slash = 1;
- break;
- }
- if (!has_slash)
- {
- /* no slashes; search PATH */
- const char* path = getenv ("PATH");
- if (path != NULL)
- {
- for (p = path; *p; p = p_next)
- {
- const char* q;
- size_t p_len;
- for (q = p; *q; q++)
- if (IS_PATH_SEPARATOR(*q))
- break;
- p_len = q - p;
- p_next = (*q == '\0' ? q : q + 1);
- if (p_len == 0)
- {
- /* empty path: current directory */
- if (getcwd (tmp, LT_PATHMAX) == NULL)
- lt_fatal ("getcwd failed");
- tmp_len = strlen(tmp);
- concat_name = XMALLOC(char, tmp_len + 1 + strlen(wrapper) + 1);
- memcpy (concat_name, tmp, tmp_len);
- concat_name[tmp_len] = '/';
- strcpy (concat_name + tmp_len + 1, wrapper);
- }
- else
- {
- concat_name = XMALLOC(char, p_len + 1 + strlen(wrapper) + 1);
- memcpy (concat_name, p, p_len);
- concat_name[p_len] = '/';
- strcpy (concat_name + p_len + 1, wrapper);
- }
- if (check_executable(concat_name))
- return concat_name;
- XFREE(concat_name);
- }
- }
- /* not found in PATH; assume curdir */
- }
- /* Relative path | not found in path: prepend cwd */
- if (getcwd (tmp, LT_PATHMAX) == NULL)
- lt_fatal ("getcwd failed");
- tmp_len = strlen(tmp);
- concat_name = XMALLOC(char, tmp_len + 1 + strlen(wrapper) + 1);
- memcpy (concat_name, tmp, tmp_len);
- concat_name[tmp_len] = '/';
- strcpy (concat_name + tmp_len + 1, wrapper);
-
- if (check_executable(concat_name))
- return concat_name;
- XFREE(concat_name);
- return NULL;
-}
-
-char *
-strendzap(char *str, const char *pat)
-{
- size_t len, patlen;
-
- assert(str != NULL);
- assert(pat != NULL);
-
- len = strlen(str);
- patlen = strlen(pat);
-
- if (patlen <= len)
- {
- str += len - patlen;
- if (strcmp(str, pat) == 0)
- *str = '\0';
- }
- return str;
-}
-
-static void
-lt_error_core (int exit_status, const char * mode,
- const char * message, va_list ap)
-{
- fprintf (stderr, "%s: %s: ", program_name, mode);
- vfprintf (stderr, message, ap);
- fprintf (stderr, ".\n");
-
- if (exit_status >= 0)
- exit (exit_status);
-}
-
-void
-lt_fatal (const char *message, ...)
-{
- va_list ap;
- va_start (ap, message);
- lt_error_core (EXIT_FAILURE, "FATAL", message, ap);
- va_end (ap);
-}
-EOF
- # we should really use a build-platform specific compiler
- # here, but OTOH, the wrappers (shell script and this C one)
- # are only useful if you want to execute the "real" binary.
- # Since the "real" binary is built for $host, then this
- # wrapper might as well be built for $host, too.
- $run $LTCC $LTCFLAGS -s -o $cwrapper $cwrappersource
- ;;
- esac
- $rm $output
- trap "$rm $output; exit $EXIT_FAILURE" 1 2 15
-
- $echo > $output "\
-#! $SHELL
-
-# $output - temporary wrapper script for $objdir/$outputname
-# Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP
-#
-# The $output program cannot be directly executed until all the libtool
-# libraries that it depends on are installed.
-#
-# This wrapper script should never be moved out of the build directory.
-# If it is, it will not operate correctly.
-
-# Sed substitution that helps us do robust quoting. It backslashifies
-# metacharacters that are still active within double-quoted strings.
-Xsed='${SED} -e 1s/^X//'
-sed_quote_subst='$sed_quote_subst'
-
-# Be Bourne compatible (taken from Autoconf:_AS_BOURNE_COMPATIBLE).
-if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then
- emulate sh
- NULLCMD=:
- # Zsh 3.x and 4.x performs word splitting on \${1+\"\$@\"}, which
- # is contrary to our usage. Disable this feature.
- alias -g '\${1+\"\$@\"}'='\"\$@\"'
- setopt NO_GLOB_SUBST
-else
- case \`(set -o) 2>/dev/null\` in *posix*) set -o posix;; esac
-fi
-BIN_SH=xpg4; export BIN_SH # for Tru64
-DUALCASE=1; export DUALCASE # for MKS sh
-
-# The HP-UX ksh and POSIX shell print the target directory to stdout
-# if CDPATH is set.
-(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
-
-relink_command=\"$relink_command\"
-
-# This environment variable determines our operation mode.
-if test \"\$libtool_install_magic\" = \"$magic\"; then
- # install mode needs the following variable:
- notinst_deplibs='$notinst_deplibs'
-else
- # When we are sourced in execute mode, \$file and \$echo are already set.
- if test \"\$libtool_execute_magic\" != \"$magic\"; then
- echo=\"$qecho\"
- file=\"\$0\"
- # Make sure echo works.
- if test \"X\$1\" = X--no-reexec; then
- # Discard the --no-reexec flag, and continue.
- shift
- elif test \"X\`(\$echo '\t') 2>/dev/null\`\" = 'X\t'; then
- # Yippee, \$echo works!
- :
- else
- # Restart under the correct shell, and then maybe \$echo will work.
- exec $SHELL \"\$0\" --no-reexec \${1+\"\$@\"}
- fi
- fi\
-"
- $echo >> $output "\
-
- # Find the directory that this script lives in.
- thisdir=\`\$echo \"X\$file\" | \$Xsed -e 's%/[^/]*$%%'\`
- test \"x\$thisdir\" = \"x\$file\" && thisdir=.
-
- # Follow symbolic links until we get to the real thisdir.
- file=\`ls -ld \"\$file\" | ${SED} -n 's/.*-> //p'\`
- while test -n \"\$file\"; do
- destdir=\`\$echo \"X\$file\" | \$Xsed -e 's%/[^/]*\$%%'\`
-
- # If there was a directory component, then change thisdir.
- if test \"x\$destdir\" != \"x\$file\"; then
- case \"\$destdir\" in
- [\\\\/]* | [A-Za-z]:[\\\\/]*) thisdir=\"\$destdir\" ;;
- *) thisdir=\"\$thisdir/\$destdir\" ;;
- esac
- fi
-
- file=\`\$echo \"X\$file\" | \$Xsed -e 's%^.*/%%'\`
- file=\`ls -ld \"\$thisdir/\$file\" | ${SED} -n 's/.*-> //p'\`
- done
-
- # Try to get the absolute directory name.
- absdir=\`cd \"\$thisdir\" && pwd\`
- test -n \"\$absdir\" && thisdir=\"\$absdir\"
-"
-
- if test "$fast_install" = yes; then
- $echo >> $output "\
- program=lt-'$outputname'$exeext
- progdir=\"\$thisdir/$objdir\"
-
- if test ! -f \"\$progdir/\$program\" || \\
- { file=\`ls -1dt \"\$progdir/\$program\" \"\$progdir/../\$program\" 2>/dev/null | ${SED} 1q\`; \\
- test \"X\$file\" != \"X\$progdir/\$program\"; }; then
-
- file=\"\$\$-\$program\"
-
- if test ! -d \"\$progdir\"; then
- $mkdir \"\$progdir\"
- else
- $rm \"\$progdir/\$file\"
- fi"
-
- $echo >> $output "\
-
- # relink executable if necessary
- if test -n \"\$relink_command\"; then
- if relink_command_output=\`eval \$relink_command 2>&1\`; then :
- else
- $echo \"\$relink_command_output\" >&2
- $rm \"\$progdir/\$file\"
- exit $EXIT_FAILURE
- fi
- fi
-
- $mv \"\$progdir/\$file\" \"\$progdir/\$program\" 2>/dev/null ||
- { $rm \"\$progdir/\$program\";
- $mv \"\$progdir/\$file\" \"\$progdir/\$program\"; }
- $rm \"\$progdir/\$file\"
- fi"
- else
- $echo >> $output "\
- program='$outputname'
- progdir=\"\$thisdir/$objdir\"
-"
- fi
-
- $echo >> $output "\
-
- if test -f \"\$progdir/\$program\"; then"
-
- # Export our shlibpath_var if we have one.
- if test "$shlibpath_overrides_runpath" = yes && test -n "$shlibpath_var" && test -n "$temp_rpath"; then
- $echo >> $output "\
- # Add our own library path to $shlibpath_var
- $shlibpath_var=\"$temp_rpath\$$shlibpath_var\"
-
- # Some systems cannot cope with colon-terminated $shlibpath_var
- # The second colon is a workaround for a bug in BeOS R4 sed
- $shlibpath_var=\`\$echo \"X\$$shlibpath_var\" | \$Xsed -e 's/::*\$//'\`
-
- export $shlibpath_var
-"
- fi
-
- # fixup the dll searchpath if we need to.
- if test -n "$dllsearchpath"; then
- $echo >> $output "\
- # Add the dll search path components to the executable PATH
- PATH=$dllsearchpath:\$PATH
-"
- fi
+ func_dirname_and_basename "$output" "" "."
+ output_name=$func_basename_result
+ output_path=$func_dirname_result
+ cwrappersource="$output_path/$objdir/lt-$output_name.c"
+ cwrapper="$output_path/$output_name.exe"
+ $RM $cwrappersource $cwrapper
+ trap "$RM $cwrappersource $cwrapper; exit $EXIT_FAILURE" 1 2 15
+
+ func_emit_cwrapperexe_src > $cwrappersource
+
+ # The wrapper executable is built using the $host compiler,
+ # because it contains $host paths and files. If cross-
+ # compiling, it, like the target executable, must be
+ # executed on the $host or under an emulation environment.
+ $opt_dry_run || {
+ $LTCC $LTCFLAGS -o $cwrapper $cwrappersource
+ $STRIP $cwrapper
+ }
- $echo >> $output "\
- if test \"\$libtool_execute_magic\" != \"$magic\"; then
- # Run the actual program with our arguments.
-"
- case $host in
- # Backslashes separate directories on plain windows
- *-*-mingw | *-*-os2*)
- $echo >> $output "\
- exec \"\$progdir\\\\\$program\" \${1+\"\$@\"}
-"
+ # Now, create the wrapper script for func_source use:
+ func_ltwrapper_scriptname $cwrapper
+ $RM $func_ltwrapper_scriptname_result
+ trap "$RM $func_ltwrapper_scriptname_result; exit $EXIT_FAILURE" 1 2 15
+ $opt_dry_run || {
+ # note: this script will not be executed, so do not chmod.
+ if test "x$build" = "x$host" ; then
+ $cwrapper --lt-dump-script > $func_ltwrapper_scriptname_result
+ else
+ func_emit_wrapper no > $func_ltwrapper_scriptname_result
+ fi
+ }
;;
+ * )
+ $RM $output
+ trap "$RM $output; exit $EXIT_FAILURE" 1 2 15
- *)
- $echo >> $output "\
- exec \"\$progdir/\$program\" \${1+\"\$@\"}
-"
+ func_emit_wrapper no > $output
+ chmod +x $output
;;
esac
- $echo >> $output "\
- \$echo \"\$0: cannot exec \$program \$*\"
- exit $EXIT_FAILURE
- fi
- else
- # The program doesn't exist.
- \$echo \"\$0: error: \\\`\$progdir/\$program' does not exist\" 1>&2
- \$echo \"This script is just a wrapper for \$program.\" 1>&2
- $echo \"See the $PACKAGE documentation for more information.\" 1>&2
- exit $EXIT_FAILURE
- fi
-fi\
-"
- chmod +x $output
- fi
+ }
exit $EXIT_SUCCESS
;;
esac
@@ -5480,7 +7880,7 @@ fi\
for oldlib in $oldlibs; do
if test "$build_libtool_libs" = convenience; then
- oldobjs="$libobjs_save"
+ oldobjs="$libobjs_save $symfileobj"
addlibs="$convenience"
build_libtool_libs=no
else
@@ -5489,6 +7889,9 @@ fi\
build_libtool_libs=no
else
oldobjs="$old_deplibs $non_pic_objects"
+ if test "$preload" = yes && test -f "$symfileobj"; then
+ oldobjs="$oldobjs $symfileobj"
+ fi
fi
addlibs="$old_convenience"
fi
@@ -5503,8 +7906,18 @@ fi\
# Do each command in the archive commands.
if test -n "$old_archive_from_new_cmds" && test "$build_libtool_libs" = yes; then
- cmds=$old_archive_from_new_cmds
+ cmds=$old_archive_from_new_cmds
else
+
+ # Add any objects from preloaded convenience libraries
+ if test -n "$dlprefiles"; then
+ gentop="$output_objdir/${outputname}x"
+ generated="$generated $gentop"
+
+ func_extract_archives $gentop $dlprefiles
+ oldobjs="$oldobjs $func_extract_archives_result"
+ fi
+
# POSIX demands no paths to be encoded in archives. We have
# to avoid creating archives with duplicate basenames if we
# might have to extract them afterwards, e.g., when creating a
@@ -5513,32 +7926,22 @@ fi\
# not supported by libtool).
if (for obj in $oldobjs
do
- $echo "X$obj" | $Xsed -e 's%^.*/%%'
+ func_basename "$obj"
+ $ECHO "$func_basename_result"
done | sort | sort -uc >/dev/null 2>&1); then
:
else
- $echo "copying selected object files to avoid basename conflicts..."
-
- if test -z "$gentop"; then
- gentop="$output_objdir/${outputname}x"
- generated="$generated $gentop"
-
- $show "${rm}r $gentop"
- $run ${rm}r "$gentop"
- $show "$mkdir $gentop"
- $run $mkdir "$gentop"
- exit_status=$?
- if test "$exit_status" -ne 0 && test ! -d "$gentop"; then
- exit $exit_status
- fi
- fi
-
+ $ECHO "copying selected object files to avoid basename conflicts..."
+ gentop="$output_objdir/${outputname}x"
+ generated="$generated $gentop"
+ func_mkdir_p "$gentop"
save_oldobjs=$oldobjs
oldobjs=
counter=1
for obj in $save_oldobjs
do
- objbase=`$echo "X$obj" | $Xsed -e 's%^.*/%%'`
+ func_basename "$obj"
+ objbase="$func_basename_result"
case " $oldobjs " in
" ") oldobjs=$obj ;;
*[\ /]"$objbase "*)
@@ -5546,58 +7949,62 @@ fi\
# Make sure we don't pick an alternate name that also
# overlaps.
newobj=lt$counter-$objbase
- counter=`expr $counter + 1`
+ func_arith $counter + 1
+ counter=$func_arith_result
case " $oldobjs " in
*[\ /]"$newobj "*) ;;
*) if test ! -f "$gentop/$newobj"; then break; fi ;;
esac
done
- $show "ln $obj $gentop/$newobj || cp $obj $gentop/$newobj"
- $run ln "$obj" "$gentop/$newobj" ||
- $run cp "$obj" "$gentop/$newobj"
+ func_show_eval "ln $obj $gentop/$newobj || cp $obj $gentop/$newobj"
oldobjs="$oldobjs $gentop/$newobj"
;;
*) oldobjs="$oldobjs $obj" ;;
esac
done
fi
-
eval cmds=\"$old_archive_cmds\"
- if len=`expr "X$cmds" : ".*"` &&
- test "$len" -le "$max_cmd_len" || test "$max_cmd_len" -le -1; then
+ func_len " $cmds"
+ len=$func_len_result
+ if test "$len" -lt "$max_cmd_len" || test "$max_cmd_len" -le -1; then
cmds=$old_archive_cmds
else
# the command line is too long to link in one step, link in parts
- $echo "using piecewise archive linking..."
+ func_verbose "using piecewise archive linking..."
save_RANLIB=$RANLIB
RANLIB=:
objlist=
concat_cmds=
save_oldobjs=$oldobjs
-
+ oldobjs=
# Is there a better way of finding the last object in the list?
for obj in $save_oldobjs
do
last_oldobj=$obj
done
+ eval test_cmds=\"$old_archive_cmds\"
+ func_len " $test_cmds"
+ len0=$func_len_result
+ len=$len0
for obj in $save_oldobjs
do
- oldobjs="$objlist $obj"
- objlist="$objlist $obj"
- eval test_cmds=\"$old_archive_cmds\"
- if len=`expr "X$test_cmds" : ".*" 2>/dev/null` &&
- test "$len" -le "$max_cmd_len"; then
+ func_len " $obj"
+ func_arith $len + $func_len_result
+ len=$func_arith_result
+ func_append objlist " $obj"
+ if test "$len" -lt "$max_cmd_len"; then
:
else
# the above command should be used before it gets too long
oldobjs=$objlist
if test "$obj" = "$last_oldobj" ; then
- RANLIB=$save_RANLIB
+ RANLIB=$save_RANLIB
fi
test -z "$concat_cmds" || concat_cmds=$concat_cmds~
eval concat_cmds=\"\${concat_cmds}$old_archive_cmds\"
objlist=
+ len=$len0
fi
done
RANLIB=$save_RANLIB
@@ -5609,49 +8016,39 @@ fi\
fi
fi
fi
- save_ifs="$IFS"; IFS='~'
- for cmd in $cmds; do
- eval cmd=\"$cmd\"
- IFS="$save_ifs"
- $show "$cmd"
- $run eval "$cmd" || exit $?
- done
- IFS="$save_ifs"
+ func_execute_cmds "$cmds" 'exit $?'
done
- if test -n "$generated"; then
- $show "${rm}r$generated"
- $run ${rm}r$generated
- fi
+ test -n "$generated" && \
+ func_show_eval "${RM}r$generated"
# Now create the libtool archive.
case $output in
*.la)
old_library=
test "$build_old_libs" = yes && old_library="$libname.$libext"
- $show "creating $output"
+ func_verbose "creating $output"
# Preserve any variables that may affect compiler behavior
for var in $variables_saved_for_relink; do
if eval test -z \"\${$var+set}\"; then
- relink_command="{ test -z \"\${$var+set}\" || unset $var || { $var=; export $var; }; }; $relink_command"
+ relink_command="{ test -z \"\${$var+set}\" || $lt_unset $var || { $var=; export $var; }; }; $relink_command"
elif eval var_value=\$$var; test -z "$var_value"; then
relink_command="$var=; export $var; $relink_command"
else
- var_value=`$echo "X$var_value" | $Xsed -e "$sed_quote_subst"`
- relink_command="$var=\"$var_value\"; export $var; $relink_command"
+ func_quote_for_eval "$var_value"
+ relink_command="$var=$func_quote_for_eval_result; export $var; $relink_command"
fi
done
# Quote the link command for shipping.
relink_command="(cd `pwd`; $SHELL $progpath $preserve_args --mode=relink $libtool_args @inst_prefix_dir@)"
- relink_command=`$echo "X$relink_command" | $SP2NL | $Xsed -e "$sed_quote_subst" | $NL2SP`
+ relink_command=`$ECHO "X$relink_command" | $Xsed -e "$sed_quote_subst"`
if test "$hardcode_automatic" = yes ; then
relink_command=
fi
-
# Only create the output if not a dry run.
- if test -z "$run"; then
+ $opt_dry_run || {
for installed in no yes; do
if test "$installed" = yes; then
if test -z "$install_libdir"; then
@@ -5663,12 +8060,11 @@ fi\
for deplib in $dependency_libs; do
case $deplib in
*.la)
- name=`$echo "X$deplib" | $Xsed -e 's%^.*/%%'`
+ func_basename "$deplib"
+ name="$func_basename_result"
eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib`
- if test -z "$libdir"; then
- $echo "$modename: \`$deplib' is not a valid libtool archive" 1>&2
- exit $EXIT_FAILURE
- fi
+ test -z "$libdir" && \
+ func_fatal_error "\`$deplib' is not a valid libtool archive"
newdependency_libs="$newdependency_libs $libdir/$name"
;;
*) newdependency_libs="$newdependency_libs $deplib" ;;
@@ -5676,25 +8072,37 @@ fi\
done
dependency_libs="$newdependency_libs"
newdlfiles=
+
for lib in $dlfiles; do
- name=`$echo "X$lib" | $Xsed -e 's%^.*/%%'`
- eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib`
- if test -z "$libdir"; then
- $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2
- exit $EXIT_FAILURE
- fi
- newdlfiles="$newdlfiles $libdir/$name"
+ case $lib in
+ *.la)
+ func_basename "$lib"
+ name="$func_basename_result"
+ eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib`
+ test -z "$libdir" && \
+ func_fatal_error "\`$lib' is not a valid libtool archive"
+ newdlfiles="$newdlfiles $libdir/$name"
+ ;;
+ *) newdlfiles="$newdlfiles $lib" ;;
+ esac
done
dlfiles="$newdlfiles"
newdlprefiles=
for lib in $dlprefiles; do
- name=`$echo "X$lib" | $Xsed -e 's%^.*/%%'`
- eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib`
- if test -z "$libdir"; then
- $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2
- exit $EXIT_FAILURE
- fi
- newdlprefiles="$newdlprefiles $libdir/$name"
+ case $lib in
+ *.la)
+ # Only pass preopened files to the pseudo-archive (for
+ # eventual linking with the app. that links it) if we
+ # didn't already link the preopened objects directly into
+ # the library:
+ func_basename "$lib"
+ name="$func_basename_result"
+ eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib`
+ test -z "$libdir" && \
+ func_fatal_error "\`$lib' is not a valid libtool archive"
+ newdlprefiles="$newdlprefiles $libdir/$name"
+ ;;
+ esac
done
dlprefiles="$newdlprefiles"
else
@@ -5717,15 +8125,15 @@ fi\
done
dlprefiles="$newdlprefiles"
fi
- $rm $output
+ $RM $output
# place dlname in correct position for cygwin
tdlname=$dlname
case $host,$output,$installed,$module,$dlname in
- *cygwin*,*lai,yes,no,*.dll | *mingw*,*lai,yes,no,*.dll) tdlname=../bin/$dlname ;;
+ *cygwin*,*lai,yes,no,*.dll | *mingw*,*lai,yes,no,*.dll | *cegcc*,*lai,yes,no,*.dll) tdlname=../bin/$dlname ;;
esac
- $echo > $output "\
+ $ECHO > $output "\
# $outputname - a libtool library file
-# Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP
+# Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION
#
# Please DO NOT delete this file!
# It is necessary for linking the library.
@@ -5739,9 +8147,15 @@ library_names='$library_names'
# The name of the static archive.
old_library='$old_library'
+# Linker flags that can not go in dependency_libs.
+inherited_linker_flags='$new_inherited_linker_flags'
+
# Libraries that this one depends upon.
dependency_libs='$dependency_libs'
+# Names of additional weak libraries provided by this library
+weak_library_names='$weak_libs'
+
# Version information for $libname.
current=$current
age=$age
@@ -5760,748 +8174,29 @@ dlpreopen='$dlprefiles'
# Directory that this library needs to be installed in:
libdir='$install_libdir'"
if test "$installed" = no && test "$need_relink" = yes; then
- $echo >> $output "\
+ $ECHO >> $output "\
relink_command=\"$relink_command\""
fi
done
- fi
+ }
# Do a symbolic link so that the libtool archive can be found in
# LD_LIBRARY_PATH before the program is installed.
- $show "(cd $output_objdir && $rm $outputname && $LN_S ../$outputname $outputname)"
- $run eval '(cd $output_objdir && $rm $outputname && $LN_S ../$outputname $outputname)' || exit $?
+ func_show_eval '( cd "$output_objdir" && $RM "$outputname" && $LN_S "../$outputname" "$outputname" )' 'exit $?'
;;
esac
exit $EXIT_SUCCESS
- ;;
-
- # libtool install mode
- install)
- modename="$modename: install"
-
- # There may be an optional sh(1) argument at the beginning of
- # install_prog (especially on Windows NT).
- if test "$nonopt" = "$SHELL" || test "$nonopt" = /bin/sh ||
- # Allow the use of GNU shtool's install command.
- $echo "X$nonopt" | grep shtool > /dev/null; then
- # Aesthetically quote it.
- arg=`$echo "X$nonopt" | $Xsed -e "$sed_quote_subst"`
- case $arg in
- *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
- arg="\"$arg\""
- ;;
- esac
- install_prog="$arg "
- arg="$1"
- shift
- else
- install_prog=
- arg=$nonopt
- fi
-
- # The real first argument should be the name of the installation program.
- # Aesthetically quote it.
- arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
- case $arg in
- *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
- arg="\"$arg\""
- ;;
- esac
- install_prog="$install_prog$arg"
-
- # We need to accept at least all the BSD install flags.
- dest=
- files=
- opts=
- prev=
- install_type=
- isdir=no
- stripme=
- for arg
- do
- if test -n "$dest"; then
- files="$files $dest"
- dest=$arg
- continue
- fi
-
- case $arg in
- -d) isdir=yes ;;
- -f)
- case " $install_prog " in
- *[\\\ /]cp\ *) ;;
- *) prev=$arg ;;
- esac
- ;;
- -g | -m | -o) prev=$arg ;;
- -s)
- stripme=" -s"
- continue
- ;;
- -*)
- ;;
- *)
- # If the previous option needed an argument, then skip it.
- if test -n "$prev"; then
- prev=
- else
- dest=$arg
- continue
- fi
- ;;
- esac
-
- # Aesthetically quote the argument.
- arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
- case $arg in
- *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
- arg="\"$arg\""
- ;;
- esac
- install_prog="$install_prog $arg"
- done
-
- if test -z "$install_prog"; then
- $echo "$modename: you must specify an install program" 1>&2
- $echo "$help" 1>&2
- exit $EXIT_FAILURE
- fi
-
- if test -n "$prev"; then
- $echo "$modename: the \`$prev' option requires an argument" 1>&2
- $echo "$help" 1>&2
- exit $EXIT_FAILURE
- fi
-
- if test -z "$files"; then
- if test -z "$dest"; then
- $echo "$modename: no file or destination specified" 1>&2
- else
- $echo "$modename: you must specify a destination" 1>&2
- fi
- $echo "$help" 1>&2
- exit $EXIT_FAILURE
- fi
-
- # Strip any trailing slash from the destination.
- dest=`$echo "X$dest" | $Xsed -e 's%/$%%'`
-
- # Check to see that the destination is a directory.
- test -d "$dest" && isdir=yes
- if test "$isdir" = yes; then
- destdir="$dest"
- destname=
- else
- destdir=`$echo "X$dest" | $Xsed -e 's%/[^/]*$%%'`
- test "X$destdir" = "X$dest" && destdir=.
- destname=`$echo "X$dest" | $Xsed -e 's%^.*/%%'`
-
- # Not a directory, so check to see that there is only one file specified.
- set dummy $files
- if test "$#" -gt 2; then
- $echo "$modename: \`$dest' is not a directory" 1>&2
- $echo "$help" 1>&2
- exit $EXIT_FAILURE
- fi
- fi
- case $destdir in
- [\\/]* | [A-Za-z]:[\\/]*) ;;
- *)
- for file in $files; do
- case $file in
- *.lo) ;;
- *)
- $echo "$modename: \`$destdir' must be an absolute directory name" 1>&2
- $echo "$help" 1>&2
- exit $EXIT_FAILURE
- ;;
- esac
- done
- ;;
- esac
-
- # This variable tells wrapper scripts just to set variables rather
- # than running their programs.
- libtool_install_magic="$magic"
-
- staticlibs=
- future_libdirs=
- current_libdirs=
- for file in $files; do
-
- # Do each installation.
- case $file in
- *.$libext)
- # Do the static libraries later.
- staticlibs="$staticlibs $file"
- ;;
-
- *.la)
- # Check to see that this really is a libtool archive.
- if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then :
- else
- $echo "$modename: \`$file' is not a valid libtool archive" 1>&2
- $echo "$help" 1>&2
- exit $EXIT_FAILURE
- fi
-
- library_names=
- old_library=
- relink_command=
- # If there is no directory component, then add one.
- case $file in
- */* | *\\*) . $file ;;
- *) . ./$file ;;
- esac
-
- # Add the libdir to current_libdirs if it is the destination.
- if test "X$destdir" = "X$libdir"; then
- case "$current_libdirs " in
- *" $libdir "*) ;;
- *) current_libdirs="$current_libdirs $libdir" ;;
- esac
- else
- # Note the libdir as a future libdir.
- case "$future_libdirs " in
- *" $libdir "*) ;;
- *) future_libdirs="$future_libdirs $libdir" ;;
- esac
- fi
-
- dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'`/
- test "X$dir" = "X$file/" && dir=
- dir="$dir$objdir"
-
- if test -n "$relink_command"; then
- # Determine the prefix the user has applied to our future dir.
- inst_prefix_dir=`$echo "$destdir" | $SED "s%$libdir\$%%"`
-
- # Don't allow the user to place us outside of our expected
- # location b/c this prevents finding dependent libraries that
- # are installed to the same prefix.
- # At present, this check doesn't affect windows .dll's that
- # are installed into $libdir/../bin (currently, that works fine)
- # but it's something to keep an eye on.
- if test "$inst_prefix_dir" = "$destdir"; then
- $echo "$modename: error: cannot install \`$file' to a directory not ending in $libdir" 1>&2
- exit $EXIT_FAILURE
- fi
-
- if test -n "$inst_prefix_dir"; then
- # Stick the inst_prefix_dir data into the link command.
- relink_command=`$echo "$relink_command" | $SP2NL | $SED "s%@inst_prefix_dir@%-inst-prefix-dir $inst_prefix_dir%" | $NL2SP`
- else
- relink_command=`$echo "$relink_command" | $SP2NL | $SED "s%@inst_prefix_dir@%%" | $NL2SP`
- fi
-
- $echo "$modename: warning: relinking \`$file'" 1>&2
- $show "$relink_command"
- if $run eval "$relink_command"; then :
- else
- $echo "$modename: error: relink \`$file' with the above command before installing it" 1>&2
- exit $EXIT_FAILURE
- fi
- fi
-
- # See the names of the shared library.
- set dummy $library_names
- if test -n "$2"; then
- realname="$2"
- shift
- shift
-
- srcname="$realname"
- test -n "$relink_command" && srcname="$realname"T
-
- # Install the shared library and build the symlinks.
- $show "$install_prog $dir/$srcname $destdir/$realname"
- $run eval "$install_prog $dir/$srcname $destdir/$realname" || exit $?
- if test -n "$stripme" && test -n "$striplib"; then
- $show "$striplib $destdir/$realname"
- $run eval "$striplib $destdir/$realname" || exit $?
- fi
-
- if test "$#" -gt 0; then
- # Delete the old symlinks, and create new ones.
- # Try `ln -sf' first, because the `ln' binary might depend on
- # the symlink we replace! Solaris /bin/ln does not understand -f,
- # so we also need to try rm && ln -s.
- for linkname
- do
- if test "$linkname" != "$realname"; then
- $show "(cd $destdir && { $LN_S -f $realname $linkname || { $rm $linkname && $LN_S $realname $linkname; }; })"
- $run eval "(cd $destdir && { $LN_S -f $realname $linkname || { $rm $linkname && $LN_S $realname $linkname; }; })"
- fi
- done
- fi
-
- # Do each command in the postinstall commands.
- lib="$destdir/$realname"
- cmds=$postinstall_cmds
- save_ifs="$IFS"; IFS='~'
- for cmd in $cmds; do
- IFS="$save_ifs"
- eval cmd=\"$cmd\"
- $show "$cmd"
- $run eval "$cmd" || {
- lt_exit=$?
-
- # Restore the uninstalled library and exit
- if test "$mode" = relink; then
- $run eval '(cd $output_objdir && $rm ${realname}T && $mv ${realname}U $realname)'
- fi
-
- exit $lt_exit
- }
- done
- IFS="$save_ifs"
- fi
-
- # Install the pseudo-library for information purposes.
- name=`$echo "X$file" | $Xsed -e 's%^.*/%%'`
- instname="$dir/$name"i
- $show "$install_prog $instname $destdir/$name"
- $run eval "$install_prog $instname $destdir/$name" || exit $?
-
- # Maybe install the static library, too.
- test -n "$old_library" && staticlibs="$staticlibs $dir/$old_library"
- ;;
-
- *.lo)
- # Install (i.e. copy) a libtool object.
-
- # Figure out destination file name, if it wasn't already specified.
- if test -n "$destname"; then
- destfile="$destdir/$destname"
- else
- destfile=`$echo "X$file" | $Xsed -e 's%^.*/%%'`
- destfile="$destdir/$destfile"
- fi
-
- # Deduce the name of the destination old-style object file.
- case $destfile in
- *.lo)
- staticdest=`$echo "X$destfile" | $Xsed -e "$lo2o"`
- ;;
- *.$objext)
- staticdest="$destfile"
- destfile=
- ;;
- *)
- $echo "$modename: cannot copy a libtool object to \`$destfile'" 1>&2
- $echo "$help" 1>&2
- exit $EXIT_FAILURE
- ;;
- esac
-
- # Install the libtool object if requested.
- if test -n "$destfile"; then
- $show "$install_prog $file $destfile"
- $run eval "$install_prog $file $destfile" || exit $?
- fi
-
- # Install the old object if enabled.
- if test "$build_old_libs" = yes; then
- # Deduce the name of the old-style object file.
- staticobj=`$echo "X$file" | $Xsed -e "$lo2o"`
-
- $show "$install_prog $staticobj $staticdest"
- $run eval "$install_prog \$staticobj \$staticdest" || exit $?
- fi
- exit $EXIT_SUCCESS
- ;;
-
- *)
- # Figure out destination file name, if it wasn't already specified.
- if test -n "$destname"; then
- destfile="$destdir/$destname"
- else
- destfile=`$echo "X$file" | $Xsed -e 's%^.*/%%'`
- destfile="$destdir/$destfile"
- fi
-
- # If the file is missing, and there is a .exe on the end, strip it
- # because it is most likely a libtool script we actually want to
- # install
- stripped_ext=""
- case $file in
- *.exe)
- if test ! -f "$file"; then
- file=`$echo $file|${SED} 's,.exe$,,'`
- stripped_ext=".exe"
- fi
- ;;
- esac
-
- # Do a test to see if this is really a libtool program.
- case $host in
- *cygwin*|*mingw*)
- wrapper=`$echo $file | ${SED} -e 's,.exe$,,'`
- ;;
- *)
- wrapper=$file
- ;;
- esac
- if (${SED} -e '4q' $wrapper | grep "^# Generated by .*$PACKAGE")>/dev/null 2>&1; then
- notinst_deplibs=
- relink_command=
-
- # Note that it is not necessary on cygwin/mingw to append a dot to
- # foo even if both foo and FILE.exe exist: automatic-append-.exe
- # behavior happens only for exec(3), not for open(2)! Also, sourcing
- # `FILE.' does not work on cygwin managed mounts.
- #
- # If there is no directory component, then add one.
- case $wrapper in
- */* | *\\*) . ${wrapper} ;;
- *) . ./${wrapper} ;;
- esac
-
- # Check the variables that should have been set.
- if test -z "$notinst_deplibs"; then
- $echo "$modename: invalid libtool wrapper script \`$wrapper'" 1>&2
- exit $EXIT_FAILURE
- fi
-
- finalize=yes
- for lib in $notinst_deplibs; do
- # Check to see that each library is installed.
- libdir=
- if test -f "$lib"; then
- # If there is no directory component, then add one.
- case $lib in
- */* | *\\*) . $lib ;;
- *) . ./$lib ;;
- esac
- fi
- libfile="$libdir/"`$echo "X$lib" | $Xsed -e 's%^.*/%%g'` ### testsuite: skip nested quoting test
- if test -n "$libdir" && test ! -f "$libfile"; then
- $echo "$modename: warning: \`$lib' has not been installed in \`$libdir'" 1>&2
- finalize=no
- fi
- done
-
- relink_command=
- # Note that it is not necessary on cygwin/mingw to append a dot to
- # foo even if both foo and FILE.exe exist: automatic-append-.exe
- # behavior happens only for exec(3), not for open(2)! Also, sourcing
- # `FILE.' does not work on cygwin managed mounts.
- #
- # If there is no directory component, then add one.
- case $wrapper in
- */* | *\\*) . ${wrapper} ;;
- *) . ./${wrapper} ;;
- esac
-
- outputname=
- if test "$fast_install" = no && test -n "$relink_command"; then
- if test "$finalize" = yes && test -z "$run"; then
- tmpdir=`func_mktempdir`
- file=`$echo "X$file$stripped_ext" | $Xsed -e 's%^.*/%%'`
- outputname="$tmpdir/$file"
- # Replace the output file specification.
- relink_command=`$echo "X$relink_command" | $SP2NL | $Xsed -e 's%@OUTPUT@%'"$outputname"'%g' | $NL2SP`
-
- $show "$relink_command"
- if $run eval "$relink_command"; then :
- else
- $echo "$modename: error: relink \`$file' with the above command before installing it" 1>&2
- ${rm}r "$tmpdir"
- continue
- fi
- file="$outputname"
- else
- $echo "$modename: warning: cannot relink \`$file'" 1>&2
- fi
- else
- # Install the binary that we compiled earlier.
- file=`$echo "X$file$stripped_ext" | $Xsed -e "s%\([^/]*\)$%$objdir/\1%"`
- fi
- fi
-
- # remove .exe since cygwin /usr/bin/install will append another
- # one anyway
- case $install_prog,$host in
- */usr/bin/install*,*cygwin*)
- case $file:$destfile in
- *.exe:*.exe)
- # this is ok
- ;;
- *.exe:*)
- destfile=$destfile.exe
- ;;
- *:*.exe)
- destfile=`$echo $destfile | ${SED} -e 's,.exe$,,'`
- ;;
- esac
- ;;
- esac
- $show "$install_prog$stripme $file $destfile"
- $run eval "$install_prog\$stripme \$file \$destfile" || exit $?
- test -n "$outputname" && ${rm}r "$tmpdir"
- ;;
- esac
- done
-
- for file in $staticlibs; do
- name=`$echo "X$file" | $Xsed -e 's%^.*/%%'`
-
- # Set up the ranlib parameters.
- oldlib="$destdir/$name"
-
- $show "$install_prog $file $oldlib"
- $run eval "$install_prog \$file \$oldlib" || exit $?
-
- if test -n "$stripme" && test -n "$old_striplib"; then
- $show "$old_striplib $oldlib"
- $run eval "$old_striplib $oldlib" || exit $?
- fi
-
- # Do each command in the postinstall commands.
- cmds=$old_postinstall_cmds
- save_ifs="$IFS"; IFS='~'
- for cmd in $cmds; do
- IFS="$save_ifs"
- eval cmd=\"$cmd\"
- $show "$cmd"
- $run eval "$cmd" || exit $?
- done
- IFS="$save_ifs"
- done
-
- if test -n "$future_libdirs"; then
- $echo "$modename: warning: remember to run \`$progname --finish$future_libdirs'" 1>&2
- fi
-
- if test -n "$current_libdirs"; then
- # Maybe just do a dry run.
- test -n "$run" && current_libdirs=" -n$current_libdirs"
- exec_cmd='$SHELL $progpath $preserve_args --finish$current_libdirs'
- else
- exit $EXIT_SUCCESS
- fi
- ;;
-
- # libtool finish mode
- finish)
- modename="$modename: finish"
- libdirs="$nonopt"
- admincmds=
-
- if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then
- for dir
- do
- libdirs="$libdirs $dir"
- done
-
- for libdir in $libdirs; do
- if test -n "$finish_cmds"; then
- # Do each command in the finish commands.
- cmds=$finish_cmds
- save_ifs="$IFS"; IFS='~'
- for cmd in $cmds; do
- IFS="$save_ifs"
- eval cmd=\"$cmd\"
- $show "$cmd"
- $run eval "$cmd" || admincmds="$admincmds
- $cmd"
- done
- IFS="$save_ifs"
- fi
- if test -n "$finish_eval"; then
- # Do the single finish_eval.
- eval cmds=\"$finish_eval\"
- $run eval "$cmds" || admincmds="$admincmds
- $cmds"
- fi
- done
- fi
-
- # Exit here if they wanted silent mode.
- test "$show" = : && exit $EXIT_SUCCESS
-
- $echo "X----------------------------------------------------------------------" | $Xsed
- $echo "Libraries have been installed in:"
- for libdir in $libdirs; do
- $echo " $libdir"
- done
- $echo
- $echo "If you ever happen to want to link against installed libraries"
- $echo "in a given directory, LIBDIR, you must either use libtool, and"
- $echo "specify the full pathname of the library, or use the \`-LLIBDIR'"
- $echo "flag during linking and do at least one of the following:"
- if test -n "$shlibpath_var"; then
- $echo " - add LIBDIR to the \`$shlibpath_var' environment variable"
- $echo " during execution"
- fi
- if test -n "$runpath_var"; then
- $echo " - add LIBDIR to the \`$runpath_var' environment variable"
- $echo " during linking"
- fi
- if test -n "$hardcode_libdir_flag_spec"; then
- libdir=LIBDIR
- eval flag=\"$hardcode_libdir_flag_spec\"
-
- $echo " - use the \`$flag' linker flag"
- fi
- if test -n "$admincmds"; then
- $echo " - have your system administrator run these commands:$admincmds"
- fi
- if test -f /etc/ld.so.conf; then
- $echo " - have your system administrator add LIBDIR to \`/etc/ld.so.conf'"
- fi
- $echo
- $echo "See any operating system documentation about shared libraries for"
- $echo "more information, such as the ld(1) and ld.so(8) manual pages."
- $echo "X----------------------------------------------------------------------" | $Xsed
- exit $EXIT_SUCCESS
- ;;
-
- # libtool execute mode
- execute)
- modename="$modename: execute"
-
- # The first argument is the command name.
- cmd="$nonopt"
- if test -z "$cmd"; then
- $echo "$modename: you must specify a COMMAND" 1>&2
- $echo "$help"
- exit $EXIT_FAILURE
- fi
-
- # Handle -dlopen flags immediately.
- for file in $execute_dlfiles; do
- if test ! -f "$file"; then
- $echo "$modename: \`$file' is not a file" 1>&2
- $echo "$help" 1>&2
- exit $EXIT_FAILURE
- fi
-
- dir=
- case $file in
- *.la)
- # Check to see that this really is a libtool archive.
- if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then :
- else
- $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2
- $echo "$help" 1>&2
- exit $EXIT_FAILURE
- fi
-
- # Read the libtool library.
- dlname=
- library_names=
-
- # If there is no directory component, then add one.
- case $file in
- */* | *\\*) . $file ;;
- *) . ./$file ;;
- esac
-
- # Skip this library if it cannot be dlopened.
- if test -z "$dlname"; then
- # Warn if it was a shared library.
- test -n "$library_names" && $echo "$modename: warning: \`$file' was not linked with \`-export-dynamic'"
- continue
- fi
-
- dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'`
- test "X$dir" = "X$file" && dir=.
-
- if test -f "$dir/$objdir/$dlname"; then
- dir="$dir/$objdir"
- else
- if test ! -f "$dir/$dlname"; then
- $echo "$modename: cannot find \`$dlname' in \`$dir' or \`$dir/$objdir'" 1>&2
- exit $EXIT_FAILURE
- fi
- fi
- ;;
-
- *.lo)
- # Just add the directory containing the .lo file.
- dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'`
- test "X$dir" = "X$file" && dir=.
- ;;
-
- *)
- $echo "$modename: warning \`-dlopen' is ignored for non-libtool libraries and objects" 1>&2
- continue
- ;;
- esac
-
- # Get the absolute pathname.
- absdir=`cd "$dir" && pwd`
- test -n "$absdir" && dir="$absdir"
-
- # Now add the directory to shlibpath_var.
- if eval "test -z \"\$$shlibpath_var\""; then
- eval "$shlibpath_var=\"\$dir\""
- else
- eval "$shlibpath_var=\"\$dir:\$$shlibpath_var\""
- fi
- done
-
- # This variable tells wrapper scripts just to set shlibpath_var
- # rather than running their programs.
- libtool_execute_magic="$magic"
-
- # Check if any of the arguments is a wrapper script.
- args=
- for file
- do
- case $file in
- -*) ;;
- *)
- # Do a test to see if this is really a libtool program.
- if (${SED} -e '4q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then
- # If there is no directory component, then add one.
- case $file in
- */* | *\\*) . $file ;;
- *) . ./$file ;;
- esac
-
- # Transform arg to wrapped name.
- file="$progdir/$program"
- fi
- ;;
- esac
- # Quote arguments (to preserve shell metacharacters).
- file=`$echo "X$file" | $Xsed -e "$sed_quote_subst"`
- args="$args \"$file\""
- done
+}
- if test -z "$run"; then
- if test -n "$shlibpath_var"; then
- # Export the shlibpath_var.
- eval "export $shlibpath_var"
- fi
+{ test "$mode" = link || test "$mode" = relink; } &&
+ func_mode_link ${1+"$@"}
- # Restore saved environment variables
- for lt_var in LANG LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES
- do
- eval "if test \"\${save_$lt_var+set}\" = set; then
- $lt_var=\$save_$lt_var; export $lt_var
- fi"
- done
- # Now prepare to actually exec the command.
- exec_cmd="\$cmd$args"
- else
- # Display what would be done.
- if test -n "$shlibpath_var"; then
- eval "\$echo \"\$shlibpath_var=\$$shlibpath_var\""
- $echo "export $shlibpath_var"
- fi
- $echo "$cmd$args"
- exit $EXIT_SUCCESS
- fi
- ;;
-
- # libtool clean and uninstall mode
- clean | uninstall)
- modename="$modename: $mode"
- rm="$nonopt"
+# func_mode_uninstall arg...
+func_mode_uninstall ()
+{
+ $opt_debug
+ RM="$nonopt"
files=
rmforce=
exit_status=0
@@ -6513,30 +8208,28 @@ relink_command=\"$relink_command\""
for arg
do
case $arg in
- -f) rm="$rm $arg"; rmforce=yes ;;
- -*) rm="$rm $arg" ;;
+ -f) RM="$RM $arg"; rmforce=yes ;;
+ -*) RM="$RM $arg" ;;
*) files="$files $arg" ;;
esac
done
- if test -z "$rm"; then
- $echo "$modename: you must specify an RM program" 1>&2
- $echo "$help" 1>&2
- exit $EXIT_FAILURE
- fi
+ test -z "$RM" && \
+ func_fatal_help "you must specify an RM program"
rmdirs=
origobjdir="$objdir"
for file in $files; do
- dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'`
- if test "X$dir" = "X$file"; then
- dir=.
+ func_dirname "$file" "" "."
+ dir="$func_dirname_result"
+ if test "X$dir" = X.; then
objdir="$origobjdir"
else
objdir="$dir/$origobjdir"
fi
- name=`$echo "X$file" | $Xsed -e 's%^.*/%%'`
+ func_basename "$file"
+ name="$func_basename_result"
test "$mode" = uninstall && objdir="$dir"
# Remember objdir for removal later, being careful to avoid duplicates
@@ -6548,9 +8241,9 @@ relink_command=\"$relink_command\""
fi
# Don't error if the file doesn't exist and rm -f was used.
- if (test -L "$file") >/dev/null 2>&1 \
- || (test -h "$file") >/dev/null 2>&1 \
- || test -f "$file"; then
+ if { test -L "$file"; } >/dev/null 2>&1 ||
+ { test -h "$file"; } >/dev/null 2>&1 ||
+ test -f "$file"; then
:
elif test -d "$file"; then
exit_status=1
@@ -6564,8 +8257,8 @@ relink_command=\"$relink_command\""
case $name in
*.la)
# Possibly a libtool archive, so verify it.
- if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then
- . $dir/$name
+ if func_lalib_p "$file"; then
+ func_source $dir/$name
# Delete the libtool libraries and symlinks.
for n in $library_names; do
@@ -6580,39 +8273,17 @@ relink_command=\"$relink_command\""
*" $dlname "*) ;;
*) rmfiles="$rmfiles $objdir/$dlname" ;;
esac
- test -n "$libdir" && rmfiles="$rmfiles $objdir/$name $objdir/${name}i"
+ test -n "$libdir" && rmfiles="$rmfiles $objdir/$name $objdir/${name}i"
;;
uninstall)
if test -n "$library_names"; then
# Do each command in the postuninstall commands.
- cmds=$postuninstall_cmds
- save_ifs="$IFS"; IFS='~'
- for cmd in $cmds; do
- IFS="$save_ifs"
- eval cmd=\"$cmd\"
- $show "$cmd"
- $run eval "$cmd"
- if test "$?" -ne 0 && test "$rmforce" != yes; then
- exit_status=1
- fi
- done
- IFS="$save_ifs"
+ func_execute_cmds "$postuninstall_cmds" 'test "$rmforce" = yes || exit_status=1'
fi
if test -n "$old_library"; then
# Do each command in the old_postuninstall commands.
- cmds=$old_postuninstall_cmds
- save_ifs="$IFS"; IFS='~'
- for cmd in $cmds; do
- IFS="$save_ifs"
- eval cmd=\"$cmd\"
- $show "$cmd"
- $run eval "$cmd"
- if test "$?" -ne 0 && test "$rmforce" != yes; then
- exit_status=1
- fi
- done
- IFS="$save_ifs"
+ func_execute_cmds "$old_postuninstall_cmds" 'test "$rmforce" = yes || exit_status=1'
fi
# FIXME: should reinstall the best remaining shared library.
;;
@@ -6622,20 +8293,20 @@ relink_command=\"$relink_command\""
*.lo)
# Possibly a libtool object, so verify it.
- if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then
+ if func_lalib_p "$file"; then
# Read the .lo file
- . $dir/$name
+ func_source $dir/$name
# Add PIC object to the list of files to remove.
- if test -n "$pic_object" \
- && test "$pic_object" != none; then
+ if test -n "$pic_object" &&
+ test "$pic_object" != none; then
rmfiles="$rmfiles $dir/$pic_object"
fi
# Add non-PIC object to the list of files to remove.
- if test -n "$non_pic_object" \
- && test "$non_pic_object" != none; then
+ if test -n "$non_pic_object" &&
+ test "$non_pic_object" != none; then
rmfiles="$rmfiles $dir/$non_pic_object"
fi
fi
@@ -6646,17 +8317,26 @@ relink_command=\"$relink_command\""
noexename=$name
case $file in
*.exe)
- file=`$echo $file|${SED} 's,.exe$,,'`
- noexename=`$echo $name|${SED} 's,.exe$,,'`
+ func_stripname '' '.exe' "$file"
+ file=$func_stripname_result
+ func_stripname '' '.exe' "$name"
+ noexename=$func_stripname_result
# $file with .exe has already been added to rmfiles,
# add $file without .exe
rmfiles="$rmfiles $file"
;;
esac
# Do a test to see if this is a libtool program.
- if (${SED} -e '4q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then
- relink_command=
- . $dir/$noexename
+ if func_ltwrapper_p "$file"; then
+ if func_ltwrapper_executable_p "$file"; then
+ func_ltwrapper_scriptname "$file"
+ relink_command=
+ func_source $func_ltwrapper_scriptname_result
+ rmfiles="$rmfiles $func_ltwrapper_scriptname_result"
+ else
+ relink_command=
+ func_source $dir/$noexename
+ fi
# note $name still contains .exe if it was in $file originally
# as does the version of $file that was added into $rmfiles
@@ -6671,239 +8351,38 @@ relink_command=\"$relink_command\""
fi
;;
esac
- $show "$rm $rmfiles"
- $run $rm $rmfiles || exit_status=1
+ func_show_eval "$RM $rmfiles" 'exit_status=1'
done
objdir="$origobjdir"
# Try to remove the ${objdir}s in the directories where we deleted files
for dir in $rmdirs; do
if test -d "$dir"; then
- $show "rmdir $dir"
- $run rmdir $dir >/dev/null 2>&1
+ func_show_eval "rmdir $dir >/dev/null 2>&1"
fi
done
exit $exit_status
- ;;
+}
- "")
- $echo "$modename: you must specify a MODE" 1>&2
- $echo "$generic_help" 1>&2
- exit $EXIT_FAILURE
- ;;
- esac
+{ test "$mode" = uninstall || test "$mode" = clean; } &&
+ func_mode_uninstall ${1+"$@"}
- if test -z "$exec_cmd"; then
- $echo "$modename: invalid operation mode \`$mode'" 1>&2
- $echo "$generic_help" 1>&2
- exit $EXIT_FAILURE
- fi
-fi # test -z "$show_help"
+test -z "$mode" && {
+ help="$generic_help"
+ func_fatal_help "you must specify a MODE"
+}
+
+test -z "$exec_cmd" && \
+ func_fatal_help "invalid operation mode \`$mode'"
if test -n "$exec_cmd"; then
- eval exec $exec_cmd
+ eval exec "$exec_cmd"
exit $EXIT_FAILURE
fi
-# We need to display help for each of the modes.
-case $mode in
-"") $echo \
-"Usage: $modename [OPTION]... [MODE-ARG]...
-
-Provide generalized library-building support services.
-
- --config show all configuration variables
- --debug enable verbose shell tracing
--n, --dry-run display commands without modifying any files
- --features display basic configuration information and exit
- --finish same as \`--mode=finish'
- --help display this help message and exit
- --mode=MODE use operation mode MODE [default=inferred from MODE-ARGS]
- --quiet same as \`--silent'
- --silent don't print informational messages
- --tag=TAG use configuration variables from tag TAG
- --version print version information
-
-MODE must be one of the following:
-
- clean remove files from the build directory
- compile compile a source file into a libtool object
- execute automatically set library path, then run a program
- finish complete the installation of libtool libraries
- install install libraries or executables
- link create a library or an executable
- uninstall remove libraries from an installed directory
-
-MODE-ARGS vary depending on the MODE. Try \`$modename --help --mode=MODE' for
-a more detailed description of MODE.
-
-Report bugs to <bug-libtool@gnu.org>."
- exit $EXIT_SUCCESS
- ;;
-
-clean)
- $echo \
-"Usage: $modename [OPTION]... --mode=clean RM [RM-OPTION]... FILE...
-
-Remove files from the build directory.
-
-RM is the name of the program to use to delete files associated with each FILE
-(typically \`/bin/rm'). RM-OPTIONS are options (such as \`-f') to be passed
-to RM.
-
-If FILE is a libtool library, object or program, all the files associated
-with it are deleted. Otherwise, only FILE itself is deleted using RM."
- ;;
+exit $exit_status
-compile)
- $echo \
-"Usage: $modename [OPTION]... --mode=compile COMPILE-COMMAND... SOURCEFILE
-
-Compile a source file into a libtool library object.
-
-This mode accepts the following additional options:
-
- -o OUTPUT-FILE set the output file name to OUTPUT-FILE
- -prefer-pic try to building PIC objects only
- -prefer-non-pic try to building non-PIC objects only
- -static always build a \`.o' file suitable for static linking
-
-COMPILE-COMMAND is a command to be used in creating a \`standard' object file
-from the given SOURCEFILE.
-
-The output file name is determined by removing the directory component from
-SOURCEFILE, then substituting the C source code suffix \`.c' with the
-library object suffix, \`.lo'."
- ;;
-
-execute)
- $echo \
-"Usage: $modename [OPTION]... --mode=execute COMMAND [ARGS]...
-
-Automatically set library path, then run a program.
-
-This mode accepts the following additional options:
-
- -dlopen FILE add the directory containing FILE to the library path
-
-This mode sets the library path environment variable according to \`-dlopen'
-flags.
-
-If any of the ARGS are libtool executable wrappers, then they are translated
-into their corresponding uninstalled binary, and any of their required library
-directories are added to the library path.
-
-Then, COMMAND is executed, with ARGS as arguments."
- ;;
-
-finish)
- $echo \
-"Usage: $modename [OPTION]... --mode=finish [LIBDIR]...
-
-Complete the installation of libtool libraries.
-
-Each LIBDIR is a directory that contains libtool libraries.
-
-The commands that this mode executes may require superuser privileges. Use
-the \`--dry-run' option if you just want to see what would be executed."
- ;;
-
-install)
- $echo \
-"Usage: $modename [OPTION]... --mode=install INSTALL-COMMAND...
-
-Install executables or libraries.
-
-INSTALL-COMMAND is the installation command. The first component should be
-either the \`install' or \`cp' program.
-
-The rest of the components are interpreted as arguments to that command (only
-BSD-compatible install options are recognized)."
- ;;
-
-link)
- $echo \
-"Usage: $modename [OPTION]... --mode=link LINK-COMMAND...
-
-Link object files or libraries together to form another library, or to
-create an executable program.
-
-LINK-COMMAND is a command using the C compiler that you would use to create
-a program from several object files.
-
-The following components of LINK-COMMAND are treated specially:
-
- -all-static do not do any dynamic linking at all
- -avoid-version do not add a version suffix if possible
- -dlopen FILE \`-dlpreopen' FILE if it cannot be dlopened at runtime
- -dlpreopen FILE link in FILE and add its symbols to lt_preloaded_symbols
- -export-dynamic allow symbols from OUTPUT-FILE to be resolved with dlsym(3)
- -export-symbols SYMFILE
- try to export only the symbols listed in SYMFILE
- -export-symbols-regex REGEX
- try to export only the symbols matching REGEX
- -LLIBDIR search LIBDIR for required installed libraries
- -lNAME OUTPUT-FILE requires the installed library libNAME
- -module build a library that can dlopened
- -no-fast-install disable the fast-install mode
- -no-install link a not-installable executable
- -no-undefined declare that a library does not refer to external symbols
- -o OUTPUT-FILE create OUTPUT-FILE from the specified objects
- -objectlist FILE Use a list of object files found in FILE to specify objects
- -precious-files-regex REGEX
- don't remove output files matching REGEX
- -release RELEASE specify package release information
- -rpath LIBDIR the created library will eventually be installed in LIBDIR
- -R[ ]LIBDIR add LIBDIR to the runtime path of programs and libraries
- -static do not do any dynamic linking of uninstalled libtool libraries
- -static-libtool-libs
- do not do any dynamic linking of libtool libraries
- -version-info CURRENT[:REVISION[:AGE]]
- specify library version info [each variable defaults to 0]
-
-All other options (arguments beginning with \`-') are ignored.
-
-Every other argument is treated as a filename. Files ending in \`.la' are
-treated as uninstalled libtool libraries, other files are standard or library
-object files.
-
-If the OUTPUT-FILE ends in \`.la', then a libtool library is created,
-only library objects (\`.lo' files) may be specified, and \`-rpath' is
-required, except when creating a convenience library.
-
-If OUTPUT-FILE ends in \`.a' or \`.lib', then a standard library is created
-using \`ar' and \`ranlib', or on Windows using \`lib'.
-
-If OUTPUT-FILE ends in \`.lo' or \`.${objext}', then a reloadable object file
-is created, otherwise an executable program is created."
- ;;
-
-uninstall)
- $echo \
-"Usage: $modename [OPTION]... --mode=uninstall RM [RM-OPTION]... FILE...
-
-Remove libraries from an installation directory.
-
-RM is the name of the program to use to delete files associated with each FILE
-(typically \`/bin/rm'). RM-OPTIONS are options (such as \`-f') to be passed
-to RM.
-
-If FILE is a libtool library, all the files associated with it are deleted.
-Otherwise, only FILE itself is deleted using RM."
- ;;
-
-*)
- $echo "$modename: invalid operation mode \`$mode'" 1>&2
- $echo "$help" 1>&2
- exit $EXIT_FAILURE
- ;;
-esac
-
-$echo
-$echo "Try \`$modename --help' for more information about other modes."
-
-exit $?
# The TAGs below are defined such that we never get into a situation
# in which we disable both kinds of libraries. Given conflicting
@@ -6917,14 +8396,17 @@ exit $?
# configuration. But we'll never go from static-only to shared-only.
# ### BEGIN LIBTOOL TAG CONFIG: disable-shared
-disable_libs=shared
+build_libtool_libs=no
+build_old_libs=yes
# ### END LIBTOOL TAG CONFIG: disable-shared
# ### BEGIN LIBTOOL TAG CONFIG: disable-static
-disable_libs=static
+build_old_libs=`case $build_libtool_libs in yes) echo no;; *) echo yes;; esac`
# ### END LIBTOOL TAG CONFIG: disable-static
# Local Variables:
# mode:shell-script
# sh-indentation:2
# End:
+# vi:sw=2
+
diff --git a/m4/libtool.m4 b/m4/libtool.m4
new file mode 100644
index 0000000..2ca1c1f
--- /dev/null
+++ b/m4/libtool.m4
@@ -0,0 +1,7373 @@
+# libtool.m4 - Configure libtool for the host system. -*-Autoconf-*-
+#
+# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
+# 2006, 2007, 2008 Free Software Foundation, Inc.
+# Written by Gordon Matzigkeit, 1996
+#
+# This file is free software; the Free Software Foundation gives
+# unlimited permission to copy and/or distribute it, with or without
+# modifications, as long as this notice is preserved.
+
+m4_define([_LT_COPYING], [dnl
+# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
+# 2006, 2007, 2008 Free Software Foundation, Inc.
+# Written by Gordon Matzigkeit, 1996
+#
+# This file is part of GNU Libtool.
+#
+# GNU Libtool is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License as
+# published by the Free Software Foundation; either version 2 of
+# the License, or (at your option) any later version.
+#
+# As a special exception to the GNU General Public License,
+# if you distribute this file as part of a program or library that
+# is built using GNU Libtool, you may include this file under the
+# same distribution terms that you use for the rest of that program.
+#
+# GNU Libtool is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with GNU Libtool; see the file COPYING. If not, a copy
+# can be downloaded from http://www.gnu.org/licenses/gpl.html, or
+# obtained by writing to the Free Software Foundation, Inc.,
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+])
+
+# serial 56 LT_INIT
+
+
+# LT_PREREQ(VERSION)
+# ------------------
+# Complain and exit if this libtool version is less that VERSION.
+m4_defun([LT_PREREQ],
+[m4_if(m4_version_compare(m4_defn([LT_PACKAGE_VERSION]), [$1]), -1,
+ [m4_default([$3],
+ [m4_fatal([Libtool version $1 or higher is required],
+ 63)])],
+ [$2])])
+
+
+# _LT_CHECK_BUILDDIR
+# ------------------
+# Complain if the absolute build directory name contains unusual characters
+m4_defun([_LT_CHECK_BUILDDIR],
+[case `pwd` in
+ *\ * | *\ *)
+ AC_MSG_WARN([Libtool does not cope well with whitespace in `pwd`]) ;;
+esac
+])
+
+
+# LT_INIT([OPTIONS])
+# ------------------
+AC_DEFUN([LT_INIT],
+[AC_PREREQ([2.58])dnl We use AC_INCLUDES_DEFAULT
+AC_BEFORE([$0], [LT_LANG])dnl
+AC_BEFORE([$0], [LT_OUTPUT])dnl
+AC_BEFORE([$0], [LTDL_INIT])dnl
+m4_require([_LT_CHECK_BUILDDIR])dnl
+
+dnl Autoconf doesn't catch unexpanded LT_ macros by default:
+m4_pattern_forbid([^_?LT_[A-Z_]+$])dnl
+m4_pattern_allow([^(_LT_EOF|LT_DLGLOBAL|LT_DLLAZY_OR_NOW|LT_MULTI_MODULE)$])dnl
+dnl aclocal doesn't pull ltoptions.m4, ltsugar.m4, or ltversion.m4
+dnl unless we require an AC_DEFUNed macro:
+AC_REQUIRE([LTOPTIONS_VERSION])dnl
+AC_REQUIRE([LTSUGAR_VERSION])dnl
+AC_REQUIRE([LTVERSION_VERSION])dnl
+AC_REQUIRE([LTOBSOLETE_VERSION])dnl
+m4_require([_LT_PROG_LTMAIN])dnl
+
+dnl Parse OPTIONS
+_LT_SET_OPTIONS([$0], [$1])
+
+# This can be used to rebuild libtool when needed
+LIBTOOL_DEPS="$ltmain"
+
+# Always use our own libtool.
+LIBTOOL='$(SHELL) $(top_builddir)/libtool'
+AC_SUBST(LIBTOOL)dnl
+
+_LT_SETUP
+
+# Only expand once:
+m4_define([LT_INIT])
+])# LT_INIT
+
+# Old names:
+AU_ALIAS([AC_PROG_LIBTOOL], [LT_INIT])
+AU_ALIAS([AM_PROG_LIBTOOL], [LT_INIT])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_PROG_LIBTOOL], [])
+dnl AC_DEFUN([AM_PROG_LIBTOOL], [])
+
+
+# _LT_CC_BASENAME(CC)
+# -------------------
+# Calculate cc_basename. Skip known compiler wrappers and cross-prefix.
+m4_defun([_LT_CC_BASENAME],
+[for cc_temp in $1""; do
+ case $cc_temp in
+ compile | *[[\\/]]compile | ccache | *[[\\/]]ccache ) ;;
+ distcc | *[[\\/]]distcc | purify | *[[\\/]]purify ) ;;
+ \-*) ;;
+ *) break;;
+ esac
+done
+cc_basename=`$ECHO "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
+])
+
+
+# _LT_FILEUTILS_DEFAULTS
+# ----------------------
+# It is okay to use these file commands and assume they have been set
+# sensibly after `m4_require([_LT_FILEUTILS_DEFAULTS])'.
+m4_defun([_LT_FILEUTILS_DEFAULTS],
+[: ${CP="cp -f"}
+: ${MV="mv -f"}
+: ${RM="rm -f"}
+])# _LT_FILEUTILS_DEFAULTS
+
+
+# _LT_SETUP
+# ---------
+m4_defun([_LT_SETUP],
+[AC_REQUIRE([AC_CANONICAL_HOST])dnl
+AC_REQUIRE([AC_CANONICAL_BUILD])dnl
+_LT_DECL([], [host_alias], [0], [The host system])dnl
+_LT_DECL([], [host], [0])dnl
+_LT_DECL([], [host_os], [0])dnl
+dnl
+_LT_DECL([], [build_alias], [0], [The build system])dnl
+_LT_DECL([], [build], [0])dnl
+_LT_DECL([], [build_os], [0])dnl
+dnl
+AC_REQUIRE([AC_PROG_CC])dnl
+AC_REQUIRE([LT_PATH_LD])dnl
+AC_REQUIRE([LT_PATH_NM])dnl
+dnl
+AC_REQUIRE([AC_PROG_LN_S])dnl
+test -z "$LN_S" && LN_S="ln -s"
+_LT_DECL([], [LN_S], [1], [Whether we need soft or hard links])dnl
+dnl
+AC_REQUIRE([LT_CMD_MAX_LEN])dnl
+_LT_DECL([objext], [ac_objext], [0], [Object file suffix (normally "o")])dnl
+_LT_DECL([], [exeext], [0], [Executable file suffix (normally "")])dnl
+dnl
+m4_require([_LT_FILEUTILS_DEFAULTS])dnl
+m4_require([_LT_CHECK_SHELL_FEATURES])dnl
+m4_require([_LT_CMD_RELOAD])dnl
+m4_require([_LT_CHECK_MAGIC_METHOD])dnl
+m4_require([_LT_CMD_OLD_ARCHIVE])dnl
+m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl
+
+_LT_CONFIG_LIBTOOL_INIT([
+# See if we are running on zsh, and set the options which allow our
+# commands through without removal of \ escapes INIT.
+if test -n "\${ZSH_VERSION+set}" ; then
+ setopt NO_GLOB_SUBST
+fi
+])
+if test -n "${ZSH_VERSION+set}" ; then
+ setopt NO_GLOB_SUBST
+fi
+
+_LT_CHECK_OBJDIR
+
+m4_require([_LT_TAG_COMPILER])dnl
+_LT_PROG_ECHO_BACKSLASH
+
+case $host_os in
+aix3*)
+ # AIX sometimes has problems with the GCC collect2 program. For some
+ # reason, if we set the COLLECT_NAMES environment variable, the problems
+ # vanish in a puff of smoke.
+ if test "X${COLLECT_NAMES+set}" != Xset; then
+ COLLECT_NAMES=
+ export COLLECT_NAMES
+ fi
+ ;;
+esac
+
+# Sed substitution that helps us do robust quoting. It backslashifies
+# metacharacters that are still active within double-quoted strings.
+sed_quote_subst='s/\([["`$\\]]\)/\\\1/g'
+
+# Same as above, but do not quote variable references.
+double_quote_subst='s/\([["`\\]]\)/\\\1/g'
+
+# Sed substitution to delay expansion of an escaped shell variable in a
+# double_quote_subst'ed string.
+delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g'
+
+# Sed substitution to delay expansion of an escaped single quote.
+delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g'
+
+# Sed substitution to avoid accidental globbing in evaled expressions
+no_glob_subst='s/\*/\\\*/g'
+
+# Global variables:
+ofile=libtool
+can_build_shared=yes
+
+# All known linkers require a `.a' archive for static linking (except MSVC,
+# which needs '.lib').
+libext=a
+
+with_gnu_ld="$lt_cv_prog_gnu_ld"
+
+old_CC="$CC"
+old_CFLAGS="$CFLAGS"
+
+# Set sane defaults for various variables
+test -z "$CC" && CC=cc
+test -z "$LTCC" && LTCC=$CC
+test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS
+test -z "$LD" && LD=ld
+test -z "$ac_objext" && ac_objext=o
+
+_LT_CC_BASENAME([$compiler])
+
+# Only perform the check for file, if the check method requires it
+test -z "$MAGIC_CMD" && MAGIC_CMD=file
+case $deplibs_check_method in
+file_magic*)
+ if test "$file_magic_cmd" = '$MAGIC_CMD'; then
+ _LT_PATH_MAGIC
+ fi
+ ;;
+esac
+
+# Use C for the default configuration in the libtool script
+LT_SUPPORTED_TAG([CC])
+_LT_LANG_C_CONFIG
+_LT_LANG_DEFAULT_CONFIG
+_LT_CONFIG_COMMANDS
+])# _LT_SETUP
+
+
+# _LT_PROG_LTMAIN
+# ---------------
+# Note that this code is called both from `configure', and `config.status'
+# now that we use AC_CONFIG_COMMANDS to generate libtool. Notably,
+# `config.status' has no value for ac_aux_dir unless we are using Automake,
+# so we pass a copy along to make sure it has a sensible value anyway.
+m4_defun([_LT_PROG_LTMAIN],
+[m4_ifdef([AC_REQUIRE_AUX_FILE], [AC_REQUIRE_AUX_FILE([ltmain.sh])])dnl
+_LT_CONFIG_LIBTOOL_INIT([ac_aux_dir='$ac_aux_dir'])
+ltmain="$ac_aux_dir/ltmain.sh"
+])# _LT_PROG_LTMAIN
+
+
+## ------------------------------------- ##
+## Accumulate code for creating libtool. ##
+## ------------------------------------- ##
+
+# So that we can recreate a full libtool script including additional
+# tags, we accumulate the chunks of code to send to AC_CONFIG_COMMANDS
+# in macros and then make a single call at the end using the `libtool'
+# label.
+
+
+# _LT_CONFIG_LIBTOOL_INIT([INIT-COMMANDS])
+# ----------------------------------------
+# Register INIT-COMMANDS to be passed to AC_CONFIG_COMMANDS later.
+m4_define([_LT_CONFIG_LIBTOOL_INIT],
+[m4_ifval([$1],
+ [m4_append([_LT_OUTPUT_LIBTOOL_INIT],
+ [$1
+])])])
+
+# Initialize.
+m4_define([_LT_OUTPUT_LIBTOOL_INIT])
+
+
+# _LT_CONFIG_LIBTOOL([COMMANDS])
+# ------------------------------
+# Register COMMANDS to be passed to AC_CONFIG_COMMANDS later.
+m4_define([_LT_CONFIG_LIBTOOL],
+[m4_ifval([$1],
+ [m4_append([_LT_OUTPUT_LIBTOOL_COMMANDS],
+ [$1
+])])])
+
+# Initialize.
+m4_define([_LT_OUTPUT_LIBTOOL_COMMANDS])
+
+
+# _LT_CONFIG_SAVE_COMMANDS([COMMANDS], [INIT_COMMANDS])
+# -----------------------------------------------------
+m4_defun([_LT_CONFIG_SAVE_COMMANDS],
+[_LT_CONFIG_LIBTOOL([$1])
+_LT_CONFIG_LIBTOOL_INIT([$2])
+])
+
+
+# _LT_FORMAT_COMMENT([COMMENT])
+# -----------------------------
+# Add leading comment marks to the start of each line, and a trailing
+# full-stop to the whole comment if one is not present already.
+m4_define([_LT_FORMAT_COMMENT],
+[m4_ifval([$1], [
+m4_bpatsubst([m4_bpatsubst([$1], [^ *], [# ])],
+ [['`$\]], [\\\&])]m4_bmatch([$1], [[!?.]$], [], [.])
+)])
+
+
+
+## ------------------------ ##
+## FIXME: Eliminate VARNAME ##
+## ------------------------ ##
+
+
+# _LT_DECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION], [IS-TAGGED?])
+# -------------------------------------------------------------------
+# CONFIGNAME is the name given to the value in the libtool script.
+# VARNAME is the (base) name used in the configure script.
+# VALUE may be 0, 1 or 2 for a computed quote escaped value based on
+# VARNAME. Any other value will be used directly.
+m4_define([_LT_DECL],
+[lt_if_append_uniq([lt_decl_varnames], [$2], [, ],
+ [lt_dict_add_subkey([lt_decl_dict], [$2], [libtool_name],
+ [m4_ifval([$1], [$1], [$2])])
+ lt_dict_add_subkey([lt_decl_dict], [$2], [value], [$3])
+ m4_ifval([$4],
+ [lt_dict_add_subkey([lt_decl_dict], [$2], [description], [$4])])
+ lt_dict_add_subkey([lt_decl_dict], [$2],
+ [tagged?], [m4_ifval([$5], [yes], [no])])])
+])
+
+
+# _LT_TAGDECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION])
+# --------------------------------------------------------
+m4_define([_LT_TAGDECL], [_LT_DECL([$1], [$2], [$3], [$4], [yes])])
+
+
+# lt_decl_tag_varnames([SEPARATOR], [VARNAME1...])
+# ------------------------------------------------
+m4_define([lt_decl_tag_varnames],
+[_lt_decl_filter([tagged?], [yes], $@)])
+
+
+# _lt_decl_filter(SUBKEY, VALUE, [SEPARATOR], [VARNAME1..])
+# ---------------------------------------------------------
+m4_define([_lt_decl_filter],
+[m4_case([$#],
+ [0], [m4_fatal([$0: too few arguments: $#])],
+ [1], [m4_fatal([$0: too few arguments: $#: $1])],
+ [2], [lt_dict_filter([lt_decl_dict], [$1], [$2], [], lt_decl_varnames)],
+ [3], [lt_dict_filter([lt_decl_dict], [$1], [$2], [$3], lt_decl_varnames)],
+ [lt_dict_filter([lt_decl_dict], $@)])[]dnl
+])
+
+
+# lt_decl_quote_varnames([SEPARATOR], [VARNAME1...])
+# --------------------------------------------------
+m4_define([lt_decl_quote_varnames],
+[_lt_decl_filter([value], [1], $@)])
+
+
+# lt_decl_dquote_varnames([SEPARATOR], [VARNAME1...])
+# ---------------------------------------------------
+m4_define([lt_decl_dquote_varnames],
+[_lt_decl_filter([value], [2], $@)])
+
+
+# lt_decl_varnames_tagged([SEPARATOR], [VARNAME1...])
+# ---------------------------------------------------
+m4_define([lt_decl_varnames_tagged],
+[m4_assert([$# <= 2])dnl
+_$0(m4_quote(m4_default([$1], [[, ]])),
+ m4_ifval([$2], [[$2]], [m4_dquote(lt_decl_tag_varnames)]),
+ m4_split(m4_normalize(m4_quote(_LT_TAGS)), [ ]))])
+m4_define([_lt_decl_varnames_tagged],
+[m4_ifval([$3], [lt_combine([$1], [$2], [_], $3)])])
+
+
+# lt_decl_all_varnames([SEPARATOR], [VARNAME1...])
+# ------------------------------------------------
+m4_define([lt_decl_all_varnames],
+[_$0(m4_quote(m4_default([$1], [[, ]])),
+ m4_if([$2], [],
+ m4_quote(lt_decl_varnames),
+ m4_quote(m4_shift($@))))[]dnl
+])
+m4_define([_lt_decl_all_varnames],
+[lt_join($@, lt_decl_varnames_tagged([$1],
+ lt_decl_tag_varnames([[, ]], m4_shift($@))))dnl
+])
+
+
+# _LT_CONFIG_STATUS_DECLARE([VARNAME])
+# ------------------------------------
+# Quote a variable value, and forward it to `config.status' so that its
+# declaration there will have the same value as in `configure'. VARNAME
+# must have a single quote delimited value for this to work.
+m4_define([_LT_CONFIG_STATUS_DECLARE],
+[$1='`$ECHO "X$][$1" | $Xsed -e "$delay_single_quote_subst"`'])
+
+
+# _LT_CONFIG_STATUS_DECLARATIONS
+# ------------------------------
+# We delimit libtool config variables with single quotes, so when
+# we write them to config.status, we have to be sure to quote all
+# embedded single quotes properly. In configure, this macro expands
+# each variable declared with _LT_DECL (and _LT_TAGDECL) into:
+#
+# <var>='`$ECHO "X$<var>" | $Xsed -e "$delay_single_quote_subst"`'
+m4_defun([_LT_CONFIG_STATUS_DECLARATIONS],
+[m4_foreach([_lt_var], m4_quote(lt_decl_all_varnames),
+ [m4_n([_LT_CONFIG_STATUS_DECLARE(_lt_var)])])])
+
+
+# _LT_LIBTOOL_TAGS
+# ----------------
+# Output comment and list of tags supported by the script
+m4_defun([_LT_LIBTOOL_TAGS],
+[_LT_FORMAT_COMMENT([The names of the tagged configurations supported by this script])dnl
+available_tags="_LT_TAGS"dnl
+])
+
+
+# _LT_LIBTOOL_DECLARE(VARNAME, [TAG])
+# -----------------------------------
+# Extract the dictionary values for VARNAME (optionally with TAG) and
+# expand to a commented shell variable setting:
+#
+# # Some comment about what VAR is for.
+# visible_name=$lt_internal_name
+m4_define([_LT_LIBTOOL_DECLARE],
+[_LT_FORMAT_COMMENT(m4_quote(lt_dict_fetch([lt_decl_dict], [$1],
+ [description])))[]dnl
+m4_pushdef([_libtool_name],
+ m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [libtool_name])))[]dnl
+m4_case(m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [value])),
+ [0], [_libtool_name=[$]$1],
+ [1], [_libtool_name=$lt_[]$1],
+ [2], [_libtool_name=$lt_[]$1],
+ [_libtool_name=lt_dict_fetch([lt_decl_dict], [$1], [value])])[]dnl
+m4_ifval([$2], [_$2])[]m4_popdef([_libtool_name])[]dnl
+])
+
+
+# _LT_LIBTOOL_CONFIG_VARS
+# -----------------------
+# Produce commented declarations of non-tagged libtool config variables
+# suitable for insertion in the LIBTOOL CONFIG section of the `libtool'
+# script. Tagged libtool config variables (even for the LIBTOOL CONFIG
+# section) are produced by _LT_LIBTOOL_TAG_VARS.
+m4_defun([_LT_LIBTOOL_CONFIG_VARS],
+[m4_foreach([_lt_var],
+ m4_quote(_lt_decl_filter([tagged?], [no], [], lt_decl_varnames)),
+ [m4_n([_LT_LIBTOOL_DECLARE(_lt_var)])])])
+
+
+# _LT_LIBTOOL_TAG_VARS(TAG)
+# -------------------------
+m4_define([_LT_LIBTOOL_TAG_VARS],
+[m4_foreach([_lt_var], m4_quote(lt_decl_tag_varnames),
+ [m4_n([_LT_LIBTOOL_DECLARE(_lt_var, [$1])])])])
+
+
+# _LT_TAGVAR(VARNAME, [TAGNAME])
+# ------------------------------
+m4_define([_LT_TAGVAR], [m4_ifval([$2], [$1_$2], [$1])])
+
+
+# _LT_CONFIG_COMMANDS
+# -------------------
+# Send accumulated output to $CONFIG_STATUS. Thanks to the lists of
+# variables for single and double quote escaping we saved from calls
+# to _LT_DECL, we can put quote escaped variables declarations
+# into `config.status', and then the shell code to quote escape them in
+# for loops in `config.status'. Finally, any additional code accumulated
+# from calls to _LT_CONFIG_LIBTOOL_INIT is expanded.
+m4_defun([_LT_CONFIG_COMMANDS],
+[AC_PROVIDE_IFELSE([LT_OUTPUT],
+ dnl If the libtool generation code has been placed in $CONFIG_LT,
+ dnl instead of duplicating it all over again into config.status,
+ dnl then we will have config.status run $CONFIG_LT later, so it
+ dnl needs to know what name is stored there:
+ [AC_CONFIG_COMMANDS([libtool],
+ [$SHELL $CONFIG_LT || AS_EXIT(1)], [CONFIG_LT='$CONFIG_LT'])],
+ dnl If the libtool generation code is destined for config.status,
+ dnl expand the accumulated commands and init code now:
+ [AC_CONFIG_COMMANDS([libtool],
+ [_LT_OUTPUT_LIBTOOL_COMMANDS], [_LT_OUTPUT_LIBTOOL_COMMANDS_INIT])])
+])#_LT_CONFIG_COMMANDS
+
+
+# Initialize.
+m4_define([_LT_OUTPUT_LIBTOOL_COMMANDS_INIT],
+[
+
+# The HP-UX ksh and POSIX shell print the target directory to stdout
+# if CDPATH is set.
+(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
+
+sed_quote_subst='$sed_quote_subst'
+double_quote_subst='$double_quote_subst'
+delay_variable_subst='$delay_variable_subst'
+_LT_CONFIG_STATUS_DECLARATIONS
+LTCC='$LTCC'
+LTCFLAGS='$LTCFLAGS'
+compiler='$compiler_DEFAULT'
+
+# Quote evaled strings.
+for var in lt_decl_all_varnames([[ \
+]], lt_decl_quote_varnames); do
+ case \`eval \\\\\$ECHO "X\\\\\$\$var"\` in
+ *[[\\\\\\\`\\"\\\$]]*)
+ eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"X\\\$\$var\\" | \\\$Xsed -e \\"\\\$sed_quote_subst\\"\\\`\\\\\\""
+ ;;
+ *)
+ eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
+ ;;
+ esac
+done
+
+# Double-quote double-evaled strings.
+for var in lt_decl_all_varnames([[ \
+]], lt_decl_dquote_varnames); do
+ case \`eval \\\\\$ECHO "X\\\\\$\$var"\` in
+ *[[\\\\\\\`\\"\\\$]]*)
+ eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"X\\\$\$var\\" | \\\$Xsed -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\""
+ ;;
+ *)
+ eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
+ ;;
+ esac
+done
+
+# Fix-up fallback echo if it was mangled by the above quoting rules.
+case \$lt_ECHO in
+*'\\\[$]0 --fallback-echo"')dnl "
+ lt_ECHO=\`\$ECHO "X\$lt_ECHO" | \$Xsed -e 's/\\\\\\\\\\\\\\\[$]0 --fallback-echo"\[$]/\[$]0 --fallback-echo"/'\`
+ ;;
+esac
+
+_LT_OUTPUT_LIBTOOL_INIT
+])
+
+
+# LT_OUTPUT
+# ---------
+# This macro allows early generation of the libtool script (before
+# AC_OUTPUT is called), incase it is used in configure for compilation
+# tests.
+AC_DEFUN([LT_OUTPUT],
+[: ${CONFIG_LT=./config.lt}
+AC_MSG_NOTICE([creating $CONFIG_LT])
+cat >"$CONFIG_LT" <<_LTEOF
+#! $SHELL
+# Generated by $as_me.
+# Run this file to recreate a libtool stub with the current configuration.
+
+lt_cl_silent=false
+SHELL=\${CONFIG_SHELL-$SHELL}
+_LTEOF
+
+cat >>"$CONFIG_LT" <<\_LTEOF
+AS_SHELL_SANITIZE
+_AS_PREPARE
+
+exec AS_MESSAGE_FD>&1
+exec AS_MESSAGE_LOG_FD>>config.log
+{
+ echo
+ AS_BOX([Running $as_me.])
+} >&AS_MESSAGE_LOG_FD
+
+lt_cl_help="\
+\`$as_me' creates a local libtool stub from the current configuration,
+for use in further configure time tests before the real libtool is
+generated.
+
+Usage: $[0] [[OPTIONS]]
+
+ -h, --help print this help, then exit
+ -V, --version print version number, then exit
+ -q, --quiet do not print progress messages
+ -d, --debug don't remove temporary files
+
+Report bugs to <bug-libtool@gnu.org>."
+
+lt_cl_version="\
+m4_ifset([AC_PACKAGE_NAME], [AC_PACKAGE_NAME ])config.lt[]dnl
+m4_ifset([AC_PACKAGE_VERSION], [ AC_PACKAGE_VERSION])
+configured by $[0], generated by m4_PACKAGE_STRING.
+
+Copyright (C) 2008 Free Software Foundation, Inc.
+This config.lt script is free software; the Free Software Foundation
+gives unlimited permision to copy, distribute and modify it."
+
+while test $[#] != 0
+do
+ case $[1] in
+ --version | --v* | -V )
+ echo "$lt_cl_version"; exit 0 ;;
+ --help | --h* | -h )
+ echo "$lt_cl_help"; exit 0 ;;
+ --debug | --d* | -d )
+ debug=: ;;
+ --quiet | --q* | --silent | --s* | -q )
+ lt_cl_silent=: ;;
+
+ -*) AC_MSG_ERROR([unrecognized option: $[1]
+Try \`$[0] --help' for more information.]) ;;
+
+ *) AC_MSG_ERROR([unrecognized argument: $[1]
+Try \`$[0] --help' for more information.]) ;;
+ esac
+ shift
+done
+
+if $lt_cl_silent; then
+ exec AS_MESSAGE_FD>/dev/null
+fi
+_LTEOF
+
+cat >>"$CONFIG_LT" <<_LTEOF
+_LT_OUTPUT_LIBTOOL_COMMANDS_INIT
+_LTEOF
+
+cat >>"$CONFIG_LT" <<\_LTEOF
+AC_MSG_NOTICE([creating $ofile])
+_LT_OUTPUT_LIBTOOL_COMMANDS
+AS_EXIT(0)
+_LTEOF
+chmod +x "$CONFIG_LT"
+
+# configure is writing to config.log, but config.lt does its own redirection,
+# appending to config.log, which fails on DOS, as config.log is still kept
+# open by configure. Here we exec the FD to /dev/null, effectively closing
+# config.log, so it can be properly (re)opened and appended to by config.lt.
+if test "$no_create" != yes; then
+ lt_cl_success=:
+ test "$silent" = yes &&
+ lt_config_lt_args="$lt_config_lt_args --quiet"
+ exec AS_MESSAGE_LOG_FD>/dev/null
+ $SHELL "$CONFIG_LT" $lt_config_lt_args || lt_cl_success=false
+ exec AS_MESSAGE_LOG_FD>>config.log
+ $lt_cl_success || AS_EXIT(1)
+fi
+])# LT_OUTPUT
+
+
+# _LT_CONFIG(TAG)
+# ---------------
+# If TAG is the built-in tag, create an initial libtool script with a
+# default configuration from the untagged config vars. Otherwise add code
+# to config.status for appending the configuration named by TAG from the
+# matching tagged config vars.
+m4_defun([_LT_CONFIG],
+[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
+_LT_CONFIG_SAVE_COMMANDS([
+ m4_define([_LT_TAG], m4_if([$1], [], [C], [$1]))dnl
+ m4_if(_LT_TAG, [C], [
+ # See if we are running on zsh, and set the options which allow our
+ # commands through without removal of \ escapes.
+ if test -n "${ZSH_VERSION+set}" ; then
+ setopt NO_GLOB_SUBST
+ fi
+
+ cfgfile="${ofile}T"
+ trap "$RM \"$cfgfile\"; exit 1" 1 2 15
+ $RM "$cfgfile"
+
+ cat <<_LT_EOF >> "$cfgfile"
+#! $SHELL
+
+# `$ECHO "$ofile" | sed 's%^.*/%%'` - Provide generalized library-building support services.
+# Generated automatically by $as_me ($PACKAGE$TIMESTAMP) $VERSION
+# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
+# NOTE: Changes made to this file will be lost: look at ltmain.sh.
+#
+_LT_COPYING
+_LT_LIBTOOL_TAGS
+
+# ### BEGIN LIBTOOL CONFIG
+_LT_LIBTOOL_CONFIG_VARS
+_LT_LIBTOOL_TAG_VARS
+# ### END LIBTOOL CONFIG
+
+_LT_EOF
+
+ case $host_os in
+ aix3*)
+ cat <<\_LT_EOF >> "$cfgfile"
+# AIX sometimes has problems with the GCC collect2 program. For some
+# reason, if we set the COLLECT_NAMES environment variable, the problems
+# vanish in a puff of smoke.
+if test "X${COLLECT_NAMES+set}" != Xset; then
+ COLLECT_NAMES=
+ export COLLECT_NAMES
+fi
+_LT_EOF
+ ;;
+ esac
+
+ _LT_PROG_LTMAIN
+
+ # We use sed instead of cat because bash on DJGPP gets confused if
+ # if finds mixed CR/LF and LF-only lines. Since sed operates in
+ # text mode, it properly converts lines to CR/LF. This bash problem
+ # is reportedly fixed, but why not run on old versions too?
+ sed '/^# Generated shell functions inserted here/q' "$ltmain" >> "$cfgfile" \
+ || (rm -f "$cfgfile"; exit 1)
+
+ _LT_PROG_XSI_SHELLFNS
+
+ sed -n '/^# Generated shell functions inserted here/,$p' "$ltmain" >> "$cfgfile" \
+ || (rm -f "$cfgfile"; exit 1)
+
+ mv -f "$cfgfile" "$ofile" ||
+ (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile")
+ chmod +x "$ofile"
+],
+[cat <<_LT_EOF >> "$ofile"
+
+dnl Unfortunately we have to use $1 here, since _LT_TAG is not expanded
+dnl in a comment (ie after a #).
+# ### BEGIN LIBTOOL TAG CONFIG: $1
+_LT_LIBTOOL_TAG_VARS(_LT_TAG)
+# ### END LIBTOOL TAG CONFIG: $1
+_LT_EOF
+])dnl /m4_if
+],
+[m4_if([$1], [], [
+ PACKAGE='$PACKAGE'
+ VERSION='$VERSION'
+ TIMESTAMP='$TIMESTAMP'
+ RM='$RM'
+ ofile='$ofile'], [])
+])dnl /_LT_CONFIG_SAVE_COMMANDS
+])# _LT_CONFIG
+
+
+# LT_SUPPORTED_TAG(TAG)
+# ---------------------
+# Trace this macro to discover what tags are supported by the libtool
+# --tag option, using:
+# autoconf --trace 'LT_SUPPORTED_TAG:$1'
+AC_DEFUN([LT_SUPPORTED_TAG], [])
+
+
+# C support is built-in for now
+m4_define([_LT_LANG_C_enabled], [])
+m4_define([_LT_TAGS], [])
+
+
+# LT_LANG(LANG)
+# -------------
+# Enable libtool support for the given language if not already enabled.
+AC_DEFUN([LT_LANG],
+[AC_BEFORE([$0], [LT_OUTPUT])dnl
+m4_case([$1],
+ [C], [_LT_LANG(C)],
+ [C++], [_LT_LANG(CXX)],
+ [Java], [_LT_LANG(GCJ)],
+ [Fortran 77], [_LT_LANG(F77)],
+ [Fortran], [_LT_LANG(FC)],
+ [Windows Resource], [_LT_LANG(RC)],
+ [m4_ifdef([_LT_LANG_]$1[_CONFIG],
+ [_LT_LANG($1)],
+ [m4_fatal([$0: unsupported language: "$1"])])])dnl
+])# LT_LANG
+
+
+# _LT_LANG(LANGNAME)
+# ------------------
+m4_defun([_LT_LANG],
+[m4_ifdef([_LT_LANG_]$1[_enabled], [],
+ [LT_SUPPORTED_TAG([$1])dnl
+ m4_append([_LT_TAGS], [$1 ])dnl
+ m4_define([_LT_LANG_]$1[_enabled], [])dnl
+ _LT_LANG_$1_CONFIG($1)])dnl
+])# _LT_LANG
+
+
+# _LT_LANG_DEFAULT_CONFIG
+# -----------------------
+m4_defun([_LT_LANG_DEFAULT_CONFIG],
+[AC_PROVIDE_IFELSE([AC_PROG_CXX],
+ [LT_LANG(CXX)],
+ [m4_define([AC_PROG_CXX], defn([AC_PROG_CXX])[LT_LANG(CXX)])])
+
+AC_PROVIDE_IFELSE([AC_PROG_F77],
+ [LT_LANG(F77)],
+ [m4_define([AC_PROG_F77], defn([AC_PROG_F77])[LT_LANG(F77)])])
+
+AC_PROVIDE_IFELSE([AC_PROG_FC],
+ [LT_LANG(FC)],
+ [m4_define([AC_PROG_FC], defn([AC_PROG_FC])[LT_LANG(FC)])])
+
+dnl The call to [A][M_PROG_GCJ] is quoted like that to stop aclocal
+dnl pulling things in needlessly.
+AC_PROVIDE_IFELSE([AC_PROG_GCJ],
+ [LT_LANG(GCJ)],
+ [AC_PROVIDE_IFELSE([A][M_PROG_GCJ],
+ [LT_LANG(GCJ)],
+ [AC_PROVIDE_IFELSE([LT_PROG_GCJ],
+ [LT_LANG(GCJ)],
+ [m4_ifdef([AC_PROG_GCJ],
+ [m4_define([AC_PROG_GCJ], defn([AC_PROG_GCJ])[LT_LANG(GCJ)])])
+ m4_ifdef([A][M_PROG_GCJ],
+ [m4_define([A][M_PROG_GCJ], defn([A][M_PROG_GCJ])[LT_LANG(GCJ)])])
+ m4_ifdef([LT_PROG_GCJ],
+ [m4_define([LT_PROG_GCJ], defn([LT_PROG_GCJ])[LT_LANG(GCJ)])])])])])
+
+AC_PROVIDE_IFELSE([LT_PROG_RC],
+ [LT_LANG(RC)],
+ [m4_define([LT_PROG_RC], defn([LT_PROG_RC])[LT_LANG(RC)])])
+])# _LT_LANG_DEFAULT_CONFIG
+
+# Obsolete macros:
+AU_DEFUN([AC_LIBTOOL_CXX], [LT_LANG(C++)])
+AU_DEFUN([AC_LIBTOOL_F77], [LT_LANG(Fortran 77)])
+AU_DEFUN([AC_LIBTOOL_FC], [LT_LANG(Fortran)])
+AU_DEFUN([AC_LIBTOOL_GCJ], [LT_LANG(Java)])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_LIBTOOL_CXX], [])
+dnl AC_DEFUN([AC_LIBTOOL_F77], [])
+dnl AC_DEFUN([AC_LIBTOOL_FC], [])
+dnl AC_DEFUN([AC_LIBTOOL_GCJ], [])
+
+
+# _LT_TAG_COMPILER
+# ----------------
+m4_defun([_LT_TAG_COMPILER],
+[AC_REQUIRE([AC_PROG_CC])dnl
+
+_LT_DECL([LTCC], [CC], [1], [A C compiler])dnl
+_LT_DECL([LTCFLAGS], [CFLAGS], [1], [LTCC compiler flags])dnl
+_LT_TAGDECL([CC], [compiler], [1], [A language specific compiler])dnl
+_LT_TAGDECL([with_gcc], [GCC], [0], [Is the compiler the GNU compiler?])dnl
+
+# If no C compiler was specified, use CC.
+LTCC=${LTCC-"$CC"}
+
+# If no C compiler flags were specified, use CFLAGS.
+LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
+
+# Allow CC to be a program name with arguments.
+compiler=$CC
+])# _LT_TAG_COMPILER
+
+
+# _LT_COMPILER_BOILERPLATE
+# ------------------------
+# Check for compiler boilerplate output or warnings with
+# the simple compiler test code.
+m4_defun([_LT_COMPILER_BOILERPLATE],
+[m4_require([_LT_DECL_SED])dnl
+ac_outfile=conftest.$ac_objext
+echo "$lt_simple_compile_test_code" >conftest.$ac_ext
+eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
+_lt_compiler_boilerplate=`cat conftest.err`
+$RM conftest*
+])# _LT_COMPILER_BOILERPLATE
+
+
+# _LT_LINKER_BOILERPLATE
+# ----------------------
+# Check for linker boilerplate output or warnings with
+# the simple link test code.
+m4_defun([_LT_LINKER_BOILERPLATE],
+[m4_require([_LT_DECL_SED])dnl
+ac_outfile=conftest.$ac_objext
+echo "$lt_simple_link_test_code" >conftest.$ac_ext
+eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
+_lt_linker_boilerplate=`cat conftest.err`
+$RM -r conftest*
+])# _LT_LINKER_BOILERPLATE
+
+# _LT_REQUIRED_DARWIN_CHECKS
+# -------------------------
+m4_defun_once([_LT_REQUIRED_DARWIN_CHECKS],[
+ case $host_os in
+ rhapsody* | darwin*)
+ AC_CHECK_TOOL([DSYMUTIL], [dsymutil], [:])
+ AC_CHECK_TOOL([NMEDIT], [nmedit], [:])
+ AC_CHECK_TOOL([LIPO], [lipo], [:])
+ AC_CHECK_TOOL([OTOOL], [otool], [:])
+ AC_CHECK_TOOL([OTOOL64], [otool64], [:])
+ _LT_DECL([], [DSYMUTIL], [1],
+ [Tool to manipulate archived DWARF debug symbol files on Mac OS X])
+ _LT_DECL([], [NMEDIT], [1],
+ [Tool to change global to local symbols on Mac OS X])
+ _LT_DECL([], [LIPO], [1],
+ [Tool to manipulate fat objects and archives on Mac OS X])
+ _LT_DECL([], [OTOOL], [1],
+ [ldd/readelf like tool for Mach-O binaries on Mac OS X])
+ _LT_DECL([], [OTOOL64], [1],
+ [ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4])
+
+ AC_CACHE_CHECK([for -single_module linker flag],[lt_cv_apple_cc_single_mod],
+ [lt_cv_apple_cc_single_mod=no
+ if test -z "${LT_MULTI_MODULE}"; then
+ # By default we will add the -single_module flag. You can override
+ # by either setting the environment variable LT_MULTI_MODULE
+ # non-empty at configure time, or by adding -multi_module to the
+ # link flags.
+ rm -rf libconftest.dylib*
+ echo "int foo(void){return 1;}" > conftest.c
+ echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
+-dynamiclib -Wl,-single_module conftest.c" >&AS_MESSAGE_LOG_FD
+ $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
+ -dynamiclib -Wl,-single_module conftest.c 2>conftest.err
+ _lt_result=$?
+ if test -f libconftest.dylib && test ! -s conftest.err && test $_lt_result = 0; then
+ lt_cv_apple_cc_single_mod=yes
+ else
+ cat conftest.err >&AS_MESSAGE_LOG_FD
+ fi
+ rm -rf libconftest.dylib*
+ rm -f conftest.*
+ fi])
+ AC_CACHE_CHECK([for -exported_symbols_list linker flag],
+ [lt_cv_ld_exported_symbols_list],
+ [lt_cv_ld_exported_symbols_list=no
+ save_LDFLAGS=$LDFLAGS
+ echo "_main" > conftest.sym
+ LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym"
+ AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])],
+ [lt_cv_ld_exported_symbols_list=yes],
+ [lt_cv_ld_exported_symbols_list=no])
+ LDFLAGS="$save_LDFLAGS"
+ ])
+ case $host_os in
+ rhapsody* | darwin1.[[012]])
+ _lt_dar_allow_undefined='${wl}-undefined ${wl}suppress' ;;
+ darwin1.*)
+ _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
+ darwin*) # darwin 5.x on
+ # if running on 10.5 or later, the deployment target defaults
+ # to the OS version, if on x86, and 10.4, the deployment
+ # target defaults to 10.4. Don't you love it?
+ case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in
+ 10.0,*86*-darwin8*|10.0,*-darwin[[91]]*)
+ _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
+ 10.[[012]]*)
+ _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
+ 10.*)
+ _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
+ esac
+ ;;
+ esac
+ if test "$lt_cv_apple_cc_single_mod" = "yes"; then
+ _lt_dar_single_mod='$single_module'
+ fi
+ if test "$lt_cv_ld_exported_symbols_list" = "yes"; then
+ _lt_dar_export_syms=' ${wl}-exported_symbols_list,$output_objdir/${libname}-symbols.expsym'
+ else
+ _lt_dar_export_syms='~$NMEDIT -s $output_objdir/${libname}-symbols.expsym ${lib}'
+ fi
+ if test "$DSYMUTIL" != ":"; then
+ _lt_dsymutil='~$DSYMUTIL $lib || :'
+ else
+ _lt_dsymutil=
+ fi
+ ;;
+ esac
+])
+
+
+# _LT_DARWIN_LINKER_FEATURES
+# --------------------------
+# Checks for linker and compiler features on darwin
+m4_defun([_LT_DARWIN_LINKER_FEATURES],
+[
+ m4_require([_LT_REQUIRED_DARWIN_CHECKS])
+ _LT_TAGVAR(archive_cmds_need_lc, $1)=no
+ _LT_TAGVAR(hardcode_direct, $1)=no
+ _LT_TAGVAR(hardcode_automatic, $1)=yes
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
+ _LT_TAGVAR(whole_archive_flag_spec, $1)=''
+ _LT_TAGVAR(link_all_deplibs, $1)=yes
+ _LT_TAGVAR(allow_undefined_flag, $1)="$_lt_dar_allow_undefined"
+ case $cc_basename in
+ ifort*) _lt_dar_can_shared=yes ;;
+ *) _lt_dar_can_shared=$GCC ;;
+ esac
+ if test "$_lt_dar_can_shared" = "yes"; then
+ output_verbose_link_cmd=echo
+ _LT_TAGVAR(archive_cmds, $1)="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
+ _LT_TAGVAR(module_cmds, $1)="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
+ _LT_TAGVAR(archive_expsym_cmds, $1)="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
+ _LT_TAGVAR(module_expsym_cmds, $1)="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
+ m4_if([$1], [CXX],
+[ if test "$lt_cv_apple_cc_single_mod" != "yes"; then
+ _LT_TAGVAR(archive_cmds, $1)="\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dsymutil}"
+ _LT_TAGVAR(archive_expsym_cmds, $1)="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dar_export_syms}${_lt_dsymutil}"
+ fi
+],[])
+ else
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ fi
+])
+
+# _LT_SYS_MODULE_PATH_AIX
+# -----------------------
+# Links a minimal program and checks the executable
+# for the system default hardcoded library path. In most cases,
+# this is /usr/lib:/lib, but when the MPI compilers are used
+# the location of the communication and MPI libs are included too.
+# If we don't find anything, use the default library path according
+# to the aix ld manual.
+m4_defun([_LT_SYS_MODULE_PATH_AIX],
+[m4_require([_LT_DECL_SED])dnl
+AC_LINK_IFELSE(AC_LANG_PROGRAM,[
+lt_aix_libpath_sed='
+ /Import File Strings/,/^$/ {
+ /^0/ {
+ s/^0 *\(.*\)$/\1/
+ p
+ }
+ }'
+aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+# Check for a 64-bit object if we didn't find anything.
+if test -z "$aix_libpath"; then
+ aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+fi],[])
+if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+])# _LT_SYS_MODULE_PATH_AIX
+
+
+# _LT_SHELL_INIT(ARG)
+# -------------------
+m4_define([_LT_SHELL_INIT],
+[ifdef([AC_DIVERSION_NOTICE],
+ [AC_DIVERT_PUSH(AC_DIVERSION_NOTICE)],
+ [AC_DIVERT_PUSH(NOTICE)])
+$1
+AC_DIVERT_POP
+])# _LT_SHELL_INIT
+
+
+# _LT_PROG_ECHO_BACKSLASH
+# -----------------------
+# Add some code to the start of the generated configure script which
+# will find an echo command which doesn't interpret backslashes.
+m4_defun([_LT_PROG_ECHO_BACKSLASH],
+[_LT_SHELL_INIT([
+# Check that we are running under the correct shell.
+SHELL=${CONFIG_SHELL-/bin/sh}
+
+case X$lt_ECHO in
+X*--fallback-echo)
+ # Remove one level of quotation (which was required for Make).
+ ECHO=`echo "$lt_ECHO" | sed 's,\\\\\[$]\\[$]0,'[$]0','`
+ ;;
+esac
+
+ECHO=${lt_ECHO-echo}
+if test "X[$]1" = X--no-reexec; then
+ # Discard the --no-reexec flag, and continue.
+ shift
+elif test "X[$]1" = X--fallback-echo; then
+ # Avoid inline document here, it may be left over
+ :
+elif test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' ; then
+ # Yippee, $ECHO works!
+ :
+else
+ # Restart under the correct shell.
+ exec $SHELL "[$]0" --no-reexec ${1+"[$]@"}
+fi
+
+if test "X[$]1" = X--fallback-echo; then
+ # used as fallback echo
+ shift
+ cat <<_LT_EOF
+[$]*
+_LT_EOF
+ exit 0
+fi
+
+# The HP-UX ksh and POSIX shell print the target directory to stdout
+# if CDPATH is set.
+(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
+
+if test -z "$lt_ECHO"; then
+ if test "X${echo_test_string+set}" != Xset; then
+ # find a string as large as possible, as long as the shell can cope with it
+ for cmd in 'sed 50q "[$]0"' 'sed 20q "[$]0"' 'sed 10q "[$]0"' 'sed 2q "[$]0"' 'echo test'; do
+ # expected sizes: less than 2Kb, 1Kb, 512 bytes, 16 bytes, ...
+ if { echo_test_string=`eval $cmd`; } 2>/dev/null &&
+ { test "X$echo_test_string" = "X$echo_test_string"; } 2>/dev/null
+ then
+ break
+ fi
+ done
+ fi
+
+ if test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' &&
+ echo_testing_string=`{ $ECHO "$echo_test_string"; } 2>/dev/null` &&
+ test "X$echo_testing_string" = "X$echo_test_string"; then
+ :
+ else
+ # The Solaris, AIX, and Digital Unix default echo programs unquote
+ # backslashes. This makes it impossible to quote backslashes using
+ # echo "$something" | sed 's/\\/\\\\/g'
+ #
+ # So, first we look for a working echo in the user's PATH.
+
+ lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
+ for dir in $PATH /usr/ucb; do
+ IFS="$lt_save_ifs"
+ if (test -f $dir/echo || test -f $dir/echo$ac_exeext) &&
+ test "X`($dir/echo '\t') 2>/dev/null`" = 'X\t' &&
+ echo_testing_string=`($dir/echo "$echo_test_string") 2>/dev/null` &&
+ test "X$echo_testing_string" = "X$echo_test_string"; then
+ ECHO="$dir/echo"
+ break
+ fi
+ done
+ IFS="$lt_save_ifs"
+
+ if test "X$ECHO" = Xecho; then
+ # We didn't find a better echo, so look for alternatives.
+ if test "X`{ print -r '\t'; } 2>/dev/null`" = 'X\t' &&
+ echo_testing_string=`{ print -r "$echo_test_string"; } 2>/dev/null` &&
+ test "X$echo_testing_string" = "X$echo_test_string"; then
+ # This shell has a builtin print -r that does the trick.
+ ECHO='print -r'
+ elif { test -f /bin/ksh || test -f /bin/ksh$ac_exeext; } &&
+ test "X$CONFIG_SHELL" != X/bin/ksh; then
+ # If we have ksh, try running configure again with it.
+ ORIGINAL_CONFIG_SHELL=${CONFIG_SHELL-/bin/sh}
+ export ORIGINAL_CONFIG_SHELL
+ CONFIG_SHELL=/bin/ksh
+ export CONFIG_SHELL
+ exec $CONFIG_SHELL "[$]0" --no-reexec ${1+"[$]@"}
+ else
+ # Try using printf.
+ ECHO='printf %s\n'
+ if test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' &&
+ echo_testing_string=`{ $ECHO "$echo_test_string"; } 2>/dev/null` &&
+ test "X$echo_testing_string" = "X$echo_test_string"; then
+ # Cool, printf works
+ :
+ elif echo_testing_string=`($ORIGINAL_CONFIG_SHELL "[$]0" --fallback-echo '\t') 2>/dev/null` &&
+ test "X$echo_testing_string" = 'X\t' &&
+ echo_testing_string=`($ORIGINAL_CONFIG_SHELL "[$]0" --fallback-echo "$echo_test_string") 2>/dev/null` &&
+ test "X$echo_testing_string" = "X$echo_test_string"; then
+ CONFIG_SHELL=$ORIGINAL_CONFIG_SHELL
+ export CONFIG_SHELL
+ SHELL="$CONFIG_SHELL"
+ export SHELL
+ ECHO="$CONFIG_SHELL [$]0 --fallback-echo"
+ elif echo_testing_string=`($CONFIG_SHELL "[$]0" --fallback-echo '\t') 2>/dev/null` &&
+ test "X$echo_testing_string" = 'X\t' &&
+ echo_testing_string=`($CONFIG_SHELL "[$]0" --fallback-echo "$echo_test_string") 2>/dev/null` &&
+ test "X$echo_testing_string" = "X$echo_test_string"; then
+ ECHO="$CONFIG_SHELL [$]0 --fallback-echo"
+ else
+ # maybe with a smaller string...
+ prev=:
+
+ for cmd in 'echo test' 'sed 2q "[$]0"' 'sed 10q "[$]0"' 'sed 20q "[$]0"' 'sed 50q "[$]0"'; do
+ if { test "X$echo_test_string" = "X`eval $cmd`"; } 2>/dev/null
+ then
+ break
+ fi
+ prev="$cmd"
+ done
+
+ if test "$prev" != 'sed 50q "[$]0"'; then
+ echo_test_string=`eval $prev`
+ export echo_test_string
+ exec ${ORIGINAL_CONFIG_SHELL-${CONFIG_SHELL-/bin/sh}} "[$]0" ${1+"[$]@"}
+ else
+ # Oops. We lost completely, so just stick with echo.
+ ECHO=echo
+ fi
+ fi
+ fi
+ fi
+ fi
+fi
+
+# Copy echo and quote the copy suitably for passing to libtool from
+# the Makefile, instead of quoting the original, which is used later.
+lt_ECHO=$ECHO
+if test "X$lt_ECHO" = "X$CONFIG_SHELL [$]0 --fallback-echo"; then
+ lt_ECHO="$CONFIG_SHELL \\\$\[$]0 --fallback-echo"
+fi
+
+AC_SUBST(lt_ECHO)
+])
+_LT_DECL([], [SHELL], [1], [Shell to use when invoking shell scripts])
+_LT_DECL([], [ECHO], [1],
+ [An echo program that does not interpret backslashes])
+])# _LT_PROG_ECHO_BACKSLASH
+
+
+# _LT_ENABLE_LOCK
+# ---------------
+m4_defun([_LT_ENABLE_LOCK],
+[AC_ARG_ENABLE([libtool-lock],
+ [AS_HELP_STRING([--disable-libtool-lock],
+ [avoid locking (might break parallel builds)])])
+test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes
+
+# Some flags need to be propagated to the compiler or linker for good
+# libtool support.
+case $host in
+ia64-*-hpux*)
+ # Find out which ABI we are using.
+ echo 'int i;' > conftest.$ac_ext
+ if AC_TRY_EVAL(ac_compile); then
+ case `/usr/bin/file conftest.$ac_objext` in
+ *ELF-32*)
+ HPUX_IA64_MODE="32"
+ ;;
+ *ELF-64*)
+ HPUX_IA64_MODE="64"
+ ;;
+ esac
+ fi
+ rm -rf conftest*
+ ;;
+*-*-irix6*)
+ # Find out which ABI we are using.
+ echo '[#]line __oline__ "configure"' > conftest.$ac_ext
+ if AC_TRY_EVAL(ac_compile); then
+ if test "$lt_cv_prog_gnu_ld" = yes; then
+ case `/usr/bin/file conftest.$ac_objext` in
+ *32-bit*)
+ LD="${LD-ld} -melf32bsmip"
+ ;;
+ *N32*)
+ LD="${LD-ld} -melf32bmipn32"
+ ;;
+ *64-bit*)
+ LD="${LD-ld} -melf64bmip"
+ ;;
+ esac
+ else
+ case `/usr/bin/file conftest.$ac_objext` in
+ *32-bit*)
+ LD="${LD-ld} -32"
+ ;;
+ *N32*)
+ LD="${LD-ld} -n32"
+ ;;
+ *64-bit*)
+ LD="${LD-ld} -64"
+ ;;
+ esac
+ fi
+ fi
+ rm -rf conftest*
+ ;;
+
+x86_64-*kfreebsd*-gnu|x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*| \
+s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
+ # Find out which ABI we are using.
+ echo 'int i;' > conftest.$ac_ext
+ if AC_TRY_EVAL(ac_compile); then
+ case `/usr/bin/file conftest.o` in
+ *32-bit*)
+ case $host in
+ x86_64-*kfreebsd*-gnu)
+ LD="${LD-ld} -m elf_i386_fbsd"
+ ;;
+ x86_64-*linux*)
+ LD="${LD-ld} -m elf_i386"
+ ;;
+ ppc64-*linux*|powerpc64-*linux*)
+ LD="${LD-ld} -m elf32ppclinux"
+ ;;
+ s390x-*linux*)
+ LD="${LD-ld} -m elf_s390"
+ ;;
+ sparc64-*linux*)
+ LD="${LD-ld} -m elf32_sparc"
+ ;;
+ esac
+ ;;
+ *64-bit*)
+ case $host in
+ x86_64-*kfreebsd*-gnu)
+ LD="${LD-ld} -m elf_x86_64_fbsd"
+ ;;
+ x86_64-*linux*)
+ LD="${LD-ld} -m elf_x86_64"
+ ;;
+ ppc*-*linux*|powerpc*-*linux*)
+ LD="${LD-ld} -m elf64ppc"
+ ;;
+ s390*-*linux*|s390*-*tpf*)
+ LD="${LD-ld} -m elf64_s390"
+ ;;
+ sparc*-*linux*)
+ LD="${LD-ld} -m elf64_sparc"
+ ;;
+ esac
+ ;;
+ esac
+ fi
+ rm -rf conftest*
+ ;;
+
+*-*-sco3.2v5*)
+ # On SCO OpenServer 5, we need -belf to get full-featured binaries.
+ SAVE_CFLAGS="$CFLAGS"
+ CFLAGS="$CFLAGS -belf"
+ AC_CACHE_CHECK([whether the C compiler needs -belf], lt_cv_cc_needs_belf,
+ [AC_LANG_PUSH(C)
+ AC_LINK_IFELSE([AC_LANG_PROGRAM([[]],[[]])],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no])
+ AC_LANG_POP])
+ if test x"$lt_cv_cc_needs_belf" != x"yes"; then
+ # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf
+ CFLAGS="$SAVE_CFLAGS"
+ fi
+ ;;
+sparc*-*solaris*)
+ # Find out which ABI we are using.
+ echo 'int i;' > conftest.$ac_ext
+ if AC_TRY_EVAL(ac_compile); then
+ case `/usr/bin/file conftest.o` in
+ *64-bit*)
+ case $lt_cv_prog_gnu_ld in
+ yes*) LD="${LD-ld} -m elf64_sparc" ;;
+ *)
+ if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then
+ LD="${LD-ld} -64"
+ fi
+ ;;
+ esac
+ ;;
+ esac
+ fi
+ rm -rf conftest*
+ ;;
+esac
+
+need_locks="$enable_libtool_lock"
+])# _LT_ENABLE_LOCK
+
+
+# _LT_CMD_OLD_ARCHIVE
+# -------------------
+m4_defun([_LT_CMD_OLD_ARCHIVE],
+[AC_CHECK_TOOL(AR, ar, false)
+test -z "$AR" && AR=ar
+test -z "$AR_FLAGS" && AR_FLAGS=cru
+_LT_DECL([], [AR], [1], [The archiver])
+_LT_DECL([], [AR_FLAGS], [1])
+
+AC_CHECK_TOOL(STRIP, strip, :)
+test -z "$STRIP" && STRIP=:
+_LT_DECL([], [STRIP], [1], [A symbol stripping program])
+
+AC_CHECK_TOOL(RANLIB, ranlib, :)
+test -z "$RANLIB" && RANLIB=:
+_LT_DECL([], [RANLIB], [1],
+ [Commands used to install an old-style archive])
+
+# Determine commands to create old-style static archives.
+old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs'
+old_postinstall_cmds='chmod 644 $oldlib'
+old_postuninstall_cmds=
+
+if test -n "$RANLIB"; then
+ case $host_os in
+ openbsd*)
+ old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib"
+ ;;
+ *)
+ old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib"
+ ;;
+ esac
+ old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib"
+fi
+_LT_DECL([], [old_postinstall_cmds], [2])
+_LT_DECL([], [old_postuninstall_cmds], [2])
+_LT_TAGDECL([], [old_archive_cmds], [2],
+ [Commands used to build an old-style archive])
+])# _LT_CMD_OLD_ARCHIVE
+
+
+# _LT_COMPILER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS,
+# [OUTPUT-FILE], [ACTION-SUCCESS], [ACTION-FAILURE])
+# ----------------------------------------------------------------
+# Check whether the given compiler option works
+AC_DEFUN([_LT_COMPILER_OPTION],
+[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
+m4_require([_LT_DECL_SED])dnl
+AC_CACHE_CHECK([$1], [$2],
+ [$2=no
+ m4_if([$4], , [ac_outfile=conftest.$ac_objext], [ac_outfile=$4])
+ echo "$lt_simple_compile_test_code" > conftest.$ac_ext
+ lt_compiler_flag="$3"
+ # Insert the option either (1) after the last *FLAGS variable, or
+ # (2) before a word containing "conftest.", or (3) at the end.
+ # Note that $ac_compile itself does not contain backslashes and begins
+ # with a dollar sign (not a hyphen), so the echo should work correctly.
+ # The option is referenced via a variable to avoid confusing sed.
+ lt_compile=`echo "$ac_compile" | $SED \
+ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
+ -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \
+ -e 's:$: $lt_compiler_flag:'`
+ (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&AS_MESSAGE_LOG_FD)
+ (eval "$lt_compile" 2>conftest.err)
+ ac_status=$?
+ cat conftest.err >&AS_MESSAGE_LOG_FD
+ echo "$as_me:__oline__: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
+ if (exit $ac_status) && test -s "$ac_outfile"; then
+ # The compiler can only warn and ignore the option if not recognized
+ # So say no if there are warnings other than the usual output.
+ $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp
+ $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
+ if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
+ $2=yes
+ fi
+ fi
+ $RM conftest*
+])
+
+if test x"[$]$2" = xyes; then
+ m4_if([$5], , :, [$5])
+else
+ m4_if([$6], , :, [$6])
+fi
+])# _LT_COMPILER_OPTION
+
+# Old name:
+AU_ALIAS([AC_LIBTOOL_COMPILER_OPTION], [_LT_COMPILER_OPTION])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_LIBTOOL_COMPILER_OPTION], [])
+
+
+# _LT_LINKER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS,
+# [ACTION-SUCCESS], [ACTION-FAILURE])
+# ----------------------------------------------------
+# Check whether the given linker option works
+AC_DEFUN([_LT_LINKER_OPTION],
+[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
+m4_require([_LT_DECL_SED])dnl
+AC_CACHE_CHECK([$1], [$2],
+ [$2=no
+ save_LDFLAGS="$LDFLAGS"
+ LDFLAGS="$LDFLAGS $3"
+ echo "$lt_simple_link_test_code" > conftest.$ac_ext
+ if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
+ # The linker can only warn and ignore the option if not recognized
+ # So say no if there are warnings
+ if test -s conftest.err; then
+ # Append any errors to the config.log.
+ cat conftest.err 1>&AS_MESSAGE_LOG_FD
+ $ECHO "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp
+ $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
+ if diff conftest.exp conftest.er2 >/dev/null; then
+ $2=yes
+ fi
+ else
+ $2=yes
+ fi
+ fi
+ $RM -r conftest*
+ LDFLAGS="$save_LDFLAGS"
+])
+
+if test x"[$]$2" = xyes; then
+ m4_if([$4], , :, [$4])
+else
+ m4_if([$5], , :, [$5])
+fi
+])# _LT_LINKER_OPTION
+
+# Old name:
+AU_ALIAS([AC_LIBTOOL_LINKER_OPTION], [_LT_LINKER_OPTION])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_LIBTOOL_LINKER_OPTION], [])
+
+
+# LT_CMD_MAX_LEN
+#---------------
+AC_DEFUN([LT_CMD_MAX_LEN],
+[AC_REQUIRE([AC_CANONICAL_HOST])dnl
+# find the maximum length of command line arguments
+AC_MSG_CHECKING([the maximum length of command line arguments])
+AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl
+ i=0
+ teststring="ABCD"
+
+ case $build_os in
+ msdosdjgpp*)
+ # On DJGPP, this test can blow up pretty badly due to problems in libc
+ # (any single argument exceeding 2000 bytes causes a buffer overrun
+ # during glob expansion). Even if it were fixed, the result of this
+ # check would be larger than it should be.
+ lt_cv_sys_max_cmd_len=12288; # 12K is about right
+ ;;
+
+ gnu*)
+ # Under GNU Hurd, this test is not required because there is
+ # no limit to the length of command line arguments.
+ # Libtool will interpret -1 as no limit whatsoever
+ lt_cv_sys_max_cmd_len=-1;
+ ;;
+
+ cygwin* | mingw* | cegcc*)
+ # On Win9x/ME, this test blows up -- it succeeds, but takes
+ # about 5 minutes as the teststring grows exponentially.
+ # Worse, since 9x/ME are not pre-emptively multitasking,
+ # you end up with a "frozen" computer, even though with patience
+ # the test eventually succeeds (with a max line length of 256k).
+ # Instead, let's just punt: use the minimum linelength reported by
+ # all of the supported platforms: 8192 (on NT/2K/XP).
+ lt_cv_sys_max_cmd_len=8192;
+ ;;
+
+ amigaos*)
+ # On AmigaOS with pdksh, this test takes hours, literally.
+ # So we just punt and use a minimum line length of 8192.
+ lt_cv_sys_max_cmd_len=8192;
+ ;;
+
+ netbsd* | freebsd* | openbsd* | darwin* | dragonfly*)
+ # This has been around since 386BSD, at least. Likely further.
+ if test -x /sbin/sysctl; then
+ lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax`
+ elif test -x /usr/sbin/sysctl; then
+ lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax`
+ else
+ lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs
+ fi
+ # And add a safety zone
+ lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
+ lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
+ ;;
+
+ interix*)
+ # We know the value 262144 and hardcode it with a safety zone (like BSD)
+ lt_cv_sys_max_cmd_len=196608
+ ;;
+
+ osf*)
+ # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure
+ # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not
+ # nice to cause kernel panics so lets avoid the loop below.
+ # First set a reasonable default.
+ lt_cv_sys_max_cmd_len=16384
+ #
+ if test -x /sbin/sysconfig; then
+ case `/sbin/sysconfig -q proc exec_disable_arg_limit` in
+ *1*) lt_cv_sys_max_cmd_len=-1 ;;
+ esac
+ fi
+ ;;
+ sco3.2v5*)
+ lt_cv_sys_max_cmd_len=102400
+ ;;
+ sysv5* | sco5v6* | sysv4.2uw2*)
+ kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null`
+ if test -n "$kargmax"; then
+ lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[[ ]]//'`
+ else
+ lt_cv_sys_max_cmd_len=32768
+ fi
+ ;;
+ *)
+ lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null`
+ if test -n "$lt_cv_sys_max_cmd_len"; then
+ lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
+ lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
+ else
+ # Make teststring a little bigger before we do anything with it.
+ # a 1K string should be a reasonable start.
+ for i in 1 2 3 4 5 6 7 8 ; do
+ teststring=$teststring$teststring
+ done
+ SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}}
+ # If test is not a shell built-in, we'll probably end up computing a
+ # maximum length that is only half of the actual maximum length, but
+ # we can't tell.
+ while { test "X"`$SHELL [$]0 --fallback-echo "X$teststring$teststring" 2>/dev/null` \
+ = "XX$teststring$teststring"; } >/dev/null 2>&1 &&
+ test $i != 17 # 1/2 MB should be enough
+ do
+ i=`expr $i + 1`
+ teststring=$teststring$teststring
+ done
+ # Only check the string length outside the loop.
+ lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1`
+ teststring=
+ # Add a significant safety factor because C++ compilers can tack on
+ # massive amounts of additional arguments before passing them to the
+ # linker. It appears as though 1/2 is a usable value.
+ lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2`
+ fi
+ ;;
+ esac
+])
+if test -n $lt_cv_sys_max_cmd_len ; then
+ AC_MSG_RESULT($lt_cv_sys_max_cmd_len)
+else
+ AC_MSG_RESULT(none)
+fi
+max_cmd_len=$lt_cv_sys_max_cmd_len
+_LT_DECL([], [max_cmd_len], [0],
+ [What is the maximum length of a command?])
+])# LT_CMD_MAX_LEN
+
+# Old name:
+AU_ALIAS([AC_LIBTOOL_SYS_MAX_CMD_LEN], [LT_CMD_MAX_LEN])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_LIBTOOL_SYS_MAX_CMD_LEN], [])
+
+
+# _LT_HEADER_DLFCN
+# ----------------
+m4_defun([_LT_HEADER_DLFCN],
+[AC_CHECK_HEADERS([dlfcn.h], [], [], [AC_INCLUDES_DEFAULT])dnl
+])# _LT_HEADER_DLFCN
+
+
+# _LT_TRY_DLOPEN_SELF (ACTION-IF-TRUE, ACTION-IF-TRUE-W-USCORE,
+# ACTION-IF-FALSE, ACTION-IF-CROSS-COMPILING)
+# ----------------------------------------------------------------
+m4_defun([_LT_TRY_DLOPEN_SELF],
+[m4_require([_LT_HEADER_DLFCN])dnl
+if test "$cross_compiling" = yes; then :
+ [$4]
+else
+ lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
+ lt_status=$lt_dlunknown
+ cat > conftest.$ac_ext <<_LT_EOF
+[#line __oline__ "configure"
+#include "confdefs.h"
+
+#if HAVE_DLFCN_H
+#include <dlfcn.h>
+#endif
+
+#include <stdio.h>
+
+#ifdef RTLD_GLOBAL
+# define LT_DLGLOBAL RTLD_GLOBAL
+#else
+# ifdef DL_GLOBAL
+# define LT_DLGLOBAL DL_GLOBAL
+# else
+# define LT_DLGLOBAL 0
+# endif
+#endif
+
+/* We may have to define LT_DLLAZY_OR_NOW in the command line if we
+ find out it does not work in some platform. */
+#ifndef LT_DLLAZY_OR_NOW
+# ifdef RTLD_LAZY
+# define LT_DLLAZY_OR_NOW RTLD_LAZY
+# else
+# ifdef DL_LAZY
+# define LT_DLLAZY_OR_NOW DL_LAZY
+# else
+# ifdef RTLD_NOW
+# define LT_DLLAZY_OR_NOW RTLD_NOW
+# else
+# ifdef DL_NOW
+# define LT_DLLAZY_OR_NOW DL_NOW
+# else
+# define LT_DLLAZY_OR_NOW 0
+# endif
+# endif
+# endif
+# endif
+#endif
+
+void fnord() { int i=42;}
+int main ()
+{
+ void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
+ int status = $lt_dlunknown;
+
+ if (self)
+ {
+ if (dlsym (self,"fnord")) status = $lt_dlno_uscore;
+ else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore;
+ /* dlclose (self); */
+ }
+ else
+ puts (dlerror ());
+
+ return status;
+}]
+_LT_EOF
+ if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext} 2>/dev/null; then
+ (./conftest; exit; ) >&AS_MESSAGE_LOG_FD 2>/dev/null
+ lt_status=$?
+ case x$lt_status in
+ x$lt_dlno_uscore) $1 ;;
+ x$lt_dlneed_uscore) $2 ;;
+ x$lt_dlunknown|x*) $3 ;;
+ esac
+ else :
+ # compilation failed
+ $3
+ fi
+fi
+rm -fr conftest*
+])# _LT_TRY_DLOPEN_SELF
+
+
+# LT_SYS_DLOPEN_SELF
+# ------------------
+AC_DEFUN([LT_SYS_DLOPEN_SELF],
+[m4_require([_LT_HEADER_DLFCN])dnl
+if test "x$enable_dlopen" != xyes; then
+ enable_dlopen=unknown
+ enable_dlopen_self=unknown
+ enable_dlopen_self_static=unknown
+else
+ lt_cv_dlopen=no
+ lt_cv_dlopen_libs=
+
+ case $host_os in
+ beos*)
+ lt_cv_dlopen="load_add_on"
+ lt_cv_dlopen_libs=
+ lt_cv_dlopen_self=yes
+ ;;
+
+ mingw* | pw32* | cegcc*)
+ lt_cv_dlopen="LoadLibrary"
+ lt_cv_dlopen_libs=
+ ;;
+
+ cygwin*)
+ lt_cv_dlopen="dlopen"
+ lt_cv_dlopen_libs=
+ ;;
+
+ darwin*)
+ # if libdl is installed we need to link against it
+ AC_CHECK_LIB([dl], [dlopen],
+ [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"],[
+ lt_cv_dlopen="dyld"
+ lt_cv_dlopen_libs=
+ lt_cv_dlopen_self=yes
+ ])
+ ;;
+
+ *)
+ AC_CHECK_FUNC([shl_load],
+ [lt_cv_dlopen="shl_load"],
+ [AC_CHECK_LIB([dld], [shl_load],
+ [lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld"],
+ [AC_CHECK_FUNC([dlopen],
+ [lt_cv_dlopen="dlopen"],
+ [AC_CHECK_LIB([dl], [dlopen],
+ [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"],
+ [AC_CHECK_LIB([svld], [dlopen],
+ [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"],
+ [AC_CHECK_LIB([dld], [dld_link],
+ [lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld"])
+ ])
+ ])
+ ])
+ ])
+ ])
+ ;;
+ esac
+
+ if test "x$lt_cv_dlopen" != xno; then
+ enable_dlopen=yes
+ else
+ enable_dlopen=no
+ fi
+
+ case $lt_cv_dlopen in
+ dlopen)
+ save_CPPFLAGS="$CPPFLAGS"
+ test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H"
+
+ save_LDFLAGS="$LDFLAGS"
+ wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\"
+
+ save_LIBS="$LIBS"
+ LIBS="$lt_cv_dlopen_libs $LIBS"
+
+ AC_CACHE_CHECK([whether a program can dlopen itself],
+ lt_cv_dlopen_self, [dnl
+ _LT_TRY_DLOPEN_SELF(
+ lt_cv_dlopen_self=yes, lt_cv_dlopen_self=yes,
+ lt_cv_dlopen_self=no, lt_cv_dlopen_self=cross)
+ ])
+
+ if test "x$lt_cv_dlopen_self" = xyes; then
+ wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\"
+ AC_CACHE_CHECK([whether a statically linked program can dlopen itself],
+ lt_cv_dlopen_self_static, [dnl
+ _LT_TRY_DLOPEN_SELF(
+ lt_cv_dlopen_self_static=yes, lt_cv_dlopen_self_static=yes,
+ lt_cv_dlopen_self_static=no, lt_cv_dlopen_self_static=cross)
+ ])
+ fi
+
+ CPPFLAGS="$save_CPPFLAGS"
+ LDFLAGS="$save_LDFLAGS"
+ LIBS="$save_LIBS"
+ ;;
+ esac
+
+ case $lt_cv_dlopen_self in
+ yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;;
+ *) enable_dlopen_self=unknown ;;
+ esac
+
+ case $lt_cv_dlopen_self_static in
+ yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;;
+ *) enable_dlopen_self_static=unknown ;;
+ esac
+fi
+_LT_DECL([dlopen_support], [enable_dlopen], [0],
+ [Whether dlopen is supported])
+_LT_DECL([dlopen_self], [enable_dlopen_self], [0],
+ [Whether dlopen of programs is supported])
+_LT_DECL([dlopen_self_static], [enable_dlopen_self_static], [0],
+ [Whether dlopen of statically linked programs is supported])
+])# LT_SYS_DLOPEN_SELF
+
+# Old name:
+AU_ALIAS([AC_LIBTOOL_DLOPEN_SELF], [LT_SYS_DLOPEN_SELF])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_LIBTOOL_DLOPEN_SELF], [])
+
+
+# _LT_COMPILER_C_O([TAGNAME])
+# ---------------------------
+# Check to see if options -c and -o are simultaneously supported by compiler.
+# This macro does not hard code the compiler like AC_PROG_CC_C_O.
+m4_defun([_LT_COMPILER_C_O],
+[m4_require([_LT_DECL_SED])dnl
+m4_require([_LT_FILEUTILS_DEFAULTS])dnl
+m4_require([_LT_TAG_COMPILER])dnl
+AC_CACHE_CHECK([if $compiler supports -c -o file.$ac_objext],
+ [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)],
+ [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=no
+ $RM -r conftest 2>/dev/null
+ mkdir conftest
+ cd conftest
+ mkdir out
+ echo "$lt_simple_compile_test_code" > conftest.$ac_ext
+
+ lt_compiler_flag="-o out/conftest2.$ac_objext"
+ # Insert the option either (1) after the last *FLAGS variable, or
+ # (2) before a word containing "conftest.", or (3) at the end.
+ # Note that $ac_compile itself does not contain backslashes and begins
+ # with a dollar sign (not a hyphen), so the echo should work correctly.
+ lt_compile=`echo "$ac_compile" | $SED \
+ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
+ -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \
+ -e 's:$: $lt_compiler_flag:'`
+ (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&AS_MESSAGE_LOG_FD)
+ (eval "$lt_compile" 2>out/conftest.err)
+ ac_status=$?
+ cat out/conftest.err >&AS_MESSAGE_LOG_FD
+ echo "$as_me:__oline__: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
+ if (exit $ac_status) && test -s out/conftest2.$ac_objext
+ then
+ # The compiler can only warn and ignore the option if not recognized
+ # So say no if there are warnings
+ $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp
+ $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
+ if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
+ _LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes
+ fi
+ fi
+ chmod u+w . 2>&AS_MESSAGE_LOG_FD
+ $RM conftest*
+ # SGI C++ compiler will create directory out/ii_files/ for
+ # template instantiation
+ test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files
+ $RM out/* && rmdir out
+ cd ..
+ $RM -r conftest
+ $RM conftest*
+])
+_LT_TAGDECL([compiler_c_o], [lt_cv_prog_compiler_c_o], [1],
+ [Does compiler simultaneously support -c and -o options?])
+])# _LT_COMPILER_C_O
+
+
+# _LT_COMPILER_FILE_LOCKS([TAGNAME])
+# ----------------------------------
+# Check to see if we can do hard links to lock some files if needed
+m4_defun([_LT_COMPILER_FILE_LOCKS],
+[m4_require([_LT_ENABLE_LOCK])dnl
+m4_require([_LT_FILEUTILS_DEFAULTS])dnl
+_LT_COMPILER_C_O([$1])
+
+hard_links="nottested"
+if test "$_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)" = no && test "$need_locks" != no; then
+ # do not overwrite the value of need_locks provided by the user
+ AC_MSG_CHECKING([if we can lock with hard links])
+ hard_links=yes
+ $RM conftest*
+ ln conftest.a conftest.b 2>/dev/null && hard_links=no
+ touch conftest.a
+ ln conftest.a conftest.b 2>&5 || hard_links=no
+ ln conftest.a conftest.b 2>/dev/null && hard_links=no
+ AC_MSG_RESULT([$hard_links])
+ if test "$hard_links" = no; then
+ AC_MSG_WARN([`$CC' does not support `-c -o', so `make -j' may be unsafe])
+ need_locks=warn
+ fi
+else
+ need_locks=no
+fi
+_LT_DECL([], [need_locks], [1], [Must we lock files when doing compilation?])
+])# _LT_COMPILER_FILE_LOCKS
+
+
+# _LT_CHECK_OBJDIR
+# ----------------
+m4_defun([_LT_CHECK_OBJDIR],
+[AC_CACHE_CHECK([for objdir], [lt_cv_objdir],
+[rm -f .libs 2>/dev/null
+mkdir .libs 2>/dev/null
+if test -d .libs; then
+ lt_cv_objdir=.libs
+else
+ # MS-DOS does not allow filenames that begin with a dot.
+ lt_cv_objdir=_libs
+fi
+rmdir .libs 2>/dev/null])
+objdir=$lt_cv_objdir
+_LT_DECL([], [objdir], [0],
+ [The name of the directory that contains temporary libtool files])dnl
+m4_pattern_allow([LT_OBJDIR])dnl
+AC_DEFINE_UNQUOTED(LT_OBJDIR, "$lt_cv_objdir/",
+ [Define to the sub-directory in which libtool stores uninstalled libraries.])
+])# _LT_CHECK_OBJDIR
+
+
+# _LT_LINKER_HARDCODE_LIBPATH([TAGNAME])
+# --------------------------------------
+# Check hardcoding attributes.
+m4_defun([_LT_LINKER_HARDCODE_LIBPATH],
+[AC_MSG_CHECKING([how to hardcode library paths into programs])
+_LT_TAGVAR(hardcode_action, $1)=
+if test -n "$_LT_TAGVAR(hardcode_libdir_flag_spec, $1)" ||
+ test -n "$_LT_TAGVAR(runpath_var, $1)" ||
+ test "X$_LT_TAGVAR(hardcode_automatic, $1)" = "Xyes" ; then
+
+ # We can hardcode non-existent directories.
+ if test "$_LT_TAGVAR(hardcode_direct, $1)" != no &&
+ # If the only mechanism to avoid hardcoding is shlibpath_var, we
+ # have to relink, otherwise we might link with an installed library
+ # when we should be linking with a yet-to-be-installed one
+ ## test "$_LT_TAGVAR(hardcode_shlibpath_var, $1)" != no &&
+ test "$_LT_TAGVAR(hardcode_minus_L, $1)" != no; then
+ # Linking always hardcodes the temporary library directory.
+ _LT_TAGVAR(hardcode_action, $1)=relink
+ else
+ # We can link without hardcoding, and we can hardcode nonexisting dirs.
+ _LT_TAGVAR(hardcode_action, $1)=immediate
+ fi
+else
+ # We cannot hardcode anything, or else we can only hardcode existing
+ # directories.
+ _LT_TAGVAR(hardcode_action, $1)=unsupported
+fi
+AC_MSG_RESULT([$_LT_TAGVAR(hardcode_action, $1)])
+
+if test "$_LT_TAGVAR(hardcode_action, $1)" = relink ||
+ test "$_LT_TAGVAR(inherit_rpath, $1)" = yes; then
+ # Fast installation is not supported
+ enable_fast_install=no
+elif test "$shlibpath_overrides_runpath" = yes ||
+ test "$enable_shared" = no; then
+ # Fast installation is not necessary
+ enable_fast_install=needless
+fi
+_LT_TAGDECL([], [hardcode_action], [0],
+ [How to hardcode a shared library path into an executable])
+])# _LT_LINKER_HARDCODE_LIBPATH
+
+
+# _LT_CMD_STRIPLIB
+# ----------------
+m4_defun([_LT_CMD_STRIPLIB],
+[m4_require([_LT_DECL_EGREP])
+striplib=
+old_striplib=
+AC_MSG_CHECKING([whether stripping libraries is possible])
+if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then
+ test -z "$old_striplib" && old_striplib="$STRIP --strip-debug"
+ test -z "$striplib" && striplib="$STRIP --strip-unneeded"
+ AC_MSG_RESULT([yes])
+else
+# FIXME - insert some real tests, host_os isn't really good enough
+ case $host_os in
+ darwin*)
+ if test -n "$STRIP" ; then
+ striplib="$STRIP -x"
+ old_striplib="$STRIP -S"
+ AC_MSG_RESULT([yes])
+ else
+ AC_MSG_RESULT([no])
+ fi
+ ;;
+ *)
+ AC_MSG_RESULT([no])
+ ;;
+ esac
+fi
+_LT_DECL([], [old_striplib], [1], [Commands to strip libraries])
+_LT_DECL([], [striplib], [1])
+])# _LT_CMD_STRIPLIB
+
+
+# _LT_SYS_DYNAMIC_LINKER([TAG])
+# -----------------------------
+# PORTME Fill in your ld.so characteristics
+m4_defun([_LT_SYS_DYNAMIC_LINKER],
+[AC_REQUIRE([AC_CANONICAL_HOST])dnl
+m4_require([_LT_DECL_EGREP])dnl
+m4_require([_LT_FILEUTILS_DEFAULTS])dnl
+m4_require([_LT_DECL_OBJDUMP])dnl
+m4_require([_LT_DECL_SED])dnl
+AC_MSG_CHECKING([dynamic linker characteristics])
+m4_if([$1],
+ [], [
+if test "$GCC" = yes; then
+ case $host_os in
+ darwin*) lt_awk_arg="/^libraries:/,/LR/" ;;
+ *) lt_awk_arg="/^libraries:/" ;;
+ esac
+ lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e "s,=/,/,g"`
+ if $ECHO "$lt_search_path_spec" | $GREP ';' >/dev/null ; then
+ # if the path contains ";" then we assume it to be the separator
+ # otherwise default to the standard path separator (i.e. ":") - it is
+ # assumed that no part of a normal pathname contains ";" but that should
+ # okay in the real world where ";" in dirpaths is itself problematic.
+ lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED -e 's/;/ /g'`
+ else
+ lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
+ fi
+ # Ok, now we have the path, separated by spaces, we can step through it
+ # and add multilib dir if necessary.
+ lt_tmp_lt_search_path_spec=
+ lt_multi_os_dir=`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null`
+ for lt_sys_path in $lt_search_path_spec; do
+ if test -d "$lt_sys_path/$lt_multi_os_dir"; then
+ lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path/$lt_multi_os_dir"
+ else
+ test -d "$lt_sys_path" && \
+ lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path"
+ fi
+ done
+ lt_search_path_spec=`$ECHO $lt_tmp_lt_search_path_spec | awk '
+BEGIN {RS=" "; FS="/|\n";} {
+ lt_foo="";
+ lt_count=0;
+ for (lt_i = NF; lt_i > 0; lt_i--) {
+ if ($lt_i != "" && $lt_i != ".") {
+ if ($lt_i == "..") {
+ lt_count++;
+ } else {
+ if (lt_count == 0) {
+ lt_foo="/" $lt_i lt_foo;
+ } else {
+ lt_count--;
+ }
+ }
+ }
+ }
+ if (lt_foo != "") { lt_freq[[lt_foo]]++; }
+ if (lt_freq[[lt_foo]] == 1) { print lt_foo; }
+}'`
+ sys_lib_search_path_spec=`$ECHO $lt_search_path_spec`
+else
+ sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
+fi])
+library_names_spec=
+libname_spec='lib$name'
+soname_spec=
+shrext_cmds=".so"
+postinstall_cmds=
+postuninstall_cmds=
+finish_cmds=
+finish_eval=
+shlibpath_var=
+shlibpath_overrides_runpath=unknown
+version_type=none
+dynamic_linker="$host_os ld.so"
+sys_lib_dlsearch_path_spec="/lib /usr/lib"
+need_lib_prefix=unknown
+hardcode_into_libs=no
+
+# when you set need_version to no, make sure it does not cause -set_version
+# flags to be left without arguments
+need_version=unknown
+
+case $host_os in
+aix3*)
+ version_type=linux
+ library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a'
+ shlibpath_var=LIBPATH
+
+ # AIX 3 has no versioning support, so we append a major version to the name.
+ soname_spec='${libname}${release}${shared_ext}$major'
+ ;;
+
+aix[[4-9]]*)
+ version_type=linux
+ need_lib_prefix=no
+ need_version=no
+ hardcode_into_libs=yes
+ if test "$host_cpu" = ia64; then
+ # AIX 5 supports IA64
+ library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}'
+ shlibpath_var=LD_LIBRARY_PATH
+ else
+ # With GCC up to 2.95.x, collect2 would create an import file
+ # for dependence libraries. The import file would start with
+ # the line `#! .'. This would cause the generated library to
+ # depend on `.', always an invalid library. This was fixed in
+ # development snapshots of GCC prior to 3.0.
+ case $host_os in
+ aix4 | aix4.[[01]] | aix4.[[01]].*)
+ if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
+ echo ' yes '
+ echo '#endif'; } | ${CC} -E - | $GREP yes > /dev/null; then
+ :
+ else
+ can_build_shared=no
+ fi
+ ;;
+ esac
+ # AIX (on Power*) has no versioning support, so currently we can not hardcode correct
+ # soname into executable. Probably we can add versioning support to
+ # collect2, so additional links can be useful in future.
+ if test "$aix_use_runtimelinking" = yes; then
+ # If using run time linking (on AIX 4.2 or later) use lib<name>.so
+ # instead of lib<name>.a to let people know that these are not
+ # typical AIX shared libraries.
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ else
+ # We preserve .a as extension for shared libraries through AIX4.2
+ # and later when we are not doing run time linking.
+ library_names_spec='${libname}${release}.a $libname.a'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ fi
+ shlibpath_var=LIBPATH
+ fi
+ ;;
+
+amigaos*)
+ case $host_cpu in
+ powerpc)
+ # Since July 2007 AmigaOS4 officially supports .so libraries.
+ # When compiling the executable, add -use-dynld -Lsobjs: to the compileline.
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ ;;
+ m68k)
+ library_names_spec='$libname.ixlibrary $libname.a'
+ # Create ${libname}_ixlibrary.a entries in /sys/libs.
+ finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$ECHO "X$lib" | $Xsed -e '\''s%^.*/\([[^/]]*\)\.ixlibrary$%\1%'\''`; test $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'
+ ;;
+ esac
+ ;;
+
+beos*)
+ library_names_spec='${libname}${shared_ext}'
+ dynamic_linker="$host_os ld.so"
+ shlibpath_var=LIBRARY_PATH
+ ;;
+
+bsdi[[45]]*)
+ version_type=linux
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir'
+ shlibpath_var=LD_LIBRARY_PATH
+ sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"
+ sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib"
+ # the default ld.so.conf also contains /usr/contrib/lib and
+ # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow
+ # libtool to hard-code these into programs
+ ;;
+
+cygwin* | mingw* | pw32* | cegcc*)
+ version_type=windows
+ shrext_cmds=".dll"
+ need_version=no
+ need_lib_prefix=no
+
+ case $GCC,$host_os in
+ yes,cygwin* | yes,mingw* | yes,pw32* | yes,cegcc*)
+ library_names_spec='$libname.dll.a'
+ # DLL is installed to $(libdir)/../bin by postinstall_cmds
+ postinstall_cmds='base_file=`basename \${file}`~
+ dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~
+ dldir=$destdir/`dirname \$dlpath`~
+ test -d \$dldir || mkdir -p \$dldir~
+ $install_prog $dir/$dlname \$dldir/$dlname~
+ chmod a+x \$dldir/$dlname~
+ if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then
+ eval '\''$striplib \$dldir/$dlname'\'' || exit \$?;
+ fi'
+ postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
+ dlpath=$dir/\$dldll~
+ $RM \$dlpath'
+ shlibpath_overrides_runpath=yes
+
+ case $host_os in
+ cygwin*)
+ # Cygwin DLLs use 'cyg' prefix rather than 'lib'
+ soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
+ sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib"
+ ;;
+ mingw* | cegcc*)
+ # MinGW DLLs use traditional 'lib' prefix
+ soname_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
+ sys_lib_search_path_spec=`$CC -print-search-dirs | $GREP "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"`
+ if $ECHO "$sys_lib_search_path_spec" | [$GREP ';[c-zC-Z]:/' >/dev/null]; then
+ # It is most probably a Windows format PATH printed by
+ # mingw gcc, but we are running on Cygwin. Gcc prints its search
+ # path with ; separators, and with drive letters. We can handle the
+ # drive letters (cygwin fileutils understands them), so leave them,
+ # especially as we might pass files found there to a mingw objdump,
+ # which wouldn't understand a cygwinified path. Ahh.
+ sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
+ else
+ sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
+ fi
+ ;;
+ pw32*)
+ # pw32 DLLs use 'pw' prefix rather than 'lib'
+ library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
+ ;;
+ esac
+ ;;
+
+ *)
+ library_names_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext} $libname.lib'
+ ;;
+ esac
+ dynamic_linker='Win32 ld.exe'
+ # FIXME: first we should search . and the directory the executable is in
+ shlibpath_var=PATH
+ ;;
+
+darwin* | rhapsody*)
+ dynamic_linker="$host_os dyld"
+ version_type=darwin
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${major}$shared_ext ${libname}$shared_ext'
+ soname_spec='${libname}${release}${major}$shared_ext'
+ shlibpath_overrides_runpath=yes
+ shlibpath_var=DYLD_LIBRARY_PATH
+ shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
+m4_if([$1], [],[
+ sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib"])
+ sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'
+ ;;
+
+dgux*)
+ version_type=linux
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ ;;
+
+freebsd1*)
+ dynamic_linker=no
+ ;;
+
+freebsd* | dragonfly*)
+ # DragonFly does not have aout. When/if they implement a new
+ # versioning mechanism, adjust this.
+ if test -x /usr/bin/objformat; then
+ objformat=`/usr/bin/objformat`
+ else
+ case $host_os in
+ freebsd[[123]]*) objformat=aout ;;
+ *) objformat=elf ;;
+ esac
+ fi
+ version_type=freebsd-$objformat
+ case $version_type in
+ freebsd-elf*)
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
+ need_version=no
+ need_lib_prefix=no
+ ;;
+ freebsd-*)
+ library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix'
+ need_version=yes
+ ;;
+ esac
+ shlibpath_var=LD_LIBRARY_PATH
+ case $host_os in
+ freebsd2*)
+ shlibpath_overrides_runpath=yes
+ ;;
+ freebsd3.[[01]]* | freebsdelf3.[[01]]*)
+ shlibpath_overrides_runpath=yes
+ hardcode_into_libs=yes
+ ;;
+ freebsd3.[[2-9]]* | freebsdelf3.[[2-9]]* | \
+ freebsd4.[[0-5]] | freebsdelf4.[[0-5]] | freebsd4.1.1 | freebsdelf4.1.1)
+ shlibpath_overrides_runpath=no
+ hardcode_into_libs=yes
+ ;;
+ *) # from 4.6 on, and DragonFly
+ shlibpath_overrides_runpath=yes
+ hardcode_into_libs=yes
+ ;;
+ esac
+ ;;
+
+gnu*)
+ version_type=linux
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ hardcode_into_libs=yes
+ ;;
+
+hpux9* | hpux10* | hpux11*)
+ # Give a soname corresponding to the major version so that dld.sl refuses to
+ # link against other versions.
+ version_type=sunos
+ need_lib_prefix=no
+ need_version=no
+ case $host_cpu in
+ ia64*)
+ shrext_cmds='.so'
+ hardcode_into_libs=yes
+ dynamic_linker="$host_os dld.so"
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ if test "X$HPUX_IA64_MODE" = X32; then
+ sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib"
+ else
+ sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64"
+ fi
+ sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
+ ;;
+ hppa*64*)
+ shrext_cmds='.sl'
+ hardcode_into_libs=yes
+ dynamic_linker="$host_os dld.sl"
+ shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
+ shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64"
+ sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
+ ;;
+ *)
+ shrext_cmds='.sl'
+ dynamic_linker="$host_os dld.sl"
+ shlibpath_var=SHLIB_PATH
+ shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ ;;
+ esac
+ # HP-UX runs *really* slowly unless shared libraries are mode 555.
+ postinstall_cmds='chmod 555 $lib'
+ ;;
+
+interix[[3-9]]*)
+ version_type=linux
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=no
+ hardcode_into_libs=yes
+ ;;
+
+irix5* | irix6* | nonstopux*)
+ case $host_os in
+ nonstopux*) version_type=nonstopux ;;
+ *)
+ if test "$lt_cv_prog_gnu_ld" = yes; then
+ version_type=linux
+ else
+ version_type=irix
+ fi ;;
+ esac
+ need_lib_prefix=no
+ need_version=no
+ soname_spec='${libname}${release}${shared_ext}$major'
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}'
+ case $host_os in
+ irix5* | nonstopux*)
+ libsuff= shlibsuff=
+ ;;
+ *)
+ case $LD in # libtool.m4 will add one of these switches to LD
+ *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ")
+ libsuff= shlibsuff= libmagic=32-bit;;
+ *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ")
+ libsuff=32 shlibsuff=N32 libmagic=N32;;
+ *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ")
+ libsuff=64 shlibsuff=64 libmagic=64-bit;;
+ *) libsuff= shlibsuff= libmagic=never-match;;
+ esac
+ ;;
+ esac
+ shlibpath_var=LD_LIBRARY${shlibsuff}_PATH
+ shlibpath_overrides_runpath=no
+ sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}"
+ sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}"
+ hardcode_into_libs=yes
+ ;;
+
+# No shared lib support for Linux oldld, aout, or coff.
+linux*oldld* | linux*aout* | linux*coff*)
+ dynamic_linker=no
+ ;;
+
+# This must be Linux ELF.
+linux* | k*bsd*-gnu)
+ version_type=linux
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=no
+ # Some binutils ld are patched to set DT_RUNPATH
+ save_LDFLAGS=$LDFLAGS
+ save_libdir=$libdir
+ eval "libdir=/foo; wl=\"$_LT_TAGVAR(lt_prog_compiler_wl, $1)\"; \
+ LDFLAGS=\"\$LDFLAGS $_LT_TAGVAR(hardcode_libdir_flag_spec, $1)\""
+ AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])],
+ [AS_IF([ ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null],
+ [shlibpath_overrides_runpath=yes])])
+ LDFLAGS=$save_LDFLAGS
+ libdir=$save_libdir
+
+ # This implies no fast_install, which is unacceptable.
+ # Some rework will be needed to allow for fast_install
+ # before this can be enabled.
+ hardcode_into_libs=yes
+
+ # Append ld.so.conf contents to the search path
+ if test -f /etc/ld.so.conf; then
+ lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \[$]2)); skip = 1; } { if (!skip) print \[$]0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '`
+ sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
+ fi
+
+ # We used to test for /lib/ld.so.1 and disable shared libraries on
+ # powerpc, because MkLinux only supported shared libraries with the
+ # GNU dynamic linker. Since this was broken with cross compilers,
+ # most powerpc-linux boxes support dynamic linking these days and
+ # people can always --disable-shared, the test was removed, and we
+ # assume the GNU/Linux dynamic linker is in use.
+ dynamic_linker='GNU/Linux ld.so'
+ ;;
+
+netbsdelf*-gnu)
+ version_type=linux
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=no
+ hardcode_into_libs=yes
+ dynamic_linker='NetBSD ld.elf_so'
+ ;;
+
+netbsd*)
+ version_type=sunos
+ need_lib_prefix=no
+ need_version=no
+ if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
+ finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
+ dynamic_linker='NetBSD (a.out) ld.so'
+ else
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ dynamic_linker='NetBSD ld.elf_so'
+ fi
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=yes
+ hardcode_into_libs=yes
+ ;;
+
+newsos6)
+ version_type=linux
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=yes
+ ;;
+
+*nto* | *qnx*)
+ version_type=qnx
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=no
+ hardcode_into_libs=yes
+ dynamic_linker='ldqnx.so'
+ ;;
+
+openbsd*)
+ version_type=sunos
+ sys_lib_dlsearch_path_spec="/usr/lib"
+ need_lib_prefix=no
+ # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs.
+ case $host_os in
+ openbsd3.3 | openbsd3.3.*) need_version=yes ;;
+ *) need_version=no ;;
+ esac
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
+ finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
+ shlibpath_var=LD_LIBRARY_PATH
+ if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+ case $host_os in
+ openbsd2.[[89]] | openbsd2.[[89]].*)
+ shlibpath_overrides_runpath=no
+ ;;
+ *)
+ shlibpath_overrides_runpath=yes
+ ;;
+ esac
+ else
+ shlibpath_overrides_runpath=yes
+ fi
+ ;;
+
+os2*)
+ libname_spec='$name'
+ shrext_cmds=".dll"
+ need_lib_prefix=no
+ library_names_spec='$libname${shared_ext} $libname.a'
+ dynamic_linker='OS/2 ld.exe'
+ shlibpath_var=LIBPATH
+ ;;
+
+osf3* | osf4* | osf5*)
+ version_type=osf
+ need_lib_prefix=no
+ need_version=no
+ soname_spec='${libname}${release}${shared_ext}$major'
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ shlibpath_var=LD_LIBRARY_PATH
+ sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
+ sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec"
+ ;;
+
+rdos*)
+ dynamic_linker=no
+ ;;
+
+solaris*)
+ version_type=linux
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=yes
+ hardcode_into_libs=yes
+ # ldd complains unless libraries are executable
+ postinstall_cmds='chmod +x $lib'
+ ;;
+
+sunos4*)
+ version_type=sunos
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
+ finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=yes
+ if test "$with_gnu_ld" = yes; then
+ need_lib_prefix=no
+ fi
+ need_version=yes
+ ;;
+
+sysv4 | sysv4.3*)
+ version_type=linux
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ case $host_vendor in
+ sni)
+ shlibpath_overrides_runpath=no
+ need_lib_prefix=no
+ runpath_var=LD_RUN_PATH
+ ;;
+ siemens)
+ need_lib_prefix=no
+ ;;
+ motorola)
+ need_lib_prefix=no
+ need_version=no
+ shlibpath_overrides_runpath=no
+ sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib'
+ ;;
+ esac
+ ;;
+
+sysv4*MP*)
+ if test -d /usr/nec ;then
+ version_type=linux
+ library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}'
+ soname_spec='$libname${shared_ext}.$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ fi
+ ;;
+
+sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
+ version_type=freebsd-elf
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=yes
+ hardcode_into_libs=yes
+ if test "$with_gnu_ld" = yes; then
+ sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib'
+ else
+ sys_lib_search_path_spec='/usr/ccs/lib /usr/lib'
+ case $host_os in
+ sco3.2v5*)
+ sys_lib_search_path_spec="$sys_lib_search_path_spec /lib"
+ ;;
+ esac
+ fi
+ sys_lib_dlsearch_path_spec='/usr/lib'
+ ;;
+
+tpf*)
+ # TPF is a cross-target only. Preferred cross-host = GNU/Linux.
+ version_type=linux
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=no
+ hardcode_into_libs=yes
+ ;;
+
+uts4*)
+ version_type=linux
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ ;;
+
+*)
+ dynamic_linker=no
+ ;;
+esac
+AC_MSG_RESULT([$dynamic_linker])
+test "$dynamic_linker" = no && can_build_shared=no
+
+variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
+if test "$GCC" = yes; then
+ variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
+fi
+
+if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then
+ sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec"
+fi
+if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then
+ sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec"
+fi
+
+_LT_DECL([], [variables_saved_for_relink], [1],
+ [Variables whose values should be saved in libtool wrapper scripts and
+ restored at link time])
+_LT_DECL([], [need_lib_prefix], [0],
+ [Do we need the "lib" prefix for modules?])
+_LT_DECL([], [need_version], [0], [Do we need a version for libraries?])
+_LT_DECL([], [version_type], [0], [Library versioning type])
+_LT_DECL([], [runpath_var], [0], [Shared library runtime path variable])
+_LT_DECL([], [shlibpath_var], [0],[Shared library path variable])
+_LT_DECL([], [shlibpath_overrides_runpath], [0],
+ [Is shlibpath searched before the hard-coded library search path?])
+_LT_DECL([], [libname_spec], [1], [Format of library name prefix])
+_LT_DECL([], [library_names_spec], [1],
+ [[List of archive names. First name is the real one, the rest are links.
+ The last name is the one that the linker finds with -lNAME]])
+_LT_DECL([], [soname_spec], [1],
+ [[The coded name of the library, if different from the real name]])
+_LT_DECL([], [postinstall_cmds], [2],
+ [Command to use after installation of a shared archive])
+_LT_DECL([], [postuninstall_cmds], [2],
+ [Command to use after uninstallation of a shared archive])
+_LT_DECL([], [finish_cmds], [2],
+ [Commands used to finish a libtool library installation in a directory])
+_LT_DECL([], [finish_eval], [1],
+ [[As "finish_cmds", except a single script fragment to be evaled but
+ not shown]])
+_LT_DECL([], [hardcode_into_libs], [0],
+ [Whether we should hardcode library paths into libraries])
+_LT_DECL([], [sys_lib_search_path_spec], [2],
+ [Compile-time system search path for libraries])
+_LT_DECL([], [sys_lib_dlsearch_path_spec], [2],
+ [Run-time system search path for libraries])
+])# _LT_SYS_DYNAMIC_LINKER
+
+
+# _LT_PATH_TOOL_PREFIX(TOOL)
+# --------------------------
+# find a file program which can recognize shared library
+AC_DEFUN([_LT_PATH_TOOL_PREFIX],
+[m4_require([_LT_DECL_EGREP])dnl
+AC_MSG_CHECKING([for $1])
+AC_CACHE_VAL(lt_cv_path_MAGIC_CMD,
+[case $MAGIC_CMD in
+[[\\/*] | ?:[\\/]*])
+ lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path.
+ ;;
+*)
+ lt_save_MAGIC_CMD="$MAGIC_CMD"
+ lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
+dnl $ac_dummy forces splitting on constant user-supplied paths.
+dnl POSIX.2 word splitting is done only on the output of word expansions,
+dnl not every word. This closes a longstanding sh security hole.
+ ac_dummy="m4_if([$2], , $PATH, [$2])"
+ for ac_dir in $ac_dummy; do
+ IFS="$lt_save_ifs"
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$1; then
+ lt_cv_path_MAGIC_CMD="$ac_dir/$1"
+ if test -n "$file_magic_test_file"; then
+ case $deplibs_check_method in
+ "file_magic "*)
+ file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`
+ MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
+ if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
+ $EGREP "$file_magic_regex" > /dev/null; then
+ :
+ else
+ cat <<_LT_EOF 1>&2
+
+*** Warning: the command libtool uses to detect shared libraries,
+*** $file_magic_cmd, produces output that libtool cannot recognize.
+*** The result is that libtool may fail to recognize shared libraries
+*** as such. This will affect the creation of libtool libraries that
+*** depend on shared libraries, but programs linked with such libtool
+*** libraries will work regardless of this problem. Nevertheless, you
+*** may want to report the problem to your system manager and/or to
+*** bug-libtool@gnu.org
+
+_LT_EOF
+ fi ;;
+ esac
+ fi
+ break
+ fi
+ done
+ IFS="$lt_save_ifs"
+ MAGIC_CMD="$lt_save_MAGIC_CMD"
+ ;;
+esac])
+MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
+if test -n "$MAGIC_CMD"; then
+ AC_MSG_RESULT($MAGIC_CMD)
+else
+ AC_MSG_RESULT(no)
+fi
+_LT_DECL([], [MAGIC_CMD], [0],
+ [Used to examine libraries when file_magic_cmd begins with "file"])dnl
+])# _LT_PATH_TOOL_PREFIX
+
+# Old name:
+AU_ALIAS([AC_PATH_TOOL_PREFIX], [_LT_PATH_TOOL_PREFIX])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_PATH_TOOL_PREFIX], [])
+
+
+# _LT_PATH_MAGIC
+# --------------
+# find a file program which can recognize a shared library
+m4_defun([_LT_PATH_MAGIC],
+[_LT_PATH_TOOL_PREFIX(${ac_tool_prefix}file, /usr/bin$PATH_SEPARATOR$PATH)
+if test -z "$lt_cv_path_MAGIC_CMD"; then
+ if test -n "$ac_tool_prefix"; then
+ _LT_PATH_TOOL_PREFIX(file, /usr/bin$PATH_SEPARATOR$PATH)
+ else
+ MAGIC_CMD=:
+ fi
+fi
+])# _LT_PATH_MAGIC
+
+
+# LT_PATH_LD
+# ----------
+# find the pathname to the GNU or non-GNU linker
+AC_DEFUN([LT_PATH_LD],
+[AC_REQUIRE([AC_PROG_CC])dnl
+AC_REQUIRE([AC_CANONICAL_HOST])dnl
+AC_REQUIRE([AC_CANONICAL_BUILD])dnl
+m4_require([_LT_DECL_SED])dnl
+m4_require([_LT_DECL_EGREP])dnl
+
+AC_ARG_WITH([gnu-ld],
+ [AS_HELP_STRING([--with-gnu-ld],
+ [assume the C compiler uses GNU ld @<:@default=no@:>@])],
+ [test "$withval" = no || with_gnu_ld=yes],
+ [with_gnu_ld=no])dnl
+
+ac_prog=ld
+if test "$GCC" = yes; then
+ # Check if gcc -print-prog-name=ld gives a path.
+ AC_MSG_CHECKING([for ld used by $CC])
+ case $host in
+ *-*-mingw*)
+ # gcc leaves a trailing carriage return which upsets mingw
+ ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
+ *)
+ ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
+ esac
+ case $ac_prog in
+ # Accept absolute paths.
+ [[\\/]]* | ?:[[\\/]]*)
+ re_direlt='/[[^/]][[^/]]*/\.\./'
+ # Canonicalize the pathname of ld
+ ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'`
+ while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do
+ ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"`
+ done
+ test -z "$LD" && LD="$ac_prog"
+ ;;
+ "")
+ # If it fails, then pretend we aren't using GCC.
+ ac_prog=ld
+ ;;
+ *)
+ # If it is relative, then search for the first ld in PATH.
+ with_gnu_ld=unknown
+ ;;
+ esac
+elif test "$with_gnu_ld" = yes; then
+ AC_MSG_CHECKING([for GNU ld])
+else
+ AC_MSG_CHECKING([for non-GNU ld])
+fi
+AC_CACHE_VAL(lt_cv_path_LD,
+[if test -z "$LD"; then
+ lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
+ for ac_dir in $PATH; do
+ IFS="$lt_save_ifs"
+ test -z "$ac_dir" && ac_dir=.
+ if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
+ lt_cv_path_LD="$ac_dir/$ac_prog"
+ # Check to see if the program is GNU ld. I'd rather use --version,
+ # but apparently some variants of GNU ld only accept -v.
+ # Break only if it was the GNU/non-GNU ld that we prefer.
+ case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in
+ *GNU* | *'with BFD'*)
+ test "$with_gnu_ld" != no && break
+ ;;
+ *)
+ test "$with_gnu_ld" != yes && break
+ ;;
+ esac
+ fi
+ done
+ IFS="$lt_save_ifs"
+else
+ lt_cv_path_LD="$LD" # Let the user override the test with a path.
+fi])
+LD="$lt_cv_path_LD"
+if test -n "$LD"; then
+ AC_MSG_RESULT($LD)
+else
+ AC_MSG_RESULT(no)
+fi
+test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH])
+_LT_PATH_LD_GNU
+AC_SUBST([LD])
+
+_LT_TAGDECL([], [LD], [1], [The linker used to build libraries])
+])# LT_PATH_LD
+
+# Old names:
+AU_ALIAS([AM_PROG_LD], [LT_PATH_LD])
+AU_ALIAS([AC_PROG_LD], [LT_PATH_LD])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AM_PROG_LD], [])
+dnl AC_DEFUN([AC_PROG_LD], [])
+
+
+# _LT_PATH_LD_GNU
+#- --------------
+m4_defun([_LT_PATH_LD_GNU],
+[AC_CACHE_CHECK([if the linker ($LD) is GNU ld], lt_cv_prog_gnu_ld,
+[# I'd rather use --version here, but apparently some GNU lds only accept -v.
+case `$LD -v 2>&1 </dev/null` in
+*GNU* | *'with BFD'*)
+ lt_cv_prog_gnu_ld=yes
+ ;;
+*)
+ lt_cv_prog_gnu_ld=no
+ ;;
+esac])
+with_gnu_ld=$lt_cv_prog_gnu_ld
+])# _LT_PATH_LD_GNU
+
+
+# _LT_CMD_RELOAD
+# --------------
+# find reload flag for linker
+# -- PORTME Some linkers may need a different reload flag.
+m4_defun([_LT_CMD_RELOAD],
+[AC_CACHE_CHECK([for $LD option to reload object files],
+ lt_cv_ld_reload_flag,
+ [lt_cv_ld_reload_flag='-r'])
+reload_flag=$lt_cv_ld_reload_flag
+case $reload_flag in
+"" | " "*) ;;
+*) reload_flag=" $reload_flag" ;;
+esac
+reload_cmds='$LD$reload_flag -o $output$reload_objs'
+case $host_os in
+ darwin*)
+ if test "$GCC" = yes; then
+ reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs'
+ else
+ reload_cmds='$LD$reload_flag -o $output$reload_objs'
+ fi
+ ;;
+esac
+_LT_DECL([], [reload_flag], [1], [How to create reloadable object files])dnl
+_LT_DECL([], [reload_cmds], [2])dnl
+])# _LT_CMD_RELOAD
+
+
+# _LT_CHECK_MAGIC_METHOD
+# ----------------------
+# how to check for library dependencies
+# -- PORTME fill in with the dynamic library characteristics
+m4_defun([_LT_CHECK_MAGIC_METHOD],
+[m4_require([_LT_DECL_EGREP])
+m4_require([_LT_DECL_OBJDUMP])
+AC_CACHE_CHECK([how to recognize dependent libraries],
+lt_cv_deplibs_check_method,
+[lt_cv_file_magic_cmd='$MAGIC_CMD'
+lt_cv_file_magic_test_file=
+lt_cv_deplibs_check_method='unknown'
+# Need to set the preceding variable on all platforms that support
+# interlibrary dependencies.
+# 'none' -- dependencies not supported.
+# `unknown' -- same as none, but documents that we really don't know.
+# 'pass_all' -- all dependencies passed with no checks.
+# 'test_compile' -- check by making test program.
+# 'file_magic [[regex]]' -- check by looking for files in library path
+# which responds to the $file_magic_cmd with a given extended regex.
+# If you have `file' or equivalent on your system and you're not sure
+# whether `pass_all' will *always* work, you probably want this one.
+
+case $host_os in
+aix[[4-9]]*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+beos*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+bsdi[[45]]*)
+ lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib)'
+ lt_cv_file_magic_cmd='/usr/bin/file -L'
+ lt_cv_file_magic_test_file=/shlib/libc.so
+ ;;
+
+cygwin*)
+ # func_win32_libid is a shell function defined in ltmain.sh
+ lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
+ lt_cv_file_magic_cmd='func_win32_libid'
+ ;;
+
+mingw* | pw32*)
+ # Base MSYS/MinGW do not provide the 'file' command needed by
+ # func_win32_libid shell function, so use a weaker test based on 'objdump',
+ # unless we find 'file', for example because we are cross-compiling.
+ if ( file / ) >/dev/null 2>&1; then
+ lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
+ lt_cv_file_magic_cmd='func_win32_libid'
+ else
+ lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?'
+ lt_cv_file_magic_cmd='$OBJDUMP -f'
+ fi
+ ;;
+
+cegcc)
+ # use the weaker test based on 'objdump'. See mingw*.
+ lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?'
+ lt_cv_file_magic_cmd='$OBJDUMP -f'
+ ;;
+
+darwin* | rhapsody*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+freebsd* | dragonfly*)
+ if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
+ case $host_cpu in
+ i*86 )
+ # Not sure whether the presence of OpenBSD here was a mistake.
+ # Let's accept both of them until this is cleared up.
+ lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[[3-9]]86 (compact )?demand paged shared library'
+ lt_cv_file_magic_cmd=/usr/bin/file
+ lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*`
+ ;;
+ esac
+ else
+ lt_cv_deplibs_check_method=pass_all
+ fi
+ ;;
+
+gnu*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+hpux10.20* | hpux11*)
+ lt_cv_file_magic_cmd=/usr/bin/file
+ case $host_cpu in
+ ia64*)
+ lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|ELF-[[0-9]][[0-9]]) shared object file - IA64'
+ lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so
+ ;;
+ hppa*64*)
+ [lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - PA-RISC [0-9].[0-9]']
+ lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl
+ ;;
+ *)
+ lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|PA-RISC[[0-9]].[[0-9]]) shared library'
+ lt_cv_file_magic_test_file=/usr/lib/libc.sl
+ ;;
+ esac
+ ;;
+
+interix[[3-9]]*)
+ # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here
+ lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|\.a)$'
+ ;;
+
+irix5* | irix6* | nonstopux*)
+ case $LD in
+ *-32|*"-32 ") libmagic=32-bit;;
+ *-n32|*"-n32 ") libmagic=N32;;
+ *-64|*"-64 ") libmagic=64-bit;;
+ *) libmagic=never-match;;
+ esac
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+# This must be Linux ELF.
+linux* | k*bsd*-gnu)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+netbsd* | netbsdelf*-gnu)
+ if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
+ lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$'
+ else
+ lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|_pic\.a)$'
+ fi
+ ;;
+
+newos6*)
+ lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (executable|dynamic lib)'
+ lt_cv_file_magic_cmd=/usr/bin/file
+ lt_cv_file_magic_test_file=/usr/lib/libnls.so
+ ;;
+
+*nto* | *qnx*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+openbsd*)
+ if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+ lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|\.so|_pic\.a)$'
+ else
+ lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$'
+ fi
+ ;;
+
+osf3* | osf4* | osf5*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+rdos*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+solaris*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+sysv4 | sysv4.3*)
+ case $host_vendor in
+ motorola)
+ lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib) M[[0-9]][[0-9]]* Version [[0-9]]'
+ lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*`
+ ;;
+ ncr)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+ sequent)
+ lt_cv_file_magic_cmd='/bin/file'
+ lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB (shared object|dynamic lib )'
+ ;;
+ sni)
+ lt_cv_file_magic_cmd='/bin/file'
+ lt_cv_deplibs_check_method="file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB dynamic lib"
+ lt_cv_file_magic_test_file=/lib/libc.so
+ ;;
+ siemens)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+ pc)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+ esac
+ ;;
+
+tpf*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+esac
+])
+file_magic_cmd=$lt_cv_file_magic_cmd
+deplibs_check_method=$lt_cv_deplibs_check_method
+test -z "$deplibs_check_method" && deplibs_check_method=unknown
+
+_LT_DECL([], [deplibs_check_method], [1],
+ [Method to check whether dependent libraries are shared objects])
+_LT_DECL([], [file_magic_cmd], [1],
+ [Command to use when deplibs_check_method == "file_magic"])
+])# _LT_CHECK_MAGIC_METHOD
+
+
+# LT_PATH_NM
+# ----------
+# find the pathname to a BSD- or MS-compatible name lister
+AC_DEFUN([LT_PATH_NM],
+[AC_REQUIRE([AC_PROG_CC])dnl
+AC_CACHE_CHECK([for BSD- or MS-compatible name lister (nm)], lt_cv_path_NM,
+[if test -n "$NM"; then
+ # Let the user override the test.
+ lt_cv_path_NM="$NM"
+else
+ lt_nm_to_check="${ac_tool_prefix}nm"
+ if test -n "$ac_tool_prefix" && test "$build" = "$host"; then
+ lt_nm_to_check="$lt_nm_to_check nm"
+ fi
+ for lt_tmp_nm in $lt_nm_to_check; do
+ lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
+ for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do
+ IFS="$lt_save_ifs"
+ test -z "$ac_dir" && ac_dir=.
+ tmp_nm="$ac_dir/$lt_tmp_nm"
+ if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then
+ # Check to see if the nm accepts a BSD-compat flag.
+ # Adding the `sed 1q' prevents false positives on HP-UX, which says:
+ # nm: unknown option "B" ignored
+ # Tru64's nm complains that /dev/null is an invalid object file
+ case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in
+ */dev/null* | *'Invalid file or object type'*)
+ lt_cv_path_NM="$tmp_nm -B"
+ break
+ ;;
+ *)
+ case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in
+ */dev/null*)
+ lt_cv_path_NM="$tmp_nm -p"
+ break
+ ;;
+ *)
+ lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but
+ continue # so that we can try to find one that supports BSD flags
+ ;;
+ esac
+ ;;
+ esac
+ fi
+ done
+ IFS="$lt_save_ifs"
+ done
+ : ${lt_cv_path_NM=no}
+fi])
+if test "$lt_cv_path_NM" != "no"; then
+ NM="$lt_cv_path_NM"
+else
+ # Didn't find any BSD compatible name lister, look for dumpbin.
+ AC_CHECK_TOOLS(DUMPBIN, ["dumpbin -symbols" "link -dump -symbols"], :)
+ AC_SUBST([DUMPBIN])
+ if test "$DUMPBIN" != ":"; then
+ NM="$DUMPBIN"
+ fi
+fi
+test -z "$NM" && NM=nm
+AC_SUBST([NM])
+_LT_DECL([], [NM], [1], [A BSD- or MS-compatible name lister])dnl
+
+AC_CACHE_CHECK([the name lister ($NM) interface], [lt_cv_nm_interface],
+ [lt_cv_nm_interface="BSD nm"
+ echo "int some_variable = 0;" > conftest.$ac_ext
+ (eval echo "\"\$as_me:__oline__: $ac_compile\"" >&AS_MESSAGE_LOG_FD)
+ (eval "$ac_compile" 2>conftest.err)
+ cat conftest.err >&AS_MESSAGE_LOG_FD
+ (eval echo "\"\$as_me:__oline__: $NM \\\"conftest.$ac_objext\\\"\"" >&AS_MESSAGE_LOG_FD)
+ (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out)
+ cat conftest.err >&AS_MESSAGE_LOG_FD
+ (eval echo "\"\$as_me:__oline__: output\"" >&AS_MESSAGE_LOG_FD)
+ cat conftest.out >&AS_MESSAGE_LOG_FD
+ if $GREP 'External.*some_variable' conftest.out > /dev/null; then
+ lt_cv_nm_interface="MS dumpbin"
+ fi
+ rm -f conftest*])
+])# LT_PATH_NM
+
+# Old names:
+AU_ALIAS([AM_PROG_NM], [LT_PATH_NM])
+AU_ALIAS([AC_PROG_NM], [LT_PATH_NM])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AM_PROG_NM], [])
+dnl AC_DEFUN([AC_PROG_NM], [])
+
+
+# LT_LIB_M
+# --------
+# check for math library
+AC_DEFUN([LT_LIB_M],
+[AC_REQUIRE([AC_CANONICAL_HOST])dnl
+LIBM=
+case $host in
+*-*-beos* | *-*-cygwin* | *-*-pw32* | *-*-darwin*)
+ # These system don't have libm, or don't need it
+ ;;
+*-ncr-sysv4.3*)
+ AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM="-lmw")
+ AC_CHECK_LIB(m, cos, LIBM="$LIBM -lm")
+ ;;
+*)
+ AC_CHECK_LIB(m, cos, LIBM="-lm")
+ ;;
+esac
+AC_SUBST([LIBM])
+])# LT_LIB_M
+
+# Old name:
+AU_ALIAS([AC_CHECK_LIBM], [LT_LIB_M])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_CHECK_LIBM], [])
+
+
+# _LT_COMPILER_NO_RTTI([TAGNAME])
+# -------------------------------
+m4_defun([_LT_COMPILER_NO_RTTI],
+[m4_require([_LT_TAG_COMPILER])dnl
+
+_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=
+
+if test "$GCC" = yes; then
+ _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin'
+
+ _LT_COMPILER_OPTION([if $compiler supports -fno-rtti -fno-exceptions],
+ lt_cv_prog_compiler_rtti_exceptions,
+ [-fno-rtti -fno-exceptions], [],
+ [_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)="$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) -fno-rtti -fno-exceptions"])
+fi
+_LT_TAGDECL([no_builtin_flag], [lt_prog_compiler_no_builtin_flag], [1],
+ [Compiler flag to turn off builtin functions])
+])# _LT_COMPILER_NO_RTTI
+
+
+# _LT_CMD_GLOBAL_SYMBOLS
+# ----------------------
+m4_defun([_LT_CMD_GLOBAL_SYMBOLS],
+[AC_REQUIRE([AC_CANONICAL_HOST])dnl
+AC_REQUIRE([AC_PROG_CC])dnl
+AC_REQUIRE([LT_PATH_NM])dnl
+AC_REQUIRE([LT_PATH_LD])dnl
+m4_require([_LT_DECL_SED])dnl
+m4_require([_LT_DECL_EGREP])dnl
+m4_require([_LT_TAG_COMPILER])dnl
+
+# Check for command to grab the raw symbol name followed by C symbol from nm.
+AC_MSG_CHECKING([command to parse $NM output from $compiler object])
+AC_CACHE_VAL([lt_cv_sys_global_symbol_pipe],
+[
+# These are sane defaults that work on at least a few old systems.
+# [They come from Ultrix. What could be older than Ultrix?!! ;)]
+
+# Character class describing NM global symbol codes.
+symcode='[[BCDEGRST]]'
+
+# Regexp to match symbols that can be accessed directly from C.
+sympat='\([[_A-Za-z]][[_A-Za-z0-9]]*\)'
+
+# Define system-specific variables.
+case $host_os in
+aix*)
+ symcode='[[BCDT]]'
+ ;;
+cygwin* | mingw* | pw32* | cegcc*)
+ symcode='[[ABCDGISTW]]'
+ ;;
+hpux*)
+ if test "$host_cpu" = ia64; then
+ symcode='[[ABCDEGRST]]'
+ fi
+ ;;
+irix* | nonstopux*)
+ symcode='[[BCDEGRST]]'
+ ;;
+osf*)
+ symcode='[[BCDEGQRST]]'
+ ;;
+solaris*)
+ symcode='[[BDRT]]'
+ ;;
+sco3.2v5*)
+ symcode='[[DT]]'
+ ;;
+sysv4.2uw2*)
+ symcode='[[DT]]'
+ ;;
+sysv5* | sco5v6* | unixware* | OpenUNIX*)
+ symcode='[[ABDT]]'
+ ;;
+sysv4)
+ symcode='[[DFNSTU]]'
+ ;;
+esac
+
+# If we're using GNU nm, then use its standard symbol codes.
+case `$NM -V 2>&1` in
+*GNU* | *'with BFD'*)
+ symcode='[[ABCDGIRSTW]]' ;;
+esac
+
+# Transform an extracted symbol line into a proper C declaration.
+# Some systems (esp. on ia64) link data and code symbols differently,
+# so use this general approach.
+lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
+
+# Transform an extracted symbol line into symbol name and symbol address
+lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (void *) \&\2},/p'"
+lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n -e 's/^: \([[^ ]]*\) $/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \(lib[[^ ]]*\)$/ {\"\2\", (void *) \&\2},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"lib\2\", (void *) \&\2},/p'"
+
+# Handle CRLF in mingw tool chain
+opt_cr=
+case $build_os in
+mingw*)
+ opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp
+ ;;
+esac
+
+# Try without a prefix underscore, then with it.
+for ac_symprfx in "" "_"; do
+
+ # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol.
+ symxfrm="\\1 $ac_symprfx\\2 \\2"
+
+ # Write the raw and C identifiers.
+ if test "$lt_cv_nm_interface" = "MS dumpbin"; then
+ # Fake it for dumpbin and say T for any non-static function
+ # and D for any global variable.
+ # Also find C++ and __fastcall symbols from MSVC++,
+ # which start with @ or ?.
+ lt_cv_sys_global_symbol_pipe="$AWK ['"\
+" {last_section=section; section=\$ 3};"\
+" /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\
+" \$ 0!~/External *\|/{next};"\
+" / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\
+" {if(hide[section]) next};"\
+" {f=0}; \$ 0~/\(\).*\|/{f=1}; {printf f ? \"T \" : \"D \"};"\
+" {split(\$ 0, a, /\||\r/); split(a[2], s)};"\
+" s[1]~/^[@?]/{print s[1], s[1]; next};"\
+" s[1]~prfx {split(s[1],t,\"@\"); print t[1], substr(t[1],length(prfx))}"\
+" ' prfx=^$ac_symprfx]"
+ else
+ lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[[ ]]\($symcode$symcode*\)[[ ]][[ ]]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'"
+ fi
+
+ # Check to see that the pipe works correctly.
+ pipe_works=no
+
+ rm -f conftest*
+ cat > conftest.$ac_ext <<_LT_EOF
+#ifdef __cplusplus
+extern "C" {
+#endif
+char nm_test_var;
+void nm_test_func(void);
+void nm_test_func(void){}
+#ifdef __cplusplus
+}
+#endif
+int main(){nm_test_var='a';nm_test_func();return(0);}
+_LT_EOF
+
+ if AC_TRY_EVAL(ac_compile); then
+ # Now try to grab the symbols.
+ nlist=conftest.nm
+ if AC_TRY_EVAL(NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist) && test -s "$nlist"; then
+ # Try sorting and uniquifying the output.
+ if sort "$nlist" | uniq > "$nlist"T; then
+ mv -f "$nlist"T "$nlist"
+ else
+ rm -f "$nlist"T
+ fi
+
+ # Make sure that we snagged all the symbols we need.
+ if $GREP ' nm_test_var$' "$nlist" >/dev/null; then
+ if $GREP ' nm_test_func$' "$nlist" >/dev/null; then
+ cat <<_LT_EOF > conftest.$ac_ext
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+_LT_EOF
+ # Now generate the symbol file.
+ eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext'
+
+ cat <<_LT_EOF >> conftest.$ac_ext
+
+/* The mapping between symbol names and symbols. */
+const struct {
+ const char *name;
+ void *address;
+}
+lt__PROGRAM__LTX_preloaded_symbols[[]] =
+{
+ { "@PROGRAM@", (void *) 0 },
+_LT_EOF
+ $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (void *) \&\2},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext
+ cat <<\_LT_EOF >> conftest.$ac_ext
+ {0, (void *) 0}
+};
+
+/* This works around a problem in FreeBSD linker */
+#ifdef FREEBSD_WORKAROUND
+static const void *lt_preloaded_setup() {
+ return lt__PROGRAM__LTX_preloaded_symbols;
+}
+#endif
+
+#ifdef __cplusplus
+}
+#endif
+_LT_EOF
+ # Now try linking the two files.
+ mv conftest.$ac_objext conftstm.$ac_objext
+ lt_save_LIBS="$LIBS"
+ lt_save_CFLAGS="$CFLAGS"
+ LIBS="conftstm.$ac_objext"
+ CFLAGS="$CFLAGS$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)"
+ if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext}; then
+ pipe_works=yes
+ fi
+ LIBS="$lt_save_LIBS"
+ CFLAGS="$lt_save_CFLAGS"
+ else
+ echo "cannot find nm_test_func in $nlist" >&AS_MESSAGE_LOG_FD
+ fi
+ else
+ echo "cannot find nm_test_var in $nlist" >&AS_MESSAGE_LOG_FD
+ fi
+ else
+ echo "cannot run $lt_cv_sys_global_symbol_pipe" >&AS_MESSAGE_LOG_FD
+ fi
+ else
+ echo "$progname: failed program was:" >&AS_MESSAGE_LOG_FD
+ cat conftest.$ac_ext >&5
+ fi
+ rm -rf conftest* conftst*
+
+ # Do not use the global_symbol_pipe unless it works.
+ if test "$pipe_works" = yes; then
+ break
+ else
+ lt_cv_sys_global_symbol_pipe=
+ fi
+done
+])
+if test -z "$lt_cv_sys_global_symbol_pipe"; then
+ lt_cv_sys_global_symbol_to_cdecl=
+fi
+if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then
+ AC_MSG_RESULT(failed)
+else
+ AC_MSG_RESULT(ok)
+fi
+
+_LT_DECL([global_symbol_pipe], [lt_cv_sys_global_symbol_pipe], [1],
+ [Take the output of nm and produce a listing of raw symbols and C names])
+_LT_DECL([global_symbol_to_cdecl], [lt_cv_sys_global_symbol_to_cdecl], [1],
+ [Transform the output of nm in a proper C declaration])
+_LT_DECL([global_symbol_to_c_name_address],
+ [lt_cv_sys_global_symbol_to_c_name_address], [1],
+ [Transform the output of nm in a C name address pair])
+_LT_DECL([global_symbol_to_c_name_address_lib_prefix],
+ [lt_cv_sys_global_symbol_to_c_name_address_lib_prefix], [1],
+ [Transform the output of nm in a C name address pair when lib prefix is needed])
+]) # _LT_CMD_GLOBAL_SYMBOLS
+
+
+# _LT_COMPILER_PIC([TAGNAME])
+# ---------------------------
+m4_defun([_LT_COMPILER_PIC],
+[m4_require([_LT_TAG_COMPILER])dnl
+_LT_TAGVAR(lt_prog_compiler_wl, $1)=
+_LT_TAGVAR(lt_prog_compiler_pic, $1)=
+_LT_TAGVAR(lt_prog_compiler_static, $1)=
+
+AC_MSG_CHECKING([for $compiler option to produce PIC])
+m4_if([$1], [CXX], [
+ # C++ specific cases for pic, static, wl, etc.
+ if test "$GXX" = yes; then
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
+
+ case $host_os in
+ aix*)
+ # All AIX code is PIC.
+ if test "$host_cpu" = ia64; then
+ # AIX 5 now supports IA64 processor
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ fi
+ ;;
+
+ amigaos*)
+ case $host_cpu in
+ powerpc)
+ # see comment about AmigaOS4 .so support
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+ ;;
+ m68k)
+ # FIXME: we need at least 68020 code to build shared libraries, but
+ # adding the `-m68020' flag to GCC prevents building anything better,
+ # like `-m68040'.
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4'
+ ;;
+ esac
+ ;;
+
+ beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
+ # PIC is the default for these OSes.
+ ;;
+ mingw* | cygwin* | os2* | pw32* | cegcc*)
+ # This hack is so that the source file can tell whether it is being
+ # built for inclusion in a dll (and should export symbols for example).
+ # Although the cygwin gcc ignores -fPIC, still need this for old-style
+ # (--disable-auto-import) libraries
+ m4_if([$1], [GCJ], [],
+ [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
+ ;;
+ darwin* | rhapsody*)
+ # PIC is the default on this platform
+ # Common symbols not allowed in MH_DYLIB files
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common'
+ ;;
+ *djgpp*)
+ # DJGPP does not support shared libraries at all
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)=
+ ;;
+ interix[[3-9]]*)
+ # Interix 3.x gcc -fpic/-fPIC options generate broken code.
+ # Instead, we relocate shared libraries at runtime.
+ ;;
+ sysv4*MP*)
+ if test -d /usr/nec; then
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic
+ fi
+ ;;
+ hpux*)
+ # PIC is the default for 64-bit PA HP-UX, but not for 32-bit
+ # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag
+ # sets the default TLS model and affects inlining.
+ case $host_cpu in
+ hppa*64*)
+ ;;
+ *)
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+ ;;
+ esac
+ ;;
+ *qnx* | *nto*)
+ # QNX uses GNU C++, but need to define -shared option too, otherwise
+ # it will coredump.
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
+ ;;
+ *)
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+ ;;
+ esac
+ else
+ case $host_os in
+ aix[[4-9]]*)
+ # All AIX code is PIC.
+ if test "$host_cpu" = ia64; then
+ # AIX 5 now supports IA64 processor
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ else
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp'
+ fi
+ ;;
+ chorus*)
+ case $cc_basename in
+ cxch68*)
+ # Green Hills C++ Compiler
+ # _LT_TAGVAR(lt_prog_compiler_static, $1)="--no_auto_instantiation -u __main -u __premain -u _abort -r $COOL_DIR/lib/libOrb.a $MVME_DIR/lib/CC/libC.a $MVME_DIR/lib/classix/libcx.s.a"
+ ;;
+ esac
+ ;;
+ dgux*)
+ case $cc_basename in
+ ec++*)
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+ ;;
+ ghcx*)
+ # Green Hills C++ Compiler
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
+ ;;
+ *)
+ ;;
+ esac
+ ;;
+ freebsd* | dragonfly*)
+ # FreeBSD uses GNU C++
+ ;;
+ hpux9* | hpux10* | hpux11*)
+ case $cc_basename in
+ CC*)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive'
+ if test "$host_cpu" != ia64; then
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
+ fi
+ ;;
+ aCC*)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive'
+ case $host_cpu in
+ hppa*64*|ia64*)
+ # +Z the default
+ ;;
+ *)
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
+ ;;
+ esac
+ ;;
+ *)
+ ;;
+ esac
+ ;;
+ interix*)
+ # This is c89, which is MS Visual C++ (no shared libs)
+ # Anyone wants to do a port?
+ ;;
+ irix5* | irix6* | nonstopux*)
+ case $cc_basename in
+ CC*)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
+ # CC pic flag -KPIC is the default.
+ ;;
+ *)
+ ;;
+ esac
+ ;;
+ linux* | k*bsd*-gnu)
+ case $cc_basename in
+ KCC*)
+ # KAI C++ Compiler
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,'
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+ ;;
+ ecpc* )
+ # old Intel C++ for x86_64 which still supported -KPIC.
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
+ ;;
+ icpc* )
+ # Intel C++, used to be incompatible with GCC.
+ # ICC 10 doesn't accept -KPIC any more.
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
+ ;;
+ pgCC* | pgcpp*)
+ # Portland Group C++ compiler
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ ;;
+ cxx*)
+ # Compaq C++
+ # Make sure the PIC flag is empty. It appears that all Alpha
+ # Linux and Compaq Tru64 Unix objects are PIC.
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)=
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
+ ;;
+ xlc* | xlC*)
+ # IBM XL 8.0 on PPC
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink'
+ ;;
+ *)
+ case `$CC -V 2>&1 | sed 5q` in
+ *Sun\ C*)
+ # Sun C++ 5.9
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
+ ;;
+ esac
+ ;;
+ esac
+ ;;
+ lynxos*)
+ ;;
+ m88k*)
+ ;;
+ mvs*)
+ case $cc_basename in
+ cxx*)
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-W c,exportall'
+ ;;
+ *)
+ ;;
+ esac
+ ;;
+ netbsd* | netbsdelf*-gnu)
+ ;;
+ *qnx* | *nto*)
+ # QNX uses GNU C++, but need to define -shared option too, otherwise
+ # it will coredump.
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
+ ;;
+ osf3* | osf4* | osf5*)
+ case $cc_basename in
+ KCC*)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,'
+ ;;
+ RCC*)
+ # Rational C++ 2.4.1
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
+ ;;
+ cxx*)
+ # Digital/Compaq C++
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ # Make sure the PIC flag is empty. It appears that all Alpha
+ # Linux and Compaq Tru64 Unix objects are PIC.
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)=
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
+ ;;
+ *)
+ ;;
+ esac
+ ;;
+ psos*)
+ ;;
+ solaris*)
+ case $cc_basename in
+ CC*)
+ # Sun C++ 4.2, 5.x and Centerline C++
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
+ ;;
+ gcx*)
+ # Green Hills C++ Compiler
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
+ ;;
+ *)
+ ;;
+ esac
+ ;;
+ sunos4*)
+ case $cc_basename in
+ CC*)
+ # Sun C++ 4.x
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ ;;
+ lcc*)
+ # Lucid
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
+ ;;
+ *)
+ ;;
+ esac
+ ;;
+ sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
+ case $cc_basename in
+ CC*)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ ;;
+ esac
+ ;;
+ tandem*)
+ case $cc_basename in
+ NCC*)
+ # NonStop-UX NCC 3.20
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+ ;;
+ *)
+ ;;
+ esac
+ ;;
+ vxworks*)
+ ;;
+ *)
+ _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
+ ;;
+ esac
+ fi
+],
+[
+ if test "$GCC" = yes; then
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
+
+ case $host_os in
+ aix*)
+ # All AIX code is PIC.
+ if test "$host_cpu" = ia64; then
+ # AIX 5 now supports IA64 processor
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ fi
+ ;;
+
+ amigaos*)
+ case $host_cpu in
+ powerpc)
+ # see comment about AmigaOS4 .so support
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+ ;;
+ m68k)
+ # FIXME: we need at least 68020 code to build shared libraries, but
+ # adding the `-m68020' flag to GCC prevents building anything better,
+ # like `-m68040'.
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4'
+ ;;
+ esac
+ ;;
+
+ beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
+ # PIC is the default for these OSes.
+ ;;
+
+ mingw* | cygwin* | pw32* | os2* | cegcc*)
+ # This hack is so that the source file can tell whether it is being
+ # built for inclusion in a dll (and should export symbols for example).
+ # Although the cygwin gcc ignores -fPIC, still need this for old-style
+ # (--disable-auto-import) libraries
+ m4_if([$1], [GCJ], [],
+ [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
+ ;;
+
+ darwin* | rhapsody*)
+ # PIC is the default on this platform
+ # Common symbols not allowed in MH_DYLIB files
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common'
+ ;;
+
+ hpux*)
+ # PIC is the default for 64-bit PA HP-UX, but not for 32-bit
+ # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag
+ # sets the default TLS model and affects inlining.
+ case $host_cpu in
+ hppa*64*)
+ # +Z the default
+ ;;
+ *)
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+ ;;
+ esac
+ ;;
+
+ interix[[3-9]]*)
+ # Interix 3.x gcc -fpic/-fPIC options generate broken code.
+ # Instead, we relocate shared libraries at runtime.
+ ;;
+
+ msdosdjgpp*)
+ # Just because we use GCC doesn't mean we suddenly get shared libraries
+ # on systems that don't support them.
+ _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
+ enable_shared=no
+ ;;
+
+ *nto* | *qnx*)
+ # QNX uses GNU C++, but need to define -shared option too, otherwise
+ # it will coredump.
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
+ ;;
+
+ sysv4*MP*)
+ if test -d /usr/nec; then
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic
+ fi
+ ;;
+
+ *)
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+ ;;
+ esac
+ else
+ # PORTME Check for flag to pass linker flags through the system compiler.
+ case $host_os in
+ aix*)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ if test "$host_cpu" = ia64; then
+ # AIX 5 now supports IA64 processor
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ else
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp'
+ fi
+ ;;
+
+ mingw* | cygwin* | pw32* | os2* | cegcc*)
+ # This hack is so that the source file can tell whether it is being
+ # built for inclusion in a dll (and should export symbols for example).
+ m4_if([$1], [GCJ], [],
+ [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
+ ;;
+
+ hpux9* | hpux10* | hpux11*)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
+ # not for PA HP-UX.
+ case $host_cpu in
+ hppa*64*|ia64*)
+ # +Z the default
+ ;;
+ *)
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
+ ;;
+ esac
+ # Is there a better lt_prog_compiler_static that works with the bundled CC?
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive'
+ ;;
+
+ irix5* | irix6* | nonstopux*)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ # PIC (with -KPIC) is the default.
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
+ ;;
+
+ linux* | k*bsd*-gnu)
+ case $cc_basename in
+ # old Intel for x86_64 which still supported -KPIC.
+ ecc*)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
+ ;;
+ # icc used to be incompatible with GCC.
+ # ICC 10 doesn't accept -KPIC any more.
+ icc* | ifort*)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
+ ;;
+ # Lahey Fortran 8.1.
+ lf95*)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='--shared'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='--static'
+ ;;
+ pgcc* | pgf77* | pgf90* | pgf95*)
+ # Portland Group compilers (*not* the Pentium gcc compiler,
+ # which looks to be a dead project)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ ;;
+ ccc*)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ # All Alpha code is PIC.
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
+ ;;
+ xl*)
+ # IBM XL C 8.0/Fortran 10.1 on PPC
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink'
+ ;;
+ *)
+ case `$CC -V 2>&1 | sed 5q` in
+ *Sun\ C*)
+ # Sun C 5.9
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ ;;
+ *Sun\ F*)
+ # Sun Fortran 8.3 passes all unrecognized flags to the linker
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)=''
+ ;;
+ esac
+ ;;
+ esac
+ ;;
+
+ newsos6)
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ ;;
+
+ *nto* | *qnx*)
+ # QNX uses GNU C++, but need to define -shared option too, otherwise
+ # it will coredump.
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
+ ;;
+
+ osf3* | osf4* | osf5*)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ # All OSF/1 code is PIC.
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
+ ;;
+
+ rdos*)
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
+ ;;
+
+ solaris*)
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ case $cc_basename in
+ f77* | f90* | f95*)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ';;
+ *)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,';;
+ esac
+ ;;
+
+ sunos4*)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ ;;
+
+ sysv4 | sysv4.2uw2* | sysv4.3*)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ ;;
+
+ sysv4*MP*)
+ if test -d /usr/nec ;then
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-Kconform_pic'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ fi
+ ;;
+
+ sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ ;;
+
+ unicos*)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
+ ;;
+
+ uts4*)
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ ;;
+
+ *)
+ _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
+ ;;
+ esac
+ fi
+])
+case $host_os in
+ # For platforms which do not support PIC, -DPIC is meaningless:
+ *djgpp*)
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)=
+ ;;
+ *)
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)="$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])"
+ ;;
+esac
+AC_MSG_RESULT([$_LT_TAGVAR(lt_prog_compiler_pic, $1)])
+_LT_TAGDECL([wl], [lt_prog_compiler_wl], [1],
+ [How to pass a linker flag through the compiler])
+
+#
+# Check to make sure the PIC flag actually works.
+#
+if test -n "$_LT_TAGVAR(lt_prog_compiler_pic, $1)"; then
+ _LT_COMPILER_OPTION([if $compiler PIC flag $_LT_TAGVAR(lt_prog_compiler_pic, $1) works],
+ [_LT_TAGVAR(lt_cv_prog_compiler_pic_works, $1)],
+ [$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])], [],
+ [case $_LT_TAGVAR(lt_prog_compiler_pic, $1) in
+ "" | " "*) ;;
+ *) _LT_TAGVAR(lt_prog_compiler_pic, $1)=" $_LT_TAGVAR(lt_prog_compiler_pic, $1)" ;;
+ esac],
+ [_LT_TAGVAR(lt_prog_compiler_pic, $1)=
+ _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no])
+fi
+_LT_TAGDECL([pic_flag], [lt_prog_compiler_pic], [1],
+ [Additional compiler flags for building library objects])
+
+#
+# Check to make sure the static flag actually works.
+#
+wl=$_LT_TAGVAR(lt_prog_compiler_wl, $1) eval lt_tmp_static_flag=\"$_LT_TAGVAR(lt_prog_compiler_static, $1)\"
+_LT_LINKER_OPTION([if $compiler static flag $lt_tmp_static_flag works],
+ _LT_TAGVAR(lt_cv_prog_compiler_static_works, $1),
+ $lt_tmp_static_flag,
+ [],
+ [_LT_TAGVAR(lt_prog_compiler_static, $1)=])
+_LT_TAGDECL([link_static_flag], [lt_prog_compiler_static], [1],
+ [Compiler flag to prevent dynamic linking])
+])# _LT_COMPILER_PIC
+
+
+# _LT_LINKER_SHLIBS([TAGNAME])
+# ----------------------------
+# See if the linker supports building shared libraries.
+m4_defun([_LT_LINKER_SHLIBS],
+[AC_REQUIRE([LT_PATH_LD])dnl
+AC_REQUIRE([LT_PATH_NM])dnl
+m4_require([_LT_FILEUTILS_DEFAULTS])dnl
+m4_require([_LT_DECL_EGREP])dnl
+m4_require([_LT_DECL_SED])dnl
+m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl
+m4_require([_LT_TAG_COMPILER])dnl
+AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries])
+m4_if([$1], [CXX], [
+ _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
+ case $host_os in
+ aix[[4-9]]*)
+ # If we're using GNU nm, then we don't want the "-C" option.
+ # -C means demangle to AIX nm, but means don't demangle with GNU nm
+ if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
+ _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
+ else
+ _LT_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
+ fi
+ ;;
+ pw32*)
+ _LT_TAGVAR(export_symbols_cmds, $1)="$ltdll_cmds"
+ ;;
+ cygwin* | mingw* | cegcc*)
+ _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/;/^.*[[ ]]__nm__/s/^.*[[ ]]__nm__\([[^ ]]*\)[[ ]][[^ ]]*/\1 DATA/;/^I[[ ]]/d;/^[[AITW]][[ ]]/s/.* //'\'' | sort | uniq > $export_symbols'
+ ;;
+ linux* | k*bsd*-gnu)
+ _LT_TAGVAR(link_all_deplibs, $1)=no
+ ;;
+ *)
+ _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
+ ;;
+ esac
+ _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*']
+], [
+ runpath_var=
+ _LT_TAGVAR(allow_undefined_flag, $1)=
+ _LT_TAGVAR(always_export_symbols, $1)=no
+ _LT_TAGVAR(archive_cmds, $1)=
+ _LT_TAGVAR(archive_expsym_cmds, $1)=
+ _LT_TAGVAR(compiler_needs_object, $1)=no
+ _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)=
+ _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
+ _LT_TAGVAR(hardcode_automatic, $1)=no
+ _LT_TAGVAR(hardcode_direct, $1)=no
+ _LT_TAGVAR(hardcode_direct_absolute, $1)=no
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
+ _LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)=
+ _LT_TAGVAR(hardcode_libdir_separator, $1)=
+ _LT_TAGVAR(hardcode_minus_L, $1)=no
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
+ _LT_TAGVAR(inherit_rpath, $1)=no
+ _LT_TAGVAR(link_all_deplibs, $1)=unknown
+ _LT_TAGVAR(module_cmds, $1)=
+ _LT_TAGVAR(module_expsym_cmds, $1)=
+ _LT_TAGVAR(old_archive_from_new_cmds, $1)=
+ _LT_TAGVAR(old_archive_from_expsyms_cmds, $1)=
+ _LT_TAGVAR(thread_safe_flag_spec, $1)=
+ _LT_TAGVAR(whole_archive_flag_spec, $1)=
+ # include_expsyms should be a list of space-separated symbols to be *always*
+ # included in the symbol list
+ _LT_TAGVAR(include_expsyms, $1)=
+ # exclude_expsyms can be an extended regexp of symbols to exclude
+ # it will be wrapped by ` (' and `)$', so one must not match beginning or
+ # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc',
+ # as well as any symbol that contains `d'.
+ _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*']
+ # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out
+ # platforms (ab)use it in PIC code, but their linkers get confused if
+ # the symbol is explicitly referenced. Since portable code cannot
+ # rely on this symbol name, it's probably fine to never include it in
+ # preloaded symbol tables.
+ # Exclude shared library initialization/finalization symbols.
+dnl Note also adjust exclude_expsyms for C++ above.
+ extract_expsyms_cmds=
+
+ case $host_os in
+ cygwin* | mingw* | pw32* | cegcc*)
+ # FIXME: the MSVC++ port hasn't been tested in a loooong time
+ # When not using gcc, we currently assume that we are using
+ # Microsoft Visual C++.
+ if test "$GCC" != yes; then
+ with_gnu_ld=no
+ fi
+ ;;
+ interix*)
+ # we just hope/assume this is gcc and not c89 (= MSVC++)
+ with_gnu_ld=yes
+ ;;
+ openbsd*)
+ with_gnu_ld=no
+ ;;
+ esac
+
+ _LT_TAGVAR(ld_shlibs, $1)=yes
+ if test "$with_gnu_ld" = yes; then
+ # If archive_cmds runs LD, not CC, wlarc should be empty
+ wlarc='${wl}'
+
+ # Set some defaults for GNU ld with shared library support. These
+ # are reset later if shared libraries are not supported. Putting them
+ # here allows them to be overridden if necessary.
+ runpath_var=LD_RUN_PATH
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
+ # ancient GNU ld didn't support --whole-archive et. al.
+ if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then
+ _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
+ else
+ _LT_TAGVAR(whole_archive_flag_spec, $1)=
+ fi
+ supports_anon_versioning=no
+ case `$LD -v 2>&1` in
+ *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.10.*) ;; # catch versions < 2.11
+ *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ...
+ *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ...
+ *\ 2.11.*) ;; # other 2.11 versions
+ *) supports_anon_versioning=yes ;;
+ esac
+
+ # See if GNU ld supports shared libraries.
+ case $host_os in
+ aix[[3-9]]*)
+ # On AIX/PPC, the GNU linker is very broken
+ if test "$host_cpu" != ia64; then
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ cat <<_LT_EOF 1>&2
+
+*** Warning: the GNU linker, at least up to release 2.9.1, is reported
+*** to be unable to reliably create shared libraries on AIX.
+*** Therefore, libtool is disabling shared libraries support. If you
+*** really care for shared libraries, you may want to modify your PATH
+*** so that a non-GNU linker is found, and then restart.
+
+_LT_EOF
+ fi
+ ;;
+
+ amigaos*)
+ case $host_cpu in
+ powerpc)
+ # see comment about AmigaOS4 .so support
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)=''
+ ;;
+ m68k)
+ _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+ _LT_TAGVAR(hardcode_minus_L, $1)=yes
+ ;;
+ esac
+ ;;
+
+ beos*)
+ if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
+ _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
+ # Joseph Beckenbach <jrb3@best.com> says some releases of gcc
+ # support --undefined. This deserves some investigation. FIXME
+ _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ else
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ fi
+ ;;
+
+ cygwin* | mingw* | pw32* | cegcc*)
+ # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless,
+ # as there is no search path for DLLs.
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+ _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
+ _LT_TAGVAR(always_export_symbols, $1)=no
+ _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
+ _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/'\'' | $SED -e '\''/^[[AITW]][[ ]]/s/.*[[ ]]//'\'' | sort | uniq > $export_symbols'
+
+ if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
+ # If the export-symbols file already is a .def file (1st line
+ # is EXPORTS), use it as is; otherwise, prepend...
+ _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
+ cp $export_symbols $output_objdir/$soname.def;
+ else
+ echo EXPORTS > $output_objdir/$soname.def;
+ cat $export_symbols >> $output_objdir/$soname.def;
+ fi~
+ $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
+ else
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ fi
+ ;;
+
+ interix[[3-9]]*)
+ _LT_TAGVAR(hardcode_direct, $1)=no
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+ # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
+ # Instead, shared libraries are loaded at an image base (0x10000000 by
+ # default) and relocated if they conflict, which is a slow very memory
+ # consuming and fragmenting process. To avoid this, we pick a random,
+ # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
+ # time. Moving up from 0x10000000 also allows more sbrk(2) space.
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+ ;;
+
+ gnu* | linux* | tpf* | k*bsd*-gnu)
+ tmp_diet=no
+ if test "$host_os" = linux-dietlibc; then
+ case $cc_basename in
+ diet\ *) tmp_diet=yes;; # linux-dietlibc with static linking (!diet-dyn)
+ esac
+ fi
+ if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \
+ && test "$tmp_diet" = no
+ then
+ tmp_addflag=
+ tmp_sharedflag='-shared'
+ case $cc_basename,$host_cpu in
+ pgcc*) # Portland Group C compiler
+ _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive'
+ tmp_addflag=' $pic_flag'
+ ;;
+ pgf77* | pgf90* | pgf95*) # Portland Group f77 and f90 compilers
+ _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive'
+ tmp_addflag=' $pic_flag -Mnomain' ;;
+ ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64
+ tmp_addflag=' -i_dynamic' ;;
+ efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64
+ tmp_addflag=' -i_dynamic -nofor_main' ;;
+ ifc* | ifort*) # Intel Fortran compiler
+ tmp_addflag=' -nofor_main' ;;
+ lf95*) # Lahey Fortran 8.1
+ _LT_TAGVAR(whole_archive_flag_spec, $1)=
+ tmp_sharedflag='--shared' ;;
+ xl[[cC]]*) # IBM XL C 8.0 on PPC (deal with xlf below)
+ tmp_sharedflag='-qmkshrobj'
+ tmp_addflag= ;;
+ esac
+ case `$CC -V 2>&1 | sed 5q` in
+ *Sun\ C*) # Sun C 5.9
+ _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive'
+ _LT_TAGVAR(compiler_needs_object, $1)=yes
+ tmp_sharedflag='-G' ;;
+ *Sun\ F*) # Sun Fortran 8.3
+ tmp_sharedflag='-G' ;;
+ esac
+ _LT_TAGVAR(archive_cmds, $1)='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+
+ if test "x$supports_anon_versioning" = xyes; then
+ _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~
+ cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
+ echo "local: *; };" >> $output_objdir/$libname.ver~
+ $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
+ fi
+
+ case $cc_basename in
+ xlf*)
+ # IBM XL Fortran 10.1 on PPC cannot create shared libs itself
+ _LT_TAGVAR(whole_archive_flag_spec, $1)='--whole-archive$convenience --no-whole-archive'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
+ _LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='-rpath $libdir'
+ _LT_TAGVAR(archive_cmds, $1)='$LD -shared $libobjs $deplibs $compiler_flags -soname $soname -o $lib'
+ if test "x$supports_anon_versioning" = xyes; then
+ _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~
+ cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
+ echo "local: *; };" >> $output_objdir/$libname.ver~
+ $LD -shared $libobjs $deplibs $compiler_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib'
+ fi
+ ;;
+ esac
+ else
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ fi
+ ;;
+
+ netbsd* | netbsdelf*-gnu)
+ if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
+ _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
+ wlarc=
+ else
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+ fi
+ ;;
+
+ solaris*)
+ if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ cat <<_LT_EOF 1>&2
+
+*** Warning: The releases 2.8.* of the GNU linker cannot reliably
+*** create shared libraries on Solaris systems. Therefore, libtool
+*** is disabling shared libraries support. We urge you to upgrade GNU
+*** binutils to release 2.9.1 or newer. Another option is to modify
+*** your PATH or compiler configuration so that the native linker is
+*** used, and then restart.
+
+_LT_EOF
+ elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+ else
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ fi
+ ;;
+
+ sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*)
+ case `$LD -v 2>&1` in
+ *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.1[[0-5]].*)
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ cat <<_LT_EOF 1>&2
+
+*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not
+*** reliably create shared libraries on SCO systems. Therefore, libtool
+*** is disabling shared libraries support. We urge you to upgrade GNU
+*** binutils to release 2.16.91.0.3 or newer. Another option is to modify
+*** your PATH or compiler configuration so that the native linker is
+*** used, and then restart.
+
+_LT_EOF
+ ;;
+ *)
+ # For security reasons, it is highly recommended that you always
+ # use absolute paths for naming shared libraries, and exclude the
+ # DT_RUNPATH tag from executables and libraries. But doing so
+ # requires that you compile everything twice, which is a pain.
+ if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+ else
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ fi
+ ;;
+ esac
+ ;;
+
+ sunos4*)
+ _LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags'
+ wlarc=
+ _LT_TAGVAR(hardcode_direct, $1)=yes
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ ;;
+
+ *)
+ if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+ else
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ fi
+ ;;
+ esac
+
+ if test "$_LT_TAGVAR(ld_shlibs, $1)" = no; then
+ runpath_var=
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)=
+ _LT_TAGVAR(whole_archive_flag_spec, $1)=
+ fi
+ else
+ # PORTME fill in a description of your system's linker (not GNU ld)
+ case $host_os in
+ aix3*)
+ _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
+ _LT_TAGVAR(always_export_symbols, $1)=yes
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname'
+ # Note: this linker hardcodes the directories in LIBPATH if there
+ # are no directories specified by -L.
+ _LT_TAGVAR(hardcode_minus_L, $1)=yes
+ if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then
+ # Neither direct hardcoding nor static linking is supported with a
+ # broken collect2.
+ _LT_TAGVAR(hardcode_direct, $1)=unsupported
+ fi
+ ;;
+
+ aix[[4-9]]*)
+ if test "$host_cpu" = ia64; then
+ # On IA64, the linker does run time linking by default, so we don't
+ # have to do anything special.
+ aix_use_runtimelinking=no
+ exp_sym_flag='-Bexport'
+ no_entry_flag=""
+ else
+ # If we're using GNU nm, then we don't want the "-C" option.
+ # -C means demangle to AIX nm, but means don't demangle with GNU nm
+ if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
+ _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
+ else
+ _LT_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
+ fi
+ aix_use_runtimelinking=no
+
+ # Test if we are trying to use run time linking or normal
+ # AIX style linking. If -brtl is somewhere in LDFLAGS, we
+ # need to do runtime linking.
+ case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*)
+ for ld_flag in $LDFLAGS; do
+ if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then
+ aix_use_runtimelinking=yes
+ break
+ fi
+ done
+ ;;
+ esac
+
+ exp_sym_flag='-bexport'
+ no_entry_flag='-bnoentry'
+ fi
+
+ # When large executables or shared objects are built, AIX ld can
+ # have problems creating the table of contents. If linking a library
+ # or program results in "error TOC overflow" add -mminimal-toc to
+ # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not
+ # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
+
+ _LT_TAGVAR(archive_cmds, $1)=''
+ _LT_TAGVAR(hardcode_direct, $1)=yes
+ _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
+ _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
+ _LT_TAGVAR(link_all_deplibs, $1)=yes
+ _LT_TAGVAR(file_list_spec, $1)='${wl}-f,'
+
+ if test "$GCC" = yes; then
+ case $host_os in aix4.[[012]]|aix4.[[012]].*)
+ # We only want to do this on AIX 4.2 and lower, the check
+ # below for broken collect2 doesn't work under 4.3+
+ collect2name=`${CC} -print-prog-name=collect2`
+ if test -f "$collect2name" &&
+ strings "$collect2name" | $GREP resolve_lib_name >/dev/null
+ then
+ # We have reworked collect2
+ :
+ else
+ # We have old collect2
+ _LT_TAGVAR(hardcode_direct, $1)=unsupported
+ # It fails to find uninstalled libraries when the uninstalled
+ # path is not listed in the libpath. Setting hardcode_minus_L
+ # to unsupported forces relinking
+ _LT_TAGVAR(hardcode_minus_L, $1)=yes
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+ _LT_TAGVAR(hardcode_libdir_separator, $1)=
+ fi
+ ;;
+ esac
+ shared_flag='-shared'
+ if test "$aix_use_runtimelinking" = yes; then
+ shared_flag="$shared_flag "'${wl}-G'
+ fi
+ _LT_TAGVAR(link_all_deplibs, $1)=no
+ else
+ # not using gcc
+ if test "$host_cpu" = ia64; then
+ # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
+ # chokes on -Wl,-G. The following line is correct:
+ shared_flag='-G'
+ else
+ if test "$aix_use_runtimelinking" = yes; then
+ shared_flag='${wl}-G'
+ else
+ shared_flag='${wl}-bM:SRE'
+ fi
+ fi
+ fi
+
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-bexpall'
+ # It seems that -bexpall does not export symbols beginning with
+ # underscore (_), so it is better to generate a list of symbols to export.
+ _LT_TAGVAR(always_export_symbols, $1)=yes
+ if test "$aix_use_runtimelinking" = yes; then
+ # Warning - without using the other runtime loading flags (-brtl),
+ # -berok will link without error, but may produce a broken library.
+ _LT_TAGVAR(allow_undefined_flag, $1)='-berok'
+ # Determine the default libpath from the value encoded in an
+ # empty executable.
+ _LT_SYS_MODULE_PATH_AIX
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then $ECHO "X${wl}${allow_undefined_flag}" | $Xsed; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
+ else
+ if test "$host_cpu" = ia64; then
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib'
+ _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs"
+ _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols"
+ else
+ # Determine the default libpath from the value encoded in an
+ # empty executable.
+ _LT_SYS_MODULE_PATH_AIX
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
+ # Warning - without using the other run time loading flags,
+ # -berok will link without error, but may produce a broken library.
+ _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok'
+ _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok'
+ # Exported symbols can be pulled into shared objects from archives
+ _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience'
+ _LT_TAGVAR(archive_cmds_need_lc, $1)=yes
+ # This is similar to how AIX traditionally builds its shared libraries.
+ _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
+ fi
+ fi
+ ;;
+
+ amigaos*)
+ case $host_cpu in
+ powerpc)
+ # see comment about AmigaOS4 .so support
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)=''
+ ;;
+ m68k)
+ _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+ _LT_TAGVAR(hardcode_minus_L, $1)=yes
+ ;;
+ esac
+ ;;
+
+ bsdi[[45]]*)
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)=-rdynamic
+ ;;
+
+ cygwin* | mingw* | pw32* | cegcc*)
+ # When not using gcc, we currently assume that we are using
+ # Microsoft Visual C++.
+ # hardcode_libdir_flag_spec is actually meaningless, as there is
+ # no search path for DLLs.
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' '
+ _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
+ # Tell ltmain to make .lib files, not .a files.
+ libext=lib
+ # Tell ltmain to make .dll files, not .so files.
+ shrext_cmds=".dll"
+ # FIXME: Setting linknames here is a bad hack.
+ _LT_TAGVAR(archive_cmds, $1)='$CC -o $lib $libobjs $compiler_flags `$ECHO "X$deplibs" | $Xsed -e '\''s/ -lc$//'\''` -link -dll~linknames='
+ # The linker will automatically build a .lib file if we build a DLL.
+ _LT_TAGVAR(old_archive_from_new_cmds, $1)='true'
+ # FIXME: Should let the user specify the lib program.
+ _LT_TAGVAR(old_archive_cmds, $1)='lib -OUT:$oldlib$oldobjs$old_deplibs'
+ _LT_TAGVAR(fix_srcfile_path, $1)='`cygpath -w "$srcfile"`'
+ _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
+ ;;
+
+ darwin* | rhapsody*)
+ _LT_DARWIN_LINKER_FEATURES($1)
+ ;;
+
+ dgux*)
+ _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ ;;
+
+ freebsd1*)
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+
+ # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor
+ # support. Future versions do this automatically, but an explicit c++rt0.o
+ # does not break anything, and helps significantly (at the cost of a little
+ # extra space).
+ freebsd2.2*)
+ _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
+ _LT_TAGVAR(hardcode_direct, $1)=yes
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ ;;
+
+ # Unfortunately, older versions of FreeBSD 2 do not have this feature.
+ freebsd2*)
+ _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
+ _LT_TAGVAR(hardcode_direct, $1)=yes
+ _LT_TAGVAR(hardcode_minus_L, $1)=yes
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ ;;
+
+ # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
+ freebsd* | dragonfly*)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
+ _LT_TAGVAR(hardcode_direct, $1)=yes
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ ;;
+
+ hpux9*)
+ if test "$GCC" = yes; then
+ _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+ else
+ _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+ fi
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
+ _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+ _LT_TAGVAR(hardcode_direct, $1)=yes
+
+ # hardcode_minus_L: Not really in the search PATH,
+ # but as the default location of the library.
+ _LT_TAGVAR(hardcode_minus_L, $1)=yes
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+ ;;
+
+ hpux10*)
+ if test "$GCC" = yes -a "$with_gnu_ld" = no; then
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
+ else
+ _LT_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
+ fi
+ if test "$with_gnu_ld" = no; then
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
+ _LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='+b $libdir'
+ _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+ _LT_TAGVAR(hardcode_direct, $1)=yes
+ _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+ # hardcode_minus_L: Not really in the search PATH,
+ # but as the default location of the library.
+ _LT_TAGVAR(hardcode_minus_L, $1)=yes
+ fi
+ ;;
+
+ hpux11*)
+ if test "$GCC" = yes -a "$with_gnu_ld" = no; then
+ case $host_cpu in
+ hppa*64*)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ ia64*)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ *)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ esac
+ else
+ case $host_cpu in
+ hppa*64*)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ ia64*)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ *)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ esac
+ fi
+ if test "$with_gnu_ld" = no; then
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
+ _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+
+ case $host_cpu in
+ hppa*64*|ia64*)
+ _LT_TAGVAR(hardcode_direct, $1)=no
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ ;;
+ *)
+ _LT_TAGVAR(hardcode_direct, $1)=yes
+ _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+
+ # hardcode_minus_L: Not really in the search PATH,
+ # but as the default location of the library.
+ _LT_TAGVAR(hardcode_minus_L, $1)=yes
+ ;;
+ esac
+ fi
+ ;;
+
+ irix5* | irix6* | nonstopux*)
+ if test "$GCC" = yes; then
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+ # Try to use the -exported_symbol ld option, if it does not
+ # work, assume that -exports_file does not work either and
+ # implicitly export all symbols.
+ save_LDFLAGS="$LDFLAGS"
+ LDFLAGS="$LDFLAGS -shared ${wl}-exported_symbol ${wl}foo ${wl}-update_registry ${wl}/dev/null"
+ AC_LINK_IFELSE(int foo(void) {},
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations ${wl}-exports_file ${wl}$export_symbols -o $lib'
+ )
+ LDFLAGS="$save_LDFLAGS"
+ else
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -exports_file $export_symbols -o $lib'
+ fi
+ _LT_TAGVAR(archive_cmds_need_lc, $1)='no'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+ _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+ _LT_TAGVAR(inherit_rpath, $1)=yes
+ _LT_TAGVAR(link_all_deplibs, $1)=yes
+ ;;
+
+ netbsd* | netbsdelf*-gnu)
+ if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
+ _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out
+ else
+ _LT_TAGVAR(archive_cmds, $1)='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF
+ fi
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
+ _LT_TAGVAR(hardcode_direct, $1)=yes
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ ;;
+
+ newsos6)
+ _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ _LT_TAGVAR(hardcode_direct, $1)=yes
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+ _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ ;;
+
+ *nto* | *qnx*)
+ ;;
+
+ openbsd*)
+ if test -f /usr/libexec/ld.so; then
+ _LT_TAGVAR(hardcode_direct, $1)=yes
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
+ if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+ else
+ case $host_os in
+ openbsd[[01]].* | openbsd2.[[0-7]] | openbsd2.[[0-7]].*)
+ _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
+ ;;
+ *)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
+ ;;
+ esac
+ fi
+ else
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ fi
+ ;;
+
+ os2*)
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+ _LT_TAGVAR(hardcode_minus_L, $1)=yes
+ _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
+ _LT_TAGVAR(archive_cmds, $1)='$ECHO "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$ECHO DATA >> $output_objdir/$libname.def~$ECHO " SINGLE NONSHARED" >> $output_objdir/$libname.def~$ECHO EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def'
+ _LT_TAGVAR(old_archive_from_new_cmds, $1)='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def'
+ ;;
+
+ osf3*)
+ if test "$GCC" = yes; then
+ _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+ else
+ _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
+ fi
+ _LT_TAGVAR(archive_cmds_need_lc, $1)='no'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+ _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+ ;;
+
+ osf4* | osf5*) # as osf3* with the addition of -msym flag
+ if test "$GCC" = yes; then
+ _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+ else
+ _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~
+ $CC -shared${allow_undefined_flag} ${wl}-input ${wl}$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib~$RM $lib.exp'
+
+ # Both c and cxx compiler support -rpath directly
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
+ fi
+ _LT_TAGVAR(archive_cmds_need_lc, $1)='no'
+ _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+ ;;
+
+ solaris*)
+ _LT_TAGVAR(no_undefined_flag, $1)=' -z defs'
+ if test "$GCC" = yes; then
+ wlarc='${wl}'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-z ${wl}text ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
+ $CC -shared ${wl}-z ${wl}text ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
+ else
+ case `$CC -V 2>&1` in
+ *"Compilers 5.0"*)
+ wlarc=''
+ _LT_TAGVAR(archive_cmds, $1)='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
+ $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp'
+ ;;
+ *)
+ wlarc='${wl}'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
+ $CC -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
+ ;;
+ esac
+ fi
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ case $host_os in
+ solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
+ *)
+ # The compiler driver will combine and reorder linker options,
+ # but understands `-z linker_flag'. GCC discards it without `$wl',
+ # but is careful enough not to reorder.
+ # Supported since Solaris 2.6 (maybe 2.5.1?)
+ if test "$GCC" = yes; then
+ _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
+ else
+ _LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract'
+ fi
+ ;;
+ esac
+ _LT_TAGVAR(link_all_deplibs, $1)=yes
+ ;;
+
+ sunos4*)
+ if test "x$host_vendor" = xsequent; then
+ # Use $CC to link under sequent, because it throws in some extra .o
+ # files that make .init and .fini sections work.
+ _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags'
+ else
+ _LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags'
+ fi
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+ _LT_TAGVAR(hardcode_direct, $1)=yes
+ _LT_TAGVAR(hardcode_minus_L, $1)=yes
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ ;;
+
+ sysv4)
+ case $host_vendor in
+ sni)
+ _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ _LT_TAGVAR(hardcode_direct, $1)=yes # is this really true???
+ ;;
+ siemens)
+ ## LD is ld it makes a PLAMLIB
+ ## CC just makes a GrossModule.
+ _LT_TAGVAR(archive_cmds, $1)='$LD -G -o $lib $libobjs $deplibs $linker_flags'
+ _LT_TAGVAR(reload_cmds, $1)='$CC -r -o $output$reload_objs'
+ _LT_TAGVAR(hardcode_direct, $1)=no
+ ;;
+ motorola)
+ _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ _LT_TAGVAR(hardcode_direct, $1)=no #Motorola manual says yes, but my tests say they lie
+ ;;
+ esac
+ runpath_var='LD_RUN_PATH'
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ ;;
+
+ sysv4.3*)
+ _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='-Bexport'
+ ;;
+
+ sysv4*MP*)
+ if test -d /usr/nec; then
+ _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ runpath_var=LD_RUN_PATH
+ hardcode_runpath_var=yes
+ _LT_TAGVAR(ld_shlibs, $1)=yes
+ fi
+ ;;
+
+ sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*)
+ _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
+ _LT_TAGVAR(archive_cmds_need_lc, $1)=no
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ runpath_var='LD_RUN_PATH'
+
+ if test "$GCC" = yes; then
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ else
+ _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ fi
+ ;;
+
+ sysv5* | sco3.2v5* | sco5v6*)
+ # Note: We can NOT use -z defs as we might desire, because we do not
+ # link with -lc, and that would cause any symbols used from libc to
+ # always be unresolved, which means just about no library would
+ # ever link correctly. If we're not using GNU ld we use -z text
+ # though, which does catch some bad symbols but isn't as heavy-handed
+ # as -z defs.
+ _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
+ _LT_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs'
+ _LT_TAGVAR(archive_cmds_need_lc, $1)=no
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R,$libdir'
+ _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
+ _LT_TAGVAR(link_all_deplibs, $1)=yes
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport'
+ runpath_var='LD_RUN_PATH'
+
+ if test "$GCC" = yes; then
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ else
+ _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ fi
+ ;;
+
+ uts4*)
+ _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ ;;
+
+ *)
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ esac
+
+ if test x$host_vendor = xsni; then
+ case $host in
+ sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Blargedynsym'
+ ;;
+ esac
+ fi
+ fi
+])
+AC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)])
+test "$_LT_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no
+
+_LT_TAGVAR(with_gnu_ld, $1)=$with_gnu_ld
+
+_LT_DECL([], [libext], [0], [Old archive suffix (normally "a")])dnl
+_LT_DECL([], [shrext_cmds], [1], [Shared library suffix (normally ".so")])dnl
+_LT_DECL([], [extract_expsyms_cmds], [2],
+ [The commands to extract the exported symbol list from a shared archive])
+
+#
+# Do we need to explicitly link libc?
+#
+case "x$_LT_TAGVAR(archive_cmds_need_lc, $1)" in
+x|xyes)
+ # Assume -lc should be added
+ _LT_TAGVAR(archive_cmds_need_lc, $1)=yes
+
+ if test "$enable_shared" = yes && test "$GCC" = yes; then
+ case $_LT_TAGVAR(archive_cmds, $1) in
+ *'~'*)
+ # FIXME: we may have to deal with multi-command sequences.
+ ;;
+ '$CC '*)
+ # Test whether the compiler implicitly links with -lc since on some
+ # systems, -lgcc has to come before -lc. If gcc already passes -lc
+ # to ld, don't add -lc before -lgcc.
+ AC_MSG_CHECKING([whether -lc should be explicitly linked in])
+ $RM conftest*
+ echo "$lt_simple_compile_test_code" > conftest.$ac_ext
+
+ if AC_TRY_EVAL(ac_compile) 2>conftest.err; then
+ soname=conftest
+ lib=conftest
+ libobjs=conftest.$ac_objext
+ deplibs=
+ wl=$_LT_TAGVAR(lt_prog_compiler_wl, $1)
+ pic_flag=$_LT_TAGVAR(lt_prog_compiler_pic, $1)
+ compiler_flags=-v
+ linker_flags=-v
+ verstring=
+ output_objdir=.
+ libname=conftest
+ lt_save_allow_undefined_flag=$_LT_TAGVAR(allow_undefined_flag, $1)
+ _LT_TAGVAR(allow_undefined_flag, $1)=
+ if AC_TRY_EVAL(_LT_TAGVAR(archive_cmds, $1) 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1)
+ then
+ _LT_TAGVAR(archive_cmds_need_lc, $1)=no
+ else
+ _LT_TAGVAR(archive_cmds_need_lc, $1)=yes
+ fi
+ _LT_TAGVAR(allow_undefined_flag, $1)=$lt_save_allow_undefined_flag
+ else
+ cat conftest.err 1>&5
+ fi
+ $RM conftest*
+ AC_MSG_RESULT([$_LT_TAGVAR(archive_cmds_need_lc, $1)])
+ ;;
+ esac
+ fi
+ ;;
+esac
+
+_LT_TAGDECL([build_libtool_need_lc], [archive_cmds_need_lc], [0],
+ [Whether or not to add -lc for building shared libraries])
+_LT_TAGDECL([allow_libtool_libs_with_static_runtimes],
+ [enable_shared_with_static_runtimes], [0],
+ [Whether or not to disallow shared libs when runtime libs are static])
+_LT_TAGDECL([], [export_dynamic_flag_spec], [1],
+ [Compiler flag to allow reflexive dlopens])
+_LT_TAGDECL([], [whole_archive_flag_spec], [1],
+ [Compiler flag to generate shared objects directly from archives])
+_LT_TAGDECL([], [compiler_needs_object], [1],
+ [Whether the compiler copes with passing no objects directly])
+_LT_TAGDECL([], [old_archive_from_new_cmds], [2],
+ [Create an old-style archive from a shared archive])
+_LT_TAGDECL([], [old_archive_from_expsyms_cmds], [2],
+ [Create a temporary old-style archive to link instead of a shared archive])
+_LT_TAGDECL([], [archive_cmds], [2], [Commands used to build a shared archive])
+_LT_TAGDECL([], [archive_expsym_cmds], [2])
+_LT_TAGDECL([], [module_cmds], [2],
+ [Commands used to build a loadable module if different from building
+ a shared archive.])
+_LT_TAGDECL([], [module_expsym_cmds], [2])
+_LT_TAGDECL([], [with_gnu_ld], [1],
+ [Whether we are building with GNU ld or not])
+_LT_TAGDECL([], [allow_undefined_flag], [1],
+ [Flag that allows shared libraries with undefined symbols to be built])
+_LT_TAGDECL([], [no_undefined_flag], [1],
+ [Flag that enforces no undefined symbols])
+_LT_TAGDECL([], [hardcode_libdir_flag_spec], [1],
+ [Flag to hardcode $libdir into a binary during linking.
+ This must work even if $libdir does not exist])
+_LT_TAGDECL([], [hardcode_libdir_flag_spec_ld], [1],
+ [[If ld is used when linking, flag to hardcode $libdir into a binary
+ during linking. This must work even if $libdir does not exist]])
+_LT_TAGDECL([], [hardcode_libdir_separator], [1],
+ [Whether we need a single "-rpath" flag with a separated argument])
+_LT_TAGDECL([], [hardcode_direct], [0],
+ [Set to "yes" if using DIR/libNAME${shared_ext} during linking hardcodes
+ DIR into the resulting binary])
+_LT_TAGDECL([], [hardcode_direct_absolute], [0],
+ [Set to "yes" if using DIR/libNAME${shared_ext} during linking hardcodes
+ DIR into the resulting binary and the resulting library dependency is
+ "absolute", i.e impossible to change by setting ${shlibpath_var} if the
+ library is relocated])
+_LT_TAGDECL([], [hardcode_minus_L], [0],
+ [Set to "yes" if using the -LDIR flag during linking hardcodes DIR
+ into the resulting binary])
+_LT_TAGDECL([], [hardcode_shlibpath_var], [0],
+ [Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR
+ into the resulting binary])
+_LT_TAGDECL([], [hardcode_automatic], [0],
+ [Set to "yes" if building a shared library automatically hardcodes DIR
+ into the library and all subsequent libraries and executables linked
+ against it])
+_LT_TAGDECL([], [inherit_rpath], [0],
+ [Set to yes if linker adds runtime paths of dependent libraries
+ to runtime path list])
+_LT_TAGDECL([], [link_all_deplibs], [0],
+ [Whether libtool must link a program against all its dependency libraries])
+_LT_TAGDECL([], [fix_srcfile_path], [1],
+ [Fix the shell variable $srcfile for the compiler])
+_LT_TAGDECL([], [always_export_symbols], [0],
+ [Set to "yes" if exported symbols are required])
+_LT_TAGDECL([], [export_symbols_cmds], [2],
+ [The commands to list exported symbols])
+_LT_TAGDECL([], [exclude_expsyms], [1],
+ [Symbols that should not be listed in the preloaded symbols])
+_LT_TAGDECL([], [include_expsyms], [1],
+ [Symbols that must always be exported])
+_LT_TAGDECL([], [prelink_cmds], [2],
+ [Commands necessary for linking programs (against libraries) with templates])
+_LT_TAGDECL([], [file_list_spec], [1],
+ [Specify filename containing input files])
+dnl FIXME: Not yet implemented
+dnl _LT_TAGDECL([], [thread_safe_flag_spec], [1],
+dnl [Compiler flag to generate thread safe objects])
+])# _LT_LINKER_SHLIBS
+
+
+# _LT_LANG_C_CONFIG([TAG])
+# ------------------------
+# Ensure that the configuration variables for a C compiler are suitably
+# defined. These variables are subsequently used by _LT_CONFIG to write
+# the compiler configuration to `libtool'.
+m4_defun([_LT_LANG_C_CONFIG],
+[m4_require([_LT_DECL_EGREP])dnl
+lt_save_CC="$CC"
+AC_LANG_PUSH(C)
+
+# Source file extension for C test sources.
+ac_ext=c
+
+# Object file extension for compiled C test sources.
+objext=o
+_LT_TAGVAR(objext, $1)=$objext
+
+# Code to be used in simple compile tests
+lt_simple_compile_test_code="int some_variable = 0;"
+
+# Code to be used in simple link tests
+lt_simple_link_test_code='int main(){return(0);}'
+
+_LT_TAG_COMPILER
+# Save the default compiler, since it gets overwritten when the other
+# tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP.
+compiler_DEFAULT=$CC
+
+# save warnings/boilerplate of simple test code
+_LT_COMPILER_BOILERPLATE
+_LT_LINKER_BOILERPLATE
+
+## CAVEAT EMPTOR:
+## There is no encapsulation within the following macros, do not change
+## the running order or otherwise move them around unless you know exactly
+## what you are doing...
+if test -n "$compiler"; then
+ _LT_COMPILER_NO_RTTI($1)
+ _LT_COMPILER_PIC($1)
+ _LT_COMPILER_C_O($1)
+ _LT_COMPILER_FILE_LOCKS($1)
+ _LT_LINKER_SHLIBS($1)
+ _LT_SYS_DYNAMIC_LINKER($1)
+ _LT_LINKER_HARDCODE_LIBPATH($1)
+ LT_SYS_DLOPEN_SELF
+ _LT_CMD_STRIPLIB
+
+ # Report which library types will actually be built
+ AC_MSG_CHECKING([if libtool supports shared libraries])
+ AC_MSG_RESULT([$can_build_shared])
+
+ AC_MSG_CHECKING([whether to build shared libraries])
+ test "$can_build_shared" = "no" && enable_shared=no
+
+ # On AIX, shared libraries and static libraries use the same namespace, and
+ # are all built from PIC.
+ case $host_os in
+ aix3*)
+ test "$enable_shared" = yes && enable_static=no
+ if test -n "$RANLIB"; then
+ archive_cmds="$archive_cmds~\$RANLIB \$lib"
+ postinstall_cmds='$RANLIB $lib'
+ fi
+ ;;
+
+ aix[[4-9]]*)
+ if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
+ test "$enable_shared" = yes && enable_static=no
+ fi
+ ;;
+ esac
+ AC_MSG_RESULT([$enable_shared])
+
+ AC_MSG_CHECKING([whether to build static libraries])
+ # Make sure either enable_shared or enable_static is yes.
+ test "$enable_shared" = yes || enable_static=yes
+ AC_MSG_RESULT([$enable_static])
+
+ _LT_CONFIG($1)
+fi
+AC_LANG_POP
+CC="$lt_save_CC"
+])# _LT_LANG_C_CONFIG
+
+
+# _LT_PROG_CXX
+# ------------
+# Since AC_PROG_CXX is broken, in that it returns g++ if there is no c++
+# compiler, we have our own version here.
+m4_defun([_LT_PROG_CXX],
+[
+pushdef([AC_MSG_ERROR], [_lt_caught_CXX_error=yes])
+AC_PROG_CXX
+if test -n "$CXX" && ( test "X$CXX" != "Xno" &&
+ ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) ||
+ (test "X$CXX" != "Xg++"))) ; then
+ AC_PROG_CXXCPP
+else
+ _lt_caught_CXX_error=yes
+fi
+popdef([AC_MSG_ERROR])
+])# _LT_PROG_CXX
+
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([_LT_PROG_CXX], [])
+
+
+# _LT_LANG_CXX_CONFIG([TAG])
+# --------------------------
+# Ensure that the configuration variables for a C++ compiler are suitably
+# defined. These variables are subsequently used by _LT_CONFIG to write
+# the compiler configuration to `libtool'.
+m4_defun([_LT_LANG_CXX_CONFIG],
+[AC_REQUIRE([_LT_PROG_CXX])dnl
+m4_require([_LT_FILEUTILS_DEFAULTS])dnl
+m4_require([_LT_DECL_EGREP])dnl
+
+AC_LANG_PUSH(C++)
+_LT_TAGVAR(archive_cmds_need_lc, $1)=no
+_LT_TAGVAR(allow_undefined_flag, $1)=
+_LT_TAGVAR(always_export_symbols, $1)=no
+_LT_TAGVAR(archive_expsym_cmds, $1)=
+_LT_TAGVAR(compiler_needs_object, $1)=no
+_LT_TAGVAR(export_dynamic_flag_spec, $1)=
+_LT_TAGVAR(hardcode_direct, $1)=no
+_LT_TAGVAR(hardcode_direct_absolute, $1)=no
+_LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
+_LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)=
+_LT_TAGVAR(hardcode_libdir_separator, $1)=
+_LT_TAGVAR(hardcode_minus_L, $1)=no
+_LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
+_LT_TAGVAR(hardcode_automatic, $1)=no
+_LT_TAGVAR(inherit_rpath, $1)=no
+_LT_TAGVAR(module_cmds, $1)=
+_LT_TAGVAR(module_expsym_cmds, $1)=
+_LT_TAGVAR(link_all_deplibs, $1)=unknown
+_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
+_LT_TAGVAR(no_undefined_flag, $1)=
+_LT_TAGVAR(whole_archive_flag_spec, $1)=
+_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
+
+# Source file extension for C++ test sources.
+ac_ext=cpp
+
+# Object file extension for compiled C++ test sources.
+objext=o
+_LT_TAGVAR(objext, $1)=$objext
+
+# No sense in running all these tests if we already determined that
+# the CXX compiler isn't working. Some variables (like enable_shared)
+# are currently assumed to apply to all compilers on this platform,
+# and will be corrupted by setting them based on a non-working compiler.
+if test "$_lt_caught_CXX_error" != yes; then
+ # Code to be used in simple compile tests
+ lt_simple_compile_test_code="int some_variable = 0;"
+
+ # Code to be used in simple link tests
+ lt_simple_link_test_code='int main(int, char *[[]]) { return(0); }'
+
+ # ltmain only uses $CC for tagged configurations so make sure $CC is set.
+ _LT_TAG_COMPILER
+
+ # save warnings/boilerplate of simple test code
+ _LT_COMPILER_BOILERPLATE
+ _LT_LINKER_BOILERPLATE
+
+ # Allow CC to be a program name with arguments.
+ lt_save_CC=$CC
+ lt_save_LD=$LD
+ lt_save_GCC=$GCC
+ GCC=$GXX
+ lt_save_with_gnu_ld=$with_gnu_ld
+ lt_save_path_LD=$lt_cv_path_LD
+ if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then
+ lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx
+ else
+ $as_unset lt_cv_prog_gnu_ld
+ fi
+ if test -n "${lt_cv_path_LDCXX+set}"; then
+ lt_cv_path_LD=$lt_cv_path_LDCXX
+ else
+ $as_unset lt_cv_path_LD
+ fi
+ test -z "${LDCXX+set}" || LD=$LDCXX
+ CC=${CXX-"c++"}
+ compiler=$CC
+ _LT_TAGVAR(compiler, $1)=$CC
+ _LT_CC_BASENAME([$compiler])
+
+ if test -n "$compiler"; then
+ # We don't want -fno-exception when compiling C++ code, so set the
+ # no_builtin_flag separately
+ if test "$GXX" = yes; then
+ _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin'
+ else
+ _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=
+ fi
+
+ if test "$GXX" = yes; then
+ # Set up default GNU C++ configuration
+
+ LT_PATH_LD
+
+ # Check if GNU C++ uses GNU ld as the underlying linker, since the
+ # archiving commands below assume that GNU ld is being used.
+ if test "$with_gnu_ld" = yes; then
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
+
+ # If archive_cmds runs LD, not CC, wlarc should be empty
+ # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to
+ # investigate it a little bit more. (MM)
+ wlarc='${wl}'
+
+ # ancient GNU ld didn't support --whole-archive et. al.
+ if eval "`$CC -print-prog-name=ld` --help 2>&1" |
+ $GREP 'no-whole-archive' > /dev/null; then
+ _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
+ else
+ _LT_TAGVAR(whole_archive_flag_spec, $1)=
+ fi
+ else
+ with_gnu_ld=no
+ wlarc=
+
+ # A generic and very simple default shared library creation
+ # command for GNU C++ for the case where it uses the native
+ # linker, instead of GNU ld. If possible, this setting should
+ # overridden to take advantage of the native linker features on
+ # the platform it is being used on.
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
+ fi
+
+ # Commands to make compiler produce verbose output that lists
+ # what "hidden" libraries, object files and flags are used when
+ # linking a shared library.
+ output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"'
+
+ else
+ GXX=no
+ with_gnu_ld=no
+ wlarc=
+ fi
+
+ # PORTME: fill in a description of your system's C++ link characteristics
+ AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries])
+ _LT_TAGVAR(ld_shlibs, $1)=yes
+ case $host_os in
+ aix3*)
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ aix[[4-9]]*)
+ if test "$host_cpu" = ia64; then
+ # On IA64, the linker does run time linking by default, so we don't
+ # have to do anything special.
+ aix_use_runtimelinking=no
+ exp_sym_flag='-Bexport'
+ no_entry_flag=""
+ else
+ aix_use_runtimelinking=no
+
+ # Test if we are trying to use run time linking or normal
+ # AIX style linking. If -brtl is somewhere in LDFLAGS, we
+ # need to do runtime linking.
+ case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*)
+ for ld_flag in $LDFLAGS; do
+ case $ld_flag in
+ *-brtl*)
+ aix_use_runtimelinking=yes
+ break
+ ;;
+ esac
+ done
+ ;;
+ esac
+
+ exp_sym_flag='-bexport'
+ no_entry_flag='-bnoentry'
+ fi
+
+ # When large executables or shared objects are built, AIX ld can
+ # have problems creating the table of contents. If linking a library
+ # or program results in "error TOC overflow" add -mminimal-toc to
+ # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not
+ # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
+
+ _LT_TAGVAR(archive_cmds, $1)=''
+ _LT_TAGVAR(hardcode_direct, $1)=yes
+ _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
+ _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
+ _LT_TAGVAR(link_all_deplibs, $1)=yes
+ _LT_TAGVAR(file_list_spec, $1)='${wl}-f,'
+
+ if test "$GXX" = yes; then
+ case $host_os in aix4.[[012]]|aix4.[[012]].*)
+ # We only want to do this on AIX 4.2 and lower, the check
+ # below for broken collect2 doesn't work under 4.3+
+ collect2name=`${CC} -print-prog-name=collect2`
+ if test -f "$collect2name" &&
+ strings "$collect2name" | $GREP resolve_lib_name >/dev/null
+ then
+ # We have reworked collect2
+ :
+ else
+ # We have old collect2
+ _LT_TAGVAR(hardcode_direct, $1)=unsupported
+ # It fails to find uninstalled libraries when the uninstalled
+ # path is not listed in the libpath. Setting hardcode_minus_L
+ # to unsupported forces relinking
+ _LT_TAGVAR(hardcode_minus_L, $1)=yes
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+ _LT_TAGVAR(hardcode_libdir_separator, $1)=
+ fi
+ esac
+ shared_flag='-shared'
+ if test "$aix_use_runtimelinking" = yes; then
+ shared_flag="$shared_flag "'${wl}-G'
+ fi
+ else
+ # not using gcc
+ if test "$host_cpu" = ia64; then
+ # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
+ # chokes on -Wl,-G. The following line is correct:
+ shared_flag='-G'
+ else
+ if test "$aix_use_runtimelinking" = yes; then
+ shared_flag='${wl}-G'
+ else
+ shared_flag='${wl}-bM:SRE'
+ fi
+ fi
+ fi
+
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-bexpall'
+ # It seems that -bexpall does not export symbols beginning with
+ # underscore (_), so it is better to generate a list of symbols to
+ # export.
+ _LT_TAGVAR(always_export_symbols, $1)=yes
+ if test "$aix_use_runtimelinking" = yes; then
+ # Warning - without using the other runtime loading flags (-brtl),
+ # -berok will link without error, but may produce a broken library.
+ _LT_TAGVAR(allow_undefined_flag, $1)='-berok'
+ # Determine the default libpath from the value encoded in an empty
+ # executable.
+ _LT_SYS_MODULE_PATH_AIX
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
+
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then $ECHO "X${wl}${allow_undefined_flag}" | $Xsed; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
+ else
+ if test "$host_cpu" = ia64; then
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib'
+ _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs"
+ _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols"
+ else
+ # Determine the default libpath from the value encoded in an
+ # empty executable.
+ _LT_SYS_MODULE_PATH_AIX
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
+ # Warning - without using the other run time loading flags,
+ # -berok will link without error, but may produce a broken library.
+ _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok'
+ _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok'
+ # Exported symbols can be pulled into shared objects from archives
+ _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience'
+ _LT_TAGVAR(archive_cmds_need_lc, $1)=yes
+ # This is similar to how AIX traditionally builds its shared
+ # libraries.
+ _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
+ fi
+ fi
+ ;;
+
+ beos*)
+ if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
+ _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
+ # Joseph Beckenbach <jrb3@best.com> says some releases of gcc
+ # support --undefined. This deserves some investigation. FIXME
+ _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ else
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ fi
+ ;;
+
+ chorus*)
+ case $cc_basename in
+ *)
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ esac
+ ;;
+
+ cygwin* | mingw* | pw32* | cegcc*)
+ # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless,
+ # as there is no search path for DLLs.
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+ _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
+ _LT_TAGVAR(always_export_symbols, $1)=no
+ _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
+
+ if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
+ # If the export-symbols file already is a .def file (1st line
+ # is EXPORTS), use it as is; otherwise, prepend...
+ _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
+ cp $export_symbols $output_objdir/$soname.def;
+ else
+ echo EXPORTS > $output_objdir/$soname.def;
+ cat $export_symbols >> $output_objdir/$soname.def;
+ fi~
+ $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
+ else
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ fi
+ ;;
+ darwin* | rhapsody*)
+ _LT_DARWIN_LINKER_FEATURES($1)
+ ;;
+
+ dgux*)
+ case $cc_basename in
+ ec++*)
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ ghcx*)
+ # Green Hills C++ Compiler
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ *)
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ esac
+ ;;
+
+ freebsd[[12]]*)
+ # C++ shared libraries reported to be fairly broken before
+ # switch to ELF
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+
+ freebsd-elf*)
+ _LT_TAGVAR(archive_cmds_need_lc, $1)=no
+ ;;
+
+ freebsd* | dragonfly*)
+ # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF
+ # conventions
+ _LT_TAGVAR(ld_shlibs, $1)=yes
+ ;;
+
+ gnu*)
+ ;;
+
+ hpux9*)
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
+ _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+ _LT_TAGVAR(hardcode_direct, $1)=yes
+ _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH,
+ # but as the default
+ # location of the library.
+
+ case $cc_basename in
+ CC*)
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ aCC*)
+ _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -b ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+ # Commands to make compiler produce verbose output that lists
+ # what "hidden" libraries, object files and flags are used when
+ # linking a shared library.
+ #
+ # There doesn't appear to be a way to prevent this compiler from
+ # explicitly linking system object files so we need to strip them
+ # from the output so that they don't get included in the library
+ # dependencies.
+ output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $EGREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed'
+ ;;
+ *)
+ if test "$GXX" = yes; then
+ _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared -nostdlib -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+ else
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ fi
+ ;;
+ esac
+ ;;
+
+ hpux10*|hpux11*)
+ if test $with_gnu_ld = no; then
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
+ _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+
+ case $host_cpu in
+ hppa*64*|ia64*)
+ ;;
+ *)
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+ ;;
+ esac
+ fi
+ case $host_cpu in
+ hppa*64*|ia64*)
+ _LT_TAGVAR(hardcode_direct, $1)=no
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ ;;
+ *)
+ _LT_TAGVAR(hardcode_direct, $1)=yes
+ _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
+ _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH,
+ # but as the default
+ # location of the library.
+ ;;
+ esac
+
+ case $cc_basename in
+ CC*)
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ aCC*)
+ case $host_cpu in
+ hppa*64*)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+ ;;
+ ia64*)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+ ;;
+ *)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+ ;;
+ esac
+ # Commands to make compiler produce verbose output that lists
+ # what "hidden" libraries, object files and flags are used when
+ # linking a shared library.
+ #
+ # There doesn't appear to be a way to prevent this compiler from
+ # explicitly linking system object files so we need to strip them
+ # from the output so that they don't get included in the library
+ # dependencies.
+ output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $GREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed'
+ ;;
+ *)
+ if test "$GXX" = yes; then
+ if test $with_gnu_ld = no; then
+ case $host_cpu in
+ hppa*64*)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+ ;;
+ ia64*)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+ ;;
+ *)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+ ;;
+ esac
+ fi
+ else
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ fi
+ ;;
+ esac
+ ;;
+
+ interix[[3-9]]*)
+ _LT_TAGVAR(hardcode_direct, $1)=no
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+ # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
+ # Instead, shared libraries are loaded at an image base (0x10000000 by
+ # default) and relocated if they conflict, which is a slow very memory
+ # consuming and fragmenting process. To avoid this, we pick a random,
+ # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
+ # time. Moving up from 0x10000000 also allows more sbrk(2) space.
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+ ;;
+ irix5* | irix6*)
+ case $cc_basename in
+ CC*)
+ # SGI C++
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
+
+ # Archives containing C++ object files must be created using
+ # "CC -ar", where "CC" is the IRIX C++ compiler. This is
+ # necessary to make sure instantiated templates are included
+ # in the archive.
+ _LT_TAGVAR(old_archive_cmds, $1)='$CC -ar -WR,-u -o $oldlib $oldobjs'
+ ;;
+ *)
+ if test "$GXX" = yes; then
+ if test "$with_gnu_ld" = no; then
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+ else
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` -o $lib'
+ fi
+ fi
+ _LT_TAGVAR(link_all_deplibs, $1)=yes
+ ;;
+ esac
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+ _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+ _LT_TAGVAR(inherit_rpath, $1)=yes
+ ;;
+
+ linux* | k*bsd*-gnu)
+ case $cc_basename in
+ KCC*)
+ # Kuck and Associates, Inc. (KAI) C++ Compiler
+
+ # KCC will only create a shared library if the output file
+ # ends with ".so" (or ".sl" for HP-UX), so rename the library
+ # to its proper name (with version) after linking.
+ _LT_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib ${wl}-retain-symbols-file,$export_symbols; mv \$templib $lib'
+ # Commands to make compiler produce verbose output that lists
+ # what "hidden" libraries, object files and flags are used when
+ # linking a shared library.
+ #
+ # There doesn't appear to be a way to prevent this compiler from
+ # explicitly linking system object files so we need to strip them
+ # from the output so that they don't get included in the library
+ # dependencies.
+ output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | $GREP "ld"`; rm -f libconftest$shared_ext; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed'
+
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
+
+ # Archives containing C++ object files must be created using
+ # "CC -Bstatic", where "CC" is the KAI C++ compiler.
+ _LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs'
+ ;;
+ icpc* | ecpc* )
+ # Intel C++
+ with_gnu_ld=yes
+ # version 8.0 and above of icpc choke on multiply defined symbols
+ # if we add $predep_objects and $postdep_objects, however 7.1 and
+ # earlier do not add the objects themselves.
+ case `$CC -V 2>&1` in
+ *"Version 7."*)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+ ;;
+ *) # Version 8.0 or newer
+ tmp_idyn=
+ case $host_cpu in
+ ia64*) tmp_idyn=' -i_dynamic';;
+ esac
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+ ;;
+ esac
+ _LT_TAGVAR(archive_cmds_need_lc, $1)=no
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
+ _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive'
+ ;;
+ pgCC* | pgcpp*)
+ # Portland Group C++ compiler
+ case `$CC -V` in
+ *pgCC\ [[1-5]]* | *pgcpp\ [[1-5]]*)
+ _LT_TAGVAR(prelink_cmds, $1)='tpldir=Template.dir~
+ rm -rf $tpldir~
+ $CC --prelink_objects --instantiation_dir $tpldir $objs $libobjs $compile_deplibs~
+ compile_command="$compile_command `find $tpldir -name \*.o | $NL2SP`"'
+ _LT_TAGVAR(old_archive_cmds, $1)='tpldir=Template.dir~
+ rm -rf $tpldir~
+ $CC --prelink_objects --instantiation_dir $tpldir $oldobjs$old_deplibs~
+ $AR $AR_FLAGS $oldlib$oldobjs$old_deplibs `find $tpldir -name \*.o | $NL2SP`~
+ $RANLIB $oldlib'
+ _LT_TAGVAR(archive_cmds, $1)='tpldir=Template.dir~
+ rm -rf $tpldir~
+ $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~
+ $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='tpldir=Template.dir~
+ rm -rf $tpldir~
+ $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~
+ $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib'
+ ;;
+ *) # Version 6 will use weak symbols
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib'
+ ;;
+ esac
+
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir'
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
+ _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive'
+ ;;
+ cxx*)
+ # Compaq C++
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib ${wl}-retain-symbols-file $wl$export_symbols'
+
+ runpath_var=LD_RUN_PATH
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
+ _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+
+ # Commands to make compiler produce verbose output that lists
+ # what "hidden" libraries, object files and flags are used when
+ # linking a shared library.
+ #
+ # There doesn't appear to be a way to prevent this compiler from
+ # explicitly linking system object files so we need to strip them
+ # from the output so that they don't get included in the library
+ # dependencies.
+ output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld"`; templist=`$ECHO "X$templist" | $Xsed -e "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed'
+ ;;
+ xl*)
+ # IBM XL 8.0 on PPC, with GNU ld
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ if test "x$supports_anon_versioning" = xyes; then
+ _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~
+ cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
+ echo "local: *; };" >> $output_objdir/$libname.ver~
+ $CC -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
+ fi
+ ;;
+ *)
+ case `$CC -V 2>&1 | sed 5q` in
+ *Sun\ C*)
+ # Sun C++ 5.9
+ _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file ${wl}$export_symbols'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
+ _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive'
+ _LT_TAGVAR(compiler_needs_object, $1)=yes
+
+ # Not sure whether something based on
+ # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1
+ # would be better.
+ output_verbose_link_cmd='echo'
+
+ # Archives containing C++ object files must be created using
+ # "CC -xar", where "CC" is the Sun C++ compiler. This is
+ # necessary to make sure instantiated templates are included
+ # in the archive.
+ _LT_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs'
+ ;;
+ esac
+ ;;
+ esac
+ ;;
+
+ lynxos*)
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+
+ m88k*)
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+
+ mvs*)
+ case $cc_basename in
+ cxx*)
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ *)
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ esac
+ ;;
+
+ netbsd*)
+ if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
+ _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags'
+ wlarc=
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
+ _LT_TAGVAR(hardcode_direct, $1)=yes
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ fi
+ # Workaround some broken pre-1.5 toolchains
+ output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"'
+ ;;
+
+ *nto* | *qnx*)
+ _LT_TAGVAR(ld_shlibs, $1)=yes
+ ;;
+
+ openbsd2*)
+ # C++ shared libraries are fairly broken
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+
+ openbsd*)
+ if test -f /usr/libexec/ld.so; then
+ _LT_TAGVAR(hardcode_direct, $1)=yes
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
+ if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file,$export_symbols -o $lib'
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+ _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
+ fi
+ output_verbose_link_cmd=echo
+ else
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ fi
+ ;;
+
+ osf3* | osf4* | osf5*)
+ case $cc_basename in
+ KCC*)
+ # Kuck and Associates, Inc. (KAI) C++ Compiler
+
+ # KCC will only create a shared library if the output file
+ # ends with ".so" (or ".sl" for HP-UX), so rename the library
+ # to its proper name (with version) after linking.
+ _LT_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo "$lib" | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
+
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
+ _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+
+ # Archives containing C++ object files must be created using
+ # the KAI C++ compiler.
+ case $host in
+ osf3*) _LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' ;;
+ *) _LT_TAGVAR(old_archive_cmds, $1)='$CC -o $oldlib $oldobjs' ;;
+ esac
+ ;;
+ RCC*)
+ # Rational C++ 2.4.1
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ cxx*)
+ case $host in
+ osf3*)
+ _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && $ECHO "X${wl}-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+ ;;
+ *)
+ _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~
+ echo "-hidden">> $lib.exp~
+ $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname ${wl}-input ${wl}$lib.exp `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib~
+ $RM $lib.exp'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
+ ;;
+ esac
+
+ _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+
+ # Commands to make compiler produce verbose output that lists
+ # what "hidden" libraries, object files and flags are used when
+ # linking a shared library.
+ #
+ # There doesn't appear to be a way to prevent this compiler from
+ # explicitly linking system object files so we need to strip them
+ # from the output so that they don't get included in the library
+ # dependencies.
+ output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld" | $GREP -v "ld:"`; templist=`$ECHO "X$templist" | $Xsed -e "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed'
+ ;;
+ *)
+ if test "$GXX" = yes && test "$with_gnu_ld" = no; then
+ _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
+ case $host in
+ osf3*)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+ ;;
+ *)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+ ;;
+ esac
+
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+ _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+
+ # Commands to make compiler produce verbose output that lists
+ # what "hidden" libraries, object files and flags are used when
+ # linking a shared library.
+ output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"'
+
+ else
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ fi
+ ;;
+ esac
+ ;;
+
+ psos*)
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+
+ sunos4*)
+ case $cc_basename in
+ CC*)
+ # Sun C++ 4.x
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ lcc*)
+ # Lucid
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ *)
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ esac
+ ;;
+
+ solaris*)
+ case $cc_basename in
+ CC*)
+ # Sun C++ 4.2, 5.x and Centerline C++
+ _LT_TAGVAR(archive_cmds_need_lc,$1)=yes
+ _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
+ $CC -G${allow_undefined_flag} ${wl}-M ${wl}$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
+
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ case $host_os in
+ solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
+ *)
+ # The compiler driver will combine and reorder linker options,
+ # but understands `-z linker_flag'.
+ # Supported since Solaris 2.6 (maybe 2.5.1?)
+ _LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract'
+ ;;
+ esac
+ _LT_TAGVAR(link_all_deplibs, $1)=yes
+
+ output_verbose_link_cmd='echo'
+
+ # Archives containing C++ object files must be created using
+ # "CC -xar", where "CC" is the Sun C++ compiler. This is
+ # necessary to make sure instantiated templates are included
+ # in the archive.
+ _LT_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs'
+ ;;
+ gcx*)
+ # Green Hills C++ Compiler
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
+
+ # The C++ compiler must be used to create the archive.
+ _LT_TAGVAR(old_archive_cmds, $1)='$CC $LDFLAGS -archive -o $oldlib $oldobjs'
+ ;;
+ *)
+ # GNU C++ compiler with Solaris linker
+ if test "$GXX" = yes && test "$with_gnu_ld" = no; then
+ _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-z ${wl}defs'
+ if $CC --version | $GREP -v '^2\.7' > /dev/null; then
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
+ $CC -shared -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
+
+ # Commands to make compiler produce verbose output that lists
+ # what "hidden" libraries, object files and flags are used when
+ # linking a shared library.
+ output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"'
+ else
+ # g++ 2.7 appears to require `-G' NOT `-shared' on this
+ # platform.
+ _LT_TAGVAR(archive_cmds, $1)='$CC -G -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
+ $CC -G -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
+
+ # Commands to make compiler produce verbose output that lists
+ # what "hidden" libraries, object files and flags are used when
+ # linking a shared library.
+ output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"'
+ fi
+
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $wl$libdir'
+ case $host_os in
+ solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
+ *)
+ _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
+ ;;
+ esac
+ fi
+ ;;
+ esac
+ ;;
+
+ sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*)
+ _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
+ _LT_TAGVAR(archive_cmds_need_lc, $1)=no
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ runpath_var='LD_RUN_PATH'
+
+ case $cc_basename in
+ CC*)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ *)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ esac
+ ;;
+
+ sysv5* | sco3.2v5* | sco5v6*)
+ # Note: We can NOT use -z defs as we might desire, because we do not
+ # link with -lc, and that would cause any symbols used from libc to
+ # always be unresolved, which means just about no library would
+ # ever link correctly. If we're not using GNU ld we use -z text
+ # though, which does catch some bad symbols but isn't as heavy-handed
+ # as -z defs.
+ _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
+ _LT_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs'
+ _LT_TAGVAR(archive_cmds_need_lc, $1)=no
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R,$libdir'
+ _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
+ _LT_TAGVAR(link_all_deplibs, $1)=yes
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport'
+ runpath_var='LD_RUN_PATH'
+
+ case $cc_basename in
+ CC*)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ *)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ esac
+ ;;
+
+ tandem*)
+ case $cc_basename in
+ NCC*)
+ # NonStop-UX NCC 3.20
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ *)
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ esac
+ ;;
+
+ vxworks*)
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+
+ *)
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ esac
+
+ AC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)])
+ test "$_LT_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no
+
+ _LT_TAGVAR(GCC, $1)="$GXX"
+ _LT_TAGVAR(LD, $1)="$LD"
+
+ ## CAVEAT EMPTOR:
+ ## There is no encapsulation within the following macros, do not change
+ ## the running order or otherwise move them around unless you know exactly
+ ## what you are doing...
+ _LT_SYS_HIDDEN_LIBDEPS($1)
+ _LT_COMPILER_PIC($1)
+ _LT_COMPILER_C_O($1)
+ _LT_COMPILER_FILE_LOCKS($1)
+ _LT_LINKER_SHLIBS($1)
+ _LT_SYS_DYNAMIC_LINKER($1)
+ _LT_LINKER_HARDCODE_LIBPATH($1)
+
+ _LT_CONFIG($1)
+ fi # test -n "$compiler"
+
+ CC=$lt_save_CC
+ LDCXX=$LD
+ LD=$lt_save_LD
+ GCC=$lt_save_GCC
+ with_gnu_ld=$lt_save_with_gnu_ld
+ lt_cv_path_LDCXX=$lt_cv_path_LD
+ lt_cv_path_LD=$lt_save_path_LD
+ lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld
+ lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld
+fi # test "$_lt_caught_CXX_error" != yes
+
+AC_LANG_POP
+])# _LT_LANG_CXX_CONFIG
+
+
+# _LT_SYS_HIDDEN_LIBDEPS([TAGNAME])
+# ---------------------------------
+# Figure out "hidden" library dependencies from verbose
+# compiler output when linking a shared library.
+# Parse the compiler output and extract the necessary
+# objects, libraries and library flags.
+m4_defun([_LT_SYS_HIDDEN_LIBDEPS],
+[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
+# Dependencies to place before and after the object being linked:
+_LT_TAGVAR(predep_objects, $1)=
+_LT_TAGVAR(postdep_objects, $1)=
+_LT_TAGVAR(predeps, $1)=
+_LT_TAGVAR(postdeps, $1)=
+_LT_TAGVAR(compiler_lib_search_path, $1)=
+
+dnl we can't use the lt_simple_compile_test_code here,
+dnl because it contains code intended for an executable,
+dnl not a library. It's possible we should let each
+dnl tag define a new lt_????_link_test_code variable,
+dnl but it's only used here...
+m4_if([$1], [], [cat > conftest.$ac_ext <<_LT_EOF
+int a;
+void foo (void) { a = 0; }
+_LT_EOF
+], [$1], [CXX], [cat > conftest.$ac_ext <<_LT_EOF
+class Foo
+{
+public:
+ Foo (void) { a = 0; }
+private:
+ int a;
+};
+_LT_EOF
+], [$1], [F77], [cat > conftest.$ac_ext <<_LT_EOF
+ subroutine foo
+ implicit none
+ integer*4 a
+ a=0
+ return
+ end
+_LT_EOF
+], [$1], [FC], [cat > conftest.$ac_ext <<_LT_EOF
+ subroutine foo
+ implicit none
+ integer a
+ a=0
+ return
+ end
+_LT_EOF
+], [$1], [GCJ], [cat > conftest.$ac_ext <<_LT_EOF
+public class foo {
+ private int a;
+ public void bar (void) {
+ a = 0;
+ }
+};
+_LT_EOF
+])
+dnl Parse the compiler output and extract the necessary
+dnl objects, libraries and library flags.
+if AC_TRY_EVAL(ac_compile); then
+ # Parse the compiler output and extract the necessary
+ # objects, libraries and library flags.
+
+ # Sentinel used to keep track of whether or not we are before
+ # the conftest object file.
+ pre_test_object_deps_done=no
+
+ for p in `eval "$output_verbose_link_cmd"`; do
+ case $p in
+
+ -L* | -R* | -l*)
+ # Some compilers place space between "-{L,R}" and the path.
+ # Remove the space.
+ if test $p = "-L" ||
+ test $p = "-R"; then
+ prev=$p
+ continue
+ else
+ prev=
+ fi
+
+ if test "$pre_test_object_deps_done" = no; then
+ case $p in
+ -L* | -R*)
+ # Internal compiler library paths should come after those
+ # provided the user. The postdeps already come after the
+ # user supplied libs so there is no need to process them.
+ if test -z "$_LT_TAGVAR(compiler_lib_search_path, $1)"; then
+ _LT_TAGVAR(compiler_lib_search_path, $1)="${prev}${p}"
+ else
+ _LT_TAGVAR(compiler_lib_search_path, $1)="${_LT_TAGVAR(compiler_lib_search_path, $1)} ${prev}${p}"
+ fi
+ ;;
+ # The "-l" case would never come before the object being
+ # linked, so don't bother handling this case.
+ esac
+ else
+ if test -z "$_LT_TAGVAR(postdeps, $1)"; then
+ _LT_TAGVAR(postdeps, $1)="${prev}${p}"
+ else
+ _LT_TAGVAR(postdeps, $1)="${_LT_TAGVAR(postdeps, $1)} ${prev}${p}"
+ fi
+ fi
+ ;;
+
+ *.$objext)
+ # This assumes that the test object file only shows up
+ # once in the compiler output.
+ if test "$p" = "conftest.$objext"; then
+ pre_test_object_deps_done=yes
+ continue
+ fi
+
+ if test "$pre_test_object_deps_done" = no; then
+ if test -z "$_LT_TAGVAR(predep_objects, $1)"; then
+ _LT_TAGVAR(predep_objects, $1)="$p"
+ else
+ _LT_TAGVAR(predep_objects, $1)="$_LT_TAGVAR(predep_objects, $1) $p"
+ fi
+ else
+ if test -z "$_LT_TAGVAR(postdep_objects, $1)"; then
+ _LT_TAGVAR(postdep_objects, $1)="$p"
+ else
+ _LT_TAGVAR(postdep_objects, $1)="$_LT_TAGVAR(postdep_objects, $1) $p"
+ fi
+ fi
+ ;;
+
+ *) ;; # Ignore the rest.
+
+ esac
+ done
+
+ # Clean up.
+ rm -f a.out a.exe
+else
+ echo "libtool.m4: error: problem compiling $1 test program"
+fi
+
+$RM -f confest.$objext
+
+# PORTME: override above test on systems where it is broken
+m4_if([$1], [CXX],
+[case $host_os in
+interix[[3-9]]*)
+ # Interix 3.5 installs completely hosed .la files for C++, so rather than
+ # hack all around it, let's just trust "g++" to DTRT.
+ _LT_TAGVAR(predep_objects,$1)=
+ _LT_TAGVAR(postdep_objects,$1)=
+ _LT_TAGVAR(postdeps,$1)=
+ ;;
+
+linux*)
+ case `$CC -V 2>&1 | sed 5q` in
+ *Sun\ C*)
+ # Sun C++ 5.9
+
+ # The more standards-conforming stlport4 library is
+ # incompatible with the Cstd library. Avoid specifying
+ # it if it's in CXXFLAGS. Ignore libCrun as
+ # -library=stlport4 depends on it.
+ case " $CXX $CXXFLAGS " in
+ *" -library=stlport4 "*)
+ solaris_use_stlport4=yes
+ ;;
+ esac
+
+ if test "$solaris_use_stlport4" != yes; then
+ _LT_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun'
+ fi
+ ;;
+ esac
+ ;;
+
+solaris*)
+ case $cc_basename in
+ CC*)
+ # The more standards-conforming stlport4 library is
+ # incompatible with the Cstd library. Avoid specifying
+ # it if it's in CXXFLAGS. Ignore libCrun as
+ # -library=stlport4 depends on it.
+ case " $CXX $CXXFLAGS " in
+ *" -library=stlport4 "*)
+ solaris_use_stlport4=yes
+ ;;
+ esac
+
+ # Adding this requires a known-good setup of shared libraries for
+ # Sun compiler versions before 5.6, else PIC objects from an old
+ # archive will be linked into the output, leading to subtle bugs.
+ if test "$solaris_use_stlport4" != yes; then
+ _LT_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun'
+ fi
+ ;;
+ esac
+ ;;
+esac
+])
+
+case " $_LT_TAGVAR(postdeps, $1) " in
+*" -lc "*) _LT_TAGVAR(archive_cmds_need_lc, $1)=no ;;
+esac
+ _LT_TAGVAR(compiler_lib_search_dirs, $1)=
+if test -n "${_LT_TAGVAR(compiler_lib_search_path, $1)}"; then
+ _LT_TAGVAR(compiler_lib_search_dirs, $1)=`echo " ${_LT_TAGVAR(compiler_lib_search_path, $1)}" | ${SED} -e 's! -L! !g' -e 's!^ !!'`
+fi
+_LT_TAGDECL([], [compiler_lib_search_dirs], [1],
+ [The directories searched by this compiler when creating a shared library])
+_LT_TAGDECL([], [predep_objects], [1],
+ [Dependencies to place before and after the objects being linked to
+ create a shared library])
+_LT_TAGDECL([], [postdep_objects], [1])
+_LT_TAGDECL([], [predeps], [1])
+_LT_TAGDECL([], [postdeps], [1])
+_LT_TAGDECL([], [compiler_lib_search_path], [1],
+ [The library search path used internally by the compiler when linking
+ a shared library])
+])# _LT_SYS_HIDDEN_LIBDEPS
+
+
+# _LT_PROG_F77
+# ------------
+# Since AC_PROG_F77 is broken, in that it returns the empty string
+# if there is no fortran compiler, we have our own version here.
+m4_defun([_LT_PROG_F77],
+[
+pushdef([AC_MSG_ERROR], [_lt_disable_F77=yes])
+AC_PROG_F77
+if test -z "$F77" || test "X$F77" = "Xno"; then
+ _lt_disable_F77=yes
+fi
+popdef([AC_MSG_ERROR])
+])# _LT_PROG_F77
+
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([_LT_PROG_F77], [])
+
+
+# _LT_LANG_F77_CONFIG([TAG])
+# --------------------------
+# Ensure that the configuration variables for a Fortran 77 compiler are
+# suitably defined. These variables are subsequently used by _LT_CONFIG
+# to write the compiler configuration to `libtool'.
+m4_defun([_LT_LANG_F77_CONFIG],
+[AC_REQUIRE([_LT_PROG_F77])dnl
+AC_LANG_PUSH(Fortran 77)
+
+_LT_TAGVAR(archive_cmds_need_lc, $1)=no
+_LT_TAGVAR(allow_undefined_flag, $1)=
+_LT_TAGVAR(always_export_symbols, $1)=no
+_LT_TAGVAR(archive_expsym_cmds, $1)=
+_LT_TAGVAR(export_dynamic_flag_spec, $1)=
+_LT_TAGVAR(hardcode_direct, $1)=no
+_LT_TAGVAR(hardcode_direct_absolute, $1)=no
+_LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
+_LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)=
+_LT_TAGVAR(hardcode_libdir_separator, $1)=
+_LT_TAGVAR(hardcode_minus_L, $1)=no
+_LT_TAGVAR(hardcode_automatic, $1)=no
+_LT_TAGVAR(inherit_rpath, $1)=no
+_LT_TAGVAR(module_cmds, $1)=
+_LT_TAGVAR(module_expsym_cmds, $1)=
+_LT_TAGVAR(link_all_deplibs, $1)=unknown
+_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
+_LT_TAGVAR(no_undefined_flag, $1)=
+_LT_TAGVAR(whole_archive_flag_spec, $1)=
+_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
+
+# Source file extension for f77 test sources.
+ac_ext=f
+
+# Object file extension for compiled f77 test sources.
+objext=o
+_LT_TAGVAR(objext, $1)=$objext
+
+# No sense in running all these tests if we already determined that
+# the F77 compiler isn't working. Some variables (like enable_shared)
+# are currently assumed to apply to all compilers on this platform,
+# and will be corrupted by setting them based on a non-working compiler.
+if test "$_lt_disable_F77" != yes; then
+ # Code to be used in simple compile tests
+ lt_simple_compile_test_code="\
+ subroutine t
+ return
+ end
+"
+
+ # Code to be used in simple link tests
+ lt_simple_link_test_code="\
+ program t
+ end
+"
+
+ # ltmain only uses $CC for tagged configurations so make sure $CC is set.
+ _LT_TAG_COMPILER
+
+ # save warnings/boilerplate of simple test code
+ _LT_COMPILER_BOILERPLATE
+ _LT_LINKER_BOILERPLATE
+
+ # Allow CC to be a program name with arguments.
+ lt_save_CC="$CC"
+ lt_save_GCC=$GCC
+ CC=${F77-"f77"}
+ compiler=$CC
+ _LT_TAGVAR(compiler, $1)=$CC
+ _LT_CC_BASENAME([$compiler])
+ GCC=$G77
+ if test -n "$compiler"; then
+ AC_MSG_CHECKING([if libtool supports shared libraries])
+ AC_MSG_RESULT([$can_build_shared])
+
+ AC_MSG_CHECKING([whether to build shared libraries])
+ test "$can_build_shared" = "no" && enable_shared=no
+
+ # On AIX, shared libraries and static libraries use the same namespace, and
+ # are all built from PIC.
+ case $host_os in
+ aix3*)
+ test "$enable_shared" = yes && enable_static=no
+ if test -n "$RANLIB"; then
+ archive_cmds="$archive_cmds~\$RANLIB \$lib"
+ postinstall_cmds='$RANLIB $lib'
+ fi
+ ;;
+ aix[[4-9]]*)
+ if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
+ test "$enable_shared" = yes && enable_static=no
+ fi
+ ;;
+ esac
+ AC_MSG_RESULT([$enable_shared])
+
+ AC_MSG_CHECKING([whether to build static libraries])
+ # Make sure either enable_shared or enable_static is yes.
+ test "$enable_shared" = yes || enable_static=yes
+ AC_MSG_RESULT([$enable_static])
+
+ _LT_TAGVAR(GCC, $1)="$G77"
+ _LT_TAGVAR(LD, $1)="$LD"
+
+ ## CAVEAT EMPTOR:
+ ## There is no encapsulation within the following macros, do not change
+ ## the running order or otherwise move them around unless you know exactly
+ ## what you are doing...
+ _LT_COMPILER_PIC($1)
+ _LT_COMPILER_C_O($1)
+ _LT_COMPILER_FILE_LOCKS($1)
+ _LT_LINKER_SHLIBS($1)
+ _LT_SYS_DYNAMIC_LINKER($1)
+ _LT_LINKER_HARDCODE_LIBPATH($1)
+
+ _LT_CONFIG($1)
+ fi # test -n "$compiler"
+
+ GCC=$lt_save_GCC
+ CC="$lt_save_CC"
+fi # test "$_lt_disable_F77" != yes
+
+AC_LANG_POP
+])# _LT_LANG_F77_CONFIG
+
+
+# _LT_PROG_FC
+# -----------
+# Since AC_PROG_FC is broken, in that it returns the empty string
+# if there is no fortran compiler, we have our own version here.
+m4_defun([_LT_PROG_FC],
+[
+pushdef([AC_MSG_ERROR], [_lt_disable_FC=yes])
+AC_PROG_FC
+if test -z "$FC" || test "X$FC" = "Xno"; then
+ _lt_disable_FC=yes
+fi
+popdef([AC_MSG_ERROR])
+])# _LT_PROG_FC
+
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([_LT_PROG_FC], [])
+
+
+# _LT_LANG_FC_CONFIG([TAG])
+# -------------------------
+# Ensure that the configuration variables for a Fortran compiler are
+# suitably defined. These variables are subsequently used by _LT_CONFIG
+# to write the compiler configuration to `libtool'.
+m4_defun([_LT_LANG_FC_CONFIG],
+[AC_REQUIRE([_LT_PROG_FC])dnl
+AC_LANG_PUSH(Fortran)
+
+_LT_TAGVAR(archive_cmds_need_lc, $1)=no
+_LT_TAGVAR(allow_undefined_flag, $1)=
+_LT_TAGVAR(always_export_symbols, $1)=no
+_LT_TAGVAR(archive_expsym_cmds, $1)=
+_LT_TAGVAR(export_dynamic_flag_spec, $1)=
+_LT_TAGVAR(hardcode_direct, $1)=no
+_LT_TAGVAR(hardcode_direct_absolute, $1)=no
+_LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
+_LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)=
+_LT_TAGVAR(hardcode_libdir_separator, $1)=
+_LT_TAGVAR(hardcode_minus_L, $1)=no
+_LT_TAGVAR(hardcode_automatic, $1)=no
+_LT_TAGVAR(inherit_rpath, $1)=no
+_LT_TAGVAR(module_cmds, $1)=
+_LT_TAGVAR(module_expsym_cmds, $1)=
+_LT_TAGVAR(link_all_deplibs, $1)=unknown
+_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
+_LT_TAGVAR(no_undefined_flag, $1)=
+_LT_TAGVAR(whole_archive_flag_spec, $1)=
+_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
+
+# Source file extension for fc test sources.
+ac_ext=${ac_fc_srcext-f}
+
+# Object file extension for compiled fc test sources.
+objext=o
+_LT_TAGVAR(objext, $1)=$objext
+
+# No sense in running all these tests if we already determined that
+# the FC compiler isn't working. Some variables (like enable_shared)
+# are currently assumed to apply to all compilers on this platform,
+# and will be corrupted by setting them based on a non-working compiler.
+if test "$_lt_disable_FC" != yes; then
+ # Code to be used in simple compile tests
+ lt_simple_compile_test_code="\
+ subroutine t
+ return
+ end
+"
+
+ # Code to be used in simple link tests
+ lt_simple_link_test_code="\
+ program t
+ end
+"
+
+ # ltmain only uses $CC for tagged configurations so make sure $CC is set.
+ _LT_TAG_COMPILER
+
+ # save warnings/boilerplate of simple test code
+ _LT_COMPILER_BOILERPLATE
+ _LT_LINKER_BOILERPLATE
+
+ # Allow CC to be a program name with arguments.
+ lt_save_CC="$CC"
+ lt_save_GCC=$GCC
+ CC=${FC-"f95"}
+ compiler=$CC
+ GCC=$ac_cv_fc_compiler_gnu
+
+ _LT_TAGVAR(compiler, $1)=$CC
+ _LT_CC_BASENAME([$compiler])
+
+ if test -n "$compiler"; then
+ AC_MSG_CHECKING([if libtool supports shared libraries])
+ AC_MSG_RESULT([$can_build_shared])
+
+ AC_MSG_CHECKING([whether to build shared libraries])
+ test "$can_build_shared" = "no" && enable_shared=no
+
+ # On AIX, shared libraries and static libraries use the same namespace, and
+ # are all built from PIC.
+ case $host_os in
+ aix3*)
+ test "$enable_shared" = yes && enable_static=no
+ if test -n "$RANLIB"; then
+ archive_cmds="$archive_cmds~\$RANLIB \$lib"
+ postinstall_cmds='$RANLIB $lib'
+ fi
+ ;;
+ aix[[4-9]]*)
+ if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
+ test "$enable_shared" = yes && enable_static=no
+ fi
+ ;;
+ esac
+ AC_MSG_RESULT([$enable_shared])
+
+ AC_MSG_CHECKING([whether to build static libraries])
+ # Make sure either enable_shared or enable_static is yes.
+ test "$enable_shared" = yes || enable_static=yes
+ AC_MSG_RESULT([$enable_static])
+
+ _LT_TAGVAR(GCC, $1)="$ac_cv_fc_compiler_gnu"
+ _LT_TAGVAR(LD, $1)="$LD"
+
+ ## CAVEAT EMPTOR:
+ ## There is no encapsulation within the following macros, do not change
+ ## the running order or otherwise move them around unless you know exactly
+ ## what you are doing...
+ _LT_SYS_HIDDEN_LIBDEPS($1)
+ _LT_COMPILER_PIC($1)
+ _LT_COMPILER_C_O($1)
+ _LT_COMPILER_FILE_LOCKS($1)
+ _LT_LINKER_SHLIBS($1)
+ _LT_SYS_DYNAMIC_LINKER($1)
+ _LT_LINKER_HARDCODE_LIBPATH($1)
+
+ _LT_CONFIG($1)
+ fi # test -n "$compiler"
+
+ GCC=$lt_save_GCC
+ CC="$lt_save_CC"
+fi # test "$_lt_disable_FC" != yes
+
+AC_LANG_POP
+])# _LT_LANG_FC_CONFIG
+
+
+# _LT_LANG_GCJ_CONFIG([TAG])
+# --------------------------
+# Ensure that the configuration variables for the GNU Java Compiler compiler
+# are suitably defined. These variables are subsequently used by _LT_CONFIG
+# to write the compiler configuration to `libtool'.
+m4_defun([_LT_LANG_GCJ_CONFIG],
+[AC_REQUIRE([LT_PROG_GCJ])dnl
+AC_LANG_SAVE
+
+# Source file extension for Java test sources.
+ac_ext=java
+
+# Object file extension for compiled Java test sources.
+objext=o
+_LT_TAGVAR(objext, $1)=$objext
+
+# Code to be used in simple compile tests
+lt_simple_compile_test_code="class foo {}"
+
+# Code to be used in simple link tests
+lt_simple_link_test_code='public class conftest { public static void main(String[[]] argv) {}; }'
+
+# ltmain only uses $CC for tagged configurations so make sure $CC is set.
+_LT_TAG_COMPILER
+
+# save warnings/boilerplate of simple test code
+_LT_COMPILER_BOILERPLATE
+_LT_LINKER_BOILERPLATE
+
+# Allow CC to be a program name with arguments.
+lt_save_CC="$CC"
+lt_save_GCC=$GCC
+GCC=yes
+CC=${GCJ-"gcj"}
+compiler=$CC
+_LT_TAGVAR(compiler, $1)=$CC
+_LT_TAGVAR(LD, $1)="$LD"
+_LT_CC_BASENAME([$compiler])
+
+# GCJ did not exist at the time GCC didn't implicitly link libc in.
+_LT_TAGVAR(archive_cmds_need_lc, $1)=no
+
+_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
+
+## CAVEAT EMPTOR:
+## There is no encapsulation within the following macros, do not change
+## the running order or otherwise move them around unless you know exactly
+## what you are doing...
+if test -n "$compiler"; then
+ _LT_COMPILER_NO_RTTI($1)
+ _LT_COMPILER_PIC($1)
+ _LT_COMPILER_C_O($1)
+ _LT_COMPILER_FILE_LOCKS($1)
+ _LT_LINKER_SHLIBS($1)
+ _LT_LINKER_HARDCODE_LIBPATH($1)
+
+ _LT_CONFIG($1)
+fi
+
+AC_LANG_RESTORE
+
+GCC=$lt_save_GCC
+CC="$lt_save_CC"
+])# _LT_LANG_GCJ_CONFIG
+
+
+# _LT_LANG_RC_CONFIG([TAG])
+# -------------------------
+# Ensure that the configuration variables for the Windows resource compiler
+# are suitably defined. These variables are subsequently used by _LT_CONFIG
+# to write the compiler configuration to `libtool'.
+m4_defun([_LT_LANG_RC_CONFIG],
+[AC_REQUIRE([LT_PROG_RC])dnl
+AC_LANG_SAVE
+
+# Source file extension for RC test sources.
+ac_ext=rc
+
+# Object file extension for compiled RC test sources.
+objext=o
+_LT_TAGVAR(objext, $1)=$objext
+
+# Code to be used in simple compile tests
+lt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }'
+
+# Code to be used in simple link tests
+lt_simple_link_test_code="$lt_simple_compile_test_code"
+
+# ltmain only uses $CC for tagged configurations so make sure $CC is set.
+_LT_TAG_COMPILER
+
+# save warnings/boilerplate of simple test code
+_LT_COMPILER_BOILERPLATE
+_LT_LINKER_BOILERPLATE
+
+# Allow CC to be a program name with arguments.
+lt_save_CC="$CC"
+lt_save_GCC=$GCC
+GCC=
+CC=${RC-"windres"}
+compiler=$CC
+_LT_TAGVAR(compiler, $1)=$CC
+_LT_CC_BASENAME([$compiler])
+_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes
+
+if test -n "$compiler"; then
+ :
+ _LT_CONFIG($1)
+fi
+
+GCC=$lt_save_GCC
+AC_LANG_RESTORE
+CC="$lt_save_CC"
+])# _LT_LANG_RC_CONFIG
+
+
+# LT_PROG_GCJ
+# -----------
+AC_DEFUN([LT_PROG_GCJ],
+[m4_ifdef([AC_PROG_GCJ], [AC_PROG_GCJ],
+ [m4_ifdef([A][M_PROG_GCJ], [A][M_PROG_GCJ],
+ [AC_CHECK_TOOL(GCJ, gcj,)
+ test "x${GCJFLAGS+set}" = xset || GCJFLAGS="-g -O2"
+ AC_SUBST(GCJFLAGS)])])[]dnl
+])
+
+# Old name:
+AU_ALIAS([LT_AC_PROG_GCJ], [LT_PROG_GCJ])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([LT_AC_PROG_GCJ], [])
+
+
+# LT_PROG_RC
+# ----------
+AC_DEFUN([LT_PROG_RC],
+[AC_CHECK_TOOL(RC, windres,)
+])
+
+# Old name:
+AU_ALIAS([LT_AC_PROG_RC], [LT_PROG_RC])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([LT_AC_PROG_RC], [])
+
+
+# _LT_DECL_EGREP
+# --------------
+# If we don't have a new enough Autoconf to choose the best grep
+# available, choose the one first in the user's PATH.
+m4_defun([_LT_DECL_EGREP],
+[AC_REQUIRE([AC_PROG_EGREP])dnl
+AC_REQUIRE([AC_PROG_FGREP])dnl
+test -z "$GREP" && GREP=grep
+_LT_DECL([], [GREP], [1], [A grep program that handles long lines])
+_LT_DECL([], [EGREP], [1], [An ERE matcher])
+_LT_DECL([], [FGREP], [1], [A literal string matcher])
+dnl Non-bleeding-edge autoconf doesn't subst GREP, so do it here too
+AC_SUBST([GREP])
+])
+
+
+# _LT_DECL_OBJDUMP
+# --------------
+# If we don't have a new enough Autoconf to choose the best objdump
+# available, choose the one first in the user's PATH.
+m4_defun([_LT_DECL_OBJDUMP],
+[AC_CHECK_TOOL(OBJDUMP, objdump, false)
+test -z "$OBJDUMP" && OBJDUMP=objdump
+_LT_DECL([], [OBJDUMP], [1], [An object symbol dumper])
+AC_SUBST([OBJDUMP])
+])
+
+
+# _LT_DECL_SED
+# ------------
+# Check for a fully-functional sed program, that truncates
+# as few characters as possible. Prefer GNU sed if found.
+m4_defun([_LT_DECL_SED],
+[AC_PROG_SED
+test -z "$SED" && SED=sed
+Xsed="$SED -e 1s/^X//"
+_LT_DECL([], [SED], [1], [A sed program that does not truncate output])
+_LT_DECL([], [Xsed], ["\$SED -e 1s/^X//"],
+ [Sed that helps us avoid accidentally triggering echo(1) options like -n])
+])# _LT_DECL_SED
+
+m4_ifndef([AC_PROG_SED], [
+############################################################
+# NOTE: This macro has been submitted for inclusion into #
+# GNU Autoconf as AC_PROG_SED. When it is available in #
+# a released version of Autoconf we should remove this #
+# macro and use it instead. #
+############################################################
+
+m4_defun([AC_PROG_SED],
+[AC_MSG_CHECKING([for a sed that does not truncate output])
+AC_CACHE_VAL(lt_cv_path_SED,
+[# Loop through the user's path and test for sed and gsed.
+# Then use that list of sed's as ones to test for truncation.
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for lt_ac_prog in sed gsed; do
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if $as_executable_p "$as_dir/$lt_ac_prog$ac_exec_ext"; then
+ lt_ac_sed_list="$lt_ac_sed_list $as_dir/$lt_ac_prog$ac_exec_ext"
+ fi
+ done
+ done
+done
+IFS=$as_save_IFS
+lt_ac_max=0
+lt_ac_count=0
+# Add /usr/xpg4/bin/sed as it is typically found on Solaris
+# along with /bin/sed that truncates output.
+for lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do
+ test ! -f $lt_ac_sed && continue
+ cat /dev/null > conftest.in
+ lt_ac_count=0
+ echo $ECHO_N "0123456789$ECHO_C" >conftest.in
+ # Check for GNU sed and select it if it is found.
+ if "$lt_ac_sed" --version 2>&1 < /dev/null | grep 'GNU' > /dev/null; then
+ lt_cv_path_SED=$lt_ac_sed
+ break
+ fi
+ while true; do
+ cat conftest.in conftest.in >conftest.tmp
+ mv conftest.tmp conftest.in
+ cp conftest.in conftest.nl
+ echo >>conftest.nl
+ $lt_ac_sed -e 's/a$//' < conftest.nl >conftest.out || break
+ cmp -s conftest.out conftest.nl || break
+ # 10000 chars as input seems more than enough
+ test $lt_ac_count -gt 10 && break
+ lt_ac_count=`expr $lt_ac_count + 1`
+ if test $lt_ac_count -gt $lt_ac_max; then
+ lt_ac_max=$lt_ac_count
+ lt_cv_path_SED=$lt_ac_sed
+ fi
+ done
+done
+])
+SED=$lt_cv_path_SED
+AC_SUBST([SED])
+AC_MSG_RESULT([$SED])
+])#AC_PROG_SED
+])#m4_ifndef
+
+# Old name:
+AU_ALIAS([LT_AC_PROG_SED], [AC_PROG_SED])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([LT_AC_PROG_SED], [])
+
+
+# _LT_CHECK_SHELL_FEATURES
+# ------------------------
+# Find out whether the shell is Bourne or XSI compatible,
+# or has some other useful features.
+m4_defun([_LT_CHECK_SHELL_FEATURES],
+[AC_MSG_CHECKING([whether the shell understands some XSI constructs])
+# Try some XSI features
+xsi_shell=no
+( _lt_dummy="a/b/c"
+ test "${_lt_dummy##*/},${_lt_dummy%/*},"${_lt_dummy%"$_lt_dummy"}, \
+ = c,a/b,, \
+ && eval 'test $(( 1 + 1 )) -eq 2 \
+ && test "${#_lt_dummy}" -eq 5' ) >/dev/null 2>&1 \
+ && xsi_shell=yes
+AC_MSG_RESULT([$xsi_shell])
+_LT_CONFIG_LIBTOOL_INIT([xsi_shell='$xsi_shell'])
+
+AC_MSG_CHECKING([whether the shell understands "+="])
+lt_shell_append=no
+( foo=bar; set foo baz; eval "$[1]+=\$[2]" && test "$foo" = barbaz ) \
+ >/dev/null 2>&1 \
+ && lt_shell_append=yes
+AC_MSG_RESULT([$lt_shell_append])
+_LT_CONFIG_LIBTOOL_INIT([lt_shell_append='$lt_shell_append'])
+
+if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
+ lt_unset=unset
+else
+ lt_unset=false
+fi
+_LT_DECL([], [lt_unset], [0], [whether the shell understands "unset"])dnl
+
+# test EBCDIC or ASCII
+case `echo X|tr X '\101'` in
+ A) # ASCII based system
+ # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr
+ lt_SP2NL='tr \040 \012'
+ lt_NL2SP='tr \015\012 \040\040'
+ ;;
+ *) # EBCDIC based system
+ lt_SP2NL='tr \100 \n'
+ lt_NL2SP='tr \r\n \100\100'
+ ;;
+esac
+_LT_DECL([SP2NL], [lt_SP2NL], [1], [turn spaces into newlines])dnl
+_LT_DECL([NL2SP], [lt_NL2SP], [1], [turn newlines into spaces])dnl
+])# _LT_CHECK_SHELL_FEATURES
+
+
+# _LT_PROG_XSI_SHELLFNS
+# ---------------------
+# Bourne and XSI compatible variants of some useful shell functions.
+m4_defun([_LT_PROG_XSI_SHELLFNS],
+[case $xsi_shell in
+ yes)
+ cat << \_LT_EOF >> "$cfgfile"
+
+# func_dirname file append nondir_replacement
+# Compute the dirname of FILE. If nonempty, add APPEND to the result,
+# otherwise set result to NONDIR_REPLACEMENT.
+func_dirname ()
+{
+ case ${1} in
+ */*) func_dirname_result="${1%/*}${2}" ;;
+ * ) func_dirname_result="${3}" ;;
+ esac
+}
+
+# func_basename file
+func_basename ()
+{
+ func_basename_result="${1##*/}"
+}
+
+# func_dirname_and_basename file append nondir_replacement
+# perform func_basename and func_dirname in a single function
+# call:
+# dirname: Compute the dirname of FILE. If nonempty,
+# add APPEND to the result, otherwise set result
+# to NONDIR_REPLACEMENT.
+# value returned in "$func_dirname_result"
+# basename: Compute filename of FILE.
+# value retuned in "$func_basename_result"
+# Implementation must be kept synchronized with func_dirname
+# and func_basename. For efficiency, we do not delegate to
+# those functions but instead duplicate the functionality here.
+func_dirname_and_basename ()
+{
+ case ${1} in
+ */*) func_dirname_result="${1%/*}${2}" ;;
+ * ) func_dirname_result="${3}" ;;
+ esac
+ func_basename_result="${1##*/}"
+}
+
+# func_stripname prefix suffix name
+# strip PREFIX and SUFFIX off of NAME.
+# PREFIX and SUFFIX must not contain globbing or regex special
+# characters, hashes, percent signs, but SUFFIX may contain a leading
+# dot (in which case that matches only a dot).
+func_stripname ()
+{
+ # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are
+ # positional parameters, so assign one to ordinary parameter first.
+ func_stripname_result=${3}
+ func_stripname_result=${func_stripname_result#"${1}"}
+ func_stripname_result=${func_stripname_result%"${2}"}
+}
+
+# func_opt_split
+func_opt_split ()
+{
+ func_opt_split_opt=${1%%=*}
+ func_opt_split_arg=${1#*=}
+}
+
+# func_lo2o object
+func_lo2o ()
+{
+ case ${1} in
+ *.lo) func_lo2o_result=${1%.lo}.${objext} ;;
+ *) func_lo2o_result=${1} ;;
+ esac
+}
+
+# func_xform libobj-or-source
+func_xform ()
+{
+ func_xform_result=${1%.*}.lo
+}
+
+# func_arith arithmetic-term...
+func_arith ()
+{
+ func_arith_result=$(( $[*] ))
+}
+
+# func_len string
+# STRING may not start with a hyphen.
+func_len ()
+{
+ func_len_result=${#1}
+}
+
+_LT_EOF
+ ;;
+ *) # Bourne compatible functions.
+ cat << \_LT_EOF >> "$cfgfile"
+
+# func_dirname file append nondir_replacement
+# Compute the dirname of FILE. If nonempty, add APPEND to the result,
+# otherwise set result to NONDIR_REPLACEMENT.
+func_dirname ()
+{
+ # Extract subdirectory from the argument.
+ func_dirname_result=`$ECHO "X${1}" | $Xsed -e "$dirname"`
+ if test "X$func_dirname_result" = "X${1}"; then
+ func_dirname_result="${3}"
+ else
+ func_dirname_result="$func_dirname_result${2}"
+ fi
+}
+
+# func_basename file
+func_basename ()
+{
+ func_basename_result=`$ECHO "X${1}" | $Xsed -e "$basename"`
+}
+
+dnl func_dirname_and_basename
+dnl A portable version of this function is already defined in general.m4sh
+dnl so there is no need for it here.
+
+# func_stripname prefix suffix name
+# strip PREFIX and SUFFIX off of NAME.
+# PREFIX and SUFFIX must not contain globbing or regex special
+# characters, hashes, percent signs, but SUFFIX may contain a leading
+# dot (in which case that matches only a dot).
+# func_strip_suffix prefix name
+func_stripname ()
+{
+ case ${2} in
+ .*) func_stripname_result=`$ECHO "X${3}" \
+ | $Xsed -e "s%^${1}%%" -e "s%\\\\${2}\$%%"`;;
+ *) func_stripname_result=`$ECHO "X${3}" \
+ | $Xsed -e "s%^${1}%%" -e "s%${2}\$%%"`;;
+ esac
+}
+
+# sed scripts:
+my_sed_long_opt='1s/^\(-[[^=]]*\)=.*/\1/;q'
+my_sed_long_arg='1s/^-[[^=]]*=//'
+
+# func_opt_split
+func_opt_split ()
+{
+ func_opt_split_opt=`$ECHO "X${1}" | $Xsed -e "$my_sed_long_opt"`
+ func_opt_split_arg=`$ECHO "X${1}" | $Xsed -e "$my_sed_long_arg"`
+}
+
+# func_lo2o object
+func_lo2o ()
+{
+ func_lo2o_result=`$ECHO "X${1}" | $Xsed -e "$lo2o"`
+}
+
+# func_xform libobj-or-source
+func_xform ()
+{
+ func_xform_result=`$ECHO "X${1}" | $Xsed -e 's/\.[[^.]]*$/.lo/'`
+}
+
+# func_arith arithmetic-term...
+func_arith ()
+{
+ func_arith_result=`expr "$[@]"`
+}
+
+# func_len string
+# STRING may not start with a hyphen.
+func_len ()
+{
+ func_len_result=`expr "$[1]" : ".*" 2>/dev/null || echo $max_cmd_len`
+}
+
+_LT_EOF
+esac
+
+case $lt_shell_append in
+ yes)
+ cat << \_LT_EOF >> "$cfgfile"
+
+# func_append var value
+# Append VALUE to the end of shell variable VAR.
+func_append ()
+{
+ eval "$[1]+=\$[2]"
+}
+_LT_EOF
+ ;;
+ *)
+ cat << \_LT_EOF >> "$cfgfile"
+
+# func_append var value
+# Append VALUE to the end of shell variable VAR.
+func_append ()
+{
+ eval "$[1]=\$$[1]\$[2]"
+}
+
+_LT_EOF
+ ;;
+ esac
+])
diff --git a/m4/ltoptions.m4 b/m4/ltoptions.m4
new file mode 100644
index 0000000..34151a3
--- /dev/null
+++ b/m4/ltoptions.m4
@@ -0,0 +1,368 @@
+# Helper functions for option handling. -*- Autoconf -*-
+#
+# Copyright (C) 2004, 2005, 2007, 2008 Free Software Foundation, Inc.
+# Written by Gary V. Vaughan, 2004
+#
+# This file is free software; the Free Software Foundation gives
+# unlimited permission to copy and/or distribute it, with or without
+# modifications, as long as this notice is preserved.
+
+# serial 6 ltoptions.m4
+
+# This is to help aclocal find these macros, as it can't see m4_define.
+AC_DEFUN([LTOPTIONS_VERSION], [m4_if([1])])
+
+
+# _LT_MANGLE_OPTION(MACRO-NAME, OPTION-NAME)
+# ------------------------------------------
+m4_define([_LT_MANGLE_OPTION],
+[[_LT_OPTION_]m4_bpatsubst($1__$2, [[^a-zA-Z0-9_]], [_])])
+
+
+# _LT_SET_OPTION(MACRO-NAME, OPTION-NAME)
+# ---------------------------------------
+# Set option OPTION-NAME for macro MACRO-NAME, and if there is a
+# matching handler defined, dispatch to it. Other OPTION-NAMEs are
+# saved as a flag.
+m4_define([_LT_SET_OPTION],
+[m4_define(_LT_MANGLE_OPTION([$1], [$2]))dnl
+m4_ifdef(_LT_MANGLE_DEFUN([$1], [$2]),
+ _LT_MANGLE_DEFUN([$1], [$2]),
+ [m4_warning([Unknown $1 option `$2'])])[]dnl
+])
+
+
+# _LT_IF_OPTION(MACRO-NAME, OPTION-NAME, IF-SET, [IF-NOT-SET])
+# ------------------------------------------------------------
+# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise.
+m4_define([_LT_IF_OPTION],
+[m4_ifdef(_LT_MANGLE_OPTION([$1], [$2]), [$3], [$4])])
+
+
+# _LT_UNLESS_OPTIONS(MACRO-NAME, OPTION-LIST, IF-NOT-SET)
+# -------------------------------------------------------
+# Execute IF-NOT-SET unless all options in OPTION-LIST for MACRO-NAME
+# are set.
+m4_define([_LT_UNLESS_OPTIONS],
+[m4_foreach([_LT_Option], m4_split(m4_normalize([$2])),
+ [m4_ifdef(_LT_MANGLE_OPTION([$1], _LT_Option),
+ [m4_define([$0_found])])])[]dnl
+m4_ifdef([$0_found], [m4_undefine([$0_found])], [$3
+])[]dnl
+])
+
+
+# _LT_SET_OPTIONS(MACRO-NAME, OPTION-LIST)
+# ----------------------------------------
+# OPTION-LIST is a space-separated list of Libtool options associated
+# with MACRO-NAME. If any OPTION has a matching handler declared with
+# LT_OPTION_DEFINE, dispatch to that macro; otherwise complain about
+# the unknown option and exit.
+m4_defun([_LT_SET_OPTIONS],
+[# Set options
+m4_foreach([_LT_Option], m4_split(m4_normalize([$2])),
+ [_LT_SET_OPTION([$1], _LT_Option)])
+
+m4_if([$1],[LT_INIT],[
+ dnl
+ dnl Simply set some default values (i.e off) if boolean options were not
+ dnl specified:
+ _LT_UNLESS_OPTIONS([LT_INIT], [dlopen], [enable_dlopen=no
+ ])
+ _LT_UNLESS_OPTIONS([LT_INIT], [win32-dll], [enable_win32_dll=no
+ ])
+ dnl
+ dnl If no reference was made to various pairs of opposing options, then
+ dnl we run the default mode handler for the pair. For example, if neither
+ dnl `shared' nor `disable-shared' was passed, we enable building of shared
+ dnl archives by default:
+ _LT_UNLESS_OPTIONS([LT_INIT], [shared disable-shared], [_LT_ENABLE_SHARED])
+ _LT_UNLESS_OPTIONS([LT_INIT], [static disable-static], [_LT_ENABLE_STATIC])
+ _LT_UNLESS_OPTIONS([LT_INIT], [pic-only no-pic], [_LT_WITH_PIC])
+ _LT_UNLESS_OPTIONS([LT_INIT], [fast-install disable-fast-install],
+ [_LT_ENABLE_FAST_INSTALL])
+ ])
+])# _LT_SET_OPTIONS
+
+
+## --------------------------------- ##
+## Macros to handle LT_INIT options. ##
+## --------------------------------- ##
+
+# _LT_MANGLE_DEFUN(MACRO-NAME, OPTION-NAME)
+# -----------------------------------------
+m4_define([_LT_MANGLE_DEFUN],
+[[_LT_OPTION_DEFUN_]m4_bpatsubst(m4_toupper([$1__$2]), [[^A-Z0-9_]], [_])])
+
+
+# LT_OPTION_DEFINE(MACRO-NAME, OPTION-NAME, CODE)
+# -----------------------------------------------
+m4_define([LT_OPTION_DEFINE],
+[m4_define(_LT_MANGLE_DEFUN([$1], [$2]), [$3])[]dnl
+])# LT_OPTION_DEFINE
+
+
+# dlopen
+# ------
+LT_OPTION_DEFINE([LT_INIT], [dlopen], [enable_dlopen=yes
+])
+
+AU_DEFUN([AC_LIBTOOL_DLOPEN],
+[_LT_SET_OPTION([LT_INIT], [dlopen])
+AC_DIAGNOSE([obsolete],
+[$0: Remove this warning and the call to _LT_SET_OPTION when you
+put the `dlopen' option into LT_INIT's first parameter.])
+])
+
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_LIBTOOL_DLOPEN], [])
+
+
+# win32-dll
+# ---------
+# Declare package support for building win32 dll's.
+LT_OPTION_DEFINE([LT_INIT], [win32-dll],
+[enable_win32_dll=yes
+
+case $host in
+*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-cegcc*)
+ AC_CHECK_TOOL(AS, as, false)
+ AC_CHECK_TOOL(DLLTOOL, dlltool, false)
+ AC_CHECK_TOOL(OBJDUMP, objdump, false)
+ ;;
+esac
+
+test -z "$AS" && AS=as
+_LT_DECL([], [AS], [0], [Assembler program])dnl
+
+test -z "$DLLTOOL" && DLLTOOL=dlltool
+_LT_DECL([], [DLLTOOL], [0], [DLL creation program])dnl
+
+test -z "$OBJDUMP" && OBJDUMP=objdump
+_LT_DECL([], [OBJDUMP], [0], [Object dumper program])dnl
+])# win32-dll
+
+AU_DEFUN([AC_LIBTOOL_WIN32_DLL],
+[AC_REQUIRE([AC_CANONICAL_HOST])dnl
+_LT_SET_OPTION([LT_INIT], [win32-dll])
+AC_DIAGNOSE([obsolete],
+[$0: Remove this warning and the call to _LT_SET_OPTION when you
+put the `win32-dll' option into LT_INIT's first parameter.])
+])
+
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_LIBTOOL_WIN32_DLL], [])
+
+
+# _LT_ENABLE_SHARED([DEFAULT])
+# ----------------------------
+# implement the --enable-shared flag, and supports the `shared' and
+# `disable-shared' LT_INIT options.
+# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'.
+m4_define([_LT_ENABLE_SHARED],
+[m4_define([_LT_ENABLE_SHARED_DEFAULT], [m4_if($1, no, no, yes)])dnl
+AC_ARG_ENABLE([shared],
+ [AS_HELP_STRING([--enable-shared@<:@=PKGS@:>@],
+ [build shared libraries @<:@default=]_LT_ENABLE_SHARED_DEFAULT[@:>@])],
+ [p=${PACKAGE-default}
+ case $enableval in
+ yes) enable_shared=yes ;;
+ no) enable_shared=no ;;
+ *)
+ enable_shared=no
+ # Look at the argument we got. We use all the common list separators.
+ lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
+ for pkg in $enableval; do
+ IFS="$lt_save_ifs"
+ if test "X$pkg" = "X$p"; then
+ enable_shared=yes
+ fi
+ done
+ IFS="$lt_save_ifs"
+ ;;
+ esac],
+ [enable_shared=]_LT_ENABLE_SHARED_DEFAULT)
+
+ _LT_DECL([build_libtool_libs], [enable_shared], [0],
+ [Whether or not to build shared libraries])
+])# _LT_ENABLE_SHARED
+
+LT_OPTION_DEFINE([LT_INIT], [shared], [_LT_ENABLE_SHARED([yes])])
+LT_OPTION_DEFINE([LT_INIT], [disable-shared], [_LT_ENABLE_SHARED([no])])
+
+# Old names:
+AC_DEFUN([AC_ENABLE_SHARED],
+[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[shared])
+])
+
+AC_DEFUN([AC_DISABLE_SHARED],
+[_LT_SET_OPTION([LT_INIT], [disable-shared])
+])
+
+AU_DEFUN([AM_ENABLE_SHARED], [AC_ENABLE_SHARED($@)])
+AU_DEFUN([AM_DISABLE_SHARED], [AC_DISABLE_SHARED($@)])
+
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AM_ENABLE_SHARED], [])
+dnl AC_DEFUN([AM_DISABLE_SHARED], [])
+
+
+
+# _LT_ENABLE_STATIC([DEFAULT])
+# ----------------------------
+# implement the --enable-static flag, and support the `static' and
+# `disable-static' LT_INIT options.
+# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'.
+m4_define([_LT_ENABLE_STATIC],
+[m4_define([_LT_ENABLE_STATIC_DEFAULT], [m4_if($1, no, no, yes)])dnl
+AC_ARG_ENABLE([static],
+ [AS_HELP_STRING([--enable-static@<:@=PKGS@:>@],
+ [build static libraries @<:@default=]_LT_ENABLE_STATIC_DEFAULT[@:>@])],
+ [p=${PACKAGE-default}
+ case $enableval in
+ yes) enable_static=yes ;;
+ no) enable_static=no ;;
+ *)
+ enable_static=no
+ # Look at the argument we got. We use all the common list separators.
+ lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
+ for pkg in $enableval; do
+ IFS="$lt_save_ifs"
+ if test "X$pkg" = "X$p"; then
+ enable_static=yes
+ fi
+ done
+ IFS="$lt_save_ifs"
+ ;;
+ esac],
+ [enable_static=]_LT_ENABLE_STATIC_DEFAULT)
+
+ _LT_DECL([build_old_libs], [enable_static], [0],
+ [Whether or not to build static libraries])
+])# _LT_ENABLE_STATIC
+
+LT_OPTION_DEFINE([LT_INIT], [static], [_LT_ENABLE_STATIC([yes])])
+LT_OPTION_DEFINE([LT_INIT], [disable-static], [_LT_ENABLE_STATIC([no])])
+
+# Old names:
+AC_DEFUN([AC_ENABLE_STATIC],
+[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[static])
+])
+
+AC_DEFUN([AC_DISABLE_STATIC],
+[_LT_SET_OPTION([LT_INIT], [disable-static])
+])
+
+AU_DEFUN([AM_ENABLE_STATIC], [AC_ENABLE_STATIC($@)])
+AU_DEFUN([AM_DISABLE_STATIC], [AC_DISABLE_STATIC($@)])
+
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AM_ENABLE_STATIC], [])
+dnl AC_DEFUN([AM_DISABLE_STATIC], [])
+
+
+
+# _LT_ENABLE_FAST_INSTALL([DEFAULT])
+# ----------------------------------
+# implement the --enable-fast-install flag, and support the `fast-install'
+# and `disable-fast-install' LT_INIT options.
+# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'.
+m4_define([_LT_ENABLE_FAST_INSTALL],
+[m4_define([_LT_ENABLE_FAST_INSTALL_DEFAULT], [m4_if($1, no, no, yes)])dnl
+AC_ARG_ENABLE([fast-install],
+ [AS_HELP_STRING([--enable-fast-install@<:@=PKGS@:>@],
+ [optimize for fast installation @<:@default=]_LT_ENABLE_FAST_INSTALL_DEFAULT[@:>@])],
+ [p=${PACKAGE-default}
+ case $enableval in
+ yes) enable_fast_install=yes ;;
+ no) enable_fast_install=no ;;
+ *)
+ enable_fast_install=no
+ # Look at the argument we got. We use all the common list separators.
+ lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
+ for pkg in $enableval; do
+ IFS="$lt_save_ifs"
+ if test "X$pkg" = "X$p"; then
+ enable_fast_install=yes
+ fi
+ done
+ IFS="$lt_save_ifs"
+ ;;
+ esac],
+ [enable_fast_install=]_LT_ENABLE_FAST_INSTALL_DEFAULT)
+
+_LT_DECL([fast_install], [enable_fast_install], [0],
+ [Whether or not to optimize for fast installation])dnl
+])# _LT_ENABLE_FAST_INSTALL
+
+LT_OPTION_DEFINE([LT_INIT], [fast-install], [_LT_ENABLE_FAST_INSTALL([yes])])
+LT_OPTION_DEFINE([LT_INIT], [disable-fast-install], [_LT_ENABLE_FAST_INSTALL([no])])
+
+# Old names:
+AU_DEFUN([AC_ENABLE_FAST_INSTALL],
+[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[fast-install])
+AC_DIAGNOSE([obsolete],
+[$0: Remove this warning and the call to _LT_SET_OPTION when you put
+the `fast-install' option into LT_INIT's first parameter.])
+])
+
+AU_DEFUN([AC_DISABLE_FAST_INSTALL],
+[_LT_SET_OPTION([LT_INIT], [disable-fast-install])
+AC_DIAGNOSE([obsolete],
+[$0: Remove this warning and the call to _LT_SET_OPTION when you put
+the `disable-fast-install' option into LT_INIT's first parameter.])
+])
+
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_ENABLE_FAST_INSTALL], [])
+dnl AC_DEFUN([AM_DISABLE_FAST_INSTALL], [])
+
+
+# _LT_WITH_PIC([MODE])
+# --------------------
+# implement the --with-pic flag, and support the `pic-only' and `no-pic'
+# LT_INIT options.
+# MODE is either `yes' or `no'. If omitted, it defaults to `both'.
+m4_define([_LT_WITH_PIC],
+[AC_ARG_WITH([pic],
+ [AS_HELP_STRING([--with-pic],
+ [try to use only PIC/non-PIC objects @<:@default=use both@:>@])],
+ [pic_mode="$withval"],
+ [pic_mode=default])
+
+test -z "$pic_mode" && pic_mode=m4_default([$1], [default])
+
+_LT_DECL([], [pic_mode], [0], [What type of objects to build])dnl
+])# _LT_WITH_PIC
+
+LT_OPTION_DEFINE([LT_INIT], [pic-only], [_LT_WITH_PIC([yes])])
+LT_OPTION_DEFINE([LT_INIT], [no-pic], [_LT_WITH_PIC([no])])
+
+# Old name:
+AU_DEFUN([AC_LIBTOOL_PICMODE],
+[_LT_SET_OPTION([LT_INIT], [pic-only])
+AC_DIAGNOSE([obsolete],
+[$0: Remove this warning and the call to _LT_SET_OPTION when you
+put the `pic-only' option into LT_INIT's first parameter.])
+])
+
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_LIBTOOL_PICMODE], [])
+
+## ----------------- ##
+## LTDL_INIT Options ##
+## ----------------- ##
+
+m4_define([_LTDL_MODE], [])
+LT_OPTION_DEFINE([LTDL_INIT], [nonrecursive],
+ [m4_define([_LTDL_MODE], [nonrecursive])])
+LT_OPTION_DEFINE([LTDL_INIT], [recursive],
+ [m4_define([_LTDL_MODE], [recursive])])
+LT_OPTION_DEFINE([LTDL_INIT], [subproject],
+ [m4_define([_LTDL_MODE], [subproject])])
+
+m4_define([_LTDL_TYPE], [])
+LT_OPTION_DEFINE([LTDL_INIT], [installable],
+ [m4_define([_LTDL_TYPE], [installable])])
+LT_OPTION_DEFINE([LTDL_INIT], [convenience],
+ [m4_define([_LTDL_TYPE], [convenience])])
diff --git a/m4/ltsugar.m4 b/m4/ltsugar.m4
new file mode 100644
index 0000000..9000a05
--- /dev/null
+++ b/m4/ltsugar.m4
@@ -0,0 +1,123 @@
+# ltsugar.m4 -- libtool m4 base layer. -*-Autoconf-*-
+#
+# Copyright (C) 2004, 2005, 2007, 2008 Free Software Foundation, Inc.
+# Written by Gary V. Vaughan, 2004
+#
+# This file is free software; the Free Software Foundation gives
+# unlimited permission to copy and/or distribute it, with or without
+# modifications, as long as this notice is preserved.
+
+# serial 6 ltsugar.m4
+
+# This is to help aclocal find these macros, as it can't see m4_define.
+AC_DEFUN([LTSUGAR_VERSION], [m4_if([0.1])])
+
+
+# lt_join(SEP, ARG1, [ARG2...])
+# -----------------------------
+# Produce ARG1SEPARG2...SEPARGn, omitting [] arguments and their
+# associated separator.
+# Needed until we can rely on m4_join from Autoconf 2.62, since all earlier
+# versions in m4sugar had bugs.
+m4_define([lt_join],
+[m4_if([$#], [1], [],
+ [$#], [2], [[$2]],
+ [m4_if([$2], [], [], [[$2]_])$0([$1], m4_shift(m4_shift($@)))])])
+m4_define([_lt_join],
+[m4_if([$#$2], [2], [],
+ [m4_if([$2], [], [], [[$1$2]])$0([$1], m4_shift(m4_shift($@)))])])
+
+
+# lt_car(LIST)
+# lt_cdr(LIST)
+# ------------
+# Manipulate m4 lists.
+# These macros are necessary as long as will still need to support
+# Autoconf-2.59 which quotes differently.
+m4_define([lt_car], [[$1]])
+m4_define([lt_cdr],
+[m4_if([$#], 0, [m4_fatal([$0: cannot be called without arguments])],
+ [$#], 1, [],
+ [m4_dquote(m4_shift($@))])])
+m4_define([lt_unquote], $1)
+
+
+# lt_append(MACRO-NAME, STRING, [SEPARATOR])
+# ------------------------------------------
+# Redefine MACRO-NAME to hold its former content plus `SEPARATOR'`STRING'.
+# Note that neither SEPARATOR nor STRING are expanded; they are appended
+# to MACRO-NAME as is (leaving the expansion for when MACRO-NAME is invoked).
+# No SEPARATOR is output if MACRO-NAME was previously undefined (different
+# than defined and empty).
+#
+# This macro is needed until we can rely on Autoconf 2.62, since earlier
+# versions of m4sugar mistakenly expanded SEPARATOR but not STRING.
+m4_define([lt_append],
+[m4_define([$1],
+ m4_ifdef([$1], [m4_defn([$1])[$3]])[$2])])
+
+
+
+# lt_combine(SEP, PREFIX-LIST, INFIX, SUFFIX1, [SUFFIX2...])
+# ----------------------------------------------------------
+# Produce a SEP delimited list of all paired combinations of elements of
+# PREFIX-LIST with SUFFIX1 through SUFFIXn. Each element of the list
+# has the form PREFIXmINFIXSUFFIXn.
+# Needed until we can rely on m4_combine added in Autoconf 2.62.
+m4_define([lt_combine],
+[m4_if(m4_eval([$# > 3]), [1],
+ [m4_pushdef([_Lt_sep], [m4_define([_Lt_sep], m4_defn([lt_car]))])]]dnl
+[[m4_foreach([_Lt_prefix], [$2],
+ [m4_foreach([_Lt_suffix],
+ ]m4_dquote(m4_dquote(m4_shift(m4_shift(m4_shift($@)))))[,
+ [_Lt_sep([$1])[]m4_defn([_Lt_prefix])[$3]m4_defn([_Lt_suffix])])])])])
+
+
+# lt_if_append_uniq(MACRO-NAME, VARNAME, [SEPARATOR], [UNIQ], [NOT-UNIQ])
+# -----------------------------------------------------------------------
+# Iff MACRO-NAME does not yet contain VARNAME, then append it (delimited
+# by SEPARATOR if supplied) and expand UNIQ, else NOT-UNIQ.
+m4_define([lt_if_append_uniq],
+[m4_ifdef([$1],
+ [m4_if(m4_index([$3]m4_defn([$1])[$3], [$3$2$3]), [-1],
+ [lt_append([$1], [$2], [$3])$4],
+ [$5])],
+ [lt_append([$1], [$2], [$3])$4])])
+
+
+# lt_dict_add(DICT, KEY, VALUE)
+# -----------------------------
+m4_define([lt_dict_add],
+[m4_define([$1($2)], [$3])])
+
+
+# lt_dict_add_subkey(DICT, KEY, SUBKEY, VALUE)
+# --------------------------------------------
+m4_define([lt_dict_add_subkey],
+[m4_define([$1($2:$3)], [$4])])
+
+
+# lt_dict_fetch(DICT, KEY, [SUBKEY])
+# ----------------------------------
+m4_define([lt_dict_fetch],
+[m4_ifval([$3],
+ m4_ifdef([$1($2:$3)], [m4_defn([$1($2:$3)])]),
+ m4_ifdef([$1($2)], [m4_defn([$1($2)])]))])
+
+
+# lt_if_dict_fetch(DICT, KEY, [SUBKEY], VALUE, IF-TRUE, [IF-FALSE])
+# -----------------------------------------------------------------
+m4_define([lt_if_dict_fetch],
+[m4_if(lt_dict_fetch([$1], [$2], [$3]), [$4],
+ [$5],
+ [$6])])
+
+
+# lt_dict_filter(DICT, [SUBKEY], VALUE, [SEPARATOR], KEY, [...])
+# --------------------------------------------------------------
+m4_define([lt_dict_filter],
+[m4_if([$5], [], [],
+ [lt_join(m4_quote(m4_default([$4], [[, ]])),
+ lt_unquote(m4_split(m4_normalize(m4_foreach(_Lt_key, lt_car([m4_shiftn(4, $@)]),
+ [lt_if_dict_fetch([$1], _Lt_key, [$2], [$3], [_Lt_key ])])))))])[]dnl
+])
diff --git a/m4/ltversion.m4 b/m4/ltversion.m4
new file mode 100644
index 0000000..b8e154f
--- /dev/null
+++ b/m4/ltversion.m4
@@ -0,0 +1,23 @@
+# ltversion.m4 -- version numbers -*- Autoconf -*-
+#
+# Copyright (C) 2004 Free Software Foundation, Inc.
+# Written by Scott James Remnant, 2004
+#
+# This file is free software; the Free Software Foundation gives
+# unlimited permission to copy and/or distribute it, with or without
+# modifications, as long as this notice is preserved.
+
+# Generated from ltversion.in.
+
+# serial 3012 ltversion.m4
+# This file is part of GNU Libtool
+
+m4_define([LT_PACKAGE_VERSION], [2.2.6])
+m4_define([LT_PACKAGE_REVISION], [1.3012])
+
+AC_DEFUN([LTVERSION_VERSION],
+[macro_version='2.2.6'
+macro_revision='1.3012'
+_LT_DECL(, macro_version, 0, [Which release of libtool.m4 was used?])
+_LT_DECL(, macro_revision, 0)
+])
diff --git a/m4/lt~obsolete.m4 b/m4/lt~obsolete.m4
new file mode 100644
index 0000000..637bb20
--- /dev/null
+++ b/m4/lt~obsolete.m4
@@ -0,0 +1,92 @@
+# lt~obsolete.m4 -- aclocal satisfying obsolete definitions. -*-Autoconf-*-
+#
+# Copyright (C) 2004, 2005, 2007 Free Software Foundation, Inc.
+# Written by Scott James Remnant, 2004.
+#
+# This file is free software; the Free Software Foundation gives
+# unlimited permission to copy and/or distribute it, with or without
+# modifications, as long as this notice is preserved.
+
+# serial 4 lt~obsolete.m4
+
+# These exist entirely to fool aclocal when bootstrapping libtool.
+#
+# In the past libtool.m4 has provided macros via AC_DEFUN (or AU_DEFUN)
+# which have later been changed to m4_define as they aren't part of the
+# exported API, or moved to Autoconf or Automake where they belong.
+#
+# The trouble is, aclocal is a bit thick. It'll see the old AC_DEFUN
+# in /usr/share/aclocal/libtool.m4 and remember it, then when it sees us
+# using a macro with the same name in our local m4/libtool.m4 it'll
+# pull the old libtool.m4 in (it doesn't see our shiny new m4_define
+# and doesn't know about Autoconf macros at all.)
+#
+# So we provide this file, which has a silly filename so it's always
+# included after everything else. This provides aclocal with the
+# AC_DEFUNs it wants, but when m4 processes it, it doesn't do anything
+# because those macros already exist, or will be overwritten later.
+# We use AC_DEFUN over AU_DEFUN for compatibility with aclocal-1.6.
+#
+# Anytime we withdraw an AC_DEFUN or AU_DEFUN, remember to add it here.
+# Yes, that means every name once taken will need to remain here until
+# we give up compatibility with versions before 1.7, at which point
+# we need to keep only those names which we still refer to.
+
+# This is to help aclocal find these macros, as it can't see m4_define.
+AC_DEFUN([LTOBSOLETE_VERSION], [m4_if([1])])
+
+m4_ifndef([AC_LIBTOOL_LINKER_OPTION], [AC_DEFUN([AC_LIBTOOL_LINKER_OPTION])])
+m4_ifndef([AC_PROG_EGREP], [AC_DEFUN([AC_PROG_EGREP])])
+m4_ifndef([_LT_AC_PROG_ECHO_BACKSLASH], [AC_DEFUN([_LT_AC_PROG_ECHO_BACKSLASH])])
+m4_ifndef([_LT_AC_SHELL_INIT], [AC_DEFUN([_LT_AC_SHELL_INIT])])
+m4_ifndef([_LT_AC_SYS_LIBPATH_AIX], [AC_DEFUN([_LT_AC_SYS_LIBPATH_AIX])])
+m4_ifndef([_LT_PROG_LTMAIN], [AC_DEFUN([_LT_PROG_LTMAIN])])
+m4_ifndef([_LT_AC_TAGVAR], [AC_DEFUN([_LT_AC_TAGVAR])])
+m4_ifndef([AC_LTDL_ENABLE_INSTALL], [AC_DEFUN([AC_LTDL_ENABLE_INSTALL])])
+m4_ifndef([AC_LTDL_PREOPEN], [AC_DEFUN([AC_LTDL_PREOPEN])])
+m4_ifndef([_LT_AC_SYS_COMPILER], [AC_DEFUN([_LT_AC_SYS_COMPILER])])
+m4_ifndef([_LT_AC_LOCK], [AC_DEFUN([_LT_AC_LOCK])])
+m4_ifndef([AC_LIBTOOL_SYS_OLD_ARCHIVE], [AC_DEFUN([AC_LIBTOOL_SYS_OLD_ARCHIVE])])
+m4_ifndef([_LT_AC_TRY_DLOPEN_SELF], [AC_DEFUN([_LT_AC_TRY_DLOPEN_SELF])])
+m4_ifndef([AC_LIBTOOL_PROG_CC_C_O], [AC_DEFUN([AC_LIBTOOL_PROG_CC_C_O])])
+m4_ifndef([AC_LIBTOOL_SYS_HARD_LINK_LOCKS], [AC_DEFUN([AC_LIBTOOL_SYS_HARD_LINK_LOCKS])])
+m4_ifndef([AC_LIBTOOL_OBJDIR], [AC_DEFUN([AC_LIBTOOL_OBJDIR])])
+m4_ifndef([AC_LTDL_OBJDIR], [AC_DEFUN([AC_LTDL_OBJDIR])])
+m4_ifndef([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH], [AC_DEFUN([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH])])
+m4_ifndef([AC_LIBTOOL_SYS_LIB_STRIP], [AC_DEFUN([AC_LIBTOOL_SYS_LIB_STRIP])])
+m4_ifndef([AC_PATH_MAGIC], [AC_DEFUN([AC_PATH_MAGIC])])
+m4_ifndef([AC_PROG_LD_GNU], [AC_DEFUN([AC_PROG_LD_GNU])])
+m4_ifndef([AC_PROG_LD_RELOAD_FLAG], [AC_DEFUN([AC_PROG_LD_RELOAD_FLAG])])
+m4_ifndef([AC_DEPLIBS_CHECK_METHOD], [AC_DEFUN([AC_DEPLIBS_CHECK_METHOD])])
+m4_ifndef([AC_LIBTOOL_PROG_COMPILER_NO_RTTI], [AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_NO_RTTI])])
+m4_ifndef([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE], [AC_DEFUN([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE])])
+m4_ifndef([AC_LIBTOOL_PROG_COMPILER_PIC], [AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_PIC])])
+m4_ifndef([AC_LIBTOOL_PROG_LD_SHLIBS], [AC_DEFUN([AC_LIBTOOL_PROG_LD_SHLIBS])])
+m4_ifndef([AC_LIBTOOL_POSTDEP_PREDEP], [AC_DEFUN([AC_LIBTOOL_POSTDEP_PREDEP])])
+m4_ifndef([LT_AC_PROG_EGREP], [AC_DEFUN([LT_AC_PROG_EGREP])])
+m4_ifndef([LT_AC_PROG_SED], [AC_DEFUN([LT_AC_PROG_SED])])
+m4_ifndef([_LT_CC_BASENAME], [AC_DEFUN([_LT_CC_BASENAME])])
+m4_ifndef([_LT_COMPILER_BOILERPLATE], [AC_DEFUN([_LT_COMPILER_BOILERPLATE])])
+m4_ifndef([_LT_LINKER_BOILERPLATE], [AC_DEFUN([_LT_LINKER_BOILERPLATE])])
+m4_ifndef([_AC_PROG_LIBTOOL], [AC_DEFUN([_AC_PROG_LIBTOOL])])
+m4_ifndef([AC_LIBTOOL_SETUP], [AC_DEFUN([AC_LIBTOOL_SETUP])])
+m4_ifndef([_LT_AC_CHECK_DLFCN], [AC_DEFUN([_LT_AC_CHECK_DLFCN])])
+m4_ifndef([AC_LIBTOOL_SYS_DYNAMIC_LINKER], [AC_DEFUN([AC_LIBTOOL_SYS_DYNAMIC_LINKER])])
+m4_ifndef([_LT_AC_TAGCONFIG], [AC_DEFUN([_LT_AC_TAGCONFIG])])
+m4_ifndef([AC_DISABLE_FAST_INSTALL], [AC_DEFUN([AC_DISABLE_FAST_INSTALL])])
+m4_ifndef([_LT_AC_LANG_CXX], [AC_DEFUN([_LT_AC_LANG_CXX])])
+m4_ifndef([_LT_AC_LANG_F77], [AC_DEFUN([_LT_AC_LANG_F77])])
+m4_ifndef([_LT_AC_LANG_GCJ], [AC_DEFUN([_LT_AC_LANG_GCJ])])
+m4_ifndef([AC_LIBTOOL_RC], [AC_DEFUN([AC_LIBTOOL_RC])])
+m4_ifndef([AC_LIBTOOL_LANG_C_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_C_CONFIG])])
+m4_ifndef([_LT_AC_LANG_C_CONFIG], [AC_DEFUN([_LT_AC_LANG_C_CONFIG])])
+m4_ifndef([AC_LIBTOOL_LANG_CXX_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_CXX_CONFIG])])
+m4_ifndef([_LT_AC_LANG_CXX_CONFIG], [AC_DEFUN([_LT_AC_LANG_CXX_CONFIG])])
+m4_ifndef([AC_LIBTOOL_LANG_F77_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_F77_CONFIG])])
+m4_ifndef([_LT_AC_LANG_F77_CONFIG], [AC_DEFUN([_LT_AC_LANG_F77_CONFIG])])
+m4_ifndef([AC_LIBTOOL_LANG_GCJ_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_GCJ_CONFIG])])
+m4_ifndef([_LT_AC_LANG_GCJ_CONFIG], [AC_DEFUN([_LT_AC_LANG_GCJ_CONFIG])])
+m4_ifndef([AC_LIBTOOL_LANG_RC_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_RC_CONFIG])])
+m4_ifndef([_LT_AC_LANG_RC_CONFIG], [AC_DEFUN([_LT_AC_LANG_RC_CONFIG])])
+m4_ifndef([AC_LIBTOOL_CONFIG], [AC_DEFUN([AC_LIBTOOL_CONFIG])])
+m4_ifndef([_LT_AC_FILE_LTDLL_C], [AC_DEFUN([_LT_AC_FILE_LTDLL_C])])
diff --git a/olb/Convert.cpp b/olb/Convert.cpp
index f22eda0..c752f56 100644
--- a/olb/Convert.cpp
+++ b/olb/Convert.cpp
@@ -1,3 +1,20 @@
+/*
+ * Copyright 2009 CrossWire Bible Society (http://www.crosswire.org)
+ * CrossWire Bible Society
+ * P. O. Box 2528
+ * Tempe, AZ 85280-2528
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation version 2.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ */
+
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
diff --git a/olb/Doinit.c b/olb/Doinit.c
index aa905b6..15c65f2 100644
--- a/olb/Doinit.c
+++ b/olb/Doinit.c
@@ -1,3 +1,20 @@
+/*
+ * Copyright 2009 CrossWire Bible Society (http://www.crosswire.org)
+ * CrossWire Bible Society
+ * P. O. Box 2528
+ * Tempe, AZ 85280-2528
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation version 2.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ */
+
#include <online.dcl>
struct zonline online;
struct zversion version;
diff --git a/olb/Getstrng.c b/olb/Getstrng.c
index b5e6938..32430ce 100644
--- a/olb/Getstrng.c
+++ b/olb/Getstrng.c
@@ -1,3 +1,20 @@
+/*
+ * Copyright 2009 CrossWire Bible Society (http://www.crosswire.org)
+ * CrossWire Bible Society
+ * P. O. Box 2528
+ * Tempe, AZ 85280-2528
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation version 2.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ */
+
#include <online.dcl>
void GETSTRNG(strongs_no, verse_list, otflg)
diff --git a/olb/Getvrsn.c b/olb/Getvrsn.c
index 1990733..97df09a 100644
--- a/olb/Getvrsn.c
+++ b/olb/Getvrsn.c
@@ -1,3 +1,20 @@
+/*
+ * Copyright 2009 CrossWire Bible Society (http://www.crosswire.org)
+ * CrossWire Bible Society
+ * P. O. Box 2528
+ * Tempe, AZ 85280-2528
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation version 2.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ */
+
#include <online.dcl>
/*
diff --git a/olb/Mainfrm.cpp b/olb/Mainfrm.cpp
index 9b41c08..18e3382 100644
--- a/olb/Mainfrm.cpp
+++ b/olb/Mainfrm.cpp
@@ -1,3 +1,20 @@
+/*
+ * Copyright 2009 CrossWire Bible Society (http://www.crosswire.org)
+ * CrossWire Bible Society
+ * P. O. Box 2528
+ * Tempe, AZ 85280-2528
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation version 2.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ */
+
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
diff --git a/olb/Mainfrm.h b/olb/Mainfrm.h
index 4be184d..5fb85a9 100644
--- a/olb/Mainfrm.h
+++ b/olb/Mainfrm.h
@@ -1,3 +1,20 @@
+/*
+ * Copyright 2009 CrossWire Bible Society (http://www.crosswire.org)
+ * CrossWire Bible Society
+ * P. O. Box 2528
+ * Tempe, AZ 85280-2528
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation version 2.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ */
+
//---------------------------------------------------------------------------
#ifndef MainfrmH
#define MainfrmH
diff --git a/olb/Online.c b/olb/Online.c
index 66c26f0..54298e4 100644
--- a/olb/Online.c
+++ b/olb/Online.c
@@ -1,3 +1,20 @@
+/*
+ * Copyright 2009 CrossWire Bible Society (http://www.crosswire.org)
+ * CrossWire Bible Society
+ * P. O. Box 2528
+ * Tempe, AZ 85280-2528
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation version 2.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ */
+
#include "online.dcl"
/*
diff --git a/olb/addstrongs.cpp b/olb/addstrongs.cpp
index f7d9ac0..910eca3 100644
--- a/olb/addstrongs.cpp
+++ b/olb/addstrongs.cpp
@@ -1,3 +1,20 @@
+/*
+ * Copyright 2009 CrossWire Bible Society (http://www.crosswire.org)
+ * CrossWire Bible Society
+ * P. O. Box 2528
+ * Tempe, AZ 85280-2528
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation version 2.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ */
+
#include "online.dcl"
#include <stdlib.h>
#include <fcntl.h>
diff --git a/olb/dumpav.cpp b/olb/dumpav.cpp
index a6f7a97..6bc3fcc 100644
--- a/olb/dumpav.cpp
+++ b/olb/dumpav.cpp
@@ -1,3 +1,20 @@
+/*
+ * Copyright 2009 CrossWire Bible Society (http://www.crosswire.org)
+ * CrossWire Bible Society
+ * P. O. Box 2528
+ * Tempe, AZ 85280-2528
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation version 2.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ */
+
extern "C" {
#include "online.dcl"
}
@@ -26,4 +43,4 @@ void main(int argc, char **argv)
}
DOEND();
-} \ No newline at end of file
+}
diff --git a/olb/olb2sword.cpp b/olb/olb2sword.cpp
index 2fd295f..2f6da6d 100644
--- a/olb/olb2sword.cpp
+++ b/olb/olb2sword.cpp
@@ -1,3 +1,20 @@
+/*
+ * Copyright 2009 CrossWire Bible Society (http://www.crosswire.org)
+ * CrossWire Bible Society
+ * P. O. Box 2528
+ * Tempe, AZ 85280-2528
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation version 2.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ */
+
#pragma hdrstop
#include <condefs.h>
diff --git a/olb/prn2sword.cpp b/olb/prn2sword.cpp
index edf2994..e271f73 100644
--- a/olb/prn2sword.cpp
+++ b/olb/prn2sword.cpp
@@ -1,3 +1,20 @@
+/*
+ * Copyright 2009 CrossWire Bible Society (http://www.crosswire.org)
+ * CrossWire Bible Society
+ * P. O. Box 2528
+ * Tempe, AZ 85280-2528
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation version 2.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ */
+
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
diff --git a/olb/prn2swordfrm.cpp b/olb/prn2swordfrm.cpp
index b4bfaad..0b4fc34 100644
--- a/olb/prn2swordfrm.cpp
+++ b/olb/prn2swordfrm.cpp
@@ -1,3 +1,20 @@
+/*
+ * Copyright 2009 CrossWire Bible Society (http://www.crosswire.org)
+ * CrossWire Bible Society
+ * P. O. Box 2528
+ * Tempe, AZ 85280-2528
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation version 2.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ */
+
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
diff --git a/olb/prn2swordfrm.h b/olb/prn2swordfrm.h
index 85fada2..138ba17 100644
--- a/olb/prn2swordfrm.h
+++ b/olb/prn2swordfrm.h
@@ -1,3 +1,20 @@
+/*
+ * Copyright 2009 CrossWire Bible Society (http://www.crosswire.org)
+ * CrossWire Bible Society
+ * P. O. Box 2528
+ * Tempe, AZ 85280-2528
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation version 2.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ */
+
//---------------------------------------------------------------------------
#ifndef prn2swordfrmH
#define prn2swordfrmH
diff --git a/scripts/backupmake.sh b/scripts/backupmake.sh
deleted file mode 100755
index 8c4db3e..0000000
--- a/scripts/backupmake.sh
+++ /dev/null
@@ -1,5 +0,0 @@
-#!/bin/sh
-cp Makefile Makefile.sw
-cp lib/Makefile lib/Makefile.sw
-cp tests/Makefile tests/Makefile.sw
-cp utilities/Makefile utilities/Makefile.sw
diff --git a/scripts/mkswordtar b/scripts/mkswordtar
index f98fe17..e510b50 100755
--- a/scripts/mkswordtar
+++ b/scripts/mkswordtar
@@ -8,7 +8,9 @@ echo
REV=`cd ..;basename \`pwd ..\`|cut -d\- -f2`
SWORDVER=`grep "define VERSI" ../include/config.h |cut -f2 -d"\""`
-if test `echo $REV` == `echo $SWORDVER`; then
+sed -i "s/^\(PROJECT_NUMBER\).*/\1 = \"$SWORDVER\"/" ../doc/Doxyfile
+
+if [ "$REV" = "$SWORDVER" ]; then
chmod +x *
echo
diff --git a/scripts/restoremake.sh b/scripts/restoremake.sh
deleted file mode 100755
index e4bd939..0000000
--- a/scripts/restoremake.sh
+++ /dev/null
@@ -1,5 +0,0 @@
-#!/bin/sh
-cp Makefile.sw Makefile
-cp lib/Makefile.sw lib/Makefile
-cp tests/Makefile.sw tests/Makefile
-cp utilities/Makefile.sw utilities/Makefile
diff --git a/scripts/sapphire.cpp b/scripts/sapphire.cpp
deleted file mode 100755
index 7010bc7..0000000
--- a/scripts/sapphire.cpp
+++ /dev/null
@@ -1,65 +0,0 @@
-/******************************************************************************
- *
- * Placeholder for the REAL SAPPHIRE II Stream Cipher Files
- *
- * The SAPPHIRE II package may be obtained from within the United States or
- * Canada from:
- *
- * http://cryptography.org/cgi-bin/crypto.cgi/libraries/sapphire.zip
- *
- *
- * These files must be placed accordingly:
- *
- * .../sword/include/sapphire.h
- * .../sword/src/modules/common/sapphire.cpp
- *
- * If you are outside of these countries, you will have to obtain this package
- * elsewhere.
- *
- */
-
-
-unsigned char sapphire::keyrand(int limit,
- unsigned char *user_key,
- unsigned char keysize,
- unsigned char *rsum,
- unsigned *keypos)
- {
- return keysize;
- }
-
-void sapphire::initialize(unsigned char *key, unsigned char keysize)
- {
- }
-
-void sapphire::hash_init(void)
- {
- }
-
-sapphire::sapphire(unsigned char *key, unsigned char keysize)
- {
- }
-
-void sapphire::burn(void)
- {
- }
-
-sapphire::~sapphire()
- {
- }
-
-unsigned char sapphire::encrypt(unsigned char b)
- {
- return b;
- }
-
-unsigned char sapphire::decrypt(unsigned char b)
- {
- return b;
- }
-
-void sapphire::hash_final(unsigned char *hash, // Destination
- unsigned char hashlength) // Size of hash.
- {
- }
-
diff --git a/src/frontend/framework/femain.cpp b/src/frontend/framework/femain.cpp
index 415ab6f..e6580cb 100644
--- a/src/frontend/framework/femain.cpp
+++ b/src/frontend/framework/femain.cpp
@@ -1,3 +1,20 @@
+/*
+ * Copyright 2009 CrossWire Bible Society (http://www.crosswire.org)
+ * CrossWire Bible Society
+ * P. O. Box 2528
+ * Tempe, AZ 85280-2528
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation version 2.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ */
+
#include <femain.h>
FEMain::FEMain() {
diff --git a/src/frontend/im/hebrewmcim.cpp b/src/frontend/im/hebrewmcim.cpp
index 9ec55a9..c8bb5fa 100644
--- a/src/frontend/im/hebrewmcim.cpp
+++ b/src/frontend/im/hebrewmcim.cpp
@@ -8,6 +8,19 @@
* @version 1.0
*/
+/*
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation version 2.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ */
+
+
#include <hebrewmcim.h>
HebrewMCIM::HebrewMCIM()
diff --git a/src/frontend/im/nullim.cpp b/src/frontend/im/nullim.cpp
index a4f4aad..bceeb23 100644
--- a/src/frontend/im/nullim.cpp
+++ b/src/frontend/im/nullim.cpp
@@ -1,3 +1,20 @@
+/*
+ * Copyright 2009 CrossWire Bible Society (http://www.crosswire.org)
+ * CrossWire Bible Society
+ * P. O. Box 2528
+ * Tempe, AZ 85280-2528
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation version 2.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ */
+
#include <nullim.h>
diff --git a/src/frontend/im/swinputmeth.cpp b/src/frontend/im/swinputmeth.cpp
index 7f64865..7ba60dd 100644
--- a/src/frontend/im/swinputmeth.cpp
+++ b/src/frontend/im/swinputmeth.cpp
@@ -7,6 +7,18 @@
* @version 1.0
*/
+/*
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation version 2.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ */
+
#include <swinputmeth.h>
SWInputMethod::SWInputMethod() {
diff --git a/src/frontend/swdisp.cpp b/src/frontend/swdisp.cpp
index e7208e0..bf46ff2 100644
--- a/src/frontend/swdisp.cpp
+++ b/src/frontend/swdisp.cpp
@@ -1,8 +1,24 @@
/******************************************************************************
* swdisp.cpp - code for base class 'swdisp'. swdisp is the basis for all
* types of displays (e.g. raw textout, curses, xwindow, etc.)
+ *
+ * Copyright 2009 CrossWire Bible Society (http://www.crosswire.org)
+ * CrossWire Bible Society
+ * P. O. Box 2528
+ * Tempe, AZ 85280-2528
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation version 2.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
*/
+
#ifndef _WIN32_WCE
#include <iostream>
#endif
diff --git a/src/frontend/swlog.cpp b/src/frontend/swlog.cpp
index 13b025b..74b6bd4 100644
--- a/src/frontend/swlog.cpp
+++ b/src/frontend/swlog.cpp
@@ -1,3 +1,20 @@
+/*
+ * Copyright 2009 CrossWire Bible Society (http://www.crosswire.org)
+ * CrossWire Bible Society
+ * P. O. Box 2528
+ * Tempe, AZ 85280-2528
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation version 2.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ */
+
//---------------------------------------------------------------------------
#include <stdarg.h>
diff --git a/src/keys/genarray.c b/src/keys/genarray.c
index 331d4af..112b0f6 100644
--- a/src/keys/genarray.c
+++ b/src/keys/genarray.c
@@ -1,3 +1,20 @@
+/*
+ * Copyright 2009 CrossWire Bible Society (http://www.crosswire.org)
+ * CrossWire Bible Society
+ * P. O. Box 2528
+ * Tempe, AZ 85280-2528
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation version 2.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ */
+
#include <stdio.h>
#include <fcntl.h>
#include <stdlib.h>
diff --git a/src/keys/listkey.cpp b/src/keys/listkey.cpp
index ffafdd4..49bf369 100644
--- a/src/keys/listkey.cpp
+++ b/src/keys/listkey.cpp
@@ -1,9 +1,26 @@
/******************************************************************************
* listkey.cpp - code for base class 'ListKey'. ListKey is the basis for all
- * types of keys that have lists of specified indexes
- * (e.g. a list of verses, place, etc.)
+ * types of keys that have lists of specified indexes
+ * (e.g. a list of verses, place, etc.)
+ *
+ *
+ * Copyright 2009 CrossWire Bible Society (http://www.crosswire.org)
+ * CrossWire Bible Society
+ * P. O. Box 2528
+ * Tempe, AZ 85280-2528
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation version 2.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
*/
+
#include <utilstr.h>
#include <stdlib.h>
#include <swkey.h>
@@ -41,6 +58,8 @@ ListKey::ListKey(ListKey const &k) : SWKey(k.keytext) {
void ListKey::init() {
myclass = &classdef;
+ // this is a listkey, bound is always set
+ boundSet = true;
}
@@ -281,6 +300,24 @@ const char *ListKey::getRangeText() const {
/******************************************************************************
+ * ListKey::getOSISRefRangeText - returns parsable range text for this key
+ */
+
+const char *ListKey::getOSISRefRangeText() const {
+ char *buf = new char[(arraycnt + 1) * 255];
+ buf[0] = 0;
+ for (int i = 0; i < arraycnt; i++) {
+ strcat(buf, array[i]->getOSISRefRangeText());
+ if (i < arraycnt-1)
+ strcat(buf, ";");
+ }
+ stdstr(&rangeText, buf);
+ delete [] buf;
+ return rangeText;
+}
+
+
+/******************************************************************************
* ListKey::getText - returns text key if (const char *) cast is requested
*/
diff --git a/src/keys/strkey.cpp b/src/keys/strkey.cpp
index 1d84650..4171e36 100644
--- a/src/keys/strkey.cpp
+++ b/src/keys/strkey.cpp
@@ -1,9 +1,26 @@
/******************************************************************************
* StrKey.cpp - code for class 'StrKey'- a standard string key class (used
- * for modules that index on single strings (eg. cities,
- * names, words, etc.)
+ * for modules that index on single strings (eg. cities,
+ * names, words, etc.)
+ *
+ *
+ * Copyright 2009 CrossWire Bible Society (http://www.crosswire.org)
+ * CrossWire Bible Society
+ * P. O. Box 2528
+ * Tempe, AZ 85280-2528
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation version 2.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
*/
+
#include <swmacs.h>
#include <strkey.h>
#include <stdio.h>
diff --git a/src/keys/swkey.cpp b/src/keys/swkey.cpp
index 0557c40..3709cdc 100644
--- a/src/keys/swkey.cpp
+++ b/src/keys/swkey.cpp
@@ -2,16 +2,35 @@
* swkey.cpp - code for base class 'SWKey'. SWKey is the basis for all
* types of keys for indexing into modules (e.g. verse, word,
* place, etc.)
+ *
+ *
+ * Copyright 2009 CrossWire Bible Society (http://www.crosswire.org)
+ * CrossWire Bible Society
+ * P. O. Box 2528
+ * Tempe, AZ 85280-2528
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation version 2.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
*/
+
#include <swkey.h>
#include <utilstr.h>
#include <string.h>
+#include <localemgr.h>
SWORD_NAMESPACE_START
static const char *classes[] = {"SWKey", "SWObject", 0};
SWClass SWKey::classdef(classes);
+SWKey::LocaleCache SWKey::localeCache;
/******************************************************************************
* SWKey Constructor - initializes instance of SWKey
@@ -21,6 +40,7 @@ SWClass SWKey::classdef(classes);
SWKey::SWKey(const char *ikey)
{
+ init();
index = 0;
persist = 0;
keytext = 0;
@@ -28,11 +48,12 @@ SWKey::SWKey(const char *ikey)
error = 0;
userData = 0;
stdstr(&keytext, ikey);
- init();
}
SWKey::SWKey(SWKey const &k)
{
+ init();
+ stdstr(&localeName, k.localeName);
index = k.index;
persist = k.persist;
userData = k.userData;
@@ -40,12 +61,14 @@ SWKey::SWKey(SWKey const &k)
rangeText = 0;
error = k.error;
setText(k.getText());
- init();
}
void SWKey::init() {
myclass = &classdef;
boundSet = false;
+ locale = 0;
+ localeName = 0;
+ setLocale(LocaleMgr::getSystemLocaleMgr()->getDefaultLocaleName());
}
SWKey *SWKey::clone() const
@@ -58,10 +81,9 @@ SWKey *SWKey::clone() const
*/
SWKey::~SWKey() {
- if (keytext)
- delete [] keytext;
- if (rangeText)
- delete [] rangeText;
+ delete [] keytext;
+ delete [] rangeText;
+ delete [] localeName;
}
@@ -80,6 +102,28 @@ char SWKey::Persist() const
/******************************************************************************
+ * SWKey::getPrivateLocale - Gets a real locale object from our name
+ *
+ * RET: locale object associated with our name
+ */
+
+SWLocale *SWKey::getPrivateLocale() const {
+ if (!locale) {
+ if ((!localeCache.name) || (strcmp(localeCache.name, localeName))) {
+ stdstr(&(localeCache.name), localeName);
+ // this line is the entire bit of work we're trying to avoid with the cache
+ // worth it? compare time examples/cmdline/search KJV "God love world" to
+ // same with this method reduced to:
+ // if (!local) local = ... (call below); return locale;
+ localeCache.locale = LocaleMgr::getSystemLocaleMgr()->getLocale(localeName);
+ }
+ locale = localeCache.locale;
+ }
+ return locale;
+}
+
+
+/******************************************************************************
* SWKey::Persist - Set/gets whether this object itself persists within a
* module that it was used to setKey or just a copy.
* (1 - persists in module; 0 - a copy is attempted
@@ -133,6 +177,7 @@ void SWKey::setText(const char *ikey) {
void SWKey::copyFrom(const SWKey &ikey) {
// not desirable Persist(ikey.Persist());
+ setLocale(ikey.getLocale());
setText((const char *)ikey);
}
@@ -157,6 +202,15 @@ const char *SWKey::getRangeText() const {
/******************************************************************************
+ * SWKey::getOSISRefRangeText - returns parsable range text for this key
+ */
+
+const char *SWKey::getOSISRefRangeText() const {
+ return getRangeText();
+}
+
+
+/******************************************************************************
* SWKey::compare - Compares another VerseKey object
*
* ENT: ikey - key to compare with this one
diff --git a/src/keys/treekey.cpp b/src/keys/treekey.cpp
index 2b217ee..ce769a1 100644
--- a/src/keys/treekey.cpp
+++ b/src/keys/treekey.cpp
@@ -1,7 +1,7 @@
/******************************************************************************
* versekey.h - code for class 'versekey'- a standard Biblical verse key
*
- * $Id: treekey.cpp 1994 2006-11-20 20:24:06Z scribe $
+ * $Id: treekey.cpp 2178 2008-06-20 15:10:47Z scribe $
*
* Copyright 1998 CrossWire Bible Society (http://www.crosswire.org)
* CrossWire Bible Society
@@ -32,6 +32,7 @@ SWClass TreeKey::classdef(classes);
void TreeKey::init() {
myclass = &classdef;
unsnappedKeyText = "";
+ posChangeListener = 0;
}
diff --git a/src/keys/treekeyidx.cpp b/src/keys/treekeyidx.cpp
index 738d17a..cc93fc0 100644
--- a/src/keys/treekeyidx.cpp
+++ b/src/keys/treekeyidx.cpp
@@ -1,7 +1,7 @@
/******************************************************************************
* versekey.h - code for class 'versekey'- a standard Biblical verse key
*
- * $Id: treekeyidx.cpp 2147 2008-03-14 06:54:18Z scribe $
+ * $Id: treekeyidx.cpp 2280 2009-03-07 15:34:36Z scribe $
*
* Copyright 1998 CrossWire Bible Society (http://www.crosswire.org)
* CrossWire Bible Society
@@ -91,7 +91,7 @@ const char *TreeKeyIdx::getLocalName() {
}
-const char *TreeKeyIdx::getUserData(int *size) {
+const char *TreeKeyIdx::getUserData(int *size) const {
unsnappedKeyText = "";
if (size)
*size = (int)currentNode.dsize;
@@ -127,12 +127,25 @@ void TreeKeyIdx::save() {
void TreeKeyIdx::root() {
error = getTreeNodeFromIdxOffset(0, &currentNode);
+ positionChanged();
+}
+
+int TreeKeyIdx::getLevel() {
+ TreeNode iterator;
+ iterator.parent = currentNode.parent;
+ int level = 0;
+ while (iterator.parent > -1) {
+ level++;
+ getTreeNodeFromIdxOffset(iterator.parent, &iterator);
+ }
+ return level;
}
bool TreeKeyIdx::parent() {
if (currentNode.parent > -1) {
error = getTreeNodeFromIdxOffset(currentNode.parent, &currentNode);
+ positionChanged();
return true;
}
return false;
@@ -142,6 +155,7 @@ bool TreeKeyIdx::parent() {
bool TreeKeyIdx::firstChild() {
if (currentNode.firstChild > -1) {
error = getTreeNodeFromIdxOffset(currentNode.firstChild, &currentNode);
+ positionChanged();
return true;
}
return false;
@@ -151,6 +165,7 @@ bool TreeKeyIdx::firstChild() {
bool TreeKeyIdx::nextSibling() {
if (currentNode.next > -1) {
error = getTreeNodeFromIdxOffset(currentNode.next, &currentNode);
+ positionChanged();
return true;
}
return false;
@@ -168,6 +183,7 @@ bool TreeKeyIdx::previousSibling() {
getTreeNodeFromIdxOffset(iterator.next, &iterator);
if (iterator.next > -1) {
error = getTreeNodeFromIdxOffset(iterator.offset, &currentNode);
+ positionChanged();
return true;
}
}
@@ -195,6 +211,7 @@ void TreeKeyIdx::append() {
currentNode.clear();
currentNode.offset = idxOffset;
currentNode.parent = parent;
+ positionChanged();
}
}
@@ -212,6 +229,7 @@ void TreeKeyIdx::appendChild() {
currentNode.offset = idxOffset;
currentNode.parent = parent;
}
+ positionChanged();
}
@@ -253,6 +271,7 @@ void TreeKeyIdx::remove() {
}
}
}
+ positionChanged();
}
}
@@ -292,7 +311,7 @@ signed char TreeKeyIdx::create(const char *ipath) {
newTree.saveTreeNode(&root);
delete [] path;
-
+
return 0;
}
@@ -394,6 +413,7 @@ unsigned long TreeKeyIdx::getOffset() const {
void TreeKeyIdx::setOffset(unsigned long offset) {
error = getTreeNodeFromIdxOffset(offset, &currentNode);
+ positionChanged();
}
@@ -461,6 +481,7 @@ void TreeKeyIdx::copyFrom(const TreeKeyIdx &ikey) {
idxfd = FileMgr::getSystemFileMgr()->open(ikey.idxfd->path, ikey.idxfd->mode, ikey.idxfd->perms);
datfd = FileMgr::getSystemFileMgr()->open(ikey.datfd->path, ikey.datfd->mode, ikey.datfd->perms);
}
+ positionChanged();
}
@@ -520,6 +541,7 @@ void TreeKeyIdx::setText(const char *ikey) {
error = KEYERR_OUTOFBOUNDS;
delete [] buf;
unsnappedKeyText = ikey;
+ positionChanged();
}
@@ -527,6 +549,7 @@ void TreeKeyIdx::setText(const char *ikey) {
void TreeKeyIdx::copyFrom(const SWKey &ikey) {
unsnappedKeyText = ikey;
SWKey::copyFrom(ikey);
+ positionChanged();
}
void TreeKeyIdx::setPosition(SW_POSITION p) {
@@ -538,6 +561,7 @@ void TreeKeyIdx::setPosition(SW_POSITION p) {
error = getTreeNodeFromIdxOffset(idxfd->seek(-4, SEEK_END), &currentNode);
break;
}
+ positionChanged();
Error(); // clear error from normalize
}
@@ -557,10 +581,15 @@ int TreeKeyIdx::compare(const SWKey &ikey) {
void TreeKeyIdx::decrement(int steps) {
error = getTreeNodeFromIdxOffset(currentNode.offset - (4*steps), &currentNode);
+ positionChanged();
}
void TreeKeyIdx::increment(int steps) {
error = getTreeNodeFromIdxOffset(currentNode.offset + (4*steps), &currentNode);
+ if (error) {
+// SWLog::getSystemLog()->logError("error: %d", error);
+ }
+ positionChanged();
/*
// assert positive
diff --git a/src/keys/versekey.cpp b/src/keys/versekey.cpp
index cb7bbfc..9c50a04 100644
--- a/src/keys/versekey.cpp
+++ b/src/keys/versekey.cpp
@@ -1,7 +1,24 @@
/******************************************************************************
* VerseKey.cpp - code for class 'VerseKey'- a standard Biblical verse key
+ *
+ *
+ * Copyright 2009 CrossWire Bible Society (http://www.crosswire.org)
+ * CrossWire Bible Society
+ * P. O. Box 2528
+ * Tempe, AZ 85280-2528
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation version 2.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
*/
+
#include <swmacs.h>
#include <stdio.h>
#include <fcntl.h>
@@ -13,9 +30,9 @@
#include <swkey.h>
#include <swlog.h>
#include <versekey.h>
-#include <localemgr.h>
#include <swlocale.h>
#include <roman.h>
+#include <versemgr.h>
SWORD_NAMESPACE_START
@@ -26,23 +43,15 @@ SWClass VerseKey::classdef(classes);
* Initialize static members of VerseKey
*/
-#include <canon.h> // Initialize static members of canonical books structure
-
-struct sbook *VerseKey::builtin_books[2] = {0,0};
-const char VerseKey::builtin_BMAX[2] = {39, 27};
-long *VerseKey::offsets[2][2] = {{VerseKey::otbks, VerseKey::otcps}, {VerseKey::ntbks, VerseKey::ntcps}};
int VerseKey::instance = 0;
-VerseKey::LocaleCache VerseKey::localeCache;
/******************************************************************************
* VerseKey::init - initializes instance of VerseKey
*/
-void VerseKey::init() {
+void VerseKey::init(const char *v11n) {
myclass = &classdef;
- if (!instance)
- initstatics();
instance++;
autonorm = 1; // default auto normalization to true
@@ -50,13 +59,15 @@ void VerseKey::init() {
upperBound = 0;
lowerBound = 0;
boundSet = false;
- testament = 0;
- book = 0;
- chapter = 0;
- verse = 0;
- locale = 0;
-
- setLocale(LocaleMgr::getSystemLocaleMgr()->getDefaultLocaleName());
+ testament = 1;
+ book = 1;
+ chapter = 1;
+ verse = 1;
+ suffix = 0;
+ tmpClone = 0;
+ refSys = 0;
+
+ setVersificationSystem(v11n);
}
/******************************************************************************
@@ -104,6 +115,57 @@ VerseKey::VerseKey(VerseKey const &k) : SWKey(k)
/******************************************************************************
+ * VerseKey::setFromOther - Positions this VerseKey to another VerseKey
+ */
+
+void VerseKey::setFromOther(const VerseKey &ikey) {
+ if (refSys == ikey.refSys) {
+ testament = ikey.Testament();
+ book = ikey.Book();
+ chapter = ikey.Chapter();
+ verse = ikey.Verse();
+ suffix = ikey.getSuffix();
+ }
+ // Here is where we will do v11n system conversions in the future
+ // when we have a conversion mechanism (Ben Morgan has started
+ // thinking about this)
+ else {
+ // For now, this is the best we can do
+ setText(ikey.getText());
+ }
+}
+
+
+void VerseKey::positionFrom(const SWKey &ikey) {
+ error = 0;
+ const SWKey *fromKey = &ikey;
+ ListKey *tryList = SWDYNAMIC_CAST(ListKey, fromKey);
+ if (tryList) {
+ SWKey *k = tryList->getElement();
+ if (k) fromKey = k;
+ }
+ VerseKey *tryVerse = SWDYNAMIC_CAST(VerseKey, fromKey);
+ if (tryVerse) {
+ setFromOther(*tryVerse);
+ }
+ else {
+ SWKey::positionFrom(*fromKey);
+ parse();
+ }
+
+ // should we always perform bounds checks? Tried but seems to cause infinite recursion
+ if (_compare(UpperBound()) > 0) {
+ setFromOther(UpperBound());
+ error = KEYERR_OUTOFBOUNDS;
+ }
+ if (_compare(LowerBound()) < 0) {
+ setFromOther(LowerBound());
+ error = KEYERR_OUTOFBOUNDS;
+ }
+}
+
+
+/******************************************************************************
* VerseKey::copyFrom - Equates this VerseKey to another VerseKey
*/
@@ -114,6 +176,9 @@ void VerseKey::copyFrom(const VerseKey &ikey) {
book = ikey.Book();
chapter = ikey.Chapter();
verse = ikey.Verse();
+ suffix = ikey.getSuffix();
+ setLocale(ikey.getLocale());
+ setVersificationSystem(ikey.getVersificationSystem());
if (ikey.isBoundSet()) {
LowerBound(ikey.LowerBound());
UpperBound(ikey.UpperBound());
@@ -145,11 +210,19 @@ void VerseKey::copyFrom(const SWKey &ikey) {
}
-VerseKey::VerseKey(const char *min, const char *max) : SWKey()
+VerseKey::VerseKey(const char *min, const char *max, const char *v11n) : SWKey()
{
- init();
- LowerBound(min);
- UpperBound(max);
+ init(v11n);
+ ListKey tmpListKey = ParseVerseList(min);
+ if (tmpListKey.Count()) {
+ VerseKey *newElement = SWDYNAMIC_CAST(VerseKey, tmpListKey.GetElement(0));
+ LowerBound(*newElement);
+ }
+ tmpListKey = ParseVerseList(max, min, true);
+ if (tmpListKey.Count()) {
+ VerseKey *newElement = SWDYNAMIC_CAST(VerseKey, tmpListKey.GetElement(0));
+ UpperBound((newElement->isBoundSet())?newElement->UpperBound():*newElement);
+ }
setPosition(TOP);
}
@@ -167,117 +240,33 @@ SWKey *VerseKey::clone() const
*/
VerseKey::~VerseKey() {
- if (upperBound)
- delete upperBound;
- if (lowerBound)
- delete lowerBound;
- if (locale)
- delete [] locale;
+
+ delete tmpClone;
--instance;
}
-void VerseKey::setLocale(const char *name) {
- char *BMAX;
- struct sbook **lbooks;
- bool useCache = false;
+void VerseKey::setVersificationSystem(const char *name) {
+ const VerseMgr::System *newRefSys = VerseMgr::getSystemVerseMgr()->getVersificationSystem(name);
+ // TODO: cheese, but what should we do if requested v11n system isn't found?
+ if (!newRefSys) newRefSys = VerseMgr::getSystemVerseMgr()->getVersificationSystem("KJV");
+ if (refSys != newRefSys) {
+ refSys = newRefSys;
+ BMAX[0] = refSys->getBMAX()[0];
+ BMAX[1] = refSys->getBMAX()[1];
- if (localeCache.name)
- useCache = (!strcmp(localeCache.name, name));
-
- if (!useCache) { // if we're setting params for a new locale
- stdstr(&(localeCache.name), name);
- localeCache.abbrevsCnt = 0;
- }
-
- SWLocale *locale = (useCache) ? localeCache.locale : LocaleMgr::getSystemLocaleMgr()->getLocale(name);
- localeCache.locale = locale;
-
- if (locale) {
- locale->getBooks(&BMAX, &lbooks);
- setBooks(BMAX, lbooks);
- setBookAbbrevs(locale->getBookAbbrevs(), localeCache.abbrevsCnt);
- localeCache.abbrevsCnt = abbrevsCnt;
+ // TODO: adjust bounds for versificaion system ???
+ // TODO: when we have mapping done, rethink this
+ //necessary as our bounds might not mean anything in the new v11n system
+ ClearBounds();
}
- else {
- setBooks(builtin_BMAX, builtin_books);
- setBookAbbrevs(builtin_abbrevs, localeCache.abbrevsCnt);
- localeCache.abbrevsCnt = abbrevsCnt;
- }
- stdstr(&(this->locale), localeCache.name);
-
- if (lowerBound)
- LowerBound().setLocale(name);
- if (upperBound)
- UpperBound().setLocale(name);
-}
-
-void VerseKey::setBooks(const char *iBMAX, struct sbook **ibooks) {
- BMAX = iBMAX;
- books = ibooks;
-}
-
-void VerseKey::setBookAbbrevs(const struct abbrev *bookAbbrevs, unsigned int size) {
- abbrevs = bookAbbrevs;
- if (!size) {
- for (abbrevsCnt = 0; *abbrevs[abbrevsCnt].ab; abbrevsCnt++) {
- /*
- if (strcmp(abbrevs[abbrevsCnt-1].ab, abbrevs[abbrevsCnt].ab) > 0) {
- fprintf(stderr, "ERROR: book abbreviation (canon.h or locale) misordered at entry: %s\n", abbrevs[abbrevsCnt].ab);
- exit(-1);
- }
- */
- }
-
- if (SWLog::getSystemLog()->getLogLevel() > 0) { //make sure log is wanted, this loop stuff costs a lot of time
- for (int t = 0; t < 2; t++) {
- for (int i = 0; i < BMAX[t]; i++) {
- const int bn = getBookAbbrev(books[t][i].name);
- if ((bn-1)%39 != i) {
- SWLog::getSystemLog()->logError("VerseKey::Book: %s does not have a matching toupper abbrevs entry! book number returned was: %d(%d). Required entry should be:",
- books[t][i].name, bn, i);
- char *abbr = 0;
- stdstr(&abbr, books[t][i].name, 2);
- strstrip(abbr);
-
- StringMgr* stringMgr = StringMgr::getSystemStringMgr();
- const bool hasUTF8Support = StringMgr::hasUTF8Support();
- if (hasUTF8Support) { //we have support for UTF-8 handling; we expect UTF-8 encoded locales
- stringMgr->upperUTF8(abbr, strlen(abbr)*2);
- }
- else {
- stringMgr->upperLatin1(abbr);
- }
- SWLog::getSystemLog()->logError("%s=%d", abbr, (t*39)+i+1);
- }
- }
- }
- }
- }
- else abbrevsCnt = size;
}
-/******************************************************************************
- * VerseKey::initstatics - initializes statics. Performed only when first
- * instance on VerseKey (or descendent) is created.
- */
-
-void VerseKey::initstatics() {
- int l1, l2, chaptmp = 0;
-
- builtin_books[0] = otbooks;
- builtin_books[1] = ntbooks;
+const char *VerseKey::getVersificationSystem() const { return refSys->getName(); }
- for (l1 = 0; l1 < 2; l1++) {
- for (l2 = 0; l2 < builtin_BMAX[l1]; l2++) {
- builtin_books[l1][l2].versemax = &vm[chaptmp];
- chaptmp += builtin_books[l1][l2].chapmax;
- }
- }
-}
/******************************************************************************
@@ -288,37 +277,18 @@ void VerseKey::initstatics() {
char VerseKey::parse(bool checkAutoNormalize)
{
-
-
- testament = 2;
- book = BMAX[1];
+ testament = BMAX[1]?2:1;
+ book = BMAX[BMAX[1]?1:0];
chapter = 1;
verse = 1;
- int booklen = 0;
int error = 0;
if (keytext) {
- ListKey tmpListKey = VerseKey::ParseVerseList(keytext);
+ ListKey tmpListKey = ParseVerseList(keytext);
if (tmpListKey.Count()) {
- SWKey::setText((const char *)tmpListKey);
- for (int i = 1; i < 3; i++) {
- for (int j = 1; j <= BMAX[i-1]; j++) {
- int matchlen = strlen(books[i-1][j-1].name);
- if (!strncmp(keytext, books[i-1][j-1].name, matchlen)) {
- if (matchlen > booklen) {
- booklen = matchlen;
- testament = i;
- book = j;
- }
- }
- }
- }
-
- if (booklen) {
- sscanf(&keytext[booklen], "%d:%d", &chapter, &verse);
- }
- else error = 1;
+ this->positionFrom(*tmpListKey.getElement(0));
+ error = this->error;
} else error = 1;
}
if (checkAutoNormalize) {
@@ -338,7 +308,7 @@ char VerseKey::parse(bool checkAutoNormalize)
void VerseKey::freshtext() const
{
char buf[2024];
- int realtest = testament;
+ int realTest = testament;
int realbook = book;
if (book < 1) {
@@ -347,14 +317,18 @@ void VerseKey::freshtext() const
else sprintf(buf, "[ Testament %d Heading ]", (int)testament);
}
else {
- if (realbook > BMAX[realtest-1]) {
- realbook -= BMAX[realtest-1];
- if (realtest < 2)
- realtest++;
- if (realbook > BMAX[realtest-1])
- realbook = BMAX[realtest-1];
+ if (realbook > BMAX[realTest-1]) {
+ realbook -= BMAX[realTest-1];
+ if (realTest < 2)
+ realTest++;
+ if (realbook > BMAX[realTest-1])
+ realbook = BMAX[realTest-1];
+ }
+ sprintf(buf, "%s %d:%d", getBookName(), chapter, verse);
+ if (suffix) {
+ buf[strlen(buf)+1] = 0;
+ buf[strlen(buf)] = suffix;
}
- sprintf(buf, "%s %d:%d", books[realtest-1][realbook-1].name, chapter, verse);
}
stdstr((char **)&keytext, buf);
@@ -362,19 +336,24 @@ void VerseKey::freshtext() const
-/******************************************************************************
- * VerseKey::getBookAbbrev - Attempts to find a book abbreviation for a buffer
+/************************************************************************
+ * VerseKey::getBookAbbrev - Attempts to find a book no from a name or
+ * abbreviation
*
* ENT: abbr - key for which to search;
* RET: book number or < 0 = not valid
*/
-int VerseKey::getBookAbbrev(const char *iabbr)
+int VerseKey::getBookAbbrev(const char *iabbr) const
{
int diff, abLen, min, max, target, retVal = -1;
char *abbr = 0;
+ int abbrevsCnt;
+
+ const struct abbrev *abbrevs = getPrivateLocale()->getBookAbbrevs(&abbrevsCnt);
+
StringMgr* stringMgr = StringMgr::getSystemStringMgr();
const bool hasUTF8Support = StringMgr::hasUTF8Support();
@@ -420,7 +399,15 @@ int VerseKey::getBookAbbrev(const char *iabbr)
break;
}
- retVal = (!diff) ? abbrevs[target].book : -1;
+ if (!diff) {
+ // lets keep moving forward till we find an abbrev in our refSys
+ retVal = refSys->getBookNumberByOSISName(abbrevs[target].osis);
+ while ((retVal < 0) && (target < max) && (!strncmp(abbr, abbrevs[target+1].ab, abLen))) {
+ target++;
+ retVal = refSys->getBookNumberByOSISName(abbrevs[target].osis);
+ }
+ }
+ else retVal = -1;
}
if (retVal > 0)
break;
@@ -431,6 +418,36 @@ int VerseKey::getBookAbbrev(const char *iabbr)
/******************************************************************************
+ * VerseKey::validateCurrentLocale - be sure a locale book abbrevs set is complete
+ *
+ */
+void VerseKey::validateCurrentLocale() const {
+ if (SWLog::getSystemLog()->getLogLevel() >= SWLog::LOG_DEBUG) { //make sure log is wanted, this loop stuff costs a lot of time
+ for (int i = 0; i < refSys->getBookCount(); i++) {
+ const int bn = getBookAbbrev(getPrivateLocale()->translate(refSys->getBook(i)->getLongName()));
+ if (bn != i+1) {
+ char *abbr = 0;
+ stdstr(&abbr, getPrivateLocale()->translate(refSys->getBook(i)->getLongName()), 2);
+ strstrip(abbr);
+ SWLog::getSystemLog()->logDebug("VerseKey::Book: %s does not have a matching toupper abbrevs entry! book number returned was: %d, should be %d. Required entry to add to locale:", abbr, bn, i);
+
+ StringMgr* stringMgr = StringMgr::getSystemStringMgr();
+ const bool hasUTF8Support = StringMgr::hasUTF8Support();
+ if (hasUTF8Support) { //we have support for UTF-8 handling; we expect UTF-8 encoded locales
+ stringMgr->upperUTF8(abbr, strlen(abbr)*2);
+ }
+ else {
+ stringMgr->upperLatin1(abbr);
+ }
+ SWLog::getSystemLog()->logDebug("%s=%s\n", abbr, refSys->getBook(i)->getOSISName());
+ delete [] abbr;
+ }
+ }
+ }
+}
+
+
+/******************************************************************************
* VerseKey::ParseVerseList - Attempts to parse a buffer into separate
* verse entries returned in a ListKey
*
@@ -446,19 +463,24 @@ int VerseKey::getBookAbbrev(const char *iabbr)
* COMMENT: This code works but wreaks. Rewrite to make more maintainable.
*/
-ListKey VerseKey::ParseVerseList(const char *buf, const char *defaultKey, bool expandRange) {
- char book[2048];
- char number[2048];
+ListKey VerseKey::ParseVerseList(const char *buf, const char *defaultKey, bool expandRange, bool useChapterAsVerse) {
+
+ // hold on to our own copy of params, as threads/recursion may change outside values
+ const char *bufStart = buf;
+ SWBuf iBuf = buf;
+ buf = iBuf.c_str();
+ SWBuf iDefaultKey = defaultKey;
+ if (defaultKey) defaultKey = iDefaultKey.c_str();
+
+ char book[2048]; // TODO: bad, remove
+ char number[2048]; // TODO: bad, remove
*book = 0;
*number = 0;
int tobook = 0;
int tonumber = 0;
+ char suffix = 0;
int chap = -1, verse = -1;
int bookno = 0;
- VerseKey curKey, lBound, lastKey;
- curKey.setLocale(getLocale());
- lBound.setLocale(getLocale());
- lastKey.setLocale(getLocale());
int loop;
char comma = 0;
char dash = 0;
@@ -470,13 +492,50 @@ ListKey VerseKey::ParseVerseList(const char *buf, const char *defaultKey, bool e
bool inTerm = true;
int notAllDigits = 0;
- curKey.AutoNormalize(0);
- if (defaultKey) lastKey = defaultKey;
-
+ // assert we have a buffer
+ if (!buf) return internalListKey;
+
+ VerseKey *curKey = (VerseKey *)this->clone();
+ VerseKey *lastKey = (VerseKey *)this->clone();
+ lastKey->ClearBounds();
+ curKey->ClearBounds();
+
+ // some silly checks for corner cases
+ if (!strcmp(buf, "[ Module Heading ]")) {
+ curKey->Verse(0);
+ curKey->Chapter(0);
+ curKey->Book(0);
+ curKey->Testament(0);
+ lastKey->LowerBound(*curKey);
+ lastKey->UpperBound(*curKey);
+ internalListKey << *lastKey;
+ delete curKey;
+ delete lastKey;
+ return internalListKey;
+ }
+ if ((!strncmp(buf, "[ Testament ", 12)) &&
+ (isdigit(buf[12])) &&
+ (!strcmp(buf+13, " Heading ]"))) {
+ curKey->Verse(0);
+ curKey->Chapter(0);
+ curKey->Book(0);
+ curKey->Testament(buf[12]-48);
+ lastKey->LowerBound(*curKey);
+ lastKey->UpperBound(*curKey);
+ internalListKey << *lastKey;
+ delete curKey;
+ delete lastKey;
+ return internalListKey;
+ }
+
+ curKey->AutoNormalize(AutoNormalize());
+ lastKey->AutoNormalize(0);
+ if (defaultKey) *lastKey = defaultKey;
+
while (*buf) {
switch (*buf) {
case ':':
- if (buf[1] != ' ') { // for silly Mat 1:1: this verse....
+ if (buf[1] != ' ') { // for silly "Mat 1:1: this verse...."
number[tonumber] = 0;
tonumber = 0;
if (*number)
@@ -502,7 +561,7 @@ ListKey VerseKey::ParseVerseList(const char *buf, const char *defaultKey, bool e
break;
}
- case '-':
+ case '-':
case ',': // on number new verse
case ';': // on number new chapter
number[tonumber] = 0;
@@ -535,7 +594,8 @@ ListKey VerseKey::ParseVerseList(const char *buf, const char *defaultKey, bool e
for (loop = strlen(book) - 1; loop+1; loop--) {
if (book[loop] == ' ') {
- if (isroman(&book[loop+1])) {
+ // "PS C" is ok, but "II C" is not ok
+ if (isroman(&book[loop+1]) && !isroman(book,loop)) {
if (verse == -1) {
verse = chap;
chap = from_rom(&book[loop+1]);
@@ -549,49 +609,64 @@ ListKey VerseKey::ParseVerseList(const char *buf, const char *defaultKey, bool e
if ((!stricmp(book, "V")) || (!stricmp(book, "VER"))) { // Verse abbrev
if (verse == -1) {
verse = chap;
- chap = lastKey.Chapter();
+ chap = lastKey->Chapter();
*book = 0;
}
}
if ((!stricmp(book, "ch")) || (!stricmp(book, "chap"))) { // Verse abbrev
- strcpy(book, lastKey.getBookName());
+ strcpy(book, lastKey->getBookName());
}
bookno = getBookAbbrev(book);
}
if (((bookno > -1) || (!*book)) && ((*book) || (chap >= 0) || (verse >= 0))) {
char partial = 0;
- curKey.Verse(1);
- curKey.Chapter(1);
- curKey.Book(1);
+ curKey->Verse(1);
+ curKey->Chapter(1);
+ curKey->Book(1);
if (bookno < 0) {
- curKey.Testament(lastKey.Testament());
- curKey.Book(lastKey.Book());
+ curKey->Testament(lastKey->Testament());
+ curKey->Book(lastKey->Book());
}
else {
- curKey.Testament(1);
- curKey.Book(bookno);
+ int t = 1;
+ if (bookno > BMAX[0]) {
+ t++;
+ bookno -= BMAX[0];
+ }
+ curKey->Testament(t);
+ curKey->Book(bookno);
}
+
if (((comma)||((verse < 0)&&(bookno < 0)))&&(!lastPartial)) {
// if (comma) {
- curKey.Chapter(lastKey.Chapter());
- curKey.Verse(chap); // chap because this is the first number captured
+ curKey->Chapter(lastKey->Chapter());
+ curKey->Verse(chap); // chap because this is the first number captured
}
else {
+ if (useChapterAsVerse && verse < 0 && chap > 0 && curKey->getChapterMax() == 1) {
+ verse = chap;
+ chap = 1;
+ }
+
+
if (chap >= 0) {
- curKey.Chapter(chap);
+ curKey->Chapter(chap);
}
else {
partial++;
- curKey.Chapter(1);
+ curKey->Chapter(1);
}
if (verse >= 0) {
- curKey.Verse(verse);
+ curKey->Verse(verse);
+ if (suffix) {
+ curKey->setSuffix(suffix);
+ }
}
else {
partial++;
- curKey.Verse(1);
+ curKey->Verse(1);
}
}
@@ -599,43 +674,42 @@ ListKey VerseKey::ParseVerseList(const char *buf, const char *defaultKey, bool e
for (q = 0; ((buf[q]) && (buf[q] == ' ')); q++);
if ((buf[q] == '-') && (expandRange)) { // if this is a dash save lowerBound and wait for upper
buf+=q;
- lastKey.LowerBound(curKey);
- lastKey.setPosition(TOP);
- tmpListKey << lastKey;
- tmpListKey.GetElement()->userData = (void *)buf;
+ lastKey->LowerBound(*curKey);
+ lastKey->setPosition(TOP);
+ tmpListKey << *lastKey;
+ tmpListKey.GetElement()->userData = (void *)(bufStart+(buf-iBuf.c_str()));
}
else {
if (!dash) { // if last separator was not a dash just add
if (expandRange && partial) {
- lastKey.LowerBound(curKey);
+ lastKey->LowerBound(*curKey);
if (partial > 1)
- curKey.setPosition(MAXCHAPTER);
+ curKey->setPosition(MAXCHAPTER);
if (partial > 0)
- curKey = MAXVERSE;
- lastKey.UpperBound(curKey);
- lastKey = TOP;
- tmpListKey << lastKey;
- tmpListKey.GetElement()->userData = (void *)buf;
+ *curKey = MAXVERSE;
+ lastKey->UpperBound(*curKey);
+ *lastKey = TOP;
+ tmpListKey << *lastKey;
+ tmpListKey.GetElement()->userData = (void *)(bufStart+(buf-iBuf.c_str()));
}
else {
- // we store non-range entries as strings so we don't traverse
- // maybe we should consider just setting
- // lowerBound and upperBound to the same value
- tmpListKey << curKey.getText();
- tmpListKey.GetElement()->userData = (void *)buf;
- lastKey = curKey;
+ lastKey->LowerBound(*curKey);
+ lastKey->UpperBound(*curKey);
+ *lastKey = TOP;
+ tmpListKey << *lastKey;
+ tmpListKey.GetElement()->userData = (void *)(bufStart+(buf-iBuf.c_str()));
}
}
else if (expandRange) {
VerseKey *newElement = SWDYNAMIC_CAST(VerseKey, tmpListKey.GetElement());
if (newElement) {
if (partial > 1)
- curKey = MAXCHAPTER;
+ *curKey = MAXCHAPTER;
if (partial > 0)
- curKey = MAXVERSE;
- newElement->UpperBound(curKey);
+ *curKey = MAXVERSE;
+ newElement->UpperBound(*curKey);
*newElement = TOP;
- tmpListKey.GetElement()->userData = (void *)buf;
+ tmpListKey.GetElement()->userData = (void *)(bufStart+(buf-iBuf.c_str()));
}
}
}
@@ -644,6 +718,7 @@ ListKey VerseKey::ParseVerseList(const char *buf, const char *defaultKey, bool e
*book = 0;
chap = -1;
verse = -1;
+ suffix = 0;
if (*buf == ',')
comma = 1;
else comma = 0;
@@ -652,13 +727,13 @@ ListKey VerseKey::ParseVerseList(const char *buf, const char *defaultKey, bool e
else dash = 0;
break;
case 10: // ignore these
- case 13:
- case '[':
- case ']':
- case '(':
- case ')':
- case '{':
- case '}':
+ case 13:
+ case '[':
+ case ']':
+ case '(':
+ case ')':
+ case '{':
+ case '}':
break;
case '.':
if (buf > orig) // ignore (break) if preceeding char is not a digit
@@ -675,7 +750,7 @@ ListKey VerseKey::ParseVerseList(const char *buf, const char *defaultKey, bool e
chap = atoi(number);
*number = 0;
break;
-
+
default:
if (isdigit(*buf)) {
number[tonumber++] = *buf;
@@ -683,12 +758,17 @@ ListKey VerseKey::ParseVerseList(const char *buf, const char *defaultKey, bool e
else {
switch (*buf) {
case ' ': // ignore these and don't reset number
- case 'f':
case 'F':
break;
default:
- number[tonumber] = 0;
- tonumber = 0;
+ // suffixes (and oddly 'f'-- ff.)
+ if ((*buf >= 'a' && *buf <= 'z') && (chap >=0)) {
+ suffix = *buf;
+ }
+ else {
+ number[tonumber] = 0;
+ tonumber = 0;
+ }
break;
}
}
@@ -726,7 +806,8 @@ ListKey VerseKey::ParseVerseList(const char *buf, const char *defaultKey, bool e
for (loop = strlen(book) - 1; loop+1; loop--) {
if (book[loop] == ' ') {
- if (isroman(&book[loop+1])) {
+ // "PS C" is ok, but "II C" is not ok
+ if (isroman(&book[loop+1]) && !isroman(book,loop)) {
if (verse == -1) {
verse = chap;
chap = from_rom(&book[loop+1]);
@@ -735,92 +816,109 @@ ListKey VerseKey::ParseVerseList(const char *buf, const char *defaultKey, bool e
}
break;
}
- }
-
+ }
+
if ((!stricmp(book, "V")) || (!stricmp(book, "VER"))) { // Verse abbrev.
if (verse == -1) {
verse = chap;
- chap = lastKey.Chapter();
+ chap = lastKey->Chapter();
*book = 0;
}
}
-
+
if ((!stricmp(book, "ch")) || (!stricmp(book, "chap"))) { // Verse abbrev
- strcpy(book, lastKey.getBookName());
+ strcpy(book, lastKey->getBookName());
}
bookno = getBookAbbrev(book);
}
if (((bookno > -1) || (!*book)) && ((*book) || (chap >= 0) || (verse >= 0))) {
char partial = 0;
- curKey.Verse(1);
- curKey.Chapter(1);
- curKey.Book(1);
+ curKey->Verse(1);
+ curKey->Chapter(1);
+ curKey->Book(1);
if (bookno < 0) {
- curKey.Testament(lastKey.Testament());
- curKey.Book(lastKey.Book());
+ curKey->Testament(lastKey->Testament());
+ curKey->Book(lastKey->Book());
}
else {
- curKey.Testament(1);
- curKey.Book(bookno);
+ int t = 1;
+ if (bookno > BMAX[0]) {
+ t++;
+ bookno -= BMAX[0];
+ }
+ curKey->Testament(t);
+ curKey->Book(bookno);
}
if (((comma)||((verse < 0)&&(bookno < 0)))&&(!lastPartial)) {
- curKey.Chapter(lastKey.Chapter());
- curKey.Verse(chap); // chap because this is the first number captured
+ curKey->Chapter(lastKey->Chapter());
+ curKey->Verse(chap); // chap because this is the first number captured
}
else {
+ if (useChapterAsVerse && verse < 0 && chap > 0 && curKey->getChapterMax() == 1) {
+ verse = chap;
+ chap = 1;
+ }
+
+
if (chap >= 0) {
- curKey.Chapter(chap);
+ curKey->Chapter(chap);
}
else {
partial++;
- curKey.Chapter(1);
+ curKey->Chapter(1);
}
if (verse >= 0) {
- curKey.Verse(verse);
+ curKey->Verse(verse);
+ if (suffix) {
+ curKey->setSuffix(suffix);
+ }
}
else {
partial++;
- curKey.Verse(1);
+ curKey->Verse(1);
}
}
if ((*buf == '-') && (expandRange)) { // if this is a dash save lowerBound and wait for upper
- lastKey.LowerBound(curKey);
- lastKey = TOP;
- tmpListKey << lastKey;
- tmpListKey.GetElement()->userData = (void *)buf;
+ lastKey->LowerBound(*curKey);
+ *lastKey = TOP;
+ tmpListKey << *lastKey;
+ tmpListKey.GetElement()->userData = (void *)(bufStart+(buf-iBuf.c_str()));
}
else {
if (!dash) { // if last separator was not a dash just add
if (expandRange && partial) {
- lastKey.LowerBound(curKey);
+ lastKey->LowerBound(*curKey);
if (partial > 1)
- curKey = MAXCHAPTER;
+ *curKey = MAXCHAPTER;
if (partial > 0)
- curKey = MAXVERSE;
- lastKey.UpperBound(curKey);
- lastKey = TOP;
- tmpListKey << lastKey;
- tmpListKey.GetElement()->userData = (void *)buf;
+ *curKey = MAXVERSE;
+ lastKey->UpperBound(*curKey);
+ *lastKey = TOP;
+ tmpListKey << *lastKey;
+ tmpListKey.GetElement()->userData = (void *)(bufStart+(buf-iBuf.c_str()));
}
else {
- tmpListKey << curKey.getText();
- tmpListKey.GetElement()->userData = (void *)buf;
- lastKey = curKey;
+ lastKey->LowerBound(*curKey);
+ lastKey->UpperBound(*curKey);
+ *lastKey = TOP;
+ tmpListKey << *lastKey;
+// tmpListKey << curKey->getText();
+ tmpListKey.GetElement()->userData = (void *)(bufStart+(buf-iBuf.c_str()));
}
}
else if (expandRange) {
VerseKey *newElement = SWDYNAMIC_CAST(VerseKey, tmpListKey.GetElement());
if (newElement) {
if (partial > 1)
- curKey = MAXCHAPTER;
+ *curKey = MAXCHAPTER;
if (partial > 0)
- curKey = MAXVERSE;
- newElement->UpperBound(curKey);
+ *curKey = MAXVERSE;
+ newElement->UpperBound(*curKey);
*newElement = TOP;
- tmpListKey.GetElement()->userData = (void *)buf;
+ tmpListKey.GetElement()->userData = (void *)(bufStart+(buf-iBuf.c_str()));
}
}
}
@@ -830,6 +928,9 @@ ListKey VerseKey::ParseVerseList(const char *buf, const char *defaultKey, bool e
internalListKey = tmpListKey;
internalListKey = TOP; // Align internalListKey to first element before passing back;
+ delete curKey;
+ delete lastKey;
+
return internalListKey;
}
@@ -838,16 +939,23 @@ ListKey VerseKey::ParseVerseList(const char *buf, const char *defaultKey, bool e
* VerseKey::LowerBound - sets / gets the lower boundary for this key
*/
-VerseKey &VerseKey::LowerBound(const char *lb)
+VerseKey &VerseKey::LowerBound(const VerseKey &lb)
{
- if (!lowerBound)
- initBounds();
+ initBounds();
- (*lowerBound) = lb;
- lowerBound->Normalize();
- lowerBound->setLocale( this->getLocale() );
+ lowerBound = lb.Index();
+ lowerBoundComponents.test = lb.getTestament();
+ lowerBoundComponents.book = lb.getBook();
+ lowerBoundComponents.chap = lb.getChapter();
+ lowerBoundComponents.verse = lb.getVerse();
+
+ // both this following check and UpperBound check force upperBound to
+ // change allowing LowerBound then UpperBound logic to always flow
+ // and set values without restrictions, as expected
+ if (upperBound < lowerBound) upperBound = lowerBound;
boundSet = true;
- return (*lowerBound);
+
+ return LowerBound();
}
@@ -855,40 +963,21 @@ VerseKey &VerseKey::LowerBound(const char *lb)
* VerseKey::UpperBound - sets / gets the upper boundary for this key
*/
-VerseKey &VerseKey::UpperBound(const char *ub)
+VerseKey &VerseKey::UpperBound(const VerseKey &ub)
{
- if (!upperBound)
- initBounds();
-
-// need to set upperbound parsing to resolve to max verse/chap if not specified
- (*upperBound) = ub;
- if (*upperBound < *lowerBound)
- *upperBound = *lowerBound;
- upperBound->Normalize();
- upperBound->setLocale( this->getLocale() );
-
-// until we have a proper method to resolve max verse/chap use this kludge
- int len = strlen(ub);
- bool alpha = false;
- bool versespec = false;
- bool chapspec = false;
- for (int i = 0; i < len; i++) {
- if (isalpha(ub[i]))
- alpha = true;
- if (ub[i] == ':') // if we have a : we assume verse spec
- versespec = true;
- if ((isdigit(ub[i])) && (alpha)) // if digit after alpha assume chap spec
- chapspec = true;
- }
- if (!chapspec)
- *upperBound = MAXCHAPTER;
- if (!versespec)
- *upperBound = MAXVERSE;
-
+ initBounds();
+
+ upperBound = ub.Index();
+ upperBoundComponents.test = ub.getTestament();
+ upperBoundComponents.book = ub.getBook();
+ upperBoundComponents.chap = ub.getChapter();
+ upperBoundComponents.verse = ub.getVerse();
-// -- end kludge
+ // see LowerBound comment, above
+ if (upperBound < lowerBound) upperBound = lowerBound;
boundSet = true;
- return (*upperBound);
+
+ return UpperBound();
}
@@ -898,10 +987,16 @@ VerseKey &VerseKey::UpperBound(const char *ub)
VerseKey &VerseKey::LowerBound() const
{
- if (!lowerBound)
- initBounds();
+ initBounds();
+ if (!isAutoNormalize()) {
+ tmpClone->testament = lowerBoundComponents.test;
+ tmpClone->book = lowerBoundComponents.book;
+ tmpClone->chapter = lowerBoundComponents.chap;
+ tmpClone->setVerse (lowerBoundComponents.verse);
+ }
+ else tmpClone->Index(lowerBound);
- return (*lowerBound);
+ return (*tmpClone);
}
@@ -911,10 +1006,16 @@ VerseKey &VerseKey::LowerBound() const
VerseKey &VerseKey::UpperBound() const
{
- if (!upperBound)
- initBounds();
+ initBounds();
+ if (!isAutoNormalize()) {
+ tmpClone->testament = upperBoundComponents.test;
+ tmpClone->book = upperBoundComponents.book;
+ tmpClone->chapter = upperBoundComponents.chap;
+ tmpClone->setVerse (upperBoundComponents.verse);
+ }
+ else tmpClone->Index(upperBound);
- return (*upperBound);
+ return (*tmpClone);
}
@@ -924,33 +1025,36 @@ VerseKey &VerseKey::UpperBound() const
void VerseKey::ClearBounds()
{
- initBounds();
+ delete tmpClone;
+ tmpClone = 0;
+ boundSet = false;
}
void VerseKey::initBounds() const
{
- if (!upperBound) {
- upperBound = new VerseKey();
- upperBound->AutoNormalize(0);
- upperBound->Headings(1);
- }
- if (!lowerBound) {
- lowerBound = new VerseKey();
- lowerBound->AutoNormalize(0);
- lowerBound->Headings(1);
- }
-
- lowerBound->Testament(0);
- lowerBound->Book(0);
- lowerBound->Chapter(0);
- lowerBound->Verse(0);
+ if (!tmpClone) {
+ tmpClone = (VerseKey *)this->clone();
+ tmpClone->AutoNormalize(0);
+ tmpClone->Headings(1);
+ tmpClone->Testament((BMAX[1])?2:1);
+ tmpClone->Book(BMAX[(BMAX[1])?1:0]);
+ tmpClone->Chapter(tmpClone->getChapterMax());
+ tmpClone->Verse(tmpClone->getVerseMax());
+ upperBound = tmpClone->Index();
+ upperBoundComponents.test = tmpClone->getTestament();
+ upperBoundComponents.book = tmpClone->getBook();
+ upperBoundComponents.chap = tmpClone->getChapter();
+ upperBoundComponents.verse = tmpClone->getVerse();
+
+ lowerBound = 0;
+ lowerBoundComponents.test = 0;
+ lowerBoundComponents.book = 0;
+ lowerBoundComponents.chap = 0;
+ lowerBoundComponents.verse = 0;
- upperBound->Testament(2);
- upperBound->Book(BMAX[1]);
- upperBound->Chapter(books[1][BMAX[1]-1].chapmax);
- upperBound->Verse(books[1][BMAX[1]-1].versemax[upperBound->Chapter()-1]);
- boundSet = false;
+ }
+ else tmpClone->setLocale(getLocale());
}
@@ -975,7 +1079,7 @@ const char *VerseKey::getShortText() const {
else sprintf(buf, "[ Testament %d Heading ]", (int)testament);
}
else {
- sprintf(buf, "%s %d:%d", books[testament-1][book-1].prefAbbrev, chapter, verse);
+ sprintf(buf, "%s %d:%d", getBookAbbrev(), chapter, verse);
}
stdstr(&stext, buf);
return stext;
@@ -983,13 +1087,20 @@ const char *VerseKey::getShortText() const {
const char *VerseKey::getBookName() const {
- return books[testament-1][book-1].name;
+ return getPrivateLocale()->translate(refSys->getBook(((testament>1)?BMAX[0]:0)+book-1)->getLongName());
+}
+
+
+const char *VerseKey::getOSISBookName() const {
+ return refSys->getBook(((testament>1)?BMAX[0]:0)+book-1)->getOSISName();
}
const char *VerseKey::getBookAbbrev() const {
- return books[testament-1][book-1].prefAbbrev;
+ return refSys->getBook(((testament>1)?BMAX[0]:0)+book-1)->getPreferredAbbreviation();
}
+
+
/******************************************************************************
* VerseKey::setPosition(SW_POSITION) - Positions this key
*
@@ -1000,32 +1111,50 @@ const char *VerseKey::getBookAbbrev() const {
void VerseKey::setPosition(SW_POSITION p) {
switch (p) {
- case POS_TOP:
- testament = LowerBound().Testament();
- book = LowerBound().Book();
- chapter = LowerBound().Chapter();
- verse = LowerBound().Verse();
+ case POS_TOP: {
+ const VerseKey *lb = &LowerBound();
+ testament = (lb->Testament() || headings) ? lb->Testament() : 1;
+ book = (lb->Book() || headings) ? lb->Book() : 1;
+ chapter = (lb->Chapter() || headings) ? lb->Chapter() : 1;
+ verse = (lb->Verse() || headings) ? lb->Verse() : 1;
+ suffix = lb->getSuffix();
break;
- case POS_BOTTOM:
- testament = UpperBound().Testament();
- book = UpperBound().Book();
- chapter = UpperBound().Chapter();
- verse = UpperBound().Verse();
+ }
+ case POS_BOTTOM: {
+ const VerseKey *ub = &UpperBound();
+ testament = (ub->Testament() || headings) ? ub->Testament() : 1;
+ book = (ub->Book() || headings) ? ub->Book() : 1;
+ chapter = (ub->Chapter() || headings) ? ub->Chapter() : 1;
+ verse = (ub->Verse() || headings) ? ub->Verse() : 1;
+ suffix = ub->getSuffix();
break;
+ }
case POS_MAXVERSE:
Normalize();
- verse = books[testament-1][book-1].versemax[chapter-1];
+ verse = getVerseMax();
+ suffix = 0;
break;
case POS_MAXCHAPTER:
verse = 1;
+ suffix = 0;
Normalize();
- chapter = books[testament-1][book-1].chapmax;
+ chapter = getChapterMax();
break;
- }
+ }
Normalize(1);
Error(); // clear error from normalize
}
+int VerseKey::getChapterMax() const {
+ const VerseMgr::Book *b = refSys->getBook(((testament>1)?BMAX[0]:0)+book-1);
+ return (b) ? b->getChapterMax() : -1;
+}
+
+int VerseKey::getVerseMax() const {
+ const VerseMgr::Book *b = refSys->getBook(((testament>1)?BMAX[0]:0)+book-1);
+ return (b) ? b->getVerseMax(chapter) : -1;
+}
+
/******************************************************************************
* VerseKey::increment - Increments key a number of verses
@@ -1079,11 +1208,11 @@ void VerseKey::decrement(int step) {
void VerseKey::Normalize(char autocheck)
{
- error = 0;
if (((!autocheck) || (autonorm)) // only normalize if we were explicitely called or if autonorm is turned on
&&
((!headings) || ((verse) && (chapter)))) { // this is cheeze and temporary until deciding what actions should be taken; so headings should only be turned on when positioning with Index() or incrementors
+ error = 0;
while ((testament < 3) && (testament > 0)) {
@@ -1100,40 +1229,45 @@ void VerseKey::Normalize(char autocheck)
continue;
}
- if (chapter > books[testament-1][book-1].chapmax) {
- chapter -= books[testament-1][book-1].chapmax;
+ if (chapter > getChapterMax()) {
+ chapter -= getChapterMax();
book++;
continue;
}
- if (chapter < 1) {
- if (--book > 0) {
- chapter += books[testament-1][book-1].chapmax;
- }
- else {
- if (testament > 1) {
- chapter += books[0][BMAX[0]-1].chapmax;
- }
- }
- continue;
- }
+ if (chapter < 1) {
+ if (--book > 0) {
+ chapter += getChapterMax();
+ verse = getVerseMax();
+ }
+ else {
+ if (testament > 1) {
+ chapter += refSys->getBook(BMAX[0]-1)->getChapterMax();
+ verse = refSys->getBook(BMAX[0]-1)->getVerseMax(chapter);
+ }
+ }
+ continue;
+ }
- if (verse > books[testament-1][book-1].versemax[chapter-1]) { // -1 because e.g chapter 1 of Matthew is books[1][0].versemax[0]
- verse -= books[testament-1][book-1].versemax[chapter++ - 1];
+ if (verse > getVerseMax()) { // -1 because e.g chapter 1 of Matthew is books[1][0].versemax[0]
+ verse -= getVerseMax();
+ chapter++;
continue;
}
if (verse < 1) {
if (--chapter > 0) {
- verse += books[testament-1][book-1].versemax[chapter-1];
+ verse += getVerseMax();
}
else {
if (book > 1) {
- verse += books[testament-1][book-2].versemax[books[testament-1][book-2].chapmax-1];
+ const VerseMgr::Book *prevBook = refSys->getBook(((testament>1)?BMAX[0]:0)+book-2);
+ verse += prevBook->getVerseMax(prevBook->getChapterMax());
}
else {
if (testament > 1) {
- verse += books[0][BMAX[0]-1].versemax[books[0][BMAX[0]-1].chapmax-1];
+ const VerseMgr::Book *lastOTBook = refSys->getBook(BMAX[0]-1);
+ verse += lastOTBook->getVerseMax(lastOTBook->getChapterMax());
}
}
}
@@ -1143,11 +1277,11 @@ void VerseKey::Normalize(char autocheck)
break; // If we've made it this far (all failure checks continue) we're ok
}
- if (testament > 2) {
- testament = 2;
+ if (testament > (BMAX[1]?2:1)) {
+ testament = BMAX[1]?2:1;
book = BMAX[testament-1];
- chapter = books[testament-1][book-1].chapmax;
- verse = books[testament-1][book-1].versemax[chapter-1];
+ chapter = getChapterMax();
+ verse = getVerseMax();
error = KEYERR_OUTOFBOUNDS;
}
@@ -1161,11 +1295,11 @@ void VerseKey::Normalize(char autocheck)
// should we always perform bounds checks? Tried but seems to cause infinite recursion
if (_compare(UpperBound()) > 0) {
- setText(UpperBound(), false);
+ positionFrom(UpperBound());
error = KEYERR_OUTOFBOUNDS;
}
if (_compare(LowerBound()) < 0) {
- setText(LowerBound(), false);
+ positionFrom(LowerBound());
error = KEYERR_OUTOFBOUNDS;
}
}
@@ -1173,24 +1307,24 @@ void VerseKey::Normalize(char autocheck)
/******************************************************************************
- * VerseKey::Testament - Gets testament
+ * VerseKey::getTestament - Gets testament
*
* RET: value of testament
*/
-char VerseKey::Testament() const
+char VerseKey::getTestament() const
{
return testament;
}
/******************************************************************************
- * VerseKey::Book - Gets book
+ * VerseKey::getBook - Gets book
*
* RET: value of book
*/
-char VerseKey::Book() const
+char VerseKey::getBook() const
{
return book;
}
@@ -1202,7 +1336,7 @@ char VerseKey::Book() const
* RET: value of chapter
*/
-int VerseKey::Chapter() const
+int VerseKey::getChapter() const
{
return chapter;
}
@@ -1214,14 +1348,14 @@ int VerseKey::Chapter() const
* RET: value of verse
*/
-int VerseKey::Verse() const
+int VerseKey::getVerse() const
{
return verse;
}
/******************************************************************************
- * VerseKey::Testament - Sets/gets testament
+ * VerseKey::setTestament - Sets/gets testament
*
* ENT: itestament - value which to set testament
* [MAXPOS(char)] - only get
@@ -1230,64 +1364,68 @@ int VerseKey::Verse() const
* if changed -> previous value of testament
*/
-char VerseKey::Testament(char itestament)
+void VerseKey::setTestament(char itestament)
{
- char retval = testament;
-
if (itestament != MAXPOS(char)) {
testament = itestament;
Normalize(1);
}
- return retval;
}
/******************************************************************************
- * VerseKey::Book - Sets/gets book
+ * VerseKey::setBook - Sets/gets book
*
* ENT: ibook - value which to set book
- * [MAXPOS(char)] - only get
- *
- * RET: if unchanged -> value of book
- * if changed -> previous value of book
*/
-char VerseKey::Book(char ibook)
+void VerseKey::setBook(char ibook)
{
- char retval = book;
-
- Chapter(1);
- book = ibook;
+ verse = ibook ? 1 : 0;
+ chapter = ibook ? 1 : 0;
+ book = ibook;
Normalize(1);
-
- return retval;
}
+
/******************************************************************************
- * VerseKey::Chapter - Sets/gets chapter
- *
- * ENT: ichapter - value which to set chapter
- * [MAXPOS(int)] - only get
+ * VerseKey::setBookName - Sets/gets book by name
*
- * RET: if unchanged -> value of chapter
- * if changed -> previous value of chapter
+ * ENT: bname - book name/abbrev
*/
-int VerseKey::Chapter(int ichapter)
+void VerseKey::setBookName(const char *bname)
{
- int retval = chapter;
+ int bnum = getBookAbbrev(bname);
+ if (bnum > -1) {
+ if (bnum > BMAX[0]) {
+ bnum -= BMAX[0];
+ testament = 2;
+ }
+ else testament = 1;
+ setBook(bnum);
+ }
+ else error = KEYERR_OUTOFBOUNDS;
+}
+
+
+/******************************************************************************
+ * VerseKey::setChapter - Sets/gets chapter
+ *
+ * ENT: ichapter - value which to set chapter
+ */
- Verse(1);
+void VerseKey::setChapter(int ichapter)
+{
+ verse = ichapter ? 1 : 0;
chapter = ichapter;
Normalize(1);
-
- return retval;
}
/******************************************************************************
- * VerseKey::Verse - Sets/gets verse
+ * VerseKey::setVerse - Sets/gets verse
*
* ENT: iverse - value which to set verse
* [MAXPOS(int)] - only get
@@ -1296,37 +1434,36 @@ int VerseKey::Chapter(int ichapter)
* if changed -> previous value of verse
*/
-int VerseKey::Verse(int iverse)
+void VerseKey::setVerse(int iverse)
{
- int retval = verse;
-
+ setSuffix(0);
verse = iverse;
Normalize(1);
+}
- return retval;
+
+char VerseKey::getSuffix() const {
+ return suffix;
}
+void VerseKey::setSuffix(char suf) {
+ suffix = suf;
+}
/******************************************************************************
* VerseKey::AutoNormalize - Sets/gets flag that tells VerseKey to auto-
* matically normalize itself when modified
- *
- * ENT: iautonorm - value which to set autonorm
- * [MAXPOS(char)] - only get
- *
- * RET: if unchanged -> value of autonorm
- * if changed -> previous value of autonorm
*/
-char VerseKey::AutoNormalize(char iautonorm)
+bool VerseKey::isAutoNormalize() const
{
- char retval = autonorm;
+ return autonorm;
+}
- if (iautonorm != MAXPOS(char)) {
- autonorm = iautonorm;
- Normalize(1);
- }
- return retval;
+void VerseKey::setAutoNormalize(bool iautonorm)
+{
+ autonorm = iautonorm?1:0;
+ Normalize(1);
}
@@ -1392,34 +1529,27 @@ long VerseKey::Index() const
if (!testament) { // if we want module heading
offset = 0;
- verse = 0;
+ }
+ else if (!book) { // we want testament heading
+ offset = ((testament == 2) ? refSys->getNTStartOffset():0) + 1;
}
else {
- if (!book)
- chapter = 0;
- if (!chapter)
- verse = 0;
-
- offset = offsets[testament-1][0][book];
- offset = offsets[testament-1][1][(int)offset + chapter];
- if (!(offset|verse)) // if we have a testament but nothing else.
- offset = 1;
+ offset = refSys->getOffsetFromVerse((((testament>1)?BMAX[0]:0)+book-1), chapter, verse);
}
- return (offset + verse);
+ return offset;
}
/******************************************************************************
- * VerseKey::Index - Gets index based upon current verse
+ * VerseKey::TestamentIndex - Gets index based upon current verse
*
* RET: offset
*/
-long VerseKey::NewIndex() const
+long VerseKey::TestamentIndex() const
{
- static long otMaxIndex = 32300 - 8245; // total positions - new testament positions
-// static long otMaxIndex = offsets[0][1][(int)offsets[0][0][BMAX[0]] + books[0][BMAX[0]].chapmax];
- return ((testament-1) * otMaxIndex) + Index();
+ long offset = Index();
+ return (testament > 1) ? offset - refSys->getNTStartOffset() : offset;
}
@@ -1433,60 +1563,31 @@ long VerseKey::NewIndex() const
long VerseKey::Index(long iindex)
{
- long offset;
-
-// This is the dirty stuff --------------------------------------------
-
- if (!testament)
- testament = 1;
-
- if (iindex < 1) { // if (-) or module heading
- if (testament < 2) {
- if (iindex < 0) {
- testament = 0; // previously we changed 0 -> 1
- error = KEYERR_OUTOFBOUNDS;
- }
- else testament = 0; // we want module heading
- }
- else {
- testament--;
- iindex = (offsets[testament-1][1][offsize[testament-1][1]-1] + books[testament-1][BMAX[testament-1]-1].versemax[books[testament-1][BMAX[testament-1]-1].chapmax-1]) + iindex; // What a doozy! ((offset of last chapter + number of verses in the last chapter) + iindex)
- }
+ int b;
+ error = refSys->getVerseFromOffset(iindex, &b, &chapter, &verse);
+ book = (unsigned char)b;
+ testament = 1;
+ if (book > BMAX[0]) {
+ book -= BMAX[0];
+ testament = 2;
}
+ // special case for Module and Testament heading
+ if (book < 0) { testament = 0; book = 0; }
+ if (chapter < 0) { book = 0; chapter = 0; }
-// --------------------------------------------------------------------
-
-
- if (testament) {
- if ((!error) && (iindex)) {
- offset = findindex(offsets[testament-1][1], offsize[testament-1][1], iindex);
- verse = iindex - offsets[testament-1][1][offset];
- book = findindex(offsets[testament-1][0], offsize[testament-1][0], offset);
- chapter = offset - offsets[testament-1][0][VerseKey::book];
- verse = (chapter) ? verse : 0; // funny check. if we are index=1 (testmt header) all gets set to 0 exept verse. Don't know why. Fix if you figure out. Think its in the offsets table.
- if (verse) { // only check if -1 won't give negative
- if (verse > books[testament-1][book-1].versemax[chapter-1]) {
- if (testament > 1) {
- verse = books[testament-1][book-1].versemax[chapter-1];
- error = KEYERR_OUTOFBOUNDS;
- }
- else {
- testament++;
- Index(verse - books[testament-2][book-1].versemax[chapter-1]);
- }
- }
- }
- }
- }
- if (_compare(UpperBound()) > 0) {
- *this = UpperBound();
+ long i = Index();
+
+ initBounds();
+ if (i > upperBound) {
+ i = Index(upperBound);
error = KEYERR_OUTOFBOUNDS;
}
- if (_compare(LowerBound()) < 0) {
- *this = LowerBound();
+ if (i < lowerBound) {
+ i = Index(lowerBound);
error = KEYERR_OUTOFBOUNDS;
}
- return Index();
+
+ return i;
}
@@ -1524,37 +1625,23 @@ int VerseKey::compare(const SWKey &ikey)
int VerseKey::_compare(const VerseKey &ivkey)
{
- long keyval1 = 0;
- long keyval2 = 0;
+ unsigned long keyval1 = 0;
+ unsigned long keyval2 = 0;
- keyval1 += Testament() * 1000000000;
+ keyval1 += Testament() * 1000000000;
keyval2 += ivkey.Testament() * 1000000000;
- keyval1 += Book() * 1000000;
- keyval2 += ivkey.Book() * 1000000;
- keyval1 += Chapter() * 1000;
- keyval2 += ivkey.Chapter() * 1000;
- keyval1 += Verse();
- keyval2 += ivkey.Verse();
- keyval1 -= keyval2;
- keyval1 = (keyval1) ? ((keyval1 > 0) ? 1 : -1) /*keyval1/labs(keyval1)*/:0; // -1 | 0 | 1
+ keyval1 += Book() * 10000000;
+ keyval2 += ivkey.Book() * 10000000;
+ keyval1 += Chapter() * 10000;
+ keyval2 += ivkey.Chapter() * 10000;
+ keyval1 += Verse() * 50;
+ keyval2 += ivkey.Verse() * 50;
+ keyval1 += (int)getSuffix();
+ keyval2 += (int)ivkey.getSuffix();
+ keyval1 = (keyval1 != keyval2) ? ((keyval1 > keyval2) ? 1 : -1) : 0; // -1 | 0 | 1
return keyval1;
}
-const char *VerseKey::osisotbooks[] = {
- "Gen","Exod","Lev","Num","Deut","Josh","Judg","Ruth","1Sam","2Sam",
- "1Kgs","2Kgs","1Chr","2Chr","Ezra","Neh","Esth","Job","Ps",
- "Prov", // added this. Was not in OSIS spec
- "Eccl",
- "Song","Isa","Jer","Lam","Ezek","Dan","Hos","Joel","Amos","Obad",
- "Jonah","Mic","Nah","Hab","Zeph","Hag","Zech","Mal","Bar","PrAzar",
- "Bel","Sus","1Esd","2Esd","AddEsth","EpJer","Jdt","1Macc","2Macc","3Macc",
- "4Macc","PrMan","Ps151","Sir","Tob","Wis"};
-const char *VerseKey::osisntbooks[] = {
- "Matt","Mark","Luke","John","Acts","Rom","1Cor","2Cor","Gal","Eph",
- "Phil","Col","1Thess","2Thess","1Tim","2Tim","Titus","Phlm","Heb","Jas",
- "1Pet","2Pet","1John","2John","3John","Jude","Rev"};
-const char **VerseKey::osisbooks[] = { osisotbooks, osisntbooks };
-
const char *VerseKey::getOSISRef() const {
static char buf[5][254];
@@ -1564,53 +1651,50 @@ const char *VerseKey::getOSISRef() const {
loop = 0;
if (Verse())
- sprintf(buf[loop], "%s.%d.%d", osisbooks[Testament()-1][Book()-1], (int)Chapter(), (int)Verse());
+ sprintf(buf[loop], "%s.%d.%d", getOSISBookName(), (int)Chapter(), (int)Verse());
else if (Chapter())
- sprintf(buf[loop], "%s.%d", osisbooks[Testament()-1][Book()-1], (int)Chapter());
+ sprintf(buf[loop], "%s.%d", getOSISBookName(), (int)Chapter());
else if (Book())
- sprintf(buf[loop], "%s", osisbooks[Testament()-1][Book()-1]);
+ sprintf(buf[loop], "%s", getOSISBookName());
else buf[loop][0] = 0;
return buf[loop++];
}
-const int VerseKey::getOSISBookNum(const char *bookab) {
- int i;
- for (i=0; i < 39; i++)
- {
- if (!strncmp(bookab, osisotbooks[i], strlen(osisotbooks[i])))
- {
- //printf("VerseKey::getOSISBookNum %s is OT %d\n", bookab, i+1);
- return i+1;
- }
- }
- for (i=0; i < 27; i++)
- {
- if (!strncmp(bookab, osisntbooks[i], strlen(osisotbooks[i])))
- {
- //printf("VerseKey::getOSISBookNum %s is NT %d\n", bookab, i+1);
- return i+1;
- }
- }
- return -1;
-}
-
-
/******************************************************************************
* VerseKey::getRangeText - returns parsable range text for this key
*/
const char *VerseKey::getRangeText() const {
- if (isBoundSet()) {
- char buf[1023];
- sprintf(buf, "%s-%s", (const char *)LowerBound(), (const char *)UpperBound());
- stdstr(&rangeText, buf);
+ if (isBoundSet() && lowerBound != upperBound) {
+ SWBuf buf = (const char *)LowerBound();
+ buf += "-";
+ buf += (const char *)UpperBound();
+ stdstr(&rangeText, buf.c_str());
}
else stdstr(&rangeText, getText());
return rangeText;
}
+/******************************************************************************
+ * VerseKey::getOSISRefRangeText - returns parsable range text for this key
+ */
+
+const char *VerseKey::getOSISRefRangeText() const {
+ if (isBoundSet() && (lowerBound != upperBound)) {
+ SWBuf buf = LowerBound().getOSISRef();
+ buf += "-";
+ buf += UpperBound().getOSISRef();
+ stdstr(&rangeText, buf.c_str());
+ }
+ else stdstr(&rangeText, getOSISRef());
+ return rangeText;
+}
+
+
+// TODO: this is static so we have no context. We can only parse KJV v11n now
+// possibly add a const char *versification = KJV param?
const char *VerseKey::convertToOSIS(const char *inRef, const SWKey *lastKnownKey) {
static SWBuf outRef;
@@ -1620,12 +1704,13 @@ const char *VerseKey::convertToOSIS(const char *inRef, const SWKey *lastKnownKey
ListKey verses = defLanguage.ParseVerseList(inRef, (*lastKnownKey), true);
const char *startFrag = inRef;
for (int i = 0; i < verses.Count(); i++) {
- VerseKey *element = SWDYNAMIC_CAST(VerseKey, verses.GetElement(i));
- char buf[5120];
+ SWKey *element = verses.GetElement(i);
+// VerseKey *element = SWDYNAMIC_CAST(VerseKey, verses.GetElement(i));
+ SWBuf buf;
+ // TODO: This code really needs to not use fixed size arrays
char frag[800];
char preJunk[800];
char postJunk[800];
- memset(buf, 0, 5120);
memset(frag, 0, 800);
memset(preJunk, 0, 800);
memset(postJunk, 0, 800);
@@ -1633,32 +1718,26 @@ const char *VerseKey::convertToOSIS(const char *inRef, const SWKey *lastKnownKey
outRef += *startFrag;
startFrag++;
}
- if (element) {
- memmove(frag, startFrag, ((const char *)element->userData - startFrag) + 1);
- frag[((const char *)element->userData - startFrag) + 1] = 0;
- int j;
- for (j = strlen(frag)-1; j && (strchr(" {};,()[].", frag[j])); j--);
- if (frag[j+1])
- strcpy(postJunk, frag+j+1);
- frag[j+1]=0;
- startFrag += ((const char *)element->userData - startFrag) + 1;
- sprintf(buf, "<reference osisRef=\"%s-%s\">%s</reference>%s", element->LowerBound().getOSISRef(), element->UpperBound().getOSISRef(), frag, postJunk);
- }
- else {
- memmove(frag, startFrag, ((const char *)verses.GetElement(i)->userData - startFrag) + 1);
- frag[((const char *)verses.GetElement(i)->userData - startFrag) + 1] = 0;
- int j;
- for (j = strlen(frag)-1; j && (strchr(" {};,()[].", frag[j])); j--);
- if (frag[j+1])
- strcpy(postJunk, frag+j+1);
- frag[j+1]=0;
- startFrag += ((const char *)verses.GetElement(i)->userData - startFrag) + 1;
- sprintf(buf, "<reference osisRef=\"%s\">%s</reference>%s", VerseKey(*verses.GetElement(i)).getOSISRef(), frag, postJunk);
- }
- outRef+=buf;
+ memmove(frag, startFrag, ((const char *)element->userData - startFrag) + 1);
+ frag[((const char *)element->userData - startFrag) + 1] = 0;
+ int j;
+ for (j = strlen(frag)-1; j && (strchr(" {};,()[].", frag[j])); j--);
+ if (frag[j+1])
+ strcpy(postJunk, frag+j+1);
+ frag[j+1]=0;
+ startFrag += ((const char *)element->userData - startFrag) + 1;
+ buf = "<reference osisRef=\"";
+ buf += element->getOSISRefRangeText();
+ buf += "\">";
+ buf += frag;
+ buf += "</reference>";
+ buf += postJunk;
+
+ outRef += buf;
+
}
if (startFrag < (inRef + strlen(inRef)))
- outRef+=startFrag;
+ outRef += startFrag;
return outRef.c_str();
}
SWORD_NAMESPACE_END
diff --git a/src/keys/versetreekey.cpp b/src/keys/versetreekey.cpp
index b73672d..edfbcc3 100644
--- a/src/keys/versetreekey.cpp
+++ b/src/keys/versetreekey.cpp
@@ -1,9 +1,27 @@
/******************************************************************************
* VerseTreeKey.cpp - code for class 'VerseTreeKey'- versekey using treekey
* for data retrieval
+ *
+ *
+ * Copyright 2009 CrossWire Bible Society (http://www.crosswire.org)
+ * CrossWire Bible Society
+ * P. O. Box 2528
+ * Tempe, AZ 85280-2528
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation version 2.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
*/
+
#include <versetreekey.h>
+#include <ctype.h>
SWORD_NAMESPACE_START
@@ -20,7 +38,7 @@ SWClass VerseTreeKey::classdef(classes);
VerseTreeKey::VerseTreeKey(TreeKey *treeKey, const SWKey *ikey) : VerseKey(ikey)
{
- this->treeKey = treeKey;
+ init(treeKey);
if (ikey)
parse();
}
@@ -35,7 +53,7 @@ VerseTreeKey::VerseTreeKey(TreeKey *treeKey, const SWKey *ikey) : VerseKey(ikey)
VerseTreeKey::VerseTreeKey(TreeKey *treeKey, const char *ikey) : VerseKey(ikey)
{
- this->treeKey = treeKey;
+ init(treeKey);
if (ikey)
parse();
}
@@ -43,13 +61,22 @@ VerseTreeKey::VerseTreeKey(TreeKey *treeKey, const char *ikey) : VerseKey(ikey)
VerseTreeKey::VerseTreeKey(VerseTreeKey const &k) : VerseKey(k)
{
- treeKey = k.treeKey;
+ init(k.treeKey);
}
VerseTreeKey::VerseTreeKey(TreeKey *treeKey, const char *min, const char *max) : VerseKey(min, max)
{
- this->treeKey = treeKey;
+ init(treeKey);
+}
+
+
+void VerseTreeKey::init(TreeKey *treeKey)
+{
+ myclass = &classdef;
+ this->treeKey = (TreeKey *)treeKey->clone();
+ this->treeKey->setPositionChangeListener(this);
+ internalPosChange = false;
}
@@ -59,6 +86,33 @@ SWKey *VerseTreeKey::clone() const
}
+int VerseTreeKey::getBookAbbrev(const char *iabbr)
+{
+ int bookno = VerseKey::getBookAbbrev(iabbr);
+ if (bookno < 0) {
+/*
+ vector<struct sbook>::iterator it = find(books, iabbr);
+ if (it == books.end()) {
+ TreeKey *tkey = this->treeKey;
+ int saveError = tkey->Error();
+ long bookmark = tkey->getOffset();
+ SWBuf segment;
+ internalPosChange = true;
+ do {
+ segment = (SWBuf)tkey->getLocalName();
+ } while (tkey->parent());
+ segment << 1;
+ if (saveError) {
+ error = saveError;
+ }
+ tkey->setOffset(bookmark);
+ }
+ books.push_back(sbook(iabbr));
+*/
+ }
+ return bookno;
+}
+
/******************************************************************************
* VerseTreeKey Destructor - cleans up instance of VerseTreeKey
*
@@ -66,7 +120,183 @@ SWKey *VerseTreeKey::clone() const
*/
VerseTreeKey::~VerseTreeKey() {
+ delete treeKey;
+}
+
+
+void VerseTreeKey::decrement(int steps) {
+ int treeError = 0;
+ if (!error) lastGoodOffset = getTreeKey()->getOffset();
+ do {
+ treeKey->decrement();
+ treeError = treeKey->Error();
+ // iterate until 3 levels and no versekey parse errors
+ } while (!treeError && ((treeKey->getLevel() < 3) || error));
+ if (error && !treeError) {
+ int saveError = error;
+ increment();
+ error = saveError;
+ }
+ if (treeError) {
+ treeKey->setOffset(lastGoodOffset);
+ error = treeError;
+ }
+ if (_compare(UpperBound()) > 0) {
+ positionFrom(UpperBound());
+ error = KEYERR_OUTOFBOUNDS;
+ }
+ if (_compare(LowerBound()) < 0) {
+ positionFrom(LowerBound());
+ error = KEYERR_OUTOFBOUNDS;
+ }
+}
+
+
+void VerseTreeKey::increment(int steps) {
+ int treeError = 0;
+ if (!error) lastGoodOffset = getTreeKey()->getOffset();
+ do {
+ treeKey->increment();
+ treeError = treeKey->Error();
+ // iterate until 3 levels and no versekey parse errors
+ } while (!treeError && ((treeKey->getLevel() < 3) || error));
+ if (error && !treeError) {
+ int saveError = error;
+ decrement();
+ error = saveError;
+ }
+ if (treeError) {
+ treeKey->setOffset(lastGoodOffset);
+ error = treeError;
+ }
+ // bounds
+ if (_compare(UpperBound()) > 0) {
+ positionFrom(UpperBound());
+ error = KEYERR_OUTOFBOUNDS;
+ }
+ if (_compare(LowerBound()) < 0) {
+ positionFrom(LowerBound());
+ error = KEYERR_OUTOFBOUNDS;
+ }
}
+void VerseTreeKey::positionChanged() {
+ if (!internalPosChange) {
+ TreeKey *tkey = this->TreeKey::PositionChangeListener::getTreeKey();
+ int saveError = tkey->Error();
+ long bookmark = tkey->getOffset();
+ SWBuf seg[4];
+ internalPosChange = true;
+ int legs = 0;
+ do {
+ seg[legs] = tkey->getLocalName();
+ legs++;
+ } while (tkey->parent() && (legs < 4));
+
+ legs--;
+
+ if ((legs < 2) && (!seg[0].length() || seg[0] == "/")) { //"[ Module Heading ]";
+ testament = 0;
+ book = 0;
+ chapter = 0;
+ setVerse(0);
+ }
+ else if ((legs < 2)
+ && ((!strncmp(seg[0].c_str(), "[ Testament ", 12)) && //"[ Testament n Heading ]";
+ (isdigit(seg[0][12])) &&
+ (!strcmp(seg[0].c_str()+13, " Heading ]")))) {
+ testament = (seg[0][12]-48);
+ book = 0;
+ chapter = 0;
+ setVerse(0);
+ } //path = "[ Module Heading ]";
+ else {
+ setBookName(seg[--legs]);
+ chapter = (legs > 0) ? atoi(seg[--legs]) : 0;
+ setVerse((legs > 0) ? atoi(seg[--legs]) : 0);
+ }
+
+// setText(path);
+ if (saveError) {
+ error = saveError;
+ }
+ tkey->setOffset(bookmark);
+ tkey->setError(saveError);
+ internalPosChange = false;
+ }
+}
+
+
+void VerseTreeKey::syncVerseToTree() {
+ internalPosChange = true;
+ SWBuf path;
+ if (!Testament()) path = "/"; // "[ Module Heading ]";
+ else if (!Book()) path.setFormatted("/[ Testament %d Heading ]", Testament());
+ else path.setFormatted("/%s/%d/%d", getOSISBookName(), getChapter(), getVerse());
+ if (getSuffix()) path += getSuffix();
+ long bookmark = treeKey->getOffset();
+ treeKey->setText(path);
+
+ // if our module has jacked inconsistencies, then let's put our tree back to where it was
+ if (treeKey->Error()) {
+ treeKey->setOffset(bookmark);
+ }
+
+ internalPosChange = false;
+}
+
+
+TreeKey *VerseTreeKey::getTreeKey() {
+ syncVerseToTree();
+ return treeKey;
+}
+
+// can autonormalize yet (ever?)
+void VerseTreeKey::Normalize(char autocheck) {
+ error = 0;
+}
+
+long VerseTreeKey::NewIndex() const {
+ return treeKey->getOffset();
+}
+
+
+void VerseTreeKey::setPosition(SW_POSITION p) {
+
+ if (isBoundSet()) {
+ return VerseKey::setPosition(p);
+ }
+
+ switch (p) {
+ case POS_TOP:
+ Error();
+ treeKey->setPosition(p);
+ increment();
+ decrement();
+ Error();
+ break;
+ case POS_BOTTOM:
+ Error();
+ treeKey->setPosition(p);
+ decrement();
+ increment();
+ Error();
+ break;
+ case POS_MAXVERSE:
+ case POS_MAXCHAPTER:
+ VerseKey::setPosition(p);
+ break;
+ }
+}
+
+
+/******************************************************************************
+ * VerseTreeKey::copyFrom - Equates this VerseTreeKey to another VerseTreeKey
+
+void VerseTreeKey::copyFrom(const VerseTreeKey &ikey) {
+ VerseKey::copyFrom(ikey);
+}
+ */
+
SWORD_NAMESPACE_END
diff --git a/src/mgr/Makefile.am b/src/mgr/Makefile.am
index 1b1e33b..10d7158 100644
--- a/src/mgr/Makefile.am
+++ b/src/mgr/Makefile.am
@@ -11,6 +11,7 @@ AM_CPPFLAGS += -D_FTPLIB_NO_COMPAT
if WITHCURL
FTP_SOURCES = $(mgrdir)/curlftpt.cpp
+FTP_SOURCES += $(mgrdir)/curlhttpt.cpp
else
FTP_SOURCES = $(mgrdir)/ftplibftpt.cpp
endif
@@ -22,6 +23,7 @@ libsword_la_SOURCES += $(mgrdir)/swfiltermgr.cpp
libsword_la_SOURCES += $(mgrdir)/encfiltmgr.cpp
libsword_la_SOURCES += $(mgrdir)/markupfiltmgr.cpp
libsword_la_SOURCES += $(mgrdir)/filemgr.cpp
+libsword_la_SOURCES += $(mgrdir)/versemgr.cpp
libsword_la_SOURCES += $(mgrdir)/ftptrans.cpp
libsword_la_SOURCES += $(mgrdir)/swlocale.cpp
libsword_la_SOURCES += $(mgrdir)/localemgr.cpp
diff --git a/src/mgr/curlftpt.cpp b/src/mgr/curlftpt.cpp
index bb47958..91d8e82 100644
--- a/src/mgr/curlftpt.cpp
+++ b/src/mgr/curlftpt.cpp
@@ -1,7 +1,24 @@
/*****************************************************************************
* CURLFTPTransport functions
*
+ *
+ *
+ * Copyright 2009 CrossWire Bible Society (http://www.crosswire.org)
+ * CrossWire Bible Society
+ * P. O. Box 2528
+ * Tempe, AZ 85280-2528
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation version 2.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
*/
+
#include <curlftpt.h>
@@ -109,7 +126,8 @@ char CURLFTPTransport::getURL(const char *destPath, const char *sourceURL, SWBuf
if (session) {
curl_easy_setopt(session, CURLOPT_URL, sourceURL);
- curl_easy_setopt(session, CURLOPT_USERPWD, "ftp:installmgr@user.com");
+ SWBuf credentials = u + ":" + p;
+ curl_easy_setopt(session, CURLOPT_USERPWD, credentials.c_str());
curl_easy_setopt(session, CURLOPT_WRITEFUNCTION, my_fwrite);
if (!passive)
curl_easy_setopt(session, CURLOPT_FTPPORT, "-");
diff --git a/src/mgr/curlhttpt.cpp b/src/mgr/curlhttpt.cpp
new file mode 100644
index 0000000..8ddb1cf
--- /dev/null
+++ b/src/mgr/curlhttpt.cpp
@@ -0,0 +1,178 @@
+ /*****************************************************************************
+ * CURLHTTPTransport functions
+ *
+ *
+ *
+ * Copyright 2009 CrossWire Bible Society (http://www.crosswire.org)
+ * CrossWire Bible Society
+ * P. O. Box 2528
+ * Tempe, AZ 85280-2528
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation version 2.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ */
+
+
+
+#include <curlhttpt.h>
+
+#include <fcntl.h>
+
+#include <curl/curl.h>
+#include <curl/types.h>
+#include <curl/easy.h>
+
+#include <swlog.h>
+
+SWORD_NAMESPACE_START
+
+
+struct FtpFile {
+ const char *filename;
+ FILE *stream;
+ SWBuf *destBuf;
+};
+
+
+int my_httpfwrite(void *buffer, size_t size, size_t nmemb, void *stream);
+int my_httpfprogress(void *clientp, double dltotal, double dlnow, double ultotal, double ulnow);
+
+static CURLHTTPTransport_init _CURLHTTPTransport_init;
+
+CURLHTTPTransport_init::CURLHTTPTransport_init() {
+ //curl_global_init(CURL_GLOBAL_DEFAULT); // curl_easy_init automatically calls it if needed
+}
+
+CURLHTTPTransport_init::~CURLHTTPTransport_init() {
+// CURLFTPT d-tor cleans this up
+// curl_global_cleanup();
+}
+
+int my_httpfwrite(void *buffer, size_t size, size_t nmemb, void *stream) {
+ struct FtpFile *out=(struct FtpFile *)stream;
+ if (out && !out->stream && !out->destBuf) {
+ /* open file for writing */
+ out->stream=fopen(out->filename, "wb");
+ if (!out->stream)
+ return -1; /* failure, can't open file to write */
+ }
+ if (out->destBuf) {
+ int s = out->destBuf->size();
+ out->destBuf->size(s+(size*nmemb));
+ memcpy(out->destBuf->getRawData()+s, buffer, size*nmemb);
+ return nmemb;
+ }
+ return fwrite(buffer, size, nmemb, out->stream);
+}
+
+
+int my_httpfprogress(void *clientp, double dltotal, double dlnow, double ultotal, double ulnow) {
+ if (clientp) {
+ ((StatusReporter *)clientp)->statusUpdate(dltotal, dlnow);
+ }
+ return 0;
+}
+
+
+static int myhttp_trace(CURL *handle, curl_infotype type, unsigned char *data, size_t size, void *userp) {
+ SWBuf header;
+ (void)userp; /* prevent compiler warning */
+ (void)handle; /* prevent compiler warning */
+
+ switch (type) {
+ case CURLINFO_TEXT: header = "TEXT"; break;
+ case CURLINFO_HEADER_OUT: header = "=> Send header"; break;
+ case CURLINFO_HEADER_IN: header = "<= Recv header"; break;
+
+ // these we don't want to log (HUGE)
+ case CURLINFO_DATA_OUT: header = "=> Send data";
+ case CURLINFO_SSL_DATA_OUT: header = "=> Send SSL data";
+ case CURLINFO_DATA_IN: header = "<= Recv data";
+ case CURLINFO_SSL_DATA_IN: header = "<= Recv SSL data";
+ default: /* in case a new one is introduced to shock us */
+ return 0;
+ }
+
+ if (size > 120) size = 120;
+ SWBuf text;
+ text.size(size);
+ memcpy(text.getRawData(), data, size);
+ SWLog::getSystemLog()->logDebug("CURLHTTPTransport: %s: %s", header.c_str(), text.c_str());
+ return 0;
+}
+
+CURLHTTPTransport::CURLHTTPTransport(const char *host, StatusReporter *sr) : FTPTransport(host, sr) {
+ session = (CURL *)curl_easy_init();
+}
+
+
+CURLHTTPTransport::~CURLHTTPTransport() {
+ curl_easy_cleanup(session);
+}
+
+
+char CURLHTTPTransport::getURL(const char *destPath, const char *sourceURL, SWBuf *destBuf) {
+ signed char retVal = 0;
+ struct FtpFile ftpfile = {destPath, 0, destBuf};
+
+ CURLcode res;
+
+ if (session) {
+ curl_easy_setopt(session, CURLOPT_URL, sourceURL);
+
+ SWBuf credentials = u + ":" + p;
+ curl_easy_setopt(session, CURLOPT_USERPWD, credentials.c_str());
+ curl_easy_setopt(session, CURLOPT_WRITEFUNCTION, my_httpfwrite);
+ if (!passive)
+ curl_easy_setopt(session, CURLOPT_FTPPORT, "-");
+ curl_easy_setopt(session, CURLOPT_NOPROGRESS, 0);
+ curl_easy_setopt(session, CURLOPT_PROGRESSDATA, statusReporter);
+ curl_easy_setopt(session, CURLOPT_PROGRESSFUNCTION, my_httpfprogress);
+ curl_easy_setopt(session, CURLOPT_DEBUGFUNCTION, myhttp_trace);
+ /* Set a pointer to our struct to pass to the callback */
+ curl_easy_setopt(session, CURLOPT_FILE, &ftpfile);
+
+ /* Switch on full protocol/debug output */
+ curl_easy_setopt(session, CURLOPT_VERBOSE, true);
+
+ /* FTP connection settings */
+
+#if (LIBCURL_VERSION_MAJOR > 7) || \
+ ((LIBCURL_VERSION_MAJOR == 7) && (LIBCURL_VERSION_MINOR > 10)) || \
+ ((LIBCURL_VERSION_MAJOR == 7) && (LIBCURL_VERSION_MINOR == 10) && (LIBCURL_VERSION_PATCH >= 5))
+# define EPRT_AVAILABLE 1
+#endif
+
+#ifdef EPRT_AVAILABLE
+ curl_easy_setopt(session, CURLOPT_FTP_USE_EPRT, 0);
+ SWLog::getSystemLog()->logDebug("***** using CURLOPT_FTP_USE_EPRT\n");
+#endif
+
+
+ SWLog::getSystemLog()->logDebug("***** About to perform curl easy action. \n");
+ SWLog::getSystemLog()->logDebug("***** destPath: %s \n", destPath);
+ SWLog::getSystemLog()->logDebug("***** sourceURL: %s \n", sourceURL);
+ res = curl_easy_perform(session);
+ SWLog::getSystemLog()->logDebug("***** Finished performing curl easy action. \n");
+
+ if(CURLE_OK != res) {
+ retVal = -1;
+ }
+ }
+
+ if (ftpfile.stream)
+ fclose(ftpfile.stream); /* close the local file */
+
+ return retVal;
+}
+
+
+SWORD_NAMESPACE_END
+
diff --git a/src/mgr/encfiltmgr.cpp b/src/mgr/encfiltmgr.cpp
index 970900c..cb6dab4 100644
--- a/src/mgr/encfiltmgr.cpp
+++ b/src/mgr/encfiltmgr.cpp
@@ -22,7 +22,6 @@
#include <encfiltmgr.h>
#include <utilstr.h>
-#include <scsuutf8.h>
#include <latin1utf8.h>
#include <unicodertf.h>
@@ -45,7 +44,6 @@ SWORD_NAMESPACE_START
EncodingFilterMgr::EncodingFilterMgr (char enc)
: SWFilterMgr() {
- scsuutf8 = new SCSUUTF8();
latin1utf8 = new Latin1UTF8();
encoding = enc;
@@ -72,8 +70,6 @@ EncodingFilterMgr::EncodingFilterMgr (char enc)
* EncodingFilterMgr Destructor - Cleans up instance of EncodingFilterMgr
*/
EncodingFilterMgr::~EncodingFilterMgr() {
- if (scsuutf8)
- delete scsuutf8;
if (latin1utf8)
delete latin1utf8;
if (targetenc)
@@ -88,9 +84,6 @@ void EncodingFilterMgr::AddRawFilters(SWModule *module, ConfigEntMap &section) {
if (!encoding.length() || !stricmp(encoding.c_str(), "Latin-1")) {
module->AddRawFilter(latin1utf8);
}
- else if (!stricmp(encoding.c_str(), "SCSU")) {
- module->AddRawFilter(scsuutf8);
- }
}
void EncodingFilterMgr::AddEncodingFilters(SWModule *module, ConfigEntMap &section) {
diff --git a/src/mgr/filemgr.cpp b/src/mgr/filemgr.cpp
index 4a91dfa..dd49913 100644
--- a/src/mgr/filemgr.cpp
+++ b/src/mgr/filemgr.cpp
@@ -2,7 +2,7 @@
* filemgr.cpp - implementation of class FileMgr used for pooling file
* handles
*
- * $Id: filemgr.cpp 2108 2007-10-13 20:35:02Z scribe $
+ * $Id: filemgr.cpp 2245 2009-02-10 23:22:28Z scribe $
*
* Copyright 1998 CrossWire Bible Society (http://www.crosswire.org)
* CrossWire Bible Society
@@ -481,7 +481,7 @@ char FileMgr::getLine(FileDesc *fDesc, SWBuf &line) {
line.append(chunk+start, size);
}
}
- return ((len>0) || line.length());
+ return ((len > 0) || line.length());
}
diff --git a/src/mgr/ftplibftpt.cpp b/src/mgr/ftplibftpt.cpp
index 4921dd5..108d93e 100644
--- a/src/mgr/ftplibftpt.cpp
+++ b/src/mgr/ftplibftpt.cpp
@@ -1,7 +1,24 @@
/*****************************************************************************
* FTPLibFTPTransport functions
*
+ *
+ *
+ * Copyright 2009 CrossWire Bible Society (http://www.crosswire.org)
+ * CrossWire Bible Society
+ * P. O. Box 2528
+ * Tempe, AZ 85280-2528
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation version 2.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
*/
+
#include <stdio.h>
#include <fcntl.h>
@@ -43,7 +60,7 @@ char FTPLibFTPTransport::assureLoggedIn() {
if (ftpConnection == 0) {
SWLog::getSystemLog()->logDebug("connecting to host %s\n", host.c_str());
if (FtpConnect(host, &ftpConnection))
- if (FtpLogin("anonymous", "installmgr@user.com", ftpConnection)) {
+ if (FtpLogin(u.c_str(), p.c_str(), ftpConnection)) {
retVal = 0;
}
else {
diff --git a/src/mgr/ftptrans.cpp b/src/mgr/ftptrans.cpp
index ab0a605..76e8679 100644
--- a/src/mgr/ftptrans.cpp
+++ b/src/mgr/ftptrans.cpp
@@ -1,7 +1,25 @@
/*****************************************************************************
* FTPTransport functions
*
+ *
+ *
+ * Copyright 2009 CrossWire Bible Society (http://www.crosswire.org)
+ * CrossWire Bible Society
+ * P. O. Box 2528
+ * Tempe, AZ 85280-2528
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation version 2.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
*/
+
+
#include <ftptrans.h>
@@ -11,6 +29,9 @@
#include <dirent.h>
#include <swlog.h>
+extern "C" {
+#include <ftpparse.h>
+}
using std::vector;
@@ -40,6 +61,8 @@ void StatusReporter::statusUpdate(double dtTotal, double dlNow) {
FTPTransport::FTPTransport(const char *host, StatusReporter *statusReporter) {
this->statusReporter = statusReporter;
this->host = host;
+ u = "ftp";
+ p = "installmgr@user.com";
term = false;
}
diff --git a/src/mgr/installmgr.cpp b/src/mgr/installmgr.cpp
index 6a1704f..c3fec1a 100644
--- a/src/mgr/installmgr.cpp
+++ b/src/mgr/installmgr.cpp
@@ -2,9 +2,26 @@
* InstallMgr functions to be made into something usefully exposed by
* master Glassey
*
+ *
+ *
+ * Copyright 2009 CrossWire Bible Society (http://www.crosswire.org)
+ * CrossWire Bible Society
+ * P. O. Box 2528
+ * Tempe, AZ 85280-2528
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation version 2.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
*/
+
#ifndef EXCLUDEZLIB
extern "C" {
#include <untgz.h>
@@ -28,10 +45,12 @@ extern "C" {
#ifdef CURLAVAILABLE
#include <curlftpt.h>
+#include <curlhttpt.h>
#else
#include <ftplibftpt.h>
#endif
+#include <iostream>
SWORD_NAMESPACE_START
namespace {
@@ -43,6 +62,8 @@ void removeTrailingSlash(SWBuf &buf) {
buf.size(len-1);
}
+const char *masterRepoList = "masterRepoList.conf";
+
};
@@ -66,13 +87,24 @@ FTPTransport *InstallMgr::createFTPTransport(const char *host, StatusReporter *s
#endif
}
+FTPTransport *InstallMgr::createHTTPTransport(const char *host, StatusReporter *statusReporter) {
+#ifdef CURLAVAILABLE
+ return new CURLHTTPTransport(host, statusReporter);
+#else
+ return 0;
+#endif
+}
-InstallMgr::InstallMgr(const char *privatePath, StatusReporter *sr) {
+InstallMgr::InstallMgr(const char *privatePath, StatusReporter *sr, SWBuf u, SWBuf p) {
+ userDisclaimerConfirmed = false;
statusReporter = sr;
+ this->u = u;
+ this->p = p;
this->privatePath = 0;
this->transport = 0;
+ installConf = 0;
stdstr(&(this->privatePath), privatePath);
if (this->privatePath) {
int len = strlen(this->privatePath);
@@ -80,39 +112,59 @@ InstallMgr::InstallMgr(const char *privatePath, StatusReporter *sr) {
|| (this->privatePath[len-1] == '\\'))
this->privatePath[len-1] = 0;
}
- SWBuf confPath = (SWBuf)privatePath + "/InstallMgr.conf";
+ confPath = (SWBuf)privatePath + "/InstallMgr.conf";
FileMgr::createParent(confPath.c_str());
- installConf = new SWConfig(confPath.c_str());
+ readInstallConf();
+}
- SectionMap::iterator sourcesSection;
- ConfigEntMap::iterator sourceBegin;
- ConfigEntMap::iterator sourceEnd;
+InstallMgr::~InstallMgr() {
+ delete [] privatePath;
+ delete installConf;
+ clearSources();
+}
+
+void InstallMgr::clearSources() {
+ for (InstallSourceMap::iterator it = sources.begin(); it != sources.end(); ++it) {
+ delete it->second;
+ }
sources.clear();
+}
+
+void InstallMgr::readInstallConf() {
+
+ if (installConf) delete installConf;
+
+ installConf = new SWConfig(confPath.c_str());
+
+ clearSources();
- setFTPPassive(stricmp((*installConf)["General"]["PassiveFTP"].c_str(), "false")!=0);
+ setFTPPassive(stricmp((*installConf)["General"]["PassiveFTP"].c_str(), "false") != 0);
- sourcesSection = installConf->Sections.find("Sources");
- if (sourcesSection != installConf->Sections.end()) {
- sourceBegin = sourcesSection->second.lower_bound("FTPSource");
- sourceEnd = sourcesSection->second.upper_bound("FTPSource");
+ SectionMap::iterator confSection = installConf->Sections.find("Sources");
+ ConfigEntMap::iterator sourceBegin;
+ ConfigEntMap::iterator sourceEnd;
+
+ if (confSection != installConf->Sections.end()) {
+ sourceBegin = confSection->second.lower_bound("FTPSource");
+ sourceEnd = confSection->second.upper_bound("FTPSource");
while (sourceBegin != sourceEnd) {
InstallSource *is = new InstallSource("FTP", sourceBegin->second.c_str());
sources[is->caption] = is;
- SWBuf parent = (SWBuf)privatePath + "/" + is->source + "/file";
+ SWBuf parent = (SWBuf)privatePath + "/" + is->uid + "/file";
FileMgr::createParent(parent.c_str());
- is->localShadow = (SWBuf)privatePath + "/" + is->source;
+ is->localShadow = (SWBuf)privatePath + "/" + is->uid;
sourceBegin++;
}
}
defaultMods.clear();
- sourcesSection = installConf->Sections.find("General");
- if (sourcesSection != installConf->Sections.end()) {
- sourceBegin = sourcesSection->second.lower_bound("DefaultMod");
- sourceEnd = sourcesSection->second.upper_bound("DefaultMod");
+ confSection = installConf->Sections.find("General");
+ if (confSection != installConf->Sections.end()) {
+ sourceBegin = confSection->second.lower_bound("DefaultMod");
+ sourceEnd = confSection->second.upper_bound("DefaultMod");
while (sourceBegin != sourceEnd) {
defaultMods.insert(sourceBegin->second.c_str());
@@ -122,18 +174,24 @@ InstallMgr::InstallMgr(const char *privatePath, StatusReporter *sr) {
}
-InstallMgr::~InstallMgr() {
- delete [] privatePath;
- delete installConf;
+void InstallMgr::saveInstallConf() {
+
+ installConf->Sections["Sources"].erase("FTPSource");
for (InstallSourceMap::iterator it = sources.begin(); it != sources.end(); ++it) {
- delete it->second;
+ if (it->second) {
+ installConf->Sections["Sources"].insert(ConfigEntMap::value_type("FTPSource", it->second->getConfEnt().c_str()));
+ }
}
+ (*installConf)["General"]["PassiveFTP"] = (isFTPPassive()) ? "true" : "false";
+
+ installConf->Save();
}
void InstallMgr::terminate() { if (transport) transport->terminate(); }
+
int InstallMgr::removeModule(SWMgr *manager, const char *moduleName) {
SectionMap::iterator module;
ConfigEntMap::iterator fileBegin;
@@ -148,7 +206,7 @@ int InstallMgr::removeModule(SWMgr *manager, const char *moduleName) {
// to be sure all files are closed
// this does not remove the .conf information from SWMgr
manager->deleteModule(modName);
-
+
fileBegin = module->second.lower_bound("File");
fileEnd = module->second.upper_bound("File");
@@ -201,11 +259,23 @@ int InstallMgr::removeModule(SWMgr *manager, const char *moduleName) {
int InstallMgr::ftpCopy(InstallSource *is, const char *src, const char *dest, bool dirTransfer, const char *suffix) {
+
+ // assert user disclaimer has been confirmed
+ if (!isUserDisclaimerConfirmed()) return -1;
+
int retVal = 0;
FTPTransport *trans = createFTPTransport(is->source, statusReporter);
transport = trans; // set classwide current transport for other thread terminate() call
+ if (is->u.length()) {
+ trans->setUser(is->u);
+ trans->setPasswd(is->p);
+ }
+ else {
+ trans->setUser(u);
+ trans->setPasswd(p);
+ }
trans->setPassive(passive);
-
+
SWBuf urlPrefix = (SWBuf)"ftp://" + is->source;
// let's be sure we can connect. This seems to be necessary but sucks
@@ -215,7 +285,7 @@ int InstallMgr::ftpCopy(InstallSource *is, const char *src, const char *dest, bo
// return -1;
// }
-
+
if (dirTransfer) {
SWBuf dir = (SWBuf)is->directory.c_str();
removeTrailingSlash(dir);
@@ -270,7 +340,7 @@ int InstallMgr::installModule(SWMgr *destMgr, const char *fromLocation, const ch
SWLog::getSystemLog()->logDebug("***** modName: %s \n", modName);
if (is)
- sourceDir = (SWBuf)privatePath + "/" + is->source;
+ sourceDir = (SWBuf)privatePath + "/" + is->uid;
else sourceDir = fromLocation;
removeTrailingSlash(sourceDir);
@@ -409,53 +479,16 @@ int InstallMgr::installModule(SWMgr *destMgr, const char *fromLocation, const ch
return 1;
}
+int InstallMgr::refreshRemoteSource(InstallSource *is) {
-// override this and provide an input mechanism to allow your users
-// to enter the decipher code for a module.
-// return true you added the cipher code to the config.
-// default to return 'aborted'
-bool InstallMgr::getCipherCode(const char *modName, SWConfig *config) {
- return false;
-
-/* a sample implementation, roughly taken from the windows installmgr
-
- SectionMap::iterator section;
- ConfigEntMap::iterator entry;
- SWBuf tmpBuf;
- section = config->Sections.find(modName);
- if (section != config->Sections.end()) {
- entry = section->second.find("CipherKey");
- if (entry != section->second.end()) {
- entry->second = GET_USER_INPUT();
- config->Save();
-
- // LET'S SHOW THE USER SOME SAMPLE TEXT FROM THE MODULE
- SWMgr *mgr = new SWMgr();
- SWModule *mod = mgr->Modules[modName];
- mod->setKey("Ipet 2:12");
- tmpBuf = mod->StripText();
- mod->setKey("gen 1:10");
- tmpBuf += "\n\n";
- tmpBuf += mod->StripText();
- SOME_DIALOG_CONTROL->SETTEXT(tmpBuf.c_str());
- delete mgr;
-
- // if USER CLICKS OK means we should return true
- return true;
- }
- }
- return false;
-*/
-
-}
-
+ // assert user disclaimer has been confirmed
+ if (!isUserDisclaimerConfirmed()) return -1;
-int InstallMgr::refreshRemoteSource(InstallSource *is) {
- SWBuf root = (SWBuf)privatePath + (SWBuf)"/" + is->source.c_str();
+ SWBuf root = (SWBuf)privatePath + (SWBuf)"/" + is->uid.c_str();
removeTrailingSlash(root);
SWBuf target = root + "/mods.d";
int errorCode = -1; //0 means successful
-
+
FileMgr::removeDir(target.c_str());
if (!FileMgr::existsDir(target))
@@ -463,17 +496,17 @@ int InstallMgr::refreshRemoteSource(InstallSource *is) {
#ifndef EXCLUDEZLIB
SWBuf archive = root + "/mods.d.tar.gz";
-
+
errorCode = ftpCopy(is, "mods.d.tar.gz", archive.c_str(), false);
if (!errorCode) { //sucessfully downloaded the tar,gz of module configs
FileDesc *fd = FileMgr::getSystemFileMgr()->open(archive.c_str(), FileMgr::RDONLY);
untargz(fd->getFd(), root.c_str());
FileMgr::getSystemFileMgr()->close(fd);
}
- else if (!term) //if the tar.gz download was canceled don't continue with another download
+ else
#endif
errorCode = ftpCopy(is, "mods.d", target.c_str(), true, ".conf"); //copy the whole directory
-
+
is->flush();
return errorCode;
}
@@ -536,19 +569,96 @@ map<SWModule *, int> InstallMgr::getModuleStatus(const SWMgr &base, const SWMgr
}
+/************************************************************************
+ * refreshRemoteSourceConfiguration - grab master list of know remote
+ * sources and integrate it with our configurations.
+ */
+int InstallMgr::refreshRemoteSourceConfiguration() {
+
+ // assert user disclaimer has been confirmed
+ if (!isUserDisclaimerConfirmed()) return -1;
+
+ SWBuf root = (SWBuf)privatePath;
+ removeTrailingSlash(root);
+ SWBuf masterRepoListPath = root + "/" + masterRepoList;
+ InstallSource is("FTP");
+ is.source = "ftp.crosswire.org";
+ is.directory = "/pub/sword";
+ int errorCode = ftpCopy(&is, masterRepoList, masterRepoListPath.c_str(), false);
+ if (!errorCode) { //sucessfully downloaded the repo list
+ SWConfig masterList(masterRepoListPath);
+ SectionMap::iterator sections = masterList.Sections.find("Repos");
+ if (sections != masterList.Sections.end()) {
+ for (ConfigEntMap::iterator actions = sections->second.begin(); actions != sections->second.end(); actions++) {
+ // Search through our current sources and see if we have a matching UID
+ InstallSourceMap::iterator it;
+ for (it = sources.begin(); it != sources.end(); ++it) {
+ // is this our UID?
+ if ((it->second) && (it->second->uid == actions->first)) {
+ if (actions->second == "REMOVE") {
+ // be sure to call save/reload after this
+ // or this could be dangerous
+ delete it->second;
+ it->second = 0;
+ }
+ else {
+ SWBuf key = actions->second.stripPrefix('=');
+ if (key == "FTPSource") {
+ // we might consider instantiating a temp IS
+ // from our config string and then copy only
+ // some entries. This would allow the use to
+ // change some fields and not have them overwritten
+ // but it seems like we might want to change any
+ // of the current fields so we don't do this now
+ // InstallSource i("FTP", actions->second);
+ delete it->second;
+ it->second = new InstallSource("FTP", actions->second.c_str());
+ it->second->uid = actions->first;
+ }
+ }
+ break;
+ }
+ }
+ // didn't find our UID, let's add it
+ if (it == sources.end()) {
+ SWBuf key = actions->second.stripPrefix('=');
+ if (key == "FTPSource") {
+ if (actions->second != "REMOVE") {
+ InstallSource *is = new InstallSource("FTP", actions->second.c_str());
+ is->uid = actions->first;
+ sources[is->caption] = is;
+ }
+ }
+ }
+ }
+
+ // persist and re-read
+ saveInstallConf();
+ readInstallConf();
+
+ return 0;
+ }
+ }
+ return -1;
+}
+
+
InstallSource::InstallSource(const char *type, const char *confEnt) {
this->type = type;
mgr = 0;
userData = 0;
if (confEnt) {
- char *buf = 0;
- stdstr(&buf, confEnt);
+ SWBuf buf = confEnt;
+ caption = buf.stripPrefix('|', true);
+ source = buf.stripPrefix('|', true);
+ directory = buf.stripPrefix('|', true);
+ u = buf.stripPrefix('|', true);
+ p = buf.stripPrefix('|', true);
+ uid = buf.stripPrefix('|', true);
+
+ if (!uid.length()) uid = source;
- caption = strtok(buf, "|");
- source = strtok(0, "|");
- directory = strtok(0, "|");
removeTrailingSlash(directory);
- delete [] buf;
}
}
diff --git a/src/mgr/localemgr.cpp b/src/mgr/localemgr.cpp
index ead076a..af57ca0 100644
--- a/src/mgr/localemgr.cpp
+++ b/src/mgr/localemgr.cpp
@@ -2,7 +2,7 @@
* localemgr.cpp - implementation of class LocaleMgr used to interact with
* registered locales for a sword installation
*
- * $Id: localemgr.cpp 2080 2007-09-17 06:21:29Z scribe $
+ * $Id: localemgr.cpp 2321 2009-04-13 01:17:00Z scribe $
*
* Copyright 1998 CrossWire Bible Society (http://www.crosswire.org)
* CrossWire Bible Society
@@ -49,8 +49,9 @@ public:
LocaleMgr *LocaleMgr::getSystemLocaleMgr() {
- if (!systemLocaleMgr)
- systemLocaleMgr = new LocaleMgr();
+ if (!systemLocaleMgr) {
+ setSystemLocaleMgr(new LocaleMgr());
+ }
return systemLocaleMgr;
}
@@ -60,6 +61,8 @@ void LocaleMgr::setSystemLocaleMgr(LocaleMgr *newLocaleMgr) {
if (systemLocaleMgr)
delete systemLocaleMgr;
systemLocaleMgr = newLocaleMgr;
+ SWLocale *locale = new SWLocale(0);
+ systemLocaleMgr->locales->insert(LocaleMap::value_type(locale->getName(), locale));
}
@@ -67,18 +70,29 @@ LocaleMgr::LocaleMgr(const char *iConfigPath) {
locales = new LocaleMap();
char *prefixPath = 0;
char *configPath = 0;
+ SWConfig *sysConf = 0;
char configType = 0;
SWBuf path;
std::list<SWBuf> augPaths;
+ ConfigEntMap::iterator entry;
defaultLocaleName = 0;
if (!iConfigPath) {
SWLog::getSystemLog()->logDebug("LOOKING UP LOCALE DIRECTORY...");
- SWMgr::findConfig(&configType, &prefixPath, &configPath, &augPaths);
+ SWMgr::findConfig(&configType, &prefixPath, &configPath, &augPaths, &sysConf);
+ if (sysConf) {
+ if ((entry = sysConf->Sections["Install"].find("LocalePath")) != sysConf->Sections["Install"].end()) {
+ configType = 9; // our own
+ stdstr(&prefixPath, (char *)entry->second.c_str());
+ SWLog::getSystemLog()->logDebug("LocalePath provided in sysConfig.");
+ }
+ }
SWLog::getSystemLog()->logDebug("LOOKING UP LOCALE DIRECTORY COMPLETE.");
}
- else configPath = (char *)iConfigPath;
+ else {
+ loadConfigDir(iConfigPath);
+ }
if (prefixPath) {
switch (configType) {
@@ -102,7 +116,7 @@ LocaleMgr::LocaleMgr(const char *iConfigPath) {
}
}
- if (augPaths.size()) { //load locale files from all augmented paths
+ if (augPaths.size() && configType != 9) { //load locale files from all augmented paths
std::list<SWBuf>::iterator it = augPaths.begin();
std::list<SWBuf>::iterator end = augPaths.end();
@@ -117,13 +131,16 @@ LocaleMgr::LocaleMgr(const char *iConfigPath) {
// Locales will be invalidated if you change the StringMgr
// So only use the default hardcoded locale and let the
// frontends change the locale if they want
- stdstr(&defaultLocaleName, "en_US");
+ stdstr(&defaultLocaleName, SWLocale::DEFAULT_LOCALE_NAME);
if (prefixPath)
delete [] prefixPath;
if (configPath)
delete [] configPath;
+
+ if (sysConf)
+ delete sysConf;
}
@@ -200,7 +217,7 @@ SWLocale *LocaleMgr::getLocale(const char *name) {
return (*it).second;
SWLog::getSystemLog()->logWarning("LocaleMgr::getLocale failed to find %s\n", name);
- return 0;
+ return (*locales)[SWLocale::DEFAULT_LOCALE_NAME];
}
diff --git a/src/mgr/swconfig.cpp b/src/mgr/swconfig.cpp
index 376c206..309f686 100644
--- a/src/mgr/swconfig.cpp
+++ b/src/mgr/swconfig.cpp
@@ -2,7 +2,7 @@
* swconfig.cpp - implementation of Class SWConfig used for saving and
* retrieval of configuration information
*
- * $Id: swconfig.cpp 1828 2005-06-10 16:24:46Z scribe $
+ * $Id: swconfig.cpp 2218 2008-12-23 09:33:38Z scribe $
*
* Copyright 1998 CrossWire Bible Society (http://www.crosswire.org)
* CrossWire Bible Society
@@ -28,6 +28,9 @@
SWORD_NAMESPACE_START
+SWConfig::SWConfig() {
+}
+
SWConfig::SWConfig(const char * ifilename) {
filename = ifilename;
Load();
@@ -38,6 +41,9 @@ SWConfig::~SWConfig() {
}
void SWConfig::Load() {
+
+ if (!filename.size()) return; // assert we have a filename
+
FileDesc *cfile;
char *buf, *data;
SWBuf line;
@@ -60,27 +66,30 @@ void SWConfig::Load() {
}
while (goodLine) {
- buf = new char [ line.length() + 1 ];
- strcpy(buf, line.c_str());
- if (*strstrip(buf) == '[') {
- if (!first)
- Sections.insert(SectionMap::value_type(sectname, cursect));
- else first = false;
-
- cursect.erase(cursect.begin(), cursect.end());
-
- strtok(buf, "]");
- sectname = buf+1;
- }
- else {
- strtok(buf, "=");
- if ((*buf) && (*buf != '=')) {
- if ((data = strtok(NULL, "")))
- cursect.insert(ConfigEntMap::value_type(buf, strstrip(data)));
- else cursect.insert(ConfigEntMap::value_type(buf, ""));
+ // ignore commented lines
+ if (!line.startsWith("#")) {
+ buf = new char [ line.length() + 1 ];
+ strcpy(buf, line.c_str());
+ if (*strstrip(buf) == '[') {
+ if (!first)
+ Sections.insert(SectionMap::value_type(sectname, cursect));
+ else first = false;
+
+ cursect.erase(cursect.begin(), cursect.end());
+
+ strtok(buf, "]");
+ sectname = buf+1;
}
+ else {
+ strtok(buf, "=");
+ if ((*buf) && (*buf != '=')) {
+ if ((data = strtok(NULL, "")))
+ cursect.insert(ConfigEntMap::value_type(buf, strstrip(data)));
+ else cursect.insert(ConfigEntMap::value_type(buf, ""));
+ }
+ }
+ delete [] buf;
}
- delete [] buf;
goodLine = FileMgr::getLine(cfile, line);
}
if (!first)
@@ -92,6 +101,9 @@ void SWConfig::Load() {
void SWConfig::Save() {
+
+ if (!filename.size()) return; // assert we have a filename
+
FileDesc *cfile;
SWBuf buf;
SectionMap::iterator sit;
diff --git a/src/mgr/swlocale.cpp b/src/mgr/swlocale.cpp
index facb1ee..3d09313 100644
--- a/src/mgr/swlocale.cpp
+++ b/src/mgr/swlocale.cpp
@@ -2,7 +2,7 @@
* swlocale.cpp - implementation of Class SWLocale used for retrieval
* of locale lookups
*
- * $Id: swlocale.cpp 1864 2005-11-20 06:06:40Z scribe $
+ * $Id: swlocale.cpp 2346 2009-04-27 01:53:58Z scribe $
*
* Copyright 2000 CrossWire Bible Society (http://www.crosswire.org)
* CrossWire Bible Society
@@ -25,29 +25,42 @@
#include <map>
#include <swconfig.h>
#include <versekey.h>
+#include <versemgr.h>
SWORD_NAMESPACE_START
typedef std::map < SWBuf, SWBuf, std::less < SWBuf > >LookupMap;
+const char *SWLocale::DEFAULT_LOCALE_NAME="en_US";
+
// I have bridge patterns, but this hides swconfig and map from lots o stuff
class SWLocale::Private {
public:
LookupMap lookupTable;
+ LookupMap mergedAbbrevs;
};
-SWLocale::SWLocale(const char * ifilename) {
+SWLocale::SWLocale(const char *ifilename) {
p = new Private;
ConfigEntMap::iterator confEntry;
- name = 0;
- description = 0;
- encoding = 0;
- bookAbbrevs = 0;
- BMAX = 0;
- books = 0;
- localeSource = new SWConfig(ifilename);
+ name = 0;
+ description = 0;
+ encoding = 0;
+ bookAbbrevs = 0;
+ bookLongNames = 0;
+ bookPrefAbbrev = 0;
+ if (ifilename) {
+ localeSource = new SWConfig(ifilename);
+ }
+ else {
+ localeSource = new SWConfig(0);
+ (*localeSource)["Meta"]["Name"] = DEFAULT_LOCALE_NAME;
+ (*localeSource)["Meta"]["Description"] = "English (US)";
+ bookAbbrevs = (struct abbrev *)builtin_abbrevs;
+ for (abbrevsCnt = 0; builtin_abbrevs[abbrevsCnt].osis[0]; abbrevsCnt++);
+ }
confEntry = localeSource->Sections["Meta"].find("Name");
if (confEntry != localeSource->Sections["Meta"].end())
@@ -76,15 +89,9 @@ SWLocale::~SWLocale() {
if (name)
delete [] name;
- if (bookAbbrevs)
+ if (bookAbbrevs != builtin_abbrevs)
delete [] bookAbbrevs;
- if (BMAX) {
- for (int i = 0; i < 2; i++)
- delete [] books[i];
- delete [] BMAX;
- delete [] books;
- }
delete p;
}
@@ -145,60 +152,35 @@ void SWLocale::augment(SWLocale &addFrom) {
*localeSource += *addFrom.localeSource;
}
-//#define NONNUMERICLOCALETHING 1
-const struct abbrev *SWLocale::getBookAbbrevs() {
+const struct abbrev *SWLocale::getBookAbbrevs(int *retSize) {
static const char *nullstr = "";
if (!bookAbbrevs) {
- ConfigEntMap::iterator it;
- int i, j;
- int size = localeSource->Sections["Book Abbrevs"].size();
+ // Assure all english abbrevs are present
+ for (int j = 0; builtin_abbrevs[j].osis[0]; j++) {
+ p->mergedAbbrevs[builtin_abbrevs[j].ab] = builtin_abbrevs[j].osis;
+ }
+ ConfigEntMap::iterator it = localeSource->Sections["Book Abbrevs"].begin();
+ ConfigEntMap::iterator end = localeSource->Sections["Book Abbrevs"].end();
+ for (; it != end; it++) {
+ p->mergedAbbrevs[it->first.c_str()] = it->second.c_str();
+ }
+ int size = p->mergedAbbrevs.size();
bookAbbrevs = new struct abbrev[size + 1];
- for (i = 0, j = 0, it = localeSource->Sections["Book Abbrevs"].begin(); it != localeSource->Sections["Book Abbrevs"].end(); it++, i++) {
- #ifdef NONNUMERICLOCALETHING
- int booknum = VerseKey::getOSISBookNum((*it).second.c_str());
- if (booknum != -1) {
- bookAbbrevs[j].ab = (*it).first.c_str();
- bookAbbrevs[j].book = booknum;
- j++;
- }
- #else
- bookAbbrevs[i].ab = (*it).first.c_str();
- bookAbbrevs[i].book = atoi((*it).second.c_str());
- j++;
- #endif
- //printf("SWLocale::getBookAbbrevs %s:%s %d\n",bookAbbrevs[i].ab,
- // (*it).second.c_str(), bookAbbrevs[i].book);
+ int i = 0;
+ for (LookupMap::iterator it = p->mergedAbbrevs.begin(); it != p->mergedAbbrevs.end(); it++, i++) {
+ bookAbbrevs[i].ab = it->first.c_str();
+ bookAbbrevs[i].osis = it->second.c_str();
}
- bookAbbrevs[j].ab = nullstr;
- bookAbbrevs[j].book = -1;
+
+ bookAbbrevs[i].ab = nullstr;
+ bookAbbrevs[i].osis = nullstr;
+ abbrevsCnt = size;
}
+ *retSize = abbrevsCnt;
return bookAbbrevs;
}
-void SWLocale::getBooks(char **iBMAX, struct sbook ***ibooks) {
- if (!BMAX) {
- BMAX = new char [2];
- BMAX[0] = VerseKey::builtin_BMAX[0];
- BMAX[1] = VerseKey::builtin_BMAX[1];
-
- books = new struct sbook *[2];
- books[0] = new struct sbook[BMAX[0]];
- books[1] = new struct sbook[BMAX[1]];
-
- for (int i = 0; i < 2; i++) {
- for (int j = 0; j < BMAX[i]; j++) {
- books[i][j] = VerseKey::builtin_books[i][j];
- books[i][j].name = translate(VerseKey::builtin_books[i][j].name);
- }
- }
- }
-
- *iBMAX = BMAX;
- *ibooks = books;
-}
-
-
SWORD_NAMESPACE_END
diff --git a/src/mgr/swmgr.cpp b/src/mgr/swmgr.cpp
index 86c04d7..3ee253f 100644
--- a/src/mgr/swmgr.cpp
+++ b/src/mgr/swmgr.cpp
@@ -2,7 +2,7 @@
* swmgr.cpp - implementaion of class SWMgr used to interact with an install
* base of sword modules.
*
- * $Id: swmgr.cpp 2169 2008-05-18 02:50:53Z scribe $
+ * $Id: swmgr.cpp 2374 2009-05-04 03:48:01Z scribe $
*
* Copyright 1998 CrossWire Bible Society (http://www.crosswire.org)
* CrossWire Bible Society
@@ -58,6 +58,7 @@
#include <osislemma.h>
#include <osisredletterwords.h>
#include <osismorphsegmentation.h>
+#include <osisruby.h>
#include <osisscripref.h>
#include <thmlstrongs.h>
#include <thmlfootnotes.h>
@@ -75,6 +76,7 @@
#include <utf8greekaccents.h>
#include <utf8cantillation.h>
#include <utf8hebrewpoints.h>
+#include <utf8arabicpoints.h>
#include <greeklexattribs.h>
#include <swfiltermgr.h>
#include <swcipher.h>
@@ -177,6 +179,10 @@ void SWMgr::init() {
optionFilters.insert(OptionFilterMap::value_type("OSISMorphSegmentation", tmpFilter));
cleanupFilters.push_back(tmpFilter);
+ tmpFilter = new OSISRuby();
+ optionFilters.insert(OptionFilterMap::value_type("OSISRuby", tmpFilter));
+ cleanupFilters.push_back(tmpFilter);
+
tmpFilter = new ThMLStrongs();
optionFilters.insert(OptionFilterMap::value_type("ThMLStrongs", tmpFilter));
cleanupFilters.push_back(tmpFilter);
@@ -209,6 +215,10 @@ void SWMgr::init() {
optionFilters.insert(OptionFilterMap::value_type("UTF8HebrewPoints", tmpFilter));
cleanupFilters.push_back(tmpFilter);
+ tmpFilter = new UTF8ArabicPoints();
+ optionFilters.insert(OptionFilterMap::value_type("UTF8ArabicPoints", tmpFilter));
+ cleanupFilters.push_back(tmpFilter);
+
tmpFilter = new UTF8Cantillation();
optionFilters.insert(OptionFilterMap::value_type("UTF8Cantillation", tmpFilter));
cleanupFilters.push_back(tmpFilter);
@@ -240,7 +250,24 @@ void SWMgr::init() {
teiplain = new TEIPlain();
cleanupFilters.push_back(teiplain);
-//#endif
+}
+
+
+SWBuf SWMgr::getHomeDir() {
+
+ // figure out 'home' directory for app data
+ SWBuf homeDir = getenv("HOME");
+ if (!homeDir.length()) {
+ // silly windows
+ homeDir = getenv("APPDATA");
+ }
+ if (homeDir.length()) {
+ if ((homeDir[homeDir.length()-1] != '\\') && (homeDir[homeDir.length()-1] != '/')) {
+ homeDir += "/";
+ }
+ }
+
+ return homeDir;
}
@@ -259,10 +286,10 @@ void SWMgr::commonInit(SWConfig *iconfig, SWConfig *isysconfig, bool autoload, S
}
else config = 0;
if (isysconfig) {
- sysconfig = isysconfig;
+ sysConfig = isysconfig;
mysysconfig = 0;
}
- else sysconfig = 0;
+ else sysConfig = 0;
if (autoload)
Load();
@@ -311,7 +338,7 @@ SWMgr::SWMgr(const char *iConfigPath, bool autoload, SWFilterMgr *filterMgr, boo
}
config = 0;
- sysconfig = 0;
+ sysConfig = 0;
if (autoload && configPath)
Load();
@@ -345,32 +372,46 @@ SWMgr::~SWMgr() {
}
-void SWMgr::findConfig(char *configType, char **prefixPath, char **configPath, std::list<SWBuf> *augPaths, SWConfig *providedSysConf) {
+void SWMgr::findConfig(char *configType, char **prefixPath, char **configPath, std::list<SWBuf> *augPaths, SWConfig **providedSysConf) {
SWBuf path;
SWBuf sysConfPath;
ConfigEntMap::iterator entry;
ConfigEntMap::iterator lastEntry;
- char *envsworddir = getenv("SWORD_PATH");
- char *envhomedir = getenv("HOME");
SWConfig *sysConf = 0;
+ SWBuf sysConfDataPath = "";
*configType = 0;
+ SWBuf homeDir = getHomeDir();
+
// check for a sysConf passed in to us
SWLog::getSystemLog()->logDebug("Checking for provided SWConfig(\"sword.conf\")...");
- if (providedSysConf) {
- sysConf = providedSysConf;
+ if (providedSysConf && *providedSysConf) {
+ sysConf = *providedSysConf;
SWLog::getSystemLog()->logDebug("found.");
}
- else {
+
+ // if we haven't been given our datapath in a sysconf, we need to track it down
+ if (!sysConf) {
// check working directory
SWLog::getSystemLog()->logDebug("Checking working directory for sword.conf...");
if (FileMgr::existsFile(".", "sword.conf")) {
SWLog::getSystemLog()->logDebug("Overriding any systemwide or ~/.sword/ sword.conf with one found in current directory.");
sysConfPath = "./sword.conf";
+ sysConf = new SWConfig(sysConfPath);
+ if ((entry = sysConf->Sections["Install"].find("DataPath")) != sysConf->Sections["Install"].end()) {
+ sysConfDataPath = (*entry).second;
+ }
+ if (providedSysConf) {
+ *providedSysConf = sysConf;
+ }
+ else {
+ delete sysConf;
+ sysConf = 0;
+ }
}
- else {
+ if (!sysConfDataPath.size()) {
SWLog::getSystemLog()->logDebug("Checking working directory for mods.conf...");
if (FileMgr::existsFile(".", "mods.conf")) {
SWLog::getSystemLog()->logDebug("found.");
@@ -388,7 +429,7 @@ void SWMgr::findConfig(char *configType, char **prefixPath, char **configPath, s
return;
}
- // check working directory ../library/
+ // check working directory ../library/
SWLog::getSystemLog()->logDebug("Checking working directory ../library/ for mods.d...");
if (FileMgr::existsDir("../library", "mods.d")) {
SWLog::getSystemLog()->logDebug("found.");
@@ -399,13 +440,14 @@ void SWMgr::findConfig(char *configType, char **prefixPath, char **configPath, s
}
// check environment variable SWORD_PATH
- SWLog::getSystemLog()->logDebug("Checking SWORD_PATH...");
+ SWLog::getSystemLog()->logDebug("Checking $SWORD_PATH...");
- if (envsworddir != NULL) {
+ SWBuf envsworddir = getenv("SWORD_PATH");
+ if (envsworddir.length()) {
- SWLog::getSystemLog()->logDebug("found (%s).", envsworddir);
+ SWLog::getSystemLog()->logDebug("found (%s).", envsworddir.c_str());
path = envsworddir;
- if ((envsworddir[strlen(envsworddir)-1] != '\\') && (envsworddir[strlen(envsworddir)-1] != '/'))
+ if ((envsworddir[envsworddir.length()-1] != '\\') && (envsworddir[envsworddir.length()-1] != '/'))
path += "/";
SWLog::getSystemLog()->logDebug("Checking $SWORD_PATH for mods.conf...");
@@ -446,29 +488,38 @@ void SWMgr::findConfig(char *configType, char **prefixPath, char **configPath, s
sysConfPath = gfp;
delete [] globPaths;
- SWBuf homeDir = envhomedir;
- if (homeDir.size() > 0) {
- if ((homeDir[homeDir.size()-1] != '\\') && (homeDir[homeDir.size()-1] != '/'))
- homeDir += "/";
- homeDir += ".sword/sword.conf";
- if (FileMgr::existsFile(homeDir)) {
- SWLog::getSystemLog()->logDebug("Overriding any systemwide sword.conf with one found in users home directory.");
- sysConfPath = homeDir;
+ if (homeDir.length()) {
+ SWBuf tryPath = homeDir;
+ tryPath += ".sword/sword.conf";
+ if (FileMgr::existsFile(tryPath)) {
+ SWLog::getSystemLog()->logDebug("Overriding any systemwide sword.conf with one found in users home directory (%s)", tryPath.c_str());
+ sysConfPath = tryPath;
+ }
+ else {
+ SWBuf tryPath = homeDir;
+ tryPath += "sword/sword.conf";
+ if (FileMgr::existsFile(tryPath)) {
+ SWLog::getSystemLog()->logDebug("Overriding any systemwide sword.conf with one found in users home directory (%s)", tryPath.c_str());
+ sysConfPath = tryPath;
+ }
}
}
}
}
- if (sysConfPath.size()) {
+ if (!sysConf && sysConfPath.size()) {
sysConf = new SWConfig(sysConfPath);
}
if (sysConf) {
if ((entry = sysConf->Sections["Install"].find("DataPath")) != sysConf->Sections["Install"].end()) {
- path = (*entry).second;
- if (((*entry).second.c_str()[strlen((*entry).second.c_str())-1] != '\\') && ((*entry).second.c_str()[strlen((*entry).second.c_str())-1] != '/'))
- path += "/";
+ sysConfDataPath = (*entry).second;
+ }
+ if (sysConfDataPath.size()) {
+ if ((!sysConfDataPath.endsWith("\\")) && (!sysConfDataPath.endsWith("/")))
+ sysConfDataPath += "/";
+ path = sysConfDataPath;
SWLog::getSystemLog()->logDebug("DataPath in %s is set to %s.", sysConfPath.c_str(), path.c_str());
SWLog::getSystemLog()->logDebug("Checking for mods.conf in DataPath...");
@@ -490,6 +541,10 @@ void SWMgr::findConfig(char *configType, char **prefixPath, char **configPath, s
*configType = 1;
}
}
+ }
+
+ // do some extra processing of sysConf if we have one
+ if (sysConf) {
if (augPaths) {
augPaths->clear();
entry = sysConf->Sections["Install"].lower_bound("AugmentPath");
@@ -501,23 +556,72 @@ void SWMgr::findConfig(char *configType, char **prefixPath, char **configPath, s
augPaths->push_back(path);
}
}
- }
-
- if ((sysConf) && (!providedSysConf)) {
- delete sysConf;
+ if (providedSysConf) {
+ *providedSysConf = sysConf;
+ }
+ else delete sysConf;
}
if (*configType)
return;
+ // WE STILL HAVEN'T FOUND A CONFIGURATION. LET'S LOOK IN SOME OS SPECIFIC
+ // LOCATIONS
+ //
+ // for various flavors of windoze...
+ // check %ALLUSERSPROFILE%/Application Data/sword/
+
+ SWLog::getSystemLog()->logDebug("Checking $ALLUSERSPROFILE/Application Data/sword/...");
+
+ SWBuf envallusersdir = getenv("ALLUSERSPROFILE");
+ if (envallusersdir.length()) {
+ SWLog::getSystemLog()->logDebug("found (%s).", envallusersdir.c_str());
+ path = envallusersdir;
+ if ((!path.endsWith("\\")) && (!path.endsWith("/")))
+ path += "/";
+
+ path += "Application Data/sword/";
+ SWLog::getSystemLog()->logDebug("Checking %s for mods.d...", path.c_str());
+ if (FileMgr::existsDir(path.c_str(), "mods.d")) {
+ SWLog::getSystemLog()->logDebug("found.");
+ stdstr(prefixPath, path.c_str());
+ path += "mods.d";
+ stdstr(configPath, path.c_str());
+ *configType = 1;
+ return;
+ }
+ }
+
+ // for Mac OSX...
+ // check $HOME/Library/Application Support/Sword/
+
+ SWLog::getSystemLog()->logDebug("Checking $HOME/Library/Application Support/Sword/...");
+
+ SWBuf pathCheck = getHomeDir();
+ if (pathCheck.length()) {
+ SWLog::getSystemLog()->logDebug("found (%s).", pathCheck.c_str());
+ path = pathCheck;
+ if ((!path.endsWith("\\")) && (!path.endsWith("/")))
+ path += "/";
+
+ SWLog::getSystemLog()->logDebug("Checking %s for mods.d...", path.c_str());
+ if (FileMgr::existsDir(path.c_str(), "mods.d")) {
+ SWLog::getSystemLog()->logDebug("found.");
+ stdstr(prefixPath, path.c_str());
+ path += "mods.d";
+ stdstr(configPath, path.c_str());
+ *configType = 1;
+ return;
+ }
+ }
+
+ // FINALLY CHECK PERSONAL HOME DIRECTORY LOCATIONS
// check ~/.sword/
SWLog::getSystemLog()->logDebug("Checking home directory for ~/.sword...");
- if (envhomedir != NULL) {
- path = envhomedir;
- if ((envhomedir[strlen(envhomedir)-1] != '\\') && (envhomedir[strlen(envhomedir)-1] != '/'))
- path += "/";
+ if (homeDir.length()) {
+ path = homeDir;
path += ".sword/";
SWLog::getSystemLog()->logDebug(" Checking for %smods.conf...", path.c_str());
if (FileMgr::existsFile(path.c_str(), "mods.conf")) {
@@ -537,6 +641,18 @@ void SWMgr::findConfig(char *configType, char **prefixPath, char **configPath, s
*configType = 2;
return;
}
+
+ path = homeDir;
+ path += "sword/";
+ SWLog::getSystemLog()->logDebug(" Checking for %smods.d...", path.c_str());
+ if (FileMgr::existsDir(path.c_str(), "mods.d")) {
+ SWLog::getSystemLog()->logDebug("found.");
+ stdstr(prefixPath, path.c_str());
+ path += "mods.d";
+ stdstr(configPath, path.c_str());
+ *configType = 2;
+ return;
+ }
}
}
@@ -551,21 +667,19 @@ void SWMgr::loadConfigDir(const char *ipath)
rewinddir(dir);
while ((ent = readdir(dir))) {
//check whether it ends with .conf, if it doesn't skip it!
- if (ent->d_name && (strlen(ent->d_name) > 5) && strncmp(".conf", (ent->d_name + strlen(ent->d_name) - 5), 5 )) {
+ if (!ent->d_name || (strlen(ent->d_name) <= 5) || strncmp(".conf", (ent->d_name + strlen(ent->d_name) - 5), 5 )) {
continue;
}
- if ((strcmp(ent->d_name, ".")) && (strcmp(ent->d_name, ".."))) {
- newmodfile = ipath;
- if ((ipath[strlen(ipath)-1] != '\\') && (ipath[strlen(ipath)-1] != '/'))
- newmodfile += "/";
- newmodfile += ent->d_name;
- if (config) {
- SWConfig tmpConfig(newmodfile.c_str());
- *config += tmpConfig;
- }
- else config = myconfig = new SWConfig(newmodfile.c_str());
+ newmodfile = ipath;
+ if ((ipath[strlen(ipath)-1] != '\\') && (ipath[strlen(ipath)-1] != '/'))
+ newmodfile += "/";
+ newmodfile += ent->d_name;
+ if (config) {
+ SWConfig tmpConfig(newmodfile.c_str());
+ *config += tmpConfig;
}
+ else config = myconfig = new SWConfig(newmodfile.c_str());
}
closedir(dir);
@@ -646,7 +760,9 @@ signed char SWMgr::Load() {
if (!config) { // If we weren't passed a config object at construction, find a config file
if (!configPath) { // If we weren't passed a config path at construction...
SWLog::getSystemLog()->logDebug("LOOKING UP MODULE CONFIGURATION...");
- findConfig(&configType, &prefixPath, &configPath, &augPaths, sysconfig);
+ SWConfig *externalSysConf = sysConfig; // if we have a sysConf before findConfig, then we were provided one from an external source.
+ findConfig(&configType, &prefixPath, &configPath, &augPaths, &sysConfig);
+ if (!externalSysConf) mysysconfig = sysConfig; // remind us to delete our own sysConfig in d-tor
SWLog::getSystemLog()->logDebug("LOOKING UP MODULE CONFIGURATION COMPLETE.");
}
if (configPath) {
@@ -680,17 +796,18 @@ signed char SWMgr::Load() {
}
if (augmentHome) {
// augment config with ~/.sword/mods.d if it exists ---------------------
- char *envhomedir = getenv("HOME");
- if (envhomedir != NULL && configType != 2) { // 2 = user only
- SWBuf path = envhomedir;
- if ((envhomedir[strlen(envhomedir)-1] != '\\') && (envhomedir[strlen(envhomedir)-1] != '/'))
- path += "/";
+ SWBuf homeDir = getHomeDir();
+ if (homeDir.length() && configType != 2) { // 2 = user only
+ SWBuf path = homeDir;
path += ".sword/";
augmentModules(path.c_str(), mgrModeMultiMod);
+ path = homeDir;
+ path += "sword/";
+ augmentModules(path.c_str(), mgrModeMultiMod);
}
}
// -------------------------------------------------------------------------
- if ( !Modules.size() ) // config exists, but no modules
+ if (!Modules.size()) // config exists, but no modules
ret = 1;
}
@@ -718,6 +835,8 @@ SWModule *SWMgr::CreateMod(const char *name, const char *driver, ConfigEntMap &s
if ((prefixPath[strlen(prefixPath)-1] != '\\') && (prefixPath[strlen(prefixPath)-1] != '/'))
datapath += "/";
+ SWBuf versification = ((entry = section.find("Versification")) != section.end()) ? (*entry).second : (SWBuf)"KJV";
+
// DataPath - relative path to data used by module driver. May be a directory, may be a File.
// Typically not useful by outside world. See AbsoluteDataPath, PrefixPath, and RelativePrefixPath
// below.
@@ -749,9 +868,7 @@ SWModule *SWMgr::CreateMod(const char *name, const char *driver, ConfigEntMap &s
else
markup = FMT_GBF;
- if (!stricmp(encoding.c_str(), "SCSU"))
- enc = ENC_SCSU;
- else if (!stricmp(encoding.c_str(), "UTF-8")) {
+ if (!stricmp(encoding.c_str(), "UTF-8")) {
enc = ENC_UTF8;
}
else enc = ENC_LATIN1;
@@ -795,17 +912,17 @@ SWModule *SWMgr::CreateMod(const char *name, const char *driver, ConfigEntMap &s
if (compress) {
if (!stricmp(driver, "zText"))
- newmod = new zText(datapath.c_str(), name, description.c_str(), blockType, compress, 0, enc, direction, markup, lang.c_str());
- else newmod = new zCom(datapath.c_str(), name, description.c_str(), blockType, compress, 0, enc, direction, markup, lang.c_str());
+ newmod = new zText(datapath.c_str(), name, description.c_str(), blockType, compress, 0, enc, direction, markup, lang.c_str(), versification);
+ else newmod = new zCom(datapath.c_str(), name, description.c_str(), blockType, compress, 0, enc, direction, markup, lang.c_str(), versification);
}
}
if (!stricmp(driver, "RawText")) {
- newmod = new RawText(datapath.c_str(), name, description.c_str(), 0, enc, direction, markup, lang.c_str());
+ newmod = new RawText(datapath.c_str(), name, description.c_str(), 0, enc, direction, markup, lang.c_str(), versification);
}
if (!stricmp(driver, "RawText4")) {
- newmod = new RawText4(datapath.c_str(), name, description.c_str(), 0, enc, direction, markup, lang.c_str());
+ newmod = new RawText4(datapath.c_str(), name, description.c_str(), 0, enc, direction, markup, lang.c_str(), versification);
}
// backward support old drivers
@@ -814,11 +931,11 @@ SWModule *SWMgr::CreateMod(const char *name, const char *driver, ConfigEntMap &s
}
if (!stricmp(driver, "RawCom")) {
- newmod = new RawCom(datapath.c_str(), name, description.c_str(), 0, enc, direction, markup, lang.c_str());
+ newmod = new RawCom(datapath.c_str(), name, description.c_str(), 0, enc, direction, markup, lang.c_str(), versification);
}
if (!stricmp(driver, "RawCom4")) {
- newmod = new RawCom4(datapath.c_str(), name, description.c_str(), 0, enc, direction, markup, lang.c_str());
+ newmod = new RawCom4(datapath.c_str(), name, description.c_str(), 0, enc, direction, markup, lang.c_str(), versification);
}
if (!stricmp(driver, "RawFiles")) {
@@ -888,11 +1005,11 @@ SWModule *SWMgr::CreateMod(const char *name, const char *driver, ConfigEntMap &s
*/
}
- // if a specific module type is set in the config, use this
- if ((entry = section.find("Type")) != section.end())
- newmod->Type(entry->second.c_str());
+ if (newmod) {
+ // if a specific module type is set in the config, use this
+ if ((entry = section.find("Type")) != section.end())
+ newmod->Type(entry->second.c_str());
- if (newmod){
newmod->setConfig(&section);
}
diff --git a/src/mgr/versemgr.cpp b/src/mgr/versemgr.cpp
new file mode 100644
index 0000000..0673746
--- /dev/null
+++ b/src/mgr/versemgr.cpp
@@ -0,0 +1,369 @@
+/******************************************************************************
+ * versemgr.cpp - implementation of class VerseMgr used for managing
+ * versification systems
+ *
+ * $Id: versemgr.cpp 2108 2007-10-13 20:35:02Z scribe $
+ *
+ * Copyright 1998 CrossWire Bible Society (http://www.crosswire.org)
+ * CrossWire Bible Society
+ * P. O. Box 2528
+ * Tempe, AZ 85280-2528
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation version 2.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ */
+
+#include <versemgr.h>
+#include <vector>
+#include <map>
+#include <treekey.h>
+#include <canon.h> // KJV internal versification system
+#include <swlog.h>
+#include <algorithm>
+
+#include <canon_null.h> // null v11n system
+
+#include <canon_leningrad.h> // Leningrad Codex (WLC) v11n system
+#include <canon_mt.h> // Masoretic Text (MT) v11n system
+#include <canon_kjva.h> // KJV + Apocrypha v11n system
+#include <canon_nrsv.h> // NRSV v11n system
+#include <canon_nrsva.h> // NRSVA + Apocrypha v11n system
+
+using std::vector;
+using std::map;
+using std::distance;
+using std::lower_bound;
+
+SWORD_NAMESPACE_START
+
+
+VerseMgr *VerseMgr::getSystemVerseMgr() {
+ if (!systemVerseMgr) {
+ systemVerseMgr = new VerseMgr();
+ systemVerseMgr->registerVersificationSystem("KJV", otbooks, ntbooks, vm);
+ systemVerseMgr->registerVersificationSystem("Leningrad", otbooks_leningrad, ntbooks_null, vm_leningrad);
+ systemVerseMgr->registerVersificationSystem("MT", otbooks_mt, ntbooks_null, vm_mt);
+ systemVerseMgr->registerVersificationSystem("KJVA", otbooks_kjva, ntbooks, vm_kjva);
+ systemVerseMgr->registerVersificationSystem("NRSV", otbooks, ntbooks, vm_nrsv);
+ systemVerseMgr->registerVersificationSystem("NRSVA", otbooks_nrsva, ntbooks, vm_nrsva);
+ }
+ return systemVerseMgr;
+}
+
+
+class VerseMgr::System::Private {
+public:
+ /** Array[chapmax] of maximum verses in chapters */
+ vector<Book> books;
+ map<SWBuf, int> osisLookup;
+
+ Private() {
+ }
+ Private(const VerseMgr::System::Private &other) {
+ books = other.books;
+ osisLookup = other.osisLookup;
+ }
+ VerseMgr::System::Private &operator =(const VerseMgr::System::Private &other) {
+ books = other.books;
+ osisLookup = other.osisLookup;
+ return *this;
+ }
+};
+
+
+class VerseMgr::Book::Private {
+friend struct BookOffsetLess;
+public:
+ /** Array[chapmax] of maximum verses in chapters */
+ vector<int> verseMax;
+ vector<long> offsetPrecomputed;
+
+ Private() {
+ verseMax.clear();
+ }
+ Private(const VerseMgr::Book::Private &other) {
+ verseMax.clear();
+ verseMax = other.verseMax;
+ offsetPrecomputed = other.offsetPrecomputed;
+ }
+ VerseMgr::Book::Private &operator =(const VerseMgr::Book::Private &other) {
+ verseMax.clear();
+ verseMax = other.verseMax;
+ offsetPrecomputed = other.offsetPrecomputed;
+ return *this;
+ }
+};
+
+struct BookOffsetLess {
+ bool operator() (const VerseMgr::Book &o1, const VerseMgr::Book &o2) const { return o1.p->offsetPrecomputed[0] < o2.p->offsetPrecomputed[0]; }
+ bool operator() (const long &o1, const VerseMgr::Book &o2) const { return o1 < o2.p->offsetPrecomputed[0]; }
+ bool operator() (const VerseMgr::Book &o1, const long &o2) const { return o1.p->offsetPrecomputed[0] < o2; }
+ bool operator() (const long &o1, const long &o2) const { return o1 < o2; }
+};
+
+void VerseMgr::Book::init() {
+ p = new Private();
+}
+
+void VerseMgr::System::init() {
+ p = new Private();
+ BMAX[0] = 0;
+ BMAX[1] = 0;
+ ntStartOffset = 0;
+}
+
+
+VerseMgr::System::System(const System &other) {
+ init();
+ name = other.name;
+ BMAX[0] = other.BMAX[0];
+ BMAX[1] = other.BMAX[1];
+ (*p) = *(other.p);
+ ntStartOffset = other.ntStartOffset;
+}
+
+VerseMgr::System &VerseMgr::System::operator =(const System &other) {
+ name = other.name;
+ BMAX[0] = other.BMAX[0];
+ BMAX[1] = other.BMAX[1];
+ (*p) = *(other.p);
+ ntStartOffset = other.ntStartOffset;
+ return *this;
+}
+
+
+VerseMgr::System::~System() {
+ delete p;
+}
+
+const VerseMgr::Book *VerseMgr::System::getBook(int number) const {
+ return (number < (signed int)p->books.size()) ? &(p->books[number]) : 0;
+}
+
+
+int VerseMgr::System::getBookNumberByOSISName(const char *bookName) const {
+ map<SWBuf, int>::const_iterator it = p->osisLookup.find(bookName);
+ return (it != p->osisLookup.end()) ? it->second : -1;
+}
+
+
+void VerseMgr::System::loadFromSBook(const sbook *ot, const sbook *nt, int *chMax) {
+ int chap = 0;
+ int book = 0;
+ long offset = 0; // module heading
+ offset++; // testament heading
+ while (ot->chapmax) {
+ p->books.push_back(Book(ot->name, ot->osis, ot->prefAbbrev, ot->chapmax));
+ offset++; // book heading
+ Book &b = p->books[p->books.size()-1];
+ p->osisLookup[b.getOSISName()] = p->books.size();
+ for (int i = 0; i < ot->chapmax; i++) {
+ b.p->verseMax.push_back(chMax[chap]);
+ offset++; // chapter heading
+ b.p->offsetPrecomputed.push_back(offset);
+ offset += chMax[chap++];
+ }
+ ot++;
+ book++;
+ }
+ BMAX[0] = book;
+ book = 0;
+ ntStartOffset = offset;
+ offset++; // testament heading
+ while (nt->chapmax) {
+ p->books.push_back(Book(nt->name, nt->osis, nt->prefAbbrev, nt->chapmax));
+ offset++; // book heading
+ Book &b = p->books[p->books.size()-1];
+ p->osisLookup[b.getOSISName()] = p->books.size();
+ for (int i = 0; i < nt->chapmax; i++) {
+ b.p->verseMax.push_back(chMax[chap]);
+ offset++; // chapter heading
+ b.p->offsetPrecomputed.push_back(offset);
+ offset += chMax[chap++];
+ }
+ nt++;
+ book++;
+ }
+ BMAX[1] = book;
+
+ // TODO: build offset speed array
+}
+
+
+VerseMgr::Book::Book(const Book &other) {
+ longName = other.longName;
+ osisName = other.osisName;
+ prefAbbrev = other.prefAbbrev;
+ chapMax = other.chapMax;
+ init();
+ (*p) = *(other.p);
+}
+
+VerseMgr::Book& VerseMgr::Book::operator =(const Book &other) {
+ longName = other.longName;
+ osisName = other.osisName;
+ prefAbbrev = other.prefAbbrev;
+ chapMax = other.chapMax;
+ init();
+ (*p) = *(other.p);
+ return *this;
+}
+
+
+VerseMgr::Book::~Book() {
+ delete p;
+}
+
+
+int VerseMgr::Book::getVerseMax(int chapter) const {
+ chapter--;
+ return (p && (chapter < (signed int)p->verseMax.size()) && (chapter > -1)) ? p->verseMax[chapter] : -1;
+}
+
+
+int VerseMgr::System::getBookCount() const {
+ return (p ? p->books.size() : 0);
+}
+
+
+long VerseMgr::System::getOffsetFromVerse(int book, int chapter, int verse) const {
+ long offset = -1;
+ chapter--;
+
+ const Book *b = getBook(book);
+
+ if (!b) return -1; // assert we have a valid book
+ if ((chapter > -1) && (chapter >= (signed int)b->p->offsetPrecomputed.size())) return -1; // assert we have a valid chapter
+
+ offset = b->p->offsetPrecomputed[(chapter > -1)?chapter:0];
+ if (chapter < 0) offset--;
+
+/* old code
+ *
+ offset = offsets[testament-1][0][book];
+ offset = offsets[testament-1][1][(int)offset + chapter];
+ if (!(offset|verse)) // if we have a testament but nothing else.
+ offset = 1;
+
+*/
+
+ return (offset + verse);
+}
+
+
+char VerseMgr::System::getVerseFromOffset(long offset, int *book, int *chapter, int *verse) const {
+
+ if (offset < 1) { // just handle the module heading corner case up front (and error case)
+ (*book) = -1;
+ (*chapter) = 0;
+ (*verse) = 0;
+ return offset; // < 0 = error
+ }
+
+ // binary search for book
+ vector<Book>::iterator b = lower_bound(p->books.begin(), p->books.end(), offset, BookOffsetLess());
+ if (b == p->books.end()) b--;
+ (*book) = distance(p->books.begin(), b)+1;
+ if (offset < (*(b->p->offsetPrecomputed.begin()))-((((!(*book)) || (*book)==BMAX[0]+1))?2:1)) { // -1 for chapter headings
+ (*book)--;
+ if (b != p->books.begin()) {
+ b--;
+ }
+ }
+ vector<long>::iterator c = lower_bound(b->p->offsetPrecomputed.begin(), b->p->offsetPrecomputed.end(), offset);
+
+ // if we're a book heading, we are lessthan chapter precomputes, but greater book. This catches corner case.
+ if (c == b->p->offsetPrecomputed.end()) {
+ c--;
+ }
+ if ((offset < *c) && (c == b->p->offsetPrecomputed.begin())) {
+ (*chapter) = (offset - *c)+1; // should be 0 or -1 (for testament heading)
+ (*verse) = 0;
+ }
+ else {
+ if (offset < *c) c--;
+ (*chapter) = distance(b->p->offsetPrecomputed.begin(), c)+1;
+ (*verse) = (offset - *c);
+ }
+ return ((*chapter > 0) && (*verse > b->getVerseMax(*chapter))) ? KEYERR_OUTOFBOUNDS : 0;
+}
+
+
+/***************************************************
+ * VerseMgr
+ */
+
+class VerseMgr::Private {
+public:
+ Private() {
+ }
+ Private(const VerseMgr::Private &other) {
+ systems = other.systems;
+ }
+ VerseMgr::Private &operator =(const VerseMgr::Private &other) {
+ systems = other.systems;
+ return *this;
+ }
+ map<SWBuf, System> systems;
+};
+// ---------------- statics -----------------
+VerseMgr *VerseMgr::systemVerseMgr = 0;
+
+class __staticsystemVerseMgr {
+public:
+ __staticsystemVerseMgr() { }
+ ~__staticsystemVerseMgr() { delete VerseMgr::systemVerseMgr; }
+} _staticsystemVerseMgr;
+
+
+void VerseMgr::init() {
+ p = new Private();
+}
+
+
+VerseMgr::~VerseMgr() {
+ delete p;
+}
+
+
+void VerseMgr::setSystemVerseMgr(VerseMgr *newVerseMgr) {
+ if (systemVerseMgr)
+ delete systemVerseMgr;
+ systemVerseMgr = newVerseMgr;
+}
+
+
+const VerseMgr::System *VerseMgr::getVersificationSystem(const char *name) const {
+ map<SWBuf, System>::const_iterator it = p->systems.find(name);
+ return (it != p->systems.end()) ? &(it->second) : 0;
+}
+
+
+void VerseMgr::registerVersificationSystem(const char *name, const sbook *ot, const sbook *nt, int *chMax) {
+ p->systems[name] = name;
+ System &s = p->systems[name];
+ s.loadFromSBook(ot, nt, chMax);
+}
+
+
+void VerseMgr::registerVersificationSystem(const char *name, const TreeKey *tk) {
+}
+
+
+const StringList VerseMgr::getVersificationSystems() const {
+ StringList retVal;
+ for (map<SWBuf, System>::const_iterator it = p->systems.begin(); it != p->systems.end(); it++) {
+ retVal.push_back(it->first);
+ }
+ return retVal;
+}
+
+
+SWORD_NAMESPACE_END
diff --git a/src/modules/comments/hrefcom/hrefcom.cpp b/src/modules/comments/hrefcom/hrefcom.cpp
index 7791da2..7035b08 100644
--- a/src/modules/comments/hrefcom/hrefcom.cpp
+++ b/src/modules/comments/hrefcom/hrefcom.cpp
@@ -2,6 +2,22 @@
* hrefcom.cpp - code for class 'HREFCom'- a module that produces HTML HREFs
* pointing to actual text desired. Uses standard
* files: ot and nt using indexs ??.bks ??.cps ??.vss
+ *
+ *
+ * Copyright 2009 CrossWire Bible Society (http://www.crosswire.org)
+ * CrossWire Bible Society
+ * P. O. Box 2528
+ * Tempe, AZ 85280-2528
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation version 2.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
*/
@@ -56,14 +72,9 @@ SWBuf &HREFCom::getRawEntryBuf() {
unsigned short size;
VerseKey *key = 0;
- SWTRY {
- key = SWDYNAMIC_CAST(VerseKey, this->key);
- }
- SWCATCH ( ... ) {}
- if (!key)
- key = new VerseKey(this->key);
+ key = &getVerseKey();
- findOffset(key->Testament(), key->Index(), &start, &size);
+ findOffset(key->Testament(), key->TestamentIndex(), &start, &size);
entrySize = size; // support getEntrySize call
SWBuf tmpbuf;
diff --git a/src/modules/comments/rawcom/rawcom.cpp b/src/modules/comments/rawcom/rawcom.cpp
index fd01c24..c0404ae 100644
--- a/src/modules/comments/rawcom/rawcom.cpp
+++ b/src/modules/comments/rawcom/rawcom.cpp
@@ -1,6 +1,22 @@
/******************************************************************************
* rawcom.cpp - code for class 'RawCom'- a module that reads raw commentary
* files: ot and nt using indexs ??.bks ??.cps ??.vss
+ *
+ *
+ * Copyright 2009 CrossWire Bible Society (http://www.crosswire.org)
+ * CrossWire Bible Society
+ * P. O. Box 2528
+ * Tempe, AZ 85280-2528
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation version 2.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
*/
@@ -23,9 +39,9 @@ SWORD_NAMESPACE_START
* idisp - Display object to use for displaying
*/
-RawCom::RawCom(const char *ipath, const char *iname, const char *idesc, SWDisplay *idisp, SWTextEncoding encoding, SWTextDirection dir, SWTextMarkup markup, const char* ilang)
+RawCom::RawCom(const char *ipath, const char *iname, const char *idesc, SWDisplay *idisp, SWTextEncoding encoding, SWTextDirection dir, SWTextMarkup markup, const char *ilang, const char *versification)
: RawVerse(ipath),
- SWCom(iname, idesc, idisp, encoding, dir, markup, ilang){
+ SWCom(iname, idesc, idisp, encoding, dir, markup, ilang, versification) {
}
@@ -53,7 +69,7 @@ SWBuf &RawCom::getRawEntryBuf() {
unsigned short size = 0;
VerseKey *key = &getVerseKey();
- findOffset(key->Testament(), key->Index(), &start, &size);
+ findOffset(key->Testament(), key->TestamentIndex(), &start, &size);
entrySize = size; // support getEntrySize call
entryBuf = "";
@@ -82,21 +98,21 @@ void RawCom::increment(int steps) {
unsigned short size;
VerseKey *tmpkey = &getVerseKey();
- findOffset(tmpkey->Testament(), tmpkey->Index(), &start, &size);
+ findOffset(tmpkey->Testament(), tmpkey->TestamentIndex(), &start, &size);
SWKey lastgood = *tmpkey;
while (steps) {
long laststart = start;
unsigned short lastsize = size;
SWKey lasttry = *tmpkey;
- (steps > 0) ? (*key)++ : (*key)--;
+ (steps > 0) ? ++(*key) : --(*key);
tmpkey = &getVerseKey();
if ((error = key->Error())) {
*key = lastgood;
break;
}
- long index = tmpkey->Index();
+ long index = tmpkey->TestamentIndex();
findOffset(tmpkey->Testament(), index, &start, &size);
if (
(((laststart != start) || (lastsize != size)) // we're a different entry
@@ -113,24 +129,15 @@ void RawCom::increment(int steps) {
void RawCom::setEntry(const char *inbuf, long len) {
VerseKey *key = &getVerseKey();
- doSetText(key->Testament(), key->Index(), inbuf, len);
+ doSetText(key->Testament(), key->TestamentIndex(), inbuf, len);
}
void RawCom::linkEntry(const SWKey *inkey) {
VerseKey *destkey = &getVerseKey();
- const VerseKey *srckey = 0;
-
- // see if we have a VerseKey * or decendant
- SWTRY {
- srckey = SWDYNAMIC_CAST(VerseKey, inkey);
- }
- SWCATCH ( ... ) {}
- // if we don't have a VerseKey * decendant, create our own
- if (!srckey)
- srckey = new VerseKey(inkey);
+ const VerseKey *srckey = &getVerseKey(inkey);
- doLinkEntry(destkey->Testament(), destkey->Index(), srckey->Index());
+ doLinkEntry(destkey->Testament(), destkey->TestamentIndex(), srckey->TestamentIndex());
if (inkey != srckey) // free our key if we created a VerseKey
delete srckey;
@@ -146,8 +153,29 @@ void RawCom::linkEntry(const SWKey *inkey) {
void RawCom::deleteEntry() {
VerseKey *key = &getVerseKey();
- doSetText(key->Testament(), key->Index(), "");
+ doSetText(key->Testament(), key->TestamentIndex(), "");
+}
+
+bool RawCom::isLinked(const SWKey *k1, const SWKey *k2) const {
+ long start1, start2;
+ unsigned short size1, size2;
+ VerseKey *vk1 = &getVerseKey(k1);
+ VerseKey *vk2 = &getVerseKey(k2);
+ if (vk1->Testament() != vk2->Testament()) return false;
+
+ findOffset(vk1->Testament(), vk1->TestamentIndex(), &start1, &size1);
+ findOffset(vk2->Testament(), vk2->TestamentIndex(), &start2, &size2);
+ if (!size1 || !size2) return false;
+ return start1 == start2;
}
+bool RawCom::hasEntry(const SWKey *k) const {
+ long start;
+ unsigned short size;
+ VerseKey *vk = &getVerseKey(k);
+
+ findOffset(vk->Testament(), vk->TestamentIndex(), &start, &size);
+ return size;
+}
SWORD_NAMESPACE_END
diff --git a/src/modules/comments/rawcom4/rawcom4.cpp b/src/modules/comments/rawcom4/rawcom4.cpp
index e59ee39..c0c4a1d 100644
--- a/src/modules/comments/rawcom4/rawcom4.cpp
+++ b/src/modules/comments/rawcom4/rawcom4.cpp
@@ -1,9 +1,24 @@
/******************************************************************************
* rawcom4.cpp - code for class 'RawCom4'- a module that reads raw commentary
* files: ot and nt using indexs ??.bks ??.cps ??.vss
+ *
+ *
+ * Copyright 2009 CrossWire Bible Society (http://www.crosswire.org)
+ * CrossWire Bible Society
+ * P. O. Box 2528
+ * Tempe, AZ 85280-2528
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation version 2.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
*/
-
#include <ctype.h>
#include <stdio.h>
#include <fcntl.h>
@@ -23,9 +38,9 @@ SWORD_NAMESPACE_START
* idisp - Display object to use for displaying
*/
-RawCom4::RawCom4(const char *ipath, const char *iname, const char *idesc, SWDisplay *idisp, SWTextEncoding encoding, SWTextDirection dir, SWTextMarkup markup, const char* ilang)
+RawCom4::RawCom4(const char *ipath, const char *iname, const char *idesc, SWDisplay *idisp, SWTextEncoding encoding, SWTextDirection dir, SWTextMarkup markup, const char *ilang, const char *versification)
: RawVerse4(ipath),
- SWCom(iname, idesc, idisp, encoding, dir, markup, ilang){
+ SWCom(iname, idesc, idisp, encoding, dir, markup, ilang, versification) {
}
@@ -53,7 +68,7 @@ SWBuf &RawCom4::getRawEntryBuf() {
unsigned long size = 0;
VerseKey *key = &getVerseKey();
- findOffset(key->Testament(), key->Index(), &start, &size);
+ findOffset(key->Testament(), key->TestamentIndex(), &start, &size);
entrySize = size; // support getEntrySize call
entryBuf = "";
@@ -82,21 +97,21 @@ void RawCom4::increment(int steps) {
unsigned long size;
VerseKey *tmpkey = &getVerseKey();
- findOffset(tmpkey->Testament(), tmpkey->Index(), &start, &size);
+ findOffset(tmpkey->Testament(), tmpkey->TestamentIndex(), &start, &size);
SWKey lastgood = *tmpkey;
while (steps) {
long laststart = start;
unsigned long lastsize = size;
SWKey lasttry = *tmpkey;
- (steps > 0) ? (*key)++ : (*key)--;
+ (steps > 0) ? ++(*key) : --(*key);
tmpkey = &getVerseKey();
if ((error = key->Error())) {
*key = lastgood;
break;
}
- long index = tmpkey->Index();
+ long index = tmpkey->TestamentIndex();
findOffset(tmpkey->Testament(), index, &start, &size);
if (
(((laststart != start) || (lastsize != size)) // we're a different entry
@@ -113,27 +128,14 @@ void RawCom4::increment(int steps) {
void RawCom4::setEntry(const char *inbuf, long len) {
VerseKey *key = &getVerseKey();
- doSetText(key->Testament(), key->Index(), inbuf, len);
+ doSetText(key->Testament(), key->TestamentIndex(), inbuf, len);
}
void RawCom4::linkEntry(const SWKey *inkey) {
VerseKey *destkey = &getVerseKey();
- const VerseKey *srckey = 0;
-
- // see if we have a VerseKey * or decendant
- SWTRY {
- srckey = SWDYNAMIC_CAST(VerseKey, inkey);
- }
- SWCATCH ( ... ) {}
- // if we don't have a VerseKey * decendant, create our own
- if (!srckey)
- srckey = new VerseKey(inkey);
-
- doLinkEntry(destkey->Testament(), destkey->Index(), srckey->Index());
-
- if (inkey != srckey) // free our key if we created a VerseKey
- delete srckey;
+ const VerseKey *srckey = &getVerseKey(inkey);
+ doLinkEntry(destkey->Testament(), destkey->TestamentIndex(), srckey->TestamentIndex());
}
@@ -146,8 +148,29 @@ void RawCom4::linkEntry(const SWKey *inkey) {
void RawCom4::deleteEntry() {
VerseKey *key = &getVerseKey();
- doSetText(key->Testament(), key->Index(), "");
+ doSetText(key->Testament(), key->TestamentIndex(), "");
+}
+
+bool RawCom4::isLinked(const SWKey *k1, const SWKey *k2) const {
+ long start1, start2;
+ unsigned long size1, size2;
+ VerseKey *vk1 = &getVerseKey(k1);
+ VerseKey *vk2 = &getVerseKey(k2);
+ if (vk1->Testament() != vk2->Testament()) return false;
+
+ findOffset(vk1->Testament(), vk1->TestamentIndex(), &start1, &size1);
+ findOffset(vk2->Testament(), vk2->TestamentIndex(), &start2, &size2);
+ if (!size1 || !size2) return false;
+ return start1 == start2;
}
+bool RawCom4::hasEntry(const SWKey *k) const {
+ long start;
+ unsigned long size;
+ VerseKey *vk = &getVerseKey(k);
+
+ findOffset(vk->Testament(), vk->TestamentIndex(), &start, &size);
+ return size;
+}
SWORD_NAMESPACE_END
diff --git a/src/modules/comments/rawfiles/rawfiles.cpp b/src/modules/comments/rawfiles/rawfiles.cpp
index 3b614d9..b0e24fc 100644
--- a/src/modules/comments/rawfiles/rawfiles.cpp
+++ b/src/modules/comments/rawfiles/rawfiles.cpp
@@ -2,9 +2,24 @@
* rawfiles.cpp - code for class 'RawFiles'- a module that produces HTML HREFs
* pointing to actual text desired. Uses standard
* files: ot and nt using indexs ??.bks ??.cps ??.vss
+ *
+ *
+ * Copyright 2009 CrossWire Bible Society (http://www.crosswire.org)
+ * CrossWire Bible Society
+ * P. O. Box 2528
+ * Tempe, AZ 85280-2528
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation version 2.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
*/
-
#include <ctype.h>
#include <stdio.h>
#include <fcntl.h>
@@ -13,6 +28,7 @@
#include <rawfiles.h>
#include <filemgr.h>
#include <versekey.h>
+#include <sysdata.h>
SWORD_NAMESPACE_START
@@ -57,16 +73,9 @@ SWBuf &RawFiles::getRawEntryBuf() {
FileDesc *datafile;
long start = 0;
unsigned short size = 0;
- VerseKey *key = 0;
-
- SWTRY {
- key = SWDYNAMIC_CAST(VerseKey, this->key);
- }
- SWCATCH ( ... ) {}
- if (!key)
- key = new VerseKey(this->key);
+ VerseKey *key = &getVerseKey();
- findOffset(key->Testament(), key->Index(), &start, &size);
+ findOffset(key->Testament(), key->TestamentIndex(), &start, &size);
entryBuf = "";
if (size) {
@@ -88,10 +97,6 @@ SWBuf &RawFiles::getRawEntryBuf() {
}
FileMgr::getSystemFileMgr()->close(datafile);
}
-
- if (key != this->key)
- delete key;
-
return entryBuf;
}
@@ -105,17 +110,11 @@ void RawFiles::setEntry(const char *inbuf, long len) {
FileDesc *datafile;
long start;
unsigned short size;
- VerseKey *key = 0;
+ VerseKey *key = &getVerseKey();
len = (len<0)?strlen(inbuf):len;
- SWTRY {
- key = SWDYNAMIC_CAST(VerseKey, this->key);
- }
- SWCATCH ( ... ) {}
- if (!key)
- key = new VerseKey(this->key);
- findOffset(key->Testament(), key->Index(), &start, &size);
+ findOffset(key->Testament(), key->TestamentIndex(), &start, &size);
if (size) {
SWBuf tmpbuf;
@@ -129,7 +128,7 @@ void RawFiles::setEntry(const char *inbuf, long len) {
entryBuf = path;
entryBuf += '/';
tmpbuf = getNextFilename();
- doSetText(key->Testament(), key->Index(), tmpbuf);
+ doSetText(key->Testament(), key->TestamentIndex(), tmpbuf);
entryBuf += tmpbuf;
}
datafile = FileMgr::getSystemFileMgr()->open(entryBuf, FileMgr::CREAT|FileMgr::WRONLY|FileMgr::TRUNC);
@@ -137,9 +136,6 @@ void RawFiles::setEntry(const char *inbuf, long len) {
datafile->write(inbuf, len);
}
FileMgr::getSystemFileMgr()->close(datafile);
-
- if (key != this->key)
- delete key;
}
@@ -154,36 +150,17 @@ void RawFiles::linkEntry(const SWKey *inkey) {
long start;
unsigned short size;
- const VerseKey *key = 0;
-
- SWTRY {
- key = SWDYNAMIC_CAST(VerseKey, inkey);
- }
- SWCATCH ( ... ) {}
- if (!key)
- key = new VerseKey(this->key);
+ const VerseKey *key = &getVerseKey();
- findOffset(key->Testament(), key->Index(), &start, &size);
+ findOffset(key->Testament(), key->TestamentIndex(), &start, &size);
if (size) {
SWBuf tmpbuf;
readText(key->Testament(), start, size + 2, tmpbuf);
- if (key != inkey)
- delete key;
- key = 0;
-
- SWTRY {
- key = SWDYNAMIC_CAST(VerseKey, inkey);
- }
- SWCATCH ( ... ) {}
- if (!key)
- key = new VerseKey(this->key);
- doSetText(key->Testament(), key->Index(), tmpbuf.c_str());
+ key = &getVerseKey(inkey);
+ doSetText(key->Testament(), key->TestamentIndex(), tmpbuf.c_str());
}
-
- if (key != inkey)
- delete key;
}
@@ -194,20 +171,8 @@ void RawFiles::linkEntry(const SWKey *inkey) {
*/
void RawFiles::deleteEntry() {
-
- VerseKey *key = 0;
-
- SWTRY {
- key = SWDYNAMIC_CAST(VerseKey, this->key);
- }
- SWCATCH ( ... ) {}
- if (!key)
- key = new VerseKey(this->key);
-
- doSetText(key->Testament(), key->Index(), "");
-
- if (key != this->key)
- delete key;
+ VerseKey *key = &getVerseKey();
+ doSetText(key->Testament(), key->TestamentIndex(), "");
}
@@ -220,32 +185,40 @@ void RawFiles::deleteEntry() {
char *RawFiles::getNextFilename() {
static char incfile[255];
- long number;
+ __u32 number;
FileDesc *datafile;
sprintf(incfile, "%s/incfile", path);
datafile = FileMgr::getSystemFileMgr()->open(incfile, FileMgr::RDONLY);
- if (datafile->read(&number, 4) != 4)
- number = 0;
+
+ if (datafile->read(&number, 4) != 4) number = 0;
+ number = swordtoarch32(number);
+
number++;
FileMgr::getSystemFileMgr()->close(datafile);
datafile = FileMgr::getSystemFileMgr()->open(incfile, FileMgr::CREAT|FileMgr::WRONLY|FileMgr::TRUNC);
+ sprintf(incfile, "%.7d", number-1);
+
+ number = archtosword32(number);
datafile->write(&number, 4);
+
FileMgr::getSystemFileMgr()->close(datafile);
- sprintf(incfile, "%.7ld", number-1);
return incfile;
}
char RawFiles::createModule (const char *path) {
char *incfile = new char [ strlen (path) + 16 ];
- static long zero = 0;
+
+ __u32 zero = 0;
+ zero = archtosword32(zero);
+
FileDesc *datafile;
sprintf(incfile, "%s/incfile", path);
datafile = FileMgr::getSystemFileMgr()->open(incfile, FileMgr::CREAT|FileMgr::WRONLY|FileMgr::TRUNC);
- delete [] incfile;
+ delete [] incfile;
datafile->write(&zero, 4);
FileMgr::getSystemFileMgr()->close(datafile);
diff --git a/src/modules/comments/swcom.cpp b/src/modules/comments/swcom.cpp
index 94f92c9..e82751b 100644
--- a/src/modules/comments/swcom.cpp
+++ b/src/modules/comments/swcom.cpp
@@ -1,14 +1,34 @@
/******************************************************************************
* swcom.cpp - code for base class 'SWCom'- The basis for all commentary
* modules
+ *
+ *
+ * Copyright 2009 CrossWire Bible Society (http://www.crosswire.org)
+ * CrossWire Bible Society
+ * P. O. Box 2528
+ * Tempe, AZ 85280-2528
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation version 2.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
*/
+
+#include <utilstr.h>
#include <swcom.h>
#include <localemgr.h>
#include <versekey.h>
+
SWORD_NAMESPACE_START
+
/******************************************************************************
* SWCom Constructor - Initializes data for instance of SWCom
*
@@ -17,10 +37,14 @@ SWORD_NAMESPACE_START
* idisp - Display object to use for displaying
*/
-SWCom::SWCom(const char *imodname, const char *imoddesc, SWDisplay *idisp, SWTextEncoding enc, SWTextDirection dir, SWTextMarkup mark, const char* ilang): SWModule(imodname, imoddesc, idisp, (char *)"Commentaries", enc, dir, mark, ilang) {
+SWCom::SWCom(const char *imodname, const char *imoddesc, SWDisplay *idisp, SWTextEncoding enc, SWTextDirection dir, SWTextMarkup mark, const char *ilang, const char *versification): SWModule(imodname, imoddesc, idisp, "Commentaries", enc, dir, mark, ilang) {
+ this->versification = 0;
+ stdstr(&(this->versification), versification);
delete key;
- key = CreateKey();
- tmpVK = new VerseKey();
+ key = (VerseKey *)CreateKey();
+ tmpVK1 = (VerseKey *)CreateKey();
+ tmpVK2 = (VerseKey *)CreateKey();
+ tmpSecond = false;
}
@@ -29,62 +53,53 @@ SWCom::SWCom(const char *imodname, const char *imoddesc, SWDisplay *idisp, SWTex
*/
SWCom::~SWCom() {
- delete tmpVK;
+ delete tmpVK1;
+ delete tmpVK2;
+ delete [] versification;
}
-SWKey *SWCom::CreateKey() { return new VerseKey(); }
-
+SWKey *SWCom::CreateKey() const {
+ VerseKey *vk = new VerseKey();
-long SWCom::Index() const {
- VerseKey *key = 0;
- SWTRY {
- key = SWDYNAMIC_CAST(VerseKey, this->key);
- }
- SWCATCH ( ... ) {}
- if (!key)
- key = new VerseKey(this->key);
+ vk->setVersificationSystem(versification);
- entryIndex = key->NewIndex();
+ return vk;
+}
- if (key != this->key)
- delete key;
+long SWCom::Index() const {
+ VerseKey *key = &getVerseKey();
+ entryIndex = key->Index();
return entryIndex;
}
long SWCom::Index(long iindex) {
- VerseKey *key = 0;
- SWTRY {
- key = SWDYNAMIC_CAST(VerseKey, this->key);
- }
- SWCATCH ( ... ) {}
- if (!key)
- key = new VerseKey(this->key);
-
+ VerseKey *key = &getVerseKey();
key->Testament(1);
key->Index(iindex);
if (key != this->key) {
this->key->copyFrom(*key);
- delete key;
}
return Index();
}
-VerseKey &SWCom::getVerseKey() const {
- VerseKey *key = NULL;
+VerseKey &SWCom::getVerseKey(const SWKey *keyToConvert) const {
+ const SWKey *thisKey = keyToConvert ? keyToConvert : this->key;
+
+ VerseKey *key = 0;
// see if we have a VerseKey * or decendant
SWTRY {
- key = SWDYNAMIC_CAST(VerseKey, this->key);
+ key = SWDYNAMIC_CAST(VerseKey, thisKey);
}
SWCATCH ( ... ) { }
if (!key) {
ListKey *lkTest = 0;
SWTRY {
- lkTest = SWDYNAMIC_CAST(ListKey, this->key);
+ lkTest = SWDYNAMIC_CAST(ListKey, thisKey);
}
SWCATCH ( ... ) { }
if (lkTest) {
@@ -95,11 +110,14 @@ VerseKey &SWCom::getVerseKey() const {
}
}
if (!key) {
- tmpVK->setLocale(LocaleMgr::getSystemLocaleMgr()->getDefaultLocaleName());
- (*tmpVK) = *(this->key);
- return (*tmpVK);
+ VerseKey *retKey = (tmpSecond) ? tmpVK1 : tmpVK2;
+ tmpSecond = !tmpSecond;
+ retKey->setLocale(LocaleMgr::getSystemLocaleMgr()->getDefaultLocaleName());
+ (*retKey) = *(thisKey);
+ return (*retKey);
}
else return *key;
}
+
SWORD_NAMESPACE_END
diff --git a/src/modules/comments/zcom/zcom.cpp b/src/modules/comments/zcom/zcom.cpp
index cdaea02..35b8946 100644
--- a/src/modules/comments/zcom/zcom.cpp
+++ b/src/modules/comments/zcom/zcom.cpp
@@ -1,9 +1,24 @@
/******************************************************************************
* rawcom.cpp - code for class 'zCom'- a module that reads raw commentary
* files: ot and nt using indexs ??.bks ??.cps ??.vss
+ *
+ *
+ * Copyright 2009 CrossWire Bible Society (http://www.crosswire.org)
+ * CrossWire Bible Society
+ * P. O. Box 2528
+ * Tempe, AZ 85280-2528
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation version 2.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
*/
-
#include <ctype.h>
#include <stdio.h>
#include <fcntl.h>
@@ -26,7 +41,7 @@ SWORD_NAMESPACE_START
* idisp - Display object to use for displaying
*/
-zCom::zCom(const char *ipath, const char *iname, const char *idesc, int iblockType, SWCompress *icomp, SWDisplay *idisp, SWTextEncoding enc, SWTextDirection dir, SWTextMarkup mark, const char* ilang) : zVerse(ipath, -1, iblockType, icomp), SWCom(iname, idesc, idisp, enc, dir, mark, ilang)/*, SWCompress()*/
+zCom::zCom(const char *ipath, const char *iname, const char *idesc, int iblockType, SWCompress *icomp, SWDisplay *idisp, SWTextEncoding enc, SWTextDirection dir, SWTextMarkup mark, const char *ilang, const char *versification) : zVerse(ipath, -1, iblockType, icomp), SWCom(iname, idesc, idisp, enc, dir, mark, ilang, versification)/*, SWCompress()*/
{
blockType = iblockType;
lastWriteKey = 0;
@@ -58,13 +73,14 @@ bool zCom::isWritable() {
SWBuf &zCom::getRawEntryBuf() {
long start = 0;
unsigned short size = 0;
+ unsigned long buffnum;
VerseKey *key = &getVerseKey();
- findOffset(key->Testament(), key->Index(), &start, &size);
+ findOffset(key->Testament(), key->TestamentIndex(), &start, &size, &buffnum);
entrySize = size; // support getEntrySize call
entryBuf = "";
- zReadText(key->Testament(), start, size, entryBuf);
+ zReadText(key->Testament(), start, size, buffnum, entryBuf);
rawFilter(entryBuf, key);
@@ -104,7 +120,7 @@ void zCom::setEntry(const char *inbuf, long len) {
delete lastWriteKey;
}
- doSetText(key->Testament(), key->Index(), inbuf, len);
+ doSetText(key->Testament(), key->TestamentIndex(), inbuf, len);
lastWriteKey = (VerseKey *)key->clone(); // must delete
}
@@ -112,19 +128,9 @@ void zCom::setEntry(const char *inbuf, long len) {
void zCom::linkEntry(const SWKey *inkey) {
VerseKey *destkey = &getVerseKey();
- const VerseKey *srckey = 0;
-
- // see if we have a VerseKey * or decendant
- SWTRY {
- srckey = (const VerseKey *) SWDYNAMIC_CAST(VerseKey, inkey);
- }
- SWCATCH ( ... ) {
- }
- // if we don't have a VerseKey * decendant, create our own
- if (!srckey)
- srckey = new VerseKey(inkey);
+ const VerseKey *srckey = &getVerseKey(inkey);
- doLinkEntry(destkey->Testament(), destkey->Index(), srckey->Index());
+ doLinkEntry(destkey->Testament(), destkey->TestamentIndex(), srckey->TestamentIndex());
if (inkey != srckey) // free our key if we created a VerseKey
delete srckey;
@@ -139,7 +145,7 @@ void zCom::linkEntry(const SWKey *inkey) {
void zCom::deleteEntry() {
VerseKey *key = &getVerseKey();
- doSetText(key->Testament(), key->Index(), "");
+ doSetText(key->Testament(), key->TestamentIndex(), "");
}
@@ -154,24 +160,25 @@ void zCom::deleteEntry() {
void zCom::increment(int steps) {
long start;
unsigned short size;
+ unsigned long buffnum;
VerseKey *tmpkey = &getVerseKey();
- findOffset(tmpkey->Testament(), tmpkey->Index(), &start, &size);
+ findOffset(tmpkey->Testament(), tmpkey->TestamentIndex(), &start, &size, &buffnum);
SWKey lastgood = *tmpkey;
while (steps) {
long laststart = start;
unsigned short lastsize = size;
SWKey lasttry = *tmpkey;
- (steps > 0) ? (*key)++ : (*key)--;
+ (steps > 0) ? ++(*key) : --(*key);
tmpkey = &getVerseKey();
if ((error = key->Error())) {
*key = lastgood;
break;
}
- long index = tmpkey->Index();
- findOffset(tmpkey->Testament(), index, &start, &size);
+ long index = tmpkey->TestamentIndex();
+ findOffset(tmpkey->Testament(), index, &start, &size, &buffnum);
if (
(((laststart != start) || (lastsize != size)) // we're a different entry
// && (start > 0)
@@ -184,5 +191,27 @@ void zCom::increment(int steps) {
error = (error) ? KEYERR_OUTOFBOUNDS : 0;
}
+bool zCom::isLinked(const SWKey *k1, const SWKey *k2) const {
+ long start1, start2;
+ unsigned short size1, size2;
+ unsigned long buffnum1, buffnum2;
+ VerseKey *vk1 = &getVerseKey(k1);
+ VerseKey *vk2 = &getVerseKey(k2);
+ if (vk1->Testament() != vk2->Testament()) return false;
+
+ findOffset(vk1->Testament(), vk1->TestamentIndex(), &start1, &size1, &buffnum1);
+ findOffset(vk2->Testament(), vk2->TestamentIndex(), &start2, &size2, &buffnum2);
+ return start1 == start2 && buffnum1 == buffnum2;
+}
+
+bool zCom::hasEntry(const SWKey *k) const {
+ long start;
+ unsigned short size;
+ unsigned long buffnum;
+ VerseKey *vk = &getVerseKey(k);
+
+ findOffset(vk->Testament(), vk->TestamentIndex(), &start, &size, &buffnum);
+ return size;
+}
SWORD_NAMESPACE_END
diff --git a/src/modules/common/entriesblk.cpp b/src/modules/common/entriesblk.cpp
index 216abd8..6e4c9aa 100644
--- a/src/modules/common/entriesblk.cpp
+++ b/src/modules/common/entriesblk.cpp
@@ -1,3 +1,20 @@
+/*
+ * Copyright 2009 CrossWire Bible Society (http://www.crosswire.org)
+ * CrossWire Bible Society
+ * P. O. Box 2528
+ * Tempe, AZ 85280-2528
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation version 2.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ */
+
#include <entriesblk.h>
#include <stdlib.h>
#include <string.h>
diff --git a/src/modules/common/lzsscomprs.cpp b/src/modules/common/lzsscomprs.cpp
index bd8f768..00177db 100644
--- a/src/modules/common/lzsscomprs.cpp
+++ b/src/modules/common/lzsscomprs.cpp
@@ -1,6 +1,22 @@
/******************************************************************************
* lzsscomprs.cpp - code for class 'LZSSCompress'- a driver class that
* provides LZSS compression
+ *
+ *
+ * Copyright 2009 CrossWire Bible Society (http://www.crosswire.org)
+ * CrossWire Bible Society
+ * P. O. Box 2528
+ * Tempe, AZ 85280-2528
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation version 2.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
*/
#include <stdlib.h>
diff --git a/src/modules/common/rawstr.cpp b/src/modules/common/rawstr.cpp
index d2da1e9..6f17628 100644
--- a/src/modules/common/rawstr.cpp
+++ b/src/modules/common/rawstr.cpp
@@ -1,11 +1,26 @@
/******************************************************************************
* rawstr.cpp - code for class 'RawStr'- a module that reads raw text
- * files: ot and nt using indexs ??.bks ??.cps ??.vss
- * and provides lookup and parsing functions based on
- * class StrKey
+ * files: ot and nt using indexs ??.bks ??.cps ??.vss
+ * and provides lookup and parsing functions based on
+ * class StrKey
+ *
+ *
+ * Copyright 2009 CrossWire Bible Society (http://www.crosswire.org)
+ * CrossWire Bible Society
+ * P. O. Box 2528
+ * Tempe, AZ 85280-2528
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation version 2.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
*/
-
#include <stdio.h>
#include <fcntl.h>
#include <errno.h>
@@ -27,6 +42,8 @@ SWORD_NAMESPACE_START
int RawStr::instance = 0;
char RawStr::nl = '\n';
+const int RawStr::IDXENTRYSIZE = 6;
+
/******************************************************************************
@@ -88,7 +105,7 @@ RawStr::~RawStr()
* buf - address of pointer to allocate for storage of string
*/
-void RawStr::getIDXBufDat(long ioffset, char **buf)
+void RawStr::getIDXBufDat(long ioffset, char **buf) const
{
int size;
char ch;
@@ -122,9 +139,9 @@ void RawStr::getIDXBufDat(long ioffset, char **buf)
* buf - address of pointer to allocate for storage of string
*/
-void RawStr::getIDXBuf(long ioffset, char **buf)
+void RawStr::getIDXBuf(long ioffset, char **buf) const
{
- long offset;
+ __u32 offset;
if (idxfd > 0) {
idxfd->seek(ioffset, SEEK_SET);
@@ -149,17 +166,18 @@ void RawStr::getIDXBuf(long ioffset, char **buf)
* RET: error status -1 general error; -2 new file
*/
-signed char RawStr::findOffset(const char *ikey, long *start, unsigned short *size, long away, long *idxoff)
+signed char RawStr::findOffset(const char *ikey, __u32 *start, __u16 *size, long away, __u32 *idxoff) const
{
char *trybuf, *maxbuf, *key = 0, quitflag = 0;
signed char retval = -1;
long headoff, tailoff, tryoff = 0, maxoff = 0;
int diff = 0;
+ bool awayFromSubstrCheck = false;
if (idxfd->getFd() >=0) {
tailoff = maxoff = idxfd->seek(0, SEEK_END) - 6;
retval = (tailoff >= 0) ? 0 : -2; // if NOT new file
- if (*ikey) {
+ if (*ikey && retval != -2) {
headoff = 0;
stdstr(&key, ikey, 3);
@@ -203,6 +221,7 @@ signed char RawStr::findOffset(const char *ikey, long *start, unsigned short *si
if (headoff >= tailoff) {
tryoff = headoff;
if (!substr && ((tryoff != maxoff)||(strncmp(key, maxbuf, keylen)<0))) {
+ awayFromSubstrCheck = true;
away--; // if our entry doesn't startwith our key, prefer the previous entry over the next
}
}
@@ -216,17 +235,19 @@ signed char RawStr::findOffset(const char *ikey, long *start, unsigned short *si
idxfd->seek(tryoff, SEEK_SET);
- *start = *size = 0;
- idxfd->read(start, 4);
- idxfd->read(size, 2);
+ __u32 tmpStart;
+ __u16 tmpSize;
+ *start = *size = tmpStart = tmpSize = 0;
+ idxfd->read(&tmpStart, 4);
+ idxfd->read(&tmpSize, 2);
if (idxoff)
*idxoff = tryoff;
- *start = swordtoarch32(*start);
- *size = swordtoarch16(*size);
+ *start = swordtoarch32(tmpStart);
+ *size = swordtoarch16(tmpSize);
while (away) {
- long laststart = *start;
+ unsigned long laststart = *start;
unsigned short lastsize = *size;
long lasttry = tryoff;
tryoff += (away > 0) ? 6 : -6;
@@ -237,7 +258,8 @@ signed char RawStr::findOffset(const char *ikey, long *start, unsigned short *si
else if (idxfd->seek(tryoff, SEEK_SET) < 0)
bad = true;
if (bad) {
- retval = -1;
+ if(!awayFromSubstrCheck)
+ retval = -1;
*start = laststart;
*size = lastsize;
tryoff = lasttry;
@@ -245,15 +267,15 @@ signed char RawStr::findOffset(const char *ikey, long *start, unsigned short *si
*idxoff = tryoff;
break;
}
- idxfd->read(start, 4);
- idxfd->read(size, 2);
+ idxfd->read(&tmpStart, 4);
+ idxfd->read(&tmpSize, 2);
if (idxoff)
*idxoff = tryoff;
- *start = swordtoarch32(*start);
- *size = swordtoarch16(*size);
+ *start = swordtoarch32(tmpStart);
+ *size = swordtoarch16(tmpSize);
- if (((laststart != *start) || (lastsize != *size)) && (*start >= 0) && (*size))
+ if (((laststart != *start) || (lastsize != *size)) && (*size))
away += (away < 0) ? 1 : -1;
}
@@ -271,65 +293,6 @@ signed char RawStr::findOffset(const char *ikey, long *start, unsigned short *si
/******************************************************************************
- * RawStr::preptext - Prepares the text before returning it to external
- * objects
- *
- * ENT: buf - buffer where text is stored and where to store the prep'd
- * text.
- */
-
-void RawStr::prepText(SWBuf &buf) {
- unsigned int to, from;
- char space = 0, cr = 0, realdata = 0, nlcnt = 0;
- char *rawBuf = buf.getRawData();
- for (to = from = 0; rawBuf[from]; from++) {
- switch (rawBuf[from]) {
- case 10:
- if (!realdata)
- continue;
- space = (cr) ? 0 : 1;
- cr = 0;
- nlcnt++;
- if (nlcnt > 1) {
-// *to++ = nl;
- rawBuf[to++] = 10;
-// *to++ = nl[1];
-// nlcnt = 0;
- }
- continue;
- case 13:
- if (!realdata)
- continue;
-// *to++ = nl[0];
- rawBuf[to++] = 10;
- space = 0;
- cr = 1;
- continue;
- }
- realdata = 1;
- nlcnt = 0;
- if (space) {
- space = 0;
- if (rawBuf[from] != ' ') {
- rawBuf[to++] = ' ';
- from--;
- continue;
- }
- }
- rawBuf[to++] = rawBuf[from];
- }
- buf.setSize(to);
-
- while (to > 1) { // remove trailing excess
- to--;
- if ((rawBuf[to] == 10) || (rawBuf[to] == ' '))
- buf.setSize(to);
- else break;
- }
-}
-
-
-/******************************************************************************
* RawStr::readtext - gets text at a given offset
*
* ENT:
@@ -339,12 +302,12 @@ void RawStr::prepText(SWBuf &buf) {
*
*/
-void RawStr::readText(long istart, unsigned short *isize, char **idxbuf, SWBuf &buf)
+void RawStr::readText(__u32 istart, __u16 *isize, char **idxbuf, SWBuf &buf)
{
unsigned int ch;
char *idxbuflocal = 0;
getIDXBufDat(istart, &idxbuflocal);
- long start = istart;
+ __u32 start = istart;
do {
if (*idxbuf)
@@ -401,12 +364,12 @@ void RawStr::readText(long istart, unsigned short *isize, char **idxbuf, SWBuf &
void RawStr::doSetText(const char *ikey, const char *buf, long len)
{
- long start, outstart;
- long idxoff;
- long endoff;
- long shiftSize;
- unsigned short size;
- unsigned short outsize;
+ __u32 start, outstart;
+ __u32 idxoff;
+ __u32 endoff;
+ __s32 shiftSize;
+ __u16 size;
+ __u16 outsize;
static const char nl[] = {13, 10};
char *tmpbuf = 0;
char *key = 0;
@@ -526,7 +489,6 @@ void RawStr::doLinkEntry(const char *destkey, const char *srckey) {
delete [] text;
}
-
/******************************************************************************
* RawLD::CreateModule - Creates new module files
*
diff --git a/src/modules/common/rawstr4.cpp b/src/modules/common/rawstr4.cpp
index cbc8384..003b2fe 100644
--- a/src/modules/common/rawstr4.cpp
+++ b/src/modules/common/rawstr4.cpp
@@ -1,8 +1,24 @@
/******************************************************************************
* rawstr.cpp - code for class 'RawStr'- a module that reads raw text
- * files: ot and nt using indexs ??.bks ??.cps ??.vss
- * and provides lookup and parsing functions based on
- * class StrKey
+ * files: ot and nt using indexs ??.bks ??.cps ??.vss
+ * and provides lookup and parsing functions based on
+ * class StrKey
+ *
+ *
+ * Copyright 2009 CrossWire Bible Society (http://www.crosswire.org)
+ * CrossWire Bible Society
+ * P. O. Box 2528
+ * Tempe, AZ 85280-2528
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation version 2.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
*/
#include <stdio.h>
@@ -26,6 +42,7 @@ SWORD_NAMESPACE_START
*/
int RawStr4::instance = 0;
+const int RawStr4::IDXENTRYSIZE = 8;
/******************************************************************************
@@ -88,7 +105,8 @@ RawStr4::~RawStr4()
* buf - address of pointer to allocate for storage of string
*/
-void RawStr4::getIDXBufDat(long ioffset, char **buf) {
+void RawStr4::getIDXBufDat(long ioffset, char **buf) const
+{
int size;
char ch;
if (datfd > 0) {
@@ -121,14 +139,14 @@ void RawStr4::getIDXBufDat(long ioffset, char **buf) {
* buf - address of pointer to allocate for storage of string
*/
-void RawStr4::getIDXBuf(long ioffset, char **buf)
+void RawStr4::getIDXBuf(long ioffset, char **buf) const
{
- long offset;
+ __u32 offset;
if (idxfd > 0) {
idxfd->seek(ioffset, SEEK_SET);
- idxfd->read(&offset, 4);
+ idxfd->read(&offset, 4);
offset = swordtoarch32(offset);
getIDXBufDat(offset, buf);
@@ -157,17 +175,19 @@ void RawStr4::getIDXBuf(long ioffset, char **buf)
* RET: error status -1 general error; -2 new file
*/
-signed char RawStr4::findOffset(const char *ikey, long *start, unsigned long *size, long away, long *idxoff)
+signed char RawStr4::findOffset(const char *ikey, __u32 *start, __u32 *size, long away, __u32 *idxoff) const
{
char *trybuf, *maxbuf, *key = 0, quitflag = 0;
signed char retval = -1;
long headoff, tailoff, tryoff = 0, maxoff = 0;
int diff = 0;
+ bool awayFromSubstrCheck = false;
if (idxfd->getFd() >=0) {
tailoff = maxoff = idxfd->seek(0, SEEK_END) - 8;
+
retval = (tailoff >= 0) ? 0 : -2; // if NOT new file
- if (*ikey) {
+ if (*ikey && retval != -2) {
headoff = 0;
stdstr(&key, ikey, 3);
@@ -211,6 +231,7 @@ signed char RawStr4::findOffset(const char *ikey, long *start, unsigned long *si
if (headoff >= tailoff) {
tryoff = headoff;
if (!substr && ((tryoff != maxoff)||(strncmp(key, maxbuf, keylen)<0))) {
+ awayFromSubstrCheck = true;
away--; // if our entry doesn't startwith our key, prefer the previous entry over the next
}
}
@@ -224,17 +245,18 @@ signed char RawStr4::findOffset(const char *ikey, long *start, unsigned long *si
idxfd->seek(tryoff, SEEK_SET);
- *start = *size = 0;
- idxfd->read(start, 4);
- idxfd->read(size, 4);
+ __u32 tmpStart, tmpSize;
+ *start = *size = tmpStart = tmpSize = 0;
+ idxfd->read(&tmpStart, 4);
+ idxfd->read(&tmpSize, 4);
if (idxoff)
*idxoff = tryoff;
- *start = swordtoarch32(*start);
- *size = swordtoarch32(*size);
+ *start = swordtoarch32(tmpStart);
+ *size = swordtoarch32(tmpSize);
while (away) {
- long laststart = *start;
+ unsigned long laststart = *start;
unsigned long lastsize = *size;
long lasttry = tryoff;
tryoff += (away > 0) ? 8 : -8;
@@ -245,7 +267,8 @@ signed char RawStr4::findOffset(const char *ikey, long *start, unsigned long *si
else if (idxfd->seek(tryoff, SEEK_SET) < 0)
bad = true;
if (bad) {
- retval = -1;
+ if(!awayFromSubstrCheck)
+ retval = -1;
*start = laststart;
*size = lastsize;
tryoff = lasttry;
@@ -253,15 +276,15 @@ signed char RawStr4::findOffset(const char *ikey, long *start, unsigned long *si
*idxoff = tryoff;
break;
}
- idxfd->read(start, 4);
- idxfd->read(size, 4);
+ idxfd->read(&tmpStart, 4);
+ idxfd->read(&tmpSize, 4);
if (idxoff)
*idxoff = tryoff;
- *start = swordtoarch32(*start);
- *size = swordtoarch32(*size);
+ *start = swordtoarch32(tmpStart);
+ *size = swordtoarch32(tmpSize);
- if (((laststart != *start) || (lastsize != *size)) && (*start >= 0) && (*size))
+ if (((laststart != *start) || (lastsize != *size)) && (*size))
away += (away < 0) ? 1 : -1;
}
@@ -279,65 +302,6 @@ signed char RawStr4::findOffset(const char *ikey, long *start, unsigned long *si
/******************************************************************************
- * RawStr4::preptext - Prepares the text before returning it to external
- * objects
- *
- * ENT: buf - buffer where text is stored and where to store the prep'd
- * text.
- */
-
-void RawStr4::prepText(SWBuf &buf) {
- unsigned int to, from;
- char space = 0, cr = 0, realdata = 0, nlcnt = 0;
- char *rawBuf = buf.getRawData();
- for (to = from = 0; rawBuf[from]; from++) {
- switch (rawBuf[from]) {
- case 10:
- if (!realdata)
- continue;
- space = (cr) ? 0 : 1;
- cr = 0;
- nlcnt++;
- if (nlcnt > 1) {
-// *to++ = nl;
- rawBuf[to++] = 10;
-// *to++ = nl[1];
-// nlcnt = 0;
- }
- continue;
- case 13:
- if (!realdata)
- continue;
-// *to++ = nl[0];
- rawBuf[to++] = 10;
- space = 0;
- cr = 1;
- continue;
- }
- realdata = 1;
- nlcnt = 0;
- if (space) {
- space = 0;
- if (rawBuf[from] != ' ') {
- rawBuf[to++] = ' ';
- from--;
- continue;
- }
- }
- rawBuf[to++] = rawBuf[from];
- }
- buf.setSize(to);
-
- while (to > 1) { // remove trailing excess
- to--;
- if ((rawBuf[to] == 10) || (rawBuf[to] == ' '))
- buf.setSize(to);
- else break;
- }
-}
-
-
-/******************************************************************************
* RawStr4::readtext - gets text at a given offset
*
* ENT:
@@ -347,12 +311,12 @@ void RawStr4::prepText(SWBuf &buf) {
*
*/
-void RawStr4::readText(long istart, unsigned long *isize, char **idxbuf, SWBuf &buf)
+void RawStr4::readText(__u32 istart, __u32 *isize, char **idxbuf, SWBuf &buf)
{
unsigned int ch;
char *idxbuflocal = 0;
getIDXBufDat(istart, &idxbuflocal);
- long start = istart;
+ __u32 start = istart;
do {
if (*idxbuf)
@@ -408,12 +372,12 @@ void RawStr4::readText(long istart, unsigned long *isize, char **idxbuf, SWBuf &
void RawStr4::doSetText(const char *ikey, const char *buf, long len) {
- long start, outstart;
- long idxoff;
- long endoff;
- long shiftSize;
- unsigned long size;
- unsigned long outsize;
+ __u32 start, outstart;
+ __u32 idxoff;
+ __u32 endoff;
+ __s32 shiftSize;
+ __u32 size;
+ __u32 outsize;
static const char nl[] = {13, 10};
char *tmpbuf = 0;
char *key = 0;
diff --git a/src/modules/common/rawverse.cpp b/src/modules/common/rawverse.cpp
index 934082c..99beaa2 100644
--- a/src/modules/common/rawverse.cpp
+++ b/src/modules/common/rawverse.cpp
@@ -3,9 +3,26 @@
* files: ot and nt using indexs ??.bks ??.cps ??.vss
* and provides lookup and parsing functions based on
* class VerseKey
+ *
+ *
+ * Copyright 2009 CrossWire Bible Society (http://www.crosswire.org)
+ * CrossWire Bible Society
+ * P. O. Box 2528
+ * Tempe, AZ 85280-2528
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation version 2.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
*/
+
#include <ctype.h>
#include <stdio.h>
#include <fcntl.h>
@@ -96,18 +113,20 @@ RawVerse::~RawVerse()
* size - address to store the size of the entry
*/
-void RawVerse::findOffset(char testmt, long idxoff, long *start, unsigned short *size) {
+void RawVerse::findOffset(char testmt, long idxoff, long *start, unsigned short *size) const {
idxoff *= 6;
if (!testmt)
testmt = ((idxfp[1]) ? 1:2);
if (idxfp[testmt-1]->getFd() >= 0) {
idxfp[testmt-1]->seek(idxoff, SEEK_SET);
- idxfp[testmt-1]->read(start, 4);
- long len = idxfp[testmt-1]->read(size, 2); // read size
+ __s32 tmpStart;
+ __u16 tmpSize;
+ idxfp[testmt-1]->read(&tmpStart, 4);
+ long len = idxfp[testmt-1]->read(&tmpSize, 2); // read size
- *start = swordtoarch32(*start);
- *size = swordtoarch16(*size);
+ *start = swordtoarch32(tmpStart);
+ *size = swordtoarch16(tmpSize);
if (len < 2) {
*size = (unsigned short)((*start) ? (textfp[testmt-1]->seek(0, SEEK_END) - (long)*start) : 0); // if for some reason we get an error reading size, make size to end of file
@@ -121,65 +140,6 @@ void RawVerse::findOffset(char testmt, long idxoff, long *start, unsigned short
/******************************************************************************
- * RawVerse::preptext - Prepares the text before returning it to external
- * objects
- *
- * ENT: buf - buffer where text is stored and where to store the prep'd
- * text.
- */
-
-void RawVerse::prepText(SWBuf &buf) {
- unsigned int to, from;
- char space = 0, cr = 0, realdata = 0, nlcnt = 0;
- char *rawBuf = buf.getRawData();
- for (to = from = 0; rawBuf[from]; from++) {
- switch (rawBuf[from]) {
- case 10:
- if (!realdata)
- continue;
- space = (cr) ? 0 : 1;
- cr = 0;
- nlcnt++;
- if (nlcnt > 1) {
-// *to++ = nl;
- rawBuf[to++] = 10;
-// *to++ = nl[1];
-// nlcnt = 0;
- }
- continue;
- case 13:
- if (!realdata)
- continue;
-// *to++ = nl[0];
- rawBuf[to++] = 10;
- space = 0;
- cr = 1;
- continue;
- }
- realdata = 1;
- nlcnt = 0;
- if (space) {
- space = 0;
- if (rawBuf[from] != ' ') {
- rawBuf[to++] = ' ';
- from--;
- continue;
- }
- }
- rawBuf[to++] = rawBuf[from];
- }
- buf.setSize(to);
-
- while (to > 1) { // remove trailing excess
- to--;
- if ((rawBuf[to] == 10) || (rawBuf[to] == ' '))
- buf.setSize(to);
- else break;
- }
-}
-
-
-/******************************************************************************
* RawVerse::readtext - gets text at a given offset
*
* ENT: testmt - testament file to search in (0 - Old; 1 - New)
@@ -215,17 +175,16 @@ void RawVerse::readText(char testmt, long start, unsigned short size, SWBuf &buf
void RawVerse::doSetText(char testmt, long idxoff, const char *buf, long len)
{
- long start, outstart;
- unsigned short size;
- unsigned short outsize;
+ __s32 start;
+ __u16 size;
idxoff *= 6;
if (!testmt)
testmt = ((idxfp[1]) ? 1:2);
- size = outsize = (len < 0) ? strlen(buf) : len;
+ size = (len < 0) ? strlen(buf) : len;
- start = outstart = textfp[testmt-1]->seek(0, SEEK_END);
+ start = textfp[testmt-1]->seek(0, SEEK_END);
idxfp[testmt-1]->seek(idxoff, SEEK_SET);
if (size) {
@@ -239,13 +198,11 @@ void RawVerse::doSetText(char testmt, long idxoff, const char *buf, long len)
start = 0;
}
- outstart = archtosword32(start);
- outsize = archtosword16(size);
-
- idxfp[testmt-1]->write(&outstart, 4);
- idxfp[testmt-1]->write(&outsize, 2);
-
+ start = archtosword32(start);
+ size = archtosword16(size);
+ idxfp[testmt-1]->write(&start, 4);
+ idxfp[testmt-1]->write(&size, 2);
}
@@ -258,8 +215,8 @@ void RawVerse::doSetText(char testmt, long idxoff, const char *buf, long len)
*/
void RawVerse::doLinkEntry(char testmt, long destidxoff, long srcidxoff) {
- long start;
- unsigned short size;
+ __s32 start;
+ __u16 size;
destidxoff *= 6;
srcidxoff *= 6;
@@ -280,13 +237,13 @@ void RawVerse::doLinkEntry(char testmt, long destidxoff, long srcidxoff) {
/******************************************************************************
- * RawVerse::CreateModule - Creates new module files
+ * RawVerse::createModule - Creates new module files
*
* ENT: path - directory to store module files
* RET: error status
*/
-char RawVerse::createModule(const char *ipath)
+char RawVerse::createModule(const char *ipath, const char *v11n)
{
char *path = 0;
char *buf = new char [ strlen (ipath) + 20 ];
@@ -320,11 +277,16 @@ char RawVerse::createModule(const char *ipath)
fd2->getFd();
VerseKey vk;
+ vk.setVersificationSystem(v11n);
vk.Headings(1);
- long offset = 0;
- short size = 0;
+
+ __s32 offset = 0;
+ __u16 size = 0;
+ offset = archtosword32(offset);
+ size = archtosword16(size);
+
for (vk = TOP; !vk.Error(); vk++) {
- if (vk.Testament() == 1) {
+ if (vk.Testament() < 2) {
fd->write(&offset, 4);
fd->write(&size, 2);
}
@@ -333,16 +295,14 @@ char RawVerse::createModule(const char *ipath)
fd2->write(&size, 2);
}
}
+ fd2->write(&offset, 4);
+ fd2->write(&size, 2);
FileMgr::getSystemFileMgr()->close(fd);
FileMgr::getSystemFileMgr()->close(fd2);
delete [] path;
delete [] buf;
-/*
- RawVerse rv(path);
- VerseKey mykey("Rev 22:21");
-*/
return 0;
}
diff --git a/src/modules/common/rawverse4.cpp b/src/modules/common/rawverse4.cpp
index bd438ec..ee0b207 100644
--- a/src/modules/common/rawverse4.cpp
+++ b/src/modules/common/rawverse4.cpp
@@ -3,9 +3,26 @@
* files: ot and nt using indexs ??.bks ??.cps ??.vss
* and provides lookup and parsing functions based on
* class VerseKey
+ *
+ *
+ * Copyright 2009 CrossWire Bible Society (http://www.crosswire.org)
+ * CrossWire Bible Society
+ * P. O. Box 2528
+ * Tempe, AZ 85280-2528
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation version 2.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
*/
+
#include <ctype.h>
#include <stdio.h>
#include <fcntl.h>
@@ -96,18 +113,20 @@ RawVerse4::~RawVerse4()
* size - address to store the size of the entry
*/
-void RawVerse4::findOffset(char testmt, long idxoff, long *start, unsigned long *size) {
+void RawVerse4::findOffset(char testmt, long idxoff, long *start, unsigned long *size) const {
idxoff *= 8;
if (!testmt)
testmt = ((idxfp[1]) ? 1:2);
if (idxfp[testmt-1]->getFd() >= 0) {
idxfp[testmt-1]->seek(idxoff, SEEK_SET);
- idxfp[testmt-1]->read(start, 4);
- long len = idxfp[testmt-1]->read(size, 4); // read size
+ __u32 tmpStart;
+ __u32 tmpSize;
+ idxfp[testmt-1]->read(&tmpStart, 4);
+ long len = idxfp[testmt-1]->read(&tmpSize, 4); // read size
- *start = swordtoarch32(*start);
- *size = swordtoarch32(*size);
+ *start = swordtoarch32(tmpStart);
+ *size = swordtoarch32(tmpSize);
if (len < 2) {
*size = (unsigned long)((*start) ? (textfp[testmt-1]->seek(0, SEEK_END) - (long)*start) : 0); // if for some reason we get an error reading size, make size to end of file
@@ -121,65 +140,6 @@ void RawVerse4::findOffset(char testmt, long idxoff, long *start, unsigned long
/******************************************************************************
- * RawVerse4::preptext - Prepares the text before returning it to external
- * objects
- *
- * ENT: buf - buffer where text is stored and where to store the prep'd
- * text.
- */
-
-void RawVerse4::prepText(SWBuf &buf) {
- unsigned int to, from;
- char space = 0, cr = 0, realdata = 0, nlcnt = 0;
- char *rawBuf = buf.getRawData();
- for (to = from = 0; rawBuf[from]; from++) {
- switch (rawBuf[from]) {
- case 10:
- if (!realdata)
- continue;
- space = (cr) ? 0 : 1;
- cr = 0;
- nlcnt++;
- if (nlcnt > 1) {
-// *to++ = nl;
- rawBuf[to++] = 10;
-// *to++ = nl[1];
-// nlcnt = 0;
- }
- continue;
- case 13:
- if (!realdata)
- continue;
-// *to++ = nl[0];
- rawBuf[to++] = 10;
- space = 0;
- cr = 1;
- continue;
- }
- realdata = 1;
- nlcnt = 0;
- if (space) {
- space = 0;
- if (rawBuf[from] != ' ') {
- rawBuf[to++] = ' ';
- from--;
- continue;
- }
- }
- rawBuf[to++] = rawBuf[from];
- }
- buf.setSize(to);
-
- while (to > 1) { // remove trailing excess
- to--;
- if ((rawBuf[to] == 10) || (rawBuf[to] == ' '))
- buf.setSize(to);
- else break;
- }
-}
-
-
-/******************************************************************************
* RawVerse4::readtext - gets text at a given offset
*
* ENT: testmt - testament file to search in (0 - Old; 1 - New)
@@ -215,17 +175,16 @@ void RawVerse4::readText(char testmt, long start, unsigned long size, SWBuf &buf
void RawVerse4::doSetText(char testmt, long idxoff, const char *buf, long len)
{
- long start, outstart;
- unsigned long size;
- unsigned long outsize;
+ __u32 start;
+ __u32 size;
idxoff *= 8;
if (!testmt)
testmt = ((idxfp[1]) ? 1:2);
- size = outsize = (len < 0) ? strlen(buf) : len;
+ size = (len < 0) ? strlen(buf) : len;
- start = outstart = textfp[testmt-1]->seek(0, SEEK_END);
+ start = textfp[testmt-1]->seek(0, SEEK_END);
idxfp[testmt-1]->seek(idxoff, SEEK_SET);
if (size) {
@@ -239,13 +198,11 @@ void RawVerse4::doSetText(char testmt, long idxoff, const char *buf, long len)
start = 0;
}
- outstart = archtosword32(start);
- outsize = archtosword32(size);
-
- idxfp[testmt-1]->write(&outstart, 4);
- idxfp[testmt-1]->write(&outsize, 4);
-
+ start = archtosword32(start);
+ size = archtosword32(size);
+ idxfp[testmt-1]->write(&start, 4);
+ idxfp[testmt-1]->write(&size, 4);
}
@@ -258,8 +215,8 @@ void RawVerse4::doSetText(char testmt, long idxoff, const char *buf, long len)
*/
void RawVerse4::doLinkEntry(char testmt, long destidxoff, long srcidxoff) {
- long start;
- unsigned long size;
+ __u32 start;
+ __u32 size;
destidxoff *= 8;
srcidxoff *= 8;
@@ -286,7 +243,7 @@ void RawVerse4::doLinkEntry(char testmt, long destidxoff, long srcidxoff) {
* RET: error status
*/
-char RawVerse4::createModule(const char *ipath)
+char RawVerse4::createModule(const char *ipath, const char *v11n)
{
char *path = 0;
char *buf = new char [ strlen (ipath) + 20 ];
@@ -320,11 +277,15 @@ char RawVerse4::createModule(const char *ipath)
fd2->getFd();
VerseKey vk;
+ vk.setVersificationSystem(v11n);
vk.Headings(1);
- long offset = 0;
- long size = 0;
+ __u32 offset = 0;
+ __u32 size = 0;
+ offset = archtosword32(offset);
+ size = archtosword32(size);
+
for (vk = TOP; !vk.Error(); vk++) {
- if (vk.Testament() == 1) {
+ if (vk.Testament() < 2) {
fd->write(&offset, 4);
fd->write(&size, 4);
}
@@ -333,16 +294,14 @@ char RawVerse4::createModule(const char *ipath)
fd2->write(&size, 4);
}
}
+ fd2->write(&offset, 4);
+ fd2->write(&size, 4);
FileMgr::getSystemFileMgr()->close(fd);
FileMgr::getSystemFileMgr()->close(fd2);
delete [] path;
delete [] buf;
-/*
- RawVerse4 rv(path);
- VerseKey mykey("Rev 22:21");
-*/
return 0;
}
diff --git a/src/modules/common/swcipher.cpp b/src/modules/common/swcipher.cpp
index bd4d551..5ab91ea 100644
--- a/src/modules/common/swcipher.cpp
+++ b/src/modules/common/swcipher.cpp
@@ -1,8 +1,25 @@
/******************************************************************************
* swcipher.cpp - code for class 'SWCipher'- a driver class that provides
* cipher utilities.
+ *
+ *
+ * Copyright 2009 CrossWire Bible Society (http://www.crosswire.org)
+ * CrossWire Bible Society
+ * P. O. Box 2528
+ * Tempe, AZ 85280-2528
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation version 2.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
*/
+
#include <stdlib.h>
#include <string.h>
#include <swcipher.h>
diff --git a/src/modules/common/swcomprs.cpp b/src/modules/common/swcomprs.cpp
index 02d7d7b..378c8b1 100644
--- a/src/modules/common/swcomprs.cpp
+++ b/src/modules/common/swcomprs.cpp
@@ -1,8 +1,25 @@
/******************************************************************************
* swcomprs.cpp - code for class 'SWCompress'- a driver class that provides
* compression utilities.
+ *
+ *
+ * Copyright 2009 CrossWire Bible Society (http://www.crosswire.org)
+ * CrossWire Bible Society
+ * P. O. Box 2528
+ * Tempe, AZ 85280-2528
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation version 2.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
*/
+
#include <stdlib.h>
#include <string.h>
#include <swcomprs.h>
diff --git a/src/modules/common/zipcomprs.cpp b/src/modules/common/zipcomprs.cpp
index 21726bf..534d840 100644
--- a/src/modules/common/zipcomprs.cpp
+++ b/src/modules/common/zipcomprs.cpp
@@ -1,8 +1,25 @@
/******************************************************************************
* swcomprs.cpp - code for class 'ZipCompress'- a driver class that provides
* compression utilities. - using zlib
+ *
+ *
+ * Copyright 2009 CrossWire Bible Society (http://www.crosswire.org)
+ * CrossWire Bible Society
+ * P. O. Box 2528
+ * Tempe, AZ 85280-2528
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation version 2.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
*/
+
#include <stdlib.h>
#include <string.h>
#include <stdio.h>
diff --git a/src/modules/common/zstr.cpp b/src/modules/common/zstr.cpp
index 2539ff0..5b4da64 100644
--- a/src/modules/common/zstr.cpp
+++ b/src/modules/common/zstr.cpp
@@ -2,8 +2,25 @@
* zstr.cpp - code for class 'zStr'- a module that reads compressed text
* files and provides lookup and parsing functions based on
* class StrKey
+ *
+ *
+ * Copyright 2009 CrossWire Bible Society (http://www.crosswire.org)
+ * CrossWire Bible Society
+ * P. O. Box 2528
+ * Tempe, AZ 85280-2528
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation version 2.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
*/
+
#include <stdio.h>
#include <fcntl.h>
#include <errno.h>
@@ -111,7 +128,8 @@ zStr::~zStr() {
* buf - address of pointer to allocate for storage of string
*/
-void zStr::getKeyFromDatOffset(long ioffset, char **buf) {
+void zStr::getKeyFromDatOffset(long ioffset, char **buf) const
+{
int size;
char ch;
if (datfd > 0) {
@@ -144,12 +162,13 @@ void zStr::getKeyFromDatOffset(long ioffset, char **buf) {
* buf - address of pointer to allocate for storage of string
*/
-void zStr::getKeyFromIdxOffset(long ioffset, char **buf) {
+void zStr::getKeyFromIdxOffset(long ioffset, char **buf) const
+{
__u32 offset;
if (idxfd > 0) {
idxfd->seek(ioffset, SEEK_SET);
- idxfd->read(&offset, sizeof(__u32));
+ idxfd->read(&offset, 4);
offset = swordtoarch32(offset);
getKeyFromDatOffset(offset, buf);
}
@@ -168,12 +187,14 @@ void zStr::getKeyFromIdxOffset(long ioffset, char **buf) {
* RET: error status
*/
-signed char zStr::findKeyIndex(const char *ikey, long *idxoff, long away) {
+signed char zStr::findKeyIndex(const char *ikey, long *idxoff, long away) const
+{
char *maxbuf = 0, *trybuf = 0, *key = 0, quitflag = 0;
signed char retval = 0;
__s32 headoff, tailoff, tryoff = 0, maxoff = 0;
__u32 start, size;
int diff = 0;
+ bool awayFromSubstrCheck = false;
if (idxfd->getFd() >= 0) {
tailoff = maxoff = idxfd->seek(0, SEEK_END) - IDXENTRYSIZE;
@@ -220,6 +241,7 @@ signed char zStr::findKeyIndex(const char *ikey, long *idxoff, long away) {
if (headoff >= tailoff) {
tryoff = headoff;
if (!substr && ((tryoff != maxoff)||(strncmp(key, maxbuf, keylen)<0))) {
+ awayFromSubstrCheck = true;
away--; // if our entry doesn't startwith our key, prefer the previous entry over the next
}
}
@@ -234,8 +256,8 @@ signed char zStr::findKeyIndex(const char *ikey, long *idxoff, long away) {
idxfd->seek(tryoff, SEEK_SET);
start = size = 0;
- retval = (idxfd->read(&start, sizeof(__u32))==sizeof(__u32)) ? retval : -1;
- retval = (idxfd->read(&size, sizeof(__u32))==sizeof(__u32)) ? retval : -1;
+ retval = (idxfd->read(&start, 4) == 4) ? retval : -1;
+ retval = (idxfd->read(&size, 4) == 4) ? retval : -1;
start = swordtoarch32(start);
size = swordtoarch32(size);
@@ -254,7 +276,8 @@ signed char zStr::findKeyIndex(const char *ikey, long *idxoff, long away) {
else if (idxfd->seek(tryoff, SEEK_SET) < 0)
bad = true;
if (bad) {
- retval = -1;
+ if(!awayFromSubstrCheck)
+ retval = -1;
start = laststart;
size = lastsize;
tryoff = lasttry;
@@ -262,8 +285,8 @@ signed char zStr::findKeyIndex(const char *ikey, long *idxoff, long away) {
*idxoff = tryoff;
break;
}
- idxfd->read(&start, sizeof(__u32));
- idxfd->read(&size, sizeof(__u32));
+ idxfd->read(&start, 4);
+ idxfd->read(&size, 4);
start = swordtoarch32(start);
size = swordtoarch32(size);
@@ -287,65 +310,6 @@ signed char zStr::findKeyIndex(const char *ikey, long *idxoff, long away) {
/******************************************************************************
- * zStr::preptext - Prepares the text before returning it to external
- * objects
- *
- * ENT: buf - buffer where text is stored and where to store the prep'd
- * text.
- */
-
-void zStr::prepText(SWBuf &buf) {
- unsigned int to, from;
- char space = 0, cr = 0, realdata = 0, nlcnt = 0;
- char *rawBuf = buf.getRawData();
- for (to = from = 0; rawBuf[from]; from++) {
- switch (rawBuf[from]) {
- case 10:
- if (!realdata)
- continue;
- space = (cr) ? 0 : 1;
- cr = 0;
- nlcnt++;
- if (nlcnt > 1) {
-// *to++ = nl;
- rawBuf[to++] = 10;
-// *to++ = nl[1];
-// nlcnt = 0;
- }
- continue;
- case 13:
- if (!realdata)
- continue;
-// *to++ = nl[0];
- rawBuf[to++] = 10;
- space = 0;
- cr = 1;
- continue;
- }
- realdata = 1;
- nlcnt = 0;
- if (space) {
- space = 0;
- if (rawBuf[from] != ' ') {
- rawBuf[to++] = ' ';
- from--;
- continue;
- }
- }
- rawBuf[to++] = rawBuf[from];
- }
- buf.setSize(to);
-
- while (to > 1) { // remove trailing excess
- to--;
- if ((rawBuf[to] == 10) || (rawBuf[to] == ' '))
- buf.setSize(to);
- else break;
- }
-}
-
-
-/******************************************************************************
* zStr::getText - gets text at a given offset
*
* ENT:
@@ -366,8 +330,8 @@ void zStr::getText(long offset, char **idxbuf, char **buf) {
do {
idxfd->seek(offset, SEEK_SET);
- idxfd->read(&start, sizeof(__u32));
- idxfd->read(&size, sizeof(__u32));
+ idxfd->read(&start, 4);
+ idxfd->read(&size, 4);
start = swordtoarch32(start);
size = swordtoarch32(size);
@@ -430,8 +394,8 @@ void zStr::getCompressedText(long block, long entry, char **buf) {
__u32 start = 0;
zdxfd->seek(block * ZDXENTRYSIZE, SEEK_SET);
- zdxfd->read(&start, sizeof(__u32));
- zdxfd->read(&size, sizeof(__u32));
+ zdxfd->read(&start, 4);
+ zdxfd->read(&size, 4);
start = swordtoarch32(start);
size = swordtoarch32(size);
@@ -496,8 +460,8 @@ void zStr::setText(const char *ikey, const char *buf, long len) {
else if ((!diff) && (len > 0 /*we're not deleting*/)) { // got absolute entry
do {
idxfd->seek(idxoff, SEEK_SET);
- idxfd->read(&start, sizeof(__u32));
- idxfd->read(&size, sizeof(__u32));
+ idxfd->read(&start, 4);
+ idxfd->read(&size, 4);
start = swordtoarch32(start);
size = swordtoarch32(size);
@@ -581,8 +545,8 @@ void zStr::setText(const char *ikey, const char *buf, long len) {
// add a new line to make data file easier to read in an editor
datfd->write(&nl, 2);
- idxfd->write(&outstart, sizeof(__u32));
- idxfd->write(&outsize, sizeof(__u32));
+ idxfd->write(&outstart, 4);
+ idxfd->write(&outsize, 4);
if (idxBytes) {
idxfd->write(idxBytes, shiftSize);
}
@@ -644,8 +608,8 @@ void zStr::flushCache() {
}
else {
zdxfd->seek(cacheBlockIndex * ZDXENTRYSIZE, SEEK_SET);
- zdxfd->read(&start, sizeof(__u32));
- zdxfd->read(&outsize, sizeof(__u32));
+ zdxfd->read(&start, 4);
+ zdxfd->read(&outsize, 4);
start = swordtoarch32(start);
outsize = swordtoarch32(outsize);
if (start + outsize >= zdtSize) { // last entry, just overwrite
@@ -671,8 +635,8 @@ void zStr::flushCache() {
// add a new line to make data file easier to read in an editor
zdtfd->write(&nl, 2);
- zdxfd->write(&outstart, sizeof(__u32));
- zdxfd->write(&outsize, sizeof(__u32));
+ zdxfd->write(&outstart, 4);
+ zdxfd->write(&outsize, 4);
}
delete cacheBlock;
cacheBlock = 0;
diff --git a/src/modules/common/zverse.cpp b/src/modules/common/zverse.cpp
index 3f91918..fa76467 100644
--- a/src/modules/common/zverse.cpp
+++ b/src/modules/common/zverse.cpp
@@ -1,11 +1,28 @@
/******************************************************************************
* zverse.h - code for class 'zVerse'- a module that reads raw text
- * files: ot and nt using indexs ??.bks ??.cps ??.vss
- * and provides lookup and parsing functions based on
- * class VerseKey for compressed modules
+ * files: ot and nt using indexs ??.bks ??.cps ??.vss
+ * and provides lookup and parsing functions based on
+ * class VerseKey for compressed modules
+ *
+ *
+ * Copyright 2009 CrossWire Bible Society (http://www.crosswire.org)
+ * CrossWire Bible Society
+ * P. O. Box 2528
+ * Tempe, AZ 85280-2528
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation version 2.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
*/
+
#include <ctype.h>
#include <stdio.h>
#include <fcntl.h>
@@ -129,19 +146,15 @@ zVerse::~zVerse()
* size - address to store the size of the entry
*/
-void zVerse::findOffset(char testmt, long idxoff, long *start, unsigned short *size)
+void zVerse::findOffset(char testmt, long idxoff, long *start, unsigned short *size, unsigned long *buffnum) const
{
+ __u32 ulBuffNum = 0; // buffer number
+ __u32 ulVerseStart = 0; // verse offset within buffer
+ __u16 usVerseSize = 0; // verse size
// set start to offset in
// set size to
// set
- unsigned long ulBuffNum=0; // buffer number
- unsigned long ulVerseStart=0; // verse offset within buffer
- unsigned short usVerseSize=0; // verse size
- unsigned long ulCompOffset=0; // compressed buffer start
- unsigned long ulCompSize=0; // buffer size compressed
- unsigned long ulUnCompSize=0; // buffer size uncompressed
-
- *start = *size = 0;
+ *start = *size = *buffnum = 0;
//printf ("Finding offset %ld\n", idxoff);
idxoff *= 10;
if (!testmt) {
@@ -159,10 +172,8 @@ void zVerse::findOffset(char testmt, long idxoff, long *start, unsigned short *s
return;
}
}
- else return;
-
- ulBuffNum = swordtoarch32(ulBuffNum);
-
+ else return;
+
if (compfp[testmt-1]->read(&ulVerseStart, 4) < 2)
{
printf ("Error reading ulVerseStart\n");
@@ -174,17 +185,39 @@ void zVerse::findOffset(char testmt, long idxoff, long *start, unsigned short *s
return;
}
+ *buffnum = swordtoarch32(ulBuffNum);
*start = swordtoarch32(ulVerseStart);
*size = swordtoarch16(usVerseSize);
- if (*size) {
- if (((long) ulBuffNum == cacheBufIdx) && (testmt == cacheTestament) && (cacheBuf)) {
- // have the text buffered
- return;
- }
+}
- //printf ("Got buffer number{%ld} versestart{%ld} versesize{%d}\n", ulBuffNum, ulVerseStart, usVerseSize);
+/******************************************************************************
+ * zVerse::zreadtext - gets text at a given offset
+ *
+ * ENT: testmt - testament file to search in (0 - Old; 1 - New)
+ * start - starting offset where the text is located in the file
+ * size - size of text entry + 1 (null)
+ * buf - buffer to store text
+ *
+ */
+
+void zVerse::zReadText(char testmt, long start, unsigned short size, unsigned long ulBuffNum, SWBuf &inBuf) {
+ __u32 ulCompOffset = 0; // compressed buffer start
+ __u32 ulCompSize = 0; // buffer size compressed
+ __u32 ulUnCompSize = 0; // buffer size uncompressed
+
+ if (!testmt) {
+ testmt = ((idxfp[0]) ? 1:2);
+ }
+
+ // assert we have and valid file descriptor
+ if (compfp[testmt-1]->getFd() < 1)
+ return;
+
+ if (size &&
+ !(((long) ulBuffNum == cacheBufIdx) && (testmt == cacheTestament) && (cacheBuf))) {
+ //printf ("Got buffer number{%ld} versestart{%ld} versesize{%d}\n", ulBuffNum, ulVerseStart, usVerseSize);
if (idxfp[testmt-1]->seek(ulBuffNum*12, SEEK_SET)!=(long) ulBuffNum*12)
{
@@ -226,7 +259,8 @@ void zVerse::findOffset(char testmt, long idxoff, long *start, unsigned short *s
pcCompText.setSize(ulCompSize);
rawZFilter(pcCompText, 0); // 0 = decipher
- compressor->zBuf(&ulCompSize, pcCompText.getRawData());
+ unsigned long bufSize = ulCompSize;
+ compressor->zBuf(&bufSize, pcCompText.getRawData());
if (cacheBuf) {
flushCache();
@@ -237,26 +271,13 @@ void zVerse::findOffset(char testmt, long idxoff, long *start, unsigned short *s
compressor->Buf(0, &len);
cacheBuf = (char *)calloc(len + 1, 1);
memcpy(cacheBuf, compressor->Buf(), len);
-
+ cacheBufSize = strlen(cacheBuf); // TODO: can we just use len?
cacheTestament = testmt;
cacheBufIdx = ulBuffNum;
- }
-}
-
-
-/******************************************************************************
- * zVerse::zreadtext - gets text at a given offset
- *
- * ENT: testmt - testament file to search in (0 - Old; 1 - New)
- * start - starting offset where the text is located in the file
- * size - size of text entry + 1 (null)
- * buf - buffer to store text
- *
- */
-
-void zVerse::zReadText(char testmt, long start, unsigned short size, SWBuf &inBuf) {
+ }
+
inBuf = "";
- if ( (size > 0) && cacheBuf && ((unsigned)start < strlen(cacheBuf)) ){ //TODO: optimize this, remove strlen
+ if ((size > 0) && cacheBuf && ((unsigned)start < cacheBufSize)) {
inBuf.setFillByte(0);
inBuf.setSize(size+1);
strncpy(inBuf.getRawData(), &(cacheBuf[start]), size);
@@ -290,13 +311,12 @@ void zVerse::doSetText(char testmt, long idxoff, const char *buf, long len) {
dirtyCache = true;
- unsigned long start, outstart;
- unsigned long outBufIdx = cacheBufIdx;
- unsigned short size;
- unsigned short outsize;
+ __u32 start;
+ __u16 size;
+ __u32 outBufIdx = cacheBufIdx;
idxoff *= 10;
- size = outsize = len;
+ size = len;
start = strlen(cacheBuf);
@@ -304,23 +324,23 @@ void zVerse::doSetText(char testmt, long idxoff, const char *buf, long len) {
start = outBufIdx = 0;
outBufIdx = archtosword32(outBufIdx);
- outstart = archtosword32(start);
- outsize = archtosword16(size);
+ start = archtosword32(start);
+ size = archtosword16(size);
compfp[testmt-1]->seek(idxoff, SEEK_SET);
compfp[testmt-1]->write(&outBufIdx, 4);
- compfp[testmt-1]->write(&outstart, 4);
- compfp[testmt-1]->write(&outsize, 2);
+ compfp[testmt-1]->write(&start, 4);
+ compfp[testmt-1]->write(&size, 2);
strcat(cacheBuf, buf);
}
void zVerse::flushCache() {
if (dirtyCache) {
- unsigned long idxoff;
- unsigned long start, outstart;
- unsigned long size, outsize;
- unsigned long zsize, outzsize;
+ __u32 idxoff;
+ __u32 start, outstart;
+ __u32 size, outsize;
+ __u32 zsize, outzsize;
idxoff = cacheBufIdx * 12;
if (cacheBuf) {
@@ -331,12 +351,14 @@ void zVerse::flushCache() {
// compressor = new LZSSCompress();
// }
compressor->Buf(cacheBuf);
- compressor->zBuf(&zsize);
- outzsize = zsize;
+ unsigned long tmpSize;
+ compressor->zBuf(&tmpSize);
+ outzsize = zsize = tmpSize;
SWBuf buf;
buf.setSize(zsize + 5);
- memcpy(buf.getRawData(), compressor->zBuf(&zsize), zsize);
+ memcpy(buf.getRawData(), compressor->zBuf(&tmpSize), tmpSize);
+ outzsize = zsize = tmpSize;
buf.setSize(zsize);
rawZFilter(buf, 1); // 1 = encipher
@@ -369,9 +391,9 @@ void zVerse::flushCache() {
*/
void zVerse::doLinkEntry(char testmt, long destidxoff, long srcidxoff) {
- long bufidx;
- long start;
- unsigned short size;
+ __s32 bufidx;
+ __s32 start;
+ __u16 size;
destidxoff *= 10;
srcidxoff *= 10;
@@ -400,7 +422,7 @@ void zVerse::doLinkEntry(char testmt, long destidxoff, long srcidxoff) {
* RET: error status
*/
-char zVerse::createModule(const char *ipath, int blockBound)
+char zVerse::createModule(const char *ipath, int blockBound, const char *v11n)
{
char *path = 0;
char *buf = new char [ strlen (ipath) + 20 ];
@@ -446,11 +468,16 @@ char zVerse::createModule(const char *ipath, int blockBound)
fd2->getFd();
VerseKey vk;
+ vk.setVersificationSystem(v11n);
vk.Headings(1);
- long offset = 0;
- short size = 0;
+
+ __s32 offset = 0;
+ __s16 size = 0;
+ offset = archtosword32(offset);
+ size = archtosword16(size);
+
for (vk = TOP; !vk.Error(); vk++) {
- if (vk.Testament() == 1) {
+ if (vk.Testament() < 2) {
fd->write(&offset, 4); //compBufIdxOffset
fd->write(&offset, 4);
fd->write(&size, 2);
@@ -461,78 +488,18 @@ char zVerse::createModule(const char *ipath, int blockBound)
fd2->write(&size, 2);
}
}
+ fd2->write(&offset, 4); //compBufIdxOffset
+ fd2->write(&offset, 4);
+ fd2->write(&size, 2);
FileMgr::getSystemFileMgr()->close(fd);
FileMgr::getSystemFileMgr()->close(fd2);
delete [] path;
delete [] buf;
-/*
- RawVerse rv(path);
- VerseKey mykey("Rev 22:21");
-*/
return 0;
}
-/******************************************************************************
- * zVerse::preptext - Prepares the text before returning it to external
- * objects
- *
- * ENT: buf - buffer where text is stored and where to store the prep'd
- * text.
- */
-
-void zVerse::prepText(SWBuf &buf) {
- unsigned int to, from;
- char space = 0, cr = 0, realdata = 0, nlcnt = 0;
- char *rawBuf = buf.getRawData();
- for (to = from = 0; rawBuf[from]; from++) {
- switch (rawBuf[from]) {
- case 10:
- if (!realdata)
- continue;
- space = (cr) ? 0 : 1;
- cr = 0;
- nlcnt++;
- if (nlcnt > 1) {
-// *to++ = nl;
- rawBuf[to++] = 10;
-// *to++ = nl[1];
-// nlcnt = 0;
- }
- continue;
- case 13:
- if (!realdata)
- continue;
-// *to++ = nl[0];
- rawBuf[to++] = 10;
- space = 0;
- cr = 1;
- continue;
- }
- realdata = 1;
- nlcnt = 0;
- if (space) {
- space = 0;
- if (rawBuf[from] != ' ') {
- rawBuf[to++] = ' ';
- from--;
- continue;
- }
- }
- rawBuf[to++] = rawBuf[from];
- }
- buf.setSize(to);
-
- while (to > 1) { // remove trailing excess
- to--;
- if ((rawBuf[to] == 10) || (rawBuf[to] == ' '))
- buf.setSize(to);
- else break;
- }
-}
-
-
SWORD_NAMESPACE_END
diff --git a/src/modules/filters/Makefile.am b/src/modules/filters/Makefile.am
index 7092c73..f212cbf 100644
--- a/src/modules/filters/Makefile.am
+++ b/src/modules/filters/Makefile.am
@@ -53,17 +53,18 @@ OSISFIL += $(filtersdir)/osisscripref.cpp
OSISFIL += $(filtersdir)/osisvariants.cpp
OSISFIL += $(filtersdir)/osiswordjs.cpp
OSISFIL += $(filtersdir)/osismorphsegmentation.cpp
+OSISFIL += $(filtersdir)/osisruby.cpp
libsword_la_SOURCES += $(filtersdir)/latin1utf8.cpp
libsword_la_SOURCES += $(filtersdir)/latin1utf16.cpp
libsword_la_SOURCES += $(filtersdir)/utf8utf16.cpp
libsword_la_SOURCES += $(filtersdir)/utf16utf8.cpp
-libsword_la_SOURCES += $(filtersdir)/scsuutf8.cpp
libsword_la_SOURCES += $(filtersdir)/utf8html.cpp
libsword_la_SOURCES += $(filtersdir)/utf8latin1.cpp
libsword_la_SOURCES += $(filtersdir)/utf8cantillation.cpp
libsword_la_SOURCES += $(filtersdir)/utf8hebrewpoints.cpp
+libsword_la_SOURCES += $(filtersdir)/utf8arabicpoints.cpp
libsword_la_SOURCES += $(filtersdir)/utf8greekaccents.cpp
libsword_la_SOURCES += $(filtersdir)/cipherfil.cpp
diff --git a/src/modules/filters/cipherfil.cpp b/src/modules/filters/cipherfil.cpp
index 24c665e..34d0465 100644
--- a/src/modules/filters/cipherfil.cpp
+++ b/src/modules/filters/cipherfil.cpp
@@ -1,6 +1,21 @@
/******************************************************************************
*
* cipherfil - SWFilter descendant to decipher a module
+ *
+ * Copyright 2009 CrossWire Bible Society (http://www.crosswire.org)
+ * CrossWire Bible Society
+ * P. O. Box 2528
+ * Tempe, AZ 85280-2528
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation version 2.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
*/
diff --git a/src/modules/filters/gbffootnotes.cpp b/src/modules/filters/gbffootnotes.cpp
index bef29b8..a5384cb 100644
--- a/src/modules/filters/gbffootnotes.cpp
+++ b/src/modules/filters/gbffootnotes.cpp
@@ -2,6 +2,21 @@
*
* gbffootnotes - SWFilter descendant to hide or show footnotes
* in a GBF module.
+ *
+ * Copyright 2009 CrossWire Bible Society (http://www.crosswire.org)
+ * CrossWire Bible Society
+ * P. O. Box 2528
+ * Tempe, AZ 85280-2528
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation version 2.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
*/
@@ -33,7 +48,7 @@ GBFFootnotes::~GBFFootnotes() {
char GBFFootnotes::processText (SWBuf &text, const SWKey *key, const SWModule *module)
{
-
+
SWBuf token;
bool intoken = false;
bool hide = false;
@@ -42,11 +57,10 @@ char GBFFootnotes::processText (SWBuf &text, const SWKey *key, const SWModule *m
SWBuf refs = "";
int footnoteNum = 1;
char buf[254];
- VerseKey parser = key->getText();
SWBuf orig = text;
const char *from = orig.c_str();
-
+
//XMLTag tag;
for (text = ""; *from; from++) {
@@ -61,7 +75,7 @@ char GBFFootnotes::processText (SWBuf &text, const SWKey *key, const SWModule *m
//XMLTag tag(token);
if (!strncmp(token, "RF",2)) {
// tag = token;
-
+
refs = "";
startTag = token;
hide = true;
@@ -71,7 +85,7 @@ char GBFFootnotes::processText (SWBuf &text, const SWKey *key, const SWModule *m
else if (!strncmp(token, "Rf",2)) {
if (module->isProcessEntryAttributes()) {
//tag = token;
-
+
if((tagText.length() == 1) || !strcmp(module->Name(), "IGNT")) {
if (option) { // for ASV marks text in verse then put explanation at end of verse
text.append(" <FS>[");
@@ -93,7 +107,7 @@ char GBFFootnotes::processText (SWBuf &text, const SWKey *key, const SWModule *m
startTag.setAttribute("swordFootnote", buf);
}
hide = false;
- if (option) {
+ if (option) {
text.append(startTag);
text.append(tagText);
}
@@ -120,7 +134,7 @@ char GBFFootnotes::processText (SWBuf &text, const SWKey *key, const SWModule *m
else tagText.append(*from);
}
return 0;
-
+
/*
if (!option) { // if we don't want footnotes
char token[4096]; // cheese. Fix.
diff --git a/src/modules/filters/gbfheadings.cpp b/src/modules/filters/gbfheadings.cpp
index 81a4d94..122445e 100644
--- a/src/modules/filters/gbfheadings.cpp
+++ b/src/modules/filters/gbfheadings.cpp
@@ -2,9 +2,23 @@
*
* gbfheadings - SWFilter descendant to hide or show headings
* in a GBF module.
+ *
+ * Copyright 2009 CrossWire Bible Society (http://www.crosswire.org)
+ * CrossWire Bible Society
+ * P. O. Box 2528
+ * Tempe, AZ 85280-2528
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation version 2.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
*/
-
#include <stdlib.h>
#include <gbfheadings.h>
diff --git a/src/modules/filters/gbfhtml.cpp b/src/modules/filters/gbfhtml.cpp
index a9d8434..2467e36 100644
--- a/src/modules/filters/gbfhtml.cpp
+++ b/src/modules/filters/gbfhtml.cpp
@@ -1,18 +1,24 @@
/***************************************************************************
- gbfhtml.cpp - GBF to HTML filter
- -------------------
- begin : 2001-09-03
- copyright : 2001 by CrossWire Bible Society
- ***************************************************************************/
-
-/***************************************************************************
- * *
- * This program is free software; you can redistribute it and/or modify *
- * it under the terms of the GNU General Public License as published by *
- * the Free Software Foundation; either version 2 of the License, or *
- * (at your option) any later version. *
- * *
- ***************************************************************************/
+ * gbfhtml.cpp - GBF to HTML filter
+ * -------------------
+ * begin : 2001-09-03
+ * copyright : 2001 by CrossWire Bible Society
+ *
+ * Copyright 2009 CrossWire Bible Society (http://www.crosswire.org)
+ * CrossWire Bible Society
+ * P. O. Box 2528
+ * Tempe, AZ 85280-2528
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation version 2.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ */
#include <stdlib.h>
#include <gbfhtml.h>
diff --git a/src/modules/filters/gbfhtmlhref.cpp b/src/modules/filters/gbfhtmlhref.cpp
index 7f1c254..b4cdde0 100644
--- a/src/modules/filters/gbfhtmlhref.cpp
+++ b/src/modules/filters/gbfhtmlhref.cpp
@@ -1,20 +1,27 @@
/***************************************************************************
- gbfhtmlhref.cpp - GBF to HTML filter with hrefs
- for strongs and morph tags
- -------------------
- begin : 2001-09-03
- copyright : 2001 by CrossWire Bible Society
- ***************************************************************************/
-
-/***************************************************************************
- * *
- * This program is free software; you can redistribute it and/or modify *
- * it under the terms of the GNU General Public License as published by *
- * the Free Software Foundation; either version 2 of the License, or *
- * (at your option) any later version. *
- * *
- ***************************************************************************/
+ * gbfhtmlhref.cpp - GBF to HTML filter with hrefs
+ * for strongs and morph tags
+ * -------------------
+ * begin : 2001-09-03
+ * copyright : 2001 by CrossWire Bible Society
+ *
+ * Copyright 2009 CrossWire Bible Society (http://www.crosswire.org)
+ * CrossWire Bible Society
+ * P. O. Box 2528
+ * Tempe, AZ 85280-2528
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation version 2.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ */
+
#include <stdlib.h>
#include <gbfhtmlhref.h>
#include <swmodule.h>
diff --git a/src/modules/filters/gbfmorph.cpp b/src/modules/filters/gbfmorph.cpp
index 5226db7..d7c8ab4 100644
--- a/src/modules/filters/gbfmorph.cpp
+++ b/src/modules/filters/gbfmorph.cpp
@@ -2,9 +2,24 @@
*
* gbfmorph - SWFilter descendant to hide or show morph tags
* in a GBF module.
+ *
+ *
+ * Copyright 2009 CrossWire Bible Society (http://www.crosswire.org)
+ * CrossWire Bible Society
+ * P. O. Box 2528
+ * Tempe, AZ 85280-2528
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation version 2.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
*/
-
#include <stdlib.h>
#include <gbfmorph.h>
diff --git a/src/modules/filters/gbfosis.cpp b/src/modules/filters/gbfosis.cpp
index 00443f9..526167a 100644
--- a/src/modules/filters/gbfosis.cpp
+++ b/src/modules/filters/gbfosis.cpp
@@ -2,9 +2,24 @@
*
* gbfstrongs - SWFilter descendant to hide or show strongs number
* in a GBF module.
+ *
+ *
+ * Copyright 2009 CrossWire Bible Society (http://www.crosswire.org)
+ * CrossWire Bible Society
+ * P. O. Box 2528
+ * Tempe, AZ 85280-2528
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation version 2.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
*/
-
#include <stdlib.h>
#include <stdio.h>
#include <stdarg.h>
@@ -317,10 +332,10 @@ char GBFOSIS::processText(SWBuf &text, const SWKey *key, const SWModule *module)
newWord = false;
//fix this if required?
- //memset(to, 0, 10);
-
+ //memset(to, 0, 10);
+
}
-
+
if (!suspendTextPassThru) {
text += (*from);
lastspace = (*from == ' ');
@@ -335,29 +350,29 @@ char GBFOSIS::processText(SWBuf &text, const SWKey *key, const SWModule *module)
if (vkey->Verse()) {
ref.appendFormatted("\t\t<verse osisID=\"%s\">", vkey->getOSISRef());
}
-
+
if (ref.length() > 0) {
-
+
text = ref + text;
-
+
if (vkey->Verse()) {
- VerseKey tmp;
- tmp = *vkey;
- tmp.AutoNormalize(0);
- tmp.Headings(1);
-
+ VerseKey *tmp = (VerseKey *)vkey->clone();
+ *tmp = *vkey;
+ tmp->AutoNormalize(0);
+ tmp->Headings(1);
+
text += "</verse>";
-
- tmp = MAXVERSE;
- if (*vkey == tmp) {
- tmp.Verse(0);
+
+ *tmp = MAXVERSE;
+ if (*vkey == *tmp) {
+ tmp->Verse(0);
// sprintf(ref, "\t</div>");
// pushString(&to, ref);
- tmp = MAXCHAPTER;
- tmp = MAXVERSE;
- if (*vkey == tmp) {
- tmp.Chapter(0);
- tmp.Verse(0);
+ *tmp = MAXCHAPTER;
+ *tmp = MAXVERSE;
+ if (*vkey == *tmp) {
+ tmp->Chapter(0);
+ tmp->Verse(0);
// sprintf(ref, "\t</div>");
// pushString(&to, ref);
/*
@@ -368,6 +383,7 @@ char GBFOSIS::processText(SWBuf &text, const SWKey *key, const SWModule *module)
*/
}
}
+ delete tmp;
}
// else if (vkey->Chapter()) {
// sprintf(ref, "\t<div type=\"chapter\" osisID=\"%s\">", vkey->getOSISRef());
diff --git a/src/modules/filters/gbfplain.cpp b/src/modules/filters/gbfplain.cpp
index 5657e20..e90bf94 100644
--- a/src/modules/filters/gbfplain.cpp
+++ b/src/modules/filters/gbfplain.cpp
@@ -2,9 +2,24 @@
*
* gbfplain - SWFilter descendant to strip out all GBF tags or convert to
* ASCII rendered symbols.
+ *
+ *
+ * Copyright 2009 CrossWire Bible Society (http://www.crosswire.org)
+ * CrossWire Bible Society
+ * P. O. Box 2528
+ * Tempe, AZ 85280-2528
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation version 2.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
*/
-
#include <stdlib.h>
#include <gbfplain.h>
#include <swbuf.h>
diff --git a/src/modules/filters/gbfredletterwords.cpp b/src/modules/filters/gbfredletterwords.cpp
index a79802d..7397781 100644
--- a/src/modules/filters/gbfredletterwords.cpp
+++ b/src/modules/filters/gbfredletterwords.cpp
@@ -2,9 +2,24 @@
*
* GBFRedLetterWords - SWFilter descendant to toggle red coloring of words of
* Christ in a GBF module.
+ *
+ *
+ * Copyright 2009 CrossWire Bible Society (http://www.crosswire.org)
+ * CrossWire Bible Society
+ * P. O. Box 2528
+ * Tempe, AZ 85280-2528
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation version 2.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
*/
-
#include <stdlib.h>
#include <gbfredletterwords.h>
#include <swmodule.h>
diff --git a/src/modules/filters/gbfrtf.cpp b/src/modules/filters/gbfrtf.cpp
index eb39612..7471d0b 100644
--- a/src/modules/filters/gbfrtf.cpp
+++ b/src/modules/filters/gbfrtf.cpp
@@ -1,9 +1,24 @@
/******************************************************************************
*
* gbfrtf - SWFilter descendant to convert all GBF tags to RTF tags
+ *
+ *
+ * Copyright 2009 CrossWire Bible Society (http://www.crosswire.org)
+ * CrossWire Bible Society
+ * P. O. Box 2528
+ * Tempe, AZ 85280-2528
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation version 2.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
*/
-
#include <gbfrtf.h>
#include <utilstr.h>
#include <ctype.h>
diff --git a/src/modules/filters/gbfstrongs.cpp b/src/modules/filters/gbfstrongs.cpp
index 610edb5..c7cf6c5 100644
--- a/src/modules/filters/gbfstrongs.cpp
+++ b/src/modules/filters/gbfstrongs.cpp
@@ -2,9 +2,24 @@
*
* gbfstrongs - SWFilter descendant to hide or show strongs number
* in a GBF module.
+ *
+ *
+ * Copyright 2009 CrossWire Bible Society (http://www.crosswire.org)
+ * CrossWire Bible Society
+ * P. O. Box 2528
+ * Tempe, AZ 85280-2528
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation version 2.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
*/
-
#include <stdlib.h>
#include <stdio.h>
#include <gbfstrongs.h>
diff --git a/src/modules/filters/gbfthml.cpp b/src/modules/filters/gbfthml.cpp
index 2664f48..4feb1fa 100644
--- a/src/modules/filters/gbfthml.cpp
+++ b/src/modules/filters/gbfthml.cpp
@@ -1,18 +1,24 @@
/***************************************************************************
- gbfthml.cpp - GBF to ThML filter
- -------------------
- begin : 1999-10-27
- copyright : 2001 by CrossWire Bible Society
- ***************************************************************************/
-
-/***************************************************************************
- * *
- * This program is free software; you can redistribute it and/or modify *
- * it under the terms of the GNU General Public License as published by *
- * the Free Software Foundation; either version 2 of the License, or *
- * (at your option) any later version. *
- * *
- ***************************************************************************/
+ * gbfthml.cpp - GBF to ThML filter
+ * -------------------
+ * begin : 1999-10-27
+ * copyright : 2001 by CrossWire Bible Society
+ *
+ * Copyright 2009 CrossWire Bible Society (http://www.crosswire.org)
+ * CrossWire Bible Society
+ * P. O. Box 2528
+ * Tempe, AZ 85280-2528
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation version 2.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ */
#include <stdlib.h>
#include <gbfthml.h>
diff --git a/src/modules/filters/gbfwebif.cpp b/src/modules/filters/gbfwebif.cpp
index e651db6..b5ff798 100644
--- a/src/modules/filters/gbfwebif.cpp
+++ b/src/modules/filters/gbfwebif.cpp
@@ -1,19 +1,26 @@
/***************************************************************************
- GBFWEBIF.cpp - GBF to HTML filter with hrefs
- for strongs and morph tags
- -------------------
- begin : 2001-09-03
- copyright : 2001 by CrossWire Bible Society
- ***************************************************************************/
+ * GBFWEBIF.cpp - GBF to HTML filter with hrefs
+ * for strongs and morph tags
+ * -------------------
+ * begin : 2001-09-03
+ * copyright : 2001 by CrossWire Bible Society
+ *
+ * Copyright 2009 CrossWire Bible Society (http://www.crosswire.org)
+ * CrossWire Bible Society
+ * P. O. Box 2528
+ * Tempe, AZ 85280-2528
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation version 2.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ */
-/***************************************************************************
- * *
- * This program is free software; you can redistribute it and/or modify *
- * it under the terms of the GNU General Public License as published by *
- * the Free Software Foundation; either version 2 of the License, or *
- * (at your option) any later version. *
- * *
- ***************************************************************************/
#include <gbfwebif.h>
#include <ctype.h>
diff --git a/src/modules/filters/gbfwordjs.cpp b/src/modules/filters/gbfwordjs.cpp
index f81ffac..c3ab166 100644
--- a/src/modules/filters/gbfwordjs.cpp
+++ b/src/modules/filters/gbfwordjs.cpp
@@ -2,9 +2,24 @@
*
* gbfstrongs - SWFilter descendant to hide or show strongs number
* in a GBF module.
+ *
+ *
+ * Copyright 2009 CrossWire Bible Society (http://www.crosswire.org)
+ * CrossWire Bible Society
+ * P. O. Box 2528
+ * Tempe, AZ 85280-2528
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation version 2.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
*/
-
#include <stdlib.h>
#include <stdio.h>
#include <gbfwordjs.h>
diff --git a/src/modules/filters/greeklexattribs.cpp b/src/modules/filters/greeklexattribs.cpp
index 1e82305..e1a60a2 100644
--- a/src/modules/filters/greeklexattribs.cpp
+++ b/src/modules/filters/greeklexattribs.cpp
@@ -2,9 +2,24 @@
*
* greeklexattribs - SWFilter descendant to set entry attributes for greek
* lexicons
+ *
+ *
+ * Copyright 2009 CrossWire Bible Society (http://www.crosswire.org)
+ * CrossWire Bible Society
+ * P. O. Box 2528
+ * Tempe, AZ 85280-2528
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation version 2.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
*/
-
#include <stdlib.h>
#include <stdio.h>
#include <ctype.h>
diff --git a/src/modules/filters/latin1utf16.cpp b/src/modules/filters/latin1utf16.cpp
index 1392750..bf2f3f8 100644
--- a/src/modules/filters/latin1utf16.cpp
+++ b/src/modules/filters/latin1utf16.cpp
@@ -1,10 +1,25 @@
/******************************************************************************
*
- * Latin1UTF16 - SWFilter descendant to convert a Latin-1 character to UTF-16
+ * Latin1UTF16 - SWFilter descendant to convert a Latin-1 character to UTF-16
+ *
+ *
+ *
+ * Copyright 2009 CrossWire Bible Society (http://www.crosswire.org)
+ * CrossWire Bible Society
+ * P. O. Box 2528
+ * Tempe, AZ 85280-2528
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation version 2.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
*
*/
-
#include <stdlib.h>
#include <stdio.h>
#include <latin1utf16.h>
diff --git a/src/modules/filters/latin1utf8.cpp b/src/modules/filters/latin1utf8.cpp
index 6c0d7f1..784aafe 100644
--- a/src/modules/filters/latin1utf8.cpp
+++ b/src/modules/filters/latin1utf8.cpp
@@ -2,9 +2,24 @@
*
* Latin1UTF8 - SWFilter descendant to convert a Latin-1 character to UTF-8
*
+ *
+ *
+ * Copyright 2009 CrossWire Bible Society (http://www.crosswire.org)
+ * CrossWire Bible Society
+ * P. O. Box 2528
+ * Tempe, AZ 85280-2528
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation version 2.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
*/
-
#include <stdlib.h>
#include <stdio.h>
#include <latin1utf8.h>
diff --git a/src/modules/filters/osisfootnotes.cpp b/src/modules/filters/osisfootnotes.cpp
index 89c9c40..3d0d2d4 100644
--- a/src/modules/filters/osisfootnotes.cpp
+++ b/src/modules/filters/osisfootnotes.cpp
@@ -2,9 +2,24 @@
*
* osisfootnotes - SWFilter descendant to hide or show footnotes
* in an OSIS module.
+ *
+ *
+ * Copyright 2009 CrossWire Bible Society (http://www.crosswire.org)
+ * CrossWire Bible Society
+ * P. O. Box 2528
+ * Tempe, AZ 85280-2528
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation version 2.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
*/
-
#include <stdlib.h>
#include <stdio.h>
#include <osisfootnotes.h>
@@ -41,11 +56,17 @@ char OSISFootnotes::processText(SWBuf &text, const SWKey *key, const SWModule *m
SWBuf refs = "";
int footnoteNum = 1;
char buf[254];
- VerseKey parser(key->getText());
+ SWKey *p = (module) ? module->CreateKey() : (key) ? key->clone() : new VerseKey();
+ VerseKey *parser = SWDYNAMIC_CAST(VerseKey, p);
+ if (!parser) {
+ delete p;
+ parser = new VerseKey();
+ }
+ *parser = key->getText();
SWBuf orig = text;
const char *from = orig.c_str();
-
+
XMLTag tag;
bool strongsMarkup = false;
@@ -59,20 +80,20 @@ char OSISFootnotes::processText(SWBuf &text, const SWKey *key, const SWModule *m
continue;
}
-
+
if (*from == '<') {
intoken = true;
token = "";
continue;
}
-
-
-
+
+
+
if (*from == '>') { // process tokens
- intoken = false;
+ intoken = false;
if (!strncmp(token, "note", 4) || !strncmp(token.c_str(), "/note", 5)) {
tag = token;
-
+
if (!tag.isEndTag()) {
if (tag.getAttribute("type") && (!strcmp("x-strongsMarkup", tag.getAttribute("type"))
|| !strcmp("strongsMarkup", tag.getAttribute("type"))) // deprecated
@@ -80,7 +101,7 @@ char OSISFootnotes::processText(SWBuf &text, const SWKey *key, const SWModule *m
tag.setEmpty(false); // handle bug in KJV2003 module where some note open tags were <note ... />
strongsMarkup = true;
}
-
+
if (!tag.isEmpty()) {
// if ((!tag.isEmpty()) || (SWBuf("strongsMarkup") == tag.getAttribute("type"))) {
refs = "";
@@ -101,7 +122,7 @@ char OSISFootnotes::processText(SWBuf &text, const SWKey *key, const SWModule *m
startTag.setAttribute("swordFootnote", buf);
if ((startTag.getAttribute("type")) && (!strcmp(startTag.getAttribute("type"), "crossReference"))) {
if (!refs.length())
- refs = parser.ParseVerseList(tagText.c_str(), parser, true).getRangeText();
+ refs = parser->ParseVerseList(tagText.c_str(), *parser, true).getRangeText();
module->getEntryAttributes()["Footnote"][buf]["refList"] = refs.c_str();
}
}
@@ -122,7 +143,7 @@ char OSISFootnotes::processText(SWBuf &text, const SWKey *key, const SWModule *m
if (refs.length()) {
refs.append("; ");
}
-
+
const char* attr = strstr(token.c_str() + 9, "osisRef=\"");
const char* end = attr ? strchr(attr+9, '"') : 0;
@@ -150,6 +171,7 @@ char OSISFootnotes::processText(SWBuf &text, const SWKey *key, const SWModule *m
}
else tagText.append(*from);
}
+ delete parser;
return 0;
}
diff --git a/src/modules/filters/osisheadings.cpp b/src/modules/filters/osisheadings.cpp
index a072335..8872f24 100644
--- a/src/modules/filters/osisheadings.cpp
+++ b/src/modules/filters/osisheadings.cpp
@@ -2,9 +2,24 @@
*
*osisheadings - SWFilter descendant to hide or show headings
* in an OSIS module.
+ *
+ *
+ * Copyright 2009 CrossWire Bible Society (http://www.crosswire.org)
+ * CrossWire Bible Society
+ * P. O. Box 2528
+ * Tempe, AZ 85280-2528
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation version 2.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
*/
-
#include <stdlib.h>
#include <stdio.h>
#include <osisheadings.h>
@@ -35,6 +50,9 @@ char OSISHeadings::processText(SWBuf &text, const SWKey *key, const SWModule *mo
bool hide = false;
bool preverse = false;
bool withinTitle = false;
+ bool withinPreverseDiv = false;
+ SWBuf preverseDivID = "";
+ const char *pvDID = 0;
bool canonical = false;
SWBuf header;
int headerNum = 0;
@@ -56,27 +74,41 @@ char OSISHeadings::processText(SWBuf &text, const SWKey *key, const SWModule *mo
}
if (*from == '>') { // process tokens
intoken = false;
-
- if (!strncmp(token.c_str(), "title", 5) || !strncmp(token.c_str(), "/title", 6)) {
- withinTitle = (!strnicmp(token.c_str(), "title", 5));
- tag = token;
+ tag = token;
+
+ // <title> </title> <div subType="x-preverse"> (</div> ## when in previous)
+ if ( (!withinPreverseDiv && !strcmp(tag.getName(), "title")) ||
+ (!strcmp(tag.getName(), "div") &&
+ ((withinPreverseDiv && (tag.isEndTag(pvDID))) ||
+ (tag.getAttribute("subType") && !strcmp(tag.getAttribute("subType"), "x-preverse")))
+ )) {
+
+ withinTitle = (!tag.isEndTag(pvDID));
+ if (!strcmp(tag.getName(), "div")) {
+ withinPreverseDiv = (!tag.isEndTag(pvDID));
+ if (!pvDID) {
+ preverseDivID = tag.getAttribute("sID");
+ pvDID = (preverseDivID.length())? preverseDivID.c_str() : 0;
+ }
+ }
- if (!tag.isEndTag()) { //start tag
- if (!tag.isEmpty()) {
+ if (!tag.isEndTag(pvDID)) { //start tag
+ if (!tag.isEmpty() || pvDID) {
startTag = tag;
}
}
- if ( (tag.getAttribute("subType") && !stricmp(tag.getAttribute("subType"), "x-preverse"))
- || (tag.getAttribute("subtype") && !stricmp(tag.getAttribute("subtype"), "x-preverse")) // deprecated
- ) {
+ if ( !tag.isEndTag(pvDID) && (withinPreverseDiv
+ || (tag.getAttribute("subType") && !stricmp(tag.getAttribute("subType"), "x-preverse"))
+ || (tag.getAttribute("subtype") && !stricmp(tag.getAttribute("subtype"), "x-preverse")) // deprecated
+ )) {
hide = true;
preverse = true;
header = "";
canonical = (tag.getAttribute("canonical") && (!stricmp(tag.getAttribute("canonical"), "true")));
continue;
}
- if (!tag.isEndTag()) { //start tag
+ if (!tag.isEndTag(pvDID)) { //start tag
hide = true;
header = "";
if (option || canonical) { // we want the tag in the text
@@ -86,7 +118,7 @@ char OSISHeadings::processText(SWBuf &text, const SWKey *key, const SWModule *mo
}
continue;
}
- if (hide && tag.isEndTag()) {
+ if (hide && tag.isEndTag(pvDID)) {
if (module->isProcessEntryAttributes() && ((option || canonical) || (!preverse))) {
if (preverse) {
sprintf(buf, "%i", pvHeaderNum++);
@@ -112,6 +144,7 @@ char OSISHeadings::processText(SWBuf &text, const SWKey *key, const SWModule *mo
continue;
}
preverse = false;
+ pvDID = 0;
}
}
diff --git a/src/modules/filters/osishtmlhref.cpp b/src/modules/filters/osishtmlhref.cpp
index fe3e058..6fce987 100644
--- a/src/modules/filters/osishtmlhref.cpp
+++ b/src/modules/filters/osishtmlhref.cpp
@@ -1,17 +1,25 @@
/***************************************************************************
- osishtmlhref.cpp - OSIS to HTML with hrefs filter
- -------------------
- begin : 2003-06-24
- copyright : 2003 by CrossWire Bible Society
- ***************************************************************************/
-
-/***************************************************************************
- * *
- * This program is free software; you can redistribute it and/or modify *
- * it under the terms of the GNU General Public License as published by *
- * the Free Software Foundation version 2 of the License. *
- * *
- ***************************************************************************/
+ * osishtmlhref.cpp - OSIS to HTML with hrefs filter
+ * -------------------
+ * begin : 2003-06-24
+ * copyright : 2003 by CrossWire Bible Society
+ *
+ *
+ * Copyright 2009 CrossWire Bible Society (http://www.crosswire.org)
+ * CrossWire Bible Society
+ * P. O. Box 2528
+ * Tempe, AZ 85280-2528
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation version 2.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ */
#include <stdlib.h>
#include <ctype.h>
@@ -111,7 +119,7 @@ void processLemma(bool suspendTextPassThru, XMLTag &tag, SWBuf &buf) {
if (!suspendTextPassThru) {
buf.appendFormatted("<small><em>&lt;<a href=\"passagestudy.jsp?action=showStrongs&type=%s&value=%s\">%s</a>&gt;</em></small>",
(gh.length()) ? gh.c_str() : "",
- URL::encode(val2).c_str(),
+ URL::encode(val2).c_str(),
val2);
}
//}
@@ -188,8 +196,9 @@ bool OSISHTMLHREF::handleToken(SWBuf &buf, const char *token, BasicFilterUserDat
if ((attrib = tag.getAttribute("gloss"))) {
val = strchr(attrib, ':');
val = (val) ? (val + 1) : attrib;
- outText(" ", buf, u);
+ outText("(", buf, u);
outText(val, buf, u);
+ outText(")", buf, u);
}
if (!morphFirst) {
processLemma(u->suspendTextPassThru, tag, buf);
@@ -278,49 +287,71 @@ bool OSISHTMLHREF::handleToken(SWBuf &buf, const char *token, BasicFilterUserDat
}
}
+ // Milestoned paragraphs, created by osis2mod
+ // <div type="paragraph" sID.../>
+ // <div type="paragraph" eID.../>
+ else if (tag.isEmpty() && !strcmp(tag.getName(), "div") && tag.getAttribute("type") && !strcmp(tag.getAttribute("type"), "paragraph")) {
+ // <div type="paragraph" sID... />
+ if (tag.getAttribute("sID")) { // non-empty start tag
+ outText("<!P><br />", buf, u);
+ }
+ // <div type="paragraph" eID... />
+ else if (tag.getAttribute("eID")) {
+ outText("<!/P><br />", buf, u);
+ userData->supressAdjacentWhitespace = true;
+ }
+ }
+
// <reference> tag
else if (!strcmp(tag.getName(), "reference")) {
if (!u->inXRefNote) { // only show these if we're not in an xref note
- if ((!tag.isEndTag()) && (!tag.isEmpty())) {
- u->suspendTextPassThru = (++u->suspendLevel);
- }
- if (tag.isEndTag()) {
- if (!u->BiblicalText) {
- SWBuf refList = tag.getAttribute("passage");
- if (!refList.length())
- refList = u->lastTextNode;
- SWBuf version = tag.getAttribute("version");
-
- buf.appendFormatted("&nbsp;<a href=\"passagestudy.jsp?action=showRef&type=scripRef&value=%s&module=%s\">",
- (refList.length()) ? URL::encode(refList.c_str()).c_str() : "",
- (version.length()) ? URL::encode(version.c_str()).c_str() : "");
- buf += u->lastTextNode.c_str();
- buf += "</a>&nbsp;";
+ if (!tag.isEndTag()) {
+ SWBuf target;
+ SWBuf work;
+ SWBuf ref;
+ bool is_scripRef = false;
+
+ target = tag.getAttribute("osisRef");
+ const char* the_ref = strchr(target, ':');
+
+ if(!the_ref) {
+ // No work
+ ref = target;
+ is_scripRef = true;
}
else {
- SWBuf footnoteNumber = tag.getAttribute("swordFootnote");
- VerseKey *vkey = NULL;
- // see if we have a VerseKey * or descendant
- SWTRY {
- vkey = SWDYNAMIC_CAST(VerseKey, u->key);
- }
- SWCATCH ( ... ) {}
- if (vkey) {
- // leave this special osis type in for crossReference notes types? Might thml use this some day? Doesn't hurt.
- //buf.appendFormatted("<a href=\"noteID=%s.x.%s\"><small><sup>*x</sup></small></a> ", vkey->getText(), footnoteNumber.c_str());
- buf.appendFormatted("<a href=\"passagestudy.jsp?action=showNote&type=x&value=%s&module=%s&passage=%s\"><small><sup>*x</sup></small></a>",
- URL::encode(footnoteNumber.c_str()).c_str(),
- URL::encode(u->version.c_str()).c_str(),
- URL::encode(vkey->getText()).c_str());
-
- }
+ // Compensate for starting :
+ ref = the_ref + 1;
+
+ int size = target.size() - ref.size() - 1;
+ work.setSize(size);
+ strncpy(work.getRawData(), target, size);
+
+ // For Bible:Gen.3.15 or Bible.vulgate:Gen.3.15
+ if(!strncmp(work, "Bible", 5))
+ is_scripRef = true;
+ }
+
+ if(is_scripRef)
+ {
+ buf.appendFormatted("<a href=\"passagestudy.jsp?action=showRef&type=scripRef&value=%s&module=\">",
+ URL::encode(ref.c_str()).c_str()
+// (work.size()) ? URL::encode(work.c_str()).c_str() : "")
+ );
+ }
+ else
+ {
+ // Dictionary link, or something
+ buf.appendFormatted("<a href=\"sword://%s/%s\">",
+ URL::encode(work.c_str()).c_str(),
+ URL::encode(ref.c_str()).c_str()
+ );
}
- u->suspendTextPassThru = (--u->suspendLevel);
}
- }/*
- if (tag.isEndTag()) {
- u->suspendTextPassThru = false;
- }*/
+ else {
+ outText("</a>", buf, u);
+ }
+ }
}
// <l> poetry, etc
@@ -383,7 +414,26 @@ bool OSISHTMLHREF::handleToken(SWBuf &buf, const char *token, BasicFilterUserDat
outText("</b><br />", buf, u);
}
}
+
+ // <list>
+ else if (!strcmp(tag.getName(), "list")) {
+ if((!tag.isEndTag()) && (!tag.isEmpty())) {
+ outText("<ul>", buf, u);
+ }
+ else if (tag.isEndTag()) {
+ outText("</ul>", buf, u);
+ }
+ }
+ // <item>
+ else if (!strcmp(tag.getName(), "item")) {
+ if((!tag.isEndTag()) && (!tag.isEmpty())) {
+ outText("<li>", buf, u);
+ }
+ else if (tag.isEndTag()) {
+ outText("</li>", buf, u);
+ }
+ }
// <catchWord> & <rdg> tags (italicize)
else if (!strcmp(tag.getName(), "rdg") || !strcmp(tag.getName(), "catchWord")) {
if ((!tag.isEndTag()) && (!tag.isEmpty())) {
@@ -405,6 +455,16 @@ bool OSISHTMLHREF::handleToken(SWBuf &buf, const char *token, BasicFilterUserDat
if (lastText.size()) {
toupperstr(lastText);
scratch.setFormatted("%c<font size=\"-1\">%s</font>", lastText[0], lastText.c_str()+1);
+
+ const unsigned char *tmpBuf = (const unsigned char *)lastText.c_str();
+ getUniCharFromUTF8(&tmpBuf);
+ int char_length = (tmpBuf - (const unsigned char *)lastText.c_str());
+ scratch.setFormatted("%.*s<font size=\"-1\">%s</font>",
+ char_length,
+ lastText.c_str(),
+ lastText.c_str() + char_length
+ );
+
outText(scratch.c_str(), buf, u);
}
}
@@ -542,8 +602,7 @@ bool OSISHTMLHREF::handleToken(SWBuf &buf, const char *token, BasicFilterUserDat
outText(URL::encode(u->version.c_str()).c_str(), buf, u);
outText("\">", buf, u);
-// we do this because BibleCS looks for this EXACT format for an image tag
- outText("<image border=0 src=\"", buf, u);
+ outText("<img border=\"0\" src=\"", buf, u);
outText(filepath, buf, u);
outText("\" />", buf, u);
diff --git a/src/modules/filters/osislemma.cpp b/src/modules/filters/osislemma.cpp
index f5e6ff6..7b56024 100644
--- a/src/modules/filters/osislemma.cpp
+++ b/src/modules/filters/osislemma.cpp
@@ -2,9 +2,24 @@
*
* osislemma - SWFilter descendant to hide or show lemmata
* in a OSIS module.
+ *
+ *
+ * Copyright 2009 CrossWire Bible Society (http://www.crosswire.org)
+ * CrossWire Bible Society
+ * P. O. Box 2528
+ * Tempe, AZ 85280-2528
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation version 2.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
*/
-
#include <stdlib.h>
#include <osislemma.h>
#include <utilxml.h>
diff --git a/src/modules/filters/osismorph.cpp b/src/modules/filters/osismorph.cpp
index 69d44d5..7ceec79 100644
--- a/src/modules/filters/osismorph.cpp
+++ b/src/modules/filters/osismorph.cpp
@@ -2,9 +2,24 @@
*
* osismorph - SWFilter descendant to hide or show morph tags
* in a OSIS module.
+ *
+ *
+ * Copyright 2009 CrossWire Bible Society (http://www.crosswire.org)
+ * CrossWire Bible Society
+ * P. O. Box 2528
+ * Tempe, AZ 85280-2528
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation version 2.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
*/
-
#include <stdlib.h>
#include <osismorph.h>
diff --git a/src/modules/filters/osismorphsegmentation.cpp b/src/modules/filters/osismorphsegmentation.cpp
index bf32581..fef7af7 100644
--- a/src/modules/filters/osismorphsegmentation.cpp
+++ b/src/modules/filters/osismorphsegmentation.cpp
@@ -2,9 +2,24 @@
*
* osismorphsegmentation - SWFilter descendant to toggle splitting of morphemes
* (for morpheme segmented Hebrew in the WLC)
+ *
+ *
+ * Copyright 2009 CrossWire Bible Society (http://www.crosswire.org)
+ * CrossWire Bible Society
+ * P. O. Box 2528
+ * Tempe, AZ 85280-2528
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation version 2.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
*/
-
#include <osismorphsegmentation.h>
#include <stdlib.h>
#include <utilxml.h>
diff --git a/src/modules/filters/osisosis.cpp b/src/modules/filters/osisosis.cpp
index 7da6089..82a6bfc 100644
--- a/src/modules/filters/osisosis.cpp
+++ b/src/modules/filters/osisosis.cpp
@@ -1,17 +1,24 @@
/***************************************************************************
- osisosis.cpp - internal OSIS to public OSIS filter
- -------------------
- begin : 2004-03-13
- copyright : 2003 by CrossWire Bible Society
- ***************************************************************************/
-
-/***************************************************************************
- * *
- * This program is free software; you can redistribute it and/or modify *
- * it under the terms of the GNU General Public License as published by *
- * the Free Software Foundation version 2 of the License.
- * *
- ***************************************************************************/
+ * osisosis.cpp - internal OSIS to public OSIS filter
+ * -------------------
+ * begin : 2004-03-13
+ * copyright : 2003 by CrossWire Bible Society
+ *
+ * Copyright 2009 CrossWire Bible Society (http://www.crosswire.org)
+ * CrossWire Bible Society
+ * P. O. Box 2528
+ * Tempe, AZ 85280-2528
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation version 2.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ */
#include <stdlib.h>
#include <osisosis.h>
@@ -55,33 +62,34 @@ char OSISOSIS::processText(SWBuf &text, const SWKey *key, const SWModule *module
if (vkey->Verse()) {
ref.appendFormatted("\t\t<verse osisID=\"%s\">", vkey->getOSISRef());
}
-
+
if (ref.length() > 0) {
-
+
text = ref + text;
-
+
if (vkey->Verse()) {
- VerseKey tmp;
- tmp = *vkey;
- tmp.AutoNormalize(0);
- tmp.Headings(1);
-
+ VerseKey *tmp = (VerseKey *)vkey->clone();
+ *tmp = *vkey;
+ tmp->AutoNormalize(0);
+ tmp->Headings(1);
+
text += "</verse>";
-
- tmp = MAXVERSE;
- if (*vkey == tmp) {
- tmp.Verse(0);
+
+ *tmp = MAXVERSE;
+ if (*vkey == *tmp) {
+ tmp->Verse(0);
// sprintf(ref, "\t</div>");
// pushString(&to, ref);
- tmp = MAXCHAPTER;
- tmp = MAXVERSE;
- if (*vkey == tmp) {
- tmp.Chapter(0);
- tmp.Verse(0);
+ *tmp = MAXCHAPTER;
+ *tmp = MAXVERSE;
+ if (*vkey == *tmp) {
+ tmp->Chapter(0);
+ tmp->Verse(0);
// sprintf(ref, "\t</div>");
// pushString(&to, ref);
}
}
+ delete tmp;
}
//
diff --git a/src/modules/filters/osisplain.cpp b/src/modules/filters/osisplain.cpp
index 62841a6..57105f0 100644
--- a/src/modules/filters/osisplain.cpp
+++ b/src/modules/filters/osisplain.cpp
@@ -1,18 +1,24 @@
-/***************************************************************************
- osisplain.cpp - OSIS to Plaintext filter
- -------------------
- begin : 2003-02-15
- copyright : 2003 by CrossWire Bible Society
- ***************************************************************************/
-
-/***************************************************************************
- * *
- * This program is free software; you can redistribute it and/or modify *
- * it under the terms of the GNU General Public License as published by *
- * the Free Software Foundation; either version 2 of the License, or *
- * (at your option) any later version. *
- * *
- ***************************************************************************/
+/******************************************************************************
+ * osisplain.cpp - An SWFilter
+ * impl that provides stripping of OSIS tags
+ *
+ * $Id: osisplain.cpp 2334 2009-04-24 00:14:12Z scribe $
+ *
+ * Copyright 2001 CrossWire Bible Society (http://www.crosswire.org)
+ * CrossWire Bible Society
+ * P. O. Box 2528
+ * Tempe, AZ 85280-2528
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation version 2.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ */
#include <stdlib.h>
#include <osisplain.h>
@@ -22,6 +28,17 @@
SWORD_NAMESPACE_START
+namespace {
+class MyUserData : public BasicFilterUserData {
+public:
+ SWBuf w;
+ XMLTag tag;
+ VerseKey *vk;
+ char testament;
+ MyUserData(const SWModule *module, const SWKey *key) : BasicFilterUserData(module, key) {}
+};
+}
+
OSISPlain::OSISPlain() {
setTokenStart("<");
setTokenEnd(">");
@@ -45,13 +62,18 @@ OSISPlain::OSISPlain() {
addTokenSubstitute("/lg", "\n");
}
+BasicFilterUserData *OSISPlain::createUserData(const SWModule *module, const SWKey *key) {
+ MyUserData *u = new MyUserData(module, key);
+ u->vk = SWDYNAMIC_CAST(VerseKey, u->key);
+ u->testament = (u->vk) ? u->vk->Testament() : 2; // default to NT
+ return u;
+}
+
bool OSISPlain::handleToken(SWBuf &buf, const char *token, BasicFilterUserData *userData) {
// manually process if it wasn't a simple substitution
if (!substituteToken(buf, token)) {
MyUserData *u = (MyUserData *)userData;
- VerseKey *vk = SWDYNAMIC_CAST(VerseKey, u->key);
- char testament = (vk) ? vk ->Testament() : 2; // default to NT
if (((*token == 'w') && (token[1] == ' ')) ||
((*token == '/') && (token[1] == 'w') && (!token[2]))) {
u->tag = token;
@@ -99,7 +121,7 @@ bool OSISPlain::handleToken(SWBuf &buf, const char *token, BasicFilterUserData *
val++;
}
else {
- gh = (testament>1) ? 'G' : 'H';
+ gh = (u->testament>1) ? 'G' : 'H';
}
if ((!strcmp(val, "3588")) && (lastText.length() < 1))
show = false;
@@ -139,13 +161,13 @@ bool OSISPlain::handleToken(SWBuf &buf, const char *token, BasicFilterUserData *
// <note> tag
else if (!strncmp(token, "note", 4)) {
if (!strstr(token, "strongsMarkup")) { // leave strong's markup notes out, in the future we'll probably have different option filters to turn different note types on or off
- buf.append(" (");
+ buf.append(" [");
}
else u->suspendTextPassThru = true;
}
else if (!strncmp(token, "/note", 5)) {
if (!u->suspendTextPassThru)
- buf.append(')');
+ buf.append("] ");
else u->suspendTextPassThru = false;
}
@@ -156,6 +178,15 @@ bool OSISPlain::handleToken(SWBuf &buf, const char *token, BasicFilterUserData *
buf.append('\n');
}
+ // Milestoned paragraph, created by osis2mod
+ // <div type="paragraph" sID... />
+ // <div type="paragraph" eID... />
+ else if (!strcmp(u->tag.getName(), "div") && u->tag.getAttribute("type") && !strcmp(u->tag.getAttribute("type"), "paragraph") &&
+ (u->tag.isEmpty() && (u->tag.getAttribute("sID") || u->tag.getAttribute("eID")))) {
+ userData->supressAdjacentWhitespace = true;
+ buf.append('\n');
+ }
+
// <lb .../>
else if (!strncmp(token, "lb", 2)) {
userData->supressAdjacentWhitespace = true;
diff --git a/src/modules/filters/osisredletterwords.cpp b/src/modules/filters/osisredletterwords.cpp
index 727332d..9075fd8 100644
--- a/src/modules/filters/osisredletterwords.cpp
+++ b/src/modules/filters/osisredletterwords.cpp
@@ -2,9 +2,24 @@
*
* OSISRedLetterWords - SWFilter descendant to toggle red coloring for words
* of Christ in an OSIS module.
+ *
+ *
+ * Copyright 2009 CrossWire Bible Society (http://www.crosswire.org)
+ * CrossWire Bible Society
+ * P. O. Box 2528
+ * Tempe, AZ 85280-2528
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation version 2.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
*/
-
#include <stdlib.h>
#include <osisredletterwords.h>
#include <swmodule.h>
diff --git a/src/modules/filters/osisrtf.cpp b/src/modules/filters/osisrtf.cpp
index 0352335..84801e3 100644
--- a/src/modules/filters/osisrtf.cpp
+++ b/src/modules/filters/osisrtf.cpp
@@ -1,17 +1,25 @@
/***************************************************************************
- osisrtf.cpp - OSIS to RTF filter
- -------------------
- begin : 2003-02-15
- copyright : 2003 by CrossWire Bible Society
- ***************************************************************************/
-
-/***************************************************************************
- * *
- * This program is free software; you can redistribute it and/or modify *
- * it under the terms of the GNU General Public License as published by *
- * the Free Software Foundation version 2 of the License. *
- * *
- ***************************************************************************/
+ * osisrtf.cpp - OSIS to RTF filter
+ * -------------------
+ * begin : 2003-02-15
+ * copyright : 2003 by CrossWire Bible Society
+ *
+ *
+ * Copyright 2009 CrossWire Bible Society (http://www.crosswire.org)
+ * CrossWire Bible Society
+ * P. O. Box 2528
+ * Tempe, AZ 85280-2528
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation version 2.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ */
#include <stdlib.h>
#include <ctype.h>
@@ -272,6 +280,21 @@ bool OSISRTF::handleToken(SWBuf &buf, const char *token, BasicFilterUserData *us
}
}
+ // Milestoned paragraphs, created by osis2mod
+ // <div type="paragraph" sID.../>
+ // <div type="paragraph" eID.../>
+ else if (tag.isEmpty() && !strcmp(tag.getName(), "div") && tag.getAttribute("type") && !strcmp(tag.getAttribute("type"), "paragraph")) {
+ // <div type="paragraph" sID... />
+ if (tag.getAttribute("sID")) { // non-empty start tag
+ outText("{\\fi200\\par}", buf, u);
+ }
+ // <div type="paragraph" eID... />
+ else if (tag.getAttribute("eID")) {
+ outText("{\\par}", buf, u);
+ userData->supressAdjacentWhitespace = true;
+ }
+ }
+
// <reference> tag
else if (!strcmp(tag.getName(), "reference")) {
if (!u->inXRefNote) { // only show these if we're not in an xref note
@@ -316,6 +339,25 @@ bool OSISRTF::handleToken(SWBuf &buf, const char *token, BasicFilterUserData *us
outText("\\par}", buf, u);
}
}
+ // <list> - how do we support these better in RTF?
+ else if (!strcmp(tag.getName(), "list")) {
+ if((!tag.isEndTag()) && (!tag.isEmpty())) {
+ outText("\\par\\pard", buf, u);
+ }
+ else if (tag.isEndTag()) {
+ outText("\\par\\pard", buf, u);
+ }
+ }
+
+ // <item> - support better
+ else if (!strcmp(tag.getName(), "item")) {
+ if((!tag.isEndTag()) && (!tag.isEmpty())) {
+ outText("* ", buf, u);
+ }
+ else if (tag.isEndTag()) {
+ outText("\\par", buf, u);
+ }
+ }
// <catchWord> & <rdg> tags (italicize)
else if (!strcmp(tag.getName(), "rdg") || !strcmp(tag.getName(), "catchWord")) {
@@ -445,16 +487,10 @@ bool OSISRTF::handleToken(SWBuf &buf, const char *token, BasicFilterUserData *us
else if (!strcmp(tag.getName(), "divineName")) {
if ((!tag.isEndTag()) && (!tag.isEmpty())) {
- u->suspendTextPassThru = (++u->suspendLevel);
+ outText("{\\scaps ", buf, u);
}
else if (tag.isEndTag()) {
- SWBuf lastText = u->lastSuspendSegment.c_str();
- u->suspendTextPassThru = (--u->suspendLevel);
- if (lastText.size()) {
- toupperstr(lastText);
- scratch.setFormatted("{\\fs19%c\\fs16%s}", lastText[0], lastText.c_str()+1);
- outText(scratch.c_str(), buf, u);
- }
+ outText("}", buf, u);
}
}
@@ -462,10 +498,11 @@ bool OSISRTF::handleToken(SWBuf &buf, const char *token, BasicFilterUserData *us
else if (!strcmp(tag.getName(), "div")) {
if ((!tag.isEndTag()) && (!tag.isEmpty())) {
- outText("\\par\\par\\pard ", buf, u);
+ outText("\\pard ", buf, u);
}
else if (tag.isEndTag()) {
- }
+ outText("\\par ", buf, u);
+ }
}
// image
diff --git a/src/modules/filters/osisruby.cpp b/src/modules/filters/osisruby.cpp
new file mode 100644
index 0000000..c17ea43
--- /dev/null
+++ b/src/modules/filters/osisruby.cpp
@@ -0,0 +1,93 @@
+/******************************************************************************
+ *
+ * osisruby - SWFilter descendant to hide or show ruby
+ * in a OSIS module.
+ *
+ *
+ * Copyright 2009 CrossWire Bible Society (http://www.crosswire.org)
+ * CrossWire Bible Society
+ * P. O. Box 2528
+ * Tempe, AZ 85280-2528
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation version 2.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ */
+
+#include <stdlib.h>
+#include <osisruby.h>
+#include <utilxml.h>
+
+SWORD_NAMESPACE_START
+
+const char oName[] = "Ruby";
+const char oTip[] = "Toggles Ruby On and Off if they exist";
+
+const SWBuf choices[3] = {"Off", "On", ""};
+const StringList oValues(&choices[0], &choices[2]);
+
+OSISRuby::OSISRuby() : SWOptionFilter(oName, oTip, &oValues) {
+ setOptionValue("Off");
+}
+
+
+OSISRuby::~OSISRuby() {
+}
+
+
+char OSISRuby::processText(SWBuf &text, const SWKey *key, const SWModule *module) {
+ SWBuf token;
+ bool intoken = false;
+ bool lastspace = false;
+
+ const SWBuf orig = text;
+ const char * from = orig.c_str();
+
+ if (!option) {
+ for (text = ""; *from; ++from) {
+ if (*from == '<') {
+ intoken = true;
+ token = "";
+ continue;
+ }
+ if (*from == '>') { // process tokens
+ intoken = false;
+ if (token.startsWith("w ")) { // Word
+ XMLTag wtag(token);
+ const char *l = wtag.getAttribute("gloss");
+ if (l) {
+ wtag.setAttribute("gloss", 0);
+ token = wtag;
+ token.trim();
+ // drop <>
+ token << 1;
+ token--;
+ }
+ }
+
+ // keep token in text
+ text.append('<');
+ text.append(token);
+ text.append('>');
+
+ continue;
+ }
+ if (intoken) {
+ token += *from;
+ }
+ else {
+ text.append(*from);
+ lastspace = (*from == ' ');
+ }
+ }
+ }
+ return 0;
+}
+
+SWORD_NAMESPACE_END
diff --git a/src/modules/filters/osisscripref.cpp b/src/modules/filters/osisscripref.cpp
index 437f5f5..73c7309 100644
--- a/src/modules/filters/osisscripref.cpp
+++ b/src/modules/filters/osisscripref.cpp
@@ -2,9 +2,24 @@
*
* OSISScripref - SWFilter descendant to hide or show scripture references
* in an OSIS module.
+ *
+ *
+ * Copyright 2009 CrossWire Bible Society (http://www.crosswire.org)
+ * CrossWire Bible Society
+ * P. O. Box 2528
+ * Tempe, AZ 85280-2528
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation version 2.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
*/
-
#include <stdlib.h>
#include <osisscripref.h>
#include <swmodule.h>
diff --git a/src/modules/filters/osisstrongs.cpp b/src/modules/filters/osisstrongs.cpp
index 922f7fd..8c06b07 100644
--- a/src/modules/filters/osisstrongs.cpp
+++ b/src/modules/filters/osisstrongs.cpp
@@ -2,9 +2,24 @@
*
* osisstrongs - SWFilter descendant to hide or show strongs number
* in a OSIS module.
+ *
+ *
+ * Copyright 2009 CrossWire Bible Society (http://www.crosswire.org)
+ * CrossWire Bible Society
+ * P. O. Box 2528
+ * Tempe, AZ 85280-2528
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation version 2.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
*/
-
#include <stdlib.h>
#include <stdio.h>
#include <ctype.h>
@@ -38,6 +53,7 @@ char OSISStrongs::processText(SWBuf &text, const SWKey *key, const SWModule *mod
int wordNum = 1;
char wordstr[5];
const char *wordStart = 0;
+ SWBuf page = ""; // some modules include <seg> page info, so we add these to the words
const SWBuf orig = text;
const char * from = orig.c_str();
@@ -50,6 +66,20 @@ char OSISStrongs::processText(SWBuf &text, const SWKey *key, const SWModule *mod
}
if (*from == '>') { // process tokens
intoken = false;
+
+ // possible page seg --------------------------------
+ if (token.startsWith("seg ")) {
+ XMLTag stag(token);
+ SWBuf type = stag.getAttribute("type");
+ if (type == "page") {
+ SWBuf number = stag.getAttribute("subtype");
+ if (number.length()) {
+ page = number;
+ }
+ }
+ }
+ // ---------------------------------------------------
+
if (token.startsWith("w ")) { // Word
XMLTag wtag(token);
if (module->isProcessEntryAttributes()) {
@@ -167,15 +197,17 @@ char OSISStrongs::processText(SWBuf &text, const SWKey *key, const SWModule *mod
if (lemma.length())
- module->getEntryAttributes()["Word"][wordstr]["Lemma"] = lemma;
+ module->getEntryAttributes()["Word"][wordstr]["Lemma"] = lemma;
if (lemmaClass.length())
- module->getEntryAttributes()["Word"][wordstr]["LemmaClass"] = lemmaClass;
+ module->getEntryAttributes()["Word"][wordstr]["LemmaClass"] = lemmaClass;
if (morph.length())
- module->getEntryAttributes()["Word"][wordstr]["Morph"] = morph;
+ module->getEntryAttributes()["Word"][wordstr]["Morph"] = morph;
if (morphClass.length())
- module->getEntryAttributes()["Word"][wordstr]["MorphClass"] = morphClass;
+ module->getEntryAttributes()["Word"][wordstr]["MorphClass"] = morphClass;
if (src.length())
module->getEntryAttributes()["Word"][wordstr]["Src"] = src;
+ if (page.length())
+ module->getEntryAttributes()["Word"][wordstr]["Page"] = page;
if (wtag.isEmpty()) {
int j;
diff --git a/src/modules/filters/osisvariants.cpp b/src/modules/filters/osisvariants.cpp
index 91d700c..16e0cfb 100644
--- a/src/modules/filters/osisvariants.cpp
+++ b/src/modules/filters/osisvariants.cpp
@@ -2,9 +2,24 @@
*
* osisvariants - SWFilter descendant to hide or show textual variants
* in an OSIS module.
+ *
+ *
+ * Copyright 2009 CrossWire Bible Society (http://www.crosswire.org)
+ * CrossWire Bible Society
+ * P. O. Box 2528
+ * Tempe, AZ 85280-2528
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation version 2.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
*/
-
#include <stdlib.h>
#include <osisvariants.h>
#include <utilstr.h>
diff --git a/src/modules/filters/osiswebif.cpp b/src/modules/filters/osiswebif.cpp
index ecc58f7..e313836 100644
--- a/src/modules/filters/osiswebif.cpp
+++ b/src/modules/filters/osiswebif.cpp
@@ -1,19 +1,25 @@
/***************************************************************************
- OSISWEBIF.cpp - OSIS to HTML filter with hrefs
- for strongs and morph tags
- -------------------
- begin : 2003-10-23
- copyright : 2003 by CrossWire Bible Society
- ***************************************************************************/
-
-/***************************************************************************
- * *
- * This program is free software; you can redistribute it and/or modify *
- * it under the terms of the GNU General Public License as published by *
- * the Free Software Foundation; either version 2 of the License, or *
- * (at your option) any later version. *
- * *
- ***************************************************************************/
+ * OSISWEBIF.cpp - OSIS to HTML filter with hrefs
+ * for strongs and morph tags
+ * -------------------
+ * begin : 2003-10-23
+ * copyright : 2003 by CrossWire Bible Society
+ *
+ * Copyright 2009 CrossWire Bible Society (http://www.crosswire.org)
+ * CrossWire Bible Society
+ * P. O. Box 2528
+ * Tempe, AZ 85280-2528
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation version 2.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ */
#include <stdlib.h>
#include <osiswebif.h>
@@ -169,6 +175,14 @@ bool OSISWEBIF::handleToken(SWBuf &buf, const char *token, BasicFilterUserData *
}
}
+ // Milestoned paragraphs, created by osis2mod
+ // <div type="paragraph" sID.../>
+ // <div type="paragraph" eID.../>
+ else if (tag.isEmpty() && !strcmp(tag.getName(), "div") && tag.getAttribute("type") && !strcmp(tag.getAttribute("type"), "paragraph")) {
+ // This is properly handled by base class.
+ return OSISHTMLHREF::handleToken(buf, token, userData);
+ }
+
// ok to leave these in
else if (!strcmp(tag.getName(), "div")) {
buf += tag;
diff --git a/src/modules/filters/osiswordjs.cpp b/src/modules/filters/osiswordjs.cpp
index dc805b4..da573d3 100644
--- a/src/modules/filters/osiswordjs.cpp
+++ b/src/modules/filters/osiswordjs.cpp
@@ -2,9 +2,24 @@
*
* osisstrongs - SWFilter descendant to hide or show strongs number
* in a OSIS module.
+ *
+ *
+ * Copyright 2009 CrossWire Bible Society (http://www.crosswire.org)
+ * CrossWire Bible Society
+ * P. O. Box 2528
+ * Tempe, AZ 85280-2528
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation version 2.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
*/
-
#include <stdlib.h>
#include <stdio.h>
#include <osiswordjs.h>
@@ -76,8 +91,11 @@ char OSISWordJS::processText(SWBuf &text, const SWKey *key, const SWModule *modu
SWBuf lemmaClass;
SWBuf lemma;
SWBuf morph;
+ SWBuf page;
SWBuf src;
char gh = 0;
+ page = module->getEntryAttributes()["Word"][wordstr]["Page"].c_str();
+ if (page.length()) page = (SWBuf)"p:" + page;
int count = atoi(module->getEntryAttributes()["Word"][wordstr]["PartCount"].c_str());
for (int i = 0; i < count; i++) {
@@ -146,7 +164,7 @@ char OSISWordJS::processText(SWBuf &text, const SWKey *key, const SWModule *modu
}
}
// 'p' = 'fillpop' to save bandwidth
- text.appendFormatted("<span class=\"clk\" onclick=\"p('%s','%s','%s','%s','','%s');\" >", lexName.c_str(), lemma.c_str(), wordID.c_str(), morph.c_str(), modName.c_str());
+ text.appendFormatted("<span class=\"clk\" onclick=\"p('%s','%s','%s','%s','%s','%s');\" >", lexName.c_str(), lemma.c_str(), wordID.c_str(), morph.c_str(), page.c_str(), modName.c_str());
wordNum++;
}
if ((*token == '/') && (token[1] == 'w') && option) { // Word
diff --git a/src/modules/filters/papyriplain.cpp b/src/modules/filters/papyriplain.cpp
index 423bfda..782b52a 100644
--- a/src/modules/filters/papyriplain.cpp
+++ b/src/modules/filters/papyriplain.cpp
@@ -1,9 +1,24 @@
/******************************************************************************
*
* papyriplain - SWFilter descendant to strip out all Papyri tags
+ *
+ *
+ * Copyright 2009 CrossWire Bible Society (http://www.crosswire.org)
+ * CrossWire Bible Society
+ * P. O. Box 2528
+ * Tempe, AZ 85280-2528
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation version 2.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
*/
-
#include <stdlib.h>
#include <papyriplain.h>
diff --git a/src/modules/filters/plainfootnotes.cpp b/src/modules/filters/plainfootnotes.cpp
index 0baf313..449f7da 100644
--- a/src/modules/filters/plainfootnotes.cpp
+++ b/src/modules/filters/plainfootnotes.cpp
@@ -1,19 +1,25 @@
/***************************************************************************
- plainfootnotes.cpp - description
- -------------------
- begin : Wed Oct 13 1999
- copyright : (C) 1999 by The team of BibleTime
- email : info@bibletime.de
- ***************************************************************************/
-
-/***************************************************************************
- * *
- * This program is free software; you can redistribute it and/or modify *
- * it under the terms of the GNU General Public License as published by *
- * the Free Software Foundation; either version 2 of the License, or *
- * (at your option) any later version. *
- * *
- ***************************************************************************/
+ * plainfootnotes.cpp - description
+ * -------------------
+ * begin : Wed Oct 13 1999
+ * copyright : (C) 1999 by The team of BibleTime
+ * email : info@bibletime.de
+ *
+ * Copyright 2009 CrossWire Bible Society (http://www.crosswire.org)
+ * CrossWire Bible Society
+ * P. O. Box 2528
+ * Tempe, AZ 85280-2528
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation version 2.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ */
#include <plainfootnotes.h>
#include <swkey.h>
diff --git a/src/modules/filters/plainhtml.cpp b/src/modules/filters/plainhtml.cpp
index f5f2a5c..3f989fa 100644
--- a/src/modules/filters/plainhtml.cpp
+++ b/src/modules/filters/plainhtml.cpp
@@ -1,19 +1,25 @@
/***************************************************************************
- plainhtml.cpp - description
- -------------------
- begin : Thu Jun 24 1999
- copyright : (C) 1999 by Torsten Uhlmann
- email : TUhlmann@gmx.de
- ***************************************************************************/
-
-/***************************************************************************
- * *
- * This program is free software; you can redistribute it and/or modify *
- * it under the terms of the GNU General Public License as published by *
- * the Free Software Foundation; either version 2 of the License, or *
- * (at your option) any later version. *
- * *
- ***************************************************************************/
+ * plainhtml.cpp - description
+ * -------------------
+ * begin : Thu Jun 24 1999
+ * copyright : (C) 1999 by Torsten Uhlmann
+ * email : TUhlmann@gmx.de
+ *
+ * Copyright 2009 CrossWire Bible Society (http://www.crosswire.org)
+ * CrossWire Bible Society
+ * P. O. Box 2528
+ * Tempe, AZ 85280-2528
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation version 2.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ */
#include <plainhtml.h>
#include <swbuf.h>
diff --git a/src/modules/filters/rtfhtml.cpp b/src/modules/filters/rtfhtml.cpp
index cac5068..7b55721 100644
--- a/src/modules/filters/rtfhtml.cpp
+++ b/src/modules/filters/rtfhtml.cpp
@@ -1,19 +1,25 @@
/***************************************************************************
- rtfhtml.cpp - description
- -------------------
- begin : Wed Oct 13 1999
- copyright : (C) 1999 by The team of BibleTime
- email : info@bibletime.de
- ***************************************************************************/
-
-/***************************************************************************
- * *
- * This program is free software; you can redistribute it and/or modify *
- * it under the terms of the GNU General Public License as published by *
- * the Free Software Foundation; either version 2 of the License, or *
- * (at your option) any later version. *
- * *
- ***************************************************************************/
+ * rtfhtml.cpp - description
+ * -------------------
+ * begin : Wed Oct 13 1999
+ * copyright : (C) 1999 by The team of BibleTime
+ * email : info@bibletime.de
+ *
+ * Copyright 2009 CrossWire Bible Society (http://www.crosswire.org)
+ * CrossWire Bible Society
+ * P. O. Box 2528
+ * Tempe, AZ 85280-2528
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation version 2.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ */
#include <stdlib.h>
#include <rtfhtml.h>
diff --git a/src/modules/filters/scsuutf8.cpp b/src/modules/filters/scsuutf8.cpp
deleted file mode 100644
index 0daff4a..0000000
--- a/src/modules/filters/scsuutf8.cpp
+++ /dev/null
@@ -1,226 +0,0 @@
-/******************************************************************************
- *
- * SCSUUTF8 - SWFilter descendant to convert a SCSU character to UTF-8
- *
- */
-
-
-/* This class is based on:
- * http://czyborra.com/scsu/scsu.c written by Roman Czyborra@dds.nl
- * on Andrea's balcony in North Amsterdam on 1998-08-04
- * Thanks to Richard Verhoeven <rcb5@win.tue.nl> for his suggestion
- * to correct the haphazard "if" after UQU to "else if" on 1998-10-01
- *
- * This is a deflator to UTF-8 output for input compressed in SCSU,
- * the (Reuters) Standard Compression Scheme for Unicode as described
- * in http://www.unicode.org/unicode/reports/tr6.html
- */
-
-#include <stdlib.h>
-#include <stdio.h>
-#include <swmodule.h>
-
-#include <scsuutf8.h>
-
-SWORD_NAMESPACE_START
-
-SCSUUTF8::SCSUUTF8() {
-}
-
-
-unsigned char* SCSUUTF8::UTF8Output(unsigned long uchar, unsigned char* text)
-{
- /* join UTF-16 surrogates without any pairing sanity checks */
-
- static int d;
-
- if (uchar >= 0xd800 && uchar <= 0xdbff) { d = uchar & 0x3f; return text; }
- if (uchar >= 0xdc00 && uchar <= 0xdfff) { uchar = uchar + 0x2400 + d * 0x400; }
-
- /* output one character as UTF-8 multibyte sequence */
-
- if (uchar < 0x80) {
- *text++ = c;
- }
- else if (uchar < 0x800) {
- *text++ = 0xc0 | uchar >> 6;
- *text++ = 0x80 | (uchar & 0x3f);
- }
- else if (uchar < 0x10000) {
- *text++ = 0xe0 | uchar >> 12;
- *text++ = 0x80 | (uchar >> 6 & 0x3f);
- *text++ = 0x80 | (uchar & 0x3f);
- }
- else if (uchar < 0x200000) {
- *text++ = 0xf0 | uchar >> 18;
- *text++ = 0x80 | (uchar >> 12 & 0x3f);
- *text++ = 0x80 | (uchar >> 6 & 0x3f);
- *text++ = 0x80 | (uchar & 0x3f);
- }
-
- return text;
-}
-
-char SCSUUTF8::processText(SWBuf &text, const SWKey *key, const SWModule *module) {
-/*
- unsigned char *to, *from;
- unsigned long buflen = len * FILTERPAD;
- char active = 0, mode = 0;
- if ((unsigned long)key < 2) // hack, we're en(1)/de(0)ciphering
- return -1;
-
- static unsigned short start[8] = {0x0000,0x0080,0x0100,0x0300,0x2000,0x2080,0x2100,0x3000};
- static unsigned short slide[8] = {0x0080,0x00C0,0x0400,0x0600,0x0900,0x3040,0x30A0,0xFF00};
- static unsigned short win[256] = {
- 0x0000, 0x0080, 0x0100, 0x0180, 0x0200, 0x0280, 0x0300, 0x0380,
- 0x0400, 0x0480, 0x0500, 0x0580, 0x0600, 0x0680, 0x0700, 0x0780,
- 0x0800, 0x0880, 0x0900, 0x0980, 0x0A00, 0x0A80, 0x0B00, 0x0B80,
- 0x0C00, 0x0C80, 0x0D00, 0x0D80, 0x0E00, 0x0E80, 0x0F00, 0x0F80,
- 0x1000, 0x1080, 0x1100, 0x1180, 0x1200, 0x1280, 0x1300, 0x1380,
- 0x1400, 0x1480, 0x1500, 0x1580, 0x1600, 0x1680, 0x1700, 0x1780,
- 0x1800, 0x1880, 0x1900, 0x1980, 0x1A00, 0x1A80, 0x1B00, 0x1B80,
- 0x1C00, 0x1C80, 0x1D00, 0x1D80, 0x1E00, 0x1E80, 0x1F00, 0x1F80,
- 0x2000, 0x2080, 0x2100, 0x2180, 0x2200, 0x2280, 0x2300, 0x2380,
- 0x2400, 0x2480, 0x2500, 0x2580, 0x2600, 0x2680, 0x2700, 0x2780,
- 0x2800, 0x2880, 0x2900, 0x2980, 0x2A00, 0x2A80, 0x2B00, 0x2B80,
- 0x2C00, 0x2C80, 0x2D00, 0x2D80, 0x2E00, 0x2E80, 0x2F00, 0x2F80,
- 0x3000, 0x3080, 0x3100, 0x3180, 0x3200, 0x3280, 0x3300, 0x3800,
- 0xE000, 0xE080, 0xE100, 0xE180, 0xE200, 0xE280, 0xE300, 0xE380,
- 0xE400, 0xE480, 0xE500, 0xE580, 0xE600, 0xE680, 0xE700, 0xE780,
- 0xE800, 0xE880, 0xE900, 0xE980, 0xEA00, 0xEA80, 0xEB00, 0xEB80,
- 0xEC00, 0xEC80, 0xED00, 0xED80, 0xEE00, 0xEE80, 0xEF00, 0xEF80,
- 0xF000, 0xF080, 0xF100, 0xF180, 0xF200, 0xF280, 0xF300, 0xF380,
- 0xF400, 0xF480, 0xF500, 0xF580, 0xF600, 0xF680, 0xF700, 0xF780,
- 0xF800, 0xF880, 0xF900, 0xF980, 0xFA00, 0xFA80, 0xFB00, 0xFB80,
- 0xFC00, 0xFC80, 0xFD00, 0xFD80, 0xFE00, 0xFE80, 0xFF00, 0xFF80,
- 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
- 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
- 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
- 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
- 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
- 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
- 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
- 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
- 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
- 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
- 0x0000, 0x00C0, 0x0250, 0x0370, 0x0530, 0x3040, 0x30A0, 0xFF60
- };
-
- if (!len)
- return 0;
-
- memmove(&text[buflen - len], text, len);
- from = (unsigned char*)&text[buflen - len];
- to = (unsigned char *)text;
-
- // -------------------------------
-
- for (int i = 0; i < len;) {
-
-
- if (i >= len) break;
- c = from[i++];
-
- if (c >= 0x80)
- {
- to = UTF8Output (c - 0x80 + slide[active], to);
- }
- else if (c >= 0x20 && c <= 0x7F)
- {
- to = UTF8Output (c, to);
- }
- else if (c == 0x0 || c == 0x9 || c == 0xA || c == 0xC || c == 0xD)
- {
- to = UTF8Output (c, to);
- }
- else if (c >= 0x1 && c <= 0x8) // SQn
- {
- if (i >= len) break;
- d = from[i++]; // single quote
-
- to = UTF8Output (d < 0x80 ? d + start [c - 0x1] :
- d - 0x80 + slide [c - 0x1], to);
- }
- else if (c >= 0x10 && c <= 0x17) // SCn
- {
- active = c - 0x10; // change window
- }
- else if (c >= 0x18 && c <= 0x1F) // SDn
- {
- active = c - 0x18; // define window
- if (i >= len) break;
- slide [active] = win [from[i++]];
- }
- else if (c == 0xB) // SDX
- {
- if (i >= len) break;
- c = from[i++];
-
- if (i >= len) break;
- d = from[i++];
-
- slide [active = c>>5] = 0x10000 + (((c & 0x1F) << 8 | d) << 7);
- }
- else if (c == 0xE) // SQU
- {
- if (i >= len) break;
- c = from[i++]; // SQU
-
- if (i >= len) break;
- to = UTF8Output (c << 8 | from[i++], to);
- }
- else if (c == 0xF) // SCU
- {
- mode = 1; // change to Unicode mode
-
- while (mode)
- {
- if (i >= len) break;
- c = from[i++];
-
- if (c <= 0xDF || c >= 0xF3)
- {
- if (i >= len) break;
- to = UTF8Output (c << 8 | from[i++], to);
- }
- else if (c == 0xF0) // UQU
- {
- if (i >= len) break;
- c = from[i++];
-
- if (i >= len) break;
- to = UTF8Output (c << 8 | from[i++], to);
- }
- else if (c >= 0xE0 && c <= 0xE7) // UCn
- {
- active = c - 0xE0; mode = 0;
- }
- else if (c >= 0xE8 && c <= 0xEF) // UDn
- {
- if (i >= len) break;
- slide [active=c-0xE8] = win [from[i++]]; mode = 0;
- }
- else if (c == 0xF1) // UDX
- {
- if (i >= len) break;
- c = from[i++];
-
- if (i >= len) break;
- d = from[i++];
-
- slide [active = c>>5] =
- 0x10000 + (((c & 0x1F) << 8 | d) << 7); mode = 0;
- }
- }
- }
-
-
- }
-
- *to++ = 0;
- *to = 0;
-*/
- return 0;
-}
-
-SWORD_NAMESPACE_END
diff --git a/src/modules/filters/swoptfilter.cpp b/src/modules/filters/swoptfilter.cpp
index 6921190..9d6dac4 100644
--- a/src/modules/filters/swoptfilter.cpp
+++ b/src/modules/filters/swoptfilter.cpp
@@ -1,9 +1,24 @@
/******************************************************************************
*
- * swoptfilter - SWFilter descendant and base class for all option filters
+ * swoptfilter - SWFilter descendant and base class for all option filters
+ *
+ *
+ * Copyright 2009 CrossWire Bible Society (http://www.crosswire.org)
+ * CrossWire Bible Society
+ * P. O. Box 2528
+ * Tempe, AZ 85280-2528
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation version 2.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
*/
-
#include <swoptfilter.h>
#include <utilstr.h>
diff --git a/src/modules/filters/teihtmlhref.cpp b/src/modules/filters/teihtmlhref.cpp
index 1d213f4..7e27667 100644
--- a/src/modules/filters/teihtmlhref.cpp
+++ b/src/modules/filters/teihtmlhref.cpp
@@ -1,18 +1,24 @@
/***************************************************************************
- teirtf.cpp - TEI to HTMLHREF filter
- -------------------
- begin : 2006-07-03
- copyright : 2006 by CrossWire Bible Society
- ***************************************************************************/
-
-/***************************************************************************
- * *
- * This program is free software; you can redistribute it and/or modify *
- * it under the terms of the GNU General Public License as published by *
- * the Free Software Foundation; either version 2 of the License, or *
- * (at your option) any later version. *
- * *
- ***************************************************************************/
+ * teirtf.cpp - TEI to HTMLHREF filter
+ * -------------------
+ * begin : 2006-07-03
+ * copyright : 2006 by CrossWire Bible Society
+ *
+ * Copyright 2009 CrossWire Bible Society (http://www.crosswire.org)
+ * CrossWire Bible Society
+ * P. O. Box 2528
+ * Tempe, AZ 85280-2528
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation version 2.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ */
#include <stdlib.h>
#include <ctype.h>
@@ -20,6 +26,7 @@
#include <utilxml.h>
#include <swmodule.h>
#include <url.h>
+#include <iostream>
SWORD_NAMESPACE_START
@@ -137,8 +144,8 @@ bool TEIHTMLHREF::handleToken(SWBuf &buf, const char *token, BasicFilterUserData
!strcmp(tag.getName(), "case") ||
!strcmp(tag.getName(), "gram") ||
!strcmp(tag.getName(), "number") ||
- !strcmp(tag.getName(), "pron") ||
- !strcmp(tag.getName(), "def")) {
+ !strcmp(tag.getName(), "pron") /*||
+ !strcmp(tag.getName(), "def")*/) {
if ((!tag.isEndTag()) && (!tag.isEmpty())) {
buf += "<i>";
}
@@ -172,6 +179,67 @@ bool TEIHTMLHREF::handleToken(SWBuf &buf, const char *token, BasicFilterUserData
!strcmp(tag.getName(), "usg")) {
// do nothing here
}
+ else if (!strcmp(tag.getName(), "ref")) {
+ if (!tag.isEndTag()) {
+ u->suspendTextPassThru = true;
+ SWBuf target;
+ SWBuf work;
+ SWBuf ref;
+
+ int was_osisref = false;
+ if(tag.getAttribute("osisRef"))
+ {
+ target += tag.getAttribute("osisRef");
+ was_osisref=true;
+ }
+ else if(tag.getAttribute("target"))
+ target += tag.getAttribute("target");
+
+ if(target.size())
+ {
+ const char* the_ref = strchr(target, ':');
+
+ if(!the_ref) {
+ // No work
+ ref = target;
+ }
+ else {
+ // Compensate for starting :
+ ref = the_ref + 1;
+
+ int size = target.size() - ref.size() - 1;
+ work.setSize(size);
+ strncpy(work.getRawData(), target, size);
+ }
+
+ if(was_osisref)
+ {
+ buf.appendFormatted("<a href=\"passagestudy.jsp?action=showRef&type=scripRef&value=%s&module=%s\">",
+ (ref) ? URL::encode(ref.c_str()).c_str() : "",
+ (work.size()) ? URL::encode(work.c_str()).c_str() : "");
+ }
+ else
+ {
+ // Dictionary link, or something
+ buf.appendFormatted("<a href=\"sword://%s/%s\">",
+ (work.size()) ? URL::encode(work.c_str()).c_str() : u->version.c_str(),
+ (ref) ? URL::encode(ref.c_str()).c_str() : ""
+ );
+ }
+ }
+ else
+ {
+ //std::cout << "TARGET WASN'T\n";
+ }
+
+ }
+ else {
+ buf += u->lastTextNode.c_str();
+ buf += "</a>";
+
+ u->suspendTextPassThru = false;
+ }
+ }
// <note> tag
else if (!strcmp(tag.getName(), "note")) {
diff --git a/src/modules/filters/teiplain.cpp b/src/modules/filters/teiplain.cpp
index c721d84..90b7c7c 100644
--- a/src/modules/filters/teiplain.cpp
+++ b/src/modules/filters/teiplain.cpp
@@ -1,18 +1,24 @@
/***************************************************************************
- teiplain.cpp - TEI to Plaintext filter
- -------------------
- begin : 2006-07-05
- copyright : 2006 by CrossWire Bible Society
- ***************************************************************************/
-
-/***************************************************************************
- * *
- * This program is free software; you can redistribute it and/or modify *
- * it under the terms of the GNU General Public License as published by *
- * the Free Software Foundation; either version 2 of the License, or *
- * (at your option) any later version. *
- * *
- ***************************************************************************/
+ * teiplain.cpp - TEI to Plaintext filter
+ * -------------------
+ * begin : 2006-07-05
+ * copyright : 2006 by CrossWire Bible Society
+ *
+ * Copyright 2009 CrossWire Bible Society (http://www.crosswire.org)
+ * CrossWire Bible Society
+ * P. O. Box 2528
+ * Tempe, AZ 85280-2528
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation version 2.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ */
#include <stdlib.h>
#include <teiplain.h>
diff --git a/src/modules/filters/teirtf.cpp b/src/modules/filters/teirtf.cpp
index 006f099..8560f5c 100644
--- a/src/modules/filters/teirtf.cpp
+++ b/src/modules/filters/teirtf.cpp
@@ -1,18 +1,24 @@
/***************************************************************************
- teirtf.cpp - TEI to RTF filter
- -------------------
- begin : 2006-07-03
- copyright : 2006 by CrossWire Bible Society
- ***************************************************************************/
-
-/***************************************************************************
- * *
- * This program is free software; you can redistribute it and/or modify *
- * it under the terms of the GNU General Public License as published by *
- * the Free Software Foundation; either version 2 of the License, or *
- * (at your option) any later version. *
- * *
- ***************************************************************************/
+ * teirtf.cpp - TEI to RTF filter
+ * -------------------
+ * begin : 2006-07-03
+ * copyright : 2006 by CrossWire Bible Society
+ *
+ * Copyright 2009 CrossWire Bible Society (http://www.crosswire.org)
+ * CrossWire Bible Society
+ * P. O. Box 2528
+ * Tempe, AZ 85280-2528
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation version 2.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ */
#include <stdlib.h>
#include <ctype.h>
@@ -26,6 +32,7 @@ SWORD_NAMESPACE_START
TEIRTF::MyUserData::MyUserData(const SWModule *module, const SWKey *key) : BasicFilterUserData(module, key) {
BiblicalText = false;
+ inOsisRef = false;
if (module) {
version = module->Name();
BiblicalText = (!strcmp(module->Type(), "Biblical Texts"));
@@ -66,10 +73,10 @@ bool TEIRTF::handleToken(SWBuf &buf, const char *token, BasicFilterUserData *use
}
// <hi>
- else if (!strcmp(tag.getName(), "hi")) {
+ else if (!strcmp(tag.getName(), "hi") || !strcmp(tag.getName(), "emph")) {
SWBuf rend = tag.getAttribute("rend");
if ((!tag.isEndTag()) && (!tag.isEmpty())) {
- if (rend == "ital")
+ if (rend == "ital" || rend == "italic")
buf += "{\\i1 ";
else if (rend == "bold")
buf += "{\\b1 ";
@@ -169,6 +176,25 @@ bool TEIRTF::handleToken(SWBuf &buf, const char *token, BasicFilterUserData *use
}
}
+ // <lb/> tag
+ else if (!strcmp(tag.getName(), "lb")) {
+ buf += "{\\par}";
+ userData->supressAdjacentWhitespace = true;
+ }
+
+ // <ref> tag
+ else if (!strcmp(tag.getName(), "ref")) {
+ if (!tag.isEndTag() && tag.getAttribute("osisRef")) {
+ buf += "{<a href=\"\">";
+ u->inOsisRef = true;
+ }
+ else if (tag.isEndTag() && u->inOsisRef) {
+ buf += "</a>}";
+ u->inOsisRef = false;
+ }
+ }
+
+
else {
return false; // we still didn't handle token
}
diff --git a/src/modules/filters/thmlfootnotes.cpp b/src/modules/filters/thmlfootnotes.cpp
index 23c43b4..e75311a 100644
--- a/src/modules/filters/thmlfootnotes.cpp
+++ b/src/modules/filters/thmlfootnotes.cpp
@@ -2,9 +2,26 @@
*
* thmlfootnotes - SWFilter descendant to hide or show footnotes
* in a ThML module.
+ *
+ *
+ * Copyright 2009 CrossWire Bible Society (http://www.crosswire.org)
+ * CrossWire Bible Society
+ * P. O. Box 2528
+ * Tempe, AZ 85280-2528
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation version 2.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
*/
+
#include <stdlib.h>
#include <stdio.h>
#include <thmlfootnotes.h>
@@ -39,7 +56,13 @@ char ThMLFootnotes::processText(SWBuf &text, const SWKey *key, const SWModule *m
SWBuf refs = "";
int footnoteNum = 1;
char buf[254];
- VerseKey parser = key->getText();
+ SWKey *p = (module) ? module->CreateKey() : (key) ? key->clone() : new VerseKey();
+ VerseKey *parser = SWDYNAMIC_CAST(VerseKey, p);
+ if (!parser) {
+ delete p;
+ parser = new VerseKey();
+ }
+ *parser = key->getText();
SWBuf orig = text;
const char *from = orig.c_str();
@@ -78,7 +101,7 @@ char ThMLFootnotes::processText(SWBuf &text, const SWKey *key, const SWModule *m
startTag.setAttribute("swordFootnote", buf);
if ((startTag.getAttribute("type")) && (!strcmp(startTag.getAttribute("type"), "crossReference"))) {
if (!refs.length())
- refs = parser.ParseVerseList(tagText.c_str(), parser, true).getRangeText();
+ refs = parser->ParseVerseList(tagText.c_str(), *parser, true).getRangeText();
module->getEntryAttributes()["Footnote"][buf]["refList"] = refs.c_str();
}
}
@@ -118,6 +141,7 @@ char ThMLFootnotes::processText(SWBuf &text, const SWKey *key, const SWModule *m
}
else tagText += *from;
}
+ delete parser;
return 0;
}
diff --git a/src/modules/filters/thmlgbf.cpp b/src/modules/filters/thmlgbf.cpp
index f8703b1..e2e8e1c 100644
--- a/src/modules/filters/thmlgbf.cpp
+++ b/src/modules/filters/thmlgbf.cpp
@@ -1,18 +1,25 @@
/***************************************************************************
- thmlgbf.cpp - ThML to GBF filter
- -------------------
- begin : 1999-10-28
- copyright : 2001 by CrossWire Bible Society
- ***************************************************************************/
-
-/***************************************************************************
- * *
- * This program is free software; you can redistribute it and/or modify *
- * it under the terms of the GNU General Public License as published by *
- * the Free Software Foundation; either version 2 of the License, or *
- * (at your option) any later version. *
- * *
- ***************************************************************************/
+ * thmlgbf.cpp - ThML to GBF filter
+ * -------------------
+ * begin : 1999-10-28
+ * copyright : 2001 by CrossWire Bible Society
+ *
+ *
+ * Copyright 2009 CrossWire Bible Society (http://www.crosswire.org)
+ * CrossWire Bible Society
+ * P. O. Box 2528
+ * Tempe, AZ 85280-2528
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation version 2.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ */
#include <stdlib.h>
#include <thmlgbf.h>
diff --git a/src/modules/filters/thmlheadings.cpp b/src/modules/filters/thmlheadings.cpp
index 4d6134f..e2b7c97 100644
--- a/src/modules/filters/thmlheadings.cpp
+++ b/src/modules/filters/thmlheadings.cpp
@@ -2,9 +2,24 @@
*
* thmlheadings - SWFilter descendant to hide or show headings
* in a ThML module.
+ *
+ *
+ * Copyright 2009 CrossWire Bible Society (http://www.crosswire.org)
+ * CrossWire Bible Society
+ * P. O. Box 2528
+ * Tempe, AZ 85280-2528
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation version 2.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
*/
-
#include <stdlib.h>
#include <stdio.h>
#include <thmlheadings.h>
diff --git a/src/modules/filters/thmlhtml.cpp b/src/modules/filters/thmlhtml.cpp
index efb09cd..4c66b87 100644
--- a/src/modules/filters/thmlhtml.cpp
+++ b/src/modules/filters/thmlhtml.cpp
@@ -1,18 +1,25 @@
/***************************************************************************
- thmlhtml.cpp - ThML to HTML filter
- -------------------
- begin : 1999-10-27
- copyright : 2001 by CrossWire Bible Society
- ***************************************************************************/
-
-/***************************************************************************
- * *
- * This program is free software; you can redistribute it and/or modify *
- * it under the terms of the GNU General Public License as published by *
- * the Free Software Foundation; either version 2 of the License, or *
- * (at your option) any later version. *
- * *
- ***************************************************************************/
+ * thmlhtml.cpp - ThML to HTML filter
+ * -------------------
+ * begin : 1999-10-27
+ * copyright : 2001 by CrossWire Bible Society
+ *
+ *
+ * Copyright 2009 CrossWire Bible Society (http://www.crosswire.org)
+ * CrossWire Bible Society
+ * P. O. Box 2528
+ * Tempe, AZ 85280-2528
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation version 2.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ */
#include <stdlib.h>
#include <thmlhtml.h>
diff --git a/src/modules/filters/thmlhtmlhref.cpp b/src/modules/filters/thmlhtmlhref.cpp
index 0596f75..83f5a80 100644
--- a/src/modules/filters/thmlhtmlhref.cpp
+++ b/src/modules/filters/thmlhtmlhref.cpp
@@ -1,18 +1,26 @@
/***************************************************************************
- thmlhtmlhref.cpp - ThML to HTML filter with hrefs
- -------------------
- begin : 2001-09-03
- copyright : 2001 by CrossWire Bible Society
- ***************************************************************************/
+ * thmlhtmlhref.cpp - ThML to HTML filter with hrefs
+ * -------------------
+ * begin : 2001-09-03
+ * copyright : 2001 by CrossWire Bible Society
+ *
+ *
+ * Copyright 2009 CrossWire Bible Society (http://www.crosswire.org)
+ * CrossWire Bible Society
+ * P. O. Box 2528
+ * Tempe, AZ 85280-2528
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation version 2.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ */
-/***************************************************************************
- * *
- * This program is free software; you can redistribute it and/or modify *
- * it under the terms of the GNU General Public License as published by *
- * the Free Software Foundation; either version 2 of the License, or *
- * (at your option) any later version. *
- * *
- ***************************************************************************/
#include <stdlib.h>
#include <thmlhtmlhref.h>
#include <swmodule.h>
@@ -320,8 +328,8 @@ bool ThMLHTMLHREF::handleToken(SWBuf &buf, const char *token, BasicFilterUserDat
URL::encode(u->version.c_str()).c_str());
for (c = token; *c; c++) {
- if ((*c == '/') && (*(c+1) == '\0'))
- continue;
+ if ((*c == '/') && (*(c+1) == '\0'))
+ continue;
if (c == src) {
for (;((*c) && (*c != '"')); c++)
buf += *c;
diff --git a/src/modules/filters/thmllemma.cpp b/src/modules/filters/thmllemma.cpp
index 3e5761d..53eec58 100644
--- a/src/modules/filters/thmllemma.cpp
+++ b/src/modules/filters/thmllemma.cpp
@@ -2,9 +2,24 @@
*
* thmllemma - SWFilter descendant to hide or show lemmas
* in a ThML module.
+ *
+ *
+ * Copyright 2009 CrossWire Bible Society (http://www.crosswire.org)
+ * CrossWire Bible Society
+ * P. O. Box 2528
+ * Tempe, AZ 85280-2528
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation version 2.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
*/
-
#include <stdlib.h>
#include <thmllemma.h>
diff --git a/src/modules/filters/thmlmorph.cpp b/src/modules/filters/thmlmorph.cpp
index 0fbef56..d3cf597 100644
--- a/src/modules/filters/thmlmorph.cpp
+++ b/src/modules/filters/thmlmorph.cpp
@@ -2,9 +2,24 @@
*
* thmlmorph - SWFilter descendant to hide or show morph tags
* in a ThML module.
+ *
+ *
+ * Copyright 2009 CrossWire Bible Society (http://www.crosswire.org)
+ * CrossWire Bible Society
+ * P. O. Box 2528
+ * Tempe, AZ 85280-2528
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation version 2.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
*/
-
#include <stdlib.h>
#include <thmlmorph.h>
diff --git a/src/modules/filters/thmlosis.cpp b/src/modules/filters/thmlosis.cpp
index 939be82..25fdf23 100644
--- a/src/modules/filters/thmlosis.cpp
+++ b/src/modules/filters/thmlosis.cpp
@@ -2,9 +2,24 @@
*
* thmlstrongs - SWFilter descendant to hide or show strongs number
* in a ThML module.
+ *
+ *
+ * Copyright 2009 CrossWire Bible Society (http://www.crosswire.org)
+ * CrossWire Bible Society
+ * P. O. Box 2528
+ * Tempe, AZ 85280-2528
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation version 2.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
*/
-
#include <stdlib.h>
#include <stdio.h>
#include <stdarg.h>
@@ -326,7 +341,7 @@ char ThMLOSIS::processText(SWBuf &text, const SWKey *key, const SWModule *module
}
// Footnote
- if (!strcmp(token, "note")) {
+ if (!strncmp(token, "note", 4)) {
//pushString(&to, "<note>");
text.append("<note>");
newText = true;
@@ -534,23 +549,23 @@ char ThMLOSIS::processText(SWBuf &text, const SWKey *key, const SWModule *module
text = ref + text;
if (vkey->Verse()) {
- VerseKey tmp;
- tmp = *vkey;
- tmp.AutoNormalize(0);
- tmp.Headings(1);
-
+ VerseKey *tmp = (VerseKey *)vkey->clone();
+ *tmp = *vkey;
+ tmp->AutoNormalize(0);
+ tmp->Headings(1);
+
text += "</verse>";
-
- tmp = MAXVERSE;
- if (*vkey == tmp) {
- tmp.Verse(0);
+
+ *tmp = MAXVERSE;
+ if (*vkey == *tmp) {
+ tmp->Verse(0);
// sprintf(ref, "\t</div>");
// pushString(&to, ref);
- tmp = MAXCHAPTER;
- tmp = MAXVERSE;
- if (*vkey == tmp) {
- tmp.Chapter(0);
- tmp.Verse(0);
+ *tmp = MAXCHAPTER;
+ *tmp = MAXVERSE;
+ if (*vkey == *tmp) {
+ tmp->Chapter(0);
+ tmp->Verse(0);
// sprintf(ref, "\t</div>");
// pushString(&to, ref);
/*
@@ -561,6 +576,7 @@ char ThMLOSIS::processText(SWBuf &text, const SWKey *key, const SWModule *module
*/
}
}
+ delete tmp;
}
// else if (vkey->Chapter()) {
// sprintf(ref, "\t<div type=\"chapter\" osisID=\"%s\">", vkey->getOSISRef());
diff --git a/src/modules/filters/thmlplain.cpp b/src/modules/filters/thmlplain.cpp
index 8f8379a..8c9358f 100644
--- a/src/modules/filters/thmlplain.cpp
+++ b/src/modules/filters/thmlplain.cpp
@@ -2,9 +2,24 @@
*
* thmlplain - SWFilter descendant to strip out all ThML tags or convert to
* ASCII rendered symbols.
+ *
+ *
+ * Copyright 2009 CrossWire Bible Society (http://www.crosswire.org)
+ * CrossWire Bible Society
+ * P. O. Box 2528
+ * Tempe, AZ 85280-2528
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation version 2.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
*/
-
#include <stdlib.h>
#include <thmlplain.h>
#include <swbuf.h>
@@ -55,104 +70,104 @@ char ThMLPlain::processText(SWBuf &text, const SWKey *key, const SWModule *modul
else if (!strncmp("amp", token, 3)) text += '&';
else if (!strncmp("lt", token, 2)) text += '<';
else if (!strncmp("gt", token, 2)) text += '>';
- else if (!strncmp("brvbar", token, 6)) text += '¦';
- else if (!strncmp("sect", token, 4)) text += '§';
- else if (!strncmp("copy", token, 4)) text += '©';
- else if (!strncmp("laquo", token, 5)) text += '«';
- else if (!strncmp("reg", token, 3)) text += '®';
- else if (!strncmp("acute", token, 5)) text += '´';
- else if (!strncmp("para", token, 4)) text += '¶';
- else if (!strncmp("raquo", token, 5)) text += '»';
+ else if (!strncmp("brvbar", token, 6)) text += "¦";
+ else if (!strncmp("sect", token, 4)) text += "§";
+ else if (!strncmp("copy", token, 4)) text += "©";
+ else if (!strncmp("laquo", token, 5)) text += "«";
+ else if (!strncmp("reg", token, 3)) text += "®";
+ else if (!strncmp("acute", token, 5)) text += "´";
+ else if (!strncmp("para", token, 4)) text += "¶";
+ else if (!strncmp("raquo", token, 5)) text += "»";
- else if (!strncmp("Aacute", token, 6)) text += 'Á';
- else if (!strncmp("Agrave", token, 6)) text += 'À';
- else if (!strncmp("Acirc", token, 5)) text += 'Â';
- else if (!strncmp("Auml", token, 4)) text += 'Ä';
- else if (!strncmp("Atilde", token, 6)) text += 'Ã';
- else if (!strncmp("Aring", token, 5)) text += 'Å';
- else if (!strncmp("aacute", token, 6)) text += 'á';
- else if (!strncmp("agrave", token, 6)) text += 'à';
- else if (!strncmp("acirc", token, 5)) text += 'â';
- else if (!strncmp("auml", token, 4)) text += 'ä';
- else if (!strncmp("atilde", token, 6)) text += 'ã';
- else if (!strncmp("aring", token, 5)) text += 'å';
- else if (!strncmp("Eacute", token, 6)) text += 'É';
- else if (!strncmp("Egrave", token, 6)) text += 'È';
- else if (!strncmp("Ecirc", token, 5)) text += 'Ê';
- else if (!strncmp("Euml", token, 4)) text += 'Ë';
- else if (!strncmp("eacute", token, 6)) text += 'é';
- else if (!strncmp("egrave", token, 6)) text += 'è';
- else if (!strncmp("ecirc", token, 5)) text += 'ê';
- else if (!strncmp("euml", token, 4)) text += 'ë';
- else if (!strncmp("Iacute", token, 6)) text += 'Í';
- else if (!strncmp("Igrave", token, 6)) text += 'Ì';
- else if (!strncmp("Icirc", token, 5)) text += 'Î';
- else if (!strncmp("Iuml", token, 4)) text += 'Ï';
- else if (!strncmp("iacute", token, 6)) text += 'í';
- else if (!strncmp("igrave", token, 6)) text += 'ì';
- else if (!strncmp("icirc", token, 5)) text += 'î';
- else if (!strncmp("iuml", token, 4)) text += 'ï';
- else if (!strncmp("Oacute", token, 6)) text += 'Ó';
- else if (!strncmp("Ograve", token, 6)) text += 'Ò';
- else if (!strncmp("Ocirc", token, 5)) text += 'Ô';
- else if (!strncmp("Ouml", token, 4)) text += 'Ö';
- else if (!strncmp("Otilde", token, 6)) text += 'Õ';
- else if (!strncmp("oacute", token, 6)) text += 'ó';
- else if (!strncmp("ograve", token, 6)) text += 'ò';
- else if (!strncmp("ocirc", token, 5)) text += 'ô';
- else if (!strncmp("ouml", token, 4)) text += 'ö';
- else if (!strncmp("otilde", token, 6)) text += 'õ';
- else if (!strncmp("Uacute", token, 6)) text += 'Ú';
- else if (!strncmp("Ugrave", token, 6)) text += 'Ù';
- else if (!strncmp("Ucirc", token, 5)) text += 'Û';
- else if (!strncmp("Uuml", token, 4)) text += 'Ü';
- else if (!strncmp("uacute", token, 6)) text += 'ú';
- else if (!strncmp("ugrave", token, 6)) text += 'ù';
- else if (!strncmp("ucirc", token, 5)) text += 'û';
- else if (!strncmp("uuml", token, 4)) text += 'ü';
- else if (!strncmp("Yacute", token, 6)) text += 'Ý';
- else if (!strncmp("yacute", token, 6)) text += 'ý';
- else if (!strncmp("yuml", token, 4)) text += 'ÿ';
+ else if (!strncmp("Aacute", token, 6)) text += "Ã";
+ else if (!strncmp("Agrave", token, 6)) text += "À";
+ else if (!strncmp("Acirc", token, 5)) text += "Â";
+ else if (!strncmp("Auml", token, 4)) text += "Ä";
+ else if (!strncmp("Atilde", token, 6)) text += "Ã";
+ else if (!strncmp("Aring", token, 5)) text += "Ã…";
+ else if (!strncmp("aacute", token, 6)) text += "á";
+ else if (!strncmp("agrave", token, 6)) text += "à";
+ else if (!strncmp("acirc", token, 5)) text += "â";
+ else if (!strncmp("auml", token, 4)) text += "ä";
+ else if (!strncmp("atilde", token, 6)) text += "ã";
+ else if (!strncmp("aring", token, 5)) text += "Ã¥";
+ else if (!strncmp("Eacute", token, 6)) text += "É";
+ else if (!strncmp("Egrave", token, 6)) text += "È";
+ else if (!strncmp("Ecirc", token, 5)) text += "Ê";
+ else if (!strncmp("Euml", token, 4)) text += "Ë";
+ else if (!strncmp("eacute", token, 6)) text += "é";
+ else if (!strncmp("egrave", token, 6)) text += "è";
+ else if (!strncmp("ecirc", token, 5)) text += "ê";
+ else if (!strncmp("euml", token, 4)) text += "ë";
+ else if (!strncmp("Iacute", token, 6)) text += "Ã";
+ else if (!strncmp("Igrave", token, 6)) text += "Ì";
+ else if (!strncmp("Icirc", token, 5)) text += "ÃŽ";
+ else if (!strncmp("Iuml", token, 4)) text += "Ã";
+ else if (!strncmp("iacute", token, 6)) text += "í";
+ else if (!strncmp("igrave", token, 6)) text += "ì";
+ else if (!strncmp("icirc", token, 5)) text += "î";
+ else if (!strncmp("iuml", token, 4)) text += "ï";
+ else if (!strncmp("Oacute", token, 6)) text += "Ó";
+ else if (!strncmp("Ograve", token, 6)) text += "Ã’";
+ else if (!strncmp("Ocirc", token, 5)) text += "Ô";
+ else if (!strncmp("Ouml", token, 4)) text += "Ö";
+ else if (!strncmp("Otilde", token, 6)) text += "Õ";
+ else if (!strncmp("oacute", token, 6)) text += "ó";
+ else if (!strncmp("ograve", token, 6)) text += "ò";
+ else if (!strncmp("ocirc", token, 5)) text += "ô";
+ else if (!strncmp("ouml", token, 4)) text += "ö";
+ else if (!strncmp("otilde", token, 6)) text += "õ";
+ else if (!strncmp("Uacute", token, 6)) text += "Ú";
+ else if (!strncmp("Ugrave", token, 6)) text += "Ù";
+ else if (!strncmp("Ucirc", token, 5)) text += "Û";
+ else if (!strncmp("Uuml", token, 4)) text += "Ü";
+ else if (!strncmp("uacute", token, 6)) text += "ú";
+ else if (!strncmp("ugrave", token, 6)) text += "ù";
+ else if (!strncmp("ucirc", token, 5)) text += "û";
+ else if (!strncmp("uuml", token, 4)) text += "ü";
+ else if (!strncmp("Yacute", token, 6)) text += "Ã";
+ else if (!strncmp("yacute", token, 6)) text += "ý";
+ else if (!strncmp("yuml", token, 4)) text += "ÿ";
- else if (!strncmp("deg", token, 3)) text += '°';
- else if (!strncmp("plusmn", token, 6)) text += '±';
- else if (!strncmp("sup2", token, 4)) text += '²';
- else if (!strncmp("sup3", token, 4)) text += '³';
- else if (!strncmp("sup1", token, 4)) text += '¹';
- else if (!strncmp("nbsp", token, 4)) text += 'º';
- else if (!strncmp("pound", token, 5)) text += '£';
- else if (!strncmp("cent", token, 4)) text += '¢';
- else if (!strncmp("frac14", token, 6)) text += '¼';
- else if (!strncmp("frac12", token, 6)) text += '½';
- else if (!strncmp("frac34", token, 6)) text += '¾';
- else if (!strncmp("iquest", token, 6)) text += '¿';
- else if (!strncmp("iexcl", token, 5)) text += '¡';
- else if (!strncmp("ETH", token, 3)) text += 'Ð';
- else if (!strncmp("eth", token, 3)) text += 'ð';
- else if (!strncmp("THORN", token, 5)) text += 'Þ';
- else if (!strncmp("thorn", token, 5)) text += 'þ';
- else if (!strncmp("AElig", token, 5)) text += 'Æ';
- else if (!strncmp("aelig", token, 5)) text += 'æ';
- else if (!strncmp("Oslash", token, 6)) text += 'Ø';
- else if (!strncmp("curren", token, 6)) text += '¤';
- else if (!strncmp("Ccedil", token, 6)) text += 'Ç';
- else if (!strncmp("ccedil", token, 6)) text += 'ç';
- else if (!strncmp("szlig", token, 5)) text += 'ß';
- else if (!strncmp("Ntilde", token, 6)) text += 'Ñ';
- else if (!strncmp("ntilde", token, 6)) text += 'ñ';
- else if (!strncmp("yen", token, 3)) text += '¥';
- else if (!strncmp("not", token, 3)) text += '¬';
- else if (!strncmp("ordf", token, 4)) text += 'ª';
- else if (!strncmp("uml", token, 3)) text += '¨';
- else if (!strncmp("shy", token, 3)) text += '­';
- else if (!strncmp("macr", token, 4)) text += '¯';
- else if (!strncmp("micro", token, 5)) text += "µ";
- else if (!strncmp("middot", token, 6)) text +="·";
- else if (!strncmp("cedil", token, 5)) text += "¸";
- else if (!strncmp("ordm", token, 4)) text += "º";
- else if (!strncmp("times", token, 5)) text += "×";
- else if (!strncmp("divide", token, 6)) text +="÷";
- else if (!strncmp("oslash", token, 6)) text +="ø";
+ else if (!strncmp("deg", token, 3)) text += "°";
+ else if (!strncmp("plusmn", token, 6)) text += "±";
+ else if (!strncmp("sup2", token, 4)) text += "²";
+ else if (!strncmp("sup3", token, 4)) text += "³";
+ else if (!strncmp("sup1", token, 4)) text += "¹";
+ else if (!strncmp("nbsp", token, 4)) text += "º";
+ else if (!strncmp("pound", token, 5)) text += "£";
+ else if (!strncmp("cent", token, 4)) text += "¢";
+ else if (!strncmp("frac14", token, 6)) text += "¼";
+ else if (!strncmp("frac12", token, 6)) text += "½";
+ else if (!strncmp("frac34", token, 6)) text += "¾";
+ else if (!strncmp("iquest", token, 6)) text += "¿";
+ else if (!strncmp("iexcl", token, 5)) text += "¡";
+ else if (!strncmp("ETH", token, 3)) text += "Ã";
+ else if (!strncmp("eth", token, 3)) text += "ð";
+ else if (!strncmp("THORN", token, 5)) text += "Þ";
+ else if (!strncmp("thorn", token, 5)) text += "þ";
+ else if (!strncmp("AElig", token, 5)) text += "Æ";
+ else if (!strncmp("aelig", token, 5)) text += "æ";
+ else if (!strncmp("Oslash", token, 6)) text += "Ø";
+ else if (!strncmp("curren", token, 6)) text += "¤";
+ else if (!strncmp("Ccedil", token, 6)) text += "Ç";
+ else if (!strncmp("ccedil", token, 6)) text += "ç";
+ else if (!strncmp("szlig", token, 5)) text += "ß";
+ else if (!strncmp("Ntilde", token, 6)) text += "Ñ";
+ else if (!strncmp("ntilde", token, 6)) text += "ñ";
+ else if (!strncmp("yen", token, 3)) text += "Â¥";
+ else if (!strncmp("not", token, 3)) text += "¬";
+ else if (!strncmp("ordf", token, 4)) text += "ª";
+ else if (!strncmp("uml", token, 3)) text += "¨";
+ else if (!strncmp("shy", token, 3)) text += "­";
+ else if (!strncmp("macr", token, 4)) text += "¯";
+ else if (!strncmp("micro", token, 5)) text += "µ";
+ else if (!strncmp("middot", token, 6)) text += "·";
+ else if (!strncmp("cedil", token, 5)) text += "¸";
+ else if (!strncmp("ordm", token, 4)) text += "º";
+ else if (!strncmp("times", token, 5)) text += "×";
+ else if (!strncmp("divide", token, 6)) text += "÷";
+ else if (!strncmp("oslash", token, 6)) text += "ø";
continue;
}
@@ -177,14 +192,14 @@ char ThMLPlain::processText(SWBuf &text, const SWKey *key, const SWModule *modul
}
if (!strncmp("note", token, 4)) {
text += ' ';
- text += '(';
+ text += '[';
}
else if (!strncmp("br", token, 2))
text += '\n';
else if (!strncmp("/p", token, 2))
text += '\n';
else if (!strncmp("/note", token, 5)) {
- text += ')';
+ text += ']';
text += ' ';
}
continue;
diff --git a/src/modules/filters/thmlrtf.cpp b/src/modules/filters/thmlrtf.cpp
index 23e4a90..fdb41df 100644
--- a/src/modules/filters/thmlrtf.cpp
+++ b/src/modules/filters/thmlrtf.cpp
@@ -1,18 +1,25 @@
/***************************************************************************
- thmlrtf.cpp - ThML to RTF filter
- -------------------
- begin : 1999-10-27
- copyright : 2001 by CrossWire Bible Society
- ***************************************************************************/
-
-/***************************************************************************
- * *
- * This program is free software; you can redistribute it and/or modify *
- * it under the terms of the GNU General Public License as published by *
- * the Free Software Foundation; either version 2 of the License, or *
- * (at your option) any later version. *
- * *
- ***************************************************************************/
+ * thmlrtf.cpp - ThML to RTF filter
+ * -------------------
+ * begin : 1999-10-27
+ * copyright : 2001 by CrossWire Bible Society
+ *
+ *
+ * Copyright 2009 CrossWire Bible Society (http://www.crosswire.org)
+ * CrossWire Bible Society
+ * P. O. Box 2528
+ * Tempe, AZ 85280-2528
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation version 2.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ */
#include <stdlib.h>
#include <thmlrtf.h>
diff --git a/src/modules/filters/thmlscripref.cpp b/src/modules/filters/thmlscripref.cpp
index df2b3d2..e46d679 100644
--- a/src/modules/filters/thmlscripref.cpp
+++ b/src/modules/filters/thmlscripref.cpp
@@ -2,9 +2,24 @@
*
* thmlscripref - SWFilter descendant to hide or show scripture
* referebces in a ThML module.
+ *
+ *
+ * Copyright 2009 CrossWire Bible Society (http://www.crosswire.org)
+ * CrossWire Bible Society
+ * P. O. Box 2528
+ * Tempe, AZ 85280-2528
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation version 2.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
*/
-
#include <stdlib.h>
#include <stdio.h>
#include <thmlscripref.h>
@@ -38,7 +53,13 @@ char ThMLScripref::processText(SWBuf &text, const SWKey *key, const SWModule *mo
SWBuf refs = "";
int footnoteNum = 1;
char buf[254];
- VerseKey parser = key->getText();
+ SWKey *p = (module) ? module->CreateKey() : (key) ? key->clone() : new VerseKey();
+ VerseKey *parser = SWDYNAMIC_CAST(VerseKey, p);
+ if (!parser) {
+ delete p;
+ parser = new VerseKey();
+ }
+ *parser = key->getText();
SWBuf orig = text;
const char *from = orig.c_str();
@@ -77,8 +98,8 @@ char ThMLScripref::processText(SWBuf &text, const SWKey *key, const SWModule *mo
startTag.setAttribute("swordFootnote", buf);
SWBuf passage = startTag.getAttribute("passage");
if (passage.length())
- refs = parser.ParseVerseList(passage.c_str(), parser, true).getRangeText();
- else refs = parser.ParseVerseList(tagText.c_str(), parser, true).getRangeText();
+ refs = parser->ParseVerseList(passage.c_str(), *parser, true).getRangeText();
+ else refs = parser->ParseVerseList(tagText.c_str(), *parser, true).getRangeText();
module->getEntryAttributes()["Footnote"][buf]["refList"] = refs.c_str();
}
hide = false;
@@ -117,6 +138,7 @@ char ThMLScripref::processText(SWBuf &text, const SWKey *key, const SWModule *mo
}
else tagText += *from;
}
+ delete parser;
return 0;
}
diff --git a/src/modules/filters/thmlstrongs.cpp b/src/modules/filters/thmlstrongs.cpp
index c1ab08c..457e28b 100644
--- a/src/modules/filters/thmlstrongs.cpp
+++ b/src/modules/filters/thmlstrongs.cpp
@@ -2,9 +2,24 @@
*
* thmlstrongs - SWFilter descendant to hide or show strongs number
* in a ThML module.
+ *
+ *
+ * Copyright 2009 CrossWire Bible Society (http://www.crosswire.org)
+ * CrossWire Bible Society
+ * P. O. Box 2528
+ * Tempe, AZ 85280-2528
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation version 2.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
*/
-
#include <stdlib.h>
#include <stdio.h>
#include <thmlstrongs.h>
diff --git a/src/modules/filters/thmlvariants.cpp b/src/modules/filters/thmlvariants.cpp
index 49f9b65..4f28dbe 100644
--- a/src/modules/filters/thmlvariants.cpp
+++ b/src/modules/filters/thmlvariants.cpp
@@ -2,9 +2,24 @@
*
* thmlvariants - SWFilter descendant to hide or show textual variants
* in a ThML module.
+ *
+ *
+ * Copyright 2009 CrossWire Bible Society (http://www.crosswire.org)
+ * CrossWire Bible Society
+ * P. O. Box 2528
+ * Tempe, AZ 85280-2528
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation version 2.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
*/
-
#include <stdlib.h>
#include <thmlvariants.h>
#include <utilstr.h>
diff --git a/src/modules/filters/thmlwebif.cpp b/src/modules/filters/thmlwebif.cpp
index 7428754..0192703 100644
--- a/src/modules/filters/thmlwebif.cpp
+++ b/src/modules/filters/thmlwebif.cpp
@@ -1,18 +1,25 @@
/***************************************************************************
- ThMLWEBIF.cpp - ThML to HTML filter with hrefs
- -------------------
- begin : 2001-09-03
- copyright : 2001 by CrossWire Bible Society
- ***************************************************************************/
-
-/***************************************************************************
- * *
- * This program is free software; you can redistribute it and/or modify *
- * it under the terms of the GNU General Public License as published by *
- * the Free Software Foundation; either version 2 of the License, or *
- * (at your option) any later version. *
- * *
- ***************************************************************************/
+ * ThMLWEBIF.cpp - ThML to HTML filter with hrefs
+ * -------------------
+ * begin : 2001-09-03
+ * copyright : 2001 by CrossWire Bible Society
+ *
+ *
+ * Copyright 2009 CrossWire Bible Society (http://www.crosswire.org)
+ * CrossWire Bible Society
+ * P. O. Box 2528
+ * Tempe, AZ 85280-2528
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation version 2.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ */
#include <stdlib.h>
#include <thmlwebif.h>
diff --git a/src/modules/filters/thmlwordjs.cpp b/src/modules/filters/thmlwordjs.cpp
index ad8eef0..12fbeb1 100644
--- a/src/modules/filters/thmlwordjs.cpp
+++ b/src/modules/filters/thmlwordjs.cpp
@@ -2,9 +2,24 @@
*
* thmlstrongs - SWFilter descendant to hide or show strongs number
* in a ThML module.
+ *
+ *
+ * Copyright 2009 CrossWire Bible Society (http://www.crosswire.org)
+ * CrossWire Bible Society
+ * P. O. Box 2528
+ * Tempe, AZ 85280-2528
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation version 2.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
*/
-
#include <stdlib.h>
#include <stdio.h>
#include <thmlwordjs.h>
diff --git a/src/modules/filters/unicodertf.cpp b/src/modules/filters/unicodertf.cpp
index 8c2a1f6..768aecc 100644
--- a/src/modules/filters/unicodertf.cpp
+++ b/src/modules/filters/unicodertf.cpp
@@ -2,9 +2,24 @@
*
* unicodertf - SWFilter descendant to convert a double byte unicode file
* to RTF tags
+ *
+ *
+ * Copyright 2009 CrossWire Bible Society (http://www.crosswire.org)
+ * CrossWire Bible Society
+ * P. O. Box 2528
+ * Tempe, AZ 85280-2528
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation version 2.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
*/
-
#include <stdlib.h>
#include <stdio.h>
#include <unicodertf.h>
diff --git a/src/modules/filters/utf16utf8.cpp b/src/modules/filters/utf16utf8.cpp
index ae0845f..a488e18 100644
--- a/src/modules/filters/utf16utf8.cpp
+++ b/src/modules/filters/utf16utf8.cpp
@@ -2,8 +2,25 @@
*
* UTF16UTF8 - SWFilter descendant to convert UTF-16 to UTF-8
*
+ *
+ *
+ * Copyright 2009 CrossWire Bible Society (http://www.crosswire.org)
+ * CrossWire Bible Society
+ * P. O. Box 2528
+ * Tempe, AZ 85280-2528
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation version 2.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
*/
+
#include <stdlib.h>
#include <stdio.h>
diff --git a/src/modules/filters/utf8arabicpoints.cpp b/src/modules/filters/utf8arabicpoints.cpp
new file mode 100644
index 0000000..bd3169b
--- /dev/null
+++ b/src/modules/filters/utf8arabicpoints.cpp
@@ -0,0 +1,61 @@
+/******************************************************************************
+ *
+ * UTF8ArabicPoints - SWFilter descendant to remove UTF-8 Arabic vowel points
+ *
+ * $Id: utf8arabicpoints.h 1688 2008-11-30 04:42:26Z refdoc $
+ *
+ * Copyright 2009 CrossWire Bible Society (http://www.crosswire.org)
+ * CrossWire Bible Society
+ * P. O. Box 2528
+ * Tempe, AZ 85280-2528
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation version 2.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ */
+
+
+#include <stdlib.h>
+#include <stdio.h>
+#include <utf8arabicpoints.h>
+
+SWORD_NAMESPACE_START
+
+const char oName[] = "Arabic Vowel Points";
+const char oTip[] = "Toggles Arabic Vowel Points";
+
+const SWBuf choices[3] = {"On", "Off", ""};
+const StringList oValues(&choices[0], &choices[2]);
+
+UTF8ArabicPoints::UTF8ArabicPoints() : SWOptionFilter(oName, oTip, &oValues) {
+ setOptionValue("On");
+}
+
+UTF8ArabicPoints::~UTF8ArabicPoints(){};
+
+
+char UTF8ArabicPoints::processText(SWBuf &text, const SWKey *key, const SWModule *module) {
+ if (!option) {
+ //The UTF-8 range 0xFC 0xE5 to 0xFC 0x63 consist of Arabic vowel marks so block those out.
+ // Also ranges 0xFE70 til OxFE7F and 0x064b-0x0655
+ SWBuf orig = text;
+ const unsigned char* from = (unsigned char*)orig.c_str();
+ for (text = ""; *from; from++) {
+ if (((*from == 0xFC) && (*(from + 1) >= 0xE5 && *(from + 1) <= 0x63)) || ((*from == 0xFE) && (*(from + 1) >= 0x70 && *(from + 1) <= 0x7F)) || ((*from == 0x06) && (*(from + 1) >= 0x4B && *(from + 1) <= 0x55))){
+ from++;
+ }
+ else {
+ text += *from;
+ }
+ }
+ }
+ return 0;
+}
+
+SWORD_NAMESPACE_END
diff --git a/src/modules/filters/utf8arshaping.cpp b/src/modules/filters/utf8arshaping.cpp
index 702fb62..09d8973 100644
--- a/src/modules/filters/utf8arshaping.cpp
+++ b/src/modules/filters/utf8arshaping.cpp
@@ -1,8 +1,24 @@
/******************************************************************************
-*
-* utf8arshaping - SWFilter descendant to perform Arabic shaping on
-* UTF-8 text
-*/
+ *
+ * utf8arshaping - SWFilter descendant to perform Arabic shaping on
+ * UTF-8 text
+ *
+ *
+ * Copyright 2009 CrossWire Bible Society (http://www.crosswire.org)
+ * CrossWire Bible Society
+ * P. O. Box 2528
+ * Tempe, AZ 85280-2528
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation version 2.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ */
#ifdef _ICU_
diff --git a/src/modules/filters/utf8bidireorder.cpp b/src/modules/filters/utf8bidireorder.cpp
index 783602c..71dc804 100644
--- a/src/modules/filters/utf8bidireorder.cpp
+++ b/src/modules/filters/utf8bidireorder.cpp
@@ -1,8 +1,24 @@
/******************************************************************************
-*
-* utf8cnormalizer - SWFilter descendant to perform reordering of UTF-8
-* text to visual order according to Unicode BiDi
-*/
+ *
+ * utf8bidireorder - SWFilter descendant to perform reordering of UTF-8
+ * text to visual order according to Unicode BiDi
+ *
+ *
+ * Copyright 2009 CrossWire Bible Society (http://www.crosswire.org)
+ * CrossWire Bible Society
+ * P. O. Box 2528
+ * Tempe, AZ 85280-2528
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation version 2.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ */
#ifdef _ICU_
diff --git a/src/modules/filters/utf8cantillation.cpp b/src/modules/filters/utf8cantillation.cpp
index 6213620..73785b4 100644
--- a/src/modules/filters/utf8cantillation.cpp
+++ b/src/modules/filters/utf8cantillation.cpp
@@ -2,9 +2,24 @@
*
* UTF8Cantillation - SWFilter descendant to remove UTF-8 Hebrew cantillation
*
+ *
+ *
+ * Copyright 2009 CrossWire Bible Society (http://www.crosswire.org)
+ * CrossWire Bible Society
+ * P. O. Box 2528
+ * Tempe, AZ 85280-2528
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation version 2.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
*/
-
#include <stdlib.h>
#include <stdio.h>
#include <utf8cantillation.h>
diff --git a/src/modules/filters/utf8greekaccents.cpp b/src/modules/filters/utf8greekaccents.cpp
index df85968..5fdb047 100644
--- a/src/modules/filters/utf8greekaccents.cpp
+++ b/src/modules/filters/utf8greekaccents.cpp
@@ -2,9 +2,24 @@
*
* UTF8GreekAccents - SWFilter descendant to remove UTF-8 Greek accents
*
+ *
+ *
+ * Copyright 2009 CrossWire Bible Society (http://www.crosswire.org)
+ * CrossWire Bible Society
+ * P. O. Box 2528
+ * Tempe, AZ 85280-2528
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation version 2.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
*/
-
#include <stdlib.h>
#include <stdio.h>
#include <utf8greekaccents.h>
diff --git a/src/modules/filters/utf8hebrewpoints.cpp b/src/modules/filters/utf8hebrewpoints.cpp
index 0476db8..ba7c746 100644
--- a/src/modules/filters/utf8hebrewpoints.cpp
+++ b/src/modules/filters/utf8hebrewpoints.cpp
@@ -2,9 +2,24 @@
*
* UTF8HebrewPoints - SWFilter descendant to remove UTF-8 Hebrew vowel points
*
+ *
+ *
+ * Copyright 2009 CrossWire Bible Society (http://www.crosswire.org)
+ * CrossWire Bible Society
+ * P. O. Box 2528
+ * Tempe, AZ 85280-2528
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation version 2.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
*/
-
#include <stdlib.h>
#include <stdio.h>
#include <utf8hebrewpoints.h>
diff --git a/src/modules/filters/utf8html.cpp b/src/modules/filters/utf8html.cpp
index 088f669..0d1dce3 100644
--- a/src/modules/filters/utf8html.cpp
+++ b/src/modules/filters/utf8html.cpp
@@ -2,9 +2,24 @@
*
* utf8html - SWFilter descendant to convert a UTF-8 stream to HTML escapes
*
+ *
+ *
+ * Copyright 2009 CrossWire Bible Society (http://www.crosswire.org)
+ * CrossWire Bible Society
+ * P. O. Box 2528
+ * Tempe, AZ 85280-2528
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation version 2.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
*/
-
#include <stdlib.h>
#include <stdio.h>
#include <utf8html.h>
diff --git a/src/modules/filters/utf8latin1.cpp b/src/modules/filters/utf8latin1.cpp
index 08b288d..25df0c1 100644
--- a/src/modules/filters/utf8latin1.cpp
+++ b/src/modules/filters/utf8latin1.cpp
@@ -2,6 +2,22 @@
*
* UTF8Latin1 - SWFilter descendant to convert UTF-8 to Latin-1
*
+ *
+ *
+ * Copyright 2009 CrossWire Bible Society (http://www.crosswire.org)
+ * CrossWire Bible Society
+ * P. O. Box 2528
+ * Tempe, AZ 85280-2528
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation version 2.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
*/
#include <stdlib.h>
diff --git a/src/modules/filters/utf8nfc.cpp b/src/modules/filters/utf8nfc.cpp
index 15b76b5..82d404e 100644
--- a/src/modules/filters/utf8nfc.cpp
+++ b/src/modules/filters/utf8nfc.cpp
@@ -1,8 +1,24 @@
/******************************************************************************
-*
-* utf8nfc - SWFilter descendant to perform NFC (canonical composition
-* normalization) on UTF-8 text
-*/
+ *
+ * utf8nfc - SWFilter descendant to perform NFC (canonical composition
+ * normalization) on UTF-8 text
+ *
+ *
+ * Copyright 2009 CrossWire Bible Society (http://www.crosswire.org)
+ * CrossWire Bible Society
+ * P. O. Box 2528
+ * Tempe, AZ 85280-2528
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation version 2.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ */
#ifdef _ICU_
diff --git a/src/modules/filters/utf8nfkd.cpp b/src/modules/filters/utf8nfkd.cpp
index a19d36b..1d6acf3 100644
--- a/src/modules/filters/utf8nfkd.cpp
+++ b/src/modules/filters/utf8nfkd.cpp
@@ -1,8 +1,24 @@
/******************************************************************************
-*
-* utf8nfkd - SWFilter descendant to perform NFKD (compatability decomposition
-* normalization) on UTF-8 text
-*/
+ *
+ * utf8nfkd - SWFilter descendant to perform NFKD (compatability decomposition
+ * normalization) on UTF-8 text
+ *
+ *
+ * Copyright 2009 CrossWire Bible Society (http://www.crosswire.org)
+ * CrossWire Bible Society
+ * P. O. Box 2528
+ * Tempe, AZ 85280-2528
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation version 2.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ */
#ifdef _ICU_
diff --git a/src/modules/filters/utf8transliterator.cpp b/src/modules/filters/utf8transliterator.cpp
index d99741b..552ec3e 100644
--- a/src/modules/filters/utf8transliterator.cpp
+++ b/src/modules/filters/utf8transliterator.cpp
@@ -1,8 +1,24 @@
/******************************************************************************
-*
-* utf8transliterators - SWFilter descendant to transliterate between
-* ICU-supported scripts.
-*/
+ *
+ * utf8transliterators - SWFilter descendant to transliterate between
+ * ICU-supported scripts.
+ *
+ *
+ * Copyright 2009 CrossWire Bible Society (http://www.crosswire.org)
+ * CrossWire Bible Society
+ * P. O. Box 2528
+ * Tempe, AZ 85280-2528
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation version 2.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ */
#ifdef _ICU_
@@ -25,51 +41,48 @@ SWORD_NAMESPACE_START
const char UTF8Transliterator::optionstring[NUMTARGETSCRIPTS][16] = {
"Off",
"Latin",
- "IPA",
- "Basic Latin",
- "SBL",
- "TC",
- "Beta",
- "BGreek",
- "SERA",
- "Hugoye",
- "UNGEGN",
- "ISO",
- "ALA-LC",
- "BGN-PCGN",
- "Greek",
- "Hebrew",
- "Cyrillic",
- "Arabic",
- "Syriac",
- "Katakana",
- "Hiragana",
- "Hangul",
- "Devanagari",
- "Tamil",
- "Bengali",
- "Gurmukhi",
- "Gujarati",
- "Oriya",
- "Telugu",
- "Kannada",
- "Malayalam",
- "Thai",
- "Georgian",
- "Armenian",
- "Ethiopic",
- "Gothic",
- "Ugaritic",
- "Coptic",
- "Meroitic",
- "Linear B",
- "Cypriot",
- "Runic",
- "Ogham",
- "Thaana",
- "Glagolitic",
-// "Tengwar",
-// "Cirth"
+ // "IPA",
+ // "Basic Latin",
+ // "SBL",
+ // "TC",
+ // "Beta",
+ // "BGreek",
+ // "SERA",
+ // "Hugoye",
+ // "UNGEGN",
+ // "ISO",
+ // "ALA-LC",
+ // "BGN",
+ // "Greek",
+ // "Hebrew",
+ // "Cyrillic",
+ // "Arabic",
+ // "Syriac",
+ // "Katakana",
+ // "Hiragana",
+ // "Hangul",
+ // "Devanagari",
+ // "Tamil",
+ // "Bengali",
+ // "Gurmukhi",
+ // "Gujarati",
+ // "Oriya",
+ // "Telugu",
+ // "Kannada",
+ // "Malayalam",
+ // "Thai",
+ // "Georgian",
+ // "Armenian",
+ // "Ethiopic",
+ // "Gothic",
+ // "Ugaritic",
+ // "Coptic",
+ // "Linear B",
+ // "Cypriot",
+ // "Runic",
+ // "Ogham",
+ // "Thaana",
+ // "Glagolitic",
};
const char UTF8Transliterator::optName[] = "Transliteration";
@@ -128,6 +141,11 @@ UTF8Transliterator::UTF8Transliterator() {
#endif
}
+
+UTF8Transliterator::~UTF8Transliterator() {
+}
+
+
void UTF8Transliterator::Load(UErrorCode &status)
{
#ifndef _ICUSWORD_
@@ -374,19 +392,19 @@ char UTF8Transliterator::processText(SWBuf &text, const SWKey *key, const SWModu
case UBLOCK_MALAYALAM: scripts[SE_MALAYALAM] = true; break;
case UBLOCK_THAI: scripts[SE_THAI] = true; break;
case UBLOCK_GEORGIAN: scripts[SE_GEORGIAN] = true; break;
- case UBLOCK_ARMENIAN: scripts[SE_ARMENIAN] = true; break;
- case UBLOCK_ETHIOPIC: scripts[SE_ETHIOPIC] = true; break;
- case UBLOCK_GOTHIC: scripts[SE_GOTHIC] = true; break;
- case UBLOCK_UGARITIC: scripts[SE_UGARITIC] = true; break;
-// case UBLOCK_MEROITIC: scripts[SE_MEROITIC] = true; break;
-// case UBLOCK_LINEARB: scripts[SE_LINEARB] = true; break;
-// case UBLOCK_CYPRIOT: scripts[SE_CYPRIOT] = true; break;
- case UBLOCK_RUNIC: scripts[SE_RUNIC] = true; break;
- case UBLOCK_OGHAM: scripts[SE_OGHAM] = true; break;
- case UBLOCK_THAANA: scripts[SE_THAANA] = true; break;
-// case UBLOCK_GLAGOLITIC: scripts[SE_GLAGOLITIC] = true; break;
-// case UBLOCK_TENGWAR: scripts[SE_TENGWAR] = true; break;
-// case UBLOCK_CIRTH: scripts[SE_CIRTH] = true; break;
+ case UBLOCK_ARMENIAN: scripts[SE_ARMENIAN] = true; break;
+ case UBLOCK_ETHIOPIC: scripts[SE_ETHIOPIC] = true; break;
+ case UBLOCK_GOTHIC: scripts[SE_GOTHIC] = true; break;
+ case UBLOCK_UGARITIC: scripts[SE_UGARITIC] = true; break;
+// case UBLOCK_MEROITIC: scripts[SE_MEROITIC] = true; break;
+ case UBLOCK_LINEAR_B_SYLLABARY: scripts[SE_LINEARB] = true; break;
+ case UBLOCK_CYPRIOT_SYLLABARY: scripts[SE_CYPRIOT] = true; break;
+ case UBLOCK_RUNIC: scripts[SE_RUNIC] = true; break;
+ case UBLOCK_OGHAM: scripts[SE_OGHAM] = true; break;
+ case UBLOCK_THAANA: scripts[SE_THAANA] = true; break;
+ case UBLOCK_GLAGOLITIC: scripts[SE_GLAGOLITIC] = true; break;
+// case UBLOCK_TENGWAR: scripts[SE_TENGWAR] = true; break;
+// case UBLOCK_CIRTH: scripts[SE_CIRTH] = true; break;
case UBLOCK_CJK_RADICALS_SUPPLEMENT:
case UBLOCK_KANGXI_RADICALS:
case UBLOCK_IDEOGRAPHIC_DESCRIPTION_CHARACTERS:
@@ -445,8 +463,8 @@ char UTF8Transliterator::processText(SWBuf &text, const SWKey *key, const SWModu
addTrans("Greek-Latin/ISO", &ID);
else if (option == SE_ALALC)
addTrans("Greek-Latin/ALALC", &ID);
- else if (option == SE_BGNPCGN)
- addTrans("Greek-Latin/BGNPCGN", &ID);
+ else if (option == SE_BGN)
+ addTrans("Greek-Latin/BGN", &ID);
else if (option == SE_IPA)
addTrans("Greek-IPA/Ancient", &ID);
else {
@@ -522,8 +540,8 @@ char UTF8Transliterator::processText(SWBuf &text, const SWKey *key, const SWModu
addTrans("Georgian-Latin/ISO", &ID);
else if (option == SE_ALALC)
addTrans("Georgian-Latin/ALALC", &ID);
- else if (option == SE_BGNPCGN)
- addTrans("Georgian-Latin/BGNPCGN", &ID);
+ else if (option == SE_BGN)
+ addTrans("Georgian-Latin/BGN", &ID);
else if (option == SE_IPA)
addTrans("Georgian-IPA", &ID);
else {
@@ -536,8 +554,8 @@ char UTF8Transliterator::processText(SWBuf &text, const SWKey *key, const SWModu
addTrans("Armenian-Latin/ISO", &ID);
else if (option == SE_ALALC)
addTrans("Armenian-Latin/ALALC", &ID);
- else if (option == SE_BGNPCGN)
- addTrans("Armenian-Latin/BGNPCGN", &ID);
+ else if (option == SE_BGN)
+ addTrans("Armenian-Latin/BGN", &ID);
else if (option == SE_IPA)
addTrans("Armenian-IPA", &ID);
else {
@@ -600,8 +618,8 @@ char UTF8Transliterator::processText(SWBuf &text, const SWKey *key, const SWModu
if (scripts[SE_THAANA]) {
if (option == SE_ALALC)
addTrans("Thaana-Latin/ALALC", &ID);
- else if (option == SE_BGNPCGN)
- addTrans("Thaana-Latin/BGNPCGN", &ID);
+ else if (option == SE_BGN)
+ addTrans("Thaana-Latin/BGN", &ID);
else {
addTrans("Thaana-Latin", &ID);
scripts[SE_LATIN] = true;
diff --git a/src/modules/filters/utf8utf16.cpp b/src/modules/filters/utf8utf16.cpp
index 5c1614c..a770d5f 100644
--- a/src/modules/filters/utf8utf16.cpp
+++ b/src/modules/filters/utf8utf16.cpp
@@ -2,12 +2,30 @@
*
* UTF8UTF16 - SWFilter descendant to convert UTF-8 to UTF-16
*
+ *
+ *
+ * Copyright 2009 CrossWire Bible Society (http://www.crosswire.org)
+ * CrossWire Bible Society
+ * P. O. Box 2528
+ * Tempe, AZ 85280-2528
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation version 2.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
*/
#include <stdlib.h>
#include <stdio.h>
+#include <sysdata.h>
#include <utf8utf16.h>
+#include <utilstr.h>
#include <swbuf.h>
SWORD_NAMESPACE_START
@@ -15,61 +33,36 @@ SWORD_NAMESPACE_START
UTF8UTF16::UTF8UTF16() {
}
+
char UTF8UTF16::processText(SWBuf &text, const SWKey *key, const SWModule *module) {
const unsigned char *from;
- unsigned long ch;
- signed short utf16;
- unsigned char from2[7];
-
SWBuf orig = text;
from = (const unsigned char *)orig.c_str();
// -------------------------------
- for (text = ""; *from; from++) {
- ch = 0;
- //case: ANSI
- if ((*from & 128) != 128) {
+ text = "";
+ while (*from) {
+
+ __u32 ch = getUniCharFromUTF8(&from);
+
+ if (!ch) continue; // invalid char
+
+ if (ch < 0x10000) {
text.setSize(text.size()+2);
- *((unsigned short *)(text.getRawData()+(text.size()-2))) = (unsigned short)*from;
- continue;
- }
- //case: Invalid UTF-8 (illegal continuing byte in initial position)
- if ((*from & 128) && ((*from & 64) != 64)) {
- continue;
+ *((__u16 *)(text.getRawData()+(text.size()-2))) = (__u16)ch;
}
- //case: 2+ byte codepoint
- from2[0] = *from;
- from2[0] <<= 1;
- int subsequent;
- for (subsequent = 1; (from2[0] & 128) && (subsequent < 7); subsequent++) {
- from2[0] <<= 1;
- from2[subsequent] = from[subsequent];
- from2[subsequent] &= 63;
- ch <<= 6;
- ch |= from2[subsequent];
+ else {
+ __u16 utf16;
+ utf16 = (__s16)((ch - 0x10000) / 0x400 + 0xD800);
+ text.setSize(text.size()+4);
+ *((__u16 *)(text.getRawData()+(text.size()-4))) = utf16;
+ utf16 = (__s16)((ch - 0x10000) % 0x400 + 0xDC00);
+ *((__u16 *)(text.getRawData()+(text.size()-2))) = utf16;
}
- subsequent--;
- from2[0] <<= 1;
- char significantFirstBits = 8 - (2+subsequent);
-
- ch |= (((short)from2[0]) << (((6*subsequent)+significantFirstBits)-8));
- from += subsequent;
- if (ch < 0x10000) {
- text.setSize(text.size()+2);
- *((unsigned short *)(text.getRawData()+(text.size()-2))) = (unsigned short)ch;
- }
- else {
- utf16 = (signed short)((ch - 0x10000) / 0x400 + 0xD800);
- text.setSize(text.size()+2);
- *((unsigned short *)(text.getRawData()+(text.size()-2))) = (unsigned short)utf16;
- utf16 = (signed short)((ch - 0x10000) % 0x400 + 0xDC00);
- text.setSize(text.size()+2);
- *((unsigned short *)(text.getRawData()+(text.size()-2))) = (unsigned short)utf16;
- }
}
text.setSize(text.size()+2);
- *((unsigned short *)(text.getRawData()+(text.size()-2))) = (unsigned short)0;
+ *((__u16 *)(text.getRawData()+(text.size()-2))) = (__u16)0;
return 0;
diff --git a/src/modules/genbook/rawgenbook/rawgenbook.cpp b/src/modules/genbook/rawgenbook/rawgenbook.cpp
index 22cc51f..eff68f5 100644
--- a/src/modules/genbook/rawgenbook/rawgenbook.cpp
+++ b/src/modules/genbook/rawgenbook/rawgenbook.cpp
@@ -1,9 +1,26 @@
/******************************************************************************
- * rawtext.cpp - code for class 'RawGenBook'- a module that reads raw text files:
- * ot and nt using indexs ??.bks ??.cps ??.vss
+ * rawtext.cpp - code for class 'RawGenBook'- a module that reads raw text
+ * files: ot and nt using indexs ??.bks ??.cps ??.vss
+ *
+ *
+ * Copyright 2009 CrossWire Bible Society (http://www.crosswire.org)
+ * CrossWire Bible Society
+ * P. O. Box 2528
+ * Tempe, AZ 85280-2528
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation version 2.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
*/
+
#include <stdio.h>
#include <fcntl.h>
@@ -82,34 +99,16 @@ SWBuf &RawGenBook::getRawEntryBuf() {
__u32 offset = 0;
__u32 size = 0;
- TreeKey *key = 0;
- SWTRY {
- key = SWDYNAMIC_CAST(TreeKey, (this->key));
- }
- SWCATCH ( ... ) {}
-
- if (!key) {
- VerseTreeKey *tkey = 0;
- SWTRY {
- tkey = SWDYNAMIC_CAST(VerseTreeKey, (this->key));
- }
- SWCATCH ( ... ) {}
- if (tkey) key = tkey->getTreeKey();
- }
-
- if (!key) {
- key = (TreeKeyIdx *)CreateKey();
- (*key) = *(this->key);
- }
+ const TreeKey &key = getTreeKey();
int dsize;
- key->getUserData(&dsize);
+ key.getUserData(&dsize);
entryBuf = "";
if (dsize > 7) {
- memcpy(&offset, key->getUserData(), 4);
+ memcpy(&offset, key.getUserData(), 4);
offset = swordtoarch32(offset);
- memcpy(&size, key->getUserData() + 4, 4);
+ memcpy(&size, key.getUserData() + 4, 4);
size = swordtoarch32(size);
entrySize = size; // support getEntrySize call
@@ -120,15 +119,12 @@ SWBuf &RawGenBook::getRawEntryBuf() {
bdtfd->read(entryBuf.getRawData(), size);
rawFilter(entryBuf, 0); // hack, decipher
- rawFilter(entryBuf, key);
+ rawFilter(entryBuf, &key);
// if (!isUnicode())
- RawStr::prepText(entryBuf);
+ SWModule::prepText(entryBuf);
}
- if (key != this->key) // free our key if we created a VerseKey
- delete key;
-
return entryBuf;
}
@@ -137,7 +133,7 @@ void RawGenBook::setEntry(const char *inbuf, long len) {
__u32 offset = archtosword32(bdtfd->seek(0, SEEK_END));
__u32 size = 0;
- TreeKeyIdx *key = ((TreeKeyIdx *)this->key);
+ TreeKeyIdx *key = ((TreeKeyIdx *)&(getTreeKey()));
char userData[8];
@@ -156,7 +152,7 @@ void RawGenBook::setEntry(const char *inbuf, long len) {
void RawGenBook::linkEntry(const SWKey *inkey) {
TreeKeyIdx *srckey = 0;
- TreeKeyIdx *key = ((TreeKeyIdx *)this->key);
+ TreeKeyIdx *key = ((TreeKeyIdx *)&(getTreeKey()));
// see if we have a VerseKey * or decendant
SWTRY {
srckey = SWDYNAMIC_CAST(TreeKeyIdx, inkey);
@@ -183,7 +179,7 @@ void RawGenBook::linkEntry(const SWKey *inkey) {
*/
void RawGenBook::deleteEntry() {
- TreeKeyIdx *key = ((TreeKeyIdx *)this->key);
+ TreeKeyIdx *key = ((TreeKeyIdx *)&(getTreeKey()));
key->remove();
}
@@ -211,9 +207,18 @@ char RawGenBook::createModule(const char *ipath) {
}
-SWKey *RawGenBook::CreateKey() {
- TreeKeyIdx *newKey = new TreeKeyIdx(path);
- return (verseKey) ? (SWKey *)new VerseTreeKey(newKey) : newKey;
+SWKey *RawGenBook::CreateKey() const {
+ TreeKey *tKey = new TreeKeyIdx(path);
+ if (verseKey) { SWKey *vtKey = new VerseTreeKey(tKey); delete tKey; return vtKey; }
+ return tKey;
+}
+
+bool RawGenBook::hasEntry(const SWKey *k) const {
+ TreeKey &key = getTreeKey(k);
+
+ int dsize;
+ key.getUserData(&dsize);
+ return (dsize > 7) && key.Error() == '\x00';
}
SWORD_NAMESPACE_END
diff --git a/src/modules/genbook/swgenbook.cpp b/src/modules/genbook/swgenbook.cpp
index 0ce16aa..e7feea2 100644
--- a/src/modules/genbook/swgenbook.cpp
+++ b/src/modules/genbook/swgenbook.cpp
@@ -1,9 +1,27 @@
/******************************************************************************
* swld.cpp - code for base class 'SWLD'. SWLD is the basis for all
- * types of Lexicon and Dictionary modules (hence the 'LD').
+ * types of Lexicon and Dictionary modules (hence the 'LD').
+ *
+ *
+ * Copyright 2009 CrossWire Bible Society (http://www.crosswire.org)
+ * CrossWire Bible Society
+ * P. O. Box 2528
+ * Tempe, AZ 85280-2528
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation version 2.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
*/
+
#include <swgenbook.h>
+#include <versetreekey.h>
SWORD_NAMESPACE_START
@@ -16,14 +34,66 @@ SWORD_NAMESPACE_START
*/
SWGenBook::SWGenBook(const char *imodname, const char *imoddesc, SWDisplay *idisp, SWTextEncoding enc, SWTextDirection dir, SWTextMarkup mark, const char* ilang) : SWModule(imodname, imoddesc, idisp, (char *)"Generic Books", enc, dir, mark, ilang) {
+ tmpTreeKey = 0;
}
/******************************************************************************
- * SWLD Destructor - Cleans up instance of SWLD
+ * SWLD Destructor - Cleans up instance of SWGenBook
*/
SWGenBook::~SWGenBook() {
+ delete tmpTreeKey;
+}
+
+
+TreeKey &SWGenBook::getTreeKey(const SWKey *k) const {
+ const SWKey* thiskey = k?k:this->key;
+
+ TreeKey *key = 0;
+
+ SWTRY {
+ key = SWDYNAMIC_CAST(TreeKey, (thiskey));
+ }
+ SWCATCH ( ... ) {}
+
+ if (!key) {
+ ListKey *lkTest = 0;
+ SWTRY {
+ lkTest = SWDYNAMIC_CAST(ListKey, thiskey);
+ }
+ SWCATCH ( ... ) { }
+ if (lkTest) {
+ SWTRY {
+ key = SWDYNAMIC_CAST(TreeKey, lkTest->GetElement());
+ if (!key) {
+ VerseTreeKey *tkey = 0;
+ SWTRY {
+ tkey = SWDYNAMIC_CAST(VerseTreeKey, lkTest->GetElement());
+ }
+ SWCATCH ( ... ) {}
+ if (tkey) key = tkey->getTreeKey();
+ }
+ }
+ SWCATCH ( ... ) { }
+ }
+ }
+ if (!key) {
+ VerseTreeKey *tkey = 0;
+ SWTRY {
+ tkey = SWDYNAMIC_CAST(VerseTreeKey, (thiskey));
+ }
+ SWCATCH ( ... ) {}
+ if (tkey) key = tkey->getTreeKey();
+ }
+
+ if (!key) {
+ delete tmpTreeKey;
+ tmpTreeKey = (TreeKey *)CreateKey();
+ (*tmpTreeKey) = *(thiskey);
+ return (*tmpTreeKey);
+ }
+ else return *key;
}
SWORD_NAMESPACE_END
diff --git a/src/modules/lexdict/rawld/rawld.cpp b/src/modules/lexdict/rawld/rawld.cpp
index 08be215..e6a4d57 100644
--- a/src/modules/lexdict/rawld/rawld.cpp
+++ b/src/modules/lexdict/rawld/rawld.cpp
@@ -1,11 +1,24 @@
/******************************************************************************
* rawld.cpp - code for class 'RawLD'- a module that reads raw lexicon and
* dictionary files: *.dat *.idx
+ *
+ *
+ * Copyright 2009 CrossWire Bible Society (http://www.crosswire.org)
+ * CrossWire Bible Society
+ * P. O. Box 2528
+ * Tempe, AZ 85280-2528
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation version 2.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
*/
-
-#include <ctype.h>
-#include <stdio.h>
#include <fcntl.h>
#include <utilstr.h>
@@ -13,6 +26,8 @@
#include <rawld.h>
#include <filemgr.h>
+#include <stdio.h>
+
SWORD_NAMESPACE_START
/******************************************************************************
@@ -44,50 +59,6 @@ bool RawLD::isWritable() {
/******************************************************************************
- * RawLD::strongsPad - Pads a key if (it-1) is 100% digits to 5 places
- * allows for final to be alpha, e.g. '123B'
- *
- * ENT: buf - buffer to check and pad
- */
-
-void RawLD::strongsPad(char *buf)
-{
- char *check;
- int size = 0;
- int len = strlen(buf);
- char subLet = 0;
- bool bang = false;
- if ((len < 8) && (len > 0)) {
- for (check = buf; *(check+1); check++) {
- if (!isdigit(*check))
- break;
- else size++;
- }
-
- if (size && ((size == (len-1)) || (size == (len-2)))) {
- if (*check == '!') {
- bang = true;
- check++;
- }
- if (isalpha(*check)) {
- subLet = toupper(*check);
- *(check-(bang?1:0)) = 0;
- }
- sprintf(buf, "%.5d", atoi(buf));
- if (subLet) {
- check = buf+(strlen(buf));
- if (bang) {
- *check++ = '!';
- }
- *check++ = subLet;
- *check = 0;
- }
- }
- }
-}
-
-
-/******************************************************************************
* RawLD::getEntry - Looks up entry from data file. 'Snaps' to closest
* entry and sets 'entrybuf'.
*
@@ -98,8 +69,8 @@ void RawLD::strongsPad(char *buf)
char RawLD::getEntry(long away)
{
- long start = 0;
- unsigned short size = 0;
+ __u32 start = 0;
+ __u16 size = 0;
char *idxbuf = 0;
char retval = 0;
@@ -191,4 +162,34 @@ void RawLD::deleteEntry() {
doSetText(*key, "");
}
+
+long RawLD::getEntryCount() const {
+ if (idxfd < 0) return 0;
+ return idxfd->seek(0, SEEK_END) / IDXENTRYSIZE;
+}
+
+
+long RawLD::getEntryForKey(const char *key) const {
+ __u32 start, offset;
+ __u16 size;
+
+ char *buf = new char [ strlen(key) + 6 ];
+ strcpy(buf, key);
+
+ strongsPad(buf);
+
+ findOffset(buf, &start, &size, 0, &offset);
+
+ delete [] buf;
+
+ return offset / IDXENTRYSIZE;
+}
+
+
+char *RawLD::getKeyForEntry(long entry) const {
+ char *key = 0;
+ getIDXBuf(entry * IDXENTRYSIZE, &key);
+ return key;
+}
+
SWORD_NAMESPACE_END
diff --git a/src/modules/lexdict/rawld4/rawld4.cpp b/src/modules/lexdict/rawld4/rawld4.cpp
index 0fd1058..6d60d9a 100644
--- a/src/modules/lexdict/rawld4/rawld4.cpp
+++ b/src/modules/lexdict/rawld4/rawld4.cpp
@@ -1,11 +1,24 @@
/******************************************************************************
* rawld.cpp - code for class 'RawLD'- a module that reads raw lexicon and
- * dictionary files: *.dat *.idx
+ * dictionary files: *.dat *.idx
+ *
+ *
+ * Copyright 2009 CrossWire Bible Society (http://www.crosswire.org)
+ * CrossWire Bible Society
+ * P. O. Box 2528
+ * Tempe, AZ 85280-2528
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation version 2.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
*/
-
-#include <ctype.h>
-#include <stdio.h>
#include <fcntl.h>
#include <filemgr.h>
@@ -13,6 +26,8 @@
#include <rawstr4.h>
#include <rawld4.h>
+#include <stdio.h>
+
SWORD_NAMESPACE_START
/******************************************************************************
@@ -44,50 +59,6 @@ bool RawLD4::isWritable() {
/******************************************************************************
- * RawLD4::strongsPad - Pads a key if (it-1) is 100% digits to 5 places
- * allows for final to be alpha, e.g. '123B'
- *
- * ENT: buf - buffer to check and pad
- */
-
-void RawLD4::strongsPad(char *buf)
-{
- char *check;
- int size = 0;
- int len = strlen(buf);
- char subLet = 0;
- bool bang = false;
- if ((len < 8) && (len > 0)) {
- for (check = buf; *(check+1); check++) {
- if (!isdigit(*check))
- break;
- else size++;
- }
-
- if (size && ((size == (len-1)) || (size == (len-2)))) {
- if (*check == '!') {
- bang = true;
- check++;
- }
- if (isalpha(*check)) {
- subLet = toupper(*check);
- *(check-(bang?1:0)) = 0;
- }
- sprintf(buf, "%.5d", atoi(buf));
- if (subLet) {
- check = buf+(strlen(buf));
- if (bang) {
- *check++ = '!';
- }
- *check++ = subLet;
- *check = 0;
- }
- }
- }
-}
-
-
-/******************************************************************************
* RawLD4::getEntry - Looks up entry from data file. 'Snaps' to closest
* entry and sets 'entrybuf'.
*
@@ -98,10 +69,10 @@ void RawLD4::strongsPad(char *buf)
char RawLD4::getEntry(long away)
{
- long start = 0;
- unsigned long size = 0;
+ __u32 start = 0;
+ __u32 size = 0;
char *idxbuf = 0;
- char retval = 0;
+ char retval = 0;
char *buf = new char [ strlen(*key) + 6 ];
strcpy(buf, *key);
@@ -189,4 +160,31 @@ void RawLD4::deleteEntry() {
doSetText(*key, "");
}
+long RawLD4::getEntryCount() const {
+ if (idxfd < 0) return 0;
+ return idxfd->seek(0, SEEK_END) / IDXENTRYSIZE;
+}
+
+long RawLD4::getEntryForKey(const char *key) const {
+ __u32 start, offset;
+ __u32 size;
+
+ char *buf = new char [ strlen(key) + 6 ];
+ strcpy(buf, key);
+
+ strongsPad(buf);
+
+ findOffset(buf, &start, &size, 0, &offset);
+
+ delete [] buf;
+
+ return offset / IDXENTRYSIZE;
+}
+
+char *RawLD4::getKeyForEntry(long entry) const {
+ char *key = 0;
+ getIDXBuf(entry * IDXENTRYSIZE, &key);
+ return key;
+}
+
SWORD_NAMESPACE_END
diff --git a/src/modules/lexdict/swld.cpp b/src/modules/lexdict/swld.cpp
index 518e5c0..bccf5d8 100644
--- a/src/modules/lexdict/swld.cpp
+++ b/src/modules/lexdict/swld.cpp
@@ -1,8 +1,26 @@
/******************************************************************************
* swld.cpp - code for base class 'SWLD'. SWLD is the basis for all
- * types of Lexicon and Dictionary modules (hence the 'LD').
+ * types of Lexicon and Dictionary modules (hence the 'LD').
+ *
+ *
+ * Copyright 2009 CrossWire Bible Society (http://www.crosswire.org)
+ * CrossWire Bible Society
+ * P. O. Box 2528
+ * Tempe, AZ 85280-2528
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation version 2.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
*/
+#include <ctype.h>
+#include <stdio.h>
#include <swld.h>
#include <strkey.h>
@@ -36,7 +54,7 @@ SWLD::~SWLD()
}
-SWKey *SWLD::CreateKey() { return new StrKey(); }
+SWKey *SWLD::CreateKey() const { return new StrKey(); }
/******************************************************************************
@@ -78,5 +96,68 @@ void SWLD::setPosition(SW_POSITION p) {
getRawEntryBuf();
}
+bool SWLD::hasEntry(const SWKey *key) const {
+ const char *key_str = *key;
+ char *buf = new char [ strlen(key_str) + 6 ];
+ strcpy(buf, key_str);
+
+ strongsPad(buf);
+
+ bool retVal = !strcmp(buf, getKeyForEntry(getEntryForKey(buf)));
+ delete buf;
+
+ return retVal;
+}
+
+/******************************************************************************
+ * SWLD::strongsPad - Pads a key if (it-1) is 100% digits to 5 places
+ * allows for final to be alpha, e.g. '123B'
+ *
+ * ENT: buf - buffer to check and pad
+ */
+
+void SWLD::strongsPad(char *buf)
+{
+ char *check;
+ int size = 0;
+ int len = strlen(buf);
+ char subLet = 0;
+ bool bang = false, prefix=false;
+ if ((len < 9) && (len > 0)) {
+ // Handle initial G or H
+ if (*buf == 'G' || *buf == 'H' || *buf == 'g' || *buf == 'h') {
+ buf += 1;
+ len -= 1;
+ prefix = true;
+ }
+
+ for (check = buf; *(check); check++) {
+ if (!isdigit(*check))
+ break;
+ else size++;
+ }
+
+ if (size && ((size == len) || (size == len - 1) || (size == (len-2)))) {
+ if (*check == '!') {
+ bang = true;
+ check++;
+ }
+ if (isalpha(*check)) {
+ subLet = toupper(*check);
+ *(check-(bang?1:0)) = 0;
+ }
+ sprintf(buf, prefix?"%.4d":"%.5d", atoi(buf));
+ if (subLet) {
+ check = buf+(strlen(buf));
+ if (bang) {
+ *check++ = '!';
+ }
+ *check++ = subLet;
+ *check = 0;
+ }
+ }
+ }
+}
+
SWORD_NAMESPACE_END
diff --git a/src/modules/lexdict/zld/zld.cpp b/src/modules/lexdict/zld/zld.cpp
index bcb51ab..4e786bc 100644
--- a/src/modules/lexdict/zld/zld.cpp
+++ b/src/modules/lexdict/zld/zld.cpp
@@ -1,11 +1,23 @@
/******************************************************************************
* rawld.cpp - code for class 'RawLD'- a module that reads raw lexicon and
- * dictionary files: *.dat *.idx
+ * dictionary files: *.dat *.idx
+ *
+ * Copyright 2009 CrossWire Bible Society (http://www.crosswire.org)
+ * CrossWire Bible Society
+ * P. O. Box 2528
+ * Tempe, AZ 85280-2528
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation version 2.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
*/
-
-#include <ctype.h>
-#include <stdio.h>
#include <fcntl.h>
#include <utilstr.h>
@@ -13,6 +25,8 @@
#include <zld.h>
#include <filemgr.h>
+#include <stdio.h>
+
SWORD_NAMESPACE_START
/******************************************************************************
@@ -44,48 +58,6 @@ bool zLD::isWritable() {
/******************************************************************************
- * zLD::strongsPad - Pads a key if it is 100% digits to 5 places
- *
- * ENT: buf - buffer to check and pad
- */
-
-void zLD::strongsPad(char *buf) {
- char *check;
- int size = 0;
- int len = strlen(buf);
- char subLet = 0;
- bool bang = false;
- if ((len < 8) && (len > 0)) {
- for (check = buf; *(check+1); check++) {
- if (!isdigit(*check))
- break;
- else size++;
- }
-
- if (size && ((size == (len-1)) || (size == (len-2)))) {
- if (*check == '!') {
- bang = true;
- check++;
- }
- if (isalpha(*check)) {
- subLet = toupper(*check);
- *(check-(bang?1:0)) = 0;
- }
- sprintf(buf, "%.5d", atoi(buf));
- if (subLet) {
- check = buf+(strlen(buf));
- if (bang) {
- *check++ = '!';
- }
- *check++ = subLet;
- *check = 0;
- }
- }
- }
-}
-
-
-/******************************************************************************
* zLD::getEntry - Looks up entry from data file. 'Snaps' to closest
* entry and sets 'entrybuf'.
*
@@ -186,4 +158,36 @@ void zLD::deleteEntry() {
setText(*key, "");
}
+
+long zLD::getEntryCount() const
+{
+ if (idxfd < 0) return 0;
+ return idxfd->seek(0, SEEK_END) / IDXENTRYSIZE;
+}
+
+
+long zLD::getEntryForKey(const char* key) const
+{
+ long offset;
+ char *buf = new char [ strlen(key) + 6 ];
+ strcpy(buf, key);
+
+ strongsPad(buf);
+
+ findKeyIndex(buf, &offset);
+
+ delete [] buf;
+
+ return offset/IDXENTRYSIZE;
+}
+
+
+char *zLD::getKeyForEntry(long entry) const
+{
+ char *key = 0;
+ getKeyFromIdxOffset(entry * IDXENTRYSIZE, &key);
+ return key;
+}
+
+
SWORD_NAMESPACE_END
diff --git a/src/modules/swmodule.cpp b/src/modules/swmodule.cpp
index 8461953..3eb7ce1 100644
--- a/src/modules/swmodule.cpp
+++ b/src/modules/swmodule.cpp
@@ -1,11 +1,29 @@
/******************************************************************************
- * swmodule.cpp -code for base class 'module'. Module is the basis for all
- * types of modules (e.g. texts, commentaries, maps, lexicons,
- * etc.)
+ * swmodule.cpp - code for base class 'module'. Module is the basis for all
+ * types of modules (e.g. texts, commentaries, maps, lexicons,
+ * etc.)
+ *
+ *
+ * Copyright 2009 CrossWire Bible Society (http://www.crosswire.org)
+ * CrossWire Bible Society
+ * P. O. Box 2528
+ * Tempe, AZ 85280-2528
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation version 2.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
*/
+
#include <vector>
+#include <swlog.h>
#include <sysdata.h>
#include <swmodule.h>
#include <utilstr.h>
@@ -58,7 +76,7 @@ typedef std::list<SWBuf> StringList;
* unicode - if this module is unicode
*/
-SWModule::SWModule(const char *imodname, const char *imoddesc, SWDisplay *idisp, char *imodtype, SWTextEncoding encoding, SWTextDirection direction, SWTextMarkup markup, const char* imodlang) {
+SWModule::SWModule(const char *imodname, const char *imoddesc, SWDisplay *idisp, const char *imodtype, SWTextEncoding encoding, SWTextDirection direction, SWTextMarkup markup, const char *imodlang) {
key = CreateKey();
entryBuf = "";
config = &ownConfig;
@@ -127,7 +145,7 @@ SWModule::~SWModule()
* RET: pointer to allocated key
*/
-SWKey *SWModule::CreateKey()
+SWKey *SWModule::CreateKey() const
{
return new SWKey();
}
@@ -255,7 +273,8 @@ char SWModule::Markup(signed char newmark) {
char *SWModule::Lang(const char *imodlang)
{
- return stdstr(&modlang, imodlang);
+ if (imodlang) stdstr(&modlang, imodlang);
+ return modlang;
}
@@ -395,8 +414,9 @@ void SWModule::decrement(int steps) {
* >=0 - regex
* -1 - phrase
* -2 - multiword
- * -3 - entryAttrib (eg. Word//Lemma/G1234/)
+ * -3 - entryAttrib (eg. Word//Lemma./G1234/) (Lemma with dot means check components (Lemma.[1-9]) also)
* -4 - clucene
+ * -5 - multilemma window; flags = window size
* flags - options flags for search
* justCheckIfSupported - if set, don't search, only tell if this
* function supports requested search.
@@ -408,6 +428,7 @@ ListKey &SWModule::search(const char *istr, int searchType, int flags, SWKey *sc
listKey.ClearList();
SWBuf term = istr;
+ bool includeComponents = false; // for entryAttrib e.g., /Lemma.1/
#ifdef USELUCENE
SWBuf target = getConfigEntry("AbsoluteDataPath");
@@ -431,12 +452,16 @@ ListKey &SWModule::search(const char *istr, int searchType, int flags, SWKey *sc
SWKey *resultKey = CreateKey();
regex_t preg;
vector<SWBuf> words;
+ vector<SWBuf> window;
const char *sres;
terminateSearch = false;
char perc = 1;
bool savePEA = isProcessEntryAttributes();
- // determine if we might be doing special strip searches. useful for knowing if we can use shortcuts
- bool specialStrips = (getConfigEntry("LocalStripFilter") || strchr(istr, '<'));
+
+ // determine if we might be doing special strip searches. useful for knowing if we can use shortcuts
+ bool specialStrips = (getConfigEntry("LocalStripFilter")
+ || (getConfig().has("GlobalOptionFilter", "UTF8GreekAccents"))
+ || (strchr(istr, '<')));
processEntryAttributes(searchType == -3);
@@ -454,19 +479,9 @@ ListKey &SWModule::search(const char *istr, int searchType, int flags, SWKey *sc
}
(*percent)(perc, percentUserData);
- // MAJOR KLUDGE: VerseKey::Index still return index within testament.
- // VerseKey::NewIndex should be moved to Index and Index should be some
- // VerseKey specific name
- VerseKey *vkcheck = 0;
- SWTRY {
- vkcheck = SWDYNAMIC_CAST(VerseKey, key);
- }
- SWCATCH (...) {}
- // end MAJOR KLUDGE
*this = BOTTOM;
- // fix below when we find out the bug
- long highIndex = (vkcheck)?32300/*vkcheck->NewIndex()*/:key->Index();
+ long highIndex = key->Index();
if (!highIndex)
highIndex = 1; // avoid division by zero errors.
*this = TOP;
@@ -502,6 +517,7 @@ ListKey &SWModule::search(const char *istr, int searchType, int flags, SWKey *sc
(*percent)(80, percentUserData);
// iterate thru each good module position that meets the search
+ bool checkBounds = getKey()->isBoundSet();
for (long i = 0; i < h->length(); i++) {
Document &doc = h->doc(i);
@@ -509,12 +525,15 @@ ListKey &SWModule::search(const char *istr, int searchType, int flags, SWKey *sc
lucene_wcstoutf8(utfBuffer, doc.get(_T("key")), MAX_CONV_SIZE);
*resultKey = utfBuffer; //TODO Does a key always accept utf8?
- // check to see if it sets ok (in our range?) and if so, add to our return list
- *getKey() = *resultKey;
- if (*getKey() == *resultKey) {
- listKey << *resultKey;
- listKey.GetElement()->userData = (void *)((__u32)(h->score(i)*100));
+ // check to see if it sets ok (within our bounds) and if not, skip
+ if (checkBounds) {
+ *getKey() = *resultKey;
+ if (*getKey() != *resultKey) {
+ continue;
+ }
}
+ listKey << *resultKey;
+ listKey.GetElement()->userData = (void *)((__u32)(h->score(i)*100));
}
(*percent)(98, percentUserData);
}
@@ -543,6 +562,7 @@ ListKey &SWModule::search(const char *istr, int searchType, int flags, SWKey *sc
// multi-word
case -2:
+ case -5:
// let's break the term down into our words vector
while (1) {
const char *word = term.stripPrefix(' ');
@@ -570,6 +590,10 @@ ListKey &SWModule::search(const char *istr, int searchType, int flags, SWKey *sc
}
words.push_back(word);
}
+ if ((words.size()>2) && words[2].endsWith(".")) {
+ includeComponents = true;
+ words[2]--;
+ }
break;
}
@@ -579,16 +603,12 @@ ListKey &SWModule::search(const char *istr, int searchType, int flags, SWKey *sc
(*percent)(perc, percentUserData);
- while ((searchType > -4) && !Error() && !terminateSearch) {
- long mindex = 0;
- if (vkcheck)
- mindex = vkcheck->NewIndex();
- else mindex = key->Index();
+ while ((searchType != -4) && !Error() && !terminateSearch) {
+ long mindex = key->Index();
float per = (float)mindex / highIndex;
per *= 93;
per += 5;
char newperc = (char)per;
-// char newperc = (char)(5+(93*(((float)((vkcheck)?vkcheck->NewIndex():key->Index()))/highIndex)));
if (newperc > perc) {
perc = newperc;
(*percent)(perc, percentUserData);
@@ -596,8 +616,7 @@ ListKey &SWModule::search(const char *istr, int searchType, int flags, SWKey *sc
else if (newperc < perc) {
#ifndef _MSC_VER
std::cerr << "Serious error: new percentage complete is less than previous value\n";
- std::cerr << "using vk? " << ((vkcheck)?"yes":"no") << "\n";
- std::cerr << "index: " << ((vkcheck)?vkcheck->NewIndex():key->Index()) << "\n";
+ std::cerr << "index: " << (key->Index()) << "\n";
std::cerr << "highIndex: " << highIndex << "\n";
std::cerr << "newperc ==" << (int)newperc << "%" << "is smaller than\n";
std::cerr << "perc == " << (int )perc << "% \n";
@@ -656,7 +675,7 @@ ListKey &SWModule::search(const char *istr, int searchType, int flags, SWKey *sc
} break;
// entry attributes
- case -3:
+ case -3: {
RenderText(); // force parse
AttributeTypeList &entryAttribs = getEntryAttributes();
AttributeTypeList::iterator i1Start, i1End;
@@ -685,7 +704,7 @@ ListKey &SWModule::search(const char *istr, int searchType, int flags, SWKey *sc
i2End = i1Start->second.end();
}
for (;i2Start != i2End; i2Start++) {
- if ((words.size()>2) && (words[2].length())) {
+ if ((words.size()>2) && (words[2].length()) && (!includeComponents)) {
i3Start = i2Start->second.find(words[2]);
i3End = i3Start;
if (i3End != i2Start->second.end())
@@ -697,6 +716,13 @@ ListKey &SWModule::search(const char *istr, int searchType, int flags, SWKey *sc
}
for (;i3Start != i3End; i3Start++) {
if ((words.size()>3) && (words[3].length())) {
+ if (includeComponents) {
+ SWBuf key = i3Start->first.c_str();
+ key = key.stripPrefix('.', true);
+ // we're iterating all 3 level keys, so be sure we match our
+ // prefix (e.g., Lemma, Lemma.1, Lemma.2, etc.)
+ if (key != words[2]) continue;
+ }
if (flags & SEARCHFLAG_MATCHWHOLEENTRY) {
bool found = !(((flags & REG_ICASE) == REG_ICASE) ? sword::stricmp(i3Start->second.c_str(), words[3]) : strcmp(i3Start->second.c_str(), words[3]));
sres = (found) ? i3Start->second.c_str() : 0;
@@ -719,6 +745,54 @@ ListKey &SWModule::search(const char *istr, int searchType, int flags, SWKey *sc
break;
}
break;
+ }
+ case -5:
+ AttributeList &words = getEntryAttributes()["Word"];
+ SWBuf kjvWord = "";
+ SWBuf bibWord = "";
+ for (AttributeList::iterator it = words.begin(); it != words.end(); it++) {
+ int parts = atoi(it->second["PartCount"]);
+ SWBuf lemma = "";
+ SWBuf morph = "";
+ for (int i = 1; i <= parts; i++) {
+ SWBuf key = "";
+ key = (parts == 1) ? "Lemma" : SWBuf().setFormatted("Lemma.%d", i).c_str();
+ AttributeValue::iterator li = it->second.find(key);
+ if (li != it->second.end()) {
+ if (i > 1) lemma += " ";
+ key = (parts == 1) ? "LemmaClass" : SWBuf().setFormatted("LemmaClass.%d", i).c_str();
+ AttributeValue::iterator lci = it->second.find(key);
+ if (lci != it->second.end()) {
+ lemma += lci->second + ":";
+ }
+ lemma += li->second;
+ }
+ key = (parts == 1) ? "Morph" : SWBuf().setFormatted("Morph.%d", i).c_str();
+ li = it->second.find(key);
+ // silly. sometimes morph counts don't equal lemma counts
+ if (i == 1 && parts != 1 && li == it->second.end()) {
+ li = it->second.find("Morph");
+ }
+ if (li != it->second.end()) {
+ if (i > 1) morph += " ";
+ key = (parts == 1) ? "MorphClass" : SWBuf().setFormatted("MorphClass.%d", i).c_str();
+ AttributeValue::iterator lci = it->second.find(key);
+ // silly. sometimes morph counts don't equal lemma counts
+ if (i == 1 && parts != 1 && lci == it->second.end()) {
+ lci = it->second.find("MorphClass");
+ }
+ if (lci != it->second.end()) {
+ morph += lci->second + ":";
+ }
+ morph += li->second;
+ }
+ // TODO: add src tags and maybe other attributes
+ }
+ while (window.size() < (unsigned)flags) {
+
+ }
+ }
+ break;
} // end switch
}
(*this)++;
@@ -812,7 +886,7 @@ const char *SWModule::StripText(const char *buf, int len) {
* RET: this module's text at current key location massaged by RenderFilers
*/
- const char *SWModule::RenderText(SWKey *tmpKey) {
+ const char *SWModule::RenderText(const SWKey *tmpKey) {
SWKey *saveKey;
const char *retVal;
@@ -843,7 +917,7 @@ const char *SWModule::StripText(const char *buf, int len) {
* RET: this module's text at specified key location massaged by Strip filters
*/
-const char *SWModule::StripText(SWKey *tmpKey) {
+const char *SWModule::StripText(const SWKey *tmpKey) {
SWKey *saveKey;
const char *retVal;
@@ -919,8 +993,8 @@ signed char SWModule::createSearchFramework(void (*percent)(char, void *), void
}
}
-
- // be sure we give CLucene enough file handles
+
+ // be sure we give CLucene enough file handles
FileMgr::getSystemFileMgr()->flush();
// save key information so as not to disrupt original
@@ -941,7 +1015,7 @@ signed char SWModule::createSearchFramework(void (*percent)(char, void *), void
IndexWriter *coreWriter = NULL;
IndexWriter *fsWriter = NULL;
Directory *d = NULL;
-
+
standard::StandardAnalyzer *an = new standard::StandardAnalyzer();
SWBuf target = getConfigEntry("AbsoluteDataPath");
bool includeKeyInSearch = getConfig().has("SearchOption", "IncludeKeyInSearch");
@@ -953,19 +1027,21 @@ signed char SWModule::createSearchFramework(void (*percent)(char, void *), void
ramDir = new RAMDirectory();
coreWriter = new IndexWriter(ramDir, an, true);
-
-
+
+
char perc = 1;
VerseKey *vkcheck = 0;
vkcheck = SWDYNAMIC_CAST(VerseKey, key);
+ VerseKey *chapMax = 0;
+ if (vkcheck) chapMax = (VerseKey *)vkcheck->clone();
TreeKeyIdx *tkcheck = 0;
tkcheck = SWDYNAMIC_CAST(TreeKeyIdx, key);
*this = BOTTOM;
- long highIndex = (vkcheck)?32300/*vkcheck->NewIndex()*/:key->Index();
+ long highIndex = key->Index();
if (!highIndex)
highIndex = 1; // avoid division by zero errors.
@@ -976,20 +1052,16 @@ signed char SWModule::createSearchFramework(void (*percent)(char, void *), void
// position module at the beginning
*this = TOP;
- VerseKey chapMax;
SWBuf proxBuf;
SWBuf proxLem;
SWBuf strong;
const short int MAX_CONV_SIZE = 2047;
wchar_t wcharBuffer[MAX_CONV_SIZE + 1];
-
+
char err = Error();
while (!err) {
- long mindex = 0;
- if (vkcheck)
- mindex = vkcheck->NewIndex();
- else mindex = key->Index();
+ long mindex = key->Index();
proxBuf = "";
proxLem = "";
@@ -1016,7 +1088,7 @@ signed char SWModule::createSearchFramework(void (*percent)(char, void *), void
if (content && *content) {
good = true;
-
+
// build "strong" field
AttributeTypeList::iterator words;
AttributeList::iterator word;
@@ -1046,8 +1118,10 @@ signed char SWModule::createSearchFramework(void (*percent)(char, void *), void
}
lucene_utf8towcs(wcharBuffer, keyText, MAX_CONV_SIZE); //keyText must be utf8
+// doc->add( *(new Field("key", wcharBuffer, Field::STORE_YES | Field::INDEX_TOKENIZED)));
doc->add( *Field::Text(_T("key"), wcharBuffer ) );
+
if (includeKeyInSearch) {
c = keyText;
c += " ";
@@ -1071,12 +1145,12 @@ signed char SWModule::createSearchFramework(void (*percent)(char, void *), void
// for VerseKeys use chapter
if (vkcheck) {
- chapMax = *vkcheck;
+ *chapMax = *vkcheck;
// we're the first verse in a chapter
if (vkcheck->Verse() == 1) {
- chapMax = MAXVERSE;
+ *chapMax = MAXVERSE;
VerseKey saveKey = *vkcheck;
- while ((!err) && (*vkcheck <= chapMax)) {
+ while ((!err) && (*vkcheck <= *chapMax)) {
//printf("building proxBuf from (%s).\nproxBuf.c_str(): %s\n", (const char *)*key, proxBuf.c_str());
//printf("building proxBuf from (%s).\n", (const char *)*key);
@@ -1112,7 +1186,7 @@ signed char SWModule::createSearchFramework(void (*percent)(char, void *), void
proxBuf += content;
proxBuf.append(' ');
proxLem += strong;
- if (proxLem.length())
+ if (proxLem.length())
proxLem.append("\n");
}
(*this)++;
@@ -1122,7 +1196,7 @@ signed char SWModule::createSearchFramework(void (*percent)(char, void *), void
*vkcheck = saveKey;
}
}
-
+
// for TreeKeys use siblings if we have no children
else if (tkcheck) {
if (!tkcheck->hasChildren()) {
@@ -1164,7 +1238,7 @@ signed char SWModule::createSearchFramework(void (*percent)(char, void *), void
proxBuf += content;
proxBuf.append(' ');
proxLem += strong;
- if (proxLem.length())
+ if (proxLem.length())
proxLem.append("\n");
}
} while (tkcheck->nextSibling());
@@ -1174,11 +1248,11 @@ signed char SWModule::createSearchFramework(void (*percent)(char, void *), void
else tkcheck->nextSibling(); // reposition from our previousSibling test
}
}
-
+
if (proxBuf.length() > 0) {
-
+
lucene_utf8towcs(wcharBuffer, proxBuf, MAX_CONV_SIZE); //keyText must be utf8
-
+
//printf("proxBuf after (%s).\nprox: %s\nproxLem: %s\n", (const char *)*key, proxBuf.c_str(), proxLem.c_str());
doc->add( *Field::UnStored(_T("prox"), wcharBuffer) );
@@ -1209,7 +1283,7 @@ signed char SWModule::createSearchFramework(void (*percent)(char, void *), void
if (IndexReader::isLocked(d)) {
IndexReader::unlock(d);
}
-
+
fsWriter = new IndexWriter( d, an, false);
} else {
d = FSDirectory::getDirectory(target.c_str(), true);
@@ -1234,6 +1308,8 @@ signed char SWModule::createSearchFramework(void (*percent)(char, void *), void
if (searchKey)
delete searchKey;
+ delete chapMax;
+
processEntryAttributes(savePEA);
// reset option filters back to original values
@@ -1253,7 +1329,7 @@ signed char SWModule::createSearchFramework(void (*percent)(char, void *), void
* @param buf the buffer to filter
* @param key key location from where this buffer was extracted
*/
-void SWModule::filterBuffer(OptionFilterList *filters, SWBuf &buf, SWKey *key) {
+void SWModule::filterBuffer(OptionFilterList *filters, SWBuf &buf, const SWKey *key) {
OptionFilterList::iterator it;
for (it = filters->begin(); it != filters->end(); it++) {
(*it)->processText(buf, key, this);
@@ -1265,7 +1341,7 @@ void SWModule::filterBuffer(OptionFilterList *filters, SWBuf &buf, SWKey *key) {
* @param buf the buffer to filter
* @param key key location from where this buffer was extracted
*/
-void SWModule::filterBuffer(FilterList *filters, SWBuf &buf, SWKey *key) {
+void SWModule::filterBuffer(FilterList *filters, SWBuf &buf, const SWKey *key) {
FilterList::iterator it;
for (it = filters->begin(); it != filters->end(); it++) {
(*it)->processText(buf, key, this);
@@ -1282,4 +1358,63 @@ void SWModule::setEntry(const char*, long) {
void SWModule::linkEntry(const SWKey*) {
}
+
+/******************************************************************************
+ * SWModule::prepText - Prepares the text before returning it to external
+ * objects
+ *
+ * ENT: buf - buffer where text is stored and where to store the prep'd
+ * text.
+ */
+
+void SWModule::prepText(SWBuf &buf) {
+ unsigned int to, from;
+ char space = 0, cr = 0, realdata = 0, nlcnt = 0;
+ char *rawBuf = buf.getRawData();
+ for (to = from = 0; rawBuf[from]; from++) {
+ switch (rawBuf[from]) {
+ case 10:
+ if (!realdata)
+ continue;
+ space = (cr) ? 0 : 1;
+ cr = 0;
+ nlcnt++;
+ if (nlcnt > 1) {
+// *to++ = nl;
+ rawBuf[to++] = 10;
+// *to++ = nl[1];
+// nlcnt = 0;
+ }
+ continue;
+ case 13:
+ if (!realdata)
+ continue;
+// *to++ = nl[0];
+ rawBuf[to++] = 10;
+ space = 0;
+ cr = 1;
+ continue;
+ }
+ realdata = 1;
+ nlcnt = 0;
+ if (space) {
+ space = 0;
+ if (rawBuf[from] != ' ') {
+ rawBuf[to++] = ' ';
+ from--;
+ continue;
+ }
+ }
+ rawBuf[to++] = rawBuf[from];
+ }
+ buf.setSize(to);
+
+ while (to > 1) { // remove trailing excess
+ to--;
+ if ((rawBuf[to] == 10) || (rawBuf[to] == ' '))
+ buf.setSize(to);
+ else break;
+ }
+}
+
SWORD_NAMESPACE_END
diff --git a/src/modules/tests/echomod.cpp b/src/modules/tests/echomod.cpp
index 2640773..99b00cd 100644
--- a/src/modules/tests/echomod.cpp
+++ b/src/modules/tests/echomod.cpp
@@ -1,6 +1,22 @@
/******************************************************************************
* echomod.cpp - code for class 'echomod'- a dummy test text module that just
* echos back the key
+ *
+ *
+ * Copyright 2009 CrossWire Bible Society (http://www.crosswire.org)
+ * CrossWire Bible Society
+ * P. O. Box 2528
+ * Tempe, AZ 85280-2528
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation version 2.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
*/
#include <echomod.h>
diff --git a/src/modules/texts/rawtext/rawtext.cpp b/src/modules/texts/rawtext/rawtext.cpp
index 3245da6..8641a45 100644
--- a/src/modules/texts/rawtext/rawtext.cpp
+++ b/src/modules/texts/rawtext/rawtext.cpp
@@ -1,9 +1,24 @@
/******************************************************************************
* rawtext.cpp - code for class 'RawText'- a module that reads raw text files:
* ot and nt using indexs ??.bks ??.cps ??.vss
+ *
+ *
+ * Copyright 2009 CrossWire Bible Society (http://www.crosswire.org)
+ * CrossWire Bible Society
+ * P. O. Box 2528
+ * Tempe, AZ 85280-2528
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation version 2.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
*/
-
#include <stdio.h>
#include <fcntl.h>
#include <sysdata.h>
@@ -42,27 +57,9 @@ typedef list<long> longlist;
* idisp - Display object to use for displaying
*/
-RawText::RawText(const char *ipath, const char *iname, const char *idesc, SWDisplay *idisp, SWTextEncoding enc, SWTextDirection dir, SWTextMarkup mark, const char* ilang)
- : SWText(iname, idesc, idisp, enc, dir, mark, ilang),
+RawText::RawText(const char *ipath, const char *iname, const char *idesc, SWDisplay *idisp, SWTextEncoding enc, SWTextDirection dir, SWTextMarkup mark, const char* ilang, const char *versification)
+ : SWText(iname, idesc, idisp, enc, dir, mark, ilang, versification),
RawVerse(ipath) {
-
-#ifndef USELUCENE
- SWBuf fname;
- fname = path;
- char ch = fname.c_str()[strlen(fname.c_str())-1];
- if ((ch != '/') && (ch != '\\'))
- fname += "/";
-
- for (int loop = 0; loop < 2; loop++) {
- fastSearch[loop] = 0;
- SWBuf fastidxname =(fname + ((loop)?"ntwords.dat":"otwords.dat"));
- if (FileMgr::existsFile(fastidxname.c_str())) {
- fastidxname = (fname + ((loop)?"ntwords.idx":"otwords.idx"));
- if (FileMgr::existsFile(fastidxname.c_str()))
- fastSearch[loop] = new RawStr((fname + ((loop)?"ntwords":"otwords")).c_str());
- }
- }
-#endif
}
@@ -71,13 +68,6 @@ RawText::RawText(const char *ipath, const char *iname, const char *idesc, SWDisp
*/
RawText::~RawText() {
-#ifndef USELUCENE
- if (fastSearch[0])
- delete fastSearch[0];
-
- if (fastSearch[1])
- delete fastSearch[1];
-#endif
}
@@ -98,7 +88,7 @@ SWBuf &RawText::getRawEntryBuf() {
unsigned short size = 0;
VerseKey &key = getVerseKey();
- findOffset(key.Testament(), key.Index(), &start, &size);
+ findOffset(key.Testament(), key.TestamentIndex(), &start, &size);
entrySize = size; // support getEntrySize call
entryBuf = "";
@@ -114,382 +104,16 @@ SWBuf &RawText::getRawEntryBuf() {
}
-signed char RawText::createSearchFramework(void (*percent)(char, void *), void *percentUserData) {
-#ifndef USELUCENE
- SWKey *savekey = 0;
- SWKey *searchkey = 0;
- SWKey textkey;
- char *word = 0;
- char *wordBuf = 0;
-
- // dictionary holds words associated with a list
- // containing every module position that contains
- // the word. [0] Old Testament; [1] NT
- map < SWBuf, list<long> > dictionary[2];
-
-
- // save key information so as not to disrupt original
- // module position
- if (!key->Persist()) {
- savekey = CreateKey();
- *savekey = *key;
- }
- else savekey = key;
-
- searchkey = (key->Persist())?key->clone():0;
- if (searchkey) {
- searchkey->Persist(1);
- setKey(*searchkey);
- }
-
- // position module at the beginning
- *this = TOP;
-
- VerseKey *lkey = (VerseKey *)key;
-
- // iterate thru each entry in module
- while (!Error()) {
- long index = lkey->Index();
- wordBuf = (char *)calloc(sizeof(char), strlen(StripText()) + 1);
- strcpy(wordBuf, StripText());
-
- // grab each word from the text
- word = strtok(wordBuf, " !.,?;:()-=+/\\|{}[]\"<>");
- while (word) {
-
- // make word upper case
- toupperstr(word);
-
- // lookup word in dictionary (or make entry in dictionary
- // for this word) and add this module position (index) to
- // the word's associated list of module positions
- dictionary[lkey->Testament()-1][word].push_back(index);
- word = strtok(NULL, " !.,?;:()-=+/\\|{}[]\"<>");
- }
- free(wordBuf);
- (*this)++;
- }
-
- // reposition module back to where it was before we were called
- setKey(*savekey);
-
- if (!savekey->Persist())
- delete savekey;
-
- if (searchkey)
- delete searchkey;
-
-
- // --------- Let's output an index from our dictionary -----------
- FileDesc *datfd;
- FileDesc *idxfd;
- strlist::iterator it;
- longlist::iterator it2;
- unsigned long offset, entryoff;
- unsigned short size;
-
- SWBuf fname;
- fname = path;
- char ch = fname.c_str()[strlen(fname.c_str())-1];
- if ((ch != '/') && (ch != '\\'))
- fname += "/";
-
- // for old and new testament do...
- for (int loop = 0; loop < 2; loop++) {
- datfd = FileMgr::getSystemFileMgr()->open((fname + ((loop)?"ntwords.dat":"otwords.dat")).c_str(), FileMgr::CREAT|FileMgr::WRONLY, 00644);
- if (datfd->getFd() == -1)
- return -1;
- idxfd = FileMgr::getSystemFileMgr()->open((fname + ((loop)?"ntwords.idx":"otwords.idx")).c_str(), FileMgr::CREAT|FileMgr::WRONLY, 00644);
- if (idxfd->getFd() == -1) {
- FileMgr::getSystemFileMgr()->close(datfd);
- return -1;
- }
-
- // iterate thru each word in the dictionary
- for (it = dictionary[loop].begin(); it != dictionary[loop].end(); it++) {
- printf("%s: ", it->first.c_str());
-
- // get our current offset in our word.dat file and write this as the start
- // of the next entry in our database
- offset = datfd->seek(0, SEEK_CUR);
- idxfd->write(&offset, 4);
-
- // write our word out to the word.dat file, delineating with a \n
- datfd->write(it->first.c_str(), strlen(it->first.c_str()));
- datfd->write("\n", 1);
-
- // force our mod position list for this word to be unique (remove
- // duplicates that may exist if the word was found more than once
- // in the verse
- it->second.unique();
-
- // iterate thru each mod position for this word and output it to
- // our database
- unsigned short count = 0;
- for (it2 = it->second.begin(); it2 != it->second.end(); it2++) {
- entryoff= *it2;
- datfd->write(&entryoff, 4);
- count++;
- }
-
- // now see what our new position is in our word.dat file and
- // determine the size of this database entry
- size = datfd->seek(0, SEEK_CUR) - offset;
-
- // store the size of this database entry
- idxfd->write(&size, 2);
- printf("%d entries (size: %d)\n", count, size);
- }
- FileMgr::getSystemFileMgr()->close(datfd);
- FileMgr::getSystemFileMgr()->close(idxfd);
- }
- return 0;
-#else
- return SWModule::createSearchFramework(percent, percentUserData);
-#endif
-}
-
-
-void RawText::deleteSearchFramework() {
-#ifndef USELUCENE
- SWBuf target = path;
- char ch = target.c_str()[strlen(target.c_str())-1];
- if ((ch != '/') && (ch != '\\'))
- target += "/lucene";
- FileMgr::removeFile(target + "ntwords.dat");
- FileMgr::removeFile(target + "otwords.dat");
- FileMgr::removeFile(target + "ntwords.idx");
- FileMgr::removeFile(target + "otwords.idx");
-#else
- SWModule::deleteSearchFramework();
-#endif
-}
-
-
-/******************************************************************************
- * SWModule::search - Searches a module for a string
- *
- * ENT: istr - string for which to search
- * searchType - type of search to perform
- * >=0 - regex
- * -1 - phrase
- * -2 - multiword
- * flags - options flags for search
- * justCheckIfSupported - if set, don't search, only tell if this
- * function supports requested search.
- *
- * RET: ListKey set to verses that contain istr
- */
-
-ListKey &RawText::search(const char *istr, int searchType, int flags, SWKey *scope, bool *justCheckIfSupported, void (*percent)(char, void *), void *percentUserData) {
-#ifndef USELUCENE
- listKey.ClearList();
-
- if ((fastSearch[0]) && (fastSearch[1])) {
-
- switch (searchType) {
- case -2: {
-
- if ((flags & REG_ICASE) != REG_ICASE) // if haven't chosen to
- // ignore case
- break; // can't handle fast case sensitive searches
-
- // test to see if our scope for this search is bounded by a
- // VerseKey
- VerseKey *testKeyType = 0;
- SWTRY {
- testKeyType = SWDYNAMIC_CAST(VerseKey, ((scope)?scope:key));
- }
- SWCATCH ( ... ) {}
- // if we don't have a VerseKey * decendant we can't handle
- // because of scope.
- // In the future, add bool SWKey::isValid(const char *tryString);
- if (!testKeyType)
- break;
-
-
- // check if we just want to see if search is supported.
- // If we've gotten this far, then it is supported.
- if (justCheckIfSupported) {
- *justCheckIfSupported = true;
- return listKey;
- }
-
- SWKey saveKey = *testKeyType; // save current place
-
- char error = 0;
- char **words = 0;
- char *wordBuf = 0;
- int wordCount = 0;
- long start;
- unsigned short size;
- char *idxbuf = 0;
- SWBuf datBuf;
- list <long> indexes;
- list <long> indexes2;
- VerseKey vk;
- vk = TOP;
-
- (*percent)(10, percentUserData);
-
- // toupper our copy of search string
- stdstr(&wordBuf, istr);
- toupperstr(wordBuf);
-
- // get list of individual words
- words = (char **)calloc(sizeof(char *), 10);
- int allocWords = 10;
- words[wordCount] = strtok(wordBuf, " ");
- while (words[wordCount]) {
- wordCount++;
- if (wordCount == allocWords) {
- allocWords+=10;
- words = (char **)realloc(words, sizeof(char *)*allocWords);
- }
- words[wordCount] = strtok(NULL, " ");
- }
-
- (*percent)(20, percentUserData);
-
- // clear our result set
- indexes.erase(indexes.begin(), indexes.end());
-
- // search both old and new testament indexes
- for (int j = 0; j < 2; j++) {
- // iterate thru each word the user passed to us.
- for (int i = 0; i < wordCount; i++) {
-
- // clear this word's result set
- indexes2.erase(indexes2.begin(), indexes2.end());
- error = 0;
-
- // iterate thru every word in the database that starts
- // with our search word
- for (int away = 0; !error; away++) {
- idxbuf = 0;
-
- // find our word in the database and jump ahead _away_
- error = fastSearch[j]->findOffset(words[i], &start, &size, away);
-
- // get the word from the database
- fastSearch[j]->getIDXBufDat(start, &idxbuf);
-
- // check to see if it starts with our target word
- if (strlen(idxbuf) > strlen(words[i]))
- idxbuf[strlen(words[i])] = 0;
-// else words[i][strlen(idxbuf)] = 0;
- if (!strcmp(idxbuf, words[i])) {
-
- // get data for this word from database
- delete [] idxbuf;
- idxbuf = 0;
- datBuf = "";
- fastSearch[j]->readText(start, &size, &idxbuf, datBuf);
-
- // we know that the data consists of sizof(long)
- // records each a valid module position that constains
- // this word
- //
- // iterate thru each of these module positions
- long *keyindex = (long *)datBuf.getRawData();
- while (keyindex < (long *)(datBuf.getRawData() + size - (strlen(idxbuf) + 1))) {
- if (i) { // if we're not on our first word
-
- // check to see if this word is already in the result set.
- // This is our AND functionality
- if (find(indexes.begin(), indexes.end(), *keyindex) != indexes.end())
- // add to new result set
- indexes2.push_back(*keyindex);
- }
- else indexes2.push_back(*keyindex);
- keyindex++;
- }
- }
- else error = 1; // no more matches
- free(idxbuf);
- }
-
- // make new result set final result set
- indexes = indexes2;
-
- percent((char)(20 + (float)((j*wordCount)+i)/(wordCount * 2) * 78), percentUserData);
- }
-
- // indexes contains our good verses, lets return them in a listKey
- indexes.sort();
-
- // iterate thru each good module position that meets the search
- for (longlist::iterator it = indexes.begin(); it != indexes.end(); it++) {
-
- // set a temporary verse key to this module position
- vk.Testament(j+1);
- vk.Error();
- vk.Index(*it);
-
- // check scope
- // Try to set our scope key to this verse key
- if (scope) {
- *testKeyType = vk;
-
- // check to see if it set ok and if so, add to our return list
- if (*testKeyType == vk)
- listKey << (const char *) vk;
- }
- else listKey << (const char*) vk;
- }
- }
- (*percent)(98, percentUserData);
-
- free(words);
- free(wordBuf);
-
- *testKeyType = saveKey; // set current place back to original
-
- listKey = TOP;
- (*percent)(100, percentUserData);
- return listKey;
- }
-
- default:
- break;
- }
- }
-
- // check if we just want to see if search is supported
- if (justCheckIfSupported) {
- *justCheckIfSupported = false;
- return listKey;
- }
-
-#endif
- // if we don't support this search, fall back to base class
- return SWModule::search(istr, searchType, flags, scope, justCheckIfSupported, percent, percentUserData);
-}
-
-
void RawText::setEntry(const char *inbuf, long len) {
VerseKey &key = getVerseKey();
- doSetText(key.Testament(), key.Index(), inbuf, len);
+ doSetText(key.Testament(), key.TestamentIndex(), inbuf, len);
}
void RawText::linkEntry(const SWKey *inkey) {
VerseKey &destkey = getVerseKey();
- const VerseKey *srckey = 0;
-
- // see if we have a VerseKey * or decendant
- SWTRY {
- srckey = SWDYNAMIC_CAST(VerseKey, inkey);
- }
- SWCATCH ( ... ) {}
- // if we don't have a VerseKey * decendant, create our own
- if (!srckey)
- srckey = new VerseKey(inkey);
-
- doLinkEntry(destkey.Testament(), destkey.Index(), srckey->Index());
-
- if (inkey != srckey) // free our key if we created a VerseKey
- delete srckey;
+ const VerseKey *srckey = &getVerseKey(inkey);
+ doLinkEntry(destkey.Testament(), destkey.TestamentIndex(), srckey->TestamentIndex());
}
@@ -501,7 +125,7 @@ void RawText::linkEntry(const SWKey *inkey) {
void RawText::deleteEntry() {
VerseKey &key = getVerseKey();
- doSetText(key.Testament(), key.Index(), "");
+ doSetText(key.Testament(), key.TestamentIndex(), "");
}
/******************************************************************************
@@ -517,21 +141,21 @@ void RawText::increment(int steps) {
unsigned short size;
VerseKey *tmpkey = &getVerseKey();
- findOffset(tmpkey->Testament(), tmpkey->Index(), &start, &size);
+ findOffset(tmpkey->Testament(), tmpkey->TestamentIndex(), &start, &size);
SWKey lastgood = *tmpkey;
while (steps) {
long laststart = start;
unsigned short lastsize = size;
SWKey lasttry = *tmpkey;
- (steps > 0) ? (*key)++ : (*key)--;
+ (steps > 0) ? ++(*key) : --(*key);
tmpkey = &getVerseKey();
if ((error = key->Error())) {
*key = lastgood;
break;
}
- long index = tmpkey->Index();
+ long index = tmpkey->TestamentIndex();
findOffset(tmpkey->Testament(), index, &start, &size);
if (
(((laststart != start) || (lastsize != size)) // we're a different entry
@@ -545,4 +169,28 @@ void RawText::increment(int steps) {
error = (error) ? KEYERR_OUTOFBOUNDS : 0;
}
+bool RawText::isLinked(const SWKey *k1, const SWKey *k2) const {
+ long start1, start2;
+ unsigned short size1, size2;
+ VerseKey *vk1 = &getVerseKey(k1);
+ VerseKey *vk2 = &getVerseKey(k2);
+ if (vk1->Testament() != vk2->Testament()) return false;
+
+ findOffset(vk1->Testament(), vk1->TestamentIndex(), &start1, &size1);
+ findOffset(vk2->Testament(), vk2->TestamentIndex(), &start2, &size2);
+ if (!size1 || !size2) return false;
+ return start1 == start2;
+}
+
+bool RawText::hasEntry(const SWKey *k) const {
+ long start;
+ unsigned short size;
+ VerseKey *vk = &getVerseKey(k);
+
+ findOffset(vk->Testament(), vk->TestamentIndex(), &start, &size);
+ return size;
+}
+
+
+
SWORD_NAMESPACE_END
diff --git a/src/modules/texts/rawtext4/rawtext4.cpp b/src/modules/texts/rawtext4/rawtext4.cpp
index a06691e..65f5cef 100644
--- a/src/modules/texts/rawtext4/rawtext4.cpp
+++ b/src/modules/texts/rawtext4/rawtext4.cpp
@@ -1,9 +1,24 @@
/******************************************************************************
- * rawtext4.cpp - code for class 'RawText4'- a module that reads raw text files:
- * ot and nt using indexs ??.bks ??.cps ??.vss
+ * rawtext4.cpp - code for class 'RawText4'- a module that reads raw text
+ * files: ot and nt using indexs ??.bks ??.cps ??.vss
+ *
+ *
+ * Copyright 2009 CrossWire Bible Society (http://www.crosswire.org)
+ * CrossWire Bible Society
+ * P. O. Box 2528
+ * Tempe, AZ 85280-2528
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation version 2.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
*/
-
#include <stdio.h>
#include <fcntl.h>
#include <sysdata.h>
@@ -42,27 +57,9 @@ typedef list<long> longlist;
* idisp - Display object to use for displaying
*/
-RawText4::RawText4(const char *ipath, const char *iname, const char *idesc, SWDisplay *idisp, SWTextEncoding enc, SWTextDirection dir, SWTextMarkup mark, const char* ilang)
- : SWText(iname, idesc, idisp, enc, dir, mark, ilang),
+RawText4::RawText4(const char *ipath, const char *iname, const char *idesc, SWDisplay *idisp, SWTextEncoding enc, SWTextDirection dir, SWTextMarkup mark, const char* ilang, const char *versification)
+ : SWText(iname, idesc, idisp, enc, dir, mark, ilang, versification),
RawVerse4(ipath) {
-
-#ifndef USELUCENE
- SWBuf fname;
- fname = path;
- char ch = fname.c_str()[strlen(fname.c_str())-1];
- if ((ch != '/') && (ch != '\\'))
- fname += "/";
-
- for (int loop = 0; loop < 2; loop++) {
- fastSearch[loop] = 0;
- SWBuf fastidxname =(fname + ((loop)?"ntwords.dat":"otwords.dat"));
- if (FileMgr::existsFile(fastidxname.c_str())) {
- fastidxname = (fname + ((loop)?"ntwords.idx":"otwords.idx"));
- if (FileMgr::existsFile(fastidxname.c_str()))
- fastSearch[loop] = new RawStr4((fname + ((loop)?"ntwords":"otwords")).c_str());
- }
- }
-#endif
}
@@ -71,13 +68,6 @@ RawText4::RawText4(const char *ipath, const char *iname, const char *idesc, SWDi
*/
RawText4::~RawText4() {
-#ifndef USELUCENE
- if (fastSearch[0])
- delete fastSearch[0];
-
- if (fastSearch[1])
- delete fastSearch[1];
-#endif
}
@@ -98,7 +88,7 @@ SWBuf &RawText4::getRawEntryBuf() {
unsigned long size = 0;
VerseKey &key = getVerseKey();
- findOffset(key.Testament(), key.Index(), &start, &size);
+ findOffset(key.Testament(), key.TestamentIndex(), &start, &size);
entrySize = size; // support getEntrySize call
entryBuf = "";
@@ -114,382 +104,16 @@ SWBuf &RawText4::getRawEntryBuf() {
}
-signed char RawText4::createSearchFramework(void (*percent)(char, void *), void *percentUserData) {
-#ifndef USELUCENE
- SWKey *savekey = 0;
- SWKey *searchkey = 0;
- SWKey textkey;
- char *word = 0;
- char *wordBuf = 0;
-
- // dictionary holds words associated with a list
- // containing every module position that contains
- // the word. [0] Old Testament; [1] NT
- map < SWBuf, list<long> > dictionary[2];
-
-
- // save key information so as not to disrupt original
- // module position
- if (!key->Persist()) {
- savekey = CreateKey();
- *savekey = *key;
- }
- else savekey = key;
-
- searchkey = (key->Persist())?key->clone():0;
- if (searchkey) {
- searchkey->Persist(1);
- setKey(*searchkey);
- }
-
- // position module at the beginning
- *this = TOP;
-
- VerseKey *lkey = (VerseKey *)key;
-
- // iterate thru each entry in module
- while (!Error()) {
- long index = lkey->Index();
- wordBuf = (char *)calloc(sizeof(char), strlen(StripText()) + 1);
- strcpy(wordBuf, StripText());
-
- // grab each word from the text
- word = strtok(wordBuf, " !.,?;:()-=+/\\|{}[]\"<>");
- while (word) {
-
- // make word upper case
- toupperstr(word);
-
- // lookup word in dictionary (or make entry in dictionary
- // for this word) and add this module position (index) to
- // the word's associated list of module positions
- dictionary[lkey->Testament()-1][word].push_back(index);
- word = strtok(NULL, " !.,?;:()-=+/\\|{}[]\"<>");
- }
- free(wordBuf);
- (*this)++;
- }
-
- // reposition module back to where it was before we were called
- setKey(*savekey);
-
- if (!savekey->Persist())
- delete savekey;
-
- if (searchkey)
- delete searchkey;
-
-
- // --------- Let's output an index from our dictionary -----------
- FileDesc *datfd;
- FileDesc *idxfd;
- strlist::iterator it;
- longlist::iterator it2;
- unsigned long offset, entryoff;
- unsigned long size;
-
- SWBuf fname;
- fname = path;
- char ch = fname.c_str()[strlen(fname.c_str())-1];
- if ((ch != '/') && (ch != '\\'))
- fname += "/";
-
- // for old and new testament do...
- for (int loop = 0; loop < 2; loop++) {
- datfd = FileMgr::getSystemFileMgr()->open((fname + ((loop)?"ntwords.dat":"otwords.dat")).c_str(), FileMgr::CREAT|FileMgr::WRONLY, 00644);
- if (datfd->getFd() == -1)
- return -1;
- idxfd = FileMgr::getSystemFileMgr()->open((fname + ((loop)?"ntwords.idx":"otwords.idx")).c_str(), FileMgr::CREAT|FileMgr::WRONLY, 00644);
- if (idxfd->getFd() == -1) {
- FileMgr::getSystemFileMgr()->close(datfd);
- return -1;
- }
-
- // iterate thru each word in the dictionary
- for (it = dictionary[loop].begin(); it != dictionary[loop].end(); it++) {
- printf("%s: ", it->first.c_str());
-
- // get our current offset in our word.dat file and write this as the start
- // of the next entry in our database
- offset = datfd->seek(0, SEEK_CUR);
- idxfd->write(&offset, 4);
-
- // write our word out to the word.dat file, delineating with a \n
- datfd->write(it->first.c_str(), strlen(it->first.c_str()));
- datfd->write("\n", 1);
-
- // force our mod position list for this word to be unique (remove
- // duplicates that may exist if the word was found more than once
- // in the verse
- it->second.unique();
-
- // iterate thru each mod position for this word and output it to
- // our database
- unsigned short count = 0;
- for (it2 = it->second.begin(); it2 != it->second.end(); it2++) {
- entryoff= *it2;
- datfd->write(&entryoff, 4);
- count++;
- }
-
- // now see what our new position is in our word.dat file and
- // determine the size of this database entry
- size = datfd->seek(0, SEEK_CUR) - offset;
-
- // store the size of this database entry
- idxfd->write(&size, 4);
- printf("%d entries (size: %d)\n", count, size);
- }
- FileMgr::getSystemFileMgr()->close(datfd);
- FileMgr::getSystemFileMgr()->close(idxfd);
- }
- return 0;
-#else
- return SWModule::createSearchFramework(percent, percentUserData);
-#endif
-}
-
-
-void RawText4::deleteSearchFramework() {
-#ifndef USELUCENE
- SWBuf target = path;
- char ch = target.c_str()[strlen(target.c_str())-1];
- if ((ch != '/') && (ch != '\\'))
- target += "/lucene";
- FileMgr::removeFile(target + "ntwords.dat");
- FileMgr::removeFile(target + "otwords.dat");
- FileMgr::removeFile(target + "ntwords.idx");
- FileMgr::removeFile(target + "otwords.idx");
-#else
- SWModule::deleteSearchFramework();
-#endif
-}
-
-
-/******************************************************************************
- * SWModule::search - Searches a module for a string
- *
- * ENT: istr - string for which to search
- * searchType - type of search to perform
- * >=0 - regex
- * -1 - phrase
- * -2 - multiword
- * flags - options flags for search
- * justCheckIfSupported - if set, don't search, only tell if this
- * function supports requested search.
- *
- * RET: ListKey set to verses that contain istr
- */
-
-ListKey &RawText4::search(const char *istr, int searchType, int flags, SWKey *scope, bool *justCheckIfSupported, void (*percent)(char, void *), void *percentUserData) {
-#ifndef USELUCENE
- listKey.ClearList();
-
- if ((fastSearch[0]) && (fastSearch[1])) {
-
- switch (searchType) {
- case -2: {
-
- if ((flags & REG_ICASE) != REG_ICASE) // if haven't chosen to
- // ignore case
- break; // can't handle fast case sensitive searches
-
- // test to see if our scope for this search is bounded by a
- // VerseKey
- VerseKey *testKeyType = 0;
- SWTRY {
- testKeyType = SWDYNAMIC_CAST(VerseKey, ((scope)?scope:key));
- }
- SWCATCH ( ... ) {}
- // if we don't have a VerseKey * decendant we can't handle
- // because of scope.
- // In the future, add bool SWKey::isValid(const char *tryString);
- if (!testKeyType)
- break;
-
-
- // check if we just want to see if search is supported.
- // If we've gotten this far, then it is supported.
- if (justCheckIfSupported) {
- *justCheckIfSupported = true;
- return listKey;
- }
-
- SWKey saveKey = *testKeyType; // save current place
-
- char error = 0;
- char **words = 0;
- char *wordBuf = 0;
- int wordCount = 0;
- long start;
- unsigned long size;
- char *idxbuf = 0;
- SWBuf datBuf;
- list <long> indexes;
- list <long> indexes2;
- VerseKey vk;
- vk = TOP;
-
- (*percent)(10, percentUserData);
-
- // toupper our copy of search string
- stdstr(&wordBuf, istr);
- toupperstr(wordBuf);
-
- // get list of individual words
- words = (char **)calloc(sizeof(char *), 10);
- int allocWords = 10;
- words[wordCount] = strtok(wordBuf, " ");
- while (words[wordCount]) {
- wordCount++;
- if (wordCount == allocWords) {
- allocWords+=10;
- words = (char **)realloc(words, sizeof(char *)*allocWords);
- }
- words[wordCount] = strtok(NULL, " ");
- }
-
- (*percent)(20, percentUserData);
-
- // clear our result set
- indexes.erase(indexes.begin(), indexes.end());
-
- // search both old and new testament indexes
- for (int j = 0; j < 2; j++) {
- // iterate thru each word the user passed to us.
- for (int i = 0; i < wordCount; i++) {
-
- // clear this word's result set
- indexes2.erase(indexes2.begin(), indexes2.end());
- error = 0;
-
- // iterate thru every word in the database that starts
- // with our search word
- for (int away = 0; !error; away++) {
- idxbuf = 0;
-
- // find our word in the database and jump ahead _away_
- error = fastSearch[j]->findOffset(words[i], &start, &size, away);
-
- // get the word from the database
- fastSearch[j]->getIDXBufDat(start, &idxbuf);
-
- // check to see if it starts with our target word
- if (strlen(idxbuf) > strlen(words[i]))
- idxbuf[strlen(words[i])] = 0;
-// else words[i][strlen(idxbuf)] = 0;
- if (!strcmp(idxbuf, words[i])) {
-
- // get data for this word from database
- delete [] idxbuf;
- idxbuf = 0;
- datBuf = "";
- fastSearch[j]->readText(start, &size, &idxbuf, datBuf);
-
- // we know that the data consists of sizof(long)
- // records each a valid module position that constains
- // this word
- //
- // iterate thru each of these module positions
- long *keyindex = (long *)datBuf.getRawData();
- while (keyindex < (long *)(datBuf.getRawData() + size - (strlen(idxbuf) + 1))) {
- if (i) { // if we're not on our first word
-
- // check to see if this word is already in the result set.
- // This is our AND functionality
- if (find(indexes.begin(), indexes.end(), *keyindex) != indexes.end())
- // add to new result set
- indexes2.push_back(*keyindex);
- }
- else indexes2.push_back(*keyindex);
- keyindex++;
- }
- }
- else error = 1; // no more matches
- free(idxbuf);
- }
-
- // make new result set final result set
- indexes = indexes2;
-
- percent((char)(20 + (float)((j*wordCount)+i)/(wordCount * 2) * 78), percentUserData);
- }
-
- // indexes contains our good verses, lets return them in a listKey
- indexes.sort();
-
- // iterate thru each good module position that meets the search
- for (longlist::iterator it = indexes.begin(); it != indexes.end(); it++) {
-
- // set a temporary verse key to this module position
- vk.Testament(j+1);
- vk.Error();
- vk.Index(*it);
-
- // check scope
- // Try to set our scope key to this verse key
- if (scope) {
- *testKeyType = vk;
-
- // check to see if it set ok and if so, add to our return list
- if (*testKeyType == vk)
- listKey << (const char *) vk;
- }
- else listKey << (const char*) vk;
- }
- }
- (*percent)(98, percentUserData);
-
- free(words);
- free(wordBuf);
-
- *testKeyType = saveKey; // set current place back to original
-
- listKey = TOP;
- (*percent)(100, percentUserData);
- return listKey;
- }
-
- default:
- break;
- }
- }
-
- // check if we just want to see if search is supported
- if (justCheckIfSupported) {
- *justCheckIfSupported = false;
- return listKey;
- }
-
-#endif
- // if we don't support this search, fall back to base class
- return SWModule::search(istr, searchType, flags, scope, justCheckIfSupported, percent, percentUserData);
-}
-
-
void RawText4::setEntry(const char *inbuf, long len) {
VerseKey &key = getVerseKey();
- doSetText(key.Testament(), key.Index(), inbuf, len);
+ doSetText(key.Testament(), key.TestamentIndex(), inbuf, len);
}
void RawText4::linkEntry(const SWKey *inkey) {
VerseKey &destkey = getVerseKey();
- const VerseKey *srckey = 0;
-
- // see if we have a VerseKey * or decendant
- SWTRY {
- srckey = SWDYNAMIC_CAST(VerseKey, inkey);
- }
- SWCATCH ( ... ) {}
- // if we don't have a VerseKey * decendant, create our own
- if (!srckey)
- srckey = new VerseKey(inkey);
-
- doLinkEntry(destkey.Testament(), destkey.Index(), srckey->Index());
-
- if (inkey != srckey) // free our key if we created a VerseKey
- delete srckey;
+ const VerseKey *srckey = &getVerseKey(inkey);
+ doLinkEntry(destkey.Testament(), destkey.TestamentIndex(), srckey->TestamentIndex());
}
@@ -501,7 +125,7 @@ void RawText4::linkEntry(const SWKey *inkey) {
void RawText4::deleteEntry() {
VerseKey &key = getVerseKey();
- doSetText(key.Testament(), key.Index(), "");
+ doSetText(key.Testament(), key.TestamentIndex(), "");
}
/******************************************************************************
@@ -517,21 +141,21 @@ void RawText4::increment(int steps) {
unsigned long size;
VerseKey *tmpkey = &getVerseKey();
- findOffset(tmpkey->Testament(), tmpkey->Index(), &start, &size);
+ findOffset(tmpkey->Testament(), tmpkey->TestamentIndex(), &start, &size);
SWKey lastgood = *tmpkey;
while (steps) {
long laststart = start;
unsigned long lastsize = size;
SWKey lasttry = *tmpkey;
- (steps > 0) ? (*key)++ : (*key)--;
+ (steps > 0) ? ++(*key) : --(*key);
tmpkey = &getVerseKey();
if ((error = key->Error())) {
*key = lastgood;
break;
}
- long index = tmpkey->Index();
+ long index = tmpkey->TestamentIndex();
findOffset(tmpkey->Testament(), index, &start, &size);
if (
(((laststart != start) || (lastsize != size)) // we're a different entry
@@ -545,4 +169,25 @@ void RawText4::increment(int steps) {
error = (error) ? KEYERR_OUTOFBOUNDS : 0;
}
+bool RawText4::isLinked(const SWKey *k1, const SWKey *k2) const {
+ long start1, start2;
+ unsigned long size1, size2;
+ VerseKey *vk1 = &getVerseKey(k1);
+ VerseKey *vk2 = &getVerseKey(k2);
+ if (vk1->Testament() != vk2->Testament()) return false;
+
+ findOffset(vk1->Testament(), vk1->TestamentIndex(), &start1, &size1);
+ findOffset(vk2->Testament(), vk2->TestamentIndex(), &start2, &size2);
+ return start1 == start2;
+}
+
+bool RawText4::hasEntry(const SWKey *k) const {
+ long start;
+ unsigned long size;
+ VerseKey *vk = &getVerseKey(k);
+
+ findOffset(vk->Testament(), vk->TestamentIndex(), &start, &size);
+ return size;
+}
+
SWORD_NAMESPACE_END
diff --git a/src/modules/texts/swtext.cpp b/src/modules/texts/swtext.cpp
index d0ff386..a7f5f92 100644
--- a/src/modules/texts/swtext.cpp
+++ b/src/modules/texts/swtext.cpp
@@ -1,7 +1,24 @@
/******************************************************************************
* swtext.cpp - code for base class 'SWText'- The basis for all text modules
+ *
+ *
+ * Copyright 2009 CrossWire Bible Society (http://www.crosswire.org)
+ * CrossWire Bible Society
+ * P. O. Box 2528
+ * Tempe, AZ 85280-2528
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation version 2.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
*/
+#include <utilstr.h>
#include <swtext.h>
#include <listkey.h>
#include <localemgr.h>
@@ -17,10 +34,14 @@ SWORD_NAMESPACE_START
* idisp - Display object to use for displaying
*/
-SWText::SWText(const char *imodname, const char *imoddesc, SWDisplay *idisp, SWTextEncoding enc, SWTextDirection dir, SWTextMarkup mark, const char* ilang): SWModule(imodname, imoddesc, idisp, (char *)"Biblical Texts", enc, dir, mark, ilang) {
- tmpVK = new VerseKey();
+SWText::SWText(const char *imodname, const char *imoddesc, SWDisplay *idisp, SWTextEncoding enc, SWTextDirection dir, SWTextMarkup mark, const char* ilang, const char *versification): SWModule(imodname, imoddesc, idisp, "Biblical Texts", enc, dir, mark, ilang) {
+ this->versification = 0;
+ stdstr(&(this->versification), versification);
delete key;
- key = CreateKey();
+ key = (VerseKey *)CreateKey();
+ tmpVK1 = (VerseKey *)CreateKey();
+ tmpVK2 = (VerseKey *)CreateKey();
+ tmpSecond = false;
skipConsecutiveLinks = false;
}
@@ -30,7 +51,9 @@ SWText::SWText(const char *imodname, const char *imoddesc, SWDisplay *idisp, SWT
*/
SWText::~SWText() {
- delete tmpVK;
+ delete tmpVK1;
+ delete tmpVK2;
+ delete [] versification;
}
@@ -38,60 +61,49 @@ SWText::~SWText() {
* SWText CreateKey - Create the correct key (VerseKey) for use with SWText
*/
-SWKey *SWText::CreateKey() {
- return new VerseKey();
-}
+SWKey *SWText::CreateKey() const {
+ VerseKey *vk = new VerseKey();
+ vk->setVersificationSystem(versification);
-long SWText::Index() const {
- VerseKey *key = 0;
- SWTRY {
- key = SWDYNAMIC_CAST(VerseKey, this->key);
- }
- SWCATCH ( ... ) {}
- if (!key)
- key = new VerseKey(this->key);
+ return vk;
+}
- entryIndex = key->NewIndex();
- if (key != this->key)
- delete key;
+long SWText::Index() const {
+ VerseKey *key = &getVerseKey();
+ entryIndex = key->Index();
return entryIndex;
}
long SWText::Index(long iindex) {
- VerseKey *key = 0;
- SWTRY {
- key = SWDYNAMIC_CAST(VerseKey, this->key);
- }
- SWCATCH ( ... ) {}
- if (!key)
- key = new VerseKey(this->key);
+ VerseKey *key = &getVerseKey();
key->Testament(1);
key->Index(iindex);
if (key != this->key) {
this->key->copyFrom(*key);
- delete key;
}
return Index();
}
-VerseKey &SWText::getVerseKey() const {
- VerseKey *key = NULL;
+VerseKey &SWText::getVerseKey(const SWKey *keyToConvert) const {
+ const SWKey *thisKey = keyToConvert ? keyToConvert : this->key;
+
+ VerseKey *key = 0;
// see if we have a VerseKey * or decendant
SWTRY {
- key = SWDYNAMIC_CAST(VerseKey, this->key);
+ key = SWDYNAMIC_CAST(VerseKey, thisKey);
}
SWCATCH ( ... ) { }
if (!key) {
ListKey *lkTest = 0;
SWTRY {
- lkTest = SWDYNAMIC_CAST(ListKey, this->key);
+ lkTest = SWDYNAMIC_CAST(ListKey, thisKey);
}
SWCATCH ( ... ) { }
if (lkTest) {
@@ -102,9 +114,11 @@ VerseKey &SWText::getVerseKey() const {
}
}
if (!key) {
- tmpVK->setLocale(LocaleMgr::getSystemLocaleMgr()->getDefaultLocaleName());
- (*tmpVK) = *(this->key);
- return (*tmpVK);
+ VerseKey *retKey = (tmpSecond) ? tmpVK1 : tmpVK2;
+ tmpSecond = !tmpSecond;
+ retKey->setLocale(LocaleMgr::getSystemLocaleMgr()->getDefaultLocaleName());
+ (*retKey) = *(thisKey);
+ return (*retKey);
}
else return *key;
}
diff --git a/src/modules/texts/ztext/ztext.cpp b/src/modules/texts/ztext/ztext.cpp
index b461d49..61b3008 100644
--- a/src/modules/texts/ztext/ztext.cpp
+++ b/src/modules/texts/ztext/ztext.cpp
@@ -1,9 +1,24 @@
/******************************************************************************
* ztext.cpp - code for class 'zText'- a module that reads compressed text
* files: ot and nt using indexs ??.vss
+ *
+ *
+ * Copyright 2009 CrossWire Bible Society (http://www.crosswire.org)
+ * CrossWire Bible Society
+ * P. O. Box 2528
+ * Tempe, AZ 85280-2528
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation version 2.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
*/
-
#include <ctype.h>
#include <stdio.h>
#include <fcntl.h>
@@ -29,8 +44,8 @@ SWORD_NAMESPACE_START
* idisp - Display object to use for displaying
*/
-zText::zText(const char *ipath, const char *iname, const char *idesc, int iblockType, SWCompress *icomp, SWDisplay *idisp, SWTextEncoding enc, SWTextDirection dir, SWTextMarkup mark, const char* ilang)
- : zVerse(ipath, FileMgr::RDWR, iblockType, icomp), SWText(iname, idesc, idisp, enc, dir, mark, ilang) {
+zText::zText(const char *ipath, const char *iname, const char *idesc, int iblockType, SWCompress *icomp, SWDisplay *idisp, SWTextEncoding enc, SWTextDirection dir, SWTextMarkup mark, const char *ilang, const char *versification)
+ : zVerse(ipath, FileMgr::RDWR, iblockType, icomp), SWText(iname, idesc, idisp, enc, dir, mark, ilang, versification) {
blockType = iblockType;
lastWriteKey = 0;
}
@@ -62,14 +77,15 @@ bool zText::isWritable() { return ((idxfp[0]->getFd() > 0) && ((idxfp[0]->mode &
SWBuf &zText::getRawEntryBuf() {
long start = 0;
unsigned short size = 0;
+ unsigned long buffnum = 0;
VerseKey &key = getVerseKey();
- findOffset(key.Testament(), key.Index(), &start, &size);
+ findOffset(key.Testament(), key.TestamentIndex(), &start, &size, &buffnum);
entrySize = size; // support getEntrySize call
entryBuf = "";
- zReadText(key.Testament(), start, size, entryBuf);
-
+
+ zReadText(key.Testament(), start, size, buffnum, entryBuf);
rawFilter(entryBuf, &key);
// if (!isUnicode())
@@ -109,7 +125,7 @@ void zText::setEntry(const char *inbuf, long len) {
delete lastWriteKey;
}
- doSetText(key.Testament(), key.Index(), inbuf, len);
+ doSetText(key.Testament(), key.TestamentIndex(), inbuf, len);
lastWriteKey = (VerseKey *)key.clone(); // must delete
}
@@ -117,22 +133,8 @@ void zText::setEntry(const char *inbuf, long len) {
void zText::linkEntry(const SWKey *inkey) {
VerseKey &destkey = getVerseKey();
- const VerseKey *srckey = 0;
-
- // see if we have a VerseKey * or decendant
- SWTRY {
- srckey = (const VerseKey *) SWDYNAMIC_CAST(VerseKey, inkey);
- }
- SWCATCH ( ... ) {
- }
- // if we don't have a VerseKey * decendant, create our own
- if (!srckey)
- srckey = new VerseKey(inkey);
-
- doLinkEntry(destkey.Testament(), destkey.Index(), srckey->Index());
-
- if (inkey != srckey) // free our key if we created a VerseKey
- delete srckey;
+ const VerseKey *srckey = &getVerseKey(inkey);
+ doLinkEntry(destkey.Testament(), destkey.TestamentIndex(), srckey->TestamentIndex());
}
@@ -145,7 +147,7 @@ void zText::deleteEntry() {
VerseKey &key = getVerseKey();
- doSetText(key.Testament(), key.Index(), "");
+ doSetText(key.Testament(), key.TestamentIndex(), "");
}
@@ -157,26 +159,27 @@ void zText::deleteEntry() {
*/
void zText::increment(int steps) {
- long start;
+ long start;
unsigned short size;
+ unsigned long buffnum;
VerseKey *tmpkey = &getVerseKey();
- findOffset(tmpkey->Testament(), tmpkey->Index(), &start, &size);
+ findOffset(tmpkey->Testament(), tmpkey->TestamentIndex(), &start, &size, &buffnum);
SWKey lastgood = *tmpkey;
while (steps) {
long laststart = start;
unsigned short lastsize = size;
SWKey lasttry = *tmpkey;
- (steps > 0) ? (*key)++ : (*key)--;
+ (steps > 0) ? ++(*key) : --(*key);
tmpkey = &getVerseKey();
if ((error = key->Error())) {
*key = lastgood;
break;
}
- long index = tmpkey->Index();
- findOffset(tmpkey->Testament(), index, &start, &size);
+ long index = tmpkey->TestamentIndex();
+ findOffset(tmpkey->Testament(), index, &start, &size, &buffnum);
if (
(((laststart != start) || (lastsize != size)) // we're a different entry
@@ -190,6 +193,28 @@ void zText::increment(int steps) {
error = (error) ? KEYERR_OUTOFBOUNDS : 0;
}
+bool zText::isLinked(const SWKey *k1, const SWKey *k2) const {
+ long start1, start2;
+ unsigned short size1, size2;
+ unsigned long buffnum1, buffnum2;
+ VerseKey *vk1 = &getVerseKey(k1);
+ VerseKey *vk2 = &getVerseKey(k2);
+ if (vk1->Testament() != vk2->Testament()) return false;
+
+ findOffset(vk1->Testament(), vk1->TestamentIndex(), &start1, &size1, &buffnum1);
+ findOffset(vk2->Testament(), vk2->TestamentIndex(), &start2, &size2, &buffnum2);
+ return start1 == start2 && buffnum1 == buffnum2;
+}
+
+bool zText::hasEntry(const SWKey *k) const {
+ long start;
+ unsigned short size;
+ unsigned long buffnum;
+ VerseKey *vk = &getVerseKey(k);
+
+ findOffset(vk->Testament(), vk->TestamentIndex(), &start, &size, &buffnum);
+ return size;
+}
SWORD_NAMESPACE_END
diff --git a/src/utilfuns/Makefile.am b/src/utilfuns/Makefile.am
index 4160db0..e0fc031 100644
--- a/src/utilfuns/Makefile.am
+++ b/src/utilfuns/Makefile.am
@@ -1,7 +1,7 @@
if HAVE_VSNPRINTF
else
-CXXFLAGS += -DNO_VSNPRINTF
+AM_CXXFLAGS += -DNO_VSNPRINTF
endif
utilfunsdir = $(top_srcdir)/src/utilfuns
diff --git a/src/utilfuns/regex.c b/src/utilfuns/regex.c
deleted file mode 100644
index 09743d2..0000000
--- a/src/utilfuns/regex.c
+++ /dev/null
@@ -1,5721 +0,0 @@
-/* Extended regular expression matching and search library,
- version 0.12.
- (Implements POSIX draft P1003.2/D11.2, except for some of the
- internationalization features.)
-
- Copyright (C) 1993, 1994, 1995, 1996, 1997 Free Software Foundation, Inc.
-
- the C library, however. The master source lives in /gd/gnu/lib.
-
-NOTE: The canonical source of this file is maintained with the
-GNU C Library. Bugs can be reported to bug-glibc@prep.ai.mit.edu.
-
-This program is free software; you can redistribute it and/or modify it
-under the terms of the GNU General Public License as published by the
-Free Software Foundation; either version 2, or (at your option) any
-later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program; if not, write to the Free Software Foundation,
-Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
-
-/* AIX requires this to be the first thing in the file. */
-#if defined (_AIX) && !defined (REGEX_MALLOC)
- #pragma alloca
-#endif
-
-#undef _GNU_SOURCE
-#define _GNU_SOURCE
-
-#ifdef HAVE_CONFIG_H
-#include <config.h>
-#endif
-
-#if defined(STDC_HEADERS) && !defined(emacs)
-#include <stddef.h>
-#else
-/* We need this for `regex.h', and perhaps for the Emacs include files. */
-#include <sys/types.h>
-#endif
-#include <stdlib.h> // sword
-
-/* For platform which support the ISO C amendement 1 functionality we
- support user defined character classes. */
-#if defined _LIBC || (defined HAVE_WCTYPE_H && defined HAVE_WCHAR_H)
-# include <wctype.h>
-# include <wchar.h>
-#endif
-
-/* This is for other GNU distributions with internationalized messages. */
-#if HAVE_LIBINTL_H || defined (_LIBC)
-# include <libintl.h>
-#else
-# define gettext(msgid) (msgid)
-#endif
-
-#ifndef gettext_noop
-/* This define is so xgettext can find the internationalizable
- strings. */
-#define gettext_noop(String) String
-#endif
-
-/* The `emacs' switch turns on certain matching commands
- that make sense only in Emacs. */
-#ifdef emacs
-
-#include "lisp.h"
-#include "buffer.h"
-#include "syntax.h"
-
-#else /* not emacs */
-
-/* If we are not linking with Emacs proper,
- we can't use the relocating allocator
- even if config.h says that we can. */
-#undef REL_ALLOC
-
-#if defined (STDC_HEADERS) || defined (_LIBC)
-#include <stdlib.h>
-#else
-//sword char *malloc ();
-//sword char *realloc ();
-#endif
-
-/* When used in Emacs's lib-src, we need to get bzero and bcopy somehow.
- If nothing else has been done, use the method below. */
-#ifdef INHIBIT_STRING_HEADER
-#if !(defined (HAVE_BZERO) && defined (HAVE_BCOPY))
-#if !defined (bzero) && !defined (bcopy)
-#undef INHIBIT_STRING_HEADER
-#endif
-#endif
-#endif
-
-/* This is the normal way of making sure we have a bcopy and a bzero.
- This is used in most programs--a few other programs avoid this
- by defining INHIBIT_STRING_HEADER. */
-#define HAVE_STRING_H // for SWORD Project
-#ifndef INHIBIT_STRING_HEADER
-#if defined (HAVE_STRING_H) || defined (STDC_HEADERS) || defined (_LIBC)
-#include <string.h>
-#ifndef bcmp
-#define bcmp(s1, s2, n) memcmp ((s1), (s2), (n))
-#endif
-#ifndef bcopy
-#define bcopy(s, d, n) memcpy ((d), (s), (n))
-#endif
-#ifndef bzero
-#define bzero(s, n) memset ((s), 0, (n))
-#endif
-#else
-#include <strings.h>
-#endif
-#endif
-
-/* Define the syntax stuff for \<, \>, etc. */
-
-/* This must be nonzero for the wordchar and notwordchar pattern
- commands in re_match_2. */
-#ifndef Sword
-#define Sword 1
-#endif
-
-#ifdef SWITCH_ENUM_BUG
-#define SWITCH_ENUM_CAST(x) ((int)(x))
-#else
-#define SWITCH_ENUM_CAST(x) (x)
-#endif
-
-#ifdef SYNTAX_TABLE
-
-extern char *re_syntax_table;
-
-#else /* not SYNTAX_TABLE */
-
-/* How many characters in the character set. */
-#define CHAR_SET_SIZE 256
-
-static char re_syntax_table[CHAR_SET_SIZE];
-
-static void
-init_syntax_once ()
-{
- register int c;
- static int done = 0;
-
- if (done)
- return;
-
- bzero (re_syntax_table, sizeof re_syntax_table);
-
- for (c = 'a'; c <= 'z'; c++)
- re_syntax_table[c] = Sword;
-
- for (c = 'A'; c <= 'Z'; c++)
- re_syntax_table[c] = Sword;
-
- for (c = '0'; c <= '9'; c++)
- re_syntax_table[c] = Sword;
-
- re_syntax_table['_'] = Sword;
-
- done = 1;
-}
-
-#endif /* not SYNTAX_TABLE */
-
-#define SYNTAX(c) re_syntax_table[c]
-
-#endif /* not emacs */
-
-/* Get the interface, including the syntax bits. */
-#include "regex.h"
-
-/* isalpha etc. are used for the character classes. */
-#include <ctype.h>
-
-/* Jim Meyering writes:
-
- "... Some ctype macros are valid only for character codes that
- isascii says are ASCII (SGI's IRIX-4.0.5 is one such system --when
- using /bin/cc or gcc but without giving an ansi option). So, all
- ctype uses should be through macros like ISPRINT... If
- STDC_HEADERS is defined, then autoconf has verified that the ctype
- macros don't need to be guarded with references to isascii. ...
- Defining isascii to 1 should let any compiler worth its salt
- eliminate the && through constant folding." */
-
-#if defined (STDC_HEADERS) || (!defined (isascii) && !defined (HAVE_ISASCII))
-#define ISASCII(c) 1
-#else
-#define ISASCII(c) isascii(c)
-#endif
-
-#ifdef isblank
-#define ISBLANK(c) (ISASCII (c) && isblank (c))
-#else
-#define ISBLANK(c) ((c) == ' ' || (c) == '\t')
-#endif
-#ifdef isgraph
-#define ISGRAPH(c) (ISASCII (c) && isgraph (c))
-#else
-#define ISGRAPH(c) (ISASCII (c) && isprint (c) && !isspace (c))
-#endif
-
-#define ISPRINT(c) (ISASCII (c) && isprint (c))
-#define ISDIGIT(c) (ISASCII (c) && isdigit (c))
-#define ISALNUM(c) (ISASCII (c) && isalnum (c))
-#define ISALPHA(c) (ISASCII (c) && isalpha (c))
-#define ISCNTRL(c) (ISASCII (c) && iscntrl (c))
-#define ISLOWER(c) (ISASCII (c) && islower (c))
-#define ISPUNCT(c) (ISASCII (c) && ispunct (c))
-#define ISSPACE(c) (ISASCII (c) && isspace (c))
-#define ISUPPER(c) (ISASCII (c) && isupper (c))
-#define ISXDIGIT(c) (ISASCII (c) && isxdigit (c))
-
-#ifndef NULL
-#define NULL (void *)0
-#endif
-
-/* We remove any previous definition of `SIGN_EXTEND_CHAR',
- since ours (we hope) works properly with all combinations of
- machines, compilers, `char' and `unsigned char' argument types.
- (Per Bothner suggested the basic approach.) */
-#undef SIGN_EXTEND_CHAR
-#if __STDC__
-#define SIGN_EXTEND_CHAR(c) ((signed char) (c))
-#else /* not __STDC__ */
-/* As in Harbison and Steele. */
-#define SIGN_EXTEND_CHAR(c) ((((unsigned char) (c)) ^ 128) - 128)
-#endif
-
-/* Should we use malloc or alloca? If REGEX_MALLOC is not defined, we
- use `alloca' instead of `malloc'. This is because using malloc in
- re_search* or re_match* could cause memory leaks when C-g is used in
- Emacs; also, malloc is slower and causes storage fragmentation. On
- the other hand, malloc is more portable, and easier to debug.
-
- Because we sometimes use alloca, some routines have to be macros,
- not functions -- `alloca'-allocated space disappears at the end of the
- function it is called in. */
-
-#ifdef REGEX_MALLOC
-
-#define REGEX_ALLOCATE malloc
-#define REGEX_REALLOCATE(source, osize, nsize) realloc (source, nsize)
-#define REGEX_FREE free
-
-#else /* not REGEX_MALLOC */
-
-/* Emacs already defines alloca, sometimes. */
-#ifndef alloca
-
-/* Make alloca work the best possible way. */
-#ifdef __GNUC__
-#define alloca __builtin_alloca
-#else /* not __GNUC__ */
-#if HAVE_ALLOCA_H
-#include <alloca.h>
-#else /* not __GNUC__ or HAVE_ALLOCA_H */
-#if 0 /* It is a bad idea to declare alloca. We always cast the result. */
-#ifndef _AIX /* Already did AIX, up at the top. */
-char *alloca ();
-#endif /* not _AIX */
-#endif
-#endif /* not HAVE_ALLOCA_H */
-#endif /* not __GNUC__ */
-
-#endif /* not alloca */
-
-#define REGEX_ALLOCATE alloca
-
-/* Assumes a `char *destination' variable. */
-#define REGEX_REALLOCATE(source, osize, nsize) \
- (destination = (char *) alloca (nsize), \
- bcopy (source, destination, osize), \
- destination)
-
-/* No need to do anything to free, after alloca. */
-#define REGEX_FREE(arg) ((void)0) /* Do nothing! But inhibit gcc warning. */
-
-#endif /* not REGEX_MALLOC */
-
-/* Define how to allocate the failure stack. */
-
-#if defined (REL_ALLOC) && defined (REGEX_MALLOC)
-
-#define REGEX_ALLOCATE_STACK(size) \
- r_alloc (&failure_stack_ptr, (size))
-#define REGEX_REALLOCATE_STACK(source, osize, nsize) \
- r_re_alloc (&failure_stack_ptr, (nsize))
-#define REGEX_FREE_STACK(ptr) \
- r_alloc_free (&failure_stack_ptr)
-
-#else /* not using relocating allocator */
-
-#ifdef REGEX_MALLOC
-
-#define REGEX_ALLOCATE_STACK malloc
-#define REGEX_REALLOCATE_STACK(source, osize, nsize) realloc (source, nsize)
-#define REGEX_FREE_STACK free
-
-#else /* not REGEX_MALLOC */
-
-#define REGEX_ALLOCATE_STACK alloca
-
-#define REGEX_REALLOCATE_STACK(source, osize, nsize) \
- REGEX_REALLOCATE (source, osize, nsize)
-/* No need to explicitly free anything. */
-#define REGEX_FREE_STACK(arg)
-
-#endif /* not REGEX_MALLOC */
-#endif /* not using relocating allocator */
-
-
-/* True if `size1' is non-NULL and PTR is pointing anywhere inside
- `string1' or just past its end. This works if PTR is NULL, which is
- a good thing. */
-#define FIRST_STRING_P(ptr) \
- (size1 && string1 <= (ptr) && (ptr) <= string1 + size1)
-
-/* (Re)Allocate N items of type T using malloc, or fail. */
-#define TALLOC(n, t) ((t *) malloc ((n) * sizeof (t)))
-#define RETALLOC(addr, n, t) ((addr) = (t *) realloc (addr, (n) * sizeof (t)))
-#define RETALLOC_IF(addr, n, t) \
- if (addr) RETALLOC((addr), (n), t); else (addr) = TALLOC ((n), t)
-#define REGEX_TALLOC(n, t) ((t *) REGEX_ALLOCATE ((n) * sizeof (t)))
-
-#define BYTEWIDTH 8 /* In bits. */
-
-#define STREQ(s1, s2) ((strcmp (s1, s2) == 0))
-
-#undef MAX
-#undef MIN
-#define MAX(a, b) ((a) > (b) ? (a) : (b))
-#define MIN(a, b) ((a) < (b) ? (a) : (b))
-
-typedef char boolean;
-#define false 0
-#define true 1
-
-static int re_match_2_internal ();
-
-/* These are the command codes that appear in compiled regular
- expressions. Some opcodes are followed by argument bytes. A
- command code can specify any interpretation whatsoever for its
- arguments. Zero bytes may appear in the compiled regular expression. */
-
-typedef enum
-{
- no_op = 0,
-
- /* Succeed right away--no more backtracking. */
- succeed,
-
- /* Followed by one byte giving n, then by n literal bytes. */
- exactn,
-
- /* Matches any (more or less) character. */
- anychar,
-
- /* Matches any one char belonging to specified set. First
- following byte is number of bitmap bytes. Then come bytes
- for a bitmap saying which chars are in. Bits in each byte
- are ordered low-bit-first. A character is in the set if its
- bit is 1. A character too large to have a bit in the map is
- automatically not in the set. */
- charset,
-
- /* Same parameters as charset, but match any character that is
- not one of those specified. */
- charset_not,
-
- /* Start remembering the text that is matched, for storing in a
- register. Followed by one byte with the register number, in
- the range 0 to one less than the pattern buffer's re_nsub
- field. Then followed by one byte with the number of groups
- inner to this one. (This last has to be part of the
- start_memory only because we need it in the on_failure_jump
- of re_match_2.) */
- start_memory,
-
- /* Stop remembering the text that is matched and store it in a
- memory register. Followed by one byte with the register
- number, in the range 0 to one less than `re_nsub' in the
- pattern buffer, and one byte with the number of inner groups,
- just like `start_memory'. (We need the number of inner
- groups here because we don't have any easy way of finding the
- corresponding start_memory when we're at a stop_memory.) */
- stop_memory,
-
- /* Match a duplicate of something remembered. Followed by one
- byte containing the register number. */
- duplicate,
-
- /* Fail unless at beginning of line. */
- begline,
-
- /* Fail unless at end of line. */
- endline,
-
- /* Succeeds if at beginning of buffer (if emacs) or at beginning
- of string to be matched (if not). */
- begbuf,
-
- /* Analogously, for end of buffer/string. */
- endbuf,
-
- /* Followed by two byte relative address to which to jump. */
- jump,
-
- /* Same as jump, but marks the end of an alternative. */
- jump_past_alt,
-
- /* Followed by two-byte relative address of place to resume at
- in case of failure. */
- on_failure_jump,
-
- /* Like on_failure_jump, but pushes a placeholder instead of the
- current string position when executed. */
- on_failure_keep_string_jump,
-
- /* Throw away latest failure point and then jump to following
- two-byte relative address. */
- pop_failure_jump,
-
- /* Change to pop_failure_jump if know won't have to backtrack to
- match; otherwise change to jump. This is used to jump
- back to the beginning of a repeat. If what follows this jump
- clearly won't match what the repeat does, such that we can be
- sure that there is no use backtracking out of repetitions
- already matched, then we change it to a pop_failure_jump.
- Followed by two-byte address. */
- maybe_pop_jump,
-
- /* Jump to following two-byte address, and push a dummy failure
- point. This failure point will be thrown away if an attempt
- is made to use it for a failure. A `+' construct makes this
- before the first repeat. Also used as an intermediary kind
- of jump when compiling an alternative. */
- dummy_failure_jump,
-
- /* Push a dummy failure point and continue. Used at the end of
- alternatives. */
- push_dummy_failure,
-
- /* Followed by two-byte relative address and two-byte number n.
- After matching N times, jump to the address upon failure. */
- succeed_n,
-
- /* Followed by two-byte relative address, and two-byte number n.
- Jump to the address N times, then fail. */
- jump_n,
-
- /* Set the following two-byte relative address to the
- subsequent two-byte number. The address *includes* the two
- bytes of number. */
- set_number_at,
-
- wordchar, /* Matches any word-constituent character. */
- notwordchar, /* Matches any char that is not a word-constituent. */
-
- wordbeg, /* Succeeds if at word beginning. */
- wordend, /* Succeeds if at word end. */
-
- wordbound, /* Succeeds if at a word boundary. */
- notwordbound /* Succeeds if not at a word boundary. */
-
-#ifdef emacs
- ,before_dot, /* Succeeds if before point. */
- at_dot, /* Succeeds if at point. */
- after_dot, /* Succeeds if after point. */
-
- /* Matches any character whose syntax is specified. Followed by
- a byte which contains a syntax code, e.g., Sword. */
- syntaxspec,
-
- /* Matches any character whose syntax is not that specified. */
- notsyntaxspec
-#endif /* emacs */
-} re_opcode_t;
-
-/* Common operations on the compiled pattern. */
-
-/* Store NUMBER in two contiguous bytes starting at DESTINATION. */
-
-#define STORE_NUMBER(destination, number) \
- do { \
- (destination)[0] = (number) & 0377; \
- (destination)[1] = (number) >> 8; \
- } while (0)
-
-/* Same as STORE_NUMBER, except increment DESTINATION to
- the byte after where the number is stored. Therefore, DESTINATION
- must be an lvalue. */
-
-#define STORE_NUMBER_AND_INCR(destination, number) \
- do { \
- STORE_NUMBER (destination, number); \
- (destination) += 2; \
- } while (0)
-
-/* Put into DESTINATION a number stored in two contiguous bytes starting
- at SOURCE. */
-
-#define EXTRACT_NUMBER(destination, source) \
- do { \
- (destination) = *(source) & 0377; \
- (destination) += SIGN_EXTEND_CHAR (*((source) + 1)) << 8; \
- } while (0)
-
-#ifdef DEBUG
-static void extract_number _RE_ARGS ((int *dest, unsigned char *source));
-static void
-extract_number (dest, source)
- int *dest;
- unsigned char *source;
-{
- int temp = SIGN_EXTEND_CHAR (*(source + 1));
- *dest = *source & 0377;
- *dest += temp << 8;
-}
-
-#ifndef EXTRACT_MACROS /* To debug the macros. */
-#undef EXTRACT_NUMBER
-#define EXTRACT_NUMBER(dest, src) extract_number (&dest, src)
-#endif /* not EXTRACT_MACROS */
-
-#endif /* DEBUG */
-
-/* Same as EXTRACT_NUMBER, except increment SOURCE to after the number.
- SOURCE must be an lvalue. */
-
-#define EXTRACT_NUMBER_AND_INCR(destination, source) \
- do { \
- EXTRACT_NUMBER (destination, source); \
- (source) += 2; \
- } while (0)
-
-#ifdef DEBUG
-static void extract_number_and_incr _RE_ARGS ((int *destination,
- unsigned char **source));
-static void
-extract_number_and_incr (destination, source)
- int *destination;
- unsigned char **source;
-{
- extract_number (destination, *source);
- *source += 2;
-}
-
-#ifndef EXTRACT_MACROS
-#undef EXTRACT_NUMBER_AND_INCR
-#define EXTRACT_NUMBER_AND_INCR(dest, src) \
- extract_number_and_incr (&dest, &src)
-#endif /* not EXTRACT_MACROS */
-
-#endif /* DEBUG */
-
-/* If DEBUG is defined, Regex prints many voluminous messages about what
- it is doing (if the variable `debug' is nonzero). If linked with the
- main program in `iregex.c', you can enter patterns and strings
- interactively. And if linked with the main program in `main.c' and
- the other test files, you can run the already-written tests. */
-
-#ifdef DEBUG
-
-/* We use standard I/O for debugging. */
-#include <stdio.h>
-
-/* It is useful to test things that ``must'' be true when debugging. */
-#include <assert.h>
-
-static int debug = 0;
-
-#define DEBUG_STATEMENT(e) e
-#define DEBUG_PRINT1(x) if (debug) printf (x)
-#define DEBUG_PRINT2(x1, x2) if (debug) printf (x1, x2)
-#define DEBUG_PRINT3(x1, x2, x3) if (debug) printf (x1, x2, x3)
-#define DEBUG_PRINT4(x1, x2, x3, x4) if (debug) printf (x1, x2, x3, x4)
-#define DEBUG_PRINT_COMPILED_PATTERN(p, s, e) \
- if (debug) print_partial_compiled_pattern (s, e)
-#define DEBUG_PRINT_DOUBLE_STRING(w, s1, sz1, s2, sz2) \
- if (debug) print_double_string (w, s1, sz1, s2, sz2)
-
-
-/* Print the fastmap in human-readable form. */
-
-void
-print_fastmap (fastmap)
- char *fastmap;
-{
- unsigned was_a_range = 0;
- unsigned i = 0;
-
- while (i < (1 << BYTEWIDTH))
- {
- if (fastmap[i++])
- {
- was_a_range = 0;
- putchar (i - 1);
- while (i < (1 << BYTEWIDTH) && fastmap[i])
- {
- was_a_range = 1;
- i++;
- }
- if (was_a_range)
- {
- printf ("-");
- putchar (i - 1);
- }
- }
- }
- putchar ('\n');
-}
-
-
-/* Print a compiled pattern string in human-readable form, starting at
- the START pointer into it and ending just before the pointer END. */
-
-void
-print_partial_compiled_pattern (start, end)
- unsigned char *start;
- unsigned char *end;
-{
- int mcnt, mcnt2;
- unsigned char *p1;
- unsigned char *p = start;
- unsigned char *pend = end;
-
- if (start == NULL)
- {
- printf ("(null)\n");
- return;
- }
-
- /* Loop over pattern commands. */
- while (p < pend)
- {
- printf ("%d:\t", p - start);
-
- switch ((re_opcode_t) *p++)
- {
- case no_op:
- printf ("/no_op");
- break;
-
- case exactn:
- mcnt = *p++;
- printf ("/exactn/%d", mcnt);
- do
- {
- putchar ('/');
- putchar (*p++);
- }
- while (--mcnt);
- break;
-
- case start_memory:
- mcnt = *p++;
- printf ("/start_memory/%d/%d", mcnt, *p++);
- break;
-
- case stop_memory:
- mcnt = *p++;
- printf ("/stop_memory/%d/%d", mcnt, *p++);
- break;
-
- case duplicate:
- printf ("/duplicate/%d", *p++);
- break;
-
- case anychar:
- printf ("/anychar");
- break;
-
- case charset:
- case charset_not:
- {
- register int c, last = -100;
- register int in_range = 0;
-
- printf ("/charset [%s",
- (re_opcode_t) *(p - 1) == charset_not ? "^" : "");
-
- assert (p + *p < pend);
-
- for (c = 0; c < 256; c++)
- if (c / 8 < *p
- && (p[1 + (c/8)] & (1 << (c % 8))))
- {
- /* Are we starting a range? */
- if (last + 1 == c && ! in_range)
- {
- putchar ('-');
- in_range = 1;
- }
- /* Have we broken a range? */
- else if (last + 1 != c && in_range)
- {
- putchar (last);
- in_range = 0;
- }
-
- if (! in_range)
- putchar (c);
-
- last = c;
- }
-
- if (in_range)
- putchar (last);
-
- putchar (']');
-
- p += 1 + *p;
- }
- break;
-
- case begline:
- printf ("/begline");
- break;
-
- case endline:
- printf ("/endline");
- break;
-
- case on_failure_jump:
- extract_number_and_incr (&mcnt, &p);
- printf ("/on_failure_jump to %d", p + mcnt - start);
- break;
-
- case on_failure_keep_string_jump:
- extract_number_and_incr (&mcnt, &p);
- printf ("/on_failure_keep_string_jump to %d", p + mcnt - start);
- break;
-
- case dummy_failure_jump:
- extract_number_and_incr (&mcnt, &p);
- printf ("/dummy_failure_jump to %d", p + mcnt - start);
- break;
-
- case push_dummy_failure:
- printf ("/push_dummy_failure");
- break;
-
- case maybe_pop_jump:
- extract_number_and_incr (&mcnt, &p);
- printf ("/maybe_pop_jump to %d", p + mcnt - start);
- break;
-
- case pop_failure_jump:
- extract_number_and_incr (&mcnt, &p);
- printf ("/pop_failure_jump to %d", p + mcnt - start);
- break;
-
- case jump_past_alt:
- extract_number_and_incr (&mcnt, &p);
- printf ("/jump_past_alt to %d", p + mcnt - start);
- break;
-
- case jump:
- extract_number_and_incr (&mcnt, &p);
- printf ("/jump to %d", p + mcnt - start);
- break;
-
- case succeed_n:
- extract_number_and_incr (&mcnt, &p);
- p1 = p + mcnt;
- extract_number_and_incr (&mcnt2, &p);
- printf ("/succeed_n to %d, %d times", p1 - start, mcnt2);
- break;
-
- case jump_n:
- extract_number_and_incr (&mcnt, &p);
- p1 = p + mcnt;
- extract_number_and_incr (&mcnt2, &p);
- printf ("/jump_n to %d, %d times", p1 - start, mcnt2);
- break;
-
- case set_number_at:
- extract_number_and_incr (&mcnt, &p);
- p1 = p + mcnt;
- extract_number_and_incr (&mcnt2, &p);
- printf ("/set_number_at location %d to %d", p1 - start, mcnt2);
- break;
-
- case wordbound:
- printf ("/wordbound");
- break;
-
- case notwordbound:
- printf ("/notwordbound");
- break;
-
- case wordbeg:
- printf ("/wordbeg");
- break;
-
- case wordend:
- printf ("/wordend");
-
-#ifdef emacs
- case before_dot:
- printf ("/before_dot");
- break;
-
- case at_dot:
- printf ("/at_dot");
- break;
-
- case after_dot:
- printf ("/after_dot");
- break;
-
- case syntaxspec:
- printf ("/syntaxspec");
- mcnt = *p++;
- printf ("/%d", mcnt);
- break;
-
- case notsyntaxspec:
- printf ("/notsyntaxspec");
- mcnt = *p++;
- printf ("/%d", mcnt);
- break;
-#endif /* emacs */
-
- case wordchar:
- printf ("/wordchar");
- break;
-
- case notwordchar:
- printf ("/notwordchar");
- break;
-
- case begbuf:
- printf ("/begbuf");
- break;
-
- case endbuf:
- printf ("/endbuf");
- break;
-
- default:
- printf ("?%d", *(p-1));
- }
-
- putchar ('\n');
- }
-
- printf ("%d:\tend of pattern.\n", p - start);
-}
-
-
-void
-print_compiled_pattern (bufp)
- struct re_pattern_buffer *bufp;
-{
- unsigned char *buffer = bufp->buffer;
-
- print_partial_compiled_pattern (buffer, buffer + bufp->used);
- printf ("%ld bytes used/%ld bytes allocated.\n",
- bufp->used, bufp->allocated);
-
- if (bufp->fastmap_accurate && bufp->fastmap)
- {
- printf ("fastmap: ");
- print_fastmap (bufp->fastmap);
- }
-
- printf ("re_nsub: %d\t", bufp->re_nsub);
- printf ("regs_alloc: %d\t", bufp->regs_allocated);
- printf ("can_be_null: %d\t", bufp->can_be_null);
- printf ("newline_anchor: %d\n", bufp->newline_anchor);
- printf ("no_sub: %d\t", bufp->no_sub);
- printf ("not_bol: %d\t", bufp->not_bol);
- printf ("not_eol: %d\t", bufp->not_eol);
- printf ("syntax: %lx\n", bufp->syntax);
- /* Perhaps we should print the translate table? */
-}
-
-
-void
-print_double_string (where, string1, size1, string2, size2)
- const char *where;
- const char *string1;
- const char *string2;
- int size1;
- int size2;
-{
- int this_char;
-
- if (where == NULL)
- printf ("(null)");
- else
- {
- if (FIRST_STRING_P (where))
- {
- for (this_char = where - string1; this_char < size1; this_char++)
- putchar (string1[this_char]);
-
- where = string2;
- }
-
- for (this_char = where - string2; this_char < size2; this_char++)
- putchar (string2[this_char]);
- }
-}
-
-void
-printchar (c)
- int c;
-{
- putc (c, stderr);
-}
-
-#else /* not DEBUG */
-
-#undef assert
-#define assert(e)
-
-#define DEBUG_STATEMENT(e)
-#define DEBUG_PRINT1(x)
-#define DEBUG_PRINT2(x1, x2)
-#define DEBUG_PRINT3(x1, x2, x3)
-#define DEBUG_PRINT4(x1, x2, x3, x4)
-#define DEBUG_PRINT_COMPILED_PATTERN(p, s, e)
-#define DEBUG_PRINT_DOUBLE_STRING(w, s1, sz1, s2, sz2)
-
-#endif /* not DEBUG */
-
-/* Set by `re_set_syntax' to the current regexp syntax to recognize. Can
- also be assigned to arbitrarily: each pattern buffer stores its own
- syntax, so it can be changed between regex compilations. */
-/* This has no initializer because initialized variables in Emacs
- become read-only after dumping. */
-reg_syntax_t re_syntax_options;
-
-
-/* Specify the precise syntax of regexps for compilation. This provides
- for compatibility for various utilities which historically have
- different, incompatible syntaxes.
-
- The argument SYNTAX is a bit mask comprised of the various bits
- defined in regex.h. We return the old syntax. */
-
-reg_syntax_t
-re_set_syntax (syntax)
- reg_syntax_t syntax;
-{
- reg_syntax_t ret = re_syntax_options;
-
- re_syntax_options = syntax;
-#ifdef DEBUG
- if (syntax & RE_DEBUG)
- debug = 1;
- else if (debug) /* was on but now is not */
- debug = 0;
-#endif /* DEBUG */
- return ret;
-}
-
-/* This table gives an error message for each of the error codes listed
- in regex.h. Obviously the order here has to be same as there.
- POSIX doesn't require that we do anything for REG_NOERROR,
- but why not be nice? */
-
-static const char *re_error_msgid[] =
- {
- gettext_noop ("Success"), /* REG_NOERROR */
- gettext_noop ("No match"), /* REG_NOMATCH */
- gettext_noop ("Invalid regular expression"), /* REG_BADPAT */
- gettext_noop ("Invalid collation character"), /* REG_ECOLLATE */
- gettext_noop ("Invalid character class name"), /* REG_ECTYPE */
- gettext_noop ("Trailing backslash"), /* REG_EESCAPE */
- gettext_noop ("Invalid back reference"), /* REG_ESUBREG */
- gettext_noop ("Unmatched [ or [^"), /* REG_EBRACK */
- gettext_noop ("Unmatched ( or \\("), /* REG_EPAREN */
- gettext_noop ("Unmatched \\{"), /* REG_EBRACE */
- gettext_noop ("Invalid content of \\{\\}"), /* REG_BADBR */
- gettext_noop ("Invalid range end"), /* REG_ERANGE */
- gettext_noop ("Memory exhausted"), /* REG_ESPACE */
- gettext_noop ("Invalid preceding regular expression"), /* REG_BADRPT */
- gettext_noop ("Premature end of regular expression"), /* REG_EEND */
- gettext_noop ("Regular expression too big"), /* REG_ESIZE */
- gettext_noop ("Unmatched ) or \\)"), /* REG_ERPAREN */
- };
-
-/* Avoiding alloca during matching, to placate r_alloc. */
-
-/* Define MATCH_MAY_ALLOCATE unless we need to make sure that the
- searching and matching functions should not call alloca. On some
- systems, alloca is implemented in terms of malloc, and if we're
- using the relocating allocator routines, then malloc could cause a
- relocation, which might (if the strings being searched are in the
- ralloc heap) shift the data out from underneath the regexp
- routines.
-
- Here's another reason to avoid allocation: Emacs
- processes input from X in a signal handler; processing X input may
- call malloc; if input arrives while a matching routine is calling
- malloc, then we're scrod. But Emacs can't just block input while
- calling matching routines; then we don't notice interrupts when
- they come in. So, Emacs blocks input around all regexp calls
- except the matching calls, which it leaves unprotected, in the
- faith that they will not malloc. */
-
-/* Normally, this is fine. */
-#define MATCH_MAY_ALLOCATE
-
-/* When using GNU C, we are not REALLY using the C alloca, no matter
- what config.h may say. So don't take precautions for it. */
-#ifdef __GNUC__
-#undef C_ALLOCA
-#endif
-
-/* The match routines may not allocate if (1) they would do it with malloc
- and (2) it's not safe for them to use malloc.
- Note that if REL_ALLOC is defined, matching would not use malloc for the
- failure stack, but we would still use it for the register vectors;
- so REL_ALLOC should not affect this. */
-#if (defined (C_ALLOCA) || defined (REGEX_MALLOC)) && defined (emacs)
-#undef MATCH_MAY_ALLOCATE
-#endif
-
-
-/* Failure stack declarations and macros; both re_compile_fastmap and
- re_match_2 use a failure stack. These have to be macros because of
- REGEX_ALLOCATE_STACK. */
-
-
-/* Number of failure points for which to initially allocate space
- when matching. If this number is exceeded, we allocate more
- space, so it is not a hard limit. */
-#ifndef INIT_FAILURE_ALLOC
-#define INIT_FAILURE_ALLOC 5
-#endif
-
-/* Roughly the maximum number of failure points on the stack. Would be
- exactly that if always used MAX_FAILURE_ITEMS items each time we failed.
- This is a variable only so users of regex can assign to it; we never
- change it ourselves. */
-
-#ifdef INT_IS_16BIT
-
-#if defined (MATCH_MAY_ALLOCATE)
-/* 4400 was enough to cause a crash on Alpha OSF/1,
- whose default stack limit is 2mb. */
-long int re_max_failures = 4000;
-#else
-long int re_max_failures = 2000;
-#endif
-
-union fail_stack_elt
-{
- unsigned char *pointer;
- long int integer;
-};
-
-typedef union fail_stack_elt fail_stack_elt_t;
-
-typedef struct
-{
- fail_stack_elt_t *stack;
- unsigned long int size;
- unsigned long int avail; /* Offset of next open position. */
-} fail_stack_type;
-
-#else /* not INT_IS_16BIT */
-
-#if defined (MATCH_MAY_ALLOCATE)
-/* 4400 was enough to cause a crash on Alpha OSF/1,
- whose default stack limit is 2mb. */
-int re_max_failures = 20000;
-#else
-int re_max_failures = 2000;
-#endif
-
-union fail_stack_elt
-{
- unsigned char *pointer;
- int integer;
-};
-
-typedef union fail_stack_elt fail_stack_elt_t;
-
-typedef struct
-{
- fail_stack_elt_t *stack;
- unsigned size;
- unsigned avail; /* Offset of next open position. */
-} fail_stack_type;
-
-#endif /* INT_IS_16BIT */
-
-#define FAIL_STACK_EMPTY() (fail_stack.avail == 0)
-#define FAIL_STACK_PTR_EMPTY() (fail_stack_ptr->avail == 0)
-#define FAIL_STACK_FULL() (fail_stack.avail == fail_stack.size)
-
-
-/* Define macros to initialize and free the failure stack.
- Do `return -2' if the alloc fails. */
-
-#ifdef MATCH_MAY_ALLOCATE
-#define INIT_FAIL_STACK() \
- do { \
- fail_stack.stack = (fail_stack_elt_t *) \
- REGEX_ALLOCATE_STACK (INIT_FAILURE_ALLOC * sizeof (fail_stack_elt_t)); \
- \
- if (fail_stack.stack == NULL) \
- return -2; \
- \
- fail_stack.size = INIT_FAILURE_ALLOC; \
- fail_stack.avail = 0; \
- } while (0)
-
-#define RESET_FAIL_STACK() REGEX_FREE_STACK (fail_stack.stack)
-#else
-#define INIT_FAIL_STACK() \
- do { \
- fail_stack.avail = 0; \
- } while (0)
-
-#define RESET_FAIL_STACK()
-#endif
-
-
-/* Double the size of FAIL_STACK, up to approximately `re_max_failures' items.
-
- Return 1 if succeeds, and 0 if either ran out of memory
- allocating space for it or it was already too large.
-
- REGEX_REALLOCATE_STACK requires `destination' be declared. */
-
-#define DOUBLE_FAIL_STACK(fail_stack) \
- ((fail_stack).size > (unsigned) (re_max_failures * MAX_FAILURE_ITEMS) \
- ? 0 \
- : ((fail_stack).stack = (fail_stack_elt_t *) \
- REGEX_REALLOCATE_STACK ((fail_stack).stack, \
- (fail_stack).size * sizeof (fail_stack_elt_t), \
- ((fail_stack).size << 1) * sizeof (fail_stack_elt_t)), \
- \
- (fail_stack).stack == NULL \
- ? 0 \
- : ((fail_stack).size <<= 1, \
- 1)))
-
-
-/* Push pointer POINTER on FAIL_STACK.
- Return 1 if was able to do so and 0 if ran out of memory allocating
- space to do so. */
-#define PUSH_PATTERN_OP(POINTER, FAIL_STACK) \
- ((FAIL_STACK_FULL () \
- && !DOUBLE_FAIL_STACK (FAIL_STACK)) \
- ? 0 \
- : ((FAIL_STACK).stack[(FAIL_STACK).avail++].pointer = POINTER, \
- 1))
-
-/* Push a pointer value onto the failure stack.
- Assumes the variable `fail_stack'. Probably should only
- be called from within `PUSH_FAILURE_POINT'. */
-#define PUSH_FAILURE_POINTER(item) \
- fail_stack.stack[fail_stack.avail++].pointer = (unsigned char *) (item)
-
-/* This pushes an integer-valued item onto the failure stack.
- Assumes the variable `fail_stack'. Probably should only
- be called from within `PUSH_FAILURE_POINT'. */
-#define PUSH_FAILURE_INT(item) \
- fail_stack.stack[fail_stack.avail++].integer = (item)
-
-/* Push a fail_stack_elt_t value onto the failure stack.
- Assumes the variable `fail_stack'. Probably should only
- be called from within `PUSH_FAILURE_POINT'. */
-#define PUSH_FAILURE_ELT(item) \
- fail_stack.stack[fail_stack.avail++] = (item)
-
-/* These three POP... operations complement the three PUSH... operations.
- All assume that `fail_stack' is nonempty. */
-#define POP_FAILURE_POINTER() fail_stack.stack[--fail_stack.avail].pointer
-#define POP_FAILURE_INT() fail_stack.stack[--fail_stack.avail].integer
-#define POP_FAILURE_ELT() fail_stack.stack[--fail_stack.avail]
-
-/* Used to omit pushing failure point id's when we're not debugging. */
-#ifdef DEBUG
-#define DEBUG_PUSH PUSH_FAILURE_INT
-#define DEBUG_POP(item_addr) (item_addr)->integer = POP_FAILURE_INT ()
-#else
-#define DEBUG_PUSH(item)
-#define DEBUG_POP(item_addr)
-#endif
-
-
-/* Push the information about the state we will need
- if we ever fail back to it.
-
- Requires variables fail_stack, regstart, regend, reg_info, and
- num_regs be declared. DOUBLE_FAIL_STACK requires `destination' be
- declared.
-
- Does `return FAILURE_CODE' if runs out of memory. */
-
-#define PUSH_FAILURE_POINT(pattern_place, string_place, failure_code) \
- do { \
- char *destination; \
- /* Must be int, so when we don't save any registers, the arithmetic \
- of 0 + -1 isn't done as unsigned. */ \
- /* Can't be int, since there is not a shred of a guarantee that int \
- is wide enough to hold a value of something to which pointer can \
- be assigned */ \
- s_reg_t this_reg; \
- \
- DEBUG_STATEMENT (failure_id++); \
- DEBUG_STATEMENT (nfailure_points_pushed++); \
- DEBUG_PRINT2 ("\nPUSH_FAILURE_POINT #%u:\n", failure_id); \
- DEBUG_PRINT2 (" Before push, next avail: %d\n", (fail_stack).avail);\
- DEBUG_PRINT2 (" size: %d\n", (fail_stack).size);\
- \
- DEBUG_PRINT2 (" slots needed: %d\n", NUM_FAILURE_ITEMS); \
- DEBUG_PRINT2 (" available: %d\n", REMAINING_AVAIL_SLOTS); \
- \
- /* Ensure we have enough space allocated for what we will push. */ \
- while (REMAINING_AVAIL_SLOTS < NUM_FAILURE_ITEMS) \
- { \
- if (!DOUBLE_FAIL_STACK (fail_stack)) \
- return failure_code; \
- \
- DEBUG_PRINT2 ("\n Doubled stack; size now: %d\n", \
- (fail_stack).size); \
- DEBUG_PRINT2 (" slots available: %d\n", REMAINING_AVAIL_SLOTS);\
- } \
- \
- /* Push the info, starting with the registers. */ \
- DEBUG_PRINT1 ("\n"); \
- \
- if (1) \
- for (this_reg = lowest_active_reg; this_reg <= highest_active_reg; \
- this_reg++) \
- { \
- DEBUG_PRINT2 (" Pushing reg: %d\n", this_reg); \
- DEBUG_STATEMENT (num_regs_pushed++); \
- \
- DEBUG_PRINT2 (" start: 0x%x\n", regstart[this_reg]); \
- PUSH_FAILURE_POINTER (regstart[this_reg]); \
- \
- DEBUG_PRINT2 (" end: 0x%x\n", regend[this_reg]); \
- PUSH_FAILURE_POINTER (regend[this_reg]); \
- \
- DEBUG_PRINT2 (" info: 0x%x\n ", reg_info[this_reg]); \
- DEBUG_PRINT2 (" match_null=%d", \
- REG_MATCH_NULL_STRING_P (reg_info[this_reg])); \
- DEBUG_PRINT2 (" active=%d", IS_ACTIVE (reg_info[this_reg])); \
- DEBUG_PRINT2 (" matched_something=%d", \
- MATCHED_SOMETHING (reg_info[this_reg])); \
- DEBUG_PRINT2 (" ever_matched=%d", \
- EVER_MATCHED_SOMETHING (reg_info[this_reg])); \
- DEBUG_PRINT1 ("\n"); \
- PUSH_FAILURE_ELT (reg_info[this_reg].word); \
- } \
- \
- DEBUG_PRINT2 (" Pushing low active reg: %d\n", lowest_active_reg);\
- PUSH_FAILURE_INT (lowest_active_reg); \
- \
- DEBUG_PRINT2 (" Pushing high active reg: %d\n", highest_active_reg);\
- PUSH_FAILURE_INT (highest_active_reg); \
- \
- DEBUG_PRINT2 (" Pushing pattern 0x%x:\n", pattern_place); \
- DEBUG_PRINT_COMPILED_PATTERN (bufp, pattern_place, pend); \
- PUSH_FAILURE_POINTER (pattern_place); \
- \
- DEBUG_PRINT2 (" Pushing string 0x%x: `", string_place); \
- DEBUG_PRINT_DOUBLE_STRING (string_place, string1, size1, string2, \
- size2); \
- DEBUG_PRINT1 ("'\n"); \
- PUSH_FAILURE_POINTER (string_place); \
- \
- DEBUG_PRINT2 (" Pushing failure id: %u\n", failure_id); \
- DEBUG_PUSH (failure_id); \
- } while (0)
-
-/* This is the number of items that are pushed and popped on the stack
- for each register. */
-#define NUM_REG_ITEMS 3
-
-/* Individual items aside from the registers. */
-#ifdef DEBUG
-#define NUM_NONREG_ITEMS 5 /* Includes failure point id. */
-#else
-#define NUM_NONREG_ITEMS 4
-#endif
-
-/* We push at most this many items on the stack. */
-/* We used to use (num_regs - 1), which is the number of registers
- this regexp will save; but that was changed to 5
- to avoid stack overflow for a regexp with lots of parens. */
-#define MAX_FAILURE_ITEMS (5 * NUM_REG_ITEMS + NUM_NONREG_ITEMS)
-
-/* We actually push this many items. */
-#define NUM_FAILURE_ITEMS \
- (((0 \
- ? 0 : highest_active_reg - lowest_active_reg + 1) \
- * NUM_REG_ITEMS) \
- + NUM_NONREG_ITEMS)
-
-/* How many items can still be added to the stack without overflowing it. */
-#define REMAINING_AVAIL_SLOTS ((fail_stack).size - (fail_stack).avail)
-
-
-/* Pops what PUSH_FAIL_STACK pushes.
-
- We restore into the parameters, all of which should be lvalues:
- STR -- the saved data position.
- PAT -- the saved pattern position.
- LOW_REG, HIGH_REG -- the highest and lowest active registers.
- REGSTART, REGEND -- arrays of string positions.
- REG_INFO -- array of information about each subexpression.
-
- Also assumes the variables `fail_stack' and (if debugging), `bufp',
- `pend', `string1', `size1', `string2', and `size2'. */
-
-#define POP_FAILURE_POINT(str, pat, low_reg, high_reg, regstart, regend, reg_info)\
-{ \
- DEBUG_STATEMENT (fail_stack_elt_t failure_id;) \
- s_reg_t this_reg; \
- const unsigned char *string_temp; \
- \
- assert (!FAIL_STACK_EMPTY ()); \
- \
- /* Remove failure points and point to how many regs pushed. */ \
- DEBUG_PRINT1 ("POP_FAILURE_POINT:\n"); \
- DEBUG_PRINT2 (" Before pop, next avail: %d\n", fail_stack.avail); \
- DEBUG_PRINT2 (" size: %d\n", fail_stack.size); \
- \
- assert (fail_stack.avail >= NUM_NONREG_ITEMS); \
- \
- DEBUG_POP (&failure_id); \
- DEBUG_PRINT2 (" Popping failure id: %u\n", failure_id); \
- \
- /* If the saved string location is NULL, it came from an \
- on_failure_keep_string_jump opcode, and we want to throw away the \
- saved NULL, thus retaining our current position in the string. */ \
- string_temp = POP_FAILURE_POINTER (); \
- if (string_temp != NULL) \
- str = (const char *) string_temp; \
- \
- DEBUG_PRINT2 (" Popping string 0x%x: `", str); \
- DEBUG_PRINT_DOUBLE_STRING (str, string1, size1, string2, size2); \
- DEBUG_PRINT1 ("'\n"); \
- \
- pat = (unsigned char *) POP_FAILURE_POINTER (); \
- DEBUG_PRINT2 (" Popping pattern 0x%x:\n", pat); \
- DEBUG_PRINT_COMPILED_PATTERN (bufp, pat, pend); \
- \
- /* Restore register info. */ \
- high_reg = (active_reg_t) POP_FAILURE_INT (); \
- DEBUG_PRINT2 (" Popping high active reg: %d\n", high_reg); \
- \
- low_reg = (active_reg_t) POP_FAILURE_INT (); \
- DEBUG_PRINT2 (" Popping low active reg: %d\n", low_reg); \
- \
- if (1) \
- for (this_reg = high_reg; this_reg >= low_reg; this_reg--) \
- { \
- DEBUG_PRINT2 (" Popping reg: %d\n", this_reg); \
- \
- reg_info[this_reg].word = POP_FAILURE_ELT (); \
- DEBUG_PRINT2 (" info: 0x%x\n", reg_info[this_reg]); \
- \
- regend[this_reg] = (const char *) POP_FAILURE_POINTER (); \
- DEBUG_PRINT2 (" end: 0x%x\n", regend[this_reg]); \
- \
- regstart[this_reg] = (const char *) POP_FAILURE_POINTER (); \
- DEBUG_PRINT2 (" start: 0x%x\n", regstart[this_reg]); \
- } \
- else \
- { \
- for (this_reg = highest_active_reg; this_reg > high_reg; this_reg--) \
- { \
- reg_info[this_reg].word.integer = 0; \
- regend[this_reg] = 0; \
- regstart[this_reg] = 0; \
- } \
- highest_active_reg = high_reg; \
- } \
- \
- set_regs_matched_done = 0; \
- DEBUG_STATEMENT (nfailure_points_popped++); \
-} /* POP_FAILURE_POINT */
-
-
-
-/* Structure for per-register (a.k.a. per-group) information.
- Other register information, such as the
- starting and ending positions (which are addresses), and the list of
- inner groups (which is a bits list) are maintained in separate
- variables.
-
- We are making a (strictly speaking) nonportable assumption here: that
- the compiler will pack our bit fields into something that fits into
- the type of `word', i.e., is something that fits into one item on the
- failure stack. */
-
-
-/* Declarations and macros for re_match_2. */
-
-typedef union
-{
- fail_stack_elt_t word;
- struct
- {
- /* This field is one if this group can match the empty string,
- zero if not. If not yet determined, `MATCH_NULL_UNSET_VALUE'. */
-#define MATCH_NULL_UNSET_VALUE 3
- unsigned match_null_string_p : 2;
- unsigned is_active : 1;
- unsigned matched_something : 1;
- unsigned ever_matched_something : 1;
- } bits;
-} register_info_type;
-
-#define REG_MATCH_NULL_STRING_P(R) ((R).bits.match_null_string_p)
-#define IS_ACTIVE(R) ((R).bits.is_active)
-#define MATCHED_SOMETHING(R) ((R).bits.matched_something)
-#define EVER_MATCHED_SOMETHING(R) ((R).bits.ever_matched_something)
-
-
-/* Call this when have matched a real character; it sets `matched' flags
- for the subexpressions which we are currently inside. Also records
- that those subexprs have matched. */
-#define SET_REGS_MATCHED() \
- do \
- { \
- if (!set_regs_matched_done) \
- { \
- active_reg_t r; \
- set_regs_matched_done = 1; \
- for (r = lowest_active_reg; r <= highest_active_reg; r++) \
- { \
- MATCHED_SOMETHING (reg_info[r]) \
- = EVER_MATCHED_SOMETHING (reg_info[r]) \
- = 1; \
- } \
- } \
- } \
- while (0)
-
-/* Registers are set to a sentinel when they haven't yet matched. */
-static char reg_unset_dummy;
-#define REG_UNSET_VALUE (&reg_unset_dummy)
-#define REG_UNSET(e) ((e) == REG_UNSET_VALUE)
-
-/* Subroutine declarations and macros for regex_compile. */
-
-static reg_errcode_t regex_compile _RE_ARGS ((const char *pattern, size_t size,
- reg_syntax_t syntax,
- struct re_pattern_buffer *bufp));
-static void store_op1 _RE_ARGS ((re_opcode_t op, unsigned char *loc, int arg));
-static void store_op2 _RE_ARGS ((re_opcode_t op, unsigned char *loc,
- int arg1, int arg2));
-static void insert_op1 _RE_ARGS ((re_opcode_t op, unsigned char *loc,
- int arg, unsigned char *end));
-static void insert_op2 _RE_ARGS ((re_opcode_t op, unsigned char *loc,
- int arg1, int arg2, unsigned char *end));
-static boolean at_begline_loc_p _RE_ARGS ((const char *pattern, const char *p,
- reg_syntax_t syntax));
-static boolean at_endline_loc_p _RE_ARGS ((const char *p, const char *pend,
- reg_syntax_t syntax));
-static reg_errcode_t compile_range _RE_ARGS ((const char **p_ptr,
- const char *pend,
- char *translate,
- reg_syntax_t syntax,
- unsigned char *b));
-
-/* Fetch the next character in the uncompiled pattern---translating it
- if necessary. Also cast from a signed character in the constant
- string passed to us by the user to an unsigned char that we can use
- as an array index (in, e.g., `translate'). */
-#ifndef PATFETCH
-#define PATFETCH(c) \
- do {if (p == pend) return REG_EEND; \
- c = (unsigned char) *p++; \
- if (translate) c = (unsigned char) translate[c]; \
- } while (0)
-#endif
-
-/* Fetch the next character in the uncompiled pattern, with no
- translation. */
-#define PATFETCH_RAW(c) \
- do {if (p == pend) return REG_EEND; \
- c = (unsigned char) *p++; \
- } while (0)
-
-/* Go backwards one character in the pattern. */
-#define PATUNFETCH p--
-
-
-/* If `translate' is non-null, return translate[D], else just D. We
- cast the subscript to translate because some data is declared as
- `char *', to avoid warnings when a string constant is passed. But
- when we use a character as a subscript we must make it unsigned. */
-#ifndef TRANSLATE
-#define TRANSLATE(d) \
- (translate ? (char) translate[(unsigned char) (d)] : (d))
-#endif
-
-
-/* Macros for outputting the compiled pattern into `buffer'. */
-
-/* If the buffer isn't allocated when it comes in, use this. */
-#define INIT_BUF_SIZE 32
-
-/* Make sure we have at least N more bytes of space in buffer. */
-#define GET_BUFFER_SPACE(n) \
- while ((unsigned long) (b - bufp->buffer + (n)) > bufp->allocated) \
- EXTEND_BUFFER ()
-
-/* Make sure we have one more byte of buffer space and then add C to it. */
-#define BUF_PUSH(c) \
- do { \
- GET_BUFFER_SPACE (1); \
- *b++ = (unsigned char) (c); \
- } while (0)
-
-
-/* Ensure we have two more bytes of buffer space and then append C1 and C2. */
-#define BUF_PUSH_2(c1, c2) \
- do { \
- GET_BUFFER_SPACE (2); \
- *b++ = (unsigned char) (c1); \
- *b++ = (unsigned char) (c2); \
- } while (0)
-
-
-/* As with BUF_PUSH_2, except for three bytes. */
-#define BUF_PUSH_3(c1, c2, c3) \
- do { \
- GET_BUFFER_SPACE (3); \
- *b++ = (unsigned char) (c1); \
- *b++ = (unsigned char) (c2); \
- *b++ = (unsigned char) (c3); \
- } while (0)
-
-
-/* Store a jump with opcode OP at LOC to location TO. We store a
- relative address offset by the three bytes the jump itself occupies. */
-#define STORE_JUMP(op, loc, to) \
- store_op1 (op, loc, (int) ((to) - (loc) - 3))
-
-/* Likewise, for a two-argument jump. */
-#define STORE_JUMP2(op, loc, to, arg) \
- store_op2 (op, loc, (int) ((to) - (loc) - 3), arg)
-
-/* Like `STORE_JUMP', but for inserting. Assume `b' is the buffer end. */
-#define INSERT_JUMP(op, loc, to) \
- insert_op1 (op, loc, (int) ((to) - (loc) - 3), b)
-
-/* Like `STORE_JUMP2', but for inserting. Assume `b' is the buffer end. */
-#define INSERT_JUMP2(op, loc, to, arg) \
- insert_op2 (op, loc, (int) ((to) - (loc) - 3), arg, b)
-
-
-/* This is not an arbitrary limit: the arguments which represent offsets
- into the pattern are two bytes long. So if 2^16 bytes turns out to
- be too small, many things would have to change. */
-/* Any other compiler which, like MSC, has allocation limit below 2^16
- bytes will have to use approach similar to what was done below for
- MSC and drop MAX_BUF_SIZE a bit. Otherwise you may end up
- reallocating to 0 bytes. Such thing is not going to work too well.
- You have been warned!! */
-#if defined(_MSC_VER) && !defined(WIN32)
-/* Microsoft C 16-bit versions limit malloc to approx 65512 bytes.
- The REALLOC define eliminates a flurry of conversion warnings,
- but is not required. */
-#define MAX_BUF_SIZE 65500L
-#define REALLOC(p,s) realloc ((p), (size_t) (s))
-#else
-#define MAX_BUF_SIZE (1L << 16)
-#define REALLOC(p,s) realloc ((p), (s))
-#endif
-
-/* Extend the buffer by twice its current size via realloc and
- reset the pointers that pointed into the old block to point to the
- correct places in the new one. If extending the buffer results in it
- being larger than MAX_BUF_SIZE, then flag memory exhausted. */
-#define EXTEND_BUFFER() \
- do { \
- unsigned char *old_buffer = bufp->buffer; \
- if (bufp->allocated == MAX_BUF_SIZE) \
- return REG_ESIZE; \
- bufp->allocated <<= 1; \
- if (bufp->allocated > MAX_BUF_SIZE) \
- bufp->allocated = MAX_BUF_SIZE; \
- bufp->buffer = (unsigned char *) REALLOC (bufp->buffer, bufp->allocated);\
- if (bufp->buffer == NULL) \
- return REG_ESPACE; \
- /* If the buffer moved, move all the pointers into it. */ \
- if (old_buffer != bufp->buffer) \
- { \
- b = (b - old_buffer) + bufp->buffer; \
- begalt = (begalt - old_buffer) + bufp->buffer; \
- if (fixup_alt_jump) \
- fixup_alt_jump = (fixup_alt_jump - old_buffer) + bufp->buffer;\
- if (laststart) \
- laststart = (laststart - old_buffer) + bufp->buffer; \
- if (pending_exact) \
- pending_exact = (pending_exact - old_buffer) + bufp->buffer; \
- } \
- } while (0)
-
-
-/* Since we have one byte reserved for the register number argument to
- {start,stop}_memory, the maximum number of groups we can report
- things about is what fits in that byte. */
-#define MAX_REGNUM 255
-
-/* But patterns can have more than `MAX_REGNUM' registers. We just
- ignore the excess. */
-typedef unsigned regnum_t;
-
-
-/* Macros for the compile stack. */
-
-/* Since offsets can go either forwards or backwards, this type needs to
- be able to hold values from -(MAX_BUF_SIZE - 1) to MAX_BUF_SIZE - 1. */
-/* int may be not enough when sizeof(int) == 2. */
-typedef long pattern_offset_t;
-
-typedef struct
-{
- pattern_offset_t begalt_offset;
- pattern_offset_t fixup_alt_jump;
- pattern_offset_t inner_group_offset;
- pattern_offset_t laststart_offset;
- regnum_t regnum;
-} compile_stack_elt_t;
-
-
-typedef struct
-{
- compile_stack_elt_t *stack;
- unsigned size;
- unsigned avail; /* Offset of next open position. */
-} compile_stack_type;
-
-
-#define INIT_COMPILE_STACK_SIZE 32
-
-#define COMPILE_STACK_EMPTY (compile_stack.avail == 0)
-#define COMPILE_STACK_FULL (compile_stack.avail == compile_stack.size)
-
-/* The next available element. */
-#define COMPILE_STACK_TOP (compile_stack.stack[compile_stack.avail])
-
-
-/* Set the bit for character C in a list. */
-#define SET_LIST_BIT(c) \
- (b[((unsigned char) (c)) / BYTEWIDTH] \
- |= 1 << (((unsigned char) c) % BYTEWIDTH))
-
-
-/* Get the next unsigned number in the uncompiled pattern. */
-#define GET_UNSIGNED_NUMBER(num) \
- { if (p != pend) \
- { \
- PATFETCH (c); \
- while (ISDIGIT (c)) \
- { \
- if (num < 0) \
- num = 0; \
- num = num * 10 + c - '0'; \
- if (p == pend) \
- break; \
- PATFETCH (c); \
- } \
- } \
- }
-
-#if defined _LIBC || (defined HAVE_WCTYPE_H && defined HAVE_WCHAR_H)
-/* The GNU C library provides support for user-defined character classes
- and the functions from ISO C amendement 1. */
-# ifdef CHARCLASS_NAME_MAX
-# define CHAR_CLASS_MAX_LENGTH CHARCLASS_NAME_MAX
-# else
-/* This shouldn't happen but some implementation might still have this
- problem. Use a reasonable default value. */
-# define CHAR_CLASS_MAX_LENGTH 256
-# endif
-
-# define IS_CHAR_CLASS(string) wctype (string)
-#else
-# define CHAR_CLASS_MAX_LENGTH 6 /* Namely, `xdigit'. */
-
-# define IS_CHAR_CLASS(string) \
- (STREQ (string, "alpha") || STREQ (string, "upper") \
- || STREQ (string, "lower") || STREQ (string, "digit") \
- || STREQ (string, "alnum") || STREQ (string, "xdigit") \
- || STREQ (string, "space") || STREQ (string, "print") \
- || STREQ (string, "punct") || STREQ (string, "graph") \
- || STREQ (string, "cntrl") || STREQ (string, "blank"))
-#endif
-
-#ifndef MATCH_MAY_ALLOCATE
-
-/* If we cannot allocate large objects within re_match_2_internal,
- we make the fail stack and register vectors global.
- The fail stack, we grow to the maximum size when a regexp
- is compiled.
- The register vectors, we adjust in size each time we
- compile a regexp, according to the number of registers it needs. */
-
-static fail_stack_type fail_stack;
-
-/* Size with which the following vectors are currently allocated.
- That is so we can make them bigger as needed,
- but never make them smaller. */
-static int regs_allocated_size;
-
-static const char ** regstart, ** regend;
-static const char ** old_regstart, ** old_regend;
-static const char **best_regstart, **best_regend;
-static register_info_type *reg_info;
-static const char **reg_dummy;
-static register_info_type *reg_info_dummy;
-
-/* Make the register vectors big enough for NUM_REGS registers,
- but don't make them smaller. */
-
-static
-regex_grow_registers (num_regs)
- int num_regs;
-{
- if (num_regs > regs_allocated_size)
- {
- RETALLOC_IF (regstart, num_regs, const char *);
- RETALLOC_IF (regend, num_regs, const char *);
- RETALLOC_IF (old_regstart, num_regs, const char *);
- RETALLOC_IF (old_regend, num_regs, const char *);
- RETALLOC_IF (best_regstart, num_regs, const char *);
- RETALLOC_IF (best_regend, num_regs, const char *);
- RETALLOC_IF (reg_info, num_regs, register_info_type);
- RETALLOC_IF (reg_dummy, num_regs, const char *);
- RETALLOC_IF (reg_info_dummy, num_regs, register_info_type);
-
- regs_allocated_size = num_regs;
- }
-}
-
-#endif /* not MATCH_MAY_ALLOCATE */
-
-static boolean group_in_compile_stack _RE_ARGS ((compile_stack_type
- compile_stack,
- regnum_t regnum));
-
-/* `regex_compile' compiles PATTERN (of length SIZE) according to SYNTAX.
- Returns one of error codes defined in `regex.h', or zero for success.
-
- Assumes the `allocated' (and perhaps `buffer') and `translate'
- fields are set in BUFP on entry.
-
- If it succeeds, results are put in BUFP (if it returns an error, the
- contents of BUFP are undefined):
- `buffer' is the compiled pattern;
- `syntax' is set to SYNTAX;
- `used' is set to the length of the compiled pattern;
- `fastmap_accurate' is zero;
- `re_nsub' is the number of subexpressions in PATTERN;
- `not_bol' and `not_eol' are zero;
-
- The `fastmap' and `newline_anchor' fields are neither
- examined nor set. */
-
-/* Return, freeing storage we allocated. */
-#define FREE_STACK_RETURN(value) \
- return (free (compile_stack.stack), value)
-
-static reg_errcode_t
-regex_compile (pattern, size, syntax, bufp)
- const char *pattern;
- size_t size;
- reg_syntax_t syntax;
- struct re_pattern_buffer *bufp;
-{
- /* We fetch characters from PATTERN here. Even though PATTERN is
- `char *' (i.e., signed), we declare these variables as unsigned, so
- they can be reliably used as array indices. */
- register unsigned char c, c1;
-
- /* A random temporary spot in PATTERN. */
- const char *p1;
-
- /* Points to the end of the buffer, where we should append. */
- register unsigned char *b;
-
- /* Keeps track of unclosed groups. */
- compile_stack_type compile_stack;
-
- /* Points to the current (ending) position in the pattern. */
- const char *p = pattern;
- const char *pend = pattern + size;
-
- /* How to translate the characters in the pattern. */
- RE_TRANSLATE_TYPE translate = bufp->translate;
-
- /* Address of the count-byte of the most recently inserted `exactn'
- command. This makes it possible to tell if a new exact-match
- character can be added to that command or if the character requires
- a new `exactn' command. */
- unsigned char *pending_exact = 0;
-
- /* Address of start of the most recently finished expression.
- This tells, e.g., postfix * where to find the start of its
- operand. Reset at the beginning of groups and alternatives. */
- unsigned char *laststart = 0;
-
- /* Address of beginning of regexp, or inside of last group. */
- unsigned char *begalt;
-
- /* Place in the uncompiled pattern (i.e., the {) to
- which to go back if the interval is invalid. */
- const char *beg_interval;
-
- /* Address of the place where a forward jump should go to the end of
- the containing expression. Each alternative of an `or' -- except the
- last -- ends with a forward jump of this sort. */
- unsigned char *fixup_alt_jump = 0;
-
- /* Counts open-groups as they are encountered. Remembered for the
- matching close-group on the compile stack, so the same register
- number is put in the stop_memory as the start_memory. */
- regnum_t regnum = 0;
-
-#ifdef DEBUG
- DEBUG_PRINT1 ("\nCompiling pattern: ");
- if (debug)
- {
- unsigned debug_count;
-
- for (debug_count = 0; debug_count < size; debug_count++)
- putchar (pattern[debug_count]);
- putchar ('\n');
- }
-#endif /* DEBUG */
-
- /* Initialize the compile stack. */
- compile_stack.stack = TALLOC (INIT_COMPILE_STACK_SIZE, compile_stack_elt_t);
- if (compile_stack.stack == NULL)
- return REG_ESPACE;
-
- compile_stack.size = INIT_COMPILE_STACK_SIZE;
- compile_stack.avail = 0;
-
- /* Initialize the pattern buffer. */
- bufp->syntax = syntax;
- bufp->fastmap_accurate = 0;
- bufp->not_bol = bufp->not_eol = 0;
-
- /* Set `used' to zero, so that if we return an error, the pattern
- printer (for debugging) will think there's no pattern. We reset it
- at the end. */
- bufp->used = 0;
-
- /* Always count groups, whether or not bufp->no_sub is set. */
- bufp->re_nsub = 0;
-
-#if !defined (emacs) && !defined (SYNTAX_TABLE)
- /* Initialize the syntax table. */
- init_syntax_once ();
-#endif
-
- if (bufp->allocated == 0)
- {
- if (bufp->buffer)
- { /* If zero allocated, but buffer is non-null, try to realloc
- enough space. This loses if buffer's address is bogus, but
- that is the user's responsibility. */
- RETALLOC (bufp->buffer, INIT_BUF_SIZE, unsigned char);
- }
- else
- { /* Caller did not allocate a buffer. Do it for them. */
- bufp->buffer = TALLOC (INIT_BUF_SIZE, unsigned char);
- }
- if (!bufp->buffer) FREE_STACK_RETURN (REG_ESPACE);
-
- bufp->allocated = INIT_BUF_SIZE;
- }
-
- begalt = b = bufp->buffer;
-
- /* Loop through the uncompiled pattern until we're at the end. */
- while (p != pend)
- {
- PATFETCH (c);
-
- switch (c)
- {
- case '^':
- {
- if ( /* If at start of pattern, it's an operator. */
- p == pattern + 1
- /* If context independent, it's an operator. */
- || syntax & RE_CONTEXT_INDEP_ANCHORS
- /* Otherwise, depends on what's come before. */
- || at_begline_loc_p (pattern, p, syntax))
- BUF_PUSH (begline);
- else
- goto normal_char;
- }
- break;
-
-
- case '$':
- {
- if ( /* If at end of pattern, it's an operator. */
- p == pend
- /* If context independent, it's an operator. */
- || syntax & RE_CONTEXT_INDEP_ANCHORS
- /* Otherwise, depends on what's next. */
- || at_endline_loc_p (p, pend, syntax))
- BUF_PUSH (endline);
- else
- goto normal_char;
- }
- break;
-
-
- case '+':
- case '?':
- if ((syntax & RE_BK_PLUS_QM)
- || (syntax & RE_LIMITED_OPS))
- goto normal_char;
- handle_plus:
- case '*':
- /* If there is no previous pattern... */
- if (!laststart)
- {
- if (syntax & RE_CONTEXT_INVALID_OPS)
- FREE_STACK_RETURN (REG_BADRPT);
- else if (!(syntax & RE_CONTEXT_INDEP_OPS))
- goto normal_char;
- }
-
- {
- /* Are we optimizing this jump? */
- boolean keep_string_p = false;
-
- /* 1 means zero (many) matches is allowed. */
- char zero_times_ok = 0, many_times_ok = 0;
-
- /* If there is a sequence of repetition chars, collapse it
- down to just one (the right one). We can't combine
- interval operators with these because of, e.g., `a{2}*',
- which should only match an even number of `a's. */
-
- for (;;)
- {
- zero_times_ok |= c != '+';
- many_times_ok |= c != '?';
-
- if (p == pend)
- break;
-
- PATFETCH (c);
-
- if (c == '*'
- || (!(syntax & RE_BK_PLUS_QM) && (c == '+' || c == '?')))
- ;
-
- else if (syntax & RE_BK_PLUS_QM && c == '\\')
- {
- if (p == pend) FREE_STACK_RETURN (REG_EESCAPE);
-
- PATFETCH (c1);
- if (!(c1 == '+' || c1 == '?'))
- {
- PATUNFETCH;
- PATUNFETCH;
- break;
- }
-
- c = c1;
- }
- else
- {
- PATUNFETCH;
- break;
- }
-
- /* If we get here, we found another repeat character. */
- }
-
- /* Star, etc. applied to an empty pattern is equivalent
- to an empty pattern. */
- if (!laststart)
- break;
-
- /* Now we know whether or not zero matches is allowed
- and also whether or not two or more matches is allowed. */
- if (many_times_ok)
- { /* More than one repetition is allowed, so put in at the
- end a backward relative jump from `b' to before the next
- jump we're going to put in below (which jumps from
- laststart to after this jump).
-
- But if we are at the `*' in the exact sequence `.*\n',
- insert an unconditional jump backwards to the .,
- instead of the beginning of the loop. This way we only
- push a failure point once, instead of every time
- through the loop. */
- assert (p - 1 > pattern);
-
- /* Allocate the space for the jump. */
- GET_BUFFER_SPACE (3);
-
- /* We know we are not at the first character of the pattern,
- because laststart was nonzero. And we've already
- incremented `p', by the way, to be the character after
- the `*'. Do we have to do something analogous here
- for null bytes, because of RE_DOT_NOT_NULL? */
- if (TRANSLATE (*(p - 2)) == TRANSLATE ('.')
- && zero_times_ok
- && p < pend && TRANSLATE (*p) == TRANSLATE ('\n')
- && !(syntax & RE_DOT_NEWLINE))
- { /* We have .*\n. */
- STORE_JUMP (jump, b, laststart);
- keep_string_p = true;
- }
- else
- /* Anything else. */
- STORE_JUMP (maybe_pop_jump, b, laststart - 3);
-
- /* We've added more stuff to the buffer. */
- b += 3;
- }
-
- /* On failure, jump from laststart to b + 3, which will be the
- end of the buffer after this jump is inserted. */
- GET_BUFFER_SPACE (3);
- INSERT_JUMP (keep_string_p ? on_failure_keep_string_jump
- : on_failure_jump,
- laststart, b + 3);
- pending_exact = 0;
- b += 3;
-
- if (!zero_times_ok)
- {
- /* At least one repetition is required, so insert a
- `dummy_failure_jump' before the initial
- `on_failure_jump' instruction of the loop. This
- effects a skip over that instruction the first time
- we hit that loop. */
- GET_BUFFER_SPACE (3);
- INSERT_JUMP (dummy_failure_jump, laststart, laststart + 6);
- b += 3;
- }
- }
- break;
-
-
- case '.':
- laststart = b;
- BUF_PUSH (anychar);
- break;
-
-
- case '[':
- {
- boolean had_char_class = false;
-
- if (p == pend) FREE_STACK_RETURN (REG_EBRACK);
-
- /* Ensure that we have enough space to push a charset: the
- opcode, the length count, and the bitset; 34 bytes in all. */
- GET_BUFFER_SPACE (34);
-
- laststart = b;
-
- /* We test `*p == '^' twice, instead of using an if
- statement, so we only need one BUF_PUSH. */
- BUF_PUSH (*p == '^' ? charset_not : charset);
- if (*p == '^')
- p++;
-
- /* Remember the first position in the bracket expression. */
- p1 = p;
-
- /* Push the number of bytes in the bitmap. */
- BUF_PUSH ((1 << BYTEWIDTH) / BYTEWIDTH);
-
- /* Clear the whole map. */
- bzero (b, (1 << BYTEWIDTH) / BYTEWIDTH);
-
- /* charset_not matches newline according to a syntax bit. */
- if ((re_opcode_t) b[-2] == charset_not
- && (syntax & RE_HAT_LISTS_NOT_NEWLINE))
- SET_LIST_BIT ('\n');
-
- /* Read in characters and ranges, setting map bits. */
- for (;;)
- {
- if (p == pend) FREE_STACK_RETURN (REG_EBRACK);
-
- PATFETCH (c);
-
- /* \ might escape characters inside [...] and [^...]. */
- if ((syntax & RE_BACKSLASH_ESCAPE_IN_LISTS) && c == '\\')
- {
- if (p == pend) FREE_STACK_RETURN (REG_EESCAPE);
-
- PATFETCH (c1);
- SET_LIST_BIT (c1);
- continue;
- }
-
- /* Could be the end of the bracket expression. If it's
- not (i.e., when the bracket expression is `[]' so
- far), the ']' character bit gets set way below. */
- if (c == ']' && p != p1 + 1)
- break;
-
- /* Look ahead to see if it's a range when the last thing
- was a character class. */
- if (had_char_class && c == '-' && *p != ']')
- FREE_STACK_RETURN (REG_ERANGE);
-
- /* Look ahead to see if it's a range when the last thing
- was a character: if this is a hyphen not at the
- beginning or the end of a list, then it's the range
- operator. */
- if (c == '-'
- && !(p - 2 >= pattern && p[-2] == '[')
- && !(p - 3 >= pattern && p[-3] == '[' && p[-2] == '^')
- && *p != ']')
- {
- reg_errcode_t ret
- = compile_range (&p, pend, translate, syntax, b);
- if (ret != REG_NOERROR) FREE_STACK_RETURN (ret);
- }
-
- else if (p[0] == '-' && p[1] != ']')
- { /* This handles ranges made up of characters only. */
- reg_errcode_t ret;
-
- /* Move past the `-'. */
- PATFETCH (c1);
-
- ret = compile_range (&p, pend, translate, syntax, b);
- if (ret != REG_NOERROR) FREE_STACK_RETURN (ret);
- }
-
- /* See if we're at the beginning of a possible character
- class. */
-
- else if (syntax & RE_CHAR_CLASSES && c == '[' && *p == ':')
- { /* Leave room for the null. */
- char str[CHAR_CLASS_MAX_LENGTH + 1];
-
- PATFETCH (c);
- c1 = 0;
-
- /* If pattern is `[[:'. */
- if (p == pend) FREE_STACK_RETURN (REG_EBRACK);
-
- for (;;)
- {
- PATFETCH (c);
- if (c == ':' || c == ']' || p == pend
- || c1 == CHAR_CLASS_MAX_LENGTH)
- break;
- str[c1++] = c;
- }
- str[c1] = '\0';
-
- /* If isn't a word bracketed by `[:' and:`]':
- undo the ending character, the letters, and leave
- the leading `:' and `[' (but set bits for them). */
- if (c == ':' && *p == ']')
- {
-#if defined _LIBC || (defined HAVE_WCTYPE_H && defined HAVE_WCHAR_H)
- boolean is_lower = STREQ (str, "lower");
- boolean is_upper = STREQ (str, "upper");
- wctype_t wt;
- int ch;
-
- wt = wctype (str);
- if (wt == 0)
- FREE_STACK_RETURN (REG_ECTYPE);
-
- /* Throw away the ] at the end of the character
- class. */
- PATFETCH (c);
-
- if (p == pend) FREE_STACK_RETURN (REG_EBRACK);
-
- for (ch = 0; ch < 1 << BYTEWIDTH; ++ch)
- {
- if (iswctype (btowc (ch), wt))
- SET_LIST_BIT (ch);
-
- if (translate && (is_upper || is_lower)
- && (ISUPPER (ch) || ISLOWER (ch)))
- SET_LIST_BIT (ch);
- }
-
- had_char_class = true;
-#else
- int ch;
- boolean is_alnum = STREQ (str, "alnum");
- boolean is_alpha = STREQ (str, "alpha");
- boolean is_blank = STREQ (str, "blank");
- boolean is_cntrl = STREQ (str, "cntrl");
- boolean is_digit = STREQ (str, "digit");
- boolean is_graph = STREQ (str, "graph");
- boolean is_lower = STREQ (str, "lower");
- boolean is_print = STREQ (str, "print");
- boolean is_punct = STREQ (str, "punct");
- boolean is_space = STREQ (str, "space");
- boolean is_upper = STREQ (str, "upper");
- boolean is_xdigit = STREQ (str, "xdigit");
-
- if (!IS_CHAR_CLASS (str))
- FREE_STACK_RETURN (REG_ECTYPE);
-
- /* Throw away the ] at the end of the character
- class. */
- PATFETCH (c);
-
- if (p == pend) FREE_STACK_RETURN (REG_EBRACK);
-
- for (ch = 0; ch < (1 << BYTEWIDTH); ch++)
- {
- /* This was split into 3 if's to
- avoid an arbitrary limit in some compiler. */
- if ( (is_alnum && ISALNUM (ch))
- || (is_alpha && ISALPHA (ch))
- || (is_blank && ISBLANK (ch))
- || (is_cntrl && ISCNTRL (ch)))
- SET_LIST_BIT (ch);
- if ( (is_digit && ISDIGIT (ch))
- || (is_graph && ISGRAPH (ch))
- || (is_lower && ISLOWER (ch))
- || (is_print && ISPRINT (ch)))
- SET_LIST_BIT (ch);
- if ( (is_punct && ISPUNCT (ch))
- || (is_space && ISSPACE (ch))
- || (is_upper && ISUPPER (ch))
- || (is_xdigit && ISXDIGIT (ch)))
- SET_LIST_BIT (ch);
- if ( translate && (is_upper || is_lower)
- && (ISUPPER (ch) || ISLOWER (ch)))
- SET_LIST_BIT (ch);
- }
- had_char_class = true;
-#endif /* libc || wctype.h */
- }
- else
- {
- c1++;
- while (c1--)
- PATUNFETCH;
- SET_LIST_BIT ('[');
- SET_LIST_BIT (':');
- had_char_class = false;
- }
- }
- else
- {
- had_char_class = false;
- SET_LIST_BIT (c);
- }
- }
-
- /* Discard any (non)matching list bytes that are all 0 at the
- end of the map. Decrease the map-length byte too. */
- while ((int) b[-1] > 0 && b[b[-1] - 1] == 0)
- b[-1]--;
- b += b[-1];
- }
- break;
-
-
- case '(':
- if (syntax & RE_NO_BK_PARENS)
- goto handle_open;
- else
- goto normal_char;
-
-
- case ')':
- if (syntax & RE_NO_BK_PARENS)
- goto handle_close;
- else
- goto normal_char;
-
-
- case '\n':
- if (syntax & RE_NEWLINE_ALT)
- goto handle_alt;
- else
- goto normal_char;
-
-
- case '|':
- if (syntax & RE_NO_BK_VBAR)
- goto handle_alt;
- else
- goto normal_char;
-
-
- case '{':
- if (syntax & RE_INTERVALS && syntax & RE_NO_BK_BRACES)
- goto handle_interval;
- else
- goto normal_char;
-
-
- case '\\':
- if (p == pend) FREE_STACK_RETURN (REG_EESCAPE);
-
- /* Do not translate the character after the \, so that we can
- distinguish, e.g., \B from \b, even if we normally would
- translate, e.g., B to b. */
- PATFETCH_RAW (c);
-
- switch (c)
- {
- case '(':
- if (syntax & RE_NO_BK_PARENS)
- goto normal_backslash;
-
- handle_open:
- bufp->re_nsub++;
- regnum++;
-
- if (COMPILE_STACK_FULL)
- {
- RETALLOC (compile_stack.stack, compile_stack.size << 1,
- compile_stack_elt_t);
- if (compile_stack.stack == NULL) return REG_ESPACE;
-
- compile_stack.size <<= 1;
- }
-
- /* These are the values to restore when we hit end of this
- group. They are all relative offsets, so that if the
- whole pattern moves because of realloc, they will still
- be valid. */
- COMPILE_STACK_TOP.begalt_offset = begalt - bufp->buffer;
- COMPILE_STACK_TOP.fixup_alt_jump
- = fixup_alt_jump ? fixup_alt_jump - bufp->buffer + 1 : 0;
- COMPILE_STACK_TOP.laststart_offset = b - bufp->buffer;
- COMPILE_STACK_TOP.regnum = regnum;
-
- /* We will eventually replace the 0 with the number of
- groups inner to this one. But do not push a
- start_memory for groups beyond the last one we can
- represent in the compiled pattern. */
- if (regnum <= MAX_REGNUM)
- {
- COMPILE_STACK_TOP.inner_group_offset = b - bufp->buffer + 2;
- BUF_PUSH_3 (start_memory, regnum, 0);
- }
-
- compile_stack.avail++;
-
- fixup_alt_jump = 0;
- laststart = 0;
- begalt = b;
- /* If we've reached MAX_REGNUM groups, then this open
- won't actually generate any code, so we'll have to
- clear pending_exact explicitly. */
- pending_exact = 0;
- break;
-
-
- case ')':
- if (syntax & RE_NO_BK_PARENS) goto normal_backslash;
-
- if (COMPILE_STACK_EMPTY) {
- if (syntax & RE_UNMATCHED_RIGHT_PAREN_ORD)
- goto normal_backslash;
- }
- else FREE_STACK_RETURN (REG_ERPAREN);
-
- handle_close:
- if (fixup_alt_jump)
- { /* Push a dummy failure point at the end of the
- alternative for a possible future
- `pop_failure_jump' to pop. See comments at
- `push_dummy_failure' in `re_match_2'. */
- BUF_PUSH (push_dummy_failure);
-
- /* We allocated space for this jump when we assigned
- to `fixup_alt_jump', in the `handle_alt' case below. */
- STORE_JUMP (jump_past_alt, fixup_alt_jump, b - 1);
- }
-
- /* See similar code for backslashed left paren above. */
- if (COMPILE_STACK_EMPTY) {
- if (syntax & RE_UNMATCHED_RIGHT_PAREN_ORD)
- goto normal_char;
- }
- else FREE_STACK_RETURN (REG_ERPAREN);
-
- /* Since we just checked for an empty stack above, this
- ``can't happen''. */
- assert (compile_stack.avail != 0);
- {
- /* We don't just want to restore into `regnum', because
- later groups should continue to be numbered higher,
- as in `(ab)c(de)' -- the second group is #2. */
- regnum_t this_group_regnum;
-
- compile_stack.avail--;
- begalt = bufp->buffer + COMPILE_STACK_TOP.begalt_offset;
- fixup_alt_jump
- = COMPILE_STACK_TOP.fixup_alt_jump
- ? bufp->buffer + COMPILE_STACK_TOP.fixup_alt_jump - 1
- : 0;
- laststart = bufp->buffer + COMPILE_STACK_TOP.laststart_offset;
- this_group_regnum = COMPILE_STACK_TOP.regnum;
- /* If we've reached MAX_REGNUM groups, then this open
- won't actually generate any code, so we'll have to
- clear pending_exact explicitly. */
- pending_exact = 0;
-
- /* We're at the end of the group, so now we know how many
- groups were inside this one. */
- if (this_group_regnum <= MAX_REGNUM)
- {
- unsigned char *inner_group_loc
- = bufp->buffer + COMPILE_STACK_TOP.inner_group_offset;
-
- *inner_group_loc = regnum - this_group_regnum;
- BUF_PUSH_3 (stop_memory, this_group_regnum,
- regnum - this_group_regnum);
- }
- }
- break;
-
-
- case '|': /* `\|'. */
- if (syntax & RE_LIMITED_OPS || syntax & RE_NO_BK_VBAR)
- goto normal_backslash;
- handle_alt:
- if (syntax & RE_LIMITED_OPS)
- goto normal_char;
-
- /* Insert before the previous alternative a jump which
- jumps to this alternative if the former fails. */
- GET_BUFFER_SPACE (3);
- INSERT_JUMP (on_failure_jump, begalt, b + 6);
- pending_exact = 0;
- b += 3;
-
- /* The alternative before this one has a jump after it
- which gets executed if it gets matched. Adjust that
- jump so it will jump to this alternative's analogous
- jump (put in below, which in turn will jump to the next
- (if any) alternative's such jump, etc.). The last such
- jump jumps to the correct final destination. A picture:
- _____ _____
- | | | |
- | v | v
- a | b | c
-
- If we are at `b', then fixup_alt_jump right now points to a
- three-byte space after `a'. We'll put in the jump, set
- fixup_alt_jump to right after `b', and leave behind three
- bytes which we'll fill in when we get to after `c'. */
-
- if (fixup_alt_jump)
- STORE_JUMP (jump_past_alt, fixup_alt_jump, b);
-
- /* Mark and leave space for a jump after this alternative,
- to be filled in later either by next alternative or
- when know we're at the end of a series of alternatives. */
- fixup_alt_jump = b;
- GET_BUFFER_SPACE (3);
- b += 3;
-
- laststart = 0;
- begalt = b;
- break;
-
-
- case '{':
- /* If \{ is a literal. */
- if (!(syntax & RE_INTERVALS)
- /* If we're at `\{' and it's not the open-interval
- operator. */
- || ((syntax & RE_INTERVALS) && (syntax & RE_NO_BK_BRACES))
- || (p - 2 == pattern && p == pend))
- goto normal_backslash;
-
- handle_interval:
- {
- /* If got here, then the syntax allows intervals. */
-
- /* At least (most) this many matches must be made. */
- int lower_bound = -1, upper_bound = -1;
-
- beg_interval = p - 1;
-
- if (p == pend)
- {
- if (syntax & RE_NO_BK_BRACES)
- goto unfetch_interval;
- else
- FREE_STACK_RETURN (REG_EBRACE);
- }
-
- GET_UNSIGNED_NUMBER (lower_bound);
-
- if (c == ',')
- {
- GET_UNSIGNED_NUMBER (upper_bound);
- if (upper_bound < 0) upper_bound = RE_DUP_MAX;
- }
- else
- /* Interval such as `{1}' => match exactly once. */
- upper_bound = lower_bound;
-
- if (lower_bound < 0 || upper_bound > RE_DUP_MAX
- || lower_bound > upper_bound)
- {
- if (syntax & RE_NO_BK_BRACES)
- goto unfetch_interval;
- else
- FREE_STACK_RETURN (REG_BADBR);
- }
-
- if (!(syntax & RE_NO_BK_BRACES))
- {
- if (c != '\\') FREE_STACK_RETURN (REG_EBRACE);
-
- PATFETCH (c);
- }
-
- if (c != '}')
- {
- if (syntax & RE_NO_BK_BRACES)
- goto unfetch_interval;
- else
- FREE_STACK_RETURN (REG_BADBR);
- }
-
- /* We just parsed a valid interval. */
-
- /* If it's invalid to have no preceding re. */
- if (!laststart)
- {
- if (syntax & RE_CONTEXT_INVALID_OPS)
- FREE_STACK_RETURN (REG_BADRPT);
- else if (syntax & RE_CONTEXT_INDEP_OPS)
- laststart = b;
- else
- goto unfetch_interval;
- }
-
- /* If the upper bound is zero, don't want to succeed at
- all; jump from `laststart' to `b + 3', which will be
- the end of the buffer after we insert the jump. */
- if (upper_bound == 0)
- {
- GET_BUFFER_SPACE (3);
- INSERT_JUMP (jump, laststart, b + 3);
- b += 3;
- }
-
- /* Otherwise, we have a nontrivial interval. When
- we're all done, the pattern will look like:
- set_number_at <jump count> <upper bound>
- set_number_at <succeed_n count> <lower bound>
- succeed_n <after jump addr> <succeed_n count>
- <body of loop>
- jump_n <succeed_n addr> <jump count>
- (The upper bound and `jump_n' are omitted if
- `upper_bound' is 1, though.) */
- else
- { /* If the upper bound is > 1, we need to insert
- more at the end of the loop. */
- unsigned nbytes = 10 + (upper_bound > 1) * 10;
-
- GET_BUFFER_SPACE (nbytes);
-
- /* Initialize lower bound of the `succeed_n', even
- though it will be set during matching by its
- attendant `set_number_at' (inserted next),
- because `re_compile_fastmap' needs to know.
- Jump to the `jump_n' we might insert below. */
- INSERT_JUMP2 (succeed_n, laststart,
- b + 5 + (upper_bound > 1) * 5,
- lower_bound);
- b += 5;
-
- /* Code to initialize the lower bound. Insert
- before the `succeed_n'. The `5' is the last two
- bytes of this `set_number_at', plus 3 bytes of
- the following `succeed_n'. */
- insert_op2 (set_number_at, laststart, 5, lower_bound, b);
- b += 5;
-
- if (upper_bound > 1)
- { /* More than one repetition is allowed, so
- append a backward jump to the `succeed_n'
- that starts this interval.
-
- When we've reached this during matching,
- we'll have matched the interval once, so
- jump back only `upper_bound - 1' times. */
- STORE_JUMP2 (jump_n, b, laststart + 5,
- upper_bound - 1);
- b += 5;
-
- /* The location we want to set is the second
- parameter of the `jump_n'; that is `b-2' as
- an absolute address. `laststart' will be
- the `set_number_at' we're about to insert;
- `laststart+3' the number to set, the source
- for the relative address. But we are
- inserting into the middle of the pattern --
- so everything is getting moved up by 5.
- Conclusion: (b - 2) - (laststart + 3) + 5,
- i.e., b - laststart.
-
- We insert this at the beginning of the loop
- so that if we fail during matching, we'll
- reinitialize the bounds. */
- insert_op2 (set_number_at, laststart, b - laststart,
- upper_bound - 1, b);
- b += 5;
- }
- }
- pending_exact = 0;
- beg_interval = NULL;
- }
- break;
-
- unfetch_interval:
- /* If an invalid interval, match the characters as literals. */
- assert (beg_interval);
- p = beg_interval;
- beg_interval = NULL;
-
- /* normal_char and normal_backslash need `c'. */
- PATFETCH (c);
-
- if (!(syntax & RE_NO_BK_BRACES))
- {
- if (p > pattern && p[-1] == '\\')
- goto normal_backslash;
- }
- goto normal_char;
-
-#ifdef emacs
- /* There is no way to specify the before_dot and after_dot
- operators. rms says this is ok. --karl */
- case '=':
- BUF_PUSH (at_dot);
- break;
-
- case 's':
- laststart = b;
- PATFETCH (c);
- BUF_PUSH_2 (syntaxspec, syntax_spec_code[c]);
- break;
-
- case 'S':
- laststart = b;
- PATFETCH (c);
- BUF_PUSH_2 (notsyntaxspec, syntax_spec_code[c]);
- break;
-#endif /* emacs */
-
-
- case 'w':
- if (re_syntax_options & RE_NO_GNU_OPS)
- goto normal_char;
- laststart = b;
- BUF_PUSH (wordchar);
- break;
-
-
- case 'W':
- if (re_syntax_options & RE_NO_GNU_OPS)
- goto normal_char;
- laststart = b;
- BUF_PUSH (notwordchar);
- break;
-
-
- case '<':
- if (re_syntax_options & RE_NO_GNU_OPS)
- goto normal_char;
- BUF_PUSH (wordbeg);
- break;
-
- case '>':
- if (re_syntax_options & RE_NO_GNU_OPS)
- goto normal_char;
- BUF_PUSH (wordend);
- break;
-
- case 'b':
- if (re_syntax_options & RE_NO_GNU_OPS)
- goto normal_char;
- BUF_PUSH (wordbound);
- break;
-
- case 'B':
- if (re_syntax_options & RE_NO_GNU_OPS)
- goto normal_char;
- BUF_PUSH (notwordbound);
- break;
-
- case '`':
- if (re_syntax_options & RE_NO_GNU_OPS)
- goto normal_char;
- BUF_PUSH (begbuf);
- break;
-
- case '\'':
- if (re_syntax_options & RE_NO_GNU_OPS)
- goto normal_char;
- BUF_PUSH (endbuf);
- break;
-
- case '1': case '2': case '3': case '4': case '5':
- case '6': case '7': case '8': case '9':
- if (syntax & RE_NO_BK_REFS)
- goto normal_char;
-
- c1 = c - '0';
-
- if (c1 > regnum)
- FREE_STACK_RETURN (REG_ESUBREG);
-
- /* Can't back reference to a subexpression if inside of it. */
- if (group_in_compile_stack (compile_stack, (regnum_t) c1))
- goto normal_char;
-
- laststart = b;
- BUF_PUSH_2 (duplicate, c1);
- break;
-
-
- case '+':
- case '?':
- if (syntax & RE_BK_PLUS_QM)
- goto handle_plus;
- else
- goto normal_backslash;
-
- default:
- normal_backslash:
- /* You might think it would be useful for \ to mean
- not to translate; but if we don't translate it
- it will never match anything. */
- c = TRANSLATE (c);
- goto normal_char;
- }
- break;
-
-
- default:
- /* Expects the character in `c'. */
- normal_char:
- /* If no exactn currently being built. */
- if (!pending_exact
-
- /* If last exactn not at current position. */
- || pending_exact + *pending_exact + 1 != b
-
- /* We have only one byte following the exactn for the count. */
- || *pending_exact == (1 << BYTEWIDTH) - 1
-
- /* If followed by a repetition operator. */
- || *p == '*' || *p == '^'
- || ((syntax & RE_BK_PLUS_QM)
- ? *p == '\\' && (p[1] == '+' || p[1] == '?')
- : (*p == '+' || *p == '?'))
- || ((syntax & RE_INTERVALS)
- && ((syntax & RE_NO_BK_BRACES)
- ? *p == '{'
- : (p[0] == '\\' && p[1] == '{'))))
- {
- /* Start building a new exactn. */
-
- laststart = b;
-
- BUF_PUSH_2 (exactn, 0);
- pending_exact = b - 1;
- }
-
- BUF_PUSH (c);
- (*pending_exact)++;
- break;
- } /* switch (c) */
- } /* while p != pend */
-
-
- /* Through the pattern now. */
-
- if (fixup_alt_jump)
- STORE_JUMP (jump_past_alt, fixup_alt_jump, b);
-
- if (!COMPILE_STACK_EMPTY)
- FREE_STACK_RETURN (REG_EPAREN);
-
- /* If we don't want backtracking, force success
- the first time we reach the end of the compiled pattern. */
- if (syntax & RE_NO_POSIX_BACKTRACKING)
- BUF_PUSH (succeed);
-
- free (compile_stack.stack);
-
- /* We have succeeded; set the length of the buffer. */
- bufp->used = b - bufp->buffer;
-
-#ifdef DEBUG
- if (debug)
- {
- DEBUG_PRINT1 ("\nCompiled pattern: \n");
- print_compiled_pattern (bufp);
- }
-#endif /* DEBUG */
-
-#ifndef MATCH_MAY_ALLOCATE
- /* Initialize the failure stack to the largest possible stack. This
- isn't necessary unless we're trying to avoid calling alloca in
- the search and match routines. */
- {
- int num_regs = bufp->re_nsub + 1;
-
- /* Since DOUBLE_FAIL_STACK refuses to double only if the current size
- is strictly greater than re_max_failures, the largest possible stack
- is 2 * re_max_failures failure points. */
- if (fail_stack.size < (2 * re_max_failures * MAX_FAILURE_ITEMS))
- {
- fail_stack.size = (2 * re_max_failures * MAX_FAILURE_ITEMS);
-
-#ifdef emacs
- if (! fail_stack.stack)
- fail_stack.stack
- = (fail_stack_elt_t *) xmalloc (fail_stack.size
- * sizeof (fail_stack_elt_t));
- else
- fail_stack.stack
- = (fail_stack_elt_t *) xrealloc (fail_stack.stack,
- (fail_stack.size
- * sizeof (fail_stack_elt_t)));
-#else /* not emacs */
- if (! fail_stack.stack)
- fail_stack.stack
- = (fail_stack_elt_t *) malloc (fail_stack.size
- * sizeof (fail_stack_elt_t));
- else
- fail_stack.stack
- = (fail_stack_elt_t *) realloc (fail_stack.stack,
- (fail_stack.size
- * sizeof (fail_stack_elt_t)));
-#endif /* not emacs */
- }
-
- regex_grow_registers (num_regs);
- }
-#endif /* not MATCH_MAY_ALLOCATE */
-
- return REG_NOERROR;
-} /* regex_compile */
-
-/* Subroutines for `regex_compile'. */
-
-/* Store OP at LOC followed by two-byte integer parameter ARG. */
-
-static void
-store_op1 (op, loc, arg)
- re_opcode_t op;
- unsigned char *loc;
- int arg;
-{
- *loc = (unsigned char) op;
- STORE_NUMBER (loc + 1, arg);
-}
-
-
-/* Like `store_op1', but for two two-byte parameters ARG1 and ARG2. */
-
-static void
-store_op2 (op, loc, arg1, arg2)
- re_opcode_t op;
- unsigned char *loc;
- int arg1, arg2;
-{
- *loc = (unsigned char) op;
- STORE_NUMBER (loc + 1, arg1);
- STORE_NUMBER (loc + 3, arg2);
-}
-
-
-/* Copy the bytes from LOC to END to open up three bytes of space at LOC
- for OP followed by two-byte integer parameter ARG. */
-
-static void
-insert_op1 (op, loc, arg, end)
- re_opcode_t op;
- unsigned char *loc;
- int arg;
- unsigned char *end;
-{
- register unsigned char *pfrom = end;
- register unsigned char *pto = end + 3;
-
- while (pfrom != loc)
- *--pto = *--pfrom;
-
- store_op1 (op, loc, arg);
-}
-
-
-/* Like `insert_op1', but for two two-byte parameters ARG1 and ARG2. */
-
-static void
-insert_op2 (op, loc, arg1, arg2, end)
- re_opcode_t op;
- unsigned char *loc;
- int arg1, arg2;
- unsigned char *end;
-{
- register unsigned char *pfrom = end;
- register unsigned char *pto = end + 5;
-
- while (pfrom != loc)
- *--pto = *--pfrom;
-
- store_op2 (op, loc, arg1, arg2);
-}
-
-
-/* P points to just after a ^ in PATTERN. Return true if that ^ comes
- after an alternative or a begin-subexpression. We assume there is at
- least one character before the ^. */
-
-static boolean
-at_begline_loc_p (pattern, p, syntax)
- const char *pattern, *p;
- reg_syntax_t syntax;
-{
- const char *prev = p - 2;
- boolean prev_prev_backslash = prev > pattern && prev[-1] == '\\';
-
- return
- /* After a subexpression? */
- (*prev == '(' && (syntax & RE_NO_BK_PARENS || prev_prev_backslash))
- /* After an alternative? */
- || (*prev == '|' && (syntax & RE_NO_BK_VBAR || prev_prev_backslash));
-}
-
-
-/* The dual of at_begline_loc_p. This one is for $. We assume there is
- at least one character after the $, i.e., `P < PEND'. */
-
-static boolean
-at_endline_loc_p (p, pend, syntax)
- const char *p, *pend;
- reg_syntax_t syntax;
-{
- const char *next = p;
- boolean next_backslash = *next == '\\';
- const char *next_next = p + 1 < pend ? p + 1 : 0;
-
- return
- /* Before a subexpression? */
- (syntax & RE_NO_BK_PARENS ? *next == ')'
- : next_backslash && next_next && *next_next == ')')
- /* Before an alternative? */
- || (syntax & RE_NO_BK_VBAR ? *next == '|'
- : next_backslash && next_next && *next_next == '|');
-}
-
-
-/* Returns true if REGNUM is in one of COMPILE_STACK's elements and
- false if it's not. */
-
-static boolean
-group_in_compile_stack (compile_stack, regnum)
- compile_stack_type compile_stack;
- regnum_t regnum;
-{
- int this_element;
-
- for (this_element = compile_stack.avail - 1;
- this_element >= 0;
- this_element--)
- if (compile_stack.stack[this_element].regnum == regnum)
- return true;
-
- return false;
-}
-
-
-/* Read the ending character of a range (in a bracket expression) from the
- uncompiled pattern *P_PTR (which ends at PEND). We assume the
- starting character is in `P[-2]'. (`P[-1]' is the character `-'.)
- Then we set the translation of all bits between the starting and
- ending characters (inclusive) in the compiled pattern B.
-
- Return an error code.
-
- We use these short variable names so we can use the same macros as
- `regex_compile' itself. */
-
-static reg_errcode_t
-compile_range (p_ptr, pend, translate, syntax, b)
- const char **p_ptr, *pend;
- RE_TRANSLATE_TYPE translate;
- reg_syntax_t syntax;
- unsigned char *b;
-{
- unsigned this_char;
-
- const char *p = *p_ptr;
- unsigned int range_start, range_end;
-
- if (p == pend)
- return REG_ERANGE;
-
- /* Even though the pattern is a signed `char *', we need to fetch
- with unsigned char *'s; if the high bit of the pattern character
- is set, the range endpoints will be negative if we fetch using a
- signed char *.
-
- We also want to fetch the endpoints without translating them; the
- appropriate translation is done in the bit-setting loop below. */
- /* The SVR4 compiler on the 3B2 had trouble with unsigned const char *. */
- range_start = ((const unsigned char *) p)[-2];
- range_end = ((const unsigned char *) p)[0];
-
- /* Have to increment the pointer into the pattern string, so the
- caller isn't still at the ending character. */
- (*p_ptr)++;
-
- /* If the start is after the end, the range is empty. */
- if (range_start > range_end)
- return syntax & RE_NO_EMPTY_RANGES ? REG_ERANGE : REG_NOERROR;
-
- /* Here we see why `this_char' has to be larger than an `unsigned
- char' -- the range is inclusive, so if `range_end' == 0xff
- (assuming 8-bit characters), we would otherwise go into an infinite
- loop, since all characters <= 0xff. */
- for (this_char = range_start; this_char <= range_end; this_char++)
- {
- SET_LIST_BIT (TRANSLATE (this_char));
- }
-
- return REG_NOERROR;
-}
-
-/* re_compile_fastmap computes a ``fastmap'' for the compiled pattern in
- BUFP. A fastmap records which of the (1 << BYTEWIDTH) possible
- characters can start a string that matches the pattern. This fastmap
- is used by re_search to skip quickly over impossible starting points.
-
- The caller must supply the address of a (1 << BYTEWIDTH)-byte data
- area as BUFP->fastmap.
-
- We set the `fastmap', `fastmap_accurate', and `can_be_null' fields in
- the pattern buffer.
-
- Returns 0 if we succeed, -2 if an internal error. */
-
-int
-re_compile_fastmap (bufp)
- struct re_pattern_buffer *bufp;
-{
- int j, k;
-#ifdef MATCH_MAY_ALLOCATE
- fail_stack_type fail_stack;
-#endif
-#ifndef REGEX_MALLOC
- char *destination;
-#endif
- /* We don't push any register information onto the failure stack. */
-//sword unsigned num_regs = 0;
-
- register char *fastmap = bufp->fastmap;
- unsigned char *pattern = bufp->buffer;
- unsigned char *p = pattern;
- register unsigned char *pend = pattern + bufp->used;
-
-#ifdef REL_ALLOC
- /* This holds the pointer to the failure stack, when
- it is allocated relocatably. */
- fail_stack_elt_t *failure_stack_ptr;
-#endif
-
- /* Assume that each path through the pattern can be null until
- proven otherwise. We set this false at the bottom of switch
- statement, to which we get only if a particular path doesn't
- match the empty string. */
- boolean path_can_be_null = true;
-
- /* We aren't doing a `succeed_n' to begin with. */
- boolean succeed_n_p = false;
-
- assert (fastmap != NULL && p != NULL);
-
- INIT_FAIL_STACK ();
- bzero (fastmap, 1 << BYTEWIDTH); /* Assume nothing's valid. */
- bufp->fastmap_accurate = 1; /* It will be when we're done. */
- bufp->can_be_null = 0;
-
- while (1)
- {
- if (p == pend || *p == succeed)
- {
- /* We have reached the (effective) end of pattern. */
- if (!FAIL_STACK_EMPTY ())
- {
- bufp->can_be_null |= path_can_be_null;
-
- /* Reset for next path. */
- path_can_be_null = true;
-
- p = fail_stack.stack[--fail_stack.avail].pointer;
-
- continue;
- }
- else
- break;
- }
-
- /* We should never be about to go beyond the end of the pattern. */
- assert (p < pend);
-
- switch (SWITCH_ENUM_CAST ((re_opcode_t) *p++))
- {
-
- /* I guess the idea here is to simply not bother with a fastmap
- if a backreference is used, since it's too hard to figure out
- the fastmap for the corresponding group. Setting
- `can_be_null' stops `re_search_2' from using the fastmap, so
- that is all we do. */
- case duplicate:
- bufp->can_be_null = 1;
- goto done;
-
-
- /* Following are the cases which match a character. These end
- with `break'. */
-
- case exactn:
- fastmap[p[1]] = 1;
- break;
-
-
- case charset:
- for (j = *p++ * BYTEWIDTH - 1; j >= 0; j--)
- if (p[j / BYTEWIDTH] & (1 << (j % BYTEWIDTH)))
- fastmap[j] = 1;
- break;
-
-
- case charset_not:
- /* Chars beyond end of map must be allowed. */
- for (j = *p * BYTEWIDTH; j < (1 << BYTEWIDTH); j++)
- fastmap[j] = 1;
-
- for (j = *p++ * BYTEWIDTH - 1; j >= 0; j--)
- if (!(p[j / BYTEWIDTH] & (1 << (j % BYTEWIDTH))))
- fastmap[j] = 1;
- break;
-
-
- case wordchar:
- for (j = 0; j < (1 << BYTEWIDTH); j++)
- if (SYNTAX (j) == Sword)
- fastmap[j] = 1;
- break;
-
-
- case notwordchar:
- for (j = 0; j < (1 << BYTEWIDTH); j++)
- if (SYNTAX (j) != Sword)
- fastmap[j] = 1;
- break;
-
-
- case anychar:
- {
- int fastmap_newline = fastmap['\n'];
-
- /* `.' matches anything ... */
- for (j = 0; j < (1 << BYTEWIDTH); j++)
- fastmap[j] = 1;
-
- /* ... except perhaps newline. */
- if (!(bufp->syntax & RE_DOT_NEWLINE))
- fastmap['\n'] = fastmap_newline;
-
- /* Return if we have already set `can_be_null'; if we have,
- then the fastmap is irrelevant. Something's wrong here. */
- else if (bufp->can_be_null)
- goto done;
-
- /* Otherwise, have to check alternative paths. */
- break;
- }
-
-#ifdef emacs
- case syntaxspec:
- k = *p++;
- for (j = 0; j < (1 << BYTEWIDTH); j++)
- if (SYNTAX (j) == (enum syntaxcode) k)
- fastmap[j] = 1;
- break;
-
-
- case notsyntaxspec:
- k = *p++;
- for (j = 0; j < (1 << BYTEWIDTH); j++)
- if (SYNTAX (j) != (enum syntaxcode) k)
- fastmap[j] = 1;
- break;
-
-
- /* All cases after this match the empty string. These end with
- `continue'. */
-
-
- case before_dot:
- case at_dot:
- case after_dot:
- continue;
-#endif /* emacs */
-
-
- case no_op:
- case begline:
- case endline:
- case begbuf:
- case endbuf:
- case wordbound:
- case notwordbound:
- case wordbeg:
- case wordend:
- case push_dummy_failure:
- continue;
-
-
- case jump_n:
- case pop_failure_jump:
- case maybe_pop_jump:
- case jump:
- case jump_past_alt:
- case dummy_failure_jump:
- EXTRACT_NUMBER_AND_INCR (j, p);
- p += j;
- if (j > 0)
- continue;
-
- /* Jump backward implies we just went through the body of a
- loop and matched nothing. Opcode jumped to should be
- `on_failure_jump' or `succeed_n'. Just treat it like an
- ordinary jump. For a * loop, it has pushed its failure
- point already; if so, discard that as redundant. */
- if ((re_opcode_t) *p != on_failure_jump
- && (re_opcode_t) *p != succeed_n)
- continue;
-
- p++;
- EXTRACT_NUMBER_AND_INCR (j, p);
- p += j;
-
- /* If what's on the stack is where we are now, pop it. */
- if (!FAIL_STACK_EMPTY ()
- && fail_stack.stack[fail_stack.avail - 1].pointer == p)
- fail_stack.avail--;
-
- continue;
-
-
- case on_failure_jump:
- case on_failure_keep_string_jump:
- handle_on_failure_jump:
- EXTRACT_NUMBER_AND_INCR (j, p);
-
- /* For some patterns, e.g., `(a?)?', `p+j' here points to the
- end of the pattern. We don't want to push such a point,
- since when we restore it above, entering the switch will
- increment `p' past the end of the pattern. We don't need
- to push such a point since we obviously won't find any more
- fastmap entries beyond `pend'. Such a pattern can match
- the null string, though. */
- if (p + j < pend)
- {
- if (!PUSH_PATTERN_OP (p + j, fail_stack))
- {
- RESET_FAIL_STACK ();
- return -2;
- }
- }
- else
- bufp->can_be_null = 1;
-
- if (succeed_n_p)
- {
- EXTRACT_NUMBER_AND_INCR (k, p); /* Skip the n. */
- succeed_n_p = false;
- }
-
- continue;
-
-
- case succeed_n:
- /* Get to the number of times to succeed. */
- p += 2;
-
- /* Increment p past the n for when k != 0. */
- EXTRACT_NUMBER_AND_INCR (k, p);
- if (k == 0)
- {
- p -= 4;
- succeed_n_p = true; /* Spaghetti code alert. */
- goto handle_on_failure_jump;
- }
- continue;
-
-
- case set_number_at:
- p += 4;
- continue;
-
-
- case start_memory:
- case stop_memory:
- p += 2;
- continue;
-
-
- default:
- abort (); /* We have listed all the cases. */
- } /* switch *p++ */
-
- /* Getting here means we have found the possible starting
- characters for one path of the pattern -- and that the empty
- string does not match. We need not follow this path further.
- Instead, look at the next alternative (remembered on the
- stack), or quit if no more. The test at the top of the loop
- does these things. */
- path_can_be_null = false;
- p = pend;
- } /* while p */
-
- /* Set `can_be_null' for the last path (also the first path, if the
- pattern is empty). */
- bufp->can_be_null |= path_can_be_null;
-
- done:
- RESET_FAIL_STACK ();
- return 0;
-} /* re_compile_fastmap */
-
-/* Set REGS to hold NUM_REGS registers, storing them in STARTS and
- ENDS. Subsequent matches using PATTERN_BUFFER and REGS will use
- this memory for recording register information. STARTS and ENDS
- must be allocated using the malloc library routine, and must each
- be at least NUM_REGS * sizeof (regoff_t) bytes long.
-
- If NUM_REGS == 0, then subsequent matches should allocate their own
- register data.
-
- Unless this function is called, the first search or match using
- PATTERN_BUFFER will allocate its own register data, without
- freeing the old data. */
-
-void
-re_set_registers (bufp, regs, num_regs, starts, ends)
- struct re_pattern_buffer *bufp;
- struct re_registers *regs;
- unsigned num_regs;
- regoff_t *starts, *ends;
-{
- if (num_regs)
- {
- bufp->regs_allocated = REGS_REALLOCATE;
- regs->num_regs = num_regs;
- regs->start = starts;
- regs->end = ends;
- }
- else
- {
- bufp->regs_allocated = REGS_UNALLOCATED;
- regs->num_regs = 0;
- regs->start = regs->end = (regoff_t *) 0;
- }
-}
-
-/* Searching routines. */
-
-/* Like re_search_2, below, but only one string is specified, and
- doesn't let you say where to stop matching. */
-
-int
-re_search (bufp, string, size, startpos, range, regs)
- struct re_pattern_buffer *bufp;
- const char *string;
- int size, startpos, range;
- struct re_registers *regs;
-{
- return re_search_2 (bufp, NULL, 0, string, size, startpos, range,
- regs, size);
-}
-
-
-/* Using the compiled pattern in BUFP->buffer, first tries to match the
- virtual concatenation of STRING1 and STRING2, starting first at index
- STARTPOS, then at STARTPOS + 1, and so on.
-
- STRING1 and STRING2 have length SIZE1 and SIZE2, respectively.
-
- RANGE is how far to scan while trying to match. RANGE = 0 means try
- only at STARTPOS; in general, the last start tried is STARTPOS +
- RANGE.
-
- In REGS, return the indices of the virtual concatenation of STRING1
- and STRING2 that matched the entire BUFP->buffer and its contained
- subexpressions.
-
- Do not consider matching one past the index STOP in the virtual
- concatenation of STRING1 and STRING2.
-
- We return either the position in the strings at which the match was
- found, -1 if no match, or -2 if error (such as failure
- stack overflow). */
-
-int
-re_search_2 (bufp, string1, size1, string2, size2, startpos, range, regs, stop)
- struct re_pattern_buffer *bufp;
- const char *string1, *string2;
- int size1, size2;
- int startpos;
- int range;
- struct re_registers *regs;
- int stop;
-{
- int val;
- register char *fastmap = bufp->fastmap;
- register RE_TRANSLATE_TYPE translate = bufp->translate;
- int total_size = size1 + size2;
- int endpos = startpos + range;
-
- /* Check for out-of-range STARTPOS. */
- if (startpos < 0 || startpos > total_size)
- return -1;
-
- /* Fix up RANGE if it might eventually take us outside
- the virtual concatenation of STRING1 and STRING2.
- Make sure we won't move STARTPOS below 0 or above TOTAL_SIZE. */
- if (endpos < 0)
- range = 0 - startpos;
- else if (endpos > total_size)
- range = total_size - startpos;
-
- /* If the search isn't to be a backwards one, don't waste time in a
- search for a pattern that must be anchored. */
- if (bufp->used > 0 && (re_opcode_t) bufp->buffer[0] == begbuf && range > 0)
- {
- if (startpos > 0)
- return -1;
- else
- range = 1;
- }
-
-#ifdef emacs
- /* In a forward search for something that starts with \=.
- don't keep searching past point. */
- if (bufp->used > 0 && (re_opcode_t) bufp->buffer[0] == at_dot && range > 0)
- {
- range = PT - startpos;
- if (range <= 0)
- return -1;
- }
-#endif /* emacs */
-
- /* Update the fastmap now if not correct already. */
- if (fastmap && !bufp->fastmap_accurate)
- if (re_compile_fastmap (bufp) == -2)
- return -2;
-
- /* Loop through the string, looking for a place to start matching. */
- for (;;)
- {
- /* If a fastmap is supplied, skip quickly over characters that
- cannot be the start of a match. If the pattern can match the
- null string, however, we don't need to skip characters; we want
- the first null string. */
- if (fastmap && startpos < total_size && !bufp->can_be_null)
- {
- if (range > 0) /* Searching forwards. */
- {
- register const char *d;
- register int lim = 0;
- int irange = range;
-
- if (startpos < size1 && startpos + range >= size1)
- lim = range - (size1 - startpos);
-
- d = (startpos >= size1 ? string2 - size1 : string1) + startpos;
-
- /* Written out as an if-else to avoid testing `translate'
- inside the loop. */
- if (translate)
- while (range > lim
- && !fastmap[(unsigned char)
- translate[(unsigned char) *d++]])
- range--;
- else
- while (range > lim && !fastmap[(unsigned char) *d++])
- range--;
-
- startpos += irange - range;
- }
- else /* Searching backwards. */
- {
- register char c = (size1 == 0 || startpos >= size1
- ? string2[startpos - size1]
- : string1[startpos]);
-
- if (!fastmap[(unsigned char) TRANSLATE (c)])
- goto advance;
- }
- }
-
- /* If can't match the null string, and that's all we have left, fail. */
- if (range >= 0 && startpos == total_size && fastmap
- && !bufp->can_be_null)
- return -1;
-
- val = re_match_2_internal (bufp, string1, size1, string2, size2,
- startpos, regs, stop);
-#ifndef REGEX_MALLOC
-#ifdef C_ALLOCA
- alloca (0);
-#endif
-#endif
-
- if (val >= 0)
- return startpos;
-
- if (val == -2)
- return -2;
-
- advance:
- if (!range)
- break;
- else if (range > 0)
- {
- range--;
- startpos++;
- }
- else
- {
- range++;
- startpos--;
- }
- }
- return -1;
-} /* re_search_2 */
-
-/* This converts PTR, a pointer into one of the search strings `string1'
- and `string2' into an offset from the beginning of that string. */
-#define POINTER_TO_OFFSET(ptr) \
- (FIRST_STRING_P (ptr) \
- ? ((regoff_t) ((ptr) - string1)) \
- : ((regoff_t) ((ptr) - string2 + size1)))
-
-/* Macros for dealing with the split strings in re_match_2. */
-
-#define MATCHING_IN_FIRST_STRING (dend == end_match_1)
-
-/* Call before fetching a character with *d. This switches over to
- string2 if necessary. */
-#define PREFETCH() \
- while (d == dend) \
- { \
- /* End of string2 => fail. */ \
- if (dend == end_match_2) \
- goto fail; \
- /* End of string1 => advance to string2. */ \
- d = string2; \
- dend = end_match_2; \
- }
-
-
-/* Test if at very beginning or at very end of the virtual concatenation
- of `string1' and `string2'. If only one string, it's `string2'. */
-#define AT_STRINGS_BEG(d) ((d) == (size1 ? string1 : string2) || !size2)
-#define AT_STRINGS_END(d) ((d) == end2)
-
-
-/* Test if D points to a character which is word-constituent. We have
- two special cases to check for: if past the end of string1, look at
- the first character in string2; and if before the beginning of
- string2, look at the last character in string1. */
-#define WORDCHAR_P(d) \
- (SYNTAX ((d) == end1 ? *string2 \
- : (d) == string2 - 1 ? *(end1 - 1) : *(d)) \
- == Sword)
-
-/* Disabled due to a compiler bug -- see comment at case wordbound */
-#if 0
-/* Test if the character before D and the one at D differ with respect
- to being word-constituent. */
-#define AT_WORD_BOUNDARY(d) \
- (AT_STRINGS_BEG (d) || AT_STRINGS_END (d) \
- || WORDCHAR_P (d - 1) != WORDCHAR_P (d))
-#endif
-
-/* Free everything we malloc. */
-#ifdef MATCH_MAY_ALLOCATE
-#define FREE_VAR(var) if (var) REGEX_FREE (var); var = NULL
-#define FREE_VARIABLES() \
- do { \
- REGEX_FREE_STACK (fail_stack.stack); \
- FREE_VAR (regstart); \
- FREE_VAR (regend); \
- FREE_VAR (old_regstart); \
- FREE_VAR (old_regend); \
- FREE_VAR (best_regstart); \
- FREE_VAR (best_regend); \
- FREE_VAR (reg_info); \
- FREE_VAR (reg_dummy); \
- FREE_VAR (reg_info_dummy); \
- } while (0)
-#else
-#define FREE_VARIABLES() ((void)0) /* Do nothing! But inhibit gcc warning. */
-#endif /* not MATCH_MAY_ALLOCATE */
-
-/* These values must meet several constraints. They must not be valid
- register values; since we have a limit of 255 registers (because
- we use only one byte in the pattern for the register number), we can
- use numbers larger than 255. They must differ by 1, because of
- NUM_FAILURE_ITEMS above. And the value for the lowest register must
- be larger than the value for the highest register, so we do not try
- to actually save any registers when none are active. */
-#define NO_HIGHEST_ACTIVE_REG (1 << BYTEWIDTH)
-#define NO_LOWEST_ACTIVE_REG (NO_HIGHEST_ACTIVE_REG + 1)
-
-/* Matching routines. */
-
-#ifndef emacs /* Emacs never uses this. */
-/* re_match is like re_match_2 except it takes only a single string. */
-
-int
-re_match (bufp, string, size, pos, regs)
- struct re_pattern_buffer *bufp;
- const char *string;
- int size, pos;
- struct re_registers *regs;
-{
- int result = re_match_2_internal (bufp, NULL, 0, string, size,
- pos, regs, size);
-#ifndef REGEX_MALLOC
-#ifdef C_ALLOCA
- alloca (0);
-#endif
-#endif
- return result;
-}
-#endif /* not emacs */
-
-static boolean group_match_null_string_p _RE_ARGS ((unsigned char **p,
- unsigned char *end,
- register_info_type *reg_info));
-static boolean alt_match_null_string_p _RE_ARGS ((unsigned char *p,
- unsigned char *end,
- register_info_type *reg_info));
-static boolean common_op_match_null_string_p _RE_ARGS ((unsigned char **p,
- unsigned char *end,
- register_info_type *reg_info));
-static int bcmp_translate _RE_ARGS ((const char *s1, const char *s2,
- int len, char *translate));
-
-/* re_match_2 matches the compiled pattern in BUFP against the
- the (virtual) concatenation of STRING1 and STRING2 (of length SIZE1
- and SIZE2, respectively). We start matching at POS, and stop
- matching at STOP.
-
- If REGS is non-null and the `no_sub' field of BUFP is nonzero, we
- store offsets for the substring each group matched in REGS. See the
- documentation for exactly how many groups we fill.
-
- We return -1 if no match, -2 if an internal error (such as the
- failure stack overflowing). Otherwise, we return the length of the
- matched substring. */
-
-int
-re_match_2 (bufp, string1, size1, string2, size2, pos, regs, stop)
- struct re_pattern_buffer *bufp;
- const char *string1, *string2;
- int size1, size2;
- int pos;
- struct re_registers *regs;
- int stop;
-{
- int result = re_match_2_internal (bufp, string1, size1, string2, size2,
- pos, regs, stop);
-#ifndef REGEX_MALLOC
-#ifdef C_ALLOCA
- alloca (0);
-#endif
-#endif
- return result;
-}
-
-/* This is a separate function so that we can force an alloca cleanup
- afterwards. */
-static int
-re_match_2_internal (bufp, string1, size1, string2, size2, pos, regs, stop)
- struct re_pattern_buffer *bufp;
- const char *string1, *string2;
- int size1, size2;
- int pos;
- struct re_registers *regs;
- int stop;
-{
- /* General temporaries. */
- int mcnt;
- unsigned char *p1;
-
- /* Just past the end of the corresponding string. */
- const char *end1, *end2;
-
- /* Pointers into string1 and string2, just past the last characters in
- each to consider matching. */
- const char *end_match_1, *end_match_2;
-
- /* Where we are in the data, and the end of the current string. */
- const char *d, *dend;
-
- /* Where we are in the pattern, and the end of the pattern. */
- unsigned char *p = bufp->buffer;
- register unsigned char *pend = p + bufp->used;
-
- /* Mark the opcode just after a start_memory, so we can test for an
- empty subpattern when we get to the stop_memory. */
- unsigned char *just_past_start_mem = 0;
-
- /* We use this to map every character in the string. */
- RE_TRANSLATE_TYPE translate = bufp->translate;
-
- /* Failure point stack. Each place that can handle a failure further
- down the line pushes a failure point on this stack. It consists of
- restart, regend, and reg_info for all registers corresponding to
- the subexpressions we're currently inside, plus the number of such
- registers, and, finally, two char *'s. The first char * is where
- to resume scanning the pattern; the second one is where to resume
- scanning the strings. If the latter is zero, the failure point is
- a ``dummy''; if a failure happens and the failure point is a dummy,
- it gets discarded and the next next one is tried. */
-#ifdef MATCH_MAY_ALLOCATE /* otherwise, this is global. */
- fail_stack_type fail_stack;
-#endif
-#ifdef DEBUG
- static unsigned failure_id = 0;
- unsigned nfailure_points_pushed = 0, nfailure_points_popped = 0;
-#endif
-
-#ifdef REL_ALLOC
- /* This holds the pointer to the failure stack, when
- it is allocated relocatably. */
- fail_stack_elt_t *failure_stack_ptr;
-#endif
-
- /* We fill all the registers internally, independent of what we
- return, for use in backreferences. The number here includes
- an element for register zero. */
- size_t num_regs = bufp->re_nsub + 1;
-
- /* The currently active registers. */
- active_reg_t lowest_active_reg = NO_LOWEST_ACTIVE_REG;
- active_reg_t highest_active_reg = NO_HIGHEST_ACTIVE_REG;
-
- /* Information on the contents of registers. These are pointers into
- the input strings; they record just what was matched (on this
- attempt) by a subexpression part of the pattern, that is, the
- regnum-th regstart pointer points to where in the pattern we began
- matching and the regnum-th regend points to right after where we
- stopped matching the regnum-th subexpression. (The zeroth register
- keeps track of what the whole pattern matches.) */
-#ifdef MATCH_MAY_ALLOCATE /* otherwise, these are global. */
- const char **regstart, **regend;
-#endif
-
- /* If a group that's operated upon by a repetition operator fails to
- match anything, then the register for its start will need to be
- restored because it will have been set to wherever in the string we
- are when we last see its open-group operator. Similarly for a
- register's end. */
-#ifdef MATCH_MAY_ALLOCATE /* otherwise, these are global. */
- const char **old_regstart, **old_regend;
-#endif
-
- /* The is_active field of reg_info helps us keep track of which (possibly
- nested) subexpressions we are currently in. The matched_something
- field of reg_info[reg_num] helps us tell whether or not we have
- matched any of the pattern so far this time through the reg_num-th
- subexpression. These two fields get reset each time through any
- loop their register is in. */
-#ifdef MATCH_MAY_ALLOCATE /* otherwise, this is global. */
- register_info_type *reg_info;
-#endif
-
- /* The following record the register info as found in the above
- variables when we find a match better than any we've seen before.
- This happens as we backtrack through the failure points, which in
- turn happens only if we have not yet matched the entire string. */
- unsigned best_regs_set = false;
-#ifdef MATCH_MAY_ALLOCATE /* otherwise, these are global. */
- const char **best_regstart, **best_regend;
-#endif
-
- /* Logically, this is `best_regend[0]'. But we don't want to have to
- allocate space for that if we're not allocating space for anything
- else (see below). Also, we never need info about register 0 for
- any of the other register vectors, and it seems rather a kludge to
- treat `best_regend' differently than the rest. So we keep track of
- the end of the best match so far in a separate variable. We
- initialize this to NULL so that when we backtrack the first time
- and need to test it, it's not garbage. */
- const char *match_end = NULL;
-
- /* This helps SET_REGS_MATCHED avoid doing redundant work. */
- int set_regs_matched_done = 0;
-
- /* Used when we pop values we don't care about. */
-#ifdef MATCH_MAY_ALLOCATE /* otherwise, these are global. */
- const char **reg_dummy;
- register_info_type *reg_info_dummy;
-#endif
-
-#ifdef DEBUG
- /* Counts the total number of registers pushed. */
- unsigned num_regs_pushed = 0;
-#endif
-
- DEBUG_PRINT1 ("\n\nEntering re_match_2.\n");
-
- INIT_FAIL_STACK ();
-
-#ifdef MATCH_MAY_ALLOCATE
- /* Do not bother to initialize all the register variables if there are
- no groups in the pattern, as it takes a fair amount of time. If
- there are groups, we include space for register 0 (the whole
- pattern), even though we never use it, since it simplifies the
- array indexing. We should fix this. */
- if (bufp->re_nsub)
- {
- regstart = REGEX_TALLOC (num_regs, const char *);
- regend = REGEX_TALLOC (num_regs, const char *);
- old_regstart = REGEX_TALLOC (num_regs, const char *);
- old_regend = REGEX_TALLOC (num_regs, const char *);
- best_regstart = REGEX_TALLOC (num_regs, const char *);
- best_regend = REGEX_TALLOC (num_regs, const char *);
- reg_info = REGEX_TALLOC (num_regs, register_info_type);
- reg_dummy = REGEX_TALLOC (num_regs, const char *);
- reg_info_dummy = REGEX_TALLOC (num_regs, register_info_type);
-
- if (!(regstart && regend && old_regstart && old_regend && reg_info
- && best_regstart && best_regend && reg_dummy && reg_info_dummy))
- {
- FREE_VARIABLES ();
- return -2;
- }
- }
- else
- {
- /* We must initialize all our variables to NULL, so that
- `FREE_VARIABLES' doesn't try to free them. */
- regstart = regend = old_regstart = old_regend = best_regstart
- = best_regend = reg_dummy = NULL;
- reg_info = reg_info_dummy = (register_info_type *) NULL;
- }
-#endif /* MATCH_MAY_ALLOCATE */
-
- /* The starting position is bogus. */
- if (pos < 0 || pos > size1 + size2)
- {
- FREE_VARIABLES ();
- return -1;
- }
-
- /* Initialize subexpression text positions to -1 to mark ones that no
- start_memory/stop_memory has been seen for. Also initialize the
- register information struct. */
- for (mcnt = 1; (unsigned) mcnt < num_regs; mcnt++)
- {
- regstart[mcnt] = regend[mcnt]
- = old_regstart[mcnt] = old_regend[mcnt] = REG_UNSET_VALUE;
-
- REG_MATCH_NULL_STRING_P (reg_info[mcnt]) = MATCH_NULL_UNSET_VALUE;
- IS_ACTIVE (reg_info[mcnt]) = 0;
- MATCHED_SOMETHING (reg_info[mcnt]) = 0;
- EVER_MATCHED_SOMETHING (reg_info[mcnt]) = 0;
- }
-
- /* We move `string1' into `string2' if the latter's empty -- but not if
- `string1' is null. */
- if (size2 == 0 && string1 != NULL)
- {
- string2 = string1;
- size2 = size1;
- string1 = 0;
- size1 = 0;
- }
- end1 = string1 + size1;
- end2 = string2 + size2;
-
- /* Compute where to stop matching, within the two strings. */
- if (stop <= size1)
- {
- end_match_1 = string1 + stop;
- end_match_2 = string2;
- }
- else
- {
- end_match_1 = end1;
- end_match_2 = string2 + stop - size1;
- }
-
- /* `p' scans through the pattern as `d' scans through the data.
- `dend' is the end of the input string that `d' points within. `d'
- is advanced into the following input string whenever necessary, but
- this happens before fetching; therefore, at the beginning of the
- loop, `d' can be pointing at the end of a string, but it cannot
- equal `string2'. */
- if (size1 > 0 && pos <= size1)
- {
- d = string1 + pos;
- dend = end_match_1;
- }
- else
- {
- d = string2 + pos - size1;
- dend = end_match_2;
- }
-
- DEBUG_PRINT1 ("The compiled pattern is:\n");
- DEBUG_PRINT_COMPILED_PATTERN (bufp, p, pend);
- DEBUG_PRINT1 ("The string to match is: `");
- DEBUG_PRINT_DOUBLE_STRING (d, string1, size1, string2, size2);
- DEBUG_PRINT1 ("'\n");
-
- /* This loops over pattern commands. It exits by returning from the
- function if the match is complete, or it drops through if the match
- fails at this starting point in the input data. */
- for (;;)
- {
-#ifdef _LIBC
- DEBUG_PRINT2 ("\n%p: ", p);
-#else
- DEBUG_PRINT2 ("\n0x%x: ", p);
-#endif
-
- if (p == pend)
- { /* End of pattern means we might have succeeded. */
- DEBUG_PRINT1 ("end of pattern ... ");
-
- /* If we haven't matched the entire string, and we want the
- longest match, try backtracking. */
- if (d != end_match_2)
- {
- /* 1 if this match ends in the same string (string1 or string2)
- as the best previous match. */
- boolean same_str_p = (FIRST_STRING_P (match_end)
- == MATCHING_IN_FIRST_STRING);
- /* 1 if this match is the best seen so far. */
- boolean best_match_p;
-
- /* AIX compiler got confused when this was combined
- with the previous declaration. */
- if (same_str_p)
- best_match_p = d > match_end;
- else
- best_match_p = !MATCHING_IN_FIRST_STRING;
-
- DEBUG_PRINT1 ("backtracking.\n");
-
- if (!FAIL_STACK_EMPTY ())
- { /* More failure points to try. */
-
- /* If exceeds best match so far, save it. */
- if (!best_regs_set || best_match_p)
- {
- best_regs_set = true;
- match_end = d;
-
- DEBUG_PRINT1 ("\nSAVING match as best so far.\n");
-
- for (mcnt = 1; (unsigned) mcnt < num_regs; mcnt++)
- {
- best_regstart[mcnt] = regstart[mcnt];
- best_regend[mcnt] = regend[mcnt];
- }
- }
- goto fail;
- }
-
- /* If no failure points, don't restore garbage. And if
- last match is real best match, don't restore second
- best one. */
- else if (best_regs_set && !best_match_p)
- {
- restore_best_regs:
- /* Restore best match. It may happen that `dend ==
- end_match_1' while the restored d is in string2.
- For example, the pattern `x.*y.*z' against the
- strings `x-' and `y-z-', if the two strings are
- not consecutive in memory. */
- DEBUG_PRINT1 ("Restoring best registers.\n");
-
- d = match_end;
- dend = ((d >= string1 && d <= end1)
- ? end_match_1 : end_match_2);
-
- for (mcnt = 1; (unsigned) mcnt < num_regs; mcnt++)
- {
- regstart[mcnt] = best_regstart[mcnt];
- regend[mcnt] = best_regend[mcnt];
- }
- }
- } /* d != end_match_2 */
-
- succeed_label:
- DEBUG_PRINT1 ("Accepting match.\n");
-
- /* If caller wants register contents data back, do it. */
- if (regs && !bufp->no_sub)
- {
- /* Have the register data arrays been allocated? */
- if (bufp->regs_allocated == REGS_UNALLOCATED)
- { /* No. So allocate them with malloc. We need one
- extra element beyond `num_regs' for the `-1' marker
- GNU code uses. */
- regs->num_regs = MAX (RE_NREGS, num_regs + 1);
- regs->start = TALLOC (regs->num_regs, regoff_t);
- regs->end = TALLOC (regs->num_regs, regoff_t);
- if (regs->start == NULL || regs->end == NULL)
- {
- FREE_VARIABLES ();
- return -2;
- }
- bufp->regs_allocated = REGS_REALLOCATE;
- }
- else if (bufp->regs_allocated == REGS_REALLOCATE)
- { /* Yes. If we need more elements than were already
- allocated, reallocate them. If we need fewer, just
- leave it alone. */
- if (regs->num_regs < num_regs + 1)
- {
- regs->num_regs = num_regs + 1;
- RETALLOC (regs->start, regs->num_regs, regoff_t);
- RETALLOC (regs->end, regs->num_regs, regoff_t);
- if (regs->start == NULL || regs->end == NULL)
- {
- FREE_VARIABLES ();
- return -2;
- }
- }
- }
- else
- {
- /* These braces fend off a "empty body in an else-statement"
- warning under GCC when assert expands to nothing. */
- assert (bufp->regs_allocated == REGS_FIXED);
- }
-
- /* Convert the pointer data in `regstart' and `regend' to
- indices. Register zero has to be set differently,
- since we haven't kept track of any info for it. */
- if (regs->num_regs > 0)
- {
- regs->start[0] = pos;
- regs->end[0] = (MATCHING_IN_FIRST_STRING
- ? ((regoff_t) (d - string1))
- : ((regoff_t) (d - string2 + size1)));
- }
-
- /* Go through the first `min (num_regs, regs->num_regs)'
- registers, since that is all we initialized. */
- for (mcnt = 1; (unsigned) mcnt < MIN (num_regs, regs->num_regs);
- mcnt++)
- {
- if (REG_UNSET (regstart[mcnt]) || REG_UNSET (regend[mcnt]))
- regs->start[mcnt] = regs->end[mcnt] = -1;
- else
- {
- regs->start[mcnt]
- = (regoff_t) POINTER_TO_OFFSET (regstart[mcnt]);
- regs->end[mcnt]
- = (regoff_t) POINTER_TO_OFFSET (regend[mcnt]);
- }
- }
-
- /* If the regs structure we return has more elements than
- were in the pattern, set the extra elements to -1. If
- we (re)allocated the registers, this is the case,
- because we always allocate enough to have at least one
- -1 at the end. */
- for (mcnt = num_regs; (unsigned) mcnt < regs->num_regs; mcnt++)
- regs->start[mcnt] = regs->end[mcnt] = -1;
- } /* regs && !bufp->no_sub */
-
- DEBUG_PRINT4 ("%u failure points pushed, %u popped (%u remain).\n",
- nfailure_points_pushed, nfailure_points_popped,
- nfailure_points_pushed - nfailure_points_popped);
- DEBUG_PRINT2 ("%u registers pushed.\n", num_regs_pushed);
-
- mcnt = d - pos - (MATCHING_IN_FIRST_STRING
- ? string1
- : string2 - size1);
-
- DEBUG_PRINT2 ("Returning %d from re_match_2.\n", mcnt);
-
- FREE_VARIABLES ();
- return mcnt;
- }
-
- /* Otherwise match next pattern command. */
- switch (SWITCH_ENUM_CAST ((re_opcode_t) *p++))
- {
- /* Ignore these. Used to ignore the n of succeed_n's which
- currently have n == 0. */
- case no_op:
- DEBUG_PRINT1 ("EXECUTING no_op.\n");
- break;
-
- case succeed:
- DEBUG_PRINT1 ("EXECUTING succeed.\n");
- goto succeed_label;
-
- /* Match the next n pattern characters exactly. The following
- byte in the pattern defines n, and the n bytes after that
- are the characters to match. */
- case exactn:
- mcnt = *p++;
- DEBUG_PRINT2 ("EXECUTING exactn %d.\n", mcnt);
-
- /* This is written out as an if-else so we don't waste time
- testing `translate' inside the loop. */
- if (translate)
- {
- do
- {
- PREFETCH ();
- if ((unsigned char) translate[(unsigned char) *d++]
- != (unsigned char) *p++)
- goto fail;
- }
- while (--mcnt);
- }
- else
- {
- do
- {
- PREFETCH ();
- if (*d++ != (char) *p++) goto fail;
- }
- while (--mcnt);
- }
- SET_REGS_MATCHED ();
- break;
-
-
- /* Match any character except possibly a newline or a null. */
- case anychar:
- DEBUG_PRINT1 ("EXECUTING anychar.\n");
-
- PREFETCH ();
-
- if ((!(bufp->syntax & RE_DOT_NEWLINE) && TRANSLATE (*d) == '\n')
- || (bufp->syntax & RE_DOT_NOT_NULL && TRANSLATE (*d) == '\000'))
- goto fail;
-
- SET_REGS_MATCHED ();
- DEBUG_PRINT2 (" Matched `%d'.\n", *d);
- d++;
- break;
-
-
- case charset:
- case charset_not:
- {
- register unsigned char c;
- boolean not = (re_opcode_t) *(p - 1) == charset_not;
-
- DEBUG_PRINT2 ("EXECUTING charset%s.\n", not ? "_not" : "");
-
- PREFETCH ();
- c = TRANSLATE (*d); /* The character to match. */
-
- /* Cast to `unsigned' instead of `unsigned char' in case the
- bit list is a full 32 bytes long. */
- if (c < (unsigned) (*p * BYTEWIDTH)
- && p[1 + c / BYTEWIDTH] & (1 << (c % BYTEWIDTH)))
- not = !not;
-
- p += 1 + *p;
-
- if (!not) goto fail;
-
- SET_REGS_MATCHED ();
- d++;
- break;
- }
-
-
- /* The beginning of a group is represented by start_memory.
- The arguments are the register number in the next byte, and the
- number of groups inner to this one in the next. The text
- matched within the group is recorded (in the internal
- registers data structure) under the register number. */
- case start_memory:
- DEBUG_PRINT3 ("EXECUTING start_memory %d (%d):\n", *p, p[1]);
-
- /* Find out if this group can match the empty string. */
- p1 = p; /* To send to group_match_null_string_p. */
-
- if (REG_MATCH_NULL_STRING_P (reg_info[*p]) == MATCH_NULL_UNSET_VALUE)
- REG_MATCH_NULL_STRING_P (reg_info[*p])
- = group_match_null_string_p (&p1, pend, reg_info);
-
- /* Save the position in the string where we were the last time
- we were at this open-group operator in case the group is
- operated upon by a repetition operator, e.g., with `(a*)*b'
- against `ab'; then we want to ignore where we are now in
- the string in case this attempt to match fails. */
- old_regstart[*p] = REG_MATCH_NULL_STRING_P (reg_info[*p])
- ? REG_UNSET (regstart[*p]) ? d : regstart[*p]
- : regstart[*p];
- DEBUG_PRINT2 (" old_regstart: %d\n",
- POINTER_TO_OFFSET (old_regstart[*p]));
-
- regstart[*p] = d;
- DEBUG_PRINT2 (" regstart: %d\n", POINTER_TO_OFFSET (regstart[*p]));
-
- IS_ACTIVE (reg_info[*p]) = 1;
- MATCHED_SOMETHING (reg_info[*p]) = 0;
-
- /* Clear this whenever we change the register activity status. */
- set_regs_matched_done = 0;
-
- /* This is the new highest active register. */
- highest_active_reg = *p;
-
- /* If nothing was active before, this is the new lowest active
- register. */
- if (lowest_active_reg == NO_LOWEST_ACTIVE_REG)
- lowest_active_reg = *p;
-
- /* Move past the register number and inner group count. */
- p += 2;
- just_past_start_mem = p;
-
- break;
-
-
- /* The stop_memory opcode represents the end of a group. Its
- arguments are the same as start_memory's: the register
- number, and the number of inner groups. */
- case stop_memory:
- DEBUG_PRINT3 ("EXECUTING stop_memory %d (%d):\n", *p, p[1]);
-
- /* We need to save the string position the last time we were at
- this close-group operator in case the group is operated
- upon by a repetition operator, e.g., with `((a*)*(b*)*)*'
- against `aba'; then we want to ignore where we are now in
- the string in case this attempt to match fails. */
- old_regend[*p] = REG_MATCH_NULL_STRING_P (reg_info[*p])
- ? REG_UNSET (regend[*p]) ? d : regend[*p]
- : regend[*p];
- DEBUG_PRINT2 (" old_regend: %d\n",
- POINTER_TO_OFFSET (old_regend[*p]));
-
- regend[*p] = d;
- DEBUG_PRINT2 (" regend: %d\n", POINTER_TO_OFFSET (regend[*p]));
-
- /* This register isn't active anymore. */
- IS_ACTIVE (reg_info[*p]) = 0;
-
- /* Clear this whenever we change the register activity status. */
- set_regs_matched_done = 0;
-
- /* If this was the only register active, nothing is active
- anymore. */
- if (lowest_active_reg == highest_active_reg)
- {
- lowest_active_reg = NO_LOWEST_ACTIVE_REG;
- highest_active_reg = NO_HIGHEST_ACTIVE_REG;
- }
- else
- { /* We must scan for the new highest active register, since
- it isn't necessarily one less than now: consider
- (a(b)c(d(e)f)g). When group 3 ends, after the f), the
- new highest active register is 1. */
- unsigned char r = *p - 1;
- while (r > 0 && !IS_ACTIVE (reg_info[r]))
- r--;
-
- /* If we end up at register zero, that means that we saved
- the registers as the result of an `on_failure_jump', not
- a `start_memory', and we jumped to past the innermost
- `stop_memory'. For example, in ((.)*) we save
- registers 1 and 2 as a result of the *, but when we pop
- back to the second ), we are at the stop_memory 1.
- Thus, nothing is active. */
- if (r == 0)
- {
- lowest_active_reg = NO_LOWEST_ACTIVE_REG;
- highest_active_reg = NO_HIGHEST_ACTIVE_REG;
- }
- else
- highest_active_reg = r;
- }
-
- /* If just failed to match something this time around with a
- group that's operated on by a repetition operator, try to
- force exit from the ``loop'', and restore the register
- information for this group that we had before trying this
- last match. */
- if ((!MATCHED_SOMETHING (reg_info[*p])
- || just_past_start_mem == p - 1)
- && (p + 2) < pend)
- {
- boolean is_a_jump_n = false;
-
- p1 = p + 2;
- mcnt = 0;
- switch ((re_opcode_t) *p1++)
- {
- case jump_n:
- is_a_jump_n = true;
- case pop_failure_jump:
- case maybe_pop_jump:
- case jump:
- case dummy_failure_jump:
- EXTRACT_NUMBER_AND_INCR (mcnt, p1);
- if (is_a_jump_n)
- p1 += 2;
- break;
-
- default:
- /* do nothing */ ;
- }
- p1 += mcnt;
-
- /* If the next operation is a jump backwards in the pattern
- to an on_failure_jump right before the start_memory
- corresponding to this stop_memory, exit from the loop
- by forcing a failure after pushing on the stack the
- on_failure_jump's jump in the pattern, and d. */
- if (mcnt < 0 && (re_opcode_t) *p1 == on_failure_jump
- && (re_opcode_t) p1[3] == start_memory && p1[4] == *p)
- {
- /* If this group ever matched anything, then restore
- what its registers were before trying this last
- failed match, e.g., with `(a*)*b' against `ab' for
- regstart[1], and, e.g., with `((a*)*(b*)*)*'
- against `aba' for regend[3].
-
- Also restore the registers for inner groups for,
- e.g., `((a*)(b*))*' against `aba' (register 3 would
- otherwise get trashed). */
-
- if (EVER_MATCHED_SOMETHING (reg_info[*p]))
- {
- unsigned r;
-
- EVER_MATCHED_SOMETHING (reg_info[*p]) = 0;
-
- /* Restore this and inner groups' (if any) registers. */
- for (r = *p; r < (unsigned) *p + (unsigned) *(p + 1);
- r++)
- {
- regstart[r] = old_regstart[r];
-
- /* xx why this test? */
- if (old_regend[r] >= regstart[r])
- regend[r] = old_regend[r];
- }
- }
- p1++;
- EXTRACT_NUMBER_AND_INCR (mcnt, p1);
- PUSH_FAILURE_POINT (p1 + mcnt, d, -2);
-
- goto fail;
- }
- }
-
- /* Move past the register number and the inner group count. */
- p += 2;
- break;
-
-
- /* \<digit> has been turned into a `duplicate' command which is
- followed by the numeric value of <digit> as the register number. */
- case duplicate:
- {
- register const char *d2, *dend2;
- int regno = *p++; /* Get which register to match against. */
- DEBUG_PRINT2 ("EXECUTING duplicate %d.\n", regno);
-
- /* Can't back reference a group which we've never matched. */
- if (REG_UNSET (regstart[regno]) || REG_UNSET (regend[regno]))
- goto fail;
-
- /* Where in input to try to start matching. */
- d2 = regstart[regno];
-
- /* Where to stop matching; if both the place to start and
- the place to stop matching are in the same string, then
- set to the place to stop, otherwise, for now have to use
- the end of the first string. */
-
- dend2 = ((FIRST_STRING_P (regstart[regno])
- == FIRST_STRING_P (regend[regno]))
- ? regend[regno] : end_match_1);
- for (;;)
- {
- /* If necessary, advance to next segment in register
- contents. */
- while (d2 == dend2)
- {
- if (dend2 == end_match_2) break;
- if (dend2 == regend[regno]) break;
-
- /* End of string1 => advance to string2. */
- d2 = string2;
- dend2 = regend[regno];
- }
- /* At end of register contents => success */
- if (d2 == dend2) break;
-
- /* If necessary, advance to next segment in data. */
- PREFETCH ();
-
- /* How many characters left in this segment to match. */
- mcnt = dend - d;
-
- /* Want how many consecutive characters we can match in
- one shot, so, if necessary, adjust the count. */
- if (mcnt > dend2 - d2)
- mcnt = dend2 - d2;
-
- /* Compare that many; failure if mismatch, else move
- past them. */
- if (translate
- ? bcmp_translate (d, d2, mcnt, translate)
- : bcmp (d, d2, mcnt))
- goto fail;
- d += mcnt, d2 += mcnt;
-
- /* Do this because we've match some characters. */
- SET_REGS_MATCHED ();
- }
- }
- break;
-
-
- /* begline matches the empty string at the beginning of the string
- (unless `not_bol' is set in `bufp'), and, if
- `newline_anchor' is set, after newlines. */
- case begline:
- DEBUG_PRINT1 ("EXECUTING begline.\n");
-
- if (AT_STRINGS_BEG (d))
- {
- if (!bufp->not_bol) break;
- }
- else if (d[-1] == '\n' && bufp->newline_anchor)
- {
- break;
- }
- /* In all other cases, we fail. */
- goto fail;
-
-
- /* endline is the dual of begline. */
- case endline:
- DEBUG_PRINT1 ("EXECUTING endline.\n");
-
- if (AT_STRINGS_END (d))
- {
- if (!bufp->not_eol) break;
- }
-
- /* We have to ``prefetch'' the next character. */
- else if ((d == end1 ? *string2 : *d) == '\n'
- && bufp->newline_anchor)
- {
- break;
- }
- goto fail;
-
-
- /* Match at the very beginning of the data. */
- case begbuf:
- DEBUG_PRINT1 ("EXECUTING begbuf.\n");
- if (AT_STRINGS_BEG (d))
- break;
- goto fail;
-
-
- /* Match at the very end of the data. */
- case endbuf:
- DEBUG_PRINT1 ("EXECUTING endbuf.\n");
- if (AT_STRINGS_END (d))
- break;
- goto fail;
-
-
- /* on_failure_keep_string_jump is used to optimize `.*\n'. It
- pushes NULL as the value for the string on the stack. Then
- `pop_failure_point' will keep the current value for the
- string, instead of restoring it. To see why, consider
- matching `foo\nbar' against `.*\n'. The .* matches the foo;
- then the . fails against the \n. But the next thing we want
- to do is match the \n against the \n; if we restored the
- string value, we would be back at the foo.
-
- Because this is used only in specific cases, we don't need to
- check all the things that `on_failure_jump' does, to make
- sure the right things get saved on the stack. Hence we don't
- share its code. The only reason to push anything on the
- stack at all is that otherwise we would have to change
- `anychar's code to do something besides goto fail in this
- case; that seems worse than this. */
- case on_failure_keep_string_jump:
- DEBUG_PRINT1 ("EXECUTING on_failure_keep_string_jump");
-
- EXTRACT_NUMBER_AND_INCR (mcnt, p);
-#ifdef _LIBC
- DEBUG_PRINT3 (" %d (to %p):\n", mcnt, p + mcnt);
-#else
- DEBUG_PRINT3 (" %d (to 0x%x):\n", mcnt, p + mcnt);
-#endif
-
- PUSH_FAILURE_POINT (p + mcnt, NULL, -2);
- break;
-
-
- /* Uses of on_failure_jump:
-
- Each alternative starts with an on_failure_jump that points
- to the beginning of the next alternative. Each alternative
- except the last ends with a jump that in effect jumps past
- the rest of the alternatives. (They really jump to the
- ending jump of the following alternative, because tensioning
- these jumps is a hassle.)
-
- Repeats start with an on_failure_jump that points past both
- the repetition text and either the following jump or
- pop_failure_jump back to this on_failure_jump. */
- case on_failure_jump:
- on_failure:
- DEBUG_PRINT1 ("EXECUTING on_failure_jump");
-
- EXTRACT_NUMBER_AND_INCR (mcnt, p);
-#ifdef _LIBC
- DEBUG_PRINT3 (" %d (to %p)", mcnt, p + mcnt);
-#else
- DEBUG_PRINT3 (" %d (to 0x%x)", mcnt, p + mcnt);
-#endif
-
- /* If this on_failure_jump comes right before a group (i.e.,
- the original * applied to a group), save the information
- for that group and all inner ones, so that if we fail back
- to this point, the group's information will be correct.
- For example, in \(a*\)*\1, we need the preceding group,
- and in \(zz\(a*\)b*\)\2, we need the inner group. */
-
- /* We can't use `p' to check ahead because we push
- a failure point to `p + mcnt' after we do this. */
- p1 = p;
-
- /* We need to skip no_op's before we look for the
- start_memory in case this on_failure_jump is happening as
- the result of a completed succeed_n, as in \(a\)\{1,3\}b\1
- against aba. */
- while (p1 < pend && (re_opcode_t) *p1 == no_op)
- p1++;
-
- if (p1 < pend && (re_opcode_t) *p1 == start_memory)
- {
- /* We have a new highest active register now. This will
- get reset at the start_memory we are about to get to,
- but we will have saved all the registers relevant to
- this repetition op, as described above. */
- highest_active_reg = *(p1 + 1) + *(p1 + 2);
- if (lowest_active_reg == NO_LOWEST_ACTIVE_REG)
- lowest_active_reg = *(p1 + 1);
- }
-
- DEBUG_PRINT1 (":\n");
- PUSH_FAILURE_POINT (p + mcnt, d, -2);
- break;
-
-
- /* A smart repeat ends with `maybe_pop_jump'.
- We change it to either `pop_failure_jump' or `jump'. */
- case maybe_pop_jump:
- EXTRACT_NUMBER_AND_INCR (mcnt, p);
- DEBUG_PRINT2 ("EXECUTING maybe_pop_jump %d.\n", mcnt);
- {
- register unsigned char *p2 = p;
-
- /* Compare the beginning of the repeat with what in the
- pattern follows its end. If we can establish that there
- is nothing that they would both match, i.e., that we
- would have to backtrack because of (as in, e.g., `a*a')
- then we can change to pop_failure_jump, because we'll
- never have to backtrack.
-
- This is not true in the case of alternatives: in
- `(a|ab)*' we do need to backtrack to the `ab' alternative
- (e.g., if the string was `ab'). But instead of trying to
- detect that here, the alternative has put on a dummy
- failure point which is what we will end up popping. */
-
- /* Skip over open/close-group commands.
- If what follows this loop is a ...+ construct,
- look at what begins its body, since we will have to
- match at least one of that. */
- while (1)
- {
- if (p2 + 2 < pend
- && ((re_opcode_t) *p2 == stop_memory
- || (re_opcode_t) *p2 == start_memory))
- p2 += 3;
- else if (p2 + 6 < pend
- && (re_opcode_t) *p2 == dummy_failure_jump)
- p2 += 6;
- else
- break;
- }
-
- p1 = p + mcnt;
- /* p1[0] ... p1[2] are the `on_failure_jump' corresponding
- to the `maybe_finalize_jump' of this case. Examine what
- follows. */
-
- /* If we're at the end of the pattern, we can change. */
- if (p2 == pend)
- {
- /* Consider what happens when matching ":\(.*\)"
- against ":/". I don't really understand this code
- yet. */
- p[-3] = (unsigned char) pop_failure_jump;
- DEBUG_PRINT1
- (" End of pattern: change to `pop_failure_jump'.\n");
- }
-
- else if ((re_opcode_t) *p2 == exactn
- || (bufp->newline_anchor && (re_opcode_t) *p2 == endline))
- {
- register unsigned char c
- = *p2 == (unsigned char) endline ? '\n' : p2[2];
-
- if ((re_opcode_t) p1[3] == exactn && p1[5] != c)
- {
- p[-3] = (unsigned char) pop_failure_jump;
- DEBUG_PRINT3 (" %c != %c => pop_failure_jump.\n",
- c, p1[5]);
- }
-
- else if ((re_opcode_t) p1[3] == charset
- || (re_opcode_t) p1[3] == charset_not)
- {
- int not = (re_opcode_t) p1[3] == charset_not;
-
- if (c < (unsigned char) (p1[4] * BYTEWIDTH)
- && p1[5 + c / BYTEWIDTH] & (1 << (c % BYTEWIDTH)))
- not = !not;
-
- /* `not' is equal to 1 if c would match, which means
- that we can't change to pop_failure_jump. */
- if (!not)
- {
- p[-3] = (unsigned char) pop_failure_jump;
- DEBUG_PRINT1 (" No match => pop_failure_jump.\n");
- }
- }
- }
- else if ((re_opcode_t) *p2 == charset)
- {
-#ifdef DEBUG
- register unsigned char c
- = *p2 == (unsigned char) endline ? '\n' : p2[2];
-#endif
-
-#if 0
- if ((re_opcode_t) p1[3] == exactn
- && ! ((int) p2[1] * BYTEWIDTH > (int) p1[5]
- && (p2[2 + p1[5] / BYTEWIDTH]
- & (1 << (p1[5] % BYTEWIDTH)))))
-#else
- if ((re_opcode_t) p1[3] == exactn
- && ! ((int) p2[1] * BYTEWIDTH > (int) p1[4]
- && (p2[2 + p1[4] / BYTEWIDTH]
- & (1 << (p1[4] % BYTEWIDTH)))))
-#endif
- {
- p[-3] = (unsigned char) pop_failure_jump;
- DEBUG_PRINT3 (" %c != %c => pop_failure_jump.\n",
- c, p1[5]);
- }
-
- else if ((re_opcode_t) p1[3] == charset_not)
- {
- int idx;
- /* We win if the charset_not inside the loop
- lists every character listed in the charset after. */
- for (idx = 0; idx < (int) p2[1]; idx++)
- if (! (p2[2 + idx] == 0
- || (idx < (int) p1[4]
- && ((p2[2 + idx] & ~ p1[5 + idx]) == 0))))
- break;
-
- if (idx == p2[1])
- {
- p[-3] = (unsigned char) pop_failure_jump;
- DEBUG_PRINT1 (" No match => pop_failure_jump.\n");
- }
- }
- else if ((re_opcode_t) p1[3] == charset)
- {
- int idx;
- /* We win if the charset inside the loop
- has no overlap with the one after the loop. */
- for (idx = 0;
- idx < (int) p2[1] && idx < (int) p1[4];
- idx++)
- if ((p2[2 + idx] & p1[5 + idx]) != 0)
- break;
-
- if (idx == p2[1] || idx == p1[4])
- {
- p[-3] = (unsigned char) pop_failure_jump;
- DEBUG_PRINT1 (" No match => pop_failure_jump.\n");
- }
- }
- }
- }
- p -= 2; /* Point at relative address again. */
- if ((re_opcode_t) p[-1] != pop_failure_jump)
- {
- p[-1] = (unsigned char) jump;
- DEBUG_PRINT1 (" Match => jump.\n");
- goto unconditional_jump;
- }
- /* Note fall through. */
-
-
- /* The end of a simple repeat has a pop_failure_jump back to
- its matching on_failure_jump, where the latter will push a
- failure point. The pop_failure_jump takes off failure
- points put on by this pop_failure_jump's matching
- on_failure_jump; we got through the pattern to here from the
- matching on_failure_jump, so didn't fail. */
- case pop_failure_jump:
- {
- /* We need to pass separate storage for the lowest and
- highest registers, even though we don't care about the
- actual values. Otherwise, we will restore only one
- register from the stack, since lowest will == highest in
- `pop_failure_point'. */
- active_reg_t dummy_low_reg, dummy_high_reg;
- unsigned char *pdummy;
- const char *sdummy;
-
- DEBUG_PRINT1 ("EXECUTING pop_failure_jump.\n");
- POP_FAILURE_POINT (sdummy, pdummy,
- dummy_low_reg, dummy_high_reg,
- reg_dummy, reg_dummy, reg_info_dummy);
- }
- /* Note fall through. */
-
- unconditional_jump:
-#ifdef _LIBC
- DEBUG_PRINT2 ("\n%p: ", p);
-#else
- DEBUG_PRINT2 ("\n0x%x: ", p);
-#endif
- /* Note fall through. */
-
- /* Unconditionally jump (without popping any failure points). */
- case jump:
- EXTRACT_NUMBER_AND_INCR (mcnt, p); /* Get the amount to jump. */
- DEBUG_PRINT2 ("EXECUTING jump %d ", mcnt);
- p += mcnt; /* Do the jump. */
-#ifdef _LIBC
- DEBUG_PRINT2 ("(to %p).\n", p);
-#else
- DEBUG_PRINT2 ("(to 0x%x).\n", p);
-#endif
- break;
-
-
- /* We need this opcode so we can detect where alternatives end
- in `group_match_null_string_p' et al. */
- case jump_past_alt:
- DEBUG_PRINT1 ("EXECUTING jump_past_alt.\n");
- goto unconditional_jump;
-
-
- /* Normally, the on_failure_jump pushes a failure point, which
- then gets popped at pop_failure_jump. We will end up at
- pop_failure_jump, also, and with a pattern of, say, `a+', we
- are skipping over the on_failure_jump, so we have to push
- something meaningless for pop_failure_jump to pop. */
- case dummy_failure_jump:
- DEBUG_PRINT1 ("EXECUTING dummy_failure_jump.\n");
- /* It doesn't matter what we push for the string here. What
- the code at `fail' tests is the value for the pattern. */
- PUSH_FAILURE_POINT (0, 0, -2);
- goto unconditional_jump;
-
-
- /* At the end of an alternative, we need to push a dummy failure
- point in case we are followed by a `pop_failure_jump', because
- we don't want the failure point for the alternative to be
- popped. For example, matching `(a|ab)*' against `aab'
- requires that we match the `ab' alternative. */
- case push_dummy_failure:
- DEBUG_PRINT1 ("EXECUTING push_dummy_failure.\n");
- /* See comments just above at `dummy_failure_jump' about the
- two zeroes. */
- PUSH_FAILURE_POINT (0, 0, -2);
- break;
-
- /* Have to succeed matching what follows at least n times.
- After that, handle like `on_failure_jump'. */
- case succeed_n:
- EXTRACT_NUMBER (mcnt, p + 2);
- DEBUG_PRINT2 ("EXECUTING succeed_n %d.\n", mcnt);
-
- assert (mcnt >= 0);
- /* Originally, this is how many times we HAVE to succeed. */
- if (mcnt > 0)
- {
- mcnt--;
- p += 2;
- STORE_NUMBER_AND_INCR (p, mcnt);
-#ifdef _LIBC
- DEBUG_PRINT3 (" Setting %p to %d.\n", p - 2, mcnt);
-#else
- DEBUG_PRINT3 (" Setting 0x%x to %d.\n", p - 2, mcnt);
-#endif
- }
- else if (mcnt == 0)
- {
-#ifdef _LIBC
- DEBUG_PRINT2 (" Setting two bytes from %p to no_op.\n", p+2);
-#else
- DEBUG_PRINT2 (" Setting two bytes from 0x%x to no_op.\n", p+2);
-#endif
- p[2] = (unsigned char) no_op;
- p[3] = (unsigned char) no_op;
- goto on_failure;
- }
- break;
-
- case jump_n:
- EXTRACT_NUMBER (mcnt, p + 2);
- DEBUG_PRINT2 ("EXECUTING jump_n %d.\n", mcnt);
-
- /* Originally, this is how many times we CAN jump. */
- if (mcnt)
- {
- mcnt--;
- STORE_NUMBER (p + 2, mcnt);
-#ifdef _LIBC
- DEBUG_PRINT3 (" Setting %p to %d.\n", p + 2, mcnt);
-#else
- DEBUG_PRINT3 (" Setting 0x%x to %d.\n", p + 2, mcnt);
-#endif
- goto unconditional_jump;
- }
- /* If don't have to jump any more, skip over the rest of command. */
- else
- p += 4;
- break;
-
- case set_number_at:
- {
- DEBUG_PRINT1 ("EXECUTING set_number_at.\n");
-
- EXTRACT_NUMBER_AND_INCR (mcnt, p);
- p1 = p + mcnt;
- EXTRACT_NUMBER_AND_INCR (mcnt, p);
-#ifdef _LIBC
- DEBUG_PRINT3 (" Setting %p to %d.\n", p1, mcnt);
-#else
- DEBUG_PRINT3 (" Setting 0x%x to %d.\n", p1, mcnt);
-#endif
- STORE_NUMBER (p1, mcnt);
- break;
- }
-
-#if 0
- /* The DEC Alpha C compiler 3.x generates incorrect code for the
- test WORDCHAR_P (d - 1) != WORDCHAR_P (d) in the expansion of
- AT_WORD_BOUNDARY, so this code is disabled. Expanding the
- macro and introducing temporary variables works around the bug. */
-
- case wordbound:
- DEBUG_PRINT1 ("EXECUTING wordbound.\n");
- if (AT_WORD_BOUNDARY (d))
- break;
- goto fail;
-
- case notwordbound:
- DEBUG_PRINT1 ("EXECUTING notwordbound.\n");
- if (AT_WORD_BOUNDARY (d))
- goto fail;
- break;
-#else
- case wordbound:
- {
- boolean prevchar, thischar;
-
- DEBUG_PRINT1 ("EXECUTING wordbound.\n");
- if (AT_STRINGS_BEG (d) || AT_STRINGS_END (d))
- break;
-
- prevchar = WORDCHAR_P (d - 1);
- thischar = WORDCHAR_P (d);
- if (prevchar != thischar)
- break;
- goto fail;
- }
-
- case notwordbound:
- {
- boolean prevchar, thischar;
-
- DEBUG_PRINT1 ("EXECUTING notwordbound.\n");
- if (AT_STRINGS_BEG (d) || AT_STRINGS_END (d))
- goto fail;
-
- prevchar = WORDCHAR_P (d - 1);
- thischar = WORDCHAR_P (d);
- if (prevchar != thischar)
- goto fail;
- break;
- }
-#endif
-
- case wordbeg:
- DEBUG_PRINT1 ("EXECUTING wordbeg.\n");
- if (WORDCHAR_P (d) && (AT_STRINGS_BEG (d) || !WORDCHAR_P (d - 1)))
- break;
- goto fail;
-
- case wordend:
- DEBUG_PRINT1 ("EXECUTING wordend.\n");
- if (!AT_STRINGS_BEG (d) && WORDCHAR_P (d - 1)
- && (!WORDCHAR_P (d) || AT_STRINGS_END (d)))
- break;
- goto fail;
-
-#ifdef emacs
- case before_dot:
- DEBUG_PRINT1 ("EXECUTING before_dot.\n");
- if (PTR_CHAR_POS ((unsigned char *) d) >= point)
- goto fail;
- break;
-
- case at_dot:
- DEBUG_PRINT1 ("EXECUTING at_dot.\n");
- if (PTR_CHAR_POS ((unsigned char *) d) != point)
- goto fail;
- break;
-
- case after_dot:
- DEBUG_PRINT1 ("EXECUTING after_dot.\n");
- if (PTR_CHAR_POS ((unsigned char *) d) <= point)
- goto fail;
- break;
-
- case syntaxspec:
- DEBUG_PRINT2 ("EXECUTING syntaxspec %d.\n", mcnt);
- mcnt = *p++;
- goto matchsyntax;
-
- case wordchar:
- DEBUG_PRINT1 ("EXECUTING Emacs wordchar.\n");
- mcnt = (int) Sword;
- matchsyntax:
- PREFETCH ();
- /* Can't use *d++ here; SYNTAX may be an unsafe macro. */
- d++;
- if (SYNTAX (d[-1]) != (enum syntaxcode) mcnt)
- goto fail;
- SET_REGS_MATCHED ();
- break;
-
- case notsyntaxspec:
- DEBUG_PRINT2 ("EXECUTING notsyntaxspec %d.\n", mcnt);
- mcnt = *p++;
- goto matchnotsyntax;
-
- case notwordchar:
- DEBUG_PRINT1 ("EXECUTING Emacs notwordchar.\n");
- mcnt = (int) Sword;
- matchnotsyntax:
- PREFETCH ();
- /* Can't use *d++ here; SYNTAX may be an unsafe macro. */
- d++;
- if (SYNTAX (d[-1]) == (enum syntaxcode) mcnt)
- goto fail;
- SET_REGS_MATCHED ();
- break;
-
-#else /* not emacs */
- case wordchar:
- DEBUG_PRINT1 ("EXECUTING non-Emacs wordchar.\n");
- PREFETCH ();
- if (!WORDCHAR_P (d))
- goto fail;
- SET_REGS_MATCHED ();
- d++;
- break;
-
- case notwordchar:
- DEBUG_PRINT1 ("EXECUTING non-Emacs notwordchar.\n");
- PREFETCH ();
- if (WORDCHAR_P (d))
- goto fail;
- SET_REGS_MATCHED ();
- d++;
- break;
-#endif /* not emacs */
-
- default:
- abort ();
- }
- continue; /* Successfully executed one pattern command; keep going. */
-
-
- /* We goto here if a matching operation fails. */
- fail:
- if (!FAIL_STACK_EMPTY ())
- { /* A restart point is known. Restore to that state. */
- DEBUG_PRINT1 ("\nFAIL:\n");
- POP_FAILURE_POINT (d, p,
- lowest_active_reg, highest_active_reg,
- regstart, regend, reg_info);
-
- /* If this failure point is a dummy, try the next one. */
- if (!p)
- goto fail;
-
- /* If we failed to the end of the pattern, don't examine *p. */
- assert (p <= pend);
- if (p < pend)
- {
- boolean is_a_jump_n = false;
-
- /* If failed to a backwards jump that's part of a repetition
- loop, need to pop this failure point and use the next one. */
- switch ((re_opcode_t) *p)
- {
- case jump_n:
- is_a_jump_n = true;
- case maybe_pop_jump:
- case pop_failure_jump:
- case jump:
- p1 = p + 1;
- EXTRACT_NUMBER_AND_INCR (mcnt, p1);
- p1 += mcnt;
-
- if ((is_a_jump_n && (re_opcode_t) *p1 == succeed_n)
- || (!is_a_jump_n
- && (re_opcode_t) *p1 == on_failure_jump))
- goto fail;
- break;
- default:
- /* do nothing */ ;
- }
- }
-
- if (d >= string1 && d <= end1)
- dend = end_match_1;
- }
- else
- break; /* Matching at this starting point really fails. */
- } /* for (;;) */
-
- if (best_regs_set)
- goto restore_best_regs;
-
- FREE_VARIABLES ();
-
- return -1; /* Failure to match. */
-} /* re_match_2 */
-
-/* Subroutine definitions for re_match_2. */
-
-
-/* We are passed P pointing to a register number after a start_memory.
-
- Return true if the pattern up to the corresponding stop_memory can
- match the empty string, and false otherwise.
-
- If we find the matching stop_memory, sets P to point to one past its number.
- Otherwise, sets P to an undefined byte less than or equal to END.
-
- We don't handle duplicates properly (yet). */
-
-static boolean
-group_match_null_string_p (p, end, reg_info)
- unsigned char **p, *end;
- register_info_type *reg_info;
-{
- int mcnt;
- /* Point to after the args to the start_memory. */
- unsigned char *p1 = *p + 2;
-
- while (p1 < end)
- {
- /* Skip over opcodes that can match nothing, and return true or
- false, as appropriate, when we get to one that can't, or to the
- matching stop_memory. */
-
- switch ((re_opcode_t) *p1)
- {
- /* Could be either a loop or a series of alternatives. */
- case on_failure_jump:
- p1++;
- EXTRACT_NUMBER_AND_INCR (mcnt, p1);
-
- /* If the next operation is not a jump backwards in the
- pattern. */
-
- if (mcnt >= 0)
- {
- /* Go through the on_failure_jumps of the alternatives,
- seeing if any of the alternatives cannot match nothing.
- The last alternative starts with only a jump,
- whereas the rest start with on_failure_jump and end
- with a jump, e.g., here is the pattern for `a|b|c':
-
- /on_failure_jump/0/6/exactn/1/a/jump_past_alt/0/6
- /on_failure_jump/0/6/exactn/1/b/jump_past_alt/0/3
- /exactn/1/c
-
- So, we have to first go through the first (n-1)
- alternatives and then deal with the last one separately. */
-
-
- /* Deal with the first (n-1) alternatives, which start
- with an on_failure_jump (see above) that jumps to right
- past a jump_past_alt. */
-
- while ((re_opcode_t) p1[mcnt-3] == jump_past_alt)
- {
- /* `mcnt' holds how many bytes long the alternative
- is, including the ending `jump_past_alt' and
- its number. */
-
- if (!alt_match_null_string_p (p1, p1 + mcnt - 3,
- reg_info))
- return false;
-
- /* Move to right after this alternative, including the
- jump_past_alt. */
- p1 += mcnt;
-
- /* Break if it's the beginning of an n-th alternative
- that doesn't begin with an on_failure_jump. */
- if ((re_opcode_t) *p1 != on_failure_jump)
- break;
-
- /* Still have to check that it's not an n-th
- alternative that starts with an on_failure_jump. */
- p1++;
- EXTRACT_NUMBER_AND_INCR (mcnt, p1);
- if ((re_opcode_t) p1[mcnt-3] != jump_past_alt)
- {
- /* Get to the beginning of the n-th alternative. */
- p1 -= 3;
- break;
- }
- }
-
- /* Deal with the last alternative: go back and get number
- of the `jump_past_alt' just before it. `mcnt' contains
- the length of the alternative. */
- EXTRACT_NUMBER (mcnt, p1 - 2);
-
- if (!alt_match_null_string_p (p1, p1 + mcnt, reg_info))
- return false;
-
- p1 += mcnt; /* Get past the n-th alternative. */
- } /* if mcnt > 0 */
- break;
-
-
- case stop_memory:
- assert (p1[1] == **p);
- *p = p1 + 2;
- return true;
-
-
- default:
- if (!common_op_match_null_string_p (&p1, end, reg_info))
- return false;
- }
- } /* while p1 < end */
-
- return false;
-} /* group_match_null_string_p */
-
-
-/* Similar to group_match_null_string_p, but doesn't deal with alternatives:
- It expects P to be the first byte of a single alternative and END one
- byte past the last. The alternative can contain groups. */
-
-static boolean
-alt_match_null_string_p (p, end, reg_info)
- unsigned char *p, *end;
- register_info_type *reg_info;
-{
- int mcnt;
- unsigned char *p1 = p;
-
- while (p1 < end)
- {
- /* Skip over opcodes that can match nothing, and break when we get
- to one that can't. */
-
- switch ((re_opcode_t) *p1)
- {
- /* It's a loop. */
- case on_failure_jump:
- p1++;
- EXTRACT_NUMBER_AND_INCR (mcnt, p1);
- p1 += mcnt;
- break;
-
- default:
- if (!common_op_match_null_string_p (&p1, end, reg_info))
- return false;
- }
- } /* while p1 < end */
-
- return true;
-} /* alt_match_null_string_p */
-
-
-/* Deals with the ops common to group_match_null_string_p and
- alt_match_null_string_p.
-
- Sets P to one after the op and its arguments, if any. */
-
-static boolean
-common_op_match_null_string_p (p, end, reg_info)
- unsigned char **p, *end;
- register_info_type *reg_info;
-{
- int mcnt;
- boolean ret;
- int reg_no;
- unsigned char *p1 = *p;
-
- switch ((re_opcode_t) *p1++)
- {
- case no_op:
- case begline:
- case endline:
- case begbuf:
- case endbuf:
- case wordbeg:
- case wordend:
- case wordbound:
- case notwordbound:
-#ifdef emacs
- case before_dot:
- case at_dot:
- case after_dot:
-#endif
- break;
-
- case start_memory:
- reg_no = *p1;
- assert (reg_no > 0 && reg_no <= MAX_REGNUM);
- ret = group_match_null_string_p (&p1, end, reg_info);
-
- /* Have to set this here in case we're checking a group which
- contains a group and a back reference to it. */
-
- if (REG_MATCH_NULL_STRING_P (reg_info[reg_no]) == MATCH_NULL_UNSET_VALUE)
- REG_MATCH_NULL_STRING_P (reg_info[reg_no]) = ret;
-
- if (!ret)
- return false;
- break;
-
- /* If this is an optimized succeed_n for zero times, make the jump. */
- case jump:
- EXTRACT_NUMBER_AND_INCR (mcnt, p1);
- if (mcnt >= 0)
- p1 += mcnt;
- else
- return false;
- break;
-
- case succeed_n:
- /* Get to the number of times to succeed. */
- p1 += 2;
- EXTRACT_NUMBER_AND_INCR (mcnt, p1);
-
- if (mcnt == 0)
- {
- p1 -= 4;
- EXTRACT_NUMBER_AND_INCR (mcnt, p1);
- p1 += mcnt;
- }
- else
- return false;
- break;
-
- case duplicate:
- if (!REG_MATCH_NULL_STRING_P (reg_info[*p1]))
- return false;
- break;
-
- case set_number_at:
- p1 += 4;
-
- default:
- /* All other opcodes mean we cannot match the empty string. */
- return false;
- }
-
- *p = p1;
- return true;
-} /* common_op_match_null_string_p */
-
-
-/* Return zero if TRANSLATE[S1] and TRANSLATE[S2] are identical for LEN
- bytes; nonzero otherwise. */
-
-static int
-bcmp_translate (s1, s2, len, translate)
- const char *s1, *s2;
- register int len;
- RE_TRANSLATE_TYPE translate;
-{
- register const unsigned char *p1 = (const unsigned char *) s1;
- register const unsigned char *p2 = (const unsigned char *) s2;
- while (len)
- {
- if (translate[*p1++] != translate[*p2++]) return 1;
- len--;
- }
- return 0;
-}
-
-/* Entry points for GNU code. */
-
-/* re_compile_pattern is the GNU regular expression compiler: it
- compiles PATTERN (of length SIZE) and puts the result in BUFP.
- Returns 0 if the pattern was valid, otherwise an error string.
-
- Assumes the `allocated' (and perhaps `buffer') and `translate' fields
- are set in BUFP on entry.
-
- We call regex_compile to do the actual compilation. */
-
-const char *
-re_compile_pattern (pattern, length, bufp)
- const char *pattern;
- size_t length;
- struct re_pattern_buffer *bufp;
-{
- reg_errcode_t ret;
-
- /* GNU code is written to assume at least RE_NREGS registers will be set
- (and at least one extra will be -1). */
- bufp->regs_allocated = REGS_UNALLOCATED;
-
- /* And GNU code determines whether or not to get register information
- by passing null for the REGS argument to re_match, etc., not by
- setting no_sub. */
- bufp->no_sub = 0;
-
- /* Match anchors at newline. */
- bufp->newline_anchor = 1;
-
- ret = regex_compile (pattern, length, re_syntax_options, bufp);
-
- if (!ret)
- return NULL;
- return gettext (re_error_msgid[(int) ret]);
-}
-
-/* Entry points compatible with 4.2 BSD regex library. We don't define
- them unless specifically requested. */
-
-#if defined (_REGEX_RE_COMP) || defined (_LIBC)
-
-/* BSD has one and only one pattern buffer. */
-static struct re_pattern_buffer re_comp_buf;
-
-char *
-#ifdef _LIBC
-/* Make these definitions weak in libc, so POSIX programs can redefine
- these names if they don't use our functions, and still use
- regcomp/regexec below without link errors. */
-weak_function
-#endif
-re_comp (s)
- const char *s;
-{
- reg_errcode_t ret;
-
- if (!s)
- {
- if (!re_comp_buf.buffer)
- return gettext ("No previous regular expression");
- return 0;
- }
-
- if (!re_comp_buf.buffer)
- {
- re_comp_buf.buffer = (unsigned char *) malloc (200);
- if (re_comp_buf.buffer == NULL)
- return gettext (re_error_msgid[(int) REG_ESPACE]);
- re_comp_buf.allocated = 200;
-
- re_comp_buf.fastmap = (char *) malloc (1 << BYTEWIDTH);
- if (re_comp_buf.fastmap == NULL)
- return gettext (re_error_msgid[(int) REG_ESPACE]);
- }
-
- /* Since `re_exec' always passes NULL for the `regs' argument, we
- don't need to initialize the pattern buffer fields which affect it. */
-
- /* Match anchors at newlines. */
- re_comp_buf.newline_anchor = 1;
-
- ret = regex_compile (s, strlen (s), re_syntax_options, &re_comp_buf);
-
- if (!ret)
- return NULL;
-
- /* Yes, we're discarding `const' here if !HAVE_LIBINTL. */
- return (char *) gettext (re_error_msgid[(int) ret]);
-}
-
-
-int
-#ifdef _LIBC
-weak_function
-#endif
-re_exec (s)
- const char *s;
-{
- const int len = strlen (s);
- return
- 0 <= re_search (&re_comp_buf, s, len, 0, len, (struct re_registers *) 0);
-}
-
-#endif /* _REGEX_RE_COMP */
-
-/* POSIX.2 functions. Don't define these for Emacs. */
-
-#ifndef emacs
-
-/* regcomp takes a regular expression as a string and compiles it.
-
- PREG is a regex_t *. We do not expect any fields to be initialized,
- since POSIX says we shouldn't. Thus, we set
-
- `buffer' to the compiled pattern;
- `used' to the length of the compiled pattern;
- `syntax' to RE_SYNTAX_POSIX_EXTENDED if the
- REG_EXTENDED bit in CFLAGS is set; otherwise, to
- RE_SYNTAX_POSIX_BASIC;
- `newline_anchor' to REG_NEWLINE being set in CFLAGS;
- `fastmap' and `fastmap_accurate' to zero;
- `re_nsub' to the number of subexpressions in PATTERN.
-
- PATTERN is the address of the pattern string.
-
- CFLAGS is a series of bits which affect compilation.
-
- If REG_EXTENDED is set, we use POSIX extended syntax; otherwise, we
- use POSIX basic syntax.
-
- If REG_NEWLINE is set, then . and [^...] don't match newline.
- Also, regexec will try a match beginning after every newline.
-
- If REG_ICASE is set, then we considers upper- and lowercase
- versions of letters to be equivalent when matching.
-
- If REG_NOSUB is set, then when PREG is passed to regexec, that
- routine will report only success or failure, and nothing about the
- registers.
-
- It returns 0 if it succeeds, nonzero if it doesn't. (See regex.h for
- the return codes and their meanings.) */
-
-int
-regcomp (preg, pattern, cflags)
- regex_t *preg;
- const char *pattern;
- int cflags;
-{
- reg_errcode_t ret;
- reg_syntax_t syntax
- = (cflags & REG_EXTENDED) ?
- RE_SYNTAX_POSIX_EXTENDED : RE_SYNTAX_POSIX_BASIC;
-
- /* regex_compile will allocate the space for the compiled pattern. */
- preg->buffer = 0;
- preg->allocated = 0;
- preg->used = 0;
-
- /* Don't bother to use a fastmap when searching. This simplifies the
- REG_NEWLINE case: if we used a fastmap, we'd have to put all the
- characters after newlines into the fastmap. This way, we just try
- every character. */
- preg->fastmap = 0;
-
- if (cflags & REG_ICASE)
- {
- unsigned i;
-
- preg->translate
- = (RE_TRANSLATE_TYPE) malloc (CHAR_SET_SIZE
- * sizeof (*(RE_TRANSLATE_TYPE)0));
- if (preg->translate == NULL)
- return (int) REG_ESPACE;
-
- /* Map uppercase characters to corresponding lowercase ones. */
- for (i = 0; i < CHAR_SET_SIZE; i++)
- preg->translate[i] = ISUPPER (i) ? tolower (i) : i;
- }
- else
- preg->translate = NULL;
-
- /* If REG_NEWLINE is set, newlines are treated differently. */
- if (cflags & REG_NEWLINE)
- { /* REG_NEWLINE implies neither . nor [^...] match newline. */
- syntax &= ~RE_DOT_NEWLINE;
- syntax |= RE_HAT_LISTS_NOT_NEWLINE;
- /* It also changes the matching behavior. */
- preg->newline_anchor = 1;
- }
- else
- preg->newline_anchor = 0;
-
- preg->no_sub = !!(cflags & REG_NOSUB);
-
- /* POSIX says a null character in the pattern terminates it, so we
- can use strlen here in compiling the pattern. */
- ret = regex_compile (pattern, strlen (pattern), syntax, preg);
-
- /* POSIX doesn't distinguish between an unmatched open-group and an
- unmatched close-group: both are REG_EPAREN. */
- if (ret == REG_ERPAREN) ret = REG_EPAREN;
-
- return (int) ret;
-}
-
-
-/* regexec searches for a given pattern, specified by PREG, in the
- string STRING.
-
- If NMATCH is zero or REG_NOSUB was set in the cflags argument to
- `regcomp', we ignore PMATCH. Otherwise, we assume PMATCH has at
- least NMATCH elements, and we set them to the offsets of the
- corresponding matched substrings.
-
- EFLAGS specifies `execution flags' which affect matching: if
- REG_NOTBOL is set, then ^ does not match at the beginning of the
- string; if REG_NOTEOL is set, then $ does not match at the end.
-
- We return 0 if we find a match and REG_NOMATCH if not. */
-
-int
-regexec (preg, string, nmatch, pmatch, eflags)
- const regex_t *preg;
- const char *string;
- size_t nmatch;
- regmatch_t pmatch[];
- int eflags;
-{
- int ret;
- struct re_registers regs;
- regex_t private_preg;
- int len = strlen (string);
- boolean want_reg_info = !preg->no_sub && nmatch > 0;
-
- private_preg = *preg;
-
- private_preg.not_bol = !!(eflags & REG_NOTBOL);
- private_preg.not_eol = !!(eflags & REG_NOTEOL);
-
- /* The user has told us exactly how many registers to return
- information about, via `nmatch'. We have to pass that on to the
- matching routines. */
- private_preg.regs_allocated = REGS_FIXED;
-
- if (want_reg_info)
- {
- regs.num_regs = nmatch;
- regs.start = TALLOC (nmatch, regoff_t);
- regs.end = TALLOC (nmatch, regoff_t);
- if (regs.start == NULL || regs.end == NULL)
- return (int) REG_NOMATCH;
- }
-
- /* Perform the searching operation. */
- ret = re_search (&private_preg, string, len,
- /* start: */ 0, /* range: */ len,
- want_reg_info ? &regs : (struct re_registers *) 0);
-
- /* Copy the register information to the POSIX structure. */
- if (want_reg_info)
- {
- if (ret >= 0)
- {
- unsigned r;
-
- for (r = 0; r < nmatch; r++)
- {
- pmatch[r].rm_so = regs.start[r];
- pmatch[r].rm_eo = regs.end[r];
- }
- }
-
- /* If we needed the temporary register info, free the space now. */
- free (regs.start);
- free (regs.end);
- }
-
- /* We want zero return to mean success, unlike `re_search'. */
- return ret >= 0 ? (int) REG_NOERROR : (int) REG_NOMATCH;
-}
-
-
-/* Returns a message corresponding to an error code, ERRCODE, returned
- from either regcomp or regexec. We don't use PREG here. */
-
-size_t
-regerror (int errcode, const regex_t *preg, char *errbuf, size_t errbuf_size)
-{
- const char *msg;
- size_t msg_size;
-
- if (errcode < 0
- || errcode >= (int) (sizeof (re_error_msgid)
- / sizeof (re_error_msgid[0])))
- /* Only error codes returned by the rest of the code should be passed
- to this routine. If we are given anything else, or if other regex
- code generates an invalid error code, then the program has a bug.
- Dump core so we can fix it. */
- abort ();
-
- msg = gettext (re_error_msgid[errcode]);
-
- msg_size = strlen (msg) + 1; /* Includes the null. */
-
- if (errbuf_size != 0)
- {
- if (msg_size > errbuf_size)
- {
- strncpy (errbuf, msg, errbuf_size - 1);
- errbuf[errbuf_size - 1] = 0;
- }
- else
- strcpy (errbuf, msg);
- }
-
- return msg_size;
-}
-
-
-/* Free dynamically allocated space used by PREG. */
-
-void
-regfree (preg)
- regex_t *preg;
-{
- if (preg->buffer != NULL)
- free (preg->buffer);
- preg->buffer = NULL;
-
- preg->allocated = 0;
- preg->used = 0;
-
- if (preg->fastmap != NULL)
- free (preg->fastmap);
- preg->fastmap = NULL;
- preg->fastmap_accurate = 0;
-
- if (preg->translate != NULL)
- free (preg->translate);
- preg->translate = NULL;
-}
-
-#endif /* not emacs */
diff --git a/src/utilfuns/roman.cpp b/src/utilfuns/roman.cpp
index 85f361d..4db9540 100644
--- a/src/utilfuns/roman.cpp
+++ b/src/utilfuns/roman.cpp
@@ -1,22 +1,20 @@
/*
* roman.c
- * Copyright 2001 by CrossWire Bible Society
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston,
- * MA 02111-1307, USA.
- *
+ *
+ * Copyright 2009 CrossWire Bible Society (http://www.crosswire.org)
+ * CrossWire Bible Society
+ * P. O. Box 2528
+ * Tempe, AZ 85280-2528
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation version 2.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
*/
#include <stdlib.h>
@@ -25,9 +23,9 @@
SWORD_NAMESPACE_START
-char isroman (const char* str) {
- char * ch = (char*)str;
- for (; *ch; ch++)
+char isroman (const char *str, int maxchars) {
+ char *ch = (char*)str;
+ for (; *ch && (!maxchars || (ch-str) <= maxchars); ch++)
if (!strchr("IVXLCDMivxlcdm ", *ch))
return 0;
return 1;
diff --git a/src/utilfuns/sub.c b/src/utilfuns/sub.c
deleted file mode 100644
index fcea6e2..0000000
--- a/src/utilfuns/sub.c
+++ /dev/null
@@ -1,36 +0,0 @@
-
-#include <stdio.h>
-#include <stdlib.h>
-
-main(int argc, char **argv)
-{
- FILE *fp;
- char *buf;
- int size;
-
- if ((argc < 3) || (argc > 4)) {
- fprintf(stderr, "usage: %s <string> <substitute string> [filename]\n", *argv);
- exit(-1);
- }
-
- if (argc > 3)
- fp = fopen(argv[3], "r");
- else fp = stdin;
-
- size = strlen(argv[1]);
- buf = (char *)calloc(size + 1, 1);
-
- while ((buf[size - 1] = fgetc(fp)) != EOF) {
- if (!strcmp(buf, argv[1])) {
- printf("\n%s", argv[2]);
- memset(buf, 0, size);
- continue;
- }
- if (*buf) {
- printf("%c", *buf);
- }
- memmove(buf, &buf[1], size);
- }
- buf[size - 1] = 0;
- printf("%s", buf);
-}
diff --git a/src/utilfuns/swbuf.cpp b/src/utilfuns/swbuf.cpp
index 430a705..53dd43a 100644
--- a/src/utilfuns/swbuf.cpp
+++ b/src/utilfuns/swbuf.cpp
@@ -1,7 +1,7 @@
/******************************************************************************
* swbuf.cpp - code for SWBuf used as a transport and utility for data buffers
*
-* $Id: swbuf.cpp 2169 2008-05-18 02:50:53Z scribe $
+* $Id: swbuf.cpp 2198 2008-09-11 20:59:30Z scribe $
*
* Copyright 2003 CrossWire Bible Society (http://www.crosswire.org)
* CrossWire Bible Society
@@ -76,7 +76,7 @@ SWBuf::SWBuf(unsigned long initSize) {
* WARNING: This function can only write at most
* JUNKBUFSIZE to the string per call.
*/
-void SWBuf::setFormatted(const char *format, ...) {
+SWBuf &SWBuf::setFormatted(const char *format, ...) {
va_list argptr;
va_start(argptr, format);
@@ -90,6 +90,7 @@ void SWBuf::setFormatted(const char *format, ...) {
va_start(argptr, format);
end = vsprintf(buf, format, argptr) + buf;
va_end(argptr);
+ return *this;
}
/******************************************************************************
diff --git a/src/utilfuns/swversion.cpp b/src/utilfuns/swversion.cpp
index 9e61f06..fe112db 100644
--- a/src/utilfuns/swversion.cpp
+++ b/src/utilfuns/swversion.cpp
@@ -1,3 +1,20 @@
+/*
+ * Copyright 2009 CrossWire Bible Society (http://www.crosswire.org)
+ * CrossWire Bible Society
+ * P. O. Box 2528
+ * Tempe, AZ 85280-2528
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation version 2.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ */
+
#include <config.h>
#include <swversion.h>
diff --git a/src/utilfuns/url.cpp b/src/utilfuns/url.cpp
index 3a50e2c..549c283 100644
--- a/src/utilfuns/url.cpp
+++ b/src/utilfuns/url.cpp
@@ -1,7 +1,7 @@
/******************************************************************************
* url.cpp - code for an URL parser utility class
*
-* $Id: url.cpp 2013 2006-11-25 22:01:04Z dglassey $
+* $Id: url.cpp 2250 2009-02-14 05:48:58Z scribe $
*
* Copyright 2003 CrossWire Bible Society (http://www.crosswire.org)
* CrossWire Bible Society
@@ -31,6 +31,27 @@
SWORD_NAMESPACE_START
+namespace {
+ typedef std::map< unsigned char, SWBuf > DataMap;
+ DataMap m;
+ static class __init {
+ public:
+ __init() {
+ for (unsigned short int c = 32; c <= 255; ++c) { //first set all encoding chars
+ if ( (c >= 'A' && c <= 'Z') || (c >= 'a' && c <= 'z') || (c >= '0' && c <= '9') || strchr("-_.!~*'()", c)) {
+ continue; //we don't need an encoding for this char
+ }
+
+ SWBuf buf;
+ buf.setFormatted("%%%-.2X", c);
+ m[c] = buf;
+ }
+ //the special encodings for certain chars
+ m[' '] = '+';
+ }
+ } ___init;
+}
+
/**
* Constructors/Destructors
*/
@@ -197,24 +218,11 @@ void URL::parse () {
}
}
+
const SWBuf URL::encode(const char *urlText) {
/*static*/ SWBuf url;
url = urlText;
- typedef std::map< unsigned char, SWBuf > DataMap;
- DataMap m;
- for (unsigned short int c = 32; c <= 255; ++c) { //first set all encoding chars
- if ( (c >= 'A' && c <= 'Z') || (c >= 'a' && c <= 'z') || (c >= '0' && c <= '9') || strchr("-_.!~*'()", c)) {
- continue; //we don't need an encoding for this char
- }
-
- SWBuf buf;
- buf.setFormatted("%%%-.2X", c);
- m[c] = buf;
- }
- //the special encodings for certain chars
- m[' '] = '+';
-
SWBuf buf;
const int length = url.length();
for (int i = 0; i < length; i++) { //fill "buf"
diff --git a/src/utilfuns/utilstr.cpp b/src/utilfuns/utilstr.cpp
index 52dc286..9a0ddc6 100644
--- a/src/utilfuns/utilstr.cpp
+++ b/src/utilfuns/utilstr.cpp
@@ -1,20 +1,26 @@
+/*
+ * Copyright 2009 CrossWire Bible Society (http://www.crosswire.org)
+ * CrossWire Bible Society
+ * P. O. Box 2528
+ * Tempe, AZ 85280-2528
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation version 2.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ */
+
#include <utilstr.h>
#include <ctype.h>
#include <string.h>
-#include <localemgr.h>
-
+#include <sysdata.h>
-#ifdef _ICU_
-#include <unicode/utypes.h>
-#include <unicode/ucnv.h>
-#include <unicode/ustring.h>
-#include <unicode/uchar.h>
-
-#include <unicode/unistr.h>
-#include <unicode/translit.h>
-
-#endif
SWORD_NAMESPACE_START
@@ -67,13 +73,14 @@ const unsigned char SW_toupper_array[256] =
*/
char *stdstr(char **ipstr, const char *istr, unsigned int memPadFactor) {
+ if (*ipstr)
+ delete [] *ipstr;
if (istr) {
- if (*ipstr)
- delete [] *ipstr;
int len = strlen(istr) + 1;
*ipstr = new char [ len * memPadFactor ];
memcpy(*ipstr, istr, len);
}
+ else *ipstr = 0;
return *ipstr;
}
@@ -174,68 +181,58 @@ int stricmp(const char *s1, const char *s2) {
#endif
}
+
/******************************************************************************
- * toupperstr - converts a string to uppercase string
+ * getUniCharFromUTF8 - retrieves the next Unicode codepoint from a UTF8 string
+ * and increments buf to start of next codepoint
*
- * ENT: target - string to convert
+ * ENT: buf - address of a utf8 buffer
*
- * RET: target
+ * RET: buf - incremented past last byte used in computing the current codepoint
+ * unicode codepoint value (0 with buf incremented is invalid UTF8 byte
*/
-// char *toupperstr(char *buf) {
-// char *ret = buf;
-//
-// /*if (StringHelper::getSystemStringHelper()) {
-// StringHelper::getSystemStringHelper()->upperStringLatin1( ret );
-// }
-// else*/ {
-// while (*buf) {
-// *buf++ = SW_toupper(*buf);
-// }
-// // }
-// return ret;
-// }
+__u32 getUniCharFromUTF8(const unsigned char **buf) {
+ __u32 ch = 0;
+ unsigned char multibuf[7];
+
+ //case: We're at the end
+ if (!(**buf)) {
+ return ch;
+ }
+ //case: ANSI
+ if (!(**buf & 128)) {
+ ch = **buf;
+ (*buf)++;
+ return ch;
+ }
-/******************************************************************************
- * toupperstr - converts a string to uppercase string
- *
- * ENT: target - string to convert
- *
- * RET: target
- */
+ //case: Invalid UTF-8 (illegal continuing byte in initial position)
+ if ((**buf & 128) && (!(**buf & 64))) {
+ (*buf)++;
+ return ch;
+ }
+
+ //case: 2+ byte codepoint
+ multibuf[0] = **buf;
+ multibuf[0] <<= 1;
+ int subsequent;
+ for (subsequent = 1; (multibuf[0] & 128) && (subsequent < 7); subsequent++) {
+ multibuf[0] <<= 1;
+ multibuf[subsequent] = (*buf)[subsequent];
+ multibuf[subsequent] &= 63;
+ ch <<= 6;
+ ch |= multibuf[subsequent];
+ }
+ subsequent--;
+ multibuf[0] <<= 1;
+ char significantFirstBits = 8 - (2+subsequent);
+
+ ch |= (((__s16)multibuf[0]) << (((6*subsequent)+significantFirstBits)-8));
+ *buf += (subsequent+1);
+ return ch;
+}
-// char *toupperstr_utf8(char *buf, unsigned int max) {
-// char *ret = buf;
-//
-// /* if (StringHelper::getSystemStringHelper()) {
-// StringHelper::getSystemStringHelper()->upperStringUtf8( ret );
-// return ret;
-// }*/
-//
-// #ifndef _ICU_
-// // try to decide if it's worth trying to toupper. Do we have more
-// // characters that are probably lower latin than not?
-// long performOp = 0;
-// for (const char *ch = buf; *ch; ch++)
-// performOp += (*ch > 0) ? 1 : -1;
-//
-// if (performOp > 0) {
-// while (*buf)
-// *buf = SW_toupper(*buf++);
-// }
-// #else
-// if (!max)
-// max = strlen(ret);
-// UErrorCode err = U_ZERO_ERROR;
-// UConverter *conv = ucnv_open("UTF-8", &err);
-// UnicodeString str(buf, -1, conv, err);
-// UnicodeString ustr = str.toUpper();
-// ustr.extract(ret, max, conv, err);
-// ucnv_close(conv);
-// #endif
-//
-// return ret;
-// }
SWORD_NAMESPACE_END
diff --git a/src/utilfuns/utilxml.cpp b/src/utilfuns/utilxml.cpp
index 9184102..d3af7e5 100644
--- a/src/utilfuns/utilxml.cpp
+++ b/src/utilfuns/utilxml.cpp
@@ -1,7 +1,7 @@
/******************************************************************************
* utilxml.cpp - implementaion of utility classes to handle XML processing
*
- * $Id: utilxml.cpp 2096 2007-10-07 00:40:00Z scribe $
+ * $Id: utilxml.cpp 2378 2009-05-04 23:18:51Z scribe $
*
* Copyright 1998 CrossWire Bible Society (http://www.crosswire.org)
* CrossWire Bible Society
@@ -121,6 +121,22 @@ XMLTag::XMLTag(const char *tagString) {
setText(tagString);
}
+XMLTag::XMLTag(const XMLTag& t) : attributes(t.attributes) {
+ parsed = t.parsed;
+ empty = t.empty;
+ endTag = t.endTag;
+ if (t.buf) {
+ int len = strlen(t.buf);
+ buf = new char[len + 1];
+ memcpy(buf, t.buf, len + 1);
+ }
+ if (t.name) {
+ int len = strlen(t.name);
+ name = new char[len + 1];
+ memcpy(name, t.name, len + 1);
+ }
+}
+
void XMLTag::setText(const char *tagString) {
parsed = false;
empty = false;
@@ -293,4 +309,13 @@ const char *XMLTag::toString() const {
}
+// if an eID is provided, then we check to be sure we have an attribute <tag eID="xxx"/> value xxx equiv to what is given us
+// otherwise, we return if we're a simple XML end </tag>.
+bool XMLTag::isEndTag(const char *eID) const {
+ if (eID) {
+ return (SWBuf(eID) == getAttribute("eID"));
+ }
+ return endTag;
+}
+
SWORD_NAMESPACE_END
diff --git a/src/utilfuns/win32/dirent.cpp b/src/utilfuns/win32/dirent.cpp
deleted file mode 100644
index 150bf10..0000000
--- a/src/utilfuns/win32/dirent.cpp
+++ /dev/null
@@ -1,131 +0,0 @@
-/*
-
- Implementation of POSIX directory browsing functions and types for Win32.
-
- Kevlin Henney (mailto:kevlin@acm.org), March 1997.
-
- Copyright Kevlin Henney, 1997. All rights reserved.
-
- Permission to use, copy, modify, and distribute this software and its
- documentation for any purpose is hereby granted without fee, provided
- that this copyright and permissions notice appear in all copies and
- derivatives, and that no charge may be made for the software and its
- documentation except to cover cost of distribution.
-
- This software is supplied "as is" without express or implied warranty.
-
- But that said, if there are any problems please get in touch.
-
-*/
-
-#include <dirent.h>
-#include <errno.h>
-#include <io.h>
-#include <stdlib.h>
-#include <string.h>
-
-struct DIR
-{
- long handle; /* -1 for failed rewind */
- struct _finddata_t info;
- struct dirent result; /* d_name null iff first time */
- char *name; /* NTBS */
-};
-
-DIR *opendir(const char *name)
-{
- DIR *dir = 0;
-
- if(name && name[0])
- {
- size_t base_length = strlen(name);
- const char *all = /* the root directory is a special case... */
- strchr("/\\", name[base_length - 1]) ? "*" : "/*";
-
- if((dir = (DIR *) malloc(sizeof *dir)) != 0 &&
- (dir->name = (char *) malloc(base_length + strlen(all) + 1)) != 0)
- {
- strcat(strcpy(dir->name, name), all);
-
- if((dir->handle = _findfirst(dir->name, &dir->info)) != -1)
- {
- dir->result.d_name = 0;
- }
- else /* rollback */
- {
- free(dir->name);
- free(dir);
- dir = 0;
- }
- }
- else /* rollback */
- {
- free(dir);
- dir = 0;
- errno = ENOMEM;
- }
- }
- else
- {
- errno = EINVAL;
- }
-
- return dir;
-}
-
-int closedir(DIR *dir)
-{
- int result = -1;
-
- if(dir)
- {
- if(dir->handle != -1)
- {
- result = _findclose(dir->handle);
- }
-
- free(dir->name);
- free(dir);
- }
-
- if(result == -1) /* map all errors to EBADF */
- {
- errno = EBADF;
- }
-
- return result;
-}
-
-struct dirent *readdir(DIR *dir)
-{
- struct dirent *result = 0;
-
- if(dir && dir->handle != -1)
- {
- if(!dir->result.d_name || _findnext(dir->handle, &dir->info) != -1)
- {
- result = &dir->result;
- result->d_name = dir->info.name;
- }
- }
- else
- {
- errno = EBADF;
- }
-
- return result;
-}
-
-void rewinddir(DIR *dir)
-{
- if(dir && dir->handle != -1)
- {
- _findclose(dir->handle);
- dir->handle = _findfirst(dir->name, &dir->info);
- dir->result.d_name = 0;
- }
- else
- {
- errno = EBADF;
- }
-}
diff --git a/src/utilfuns/win32/dirent.h b/src/utilfuns/win32/dirent.h
deleted file mode 100644
index ba22833..0000000
--- a/src/utilfuns/win32/dirent.h
+++ /dev/null
@@ -1,32 +0,0 @@
-/*
-
- Declaration of POSIX directory browsing functions and types for Win32.
-
- Kevlin Henney (mailto:kevlin@acm.org), March 1997.
-
- Copyright Kevlin Henney, 1997. All rights reserved.
-
- Permission to use, copy, modify, and distribute this software and its
- documentation for any purpose is hereby granted without fee, provided
- that this copyright and permissions notice appear in all copies and
- derivatives, and that no charge may be made for the software and its
- documentation except to cover cost of distribution.
-
-*/
-
-#ifndef DIRENT_INCLUDED
-#define DIRENT_INCLUDED
-
-typedef struct DIR DIR;
-
-struct dirent
-{
- char *d_name;
-};
-
-DIR *opendir(const char *);
-int closedir(DIR *);
-struct dirent *readdir(DIR *);
-void rewinddir(DIR *);
-
-#endif
diff --git a/src/utilfuns/zlib/adler32.c b/src/utilfuns/zlib/adler32.c
deleted file mode 100644
index c786e9a..0000000
--- a/src/utilfuns/zlib/adler32.c
+++ /dev/null
@@ -1,48 +0,0 @@
-/* adler32.c -- compute the Adler-32 checksum of a data stream
- * Copyright (C) 1995-2002 Mark Adler
- * For conditions of distribution and use, see copyright notice in zlib.h
- */
-
-/* @(#) $Id: adler32.c 1688 2005-01-01 04:42:26Z scribe $ */
-
-#include "zlib.h"
-
-#define BASE 65521L /* largest prime smaller than 65536 */
-#define NMAX 5552
-/* NMAX is the largest n such that 255n(n+1)/2 + (n+1)(BASE-1) <= 2^32-1 */
-
-#define DO1(buf,i) {s1 += buf[i]; s2 += s1;}
-#define DO2(buf,i) DO1(buf,i); DO1(buf,i+1);
-#define DO4(buf,i) DO2(buf,i); DO2(buf,i+2);
-#define DO8(buf,i) DO4(buf,i); DO4(buf,i+4);
-#define DO16(buf) DO8(buf,0); DO8(buf,8);
-
-/* ========================================================================= */
-uLong ZEXPORT adler32(adler, buf, len)
- uLong adler;
- const Bytef *buf;
- uInt len;
-{
- unsigned long s1 = adler & 0xffff;
- unsigned long s2 = (adler >> 16) & 0xffff;
- int k;
-
- if (buf == Z_NULL) return 1L;
-
- while (len > 0) {
- k = len < NMAX ? len : NMAX;
- len -= k;
- while (k >= 16) {
- DO16(buf);
- buf += 16;
- k -= 16;
- }
- if (k != 0) do {
- s1 += *buf++;
- s2 += s1;
- } while (--k);
- s1 %= BASE;
- s2 %= BASE;
- }
- return (s2 << 16) | s1;
-}
diff --git a/src/utilfuns/zlib/compress.c b/src/utilfuns/zlib/compress.c
deleted file mode 100644
index 2b1f048..0000000
--- a/src/utilfuns/zlib/compress.c
+++ /dev/null
@@ -1,68 +0,0 @@
-/* compress.c -- compress a memory buffer
- * Copyright (C) 1995-2002 Jean-loup Gailly.
- * For conditions of distribution and use, see copyright notice in zlib.h
- */
-
-/* @(#) $Id: compress.c 1688 2005-01-01 04:42:26Z scribe $ */
-
-#include "zlib.h"
-
-/* ===========================================================================
- Compresses the source buffer into the destination buffer. The level
- parameter has the same meaning as in deflateInit. sourceLen is the byte
- length of the source buffer. Upon entry, destLen is the total size of the
- destination buffer, which must be at least 0.1% larger than sourceLen plus
- 12 bytes. Upon exit, destLen is the actual size of the compressed buffer.
-
- compress2 returns Z_OK if success, Z_MEM_ERROR if there was not enough
- memory, Z_BUF_ERROR if there was not enough room in the output buffer,
- Z_STREAM_ERROR if the level parameter is invalid.
-*/
-int ZEXPORT compress2 (dest, destLen, source, sourceLen, level)
- Bytef *dest;
- uLongf *destLen;
- const Bytef *source;
- uLong sourceLen;
- int level;
-{
- z_stream stream;
- int err;
-
- stream.next_in = (Bytef*)source;
- stream.avail_in = (uInt)sourceLen;
-#ifdef MAXSEG_64K
- /* Check for source > 64K on 16-bit machine: */
- if ((uLong)stream.avail_in != sourceLen) return Z_BUF_ERROR;
-#endif
- stream.next_out = dest;
- stream.avail_out = (uInt)*destLen;
- if ((uLong)stream.avail_out != *destLen) return Z_BUF_ERROR;
-
- stream.zalloc = (alloc_func)0;
- stream.zfree = (free_func)0;
- stream.opaque = (voidpf)0;
-
- err = deflateInit(&stream, level);
- if (err != Z_OK) return err;
-
- err = deflate(&stream, Z_FINISH);
- if (err != Z_STREAM_END) {
- deflateEnd(&stream);
- return err == Z_OK ? Z_BUF_ERROR : err;
- }
- *destLen = stream.total_out;
-
- err = deflateEnd(&stream);
- return err;
-}
-
-/* ===========================================================================
- */
-int ZEXPORT compress (dest, destLen, source, sourceLen)
- Bytef *dest;
- uLongf *destLen;
- const Bytef *source;
- uLong sourceLen;
-{
- return compress2(dest, destLen, source, sourceLen, Z_DEFAULT_COMPRESSION);
-}
diff --git a/src/utilfuns/zlib/crc32.c b/src/utilfuns/zlib/crc32.c
deleted file mode 100644
index e44440c..0000000
--- a/src/utilfuns/zlib/crc32.c
+++ /dev/null
@@ -1,162 +0,0 @@
-/* crc32.c -- compute the CRC-32 of a data stream
- * Copyright (C) 1995-2002 Mark Adler
- * For conditions of distribution and use, see copyright notice in zlib.h
- */
-
-/* @(#) $Id: crc32.c 1688 2005-01-01 04:42:26Z scribe $ */
-
-#include "zlib.h"
-
-#define local static
-
-#ifdef DYNAMIC_CRC_TABLE
-
-local int crc_table_empty = 1;
-local uLongf crc_table[256];
-local void make_crc_table OF((void));
-
-/*
- Generate a table for a byte-wise 32-bit CRC calculation on the polynomial:
- x^32+x^26+x^23+x^22+x^16+x^12+x^11+x^10+x^8+x^7+x^5+x^4+x^2+x+1.
-
- Polynomials over GF(2) are represented in binary, one bit per coefficient,
- with the lowest powers in the most significant bit. Then adding polynomials
- is just exclusive-or, and multiplying a polynomial by x is a right shift by
- one. If we call the above polynomial p, and represent a byte as the
- polynomial q, also with the lowest power in the most significant bit (so the
- byte 0xb1 is the polynomial x^7+x^3+x+1), then the CRC is (q*x^32) mod p,
- where a mod b means the remainder after dividing a by b.
-
- This calculation is done using the shift-register method of multiplying and
- taking the remainder. The register is initialized to zero, and for each
- incoming bit, x^32 is added mod p to the register if the bit is a one (where
- x^32 mod p is p+x^32 = x^26+...+1), and the register is multiplied mod p by
- x (which is shifting right by one and adding x^32 mod p if the bit shifted
- out is a one). We start with the highest power (least significant bit) of
- q and repeat for all eight bits of q.
-
- The table is simply the CRC of all possible eight bit values. This is all
- the information needed to generate CRC's on data a byte at a time for all
- combinations of CRC register values and incoming bytes.
-*/
-local void make_crc_table()
-{
- uLong c;
- int n, k;
- uLong poly; /* polynomial exclusive-or pattern */
- /* terms of polynomial defining this crc (except x^32): */
- static const Byte p[] = {0,1,2,4,5,7,8,10,11,12,16,22,23,26};
-
- /* make exclusive-or pattern from polynomial (0xedb88320L) */
- poly = 0L;
- for (n = 0; n < sizeof(p)/sizeof(Byte); n++)
- poly |= 1L << (31 - p[n]);
-
- for (n = 0; n < 256; n++)
- {
- c = (uLong)n;
- for (k = 0; k < 8; k++)
- c = c & 1 ? poly ^ (c >> 1) : c >> 1;
- crc_table[n] = c;
- }
- crc_table_empty = 0;
-}
-#else
-/* ========================================================================
- * Table of CRC-32's of all single-byte values (made by make_crc_table)
- */
-local const uLongf crc_table[256] = {
- 0x00000000L, 0x77073096L, 0xee0e612cL, 0x990951baL, 0x076dc419L,
- 0x706af48fL, 0xe963a535L, 0x9e6495a3L, 0x0edb8832L, 0x79dcb8a4L,
- 0xe0d5e91eL, 0x97d2d988L, 0x09b64c2bL, 0x7eb17cbdL, 0xe7b82d07L,
- 0x90bf1d91L, 0x1db71064L, 0x6ab020f2L, 0xf3b97148L, 0x84be41deL,
- 0x1adad47dL, 0x6ddde4ebL, 0xf4d4b551L, 0x83d385c7L, 0x136c9856L,
- 0x646ba8c0L, 0xfd62f97aL, 0x8a65c9ecL, 0x14015c4fL, 0x63066cd9L,
- 0xfa0f3d63L, 0x8d080df5L, 0x3b6e20c8L, 0x4c69105eL, 0xd56041e4L,
- 0xa2677172L, 0x3c03e4d1L, 0x4b04d447L, 0xd20d85fdL, 0xa50ab56bL,
- 0x35b5a8faL, 0x42b2986cL, 0xdbbbc9d6L, 0xacbcf940L, 0x32d86ce3L,
- 0x45df5c75L, 0xdcd60dcfL, 0xabd13d59L, 0x26d930acL, 0x51de003aL,
- 0xc8d75180L, 0xbfd06116L, 0x21b4f4b5L, 0x56b3c423L, 0xcfba9599L,
- 0xb8bda50fL, 0x2802b89eL, 0x5f058808L, 0xc60cd9b2L, 0xb10be924L,
- 0x2f6f7c87L, 0x58684c11L, 0xc1611dabL, 0xb6662d3dL, 0x76dc4190L,
- 0x01db7106L, 0x98d220bcL, 0xefd5102aL, 0x71b18589L, 0x06b6b51fL,
- 0x9fbfe4a5L, 0xe8b8d433L, 0x7807c9a2L, 0x0f00f934L, 0x9609a88eL,
- 0xe10e9818L, 0x7f6a0dbbL, 0x086d3d2dL, 0x91646c97L, 0xe6635c01L,
- 0x6b6b51f4L, 0x1c6c6162L, 0x856530d8L, 0xf262004eL, 0x6c0695edL,
- 0x1b01a57bL, 0x8208f4c1L, 0xf50fc457L, 0x65b0d9c6L, 0x12b7e950L,
- 0x8bbeb8eaL, 0xfcb9887cL, 0x62dd1ddfL, 0x15da2d49L, 0x8cd37cf3L,
- 0xfbd44c65L, 0x4db26158L, 0x3ab551ceL, 0xa3bc0074L, 0xd4bb30e2L,
- 0x4adfa541L, 0x3dd895d7L, 0xa4d1c46dL, 0xd3d6f4fbL, 0x4369e96aL,
- 0x346ed9fcL, 0xad678846L, 0xda60b8d0L, 0x44042d73L, 0x33031de5L,
- 0xaa0a4c5fL, 0xdd0d7cc9L, 0x5005713cL, 0x270241aaL, 0xbe0b1010L,
- 0xc90c2086L, 0x5768b525L, 0x206f85b3L, 0xb966d409L, 0xce61e49fL,
- 0x5edef90eL, 0x29d9c998L, 0xb0d09822L, 0xc7d7a8b4L, 0x59b33d17L,
- 0x2eb40d81L, 0xb7bd5c3bL, 0xc0ba6cadL, 0xedb88320L, 0x9abfb3b6L,
- 0x03b6e20cL, 0x74b1d29aL, 0xead54739L, 0x9dd277afL, 0x04db2615L,
- 0x73dc1683L, 0xe3630b12L, 0x94643b84L, 0x0d6d6a3eL, 0x7a6a5aa8L,
- 0xe40ecf0bL, 0x9309ff9dL, 0x0a00ae27L, 0x7d079eb1L, 0xf00f9344L,
- 0x8708a3d2L, 0x1e01f268L, 0x6906c2feL, 0xf762575dL, 0x806567cbL,
- 0x196c3671L, 0x6e6b06e7L, 0xfed41b76L, 0x89d32be0L, 0x10da7a5aL,
- 0x67dd4accL, 0xf9b9df6fL, 0x8ebeeff9L, 0x17b7be43L, 0x60b08ed5L,
- 0xd6d6a3e8L, 0xa1d1937eL, 0x38d8c2c4L, 0x4fdff252L, 0xd1bb67f1L,
- 0xa6bc5767L, 0x3fb506ddL, 0x48b2364bL, 0xd80d2bdaL, 0xaf0a1b4cL,
- 0x36034af6L, 0x41047a60L, 0xdf60efc3L, 0xa867df55L, 0x316e8eefL,
- 0x4669be79L, 0xcb61b38cL, 0xbc66831aL, 0x256fd2a0L, 0x5268e236L,
- 0xcc0c7795L, 0xbb0b4703L, 0x220216b9L, 0x5505262fL, 0xc5ba3bbeL,
- 0xb2bd0b28L, 0x2bb45a92L, 0x5cb36a04L, 0xc2d7ffa7L, 0xb5d0cf31L,
- 0x2cd99e8bL, 0x5bdeae1dL, 0x9b64c2b0L, 0xec63f226L, 0x756aa39cL,
- 0x026d930aL, 0x9c0906a9L, 0xeb0e363fL, 0x72076785L, 0x05005713L,
- 0x95bf4a82L, 0xe2b87a14L, 0x7bb12baeL, 0x0cb61b38L, 0x92d28e9bL,
- 0xe5d5be0dL, 0x7cdcefb7L, 0x0bdbdf21L, 0x86d3d2d4L, 0xf1d4e242L,
- 0x68ddb3f8L, 0x1fda836eL, 0x81be16cdL, 0xf6b9265bL, 0x6fb077e1L,
- 0x18b74777L, 0x88085ae6L, 0xff0f6a70L, 0x66063bcaL, 0x11010b5cL,
- 0x8f659effL, 0xf862ae69L, 0x616bffd3L, 0x166ccf45L, 0xa00ae278L,
- 0xd70dd2eeL, 0x4e048354L, 0x3903b3c2L, 0xa7672661L, 0xd06016f7L,
- 0x4969474dL, 0x3e6e77dbL, 0xaed16a4aL, 0xd9d65adcL, 0x40df0b66L,
- 0x37d83bf0L, 0xa9bcae53L, 0xdebb9ec5L, 0x47b2cf7fL, 0x30b5ffe9L,
- 0xbdbdf21cL, 0xcabac28aL, 0x53b39330L, 0x24b4a3a6L, 0xbad03605L,
- 0xcdd70693L, 0x54de5729L, 0x23d967bfL, 0xb3667a2eL, 0xc4614ab8L,
- 0x5d681b02L, 0x2a6f2b94L, 0xb40bbe37L, 0xc30c8ea1L, 0x5a05df1bL,
- 0x2d02ef8dL
-};
-#endif
-
-/* =========================================================================
- * This function can be used by asm versions of crc32()
- */
-const uLongf * ZEXPORT get_crc_table()
-{
-#ifdef DYNAMIC_CRC_TABLE
- if (crc_table_empty) make_crc_table();
-#endif
- return (const uLongf *)crc_table;
-}
-
-/* ========================================================================= */
-#define DO1(buf) crc = crc_table[((int)crc ^ (*buf++)) & 0xff] ^ (crc >> 8);
-#define DO2(buf) DO1(buf); DO1(buf);
-#define DO4(buf) DO2(buf); DO2(buf);
-#define DO8(buf) DO4(buf); DO4(buf);
-
-/* ========================================================================= */
-uLong ZEXPORT crc32(crc, buf, len)
- uLong crc;
- const Bytef *buf;
- uInt len;
-{
- if (buf == Z_NULL) return 0L;
-#ifdef DYNAMIC_CRC_TABLE
- if (crc_table_empty)
- make_crc_table();
-#endif
- crc = crc ^ 0xffffffffL;
- while (len >= 8)
- {
- DO8(buf);
- len -= 8;
- }
- if (len) do {
- DO1(buf);
- } while (--len);
- return crc ^ 0xffffffffL;
-}
diff --git a/src/utilfuns/zlib/deflate.c b/src/utilfuns/zlib/deflate.c
deleted file mode 100644
index 43ea588..0000000
--- a/src/utilfuns/zlib/deflate.c
+++ /dev/null
@@ -1,1350 +0,0 @@
-/* deflate.c -- compress data using the deflation algorithm
- * Copyright (C) 1995-2002 Jean-loup Gailly.
- * For conditions of distribution and use, see copyright notice in zlib.h
- */
-
-/*
- * ALGORITHM
- *
- * The "deflation" process depends on being able to identify portions
- * of the input text which are identical to earlier input (within a
- * sliding window trailing behind the input currently being processed).
- *
- * The most straightforward technique turns out to be the fastest for
- * most input files: try all possible matches and select the longest.
- * The key feature of this algorithm is that insertions into the string
- * dictionary are very simple and thus fast, and deletions are avoided
- * completely. Insertions are performed at each input character, whereas
- * string matches are performed only when the previous match ends. So it
- * is preferable to spend more time in matches to allow very fast string
- * insertions and avoid deletions. The matching algorithm for small
- * strings is inspired from that of Rabin & Karp. A brute force approach
- * is used to find longer strings when a small match has been found.
- * A similar algorithm is used in comic (by Jan-Mark Wams) and freeze
- * (by Leonid Broukhis).
- * A previous version of this file used a more sophisticated algorithm
- * (by Fiala and Greene) which is guaranteed to run in linear amortized
- * time, but has a larger average cost, uses more memory and is patented.
- * However the F&G algorithm may be faster for some highly redundant
- * files if the parameter max_chain_length (described below) is too large.
- *
- * ACKNOWLEDGEMENTS
- *
- * The idea of lazy evaluation of matches is due to Jan-Mark Wams, and
- * I found it in 'freeze' written by Leonid Broukhis.
- * Thanks to many people for bug reports and testing.
- *
- * REFERENCES
- *
- * Deutsch, L.P.,"DEFLATE Compressed Data Format Specification".
- * Available in ftp://ds.internic.net/rfc/rfc1951.txt
- *
- * A description of the Rabin and Karp algorithm is given in the book
- * "Algorithms" by R. Sedgewick, Addison-Wesley, p252.
- *
- * Fiala,E.R., and Greene,D.H.
- * Data Compression with Finite Windows, Comm.ACM, 32,4 (1989) 490-595
- *
- */
-
-/* @(#) $Id: deflate.c 1688 2005-01-01 04:42:26Z scribe $ */
-
-#include "deflate.h"
-
-const char deflate_copyright[] =
- " deflate 1.1.4 Copyright 1995-2002 Jean-loup Gailly ";
-/*
- If you use the zlib library in a product, an acknowledgment is welcome
- in the documentation of your product. If for some reason you cannot
- include such an acknowledgment, I would appreciate that you keep this
- copyright string in the executable of your product.
- */
-
-/* ===========================================================================
- * Function prototypes.
- */
-typedef enum {
- need_more, /* block not completed, need more input or more output */
- block_done, /* block flush performed */
- finish_started, /* finish started, need only more output at next deflate */
- finish_done /* finish done, accept no more input or output */
-} block_state;
-
-typedef block_state (*compress_func) OF((deflate_state *s, int flush));
-/* Compression function. Returns the block state after the call. */
-
-local void fill_window OF((deflate_state *s));
-local block_state deflate_stored OF((deflate_state *s, int flush));
-local block_state deflate_fast OF((deflate_state *s, int flush));
-local block_state deflate_slow OF((deflate_state *s, int flush));
-local void lm_init OF((deflate_state *s));
-local void putShortMSB OF((deflate_state *s, uInt b));
-local void flush_pending OF((z_streamp strm));
-local int read_buf OF((z_streamp strm, Bytef *buf, unsigned size));
-#ifdef ASMV
- void match_init OF((void)); /* asm code initialization */
- uInt longest_match OF((deflate_state *s, IPos cur_match));
-#else
-local uInt longest_match OF((deflate_state *s, IPos cur_match));
-#endif
-
-#ifdef DEBUG
-local void check_match OF((deflate_state *s, IPos start, IPos match,
- int length));
-#endif
-
-/* ===========================================================================
- * Local data
- */
-
-#define NIL 0
-/* Tail of hash chains */
-
-#ifndef TOO_FAR
-# define TOO_FAR 4096
-#endif
-/* Matches of length 3 are discarded if their distance exceeds TOO_FAR */
-
-#define MIN_LOOKAHEAD (MAX_MATCH+MIN_MATCH+1)
-/* Minimum amount of lookahead, except at the end of the input file.
- * See deflate.c for comments about the MIN_MATCH+1.
- */
-
-/* Values for max_lazy_match, good_match and max_chain_length, depending on
- * the desired pack level (0..9). The values given below have been tuned to
- * exclude worst case performance for pathological files. Better values may be
- * found for specific files.
- */
-typedef struct config_s {
- ush good_length; /* reduce lazy search above this match length */
- ush max_lazy; /* do not perform lazy search above this match length */
- ush nice_length; /* quit search above this match length */
- ush max_chain;
- compress_func func;
-} config;
-
-local const config configuration_table[10] = {
-/* good lazy nice chain */
-/* 0 */ {0, 0, 0, 0, deflate_stored}, /* store only */
-/* 1 */ {4, 4, 8, 4, deflate_fast}, /* maximum speed, no lazy matches */
-/* 2 */ {4, 5, 16, 8, deflate_fast},
-/* 3 */ {4, 6, 32, 32, deflate_fast},
-
-/* 4 */ {4, 4, 16, 16, deflate_slow}, /* lazy matches */
-/* 5 */ {8, 16, 32, 32, deflate_slow},
-/* 6 */ {8, 16, 128, 128, deflate_slow},
-/* 7 */ {8, 32, 128, 256, deflate_slow},
-/* 8 */ {32, 128, 258, 1024, deflate_slow},
-/* 9 */ {32, 258, 258, 4096, deflate_slow}}; /* maximum compression */
-
-/* Note: the deflate() code requires max_lazy >= MIN_MATCH and max_chain >= 4
- * For deflate_fast() (levels <= 3) good is ignored and lazy has a different
- * meaning.
- */
-
-#define EQUAL 0
-/* result of memcmp for equal strings */
-
-struct static_tree_desc_s {int dummy;}; /* for buggy compilers */
-
-/* ===========================================================================
- * Update a hash value with the given input byte
- * IN assertion: all calls to to UPDATE_HASH are made with consecutive
- * input characters, so that a running hash key can be computed from the
- * previous key instead of complete recalculation each time.
- */
-#define UPDATE_HASH(s,h,c) (h = (((h)<<s->hash_shift) ^ (c)) & s->hash_mask)
-
-
-/* ===========================================================================
- * Insert string str in the dictionary and set match_head to the previous head
- * of the hash chain (the most recent string with same hash key). Return
- * the previous length of the hash chain.
- * If this file is compiled with -DFASTEST, the compression level is forced
- * to 1, and no hash chains are maintained.
- * IN assertion: all calls to to INSERT_STRING are made with consecutive
- * input characters and the first MIN_MATCH bytes of str are valid
- * (except for the last MIN_MATCH-1 bytes of the input file).
- */
-#ifdef FASTEST
-#define INSERT_STRING(s, str, match_head) \
- (UPDATE_HASH(s, s->ins_h, s->window[(str) + (MIN_MATCH-1)]), \
- match_head = s->head[s->ins_h], \
- s->head[s->ins_h] = (Pos)(str))
-#else
-#define INSERT_STRING(s, str, match_head) \
- (UPDATE_HASH(s, s->ins_h, s->window[(str) + (MIN_MATCH-1)]), \
- s->prev[(str) & s->w_mask] = match_head = s->head[s->ins_h], \
- s->head[s->ins_h] = (Pos)(str))
-#endif
-
-/* ===========================================================================
- * Initialize the hash table (avoiding 64K overflow for 16 bit systems).
- * prev[] will be initialized on the fly.
- */
-#define CLEAR_HASH(s) \
- s->head[s->hash_size-1] = NIL; \
- zmemzero((Bytef *)s->head, (unsigned)(s->hash_size-1)*sizeof(*s->head));
-
-/* ========================================================================= */
-int ZEXPORT deflateInit_(strm, level, version, stream_size)
- z_streamp strm;
- int level;
- const char *version;
- int stream_size;
-{
- return deflateInit2_(strm, level, Z_DEFLATED, MAX_WBITS, DEF_MEM_LEVEL,
- Z_DEFAULT_STRATEGY, version, stream_size);
- /* To do: ignore strm->next_in if we use it as window */
-}
-
-/* ========================================================================= */
-int ZEXPORT deflateInit2_(strm, level, method, windowBits, memLevel, strategy,
- version, stream_size)
- z_streamp strm;
- int level;
- int method;
- int windowBits;
- int memLevel;
- int strategy;
- const char *version;
- int stream_size;
-{
- deflate_state *s;
- int noheader = 0;
- static const char* my_version = ZLIB_VERSION;
-
- ushf *overlay;
- /* We overlay pending_buf and d_buf+l_buf. This works since the average
- * output size for (length,distance) codes is <= 24 bits.
- */
-
- if (version == Z_NULL || version[0] != my_version[0] ||
- stream_size != sizeof(z_stream)) {
- return Z_VERSION_ERROR;
- }
- if (strm == Z_NULL) return Z_STREAM_ERROR;
-
- strm->msg = Z_NULL;
- if (strm->zalloc == Z_NULL) {
- strm->zalloc = zcalloc;
- strm->opaque = (voidpf)0;
- }
- if (strm->zfree == Z_NULL) strm->zfree = zcfree;
-
- if (level == Z_DEFAULT_COMPRESSION) level = 6;
-#ifdef FASTEST
- level = 1;
-#endif
-
- if (windowBits < 0) { /* undocumented feature: suppress zlib header */
- noheader = 1;
- windowBits = -windowBits;
- }
- if (memLevel < 1 || memLevel > MAX_MEM_LEVEL || method != Z_DEFLATED ||
- windowBits < 9 || windowBits > 15 || level < 0 || level > 9 ||
- strategy < 0 || strategy > Z_HUFFMAN_ONLY) {
- return Z_STREAM_ERROR;
- }
- s = (deflate_state *) ZALLOC(strm, 1, sizeof(deflate_state));
- if (s == Z_NULL) return Z_MEM_ERROR;
- strm->state = (struct internal_state FAR *)s;
- s->strm = strm;
-
- s->noheader = noheader;
- s->w_bits = windowBits;
- s->w_size = 1 << s->w_bits;
- s->w_mask = s->w_size - 1;
-
- s->hash_bits = memLevel + 7;
- s->hash_size = 1 << s->hash_bits;
- s->hash_mask = s->hash_size - 1;
- s->hash_shift = ((s->hash_bits+MIN_MATCH-1)/MIN_MATCH);
-
- s->window = (Bytef *) ZALLOC(strm, s->w_size, 2*sizeof(Byte));
- s->prev = (Posf *) ZALLOC(strm, s->w_size, sizeof(Pos));
- s->head = (Posf *) ZALLOC(strm, s->hash_size, sizeof(Pos));
-
- s->lit_bufsize = 1 << (memLevel + 6); /* 16K elements by default */
-
- overlay = (ushf *) ZALLOC(strm, s->lit_bufsize, sizeof(ush)+2);
- s->pending_buf = (uchf *) overlay;
- s->pending_buf_size = (ulg)s->lit_bufsize * (sizeof(ush)+2L);
-
- if (s->window == Z_NULL || s->prev == Z_NULL || s->head == Z_NULL ||
- s->pending_buf == Z_NULL) {
- strm->msg = (char*)ERR_MSG(Z_MEM_ERROR);
- deflateEnd (strm);
- return Z_MEM_ERROR;
- }
- s->d_buf = overlay + s->lit_bufsize/sizeof(ush);
- s->l_buf = s->pending_buf + (1+sizeof(ush))*s->lit_bufsize;
-
- s->level = level;
- s->strategy = strategy;
- s->method = (Byte)method;
-
- return deflateReset(strm);
-}
-
-/* ========================================================================= */
-int ZEXPORT deflateSetDictionary (strm, dictionary, dictLength)
- z_streamp strm;
- const Bytef *dictionary;
- uInt dictLength;
-{
- deflate_state *s;
- uInt length = dictLength;
- uInt n;
- IPos hash_head = 0;
-
- if (strm == Z_NULL || strm->state == Z_NULL || dictionary == Z_NULL ||
- strm->state->status != INIT_STATE) return Z_STREAM_ERROR;
-
- s = strm->state;
- strm->adler = adler32(strm->adler, dictionary, dictLength);
-
- if (length < MIN_MATCH) return Z_OK;
- if (length > MAX_DIST(s)) {
- length = MAX_DIST(s);
-#ifndef USE_DICT_HEAD
- dictionary += dictLength - length; /* use the tail of the dictionary */
-#endif
- }
- zmemcpy(s->window, dictionary, length);
- s->strstart = length;
- s->block_start = (long)length;
-
- /* Insert all strings in the hash table (except for the last two bytes).
- * s->lookahead stays null, so s->ins_h will be recomputed at the next
- * call of fill_window.
- */
- s->ins_h = s->window[0];
- UPDATE_HASH(s, s->ins_h, s->window[1]);
- for (n = 0; n <= length - MIN_MATCH; n++) {
- INSERT_STRING(s, n, hash_head);
- }
- if (hash_head) hash_head = 0; /* to make compiler happy */
- return Z_OK;
-}
-
-/* ========================================================================= */
-int ZEXPORT deflateReset (strm)
- z_streamp strm;
-{
- deflate_state *s;
-
- if (strm == Z_NULL || strm->state == Z_NULL ||
- strm->zalloc == Z_NULL || strm->zfree == Z_NULL) return Z_STREAM_ERROR;
-
- strm->total_in = strm->total_out = 0;
- strm->msg = Z_NULL; /* use zfree if we ever allocate msg dynamically */
- strm->data_type = Z_UNKNOWN;
-
- s = (deflate_state *)strm->state;
- s->pending = 0;
- s->pending_out = s->pending_buf;
-
- if (s->noheader < 0) {
- s->noheader = 0; /* was set to -1 by deflate(..., Z_FINISH); */
- }
- s->status = s->noheader ? BUSY_STATE : INIT_STATE;
- strm->adler = 1;
- s->last_flush = Z_NO_FLUSH;
-
- _tr_init(s);
- lm_init(s);
-
- return Z_OK;
-}
-
-/* ========================================================================= */
-int ZEXPORT deflateParams(strm, level, strategy)
- z_streamp strm;
- int level;
- int strategy;
-{
- deflate_state *s;
- compress_func func;
- int err = Z_OK;
-
- if (strm == Z_NULL || strm->state == Z_NULL) return Z_STREAM_ERROR;
- s = strm->state;
-
- if (level == Z_DEFAULT_COMPRESSION) {
- level = 6;
- }
- if (level < 0 || level > 9 || strategy < 0 || strategy > Z_HUFFMAN_ONLY) {
- return Z_STREAM_ERROR;
- }
- func = configuration_table[s->level].func;
-
- if (func != configuration_table[level].func && strm->total_in != 0) {
- /* Flush the last buffer: */
- err = deflate(strm, Z_PARTIAL_FLUSH);
- }
- if (s->level != level) {
- s->level = level;
- s->max_lazy_match = configuration_table[level].max_lazy;
- s->good_match = configuration_table[level].good_length;
- s->nice_match = configuration_table[level].nice_length;
- s->max_chain_length = configuration_table[level].max_chain;
- }
- s->strategy = strategy;
- return err;
-}
-
-/* =========================================================================
- * Put a short in the pending buffer. The 16-bit value is put in MSB order.
- * IN assertion: the stream state is correct and there is enough room in
- * pending_buf.
- */
-local void putShortMSB (s, b)
- deflate_state *s;
- uInt b;
-{
- put_byte(s, (Byte)(b >> 8));
- put_byte(s, (Byte)(b & 0xff));
-}
-
-/* =========================================================================
- * Flush as much pending output as possible. All deflate() output goes
- * through this function so some applications may wish to modify it
- * to avoid allocating a large strm->next_out buffer and copying into it.
- * (See also read_buf()).
- */
-local void flush_pending(strm)
- z_streamp strm;
-{
- unsigned len = strm->state->pending;
-
- if (len > strm->avail_out) len = strm->avail_out;
- if (len == 0) return;
-
- zmemcpy(strm->next_out, strm->state->pending_out, len);
- strm->next_out += len;
- strm->state->pending_out += len;
- strm->total_out += len;
- strm->avail_out -= len;
- strm->state->pending -= len;
- if (strm->state->pending == 0) {
- strm->state->pending_out = strm->state->pending_buf;
- }
-}
-
-/* ========================================================================= */
-int ZEXPORT deflate (strm, flush)
- z_streamp strm;
- int flush;
-{
- int old_flush; /* value of flush param for previous deflate call */
- deflate_state *s;
-
- if (strm == Z_NULL || strm->state == Z_NULL ||
- flush > Z_FINISH || flush < 0) {
- return Z_STREAM_ERROR;
- }
- s = strm->state;
-
- if (strm->next_out == Z_NULL ||
- (strm->next_in == Z_NULL && strm->avail_in != 0) ||
- (s->status == FINISH_STATE && flush != Z_FINISH)) {
- ERR_RETURN(strm, Z_STREAM_ERROR);
- }
- if (strm->avail_out == 0) ERR_RETURN(strm, Z_BUF_ERROR);
-
- s->strm = strm; /* just in case */
- old_flush = s->last_flush;
- s->last_flush = flush;
-
- /* Write the zlib header */
- if (s->status == INIT_STATE) {
-
- uInt header = (Z_DEFLATED + ((s->w_bits-8)<<4)) << 8;
- uInt level_flags = (s->level-1) >> 1;
-
- if (level_flags > 3) level_flags = 3;
- header |= (level_flags << 6);
- if (s->strstart != 0) header |= PRESET_DICT;
- header += 31 - (header % 31);
-
- s->status = BUSY_STATE;
- putShortMSB(s, header);
-
- /* Save the adler32 of the preset dictionary: */
- if (s->strstart != 0) {
- putShortMSB(s, (uInt)(strm->adler >> 16));
- putShortMSB(s, (uInt)(strm->adler & 0xffff));
- }
- strm->adler = 1L;
- }
-
- /* Flush as much pending output as possible */
- if (s->pending != 0) {
- flush_pending(strm);
- if (strm->avail_out == 0) {
- /* Since avail_out is 0, deflate will be called again with
- * more output space, but possibly with both pending and
- * avail_in equal to zero. There won't be anything to do,
- * but this is not an error situation so make sure we
- * return OK instead of BUF_ERROR at next call of deflate:
- */
- s->last_flush = -1;
- return Z_OK;
- }
-
- /* Make sure there is something to do and avoid duplicate consecutive
- * flushes. For repeated and useless calls with Z_FINISH, we keep
- * returning Z_STREAM_END instead of Z_BUFF_ERROR.
- */
- } else if (strm->avail_in == 0 && flush <= old_flush &&
- flush != Z_FINISH) {
- ERR_RETURN(strm, Z_BUF_ERROR);
- }
-
- /* User must not provide more input after the first FINISH: */
- if (s->status == FINISH_STATE && strm->avail_in != 0) {
- ERR_RETURN(strm, Z_BUF_ERROR);
- }
-
- /* Start a new block or continue the current one.
- */
- if (strm->avail_in != 0 || s->lookahead != 0 ||
- (flush != Z_NO_FLUSH && s->status != FINISH_STATE)) {
- block_state bstate;
-
- bstate = (*(configuration_table[s->level].func))(s, flush);
-
- if (bstate == finish_started || bstate == finish_done) {
- s->status = FINISH_STATE;
- }
- if (bstate == need_more || bstate == finish_started) {
- if (strm->avail_out == 0) {
- s->last_flush = -1; /* avoid BUF_ERROR next call, see above */
- }
- return Z_OK;
- /* If flush != Z_NO_FLUSH && avail_out == 0, the next call
- * of deflate should use the same flush parameter to make sure
- * that the flush is complete. So we don't have to output an
- * empty block here, this will be done at next call. This also
- * ensures that for a very small output buffer, we emit at most
- * one empty block.
- */
- }
- if (bstate == block_done) {
- if (flush == Z_PARTIAL_FLUSH) {
- _tr_align(s);
- } else { /* FULL_FLUSH or SYNC_FLUSH */
- _tr_stored_block(s, (char*)0, 0L, 0);
- /* For a full flush, this empty block will be recognized
- * as a special marker by inflate_sync().
- */
- if (flush == Z_FULL_FLUSH) {
- CLEAR_HASH(s); /* forget history */
- }
- }
- flush_pending(strm);
- if (strm->avail_out == 0) {
- s->last_flush = -1; /* avoid BUF_ERROR at next call, see above */
- return Z_OK;
- }
- }
- }
- Assert(strm->avail_out > 0, "bug2");
-
- if (flush != Z_FINISH) return Z_OK;
- if (s->noheader) return Z_STREAM_END;
-
- /* Write the zlib trailer (adler32) */
- putShortMSB(s, (uInt)(strm->adler >> 16));
- putShortMSB(s, (uInt)(strm->adler & 0xffff));
- flush_pending(strm);
- /* If avail_out is zero, the application will call deflate again
- * to flush the rest.
- */
- s->noheader = -1; /* write the trailer only once! */
- return s->pending != 0 ? Z_OK : Z_STREAM_END;
-}
-
-/* ========================================================================= */
-int ZEXPORT deflateEnd (strm)
- z_streamp strm;
-{
- int status;
-
- if (strm == Z_NULL || strm->state == Z_NULL) return Z_STREAM_ERROR;
-
- status = strm->state->status;
- if (status != INIT_STATE && status != BUSY_STATE &&
- status != FINISH_STATE) {
- return Z_STREAM_ERROR;
- }
-
- /* Deallocate in reverse order of allocations: */
- TRY_FREE(strm, strm->state->pending_buf);
- TRY_FREE(strm, strm->state->head);
- TRY_FREE(strm, strm->state->prev);
- TRY_FREE(strm, strm->state->window);
-
- ZFREE(strm, strm->state);
- strm->state = Z_NULL;
-
- return status == BUSY_STATE ? Z_DATA_ERROR : Z_OK;
-}
-
-/* =========================================================================
- * Copy the source state to the destination state.
- * To simplify the source, this is not supported for 16-bit MSDOS (which
- * doesn't have enough memory anyway to duplicate compression states).
- */
-int ZEXPORT deflateCopy (dest, source)
- z_streamp dest;
- z_streamp source;
-{
-#ifdef MAXSEG_64K
- return Z_STREAM_ERROR;
-#else
- deflate_state *ds;
- deflate_state *ss;
- ushf *overlay;
-
-
- if (source == Z_NULL || dest == Z_NULL || source->state == Z_NULL) {
- return Z_STREAM_ERROR;
- }
-
- ss = source->state;
-
- *dest = *source;
-
- ds = (deflate_state *) ZALLOC(dest, 1, sizeof(deflate_state));
- if (ds == Z_NULL) return Z_MEM_ERROR;
- dest->state = (struct internal_state FAR *) ds;
- *ds = *ss;
- ds->strm = dest;
-
- ds->window = (Bytef *) ZALLOC(dest, ds->w_size, 2*sizeof(Byte));
- ds->prev = (Posf *) ZALLOC(dest, ds->w_size, sizeof(Pos));
- ds->head = (Posf *) ZALLOC(dest, ds->hash_size, sizeof(Pos));
- overlay = (ushf *) ZALLOC(dest, ds->lit_bufsize, sizeof(ush)+2);
- ds->pending_buf = (uchf *) overlay;
-
- if (ds->window == Z_NULL || ds->prev == Z_NULL || ds->head == Z_NULL ||
- ds->pending_buf == Z_NULL) {
- deflateEnd (dest);
- return Z_MEM_ERROR;
- }
- /* following zmemcpy do not work for 16-bit MSDOS */
- zmemcpy(ds->window, ss->window, ds->w_size * 2 * sizeof(Byte));
- zmemcpy(ds->prev, ss->prev, ds->w_size * sizeof(Pos));
- zmemcpy(ds->head, ss->head, ds->hash_size * sizeof(Pos));
- zmemcpy(ds->pending_buf, ss->pending_buf, (uInt)ds->pending_buf_size);
-
- ds->pending_out = ds->pending_buf + (ss->pending_out - ss->pending_buf);
- ds->d_buf = overlay + ds->lit_bufsize/sizeof(ush);
- ds->l_buf = ds->pending_buf + (1+sizeof(ush))*ds->lit_bufsize;
-
- ds->l_desc.dyn_tree = ds->dyn_ltree;
- ds->d_desc.dyn_tree = ds->dyn_dtree;
- ds->bl_desc.dyn_tree = ds->bl_tree;
-
- return Z_OK;
-#endif
-}
-
-/* ===========================================================================
- * Read a new buffer from the current input stream, update the adler32
- * and total number of bytes read. All deflate() input goes through
- * this function so some applications may wish to modify it to avoid
- * allocating a large strm->next_in buffer and copying from it.
- * (See also flush_pending()).
- */
-local int read_buf(strm, buf, size)
- z_streamp strm;
- Bytef *buf;
- unsigned size;
-{
- unsigned len = strm->avail_in;
-
- if (len > size) len = size;
- if (len == 0) return 0;
-
- strm->avail_in -= len;
-
- if (!strm->state->noheader) {
- strm->adler = adler32(strm->adler, strm->next_in, len);
- }
- zmemcpy(buf, strm->next_in, len);
- strm->next_in += len;
- strm->total_in += len;
-
- return (int)len;
-}
-
-/* ===========================================================================
- * Initialize the "longest match" routines for a new zlib stream
- */
-local void lm_init (s)
- deflate_state *s;
-{
- s->window_size = (ulg)2L*s->w_size;
-
- CLEAR_HASH(s);
-
- /* Set the default configuration parameters:
- */
- s->max_lazy_match = configuration_table[s->level].max_lazy;
- s->good_match = configuration_table[s->level].good_length;
- s->nice_match = configuration_table[s->level].nice_length;
- s->max_chain_length = configuration_table[s->level].max_chain;
-
- s->strstart = 0;
- s->block_start = 0L;
- s->lookahead = 0;
- s->match_length = s->prev_length = MIN_MATCH-1;
- s->match_available = 0;
- s->ins_h = 0;
-#ifdef ASMV
- match_init(); /* initialize the asm code */
-#endif
-}
-
-/* ===========================================================================
- * Set match_start to the longest match starting at the given string and
- * return its length. Matches shorter or equal to prev_length are discarded,
- * in which case the result is equal to prev_length and match_start is
- * garbage.
- * IN assertions: cur_match is the head of the hash chain for the current
- * string (strstart) and its distance is <= MAX_DIST, and prev_length >= 1
- * OUT assertion: the match length is not greater than s->lookahead.
- */
-#ifndef ASMV
-/* For 80x86 and 680x0, an optimized version will be provided in match.asm or
- * match.S. The code will be functionally equivalent.
- */
-#ifndef FASTEST
-local uInt longest_match(s, cur_match)
- deflate_state *s;
- IPos cur_match; /* current match */
-{
- unsigned chain_length = s->max_chain_length;/* max hash chain length */
- register Bytef *scan = s->window + s->strstart; /* current string */
- register Bytef *match; /* matched string */
- register int len; /* length of current match */
- int best_len = s->prev_length; /* best match length so far */
- int nice_match = s->nice_match; /* stop if match long enough */
- IPos limit = s->strstart > (IPos)MAX_DIST(s) ?
- s->strstart - (IPos)MAX_DIST(s) : NIL;
- /* Stop when cur_match becomes <= limit. To simplify the code,
- * we prevent matches with the string of window index 0.
- */
- Posf *prev = s->prev;
- uInt wmask = s->w_mask;
-
-#ifdef UNALIGNED_OK
- /* Compare two bytes at a time. Note: this is not always beneficial.
- * Try with and without -DUNALIGNED_OK to check.
- */
- register Bytef *strend = s->window + s->strstart + MAX_MATCH - 1;
- register ush scan_start = *(ushf*)scan;
- register ush scan_end = *(ushf*)(scan+best_len-1);
-#else
- register Bytef *strend = s->window + s->strstart + MAX_MATCH;
- register Byte scan_end1 = scan[best_len-1];
- register Byte scan_end = scan[best_len];
-#endif
-
- /* The code is optimized for HASH_BITS >= 8 and MAX_MATCH-2 multiple of 16.
- * It is easy to get rid of this optimization if necessary.
- */
- Assert(s->hash_bits >= 8 && MAX_MATCH == 258, "Code too clever");
-
- /* Do not waste too much time if we already have a good match: */
- if (s->prev_length >= s->good_match) {
- chain_length >>= 2;
- }
- /* Do not look for matches beyond the end of the input. This is necessary
- * to make deflate deterministic.
- */
- if ((uInt)nice_match > s->lookahead) nice_match = s->lookahead;
-
- Assert((ulg)s->strstart <= s->window_size-MIN_LOOKAHEAD, "need lookahead");
-
- do {
- Assert(cur_match < s->strstart, "no future");
- match = s->window + cur_match;
-
- /* Skip to next match if the match length cannot increase
- * or if the match length is less than 2:
- */
-#if (defined(UNALIGNED_OK) && MAX_MATCH == 258)
- /* This code assumes sizeof(unsigned short) == 2. Do not use
- * UNALIGNED_OK if your compiler uses a different size.
- */
- if (*(ushf*)(match+best_len-1) != scan_end ||
- *(ushf*)match != scan_start) continue;
-
- /* It is not necessary to compare scan[2] and match[2] since they are
- * always equal when the other bytes match, given that the hash keys
- * are equal and that HASH_BITS >= 8. Compare 2 bytes at a time at
- * strstart+3, +5, ... up to strstart+257. We check for insufficient
- * lookahead only every 4th comparison; the 128th check will be made
- * at strstart+257. If MAX_MATCH-2 is not a multiple of 8, it is
- * necessary to put more guard bytes at the end of the window, or
- * to check more often for insufficient lookahead.
- */
- Assert(scan[2] == match[2], "scan[2]?");
- scan++, match++;
- do {
- } while (*(ushf*)(scan+=2) == *(ushf*)(match+=2) &&
- *(ushf*)(scan+=2) == *(ushf*)(match+=2) &&
- *(ushf*)(scan+=2) == *(ushf*)(match+=2) &&
- *(ushf*)(scan+=2) == *(ushf*)(match+=2) &&
- scan < strend);
- /* The funny "do {}" generates better code on most compilers */
-
- /* Here, scan <= window+strstart+257 */
- Assert(scan <= s->window+(unsigned)(s->window_size-1), "wild scan");
- if (*scan == *match) scan++;
-
- len = (MAX_MATCH - 1) - (int)(strend-scan);
- scan = strend - (MAX_MATCH-1);
-
-#else /* UNALIGNED_OK */
-
- if (match[best_len] != scan_end ||
- match[best_len-1] != scan_end1 ||
- *match != *scan ||
- *++match != scan[1]) continue;
-
- /* The check at best_len-1 can be removed because it will be made
- * again later. (This heuristic is not always a win.)
- * It is not necessary to compare scan[2] and match[2] since they
- * are always equal when the other bytes match, given that
- * the hash keys are equal and that HASH_BITS >= 8.
- */
- scan += 2, match++;
- Assert(*scan == *match, "match[2]?");
-
- /* We check for insufficient lookahead only every 8th comparison;
- * the 256th check will be made at strstart+258.
- */
- do {
- } while (*++scan == *++match && *++scan == *++match &&
- *++scan == *++match && *++scan == *++match &&
- *++scan == *++match && *++scan == *++match &&
- *++scan == *++match && *++scan == *++match &&
- scan < strend);
-
- Assert(scan <= s->window+(unsigned)(s->window_size-1), "wild scan");
-
- len = MAX_MATCH - (int)(strend - scan);
- scan = strend - MAX_MATCH;
-
-#endif /* UNALIGNED_OK */
-
- if (len > best_len) {
- s->match_start = cur_match;
- best_len = len;
- if (len >= nice_match) break;
-#ifdef UNALIGNED_OK
- scan_end = *(ushf*)(scan+best_len-1);
-#else
- scan_end1 = scan[best_len-1];
- scan_end = scan[best_len];
-#endif
- }
- } while ((cur_match = prev[cur_match & wmask]) > limit
- && --chain_length != 0);
-
- if ((uInt)best_len <= s->lookahead) return (uInt)best_len;
- return s->lookahead;
-}
-
-#else /* FASTEST */
-/* ---------------------------------------------------------------------------
- * Optimized version for level == 1 only
- */
-local uInt longest_match(s, cur_match)
- deflate_state *s;
- IPos cur_match; /* current match */
-{
- register Bytef *scan = s->window + s->strstart; /* current string */
- register Bytef *match; /* matched string */
- register int len; /* length of current match */
- register Bytef *strend = s->window + s->strstart + MAX_MATCH;
-
- /* The code is optimized for HASH_BITS >= 8 and MAX_MATCH-2 multiple of 16.
- * It is easy to get rid of this optimization if necessary.
- */
- Assert(s->hash_bits >= 8 && MAX_MATCH == 258, "Code too clever");
-
- Assert((ulg)s->strstart <= s->window_size-MIN_LOOKAHEAD, "need lookahead");
-
- Assert(cur_match < s->strstart, "no future");
-
- match = s->window + cur_match;
-
- /* Return failure if the match length is less than 2:
- */
- if (match[0] != scan[0] || match[1] != scan[1]) return MIN_MATCH-1;
-
- /* The check at best_len-1 can be removed because it will be made
- * again later. (This heuristic is not always a win.)
- * It is not necessary to compare scan[2] and match[2] since they
- * are always equal when the other bytes match, given that
- * the hash keys are equal and that HASH_BITS >= 8.
- */
- scan += 2, match += 2;
- Assert(*scan == *match, "match[2]?");
-
- /* We check for insufficient lookahead only every 8th comparison;
- * the 256th check will be made at strstart+258.
- */
- do {
- } while (*++scan == *++match && *++scan == *++match &&
- *++scan == *++match && *++scan == *++match &&
- *++scan == *++match && *++scan == *++match &&
- *++scan == *++match && *++scan == *++match &&
- scan < strend);
-
- Assert(scan <= s->window+(unsigned)(s->window_size-1), "wild scan");
-
- len = MAX_MATCH - (int)(strend - scan);
-
- if (len < MIN_MATCH) return MIN_MATCH - 1;
-
- s->match_start = cur_match;
- return len <= s->lookahead ? len : s->lookahead;
-}
-#endif /* FASTEST */
-#endif /* ASMV */
-
-#ifdef DEBUG
-/* ===========================================================================
- * Check that the match at match_start is indeed a match.
- */
-local void check_match(s, start, match, length)
- deflate_state *s;
- IPos start, match;
- int length;
-{
- /* check that the match is indeed a match */
- if (zmemcmp(s->window + match,
- s->window + start, length) != EQUAL) {
- fprintf(stderr, " start %u, match %u, length %d\n",
- start, match, length);
- do {
- fprintf(stderr, "%c%c", s->window[match++], s->window[start++]);
- } while (--length != 0);
- z_error("invalid match");
- }
- if (z_verbose > 1) {
- fprintf(stderr,"\\[%d,%d]", start-match, length);
- do { putc(s->window[start++], stderr); } while (--length != 0);
- }
-}
-#else
-# define check_match(s, start, match, length)
-#endif
-
-/* ===========================================================================
- * Fill the window when the lookahead becomes insufficient.
- * Updates strstart and lookahead.
- *
- * IN assertion: lookahead < MIN_LOOKAHEAD
- * OUT assertions: strstart <= window_size-MIN_LOOKAHEAD
- * At least one byte has been read, or avail_in == 0; reads are
- * performed for at least two bytes (required for the zip translate_eol
- * option -- not supported here).
- */
-local void fill_window(s)
- deflate_state *s;
-{
- register unsigned n, m;
- register Posf *p;
- unsigned more; /* Amount of free space at the end of the window. */
- uInt wsize = s->w_size;
-
- do {
- more = (unsigned)(s->window_size -(ulg)s->lookahead -(ulg)s->strstart);
-
- /* Deal with !@#$% 64K limit: */
- if (more == 0 && s->strstart == 0 && s->lookahead == 0) {
- more = wsize;
-
- } else if (more == (unsigned)(-1)) {
- /* Very unlikely, but possible on 16 bit machine if strstart == 0
- * and lookahead == 1 (input done one byte at time)
- */
- more--;
-
- /* If the window is almost full and there is insufficient lookahead,
- * move the upper half to the lower one to make room in the upper half.
- */
- } else if (s->strstart >= wsize+MAX_DIST(s)) {
-
- zmemcpy(s->window, s->window+wsize, (unsigned)wsize);
- s->match_start -= wsize;
- s->strstart -= wsize; /* we now have strstart >= MAX_DIST */
- s->block_start -= (long) wsize;
-
- /* Slide the hash table (could be avoided with 32 bit values
- at the expense of memory usage). We slide even when level == 0
- to keep the hash table consistent if we switch back to level > 0
- later. (Using level 0 permanently is not an optimal usage of
- zlib, so we don't care about this pathological case.)
- */
- n = s->hash_size;
- p = &s->head[n];
- do {
- m = *--p;
- *p = (Pos)(m >= wsize ? m-wsize : NIL);
- } while (--n);
-
- n = wsize;
-#ifndef FASTEST
- p = &s->prev[n];
- do {
- m = *--p;
- *p = (Pos)(m >= wsize ? m-wsize : NIL);
- /* If n is not on any hash chain, prev[n] is garbage but
- * its value will never be used.
- */
- } while (--n);
-#endif
- more += wsize;
- }
- if (s->strm->avail_in == 0) return;
-
- /* If there was no sliding:
- * strstart <= WSIZE+MAX_DIST-1 && lookahead <= MIN_LOOKAHEAD - 1 &&
- * more == window_size - lookahead - strstart
- * => more >= window_size - (MIN_LOOKAHEAD-1 + WSIZE + MAX_DIST-1)
- * => more >= window_size - 2*WSIZE + 2
- * In the BIG_MEM or MMAP case (not yet supported),
- * window_size == input_size + MIN_LOOKAHEAD &&
- * strstart + s->lookahead <= input_size => more >= MIN_LOOKAHEAD.
- * Otherwise, window_size == 2*WSIZE so more >= 2.
- * If there was sliding, more >= WSIZE. So in all cases, more >= 2.
- */
- Assert(more >= 2, "more < 2");
-
- n = read_buf(s->strm, s->window + s->strstart + s->lookahead, more);
- s->lookahead += n;
-
- /* Initialize the hash value now that we have some input: */
- if (s->lookahead >= MIN_MATCH) {
- s->ins_h = s->window[s->strstart];
- UPDATE_HASH(s, s->ins_h, s->window[s->strstart+1]);
-#if MIN_MATCH != 3
- Call UPDATE_HASH() MIN_MATCH-3 more times
-#endif
- }
- /* If the whole input has less than MIN_MATCH bytes, ins_h is garbage,
- * but this is not important since only literal bytes will be emitted.
- */
-
- } while (s->lookahead < MIN_LOOKAHEAD && s->strm->avail_in != 0);
-}
-
-/* ===========================================================================
- * Flush the current block, with given end-of-file flag.
- * IN assertion: strstart is set to the end of the current match.
- */
-#define FLUSH_BLOCK_ONLY(s, eof) { \
- _tr_flush_block(s, (s->block_start >= 0L ? \
- (charf *)&s->window[(unsigned)s->block_start] : \
- (charf *)Z_NULL), \
- (ulg)((long)s->strstart - s->block_start), \
- (eof)); \
- s->block_start = s->strstart; \
- flush_pending(s->strm); \
- Tracev((stderr,"[FLUSH]")); \
-}
-
-/* Same but force premature exit if necessary. */
-#define FLUSH_BLOCK(s, eof) { \
- FLUSH_BLOCK_ONLY(s, eof); \
- if (s->strm->avail_out == 0) return (eof) ? finish_started : need_more; \
-}
-
-/* ===========================================================================
- * Copy without compression as much as possible from the input stream, return
- * the current block state.
- * This function does not insert new strings in the dictionary since
- * uncompressible data is probably not useful. This function is used
- * only for the level=0 compression option.
- * NOTE: this function should be optimized to avoid extra copying from
- * window to pending_buf.
- */
-local block_state deflate_stored(s, flush)
- deflate_state *s;
- int flush;
-{
- /* Stored blocks are limited to 0xffff bytes, pending_buf is limited
- * to pending_buf_size, and each stored block has a 5 byte header:
- */
- ulg max_block_size = 0xffff;
- ulg max_start;
-
- if (max_block_size > s->pending_buf_size - 5) {
- max_block_size = s->pending_buf_size - 5;
- }
-
- /* Copy as much as possible from input to output: */
- for (;;) {
- /* Fill the window as much as possible: */
- if (s->lookahead <= 1) {
-
- Assert(s->strstart < s->w_size+MAX_DIST(s) ||
- s->block_start >= (long)s->w_size, "slide too late");
-
- fill_window(s);
- if (s->lookahead == 0 && flush == Z_NO_FLUSH) return need_more;
-
- if (s->lookahead == 0) break; /* flush the current block */
- }
- Assert(s->block_start >= 0L, "block gone");
-
- s->strstart += s->lookahead;
- s->lookahead = 0;
-
- /* Emit a stored block if pending_buf will be full: */
- max_start = s->block_start + max_block_size;
- if (s->strstart == 0 || (ulg)s->strstart >= max_start) {
- /* strstart == 0 is possible when wraparound on 16-bit machine */
- s->lookahead = (uInt)(s->strstart - max_start);
- s->strstart = (uInt)max_start;
- FLUSH_BLOCK(s, 0);
- }
- /* Flush if we may have to slide, otherwise block_start may become
- * negative and the data will be gone:
- */
- if (s->strstart - (uInt)s->block_start >= MAX_DIST(s)) {
- FLUSH_BLOCK(s, 0);
- }
- }
- FLUSH_BLOCK(s, flush == Z_FINISH);
- return flush == Z_FINISH ? finish_done : block_done;
-}
-
-/* ===========================================================================
- * Compress as much as possible from the input stream, return the current
- * block state.
- * This function does not perform lazy evaluation of matches and inserts
- * new strings in the dictionary only for unmatched strings or for short
- * matches. It is used only for the fast compression options.
- */
-local block_state deflate_fast(s, flush)
- deflate_state *s;
- int flush;
-{
- IPos hash_head = NIL; /* head of the hash chain */
- int bflush; /* set if current block must be flushed */
-
- for (;;) {
- /* Make sure that we always have enough lookahead, except
- * at the end of the input file. We need MAX_MATCH bytes
- * for the next match, plus MIN_MATCH bytes to insert the
- * string following the next match.
- */
- if (s->lookahead < MIN_LOOKAHEAD) {
- fill_window(s);
- if (s->lookahead < MIN_LOOKAHEAD && flush == Z_NO_FLUSH) {
- return need_more;
- }
- if (s->lookahead == 0) break; /* flush the current block */
- }
-
- /* Insert the string window[strstart .. strstart+2] in the
- * dictionary, and set hash_head to the head of the hash chain:
- */
- if (s->lookahead >= MIN_MATCH) {
- INSERT_STRING(s, s->strstart, hash_head);
- }
-
- /* Find the longest match, discarding those <= prev_length.
- * At this point we have always match_length < MIN_MATCH
- */
- if (hash_head != NIL && s->strstart - hash_head <= MAX_DIST(s)) {
- /* To simplify the code, we prevent matches with the string
- * of window index 0 (in particular we have to avoid a match
- * of the string with itself at the start of the input file).
- */
- if (s->strategy != Z_HUFFMAN_ONLY) {
- s->match_length = longest_match (s, hash_head);
- }
- /* longest_match() sets match_start */
- }
- if (s->match_length >= MIN_MATCH) {
- check_match(s, s->strstart, s->match_start, s->match_length);
-
- _tr_tally_dist(s, s->strstart - s->match_start,
- s->match_length - MIN_MATCH, bflush);
-
- s->lookahead -= s->match_length;
-
- /* Insert new strings in the hash table only if the match length
- * is not too large. This saves time but degrades compression.
- */
-#ifndef FASTEST
- if (s->match_length <= s->max_insert_length &&
- s->lookahead >= MIN_MATCH) {
- s->match_length--; /* string at strstart already in hash table */
- do {
- s->strstart++;
- INSERT_STRING(s, s->strstart, hash_head);
- /* strstart never exceeds WSIZE-MAX_MATCH, so there are
- * always MIN_MATCH bytes ahead.
- */
- } while (--s->match_length != 0);
- s->strstart++;
- } else
-#endif
- {
- s->strstart += s->match_length;
- s->match_length = 0;
- s->ins_h = s->window[s->strstart];
- UPDATE_HASH(s, s->ins_h, s->window[s->strstart+1]);
-#if MIN_MATCH != 3
- Call UPDATE_HASH() MIN_MATCH-3 more times
-#endif
- /* If lookahead < MIN_MATCH, ins_h is garbage, but it does not
- * matter since it will be recomputed at next deflate call.
- */
- }
- } else {
- /* No match, output a literal byte */
- Tracevv((stderr,"%c", s->window[s->strstart]));
- _tr_tally_lit (s, s->window[s->strstart], bflush);
- s->lookahead--;
- s->strstart++;
- }
- if (bflush) FLUSH_BLOCK(s, 0);
- }
- FLUSH_BLOCK(s, flush == Z_FINISH);
- return flush == Z_FINISH ? finish_done : block_done;
-}
-
-/* ===========================================================================
- * Same as above, but achieves better compression. We use a lazy
- * evaluation for matches: a match is finally adopted only if there is
- * no better match at the next window position.
- */
-local block_state deflate_slow(s, flush)
- deflate_state *s;
- int flush;
-{
- IPos hash_head = NIL; /* head of hash chain */
- int bflush; /* set if current block must be flushed */
-
- /* Process the input block. */
- for (;;) {
- /* Make sure that we always have enough lookahead, except
- * at the end of the input file. We need MAX_MATCH bytes
- * for the next match, plus MIN_MATCH bytes to insert the
- * string following the next match.
- */
- if (s->lookahead < MIN_LOOKAHEAD) {
- fill_window(s);
- if (s->lookahead < MIN_LOOKAHEAD && flush == Z_NO_FLUSH) {
- return need_more;
- }
- if (s->lookahead == 0) break; /* flush the current block */
- }
-
- /* Insert the string window[strstart .. strstart+2] in the
- * dictionary, and set hash_head to the head of the hash chain:
- */
- if (s->lookahead >= MIN_MATCH) {
- INSERT_STRING(s, s->strstart, hash_head);
- }
-
- /* Find the longest match, discarding those <= prev_length.
- */
- s->prev_length = s->match_length, s->prev_match = s->match_start;
- s->match_length = MIN_MATCH-1;
-
- if (hash_head != NIL && s->prev_length < s->max_lazy_match &&
- s->strstart - hash_head <= MAX_DIST(s)) {
- /* To simplify the code, we prevent matches with the string
- * of window index 0 (in particular we have to avoid a match
- * of the string with itself at the start of the input file).
- */
- if (s->strategy != Z_HUFFMAN_ONLY) {
- s->match_length = longest_match (s, hash_head);
- }
- /* longest_match() sets match_start */
-
- if (s->match_length <= 5 && (s->strategy == Z_FILTERED ||
- (s->match_length == MIN_MATCH &&
- s->strstart - s->match_start > TOO_FAR))) {
-
- /* If prev_match is also MIN_MATCH, match_start is garbage
- * but we will ignore the current match anyway.
- */
- s->match_length = MIN_MATCH-1;
- }
- }
- /* If there was a match at the previous step and the current
- * match is not better, output the previous match:
- */
- if (s->prev_length >= MIN_MATCH && s->match_length <= s->prev_length) {
- uInt max_insert = s->strstart + s->lookahead - MIN_MATCH;
- /* Do not insert strings in hash table beyond this. */
-
- check_match(s, s->strstart-1, s->prev_match, s->prev_length);
-
- _tr_tally_dist(s, s->strstart -1 - s->prev_match,
- s->prev_length - MIN_MATCH, bflush);
-
- /* Insert in hash table all strings up to the end of the match.
- * strstart-1 and strstart are already inserted. If there is not
- * enough lookahead, the last two strings are not inserted in
- * the hash table.
- */
- s->lookahead -= s->prev_length-1;
- s->prev_length -= 2;
- do {
- if (++s->strstart <= max_insert) {
- INSERT_STRING(s, s->strstart, hash_head);
- }
- } while (--s->prev_length != 0);
- s->match_available = 0;
- s->match_length = MIN_MATCH-1;
- s->strstart++;
-
- if (bflush) FLUSH_BLOCK(s, 0);
-
- } else if (s->match_available) {
- /* If there was no match at the previous position, output a
- * single literal. If there was a match but the current match
- * is longer, truncate the previous match to a single literal.
- */
- Tracevv((stderr,"%c", s->window[s->strstart-1]));
- _tr_tally_lit(s, s->window[s->strstart-1], bflush);
- if (bflush) {
- FLUSH_BLOCK_ONLY(s, 0);
- }
- s->strstart++;
- s->lookahead--;
- if (s->strm->avail_out == 0) return need_more;
- } else {
- /* There is no previous match to compare with, wait for
- * the next step to decide.
- */
- s->match_available = 1;
- s->strstart++;
- s->lookahead--;
- }
- }
- Assert (flush != Z_NO_FLUSH, "no flush?");
- if (s->match_available) {
- Tracevv((stderr,"%c", s->window[s->strstart-1]));
- _tr_tally_lit(s, s->window[s->strstart-1], bflush);
- s->match_available = 0;
- }
- FLUSH_BLOCK(s, flush == Z_FINISH);
- return flush == Z_FINISH ? finish_done : block_done;
-}
diff --git a/src/utilfuns/zlib/deflate.h b/src/utilfuns/zlib/deflate.h
deleted file mode 100644
index 965e0a3..0000000
--- a/src/utilfuns/zlib/deflate.h
+++ /dev/null
@@ -1,318 +0,0 @@
-/* deflate.h -- internal compression state
- * Copyright (C) 1995-2002 Jean-loup Gailly
- * For conditions of distribution and use, see copyright notice in zlib.h
- */
-
-/* WARNING: this file should *not* be used by applications. It is
- part of the implementation of the compression library and is
- subject to change. Applications should only use zlib.h.
- */
-
-/* @(#) $Id: deflate.h 1688 2005-01-01 04:42:26Z scribe $ */
-
-#ifndef _DEFLATE_H
-#define _DEFLATE_H
-
-#include "zutil.h"
-
-/* ===========================================================================
- * Internal compression state.
- */
-
-#define LENGTH_CODES 29
-/* number of length codes, not counting the special END_BLOCK code */
-
-#define LITERALS 256
-/* number of literal bytes 0..255 */
-
-#define L_CODES (LITERALS+1+LENGTH_CODES)
-/* number of Literal or Length codes, including the END_BLOCK code */
-
-#define D_CODES 30
-/* number of distance codes */
-
-#define BL_CODES 19
-/* number of codes used to transfer the bit lengths */
-
-#define HEAP_SIZE (2*L_CODES+1)
-/* maximum heap size */
-
-#define MAX_BITS 15
-/* All codes must not exceed MAX_BITS bits */
-
-#define INIT_STATE 42
-#define BUSY_STATE 113
-#define FINISH_STATE 666
-/* Stream status */
-
-
-/* Data structure describing a single value and its code string. */
-typedef struct ct_data_s {
- union {
- ush freq; /* frequency count */
- ush code; /* bit string */
- } fc;
- union {
- ush dad; /* father node in Huffman tree */
- ush len; /* length of bit string */
- } dl;
-} FAR ct_data;
-
-#define Freq fc.freq
-#define Code fc.code
-#define Dad dl.dad
-#define Len dl.len
-
-typedef struct static_tree_desc_s static_tree_desc;
-
-typedef struct tree_desc_s {
- ct_data *dyn_tree; /* the dynamic tree */
- int max_code; /* largest code with non zero frequency */
- static_tree_desc *stat_desc; /* the corresponding static tree */
-} FAR tree_desc;
-
-typedef ush Pos;
-typedef Pos FAR Posf;
-typedef unsigned IPos;
-
-/* A Pos is an index in the character window. We use short instead of int to
- * save space in the various tables. IPos is used only for parameter passing.
- */
-
-typedef struct internal_state {
- z_streamp strm; /* pointer back to this zlib stream */
- int status; /* as the name implies */
- Bytef *pending_buf; /* output still pending */
- ulg pending_buf_size; /* size of pending_buf */
- Bytef *pending_out; /* next pending byte to output to the stream */
- int pending; /* nb of bytes in the pending buffer */
- int noheader; /* suppress zlib header and adler32 */
- Byte data_type; /* UNKNOWN, BINARY or ASCII */
- Byte method; /* STORED (for zip only) or DEFLATED */
- int last_flush; /* value of flush param for previous deflate call */
-
- /* used by deflate.c: */
-
- uInt w_size; /* LZ77 window size (32K by default) */
- uInt w_bits; /* log2(w_size) (8..16) */
- uInt w_mask; /* w_size - 1 */
-
- Bytef *window;
- /* Sliding window. Input bytes are read into the second half of the window,
- * and move to the first half later to keep a dictionary of at least wSize
- * bytes. With this organization, matches are limited to a distance of
- * wSize-MAX_MATCH bytes, but this ensures that IO is always
- * performed with a length multiple of the block size. Also, it limits
- * the window size to 64K, which is quite useful on MSDOS.
- * To do: use the user input buffer as sliding window.
- */
-
- ulg window_size;
- /* Actual size of window: 2*wSize, except when the user input buffer
- * is directly used as sliding window.
- */
-
- Posf *prev;
- /* Link to older string with same hash index. To limit the size of this
- * array to 64K, this link is maintained only for the last 32K strings.
- * An index in this array is thus a window index modulo 32K.
- */
-
- Posf *head; /* Heads of the hash chains or NIL. */
-
- uInt ins_h; /* hash index of string to be inserted */
- uInt hash_size; /* number of elements in hash table */
- uInt hash_bits; /* log2(hash_size) */
- uInt hash_mask; /* hash_size-1 */
-
- uInt hash_shift;
- /* Number of bits by which ins_h must be shifted at each input
- * step. It must be such that after MIN_MATCH steps, the oldest
- * byte no longer takes part in the hash key, that is:
- * hash_shift * MIN_MATCH >= hash_bits
- */
-
- long block_start;
- /* Window position at the beginning of the current output block. Gets
- * negative when the window is moved backwards.
- */
-
- uInt match_length; /* length of best match */
- IPos prev_match; /* previous match */
- int match_available; /* set if previous match exists */
- uInt strstart; /* start of string to insert */
- uInt match_start; /* start of matching string */
- uInt lookahead; /* number of valid bytes ahead in window */
-
- uInt prev_length;
- /* Length of the best match at previous step. Matches not greater than this
- * are discarded. This is used in the lazy match evaluation.
- */
-
- uInt max_chain_length;
- /* To speed up deflation, hash chains are never searched beyond this
- * length. A higher limit improves compression ratio but degrades the
- * speed.
- */
-
- uInt max_lazy_match;
- /* Attempt to find a better match only when the current match is strictly
- * smaller than this value. This mechanism is used only for compression
- * levels >= 4.
- */
-# define max_insert_length max_lazy_match
- /* Insert new strings in the hash table only if the match length is not
- * greater than this length. This saves time but degrades compression.
- * max_insert_length is used only for compression levels <= 3.
- */
-
- int level; /* compression level (1..9) */
- int strategy; /* favor or force Huffman coding*/
-
- uInt good_match;
- /* Use a faster search when the previous match is longer than this */
-
- int nice_match; /* Stop searching when current match exceeds this */
-
- /* used by trees.c: */
- /* Didn't use ct_data typedef below to supress compiler warning */
- struct ct_data_s dyn_ltree[HEAP_SIZE]; /* literal and length tree */
- struct ct_data_s dyn_dtree[2*D_CODES+1]; /* distance tree */
- struct ct_data_s bl_tree[2*BL_CODES+1]; /* Huffman tree for bit lengths */
-
- struct tree_desc_s l_desc; /* desc. for literal tree */
- struct tree_desc_s d_desc; /* desc. for distance tree */
- struct tree_desc_s bl_desc; /* desc. for bit length tree */
-
- ush bl_count[MAX_BITS+1];
- /* number of codes at each bit length for an optimal tree */
-
- int heap[2*L_CODES+1]; /* heap used to build the Huffman trees */
- int heap_len; /* number of elements in the heap */
- int heap_max; /* element of largest frequency */
- /* The sons of heap[n] are heap[2*n] and heap[2*n+1]. heap[0] is not used.
- * The same heap array is used to build all trees.
- */
-
- uch depth[2*L_CODES+1];
- /* Depth of each subtree used as tie breaker for trees of equal frequency
- */
-
- uchf *l_buf; /* buffer for literals or lengths */
-
- uInt lit_bufsize;
- /* Size of match buffer for literals/lengths. There are 4 reasons for
- * limiting lit_bufsize to 64K:
- * - frequencies can be kept in 16 bit counters
- * - if compression is not successful for the first block, all input
- * data is still in the window so we can still emit a stored block even
- * when input comes from standard input. (This can also be done for
- * all blocks if lit_bufsize is not greater than 32K.)
- * - if compression is not successful for a file smaller than 64K, we can
- * even emit a stored file instead of a stored block (saving 5 bytes).
- * This is applicable only for zip (not gzip or zlib).
- * - creating new Huffman trees less frequently may not provide fast
- * adaptation to changes in the input data statistics. (Take for
- * example a binary file with poorly compressible code followed by
- * a highly compressible string table.) Smaller buffer sizes give
- * fast adaptation but have of course the overhead of transmitting
- * trees more frequently.
- * - I can't count above 4
- */
-
- uInt last_lit; /* running index in l_buf */
-
- ushf *d_buf;
- /* Buffer for distances. To simplify the code, d_buf and l_buf have
- * the same number of elements. To use different lengths, an extra flag
- * array would be necessary.
- */
-
- ulg opt_len; /* bit length of current block with optimal trees */
- ulg static_len; /* bit length of current block with static trees */
- uInt matches; /* number of string matches in current block */
- int last_eob_len; /* bit length of EOB code for last block */
-
-#ifdef DEBUG
- ulg compressed_len; /* total bit length of compressed file mod 2^32 */
- ulg bits_sent; /* bit length of compressed data sent mod 2^32 */
-#endif
-
- ush bi_buf;
- /* Output buffer. bits are inserted starting at the bottom (least
- * significant bits).
- */
- int bi_valid;
- /* Number of valid bits in bi_buf. All bits above the last valid bit
- * are always zero.
- */
-
-} FAR deflate_state;
-
-/* Output a byte on the stream.
- * IN assertion: there is enough room in pending_buf.
- */
-#define put_byte(s, c) {s->pending_buf[s->pending++] = (c);}
-
-
-#define MIN_LOOKAHEAD (MAX_MATCH+MIN_MATCH+1)
-/* Minimum amount of lookahead, except at the end of the input file.
- * See deflate.c for comments about the MIN_MATCH+1.
- */
-
-#define MAX_DIST(s) ((s)->w_size-MIN_LOOKAHEAD)
-/* In order to simplify the code, particularly on 16 bit machines, match
- * distances are limited to MAX_DIST instead of WSIZE.
- */
-
- /* in trees.c */
-void _tr_init OF((deflate_state *s));
-int _tr_tally OF((deflate_state *s, unsigned dist, unsigned lc));
-void _tr_flush_block OF((deflate_state *s, charf *buf, ulg stored_len,
- int eof));
-void _tr_align OF((deflate_state *s));
-void _tr_stored_block OF((deflate_state *s, charf *buf, ulg stored_len,
- int eof));
-
-#define d_code(dist) \
- ((dist) < 256 ? _dist_code[dist] : _dist_code[256+((dist)>>7)])
-/* Mapping from a distance to a distance code. dist is the distance - 1 and
- * must not have side effects. _dist_code[256] and _dist_code[257] are never
- * used.
- */
-
-#ifndef DEBUG
-/* Inline versions of _tr_tally for speed: */
-
-#if defined(GEN_TREES_H) || !defined(STDC)
- extern uch _length_code[];
- extern uch _dist_code[];
-#else
- extern const uch _length_code[];
- extern const uch _dist_code[];
-#endif
-
-# define _tr_tally_lit(s, c, flush) \
- { uch cc = (c); \
- s->d_buf[s->last_lit] = 0; \
- s->l_buf[s->last_lit++] = cc; \
- s->dyn_ltree[cc].Freq++; \
- flush = (s->last_lit == s->lit_bufsize-1); \
- }
-# define _tr_tally_dist(s, distance, length, flush) \
- { uch len = (length); \
- ush dist = (distance); \
- s->d_buf[s->last_lit] = dist; \
- s->l_buf[s->last_lit++] = len; \
- dist--; \
- s->dyn_ltree[_length_code[len]+LITERALS+1].Freq++; \
- s->dyn_dtree[d_code(dist)].Freq++; \
- flush = (s->last_lit == s->lit_bufsize-1); \
- }
-#else
-# define _tr_tally_lit(s, c, flush) flush = _tr_tally(s, 0, c)
-# define _tr_tally_dist(s, distance, length, flush) \
- flush = _tr_tally(s, distance, length)
-#endif
-
-#endif
diff --git a/src/utilfuns/zlib/gzio.c b/src/utilfuns/zlib/gzio.c
deleted file mode 100644
index 612c154..0000000
--- a/src/utilfuns/zlib/gzio.c
+++ /dev/null
@@ -1,875 +0,0 @@
-/* gzio.c -- IO on .gz files
- * Copyright (C) 1995-2002 Jean-loup Gailly.
- * For conditions of distribution and use, see copyright notice in zlib.h
- *
- * Compile this file with -DNO_DEFLATE to avoid the compression code.
- */
-
-/* @(#) $Id: gzio.c 1688 2005-01-01 04:42:26Z scribe $ */
-
-#include <stdio.h>
-
-#include "zutil.h"
-
-struct internal_state {int dummy;}; /* for buggy compilers */
-
-#ifndef Z_BUFSIZE
-# ifdef MAXSEG_64K
-# define Z_BUFSIZE 4096 /* minimize memory usage for 16-bit DOS */
-# else
-# define Z_BUFSIZE 16384
-# endif
-#endif
-#ifndef Z_PRINTF_BUFSIZE
-# define Z_PRINTF_BUFSIZE 4096
-#endif
-
-#define ALLOC(size) malloc(size)
-#define TRYFREE(p) {if (p) free(p);}
-
-static int gz_magic[2] = {0x1f, 0x8b}; /* gzip magic header */
-
-/* gzip flag byte */
-#define ASCII_FLAG 0x01 /* bit 0 set: file probably ascii text */
-#define HEAD_CRC 0x02 /* bit 1 set: header CRC present */
-#define EXTRA_FIELD 0x04 /* bit 2 set: extra field present */
-#define ORIG_NAME 0x08 /* bit 3 set: original file name present */
-#define COMMENT 0x10 /* bit 4 set: file comment present */
-#define RESERVED 0xE0 /* bits 5..7: reserved */
-
-typedef struct gz_stream {
- z_stream stream;
- int z_err; /* error code for last stream operation */
- int z_eof; /* set if end of input file */
- FILE *file; /* .gz file */
- Byte *inbuf; /* input buffer */
- Byte *outbuf; /* output buffer */
- uLong crc; /* crc32 of uncompressed data */
- char *msg; /* error message */
- char *path; /* path name for debugging only */
- int transparent; /* 1 if input file is not a .gz file */
- char mode; /* 'w' or 'r' */
- long startpos; /* start of compressed data in file (header skipped) */
-} gz_stream;
-
-
-local gzFile gz_open OF((const char *path, const char *mode, int fd));
-local int do_flush OF((gzFile file, int flush));
-local int get_byte OF((gz_stream *s));
-local void check_header OF((gz_stream *s));
-local int destroy OF((gz_stream *s));
-local void putLong OF((FILE *file, uLong x));
-local uLong getLong OF((gz_stream *s));
-
-/* ===========================================================================
- Opens a gzip (.gz) file for reading or writing. The mode parameter
- is as in fopen ("rb" or "wb"). The file is given either by file descriptor
- or path name (if fd == -1).
- gz_open return NULL if the file could not be opened or if there was
- insufficient memory to allocate the (de)compression state; errno
- can be checked to distinguish the two cases (if errno is zero, the
- zlib error is Z_MEM_ERROR).
-*/
-local gzFile gz_open (path, mode, fd)
- const char *path;
- const char *mode;
- int fd;
-{
- int err;
- int level = Z_DEFAULT_COMPRESSION; /* compression level */
- int strategy = Z_DEFAULT_STRATEGY; /* compression strategy */
- char *p = (char*)mode;
- gz_stream *s;
- char fmode[80]; /* copy of mode, without the compression level */
- char *m = fmode;
-
- if (!path || !mode) return Z_NULL;
-
- s = (gz_stream *)ALLOC(sizeof(gz_stream));
- if (!s) return Z_NULL;
-
- s->stream.zalloc = (alloc_func)0;
- s->stream.zfree = (free_func)0;
- s->stream.opaque = (voidpf)0;
- s->stream.next_in = s->inbuf = Z_NULL;
- s->stream.next_out = s->outbuf = Z_NULL;
- s->stream.avail_in = s->stream.avail_out = 0;
- s->file = NULL;
- s->z_err = Z_OK;
- s->z_eof = 0;
- s->crc = crc32(0L, Z_NULL, 0);
- s->msg = NULL;
- s->transparent = 0;
-
- s->path = (char*)ALLOC(strlen(path)+1);
- if (s->path == NULL) {
- return destroy(s), (gzFile)Z_NULL;
- }
- strcpy(s->path, path); /* do this early for debugging */
-
- s->mode = '\0';
- do {
- if (*p == 'r') s->mode = 'r';
- if (*p == 'w' || *p == 'a') s->mode = 'w';
- if (*p >= '0' && *p <= '9') {
- level = *p - '0';
- } else if (*p == 'f') {
- strategy = Z_FILTERED;
- } else if (*p == 'h') {
- strategy = Z_HUFFMAN_ONLY;
- } else {
- *m++ = *p; /* copy the mode */
- }
- } while (*p++ && m != fmode + sizeof(fmode));
- if (s->mode == '\0') return destroy(s), (gzFile)Z_NULL;
-
- if (s->mode == 'w') {
-#ifdef NO_DEFLATE
- err = Z_STREAM_ERROR;
-#else
- err = deflateInit2(&(s->stream), level,
- Z_DEFLATED, -MAX_WBITS, DEF_MEM_LEVEL, strategy);
- /* windowBits is passed < 0 to suppress zlib header */
-
- s->stream.next_out = s->outbuf = (Byte*)ALLOC(Z_BUFSIZE);
-#endif
- if (err != Z_OK || s->outbuf == Z_NULL) {
- return destroy(s), (gzFile)Z_NULL;
- }
- } else {
- s->stream.next_in = s->inbuf = (Byte*)ALLOC(Z_BUFSIZE);
-
- err = inflateInit2(&(s->stream), -MAX_WBITS);
- /* windowBits is passed < 0 to tell that there is no zlib header.
- * Note that in this case inflate *requires* an extra "dummy" byte
- * after the compressed stream in order to complete decompression and
- * return Z_STREAM_END. Here the gzip CRC32 ensures that 4 bytes are
- * present after the compressed stream.
- */
- if (err != Z_OK || s->inbuf == Z_NULL) {
- return destroy(s), (gzFile)Z_NULL;
- }
- }
- s->stream.avail_out = Z_BUFSIZE;
-
- errno = 0;
- s->file = fd < 0 ? F_OPEN(path, fmode) : (FILE*)fdopen(fd, fmode);
-
- if (s->file == NULL) {
- return destroy(s), (gzFile)Z_NULL;
- }
- if (s->mode == 'w') {
- /* Write a very simple .gz header:
- */
- fprintf(s->file, "%c%c%c%c%c%c%c%c%c%c", gz_magic[0], gz_magic[1],
- Z_DEFLATED, 0 /*flags*/, 0,0,0,0 /*time*/, 0 /*xflags*/, OS_CODE);
- s->startpos = 10L;
- /* We use 10L instead of ftell(s->file) to because ftell causes an
- * fflush on some systems. This version of the library doesn't use
- * startpos anyway in write mode, so this initialization is not
- * necessary.
- */
- } else {
- check_header(s); /* skip the .gz header */
- s->startpos = (ftell(s->file) - s->stream.avail_in);
- }
-
- return (gzFile)s;
-}
-
-/* ===========================================================================
- Opens a gzip (.gz) file for reading or writing.
-*/
-gzFile ZEXPORT gzopen (path, mode)
- const char *path;
- const char *mode;
-{
- return gz_open (path, mode, -1);
-}
-
-/* ===========================================================================
- Associate a gzFile with the file descriptor fd. fd is not dup'ed here
- to mimic the behavio(u)r of fdopen.
-*/
-gzFile ZEXPORT gzdopen (fd, mode)
- int fd;
- const char *mode;
-{
- char name[20];
-
- if (fd < 0) return (gzFile)Z_NULL;
- sprintf(name, "<fd:%d>", fd); /* for debugging */
-
- return gz_open (name, mode, fd);
-}
-
-/* ===========================================================================
- * Update the compression level and strategy
- */
-int ZEXPORT gzsetparams (file, level, strategy)
- gzFile file;
- int level;
- int strategy;
-{
- gz_stream *s = (gz_stream*)file;
-
- if (s == NULL || s->mode != 'w') return Z_STREAM_ERROR;
-
- /* Make room to allow flushing */
- if (s->stream.avail_out == 0) {
-
- s->stream.next_out = s->outbuf;
- if (fwrite(s->outbuf, 1, Z_BUFSIZE, s->file) != Z_BUFSIZE) {
- s->z_err = Z_ERRNO;
- }
- s->stream.avail_out = Z_BUFSIZE;
- }
-
- return deflateParams (&(s->stream), level, strategy);
-}
-
-/* ===========================================================================
- Read a byte from a gz_stream; update next_in and avail_in. Return EOF
- for end of file.
- IN assertion: the stream s has been sucessfully opened for reading.
-*/
-local int get_byte(s)
- gz_stream *s;
-{
- if (s->z_eof) return EOF;
- if (s->stream.avail_in == 0) {
- errno = 0;
- s->stream.avail_in = fread(s->inbuf, 1, Z_BUFSIZE, s->file);
- if (s->stream.avail_in == 0) {
- s->z_eof = 1;
- if (ferror(s->file)) s->z_err = Z_ERRNO;
- return EOF;
- }
- s->stream.next_in = s->inbuf;
- }
- s->stream.avail_in--;
- return *(s->stream.next_in)++;
-}
-
-/* ===========================================================================
- Check the gzip header of a gz_stream opened for reading. Set the stream
- mode to transparent if the gzip magic header is not present; set s->err
- to Z_DATA_ERROR if the magic header is present but the rest of the header
- is incorrect.
- IN assertion: the stream s has already been created sucessfully;
- s->stream.avail_in is zero for the first time, but may be non-zero
- for concatenated .gz files.
-*/
-local void check_header(s)
- gz_stream *s;
-{
- int method; /* method byte */
- int flags; /* flags byte */
- uInt len;
- int c;
-
- /* Check the gzip magic header */
- for (len = 0; len < 2; len++) {
- c = get_byte(s);
- if (c != gz_magic[len]) {
- if (len != 0) s->stream.avail_in++, s->stream.next_in--;
- if (c != EOF) {
- s->stream.avail_in++, s->stream.next_in--;
- s->transparent = 1;
- }
- s->z_err = s->stream.avail_in != 0 ? Z_OK : Z_STREAM_END;
- return;
- }
- }
- method = get_byte(s);
- flags = get_byte(s);
- if (method != Z_DEFLATED || (flags & RESERVED) != 0) {
- s->z_err = Z_DATA_ERROR;
- return;
- }
-
- /* Discard time, xflags and OS code: */
- for (len = 0; len < 6; len++) (void)get_byte(s);
-
- if ((flags & EXTRA_FIELD) != 0) { /* skip the extra field */
- len = (uInt)get_byte(s);
- len += ((uInt)get_byte(s))<<8;
- /* len is garbage if EOF but the loop below will quit anyway */
- while (len-- != 0 && get_byte(s) != EOF) ;
- }
- if ((flags & ORIG_NAME) != 0) { /* skip the original file name */
- while ((c = get_byte(s)) != 0 && c != EOF) ;
- }
- if ((flags & COMMENT) != 0) { /* skip the .gz file comment */
- while ((c = get_byte(s)) != 0 && c != EOF) ;
- }
- if ((flags & HEAD_CRC) != 0) { /* skip the header crc */
- for (len = 0; len < 2; len++) (void)get_byte(s);
- }
- s->z_err = s->z_eof ? Z_DATA_ERROR : Z_OK;
-}
-
- /* ===========================================================================
- * Cleanup then free the given gz_stream. Return a zlib error code.
- Try freeing in the reverse order of allocations.
- */
-local int destroy (s)
- gz_stream *s;
-{
- int err = Z_OK;
-
- if (!s) return Z_STREAM_ERROR;
-
- TRYFREE(s->msg);
-
- if (s->stream.state != NULL) {
- if (s->mode == 'w') {
-#ifdef NO_DEFLATE
- err = Z_STREAM_ERROR;
-#else
- err = deflateEnd(&(s->stream));
-#endif
- } else if (s->mode == 'r') {
- err = inflateEnd(&(s->stream));
- }
- }
- if (s->file != NULL && fclose(s->file)) {
-#ifdef ESPIPE
- if (errno != ESPIPE) /* fclose is broken for pipes in HP/UX */
-#endif
- err = Z_ERRNO;
- }
- if (s->z_err < 0) err = s->z_err;
-
- TRYFREE(s->inbuf);
- TRYFREE(s->outbuf);
- TRYFREE(s->path);
- TRYFREE(s);
- return err;
-}
-
-/* ===========================================================================
- Reads the given number of uncompressed bytes from the compressed file.
- gzread returns the number of bytes actually read (0 for end of file).
-*/
-int ZEXPORT gzread (file, buf, len)
- gzFile file;
- voidp buf;
- unsigned len;
-{
- gz_stream *s = (gz_stream*)file;
- Bytef *start = (Bytef*)buf; /* starting point for crc computation */
- Byte *next_out; /* == stream.next_out but not forced far (for MSDOS) */
-
- if (s == NULL || s->mode != 'r') return Z_STREAM_ERROR;
-
- if (s->z_err == Z_DATA_ERROR || s->z_err == Z_ERRNO) return -1;
- if (s->z_err == Z_STREAM_END) return 0; /* EOF */
-
- next_out = (Byte*)buf;
- s->stream.next_out = (Bytef*)buf;
- s->stream.avail_out = len;
-
- while (s->stream.avail_out != 0) {
-
- if (s->transparent) {
- /* Copy first the lookahead bytes: */
- uInt n = s->stream.avail_in;
- if (n > s->stream.avail_out) n = s->stream.avail_out;
- if (n > 0) {
- zmemcpy(s->stream.next_out, s->stream.next_in, n);
- next_out += n;
- s->stream.next_out = next_out;
- s->stream.next_in += n;
- s->stream.avail_out -= n;
- s->stream.avail_in -= n;
- }
- if (s->stream.avail_out > 0) {
- s->stream.avail_out -= fread(next_out, 1, s->stream.avail_out,
- s->file);
- }
- len -= s->stream.avail_out;
- s->stream.total_in += (uLong)len;
- s->stream.total_out += (uLong)len;
- if (len == 0) s->z_eof = 1;
- return (int)len;
- }
- if (s->stream.avail_in == 0 && !s->z_eof) {
-
- errno = 0;
- s->stream.avail_in = fread(s->inbuf, 1, Z_BUFSIZE, s->file);
- if (s->stream.avail_in == 0) {
- s->z_eof = 1;
- if (ferror(s->file)) {
- s->z_err = Z_ERRNO;
- break;
- }
- }
- s->stream.next_in = s->inbuf;
- }
- s->z_err = inflate(&(s->stream), Z_NO_FLUSH);
-
- if (s->z_err == Z_STREAM_END) {
- /* Check CRC and original size */
- s->crc = crc32(s->crc, start, (uInt)(s->stream.next_out - start));
- start = s->stream.next_out;
-
- if (getLong(s) != s->crc) {
- s->z_err = Z_DATA_ERROR;
- } else {
- (void)getLong(s);
- /* The uncompressed length returned by above getlong() may
- * be different from s->stream.total_out) in case of
- * concatenated .gz files. Check for such files:
- */
- check_header(s);
- if (s->z_err == Z_OK) {
- uLong total_in = s->stream.total_in;
- uLong total_out = s->stream.total_out;
-
- inflateReset(&(s->stream));
- s->stream.total_in = total_in;
- s->stream.total_out = total_out;
- s->crc = crc32(0L, Z_NULL, 0);
- }
- }
- }
- if (s->z_err != Z_OK || s->z_eof) break;
- }
- s->crc = crc32(s->crc, start, (uInt)(s->stream.next_out - start));
-
- return (int)(len - s->stream.avail_out);
-}
-
-
-/* ===========================================================================
- Reads one byte from the compressed file. gzgetc returns this byte
- or -1 in case of end of file or error.
-*/
-int ZEXPORT gzgetc(file)
- gzFile file;
-{
- unsigned char c;
-
- return gzread(file, &c, 1) == 1 ? c : -1;
-}
-
-
-/* ===========================================================================
- Reads bytes from the compressed file until len-1 characters are
- read, or a newline character is read and transferred to buf, or an
- end-of-file condition is encountered. The string is then terminated
- with a null character.
- gzgets returns buf, or Z_NULL in case of error.
-
- The current implementation is not optimized at all.
-*/
-char * ZEXPORT gzgets(file, buf, len)
- gzFile file;
- char *buf;
- int len;
-{
- char *b = buf;
- if (buf == Z_NULL || len <= 0) return Z_NULL;
-
- while (--len > 0 && gzread(file, buf, 1) == 1 && *buf++ != '\n') ;
- *buf = '\0';
- return b == buf && len > 0 ? Z_NULL : b;
-}
-
-
-#ifndef NO_DEFLATE
-/* ===========================================================================
- Writes the given number of uncompressed bytes into the compressed file.
- gzwrite returns the number of bytes actually written (0 in case of error).
-*/
-int ZEXPORT gzwrite (file, buf, len)
- gzFile file;
- const voidp buf;
- unsigned len;
-{
- gz_stream *s = (gz_stream*)file;
-
- if (s == NULL || s->mode != 'w') return Z_STREAM_ERROR;
-
- s->stream.next_in = (Bytef*)buf;
- s->stream.avail_in = len;
-
- while (s->stream.avail_in != 0) {
-
- if (s->stream.avail_out == 0) {
-
- s->stream.next_out = s->outbuf;
- if (fwrite(s->outbuf, 1, Z_BUFSIZE, s->file) != Z_BUFSIZE) {
- s->z_err = Z_ERRNO;
- break;
- }
- s->stream.avail_out = Z_BUFSIZE;
- }
- s->z_err = deflate(&(s->stream), Z_NO_FLUSH);
- if (s->z_err != Z_OK) break;
- }
- s->crc = crc32(s->crc, (const Bytef *)buf, len);
-
- return (int)(len - s->stream.avail_in);
-}
-
-/* ===========================================================================
- Converts, formats, and writes the args to the compressed file under
- control of the format string, as in fprintf. gzprintf returns the number of
- uncompressed bytes actually written (0 in case of error).
-*/
-#ifdef STDC
-#include <stdarg.h>
-
-int ZEXPORTVA gzprintf (gzFile file, const char *format, /* args */ ...)
-{
- char buf[Z_PRINTF_BUFSIZE];
- va_list va;
- int len;
-
- va_start(va, format);
-#ifdef HAS_vsnprintf
- (void)vsnprintf(buf, sizeof(buf), format, va);
-#else
- (void)vsprintf(buf, format, va);
-#endif
- va_end(va);
- len = strlen(buf); /* some *sprintf don't return the nb of bytes written */
- if (len <= 0) return 0;
-
- return gzwrite(file, buf, (unsigned)len);
-}
-#else /* not ANSI C */
-
-int ZEXPORTVA gzprintf (file, format, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10,
- a11, a12, a13, a14, a15, a16, a17, a18, a19, a20)
- gzFile file;
- const char *format;
- int a1, a2, a3, a4, a5, a6, a7, a8, a9, a10,
- a11, a12, a13, a14, a15, a16, a17, a18, a19, a20;
-{
- char buf[Z_PRINTF_BUFSIZE];
- int len;
-
-#ifdef HAS_snprintf
- snprintf(buf, sizeof(buf), format, a1, a2, a3, a4, a5, a6, a7, a8,
- a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20);
-#else
- sprintf(buf, format, a1, a2, a3, a4, a5, a6, a7, a8,
- a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20);
-#endif
- len = strlen(buf); /* old sprintf doesn't return the nb of bytes written */
- if (len <= 0) return 0;
-
- return gzwrite(file, buf, len);
-}
-#endif
-
-/* ===========================================================================
- Writes c, converted to an unsigned char, into the compressed file.
- gzputc returns the value that was written, or -1 in case of error.
-*/
-int ZEXPORT gzputc(file, c)
- gzFile file;
- int c;
-{
- unsigned char cc = (unsigned char) c; /* required for big endian systems */
-
- return gzwrite(file, &cc, 1) == 1 ? (int)cc : -1;
-}
-
-
-/* ===========================================================================
- Writes the given null-terminated string to the compressed file, excluding
- the terminating null character.
- gzputs returns the number of characters written, or -1 in case of error.
-*/
-int ZEXPORT gzputs(file, s)
- gzFile file;
- const char *s;
-{
- return gzwrite(file, (char*)s, (unsigned)strlen(s));
-}
-
-
-/* ===========================================================================
- Flushes all pending output into the compressed file. The parameter
- flush is as in the deflate() function.
-*/
-local int do_flush (file, flush)
- gzFile file;
- int flush;
-{
- uInt len;
- int done = 0;
- gz_stream *s = (gz_stream*)file;
-
- if (s == NULL || s->mode != 'w') return Z_STREAM_ERROR;
-
- s->stream.avail_in = 0; /* should be zero already anyway */
-
- for (;;) {
- len = Z_BUFSIZE - s->stream.avail_out;
-
- if (len != 0) {
- if ((uInt)fwrite(s->outbuf, 1, len, s->file) != len) {
- s->z_err = Z_ERRNO;
- return Z_ERRNO;
- }
- s->stream.next_out = s->outbuf;
- s->stream.avail_out = Z_BUFSIZE;
- }
- if (done) break;
- s->z_err = deflate(&(s->stream), flush);
-
- /* Ignore the second of two consecutive flushes: */
- if (len == 0 && s->z_err == Z_BUF_ERROR) s->z_err = Z_OK;
-
- /* deflate has finished flushing only when it hasn't used up
- * all the available space in the output buffer:
- */
- done = (s->stream.avail_out != 0 || s->z_err == Z_STREAM_END);
-
- if (s->z_err != Z_OK && s->z_err != Z_STREAM_END) break;
- }
- return s->z_err == Z_STREAM_END ? Z_OK : s->z_err;
-}
-
-int ZEXPORT gzflush (file, flush)
- gzFile file;
- int flush;
-{
- gz_stream *s = (gz_stream*)file;
- int err = do_flush (file, flush);
-
- if (err) return err;
- fflush(s->file);
- return s->z_err == Z_STREAM_END ? Z_OK : s->z_err;
-}
-#endif /* NO_DEFLATE */
-
-/* ===========================================================================
- Sets the starting position for the next gzread or gzwrite on the given
- compressed file. The offset represents a number of bytes in the
- gzseek returns the resulting offset location as measured in bytes from
- the beginning of the uncompressed stream, or -1 in case of error.
- SEEK_END is not implemented, returns error.
- In this version of the library, gzseek can be extremely slow.
-*/
-z_off_t ZEXPORT gzseek (file, offset, whence)
- gzFile file;
- z_off_t offset;
- int whence;
-{
- gz_stream *s = (gz_stream*)file;
-
- if (s == NULL || whence == SEEK_END ||
- s->z_err == Z_ERRNO || s->z_err == Z_DATA_ERROR) {
- return -1L;
- }
-
- if (s->mode == 'w') {
-#ifdef NO_DEFLATE
- return -1L;
-#else
- if (whence == SEEK_SET) {
- offset -= s->stream.total_in;
- }
- if (offset < 0) return -1L;
-
- /* At this point, offset is the number of zero bytes to write. */
- if (s->inbuf == Z_NULL) {
- s->inbuf = (Byte*)ALLOC(Z_BUFSIZE); /* for seeking */
- zmemzero(s->inbuf, Z_BUFSIZE);
- }
- while (offset > 0) {
- uInt size = Z_BUFSIZE;
- if (offset < Z_BUFSIZE) size = (uInt)offset;
-
- size = gzwrite(file, s->inbuf, size);
- if (size == 0) return -1L;
-
- offset -= size;
- }
- return (z_off_t)s->stream.total_in;
-#endif
- }
- /* Rest of function is for reading only */
-
- /* compute absolute position */
- if (whence == SEEK_CUR) {
- offset += s->stream.total_out;
- }
- if (offset < 0) return -1L;
-
- if (s->transparent) {
- /* map to fseek */
- s->stream.avail_in = 0;
- s->stream.next_in = s->inbuf;
- if (fseek(s->file, offset, SEEK_SET) < 0) return -1L;
-
- s->stream.total_in = s->stream.total_out = (uLong)offset;
- return offset;
- }
-
- /* For a negative seek, rewind and use positive seek */
- if ((uLong)offset >= s->stream.total_out) {
- offset -= s->stream.total_out;
- } else if (gzrewind(file) < 0) {
- return -1L;
- }
- /* offset is now the number of bytes to skip. */
-
- if (offset != 0 && s->outbuf == Z_NULL) {
- s->outbuf = (Byte*)ALLOC(Z_BUFSIZE);
- }
- while (offset > 0) {
- int size = Z_BUFSIZE;
- if (offset < Z_BUFSIZE) size = (int)offset;
-
- size = gzread(file, s->outbuf, (uInt)size);
- if (size <= 0) return -1L;
- offset -= size;
- }
- return (z_off_t)s->stream.total_out;
-}
-
-/* ===========================================================================
- Rewinds input file.
-*/
-int ZEXPORT gzrewind (file)
- gzFile file;
-{
- gz_stream *s = (gz_stream*)file;
-
- if (s == NULL || s->mode != 'r') return -1;
-
- s->z_err = Z_OK;
- s->z_eof = 0;
- s->stream.avail_in = 0;
- s->stream.next_in = s->inbuf;
- s->crc = crc32(0L, Z_NULL, 0);
-
- if (s->startpos == 0) { /* not a compressed file */
- rewind(s->file);
- return 0;
- }
-
- (void) inflateReset(&s->stream);
- return fseek(s->file, s->startpos, SEEK_SET);
-}
-
-/* ===========================================================================
- Returns the starting position for the next gzread or gzwrite on the
- given compressed file. This position represents a number of bytes in the
- uncompressed data stream.
-*/
-z_off_t ZEXPORT gztell (file)
- gzFile file;
-{
- return gzseek(file, 0L, SEEK_CUR);
-}
-
-/* ===========================================================================
- Returns 1 when EOF has previously been detected reading the given
- input stream, otherwise zero.
-*/
-int ZEXPORT gzeof (file)
- gzFile file;
-{
- gz_stream *s = (gz_stream*)file;
-
- return (s == NULL || s->mode != 'r') ? 0 : s->z_eof;
-}
-
-/* ===========================================================================
- Outputs a long in LSB order to the given file
-*/
-local void putLong (file, x)
- FILE *file;
- uLong x;
-{
- int n;
- for (n = 0; n < 4; n++) {
- fputc((int)(x & 0xff), file);
- x >>= 8;
- }
-}
-
-/* ===========================================================================
- Reads a long in LSB order from the given gz_stream. Sets z_err in case
- of error.
-*/
-local uLong getLong (s)
- gz_stream *s;
-{
- uLong x = (uLong)get_byte(s);
- int c;
-
- x += ((uLong)get_byte(s))<<8;
- x += ((uLong)get_byte(s))<<16;
- c = get_byte(s);
- if (c == EOF) s->z_err = Z_DATA_ERROR;
- x += ((uLong)c)<<24;
- return x;
-}
-
-/* ===========================================================================
- Flushes all pending output if necessary, closes the compressed file
- and deallocates all the (de)compression state.
-*/
-int ZEXPORT gzclose (file)
- gzFile file;
-{
- int err;
- gz_stream *s = (gz_stream*)file;
-
- if (s == NULL) return Z_STREAM_ERROR;
-
- if (s->mode == 'w') {
-#ifdef NO_DEFLATE
- return Z_STREAM_ERROR;
-#else
- err = do_flush (file, Z_FINISH);
- if (err != Z_OK) return destroy((gz_stream*)file);
-
- putLong (s->file, s->crc);
- putLong (s->file, s->stream.total_in);
-#endif
- }
- return destroy((gz_stream*)file);
-}
-
-/* ===========================================================================
- Returns the error message for the last error which occured on the
- given compressed file. errnum is set to zlib error number. If an
- error occured in the file system and not in the compression library,
- errnum is set to Z_ERRNO and the application may consult errno
- to get the exact error code.
-*/
-const char* ZEXPORT gzerror (file, errnum)
- gzFile file;
- int *errnum;
-{
- char *m;
- gz_stream *s = (gz_stream*)file;
-
- if (s == NULL) {
- *errnum = Z_STREAM_ERROR;
- return (const char*)ERR_MSG(Z_STREAM_ERROR);
- }
- *errnum = s->z_err;
- if (*errnum == Z_OK) return (const char*)"";
-
- m = (char*)(*errnum == Z_ERRNO ? zstrerror(errno) : s->stream.msg);
-
- if (m == NULL || *m == '\0') m = (char*)ERR_MSG(s->z_err);
-
- TRYFREE(s->msg);
- s->msg = (char*)ALLOC(strlen(s->path) + strlen(m) + 3);
- strcpy(s->msg, s->path);
- strcat(s->msg, ": ");
- strcat(s->msg, m);
- return (const char*)s->msg;
-}
diff --git a/src/utilfuns/zlib/infblock.c b/src/utilfuns/zlib/infblock.c
deleted file mode 100644
index dd7a6d4..0000000
--- a/src/utilfuns/zlib/infblock.c
+++ /dev/null
@@ -1,403 +0,0 @@
-/* infblock.c -- interpret and process block types to last block
- * Copyright (C) 1995-2002 Mark Adler
- * For conditions of distribution and use, see copyright notice in zlib.h
- */
-
-#include "zutil.h"
-#include "infblock.h"
-#include "inftrees.h"
-#include "infcodes.h"
-#include "infutil.h"
-
-struct inflate_codes_state {int dummy;}; /* for buggy compilers */
-
-/* simplify the use of the inflate_huft type with some defines */
-#define exop word.what.Exop
-#define bits word.what.Bits
-
-/* Table for deflate from PKZIP's appnote.txt. */
-local const uInt border[] = { /* Order of the bit length code lengths */
- 16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15};
-
-/*
- Notes beyond the 1.93a appnote.txt:
-
- 1. Distance pointers never point before the beginning of the output
- stream.
- 2. Distance pointers can point back across blocks, up to 32k away.
- 3. There is an implied maximum of 7 bits for the bit length table and
- 15 bits for the actual data.
- 4. If only one code exists, then it is encoded using one bit. (Zero
- would be more efficient, but perhaps a little confusing.) If two
- codes exist, they are coded using one bit each (0 and 1).
- 5. There is no way of sending zero distance codes--a dummy must be
- sent if there are none. (History: a pre 2.0 version of PKZIP would
- store blocks with no distance codes, but this was discovered to be
- too harsh a criterion.) Valid only for 1.93a. 2.04c does allow
- zero distance codes, which is sent as one code of zero bits in
- length.
- 6. There are up to 286 literal/length codes. Code 256 represents the
- end-of-block. Note however that the static length tree defines
- 288 codes just to fill out the Huffman codes. Codes 286 and 287
- cannot be used though, since there is no length base or extra bits
- defined for them. Similarily, there are up to 30 distance codes.
- However, static trees define 32 codes (all 5 bits) to fill out the
- Huffman codes, but the last two had better not show up in the data.
- 7. Unzip can check dynamic Huffman blocks for complete code sets.
- The exception is that a single code would not be complete (see #4).
- 8. The five bits following the block type is really the number of
- literal codes sent minus 257.
- 9. Length codes 8,16,16 are interpreted as 13 length codes of 8 bits
- (1+6+6). Therefore, to output three times the length, you output
- three codes (1+1+1), whereas to output four times the same length,
- you only need two codes (1+3). Hmm.
- 10. In the tree reconstruction algorithm, Code = Code + Increment
- only if BitLength(i) is not zero. (Pretty obvious.)
- 11. Correction: 4 Bits: # of Bit Length codes - 4 (4 - 19)
- 12. Note: length code 284 can represent 227-258, but length code 285
- really is 258. The last length deserves its own, short code
- since it gets used a lot in very redundant files. The length
- 258 is special since 258 - 3 (the min match length) is 255.
- 13. The literal/length and distance code bit lengths are read as a
- single stream of lengths. It is possible (and advantageous) for
- a repeat code (16, 17, or 18) to go across the boundary between
- the two sets of lengths.
- */
-
-
-void inflate_blocks_reset(s, z, c)
-inflate_blocks_statef *s;
-z_streamp z;
-uLongf *c;
-{
- if (c != Z_NULL)
- *c = s->check;
- if (s->mode == BTREE || s->mode == DTREE)
- ZFREE(z, s->sub.trees.blens);
- if (s->mode == CODES)
- inflate_codes_free(s->sub.decode.codes, z);
- s->mode = TYPE;
- s->bitk = 0;
- s->bitb = 0;
- s->read = s->write = s->window;
- if (s->checkfn != Z_NULL)
- z->adler = s->check = (*s->checkfn)(0L, (const Bytef *)Z_NULL, 0);
- Tracev((stderr, "inflate: blocks reset\n"));
-}
-
-
-inflate_blocks_statef *inflate_blocks_new(z, c, w)
-z_streamp z;
-check_func c;
-uInt w;
-{
- inflate_blocks_statef *s;
-
- if ((s = (inflate_blocks_statef *)ZALLOC
- (z,1,sizeof(struct inflate_blocks_state))) == Z_NULL)
- return s;
- if ((s->hufts =
- (inflate_huft *)ZALLOC(z, sizeof(inflate_huft), MANY)) == Z_NULL)
- {
- ZFREE(z, s);
- return Z_NULL;
- }
- if ((s->window = (Bytef *)ZALLOC(z, 1, w)) == Z_NULL)
- {
- ZFREE(z, s->hufts);
- ZFREE(z, s);
- return Z_NULL;
- }
- s->end = s->window + w;
- s->checkfn = c;
- s->mode = TYPE;
- Tracev((stderr, "inflate: blocks allocated\n"));
- inflate_blocks_reset(s, z, Z_NULL);
- return s;
-}
-
-
-int inflate_blocks(s, z, r)
-inflate_blocks_statef *s;
-z_streamp z;
-int r;
-{
- uInt t; /* temporary storage */
- uLong b; /* bit buffer */
- uInt k; /* bits in bit buffer */
- Bytef *p; /* input data pointer */
- uInt n; /* bytes available there */
- Bytef *q; /* output window write pointer */
- uInt m; /* bytes to end of window or read pointer */
-
- /* copy input/output information to locals (UPDATE macro restores) */
- LOAD
-
- /* process input based on current state */
- while (1) switch (s->mode)
- {
- case TYPE:
- NEEDBITS(3)
- t = (uInt)b & 7;
- s->last = t & 1;
- switch (t >> 1)
- {
- case 0: /* stored */
- Tracev((stderr, "inflate: stored block%s\n",
- s->last ? " (last)" : ""));
- DUMPBITS(3)
- t = k & 7; /* go to byte boundary */
- DUMPBITS(t)
- s->mode = LENS; /* get length of stored block */
- break;
- case 1: /* fixed */
- Tracev((stderr, "inflate: fixed codes block%s\n",
- s->last ? " (last)" : ""));
- {
- uInt bl, bd;
- inflate_huft *tl, *td;
-
- inflate_trees_fixed(&bl, &bd, &tl, &td, z);
- s->sub.decode.codes = inflate_codes_new(bl, bd, tl, td, z);
- if (s->sub.decode.codes == Z_NULL)
- {
- r = Z_MEM_ERROR;
- LEAVE
- }
- }
- DUMPBITS(3)
- s->mode = CODES;
- break;
- case 2: /* dynamic */
- Tracev((stderr, "inflate: dynamic codes block%s\n",
- s->last ? " (last)" : ""));
- DUMPBITS(3)
- s->mode = TABLE;
- break;
- case 3: /* illegal */
- DUMPBITS(3)
- s->mode = BAD;
- z->msg = (char*)"invalid block type";
- r = Z_DATA_ERROR;
- LEAVE
- }
- break;
- case LENS:
- NEEDBITS(32)
- if ((((~b) >> 16) & 0xffff) != (b & 0xffff))
- {
- s->mode = BAD;
- z->msg = (char*)"invalid stored block lengths";
- r = Z_DATA_ERROR;
- LEAVE
- }
- s->sub.left = (uInt)b & 0xffff;
- b = k = 0; /* dump bits */
- Tracev((stderr, "inflate: stored length %u\n", s->sub.left));
- s->mode = s->sub.left ? STORED : (s->last ? DRY : TYPE);
- break;
- case STORED:
- if (n == 0)
- LEAVE
- NEEDOUT
- t = s->sub.left;
- if (t > n) t = n;
- if (t > m) t = m;
- zmemcpy(q, p, t);
- p += t; n -= t;
- q += t; m -= t;
- if ((s->sub.left -= t) != 0)
- break;
- Tracev((stderr, "inflate: stored end, %lu total out\n",
- z->total_out + (q >= s->read ? q - s->read :
- (s->end - s->read) + (q - s->window))));
- s->mode = s->last ? DRY : TYPE;
- break;
- case TABLE:
- NEEDBITS(14)
- s->sub.trees.table = t = (uInt)b & 0x3fff;
-#ifndef PKZIP_BUG_WORKAROUND
- if ((t & 0x1f) > 29 || ((t >> 5) & 0x1f) > 29)
- {
- s->mode = BAD;
- z->msg = (char*)"too many length or distance symbols";
- r = Z_DATA_ERROR;
- LEAVE
- }
-#endif
- t = 258 + (t & 0x1f) + ((t >> 5) & 0x1f);
- if ((s->sub.trees.blens = (uIntf*)ZALLOC(z, t, sizeof(uInt))) == Z_NULL)
- {
- r = Z_MEM_ERROR;
- LEAVE
- }
- DUMPBITS(14)
- s->sub.trees.index = 0;
- Tracev((stderr, "inflate: table sizes ok\n"));
- s->mode = BTREE;
- case BTREE:
- while (s->sub.trees.index < 4 + (s->sub.trees.table >> 10))
- {
- NEEDBITS(3)
- s->sub.trees.blens[border[s->sub.trees.index++]] = (uInt)b & 7;
- DUMPBITS(3)
- }
- while (s->sub.trees.index < 19)
- s->sub.trees.blens[border[s->sub.trees.index++]] = 0;
- s->sub.trees.bb = 7;
- t = inflate_trees_bits(s->sub.trees.blens, &s->sub.trees.bb,
- &s->sub.trees.tb, s->hufts, z);
- if (t != Z_OK)
- {
- r = t;
- if (r == Z_DATA_ERROR)
- {
- ZFREE(z, s->sub.trees.blens);
- s->mode = BAD;
- }
- LEAVE
- }
- s->sub.trees.index = 0;
- Tracev((stderr, "inflate: bits tree ok\n"));
- s->mode = DTREE;
- case DTREE:
- while (t = s->sub.trees.table,
- s->sub.trees.index < 258 + (t & 0x1f) + ((t >> 5) & 0x1f))
- {
- inflate_huft *h;
- uInt i, j, c;
-
- t = s->sub.trees.bb;
- NEEDBITS(t)
- h = s->sub.trees.tb + ((uInt)b & inflate_mask[t]);
- t = h->bits;
- c = h->base;
- if (c < 16)
- {
- DUMPBITS(t)
- s->sub.trees.blens[s->sub.trees.index++] = c;
- }
- else /* c == 16..18 */
- {
- i = c == 18 ? 7 : c - 14;
- j = c == 18 ? 11 : 3;
- NEEDBITS(t + i)
- DUMPBITS(t)
- j += (uInt)b & inflate_mask[i];
- DUMPBITS(i)
- i = s->sub.trees.index;
- t = s->sub.trees.table;
- if (i + j > 258 + (t & 0x1f) + ((t >> 5) & 0x1f) ||
- (c == 16 && i < 1))
- {
- ZFREE(z, s->sub.trees.blens);
- s->mode = BAD;
- z->msg = (char*)"invalid bit length repeat";
- r = Z_DATA_ERROR;
- LEAVE
- }
- c = c == 16 ? s->sub.trees.blens[i - 1] : 0;
- do {
- s->sub.trees.blens[i++] = c;
- } while (--j);
- s->sub.trees.index = i;
- }
- }
- s->sub.trees.tb = Z_NULL;
- {
- uInt bl, bd;
- inflate_huft *tl, *td;
- inflate_codes_statef *c;
-
- bl = 9; /* must be <= 9 for lookahead assumptions */
- bd = 6; /* must be <= 9 for lookahead assumptions */
- t = s->sub.trees.table;
- t = inflate_trees_dynamic(257 + (t & 0x1f), 1 + ((t >> 5) & 0x1f),
- s->sub.trees.blens, &bl, &bd, &tl, &td,
- s->hufts, z);
- if (t != Z_OK)
- {
- if (t == (uInt)Z_DATA_ERROR)
- {
- ZFREE(z, s->sub.trees.blens);
- s->mode = BAD;
- }
- r = t;
- LEAVE
- }
- Tracev((stderr, "inflate: trees ok\n"));
- if ((c = inflate_codes_new(bl, bd, tl, td, z)) == Z_NULL)
- {
- r = Z_MEM_ERROR;
- LEAVE
- }
- s->sub.decode.codes = c;
- }
- ZFREE(z, s->sub.trees.blens);
- s->mode = CODES;
- case CODES:
- UPDATE
- if ((r = inflate_codes(s, z, r)) != Z_STREAM_END)
- return inflate_flush(s, z, r);
- r = Z_OK;
- inflate_codes_free(s->sub.decode.codes, z);
- LOAD
- Tracev((stderr, "inflate: codes end, %lu total out\n",
- z->total_out + (q >= s->read ? q - s->read :
- (s->end - s->read) + (q - s->window))));
- if (!s->last)
- {
- s->mode = TYPE;
- break;
- }
- s->mode = DRY;
- case DRY:
- FLUSH
- if (s->read != s->write)
- LEAVE
- s->mode = DONE;
- case DONE:
- r = Z_STREAM_END;
- LEAVE
- case BAD:
- r = Z_DATA_ERROR;
- LEAVE
- default:
- r = Z_STREAM_ERROR;
- LEAVE
- }
-}
-
-
-int inflate_blocks_free(s, z)
-inflate_blocks_statef *s;
-z_streamp z;
-{
- inflate_blocks_reset(s, z, Z_NULL);
- ZFREE(z, s->window);
- ZFREE(z, s->hufts);
- ZFREE(z, s);
- Tracev((stderr, "inflate: blocks freed\n"));
- return Z_OK;
-}
-
-
-void inflate_set_dictionary(s, d, n)
-inflate_blocks_statef *s;
-const Bytef *d;
-uInt n;
-{
- zmemcpy(s->window, d, n);
- s->read = s->write = s->window + n;
-}
-
-
-/* Returns true if inflate is currently at the end of a block generated
- * by Z_SYNC_FLUSH or Z_FULL_FLUSH.
- * IN assertion: s != Z_NULL
- */
-int inflate_blocks_sync_point(s)
-inflate_blocks_statef *s;
-{
- return s->mode == LENS;
-}
diff --git a/src/utilfuns/zlib/infblock.h b/src/utilfuns/zlib/infblock.h
deleted file mode 100644
index 173b226..0000000
--- a/src/utilfuns/zlib/infblock.h
+++ /dev/null
@@ -1,39 +0,0 @@
-/* infblock.h -- header to use infblock.c
- * Copyright (C) 1995-2002 Mark Adler
- * For conditions of distribution and use, see copyright notice in zlib.h
- */
-
-/* WARNING: this file should *not* be used by applications. It is
- part of the implementation of the compression library and is
- subject to change. Applications should only use zlib.h.
- */
-
-struct inflate_blocks_state;
-typedef struct inflate_blocks_state FAR inflate_blocks_statef;
-
-extern inflate_blocks_statef * inflate_blocks_new OF((
- z_streamp z,
- check_func c, /* check function */
- uInt w)); /* window size */
-
-extern int inflate_blocks OF((
- inflate_blocks_statef *,
- z_streamp ,
- int)); /* initial return code */
-
-extern void inflate_blocks_reset OF((
- inflate_blocks_statef *,
- z_streamp ,
- uLongf *)); /* check value on output */
-
-extern int inflate_blocks_free OF((
- inflate_blocks_statef *,
- z_streamp));
-
-extern void inflate_set_dictionary OF((
- inflate_blocks_statef *s,
- const Bytef *d, /* dictionary */
- uInt n)); /* dictionary length */
-
-extern int inflate_blocks_sync_point OF((
- inflate_blocks_statef *s));
diff --git a/src/utilfuns/zlib/infcodes.c b/src/utilfuns/zlib/infcodes.c
deleted file mode 100644
index 0d54ea7..0000000
--- a/src/utilfuns/zlib/infcodes.c
+++ /dev/null
@@ -1,251 +0,0 @@
-/* infcodes.c -- process literals and length/distance pairs
- * Copyright (C) 1995-2002 Mark Adler
- * For conditions of distribution and use, see copyright notice in zlib.h
- */
-
-#include "zutil.h"
-#include "inftrees.h"
-#include "infblock.h"
-#include "infcodes.h"
-#include "infutil.h"
-#include "inffast.h"
-
-/* simplify the use of the inflate_huft type with some defines */
-#define exop word.what.Exop
-#define bits word.what.Bits
-
-typedef enum { /* waiting for "i:"=input, "o:"=output, "x:"=nothing */
- START, /* x: set up for LEN */
- LEN, /* i: get length/literal/eob next */
- LENEXT, /* i: getting length extra (have base) */
- DIST, /* i: get distance next */
- DISTEXT, /* i: getting distance extra */
- COPY, /* o: copying bytes in window, waiting for space */
- LIT, /* o: got literal, waiting for output space */
- WASH, /* o: got eob, possibly still output waiting */
- END, /* x: got eob and all data flushed */
- BADCODE} /* x: got error */
-inflate_codes_mode;
-
-/* inflate codes private state */
-struct inflate_codes_state {
-
- /* mode */
- inflate_codes_mode mode; /* current inflate_codes mode */
-
- /* mode dependent information */
- uInt len;
- union {
- struct {
- inflate_huft *tree; /* pointer into tree */
- uInt need; /* bits needed */
- } code; /* if LEN or DIST, where in tree */
- uInt lit; /* if LIT, literal */
- struct {
- uInt get; /* bits to get for extra */
- uInt dist; /* distance back to copy from */
- } copy; /* if EXT or COPY, where and how much */
- } sub; /* submode */
-
- /* mode independent information */
- Byte lbits; /* ltree bits decoded per branch */
- Byte dbits; /* dtree bits decoder per branch */
- inflate_huft *ltree; /* literal/length/eob tree */
- inflate_huft *dtree; /* distance tree */
-
-};
-
-
-inflate_codes_statef *inflate_codes_new(bl, bd, tl, td, z)
-uInt bl, bd;
-inflate_huft *tl;
-inflate_huft *td; /* need separate declaration for Borland C++ */
-z_streamp z;
-{
- inflate_codes_statef *c;
-
- if ((c = (inflate_codes_statef *)
- ZALLOC(z,1,sizeof(struct inflate_codes_state))) != Z_NULL)
- {
- c->mode = START;
- c->lbits = (Byte)bl;
- c->dbits = (Byte)bd;
- c->ltree = tl;
- c->dtree = td;
- Tracev((stderr, "inflate: codes new\n"));
- }
- return c;
-}
-
-
-int inflate_codes(s, z, r)
-inflate_blocks_statef *s;
-z_streamp z;
-int r;
-{
- uInt j; /* temporary storage */
- inflate_huft *t; /* temporary pointer */
- uInt e; /* extra bits or operation */
- uLong b; /* bit buffer */
- uInt k; /* bits in bit buffer */
- Bytef *p; /* input data pointer */
- uInt n; /* bytes available there */
- Bytef *q; /* output window write pointer */
- uInt m; /* bytes to end of window or read pointer */
- unsigned long csf; /* pointer to copy strings from */
- inflate_codes_statef *c = s->sub.decode.codes; /* codes state */
-
- /* copy input/output information to locals (UPDATE macro restores) */
- LOAD
-
- /* process input and output based on current state */
- while (1) switch (c->mode)
- { /* waiting for "i:"=input, "o:"=output, "x:"=nothing */
- case START: /* x: set up for LEN */
-#ifndef SLOW
- if (m >= 258 && n >= 10)
- {
- UPDATE
- r = inflate_fast(c->lbits, c->dbits, c->ltree, c->dtree, s, z);
- LOAD
- if (r != Z_OK)
- {
- c->mode = r == Z_STREAM_END ? WASH : BADCODE;
- break;
- }
- }
-#endif /* !SLOW */
- c->sub.code.need = c->lbits;
- c->sub.code.tree = c->ltree;
- c->mode = LEN;
- case LEN: /* i: get length/literal/eob next */
- j = c->sub.code.need;
- NEEDBITS(j)
- t = c->sub.code.tree + ((uInt)b & inflate_mask[j]);
- DUMPBITS(t->bits)
- e = (uInt)(t->exop);
- if (e == 0) /* literal */
- {
- c->sub.lit = t->base;
- Tracevv((stderr, t->base >= 0x20 && t->base < 0x7f ?
- "inflate: literal '%c'\n" :
- "inflate: literal 0x%02x\n", t->base));
- c->mode = LIT;
- break;
- }
- if (e & 16) /* length */
- {
- c->sub.copy.get = e & 15;
- c->len = t->base;
- c->mode = LENEXT;
- break;
- }
- if ((e & 64) == 0) /* next table */
- {
- c->sub.code.need = e;
- c->sub.code.tree = t + t->base;
- break;
- }
- if (e & 32) /* end of block */
- {
- Tracevv((stderr, "inflate: end of block\n"));
- c->mode = WASH;
- break;
- }
- c->mode = BADCODE; /* invalid code */
- z->msg = (char*)"invalid literal/length code";
- r = Z_DATA_ERROR;
- LEAVE
- case LENEXT: /* i: getting length extra (have base) */
- j = c->sub.copy.get;
- NEEDBITS(j)
- c->len += (uInt)b & inflate_mask[j];
- DUMPBITS(j)
- c->sub.code.need = c->dbits;
- c->sub.code.tree = c->dtree;
- Tracevv((stderr, "inflate: length %u\n", c->len));
- c->mode = DIST;
- case DIST: /* i: get distance next */
- j = c->sub.code.need;
- NEEDBITS(j)
- t = c->sub.code.tree + ((uInt)b & inflate_mask[j]);
- DUMPBITS(t->bits)
- e = (uInt)(t->exop);
- if (e & 16) /* distance */
- {
- c->sub.copy.get = e & 15;
- c->sub.copy.dist = t->base;
- c->mode = DISTEXT;
- break;
- }
- if ((e & 64) == 0) /* next table */
- {
- c->sub.code.need = e;
- c->sub.code.tree = t + t->base;
- break;
- }
- c->mode = BADCODE; /* invalid code */
- z->msg = (char*)"invalid distance code";
- r = Z_DATA_ERROR;
- LEAVE
- case DISTEXT: /* i: getting distance extra */
- j = c->sub.copy.get;
- NEEDBITS(j)
- c->sub.copy.dist += (uInt)b & inflate_mask[j];
- DUMPBITS(j)
- Tracevv((stderr, "inflate: distance %u\n", c->sub.copy.dist));
- c->mode = COPY;
- case COPY: /* o: copying bytes in window, waiting for space */
- csf = (unsigned long)q - c->sub.copy.dist;
- while (csf < (unsigned long)s->window) /* modulo window size-"while" instead */
- csf += (unsigned long)(s->end - s->window); /* of "if" handles invalid distances */
- while (c->len)
- {
- NEEDOUT
- OUTBYTE(*(Bytef *)csf++)
- if (csf == (unsigned long)s->end)
- csf = (unsigned long)s->window;
- c->len--;
- }
- c->mode = START;
- break;
- case LIT: /* o: got literal, waiting for output space */
- NEEDOUT
- OUTBYTE(c->sub.lit)
- c->mode = START;
- break;
- case WASH: /* o: got eob, possibly more output */
- if (k > 7) /* return unused byte, if any */
- {
- Assert(k < 16, "inflate_codes grabbed too many bytes")
- k -= 8;
- n++;
- p--; /* can always return one */
- }
- FLUSH
- if (s->read != s->write)
- LEAVE
- c->mode = END;
- case END:
- r = Z_STREAM_END;
- LEAVE
- case BADCODE: /* x: got error */
- r = Z_DATA_ERROR;
- LEAVE
- default:
- r = Z_STREAM_ERROR;
- LEAVE
- }
-#ifdef NEED_DUMMY_RETURN
- return Z_STREAM_ERROR; /* Some dumb compilers complain without this */
-#endif
-}
-
-
-void inflate_codes_free(c, z)
-inflate_codes_statef *c;
-z_streamp z;
-{
- ZFREE(z, c);
- Tracev((stderr, "inflate: codes free\n"));
-}
diff --git a/src/utilfuns/zlib/infcodes.h b/src/utilfuns/zlib/infcodes.h
deleted file mode 100644
index 46821a0..0000000
--- a/src/utilfuns/zlib/infcodes.h
+++ /dev/null
@@ -1,27 +0,0 @@
-/* infcodes.h -- header to use infcodes.c
- * Copyright (C) 1995-2002 Mark Adler
- * For conditions of distribution and use, see copyright notice in zlib.h
- */
-
-/* WARNING: this file should *not* be used by applications. It is
- part of the implementation of the compression library and is
- subject to change. Applications should only use zlib.h.
- */
-
-struct inflate_codes_state;
-typedef struct inflate_codes_state FAR inflate_codes_statef;
-
-extern inflate_codes_statef *inflate_codes_new OF((
- uInt, uInt,
- inflate_huft *, inflate_huft *,
- z_streamp ));
-
-extern int inflate_codes OF((
- inflate_blocks_statef *,
- z_streamp ,
- int));
-
-extern void inflate_codes_free OF((
- inflate_codes_statef *,
- z_streamp ));
-
diff --git a/src/utilfuns/zlib/inffast.c b/src/utilfuns/zlib/inffast.c
deleted file mode 100644
index a7ebc64..0000000
--- a/src/utilfuns/zlib/inffast.c
+++ /dev/null
@@ -1,183 +0,0 @@
-/* inffast.c -- process literals and length/distance pairs fast
- * Copyright (C) 1995-2002 Mark Adler
- * For conditions of distribution and use, see copyright notice in zlib.h
- */
-
-#include "zutil.h"
-#include "inftrees.h"
-#include "infblock.h"
-#include "infcodes.h"
-#include "infutil.h"
-#include "inffast.h"
-
-struct inflate_codes_state {int dummy;}; /* for buggy compilers */
-
-/* simplify the use of the inflate_huft type with some defines */
-#define exop word.what.Exop
-#define bits word.what.Bits
-
-/* macros for bit input with no checking and for returning unused bytes */
-#define GRABBITS(j) {while(k<(j)){b|=((uLong)NEXTBYTE)<<k;k+=8;}}
-#define UNGRAB {c=z->avail_in-n;c=(k>>3)<c?k>>3:c;n+=c;p-=c;k-=c<<3;}
-
-/* Called with number of bytes left to write in window at least 258
- (the maximum string length) and number of input bytes available
- at least ten. The ten bytes are six bytes for the longest length/
- distance pair plus four bytes for overloading the bit buffer. */
-
-int inflate_fast(bl, bd, tl, td, s, z)
-uInt bl, bd;
-inflate_huft *tl;
-inflate_huft *td; /* need separate declaration for Borland C++ */
-inflate_blocks_statef *s;
-z_streamp z;
-{
- inflate_huft *t; /* temporary pointer */
- uInt e; /* extra bits or operation */
- uLong b; /* bit buffer */
- uInt k; /* bits in bit buffer */
- Bytef *p; /* input data pointer */
- uInt n; /* bytes available there */
- Bytef *q; /* output window write pointer */
- uInt m; /* bytes to end of window or read pointer */
- uInt ml; /* mask for literal/length tree */
- uInt md; /* mask for distance tree */
- uInt c; /* bytes to copy */
- uInt d; /* distance back to copy from */
- unsigned long csp; /* copy source pointer */
-
- /* load input, output, bit values */
- LOAD
-
- /* initialize masks */
- ml = inflate_mask[bl];
- md = inflate_mask[bd];
-
- /* do until not enough input or output space for fast loop */
- do { /* assume called with m >= 258 && n >= 10 */
- /* get literal/length code */
- GRABBITS(20) /* max bits for literal/length code */
- if ((e = (t = tl + ((uInt)b & ml))->exop) == 0)
- {
- DUMPBITS(t->bits)
- Tracevv((stderr, t->base >= 0x20 && t->base < 0x7f ?
- "inflate: * literal '%c'\n" :
- "inflate: * literal 0x%02x\n", t->base));
- *q++ = (Byte)t->base;
- m--;
- continue;
- }
- do {
- DUMPBITS(t->bits)
- if (e & 16)
- {
- /* get extra bits for length */
- e &= 15;
- c = t->base + ((uInt)b & inflate_mask[e]);
- DUMPBITS(e)
- Tracevv((stderr, "inflate: * length %u\n", c));
-
- /* decode distance base of block to copy */
- GRABBITS(15); /* max bits for distance code */
- e = (t = td + ((uInt)b & md))->exop;
- do {
- DUMPBITS(t->bits)
- if (e & 16)
- {
- /* get extra bits to add to distance base */
- e &= 15;
- GRABBITS(e) /* get extra bits (up to 13) */
- d = t->base + ((uInt)b & inflate_mask[e]);
- DUMPBITS(e)
- Tracevv((stderr, "inflate: * distance %u\n", d));
-
- /* do the copy */
- m -= c;
- csp = (unsigned long)q - d;
- if (csp < (unsigned long)s->window) /* wrap if needed */
- {
- do {
- csp += (unsigned long)(s->end - s->window); /* force pointer in window */
- } while (csp < (unsigned long)s->window); /* covers invalid distances */
- e = (unsigned long)s->end - csp;
- if (c > e)
- {
- c -= e; /* wrapped copy */
- do {
- *q++ = *(Bytef *)csp++;
- } while (--e);
- csp = s->window;
- do {
- *q++ = *(Bytef *)csp++;
- } while (--c);
- }
- else /* normal copy */
- {
- *q++ = *(Bytef *)csp++; c--;
- *q++ = *(Bytef *)csp++; c--;
- do {
- *q++ = *(Bytef *)csp++;
- } while (--c);
- }
- }
- else /* normal copy */
- {
- *q++ = *(Bytef *)csp++; c--;
- *q++ = *(Bytef *)csp++; c--;
- do {
- *q++ = *(Bytef *)csp++;
- } while (--c);
- }
- break;
- }
- else if ((e & 64) == 0)
- {
- t += t->base;
- e = (t += ((uInt)b & inflate_mask[e]))->exop;
- }
- else
- {
- z->msg = (char*)"invalid distance code";
- UNGRAB
- UPDATE
- return Z_DATA_ERROR;
- }
- } while (1);
- break;
- }
- if ((e & 64) == 0)
- {
- t += t->base;
- if ((e = (t += ((uInt)b & inflate_mask[e]))->exop) == 0)
- {
- DUMPBITS(t->bits)
- Tracevv((stderr, t->base >= 0x20 && t->base < 0x7f ?
- "inflate: * literal '%c'\n" :
- "inflate: * literal 0x%02x\n", t->base));
- *q++ = (Byte)t->base;
- m--;
- break;
- }
- }
- else if (e & 32)
- {
- Tracevv((stderr, "inflate: * end of block\n"));
- UNGRAB
- UPDATE
- return Z_STREAM_END;
- }
- else
- {
- z->msg = (char*)"invalid literal/length code";
- UNGRAB
- UPDATE
- return Z_DATA_ERROR;
- }
- } while (1);
- } while (m >= 258 && n >= 10);
-
- /* not enough input or output--restore pointers and return */
- UNGRAB
- UPDATE
- return Z_OK;
-}
diff --git a/src/utilfuns/zlib/inffast.h b/src/utilfuns/zlib/inffast.h
deleted file mode 100644
index a31a4bb..0000000
--- a/src/utilfuns/zlib/inffast.h
+++ /dev/null
@@ -1,17 +0,0 @@
-/* inffast.h -- header to use inffast.c
- * Copyright (C) 1995-2002 Mark Adler
- * For conditions of distribution and use, see copyright notice in zlib.h
- */
-
-/* WARNING: this file should *not* be used by applications. It is
- part of the implementation of the compression library and is
- subject to change. Applications should only use zlib.h.
- */
-
-extern int inflate_fast OF((
- uInt,
- uInt,
- inflate_huft *,
- inflate_huft *,
- inflate_blocks_statef *,
- z_streamp ));
diff --git a/src/utilfuns/zlib/inffixed.h b/src/utilfuns/zlib/inffixed.h
deleted file mode 100644
index 77f7e76..0000000
--- a/src/utilfuns/zlib/inffixed.h
+++ /dev/null
@@ -1,151 +0,0 @@
-/* inffixed.h -- table for decoding fixed codes
- * Generated automatically by the maketree.c program
- */
-
-/* WARNING: this file should *not* be used by applications. It is
- part of the implementation of the compression library and is
- subject to change. Applications should only use zlib.h.
- */
-
-local uInt fixed_bl = 9;
-local uInt fixed_bd = 5;
-local inflate_huft fixed_tl[] = {
- {{{96,7}},256}, {{{0,8}},80}, {{{0,8}},16}, {{{84,8}},115},
- {{{82,7}},31}, {{{0,8}},112}, {{{0,8}},48}, {{{0,9}},192},
- {{{80,7}},10}, {{{0,8}},96}, {{{0,8}},32}, {{{0,9}},160},
- {{{0,8}},0}, {{{0,8}},128}, {{{0,8}},64}, {{{0,9}},224},
- {{{80,7}},6}, {{{0,8}},88}, {{{0,8}},24}, {{{0,9}},144},
- {{{83,7}},59}, {{{0,8}},120}, {{{0,8}},56}, {{{0,9}},208},
- {{{81,7}},17}, {{{0,8}},104}, {{{0,8}},40}, {{{0,9}},176},
- {{{0,8}},8}, {{{0,8}},136}, {{{0,8}},72}, {{{0,9}},240},
- {{{80,7}},4}, {{{0,8}},84}, {{{0,8}},20}, {{{85,8}},227},
- {{{83,7}},43}, {{{0,8}},116}, {{{0,8}},52}, {{{0,9}},200},
- {{{81,7}},13}, {{{0,8}},100}, {{{0,8}},36}, {{{0,9}},168},
- {{{0,8}},4}, {{{0,8}},132}, {{{0,8}},68}, {{{0,9}},232},
- {{{80,7}},8}, {{{0,8}},92}, {{{0,8}},28}, {{{0,9}},152},
- {{{84,7}},83}, {{{0,8}},124}, {{{0,8}},60}, {{{0,9}},216},
- {{{82,7}},23}, {{{0,8}},108}, {{{0,8}},44}, {{{0,9}},184},
- {{{0,8}},12}, {{{0,8}},140}, {{{0,8}},76}, {{{0,9}},248},
- {{{80,7}},3}, {{{0,8}},82}, {{{0,8}},18}, {{{85,8}},163},
- {{{83,7}},35}, {{{0,8}},114}, {{{0,8}},50}, {{{0,9}},196},
- {{{81,7}},11}, {{{0,8}},98}, {{{0,8}},34}, {{{0,9}},164},
- {{{0,8}},2}, {{{0,8}},130}, {{{0,8}},66}, {{{0,9}},228},
- {{{80,7}},7}, {{{0,8}},90}, {{{0,8}},26}, {{{0,9}},148},
- {{{84,7}},67}, {{{0,8}},122}, {{{0,8}},58}, {{{0,9}},212},
- {{{82,7}},19}, {{{0,8}},106}, {{{0,8}},42}, {{{0,9}},180},
- {{{0,8}},10}, {{{0,8}},138}, {{{0,8}},74}, {{{0,9}},244},
- {{{80,7}},5}, {{{0,8}},86}, {{{0,8}},22}, {{{192,8}},0},
- {{{83,7}},51}, {{{0,8}},118}, {{{0,8}},54}, {{{0,9}},204},
- {{{81,7}},15}, {{{0,8}},102}, {{{0,8}},38}, {{{0,9}},172},
- {{{0,8}},6}, {{{0,8}},134}, {{{0,8}},70}, {{{0,9}},236},
- {{{80,7}},9}, {{{0,8}},94}, {{{0,8}},30}, {{{0,9}},156},
- {{{84,7}},99}, {{{0,8}},126}, {{{0,8}},62}, {{{0,9}},220},
- {{{82,7}},27}, {{{0,8}},110}, {{{0,8}},46}, {{{0,9}},188},
- {{{0,8}},14}, {{{0,8}},142}, {{{0,8}},78}, {{{0,9}},252},
- {{{96,7}},256}, {{{0,8}},81}, {{{0,8}},17}, {{{85,8}},131},
- {{{82,7}},31}, {{{0,8}},113}, {{{0,8}},49}, {{{0,9}},194},
- {{{80,7}},10}, {{{0,8}},97}, {{{0,8}},33}, {{{0,9}},162},
- {{{0,8}},1}, {{{0,8}},129}, {{{0,8}},65}, {{{0,9}},226},
- {{{80,7}},6}, {{{0,8}},89}, {{{0,8}},25}, {{{0,9}},146},
- {{{83,7}},59}, {{{0,8}},121}, {{{0,8}},57}, {{{0,9}},210},
- {{{81,7}},17}, {{{0,8}},105}, {{{0,8}},41}, {{{0,9}},178},
- {{{0,8}},9}, {{{0,8}},137}, {{{0,8}},73}, {{{0,9}},242},
- {{{80,7}},4}, {{{0,8}},85}, {{{0,8}},21}, {{{80,8}},258},
- {{{83,7}},43}, {{{0,8}},117}, {{{0,8}},53}, {{{0,9}},202},
- {{{81,7}},13}, {{{0,8}},101}, {{{0,8}},37}, {{{0,9}},170},
- {{{0,8}},5}, {{{0,8}},133}, {{{0,8}},69}, {{{0,9}},234},
- {{{80,7}},8}, {{{0,8}},93}, {{{0,8}},29}, {{{0,9}},154},
- {{{84,7}},83}, {{{0,8}},125}, {{{0,8}},61}, {{{0,9}},218},
- {{{82,7}},23}, {{{0,8}},109}, {{{0,8}},45}, {{{0,9}},186},
- {{{0,8}},13}, {{{0,8}},141}, {{{0,8}},77}, {{{0,9}},250},
- {{{80,7}},3}, {{{0,8}},83}, {{{0,8}},19}, {{{85,8}},195},
- {{{83,7}},35}, {{{0,8}},115}, {{{0,8}},51}, {{{0,9}},198},
- {{{81,7}},11}, {{{0,8}},99}, {{{0,8}},35}, {{{0,9}},166},
- {{{0,8}},3}, {{{0,8}},131}, {{{0,8}},67}, {{{0,9}},230},
- {{{80,7}},7}, {{{0,8}},91}, {{{0,8}},27}, {{{0,9}},150},
- {{{84,7}},67}, {{{0,8}},123}, {{{0,8}},59}, {{{0,9}},214},
- {{{82,7}},19}, {{{0,8}},107}, {{{0,8}},43}, {{{0,9}},182},
- {{{0,8}},11}, {{{0,8}},139}, {{{0,8}},75}, {{{0,9}},246},
- {{{80,7}},5}, {{{0,8}},87}, {{{0,8}},23}, {{{192,8}},0},
- {{{83,7}},51}, {{{0,8}},119}, {{{0,8}},55}, {{{0,9}},206},
- {{{81,7}},15}, {{{0,8}},103}, {{{0,8}},39}, {{{0,9}},174},
- {{{0,8}},7}, {{{0,8}},135}, {{{0,8}},71}, {{{0,9}},238},
- {{{80,7}},9}, {{{0,8}},95}, {{{0,8}},31}, {{{0,9}},158},
- {{{84,7}},99}, {{{0,8}},127}, {{{0,8}},63}, {{{0,9}},222},
- {{{82,7}},27}, {{{0,8}},111}, {{{0,8}},47}, {{{0,9}},190},
- {{{0,8}},15}, {{{0,8}},143}, {{{0,8}},79}, {{{0,9}},254},
- {{{96,7}},256}, {{{0,8}},80}, {{{0,8}},16}, {{{84,8}},115},
- {{{82,7}},31}, {{{0,8}},112}, {{{0,8}},48}, {{{0,9}},193},
- {{{80,7}},10}, {{{0,8}},96}, {{{0,8}},32}, {{{0,9}},161},
- {{{0,8}},0}, {{{0,8}},128}, {{{0,8}},64}, {{{0,9}},225},
- {{{80,7}},6}, {{{0,8}},88}, {{{0,8}},24}, {{{0,9}},145},
- {{{83,7}},59}, {{{0,8}},120}, {{{0,8}},56}, {{{0,9}},209},
- {{{81,7}},17}, {{{0,8}},104}, {{{0,8}},40}, {{{0,9}},177},
- {{{0,8}},8}, {{{0,8}},136}, {{{0,8}},72}, {{{0,9}},241},
- {{{80,7}},4}, {{{0,8}},84}, {{{0,8}},20}, {{{85,8}},227},
- {{{83,7}},43}, {{{0,8}},116}, {{{0,8}},52}, {{{0,9}},201},
- {{{81,7}},13}, {{{0,8}},100}, {{{0,8}},36}, {{{0,9}},169},
- {{{0,8}},4}, {{{0,8}},132}, {{{0,8}},68}, {{{0,9}},233},
- {{{80,7}},8}, {{{0,8}},92}, {{{0,8}},28}, {{{0,9}},153},
- {{{84,7}},83}, {{{0,8}},124}, {{{0,8}},60}, {{{0,9}},217},
- {{{82,7}},23}, {{{0,8}},108}, {{{0,8}},44}, {{{0,9}},185},
- {{{0,8}},12}, {{{0,8}},140}, {{{0,8}},76}, {{{0,9}},249},
- {{{80,7}},3}, {{{0,8}},82}, {{{0,8}},18}, {{{85,8}},163},
- {{{83,7}},35}, {{{0,8}},114}, {{{0,8}},50}, {{{0,9}},197},
- {{{81,7}},11}, {{{0,8}},98}, {{{0,8}},34}, {{{0,9}},165},
- {{{0,8}},2}, {{{0,8}},130}, {{{0,8}},66}, {{{0,9}},229},
- {{{80,7}},7}, {{{0,8}},90}, {{{0,8}},26}, {{{0,9}},149},
- {{{84,7}},67}, {{{0,8}},122}, {{{0,8}},58}, {{{0,9}},213},
- {{{82,7}},19}, {{{0,8}},106}, {{{0,8}},42}, {{{0,9}},181},
- {{{0,8}},10}, {{{0,8}},138}, {{{0,8}},74}, {{{0,9}},245},
- {{{80,7}},5}, {{{0,8}},86}, {{{0,8}},22}, {{{192,8}},0},
- {{{83,7}},51}, {{{0,8}},118}, {{{0,8}},54}, {{{0,9}},205},
- {{{81,7}},15}, {{{0,8}},102}, {{{0,8}},38}, {{{0,9}},173},
- {{{0,8}},6}, {{{0,8}},134}, {{{0,8}},70}, {{{0,9}},237},
- {{{80,7}},9}, {{{0,8}},94}, {{{0,8}},30}, {{{0,9}},157},
- {{{84,7}},99}, {{{0,8}},126}, {{{0,8}},62}, {{{0,9}},221},
- {{{82,7}},27}, {{{0,8}},110}, {{{0,8}},46}, {{{0,9}},189},
- {{{0,8}},14}, {{{0,8}},142}, {{{0,8}},78}, {{{0,9}},253},
- {{{96,7}},256}, {{{0,8}},81}, {{{0,8}},17}, {{{85,8}},131},
- {{{82,7}},31}, {{{0,8}},113}, {{{0,8}},49}, {{{0,9}},195},
- {{{80,7}},10}, {{{0,8}},97}, {{{0,8}},33}, {{{0,9}},163},
- {{{0,8}},1}, {{{0,8}},129}, {{{0,8}},65}, {{{0,9}},227},
- {{{80,7}},6}, {{{0,8}},89}, {{{0,8}},25}, {{{0,9}},147},
- {{{83,7}},59}, {{{0,8}},121}, {{{0,8}},57}, {{{0,9}},211},
- {{{81,7}},17}, {{{0,8}},105}, {{{0,8}},41}, {{{0,9}},179},
- {{{0,8}},9}, {{{0,8}},137}, {{{0,8}},73}, {{{0,9}},243},
- {{{80,7}},4}, {{{0,8}},85}, {{{0,8}},21}, {{{80,8}},258},
- {{{83,7}},43}, {{{0,8}},117}, {{{0,8}},53}, {{{0,9}},203},
- {{{81,7}},13}, {{{0,8}},101}, {{{0,8}},37}, {{{0,9}},171},
- {{{0,8}},5}, {{{0,8}},133}, {{{0,8}},69}, {{{0,9}},235},
- {{{80,7}},8}, {{{0,8}},93}, {{{0,8}},29}, {{{0,9}},155},
- {{{84,7}},83}, {{{0,8}},125}, {{{0,8}},61}, {{{0,9}},219},
- {{{82,7}},23}, {{{0,8}},109}, {{{0,8}},45}, {{{0,9}},187},
- {{{0,8}},13}, {{{0,8}},141}, {{{0,8}},77}, {{{0,9}},251},
- {{{80,7}},3}, {{{0,8}},83}, {{{0,8}},19}, {{{85,8}},195},
- {{{83,7}},35}, {{{0,8}},115}, {{{0,8}},51}, {{{0,9}},199},
- {{{81,7}},11}, {{{0,8}},99}, {{{0,8}},35}, {{{0,9}},167},
- {{{0,8}},3}, {{{0,8}},131}, {{{0,8}},67}, {{{0,9}},231},
- {{{80,7}},7}, {{{0,8}},91}, {{{0,8}},27}, {{{0,9}},151},
- {{{84,7}},67}, {{{0,8}},123}, {{{0,8}},59}, {{{0,9}},215},
- {{{82,7}},19}, {{{0,8}},107}, {{{0,8}},43}, {{{0,9}},183},
- {{{0,8}},11}, {{{0,8}},139}, {{{0,8}},75}, {{{0,9}},247},
- {{{80,7}},5}, {{{0,8}},87}, {{{0,8}},23}, {{{192,8}},0},
- {{{83,7}},51}, {{{0,8}},119}, {{{0,8}},55}, {{{0,9}},207},
- {{{81,7}},15}, {{{0,8}},103}, {{{0,8}},39}, {{{0,9}},175},
- {{{0,8}},7}, {{{0,8}},135}, {{{0,8}},71}, {{{0,9}},239},
- {{{80,7}},9}, {{{0,8}},95}, {{{0,8}},31}, {{{0,9}},159},
- {{{84,7}},99}, {{{0,8}},127}, {{{0,8}},63}, {{{0,9}},223},
- {{{82,7}},27}, {{{0,8}},111}, {{{0,8}},47}, {{{0,9}},191},
- {{{0,8}},15}, {{{0,8}},143}, {{{0,8}},79}, {{{0,9}},255}
- };
-local inflate_huft fixed_td[] = {
- {{{80,5}},1}, {{{87,5}},257}, {{{83,5}},17}, {{{91,5}},4097},
- {{{81,5}},5}, {{{89,5}},1025}, {{{85,5}},65}, {{{93,5}},16385},
- {{{80,5}},3}, {{{88,5}},513}, {{{84,5}},33}, {{{92,5}},8193},
- {{{82,5}},9}, {{{90,5}},2049}, {{{86,5}},129}, {{{192,5}},24577},
- {{{80,5}},2}, {{{87,5}},385}, {{{83,5}},25}, {{{91,5}},6145},
- {{{81,5}},7}, {{{89,5}},1537}, {{{85,5}},97}, {{{93,5}},24577},
- {{{80,5}},4}, {{{88,5}},769}, {{{84,5}},49}, {{{92,5}},12289},
- {{{82,5}},13}, {{{90,5}},3073}, {{{86,5}},193}, {{{192,5}},24577}
- };
diff --git a/src/utilfuns/zlib/inflate.c b/src/utilfuns/zlib/inflate.c
deleted file mode 100644
index dfb2e86..0000000
--- a/src/utilfuns/zlib/inflate.c
+++ /dev/null
@@ -1,366 +0,0 @@
-/* inflate.c -- zlib interface to inflate modules
- * Copyright (C) 1995-2002 Mark Adler
- * For conditions of distribution and use, see copyright notice in zlib.h
- */
-
-#include "zutil.h"
-#include "infblock.h"
-
-struct inflate_blocks_state {int dummy;}; /* for buggy compilers */
-
-typedef enum {
- METHOD, /* waiting for method byte */
- FLAG, /* waiting for flag byte */
- DICT4, /* four dictionary check bytes to go */
- DICT3, /* three dictionary check bytes to go */
- DICT2, /* two dictionary check bytes to go */
- DICT1, /* one dictionary check byte to go */
- DICT0, /* waiting for inflateSetDictionary */
- BLOCKS, /* decompressing blocks */
- CHECK4, /* four check bytes to go */
- CHECK3, /* three check bytes to go */
- CHECK2, /* two check bytes to go */
- CHECK1, /* one check byte to go */
- DONE, /* finished check, done */
- BAD} /* got an error--stay here */
-inflate_mode;
-
-/* inflate private state */
-struct internal_state {
-
- /* mode */
- inflate_mode mode; /* current inflate mode */
-
- /* mode dependent information */
- union {
- uInt method; /* if FLAGS, method byte */
- struct {
- uLong was; /* computed check value */
- uLong need; /* stream check value */
- } check; /* if CHECK, check values to compare */
- uInt marker; /* if BAD, inflateSync's marker bytes count */
- } sub; /* submode */
-
- /* mode independent information */
- int nowrap; /* flag for no wrapper */
- uInt wbits; /* log2(window size) (8..15, defaults to 15) */
- inflate_blocks_statef
- *blocks; /* current inflate_blocks state */
-
-};
-
-
-int ZEXPORT inflateReset(z)
-z_streamp z;
-{
- if (z == Z_NULL || z->state == Z_NULL)
- return Z_STREAM_ERROR;
- z->total_in = z->total_out = 0;
- z->msg = Z_NULL;
- z->state->mode = z->state->nowrap ? BLOCKS : METHOD;
- inflate_blocks_reset(z->state->blocks, z, Z_NULL);
- Tracev((stderr, "inflate: reset\n"));
- return Z_OK;
-}
-
-
-int ZEXPORT inflateEnd(z)
-z_streamp z;
-{
- if (z == Z_NULL || z->state == Z_NULL || z->zfree == Z_NULL)
- return Z_STREAM_ERROR;
- if (z->state->blocks != Z_NULL)
- inflate_blocks_free(z->state->blocks, z);
- ZFREE(z, z->state);
- z->state = Z_NULL;
- Tracev((stderr, "inflate: end\n"));
- return Z_OK;
-}
-
-
-int ZEXPORT inflateInit2_(z, w, version, stream_size)
-z_streamp z;
-int w;
-const char *version;
-int stream_size;
-{
- if (version == Z_NULL || version[0] != ZLIB_VERSION[0] ||
- stream_size != sizeof(z_stream))
- return Z_VERSION_ERROR;
-
- /* initialize state */
- if (z == Z_NULL)
- return Z_STREAM_ERROR;
- z->msg = Z_NULL;
- if (z->zalloc == Z_NULL)
- {
- z->zalloc = zcalloc;
- z->opaque = (voidpf)0;
- }
- if (z->zfree == Z_NULL) z->zfree = zcfree;
- if ((z->state = (struct internal_state FAR *)
- ZALLOC(z,1,sizeof(struct internal_state))) == Z_NULL)
- return Z_MEM_ERROR;
- z->state->blocks = Z_NULL;
-
- /* handle undocumented nowrap option (no zlib header or check) */
- z->state->nowrap = 0;
- if (w < 0)
- {
- w = - w;
- z->state->nowrap = 1;
- }
-
- /* set window size */
- if (w < 8 || w > 15)
- {
- inflateEnd(z);
- return Z_STREAM_ERROR;
- }
- z->state->wbits = (uInt)w;
-
- /* create inflate_blocks state */
- if ((z->state->blocks =
- inflate_blocks_new(z, z->state->nowrap ? Z_NULL : adler32, (uInt)1 << w))
- == Z_NULL)
- {
- inflateEnd(z);
- return Z_MEM_ERROR;
- }
- Tracev((stderr, "inflate: allocated\n"));
-
- /* reset state */
- inflateReset(z);
- return Z_OK;
-}
-
-
-int ZEXPORT inflateInit_(z, version, stream_size)
-z_streamp z;
-const char *version;
-int stream_size;
-{
- return inflateInit2_(z, DEF_WBITS, version, stream_size);
-}
-
-
-#define NEEDBYTE {if(z->avail_in==0)return r;r=f;}
-#define NEXTBYTE (z->avail_in--,z->total_in++,*z->next_in++)
-
-int ZEXPORT inflate(z, f)
-z_streamp z;
-int f;
-{
- int r;
- uInt b;
-
- if (z == Z_NULL || z->state == Z_NULL || z->next_in == Z_NULL)
- return Z_STREAM_ERROR;
- f = f == Z_FINISH ? Z_BUF_ERROR : Z_OK;
- r = Z_BUF_ERROR;
- while (1) switch (z->state->mode)
- {
- case METHOD:
- NEEDBYTE
- if (((z->state->sub.method = NEXTBYTE) & 0xf) != Z_DEFLATED)
- {
- z->state->mode = BAD;
- z->msg = (char*)"unknown compression method";
- z->state->sub.marker = 5; /* can't try inflateSync */
- break;
- }
- if ((z->state->sub.method >> 4) + 8 > z->state->wbits)
- {
- z->state->mode = BAD;
- z->msg = (char*)"invalid window size";
- z->state->sub.marker = 5; /* can't try inflateSync */
- break;
- }
- z->state->mode = FLAG;
- case FLAG:
- NEEDBYTE
- b = NEXTBYTE;
- if (((z->state->sub.method << 8) + b) % 31)
- {
- z->state->mode = BAD;
- z->msg = (char*)"incorrect header check";
- z->state->sub.marker = 5; /* can't try inflateSync */
- break;
- }
- Tracev((stderr, "inflate: zlib header ok\n"));
- if (!(b & PRESET_DICT))
- {
- z->state->mode = BLOCKS;
- break;
- }
- z->state->mode = DICT4;
- case DICT4:
- NEEDBYTE
- z->state->sub.check.need = (uLong)NEXTBYTE << 24;
- z->state->mode = DICT3;
- case DICT3:
- NEEDBYTE
- z->state->sub.check.need += (uLong)NEXTBYTE << 16;
- z->state->mode = DICT2;
- case DICT2:
- NEEDBYTE
- z->state->sub.check.need += (uLong)NEXTBYTE << 8;
- z->state->mode = DICT1;
- case DICT1:
- NEEDBYTE
- z->state->sub.check.need += (uLong)NEXTBYTE;
- z->adler = z->state->sub.check.need;
- z->state->mode = DICT0;
- return Z_NEED_DICT;
- case DICT0:
- z->state->mode = BAD;
- z->msg = (char*)"need dictionary";
- z->state->sub.marker = 0; /* can try inflateSync */
- return Z_STREAM_ERROR;
- case BLOCKS:
- r = inflate_blocks(z->state->blocks, z, r);
- if (r == Z_DATA_ERROR)
- {
- z->state->mode = BAD;
- z->state->sub.marker = 0; /* can try inflateSync */
- break;
- }
- if (r == Z_OK)
- r = f;
- if (r != Z_STREAM_END)
- return r;
- r = f;
- inflate_blocks_reset(z->state->blocks, z, &z->state->sub.check.was);
- if (z->state->nowrap)
- {
- z->state->mode = DONE;
- break;
- }
- z->state->mode = CHECK4;
- case CHECK4:
- NEEDBYTE
- z->state->sub.check.need = (uLong)NEXTBYTE << 24;
- z->state->mode = CHECK3;
- case CHECK3:
- NEEDBYTE
- z->state->sub.check.need += (uLong)NEXTBYTE << 16;
- z->state->mode = CHECK2;
- case CHECK2:
- NEEDBYTE
- z->state->sub.check.need += (uLong)NEXTBYTE << 8;
- z->state->mode = CHECK1;
- case CHECK1:
- NEEDBYTE
- z->state->sub.check.need += (uLong)NEXTBYTE;
-
- if (z->state->sub.check.was != z->state->sub.check.need)
- {
- z->state->mode = BAD;
- z->msg = (char*)"incorrect data check";
- z->state->sub.marker = 5; /* can't try inflateSync */
- break;
- }
- Tracev((stderr, "inflate: zlib check ok\n"));
- z->state->mode = DONE;
- case DONE:
- return Z_STREAM_END;
- case BAD:
- return Z_DATA_ERROR;
- default:
- return Z_STREAM_ERROR;
- }
-#ifdef NEED_DUMMY_RETURN
- return Z_STREAM_ERROR; /* Some dumb compilers complain without this */
-#endif
-}
-
-
-int ZEXPORT inflateSetDictionary(z, dictionary, dictLength)
-z_streamp z;
-const Bytef *dictionary;
-uInt dictLength;
-{
- uInt length = dictLength;
-
- if (z == Z_NULL || z->state == Z_NULL || z->state->mode != DICT0)
- return Z_STREAM_ERROR;
-
- if (adler32(1L, dictionary, dictLength) != z->adler) return Z_DATA_ERROR;
- z->adler = 1L;
-
- if (length >= ((uInt)1<<z->state->wbits))
- {
- length = (1<<z->state->wbits)-1;
- dictionary += dictLength - length;
- }
- inflate_set_dictionary(z->state->blocks, dictionary, length);
- z->state->mode = BLOCKS;
- return Z_OK;
-}
-
-
-int ZEXPORT inflateSync(z)
-z_streamp z;
-{
- uInt n; /* number of bytes to look at */
- Bytef *p; /* pointer to bytes */
- uInt m; /* number of marker bytes found in a row */
- uLong r, w; /* temporaries to save total_in and total_out */
-
- /* set up */
- if (z == Z_NULL || z->state == Z_NULL)
- return Z_STREAM_ERROR;
- if (z->state->mode != BAD)
- {
- z->state->mode = BAD;
- z->state->sub.marker = 0;
- }
- if ((n = z->avail_in) == 0)
- return Z_BUF_ERROR;
- p = z->next_in;
- m = z->state->sub.marker;
-
- /* search */
- while (n && m < 4)
- {
- static const Byte mark[4] = {0, 0, 0xff, 0xff};
- if (*p == mark[m])
- m++;
- else if (*p)
- m = 0;
- else
- m = 4 - m;
- p++, n--;
- }
-
- /* restore */
- z->total_in += p - z->next_in;
- z->next_in = p;
- z->avail_in = n;
- z->state->sub.marker = m;
-
- /* return no joy or set up to restart on a new block */
- if (m != 4)
- return Z_DATA_ERROR;
- r = z->total_in; w = z->total_out;
- inflateReset(z);
- z->total_in = r; z->total_out = w;
- z->state->mode = BLOCKS;
- return Z_OK;
-}
-
-
-/* Returns true if inflate is currently at the end of a block generated
- * by Z_SYNC_FLUSH or Z_FULL_FLUSH. This function is used by one PPP
- * implementation to provide an additional safety check. PPP uses Z_SYNC_FLUSH
- * but removes the length bytes of the resulting empty stored block. When
- * decompressing, PPP checks that at the end of input packet, inflate is
- * waiting for these length bytes.
- */
-int ZEXPORT inflateSyncPoint(z)
-z_streamp z;
-{
- if (z == Z_NULL || z->state == Z_NULL || z->state->blocks == Z_NULL)
- return Z_STREAM_ERROR;
- return inflate_blocks_sync_point(z->state->blocks);
-}
diff --git a/src/utilfuns/zlib/inftrees.c b/src/utilfuns/zlib/inftrees.c
deleted file mode 100644
index 4c32ca3..0000000
--- a/src/utilfuns/zlib/inftrees.c
+++ /dev/null
@@ -1,454 +0,0 @@
-/* inftrees.c -- generate Huffman trees for efficient decoding
- * Copyright (C) 1995-2002 Mark Adler
- * For conditions of distribution and use, see copyright notice in zlib.h
- */
-
-#include "zutil.h"
-#include "inftrees.h"
-
-#if !defined(BUILDFIXED) && !defined(STDC)
-# define BUILDFIXED /* non ANSI compilers may not accept inffixed.h */
-#endif
-
-const char inflate_copyright[] =
- " inflate 1.1.4 Copyright 1995-2002 Mark Adler ";
-/*
- If you use the zlib library in a product, an acknowledgment is welcome
- in the documentation of your product. If for some reason you cannot
- include such an acknowledgment, I would appreciate that you keep this
- copyright string in the executable of your product.
- */
-struct internal_state {int dummy;}; /* for buggy compilers */
-
-/* simplify the use of the inflate_huft type with some defines */
-#define exop word.what.Exop
-#define bits word.what.Bits
-
-
-local int huft_build OF((
- uIntf *, /* code lengths in bits */
- uInt, /* number of codes */
- uInt, /* number of "simple" codes */
- const uIntf *, /* list of base values for non-simple codes */
- const uIntf *, /* list of extra bits for non-simple codes */
- inflate_huft * FAR*,/* result: starting table */
- uIntf *, /* maximum lookup bits (returns actual) */
- inflate_huft *, /* space for trees */
- uInt *, /* hufts used in space */
- uIntf * )); /* space for values */
-
-/* Tables for deflate from PKZIP's appnote.txt. */
-local const uInt cplens[31] = { /* Copy lengths for literal codes 257..285 */
- 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 15, 17, 19, 23, 27, 31,
- 35, 43, 51, 59, 67, 83, 99, 115, 131, 163, 195, 227, 258, 0, 0};
- /* see note #13 above about 258 */
-local const uInt cplext[31] = { /* Extra bits for literal codes 257..285 */
- 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 2,
- 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 0, 112, 112}; /* 112==invalid */
-local const uInt cpdist[30] = { /* Copy offsets for distance codes 0..29 */
- 1, 2, 3, 4, 5, 7, 9, 13, 17, 25, 33, 49, 65, 97, 129, 193,
- 257, 385, 513, 769, 1025, 1537, 2049, 3073, 4097, 6145,
- 8193, 12289, 16385, 24577};
-local const uInt cpdext[30] = { /* Extra bits for distance codes */
- 0, 0, 0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6,
- 7, 7, 8, 8, 9, 9, 10, 10, 11, 11,
- 12, 12, 13, 13};
-
-/*
- Huffman code decoding is performed using a multi-level table lookup.
- The fastest way to decode is to simply build a lookup table whose
- size is determined by the longest code. However, the time it takes
- to build this table can also be a factor if the data being decoded
- is not very long. The most common codes are necessarily the
- shortest codes, so those codes dominate the decoding time, and hence
- the speed. The idea is you can have a shorter table that decodes the
- shorter, more probable codes, and then point to subsidiary tables for
- the longer codes. The time it costs to decode the longer codes is
- then traded against the time it takes to make longer tables.
-
- This results of this trade are in the variables lbits and dbits
- below. lbits is the number of bits the first level table for literal/
- length codes can decode in one step, and dbits is the same thing for
- the distance codes. Subsequent tables are also less than or equal to
- those sizes. These values may be adjusted either when all of the
- codes are shorter than that, in which case the longest code length in
- bits is used, or when the shortest code is *longer* than the requested
- table size, in which case the length of the shortest code in bits is
- used.
-
- There are two different values for the two tables, since they code a
- different number of possibilities each. The literal/length table
- codes 286 possible values, or in a flat code, a little over eight
- bits. The distance table codes 30 possible values, or a little less
- than five bits, flat. The optimum values for speed end up being
- about one bit more than those, so lbits is 8+1 and dbits is 5+1.
- The optimum values may differ though from machine to machine, and
- possibly even between compilers. Your mileage may vary.
- */
-
-
-/* If BMAX needs to be larger than 16, then h and x[] should be uLong. */
-#define BMAX 15 /* maximum bit length of any code */
-
-local int huft_build(b, n, s, d, e, t, m, hp, hn, v)
-uIntf *b; /* code lengths in bits (all assumed <= BMAX) */
-uInt n; /* number of codes (assumed <= 288) */
-uInt s; /* number of simple-valued codes (0..s-1) */
-const uIntf *d; /* list of base values for non-simple codes */
-const uIntf *e; /* list of extra bits for non-simple codes */
-inflate_huft * FAR *t; /* result: starting table */
-uIntf *m; /* maximum lookup bits, returns actual */
-inflate_huft *hp; /* space for trees */
-uInt *hn; /* hufts used in space */
-uIntf *v; /* working area: values in order of bit length */
-/* Given a list of code lengths and a maximum table size, make a set of
- tables to decode that set of codes. Return Z_OK on success, Z_BUF_ERROR
- if the given code set is incomplete (the tables are still built in this
- case), or Z_DATA_ERROR if the input is invalid. */
-{
-
- uInt a; /* counter for codes of length k */
- uInt c[BMAX+1]; /* bit length count table */
- uInt f; /* i repeats in table every f entries */
- int g; /* maximum code length */
- int h; /* table level */
- register uInt i; /* counter, current code */
- register uInt j; /* counter */
- register int k; /* number of bits in current code */
- int l; /* bits per table (returned in m) */
- uInt mask; /* (1 << w) - 1, to avoid cc -O bug on HP */
- register uIntf *p; /* pointer into c[], b[], or v[] */
- inflate_huft *q; /* points to current table */
- struct inflate_huft_s r; /* table entry for structure assignment */
- inflate_huft *u[BMAX]; /* table stack */
- register int w; /* bits before this table == (l * h) */
- uInt x[BMAX+1]; /* bit offsets, then code stack */
- uIntf *xp; /* pointer into x */
- int y; /* number of dummy codes added */
- uInt z; /* number of entries in current table */
-
-
- /* Generate counts for each bit length */
- p = c;
-#define C0 *p++ = 0;
-#define C2 C0 C0 C0 C0
-#define C4 C2 C2 C2 C2
- C4 /* clear c[]--assume BMAX+1 is 16 */
- p = b; i = n;
- do {
- c[*p++]++; /* assume all entries <= BMAX */
- } while (--i);
- if (c[0] == n) /* null input--all zero length codes */
- {
- *t = (inflate_huft *)Z_NULL;
- *m = 0;
- return Z_OK;
- }
-
-
- /* Find minimum and maximum length, bound *m by those */
- l = *m;
- for (j = 1; j <= BMAX; j++)
- if (c[j])
- break;
- k = j; /* minimum code length */
- if ((uInt)l < j)
- l = j;
- for (i = BMAX; i; i--)
- if (c[i])
- break;
- g = i; /* maximum code length */
- if ((uInt)l > i)
- l = i;
- *m = l;
-
-
- /* Adjust last length count to fill out codes, if needed */
- for (y = 1 << j; j < i; j++, y <<= 1)
- if ((y -= c[j]) < 0)
- return Z_DATA_ERROR;
- if ((y -= c[i]) < 0)
- return Z_DATA_ERROR;
- c[i] += y;
-
-
- /* Generate starting offsets into the value table for each length */
- x[1] = j = 0;
- p = c + 1; xp = x + 2;
- while (--i) { /* note that i == g from above */
- *xp++ = (j += *p++);
- }
-
-
- /* Make a table of values in order of bit lengths */
- p = b; i = 0;
- do {
- if ((j = *p++) != 0)
- v[x[j]++] = i;
- } while (++i < n);
- n = x[g]; /* set n to length of v */
-
-
- /* Generate the Huffman codes and for each, make the table entries */
- x[0] = i = 0; /* first Huffman code is zero */
- p = v; /* grab values in bit order */
- h = -1; /* no tables yet--level -1 */
- w = -l; /* bits decoded == (l * h) */
- u[0] = (inflate_huft *)Z_NULL; /* just to keep compilers happy */
- q = (inflate_huft *)Z_NULL; /* ditto */
- z = 0; /* ditto */
-
- /* go through the bit lengths (k already is bits in shortest code) */
- for (; k <= g; k++)
- {
- a = c[k];
- while (a--)
- {
- /* here i is the Huffman code of length k bits for value *p */
- /* make tables up to required level */
- while (k > w + l)
- {
- h++;
- w += l; /* previous table always l bits */
-
- /* compute minimum size table less than or equal to l bits */
- z = g - w;
- z = z > (uInt)l ? l : z; /* table size upper limit */
- if ((f = 1 << (j = k - w)) > a + 1) /* try a k-w bit table */
- { /* too few codes for k-w bit table */
- f -= a + 1; /* deduct codes from patterns left */
- xp = c + k;
- if (j < z)
- while (++j < z) /* try smaller tables up to z bits */
- {
- if ((f <<= 1) <= *++xp)
- break; /* enough codes to use up j bits */
- f -= *xp; /* else deduct codes from patterns */
- }
- }
- z = 1 << j; /* table entries for j-bit table */
-
- /* allocate new table */
- if (*hn + z > MANY) /* (note: doesn't matter for fixed) */
- return Z_DATA_ERROR; /* overflow of MANY */
- u[h] = q = hp + *hn;
- *hn += z;
-
- /* connect to last table, if there is one */
- if (h)
- {
- x[h] = i; /* save pattern for backing up */
- r.bits = (Byte)l; /* bits to dump before this table */
- r.exop = (Byte)j; /* bits in this table */
- j = i >> (w - l);
- r.base = (uInt)(q - u[h-1] - j); /* offset to this table */
- u[h-1][j] = r; /* connect to last table */
- }
- else
- *t = q; /* first table is returned result */
- }
-
- /* set up table entry in r */
- r.bits = (Byte)(k - w);
- if (p >= v + n)
- r.exop = 128 + 64; /* out of values--invalid code */
- else if (*p < s)
- {
- r.exop = (Byte)(*p < 256 ? 0 : 32 + 64); /* 256 is end-of-block */
- r.base = *p++; /* simple code is just the value */
- }
- else
- {
- r.exop = (Byte)(e[*p - s] + 16 + 64);/* non-simple--look up in lists */
- r.base = d[*p++ - s];
- }
-
- /* fill code-like entries with r */
- f = 1 << (k - w);
- for (j = i >> w; j < z; j += f)
- q[j] = r;
-
- /* backwards increment the k-bit code i */
- for (j = 1 << (k - 1); i & j; j >>= 1)
- i ^= j;
- i ^= j;
-
- /* backup over finished tables */
- mask = (1 << w) - 1; /* needed on HP, cc -O bug */
- while ((i & mask) != x[h])
- {
- h--; /* don't need to update q */
- w -= l;
- mask = (1 << w) - 1;
- }
- }
- }
-
-
- /* Return Z_BUF_ERROR if we were given an incomplete table */
- return y != 0 && g != 1 ? Z_BUF_ERROR : Z_OK;
-}
-
-
-int inflate_trees_bits(c, bb, tb, hp, z)
-uIntf *c; /* 19 code lengths */
-uIntf *bb; /* bits tree desired/actual depth */
-inflate_huft * FAR *tb; /* bits tree result */
-inflate_huft *hp; /* space for trees */
-z_streamp z; /* for messages */
-{
- int r;
- uInt hn = 0; /* hufts used in space */
- uIntf *v; /* work area for huft_build */
-
- if ((v = (uIntf*)ZALLOC(z, 19, sizeof(uInt))) == Z_NULL)
- return Z_MEM_ERROR;
- r = huft_build(c, 19, 19, (uIntf*)Z_NULL, (uIntf*)Z_NULL,
- tb, bb, hp, &hn, v);
- if (r == Z_DATA_ERROR)
- z->msg = (char*)"oversubscribed dynamic bit lengths tree";
- else if (r == Z_BUF_ERROR || *bb == 0)
- {
- z->msg = (char*)"incomplete dynamic bit lengths tree";
- r = Z_DATA_ERROR;
- }
- ZFREE(z, v);
- return r;
-}
-
-
-int inflate_trees_dynamic(nl, nd, c, bl, bd, tl, td, hp, z)
-uInt nl; /* number of literal/length codes */
-uInt nd; /* number of distance codes */
-uIntf *c; /* that many (total) code lengths */
-uIntf *bl; /* literal desired/actual bit depth */
-uIntf *bd; /* distance desired/actual bit depth */
-inflate_huft * FAR *tl; /* literal/length tree result */
-inflate_huft * FAR *td; /* distance tree result */
-inflate_huft *hp; /* space for trees */
-z_streamp z; /* for messages */
-{
- int r;
- uInt hn = 0; /* hufts used in space */
- uIntf *v; /* work area for huft_build */
-
- /* allocate work area */
- if ((v = (uIntf*)ZALLOC(z, 288, sizeof(uInt))) == Z_NULL)
- return Z_MEM_ERROR;
-
- /* build literal/length tree */
- r = huft_build(c, nl, 257, cplens, cplext, tl, bl, hp, &hn, v);
- if (r != Z_OK || *bl == 0)
- {
- if (r == Z_DATA_ERROR)
- z->msg = (char*)"oversubscribed literal/length tree";
- else if (r != Z_MEM_ERROR)
- {
- z->msg = (char*)"incomplete literal/length tree";
- r = Z_DATA_ERROR;
- }
- ZFREE(z, v);
- return r;
- }
-
- /* build distance tree */
- r = huft_build(c + nl, nd, 0, cpdist, cpdext, td, bd, hp, &hn, v);
- if (r != Z_OK || (*bd == 0 && nl > 257))
- {
- if (r == Z_DATA_ERROR)
- z->msg = (char*)"oversubscribed distance tree";
- else if (r == Z_BUF_ERROR) {
-#ifdef PKZIP_BUG_WORKAROUND
- r = Z_OK;
- }
-#else
- z->msg = (char*)"incomplete distance tree";
- r = Z_DATA_ERROR;
- }
- else if (r != Z_MEM_ERROR)
- {
- z->msg = (char*)"empty distance tree with lengths";
- r = Z_DATA_ERROR;
- }
- ZFREE(z, v);
- return r;
-#endif
- }
-
- /* done */
- ZFREE(z, v);
- return Z_OK;
-}
-
-
-/* build fixed tables only once--keep them here */
-#ifdef BUILDFIXED
-local int fixed_built = 0;
-#define FIXEDH 544 /* number of hufts used by fixed tables */
-local inflate_huft fixed_mem[FIXEDH];
-local uInt fixed_bl;
-local uInt fixed_bd;
-local inflate_huft *fixed_tl;
-local inflate_huft *fixed_td;
-#else
-#include "inffixed.h"
-#endif
-
-
-int inflate_trees_fixed(bl, bd, tl, td, z)
-uIntf *bl; /* literal desired/actual bit depth */
-uIntf *bd; /* distance desired/actual bit depth */
-inflate_huft * FAR *tl; /* literal/length tree result */
-inflate_huft * FAR *td; /* distance tree result */
-z_streamp z; /* for memory allocation */
-{
-#ifdef BUILDFIXED
- /* build fixed tables if not already */
- if (!fixed_built)
- {
- int k; /* temporary variable */
- uInt f = 0; /* number of hufts used in fixed_mem */
- uIntf *c; /* length list for huft_build */
- uIntf *v; /* work area for huft_build */
-
- /* allocate memory */
- if ((c = (uIntf*)ZALLOC(z, 288, sizeof(uInt))) == Z_NULL)
- return Z_MEM_ERROR;
- if ((v = (uIntf*)ZALLOC(z, 288, sizeof(uInt))) == Z_NULL)
- {
- ZFREE(z, c);
- return Z_MEM_ERROR;
- }
-
- /* literal table */
- for (k = 0; k < 144; k++)
- c[k] = 8;
- for (; k < 256; k++)
- c[k] = 9;
- for (; k < 280; k++)
- c[k] = 7;
- for (; k < 288; k++)
- c[k] = 8;
- fixed_bl = 9;
- huft_build(c, 288, 257, cplens, cplext, &fixed_tl, &fixed_bl,
- fixed_mem, &f, v);
-
- /* distance table */
- for (k = 0; k < 30; k++)
- c[k] = 5;
- fixed_bd = 5;
- huft_build(c, 30, 0, cpdist, cpdext, &fixed_td, &fixed_bd,
- fixed_mem, &f, v);
-
- /* done */
- ZFREE(z, v);
- ZFREE(z, c);
- fixed_built = 1;
- }
-#endif
- *bl = fixed_bl;
- *bd = fixed_bd;
- *tl = fixed_tl;
- *td = fixed_td;
- return Z_OK;
-}
diff --git a/src/utilfuns/zlib/inftrees.h b/src/utilfuns/zlib/inftrees.h
deleted file mode 100644
index 04b73b7..0000000
--- a/src/utilfuns/zlib/inftrees.h
+++ /dev/null
@@ -1,58 +0,0 @@
-/* inftrees.h -- header to use inftrees.c
- * Copyright (C) 1995-2002 Mark Adler
- * For conditions of distribution and use, see copyright notice in zlib.h
- */
-
-/* WARNING: this file should *not* be used by applications. It is
- part of the implementation of the compression library and is
- subject to change. Applications should only use zlib.h.
- */
-
-/* Huffman code lookup table entry--this entry is four bytes for machines
- that have 16-bit pointers (e.g. PC's in the small or medium model). */
-
-typedef struct inflate_huft_s FAR inflate_huft;
-
-struct inflate_huft_s {
- union {
- struct {
- Byte Exop; /* number of extra bits or operation */
- Byte Bits; /* number of bits in this code or subcode */
- } what;
- uInt pad; /* pad structure to a power of 2 (4 bytes for */
- } word; /* 16-bit, 8 bytes for 32-bit int's) */
- uInt base; /* literal, length base, distance base,
- or table offset */
-};
-
-/* Maximum size of dynamic tree. The maximum found in a long but non-
- exhaustive search was 1004 huft structures (850 for length/literals
- and 154 for distances, the latter actually the result of an
- exhaustive search). The actual maximum is not known, but the
- value below is more than safe. */
-#define MANY 1440
-
-extern int inflate_trees_bits OF((
- uIntf *, /* 19 code lengths */
- uIntf *, /* bits tree desired/actual depth */
- inflate_huft * FAR *, /* bits tree result */
- inflate_huft *, /* space for trees */
- z_streamp)); /* for messages */
-
-extern int inflate_trees_dynamic OF((
- uInt, /* number of literal/length codes */
- uInt, /* number of distance codes */
- uIntf *, /* that many (total) code lengths */
- uIntf *, /* literal desired/actual bit depth */
- uIntf *, /* distance desired/actual bit depth */
- inflate_huft * FAR *, /* literal/length tree result */
- inflate_huft * FAR *, /* distance tree result */
- inflate_huft *, /* space for trees */
- z_streamp)); /* for messages */
-
-extern int inflate_trees_fixed OF((
- uIntf *, /* literal desired/actual bit depth */
- uIntf *, /* distance desired/actual bit depth */
- inflate_huft * FAR *, /* literal/length tree result */
- inflate_huft * FAR *, /* distance tree result */
- z_streamp)); /* for memory allocation */
diff --git a/src/utilfuns/zlib/infutil.c b/src/utilfuns/zlib/infutil.c
deleted file mode 100644
index 9a07622..0000000
--- a/src/utilfuns/zlib/infutil.c
+++ /dev/null
@@ -1,87 +0,0 @@
-/* inflate_util.c -- data and routines common to blocks and codes
- * Copyright (C) 1995-2002 Mark Adler
- * For conditions of distribution and use, see copyright notice in zlib.h
- */
-
-#include "zutil.h"
-#include "infblock.h"
-#include "inftrees.h"
-#include "infcodes.h"
-#include "infutil.h"
-
-struct inflate_codes_state {int dummy;}; /* for buggy compilers */
-
-/* And'ing with mask[n] masks the lower n bits */
-uInt inflate_mask[17] = {
- 0x0000,
- 0x0001, 0x0003, 0x0007, 0x000f, 0x001f, 0x003f, 0x007f, 0x00ff,
- 0x01ff, 0x03ff, 0x07ff, 0x0fff, 0x1fff, 0x3fff, 0x7fff, 0xffff
-};
-
-
-/* copy as much as possible from the sliding window to the output area */
-int inflate_flush(s, z, r)
-inflate_blocks_statef *s;
-z_streamp z;
-int r;
-{
- uInt n;
- Bytef *p;
- Bytef *q;
-
- /* local copies of source and destination pointers */
- p = z->next_out;
- q = s->read;
-
- /* compute number of bytes to copy as far as end of window */
- n = (uInt)((q <= s->write ? s->write : s->end) - q);
- if (n > z->avail_out) n = z->avail_out;
- if (n && r == Z_BUF_ERROR) r = Z_OK;
-
- /* update counters */
- z->avail_out -= n;
- z->total_out += n;
-
- /* update check information */
- if (s->checkfn != Z_NULL)
- z->adler = s->check = (*s->checkfn)(s->check, q, n);
-
- /* copy as far as end of window */
- zmemcpy(p, q, n);
- p += n;
- q += n;
-
- /* see if more to copy at beginning of window */
- if (q == s->end)
- {
- /* wrap pointers */
- q = s->window;
- if (s->write == s->end)
- s->write = s->window;
-
- /* compute bytes to copy */
- n = (uInt)(s->write - q);
- if (n > z->avail_out) n = z->avail_out;
- if (n && r == Z_BUF_ERROR) r = Z_OK;
-
- /* update counters */
- z->avail_out -= n;
- z->total_out += n;
-
- /* update check information */
- if (s->checkfn != Z_NULL)
- z->adler = s->check = (*s->checkfn)(s->check, q, n);
-
- /* copy */
- zmemcpy(p, q, n);
- p += n;
- q += n;
- }
-
- /* update pointers */
- z->next_out = p;
- s->read = q;
-
- /* done */
- return r;
-}
diff --git a/src/utilfuns/zlib/infutil.h b/src/utilfuns/zlib/infutil.h
deleted file mode 100644
index 4401df8..0000000
--- a/src/utilfuns/zlib/infutil.h
+++ /dev/null
@@ -1,98 +0,0 @@
-/* infutil.h -- types and macros common to blocks and codes
- * Copyright (C) 1995-2002 Mark Adler
- * For conditions of distribution and use, see copyright notice in zlib.h
- */
-
-/* WARNING: this file should *not* be used by applications. It is
- part of the implementation of the compression library and is
- subject to change. Applications should only use zlib.h.
- */
-
-#ifndef _INFUTIL_H
-#define _INFUTIL_H
-
-typedef enum {
- TYPE, /* get type bits (3, including end bit) */
- LENS, /* get lengths for stored */
- STORED, /* processing stored block */
- TABLE, /* get table lengths */
- BTREE, /* get bit lengths tree for a dynamic block */
- DTREE, /* get length, distance trees for a dynamic block */
- CODES, /* processing fixed or dynamic block */
- DRY, /* output remaining window bytes */
- DONE, /* finished last block, done */
- BAD} /* got a data error--stuck here */
-inflate_block_mode;
-
-/* inflate blocks semi-private state */
-struct inflate_blocks_state {
-
- /* mode */
- inflate_block_mode mode; /* current inflate_block mode */
-
- /* mode dependent information */
- union {
- uInt left; /* if STORED, bytes left to copy */
- struct {
- uInt table; /* table lengths (14 bits) */
- uInt index; /* index into blens (or border) */
- uIntf *blens; /* bit lengths of codes */
- uInt bb; /* bit length tree depth */
- inflate_huft *tb; /* bit length decoding tree */
- } trees; /* if DTREE, decoding info for trees */
- struct {
- inflate_codes_statef
- *codes;
- } decode; /* if CODES, current state */
- } sub; /* submode */
- uInt last; /* true if this block is the last block */
-
- /* mode independent information */
- uInt bitk; /* bits in bit buffer */
- uLong bitb; /* bit buffer */
- inflate_huft *hufts; /* single malloc for tree space */
- Bytef *window; /* sliding window */
- Bytef *end; /* one byte after sliding window */
- Bytef *read; /* window read pointer */
- Bytef *write; /* window write pointer */
- check_func checkfn; /* check function */
- uLong check; /* check on output */
-
-};
-
-
-/* defines for inflate input/output */
-/* update pointers and return */
-#define UPDBITS {s->bitb=b;s->bitk=k;}
-#define UPDIN {z->avail_in=n;z->total_in+=p-z->next_in;z->next_in=p;}
-#define UPDOUT {s->write=q;}
-#define UPDATE {UPDBITS UPDIN UPDOUT}
-#define LEAVE {UPDATE return inflate_flush(s,z,r);}
-/* get bytes and bits */
-#define LOADIN {p=z->next_in;n=z->avail_in;b=s->bitb;k=s->bitk;}
-#define NEEDBYTE {if(n)r=Z_OK;else LEAVE}
-#define NEXTBYTE (n--,*p++)
-#define NEEDBITS(j) {while(k<(j)){NEEDBYTE;b|=((uLong)NEXTBYTE)<<k;k+=8;}}
-#define DUMPBITS(j) {b>>=(j);k-=(j);}
-/* output bytes */
-#define WAVAIL (uInt)(q<s->read?s->read-q-1:s->end-q)
-#define LOADOUT {q=s->write;m=(uInt)WAVAIL;}
-#define WRAP {if(q==s->end&&s->read!=s->window){q=s->window;m=(uInt)WAVAIL;}}
-#define FLUSH {UPDOUT r=inflate_flush(s,z,r); LOADOUT}
-#define NEEDOUT {if(m==0){WRAP if(m==0){FLUSH WRAP if(m==0) LEAVE}}r=Z_OK;}
-#define OUTBYTE(a) {*q++=(Byte)(a);m--;}
-/* load local pointers */
-#define LOAD {LOADIN LOADOUT}
-
-/* masks for lower bits (size given to avoid silly warnings with Visual C++) */
-extern uInt inflate_mask[17];
-
-/* copy as much as possible from the sliding window to the output area */
-extern int inflate_flush OF((
- inflate_blocks_statef *,
- z_streamp ,
- int));
-
-struct internal_state {int dummy;}; /* for buggy compilers */
-
-#endif
diff --git a/src/utilfuns/zlib/maketree.c b/src/utilfuns/zlib/maketree.c
deleted file mode 100644
index a16d4b1..0000000
--- a/src/utilfuns/zlib/maketree.c
+++ /dev/null
@@ -1,85 +0,0 @@
-/* maketree.c -- make inffixed.h table for decoding fixed codes
- * Copyright (C) 1995-2002 Mark Adler
- * For conditions of distribution and use, see copyright notice in zlib.h
- */
-
-/* WARNING: this file should *not* be used by applications. It is
- part of the implementation of the compression library and is
- subject to change. Applications should only use zlib.h.
- */
-
-/* This program is included in the distribution for completeness.
- You do not need to compile or run this program since inffixed.h
- is already included in the distribution. To use this program
- you need to compile zlib with BUILDFIXED defined and then compile
- and link this program with the zlib library. Then the output of
- this program can be piped to inffixed.h. */
-
-#include <stdio.h>
-#include <stdlib.h>
-#include "zutil.h"
-#include "inftrees.h"
-
-/* simplify the use of the inflate_huft type with some defines */
-#define exop word.what.Exop
-#define bits word.what.Bits
-
-/* generate initialization table for an inflate_huft structure array */
-void maketree(uInt b, inflate_huft *t)
-{
- int i, e;
-
- i = 0;
- while (1)
- {
- e = t[i].exop;
- if (e && (e & (16+64)) == 0) /* table pointer */
- {
- fprintf(stderr, "maketree: cannot initialize sub-tables!\n");
- exit(1);
- }
- if (i % 4 == 0)
- printf("\n ");
- printf(" {{{%u,%u}},%u}", t[i].exop, t[i].bits, t[i].base);
- if (++i == (1<<b))
- break;
- putchar(',');
- }
- puts("");
-}
-
-/* create the fixed tables in C initialization syntax */
-void main(void)
-{
- int r;
- uInt bl, bd;
- inflate_huft *tl, *td;
- z_stream z;
-
- z.zalloc = zcalloc;
- z.opaque = (voidpf)0;
- z.zfree = zcfree;
- r = inflate_trees_fixed(&bl, &bd, &tl, &td, &z);
- if (r)
- {
- fprintf(stderr, "inflate_trees_fixed error %d\n", r);
- return;
- }
- puts("/* inffixed.h -- table for decoding fixed codes");
- puts(" * Generated automatically by the maketree.c program");
- puts(" */");
- puts("");
- puts("/* WARNING: this file should *not* be used by applications. It is");
- puts(" part of the implementation of the compression library and is");
- puts(" subject to change. Applications should only use zlib.h.");
- puts(" */");
- puts("");
- printf("local uInt fixed_bl = %d;\n", bl);
- printf("local uInt fixed_bd = %d;\n", bd);
- printf("local inflate_huft fixed_tl[] = {");
- maketree(bl, tl);
- puts(" };");
- printf("local inflate_huft fixed_td[] = {");
- maketree(bd, td);
- puts(" };");
-}
diff --git a/src/utilfuns/zlib/trees.c b/src/utilfuns/zlib/trees.c
deleted file mode 100644
index b3117b3..0000000
--- a/src/utilfuns/zlib/trees.c
+++ /dev/null
@@ -1,1214 +0,0 @@
-/* trees.c -- output deflated data using Huffman coding
- * Copyright (C) 1995-2002 Jean-loup Gailly
- * For conditions of distribution and use, see copyright notice in zlib.h
- */
-
-/*
- * ALGORITHM
- *
- * The "deflation" process uses several Huffman trees. The more
- * common source values are represented by shorter bit sequences.
- *
- * Each code tree is stored in a compressed form which is itself
- * a Huffman encoding of the lengths of all the code strings (in
- * ascending order by source values). The actual code strings are
- * reconstructed from the lengths in the inflate process, as described
- * in the deflate specification.
- *
- * REFERENCES
- *
- * Deutsch, L.P.,"'Deflate' Compressed Data Format Specification".
- * Available in ftp.uu.net:/pub/archiving/zip/doc/deflate-1.1.doc
- *
- * Storer, James A.
- * Data Compression: Methods and Theory, pp. 49-50.
- * Computer Science Press, 1988. ISBN 0-7167-8156-5.
- *
- * Sedgewick, R.
- * Algorithms, p290.
- * Addison-Wesley, 1983. ISBN 0-201-06672-6.
- */
-
-/* @(#) $Id: trees.c 1688 2005-01-01 04:42:26Z scribe $ */
-
-/* #define GEN_TREES_H */
-
-#include "deflate.h"
-
-#ifdef DEBUG
-# include <ctype.h>
-#endif
-
-/* ===========================================================================
- * Constants
- */
-
-#define MAX_BL_BITS 7
-/* Bit length codes must not exceed MAX_BL_BITS bits */
-
-#define END_BLOCK 256
-/* end of block literal code */
-
-#define REP_3_6 16
-/* repeat previous bit length 3-6 times (2 bits of repeat count) */
-
-#define REPZ_3_10 17
-/* repeat a zero length 3-10 times (3 bits of repeat count) */
-
-#define REPZ_11_138 18
-/* repeat a zero length 11-138 times (7 bits of repeat count) */
-
-local const int extra_lbits[LENGTH_CODES] /* extra bits for each length code */
- = {0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0};
-
-local const int extra_dbits[D_CODES] /* extra bits for each distance code */
- = {0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13};
-
-local const int extra_blbits[BL_CODES]/* extra bits for each bit length code */
- = {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7};
-
-local const uch bl_order[BL_CODES]
- = {16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15};
-/* The lengths of the bit length codes are sent in order of decreasing
- * probability, to avoid transmitting the lengths for unused bit length codes.
- */
-
-#define Buf_size (8 * 2*sizeof(char))
-/* Number of bits used within bi_buf. (bi_buf might be implemented on
- * more than 16 bits on some systems.)
- */
-
-/* ===========================================================================
- * Local data. These are initialized only once.
- */
-
-#define DIST_CODE_LEN 512 /* see definition of array dist_code below */
-
-#if defined(GEN_TREES_H) || !defined(STDC)
-/* non ANSI compilers may not accept trees.h */
-
-local ct_data static_ltree[L_CODES+2];
-/* The static literal tree. Since the bit lengths are imposed, there is no
- * need for the L_CODES extra codes used during heap construction. However
- * The codes 286 and 287 are needed to build a canonical tree (see _tr_init
- * below).
- */
-
-local ct_data static_dtree[D_CODES];
-/* The static distance tree. (Actually a trivial tree since all codes use
- * 5 bits.)
- */
-
-uch _dist_code[DIST_CODE_LEN];
-/* Distance codes. The first 256 values correspond to the distances
- * 3 .. 258, the last 256 values correspond to the top 8 bits of
- * the 15 bit distances.
- */
-
-uch _length_code[MAX_MATCH-MIN_MATCH+1];
-/* length code for each normalized match length (0 == MIN_MATCH) */
-
-local int base_length[LENGTH_CODES];
-/* First normalized length for each code (0 = MIN_MATCH) */
-
-local int base_dist[D_CODES];
-/* First normalized distance for each code (0 = distance of 1) */
-
-#else
-# include "trees.h"
-#endif /* GEN_TREES_H */
-
-struct static_tree_desc_s {
- const ct_data *static_tree; /* static tree or NULL */
- const intf *extra_bits; /* extra bits for each code or NULL */
- int extra_base; /* base index for extra_bits */
- int elems; /* max number of elements in the tree */
- int max_length; /* max bit length for the codes */
-};
-
-local static_tree_desc static_l_desc =
-{static_ltree, extra_lbits, LITERALS+1, L_CODES, MAX_BITS};
-
-local static_tree_desc static_d_desc =
-{static_dtree, extra_dbits, 0, D_CODES, MAX_BITS};
-
-local static_tree_desc static_bl_desc =
-{(const ct_data *)0, extra_blbits, 0, BL_CODES, MAX_BL_BITS};
-
-/* ===========================================================================
- * Local (static) routines in this file.
- */
-
-local void tr_static_init OF((void));
-local void init_block OF((deflate_state *s));
-local void pqdownheap OF((deflate_state *s, ct_data *tree, int k));
-local void gen_bitlen OF((deflate_state *s, tree_desc *desc));
-local void gen_codes OF((ct_data *tree, int max_code, ushf *bl_count));
-local void build_tree OF((deflate_state *s, tree_desc *desc));
-local void scan_tree OF((deflate_state *s, ct_data *tree, int max_code));
-local void send_tree OF((deflate_state *s, ct_data *tree, int max_code));
-local int build_bl_tree OF((deflate_state *s));
-local void send_all_trees OF((deflate_state *s, int lcodes, int dcodes,
- int blcodes));
-local void compress_block OF((deflate_state *s, ct_data *ltree,
- ct_data *dtree));
-local void set_data_type OF((deflate_state *s));
-local unsigned bi_reverse OF((unsigned value, int length));
-local void bi_windup OF((deflate_state *s));
-local void bi_flush OF((deflate_state *s));
-local void copy_block OF((deflate_state *s, charf *buf, unsigned len,
- int header));
-
-#ifdef GEN_TREES_H
-local void gen_trees_header OF((void));
-#endif
-
-#ifndef DEBUG
-# define send_code(s, c, tree) send_bits(s, tree[c].Code, tree[c].Len)
- /* Send a code of the given tree. c and tree must not have side effects */
-
-#else /* DEBUG */
-# define send_code(s, c, tree) \
- { if (z_verbose>2) fprintf(stderr,"\ncd %3d ",(c)); \
- send_bits(s, tree[c].Code, tree[c].Len); }
-#endif
-
-/* ===========================================================================
- * Output a short LSB first on the stream.
- * IN assertion: there is enough room in pendingBuf.
- */
-#define put_short(s, w) { \
- put_byte(s, (uch)((w) & 0xff)); \
- put_byte(s, (uch)((ush)(w) >> 8)); \
-}
-
-/* ===========================================================================
- * Send a value on a given number of bits.
- * IN assertion: length <= 16 and value fits in length bits.
- */
-#ifdef DEBUG
-local void send_bits OF((deflate_state *s, int value, int length));
-
-local void send_bits(s, value, length)
- deflate_state *s;
- int value; /* value to send */
- int length; /* number of bits */
-{
- Tracevv((stderr," l %2d v %4x ", length, value));
- Assert(length > 0 && length <= 15, "invalid length");
- s->bits_sent += (ulg)length;
-
- /* If not enough room in bi_buf, use (valid) bits from bi_buf and
- * (16 - bi_valid) bits from value, leaving (width - (16-bi_valid))
- * unused bits in value.
- */
- if (s->bi_valid > (int)Buf_size - length) {
- s->bi_buf |= (value << s->bi_valid);
- put_short(s, s->bi_buf);
- s->bi_buf = (ush)value >> (Buf_size - s->bi_valid);
- s->bi_valid += length - Buf_size;
- } else {
- s->bi_buf |= value << s->bi_valid;
- s->bi_valid += length;
- }
-}
-#else /* !DEBUG */
-
-#define send_bits(s, value, length) \
-{ int len = length;\
- if (s->bi_valid > (int)Buf_size - len) {\
- int val = value;\
- s->bi_buf |= (val << s->bi_valid);\
- put_short(s, s->bi_buf);\
- s->bi_buf = (ush)val >> (Buf_size - s->bi_valid);\
- s->bi_valid += len - Buf_size;\
- } else {\
- s->bi_buf |= (value) << s->bi_valid;\
- s->bi_valid += len;\
- }\
-}
-#endif /* DEBUG */
-
-
-#define MAX(a,b) (a >= b ? a : b)
-/* the arguments must not have side effects */
-
-/* ===========================================================================
- * Initialize the various 'constant' tables.
- */
-local void tr_static_init()
-{
-#if defined(GEN_TREES_H) || !defined(STDC)
- static int static_init_done = 0;
- int n; /* iterates over tree elements */
- int bits; /* bit counter */
- int length; /* length value */
- int code; /* code value */
- int dist; /* distance index */
- ush bl_count[MAX_BITS+1];
- /* number of codes at each bit length for an optimal tree */
-
- if (static_init_done) return;
-
- /* For some embedded targets, global variables are not initialized: */
- static_l_desc.static_tree = static_ltree;
- static_l_desc.extra_bits = extra_lbits;
- static_d_desc.static_tree = static_dtree;
- static_d_desc.extra_bits = extra_dbits;
- static_bl_desc.extra_bits = extra_blbits;
-
- /* Initialize the mapping length (0..255) -> length code (0..28) */
- length = 0;
- for (code = 0; code < LENGTH_CODES-1; code++) {
- base_length[code] = length;
- for (n = 0; n < (1<<extra_lbits[code]); n++) {
- _length_code[length++] = (uch)code;
- }
- }
- Assert (length == 256, "tr_static_init: length != 256");
- /* Note that the length 255 (match length 258) can be represented
- * in two different ways: code 284 + 5 bits or code 285, so we
- * overwrite length_code[255] to use the best encoding:
- */
- _length_code[length-1] = (uch)code;
-
- /* Initialize the mapping dist (0..32K) -> dist code (0..29) */
- dist = 0;
- for (code = 0 ; code < 16; code++) {
- base_dist[code] = dist;
- for (n = 0; n < (1<<extra_dbits[code]); n++) {
- _dist_code[dist++] = (uch)code;
- }
- }
- Assert (dist == 256, "tr_static_init: dist != 256");
- dist >>= 7; /* from now on, all distances are divided by 128 */
- for ( ; code < D_CODES; code++) {
- base_dist[code] = dist << 7;
- for (n = 0; n < (1<<(extra_dbits[code]-7)); n++) {
- _dist_code[256 + dist++] = (uch)code;
- }
- }
- Assert (dist == 256, "tr_static_init: 256+dist != 512");
-
- /* Construct the codes of the static literal tree */
- for (bits = 0; bits <= MAX_BITS; bits++) bl_count[bits] = 0;
- n = 0;
- while (n <= 143) static_ltree[n++].Len = 8, bl_count[8]++;
- while (n <= 255) static_ltree[n++].Len = 9, bl_count[9]++;
- while (n <= 279) static_ltree[n++].Len = 7, bl_count[7]++;
- while (n <= 287) static_ltree[n++].Len = 8, bl_count[8]++;
- /* Codes 286 and 287 do not exist, but we must include them in the
- * tree construction to get a canonical Huffman tree (longest code
- * all ones)
- */
- gen_codes((ct_data *)static_ltree, L_CODES+1, bl_count);
-
- /* The static distance tree is trivial: */
- for (n = 0; n < D_CODES; n++) {
- static_dtree[n].Len = 5;
- static_dtree[n].Code = bi_reverse((unsigned)n, 5);
- }
- static_init_done = 1;
-
-# ifdef GEN_TREES_H
- gen_trees_header();
-# endif
-#endif /* defined(GEN_TREES_H) || !defined(STDC) */
-}
-
-/* ===========================================================================
- * Genererate the file trees.h describing the static trees.
- */
-#ifdef GEN_TREES_H
-# ifndef DEBUG
-# include <stdio.h>
-# endif
-
-# define SEPARATOR(i, last, width) \
- ((i) == (last)? "\n};\n\n" : \
- ((i) % (width) == (width)-1 ? ",\n" : ", "))
-
-void gen_trees_header()
-{
- FILE *header = fopen("trees.h", "w");
- int i;
-
- Assert (header != NULL, "Can't open trees.h");
- fprintf(header,
- "/* header created automatically with -DGEN_TREES_H */\n\n");
-
- fprintf(header, "local const ct_data static_ltree[L_CODES+2] = {\n");
- for (i = 0; i < L_CODES+2; i++) {
- fprintf(header, "{{%3u},{%3u}}%s", static_ltree[i].Code,
- static_ltree[i].Len, SEPARATOR(i, L_CODES+1, 5));
- }
-
- fprintf(header, "local const ct_data static_dtree[D_CODES] = {\n");
- for (i = 0; i < D_CODES; i++) {
- fprintf(header, "{{%2u},{%2u}}%s", static_dtree[i].Code,
- static_dtree[i].Len, SEPARATOR(i, D_CODES-1, 5));
- }
-
- fprintf(header, "const uch _dist_code[DIST_CODE_LEN] = {\n");
- for (i = 0; i < DIST_CODE_LEN; i++) {
- fprintf(header, "%2u%s", _dist_code[i],
- SEPARATOR(i, DIST_CODE_LEN-1, 20));
- }
-
- fprintf(header, "const uch _length_code[MAX_MATCH-MIN_MATCH+1]= {\n");
- for (i = 0; i < MAX_MATCH-MIN_MATCH+1; i++) {
- fprintf(header, "%2u%s", _length_code[i],
- SEPARATOR(i, MAX_MATCH-MIN_MATCH, 20));
- }
-
- fprintf(header, "local const int base_length[LENGTH_CODES] = {\n");
- for (i = 0; i < LENGTH_CODES; i++) {
- fprintf(header, "%1u%s", base_length[i],
- SEPARATOR(i, LENGTH_CODES-1, 20));
- }
-
- fprintf(header, "local const int base_dist[D_CODES] = {\n");
- for (i = 0; i < D_CODES; i++) {
- fprintf(header, "%5u%s", base_dist[i],
- SEPARATOR(i, D_CODES-1, 10));
- }
-
- fclose(header);
-}
-#endif /* GEN_TREES_H */
-
-/* ===========================================================================
- * Initialize the tree data structures for a new zlib stream.
- */
-void _tr_init(s)
- deflate_state *s;
-{
- tr_static_init();
-
- s->l_desc.dyn_tree = s->dyn_ltree;
- s->l_desc.stat_desc = &static_l_desc;
-
- s->d_desc.dyn_tree = s->dyn_dtree;
- s->d_desc.stat_desc = &static_d_desc;
-
- s->bl_desc.dyn_tree = s->bl_tree;
- s->bl_desc.stat_desc = &static_bl_desc;
-
- s->bi_buf = 0;
- s->bi_valid = 0;
- s->last_eob_len = 8; /* enough lookahead for inflate */
-#ifdef DEBUG
- s->compressed_len = 0L;
- s->bits_sent = 0L;
-#endif
-
- /* Initialize the first block of the first file: */
- init_block(s);
-}
-
-/* ===========================================================================
- * Initialize a new block.
- */
-local void init_block(s)
- deflate_state *s;
-{
- int n; /* iterates over tree elements */
-
- /* Initialize the trees. */
- for (n = 0; n < L_CODES; n++) s->dyn_ltree[n].Freq = 0;
- for (n = 0; n < D_CODES; n++) s->dyn_dtree[n].Freq = 0;
- for (n = 0; n < BL_CODES; n++) s->bl_tree[n].Freq = 0;
-
- s->dyn_ltree[END_BLOCK].Freq = 1;
- s->opt_len = s->static_len = 0L;
- s->last_lit = s->matches = 0;
-}
-
-#define SMALLEST 1
-/* Index within the heap array of least frequent node in the Huffman tree */
-
-
-/* ===========================================================================
- * Remove the smallest element from the heap and recreate the heap with
- * one less element. Updates heap and heap_len.
- */
-#define pqremove(s, tree, top) \
-{\
- top = s->heap[SMALLEST]; \
- s->heap[SMALLEST] = s->heap[s->heap_len--]; \
- pqdownheap(s, tree, SMALLEST); \
-}
-
-/* ===========================================================================
- * Compares to subtrees, using the tree depth as tie breaker when
- * the subtrees have equal frequency. This minimizes the worst case length.
- */
-#define smaller(tree, n, m, depth) \
- (tree[n].Freq < tree[m].Freq || \
- (tree[n].Freq == tree[m].Freq && depth[n] <= depth[m]))
-
-/* ===========================================================================
- * Restore the heap property by moving down the tree starting at node k,
- * exchanging a node with the smallest of its two sons if necessary, stopping
- * when the heap property is re-established (each father smaller than its
- * two sons).
- */
-local void pqdownheap(s, tree, k)
- deflate_state *s;
- ct_data *tree; /* the tree to restore */
- int k; /* node to move down */
-{
- int v = s->heap[k];
- int j = k << 1; /* left son of k */
- while (j <= s->heap_len) {
- /* Set j to the smallest of the two sons: */
- if (j < s->heap_len &&
- smaller(tree, s->heap[j+1], s->heap[j], s->depth)) {
- j++;
- }
- /* Exit if v is smaller than both sons */
- if (smaller(tree, v, s->heap[j], s->depth)) break;
-
- /* Exchange v with the smallest son */
- s->heap[k] = s->heap[j]; k = j;
-
- /* And continue down the tree, setting j to the left son of k */
- j <<= 1;
- }
- s->heap[k] = v;
-}
-
-/* ===========================================================================
- * Compute the optimal bit lengths for a tree and update the total bit length
- * for the current block.
- * IN assertion: the fields freq and dad are set, heap[heap_max] and
- * above are the tree nodes sorted by increasing frequency.
- * OUT assertions: the field len is set to the optimal bit length, the
- * array bl_count contains the frequencies for each bit length.
- * The length opt_len is updated; static_len is also updated if stree is
- * not null.
- */
-local void gen_bitlen(s, desc)
- deflate_state *s;
- tree_desc *desc; /* the tree descriptor */
-{
- ct_data *tree = desc->dyn_tree;
- int max_code = desc->max_code;
- const ct_data *stree = desc->stat_desc->static_tree;
- const intf *extra = desc->stat_desc->extra_bits;
- int base = desc->stat_desc->extra_base;
- int max_length = desc->stat_desc->max_length;
- int h; /* heap index */
- int n, m; /* iterate over the tree elements */
- int bits; /* bit length */
- int xbits; /* extra bits */
- ush f; /* frequency */
- int overflow = 0; /* number of elements with bit length too large */
-
- for (bits = 0; bits <= MAX_BITS; bits++) s->bl_count[bits] = 0;
-
- /* In a first pass, compute the optimal bit lengths (which may
- * overflow in the case of the bit length tree).
- */
- tree[s->heap[s->heap_max]].Len = 0; /* root of the heap */
-
- for (h = s->heap_max+1; h < HEAP_SIZE; h++) {
- n = s->heap[h];
- bits = tree[tree[n].Dad].Len + 1;
- if (bits > max_length) bits = max_length, overflow++;
- tree[n].Len = (ush)bits;
- /* We overwrite tree[n].Dad which is no longer needed */
-
- if (n > max_code) continue; /* not a leaf node */
-
- s->bl_count[bits]++;
- xbits = 0;
- if (n >= base) xbits = extra[n-base];
- f = tree[n].Freq;
- s->opt_len += (ulg)f * (bits + xbits);
- if (stree) s->static_len += (ulg)f * (stree[n].Len + xbits);
- }
- if (overflow == 0) return;
-
- Trace((stderr,"\nbit length overflow\n"));
- /* This happens for example on obj2 and pic of the Calgary corpus */
-
- /* Find the first bit length which could increase: */
- do {
- bits = max_length-1;
- while (s->bl_count[bits] == 0) bits--;
- s->bl_count[bits]--; /* move one leaf down the tree */
- s->bl_count[bits+1] += 2; /* move one overflow item as its brother */
- s->bl_count[max_length]--;
- /* The brother of the overflow item also moves one step up,
- * but this does not affect bl_count[max_length]
- */
- overflow -= 2;
- } while (overflow > 0);
-
- /* Now recompute all bit lengths, scanning in increasing frequency.
- * h is still equal to HEAP_SIZE. (It is simpler to reconstruct all
- * lengths instead of fixing only the wrong ones. This idea is taken
- * from 'ar' written by Haruhiko Okumura.)
- */
- for (bits = max_length; bits != 0; bits--) {
- n = s->bl_count[bits];
- while (n != 0) {
- m = s->heap[--h];
- if (m > max_code) continue;
- if (tree[m].Len != (unsigned) bits) {
- Trace((stderr,"code %d bits %d->%d\n", m, tree[m].Len, bits));
- s->opt_len += ((long)bits - (long)tree[m].Len)
- *(long)tree[m].Freq;
- tree[m].Len = (ush)bits;
- }
- n--;
- }
- }
-}
-
-/* ===========================================================================
- * Generate the codes for a given tree and bit counts (which need not be
- * optimal).
- * IN assertion: the array bl_count contains the bit length statistics for
- * the given tree and the field len is set for all tree elements.
- * OUT assertion: the field code is set for all tree elements of non
- * zero code length.
- */
-local void gen_codes (tree, max_code, bl_count)
- ct_data *tree; /* the tree to decorate */
- int max_code; /* largest code with non zero frequency */
- ushf *bl_count; /* number of codes at each bit length */
-{
- ush next_code[MAX_BITS+1]; /* next code value for each bit length */
- ush code = 0; /* running code value */
- int bits; /* bit index */
- int n; /* code index */
-
- /* The distribution counts are first used to generate the code values
- * without bit reversal.
- */
- for (bits = 1; bits <= MAX_BITS; bits++) {
- next_code[bits] = code = (code + bl_count[bits-1]) << 1;
- }
- /* Check that the bit counts in bl_count are consistent. The last code
- * must be all ones.
- */
- Assert (code + bl_count[MAX_BITS]-1 == (1<<MAX_BITS)-1,
- "inconsistent bit counts");
- Tracev((stderr,"\ngen_codes: max_code %d ", max_code));
-
- for (n = 0; n <= max_code; n++) {
- int len = tree[n].Len;
- if (len == 0) continue;
- /* Now reverse the bits */
- tree[n].Code = bi_reverse(next_code[len]++, len);
-
- Tracecv(tree != static_ltree, (stderr,"\nn %3d %c l %2d c %4x (%x) ",
- n, (isgraph(n) ? n : ' '), len, tree[n].Code, next_code[len]-1));
- }
-}
-
-/* ===========================================================================
- * Construct one Huffman tree and assigns the code bit strings and lengths.
- * Update the total bit length for the current block.
- * IN assertion: the field freq is set for all tree elements.
- * OUT assertions: the fields len and code are set to the optimal bit length
- * and corresponding code. The length opt_len is updated; static_len is
- * also updated if stree is not null. The field max_code is set.
- */
-local void build_tree(s, desc)
- deflate_state *s;
- tree_desc *desc; /* the tree descriptor */
-{
- ct_data *tree = desc->dyn_tree;
- const ct_data *stree = desc->stat_desc->static_tree;
- int elems = desc->stat_desc->elems;
- int n, m; /* iterate over heap elements */
- int max_code = -1; /* largest code with non zero frequency */
- int node; /* new node being created */
-
- /* Construct the initial heap, with least frequent element in
- * heap[SMALLEST]. The sons of heap[n] are heap[2*n] and heap[2*n+1].
- * heap[0] is not used.
- */
- s->heap_len = 0, s->heap_max = HEAP_SIZE;
-
- for (n = 0; n < elems; n++) {
- if (tree[n].Freq != 0) {
- s->heap[++(s->heap_len)] = max_code = n;
- s->depth[n] = 0;
- } else {
- tree[n].Len = 0;
- }
- }
-
- /* The pkzip format requires that at least one distance code exists,
- * and that at least one bit should be sent even if there is only one
- * possible code. So to avoid special checks later on we force at least
- * two codes of non zero frequency.
- */
- while (s->heap_len < 2) {
- node = s->heap[++(s->heap_len)] = (max_code < 2 ? ++max_code : 0);
- tree[node].Freq = 1;
- s->depth[node] = 0;
- s->opt_len--; if (stree) s->static_len -= stree[node].Len;
- /* node is 0 or 1 so it does not have extra bits */
- }
- desc->max_code = max_code;
-
- /* The elements heap[heap_len/2+1 .. heap_len] are leaves of the tree,
- * establish sub-heaps of increasing lengths:
- */
- for (n = s->heap_len/2; n >= 1; n--) pqdownheap(s, tree, n);
-
- /* Construct the Huffman tree by repeatedly combining the least two
- * frequent nodes.
- */
- node = elems; /* next internal node of the tree */
- do {
- pqremove(s, tree, n); /* n = node of least frequency */
- m = s->heap[SMALLEST]; /* m = node of next least frequency */
-
- s->heap[--(s->heap_max)] = n; /* keep the nodes sorted by frequency */
- s->heap[--(s->heap_max)] = m;
-
- /* Create a new node father of n and m */
- tree[node].Freq = tree[n].Freq + tree[m].Freq;
- s->depth[node] = (uch) (MAX(s->depth[n], s->depth[m]) + 1);
- tree[n].Dad = tree[m].Dad = (ush)node;
-#ifdef DUMP_BL_TREE
- if (tree == s->bl_tree) {
- fprintf(stderr,"\nnode %d(%d), sons %d(%d) %d(%d)",
- node, tree[node].Freq, n, tree[n].Freq, m, tree[m].Freq);
- }
-#endif
- /* and insert the new node in the heap */
- s->heap[SMALLEST] = node++;
- pqdownheap(s, tree, SMALLEST);
-
- } while (s->heap_len >= 2);
-
- s->heap[--(s->heap_max)] = s->heap[SMALLEST];
-
- /* At this point, the fields freq and dad are set. We can now
- * generate the bit lengths.
- */
- gen_bitlen(s, (tree_desc *)desc);
-
- /* The field len is now set, we can generate the bit codes */
- gen_codes ((ct_data *)tree, max_code, s->bl_count);
-}
-
-/* ===========================================================================
- * Scan a literal or distance tree to determine the frequencies of the codes
- * in the bit length tree.
- */
-local void scan_tree (s, tree, max_code)
- deflate_state *s;
- ct_data *tree; /* the tree to be scanned */
- int max_code; /* and its largest code of non zero frequency */
-{
- int n; /* iterates over all tree elements */
- int prevlen = -1; /* last emitted length */
- int curlen; /* length of current code */
- int nextlen = tree[0].Len; /* length of next code */
- int count = 0; /* repeat count of the current code */
- int max_count = 7; /* max repeat count */
- int min_count = 4; /* min repeat count */
-
- if (nextlen == 0) max_count = 138, min_count = 3;
- tree[max_code+1].Len = (ush)0xffff; /* guard */
-
- for (n = 0; n <= max_code; n++) {
- curlen = nextlen; nextlen = tree[n+1].Len;
- if (++count < max_count && curlen == nextlen) {
- continue;
- } else if (count < min_count) {
- s->bl_tree[curlen].Freq += count;
- } else if (curlen != 0) {
- if (curlen != prevlen) s->bl_tree[curlen].Freq++;
- s->bl_tree[REP_3_6].Freq++;
- } else if (count <= 10) {
- s->bl_tree[REPZ_3_10].Freq++;
- } else {
- s->bl_tree[REPZ_11_138].Freq++;
- }
- count = 0; prevlen = curlen;
- if (nextlen == 0) {
- max_count = 138, min_count = 3;
- } else if (curlen == nextlen) {
- max_count = 6, min_count = 3;
- } else {
- max_count = 7, min_count = 4;
- }
- }
-}
-
-/* ===========================================================================
- * Send a literal or distance tree in compressed form, using the codes in
- * bl_tree.
- */
-local void send_tree (s, tree, max_code)
- deflate_state *s;
- ct_data *tree; /* the tree to be scanned */
- int max_code; /* and its largest code of non zero frequency */
-{
- int n; /* iterates over all tree elements */
- int prevlen = -1; /* last emitted length */
- int curlen; /* length of current code */
- int nextlen = tree[0].Len; /* length of next code */
- int count = 0; /* repeat count of the current code */
- int max_count = 7; /* max repeat count */
- int min_count = 4; /* min repeat count */
-
- /* tree[max_code+1].Len = -1; */ /* guard already set */
- if (nextlen == 0) max_count = 138, min_count = 3;
-
- for (n = 0; n <= max_code; n++) {
- curlen = nextlen; nextlen = tree[n+1].Len;
- if (++count < max_count && curlen == nextlen) {
- continue;
- } else if (count < min_count) {
- do { send_code(s, curlen, s->bl_tree); } while (--count != 0);
-
- } else if (curlen != 0) {
- if (curlen != prevlen) {
- send_code(s, curlen, s->bl_tree); count--;
- }
- Assert(count >= 3 && count <= 6, " 3_6?");
- send_code(s, REP_3_6, s->bl_tree); send_bits(s, count-3, 2);
-
- } else if (count <= 10) {
- send_code(s, REPZ_3_10, s->bl_tree); send_bits(s, count-3, 3);
-
- } else {
- send_code(s, REPZ_11_138, s->bl_tree); send_bits(s, count-11, 7);
- }
- count = 0; prevlen = curlen;
- if (nextlen == 0) {
- max_count = 138, min_count = 3;
- } else if (curlen == nextlen) {
- max_count = 6, min_count = 3;
- } else {
- max_count = 7, min_count = 4;
- }
- }
-}
-
-/* ===========================================================================
- * Construct the Huffman tree for the bit lengths and return the index in
- * bl_order of the last bit length code to send.
- */
-local int build_bl_tree(s)
- deflate_state *s;
-{
- int max_blindex; /* index of last bit length code of non zero freq */
-
- /* Determine the bit length frequencies for literal and distance trees */
- scan_tree(s, (ct_data *)s->dyn_ltree, s->l_desc.max_code);
- scan_tree(s, (ct_data *)s->dyn_dtree, s->d_desc.max_code);
-
- /* Build the bit length tree: */
- build_tree(s, (tree_desc *)(&(s->bl_desc)));
- /* opt_len now includes the length of the tree representations, except
- * the lengths of the bit lengths codes and the 5+5+4 bits for the counts.
- */
-
- /* Determine the number of bit length codes to send. The pkzip format
- * requires that at least 4 bit length codes be sent. (appnote.txt says
- * 3 but the actual value used is 4.)
- */
- for (max_blindex = BL_CODES-1; max_blindex >= 3; max_blindex--) {
- if (s->bl_tree[bl_order[max_blindex]].Len != 0) break;
- }
- /* Update opt_len to include the bit length tree and counts */
- s->opt_len += 3*(max_blindex+1) + 5+5+4;
- Tracev((stderr, "\ndyn trees: dyn %ld, stat %ld",
- s->opt_len, s->static_len));
-
- return max_blindex;
-}
-
-/* ===========================================================================
- * Send the header for a block using dynamic Huffman trees: the counts, the
- * lengths of the bit length codes, the literal tree and the distance tree.
- * IN assertion: lcodes >= 257, dcodes >= 1, blcodes >= 4.
- */
-local void send_all_trees(s, lcodes, dcodes, blcodes)
- deflate_state *s;
- int lcodes, dcodes, blcodes; /* number of codes for each tree */
-{
- int rank; /* index in bl_order */
-
- Assert (lcodes >= 257 && dcodes >= 1 && blcodes >= 4, "not enough codes");
- Assert (lcodes <= L_CODES && dcodes <= D_CODES && blcodes <= BL_CODES,
- "too many codes");
- Tracev((stderr, "\nbl counts: "));
- send_bits(s, lcodes-257, 5); /* not +255 as stated in appnote.txt */
- send_bits(s, dcodes-1, 5);
- send_bits(s, blcodes-4, 4); /* not -3 as stated in appnote.txt */
- for (rank = 0; rank < blcodes; rank++) {
- Tracev((stderr, "\nbl code %2d ", bl_order[rank]));
- send_bits(s, s->bl_tree[bl_order[rank]].Len, 3);
- }
- Tracev((stderr, "\nbl tree: sent %ld", s->bits_sent));
-
- send_tree(s, (ct_data *)s->dyn_ltree, lcodes-1); /* literal tree */
- Tracev((stderr, "\nlit tree: sent %ld", s->bits_sent));
-
- send_tree(s, (ct_data *)s->dyn_dtree, dcodes-1); /* distance tree */
- Tracev((stderr, "\ndist tree: sent %ld", s->bits_sent));
-}
-
-/* ===========================================================================
- * Send a stored block
- */
-void _tr_stored_block(s, buf, stored_len, eof)
- deflate_state *s;
- charf *buf; /* input block */
- ulg stored_len; /* length of input block */
- int eof; /* true if this is the last block for a file */
-{
- send_bits(s, (STORED_BLOCK<<1)+eof, 3); /* send block type */
-#ifdef DEBUG
- s->compressed_len = (s->compressed_len + 3 + 7) & (ulg)~7L;
- s->compressed_len += (stored_len + 4) << 3;
-#endif
- copy_block(s, buf, (unsigned)stored_len, 1); /* with header */
-}
-
-/* ===========================================================================
- * Send one empty static block to give enough lookahead for inflate.
- * This takes 10 bits, of which 7 may remain in the bit buffer.
- * The current inflate code requires 9 bits of lookahead. If the
- * last two codes for the previous block (real code plus EOB) were coded
- * on 5 bits or less, inflate may have only 5+3 bits of lookahead to decode
- * the last real code. In this case we send two empty static blocks instead
- * of one. (There are no problems if the previous block is stored or fixed.)
- * To simplify the code, we assume the worst case of last real code encoded
- * on one bit only.
- */
-void _tr_align(s)
- deflate_state *s;
-{
- send_bits(s, STATIC_TREES<<1, 3);
- send_code(s, END_BLOCK, static_ltree);
-#ifdef DEBUG
- s->compressed_len += 10L; /* 3 for block type, 7 for EOB */
-#endif
- bi_flush(s);
- /* Of the 10 bits for the empty block, we have already sent
- * (10 - bi_valid) bits. The lookahead for the last real code (before
- * the EOB of the previous block) was thus at least one plus the length
- * of the EOB plus what we have just sent of the empty static block.
- */
- if (1 + s->last_eob_len + 10 - s->bi_valid < 9) {
- send_bits(s, STATIC_TREES<<1, 3);
- send_code(s, END_BLOCK, static_ltree);
-#ifdef DEBUG
- s->compressed_len += 10L;
-#endif
- bi_flush(s);
- }
- s->last_eob_len = 7;
-}
-
-/* ===========================================================================
- * Determine the best encoding for the current block: dynamic trees, static
- * trees or store, and output the encoded block to the zip file.
- */
-void _tr_flush_block(s, buf, stored_len, eof)
- deflate_state *s;
- charf *buf; /* input block, or NULL if too old */
- ulg stored_len; /* length of input block */
- int eof; /* true if this is the last block for a file */
-{
- ulg opt_lenb, static_lenb; /* opt_len and static_len in bytes */
- int max_blindex = 0; /* index of last bit length code of non zero freq */
-
- /* Build the Huffman trees unless a stored block is forced */
- if (s->level > 0) {
-
- /* Check if the file is ascii or binary */
- if (s->data_type == Z_UNKNOWN) set_data_type(s);
-
- /* Construct the literal and distance trees */
- build_tree(s, (tree_desc *)(&(s->l_desc)));
- Tracev((stderr, "\nlit data: dyn %ld, stat %ld", s->opt_len,
- s->static_len));
-
- build_tree(s, (tree_desc *)(&(s->d_desc)));
- Tracev((stderr, "\ndist data: dyn %ld, stat %ld", s->opt_len,
- s->static_len));
- /* At this point, opt_len and static_len are the total bit lengths of
- * the compressed block data, excluding the tree representations.
- */
-
- /* Build the bit length tree for the above two trees, and get the index
- * in bl_order of the last bit length code to send.
- */
- max_blindex = build_bl_tree(s);
-
- /* Determine the best encoding. Compute first the block length in bytes*/
- opt_lenb = (s->opt_len+3+7)>>3;
- static_lenb = (s->static_len+3+7)>>3;
-
- Tracev((stderr, "\nopt %lu(%lu) stat %lu(%lu) stored %lu lit %u ",
- opt_lenb, s->opt_len, static_lenb, s->static_len, stored_len,
- s->last_lit));
-
- if (static_lenb <= opt_lenb) opt_lenb = static_lenb;
-
- } else {
- Assert(buf != (char*)0, "lost buf");
- opt_lenb = static_lenb = stored_len + 5; /* force a stored block */
- }
-
-#ifdef FORCE_STORED
- if (buf != (char*)0) { /* force stored block */
-#else
- if (stored_len+4 <= opt_lenb && buf != (char*)0) {
- /* 4: two words for the lengths */
-#endif
- /* The test buf != NULL is only necessary if LIT_BUFSIZE > WSIZE.
- * Otherwise we can't have processed more than WSIZE input bytes since
- * the last block flush, because compression would have been
- * successful. If LIT_BUFSIZE <= WSIZE, it is never too late to
- * transform a block into a stored block.
- */
- _tr_stored_block(s, buf, stored_len, eof);
-
-#ifdef FORCE_STATIC
- } else if (static_lenb >= 0) { /* force static trees */
-#else
- } else if (static_lenb == opt_lenb) {
-#endif
- send_bits(s, (STATIC_TREES<<1)+eof, 3);
- compress_block(s, (ct_data *)static_ltree, (ct_data *)static_dtree);
-#ifdef DEBUG
- s->compressed_len += 3 + s->static_len;
-#endif
- } else {
- send_bits(s, (DYN_TREES<<1)+eof, 3);
- send_all_trees(s, s->l_desc.max_code+1, s->d_desc.max_code+1,
- max_blindex+1);
- compress_block(s, (ct_data *)s->dyn_ltree, (ct_data *)s->dyn_dtree);
-#ifdef DEBUG
- s->compressed_len += 3 + s->opt_len;
-#endif
- }
- Assert (s->compressed_len == s->bits_sent, "bad compressed size");
- /* The above check is made mod 2^32, for files larger than 512 MB
- * and uLong implemented on 32 bits.
- */
- init_block(s);
-
- if (eof) {
- bi_windup(s);
-#ifdef DEBUG
- s->compressed_len += 7; /* align on byte boundary */
-#endif
- }
- Tracev((stderr,"\ncomprlen %lu(%lu) ", s->compressed_len>>3,
- s->compressed_len-7*eof));
-}
-
-/* ===========================================================================
- * Save the match info and tally the frequency counts. Return true if
- * the current block must be flushed.
- */
-int _tr_tally (s, dist, lc)
- deflate_state *s;
- unsigned dist; /* distance of matched string */
- unsigned lc; /* match length-MIN_MATCH or unmatched char (if dist==0) */
-{
- s->d_buf[s->last_lit] = (ush)dist;
- s->l_buf[s->last_lit++] = (uch)lc;
- if (dist == 0) {
- /* lc is the unmatched char */
- s->dyn_ltree[lc].Freq++;
- } else {
- s->matches++;
- /* Here, lc is the match length - MIN_MATCH */
- dist--; /* dist = match distance - 1 */
- Assert((ush)dist < (ush)MAX_DIST(s) &&
- (ush)lc <= (ush)(MAX_MATCH-MIN_MATCH) &&
- (ush)d_code(dist) < (ush)D_CODES, "_tr_tally: bad match");
-
- s->dyn_ltree[_length_code[lc]+LITERALS+1].Freq++;
- s->dyn_dtree[d_code(dist)].Freq++;
- }
-
-#ifdef TRUNCATE_BLOCK
- /* Try to guess if it is profitable to stop the current block here */
- if ((s->last_lit & 0x1fff) == 0 && s->level > 2) {
- /* Compute an upper bound for the compressed length */
- ulg out_length = (ulg)s->last_lit*8L;
- ulg in_length = (ulg)((long)s->strstart - s->block_start);
- int dcode;
- for (dcode = 0; dcode < D_CODES; dcode++) {
- out_length += (ulg)s->dyn_dtree[dcode].Freq *
- (5L+extra_dbits[dcode]);
- }
- out_length >>= 3;
- Tracev((stderr,"\nlast_lit %u, in %ld, out ~%ld(%ld%%) ",
- s->last_lit, in_length, out_length,
- 100L - out_length*100L/in_length));
- if (s->matches < s->last_lit/2 && out_length < in_length/2) return 1;
- }
-#endif
- return (s->last_lit == s->lit_bufsize-1);
- /* We avoid equality with lit_bufsize because of wraparound at 64K
- * on 16 bit machines and because stored blocks are restricted to
- * 64K-1 bytes.
- */
-}
-
-/* ===========================================================================
- * Send the block data compressed using the given Huffman trees
- */
-local void compress_block(s, ltree, dtree)
- deflate_state *s;
- ct_data *ltree; /* literal tree */
- ct_data *dtree; /* distance tree */
-{
- unsigned dist; /* distance of matched string */
- int lc; /* match length or unmatched char (if dist == 0) */
- unsigned lx = 0; /* running index in l_buf */
- unsigned code; /* the code to send */
- int extra; /* number of extra bits to send */
-
- if (s->last_lit != 0) do {
- dist = s->d_buf[lx];
- lc = s->l_buf[lx++];
- if (dist == 0) {
- send_code(s, lc, ltree); /* send a literal byte */
- Tracecv(isgraph(lc), (stderr," '%c' ", lc));
- } else {
- /* Here, lc is the match length - MIN_MATCH */
- code = _length_code[lc];
- send_code(s, code+LITERALS+1, ltree); /* send the length code */
- extra = extra_lbits[code];
- if (extra != 0) {
- lc -= base_length[code];
- send_bits(s, lc, extra); /* send the extra length bits */
- }
- dist--; /* dist is now the match distance - 1 */
- code = d_code(dist);
- Assert (code < D_CODES, "bad d_code");
-
- send_code(s, code, dtree); /* send the distance code */
- extra = extra_dbits[code];
- if (extra != 0) {
- dist -= base_dist[code];
- send_bits(s, dist, extra); /* send the extra distance bits */
- }
- } /* literal or match pair ? */
-
- /* Check that the overlay between pending_buf and d_buf+l_buf is ok: */
- Assert(s->pending < s->lit_bufsize + 2*lx, "pendingBuf overflow");
-
- } while (lx < s->last_lit);
-
- send_code(s, END_BLOCK, ltree);
- s->last_eob_len = ltree[END_BLOCK].Len;
-}
-
-/* ===========================================================================
- * Set the data type to ASCII or BINARY, using a crude approximation:
- * binary if more than 20% of the bytes are <= 6 or >= 128, ascii otherwise.
- * IN assertion: the fields freq of dyn_ltree are set and the total of all
- * frequencies does not exceed 64K (to fit in an int on 16 bit machines).
- */
-local void set_data_type(s)
- deflate_state *s;
-{
- int n = 0;
- unsigned ascii_freq = 0;
- unsigned bin_freq = 0;
- while (n < 7) bin_freq += s->dyn_ltree[n++].Freq;
- while (n < 128) ascii_freq += s->dyn_ltree[n++].Freq;
- while (n < LITERALS) bin_freq += s->dyn_ltree[n++].Freq;
- s->data_type = (Byte)(bin_freq > (ascii_freq >> 2) ? Z_BINARY : Z_ASCII);
-}
-
-/* ===========================================================================
- * Reverse the first len bits of a code, using straightforward code (a faster
- * method would use a table)
- * IN assertion: 1 <= len <= 15
- */
-local unsigned bi_reverse(code, len)
- unsigned code; /* the value to invert */
- int len; /* its bit length */
-{
- register unsigned res = 0;
- do {
- res |= code & 1;
- code >>= 1, res <<= 1;
- } while (--len > 0);
- return res >> 1;
-}
-
-/* ===========================================================================
- * Flush the bit buffer, keeping at most 7 bits in it.
- */
-local void bi_flush(s)
- deflate_state *s;
-{
- if (s->bi_valid == 16) {
- put_short(s, s->bi_buf);
- s->bi_buf = 0;
- s->bi_valid = 0;
- } else if (s->bi_valid >= 8) {
- put_byte(s, (Byte)s->bi_buf);
- s->bi_buf >>= 8;
- s->bi_valid -= 8;
- }
-}
-
-/* ===========================================================================
- * Flush the bit buffer and align the output on a byte boundary
- */
-local void bi_windup(s)
- deflate_state *s;
-{
- if (s->bi_valid > 8) {
- put_short(s, s->bi_buf);
- } else if (s->bi_valid > 0) {
- put_byte(s, (Byte)s->bi_buf);
- }
- s->bi_buf = 0;
- s->bi_valid = 0;
-#ifdef DEBUG
- s->bits_sent = (s->bits_sent+7) & ~7;
-#endif
-}
-
-/* ===========================================================================
- * Copy a stored block, storing first the length and its
- * one's complement if requested.
- */
-local void copy_block(s, buf, len, header)
- deflate_state *s;
- charf *buf; /* the input data */
- unsigned len; /* its length */
- int header; /* true if block header must be written */
-{
- bi_windup(s); /* align on byte boundary */
- s->last_eob_len = 8; /* enough lookahead for inflate */
-
- if (header) {
- put_short(s, (ush)len);
- put_short(s, (ush)~len);
-#ifdef DEBUG
- s->bits_sent += 2*16;
-#endif
- }
-#ifdef DEBUG
- s->bits_sent += (ulg)len<<3;
-#endif
- while (len--) {
- put_byte(s, *buf++);
- }
-}
diff --git a/src/utilfuns/zlib/trees.h b/src/utilfuns/zlib/trees.h
deleted file mode 100644
index 72facf9..0000000
--- a/src/utilfuns/zlib/trees.h
+++ /dev/null
@@ -1,128 +0,0 @@
-/* header created automatically with -DGEN_TREES_H */
-
-local const ct_data static_ltree[L_CODES+2] = {
-{{ 12},{ 8}}, {{140},{ 8}}, {{ 76},{ 8}}, {{204},{ 8}}, {{ 44},{ 8}},
-{{172},{ 8}}, {{108},{ 8}}, {{236},{ 8}}, {{ 28},{ 8}}, {{156},{ 8}},
-{{ 92},{ 8}}, {{220},{ 8}}, {{ 60},{ 8}}, {{188},{ 8}}, {{124},{ 8}},
-{{252},{ 8}}, {{ 2},{ 8}}, {{130},{ 8}}, {{ 66},{ 8}}, {{194},{ 8}},
-{{ 34},{ 8}}, {{162},{ 8}}, {{ 98},{ 8}}, {{226},{ 8}}, {{ 18},{ 8}},
-{{146},{ 8}}, {{ 82},{ 8}}, {{210},{ 8}}, {{ 50},{ 8}}, {{178},{ 8}},
-{{114},{ 8}}, {{242},{ 8}}, {{ 10},{ 8}}, {{138},{ 8}}, {{ 74},{ 8}},
-{{202},{ 8}}, {{ 42},{ 8}}, {{170},{ 8}}, {{106},{ 8}}, {{234},{ 8}},
-{{ 26},{ 8}}, {{154},{ 8}}, {{ 90},{ 8}}, {{218},{ 8}}, {{ 58},{ 8}},
-{{186},{ 8}}, {{122},{ 8}}, {{250},{ 8}}, {{ 6},{ 8}}, {{134},{ 8}},
-{{ 70},{ 8}}, {{198},{ 8}}, {{ 38},{ 8}}, {{166},{ 8}}, {{102},{ 8}},
-{{230},{ 8}}, {{ 22},{ 8}}, {{150},{ 8}}, {{ 86},{ 8}}, {{214},{ 8}},
-{{ 54},{ 8}}, {{182},{ 8}}, {{118},{ 8}}, {{246},{ 8}}, {{ 14},{ 8}},
-{{142},{ 8}}, {{ 78},{ 8}}, {{206},{ 8}}, {{ 46},{ 8}}, {{174},{ 8}},
-{{110},{ 8}}, {{238},{ 8}}, {{ 30},{ 8}}, {{158},{ 8}}, {{ 94},{ 8}},
-{{222},{ 8}}, {{ 62},{ 8}}, {{190},{ 8}}, {{126},{ 8}}, {{254},{ 8}},
-{{ 1},{ 8}}, {{129},{ 8}}, {{ 65},{ 8}}, {{193},{ 8}}, {{ 33},{ 8}},
-{{161},{ 8}}, {{ 97},{ 8}}, {{225},{ 8}}, {{ 17},{ 8}}, {{145},{ 8}},
-{{ 81},{ 8}}, {{209},{ 8}}, {{ 49},{ 8}}, {{177},{ 8}}, {{113},{ 8}},
-{{241},{ 8}}, {{ 9},{ 8}}, {{137},{ 8}}, {{ 73},{ 8}}, {{201},{ 8}},
-{{ 41},{ 8}}, {{169},{ 8}}, {{105},{ 8}}, {{233},{ 8}}, {{ 25},{ 8}},
-{{153},{ 8}}, {{ 89},{ 8}}, {{217},{ 8}}, {{ 57},{ 8}}, {{185},{ 8}},
-{{121},{ 8}}, {{249},{ 8}}, {{ 5},{ 8}}, {{133},{ 8}}, {{ 69},{ 8}},
-{{197},{ 8}}, {{ 37},{ 8}}, {{165},{ 8}}, {{101},{ 8}}, {{229},{ 8}},
-{{ 21},{ 8}}, {{149},{ 8}}, {{ 85},{ 8}}, {{213},{ 8}}, {{ 53},{ 8}},
-{{181},{ 8}}, {{117},{ 8}}, {{245},{ 8}}, {{ 13},{ 8}}, {{141},{ 8}},
-{{ 77},{ 8}}, {{205},{ 8}}, {{ 45},{ 8}}, {{173},{ 8}}, {{109},{ 8}},
-{{237},{ 8}}, {{ 29},{ 8}}, {{157},{ 8}}, {{ 93},{ 8}}, {{221},{ 8}},
-{{ 61},{ 8}}, {{189},{ 8}}, {{125},{ 8}}, {{253},{ 8}}, {{ 19},{ 9}},
-{{275},{ 9}}, {{147},{ 9}}, {{403},{ 9}}, {{ 83},{ 9}}, {{339},{ 9}},
-{{211},{ 9}}, {{467},{ 9}}, {{ 51},{ 9}}, {{307},{ 9}}, {{179},{ 9}},
-{{435},{ 9}}, {{115},{ 9}}, {{371},{ 9}}, {{243},{ 9}}, {{499},{ 9}},
-{{ 11},{ 9}}, {{267},{ 9}}, {{139},{ 9}}, {{395},{ 9}}, {{ 75},{ 9}},
-{{331},{ 9}}, {{203},{ 9}}, {{459},{ 9}}, {{ 43},{ 9}}, {{299},{ 9}},
-{{171},{ 9}}, {{427},{ 9}}, {{107},{ 9}}, {{363},{ 9}}, {{235},{ 9}},
-{{491},{ 9}}, {{ 27},{ 9}}, {{283},{ 9}}, {{155},{ 9}}, {{411},{ 9}},
-{{ 91},{ 9}}, {{347},{ 9}}, {{219},{ 9}}, {{475},{ 9}}, {{ 59},{ 9}},
-{{315},{ 9}}, {{187},{ 9}}, {{443},{ 9}}, {{123},{ 9}}, {{379},{ 9}},
-{{251},{ 9}}, {{507},{ 9}}, {{ 7},{ 9}}, {{263},{ 9}}, {{135},{ 9}},
-{{391},{ 9}}, {{ 71},{ 9}}, {{327},{ 9}}, {{199},{ 9}}, {{455},{ 9}},
-{{ 39},{ 9}}, {{295},{ 9}}, {{167},{ 9}}, {{423},{ 9}}, {{103},{ 9}},
-{{359},{ 9}}, {{231},{ 9}}, {{487},{ 9}}, {{ 23},{ 9}}, {{279},{ 9}},
-{{151},{ 9}}, {{407},{ 9}}, {{ 87},{ 9}}, {{343},{ 9}}, {{215},{ 9}},
-{{471},{ 9}}, {{ 55},{ 9}}, {{311},{ 9}}, {{183},{ 9}}, {{439},{ 9}},
-{{119},{ 9}}, {{375},{ 9}}, {{247},{ 9}}, {{503},{ 9}}, {{ 15},{ 9}},
-{{271},{ 9}}, {{143},{ 9}}, {{399},{ 9}}, {{ 79},{ 9}}, {{335},{ 9}},
-{{207},{ 9}}, {{463},{ 9}}, {{ 47},{ 9}}, {{303},{ 9}}, {{175},{ 9}},
-{{431},{ 9}}, {{111},{ 9}}, {{367},{ 9}}, {{239},{ 9}}, {{495},{ 9}},
-{{ 31},{ 9}}, {{287},{ 9}}, {{159},{ 9}}, {{415},{ 9}}, {{ 95},{ 9}},
-{{351},{ 9}}, {{223},{ 9}}, {{479},{ 9}}, {{ 63},{ 9}}, {{319},{ 9}},
-{{191},{ 9}}, {{447},{ 9}}, {{127},{ 9}}, {{383},{ 9}}, {{255},{ 9}},
-{{511},{ 9}}, {{ 0},{ 7}}, {{ 64},{ 7}}, {{ 32},{ 7}}, {{ 96},{ 7}},
-{{ 16},{ 7}}, {{ 80},{ 7}}, {{ 48},{ 7}}, {{112},{ 7}}, {{ 8},{ 7}},
-{{ 72},{ 7}}, {{ 40},{ 7}}, {{104},{ 7}}, {{ 24},{ 7}}, {{ 88},{ 7}},
-{{ 56},{ 7}}, {{120},{ 7}}, {{ 4},{ 7}}, {{ 68},{ 7}}, {{ 36},{ 7}},
-{{100},{ 7}}, {{ 20},{ 7}}, {{ 84},{ 7}}, {{ 52},{ 7}}, {{116},{ 7}},
-{{ 3},{ 8}}, {{131},{ 8}}, {{ 67},{ 8}}, {{195},{ 8}}, {{ 35},{ 8}},
-{{163},{ 8}}, {{ 99},{ 8}}, {{227},{ 8}}
-};
-
-local const ct_data static_dtree[D_CODES] = {
-{{ 0},{ 5}}, {{16},{ 5}}, {{ 8},{ 5}}, {{24},{ 5}}, {{ 4},{ 5}},
-{{20},{ 5}}, {{12},{ 5}}, {{28},{ 5}}, {{ 2},{ 5}}, {{18},{ 5}},
-{{10},{ 5}}, {{26},{ 5}}, {{ 6},{ 5}}, {{22},{ 5}}, {{14},{ 5}},
-{{30},{ 5}}, {{ 1},{ 5}}, {{17},{ 5}}, {{ 9},{ 5}}, {{25},{ 5}},
-{{ 5},{ 5}}, {{21},{ 5}}, {{13},{ 5}}, {{29},{ 5}}, {{ 3},{ 5}},
-{{19},{ 5}}, {{11},{ 5}}, {{27},{ 5}}, {{ 7},{ 5}}, {{23},{ 5}}
-};
-
-const uch _dist_code[DIST_CODE_LEN] = {
- 0, 1, 2, 3, 4, 4, 5, 5, 6, 6, 6, 6, 7, 7, 7, 7, 8, 8, 8, 8,
- 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 10, 10, 10, 10, 10, 10, 10, 10,
-10, 10, 10, 10, 10, 10, 10, 10, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11,
-11, 11, 11, 11, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
-12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 13, 13, 13, 13,
-13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
-13, 13, 13, 13, 13, 13, 13, 13, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
-14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
-14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
-14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 15, 15, 15, 15, 15, 15, 15, 15,
-15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
-15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
-15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 0, 0, 16, 17,
-18, 18, 19, 19, 20, 20, 20, 20, 21, 21, 21, 21, 22, 22, 22, 22, 22, 22, 22, 22,
-23, 23, 23, 23, 23, 23, 23, 23, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,
-24, 24, 24, 24, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25,
-26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
-26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 27, 27, 27, 27, 27, 27, 27, 27,
-27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27,
-27, 27, 27, 27, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28,
-28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28,
-28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28,
-28, 28, 28, 28, 28, 28, 28, 28, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
-29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
-29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
-29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29
-};
-
-const uch _length_code[MAX_MATCH-MIN_MATCH+1]= {
- 0, 1, 2, 3, 4, 5, 6, 7, 8, 8, 9, 9, 10, 10, 11, 11, 12, 12, 12, 12,
-13, 13, 13, 13, 14, 14, 14, 14, 15, 15, 15, 15, 16, 16, 16, 16, 16, 16, 16, 16,
-17, 17, 17, 17, 17, 17, 17, 17, 18, 18, 18, 18, 18, 18, 18, 18, 19, 19, 19, 19,
-19, 19, 19, 19, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20,
-21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 22, 22, 22, 22,
-22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 23, 23, 23, 23, 23, 23, 23, 23,
-23, 23, 23, 23, 23, 23, 23, 23, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,
-24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,
-25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25,
-25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 26, 26, 26, 26, 26, 26, 26, 26,
-26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
-26, 26, 26, 26, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27,
-27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 28
-};
-
-local const int base_length[LENGTH_CODES] = {
-0, 1, 2, 3, 4, 5, 6, 7, 8, 10, 12, 14, 16, 20, 24, 28, 32, 40, 48, 56,
-64, 80, 96, 112, 128, 160, 192, 224, 0
-};
-
-local const int base_dist[D_CODES] = {
- 0, 1, 2, 3, 4, 6, 8, 12, 16, 24,
- 32, 48, 64, 96, 128, 192, 256, 384, 512, 768,
- 1024, 1536, 2048, 3072, 4096, 6144, 8192, 12288, 16384, 24576
-};
-
diff --git a/src/utilfuns/zlib/uncompr.c b/src/utilfuns/zlib/uncompr.c
deleted file mode 100644
index 45a4687..0000000
--- a/src/utilfuns/zlib/uncompr.c
+++ /dev/null
@@ -1,58 +0,0 @@
-/* uncompr.c -- decompress a memory buffer
- * Copyright (C) 1995-2002 Jean-loup Gailly.
- * For conditions of distribution and use, see copyright notice in zlib.h
- */
-
-/* @(#) $Id: uncompr.c 1688 2005-01-01 04:42:26Z scribe $ */
-
-#include "zlib.h"
-
-/* ===========================================================================
- Decompresses the source buffer into the destination buffer. sourceLen is
- the byte length of the source buffer. Upon entry, destLen is the total
- size of the destination buffer, which must be large enough to hold the
- entire uncompressed data. (The size of the uncompressed data must have
- been saved previously by the compressor and transmitted to the decompressor
- by some mechanism outside the scope of this compression library.)
- Upon exit, destLen is the actual size of the compressed buffer.
- This function can be used to decompress a whole file at once if the
- input file is mmap'ed.
-
- uncompress returns Z_OK if success, Z_MEM_ERROR if there was not
- enough memory, Z_BUF_ERROR if there was not enough room in the output
- buffer, or Z_DATA_ERROR if the input data was corrupted.
-*/
-int ZEXPORT uncompress (dest, destLen, source, sourceLen)
- Bytef *dest;
- uLongf *destLen;
- const Bytef *source;
- uLong sourceLen;
-{
- z_stream stream;
- int err;
-
- stream.next_in = (Bytef*)source;
- stream.avail_in = (uInt)sourceLen;
- /* Check for source > 64K on 16-bit machine: */
- if ((uLong)stream.avail_in != sourceLen) return Z_BUF_ERROR;
-
- stream.next_out = dest;
- stream.avail_out = (uInt)*destLen;
- if ((uLong)stream.avail_out != *destLen) return Z_BUF_ERROR;
-
- stream.zalloc = (alloc_func)0;
- stream.zfree = (free_func)0;
-
- err = inflateInit(&stream);
- if (err != Z_OK) return err;
-
- err = inflate(&stream, Z_FINISH);
- if (err != Z_STREAM_END) {
- inflateEnd(&stream);
- return err == Z_OK ? Z_BUF_ERROR : err;
- }
- *destLen = stream.total_out;
-
- err = inflateEnd(&stream);
- return err;
-}
diff --git a/src/utilfuns/zlib/zutil.c b/src/utilfuns/zlib/zutil.c
deleted file mode 100644
index 55e047c..0000000
--- a/src/utilfuns/zlib/zutil.c
+++ /dev/null
@@ -1,225 +0,0 @@
-/* zutil.c -- target dependent utility functions for the compression library
- * Copyright (C) 1995-2002 Jean-loup Gailly.
- * For conditions of distribution and use, see copyright notice in zlib.h
- */
-
-/* @(#) $Id: zutil.c 1688 2005-01-01 04:42:26Z scribe $ */
-
-#include "zutil.h"
-
-struct internal_state {int dummy;}; /* for buggy compilers */
-
-#ifndef STDC
-extern void exit OF((int));
-#endif
-
-const char *z_errmsg[10] = {
-"need dictionary", /* Z_NEED_DICT 2 */
-"stream end", /* Z_STREAM_END 1 */
-"", /* Z_OK 0 */
-"file error", /* Z_ERRNO (-1) */
-"stream error", /* Z_STREAM_ERROR (-2) */
-"data error", /* Z_DATA_ERROR (-3) */
-"insufficient memory", /* Z_MEM_ERROR (-4) */
-"buffer error", /* Z_BUF_ERROR (-5) */
-"incompatible version",/* Z_VERSION_ERROR (-6) */
-""};
-
-
-const char * ZEXPORT zlibVersion()
-{
- return ZLIB_VERSION;
-}
-
-#ifdef DEBUG
-
-# ifndef verbose
-# define verbose 0
-# endif
-int z_verbose = verbose;
-
-void z_error (m)
- char *m;
-{
- fprintf(stderr, "%s\n", m);
- exit(1);
-}
-#endif
-
-/* exported to allow conversion of error code to string for compress() and
- * uncompress()
- */
-const char * ZEXPORT zError(err)
- int err;
-{
- return ERR_MSG(err);
-}
-
-
-#ifndef HAVE_MEMCPY
-
-void zmemcpy(dest, source, len)
- Bytef* dest;
- const Bytef* source;
- uInt len;
-{
- if (len == 0) return;
- do {
- *dest++ = *source++; /* ??? to be unrolled */
- } while (--len != 0);
-}
-
-int zmemcmp(s1, s2, len)
- const Bytef* s1;
- const Bytef* s2;
- uInt len;
-{
- uInt j;
-
- for (j = 0; j < len; j++) {
- if (s1[j] != s2[j]) return 2*(s1[j] > s2[j])-1;
- }
- return 0;
-}
-
-void zmemzero(dest, len)
- Bytef* dest;
- uInt len;
-{
- if (len == 0) return;
- do {
- *dest++ = 0; /* ??? to be unrolled */
- } while (--len != 0);
-}
-#endif
-
-#ifdef __TURBOC__
-#if (defined( __BORLANDC__) || !defined(SMALL_MEDIUM)) && !defined(__32BIT__)
-/* Small and medium model in Turbo C are for now limited to near allocation
- * with reduced MAX_WBITS and MAX_MEM_LEVEL
- */
-# define MY_ZCALLOC
-
-/* Turbo C malloc() does not allow dynamic allocation of 64K bytes
- * and farmalloc(64K) returns a pointer with an offset of 8, so we
- * must fix the pointer. Warning: the pointer must be put back to its
- * original form in order to free it, use zcfree().
- */
-
-#define MAX_PTR 10
-/* 10*64K = 640K */
-
-local int next_ptr = 0;
-
-typedef struct ptr_table_s {
- voidpf org_ptr;
- voidpf new_ptr;
-} ptr_table;
-
-local ptr_table table[MAX_PTR];
-/* This table is used to remember the original form of pointers
- * to large buffers (64K). Such pointers are normalized with a zero offset.
- * Since MSDOS is not a preemptive multitasking OS, this table is not
- * protected from concurrent access. This hack doesn't work anyway on
- * a protected system like OS/2. Use Microsoft C instead.
- */
-
-voidpf zcalloc (voidpf opaque, unsigned items, unsigned size)
-{
- voidpf buf = opaque; /* just to make some compilers happy */
- ulg bsize = (ulg)items*size;
-
- /* If we allocate less than 65520 bytes, we assume that farmalloc
- * will return a usable pointer which doesn't have to be normalized.
- */
- if (bsize < 65520L) {
- buf = farmalloc(bsize);
- if (*(ush*)&buf != 0) return buf;
- } else {
- buf = farmalloc(bsize + 16L);
- }
- if (buf == NULL || next_ptr >= MAX_PTR) return NULL;
- table[next_ptr].org_ptr = buf;
-
- /* Normalize the pointer to seg:0 */
- *((ush*)&buf+1) += ((ush)((uch*)buf-0) + 15) >> 4;
- *(ush*)&buf = 0;
- table[next_ptr++].new_ptr = buf;
- return buf;
-}
-
-void zcfree (voidpf opaque, voidpf ptr)
-{
- int n;
- if (*(ush*)&ptr != 0) { /* object < 64K */
- farfree(ptr);
- return;
- }
- /* Find the original pointer */
- for (n = 0; n < next_ptr; n++) {
- if (ptr != table[n].new_ptr) continue;
-
- farfree(table[n].org_ptr);
- while (++n < next_ptr) {
- table[n-1] = table[n];
- }
- next_ptr--;
- return;
- }
- ptr = opaque; /* just to make some compilers happy */
- Assert(0, "zcfree: ptr not found");
-}
-#endif
-#endif /* __TURBOC__ */
-
-
-#if defined(M_I86) && !defined(__32BIT__)
-/* Microsoft C in 16-bit mode */
-
-# define MY_ZCALLOC
-
-#if (!defined(_MSC_VER) || (_MSC_VER <= 600))
-# define _halloc halloc
-# define _hfree hfree
-#endif
-
-voidpf zcalloc (voidpf opaque, unsigned items, unsigned size)
-{
- if (opaque) opaque = 0; /* to make compiler happy */
- return _halloc((long)items, size);
-}
-
-void zcfree (voidpf opaque, voidpf ptr)
-{
- if (opaque) opaque = 0; /* to make compiler happy */
- _hfree(ptr);
-}
-
-#endif /* MSC */
-
-
-#ifndef MY_ZCALLOC /* Any system without a special alloc function */
-
-#ifndef STDC
-extern voidp calloc OF((uInt items, uInt size));
-extern void free OF((voidpf ptr));
-#endif
-
-voidpf zcalloc (opaque, items, size)
- voidpf opaque;
- unsigned items;
- unsigned size;
-{
- if (opaque) items += size - size; /* make compiler happy */
- return (voidpf)calloc(items, size);
-}
-
-void zcfree (opaque, ptr)
- voidpf opaque;
- voidpf ptr;
-{
- free(ptr);
- if (opaque) return; /* make compiler happy */
-}
-
-#endif /* MY_ZCALLOC */
diff --git a/src/utilfuns/zlib/zutil.h b/src/utilfuns/zlib/zutil.h
deleted file mode 100644
index 538fc57..0000000
--- a/src/utilfuns/zlib/zutil.h
+++ /dev/null
@@ -1,220 +0,0 @@
-/* zutil.h -- internal interface and configuration of the compression library
- * Copyright (C) 1995-2002 Jean-loup Gailly.
- * For conditions of distribution and use, see copyright notice in zlib.h
- */
-
-/* WARNING: this file should *not* be used by applications. It is
- part of the implementation of the compression library and is
- subject to change. Applications should only use zlib.h.
- */
-
-/* @(#) $Id: zutil.h 1688 2005-01-01 04:42:26Z scribe $ */
-
-#ifndef _Z_UTIL_H
-#define _Z_UTIL_H
-
-#include "zlib.h"
-
-#ifdef STDC
-# include <stddef.h>
-# include <string.h>
-# include <stdlib.h>
-#endif
-#ifdef NO_ERRNO_H
- extern int errno;
-#else
-# include <errno.h>
-#endif
-
-#ifndef local
-# define local static
-#endif
-/* compile with -Dlocal if your debugger can't find static symbols */
-
-typedef unsigned char uch;
-typedef uch FAR uchf;
-typedef unsigned short ush;
-typedef ush FAR ushf;
-typedef unsigned long ulg;
-
-extern const char *z_errmsg[10]; /* indexed by 2-zlib_error */
-/* (size given to avoid silly warnings with Visual C++) */
-
-#define ERR_MSG(err) z_errmsg[Z_NEED_DICT-(err)]
-
-#define ERR_RETURN(strm,err) \
- return (strm->msg = (char*)ERR_MSG(err), (err))
-/* To be used only when the state is known to be valid */
-
- /* common constants */
-
-#ifndef DEF_WBITS
-# define DEF_WBITS MAX_WBITS
-#endif
-/* default windowBits for decompression. MAX_WBITS is for compression only */
-
-#if MAX_MEM_LEVEL >= 8
-# define DEF_MEM_LEVEL 8
-#else
-# define DEF_MEM_LEVEL MAX_MEM_LEVEL
-#endif
-/* default memLevel */
-
-#define STORED_BLOCK 0
-#define STATIC_TREES 1
-#define DYN_TREES 2
-/* The three kinds of block type */
-
-#define MIN_MATCH 3
-#define MAX_MATCH 258
-/* The minimum and maximum match lengths */
-
-#define PRESET_DICT 0x20 /* preset dictionary flag in zlib header */
-
- /* target dependencies */
-
-#ifdef MSDOS
-# define OS_CODE 0x00
-# if defined(__TURBOC__) || defined(__BORLANDC__)
-# if(__STDC__ == 1) && (defined(__LARGE__) || defined(__COMPACT__))
- /* Allow compilation with ANSI keywords only enabled */
- void _Cdecl farfree( void *block );
- void *_Cdecl farmalloc( unsigned long nbytes );
-# else
-# include <alloc.h>
-# endif
-# else /* MSC or DJGPP */
-# include <malloc.h>
-# endif
-#endif
-
-#ifdef OS2
-# define OS_CODE 0x06
-#endif
-
-#ifdef WIN32 /* Window 95 & Windows NT */
-# define OS_CODE 0x0b
-#endif
-
-#if defined(VAXC) || defined(VMS)
-# define OS_CODE 0x02
-# define F_OPEN(name, mode) \
- fopen((name), (mode), "mbc=60", "ctx=stm", "rfm=fix", "mrs=512")
-#endif
-
-#ifdef AMIGA
-# define OS_CODE 0x01
-#endif
-
-#if defined(ATARI) || defined(atarist)
-# define OS_CODE 0x05
-#endif
-
-#if defined(MACOS) || defined(TARGET_OS_MAC)
-# define OS_CODE 0x07
-# if defined(__MWERKS__) && __dest_os != __be_os && __dest_os != __win32_os
-# include <unix.h> /* for fdopen */
-# else
-# ifndef fdopen
-# define fdopen(fd,mode) NULL /* No fdopen() */
-# endif
-# endif
-#endif
-
-#ifdef __50SERIES /* Prime/PRIMOS */
-# define OS_CODE 0x0F
-#endif
-
-#ifdef TOPS20
-# define OS_CODE 0x0a
-#endif
-
-#if defined(_BEOS_) || defined(RISCOS)
-# define fdopen(fd,mode) NULL /* No fdopen() */
-#endif
-
-#if (defined(_MSC_VER) && (_MSC_VER > 600))
-# define fdopen(fd,type) _fdopen(fd,type)
-#endif
-
-
- /* Common defaults */
-
-#ifndef OS_CODE
-# define OS_CODE 0x03 /* assume Unix */
-#endif
-
-#ifndef F_OPEN
-# define F_OPEN(name, mode) fopen((name), (mode))
-#endif
-
- /* functions */
-
-#ifdef HAVE_STRERROR
- extern char *strerror OF((int));
-# define zstrerror(errnum) strerror(errnum)
-#else
-# define zstrerror(errnum) ""
-#endif
-
-#if defined(pyr)
-# define NO_MEMCPY
-#endif
-#if defined(SMALL_MEDIUM) && !defined(_MSC_VER) && !defined(__SC__)
- /* Use our own functions for small and medium model with MSC <= 5.0.
- * You may have to use the same strategy for Borland C (untested).
- * The __SC__ check is for Symantec.
- */
-# define NO_MEMCPY
-#endif
-#if defined(STDC) && !defined(HAVE_MEMCPY) && !defined(NO_MEMCPY)
-# define HAVE_MEMCPY
-#endif
-#ifdef HAVE_MEMCPY
-# ifdef SMALL_MEDIUM /* MSDOS small or medium model */
-# define zmemcpy _fmemcpy
-# define zmemcmp _fmemcmp
-# define zmemzero(dest, len) _fmemset(dest, 0, len)
-# else
-# define zmemcpy memcpy
-# define zmemcmp memcmp
-# define zmemzero(dest, len) memset(dest, 0, len)
-# endif
-#else
- extern void zmemcpy OF((Bytef* dest, const Bytef* source, uInt len));
- extern int zmemcmp OF((const Bytef* s1, const Bytef* s2, uInt len));
- extern void zmemzero OF((Bytef* dest, uInt len));
-#endif
-
-/* Diagnostic functions */
-#ifdef DEBUG
-# include <stdio.h>
- extern int z_verbose;
- extern void z_error OF((char *m));
-# define Assert(cond,msg) {if(!(cond)) z_error(msg);}
-# define Trace(x) {if (z_verbose>=0) fprintf x ;}
-# define Tracev(x) {if (z_verbose>0) fprintf x ;}
-# define Tracevv(x) {if (z_verbose>1) fprintf x ;}
-# define Tracec(c,x) {if (z_verbose>0 && (c)) fprintf x ;}
-# define Tracecv(c,x) {if (z_verbose>1 && (c)) fprintf x ;}
-#else
-# define Assert(cond,msg)
-# define Trace(x)
-# define Tracev(x)
-# define Tracevv(x)
-# define Tracec(c,x)
-# define Tracecv(c,x)
-#endif
-
-
-typedef uLong (ZEXPORT *check_func) OF((uLong check, const Bytef *buf,
- uInt len));
-voidpf zcalloc OF((voidpf opaque, unsigned items, unsigned size));
-void zcfree OF((voidpf opaque, voidpf ptr));
-
-#define ZALLOC(strm, items, size) \
- (*((strm)->zalloc))((strm)->opaque, (items), (size))
-#define ZFREE(strm, addr) (*((strm)->zfree))((strm)->opaque, (voidpf)(addr))
-#define TRY_FREE(s, p) {if (p) ZFREE(s, p);}
-
-#endif /* _Z_UTIL_H */
diff --git a/sword.kdevprj b/sword.kdevprj
index 4a44df4..b2797ad 100644
--- a/sword.kdevprj
+++ b/sword.kdevprj
@@ -50,7 +50,7 @@ install_location=
type=HEADER
[include/Makefile.am]
-files=include/canon.h,include/cipherfil.h,include/defs.h,include/echomod.h,include/entriesblk.h,include/femain.h,include/filemgr.h,include/gbffootnotes.h,include/gbfheadings.h,include/gbfhtml.h,include/swfilter.h,include/gbfhtmlhref.h,include/gbfmorph.h,include/gbfplain.h,include/gbfrtf.h,include/gbfstrongs.h,include/gbfthml.h,include/Greek2Greek.h,include/GreekChars.h,include/hrefcom.h,include/latin1utf16.h,include/latin1utf8.h,include/listkey.h,include/localemgr.h,include/lzsscomprs.h,include/plainfootnotes.h,include/plainhtml.h,include/rawcom.h,include/rawfiles.h,include/rawld.h,include/rawld4.h,include/rawstr.h,include/rawstr4.h,include/rawtext.h,include/rawverse.h,include/regex.h,include/roman.h,include/rtfhtml.h,include/rwphtml.h,include/rwprtf.h,include/sapphire.h,include/scsuutf8.h,include/strkey.h,include/swbasicfilter.h,include/swbyteswap.h,include/swcipher.h,include/swcom.h,include/swcomprs.h,include/swconfig.h,include/swdisp.h,include/swdisprtf.h,include/swdisprtfchap.h,include/swencodingmgr.h,include/swkey.h,include/swld.h,include/swlocale.h,include/swlog.h,include/swmacs.h,include/swmarkupmgr.h,include/swmgr.h,include/swmodule.h,include/swobject.h,include/swtext.h,include/swunicod.h,include/swwinlog.h,include/tbdisp.h,include/thmlgbf.h,include/thmlhtml.h,include/thmlhtmlhref.h,include/thmlplain.h,include/thmlrtf.h,include/unicodertf.h,include/unixstr.h,include/untgz.h,include/utf16utf8.h,include/utf8cantillation.h,include/utf8greekaccents.h,include/utf8hebrewpoints.h,include/utf8html.h,include/utf8latin1.h,include/utf8transliterator.h,include/utf8utf16.h,include/utilconf.h,include/utilfuns.h,include/utilstr.h,include/versekey.h,include/zcom.h,include/zconf.h,include/zipcomprs.h,include/zlib.h,include/ztext.h,include/zverse.h,include/thmlfootnotes.h,include/thmlheadings.h,include/thmllemma.h,include/thmlmorph.h,include/thmlscripref.h,include/thmlstrongs.h,include/utf8cnormalizer.h,include/utf8arshaping.h,include/utf8bidireorder.h,include/utf8nfc.h,include/utf8nfkd.h,include/encfiltmgr.h,include/swversion.h,include/swfiltermgr.h,include/markupfiltmgr.h,include/rawgenbook.h,include/swgenbook.h,include/treekey.h,include/thmlvariants.h,include/treekeyidx.h,include/zld.h,include/zstr.h,include/swinputmeth.h,include/nullim.h,include/hebrewmcim.h,include/flatapi.h,include/cdsourcemgr.h,include/ftpparse.h,include/gbfosis.h,include/gbfredletterwords.h,include/greeklexattribs.h,include/installmgr.h,include/osismorph.h,include/osisstrongs.h,include/remotesourcemgr.h,include/multimapwdef.h,include/swcacher.h,include/swinstallmgr.h,include/swremotemgr.h,include/swsourcemgr.h,include/sysdata.h,include/thmlosis.h,include/swbuf.h,include/osisplain.h,include/osisrtf.h
+files=include/canon.h,include/cipherfil.h,include/defs.h,include/echomod.h,include/entriesblk.h,include/femain.h,include/filemgr.h,include/gbffootnotes.h,include/gbfheadings.h,include/gbfhtml.h,include/swfilter.h,include/gbfhtmlhref.h,include/gbfmorph.h,include/gbfplain.h,include/gbfrtf.h,include/gbfstrongs.h,include/gbfthml.h,include/Greek2Greek.h,include/GreekChars.h,include/hrefcom.h,include/latin1utf16.h,include/latin1utf8.h,include/listkey.h,include/localemgr.h,include/lzsscomprs.h,include/plainfootnotes.h,include/plainhtml.h,include/rawcom.h,include/rawfiles.h,include/rawld.h,include/rawld4.h,include/rawstr.h,include/rawstr4.h,include/rawtext.h,include/rawverse.h,include/regex.h,include/roman.h,include/rtfhtml.h,include/rwphtml.h,include/rwprtf.h,include/sapphire.h,include/scsuutf8.h,include/strkey.h,include/swbasicfilter.h,include/swbyteswap.h,include/swcipher.h,include/swcom.h,include/swcomprs.h,include/swconfig.h,include/swdisp.h,include/swdisprtf.h,include/swdisprtfchap.h,include/swencodingmgr.h,include/swkey.h,include/swld.h,include/swlocale.h,include/swlog.h,include/swmacs.h,include/swmarkupmgr.h,include/swmgr.h,include/swmodule.h,include/swobject.h,include/swtext.h,include/swunicod.h,include/swwinlog.h,include/tbdisp.h,include/thmlgbf.h,include/thmlhtml.h,include/thmlhtmlhref.h,include/thmlplain.h,include/thmlrtf.h,include/unicodertf.h,include/unixstr.h,include/untgz.h,include/utf16utf8.h,include/utf8cantillation.h,include/utf8greekaccents.h,include/utf8arabicpoints.h,include/utf8hebrewpoints.h,include/utf8html.h,include/utf8latin1.h,include/utf8transliterator.h,include/utf8utf16.h,include/utilconf.h,include/utilfuns.h,include/utilstr.h,include/versekey.h,include/zcom.h,include/zconf.h,include/zipcomprs.h,include/zlib.h,include/ztext.h,include/zverse.h,include/thmlfootnotes.h,include/thmlheadings.h,include/thmllemma.h,include/thmlmorph.h,include/thmlscripref.h,include/thmlstrongs.h,include/utf8cnormalizer.h,include/utf8arshaping.h,include/utf8bidireorder.h,include/utf8nfc.h,include/utf8nfkd.h,include/encfiltmgr.h,include/swversion.h,include/swfiltermgr.h,include/markupfiltmgr.h,include/rawgenbook.h,include/swgenbook.h,include/treekey.h,include/thmlvariants.h,include/treekeyidx.h,include/zld.h,include/zstr.h,include/swinputmeth.h,include/nullim.h,include/hebrewmcim.h,include/flatapi.h,include/cdsourcemgr.h,include/ftpparse.h,include/gbfosis.h,include/gbfredletterwords.h,include/greeklexattribs.h,include/installmgr.h,include/osismorph.h,include/osisstrongs.h,include/remotesourcemgr.h,include/multimapwdef.h,include/swcacher.h,include/swinstallmgr.h,include/swremotemgr.h,include/swsourcemgr.h,include/sysdata.h,include/thmlosis.h,include/swbuf.h,include/osisplain.h,include/osisrtf.h
sub_dirs=
type=normal
@@ -756,6 +756,12 @@ install=false
install_location=
type=HEADER
+[include/utf8arabicpoints.h]
+dist=true
+install=false
+install_location=
+type=HEADER
+
[include/utf8html.h]
dist=true
install=false
@@ -1208,7 +1214,7 @@ install_location=
type=SOURCE
[src/modules/filters/Makefile.am]
-files=src/modules/filters/cipherfil.cpp,src/modules/filters/gbffootnotes.cpp,src/modules/filters/gbfheadings.cpp,src/modules/filters/gbfhtml.cpp,src/modules/filters/gbfhtmlhref.cpp,src/modules/filters/gbfmorph.cpp,src/modules/filters/gbfplain.cpp,src/modules/filters/gbfrtf.cpp,src/modules/filters/gbfstrongs.cpp,src/modules/filters/gbfthml.cpp,src/modules/filters/latin1utf16.cpp,src/modules/filters/latin1utf8.cpp,src/modules/filters/plainfootnotes.cpp,src/modules/filters/plainhtml.cpp,src/modules/filters/rtfhtml.cpp,src/modules/filters/rwphtml.cpp,src/modules/filters/rwprtf.cpp,src/modules/filters/scsuutf8.cpp,src/modules/filters/swbasicfilter.cpp,src/modules/filters/thmlgbf.cpp,src/modules/filters/thmlhtml.cpp,src/modules/filters/thmlhtmlhref.cpp,src/modules/filters/thmlplain.cpp,src/modules/filters/thmlrtf.cpp,src/modules/filters/unicodertf.cpp,src/modules/filters/utf16utf8.cpp,src/modules/filters/utf8cantillation.cpp,src/modules/filters/utf8greekaccents.cpp,src/modules/filters/utf8hebrewpoints.cpp,src/modules/filters/utf8html.cpp,src/modules/filters/utf8latin1.cpp,src/modules/filters/utf8transliterator.cpp,src/modules/filters/utf8utf16.cpp,src/modules/filters/thmlfootnotes.cpp,src/modules/filters/thmlheadings.cpp,src/modules/filters/thmllemma.cpp,src/modules/filters/thmlmorph.cpp,src/modules/filters/thmlscripref.cpp,src/modules/filters/thmlstrongs.cpp,src/modules/filters/utf8nfc.cpp,src/modules/filters/utf8nfkd.cpp,src/modules/filters/utf8arshaping.cpp,src/modules/filters/utf8bidireorder.cpp,src/modules/filters/thmlvariants.cpp,src/modules/filters/gbfosis.cpp,src/modules/filters/gbfredletterwords.cpp,src/modules/filters/greeklexattribs.cpp,src/modules/filters/osismorph.cpp,src/modules/filters/osisstrongs.cpp,src/modules/filters/thmlosis.cpp,src/modules/filters/osisplain.cpp,src/modules/filters/osisrtf.cpp,src/modules/filters/gbfwebif.cpp,src/modules/filters/osisfootnotes.cpp,src/modules/filters/osisheadings.cpp,src/modules/filters/osishtmlhref.cpp,src/modules/filters/osislemma.cpp,src/modules/filters/osisredletterwords.cpp,src/modules/filters/osisscripref.cpp,src/modules/filters/osiswebif.cpp,src/modules/filters/swoptfilter.cpp,src/modules/filters/thmlwebif.cpp
+files=src/modules/filters/cipherfil.cpp,src/modules/filters/gbffootnotes.cpp,src/modules/filters/gbfheadings.cpp,src/modules/filters/gbfhtml.cpp,src/modules/filters/gbfhtmlhref.cpp,src/modules/filters/gbfmorph.cpp,src/modules/filters/gbfplain.cpp,src/modules/filters/gbfrtf.cpp,src/modules/filters/gbfstrongs.cpp,src/modules/filters/gbfthml.cpp,src/modules/filters/latin1utf16.cpp,src/modules/filters/latin1utf8.cpp,src/modules/filters/plainfootnotes.cpp,src/modules/filters/plainhtml.cpp,src/modules/filters/rtfhtml.cpp,src/modules/filters/rwphtml.cpp,src/modules/filters/rwprtf.cpp,src/modules/filters/scsuutf8.cpp,src/modules/filters/swbasicfilter.cpp,src/modules/filters/thmlgbf.cpp,src/modules/filters/thmlhtml.cpp,src/modules/filters/thmlhtmlhref.cpp,src/modules/filters/thmlplain.cpp,src/modules/filters/thmlrtf.cpp,src/modules/filters/unicodertf.cpp,src/modules/filters/utf16utf8.cpp,src/modules/filters/utf8cantillation.cpp,src/modules/filters/utf8greekaccents.cpp,src/modules/filters/utf8hebrewpoints.cpp,src/modules/filters/utf8arabicpoints.cpp,src/modules/filters/utf8html.cpp,src/modules/filters/utf8latin1.cpp,src/modules/filters/utf8transliterator.cpp,src/modules/filters/utf8utf16.cpp,src/modules/filters/thmlfootnotes.cpp,src/modules/filters/thmlheadings.cpp,src/modules/filters/thmllemma.cpp,src/modules/filters/thmlmorph.cpp,src/modules/filters/thmlscripref.cpp,src/modules/filters/thmlstrongs.cpp,src/modules/filters/utf8nfc.cpp,src/modules/filters/utf8nfkd.cpp,src/modules/filters/utf8arshaping.cpp,src/modules/filters/utf8bidireorder.cpp,src/modules/filters/thmlvariants.cpp,src/modules/filters/gbfosis.cpp,src/modules/filters/gbfredletterwords.cpp,src/modules/filters/greeklexattribs.cpp,src/modules/filters/osismorph.cpp,src/modules/filters/osisstrongs.cpp,src/modules/filters/thmlosis.cpp,src/modules/filters/osisplain.cpp,src/modules/filters/osisrtf.cpp,src/modules/filters/gbfwebif.cpp,src/modules/filters/osisfootnotes.cpp,src/modules/filters/osisheadings.cpp,src/modules/filters/osishtmlhref.cpp,src/modules/filters/osislemma.cpp,src/modules/filters/osisredletterwords.cpp,src/modules/filters/osisscripref.cpp,src/modules/filters/osiswebif.cpp,src/modules/filters/swoptfilter.cpp,src/modules/filters/thmlwebif.cpp
sharedlib_LDFLAGS=-version-info 0:0:1
sharedlib_rootname=filters
sub_dirs=
@@ -1550,6 +1556,12 @@ install=false
install_location=
type=SOURCE
+[src/modules/filters/utf8arabicpoints.cpp]
+dist=true
+install=false
+install_location=
+type=SOURCE
+
[src/modules/filters/utf8html.cpp]
dist=true
install=false
diff --git a/tests/.cvsignore b/tests/.cvsignore
deleted file mode 100644
index c524087..0000000
--- a/tests/.cvsignore
+++ /dev/null
@@ -1,34 +0,0 @@
-.deps
-.libs
-Makefile
-Makefile.in
-casttest
-complzss
-compnone
-compzip
-configtest
-filtertest
-genbooktest
-indextest
-introtest
-keycast
-keytest
-lextest
-listtest
-localetest
-mgrtest
-modtest
-parsekey
-rawldidxtest
-romantest
-swaptest
-swbuftest
-testblocks
-treeidxtest
-webiftest
-xmltest
-nt
-nt.vss
-ot
-ot.vss
-test1.conf \ No newline at end of file
diff --git a/tests/Makefile.am b/tests/Makefile.am
index d5851ba..44d6c00 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -4,7 +4,7 @@ LDADD = $(top_builddir)/lib/libsword.la
SUBDIRS = cppunit
-noinst_PROGRAMS = ciphertest keytest mgrtest parsekey versekeytest listtest casttest \
+noinst_PROGRAMS = ciphertest keytest mgrtest parsekey versekeytest vtreekeytest versemgrtest listtest casttest \
modtest compnone complzss localetest introtest indextest configtest keycast \
romantest testblocks filtertest rawldidxtest lextest swaptest \
swbuftest xmltest webiftest
@@ -41,6 +41,8 @@ mgrtest_SOURCES = mgrtest.cpp
ciphertest_SOURCES = ciphertest.cpp
parsekey_SOURCES = parsekey.cpp
versekeytest_SOURCES = versekeytest.cpp
+vtreekeytest_SOURCES = vtreekeytest.cpp
+versemgrtest_SOURCES = versemgrtest.cpp
listtest_SOURCES = listtest.cpp
casttest_SOURCES = casttest.cpp
modtest_SOURCES = modtest.cpp
diff --git a/tests/Makefile.in b/tests/Makefile.in
index 7e3a1c3..420f7a7 100644
--- a/tests/Makefile.in
+++ b/tests/Makefile.in
@@ -1,8 +1,8 @@
-# Makefile.in generated by automake 1.10 from Makefile.am.
+# Makefile.in generated by automake 1.10.2 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -35,20 +35,24 @@ host_triplet = @host@
target_triplet = @target@
noinst_PROGRAMS = ciphertest$(EXEEXT) keytest$(EXEEXT) \
mgrtest$(EXEEXT) parsekey$(EXEEXT) versekeytest$(EXEEXT) \
- listtest$(EXEEXT) casttest$(EXEEXT) modtest$(EXEEXT) \
- compnone$(EXEEXT) complzss$(EXEEXT) localetest$(EXEEXT) \
- introtest$(EXEEXT) indextest$(EXEEXT) configtest$(EXEEXT) \
- keycast$(EXEEXT) romantest$(EXEEXT) testblocks$(EXEEXT) \
- filtertest$(EXEEXT) rawldidxtest$(EXEEXT) lextest$(EXEEXT) \
- swaptest$(EXEEXT) swbuftest$(EXEEXT) xmltest$(EXEEXT) \
- webiftest$(EXEEXT) $(am__EXEEXT_1) $(am__EXEEXT_2)
+ vtreekeytest$(EXEEXT) versemgrtest$(EXEEXT) listtest$(EXEEXT) \
+ casttest$(EXEEXT) modtest$(EXEEXT) compnone$(EXEEXT) \
+ complzss$(EXEEXT) localetest$(EXEEXT) introtest$(EXEEXT) \
+ indextest$(EXEEXT) configtest$(EXEEXT) keycast$(EXEEXT) \
+ romantest$(EXEEXT) testblocks$(EXEEXT) filtertest$(EXEEXT) \
+ rawldidxtest$(EXEEXT) lextest$(EXEEXT) swaptest$(EXEEXT) \
+ swbuftest$(EXEEXT) xmltest$(EXEEXT) webiftest$(EXEEXT) \
+ $(am__EXEEXT_1) $(am__EXEEXT_2)
DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
$(srcdir)/bcppmake/Makefile.am $(srcdir)/testsuite/Makefile.am \
$(srcdir)/tmp/Makefile.am
subdir = tests
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/m4/acx_clucene.m4 \
- $(top_srcdir)/m4/cppunit.m4 $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/cppunit.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(install_sh) -d
@@ -166,6 +170,14 @@ am_versekeytest_OBJECTS = versekeytest.$(OBJEXT)
versekeytest_OBJECTS = $(am_versekeytest_OBJECTS)
versekeytest_LDADD = $(LDADD)
versekeytest_DEPENDENCIES = $(top_builddir)/lib/libsword.la
+am_versemgrtest_OBJECTS = versemgrtest.$(OBJEXT)
+versemgrtest_OBJECTS = $(am_versemgrtest_OBJECTS)
+versemgrtest_LDADD = $(LDADD)
+versemgrtest_DEPENDENCIES = $(top_builddir)/lib/libsword.la
+am_vtreekeytest_OBJECTS = vtreekeytest.$(OBJEXT)
+vtreekeytest_OBJECTS = $(am_vtreekeytest_OBJECTS)
+vtreekeytest_LDADD = $(LDADD)
+vtreekeytest_DEPENDENCIES = $(top_builddir)/lib/libsword.la
am_webiftest_OBJECTS = webiftest.$(OBJEXT)
webiftest_OBJECTS = $(am_webiftest_OBJECTS)
webiftest_LDADD = $(LDADD)
@@ -174,7 +186,7 @@ am_xmltest_OBJECTS = xmltest.$(OBJEXT)
xmltest_OBJECTS = $(am_xmltest_OBJECTS)
xmltest_LDADD = $(LDADD)
xmltest_DEPENDENCIES = $(top_builddir)/lib/libsword.la
-DEFAULT_INCLUDES = -I. -I$(top_builddir)/include@am__isrc@
+DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/include
depcomp = $(SHELL) $(top_srcdir)/depcomp
am__depfiles_maybe = depfiles
CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
@@ -196,6 +208,7 @@ SOURCES = $(casttest_SOURCES) $(ciphertest_SOURCES) \
$(romantest_SOURCES) $(swaptest_SOURCES) $(swbuftest_SOURCES) \
$(testblocks_SOURCES) $(tlitmgrtest_SOURCES) \
$(translittest_SOURCES) $(versekeytest_SOURCES) \
+ $(versemgrtest_SOURCES) $(vtreekeytest_SOURCES) \
$(webiftest_SOURCES) $(xmltest_SOURCES)
DIST_SOURCES = $(casttest_SOURCES) $(ciphertest_SOURCES) \
$(complzss_SOURCES) $(compnone_SOURCES) \
@@ -208,6 +221,7 @@ DIST_SOURCES = $(casttest_SOURCES) $(ciphertest_SOURCES) \
$(romantest_SOURCES) $(swaptest_SOURCES) $(swbuftest_SOURCES) \
$(testblocks_SOURCES) $(am__tlitmgrtest_SOURCES_DIST) \
$(am__translittest_SOURCES_DIST) $(versekeytest_SOURCES) \
+ $(versemgrtest_SOURCES) $(vtreekeytest_SOURCES) \
$(webiftest_SOURCES) $(xmltest_SOURCES)
RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
html-recursive info-recursive install-data-recursive \
@@ -252,14 +266,14 @@ CYGPATH_W = @CYGPATH_W@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
DLLTOOL = @DLLTOOL@
-ECHO = @ECHO@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
-F77 = @F77@
-FFLAGS = @FFLAGS@
+FGREP = @FGREP@
GENCCODE = @GENCCODE@
GENCMN = @GENCMN@
GENRB = @GENRB@
@@ -273,17 +287,23 @@ INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LD = @LD@
LDFLAGS = @LDFLAGS@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
+LIPO = @LIPO@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MKDIR_P = @MKDIR_P@
+NM = @NM@
+NMEDIT = @NMEDIT@
OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
@@ -306,7 +326,7 @@ abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
-ac_ct_F77 = @ac_ct_F77@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
@@ -340,6 +360,7 @@ libdir = @libdir@
libexecdir = @libexecdir@
localedir = @localedir@
localstatedir = @localstatedir@
+lt_ECHO = @lt_ECHO@
mandir = @mandir@
mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@
@@ -358,6 +379,7 @@ target_mingw32 = @target_mingw32@
target_os = @target_os@
target_system = @target_system@
target_vendor = @target_vendor@
+top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
with_conf = @with_conf@
@@ -381,6 +403,8 @@ mgrtest_SOURCES = mgrtest.cpp
ciphertest_SOURCES = ciphertest.cpp
parsekey_SOURCES = parsekey.cpp
versekeytest_SOURCES = versekeytest.cpp
+vtreekeytest_SOURCES = vtreekeytest.cpp
+versemgrtest_SOURCES = versemgrtest.cpp
listtest_SOURCES = listtest.cpp
casttest_SOURCES = casttest.cpp
modtest_SOURCES = modtest.cpp
@@ -418,8 +442,8 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(srcdir)/bc
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
- && exit 0; \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
exit 1;; \
esac; \
done; \
@@ -528,6 +552,12 @@ translittest$(EXEEXT): $(translittest_OBJECTS) $(translittest_DEPENDENCIES)
versekeytest$(EXEEXT): $(versekeytest_OBJECTS) $(versekeytest_DEPENDENCIES)
@rm -f versekeytest$(EXEEXT)
$(CXXLINK) $(versekeytest_OBJECTS) $(versekeytest_LDADD) $(LIBS)
+versemgrtest$(EXEEXT): $(versemgrtest_OBJECTS) $(versemgrtest_DEPENDENCIES)
+ @rm -f versemgrtest$(EXEEXT)
+ $(CXXLINK) $(versemgrtest_OBJECTS) $(versemgrtest_LDADD) $(LIBS)
+vtreekeytest$(EXEEXT): $(vtreekeytest_OBJECTS) $(vtreekeytest_DEPENDENCIES)
+ @rm -f vtreekeytest$(EXEEXT)
+ $(CXXLINK) $(vtreekeytest_OBJECTS) $(vtreekeytest_LDADD) $(LIBS)
webiftest$(EXEEXT): $(webiftest_OBJECTS) $(webiftest_DEPENDENCIES)
@rm -f webiftest$(EXEEXT)
$(CXXLINK) $(webiftest_OBJECTS) $(webiftest_LDADD) $(LIBS)
@@ -567,6 +597,8 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tlitmgrtest.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/translittest.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/versekeytest.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/versemgrtest.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/vtreekeytest.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/webiftest.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xmltest.Po@am__quote@
@@ -672,8 +704,8 @@ ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
mkid -fID $$unique
tags: TAGS
@@ -698,8 +730,8 @@ TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
test -n "$$unique" || unique=$$empty_fix; \
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
@@ -709,13 +741,12 @@ ctags: CTAGS
CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
tags=; \
- here=`pwd`; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
test -z "$(CTAGS_ARGS)$$tags$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
$$tags $$unique
diff --git a/tests/bcppmake/libsword.bpf b/tests/bcppmake/libsword.bpf
index 9daa167..2ef1ac5 100644
--- a/tests/bcppmake/libsword.bpf
+++ b/tests/bcppmake/libsword.bpf
@@ -79,6 +79,7 @@ USEUNIT("..\..\src\modules\filters\utf8bidireorder.cpp");
USEUNIT("..\..\src\modules\filters\utf8cantillation.cpp");
USEUNIT("..\..\src\modules\filters\utf8greekaccents.cpp");
USEUNIT("..\..\src\modules\filters\utf8hebrewpoints.cpp");
+USEUNIT("..\..\src\modules\filters\utf8arabicpoints.cpp");
USEUNIT("..\..\src\modules\filters\utf8html.cpp");
USEUNIT("..\..\src\modules\filters\utf8latin1.cpp");
USEUNIT("..\..\src\modules\filters\utf8nfc.cpp");
diff --git a/tests/bcppmake/libsword.bpr b/tests/bcppmake/libsword.bpr
index dccd59d..45b7ca1 100644
--- a/tests/bcppmake/libsword.bpr
+++ b/tests/bcppmake/libsword.bpr
@@ -64,6 +64,7 @@
..\..\src\modules\filters\utf8cantillation.obj
..\..\src\modules\filters\utf8greekaccents.obj
..\..\src\modules\filters\utf8hebrewpoints.obj
+ ..\..\src\modules\filters\utf8arabicpoints.obj
..\..\src\modules\filters\utf8html.obj
..\..\src\modules\filters\utf8latin1.obj
..\..\src\modules\filters\utf8nfc.obj
diff --git a/tests/casttest.cpp b/tests/casttest.cpp
index 7fdedca..ceec51e 100644
--- a/tests/casttest.cpp
+++ b/tests/casttest.cpp
@@ -1,3 +1,20 @@
+/*
+ * Copyright 2009 CrossWire Bible Society (http://www.crosswire.org)
+ * CrossWire Bible Society
+ * P. O. Box 2528
+ * Tempe, AZ 85280-2528
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation version 2.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ */
+
#include <iostream>
#include <versekey.h>
#include <treekeyidx.h>
diff --git a/tests/ciphertest.cpp b/tests/ciphertest.cpp
index 36fc0b9..f34f994 100644
--- a/tests/ciphertest.cpp
+++ b/tests/ciphertest.cpp
@@ -1,3 +1,20 @@
+/*
+ * Copyright 2009 CrossWire Bible Society (http://www.crosswire.org)
+ * CrossWire Bible Society
+ * P. O. Box 2528
+ * Tempe, AZ 85280-2528
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation version 2.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ */
+
#include <cipherfil.h>
#include <filemgr.h>
#include <swbuf.h>
diff --git a/tests/complzss.cpp b/tests/complzss.cpp
index 6040605..4bf9dd5 100644
--- a/tests/complzss.cpp
+++ b/tests/complzss.cpp
@@ -1,3 +1,20 @@
+/*
+ * Copyright 2009 CrossWire Bible Society (http://www.crosswire.org)
+ * CrossWire Bible Society
+ * P. O. Box 2528
+ * Tempe, AZ 85280-2528
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation version 2.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ */
+
#include <ctype.h>
diff --git a/tests/compnone.cpp b/tests/compnone.cpp
index 9a01fef..452b191 100644
--- a/tests/compnone.cpp
+++ b/tests/compnone.cpp
@@ -1,3 +1,20 @@
+/*
+ * Copyright 2009 CrossWire Bible Society (http://www.crosswire.org)
+ * CrossWire Bible Society
+ * P. O. Box 2528
+ * Tempe, AZ 85280-2528
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation version 2.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ */
+
#include <ctype.h>
diff --git a/tests/compzip.cpp b/tests/compzip.cpp
index 678410b..58900bf 100644
--- a/tests/compzip.cpp
+++ b/tests/compzip.cpp
@@ -1,3 +1,20 @@
+/*
+ * Copyright 2009 CrossWire Bible Society (http://www.crosswire.org)
+ * CrossWire Bible Society
+ * P. O. Box 2528
+ * Tempe, AZ 85280-2528
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation version 2.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ */
+
#include <ctype.h>
#include <stdio.h>
#include <fcntl.h>
diff --git a/tests/configtest.cpp b/tests/configtest.cpp
index b616cd5..4e68d93 100644
--- a/tests/configtest.cpp
+++ b/tests/configtest.cpp
@@ -1,3 +1,20 @@
+/*
+ * Copyright 2009 CrossWire Bible Society (http://www.crosswire.org)
+ * CrossWire Bible Society
+ * P. O. Box 2528
+ * Tempe, AZ 85280-2528
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation version 2.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ */
+
#include <iostream>
#include <swconfig.h>
#ifndef NO_SWORD_NAMESPACE
diff --git a/tests/cppunit/Makefile.in b/tests/cppunit/Makefile.in
index c35295f..fe46a27 100644
--- a/tests/cppunit/Makefile.in
+++ b/tests/cppunit/Makefile.in
@@ -1,8 +1,8 @@
-# Makefile.in generated by automake 1.10 from Makefile.am.
+# Makefile.in generated by automake 1.10.2 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -38,7 +38,10 @@ subdir = tests/cppunit
DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/m4/acx_clucene.m4 \
- $(top_srcdir)/m4/cppunit.m4 $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/cppunit.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(install_sh) -d
@@ -55,7 +58,7 @@ LibSword_DEPENDENCIES = $(top_builddir)/lib/libsword.la
LibSword_LINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) \
$(LIBTOOLFLAGS) --mode=link $(CXXLD) $(LibSword_CXXFLAGS) \
$(CXXFLAGS) $(LibSword_LDFLAGS) $(LDFLAGS) -o $@
-DEFAULT_INCLUDES = -I. -I$(top_builddir)/include@am__isrc@
+DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/include
depcomp = $(SHELL) $(top_srcdir)/depcomp
am__depfiles_maybe = depfiles
CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
@@ -102,14 +105,14 @@ CYGPATH_W = @CYGPATH_W@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
DLLTOOL = @DLLTOOL@
-ECHO = @ECHO@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
-F77 = @F77@
-FFLAGS = @FFLAGS@
+FGREP = @FGREP@
GENCCODE = @GENCCODE@
GENCMN = @GENCMN@
GENRB = @GENRB@
@@ -123,17 +126,23 @@ INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LD = @LD@
LDFLAGS = @LDFLAGS@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
+LIPO = @LIPO@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MKDIR_P = @MKDIR_P@
+NM = @NM@
+NMEDIT = @NMEDIT@
OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
@@ -156,7 +165,7 @@ abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
-ac_ct_F77 = @ac_ct_F77@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
@@ -190,6 +199,7 @@ libdir = @libdir@
libexecdir = @libexecdir@
localedir = @localedir@
localstatedir = @localstatedir@
+lt_ECHO = @lt_ECHO@
mandir = @mandir@
mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@
@@ -208,6 +218,7 @@ target_mingw32 = @target_mingw32@
target_os = @target_os@
target_system = @target_system@
target_vendor = @target_vendor@
+top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
with_conf = @with_conf@
@@ -226,8 +237,8 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__confi
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
- && exit 0; \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
exit 1;; \
esac; \
done; \
@@ -376,8 +387,8 @@ ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
mkid -fID $$unique
tags: TAGS
@@ -389,8 +400,8 @@ TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
test -n "$$unique" || unique=$$empty_fix; \
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
@@ -400,13 +411,12 @@ ctags: CTAGS
CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
tags=; \
- here=`pwd`; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
test -z "$(CTAGS_ARGS)$$tags$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
$$tags $$unique
@@ -420,7 +430,7 @@ distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
check-TESTS: $(TESTS)
- @failed=0; all=0; xfail=0; xpass=0; skip=0; ws='[ ]'; \
+ @failed=0; all=0; xfail=0; xpass=0; skip=0; \
srcdir=$(srcdir); export srcdir; \
list=' $(TESTS) '; \
if test -n "$$list"; then \
@@ -431,7 +441,7 @@ check-TESTS: $(TESTS)
if $(TESTS_ENVIRONMENT) $${dir}$$tst; then \
all=`expr $$all + 1`; \
case " $(XFAIL_TESTS) " in \
- *$$ws$$tst$$ws*) \
+ *[\ \ ]$$tst[\ \ ]*) \
xpass=`expr $$xpass + 1`; \
failed=`expr $$failed + 1`; \
echo "XPASS: $$tst"; \
@@ -443,7 +453,7 @@ check-TESTS: $(TESTS)
elif test $$? -ne 77; then \
all=`expr $$all + 1`; \
case " $(XFAIL_TESTS) " in \
- *$$ws$$tst$$ws*) \
+ *[\ \ ]$$tst[\ \ ]*) \
xfail=`expr $$xfail + 1`; \
echo "XFAIL: $$tst"; \
;; \
@@ -457,23 +467,36 @@ check-TESTS: $(TESTS)
echo "SKIP: $$tst"; \
fi; \
done; \
+ if test "$$all" -eq 1; then \
+ tests="test"; \
+ All=""; \
+ else \
+ tests="tests"; \
+ All="All "; \
+ fi; \
if test "$$failed" -eq 0; then \
if test "$$xfail" -eq 0; then \
- banner="All $$all tests passed"; \
+ banner="$$All$$all $$tests passed"; \
else \
- banner="All $$all tests behaved as expected ($$xfail expected failures)"; \
+ if test "$$xfail" -eq 1; then failures=failure; else failures=failures; fi; \
+ banner="$$All$$all $$tests behaved as expected ($$xfail expected $$failures)"; \
fi; \
else \
if test "$$xpass" -eq 0; then \
- banner="$$failed of $$all tests failed"; \
+ banner="$$failed of $$all $$tests failed"; \
else \
- banner="$$failed of $$all tests did not behave as expected ($$xpass unexpected passes)"; \
+ if test "$$xpass" -eq 1; then passes=pass; else passes=passes; fi; \
+ banner="$$failed of $$all $$tests did not behave as expected ($$xpass unexpected $$passes)"; \
fi; \
fi; \
dashes="$$banner"; \
skipped=""; \
if test "$$skip" -ne 0; then \
- skipped="($$skip tests were not run)"; \
+ if test "$$skip" -eq 1; then \
+ skipped="($$skip test was not run)"; \
+ else \
+ skipped="($$skip tests were not run)"; \
+ fi; \
test `echo "$$skipped" | wc -c` -le `echo "$$banner" | wc -c` || \
dashes="$$skipped"; \
fi; \
diff --git a/tests/cppunit/main.cpp b/tests/cppunit/main.cpp
index c1f69ee..e528619 100644
--- a/tests/cppunit/main.cpp
+++ b/tests/cppunit/main.cpp
@@ -1,4 +1,24 @@
-//LibSword tests
+/******************************************************************************
+ *
+ * LibSword tests
+ *
+ * $Id: main.cpp 2327 2009-04-22 11:42:33Z scribe $
+ *
+ * Copyright 1998-2009 CrossWire Bible Society (http://www.crosswire.org)
+ * CrossWire Bible Society
+ * P. O. Box 2528
+ * Tempe, AZ 85280-2528
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation version 2.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ */
//CppUnit includes
#include <cppunit/extensions/TestFactoryRegistry.h>
diff --git a/tests/cppunit/stringmgr_test.cpp b/tests/cppunit/stringmgr_test.cpp
index 545c910..652534c 100644
--- a/tests/cppunit/stringmgr_test.cpp
+++ b/tests/cppunit/stringmgr_test.cpp
@@ -1,3 +1,20 @@
+/*
+ * Copyright 2009 CrossWire Bible Society (http://www.crosswire.org)
+ * CrossWire Bible Society
+ * P. O. Box 2528
+ * Tempe, AZ 85280-2528
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation version 2.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ */
+
#include <cppunit/extensions/HelperMacros.h>
#include <iostream>
diff --git a/tests/cppunit/swbuf_test.cpp b/tests/cppunit/swbuf_test.cpp
index 5c108b0..d49fa61 100644
--- a/tests/cppunit/swbuf_test.cpp
+++ b/tests/cppunit/swbuf_test.cpp
@@ -1,3 +1,20 @@
+/*
+ * Copyright 2009 CrossWire Bible Society (http://www.crosswire.org)
+ * CrossWire Bible Society
+ * P. O. Box 2528
+ * Tempe, AZ 85280-2528
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation version 2.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ */
+
#include <cppunit/extensions/HelperMacros.h>
#include <iostream>
diff --git a/tests/cppunit/url_test.cpp b/tests/cppunit/url_test.cpp
index a49dd10..093dad2 100644
--- a/tests/cppunit/url_test.cpp
+++ b/tests/cppunit/url_test.cpp
@@ -1,3 +1,20 @@
+/*
+ * Copyright 2009 CrossWire Bible Society (http://www.crosswire.org)
+ * CrossWire Bible Society
+ * P. O. Box 2528
+ * Tempe, AZ 85280-2528
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation version 2.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ */
+
#include <cppunit/extensions/HelperMacros.h>
#include <iostream>
diff --git a/tests/cppunit/versekey_test.cpp b/tests/cppunit/versekey_test.cpp
index 6a615dc..63b6fd2 100644
--- a/tests/cppunit/versekey_test.cpp
+++ b/tests/cppunit/versekey_test.cpp
@@ -1,3 +1,20 @@
+/*
+ * Copyright 2009 CrossWire Bible Society (http://www.crosswire.org)
+ * CrossWire Bible Society
+ * P. O. Box 2528
+ * Tempe, AZ 85280-2528
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation version 2.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ */
+
#include <cppunit/extensions/HelperMacros.h>
#include <iostream>
diff --git a/tests/filtertest.cpp b/tests/filtertest.cpp
index d71bc91..a53bae2 100644
--- a/tests/filtertest.cpp
+++ b/tests/filtertest.cpp
@@ -1,6 +1,25 @@
+/*
+ * Copyright 2009 CrossWire Bible Society (http://www.crosswire.org)
+ * CrossWire Bible Society
+ * P. O. Box 2528
+ * Tempe, AZ 85280-2528
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation version 2.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ */
+
#include <iostream>
#include <swbuf.h>
+#include <filemgr.h>
#include <papyriplain.h>
+#include <utf8utf16.h>
//#include <swmgr.h>
#ifndef NO_SWORD_NAMESPACE
using namespace sword;
@@ -9,15 +28,42 @@ using namespace std;
int main(int argc, char **argv) {
-// SWMgr mgr;
-// SWModule *module = mgr.getModule("KJV");
- PapyriPlain filter;
- SWBuf buf;
- buf = "This is t<e>xt which has papy-\nri markings in it.\n L[et's be] sure it gets--\n cleaned up well for s(earching)";
- std::cout << "Original:\n\n" << buf << "\n\n-------\n\n";
- filter.processText(buf);
-// filter.processText(buf, module->getKey(), module);
- std::cout << buf << "\n\n+++++++\n";
+ UTF8UTF16 filter;
+// PapyriPlain filter;
+//
+ FileDesc *fd = (argc > 1) ? FileMgr::getSystemFileMgr()->open(argv[1], FileMgr::RDONLY) : 0;
+
+ SWBuf lineBuffer = "This is t<e>xt which has papy-\nri markings in it.\n L[et's be] sure it gets--\n cleaned up well for s(earching)";
+
+ std::cout << "Original:\n\n";
+
+ while (!fd || FileMgr::getLine(fd, lineBuffer)) {
+ cout << lineBuffer << "\n";
+ if (!fd) break;
+ }
+
+ cout << "\n\n-------\n\n";
+
+ if (fd) {
+ FileMgr::getSystemFileMgr()->close(fd);
+ fd = FileMgr::getSystemFileMgr()->open(argv[1], FileMgr::RDONLY);
+ }
+
+ while (!fd || FileMgr::getLine(fd, lineBuffer)) {
+ filter.processText(lineBuffer);
+ for (unsigned int i = 0; i < lineBuffer.size(); i++) {
+ printf("%c", lineBuffer[i]);
+ }
+ cout << "\n";
+ if (!fd) break;
+ }
+
+ std::cout << "\n\n+++++++\n";
+
+ if (fd) {
+ FileMgr::getSystemFileMgr()->close(fd);
+ }
return 0;
}
+
diff --git a/tests/icutest.cpp b/tests/icutest.cpp
index 73cf999..3f525b7 100644
--- a/tests/icutest.cpp
+++ b/tests/icutest.cpp
@@ -1,6 +1,21 @@
+/*
+ * Copyright 2009 CrossWire Bible Society (http://www.crosswire.org)
+ * CrossWire Bible Society
+ * P. O. Box 2528
+ * Tempe, AZ 85280-2528
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation version 2.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ */
+
#include <iostream>
-#include <string>
-#include <malloc.h>
#include <string.h>
#include "unicode/utypes.h" /* Basic ICU data types */
@@ -24,7 +39,7 @@ int main() {
uLength = strlen(samplestring);
conv = ucnv_open("utf-8", &status);
uBufSize = (uLength/ucnv_getMinCharSize(conv));
- uBuf = (UChar*)malloc(uBufSize * sizeof(UChar));
+ uBuf = new UChar[uBufSize];
target = uBuf;
@@ -33,5 +48,7 @@ int main() {
cout << samplestring << endl;
+ delete [] uBuf;
+
return 0;
}
diff --git a/tests/indextest.cpp b/tests/indextest.cpp
index b3a712a..4f44f95 100644
--- a/tests/indextest.cpp
+++ b/tests/indextest.cpp
@@ -1,3 +1,20 @@
+/*
+ * Copyright 2009 CrossWire Bible Society (http://www.crosswire.org)
+ * CrossWire Bible Society
+ * P. O. Box 2528
+ * Tempe, AZ 85280-2528
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation version 2.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ */
+
#include <swmgr.h>
#include <iostream>
#include <versekey.h>
@@ -16,7 +33,7 @@ int main(int argc, char **argv) {
vk.Persist(1);
bbe->setKey(vk);
for (; !bbe->Error(); (*bbe)++ ) {
- std::cout << vk.NewIndex() << std::endl;
+ std::cout << vk.Index() << std::endl;
}
}
return 0;
diff --git a/tests/installmgrtest.cpp b/tests/installmgrtest.cpp
index 666f63b..4d3ce96 100644
--- a/tests/installmgrtest.cpp
+++ b/tests/installmgrtest.cpp
@@ -1,3 +1,20 @@
+/*
+ * Copyright 2009 CrossWire Bible Society (http://www.crosswire.org)
+ * CrossWire Bible Society
+ * P. O. Box 2528
+ * Tempe, AZ 85280-2528
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation version 2.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ */
+
#include <swinstallmgr.h>
#include <iostream>
diff --git a/tests/introtest.cpp b/tests/introtest.cpp
index 162b960..ea75f44 100644
--- a/tests/introtest.cpp
+++ b/tests/introtest.cpp
@@ -1,3 +1,20 @@
+/*
+ * Copyright 2009 CrossWire Bible Society (http://www.crosswire.org)
+ * CrossWire Bible Society
+ * P. O. Box 2528
+ * Tempe, AZ 85280-2528
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation version 2.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ */
+
#include <swmgr.h>
#include <iostream>
#include <versekey.h>
diff --git a/tests/keycast.cpp b/tests/keycast.cpp
index f037b0e..3818279 100644
--- a/tests/keycast.cpp
+++ b/tests/keycast.cpp
@@ -1,3 +1,20 @@
+/*
+ * Copyright 2009 CrossWire Bible Society (http://www.crosswire.org)
+ * CrossWire Bible Society
+ * P. O. Box 2528
+ * Tempe, AZ 85280-2528
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation version 2.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ */
+
#include <swmgr.h>
#include <iostream>
#ifndef NO_SWORD_NAMESPACE
diff --git a/tests/keytest.cpp b/tests/keytest.cpp
index 91e77ac..6b22007 100644
--- a/tests/keytest.cpp
+++ b/tests/keytest.cpp
@@ -1,3 +1,20 @@
+/*
+ * Copyright 2009 CrossWire Bible Society (http://www.crosswire.org)
+ * CrossWire Bible Society
+ * P. O. Box 2528
+ * Tempe, AZ 85280-2528
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation version 2.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ */
+
#include <stdio.h>
#include <iostream>
#include <versekey.h>
@@ -17,6 +34,8 @@ int main(int argc, char **argv)
int loop;
int max;
+ VerseKey yo("Gen.1.1", "Gen.1.2");
+ std::cout << yo.getRangeText();
if (argc > 1)
LocaleMgr::getSystemLocaleMgr()->setDefaultLocaleName(argv[1]);
@@ -26,13 +45,14 @@ int main(int argc, char **argv)
if (argc < 2)
bla = "James 1:19";
- else bla = argv[1];
+ else bla = argv[2];
- std::cout << "\n loop++; (.Index(Index()+1))\n";
+ std::cout << "\n Headings: " << (bool)bla.Headings() << "\n";
+ std::cout << " (.Index(Index()+1))\n";
- max = (argc < 3) ? 10 : atoi(argv[2]);
+ max = (argc < 4) ? 10 : atoi(argv[3]);
- for (loop = 0; loop < max; loop++, bla++) {
+ for (loop = 0; loop < max; loop++) {
index = bla.Index();
std::cout << (const char *)bla << "(" << index << ")";
bla.Index(index+1);
@@ -40,12 +60,12 @@ int main(int argc, char **argv)
}
std::cout << "-----------------\n";
- std::cout << "\n loop--; (.Index(Index()-1))\n";
+ std::cout << "\n (.Index(Index()-1))\n";
if (argc < 2)
bla = "James 1:19";
- else bla = argv[1];
+ else bla = argv[2];
- for (loop = max; loop; loop--, bla--) {
+ for (loop = max; loop; loop--) {
index = bla.Index();
std::cout << (const char *)bla << "(" << index << ")";
bla.Index(index-1);
@@ -53,13 +73,29 @@ int main(int argc, char **argv)
}
std::cout << "-----------------\n";
- std::cout << "--------- No Headings --------\n";
+ bla.Headings(true);
+ std::cout << "\n Headings: " << (bool)bla.Headings() << "\n";
+ std::cout << " key++\n";
if (argc < 2)
bla = "Matthew 1:5";
- else bla = argv[1];
+ else bla = argv[2];
- for (loop = max; loop; loop--, bla--) {
+ for (loop = 0; loop < max && !bla.Error(); loop++,bla++) {
+ index = bla.Index();
+ std::cout << (const char *)bla << "(" << index << ")\n";
+ }
+
+ std::cout << "-----------------\n";
+ bla.Headings(true);
+ std::cout << "\n Headings: " << (bool)bla.Headings() << "\n";
+ std::cout << " key--\n";
+
+ if (argc < 2)
+ bla = "Matthew 1:5";
+ else bla = argv[2];
+
+ for (loop = max; loop && !bla.Error(); loop--, bla--) {
index = bla.Index();
std::cout << (const char *)bla << "(" << index << ")\n";
}
@@ -68,7 +104,7 @@ int main(int argc, char **argv)
if (argc < 2)
bla = "Genesis 1:5";
- else bla = argv[1];
+ else bla = argv[2];
for (loop = max; loop; loop--, bla--) {
index = bla.Index();
@@ -79,7 +115,7 @@ int main(int argc, char **argv)
if (argc < 2)
bla = "Malachi 4:2";
- else bla = argv[1];
+ else bla = argv[2];
for (loop = max; loop; loop--, bla++) {
index = bla.Index();
@@ -90,7 +126,7 @@ int main(int argc, char **argv)
if (argc < 2)
bla = "Revelation of John 22:17";
- else bla = argv[1];
+ else bla = argv[2];
for (loop = max; loop; loop--, bla++) {
index = bla.Index();
@@ -105,7 +141,7 @@ int main(int argc, char **argv)
if (argc < 2)
bla = "Matthew 1:5";
- else bla = argv[1];
+ else bla = argv[2];
for (loop = max; loop; loop--, bla--) {
index = bla.Index();
@@ -116,7 +152,7 @@ int main(int argc, char **argv)
if (argc < 2)
bla = "Genesis 1:5";
- else bla = argv[1];
+ else bla = argv[2];
for (loop = max; loop; loop--, bla--) {
index = bla.Index();
@@ -127,7 +163,7 @@ int main(int argc, char **argv)
if (argc < 2)
bla = "Malachi 4:2";
- else bla = argv[1];
+ else bla = argv[2];
for (loop = max; loop; loop--, bla++) {
index = bla.Index();
@@ -138,7 +174,7 @@ int main(int argc, char **argv)
if (argc < 2)
bla = "Revelation of John 22:17";
- else bla = argv[1];
+ else bla = argv[2];
for (loop = max; loop; loop--, bla++) {
index = bla.Index();
@@ -161,13 +197,13 @@ int main(int argc, char **argv)
std::cout << (const char *)bla << "\n";
bla.Testament(1);
bla = BOTTOM;
+ std::cout << bla.TestamentIndex() << "\n";
std::cout << bla.Index() << "\n";
- std::cout << bla.NewIndex() << "\n";
std::cout << bla << "\n";
bla.Testament(2);
bla = BOTTOM;
+ std::cout << bla.TestamentIndex() << "\n";
std::cout << bla.Index() << "\n";
- std::cout << bla.NewIndex() << "\n";
std::cout << bla << "\n";
return 0;
}
diff --git a/tests/lextest.cpp b/tests/lextest.cpp
index 9119a2a..4d1f084 100644
--- a/tests/lextest.cpp
+++ b/tests/lextest.cpp
@@ -1,8 +1,27 @@
+/*
+ * Copyright 2009 CrossWire Bible Society (http://www.crosswire.org)
+ * CrossWire Bible Society
+ * P. O. Box 2528
+ * Tempe, AZ 85280-2528
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation version 2.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ */
+
#include <iostream>
#include <rawld.h>
#ifndef NO_SWORD_NAMESPACE
using namespace sword;
#endif
+using std::cout;
+using std::endl;
int main(int argc, char **argv)
{
@@ -10,10 +29,15 @@ int main(int argc, char **argv)
RawLD lex("tmp/lextest");
lex.setKey("b");
- lex << "x";
+ lex << "entry for b";
lex.setKey("a");
- lex << "x";
+ lex << "entry for a";
+
+ lex = TOP;
+ cout << lex.getKeyText() << endl;
+ lex++;
+ cout << lex.getKeyText() << endl;
lex.setKey("a");
lex.deleteEntry();
diff --git a/tests/listtest.cpp b/tests/listtest.cpp
index fa94dcf..0bcfeed 100644
--- a/tests/listtest.cpp
+++ b/tests/listtest.cpp
@@ -1,3 +1,20 @@
+/*
+ * Copyright 2009 CrossWire Bible Society (http://www.crosswire.org)
+ * CrossWire Bible Society
+ * P. O. Box 2528
+ * Tempe, AZ 85280-2528
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation version 2.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ */
+
#include <stdio.h>
#include <iostream>
#include <stdlib.h>
@@ -5,17 +22,33 @@
#include <versekey.h>
#ifndef NO_SWORD_NAMESPACE
using namespace sword;
+using namespace std;
#endif
int main(int argc, char **argv)
{
- ListKey lk, lk2;
- VerseKey vk("jn 1:1", "jn 1:12");
- VerseKey vk2("jude", "jude");
+ // simple bounds check on verse first before we try this with listkey
SWKey text;
-
+ VerseKey vk("jn 1:1", "jn 1:12");
vk = "jas 1:19";
+ cout << "\nError should be set: " << ((vk.Error()) ? "set":"not set");
+ text = (const char *)vk;
+ cout << "\nshould be jn 1.12: " << text << "\n";
+ vk = "mat 1:19";
+ cout << "\nError should be set: " << ((vk.Error()) ? "set":"not set");
+ text = (const char *)vk;
+ cout << "\nshould be jn 1.1: " << text << "\n";
+ vk = "jn 1:7";
+ cout << "\nError should not be set: " << ((vk.Error()) ? "set":"not set");
text = (const char *)vk;
+ cout << "\nshould be jn 1.7: " << text << "\n";
+
+ // complex listkey in listkey text
+ ListKey lk, lk2;
+
+ // c-tor bound setting
+ VerseKey vk2("jude", "jude");
+
lk << text;
lk << text;
lk << text;
@@ -26,15 +59,20 @@ int main(int argc, char **argv)
lk2 << lk;
lk2 << vk2;
lk2 << "test2";
- for (lk2 = TOP; !lk2.Error(); lk2++)
- std::cout << (const char *) lk2 << "\n";
+ for (lk2 = TOP; !lk2.Error(); lk2++) {
+ cout << (const char *) lk2 << "\n";
+ }
+ cout << "\n\n---------\n";
- lk2 = VerseKey().ParseVerseList("mat-mark", 0, true);
+ lk2 = VerseKey().ParseVerseList("1jn-2jn;mk1.9", 0, true);
+ // c-tor not bound setting, just parsing to jn.1.1
VerseKey yoyo("john");
yoyo = MAXCHAPTER;
- std::cout << yoyo;
+ cout << "should be jn.21.1: " << yoyo << "\n";
+
+ lk2 << yoyo;
/*
for (int i = 0; i < 2; i++) {
@@ -52,22 +90,25 @@ int main(int argc, char **argv)
}
*/
- std::cout << "---------\n";
for (lk2 = TOP; !lk2.Error(); lk2++)
- std::cout << (const char *) lk2 << "\n";
+ cout << (const char *) lk2 << "\n";
lk.ClearList();
lk << "john 3:16";
- std::cout << "\nCount should be 1: " << lk.Count();
+ cout << "\nCount should be 1: " << lk.Count();
lk = vk.ParseVerseList("mat;mark;luke", vk, true);
+ lk = (VerseKey)"mark 3:16";
+ cout << "\nError should not be set: " << ((lk.Error()) ? "set":"not set");
lk = (VerseKey)"john 3:16";
- std::cout << "\nError should be set: " << ((lk.Error()) ? "set":"not set");
+ cout << "\nError should be set: " << ((lk.Error()) ? "set":"not set");
lk = vk.ParseVerseList("mk 3:16", vk, true);
lk = (VerseKey)"john 3:16";
- std::cout << "\nError should be set: " << ((lk.Error()) ? "set":"not set");
+ cout << "\nError should be set: " << ((lk.Error()) ? "set":"not set");
+ lk = (VerseKey)"mark 3:16";
+ cout << "\nError should not be set: " << ((lk.Error()) ? "set":"not set");
- std::cout << "\n\n";
+ cout << "\n\n";
return 0;
}
diff --git a/tests/localetest.cpp b/tests/localetest.cpp
index 895e67e..dd263cc 100644
--- a/tests/localetest.cpp
+++ b/tests/localetest.cpp
@@ -1,3 +1,20 @@
+/*
+ * Copyright 2009 CrossWire Bible Society (http://www.crosswire.org)
+ * CrossWire Bible Society
+ * P. O. Box 2528
+ * Tempe, AZ 85280-2528
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation version 2.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ */
+
#include <localemgr.h>
#include <versekey.h>
#include <iostream>
diff --git a/tests/mgrtest.cpp b/tests/mgrtest.cpp
index d1bce20..acebf88 100644
--- a/tests/mgrtest.cpp
+++ b/tests/mgrtest.cpp
@@ -1,3 +1,20 @@
+/*
+ * Copyright 2009 CrossWire Bible Society (http://www.crosswire.org)
+ * CrossWire Bible Society
+ * P. O. Box 2528
+ * Tempe, AZ 85280-2528
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation version 2.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ */
+
#include <swmgr.h>
#include <swlog.h>
#include <iostream>
@@ -20,6 +37,7 @@ int main(int argc, char **argv) {
std::cerr << "\nconfigPath: " << mymgr.configPath << "\n\n";
+
ModMap::iterator it;
for (it = mymgr.Modules.begin(); it != mymgr.Modules.end(); it++) {
@@ -31,8 +49,11 @@ int main(int argc, char **argv) {
std::cout << (const char *) *(*it).second << "\n\n";
}
}
+
SWModule *mhc = mymgr.Modules["MHC"];
+
if (mhc) {
+ std::cout << "MHC, Lang = " << mhc->Lang() << "\n\n";
for (mhc->Key("Gen 1:1"); mhc->Key() < (VerseKey) "Gen 1:10"; (*mhc)++)
std::cout << (const char *) *mhc << "\n";
}
diff --git a/tests/modtest.cpp b/tests/modtest.cpp
index 889d780..7b946ee 100644
--- a/tests/modtest.cpp
+++ b/tests/modtest.cpp
@@ -1,3 +1,20 @@
+/*
+ * Copyright 2009 CrossWire Bible Society (http://www.crosswire.org)
+ * CrossWire Bible Society
+ * P. O. Box 2528
+ * Tempe, AZ 85280-2528
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation version 2.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ */
+
#include <swmgr.h>
#include <swtext.h>
#include <versekey.h>
diff --git a/tests/outputcps.cpp b/tests/outputcps.cpp
index 32d618d..88e3688 100644
--- a/tests/outputcps.cpp
+++ b/tests/outputcps.cpp
@@ -1,3 +1,20 @@
+/*
+ * Copyright 2009 CrossWire Bible Society (http://www.crosswire.org)
+ * CrossWire Bible Society
+ * P. O. Box 2528
+ * Tempe, AZ 85280-2528
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation version 2.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ */
+
#include <stdio.h>
#include <versekey.h>
diff --git a/tests/parsekey.cpp b/tests/parsekey.cpp
index 16b97c0..99a4340 100644
--- a/tests/parsekey.cpp
+++ b/tests/parsekey.cpp
@@ -1,16 +1,33 @@
+/*
+ * Copyright 2009 CrossWire Bible Society (http://www.crosswire.org)
+ * CrossWire Bible Society
+ * P. O. Box 2528
+ * Tempe, AZ 85280-2528
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation version 2.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ */
+
#include <iostream>
-#include <stdio.h>
-#include <stdlib.h>
#include <versekey.h>
#include <localemgr.h>
+#include <swlog.h>
+
#ifndef NO_SWORD_NAMESPACE
using namespace sword;
#endif
int main(int argc, char **argv) {
if ((argc < 2) || (argc > 4)) {
- fprintf(stderr, "usage: %s <\"string to parse\"> [locale name] [test-in-set-verse]\n", *argv);
+ fprintf(stderr, "usage: %s <\"string to parse\"> [locale_name] [v11n] [test-in-set-verse]\n", *argv);
exit(-1);
}
@@ -18,24 +35,32 @@ int main(int argc, char **argv) {
LocaleMgr::getSystemLocaleMgr()->setDefaultLocaleName(argv[2]);
VerseKey DefaultVSKey;
+// DefaultVSKey.AutoNormalize(0);
+
+ if (argc > 3)
+ DefaultVSKey.setVersificationSystem(argv[3]);
+
+ SWLog::getSystemLog()->setLogLevel(SWLog::LOG_DEBUG);
+ DefaultVSKey.validateCurrentLocale();
DefaultVSKey = "jas3:1";
ListKey verses = DefaultVSKey.ParseVerseList(argv[1], DefaultVSKey, true);
+ for (int i = 1; i < argc; i++) {
+ if (i > 1) std::cout << " ";
+ std::cout << argv[i];
+ }
+ std::cout << ": ";
+ std::cout << verses.getRangeText() << "\n";
+/*
for (int i = 0; i < verses.Count(); i++) {
- VerseKey *element = SWDYNAMIC_CAST(VerseKey, verses.GetElement(i));
- if (element) {
- std::cout << (SWBuf(element->LowerBound()) + " - " + SWBuf(element->UpperBound())).c_str() << "\n";
- }
- else std::cout << (const char *)*verses.GetElement(i) << "\n";
-// else {
-// std::cout << VerseKey(verses.GetElement(i)).getOSISRef() << "\n";
-// }
+ std::cout << verses.GetElement(i)->getRangeText() << "\n";
}
+*/
- if (argc > 3) {
- verses.setText(argv[3]);
+ if (argc > 4) {
+ verses.setText(argv[4]);
std::cout << "Verse is" << ((verses.Error()) ? " NOT" : "") << " in set.\n\n";
}
diff --git a/tests/rawldidxtest.cpp b/tests/rawldidxtest.cpp
index bc874dd..7ccda0c 100644
--- a/tests/rawldidxtest.cpp
+++ b/tests/rawldidxtest.cpp
@@ -1,3 +1,20 @@
+/*
+ * Copyright 2009 CrossWire Bible Society (http://www.crosswire.org)
+ * CrossWire Bible Society
+ * P. O. Box 2528
+ * Tempe, AZ 85280-2528
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation version 2.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ */
+
#include <iostream>
#include <rawstr.h>
#include <swmgr.h>
diff --git a/tests/refsystest.cpp b/tests/refsystest.cpp
index 003ba7b..502d429 100644
--- a/tests/refsystest.cpp
+++ b/tests/refsystest.cpp
@@ -1,3 +1,20 @@
+/*
+ * Copyright 2009 CrossWire Bible Society (http://www.crosswire.org)
+ * CrossWire Bible Society
+ * P. O. Box 2528
+ * Tempe, AZ 85280-2528
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation version 2.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ */
+
#include <stdio.h>
#include <iostream>
#include <versekey2.h>
diff --git a/tests/romantest.cpp b/tests/romantest.cpp
index 3af0ae1..7f57257 100644
--- a/tests/romantest.cpp
+++ b/tests/romantest.cpp
@@ -1,3 +1,20 @@
+/*
+ * Copyright 2009 CrossWire Bible Society (http://www.crosswire.org)
+ * CrossWire Bible Society
+ * P. O. Box 2528
+ * Tempe, AZ 85280-2528
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation version 2.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ */
+
#include <iostream>
#include <stdio.h>
#include <stdlib.h>
diff --git a/tests/swaptest.cpp b/tests/swaptest.cpp
index 2dc8daa..11fd559 100644
--- a/tests/swaptest.cpp
+++ b/tests/swaptest.cpp
@@ -1,3 +1,20 @@
+/*
+ * Copyright 2009 CrossWire Bible Society (http://www.crosswire.org)
+ * CrossWire Bible Society
+ * P. O. Box 2528
+ * Tempe, AZ 85280-2528
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation version 2.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ */
+
#include <sysdata.h>
#include <stdio.h>
diff --git a/tests/swbuftest.cpp b/tests/swbuftest.cpp
index 92c43db..512df09 100644
--- a/tests/swbuftest.cpp
+++ b/tests/swbuftest.cpp
@@ -1,3 +1,20 @@
+/*
+ * Copyright 2009 CrossWire Bible Society (http://www.crosswire.org)
+ * CrossWire Bible Society
+ * P. O. Box 2528
+ * Tempe, AZ 85280-2528
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation version 2.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ */
+
#include <time.h>
#include <iostream>
diff --git a/tests/testblocks.cpp b/tests/testblocks.cpp
index f386118..f0f6e84 100644
--- a/tests/testblocks.cpp
+++ b/tests/testblocks.cpp
@@ -1,3 +1,20 @@
+/*
+ * Copyright 2009 CrossWire Bible Society (http://www.crosswire.org)
+ * CrossWire Bible Society
+ * P. O. Box 2528
+ * Tempe, AZ 85280-2528
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation version 2.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ */
+
#include <entriesblk.h>
#include <iostream>
#include <string>
diff --git a/tests/testsuite/.cvsignore b/tests/testsuite/.cvsignore
deleted file mode 100644
index 171f236..0000000
--- a/tests/testsuite/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-verseparsing.try \ No newline at end of file
diff --git a/tests/testsuite/listtest.good b/tests/testsuite/listtest.good
new file mode 100644
index 0000000..5cbf62a
--- /dev/null
+++ b/tests/testsuite/listtest.good
@@ -0,0 +1,184 @@
+
+Error should be set: set
+should be jn 1.12: John 1:12
+
+Error should be set: set
+should be jn 1.1: John 1:1
+
+Error should not be set: not set
+should be jn 1.7: John 1:7
+test1
+John 1:7
+John 1:7
+John 1:7
+James 1:19
+yoyo
+John 1:1
+John 1:2
+John 1:3
+John 1:4
+John 1:5
+John 1:6
+John 1:7
+John 1:8
+John 1:9
+John 1:10
+John 1:11
+John 1:12
+Jude 1:1
+Jude 1:2
+Jude 1:3
+Jude 1:4
+Jude 1:5
+Jude 1:6
+Jude 1:7
+Jude 1:8
+Jude 1:9
+Jude 1:10
+Jude 1:11
+Jude 1:12
+Jude 1:13
+Jude 1:14
+Jude 1:15
+Jude 1:16
+Jude 1:17
+Jude 1:18
+Jude 1:19
+Jude 1:20
+Jude 1:21
+Jude 1:22
+Jude 1:23
+Jude 1:24
+Jude 1:25
+test2
+
+
+---------
+should be jn.21.1: John 21:1
+I John 1:1
+I John 1:2
+I John 1:3
+I John 1:4
+I John 1:5
+I John 1:6
+I John 1:7
+I John 1:8
+I John 1:9
+I John 1:10
+I John 2:1
+I John 2:2
+I John 2:3
+I John 2:4
+I John 2:5
+I John 2:6
+I John 2:7
+I John 2:8
+I John 2:9
+I John 2:10
+I John 2:11
+I John 2:12
+I John 2:13
+I John 2:14
+I John 2:15
+I John 2:16
+I John 2:17
+I John 2:18
+I John 2:19
+I John 2:20
+I John 2:21
+I John 2:22
+I John 2:23
+I John 2:24
+I John 2:25
+I John 2:26
+I John 2:27
+I John 2:28
+I John 2:29
+I John 3:1
+I John 3:2
+I John 3:3
+I John 3:4
+I John 3:5
+I John 3:6
+I John 3:7
+I John 3:8
+I John 3:9
+I John 3:10
+I John 3:11
+I John 3:12
+I John 3:13
+I John 3:14
+I John 3:15
+I John 3:16
+I John 3:17
+I John 3:18
+I John 3:19
+I John 3:20
+I John 3:21
+I John 3:22
+I John 3:23
+I John 3:24
+I John 4:1
+I John 4:2
+I John 4:3
+I John 4:4
+I John 4:5
+I John 4:6
+I John 4:7
+I John 4:8
+I John 4:9
+I John 4:10
+I John 4:11
+I John 4:12
+I John 4:13
+I John 4:14
+I John 4:15
+I John 4:16
+I John 4:17
+I John 4:18
+I John 4:19
+I John 4:20
+I John 4:21
+I John 5:1
+I John 5:2
+I John 5:3
+I John 5:4
+I John 5:5
+I John 5:6
+I John 5:7
+I John 5:8
+I John 5:9
+I John 5:10
+I John 5:11
+I John 5:12
+I John 5:13
+I John 5:14
+I John 5:15
+I John 5:16
+I John 5:17
+I John 5:18
+I John 5:19
+I John 5:20
+I John 5:21
+II John 1:1
+II John 1:2
+II John 1:3
+II John 1:4
+II John 1:5
+II John 1:6
+II John 1:7
+II John 1:8
+II John 1:9
+II John 1:10
+II John 1:11
+II John 1:12
+II John 1:13
+Mark 1:9
+John 21:1
+
+Count should be 1: 1
+Error should not be set: not set
+Error should be set: set
+Error should be set: set
+Error should not be set: not set
+
diff --git a/tests/testsuite/listtest.sh b/tests/testsuite/listtest.sh
new file mode 100755
index 0000000..855d161
--- /dev/null
+++ b/tests/testsuite/listtest.sh
@@ -0,0 +1,21 @@
+#!/bin/sh
+#******************************************************************************
+#
+# $Id: swmgr.h 2321 2009-04-13 01:17:00Z scribe $
+#
+# Copyright 1998-2009 CrossWire Bible Society (http://www.crosswire.org)
+# CrossWire Bible Society
+# P. O. Box 2528
+# Tempe, AZ 85280-2528
+#
+# This program is free software; you can redistribute it and/or modify it
+# under the terms of the GNU General Public License as published by the
+# Free Software Foundation version 2.
+#
+# This program is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# General Public License for more details.
+#
+
+../listtest
diff --git a/tests/testsuite/runall.sh b/tests/testsuite/runall.sh
index d06e606..75eb221 100755
--- a/tests/testsuite/runall.sh
+++ b/tests/testsuite/runall.sh
@@ -1,4 +1,24 @@
#!/bin/sh
+#******************************************************************************
+#
+# Runs entire test suite
+#
+# $Id: runall.sh 2327 2009-04-22 11:42:33Z scribe $
+#
+# Copyright 1998-2009 CrossWire Bible Society (http://www.crosswire.org)
+# CrossWire Bible Society
+# P. O. Box 2528
+# Tempe, AZ 85280-2528
+#
+# This program is free software; you can redistribute it and/or modify it
+# under the terms of the GNU General Public License as published by the
+# Free Software Foundation version 2.
+#
+# This program is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# General Public License for more details.
+#
TESTSUITE=`for i in *.good; do basename $i .good; done`
diff --git a/tests/testsuite/runtest.sh b/tests/testsuite/runtest.sh
index d8ebee1..4ef57f7 100755
--- a/tests/testsuite/runtest.sh
+++ b/tests/testsuite/runtest.sh
@@ -1,4 +1,24 @@
#!/bin/sh
+#******************************************************************************
+#
+# Runs a single test
+#
+# $Id: runtest.sh 2364 2009-04-29 08:10:02Z scribe $
+#
+# Copyright 1998-2009 CrossWire Bible Society (http://www.crosswire.org)
+# CrossWire Bible Society
+# P. O. Box 2528
+# Tempe, AZ 85280-2528
+#
+# This program is free software; you can redistribute it and/or modify it
+# under the terms of the GNU General Public License as published by the
+# Free Software Foundation version 2.
+#
+# This program is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# General Public License for more details.
+#
if [ "$1" = "" ]; then
echo usage: $0 "<test_to_run (no .sh)>"
@@ -6,7 +26,7 @@ if [ "$1" = "" ]; then
fi
./$1.sh > $1.try
-BAD=`diff -u $1.try $1.good`
+BAD=`diff -uBb $1.try $1.good`
if [ "$BAD" = "" ]; then
if [ "$2" = "-q" ]; then
exit 0
diff --git a/tests/testsuite/versekey.good b/tests/testsuite/versekey.good
deleted file mode 100644
index afb0ab9..0000000
--- a/tests/testsuite/versekey.good
+++ /dev/null
@@ -1,5 +0,0 @@
-x: Amos 1:5
-Amos 1:5
-Amos 1:5
-Error: 1
-Error: 1
diff --git a/tests/testsuite/versekey.sh b/tests/testsuite/versekey.sh
deleted file mode 100755
index aeefcc9..0000000
--- a/tests/testsuite/versekey.sh
+++ /dev/null
@@ -1,3 +0,0 @@
-#!/bin/sh
-
-../versekeytest
diff --git a/tests/testsuite/versekeytest.good b/tests/testsuite/versekeytest.good
new file mode 100644
index 0000000..8ba6e1a
--- /dev/null
+++ b/tests/testsuite/versekeytest.good
@@ -0,0 +1,43 @@
+single
+multiple
+x: Amos 1:5
+Amos 1:5
+Amos 1:5
+Error: 1: Luke 1:1
+Error: 1: Luke 1:1
+Error: 0: Acts 5:1
+Error: 1: Acts 28:31
+
+Normalization on; headings on ====
+
+MAXVERSE: John 4:54
+MAXCHAPTER: John 21:1
+TOP: [ Module Heading ]
+BOTTOM: Revelation of John 22:21
+
+Normalization off; headings on ====
+
+jn.3.50: John 3:50
+MAXCHAPTER: John 21:1
+TOP: [ Module Heading ]
+BOTTOM: Revelation of John 22:21
+
+Normalization on; headings off ====
+
+jn.3.50: John 4:14
+++: John 4:15
+--: John 4:14
+MAXVERSE: John 4:54
+MAXCHAPTER: John 21:1
+TOP: Genesis 1:1
+BOTTOM: Revelation of John 22:21
+
+Normalization off; headings off ====
+
+jn.3.50: John 3:50
+MAXCHAPTER: John 21:1
+TOP: Genesis 1:1
+BOTTOM: Revelation of John 22:21
+John 3:16: 0
+I Samuel 1:1: Chapter() - 1: Ruth 4:22
+
diff --git a/tests/testsuite/versekeytest.sh b/tests/testsuite/versekeytest.sh
new file mode 100755
index 0000000..c2238c1
--- /dev/null
+++ b/tests/testsuite/versekeytest.sh
@@ -0,0 +1,21 @@
+#!/bin/sh
+#******************************************************************************
+#
+# $Id: swmgr.h 2321 2009-04-13 01:17:00Z scribe $
+#
+# Copyright 1998-2009 CrossWire Bible Society (http://www.crosswire.org)
+# CrossWire Bible Society
+# P. O. Box 2528
+# Tempe, AZ 85280-2528
+#
+# This program is free software; you can redistribute it and/or modify it
+# under the terms of the GNU General Public License as published by the
+# Free Software Foundation version 2.
+#
+# This program is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# General Public License for more details.
+#
+
+../versekeytest
diff --git a/tests/testsuite/versemgrtest.good b/tests/testsuite/versemgrtest.good
new file mode 100644
index 0000000..8029075
--- /dev/null
+++ b/tests/testsuite/versemgrtest.good
@@ -0,0 +1,32369 @@
+Versification System: KJV
+Book Count: 66
+Last Book: Revelation of John (Rev)
+ Chapter Max: 22
+ Verse Max: 21
+ Offset: 32359
+
+Offset, Book, Chapter, Verse
+0: -1, 0, 0
+1: 0, -1, 0
+2: 1, 0, 0
+3: 1, 1, 0
+4: 1, 1, 1
+5: 1, 1, 2
+6: 1, 1, 3
+7: 1, 1, 4
+8: 1, 1, 5
+9: 1, 1, 6
+10: 1, 1, 7
+11: 1, 1, 8
+12: 1, 1, 9
+13: 1, 1, 10
+14: 1, 1, 11
+15: 1, 1, 12
+16: 1, 1, 13
+17: 1, 1, 14
+18: 1, 1, 15
+19: 1, 1, 16
+20: 1, 1, 17
+21: 1, 1, 18
+22: 1, 1, 19
+23: 1, 1, 20
+24: 1, 1, 21
+25: 1, 1, 22
+26: 1, 1, 23
+27: 1, 1, 24
+28: 1, 1, 25
+29: 1, 1, 26
+30: 1, 1, 27
+31: 1, 1, 28
+32: 1, 1, 29
+33: 1, 1, 30
+34: 1, 1, 31
+35: 1, 2, 0
+36: 1, 2, 1
+37: 1, 2, 2
+38: 1, 2, 3
+39: 1, 2, 4
+40: 1, 2, 5
+41: 1, 2, 6
+42: 1, 2, 7
+43: 1, 2, 8
+44: 1, 2, 9
+45: 1, 2, 10
+46: 1, 2, 11
+47: 1, 2, 12
+48: 1, 2, 13
+49: 1, 2, 14
+50: 1, 2, 15
+51: 1, 2, 16
+52: 1, 2, 17
+53: 1, 2, 18
+54: 1, 2, 19
+55: 1, 2, 20
+56: 1, 2, 21
+57: 1, 2, 22
+58: 1, 2, 23
+59: 1, 2, 24
+60: 1, 2, 25
+61: 1, 3, 0
+62: 1, 3, 1
+63: 1, 3, 2
+64: 1, 3, 3
+65: 1, 3, 4
+66: 1, 3, 5
+67: 1, 3, 6
+68: 1, 3, 7
+69: 1, 3, 8
+70: 1, 3, 9
+71: 1, 3, 10
+72: 1, 3, 11
+73: 1, 3, 12
+74: 1, 3, 13
+75: 1, 3, 14
+76: 1, 3, 15
+77: 1, 3, 16
+78: 1, 3, 17
+79: 1, 3, 18
+80: 1, 3, 19
+81: 1, 3, 20
+82: 1, 3, 21
+83: 1, 3, 22
+84: 1, 3, 23
+85: 1, 3, 24
+86: 1, 4, 0
+87: 1, 4, 1
+88: 1, 4, 2
+89: 1, 4, 3
+90: 1, 4, 4
+91: 1, 4, 5
+92: 1, 4, 6
+93: 1, 4, 7
+94: 1, 4, 8
+95: 1, 4, 9
+96: 1, 4, 10
+97: 1, 4, 11
+98: 1, 4, 12
+99: 1, 4, 13
+100: 1, 4, 14
+101: 1, 4, 15
+102: 1, 4, 16
+103: 1, 4, 17
+104: 1, 4, 18
+105: 1, 4, 19
+106: 1, 4, 20
+107: 1, 4, 21
+108: 1, 4, 22
+109: 1, 4, 23
+110: 1, 4, 24
+111: 1, 4, 25
+112: 1, 4, 26
+113: 1, 5, 0
+114: 1, 5, 1
+115: 1, 5, 2
+116: 1, 5, 3
+117: 1, 5, 4
+118: 1, 5, 5
+119: 1, 5, 6
+120: 1, 5, 7
+121: 1, 5, 8
+122: 1, 5, 9
+123: 1, 5, 10
+124: 1, 5, 11
+125: 1, 5, 12
+126: 1, 5, 13
+127: 1, 5, 14
+128: 1, 5, 15
+129: 1, 5, 16
+130: 1, 5, 17
+131: 1, 5, 18
+132: 1, 5, 19
+133: 1, 5, 20
+134: 1, 5, 21
+135: 1, 5, 22
+136: 1, 5, 23
+137: 1, 5, 24
+138: 1, 5, 25
+139: 1, 5, 26
+140: 1, 5, 27
+141: 1, 5, 28
+142: 1, 5, 29
+143: 1, 5, 30
+144: 1, 5, 31
+145: 1, 5, 32
+146: 1, 6, 0
+147: 1, 6, 1
+148: 1, 6, 2
+149: 1, 6, 3
+150: 1, 6, 4
+151: 1, 6, 5
+152: 1, 6, 6
+153: 1, 6, 7
+154: 1, 6, 8
+155: 1, 6, 9
+156: 1, 6, 10
+157: 1, 6, 11
+158: 1, 6, 12
+159: 1, 6, 13
+160: 1, 6, 14
+161: 1, 6, 15
+162: 1, 6, 16
+163: 1, 6, 17
+164: 1, 6, 18
+165: 1, 6, 19
+166: 1, 6, 20
+167: 1, 6, 21
+168: 1, 6, 22
+169: 1, 7, 0
+170: 1, 7, 1
+171: 1, 7, 2
+172: 1, 7, 3
+173: 1, 7, 4
+174: 1, 7, 5
+175: 1, 7, 6
+176: 1, 7, 7
+177: 1, 7, 8
+178: 1, 7, 9
+179: 1, 7, 10
+180: 1, 7, 11
+181: 1, 7, 12
+182: 1, 7, 13
+183: 1, 7, 14
+184: 1, 7, 15
+185: 1, 7, 16
+186: 1, 7, 17
+187: 1, 7, 18
+188: 1, 7, 19
+189: 1, 7, 20
+190: 1, 7, 21
+191: 1, 7, 22
+192: 1, 7, 23
+193: 1, 7, 24
+194: 1, 8, 0
+195: 1, 8, 1
+196: 1, 8, 2
+197: 1, 8, 3
+198: 1, 8, 4
+199: 1, 8, 5
+200: 1, 8, 6
+201: 1, 8, 7
+202: 1, 8, 8
+203: 1, 8, 9
+204: 1, 8, 10
+205: 1, 8, 11
+206: 1, 8, 12
+207: 1, 8, 13
+208: 1, 8, 14
+209: 1, 8, 15
+210: 1, 8, 16
+211: 1, 8, 17
+212: 1, 8, 18
+213: 1, 8, 19
+214: 1, 8, 20
+215: 1, 8, 21
+216: 1, 8, 22
+217: 1, 9, 0
+218: 1, 9, 1
+219: 1, 9, 2
+220: 1, 9, 3
+221: 1, 9, 4
+222: 1, 9, 5
+223: 1, 9, 6
+224: 1, 9, 7
+225: 1, 9, 8
+226: 1, 9, 9
+227: 1, 9, 10
+228: 1, 9, 11
+229: 1, 9, 12
+230: 1, 9, 13
+231: 1, 9, 14
+232: 1, 9, 15
+233: 1, 9, 16
+234: 1, 9, 17
+235: 1, 9, 18
+236: 1, 9, 19
+237: 1, 9, 20
+238: 1, 9, 21
+239: 1, 9, 22
+240: 1, 9, 23
+241: 1, 9, 24
+242: 1, 9, 25
+243: 1, 9, 26
+244: 1, 9, 27
+245: 1, 9, 28
+246: 1, 9, 29
+247: 1, 10, 0
+248: 1, 10, 1
+249: 1, 10, 2
+250: 1, 10, 3
+251: 1, 10, 4
+252: 1, 10, 5
+253: 1, 10, 6
+254: 1, 10, 7
+255: 1, 10, 8
+256: 1, 10, 9
+257: 1, 10, 10
+258: 1, 10, 11
+259: 1, 10, 12
+260: 1, 10, 13
+261: 1, 10, 14
+262: 1, 10, 15
+263: 1, 10, 16
+264: 1, 10, 17
+265: 1, 10, 18
+266: 1, 10, 19
+267: 1, 10, 20
+268: 1, 10, 21
+269: 1, 10, 22
+270: 1, 10, 23
+271: 1, 10, 24
+272: 1, 10, 25
+273: 1, 10, 26
+274: 1, 10, 27
+275: 1, 10, 28
+276: 1, 10, 29
+277: 1, 10, 30
+278: 1, 10, 31
+279: 1, 10, 32
+280: 1, 11, 0
+281: 1, 11, 1
+282: 1, 11, 2
+283: 1, 11, 3
+284: 1, 11, 4
+285: 1, 11, 5
+286: 1, 11, 6
+287: 1, 11, 7
+288: 1, 11, 8
+289: 1, 11, 9
+290: 1, 11, 10
+291: 1, 11, 11
+292: 1, 11, 12
+293: 1, 11, 13
+294: 1, 11, 14
+295: 1, 11, 15
+296: 1, 11, 16
+297: 1, 11, 17
+298: 1, 11, 18
+299: 1, 11, 19
+300: 1, 11, 20
+301: 1, 11, 21
+302: 1, 11, 22
+303: 1, 11, 23
+304: 1, 11, 24
+305: 1, 11, 25
+306: 1, 11, 26
+307: 1, 11, 27
+308: 1, 11, 28
+309: 1, 11, 29
+310: 1, 11, 30
+311: 1, 11, 31
+312: 1, 11, 32
+313: 1, 12, 0
+314: 1, 12, 1
+315: 1, 12, 2
+316: 1, 12, 3
+317: 1, 12, 4
+318: 1, 12, 5
+319: 1, 12, 6
+320: 1, 12, 7
+321: 1, 12, 8
+322: 1, 12, 9
+323: 1, 12, 10
+324: 1, 12, 11
+325: 1, 12, 12
+326: 1, 12, 13
+327: 1, 12, 14
+328: 1, 12, 15
+329: 1, 12, 16
+330: 1, 12, 17
+331: 1, 12, 18
+332: 1, 12, 19
+333: 1, 12, 20
+334: 1, 13, 0
+335: 1, 13, 1
+336: 1, 13, 2
+337: 1, 13, 3
+338: 1, 13, 4
+339: 1, 13, 5
+340: 1, 13, 6
+341: 1, 13, 7
+342: 1, 13, 8
+343: 1, 13, 9
+344: 1, 13, 10
+345: 1, 13, 11
+346: 1, 13, 12
+347: 1, 13, 13
+348: 1, 13, 14
+349: 1, 13, 15
+350: 1, 13, 16
+351: 1, 13, 17
+352: 1, 13, 18
+353: 1, 14, 0
+354: 1, 14, 1
+355: 1, 14, 2
+356: 1, 14, 3
+357: 1, 14, 4
+358: 1, 14, 5
+359: 1, 14, 6
+360: 1, 14, 7
+361: 1, 14, 8
+362: 1, 14, 9
+363: 1, 14, 10
+364: 1, 14, 11
+365: 1, 14, 12
+366: 1, 14, 13
+367: 1, 14, 14
+368: 1, 14, 15
+369: 1, 14, 16
+370: 1, 14, 17
+371: 1, 14, 18
+372: 1, 14, 19
+373: 1, 14, 20
+374: 1, 14, 21
+375: 1, 14, 22
+376: 1, 14, 23
+377: 1, 14, 24
+378: 1, 15, 0
+379: 1, 15, 1
+380: 1, 15, 2
+381: 1, 15, 3
+382: 1, 15, 4
+383: 1, 15, 5
+384: 1, 15, 6
+385: 1, 15, 7
+386: 1, 15, 8
+387: 1, 15, 9
+388: 1, 15, 10
+389: 1, 15, 11
+390: 1, 15, 12
+391: 1, 15, 13
+392: 1, 15, 14
+393: 1, 15, 15
+394: 1, 15, 16
+395: 1, 15, 17
+396: 1, 15, 18
+397: 1, 15, 19
+398: 1, 15, 20
+399: 1, 15, 21
+400: 1, 16, 0
+401: 1, 16, 1
+402: 1, 16, 2
+403: 1, 16, 3
+404: 1, 16, 4
+405: 1, 16, 5
+406: 1, 16, 6
+407: 1, 16, 7
+408: 1, 16, 8
+409: 1, 16, 9
+410: 1, 16, 10
+411: 1, 16, 11
+412: 1, 16, 12
+413: 1, 16, 13
+414: 1, 16, 14
+415: 1, 16, 15
+416: 1, 16, 16
+417: 1, 17, 0
+418: 1, 17, 1
+419: 1, 17, 2
+420: 1, 17, 3
+421: 1, 17, 4
+422: 1, 17, 5
+423: 1, 17, 6
+424: 1, 17, 7
+425: 1, 17, 8
+426: 1, 17, 9
+427: 1, 17, 10
+428: 1, 17, 11
+429: 1, 17, 12
+430: 1, 17, 13
+431: 1, 17, 14
+432: 1, 17, 15
+433: 1, 17, 16
+434: 1, 17, 17
+435: 1, 17, 18
+436: 1, 17, 19
+437: 1, 17, 20
+438: 1, 17, 21
+439: 1, 17, 22
+440: 1, 17, 23
+441: 1, 17, 24
+442: 1, 17, 25
+443: 1, 17, 26
+444: 1, 17, 27
+445: 1, 18, 0
+446: 1, 18, 1
+447: 1, 18, 2
+448: 1, 18, 3
+449: 1, 18, 4
+450: 1, 18, 5
+451: 1, 18, 6
+452: 1, 18, 7
+453: 1, 18, 8
+454: 1, 18, 9
+455: 1, 18, 10
+456: 1, 18, 11
+457: 1, 18, 12
+458: 1, 18, 13
+459: 1, 18, 14
+460: 1, 18, 15
+461: 1, 18, 16
+462: 1, 18, 17
+463: 1, 18, 18
+464: 1, 18, 19
+465: 1, 18, 20
+466: 1, 18, 21
+467: 1, 18, 22
+468: 1, 18, 23
+469: 1, 18, 24
+470: 1, 18, 25
+471: 1, 18, 26
+472: 1, 18, 27
+473: 1, 18, 28
+474: 1, 18, 29
+475: 1, 18, 30
+476: 1, 18, 31
+477: 1, 18, 32
+478: 1, 18, 33
+479: 1, 19, 0
+480: 1, 19, 1
+481: 1, 19, 2
+482: 1, 19, 3
+483: 1, 19, 4
+484: 1, 19, 5
+485: 1, 19, 6
+486: 1, 19, 7
+487: 1, 19, 8
+488: 1, 19, 9
+489: 1, 19, 10
+490: 1, 19, 11
+491: 1, 19, 12
+492: 1, 19, 13
+493: 1, 19, 14
+494: 1, 19, 15
+495: 1, 19, 16
+496: 1, 19, 17
+497: 1, 19, 18
+498: 1, 19, 19
+499: 1, 19, 20
+500: 1, 19, 21
+501: 1, 19, 22
+502: 1, 19, 23
+503: 1, 19, 24
+504: 1, 19, 25
+505: 1, 19, 26
+506: 1, 19, 27
+507: 1, 19, 28
+508: 1, 19, 29
+509: 1, 19, 30
+510: 1, 19, 31
+511: 1, 19, 32
+512: 1, 19, 33
+513: 1, 19, 34
+514: 1, 19, 35
+515: 1, 19, 36
+516: 1, 19, 37
+517: 1, 19, 38
+518: 1, 20, 0
+519: 1, 20, 1
+520: 1, 20, 2
+521: 1, 20, 3
+522: 1, 20, 4
+523: 1, 20, 5
+524: 1, 20, 6
+525: 1, 20, 7
+526: 1, 20, 8
+527: 1, 20, 9
+528: 1, 20, 10
+529: 1, 20, 11
+530: 1, 20, 12
+531: 1, 20, 13
+532: 1, 20, 14
+533: 1, 20, 15
+534: 1, 20, 16
+535: 1, 20, 17
+536: 1, 20, 18
+537: 1, 21, 0
+538: 1, 21, 1
+539: 1, 21, 2
+540: 1, 21, 3
+541: 1, 21, 4
+542: 1, 21, 5
+543: 1, 21, 6
+544: 1, 21, 7
+545: 1, 21, 8
+546: 1, 21, 9
+547: 1, 21, 10
+548: 1, 21, 11
+549: 1, 21, 12
+550: 1, 21, 13
+551: 1, 21, 14
+552: 1, 21, 15
+553: 1, 21, 16
+554: 1, 21, 17
+555: 1, 21, 18
+556: 1, 21, 19
+557: 1, 21, 20
+558: 1, 21, 21
+559: 1, 21, 22
+560: 1, 21, 23
+561: 1, 21, 24
+562: 1, 21, 25
+563: 1, 21, 26
+564: 1, 21, 27
+565: 1, 21, 28
+566: 1, 21, 29
+567: 1, 21, 30
+568: 1, 21, 31
+569: 1, 21, 32
+570: 1, 21, 33
+571: 1, 21, 34
+572: 1, 22, 0
+573: 1, 22, 1
+574: 1, 22, 2
+575: 1, 22, 3
+576: 1, 22, 4
+577: 1, 22, 5
+578: 1, 22, 6
+579: 1, 22, 7
+580: 1, 22, 8
+581: 1, 22, 9
+582: 1, 22, 10
+583: 1, 22, 11
+584: 1, 22, 12
+585: 1, 22, 13
+586: 1, 22, 14
+587: 1, 22, 15
+588: 1, 22, 16
+589: 1, 22, 17
+590: 1, 22, 18
+591: 1, 22, 19
+592: 1, 22, 20
+593: 1, 22, 21
+594: 1, 22, 22
+595: 1, 22, 23
+596: 1, 22, 24
+597: 1, 23, 0
+598: 1, 23, 1
+599: 1, 23, 2
+600: 1, 23, 3
+601: 1, 23, 4
+602: 1, 23, 5
+603: 1, 23, 6
+604: 1, 23, 7
+605: 1, 23, 8
+606: 1, 23, 9
+607: 1, 23, 10
+608: 1, 23, 11
+609: 1, 23, 12
+610: 1, 23, 13
+611: 1, 23, 14
+612: 1, 23, 15
+613: 1, 23, 16
+614: 1, 23, 17
+615: 1, 23, 18
+616: 1, 23, 19
+617: 1, 23, 20
+618: 1, 24, 0
+619: 1, 24, 1
+620: 1, 24, 2
+621: 1, 24, 3
+622: 1, 24, 4
+623: 1, 24, 5
+624: 1, 24, 6
+625: 1, 24, 7
+626: 1, 24, 8
+627: 1, 24, 9
+628: 1, 24, 10
+629: 1, 24, 11
+630: 1, 24, 12
+631: 1, 24, 13
+632: 1, 24, 14
+633: 1, 24, 15
+634: 1, 24, 16
+635: 1, 24, 17
+636: 1, 24, 18
+637: 1, 24, 19
+638: 1, 24, 20
+639: 1, 24, 21
+640: 1, 24, 22
+641: 1, 24, 23
+642: 1, 24, 24
+643: 1, 24, 25
+644: 1, 24, 26
+645: 1, 24, 27
+646: 1, 24, 28
+647: 1, 24, 29
+648: 1, 24, 30
+649: 1, 24, 31
+650: 1, 24, 32
+651: 1, 24, 33
+652: 1, 24, 34
+653: 1, 24, 35
+654: 1, 24, 36
+655: 1, 24, 37
+656: 1, 24, 38
+657: 1, 24, 39
+658: 1, 24, 40
+659: 1, 24, 41
+660: 1, 24, 42
+661: 1, 24, 43
+662: 1, 24, 44
+663: 1, 24, 45
+664: 1, 24, 46
+665: 1, 24, 47
+666: 1, 24, 48
+667: 1, 24, 49
+668: 1, 24, 50
+669: 1, 24, 51
+670: 1, 24, 52
+671: 1, 24, 53
+672: 1, 24, 54
+673: 1, 24, 55
+674: 1, 24, 56
+675: 1, 24, 57
+676: 1, 24, 58
+677: 1, 24, 59
+678: 1, 24, 60
+679: 1, 24, 61
+680: 1, 24, 62
+681: 1, 24, 63
+682: 1, 24, 64
+683: 1, 24, 65
+684: 1, 24, 66
+685: 1, 24, 67
+686: 1, 25, 0
+687: 1, 25, 1
+688: 1, 25, 2
+689: 1, 25, 3
+690: 1, 25, 4
+691: 1, 25, 5
+692: 1, 25, 6
+693: 1, 25, 7
+694: 1, 25, 8
+695: 1, 25, 9
+696: 1, 25, 10
+697: 1, 25, 11
+698: 1, 25, 12
+699: 1, 25, 13
+700: 1, 25, 14
+701: 1, 25, 15
+702: 1, 25, 16
+703: 1, 25, 17
+704: 1, 25, 18
+705: 1, 25, 19
+706: 1, 25, 20
+707: 1, 25, 21
+708: 1, 25, 22
+709: 1, 25, 23
+710: 1, 25, 24
+711: 1, 25, 25
+712: 1, 25, 26
+713: 1, 25, 27
+714: 1, 25, 28
+715: 1, 25, 29
+716: 1, 25, 30
+717: 1, 25, 31
+718: 1, 25, 32
+719: 1, 25, 33
+720: 1, 25, 34
+721: 1, 26, 0
+722: 1, 26, 1
+723: 1, 26, 2
+724: 1, 26, 3
+725: 1, 26, 4
+726: 1, 26, 5
+727: 1, 26, 6
+728: 1, 26, 7
+729: 1, 26, 8
+730: 1, 26, 9
+731: 1, 26, 10
+732: 1, 26, 11
+733: 1, 26, 12
+734: 1, 26, 13
+735: 1, 26, 14
+736: 1, 26, 15
+737: 1, 26, 16
+738: 1, 26, 17
+739: 1, 26, 18
+740: 1, 26, 19
+741: 1, 26, 20
+742: 1, 26, 21
+743: 1, 26, 22
+744: 1, 26, 23
+745: 1, 26, 24
+746: 1, 26, 25
+747: 1, 26, 26
+748: 1, 26, 27
+749: 1, 26, 28
+750: 1, 26, 29
+751: 1, 26, 30
+752: 1, 26, 31
+753: 1, 26, 32
+754: 1, 26, 33
+755: 1, 26, 34
+756: 1, 26, 35
+757: 1, 27, 0
+758: 1, 27, 1
+759: 1, 27, 2
+760: 1, 27, 3
+761: 1, 27, 4
+762: 1, 27, 5
+763: 1, 27, 6
+764: 1, 27, 7
+765: 1, 27, 8
+766: 1, 27, 9
+767: 1, 27, 10
+768: 1, 27, 11
+769: 1, 27, 12
+770: 1, 27, 13
+771: 1, 27, 14
+772: 1, 27, 15
+773: 1, 27, 16
+774: 1, 27, 17
+775: 1, 27, 18
+776: 1, 27, 19
+777: 1, 27, 20
+778: 1, 27, 21
+779: 1, 27, 22
+780: 1, 27, 23
+781: 1, 27, 24
+782: 1, 27, 25
+783: 1, 27, 26
+784: 1, 27, 27
+785: 1, 27, 28
+786: 1, 27, 29
+787: 1, 27, 30
+788: 1, 27, 31
+789: 1, 27, 32
+790: 1, 27, 33
+791: 1, 27, 34
+792: 1, 27, 35
+793: 1, 27, 36
+794: 1, 27, 37
+795: 1, 27, 38
+796: 1, 27, 39
+797: 1, 27, 40
+798: 1, 27, 41
+799: 1, 27, 42
+800: 1, 27, 43
+801: 1, 27, 44
+802: 1, 27, 45
+803: 1, 27, 46
+804: 1, 28, 0
+805: 1, 28, 1
+806: 1, 28, 2
+807: 1, 28, 3
+808: 1, 28, 4
+809: 1, 28, 5
+810: 1, 28, 6
+811: 1, 28, 7
+812: 1, 28, 8
+813: 1, 28, 9
+814: 1, 28, 10
+815: 1, 28, 11
+816: 1, 28, 12
+817: 1, 28, 13
+818: 1, 28, 14
+819: 1, 28, 15
+820: 1, 28, 16
+821: 1, 28, 17
+822: 1, 28, 18
+823: 1, 28, 19
+824: 1, 28, 20
+825: 1, 28, 21
+826: 1, 28, 22
+827: 1, 29, 0
+828: 1, 29, 1
+829: 1, 29, 2
+830: 1, 29, 3
+831: 1, 29, 4
+832: 1, 29, 5
+833: 1, 29, 6
+834: 1, 29, 7
+835: 1, 29, 8
+836: 1, 29, 9
+837: 1, 29, 10
+838: 1, 29, 11
+839: 1, 29, 12
+840: 1, 29, 13
+841: 1, 29, 14
+842: 1, 29, 15
+843: 1, 29, 16
+844: 1, 29, 17
+845: 1, 29, 18
+846: 1, 29, 19
+847: 1, 29, 20
+848: 1, 29, 21
+849: 1, 29, 22
+850: 1, 29, 23
+851: 1, 29, 24
+852: 1, 29, 25
+853: 1, 29, 26
+854: 1, 29, 27
+855: 1, 29, 28
+856: 1, 29, 29
+857: 1, 29, 30
+858: 1, 29, 31
+859: 1, 29, 32
+860: 1, 29, 33
+861: 1, 29, 34
+862: 1, 29, 35
+863: 1, 30, 0
+864: 1, 30, 1
+865: 1, 30, 2
+866: 1, 30, 3
+867: 1, 30, 4
+868: 1, 30, 5
+869: 1, 30, 6
+870: 1, 30, 7
+871: 1, 30, 8
+872: 1, 30, 9
+873: 1, 30, 10
+874: 1, 30, 11
+875: 1, 30, 12
+876: 1, 30, 13
+877: 1, 30, 14
+878: 1, 30, 15
+879: 1, 30, 16
+880: 1, 30, 17
+881: 1, 30, 18
+882: 1, 30, 19
+883: 1, 30, 20
+884: 1, 30, 21
+885: 1, 30, 22
+886: 1, 30, 23
+887: 1, 30, 24
+888: 1, 30, 25
+889: 1, 30, 26
+890: 1, 30, 27
+891: 1, 30, 28
+892: 1, 30, 29
+893: 1, 30, 30
+894: 1, 30, 31
+895: 1, 30, 32
+896: 1, 30, 33
+897: 1, 30, 34
+898: 1, 30, 35
+899: 1, 30, 36
+900: 1, 30, 37
+901: 1, 30, 38
+902: 1, 30, 39
+903: 1, 30, 40
+904: 1, 30, 41
+905: 1, 30, 42
+906: 1, 30, 43
+907: 1, 31, 0
+908: 1, 31, 1
+909: 1, 31, 2
+910: 1, 31, 3
+911: 1, 31, 4
+912: 1, 31, 5
+913: 1, 31, 6
+914: 1, 31, 7
+915: 1, 31, 8
+916: 1, 31, 9
+917: 1, 31, 10
+918: 1, 31, 11
+919: 1, 31, 12
+920: 1, 31, 13
+921: 1, 31, 14
+922: 1, 31, 15
+923: 1, 31, 16
+924: 1, 31, 17
+925: 1, 31, 18
+926: 1, 31, 19
+927: 1, 31, 20
+928: 1, 31, 21
+929: 1, 31, 22
+930: 1, 31, 23
+931: 1, 31, 24
+932: 1, 31, 25
+933: 1, 31, 26
+934: 1, 31, 27
+935: 1, 31, 28
+936: 1, 31, 29
+937: 1, 31, 30
+938: 1, 31, 31
+939: 1, 31, 32
+940: 1, 31, 33
+941: 1, 31, 34
+942: 1, 31, 35
+943: 1, 31, 36
+944: 1, 31, 37
+945: 1, 31, 38
+946: 1, 31, 39
+947: 1, 31, 40
+948: 1, 31, 41
+949: 1, 31, 42
+950: 1, 31, 43
+951: 1, 31, 44
+952: 1, 31, 45
+953: 1, 31, 46
+954: 1, 31, 47
+955: 1, 31, 48
+956: 1, 31, 49
+957: 1, 31, 50
+958: 1, 31, 51
+959: 1, 31, 52
+960: 1, 31, 53
+961: 1, 31, 54
+962: 1, 31, 55
+963: 1, 32, 0
+964: 1, 32, 1
+965: 1, 32, 2
+966: 1, 32, 3
+967: 1, 32, 4
+968: 1, 32, 5
+969: 1, 32, 6
+970: 1, 32, 7
+971: 1, 32, 8
+972: 1, 32, 9
+973: 1, 32, 10
+974: 1, 32, 11
+975: 1, 32, 12
+976: 1, 32, 13
+977: 1, 32, 14
+978: 1, 32, 15
+979: 1, 32, 16
+980: 1, 32, 17
+981: 1, 32, 18
+982: 1, 32, 19
+983: 1, 32, 20
+984: 1, 32, 21
+985: 1, 32, 22
+986: 1, 32, 23
+987: 1, 32, 24
+988: 1, 32, 25
+989: 1, 32, 26
+990: 1, 32, 27
+991: 1, 32, 28
+992: 1, 32, 29
+993: 1, 32, 30
+994: 1, 32, 31
+995: 1, 32, 32
+996: 1, 33, 0
+997: 1, 33, 1
+998: 1, 33, 2
+999: 1, 33, 3
+1000: 1, 33, 4
+1001: 1, 33, 5
+1002: 1, 33, 6
+1003: 1, 33, 7
+1004: 1, 33, 8
+1005: 1, 33, 9
+1006: 1, 33, 10
+1007: 1, 33, 11
+1008: 1, 33, 12
+1009: 1, 33, 13
+1010: 1, 33, 14
+1011: 1, 33, 15
+1012: 1, 33, 16
+1013: 1, 33, 17
+1014: 1, 33, 18
+1015: 1, 33, 19
+1016: 1, 33, 20
+1017: 1, 34, 0
+1018: 1, 34, 1
+1019: 1, 34, 2
+1020: 1, 34, 3
+1021: 1, 34, 4
+1022: 1, 34, 5
+1023: 1, 34, 6
+1024: 1, 34, 7
+1025: 1, 34, 8
+1026: 1, 34, 9
+1027: 1, 34, 10
+1028: 1, 34, 11
+1029: 1, 34, 12
+1030: 1, 34, 13
+1031: 1, 34, 14
+1032: 1, 34, 15
+1033: 1, 34, 16
+1034: 1, 34, 17
+1035: 1, 34, 18
+1036: 1, 34, 19
+1037: 1, 34, 20
+1038: 1, 34, 21
+1039: 1, 34, 22
+1040: 1, 34, 23
+1041: 1, 34, 24
+1042: 1, 34, 25
+1043: 1, 34, 26
+1044: 1, 34, 27
+1045: 1, 34, 28
+1046: 1, 34, 29
+1047: 1, 34, 30
+1048: 1, 34, 31
+1049: 1, 35, 0
+1050: 1, 35, 1
+1051: 1, 35, 2
+1052: 1, 35, 3
+1053: 1, 35, 4
+1054: 1, 35, 5
+1055: 1, 35, 6
+1056: 1, 35, 7
+1057: 1, 35, 8
+1058: 1, 35, 9
+1059: 1, 35, 10
+1060: 1, 35, 11
+1061: 1, 35, 12
+1062: 1, 35, 13
+1063: 1, 35, 14
+1064: 1, 35, 15
+1065: 1, 35, 16
+1066: 1, 35, 17
+1067: 1, 35, 18
+1068: 1, 35, 19
+1069: 1, 35, 20
+1070: 1, 35, 21
+1071: 1, 35, 22
+1072: 1, 35, 23
+1073: 1, 35, 24
+1074: 1, 35, 25
+1075: 1, 35, 26
+1076: 1, 35, 27
+1077: 1, 35, 28
+1078: 1, 35, 29
+1079: 1, 36, 0
+1080: 1, 36, 1
+1081: 1, 36, 2
+1082: 1, 36, 3
+1083: 1, 36, 4
+1084: 1, 36, 5
+1085: 1, 36, 6
+1086: 1, 36, 7
+1087: 1, 36, 8
+1088: 1, 36, 9
+1089: 1, 36, 10
+1090: 1, 36, 11
+1091: 1, 36, 12
+1092: 1, 36, 13
+1093: 1, 36, 14
+1094: 1, 36, 15
+1095: 1, 36, 16
+1096: 1, 36, 17
+1097: 1, 36, 18
+1098: 1, 36, 19
+1099: 1, 36, 20
+1100: 1, 36, 21
+1101: 1, 36, 22
+1102: 1, 36, 23
+1103: 1, 36, 24
+1104: 1, 36, 25
+1105: 1, 36, 26
+1106: 1, 36, 27
+1107: 1, 36, 28
+1108: 1, 36, 29
+1109: 1, 36, 30
+1110: 1, 36, 31
+1111: 1, 36, 32
+1112: 1, 36, 33
+1113: 1, 36, 34
+1114: 1, 36, 35
+1115: 1, 36, 36
+1116: 1, 36, 37
+1117: 1, 36, 38
+1118: 1, 36, 39
+1119: 1, 36, 40
+1120: 1, 36, 41
+1121: 1, 36, 42
+1122: 1, 36, 43
+1123: 1, 37, 0
+1124: 1, 37, 1
+1125: 1, 37, 2
+1126: 1, 37, 3
+1127: 1, 37, 4
+1128: 1, 37, 5
+1129: 1, 37, 6
+1130: 1, 37, 7
+1131: 1, 37, 8
+1132: 1, 37, 9
+1133: 1, 37, 10
+1134: 1, 37, 11
+1135: 1, 37, 12
+1136: 1, 37, 13
+1137: 1, 37, 14
+1138: 1, 37, 15
+1139: 1, 37, 16
+1140: 1, 37, 17
+1141: 1, 37, 18
+1142: 1, 37, 19
+1143: 1, 37, 20
+1144: 1, 37, 21
+1145: 1, 37, 22
+1146: 1, 37, 23
+1147: 1, 37, 24
+1148: 1, 37, 25
+1149: 1, 37, 26
+1150: 1, 37, 27
+1151: 1, 37, 28
+1152: 1, 37, 29
+1153: 1, 37, 30
+1154: 1, 37, 31
+1155: 1, 37, 32
+1156: 1, 37, 33
+1157: 1, 37, 34
+1158: 1, 37, 35
+1159: 1, 37, 36
+1160: 1, 38, 0
+1161: 1, 38, 1
+1162: 1, 38, 2
+1163: 1, 38, 3
+1164: 1, 38, 4
+1165: 1, 38, 5
+1166: 1, 38, 6
+1167: 1, 38, 7
+1168: 1, 38, 8
+1169: 1, 38, 9
+1170: 1, 38, 10
+1171: 1, 38, 11
+1172: 1, 38, 12
+1173: 1, 38, 13
+1174: 1, 38, 14
+1175: 1, 38, 15
+1176: 1, 38, 16
+1177: 1, 38, 17
+1178: 1, 38, 18
+1179: 1, 38, 19
+1180: 1, 38, 20
+1181: 1, 38, 21
+1182: 1, 38, 22
+1183: 1, 38, 23
+1184: 1, 38, 24
+1185: 1, 38, 25
+1186: 1, 38, 26
+1187: 1, 38, 27
+1188: 1, 38, 28
+1189: 1, 38, 29
+1190: 1, 38, 30
+1191: 1, 39, 0
+1192: 1, 39, 1
+1193: 1, 39, 2
+1194: 1, 39, 3
+1195: 1, 39, 4
+1196: 1, 39, 5
+1197: 1, 39, 6
+1198: 1, 39, 7
+1199: 1, 39, 8
+1200: 1, 39, 9
+1201: 1, 39, 10
+1202: 1, 39, 11
+1203: 1, 39, 12
+1204: 1, 39, 13
+1205: 1, 39, 14
+1206: 1, 39, 15
+1207: 1, 39, 16
+1208: 1, 39, 17
+1209: 1, 39, 18
+1210: 1, 39, 19
+1211: 1, 39, 20
+1212: 1, 39, 21
+1213: 1, 39, 22
+1214: 1, 39, 23
+1215: 1, 40, 0
+1216: 1, 40, 1
+1217: 1, 40, 2
+1218: 1, 40, 3
+1219: 1, 40, 4
+1220: 1, 40, 5
+1221: 1, 40, 6
+1222: 1, 40, 7
+1223: 1, 40, 8
+1224: 1, 40, 9
+1225: 1, 40, 10
+1226: 1, 40, 11
+1227: 1, 40, 12
+1228: 1, 40, 13
+1229: 1, 40, 14
+1230: 1, 40, 15
+1231: 1, 40, 16
+1232: 1, 40, 17
+1233: 1, 40, 18
+1234: 1, 40, 19
+1235: 1, 40, 20
+1236: 1, 40, 21
+1237: 1, 40, 22
+1238: 1, 40, 23
+1239: 1, 41, 0
+1240: 1, 41, 1
+1241: 1, 41, 2
+1242: 1, 41, 3
+1243: 1, 41, 4
+1244: 1, 41, 5
+1245: 1, 41, 6
+1246: 1, 41, 7
+1247: 1, 41, 8
+1248: 1, 41, 9
+1249: 1, 41, 10
+1250: 1, 41, 11
+1251: 1, 41, 12
+1252: 1, 41, 13
+1253: 1, 41, 14
+1254: 1, 41, 15
+1255: 1, 41, 16
+1256: 1, 41, 17
+1257: 1, 41, 18
+1258: 1, 41, 19
+1259: 1, 41, 20
+1260: 1, 41, 21
+1261: 1, 41, 22
+1262: 1, 41, 23
+1263: 1, 41, 24
+1264: 1, 41, 25
+1265: 1, 41, 26
+1266: 1, 41, 27
+1267: 1, 41, 28
+1268: 1, 41, 29
+1269: 1, 41, 30
+1270: 1, 41, 31
+1271: 1, 41, 32
+1272: 1, 41, 33
+1273: 1, 41, 34
+1274: 1, 41, 35
+1275: 1, 41, 36
+1276: 1, 41, 37
+1277: 1, 41, 38
+1278: 1, 41, 39
+1279: 1, 41, 40
+1280: 1, 41, 41
+1281: 1, 41, 42
+1282: 1, 41, 43
+1283: 1, 41, 44
+1284: 1, 41, 45
+1285: 1, 41, 46
+1286: 1, 41, 47
+1287: 1, 41, 48
+1288: 1, 41, 49
+1289: 1, 41, 50
+1290: 1, 41, 51
+1291: 1, 41, 52
+1292: 1, 41, 53
+1293: 1, 41, 54
+1294: 1, 41, 55
+1295: 1, 41, 56
+1296: 1, 41, 57
+1297: 1, 42, 0
+1298: 1, 42, 1
+1299: 1, 42, 2
+1300: 1, 42, 3
+1301: 1, 42, 4
+1302: 1, 42, 5
+1303: 1, 42, 6
+1304: 1, 42, 7
+1305: 1, 42, 8
+1306: 1, 42, 9
+1307: 1, 42, 10
+1308: 1, 42, 11
+1309: 1, 42, 12
+1310: 1, 42, 13
+1311: 1, 42, 14
+1312: 1, 42, 15
+1313: 1, 42, 16
+1314: 1, 42, 17
+1315: 1, 42, 18
+1316: 1, 42, 19
+1317: 1, 42, 20
+1318: 1, 42, 21
+1319: 1, 42, 22
+1320: 1, 42, 23
+1321: 1, 42, 24
+1322: 1, 42, 25
+1323: 1, 42, 26
+1324: 1, 42, 27
+1325: 1, 42, 28
+1326: 1, 42, 29
+1327: 1, 42, 30
+1328: 1, 42, 31
+1329: 1, 42, 32
+1330: 1, 42, 33
+1331: 1, 42, 34
+1332: 1, 42, 35
+1333: 1, 42, 36
+1334: 1, 42, 37
+1335: 1, 42, 38
+1336: 1, 43, 0
+1337: 1, 43, 1
+1338: 1, 43, 2
+1339: 1, 43, 3
+1340: 1, 43, 4
+1341: 1, 43, 5
+1342: 1, 43, 6
+1343: 1, 43, 7
+1344: 1, 43, 8
+1345: 1, 43, 9
+1346: 1, 43, 10
+1347: 1, 43, 11
+1348: 1, 43, 12
+1349: 1, 43, 13
+1350: 1, 43, 14
+1351: 1, 43, 15
+1352: 1, 43, 16
+1353: 1, 43, 17
+1354: 1, 43, 18
+1355: 1, 43, 19
+1356: 1, 43, 20
+1357: 1, 43, 21
+1358: 1, 43, 22
+1359: 1, 43, 23
+1360: 1, 43, 24
+1361: 1, 43, 25
+1362: 1, 43, 26
+1363: 1, 43, 27
+1364: 1, 43, 28
+1365: 1, 43, 29
+1366: 1, 43, 30
+1367: 1, 43, 31
+1368: 1, 43, 32
+1369: 1, 43, 33
+1370: 1, 43, 34
+1371: 1, 44, 0
+1372: 1, 44, 1
+1373: 1, 44, 2
+1374: 1, 44, 3
+1375: 1, 44, 4
+1376: 1, 44, 5
+1377: 1, 44, 6
+1378: 1, 44, 7
+1379: 1, 44, 8
+1380: 1, 44, 9
+1381: 1, 44, 10
+1382: 1, 44, 11
+1383: 1, 44, 12
+1384: 1, 44, 13
+1385: 1, 44, 14
+1386: 1, 44, 15
+1387: 1, 44, 16
+1388: 1, 44, 17
+1389: 1, 44, 18
+1390: 1, 44, 19
+1391: 1, 44, 20
+1392: 1, 44, 21
+1393: 1, 44, 22
+1394: 1, 44, 23
+1395: 1, 44, 24
+1396: 1, 44, 25
+1397: 1, 44, 26
+1398: 1, 44, 27
+1399: 1, 44, 28
+1400: 1, 44, 29
+1401: 1, 44, 30
+1402: 1, 44, 31
+1403: 1, 44, 32
+1404: 1, 44, 33
+1405: 1, 44, 34
+1406: 1, 45, 0
+1407: 1, 45, 1
+1408: 1, 45, 2
+1409: 1, 45, 3
+1410: 1, 45, 4
+1411: 1, 45, 5
+1412: 1, 45, 6
+1413: 1, 45, 7
+1414: 1, 45, 8
+1415: 1, 45, 9
+1416: 1, 45, 10
+1417: 1, 45, 11
+1418: 1, 45, 12
+1419: 1, 45, 13
+1420: 1, 45, 14
+1421: 1, 45, 15
+1422: 1, 45, 16
+1423: 1, 45, 17
+1424: 1, 45, 18
+1425: 1, 45, 19
+1426: 1, 45, 20
+1427: 1, 45, 21
+1428: 1, 45, 22
+1429: 1, 45, 23
+1430: 1, 45, 24
+1431: 1, 45, 25
+1432: 1, 45, 26
+1433: 1, 45, 27
+1434: 1, 45, 28
+1435: 1, 46, 0
+1436: 1, 46, 1
+1437: 1, 46, 2
+1438: 1, 46, 3
+1439: 1, 46, 4
+1440: 1, 46, 5
+1441: 1, 46, 6
+1442: 1, 46, 7
+1443: 1, 46, 8
+1444: 1, 46, 9
+1445: 1, 46, 10
+1446: 1, 46, 11
+1447: 1, 46, 12
+1448: 1, 46, 13
+1449: 1, 46, 14
+1450: 1, 46, 15
+1451: 1, 46, 16
+1452: 1, 46, 17
+1453: 1, 46, 18
+1454: 1, 46, 19
+1455: 1, 46, 20
+1456: 1, 46, 21
+1457: 1, 46, 22
+1458: 1, 46, 23
+1459: 1, 46, 24
+1460: 1, 46, 25
+1461: 1, 46, 26
+1462: 1, 46, 27
+1463: 1, 46, 28
+1464: 1, 46, 29
+1465: 1, 46, 30
+1466: 1, 46, 31
+1467: 1, 46, 32
+1468: 1, 46, 33
+1469: 1, 46, 34
+1470: 1, 47, 0
+1471: 1, 47, 1
+1472: 1, 47, 2
+1473: 1, 47, 3
+1474: 1, 47, 4
+1475: 1, 47, 5
+1476: 1, 47, 6
+1477: 1, 47, 7
+1478: 1, 47, 8
+1479: 1, 47, 9
+1480: 1, 47, 10
+1481: 1, 47, 11
+1482: 1, 47, 12
+1483: 1, 47, 13
+1484: 1, 47, 14
+1485: 1, 47, 15
+1486: 1, 47, 16
+1487: 1, 47, 17
+1488: 1, 47, 18
+1489: 1, 47, 19
+1490: 1, 47, 20
+1491: 1, 47, 21
+1492: 1, 47, 22
+1493: 1, 47, 23
+1494: 1, 47, 24
+1495: 1, 47, 25
+1496: 1, 47, 26
+1497: 1, 47, 27
+1498: 1, 47, 28
+1499: 1, 47, 29
+1500: 1, 47, 30
+1501: 1, 47, 31
+1502: 1, 48, 0
+1503: 1, 48, 1
+1504: 1, 48, 2
+1505: 1, 48, 3
+1506: 1, 48, 4
+1507: 1, 48, 5
+1508: 1, 48, 6
+1509: 1, 48, 7
+1510: 1, 48, 8
+1511: 1, 48, 9
+1512: 1, 48, 10
+1513: 1, 48, 11
+1514: 1, 48, 12
+1515: 1, 48, 13
+1516: 1, 48, 14
+1517: 1, 48, 15
+1518: 1, 48, 16
+1519: 1, 48, 17
+1520: 1, 48, 18
+1521: 1, 48, 19
+1522: 1, 48, 20
+1523: 1, 48, 21
+1524: 1, 48, 22
+1525: 1, 49, 0
+1526: 1, 49, 1
+1527: 1, 49, 2
+1528: 1, 49, 3
+1529: 1, 49, 4
+1530: 1, 49, 5
+1531: 1, 49, 6
+1532: 1, 49, 7
+1533: 1, 49, 8
+1534: 1, 49, 9
+1535: 1, 49, 10
+1536: 1, 49, 11
+1537: 1, 49, 12
+1538: 1, 49, 13
+1539: 1, 49, 14
+1540: 1, 49, 15
+1541: 1, 49, 16
+1542: 1, 49, 17
+1543: 1, 49, 18
+1544: 1, 49, 19
+1545: 1, 49, 20
+1546: 1, 49, 21
+1547: 1, 49, 22
+1548: 1, 49, 23
+1549: 1, 49, 24
+1550: 1, 49, 25
+1551: 1, 49, 26
+1552: 1, 49, 27
+1553: 1, 49, 28
+1554: 1, 49, 29
+1555: 1, 49, 30
+1556: 1, 49, 31
+1557: 1, 49, 32
+1558: 1, 49, 33
+1559: 1, 50, 0
+1560: 1, 50, 1
+1561: 1, 50, 2
+1562: 1, 50, 3
+1563: 1, 50, 4
+1564: 1, 50, 5
+1565: 1, 50, 6
+1566: 1, 50, 7
+1567: 1, 50, 8
+1568: 1, 50, 9
+1569: 1, 50, 10
+1570: 1, 50, 11
+1571: 1, 50, 12
+1572: 1, 50, 13
+1573: 1, 50, 14
+1574: 1, 50, 15
+1575: 1, 50, 16
+1576: 1, 50, 17
+1577: 1, 50, 18
+1578: 1, 50, 19
+1579: 1, 50, 20
+1580: 1, 50, 21
+1581: 1, 50, 22
+1582: 1, 50, 23
+1583: 1, 50, 24
+1584: 1, 50, 25
+1585: 1, 50, 26
+1586: 2, 0, 0
+1587: 2, 1, 0
+1588: 2, 1, 1
+1589: 2, 1, 2
+1590: 2, 1, 3
+1591: 2, 1, 4
+1592: 2, 1, 5
+1593: 2, 1, 6
+1594: 2, 1, 7
+1595: 2, 1, 8
+1596: 2, 1, 9
+1597: 2, 1, 10
+1598: 2, 1, 11
+1599: 2, 1, 12
+1600: 2, 1, 13
+1601: 2, 1, 14
+1602: 2, 1, 15
+1603: 2, 1, 16
+1604: 2, 1, 17
+1605: 2, 1, 18
+1606: 2, 1, 19
+1607: 2, 1, 20
+1608: 2, 1, 21
+1609: 2, 1, 22
+1610: 2, 2, 0
+1611: 2, 2, 1
+1612: 2, 2, 2
+1613: 2, 2, 3
+1614: 2, 2, 4
+1615: 2, 2, 5
+1616: 2, 2, 6
+1617: 2, 2, 7
+1618: 2, 2, 8
+1619: 2, 2, 9
+1620: 2, 2, 10
+1621: 2, 2, 11
+1622: 2, 2, 12
+1623: 2, 2, 13
+1624: 2, 2, 14
+1625: 2, 2, 15
+1626: 2, 2, 16
+1627: 2, 2, 17
+1628: 2, 2, 18
+1629: 2, 2, 19
+1630: 2, 2, 20
+1631: 2, 2, 21
+1632: 2, 2, 22
+1633: 2, 2, 23
+1634: 2, 2, 24
+1635: 2, 2, 25
+1636: 2, 3, 0
+1637: 2, 3, 1
+1638: 2, 3, 2
+1639: 2, 3, 3
+1640: 2, 3, 4
+1641: 2, 3, 5
+1642: 2, 3, 6
+1643: 2, 3, 7
+1644: 2, 3, 8
+1645: 2, 3, 9
+1646: 2, 3, 10
+1647: 2, 3, 11
+1648: 2, 3, 12
+1649: 2, 3, 13
+1650: 2, 3, 14
+1651: 2, 3, 15
+1652: 2, 3, 16
+1653: 2, 3, 17
+1654: 2, 3, 18
+1655: 2, 3, 19
+1656: 2, 3, 20
+1657: 2, 3, 21
+1658: 2, 3, 22
+1659: 2, 4, 0
+1660: 2, 4, 1
+1661: 2, 4, 2
+1662: 2, 4, 3
+1663: 2, 4, 4
+1664: 2, 4, 5
+1665: 2, 4, 6
+1666: 2, 4, 7
+1667: 2, 4, 8
+1668: 2, 4, 9
+1669: 2, 4, 10
+1670: 2, 4, 11
+1671: 2, 4, 12
+1672: 2, 4, 13
+1673: 2, 4, 14
+1674: 2, 4, 15
+1675: 2, 4, 16
+1676: 2, 4, 17
+1677: 2, 4, 18
+1678: 2, 4, 19
+1679: 2, 4, 20
+1680: 2, 4, 21
+1681: 2, 4, 22
+1682: 2, 4, 23
+1683: 2, 4, 24
+1684: 2, 4, 25
+1685: 2, 4, 26
+1686: 2, 4, 27
+1687: 2, 4, 28
+1688: 2, 4, 29
+1689: 2, 4, 30
+1690: 2, 4, 31
+1691: 2, 5, 0
+1692: 2, 5, 1
+1693: 2, 5, 2
+1694: 2, 5, 3
+1695: 2, 5, 4
+1696: 2, 5, 5
+1697: 2, 5, 6
+1698: 2, 5, 7
+1699: 2, 5, 8
+1700: 2, 5, 9
+1701: 2, 5, 10
+1702: 2, 5, 11
+1703: 2, 5, 12
+1704: 2, 5, 13
+1705: 2, 5, 14
+1706: 2, 5, 15
+1707: 2, 5, 16
+1708: 2, 5, 17
+1709: 2, 5, 18
+1710: 2, 5, 19
+1711: 2, 5, 20
+1712: 2, 5, 21
+1713: 2, 5, 22
+1714: 2, 5, 23
+1715: 2, 6, 0
+1716: 2, 6, 1
+1717: 2, 6, 2
+1718: 2, 6, 3
+1719: 2, 6, 4
+1720: 2, 6, 5
+1721: 2, 6, 6
+1722: 2, 6, 7
+1723: 2, 6, 8
+1724: 2, 6, 9
+1725: 2, 6, 10
+1726: 2, 6, 11
+1727: 2, 6, 12
+1728: 2, 6, 13
+1729: 2, 6, 14
+1730: 2, 6, 15
+1731: 2, 6, 16
+1732: 2, 6, 17
+1733: 2, 6, 18
+1734: 2, 6, 19
+1735: 2, 6, 20
+1736: 2, 6, 21
+1737: 2, 6, 22
+1738: 2, 6, 23
+1739: 2, 6, 24
+1740: 2, 6, 25
+1741: 2, 6, 26
+1742: 2, 6, 27
+1743: 2, 6, 28
+1744: 2, 6, 29
+1745: 2, 6, 30
+1746: 2, 7, 0
+1747: 2, 7, 1
+1748: 2, 7, 2
+1749: 2, 7, 3
+1750: 2, 7, 4
+1751: 2, 7, 5
+1752: 2, 7, 6
+1753: 2, 7, 7
+1754: 2, 7, 8
+1755: 2, 7, 9
+1756: 2, 7, 10
+1757: 2, 7, 11
+1758: 2, 7, 12
+1759: 2, 7, 13
+1760: 2, 7, 14
+1761: 2, 7, 15
+1762: 2, 7, 16
+1763: 2, 7, 17
+1764: 2, 7, 18
+1765: 2, 7, 19
+1766: 2, 7, 20
+1767: 2, 7, 21
+1768: 2, 7, 22
+1769: 2, 7, 23
+1770: 2, 7, 24
+1771: 2, 7, 25
+1772: 2, 8, 0
+1773: 2, 8, 1
+1774: 2, 8, 2
+1775: 2, 8, 3
+1776: 2, 8, 4
+1777: 2, 8, 5
+1778: 2, 8, 6
+1779: 2, 8, 7
+1780: 2, 8, 8
+1781: 2, 8, 9
+1782: 2, 8, 10
+1783: 2, 8, 11
+1784: 2, 8, 12
+1785: 2, 8, 13
+1786: 2, 8, 14
+1787: 2, 8, 15
+1788: 2, 8, 16
+1789: 2, 8, 17
+1790: 2, 8, 18
+1791: 2, 8, 19
+1792: 2, 8, 20
+1793: 2, 8, 21
+1794: 2, 8, 22
+1795: 2, 8, 23
+1796: 2, 8, 24
+1797: 2, 8, 25
+1798: 2, 8, 26
+1799: 2, 8, 27
+1800: 2, 8, 28
+1801: 2, 8, 29
+1802: 2, 8, 30
+1803: 2, 8, 31
+1804: 2, 8, 32
+1805: 2, 9, 0
+1806: 2, 9, 1
+1807: 2, 9, 2
+1808: 2, 9, 3
+1809: 2, 9, 4
+1810: 2, 9, 5
+1811: 2, 9, 6
+1812: 2, 9, 7
+1813: 2, 9, 8
+1814: 2, 9, 9
+1815: 2, 9, 10
+1816: 2, 9, 11
+1817: 2, 9, 12
+1818: 2, 9, 13
+1819: 2, 9, 14
+1820: 2, 9, 15
+1821: 2, 9, 16
+1822: 2, 9, 17
+1823: 2, 9, 18
+1824: 2, 9, 19
+1825: 2, 9, 20
+1826: 2, 9, 21
+1827: 2, 9, 22
+1828: 2, 9, 23
+1829: 2, 9, 24
+1830: 2, 9, 25
+1831: 2, 9, 26
+1832: 2, 9, 27
+1833: 2, 9, 28
+1834: 2, 9, 29
+1835: 2, 9, 30
+1836: 2, 9, 31
+1837: 2, 9, 32
+1838: 2, 9, 33
+1839: 2, 9, 34
+1840: 2, 9, 35
+1841: 2, 10, 0
+1842: 2, 10, 1
+1843: 2, 10, 2
+1844: 2, 10, 3
+1845: 2, 10, 4
+1846: 2, 10, 5
+1847: 2, 10, 6
+1848: 2, 10, 7
+1849: 2, 10, 8
+1850: 2, 10, 9
+1851: 2, 10, 10
+1852: 2, 10, 11
+1853: 2, 10, 12
+1854: 2, 10, 13
+1855: 2, 10, 14
+1856: 2, 10, 15
+1857: 2, 10, 16
+1858: 2, 10, 17
+1859: 2, 10, 18
+1860: 2, 10, 19
+1861: 2, 10, 20
+1862: 2, 10, 21
+1863: 2, 10, 22
+1864: 2, 10, 23
+1865: 2, 10, 24
+1866: 2, 10, 25
+1867: 2, 10, 26
+1868: 2, 10, 27
+1869: 2, 10, 28
+1870: 2, 10, 29
+1871: 2, 11, 0
+1872: 2, 11, 1
+1873: 2, 11, 2
+1874: 2, 11, 3
+1875: 2, 11, 4
+1876: 2, 11, 5
+1877: 2, 11, 6
+1878: 2, 11, 7
+1879: 2, 11, 8
+1880: 2, 11, 9
+1881: 2, 11, 10
+1882: 2, 12, 0
+1883: 2, 12, 1
+1884: 2, 12, 2
+1885: 2, 12, 3
+1886: 2, 12, 4
+1887: 2, 12, 5
+1888: 2, 12, 6
+1889: 2, 12, 7
+1890: 2, 12, 8
+1891: 2, 12, 9
+1892: 2, 12, 10
+1893: 2, 12, 11
+1894: 2, 12, 12
+1895: 2, 12, 13
+1896: 2, 12, 14
+1897: 2, 12, 15
+1898: 2, 12, 16
+1899: 2, 12, 17
+1900: 2, 12, 18
+1901: 2, 12, 19
+1902: 2, 12, 20
+1903: 2, 12, 21
+1904: 2, 12, 22
+1905: 2, 12, 23
+1906: 2, 12, 24
+1907: 2, 12, 25
+1908: 2, 12, 26
+1909: 2, 12, 27
+1910: 2, 12, 28
+1911: 2, 12, 29
+1912: 2, 12, 30
+1913: 2, 12, 31
+1914: 2, 12, 32
+1915: 2, 12, 33
+1916: 2, 12, 34
+1917: 2, 12, 35
+1918: 2, 12, 36
+1919: 2, 12, 37
+1920: 2, 12, 38
+1921: 2, 12, 39
+1922: 2, 12, 40
+1923: 2, 12, 41
+1924: 2, 12, 42
+1925: 2, 12, 43
+1926: 2, 12, 44
+1927: 2, 12, 45
+1928: 2, 12, 46
+1929: 2, 12, 47
+1930: 2, 12, 48
+1931: 2, 12, 49
+1932: 2, 12, 50
+1933: 2, 12, 51
+1934: 2, 13, 0
+1935: 2, 13, 1
+1936: 2, 13, 2
+1937: 2, 13, 3
+1938: 2, 13, 4
+1939: 2, 13, 5
+1940: 2, 13, 6
+1941: 2, 13, 7
+1942: 2, 13, 8
+1943: 2, 13, 9
+1944: 2, 13, 10
+1945: 2, 13, 11
+1946: 2, 13, 12
+1947: 2, 13, 13
+1948: 2, 13, 14
+1949: 2, 13, 15
+1950: 2, 13, 16
+1951: 2, 13, 17
+1952: 2, 13, 18
+1953: 2, 13, 19
+1954: 2, 13, 20
+1955: 2, 13, 21
+1956: 2, 13, 22
+1957: 2, 14, 0
+1958: 2, 14, 1
+1959: 2, 14, 2
+1960: 2, 14, 3
+1961: 2, 14, 4
+1962: 2, 14, 5
+1963: 2, 14, 6
+1964: 2, 14, 7
+1965: 2, 14, 8
+1966: 2, 14, 9
+1967: 2, 14, 10
+1968: 2, 14, 11
+1969: 2, 14, 12
+1970: 2, 14, 13
+1971: 2, 14, 14
+1972: 2, 14, 15
+1973: 2, 14, 16
+1974: 2, 14, 17
+1975: 2, 14, 18
+1976: 2, 14, 19
+1977: 2, 14, 20
+1978: 2, 14, 21
+1979: 2, 14, 22
+1980: 2, 14, 23
+1981: 2, 14, 24
+1982: 2, 14, 25
+1983: 2, 14, 26
+1984: 2, 14, 27
+1985: 2, 14, 28
+1986: 2, 14, 29
+1987: 2, 14, 30
+1988: 2, 14, 31
+1989: 2, 15, 0
+1990: 2, 15, 1
+1991: 2, 15, 2
+1992: 2, 15, 3
+1993: 2, 15, 4
+1994: 2, 15, 5
+1995: 2, 15, 6
+1996: 2, 15, 7
+1997: 2, 15, 8
+1998: 2, 15, 9
+1999: 2, 15, 10
+2000: 2, 15, 11
+2001: 2, 15, 12
+2002: 2, 15, 13
+2003: 2, 15, 14
+2004: 2, 15, 15
+2005: 2, 15, 16
+2006: 2, 15, 17
+2007: 2, 15, 18
+2008: 2, 15, 19
+2009: 2, 15, 20
+2010: 2, 15, 21
+2011: 2, 15, 22
+2012: 2, 15, 23
+2013: 2, 15, 24
+2014: 2, 15, 25
+2015: 2, 15, 26
+2016: 2, 15, 27
+2017: 2, 16, 0
+2018: 2, 16, 1
+2019: 2, 16, 2
+2020: 2, 16, 3
+2021: 2, 16, 4
+2022: 2, 16, 5
+2023: 2, 16, 6
+2024: 2, 16, 7
+2025: 2, 16, 8
+2026: 2, 16, 9
+2027: 2, 16, 10
+2028: 2, 16, 11
+2029: 2, 16, 12
+2030: 2, 16, 13
+2031: 2, 16, 14
+2032: 2, 16, 15
+2033: 2, 16, 16
+2034: 2, 16, 17
+2035: 2, 16, 18
+2036: 2, 16, 19
+2037: 2, 16, 20
+2038: 2, 16, 21
+2039: 2, 16, 22
+2040: 2, 16, 23
+2041: 2, 16, 24
+2042: 2, 16, 25
+2043: 2, 16, 26
+2044: 2, 16, 27
+2045: 2, 16, 28
+2046: 2, 16, 29
+2047: 2, 16, 30
+2048: 2, 16, 31
+2049: 2, 16, 32
+2050: 2, 16, 33
+2051: 2, 16, 34
+2052: 2, 16, 35
+2053: 2, 16, 36
+2054: 2, 17, 0
+2055: 2, 17, 1
+2056: 2, 17, 2
+2057: 2, 17, 3
+2058: 2, 17, 4
+2059: 2, 17, 5
+2060: 2, 17, 6
+2061: 2, 17, 7
+2062: 2, 17, 8
+2063: 2, 17, 9
+2064: 2, 17, 10
+2065: 2, 17, 11
+2066: 2, 17, 12
+2067: 2, 17, 13
+2068: 2, 17, 14
+2069: 2, 17, 15
+2070: 2, 17, 16
+2071: 2, 18, 0
+2072: 2, 18, 1
+2073: 2, 18, 2
+2074: 2, 18, 3
+2075: 2, 18, 4
+2076: 2, 18, 5
+2077: 2, 18, 6
+2078: 2, 18, 7
+2079: 2, 18, 8
+2080: 2, 18, 9
+2081: 2, 18, 10
+2082: 2, 18, 11
+2083: 2, 18, 12
+2084: 2, 18, 13
+2085: 2, 18, 14
+2086: 2, 18, 15
+2087: 2, 18, 16
+2088: 2, 18, 17
+2089: 2, 18, 18
+2090: 2, 18, 19
+2091: 2, 18, 20
+2092: 2, 18, 21
+2093: 2, 18, 22
+2094: 2, 18, 23
+2095: 2, 18, 24
+2096: 2, 18, 25
+2097: 2, 18, 26
+2098: 2, 18, 27
+2099: 2, 19, 0
+2100: 2, 19, 1
+2101: 2, 19, 2
+2102: 2, 19, 3
+2103: 2, 19, 4
+2104: 2, 19, 5
+2105: 2, 19, 6
+2106: 2, 19, 7
+2107: 2, 19, 8
+2108: 2, 19, 9
+2109: 2, 19, 10
+2110: 2, 19, 11
+2111: 2, 19, 12
+2112: 2, 19, 13
+2113: 2, 19, 14
+2114: 2, 19, 15
+2115: 2, 19, 16
+2116: 2, 19, 17
+2117: 2, 19, 18
+2118: 2, 19, 19
+2119: 2, 19, 20
+2120: 2, 19, 21
+2121: 2, 19, 22
+2122: 2, 19, 23
+2123: 2, 19, 24
+2124: 2, 19, 25
+2125: 2, 20, 0
+2126: 2, 20, 1
+2127: 2, 20, 2
+2128: 2, 20, 3
+2129: 2, 20, 4
+2130: 2, 20, 5
+2131: 2, 20, 6
+2132: 2, 20, 7
+2133: 2, 20, 8
+2134: 2, 20, 9
+2135: 2, 20, 10
+2136: 2, 20, 11
+2137: 2, 20, 12
+2138: 2, 20, 13
+2139: 2, 20, 14
+2140: 2, 20, 15
+2141: 2, 20, 16
+2142: 2, 20, 17
+2143: 2, 20, 18
+2144: 2, 20, 19
+2145: 2, 20, 20
+2146: 2, 20, 21
+2147: 2, 20, 22
+2148: 2, 20, 23
+2149: 2, 20, 24
+2150: 2, 20, 25
+2151: 2, 20, 26
+2152: 2, 21, 0
+2153: 2, 21, 1
+2154: 2, 21, 2
+2155: 2, 21, 3
+2156: 2, 21, 4
+2157: 2, 21, 5
+2158: 2, 21, 6
+2159: 2, 21, 7
+2160: 2, 21, 8
+2161: 2, 21, 9
+2162: 2, 21, 10
+2163: 2, 21, 11
+2164: 2, 21, 12
+2165: 2, 21, 13
+2166: 2, 21, 14
+2167: 2, 21, 15
+2168: 2, 21, 16
+2169: 2, 21, 17
+2170: 2, 21, 18
+2171: 2, 21, 19
+2172: 2, 21, 20
+2173: 2, 21, 21
+2174: 2, 21, 22
+2175: 2, 21, 23
+2176: 2, 21, 24
+2177: 2, 21, 25
+2178: 2, 21, 26
+2179: 2, 21, 27
+2180: 2, 21, 28
+2181: 2, 21, 29
+2182: 2, 21, 30
+2183: 2, 21, 31
+2184: 2, 21, 32
+2185: 2, 21, 33
+2186: 2, 21, 34
+2187: 2, 21, 35
+2188: 2, 21, 36
+2189: 2, 22, 0
+2190: 2, 22, 1
+2191: 2, 22, 2
+2192: 2, 22, 3
+2193: 2, 22, 4
+2194: 2, 22, 5
+2195: 2, 22, 6
+2196: 2, 22, 7
+2197: 2, 22, 8
+2198: 2, 22, 9
+2199: 2, 22, 10
+2200: 2, 22, 11
+2201: 2, 22, 12
+2202: 2, 22, 13
+2203: 2, 22, 14
+2204: 2, 22, 15
+2205: 2, 22, 16
+2206: 2, 22, 17
+2207: 2, 22, 18
+2208: 2, 22, 19
+2209: 2, 22, 20
+2210: 2, 22, 21
+2211: 2, 22, 22
+2212: 2, 22, 23
+2213: 2, 22, 24
+2214: 2, 22, 25
+2215: 2, 22, 26
+2216: 2, 22, 27
+2217: 2, 22, 28
+2218: 2, 22, 29
+2219: 2, 22, 30
+2220: 2, 22, 31
+2221: 2, 23, 0
+2222: 2, 23, 1
+2223: 2, 23, 2
+2224: 2, 23, 3
+2225: 2, 23, 4
+2226: 2, 23, 5
+2227: 2, 23, 6
+2228: 2, 23, 7
+2229: 2, 23, 8
+2230: 2, 23, 9
+2231: 2, 23, 10
+2232: 2, 23, 11
+2233: 2, 23, 12
+2234: 2, 23, 13
+2235: 2, 23, 14
+2236: 2, 23, 15
+2237: 2, 23, 16
+2238: 2, 23, 17
+2239: 2, 23, 18
+2240: 2, 23, 19
+2241: 2, 23, 20
+2242: 2, 23, 21
+2243: 2, 23, 22
+2244: 2, 23, 23
+2245: 2, 23, 24
+2246: 2, 23, 25
+2247: 2, 23, 26
+2248: 2, 23, 27
+2249: 2, 23, 28
+2250: 2, 23, 29
+2251: 2, 23, 30
+2252: 2, 23, 31
+2253: 2, 23, 32
+2254: 2, 23, 33
+2255: 2, 24, 0
+2256: 2, 24, 1
+2257: 2, 24, 2
+2258: 2, 24, 3
+2259: 2, 24, 4
+2260: 2, 24, 5
+2261: 2, 24, 6
+2262: 2, 24, 7
+2263: 2, 24, 8
+2264: 2, 24, 9
+2265: 2, 24, 10
+2266: 2, 24, 11
+2267: 2, 24, 12
+2268: 2, 24, 13
+2269: 2, 24, 14
+2270: 2, 24, 15
+2271: 2, 24, 16
+2272: 2, 24, 17
+2273: 2, 24, 18
+2274: 2, 25, 0
+2275: 2, 25, 1
+2276: 2, 25, 2
+2277: 2, 25, 3
+2278: 2, 25, 4
+2279: 2, 25, 5
+2280: 2, 25, 6
+2281: 2, 25, 7
+2282: 2, 25, 8
+2283: 2, 25, 9
+2284: 2, 25, 10
+2285: 2, 25, 11
+2286: 2, 25, 12
+2287: 2, 25, 13
+2288: 2, 25, 14
+2289: 2, 25, 15
+2290: 2, 25, 16
+2291: 2, 25, 17
+2292: 2, 25, 18
+2293: 2, 25, 19
+2294: 2, 25, 20
+2295: 2, 25, 21
+2296: 2, 25, 22
+2297: 2, 25, 23
+2298: 2, 25, 24
+2299: 2, 25, 25
+2300: 2, 25, 26
+2301: 2, 25, 27
+2302: 2, 25, 28
+2303: 2, 25, 29
+2304: 2, 25, 30
+2305: 2, 25, 31
+2306: 2, 25, 32
+2307: 2, 25, 33
+2308: 2, 25, 34
+2309: 2, 25, 35
+2310: 2, 25, 36
+2311: 2, 25, 37
+2312: 2, 25, 38
+2313: 2, 25, 39
+2314: 2, 25, 40
+2315: 2, 26, 0
+2316: 2, 26, 1
+2317: 2, 26, 2
+2318: 2, 26, 3
+2319: 2, 26, 4
+2320: 2, 26, 5
+2321: 2, 26, 6
+2322: 2, 26, 7
+2323: 2, 26, 8
+2324: 2, 26, 9
+2325: 2, 26, 10
+2326: 2, 26, 11
+2327: 2, 26, 12
+2328: 2, 26, 13
+2329: 2, 26, 14
+2330: 2, 26, 15
+2331: 2, 26, 16
+2332: 2, 26, 17
+2333: 2, 26, 18
+2334: 2, 26, 19
+2335: 2, 26, 20
+2336: 2, 26, 21
+2337: 2, 26, 22
+2338: 2, 26, 23
+2339: 2, 26, 24
+2340: 2, 26, 25
+2341: 2, 26, 26
+2342: 2, 26, 27
+2343: 2, 26, 28
+2344: 2, 26, 29
+2345: 2, 26, 30
+2346: 2, 26, 31
+2347: 2, 26, 32
+2348: 2, 26, 33
+2349: 2, 26, 34
+2350: 2, 26, 35
+2351: 2, 26, 36
+2352: 2, 26, 37
+2353: 2, 27, 0
+2354: 2, 27, 1
+2355: 2, 27, 2
+2356: 2, 27, 3
+2357: 2, 27, 4
+2358: 2, 27, 5
+2359: 2, 27, 6
+2360: 2, 27, 7
+2361: 2, 27, 8
+2362: 2, 27, 9
+2363: 2, 27, 10
+2364: 2, 27, 11
+2365: 2, 27, 12
+2366: 2, 27, 13
+2367: 2, 27, 14
+2368: 2, 27, 15
+2369: 2, 27, 16
+2370: 2, 27, 17
+2371: 2, 27, 18
+2372: 2, 27, 19
+2373: 2, 27, 20
+2374: 2, 27, 21
+2375: 2, 28, 0
+2376: 2, 28, 1
+2377: 2, 28, 2
+2378: 2, 28, 3
+2379: 2, 28, 4
+2380: 2, 28, 5
+2381: 2, 28, 6
+2382: 2, 28, 7
+2383: 2, 28, 8
+2384: 2, 28, 9
+2385: 2, 28, 10
+2386: 2, 28, 11
+2387: 2, 28, 12
+2388: 2, 28, 13
+2389: 2, 28, 14
+2390: 2, 28, 15
+2391: 2, 28, 16
+2392: 2, 28, 17
+2393: 2, 28, 18
+2394: 2, 28, 19
+2395: 2, 28, 20
+2396: 2, 28, 21
+2397: 2, 28, 22
+2398: 2, 28, 23
+2399: 2, 28, 24
+2400: 2, 28, 25
+2401: 2, 28, 26
+2402: 2, 28, 27
+2403: 2, 28, 28
+2404: 2, 28, 29
+2405: 2, 28, 30
+2406: 2, 28, 31
+2407: 2, 28, 32
+2408: 2, 28, 33
+2409: 2, 28, 34
+2410: 2, 28, 35
+2411: 2, 28, 36
+2412: 2, 28, 37
+2413: 2, 28, 38
+2414: 2, 28, 39
+2415: 2, 28, 40
+2416: 2, 28, 41
+2417: 2, 28, 42
+2418: 2, 28, 43
+2419: 2, 29, 0
+2420: 2, 29, 1
+2421: 2, 29, 2
+2422: 2, 29, 3
+2423: 2, 29, 4
+2424: 2, 29, 5
+2425: 2, 29, 6
+2426: 2, 29, 7
+2427: 2, 29, 8
+2428: 2, 29, 9
+2429: 2, 29, 10
+2430: 2, 29, 11
+2431: 2, 29, 12
+2432: 2, 29, 13
+2433: 2, 29, 14
+2434: 2, 29, 15
+2435: 2, 29, 16
+2436: 2, 29, 17
+2437: 2, 29, 18
+2438: 2, 29, 19
+2439: 2, 29, 20
+2440: 2, 29, 21
+2441: 2, 29, 22
+2442: 2, 29, 23
+2443: 2, 29, 24
+2444: 2, 29, 25
+2445: 2, 29, 26
+2446: 2, 29, 27
+2447: 2, 29, 28
+2448: 2, 29, 29
+2449: 2, 29, 30
+2450: 2, 29, 31
+2451: 2, 29, 32
+2452: 2, 29, 33
+2453: 2, 29, 34
+2454: 2, 29, 35
+2455: 2, 29, 36
+2456: 2, 29, 37
+2457: 2, 29, 38
+2458: 2, 29, 39
+2459: 2, 29, 40
+2460: 2, 29, 41
+2461: 2, 29, 42
+2462: 2, 29, 43
+2463: 2, 29, 44
+2464: 2, 29, 45
+2465: 2, 29, 46
+2466: 2, 30, 0
+2467: 2, 30, 1
+2468: 2, 30, 2
+2469: 2, 30, 3
+2470: 2, 30, 4
+2471: 2, 30, 5
+2472: 2, 30, 6
+2473: 2, 30, 7
+2474: 2, 30, 8
+2475: 2, 30, 9
+2476: 2, 30, 10
+2477: 2, 30, 11
+2478: 2, 30, 12
+2479: 2, 30, 13
+2480: 2, 30, 14
+2481: 2, 30, 15
+2482: 2, 30, 16
+2483: 2, 30, 17
+2484: 2, 30, 18
+2485: 2, 30, 19
+2486: 2, 30, 20
+2487: 2, 30, 21
+2488: 2, 30, 22
+2489: 2, 30, 23
+2490: 2, 30, 24
+2491: 2, 30, 25
+2492: 2, 30, 26
+2493: 2, 30, 27
+2494: 2, 30, 28
+2495: 2, 30, 29
+2496: 2, 30, 30
+2497: 2, 30, 31
+2498: 2, 30, 32
+2499: 2, 30, 33
+2500: 2, 30, 34
+2501: 2, 30, 35
+2502: 2, 30, 36
+2503: 2, 30, 37
+2504: 2, 30, 38
+2505: 2, 31, 0
+2506: 2, 31, 1
+2507: 2, 31, 2
+2508: 2, 31, 3
+2509: 2, 31, 4
+2510: 2, 31, 5
+2511: 2, 31, 6
+2512: 2, 31, 7
+2513: 2, 31, 8
+2514: 2, 31, 9
+2515: 2, 31, 10
+2516: 2, 31, 11
+2517: 2, 31, 12
+2518: 2, 31, 13
+2519: 2, 31, 14
+2520: 2, 31, 15
+2521: 2, 31, 16
+2522: 2, 31, 17
+2523: 2, 31, 18
+2524: 2, 32, 0
+2525: 2, 32, 1
+2526: 2, 32, 2
+2527: 2, 32, 3
+2528: 2, 32, 4
+2529: 2, 32, 5
+2530: 2, 32, 6
+2531: 2, 32, 7
+2532: 2, 32, 8
+2533: 2, 32, 9
+2534: 2, 32, 10
+2535: 2, 32, 11
+2536: 2, 32, 12
+2537: 2, 32, 13
+2538: 2, 32, 14
+2539: 2, 32, 15
+2540: 2, 32, 16
+2541: 2, 32, 17
+2542: 2, 32, 18
+2543: 2, 32, 19
+2544: 2, 32, 20
+2545: 2, 32, 21
+2546: 2, 32, 22
+2547: 2, 32, 23
+2548: 2, 32, 24
+2549: 2, 32, 25
+2550: 2, 32, 26
+2551: 2, 32, 27
+2552: 2, 32, 28
+2553: 2, 32, 29
+2554: 2, 32, 30
+2555: 2, 32, 31
+2556: 2, 32, 32
+2557: 2, 32, 33
+2558: 2, 32, 34
+2559: 2, 32, 35
+2560: 2, 33, 0
+2561: 2, 33, 1
+2562: 2, 33, 2
+2563: 2, 33, 3
+2564: 2, 33, 4
+2565: 2, 33, 5
+2566: 2, 33, 6
+2567: 2, 33, 7
+2568: 2, 33, 8
+2569: 2, 33, 9
+2570: 2, 33, 10
+2571: 2, 33, 11
+2572: 2, 33, 12
+2573: 2, 33, 13
+2574: 2, 33, 14
+2575: 2, 33, 15
+2576: 2, 33, 16
+2577: 2, 33, 17
+2578: 2, 33, 18
+2579: 2, 33, 19
+2580: 2, 33, 20
+2581: 2, 33, 21
+2582: 2, 33, 22
+2583: 2, 33, 23
+2584: 2, 34, 0
+2585: 2, 34, 1
+2586: 2, 34, 2
+2587: 2, 34, 3
+2588: 2, 34, 4
+2589: 2, 34, 5
+2590: 2, 34, 6
+2591: 2, 34, 7
+2592: 2, 34, 8
+2593: 2, 34, 9
+2594: 2, 34, 10
+2595: 2, 34, 11
+2596: 2, 34, 12
+2597: 2, 34, 13
+2598: 2, 34, 14
+2599: 2, 34, 15
+2600: 2, 34, 16
+2601: 2, 34, 17
+2602: 2, 34, 18
+2603: 2, 34, 19
+2604: 2, 34, 20
+2605: 2, 34, 21
+2606: 2, 34, 22
+2607: 2, 34, 23
+2608: 2, 34, 24
+2609: 2, 34, 25
+2610: 2, 34, 26
+2611: 2, 34, 27
+2612: 2, 34, 28
+2613: 2, 34, 29
+2614: 2, 34, 30
+2615: 2, 34, 31
+2616: 2, 34, 32
+2617: 2, 34, 33
+2618: 2, 34, 34
+2619: 2, 34, 35
+2620: 2, 35, 0
+2621: 2, 35, 1
+2622: 2, 35, 2
+2623: 2, 35, 3
+2624: 2, 35, 4
+2625: 2, 35, 5
+2626: 2, 35, 6
+2627: 2, 35, 7
+2628: 2, 35, 8
+2629: 2, 35, 9
+2630: 2, 35, 10
+2631: 2, 35, 11
+2632: 2, 35, 12
+2633: 2, 35, 13
+2634: 2, 35, 14
+2635: 2, 35, 15
+2636: 2, 35, 16
+2637: 2, 35, 17
+2638: 2, 35, 18
+2639: 2, 35, 19
+2640: 2, 35, 20
+2641: 2, 35, 21
+2642: 2, 35, 22
+2643: 2, 35, 23
+2644: 2, 35, 24
+2645: 2, 35, 25
+2646: 2, 35, 26
+2647: 2, 35, 27
+2648: 2, 35, 28
+2649: 2, 35, 29
+2650: 2, 35, 30
+2651: 2, 35, 31
+2652: 2, 35, 32
+2653: 2, 35, 33
+2654: 2, 35, 34
+2655: 2, 35, 35
+2656: 2, 36, 0
+2657: 2, 36, 1
+2658: 2, 36, 2
+2659: 2, 36, 3
+2660: 2, 36, 4
+2661: 2, 36, 5
+2662: 2, 36, 6
+2663: 2, 36, 7
+2664: 2, 36, 8
+2665: 2, 36, 9
+2666: 2, 36, 10
+2667: 2, 36, 11
+2668: 2, 36, 12
+2669: 2, 36, 13
+2670: 2, 36, 14
+2671: 2, 36, 15
+2672: 2, 36, 16
+2673: 2, 36, 17
+2674: 2, 36, 18
+2675: 2, 36, 19
+2676: 2, 36, 20
+2677: 2, 36, 21
+2678: 2, 36, 22
+2679: 2, 36, 23
+2680: 2, 36, 24
+2681: 2, 36, 25
+2682: 2, 36, 26
+2683: 2, 36, 27
+2684: 2, 36, 28
+2685: 2, 36, 29
+2686: 2, 36, 30
+2687: 2, 36, 31
+2688: 2, 36, 32
+2689: 2, 36, 33
+2690: 2, 36, 34
+2691: 2, 36, 35
+2692: 2, 36, 36
+2693: 2, 36, 37
+2694: 2, 36, 38
+2695: 2, 37, 0
+2696: 2, 37, 1
+2697: 2, 37, 2
+2698: 2, 37, 3
+2699: 2, 37, 4
+2700: 2, 37, 5
+2701: 2, 37, 6
+2702: 2, 37, 7
+2703: 2, 37, 8
+2704: 2, 37, 9
+2705: 2, 37, 10
+2706: 2, 37, 11
+2707: 2, 37, 12
+2708: 2, 37, 13
+2709: 2, 37, 14
+2710: 2, 37, 15
+2711: 2, 37, 16
+2712: 2, 37, 17
+2713: 2, 37, 18
+2714: 2, 37, 19
+2715: 2, 37, 20
+2716: 2, 37, 21
+2717: 2, 37, 22
+2718: 2, 37, 23
+2719: 2, 37, 24
+2720: 2, 37, 25
+2721: 2, 37, 26
+2722: 2, 37, 27
+2723: 2, 37, 28
+2724: 2, 37, 29
+2725: 2, 38, 0
+2726: 2, 38, 1
+2727: 2, 38, 2
+2728: 2, 38, 3
+2729: 2, 38, 4
+2730: 2, 38, 5
+2731: 2, 38, 6
+2732: 2, 38, 7
+2733: 2, 38, 8
+2734: 2, 38, 9
+2735: 2, 38, 10
+2736: 2, 38, 11
+2737: 2, 38, 12
+2738: 2, 38, 13
+2739: 2, 38, 14
+2740: 2, 38, 15
+2741: 2, 38, 16
+2742: 2, 38, 17
+2743: 2, 38, 18
+2744: 2, 38, 19
+2745: 2, 38, 20
+2746: 2, 38, 21
+2747: 2, 38, 22
+2748: 2, 38, 23
+2749: 2, 38, 24
+2750: 2, 38, 25
+2751: 2, 38, 26
+2752: 2, 38, 27
+2753: 2, 38, 28
+2754: 2, 38, 29
+2755: 2, 38, 30
+2756: 2, 38, 31
+2757: 2, 39, 0
+2758: 2, 39, 1
+2759: 2, 39, 2
+2760: 2, 39, 3
+2761: 2, 39, 4
+2762: 2, 39, 5
+2763: 2, 39, 6
+2764: 2, 39, 7
+2765: 2, 39, 8
+2766: 2, 39, 9
+2767: 2, 39, 10
+2768: 2, 39, 11
+2769: 2, 39, 12
+2770: 2, 39, 13
+2771: 2, 39, 14
+2772: 2, 39, 15
+2773: 2, 39, 16
+2774: 2, 39, 17
+2775: 2, 39, 18
+2776: 2, 39, 19
+2777: 2, 39, 20
+2778: 2, 39, 21
+2779: 2, 39, 22
+2780: 2, 39, 23
+2781: 2, 39, 24
+2782: 2, 39, 25
+2783: 2, 39, 26
+2784: 2, 39, 27
+2785: 2, 39, 28
+2786: 2, 39, 29
+2787: 2, 39, 30
+2788: 2, 39, 31
+2789: 2, 39, 32
+2790: 2, 39, 33
+2791: 2, 39, 34
+2792: 2, 39, 35
+2793: 2, 39, 36
+2794: 2, 39, 37
+2795: 2, 39, 38
+2796: 2, 39, 39
+2797: 2, 39, 40
+2798: 2, 39, 41
+2799: 2, 39, 42
+2800: 2, 39, 43
+2801: 2, 40, 0
+2802: 2, 40, 1
+2803: 2, 40, 2
+2804: 2, 40, 3
+2805: 2, 40, 4
+2806: 2, 40, 5
+2807: 2, 40, 6
+2808: 2, 40, 7
+2809: 2, 40, 8
+2810: 2, 40, 9
+2811: 2, 40, 10
+2812: 2, 40, 11
+2813: 2, 40, 12
+2814: 2, 40, 13
+2815: 2, 40, 14
+2816: 2, 40, 15
+2817: 2, 40, 16
+2818: 2, 40, 17
+2819: 2, 40, 18
+2820: 2, 40, 19
+2821: 2, 40, 20
+2822: 2, 40, 21
+2823: 2, 40, 22
+2824: 2, 40, 23
+2825: 2, 40, 24
+2826: 2, 40, 25
+2827: 2, 40, 26
+2828: 2, 40, 27
+2829: 2, 40, 28
+2830: 2, 40, 29
+2831: 2, 40, 30
+2832: 2, 40, 31
+2833: 2, 40, 32
+2834: 2, 40, 33
+2835: 2, 40, 34
+2836: 2, 40, 35
+2837: 2, 40, 36
+2838: 2, 40, 37
+2839: 2, 40, 38
+2840: 3, 0, 0
+2841: 3, 1, 0
+2842: 3, 1, 1
+2843: 3, 1, 2
+2844: 3, 1, 3
+2845: 3, 1, 4
+2846: 3, 1, 5
+2847: 3, 1, 6
+2848: 3, 1, 7
+2849: 3, 1, 8
+2850: 3, 1, 9
+2851: 3, 1, 10
+2852: 3, 1, 11
+2853: 3, 1, 12
+2854: 3, 1, 13
+2855: 3, 1, 14
+2856: 3, 1, 15
+2857: 3, 1, 16
+2858: 3, 1, 17
+2859: 3, 2, 0
+2860: 3, 2, 1
+2861: 3, 2, 2
+2862: 3, 2, 3
+2863: 3, 2, 4
+2864: 3, 2, 5
+2865: 3, 2, 6
+2866: 3, 2, 7
+2867: 3, 2, 8
+2868: 3, 2, 9
+2869: 3, 2, 10
+2870: 3, 2, 11
+2871: 3, 2, 12
+2872: 3, 2, 13
+2873: 3, 2, 14
+2874: 3, 2, 15
+2875: 3, 2, 16
+2876: 3, 3, 0
+2877: 3, 3, 1
+2878: 3, 3, 2
+2879: 3, 3, 3
+2880: 3, 3, 4
+2881: 3, 3, 5
+2882: 3, 3, 6
+2883: 3, 3, 7
+2884: 3, 3, 8
+2885: 3, 3, 9
+2886: 3, 3, 10
+2887: 3, 3, 11
+2888: 3, 3, 12
+2889: 3, 3, 13
+2890: 3, 3, 14
+2891: 3, 3, 15
+2892: 3, 3, 16
+2893: 3, 3, 17
+2894: 3, 4, 0
+2895: 3, 4, 1
+2896: 3, 4, 2
+2897: 3, 4, 3
+2898: 3, 4, 4
+2899: 3, 4, 5
+2900: 3, 4, 6
+2901: 3, 4, 7
+2902: 3, 4, 8
+2903: 3, 4, 9
+2904: 3, 4, 10
+2905: 3, 4, 11
+2906: 3, 4, 12
+2907: 3, 4, 13
+2908: 3, 4, 14
+2909: 3, 4, 15
+2910: 3, 4, 16
+2911: 3, 4, 17
+2912: 3, 4, 18
+2913: 3, 4, 19
+2914: 3, 4, 20
+2915: 3, 4, 21
+2916: 3, 4, 22
+2917: 3, 4, 23
+2918: 3, 4, 24
+2919: 3, 4, 25
+2920: 3, 4, 26
+2921: 3, 4, 27
+2922: 3, 4, 28
+2923: 3, 4, 29
+2924: 3, 4, 30
+2925: 3, 4, 31
+2926: 3, 4, 32
+2927: 3, 4, 33
+2928: 3, 4, 34
+2929: 3, 4, 35
+2930: 3, 5, 0
+2931: 3, 5, 1
+2932: 3, 5, 2
+2933: 3, 5, 3
+2934: 3, 5, 4
+2935: 3, 5, 5
+2936: 3, 5, 6
+2937: 3, 5, 7
+2938: 3, 5, 8
+2939: 3, 5, 9
+2940: 3, 5, 10
+2941: 3, 5, 11
+2942: 3, 5, 12
+2943: 3, 5, 13
+2944: 3, 5, 14
+2945: 3, 5, 15
+2946: 3, 5, 16
+2947: 3, 5, 17
+2948: 3, 5, 18
+2949: 3, 5, 19
+2950: 3, 6, 0
+2951: 3, 6, 1
+2952: 3, 6, 2
+2953: 3, 6, 3
+2954: 3, 6, 4
+2955: 3, 6, 5
+2956: 3, 6, 6
+2957: 3, 6, 7
+2958: 3, 6, 8
+2959: 3, 6, 9
+2960: 3, 6, 10
+2961: 3, 6, 11
+2962: 3, 6, 12
+2963: 3, 6, 13
+2964: 3, 6, 14
+2965: 3, 6, 15
+2966: 3, 6, 16
+2967: 3, 6, 17
+2968: 3, 6, 18
+2969: 3, 6, 19
+2970: 3, 6, 20
+2971: 3, 6, 21
+2972: 3, 6, 22
+2973: 3, 6, 23
+2974: 3, 6, 24
+2975: 3, 6, 25
+2976: 3, 6, 26
+2977: 3, 6, 27
+2978: 3, 6, 28
+2979: 3, 6, 29
+2980: 3, 6, 30
+2981: 3, 7, 0
+2982: 3, 7, 1
+2983: 3, 7, 2
+2984: 3, 7, 3
+2985: 3, 7, 4
+2986: 3, 7, 5
+2987: 3, 7, 6
+2988: 3, 7, 7
+2989: 3, 7, 8
+2990: 3, 7, 9
+2991: 3, 7, 10
+2992: 3, 7, 11
+2993: 3, 7, 12
+2994: 3, 7, 13
+2995: 3, 7, 14
+2996: 3, 7, 15
+2997: 3, 7, 16
+2998: 3, 7, 17
+2999: 3, 7, 18
+3000: 3, 7, 19
+3001: 3, 7, 20
+3002: 3, 7, 21
+3003: 3, 7, 22
+3004: 3, 7, 23
+3005: 3, 7, 24
+3006: 3, 7, 25
+3007: 3, 7, 26
+3008: 3, 7, 27
+3009: 3, 7, 28
+3010: 3, 7, 29
+3011: 3, 7, 30
+3012: 3, 7, 31
+3013: 3, 7, 32
+3014: 3, 7, 33
+3015: 3, 7, 34
+3016: 3, 7, 35
+3017: 3, 7, 36
+3018: 3, 7, 37
+3019: 3, 7, 38
+3020: 3, 8, 0
+3021: 3, 8, 1
+3022: 3, 8, 2
+3023: 3, 8, 3
+3024: 3, 8, 4
+3025: 3, 8, 5
+3026: 3, 8, 6
+3027: 3, 8, 7
+3028: 3, 8, 8
+3029: 3, 8, 9
+3030: 3, 8, 10
+3031: 3, 8, 11
+3032: 3, 8, 12
+3033: 3, 8, 13
+3034: 3, 8, 14
+3035: 3, 8, 15
+3036: 3, 8, 16
+3037: 3, 8, 17
+3038: 3, 8, 18
+3039: 3, 8, 19
+3040: 3, 8, 20
+3041: 3, 8, 21
+3042: 3, 8, 22
+3043: 3, 8, 23
+3044: 3, 8, 24
+3045: 3, 8, 25
+3046: 3, 8, 26
+3047: 3, 8, 27
+3048: 3, 8, 28
+3049: 3, 8, 29
+3050: 3, 8, 30
+3051: 3, 8, 31
+3052: 3, 8, 32
+3053: 3, 8, 33
+3054: 3, 8, 34
+3055: 3, 8, 35
+3056: 3, 8, 36
+3057: 3, 9, 0
+3058: 3, 9, 1
+3059: 3, 9, 2
+3060: 3, 9, 3
+3061: 3, 9, 4
+3062: 3, 9, 5
+3063: 3, 9, 6
+3064: 3, 9, 7
+3065: 3, 9, 8
+3066: 3, 9, 9
+3067: 3, 9, 10
+3068: 3, 9, 11
+3069: 3, 9, 12
+3070: 3, 9, 13
+3071: 3, 9, 14
+3072: 3, 9, 15
+3073: 3, 9, 16
+3074: 3, 9, 17
+3075: 3, 9, 18
+3076: 3, 9, 19
+3077: 3, 9, 20
+3078: 3, 9, 21
+3079: 3, 9, 22
+3080: 3, 9, 23
+3081: 3, 9, 24
+3082: 3, 10, 0
+3083: 3, 10, 1
+3084: 3, 10, 2
+3085: 3, 10, 3
+3086: 3, 10, 4
+3087: 3, 10, 5
+3088: 3, 10, 6
+3089: 3, 10, 7
+3090: 3, 10, 8
+3091: 3, 10, 9
+3092: 3, 10, 10
+3093: 3, 10, 11
+3094: 3, 10, 12
+3095: 3, 10, 13
+3096: 3, 10, 14
+3097: 3, 10, 15
+3098: 3, 10, 16
+3099: 3, 10, 17
+3100: 3, 10, 18
+3101: 3, 10, 19
+3102: 3, 10, 20
+3103: 3, 11, 0
+3104: 3, 11, 1
+3105: 3, 11, 2
+3106: 3, 11, 3
+3107: 3, 11, 4
+3108: 3, 11, 5
+3109: 3, 11, 6
+3110: 3, 11, 7
+3111: 3, 11, 8
+3112: 3, 11, 9
+3113: 3, 11, 10
+3114: 3, 11, 11
+3115: 3, 11, 12
+3116: 3, 11, 13
+3117: 3, 11, 14
+3118: 3, 11, 15
+3119: 3, 11, 16
+3120: 3, 11, 17
+3121: 3, 11, 18
+3122: 3, 11, 19
+3123: 3, 11, 20
+3124: 3, 11, 21
+3125: 3, 11, 22
+3126: 3, 11, 23
+3127: 3, 11, 24
+3128: 3, 11, 25
+3129: 3, 11, 26
+3130: 3, 11, 27
+3131: 3, 11, 28
+3132: 3, 11, 29
+3133: 3, 11, 30
+3134: 3, 11, 31
+3135: 3, 11, 32
+3136: 3, 11, 33
+3137: 3, 11, 34
+3138: 3, 11, 35
+3139: 3, 11, 36
+3140: 3, 11, 37
+3141: 3, 11, 38
+3142: 3, 11, 39
+3143: 3, 11, 40
+3144: 3, 11, 41
+3145: 3, 11, 42
+3146: 3, 11, 43
+3147: 3, 11, 44
+3148: 3, 11, 45
+3149: 3, 11, 46
+3150: 3, 11, 47
+3151: 3, 12, 0
+3152: 3, 12, 1
+3153: 3, 12, 2
+3154: 3, 12, 3
+3155: 3, 12, 4
+3156: 3, 12, 5
+3157: 3, 12, 6
+3158: 3, 12, 7
+3159: 3, 12, 8
+3160: 3, 13, 0
+3161: 3, 13, 1
+3162: 3, 13, 2
+3163: 3, 13, 3
+3164: 3, 13, 4
+3165: 3, 13, 5
+3166: 3, 13, 6
+3167: 3, 13, 7
+3168: 3, 13, 8
+3169: 3, 13, 9
+3170: 3, 13, 10
+3171: 3, 13, 11
+3172: 3, 13, 12
+3173: 3, 13, 13
+3174: 3, 13, 14
+3175: 3, 13, 15
+3176: 3, 13, 16
+3177: 3, 13, 17
+3178: 3, 13, 18
+3179: 3, 13, 19
+3180: 3, 13, 20
+3181: 3, 13, 21
+3182: 3, 13, 22
+3183: 3, 13, 23
+3184: 3, 13, 24
+3185: 3, 13, 25
+3186: 3, 13, 26
+3187: 3, 13, 27
+3188: 3, 13, 28
+3189: 3, 13, 29
+3190: 3, 13, 30
+3191: 3, 13, 31
+3192: 3, 13, 32
+3193: 3, 13, 33
+3194: 3, 13, 34
+3195: 3, 13, 35
+3196: 3, 13, 36
+3197: 3, 13, 37
+3198: 3, 13, 38
+3199: 3, 13, 39
+3200: 3, 13, 40
+3201: 3, 13, 41
+3202: 3, 13, 42
+3203: 3, 13, 43
+3204: 3, 13, 44
+3205: 3, 13, 45
+3206: 3, 13, 46
+3207: 3, 13, 47
+3208: 3, 13, 48
+3209: 3, 13, 49
+3210: 3, 13, 50
+3211: 3, 13, 51
+3212: 3, 13, 52
+3213: 3, 13, 53
+3214: 3, 13, 54
+3215: 3, 13, 55
+3216: 3, 13, 56
+3217: 3, 13, 57
+3218: 3, 13, 58
+3219: 3, 13, 59
+3220: 3, 14, 0
+3221: 3, 14, 1
+3222: 3, 14, 2
+3223: 3, 14, 3
+3224: 3, 14, 4
+3225: 3, 14, 5
+3226: 3, 14, 6
+3227: 3, 14, 7
+3228: 3, 14, 8
+3229: 3, 14, 9
+3230: 3, 14, 10
+3231: 3, 14, 11
+3232: 3, 14, 12
+3233: 3, 14, 13
+3234: 3, 14, 14
+3235: 3, 14, 15
+3236: 3, 14, 16
+3237: 3, 14, 17
+3238: 3, 14, 18
+3239: 3, 14, 19
+3240: 3, 14, 20
+3241: 3, 14, 21
+3242: 3, 14, 22
+3243: 3, 14, 23
+3244: 3, 14, 24
+3245: 3, 14, 25
+3246: 3, 14, 26
+3247: 3, 14, 27
+3248: 3, 14, 28
+3249: 3, 14, 29
+3250: 3, 14, 30
+3251: 3, 14, 31
+3252: 3, 14, 32
+3253: 3, 14, 33
+3254: 3, 14, 34
+3255: 3, 14, 35
+3256: 3, 14, 36
+3257: 3, 14, 37
+3258: 3, 14, 38
+3259: 3, 14, 39
+3260: 3, 14, 40
+3261: 3, 14, 41
+3262: 3, 14, 42
+3263: 3, 14, 43
+3264: 3, 14, 44
+3265: 3, 14, 45
+3266: 3, 14, 46
+3267: 3, 14, 47
+3268: 3, 14, 48
+3269: 3, 14, 49
+3270: 3, 14, 50
+3271: 3, 14, 51
+3272: 3, 14, 52
+3273: 3, 14, 53
+3274: 3, 14, 54
+3275: 3, 14, 55
+3276: 3, 14, 56
+3277: 3, 14, 57
+3278: 3, 15, 0
+3279: 3, 15, 1
+3280: 3, 15, 2
+3281: 3, 15, 3
+3282: 3, 15, 4
+3283: 3, 15, 5
+3284: 3, 15, 6
+3285: 3, 15, 7
+3286: 3, 15, 8
+3287: 3, 15, 9
+3288: 3, 15, 10
+3289: 3, 15, 11
+3290: 3, 15, 12
+3291: 3, 15, 13
+3292: 3, 15, 14
+3293: 3, 15, 15
+3294: 3, 15, 16
+3295: 3, 15, 17
+3296: 3, 15, 18
+3297: 3, 15, 19
+3298: 3, 15, 20
+3299: 3, 15, 21
+3300: 3, 15, 22
+3301: 3, 15, 23
+3302: 3, 15, 24
+3303: 3, 15, 25
+3304: 3, 15, 26
+3305: 3, 15, 27
+3306: 3, 15, 28
+3307: 3, 15, 29
+3308: 3, 15, 30
+3309: 3, 15, 31
+3310: 3, 15, 32
+3311: 3, 15, 33
+3312: 3, 16, 0
+3313: 3, 16, 1
+3314: 3, 16, 2
+3315: 3, 16, 3
+3316: 3, 16, 4
+3317: 3, 16, 5
+3318: 3, 16, 6
+3319: 3, 16, 7
+3320: 3, 16, 8
+3321: 3, 16, 9
+3322: 3, 16, 10
+3323: 3, 16, 11
+3324: 3, 16, 12
+3325: 3, 16, 13
+3326: 3, 16, 14
+3327: 3, 16, 15
+3328: 3, 16, 16
+3329: 3, 16, 17
+3330: 3, 16, 18
+3331: 3, 16, 19
+3332: 3, 16, 20
+3333: 3, 16, 21
+3334: 3, 16, 22
+3335: 3, 16, 23
+3336: 3, 16, 24
+3337: 3, 16, 25
+3338: 3, 16, 26
+3339: 3, 16, 27
+3340: 3, 16, 28
+3341: 3, 16, 29
+3342: 3, 16, 30
+3343: 3, 16, 31
+3344: 3, 16, 32
+3345: 3, 16, 33
+3346: 3, 16, 34
+3347: 3, 17, 0
+3348: 3, 17, 1
+3349: 3, 17, 2
+3350: 3, 17, 3
+3351: 3, 17, 4
+3352: 3, 17, 5
+3353: 3, 17, 6
+3354: 3, 17, 7
+3355: 3, 17, 8
+3356: 3, 17, 9
+3357: 3, 17, 10
+3358: 3, 17, 11
+3359: 3, 17, 12
+3360: 3, 17, 13
+3361: 3, 17, 14
+3362: 3, 17, 15
+3363: 3, 17, 16
+3364: 3, 18, 0
+3365: 3, 18, 1
+3366: 3, 18, 2
+3367: 3, 18, 3
+3368: 3, 18, 4
+3369: 3, 18, 5
+3370: 3, 18, 6
+3371: 3, 18, 7
+3372: 3, 18, 8
+3373: 3, 18, 9
+3374: 3, 18, 10
+3375: 3, 18, 11
+3376: 3, 18, 12
+3377: 3, 18, 13
+3378: 3, 18, 14
+3379: 3, 18, 15
+3380: 3, 18, 16
+3381: 3, 18, 17
+3382: 3, 18, 18
+3383: 3, 18, 19
+3384: 3, 18, 20
+3385: 3, 18, 21
+3386: 3, 18, 22
+3387: 3, 18, 23
+3388: 3, 18, 24
+3389: 3, 18, 25
+3390: 3, 18, 26
+3391: 3, 18, 27
+3392: 3, 18, 28
+3393: 3, 18, 29
+3394: 3, 18, 30
+3395: 3, 19, 0
+3396: 3, 19, 1
+3397: 3, 19, 2
+3398: 3, 19, 3
+3399: 3, 19, 4
+3400: 3, 19, 5
+3401: 3, 19, 6
+3402: 3, 19, 7
+3403: 3, 19, 8
+3404: 3, 19, 9
+3405: 3, 19, 10
+3406: 3, 19, 11
+3407: 3, 19, 12
+3408: 3, 19, 13
+3409: 3, 19, 14
+3410: 3, 19, 15
+3411: 3, 19, 16
+3412: 3, 19, 17
+3413: 3, 19, 18
+3414: 3, 19, 19
+3415: 3, 19, 20
+3416: 3, 19, 21
+3417: 3, 19, 22
+3418: 3, 19, 23
+3419: 3, 19, 24
+3420: 3, 19, 25
+3421: 3, 19, 26
+3422: 3, 19, 27
+3423: 3, 19, 28
+3424: 3, 19, 29
+3425: 3, 19, 30
+3426: 3, 19, 31
+3427: 3, 19, 32
+3428: 3, 19, 33
+3429: 3, 19, 34
+3430: 3, 19, 35
+3431: 3, 19, 36
+3432: 3, 19, 37
+3433: 3, 20, 0
+3434: 3, 20, 1
+3435: 3, 20, 2
+3436: 3, 20, 3
+3437: 3, 20, 4
+3438: 3, 20, 5
+3439: 3, 20, 6
+3440: 3, 20, 7
+3441: 3, 20, 8
+3442: 3, 20, 9
+3443: 3, 20, 10
+3444: 3, 20, 11
+3445: 3, 20, 12
+3446: 3, 20, 13
+3447: 3, 20, 14
+3448: 3, 20, 15
+3449: 3, 20, 16
+3450: 3, 20, 17
+3451: 3, 20, 18
+3452: 3, 20, 19
+3453: 3, 20, 20
+3454: 3, 20, 21
+3455: 3, 20, 22
+3456: 3, 20, 23
+3457: 3, 20, 24
+3458: 3, 20, 25
+3459: 3, 20, 26
+3460: 3, 20, 27
+3461: 3, 21, 0
+3462: 3, 21, 1
+3463: 3, 21, 2
+3464: 3, 21, 3
+3465: 3, 21, 4
+3466: 3, 21, 5
+3467: 3, 21, 6
+3468: 3, 21, 7
+3469: 3, 21, 8
+3470: 3, 21, 9
+3471: 3, 21, 10
+3472: 3, 21, 11
+3473: 3, 21, 12
+3474: 3, 21, 13
+3475: 3, 21, 14
+3476: 3, 21, 15
+3477: 3, 21, 16
+3478: 3, 21, 17
+3479: 3, 21, 18
+3480: 3, 21, 19
+3481: 3, 21, 20
+3482: 3, 21, 21
+3483: 3, 21, 22
+3484: 3, 21, 23
+3485: 3, 21, 24
+3486: 3, 22, 0
+3487: 3, 22, 1
+3488: 3, 22, 2
+3489: 3, 22, 3
+3490: 3, 22, 4
+3491: 3, 22, 5
+3492: 3, 22, 6
+3493: 3, 22, 7
+3494: 3, 22, 8
+3495: 3, 22, 9
+3496: 3, 22, 10
+3497: 3, 22, 11
+3498: 3, 22, 12
+3499: 3, 22, 13
+3500: 3, 22, 14
+3501: 3, 22, 15
+3502: 3, 22, 16
+3503: 3, 22, 17
+3504: 3, 22, 18
+3505: 3, 22, 19
+3506: 3, 22, 20
+3507: 3, 22, 21
+3508: 3, 22, 22
+3509: 3, 22, 23
+3510: 3, 22, 24
+3511: 3, 22, 25
+3512: 3, 22, 26
+3513: 3, 22, 27
+3514: 3, 22, 28
+3515: 3, 22, 29
+3516: 3, 22, 30
+3517: 3, 22, 31
+3518: 3, 22, 32
+3519: 3, 22, 33
+3520: 3, 23, 0
+3521: 3, 23, 1
+3522: 3, 23, 2
+3523: 3, 23, 3
+3524: 3, 23, 4
+3525: 3, 23, 5
+3526: 3, 23, 6
+3527: 3, 23, 7
+3528: 3, 23, 8
+3529: 3, 23, 9
+3530: 3, 23, 10
+3531: 3, 23, 11
+3532: 3, 23, 12
+3533: 3, 23, 13
+3534: 3, 23, 14
+3535: 3, 23, 15
+3536: 3, 23, 16
+3537: 3, 23, 17
+3538: 3, 23, 18
+3539: 3, 23, 19
+3540: 3, 23, 20
+3541: 3, 23, 21
+3542: 3, 23, 22
+3543: 3, 23, 23
+3544: 3, 23, 24
+3545: 3, 23, 25
+3546: 3, 23, 26
+3547: 3, 23, 27
+3548: 3, 23, 28
+3549: 3, 23, 29
+3550: 3, 23, 30
+3551: 3, 23, 31
+3552: 3, 23, 32
+3553: 3, 23, 33
+3554: 3, 23, 34
+3555: 3, 23, 35
+3556: 3, 23, 36
+3557: 3, 23, 37
+3558: 3, 23, 38
+3559: 3, 23, 39
+3560: 3, 23, 40
+3561: 3, 23, 41
+3562: 3, 23, 42
+3563: 3, 23, 43
+3564: 3, 23, 44
+3565: 3, 24, 0
+3566: 3, 24, 1
+3567: 3, 24, 2
+3568: 3, 24, 3
+3569: 3, 24, 4
+3570: 3, 24, 5
+3571: 3, 24, 6
+3572: 3, 24, 7
+3573: 3, 24, 8
+3574: 3, 24, 9
+3575: 3, 24, 10
+3576: 3, 24, 11
+3577: 3, 24, 12
+3578: 3, 24, 13
+3579: 3, 24, 14
+3580: 3, 24, 15
+3581: 3, 24, 16
+3582: 3, 24, 17
+3583: 3, 24, 18
+3584: 3, 24, 19
+3585: 3, 24, 20
+3586: 3, 24, 21
+3587: 3, 24, 22
+3588: 3, 24, 23
+3589: 3, 25, 0
+3590: 3, 25, 1
+3591: 3, 25, 2
+3592: 3, 25, 3
+3593: 3, 25, 4
+3594: 3, 25, 5
+3595: 3, 25, 6
+3596: 3, 25, 7
+3597: 3, 25, 8
+3598: 3, 25, 9
+3599: 3, 25, 10
+3600: 3, 25, 11
+3601: 3, 25, 12
+3602: 3, 25, 13
+3603: 3, 25, 14
+3604: 3, 25, 15
+3605: 3, 25, 16
+3606: 3, 25, 17
+3607: 3, 25, 18
+3608: 3, 25, 19
+3609: 3, 25, 20
+3610: 3, 25, 21
+3611: 3, 25, 22
+3612: 3, 25, 23
+3613: 3, 25, 24
+3614: 3, 25, 25
+3615: 3, 25, 26
+3616: 3, 25, 27
+3617: 3, 25, 28
+3618: 3, 25, 29
+3619: 3, 25, 30
+3620: 3, 25, 31
+3621: 3, 25, 32
+3622: 3, 25, 33
+3623: 3, 25, 34
+3624: 3, 25, 35
+3625: 3, 25, 36
+3626: 3, 25, 37
+3627: 3, 25, 38
+3628: 3, 25, 39
+3629: 3, 25, 40
+3630: 3, 25, 41
+3631: 3, 25, 42
+3632: 3, 25, 43
+3633: 3, 25, 44
+3634: 3, 25, 45
+3635: 3, 25, 46
+3636: 3, 25, 47
+3637: 3, 25, 48
+3638: 3, 25, 49
+3639: 3, 25, 50
+3640: 3, 25, 51
+3641: 3, 25, 52
+3642: 3, 25, 53
+3643: 3, 25, 54
+3644: 3, 25, 55
+3645: 3, 26, 0
+3646: 3, 26, 1
+3647: 3, 26, 2
+3648: 3, 26, 3
+3649: 3, 26, 4
+3650: 3, 26, 5
+3651: 3, 26, 6
+3652: 3, 26, 7
+3653: 3, 26, 8
+3654: 3, 26, 9
+3655: 3, 26, 10
+3656: 3, 26, 11
+3657: 3, 26, 12
+3658: 3, 26, 13
+3659: 3, 26, 14
+3660: 3, 26, 15
+3661: 3, 26, 16
+3662: 3, 26, 17
+3663: 3, 26, 18
+3664: 3, 26, 19
+3665: 3, 26, 20
+3666: 3, 26, 21
+3667: 3, 26, 22
+3668: 3, 26, 23
+3669: 3, 26, 24
+3670: 3, 26, 25
+3671: 3, 26, 26
+3672: 3, 26, 27
+3673: 3, 26, 28
+3674: 3, 26, 29
+3675: 3, 26, 30
+3676: 3, 26, 31
+3677: 3, 26, 32
+3678: 3, 26, 33
+3679: 3, 26, 34
+3680: 3, 26, 35
+3681: 3, 26, 36
+3682: 3, 26, 37
+3683: 3, 26, 38
+3684: 3, 26, 39
+3685: 3, 26, 40
+3686: 3, 26, 41
+3687: 3, 26, 42
+3688: 3, 26, 43
+3689: 3, 26, 44
+3690: 3, 26, 45
+3691: 3, 26, 46
+3692: 3, 27, 0
+3693: 3, 27, 1
+3694: 3, 27, 2
+3695: 3, 27, 3
+3696: 3, 27, 4
+3697: 3, 27, 5
+3698: 3, 27, 6
+3699: 3, 27, 7
+3700: 3, 27, 8
+3701: 3, 27, 9
+3702: 3, 27, 10
+3703: 3, 27, 11
+3704: 3, 27, 12
+3705: 3, 27, 13
+3706: 3, 27, 14
+3707: 3, 27, 15
+3708: 3, 27, 16
+3709: 3, 27, 17
+3710: 3, 27, 18
+3711: 3, 27, 19
+3712: 3, 27, 20
+3713: 3, 27, 21
+3714: 3, 27, 22
+3715: 3, 27, 23
+3716: 3, 27, 24
+3717: 3, 27, 25
+3718: 3, 27, 26
+3719: 3, 27, 27
+3720: 3, 27, 28
+3721: 3, 27, 29
+3722: 3, 27, 30
+3723: 3, 27, 31
+3724: 3, 27, 32
+3725: 3, 27, 33
+3726: 3, 27, 34
+3727: 4, 0, 0
+3728: 4, 1, 0
+3729: 4, 1, 1
+3730: 4, 1, 2
+3731: 4, 1, 3
+3732: 4, 1, 4
+3733: 4, 1, 5
+3734: 4, 1, 6
+3735: 4, 1, 7
+3736: 4, 1, 8
+3737: 4, 1, 9
+3738: 4, 1, 10
+3739: 4, 1, 11
+3740: 4, 1, 12
+3741: 4, 1, 13
+3742: 4, 1, 14
+3743: 4, 1, 15
+3744: 4, 1, 16
+3745: 4, 1, 17
+3746: 4, 1, 18
+3747: 4, 1, 19
+3748: 4, 1, 20
+3749: 4, 1, 21
+3750: 4, 1, 22
+3751: 4, 1, 23
+3752: 4, 1, 24
+3753: 4, 1, 25
+3754: 4, 1, 26
+3755: 4, 1, 27
+3756: 4, 1, 28
+3757: 4, 1, 29
+3758: 4, 1, 30
+3759: 4, 1, 31
+3760: 4, 1, 32
+3761: 4, 1, 33
+3762: 4, 1, 34
+3763: 4, 1, 35
+3764: 4, 1, 36
+3765: 4, 1, 37
+3766: 4, 1, 38
+3767: 4, 1, 39
+3768: 4, 1, 40
+3769: 4, 1, 41
+3770: 4, 1, 42
+3771: 4, 1, 43
+3772: 4, 1, 44
+3773: 4, 1, 45
+3774: 4, 1, 46
+3775: 4, 1, 47
+3776: 4, 1, 48
+3777: 4, 1, 49
+3778: 4, 1, 50
+3779: 4, 1, 51
+3780: 4, 1, 52
+3781: 4, 1, 53
+3782: 4, 1, 54
+3783: 4, 2, 0
+3784: 4, 2, 1
+3785: 4, 2, 2
+3786: 4, 2, 3
+3787: 4, 2, 4
+3788: 4, 2, 5
+3789: 4, 2, 6
+3790: 4, 2, 7
+3791: 4, 2, 8
+3792: 4, 2, 9
+3793: 4, 2, 10
+3794: 4, 2, 11
+3795: 4, 2, 12
+3796: 4, 2, 13
+3797: 4, 2, 14
+3798: 4, 2, 15
+3799: 4, 2, 16
+3800: 4, 2, 17
+3801: 4, 2, 18
+3802: 4, 2, 19
+3803: 4, 2, 20
+3804: 4, 2, 21
+3805: 4, 2, 22
+3806: 4, 2, 23
+3807: 4, 2, 24
+3808: 4, 2, 25
+3809: 4, 2, 26
+3810: 4, 2, 27
+3811: 4, 2, 28
+3812: 4, 2, 29
+3813: 4, 2, 30
+3814: 4, 2, 31
+3815: 4, 2, 32
+3816: 4, 2, 33
+3817: 4, 2, 34
+3818: 4, 3, 0
+3819: 4, 3, 1
+3820: 4, 3, 2
+3821: 4, 3, 3
+3822: 4, 3, 4
+3823: 4, 3, 5
+3824: 4, 3, 6
+3825: 4, 3, 7
+3826: 4, 3, 8
+3827: 4, 3, 9
+3828: 4, 3, 10
+3829: 4, 3, 11
+3830: 4, 3, 12
+3831: 4, 3, 13
+3832: 4, 3, 14
+3833: 4, 3, 15
+3834: 4, 3, 16
+3835: 4, 3, 17
+3836: 4, 3, 18
+3837: 4, 3, 19
+3838: 4, 3, 20
+3839: 4, 3, 21
+3840: 4, 3, 22
+3841: 4, 3, 23
+3842: 4, 3, 24
+3843: 4, 3, 25
+3844: 4, 3, 26
+3845: 4, 3, 27
+3846: 4, 3, 28
+3847: 4, 3, 29
+3848: 4, 3, 30
+3849: 4, 3, 31
+3850: 4, 3, 32
+3851: 4, 3, 33
+3852: 4, 3, 34
+3853: 4, 3, 35
+3854: 4, 3, 36
+3855: 4, 3, 37
+3856: 4, 3, 38
+3857: 4, 3, 39
+3858: 4, 3, 40
+3859: 4, 3, 41
+3860: 4, 3, 42
+3861: 4, 3, 43
+3862: 4, 3, 44
+3863: 4, 3, 45
+3864: 4, 3, 46
+3865: 4, 3, 47
+3866: 4, 3, 48
+3867: 4, 3, 49
+3868: 4, 3, 50
+3869: 4, 3, 51
+3870: 4, 4, 0
+3871: 4, 4, 1
+3872: 4, 4, 2
+3873: 4, 4, 3
+3874: 4, 4, 4
+3875: 4, 4, 5
+3876: 4, 4, 6
+3877: 4, 4, 7
+3878: 4, 4, 8
+3879: 4, 4, 9
+3880: 4, 4, 10
+3881: 4, 4, 11
+3882: 4, 4, 12
+3883: 4, 4, 13
+3884: 4, 4, 14
+3885: 4, 4, 15
+3886: 4, 4, 16
+3887: 4, 4, 17
+3888: 4, 4, 18
+3889: 4, 4, 19
+3890: 4, 4, 20
+3891: 4, 4, 21
+3892: 4, 4, 22
+3893: 4, 4, 23
+3894: 4, 4, 24
+3895: 4, 4, 25
+3896: 4, 4, 26
+3897: 4, 4, 27
+3898: 4, 4, 28
+3899: 4, 4, 29
+3900: 4, 4, 30
+3901: 4, 4, 31
+3902: 4, 4, 32
+3903: 4, 4, 33
+3904: 4, 4, 34
+3905: 4, 4, 35
+3906: 4, 4, 36
+3907: 4, 4, 37
+3908: 4, 4, 38
+3909: 4, 4, 39
+3910: 4, 4, 40
+3911: 4, 4, 41
+3912: 4, 4, 42
+3913: 4, 4, 43
+3914: 4, 4, 44
+3915: 4, 4, 45
+3916: 4, 4, 46
+3917: 4, 4, 47
+3918: 4, 4, 48
+3919: 4, 4, 49
+3920: 4, 5, 0
+3921: 4, 5, 1
+3922: 4, 5, 2
+3923: 4, 5, 3
+3924: 4, 5, 4
+3925: 4, 5, 5
+3926: 4, 5, 6
+3927: 4, 5, 7
+3928: 4, 5, 8
+3929: 4, 5, 9
+3930: 4, 5, 10
+3931: 4, 5, 11
+3932: 4, 5, 12
+3933: 4, 5, 13
+3934: 4, 5, 14
+3935: 4, 5, 15
+3936: 4, 5, 16
+3937: 4, 5, 17
+3938: 4, 5, 18
+3939: 4, 5, 19
+3940: 4, 5, 20
+3941: 4, 5, 21
+3942: 4, 5, 22
+3943: 4, 5, 23
+3944: 4, 5, 24
+3945: 4, 5, 25
+3946: 4, 5, 26
+3947: 4, 5, 27
+3948: 4, 5, 28
+3949: 4, 5, 29
+3950: 4, 5, 30
+3951: 4, 5, 31
+3952: 4, 6, 0
+3953: 4, 6, 1
+3954: 4, 6, 2
+3955: 4, 6, 3
+3956: 4, 6, 4
+3957: 4, 6, 5
+3958: 4, 6, 6
+3959: 4, 6, 7
+3960: 4, 6, 8
+3961: 4, 6, 9
+3962: 4, 6, 10
+3963: 4, 6, 11
+3964: 4, 6, 12
+3965: 4, 6, 13
+3966: 4, 6, 14
+3967: 4, 6, 15
+3968: 4, 6, 16
+3969: 4, 6, 17
+3970: 4, 6, 18
+3971: 4, 6, 19
+3972: 4, 6, 20
+3973: 4, 6, 21
+3974: 4, 6, 22
+3975: 4, 6, 23
+3976: 4, 6, 24
+3977: 4, 6, 25
+3978: 4, 6, 26
+3979: 4, 6, 27
+3980: 4, 7, 0
+3981: 4, 7, 1
+3982: 4, 7, 2
+3983: 4, 7, 3
+3984: 4, 7, 4
+3985: 4, 7, 5
+3986: 4, 7, 6
+3987: 4, 7, 7
+3988: 4, 7, 8
+3989: 4, 7, 9
+3990: 4, 7, 10
+3991: 4, 7, 11
+3992: 4, 7, 12
+3993: 4, 7, 13
+3994: 4, 7, 14
+3995: 4, 7, 15
+3996: 4, 7, 16
+3997: 4, 7, 17
+3998: 4, 7, 18
+3999: 4, 7, 19
+4000: 4, 7, 20
+4001: 4, 7, 21
+4002: 4, 7, 22
+4003: 4, 7, 23
+4004: 4, 7, 24
+4005: 4, 7, 25
+4006: 4, 7, 26
+4007: 4, 7, 27
+4008: 4, 7, 28
+4009: 4, 7, 29
+4010: 4, 7, 30
+4011: 4, 7, 31
+4012: 4, 7, 32
+4013: 4, 7, 33
+4014: 4, 7, 34
+4015: 4, 7, 35
+4016: 4, 7, 36
+4017: 4, 7, 37
+4018: 4, 7, 38
+4019: 4, 7, 39
+4020: 4, 7, 40
+4021: 4, 7, 41
+4022: 4, 7, 42
+4023: 4, 7, 43
+4024: 4, 7, 44
+4025: 4, 7, 45
+4026: 4, 7, 46
+4027: 4, 7, 47
+4028: 4, 7, 48
+4029: 4, 7, 49
+4030: 4, 7, 50
+4031: 4, 7, 51
+4032: 4, 7, 52
+4033: 4, 7, 53
+4034: 4, 7, 54
+4035: 4, 7, 55
+4036: 4, 7, 56
+4037: 4, 7, 57
+4038: 4, 7, 58
+4039: 4, 7, 59
+4040: 4, 7, 60
+4041: 4, 7, 61
+4042: 4, 7, 62
+4043: 4, 7, 63
+4044: 4, 7, 64
+4045: 4, 7, 65
+4046: 4, 7, 66
+4047: 4, 7, 67
+4048: 4, 7, 68
+4049: 4, 7, 69
+4050: 4, 7, 70
+4051: 4, 7, 71
+4052: 4, 7, 72
+4053: 4, 7, 73
+4054: 4, 7, 74
+4055: 4, 7, 75
+4056: 4, 7, 76
+4057: 4, 7, 77
+4058: 4, 7, 78
+4059: 4, 7, 79
+4060: 4, 7, 80
+4061: 4, 7, 81
+4062: 4, 7, 82
+4063: 4, 7, 83
+4064: 4, 7, 84
+4065: 4, 7, 85
+4066: 4, 7, 86
+4067: 4, 7, 87
+4068: 4, 7, 88
+4069: 4, 7, 89
+4070: 4, 8, 0
+4071: 4, 8, 1
+4072: 4, 8, 2
+4073: 4, 8, 3
+4074: 4, 8, 4
+4075: 4, 8, 5
+4076: 4, 8, 6
+4077: 4, 8, 7
+4078: 4, 8, 8
+4079: 4, 8, 9
+4080: 4, 8, 10
+4081: 4, 8, 11
+4082: 4, 8, 12
+4083: 4, 8, 13
+4084: 4, 8, 14
+4085: 4, 8, 15
+4086: 4, 8, 16
+4087: 4, 8, 17
+4088: 4, 8, 18
+4089: 4, 8, 19
+4090: 4, 8, 20
+4091: 4, 8, 21
+4092: 4, 8, 22
+4093: 4, 8, 23
+4094: 4, 8, 24
+4095: 4, 8, 25
+4096: 4, 8, 26
+4097: 4, 9, 0
+4098: 4, 9, 1
+4099: 4, 9, 2
+4100: 4, 9, 3
+4101: 4, 9, 4
+4102: 4, 9, 5
+4103: 4, 9, 6
+4104: 4, 9, 7
+4105: 4, 9, 8
+4106: 4, 9, 9
+4107: 4, 9, 10
+4108: 4, 9, 11
+4109: 4, 9, 12
+4110: 4, 9, 13
+4111: 4, 9, 14
+4112: 4, 9, 15
+4113: 4, 9, 16
+4114: 4, 9, 17
+4115: 4, 9, 18
+4116: 4, 9, 19
+4117: 4, 9, 20
+4118: 4, 9, 21
+4119: 4, 9, 22
+4120: 4, 9, 23
+4121: 4, 10, 0
+4122: 4, 10, 1
+4123: 4, 10, 2
+4124: 4, 10, 3
+4125: 4, 10, 4
+4126: 4, 10, 5
+4127: 4, 10, 6
+4128: 4, 10, 7
+4129: 4, 10, 8
+4130: 4, 10, 9
+4131: 4, 10, 10
+4132: 4, 10, 11
+4133: 4, 10, 12
+4134: 4, 10, 13
+4135: 4, 10, 14
+4136: 4, 10, 15
+4137: 4, 10, 16
+4138: 4, 10, 17
+4139: 4, 10, 18
+4140: 4, 10, 19
+4141: 4, 10, 20
+4142: 4, 10, 21
+4143: 4, 10, 22
+4144: 4, 10, 23
+4145: 4, 10, 24
+4146: 4, 10, 25
+4147: 4, 10, 26
+4148: 4, 10, 27
+4149: 4, 10, 28
+4150: 4, 10, 29
+4151: 4, 10, 30
+4152: 4, 10, 31
+4153: 4, 10, 32
+4154: 4, 10, 33
+4155: 4, 10, 34
+4156: 4, 10, 35
+4157: 4, 10, 36
+4158: 4, 11, 0
+4159: 4, 11, 1
+4160: 4, 11, 2
+4161: 4, 11, 3
+4162: 4, 11, 4
+4163: 4, 11, 5
+4164: 4, 11, 6
+4165: 4, 11, 7
+4166: 4, 11, 8
+4167: 4, 11, 9
+4168: 4, 11, 10
+4169: 4, 11, 11
+4170: 4, 11, 12
+4171: 4, 11, 13
+4172: 4, 11, 14
+4173: 4, 11, 15
+4174: 4, 11, 16
+4175: 4, 11, 17
+4176: 4, 11, 18
+4177: 4, 11, 19
+4178: 4, 11, 20
+4179: 4, 11, 21
+4180: 4, 11, 22
+4181: 4, 11, 23
+4182: 4, 11, 24
+4183: 4, 11, 25
+4184: 4, 11, 26
+4185: 4, 11, 27
+4186: 4, 11, 28
+4187: 4, 11, 29
+4188: 4, 11, 30
+4189: 4, 11, 31
+4190: 4, 11, 32
+4191: 4, 11, 33
+4192: 4, 11, 34
+4193: 4, 11, 35
+4194: 4, 12, 0
+4195: 4, 12, 1
+4196: 4, 12, 2
+4197: 4, 12, 3
+4198: 4, 12, 4
+4199: 4, 12, 5
+4200: 4, 12, 6
+4201: 4, 12, 7
+4202: 4, 12, 8
+4203: 4, 12, 9
+4204: 4, 12, 10
+4205: 4, 12, 11
+4206: 4, 12, 12
+4207: 4, 12, 13
+4208: 4, 12, 14
+4209: 4, 12, 15
+4210: 4, 12, 16
+4211: 4, 13, 0
+4212: 4, 13, 1
+4213: 4, 13, 2
+4214: 4, 13, 3
+4215: 4, 13, 4
+4216: 4, 13, 5
+4217: 4, 13, 6
+4218: 4, 13, 7
+4219: 4, 13, 8
+4220: 4, 13, 9
+4221: 4, 13, 10
+4222: 4, 13, 11
+4223: 4, 13, 12
+4224: 4, 13, 13
+4225: 4, 13, 14
+4226: 4, 13, 15
+4227: 4, 13, 16
+4228: 4, 13, 17
+4229: 4, 13, 18
+4230: 4, 13, 19
+4231: 4, 13, 20
+4232: 4, 13, 21
+4233: 4, 13, 22
+4234: 4, 13, 23
+4235: 4, 13, 24
+4236: 4, 13, 25
+4237: 4, 13, 26
+4238: 4, 13, 27
+4239: 4, 13, 28
+4240: 4, 13, 29
+4241: 4, 13, 30
+4242: 4, 13, 31
+4243: 4, 13, 32
+4244: 4, 13, 33
+4245: 4, 14, 0
+4246: 4, 14, 1
+4247: 4, 14, 2
+4248: 4, 14, 3
+4249: 4, 14, 4
+4250: 4, 14, 5
+4251: 4, 14, 6
+4252: 4, 14, 7
+4253: 4, 14, 8
+4254: 4, 14, 9
+4255: 4, 14, 10
+4256: 4, 14, 11
+4257: 4, 14, 12
+4258: 4, 14, 13
+4259: 4, 14, 14
+4260: 4, 14, 15
+4261: 4, 14, 16
+4262: 4, 14, 17
+4263: 4, 14, 18
+4264: 4, 14, 19
+4265: 4, 14, 20
+4266: 4, 14, 21
+4267: 4, 14, 22
+4268: 4, 14, 23
+4269: 4, 14, 24
+4270: 4, 14, 25
+4271: 4, 14, 26
+4272: 4, 14, 27
+4273: 4, 14, 28
+4274: 4, 14, 29
+4275: 4, 14, 30
+4276: 4, 14, 31
+4277: 4, 14, 32
+4278: 4, 14, 33
+4279: 4, 14, 34
+4280: 4, 14, 35
+4281: 4, 14, 36
+4282: 4, 14, 37
+4283: 4, 14, 38
+4284: 4, 14, 39
+4285: 4, 14, 40
+4286: 4, 14, 41
+4287: 4, 14, 42
+4288: 4, 14, 43
+4289: 4, 14, 44
+4290: 4, 14, 45
+4291: 4, 15, 0
+4292: 4, 15, 1
+4293: 4, 15, 2
+4294: 4, 15, 3
+4295: 4, 15, 4
+4296: 4, 15, 5
+4297: 4, 15, 6
+4298: 4, 15, 7
+4299: 4, 15, 8
+4300: 4, 15, 9
+4301: 4, 15, 10
+4302: 4, 15, 11
+4303: 4, 15, 12
+4304: 4, 15, 13
+4305: 4, 15, 14
+4306: 4, 15, 15
+4307: 4, 15, 16
+4308: 4, 15, 17
+4309: 4, 15, 18
+4310: 4, 15, 19
+4311: 4, 15, 20
+4312: 4, 15, 21
+4313: 4, 15, 22
+4314: 4, 15, 23
+4315: 4, 15, 24
+4316: 4, 15, 25
+4317: 4, 15, 26
+4318: 4, 15, 27
+4319: 4, 15, 28
+4320: 4, 15, 29
+4321: 4, 15, 30
+4322: 4, 15, 31
+4323: 4, 15, 32
+4324: 4, 15, 33
+4325: 4, 15, 34
+4326: 4, 15, 35
+4327: 4, 15, 36
+4328: 4, 15, 37
+4329: 4, 15, 38
+4330: 4, 15, 39
+4331: 4, 15, 40
+4332: 4, 15, 41
+4333: 4, 16, 0
+4334: 4, 16, 1
+4335: 4, 16, 2
+4336: 4, 16, 3
+4337: 4, 16, 4
+4338: 4, 16, 5
+4339: 4, 16, 6
+4340: 4, 16, 7
+4341: 4, 16, 8
+4342: 4, 16, 9
+4343: 4, 16, 10
+4344: 4, 16, 11
+4345: 4, 16, 12
+4346: 4, 16, 13
+4347: 4, 16, 14
+4348: 4, 16, 15
+4349: 4, 16, 16
+4350: 4, 16, 17
+4351: 4, 16, 18
+4352: 4, 16, 19
+4353: 4, 16, 20
+4354: 4, 16, 21
+4355: 4, 16, 22
+4356: 4, 16, 23
+4357: 4, 16, 24
+4358: 4, 16, 25
+4359: 4, 16, 26
+4360: 4, 16, 27
+4361: 4, 16, 28
+4362: 4, 16, 29
+4363: 4, 16, 30
+4364: 4, 16, 31
+4365: 4, 16, 32
+4366: 4, 16, 33
+4367: 4, 16, 34
+4368: 4, 16, 35
+4369: 4, 16, 36
+4370: 4, 16, 37
+4371: 4, 16, 38
+4372: 4, 16, 39
+4373: 4, 16, 40
+4374: 4, 16, 41
+4375: 4, 16, 42
+4376: 4, 16, 43
+4377: 4, 16, 44
+4378: 4, 16, 45
+4379: 4, 16, 46
+4380: 4, 16, 47
+4381: 4, 16, 48
+4382: 4, 16, 49
+4383: 4, 16, 50
+4384: 4, 17, 0
+4385: 4, 17, 1
+4386: 4, 17, 2
+4387: 4, 17, 3
+4388: 4, 17, 4
+4389: 4, 17, 5
+4390: 4, 17, 6
+4391: 4, 17, 7
+4392: 4, 17, 8
+4393: 4, 17, 9
+4394: 4, 17, 10
+4395: 4, 17, 11
+4396: 4, 17, 12
+4397: 4, 17, 13
+4398: 4, 18, 0
+4399: 4, 18, 1
+4400: 4, 18, 2
+4401: 4, 18, 3
+4402: 4, 18, 4
+4403: 4, 18, 5
+4404: 4, 18, 6
+4405: 4, 18, 7
+4406: 4, 18, 8
+4407: 4, 18, 9
+4408: 4, 18, 10
+4409: 4, 18, 11
+4410: 4, 18, 12
+4411: 4, 18, 13
+4412: 4, 18, 14
+4413: 4, 18, 15
+4414: 4, 18, 16
+4415: 4, 18, 17
+4416: 4, 18, 18
+4417: 4, 18, 19
+4418: 4, 18, 20
+4419: 4, 18, 21
+4420: 4, 18, 22
+4421: 4, 18, 23
+4422: 4, 18, 24
+4423: 4, 18, 25
+4424: 4, 18, 26
+4425: 4, 18, 27
+4426: 4, 18, 28
+4427: 4, 18, 29
+4428: 4, 18, 30
+4429: 4, 18, 31
+4430: 4, 18, 32
+4431: 4, 19, 0
+4432: 4, 19, 1
+4433: 4, 19, 2
+4434: 4, 19, 3
+4435: 4, 19, 4
+4436: 4, 19, 5
+4437: 4, 19, 6
+4438: 4, 19, 7
+4439: 4, 19, 8
+4440: 4, 19, 9
+4441: 4, 19, 10
+4442: 4, 19, 11
+4443: 4, 19, 12
+4444: 4, 19, 13
+4445: 4, 19, 14
+4446: 4, 19, 15
+4447: 4, 19, 16
+4448: 4, 19, 17
+4449: 4, 19, 18
+4450: 4, 19, 19
+4451: 4, 19, 20
+4452: 4, 19, 21
+4453: 4, 19, 22
+4454: 4, 20, 0
+4455: 4, 20, 1
+4456: 4, 20, 2
+4457: 4, 20, 3
+4458: 4, 20, 4
+4459: 4, 20, 5
+4460: 4, 20, 6
+4461: 4, 20, 7
+4462: 4, 20, 8
+4463: 4, 20, 9
+4464: 4, 20, 10
+4465: 4, 20, 11
+4466: 4, 20, 12
+4467: 4, 20, 13
+4468: 4, 20, 14
+4469: 4, 20, 15
+4470: 4, 20, 16
+4471: 4, 20, 17
+4472: 4, 20, 18
+4473: 4, 20, 19
+4474: 4, 20, 20
+4475: 4, 20, 21
+4476: 4, 20, 22
+4477: 4, 20, 23
+4478: 4, 20, 24
+4479: 4, 20, 25
+4480: 4, 20, 26
+4481: 4, 20, 27
+4482: 4, 20, 28
+4483: 4, 20, 29
+4484: 4, 21, 0
+4485: 4, 21, 1
+4486: 4, 21, 2
+4487: 4, 21, 3
+4488: 4, 21, 4
+4489: 4, 21, 5
+4490: 4, 21, 6
+4491: 4, 21, 7
+4492: 4, 21, 8
+4493: 4, 21, 9
+4494: 4, 21, 10
+4495: 4, 21, 11
+4496: 4, 21, 12
+4497: 4, 21, 13
+4498: 4, 21, 14
+4499: 4, 21, 15
+4500: 4, 21, 16
+4501: 4, 21, 17
+4502: 4, 21, 18
+4503: 4, 21, 19
+4504: 4, 21, 20
+4505: 4, 21, 21
+4506: 4, 21, 22
+4507: 4, 21, 23
+4508: 4, 21, 24
+4509: 4, 21, 25
+4510: 4, 21, 26
+4511: 4, 21, 27
+4512: 4, 21, 28
+4513: 4, 21, 29
+4514: 4, 21, 30
+4515: 4, 21, 31
+4516: 4, 21, 32
+4517: 4, 21, 33
+4518: 4, 21, 34
+4519: 4, 21, 35
+4520: 4, 22, 0
+4521: 4, 22, 1
+4522: 4, 22, 2
+4523: 4, 22, 3
+4524: 4, 22, 4
+4525: 4, 22, 5
+4526: 4, 22, 6
+4527: 4, 22, 7
+4528: 4, 22, 8
+4529: 4, 22, 9
+4530: 4, 22, 10
+4531: 4, 22, 11
+4532: 4, 22, 12
+4533: 4, 22, 13
+4534: 4, 22, 14
+4535: 4, 22, 15
+4536: 4, 22, 16
+4537: 4, 22, 17
+4538: 4, 22, 18
+4539: 4, 22, 19
+4540: 4, 22, 20
+4541: 4, 22, 21
+4542: 4, 22, 22
+4543: 4, 22, 23
+4544: 4, 22, 24
+4545: 4, 22, 25
+4546: 4, 22, 26
+4547: 4, 22, 27
+4548: 4, 22, 28
+4549: 4, 22, 29
+4550: 4, 22, 30
+4551: 4, 22, 31
+4552: 4, 22, 32
+4553: 4, 22, 33
+4554: 4, 22, 34
+4555: 4, 22, 35
+4556: 4, 22, 36
+4557: 4, 22, 37
+4558: 4, 22, 38
+4559: 4, 22, 39
+4560: 4, 22, 40
+4561: 4, 22, 41
+4562: 4, 23, 0
+4563: 4, 23, 1
+4564: 4, 23, 2
+4565: 4, 23, 3
+4566: 4, 23, 4
+4567: 4, 23, 5
+4568: 4, 23, 6
+4569: 4, 23, 7
+4570: 4, 23, 8
+4571: 4, 23, 9
+4572: 4, 23, 10
+4573: 4, 23, 11
+4574: 4, 23, 12
+4575: 4, 23, 13
+4576: 4, 23, 14
+4577: 4, 23, 15
+4578: 4, 23, 16
+4579: 4, 23, 17
+4580: 4, 23, 18
+4581: 4, 23, 19
+4582: 4, 23, 20
+4583: 4, 23, 21
+4584: 4, 23, 22
+4585: 4, 23, 23
+4586: 4, 23, 24
+4587: 4, 23, 25
+4588: 4, 23, 26
+4589: 4, 23, 27
+4590: 4, 23, 28
+4591: 4, 23, 29
+4592: 4, 23, 30
+4593: 4, 24, 0
+4594: 4, 24, 1
+4595: 4, 24, 2
+4596: 4, 24, 3
+4597: 4, 24, 4
+4598: 4, 24, 5
+4599: 4, 24, 6
+4600: 4, 24, 7
+4601: 4, 24, 8
+4602: 4, 24, 9
+4603: 4, 24, 10
+4604: 4, 24, 11
+4605: 4, 24, 12
+4606: 4, 24, 13
+4607: 4, 24, 14
+4608: 4, 24, 15
+4609: 4, 24, 16
+4610: 4, 24, 17
+4611: 4, 24, 18
+4612: 4, 24, 19
+4613: 4, 24, 20
+4614: 4, 24, 21
+4615: 4, 24, 22
+4616: 4, 24, 23
+4617: 4, 24, 24
+4618: 4, 24, 25
+4619: 4, 25, 0
+4620: 4, 25, 1
+4621: 4, 25, 2
+4622: 4, 25, 3
+4623: 4, 25, 4
+4624: 4, 25, 5
+4625: 4, 25, 6
+4626: 4, 25, 7
+4627: 4, 25, 8
+4628: 4, 25, 9
+4629: 4, 25, 10
+4630: 4, 25, 11
+4631: 4, 25, 12
+4632: 4, 25, 13
+4633: 4, 25, 14
+4634: 4, 25, 15
+4635: 4, 25, 16
+4636: 4, 25, 17
+4637: 4, 25, 18
+4638: 4, 26, 0
+4639: 4, 26, 1
+4640: 4, 26, 2
+4641: 4, 26, 3
+4642: 4, 26, 4
+4643: 4, 26, 5
+4644: 4, 26, 6
+4645: 4, 26, 7
+4646: 4, 26, 8
+4647: 4, 26, 9
+4648: 4, 26, 10
+4649: 4, 26, 11
+4650: 4, 26, 12
+4651: 4, 26, 13
+4652: 4, 26, 14
+4653: 4, 26, 15
+4654: 4, 26, 16
+4655: 4, 26, 17
+4656: 4, 26, 18
+4657: 4, 26, 19
+4658: 4, 26, 20
+4659: 4, 26, 21
+4660: 4, 26, 22
+4661: 4, 26, 23
+4662: 4, 26, 24
+4663: 4, 26, 25
+4664: 4, 26, 26
+4665: 4, 26, 27
+4666: 4, 26, 28
+4667: 4, 26, 29
+4668: 4, 26, 30
+4669: 4, 26, 31
+4670: 4, 26, 32
+4671: 4, 26, 33
+4672: 4, 26, 34
+4673: 4, 26, 35
+4674: 4, 26, 36
+4675: 4, 26, 37
+4676: 4, 26, 38
+4677: 4, 26, 39
+4678: 4, 26, 40
+4679: 4, 26, 41
+4680: 4, 26, 42
+4681: 4, 26, 43
+4682: 4, 26, 44
+4683: 4, 26, 45
+4684: 4, 26, 46
+4685: 4, 26, 47
+4686: 4, 26, 48
+4687: 4, 26, 49
+4688: 4, 26, 50
+4689: 4, 26, 51
+4690: 4, 26, 52
+4691: 4, 26, 53
+4692: 4, 26, 54
+4693: 4, 26, 55
+4694: 4, 26, 56
+4695: 4, 26, 57
+4696: 4, 26, 58
+4697: 4, 26, 59
+4698: 4, 26, 60
+4699: 4, 26, 61
+4700: 4, 26, 62
+4701: 4, 26, 63
+4702: 4, 26, 64
+4703: 4, 26, 65
+4704: 4, 27, 0
+4705: 4, 27, 1
+4706: 4, 27, 2
+4707: 4, 27, 3
+4708: 4, 27, 4
+4709: 4, 27, 5
+4710: 4, 27, 6
+4711: 4, 27, 7
+4712: 4, 27, 8
+4713: 4, 27, 9
+4714: 4, 27, 10
+4715: 4, 27, 11
+4716: 4, 27, 12
+4717: 4, 27, 13
+4718: 4, 27, 14
+4719: 4, 27, 15
+4720: 4, 27, 16
+4721: 4, 27, 17
+4722: 4, 27, 18
+4723: 4, 27, 19
+4724: 4, 27, 20
+4725: 4, 27, 21
+4726: 4, 27, 22
+4727: 4, 27, 23
+4728: 4, 28, 0
+4729: 4, 28, 1
+4730: 4, 28, 2
+4731: 4, 28, 3
+4732: 4, 28, 4
+4733: 4, 28, 5
+4734: 4, 28, 6
+4735: 4, 28, 7
+4736: 4, 28, 8
+4737: 4, 28, 9
+4738: 4, 28, 10
+4739: 4, 28, 11
+4740: 4, 28, 12
+4741: 4, 28, 13
+4742: 4, 28, 14
+4743: 4, 28, 15
+4744: 4, 28, 16
+4745: 4, 28, 17
+4746: 4, 28, 18
+4747: 4, 28, 19
+4748: 4, 28, 20
+4749: 4, 28, 21
+4750: 4, 28, 22
+4751: 4, 28, 23
+4752: 4, 28, 24
+4753: 4, 28, 25
+4754: 4, 28, 26
+4755: 4, 28, 27
+4756: 4, 28, 28
+4757: 4, 28, 29
+4758: 4, 28, 30
+4759: 4, 28, 31
+4760: 4, 29, 0
+4761: 4, 29, 1
+4762: 4, 29, 2
+4763: 4, 29, 3
+4764: 4, 29, 4
+4765: 4, 29, 5
+4766: 4, 29, 6
+4767: 4, 29, 7
+4768: 4, 29, 8
+4769: 4, 29, 9
+4770: 4, 29, 10
+4771: 4, 29, 11
+4772: 4, 29, 12
+4773: 4, 29, 13
+4774: 4, 29, 14
+4775: 4, 29, 15
+4776: 4, 29, 16
+4777: 4, 29, 17
+4778: 4, 29, 18
+4779: 4, 29, 19
+4780: 4, 29, 20
+4781: 4, 29, 21
+4782: 4, 29, 22
+4783: 4, 29, 23
+4784: 4, 29, 24
+4785: 4, 29, 25
+4786: 4, 29, 26
+4787: 4, 29, 27
+4788: 4, 29, 28
+4789: 4, 29, 29
+4790: 4, 29, 30
+4791: 4, 29, 31
+4792: 4, 29, 32
+4793: 4, 29, 33
+4794: 4, 29, 34
+4795: 4, 29, 35
+4796: 4, 29, 36
+4797: 4, 29, 37
+4798: 4, 29, 38
+4799: 4, 29, 39
+4800: 4, 29, 40
+4801: 4, 30, 0
+4802: 4, 30, 1
+4803: 4, 30, 2
+4804: 4, 30, 3
+4805: 4, 30, 4
+4806: 4, 30, 5
+4807: 4, 30, 6
+4808: 4, 30, 7
+4809: 4, 30, 8
+4810: 4, 30, 9
+4811: 4, 30, 10
+4812: 4, 30, 11
+4813: 4, 30, 12
+4814: 4, 30, 13
+4815: 4, 30, 14
+4816: 4, 30, 15
+4817: 4, 30, 16
+4818: 4, 31, 0
+4819: 4, 31, 1
+4820: 4, 31, 2
+4821: 4, 31, 3
+4822: 4, 31, 4
+4823: 4, 31, 5
+4824: 4, 31, 6
+4825: 4, 31, 7
+4826: 4, 31, 8
+4827: 4, 31, 9
+4828: 4, 31, 10
+4829: 4, 31, 11
+4830: 4, 31, 12
+4831: 4, 31, 13
+4832: 4, 31, 14
+4833: 4, 31, 15
+4834: 4, 31, 16
+4835: 4, 31, 17
+4836: 4, 31, 18
+4837: 4, 31, 19
+4838: 4, 31, 20
+4839: 4, 31, 21
+4840: 4, 31, 22
+4841: 4, 31, 23
+4842: 4, 31, 24
+4843: 4, 31, 25
+4844: 4, 31, 26
+4845: 4, 31, 27
+4846: 4, 31, 28
+4847: 4, 31, 29
+4848: 4, 31, 30
+4849: 4, 31, 31
+4850: 4, 31, 32
+4851: 4, 31, 33
+4852: 4, 31, 34
+4853: 4, 31, 35
+4854: 4, 31, 36
+4855: 4, 31, 37
+4856: 4, 31, 38
+4857: 4, 31, 39
+4858: 4, 31, 40
+4859: 4, 31, 41
+4860: 4, 31, 42
+4861: 4, 31, 43
+4862: 4, 31, 44
+4863: 4, 31, 45
+4864: 4, 31, 46
+4865: 4, 31, 47
+4866: 4, 31, 48
+4867: 4, 31, 49
+4868: 4, 31, 50
+4869: 4, 31, 51
+4870: 4, 31, 52
+4871: 4, 31, 53
+4872: 4, 31, 54
+4873: 4, 32, 0
+4874: 4, 32, 1
+4875: 4, 32, 2
+4876: 4, 32, 3
+4877: 4, 32, 4
+4878: 4, 32, 5
+4879: 4, 32, 6
+4880: 4, 32, 7
+4881: 4, 32, 8
+4882: 4, 32, 9
+4883: 4, 32, 10
+4884: 4, 32, 11
+4885: 4, 32, 12
+4886: 4, 32, 13
+4887: 4, 32, 14
+4888: 4, 32, 15
+4889: 4, 32, 16
+4890: 4, 32, 17
+4891: 4, 32, 18
+4892: 4, 32, 19
+4893: 4, 32, 20
+4894: 4, 32, 21
+4895: 4, 32, 22
+4896: 4, 32, 23
+4897: 4, 32, 24
+4898: 4, 32, 25
+4899: 4, 32, 26
+4900: 4, 32, 27
+4901: 4, 32, 28
+4902: 4, 32, 29
+4903: 4, 32, 30
+4904: 4, 32, 31
+4905: 4, 32, 32
+4906: 4, 32, 33
+4907: 4, 32, 34
+4908: 4, 32, 35
+4909: 4, 32, 36
+4910: 4, 32, 37
+4911: 4, 32, 38
+4912: 4, 32, 39
+4913: 4, 32, 40
+4914: 4, 32, 41
+4915: 4, 32, 42
+4916: 4, 33, 0
+4917: 4, 33, 1
+4918: 4, 33, 2
+4919: 4, 33, 3
+4920: 4, 33, 4
+4921: 4, 33, 5
+4922: 4, 33, 6
+4923: 4, 33, 7
+4924: 4, 33, 8
+4925: 4, 33, 9
+4926: 4, 33, 10
+4927: 4, 33, 11
+4928: 4, 33, 12
+4929: 4, 33, 13
+4930: 4, 33, 14
+4931: 4, 33, 15
+4932: 4, 33, 16
+4933: 4, 33, 17
+4934: 4, 33, 18
+4935: 4, 33, 19
+4936: 4, 33, 20
+4937: 4, 33, 21
+4938: 4, 33, 22
+4939: 4, 33, 23
+4940: 4, 33, 24
+4941: 4, 33, 25
+4942: 4, 33, 26
+4943: 4, 33, 27
+4944: 4, 33, 28
+4945: 4, 33, 29
+4946: 4, 33, 30
+4947: 4, 33, 31
+4948: 4, 33, 32
+4949: 4, 33, 33
+4950: 4, 33, 34
+4951: 4, 33, 35
+4952: 4, 33, 36
+4953: 4, 33, 37
+4954: 4, 33, 38
+4955: 4, 33, 39
+4956: 4, 33, 40
+4957: 4, 33, 41
+4958: 4, 33, 42
+4959: 4, 33, 43
+4960: 4, 33, 44
+4961: 4, 33, 45
+4962: 4, 33, 46
+4963: 4, 33, 47
+4964: 4, 33, 48
+4965: 4, 33, 49
+4966: 4, 33, 50
+4967: 4, 33, 51
+4968: 4, 33, 52
+4969: 4, 33, 53
+4970: 4, 33, 54
+4971: 4, 33, 55
+4972: 4, 33, 56
+4973: 4, 34, 0
+4974: 4, 34, 1
+4975: 4, 34, 2
+4976: 4, 34, 3
+4977: 4, 34, 4
+4978: 4, 34, 5
+4979: 4, 34, 6
+4980: 4, 34, 7
+4981: 4, 34, 8
+4982: 4, 34, 9
+4983: 4, 34, 10
+4984: 4, 34, 11
+4985: 4, 34, 12
+4986: 4, 34, 13
+4987: 4, 34, 14
+4988: 4, 34, 15
+4989: 4, 34, 16
+4990: 4, 34, 17
+4991: 4, 34, 18
+4992: 4, 34, 19
+4993: 4, 34, 20
+4994: 4, 34, 21
+4995: 4, 34, 22
+4996: 4, 34, 23
+4997: 4, 34, 24
+4998: 4, 34, 25
+4999: 4, 34, 26
+5000: 4, 34, 27
+5001: 4, 34, 28
+5002: 4, 34, 29
+5003: 4, 35, 0
+5004: 4, 35, 1
+5005: 4, 35, 2
+5006: 4, 35, 3
+5007: 4, 35, 4
+5008: 4, 35, 5
+5009: 4, 35, 6
+5010: 4, 35, 7
+5011: 4, 35, 8
+5012: 4, 35, 9
+5013: 4, 35, 10
+5014: 4, 35, 11
+5015: 4, 35, 12
+5016: 4, 35, 13
+5017: 4, 35, 14
+5018: 4, 35, 15
+5019: 4, 35, 16
+5020: 4, 35, 17
+5021: 4, 35, 18
+5022: 4, 35, 19
+5023: 4, 35, 20
+5024: 4, 35, 21
+5025: 4, 35, 22
+5026: 4, 35, 23
+5027: 4, 35, 24
+5028: 4, 35, 25
+5029: 4, 35, 26
+5030: 4, 35, 27
+5031: 4, 35, 28
+5032: 4, 35, 29
+5033: 4, 35, 30
+5034: 4, 35, 31
+5035: 4, 35, 32
+5036: 4, 35, 33
+5037: 4, 35, 34
+5038: 4, 36, 0
+5039: 4, 36, 1
+5040: 4, 36, 2
+5041: 4, 36, 3
+5042: 4, 36, 4
+5043: 4, 36, 5
+5044: 4, 36, 6
+5045: 4, 36, 7
+5046: 4, 36, 8
+5047: 4, 36, 9
+5048: 4, 36, 10
+5049: 4, 36, 11
+5050: 4, 36, 12
+5051: 4, 36, 13
+5052: 5, 0, 0
+5053: 5, 1, 0
+5054: 5, 1, 1
+5055: 5, 1, 2
+5056: 5, 1, 3
+5057: 5, 1, 4
+5058: 5, 1, 5
+5059: 5, 1, 6
+5060: 5, 1, 7
+5061: 5, 1, 8
+5062: 5, 1, 9
+5063: 5, 1, 10
+5064: 5, 1, 11
+5065: 5, 1, 12
+5066: 5, 1, 13
+5067: 5, 1, 14
+5068: 5, 1, 15
+5069: 5, 1, 16
+5070: 5, 1, 17
+5071: 5, 1, 18
+5072: 5, 1, 19
+5073: 5, 1, 20
+5074: 5, 1, 21
+5075: 5, 1, 22
+5076: 5, 1, 23
+5077: 5, 1, 24
+5078: 5, 1, 25
+5079: 5, 1, 26
+5080: 5, 1, 27
+5081: 5, 1, 28
+5082: 5, 1, 29
+5083: 5, 1, 30
+5084: 5, 1, 31
+5085: 5, 1, 32
+5086: 5, 1, 33
+5087: 5, 1, 34
+5088: 5, 1, 35
+5089: 5, 1, 36
+5090: 5, 1, 37
+5091: 5, 1, 38
+5092: 5, 1, 39
+5093: 5, 1, 40
+5094: 5, 1, 41
+5095: 5, 1, 42
+5096: 5, 1, 43
+5097: 5, 1, 44
+5098: 5, 1, 45
+5099: 5, 1, 46
+5100: 5, 2, 0
+5101: 5, 2, 1
+5102: 5, 2, 2
+5103: 5, 2, 3
+5104: 5, 2, 4
+5105: 5, 2, 5
+5106: 5, 2, 6
+5107: 5, 2, 7
+5108: 5, 2, 8
+5109: 5, 2, 9
+5110: 5, 2, 10
+5111: 5, 2, 11
+5112: 5, 2, 12
+5113: 5, 2, 13
+5114: 5, 2, 14
+5115: 5, 2, 15
+5116: 5, 2, 16
+5117: 5, 2, 17
+5118: 5, 2, 18
+5119: 5, 2, 19
+5120: 5, 2, 20
+5121: 5, 2, 21
+5122: 5, 2, 22
+5123: 5, 2, 23
+5124: 5, 2, 24
+5125: 5, 2, 25
+5126: 5, 2, 26
+5127: 5, 2, 27
+5128: 5, 2, 28
+5129: 5, 2, 29
+5130: 5, 2, 30
+5131: 5, 2, 31
+5132: 5, 2, 32
+5133: 5, 2, 33
+5134: 5, 2, 34
+5135: 5, 2, 35
+5136: 5, 2, 36
+5137: 5, 2, 37
+5138: 5, 3, 0
+5139: 5, 3, 1
+5140: 5, 3, 2
+5141: 5, 3, 3
+5142: 5, 3, 4
+5143: 5, 3, 5
+5144: 5, 3, 6
+5145: 5, 3, 7
+5146: 5, 3, 8
+5147: 5, 3, 9
+5148: 5, 3, 10
+5149: 5, 3, 11
+5150: 5, 3, 12
+5151: 5, 3, 13
+5152: 5, 3, 14
+5153: 5, 3, 15
+5154: 5, 3, 16
+5155: 5, 3, 17
+5156: 5, 3, 18
+5157: 5, 3, 19
+5158: 5, 3, 20
+5159: 5, 3, 21
+5160: 5, 3, 22
+5161: 5, 3, 23
+5162: 5, 3, 24
+5163: 5, 3, 25
+5164: 5, 3, 26
+5165: 5, 3, 27
+5166: 5, 3, 28
+5167: 5, 3, 29
+5168: 5, 4, 0
+5169: 5, 4, 1
+5170: 5, 4, 2
+5171: 5, 4, 3
+5172: 5, 4, 4
+5173: 5, 4, 5
+5174: 5, 4, 6
+5175: 5, 4, 7
+5176: 5, 4, 8
+5177: 5, 4, 9
+5178: 5, 4, 10
+5179: 5, 4, 11
+5180: 5, 4, 12
+5181: 5, 4, 13
+5182: 5, 4, 14
+5183: 5, 4, 15
+5184: 5, 4, 16
+5185: 5, 4, 17
+5186: 5, 4, 18
+5187: 5, 4, 19
+5188: 5, 4, 20
+5189: 5, 4, 21
+5190: 5, 4, 22
+5191: 5, 4, 23
+5192: 5, 4, 24
+5193: 5, 4, 25
+5194: 5, 4, 26
+5195: 5, 4, 27
+5196: 5, 4, 28
+5197: 5, 4, 29
+5198: 5, 4, 30
+5199: 5, 4, 31
+5200: 5, 4, 32
+5201: 5, 4, 33
+5202: 5, 4, 34
+5203: 5, 4, 35
+5204: 5, 4, 36
+5205: 5, 4, 37
+5206: 5, 4, 38
+5207: 5, 4, 39
+5208: 5, 4, 40
+5209: 5, 4, 41
+5210: 5, 4, 42
+5211: 5, 4, 43
+5212: 5, 4, 44
+5213: 5, 4, 45
+5214: 5, 4, 46
+5215: 5, 4, 47
+5216: 5, 4, 48
+5217: 5, 4, 49
+5218: 5, 5, 0
+5219: 5, 5, 1
+5220: 5, 5, 2
+5221: 5, 5, 3
+5222: 5, 5, 4
+5223: 5, 5, 5
+5224: 5, 5, 6
+5225: 5, 5, 7
+5226: 5, 5, 8
+5227: 5, 5, 9
+5228: 5, 5, 10
+5229: 5, 5, 11
+5230: 5, 5, 12
+5231: 5, 5, 13
+5232: 5, 5, 14
+5233: 5, 5, 15
+5234: 5, 5, 16
+5235: 5, 5, 17
+5236: 5, 5, 18
+5237: 5, 5, 19
+5238: 5, 5, 20
+5239: 5, 5, 21
+5240: 5, 5, 22
+5241: 5, 5, 23
+5242: 5, 5, 24
+5243: 5, 5, 25
+5244: 5, 5, 26
+5245: 5, 5, 27
+5246: 5, 5, 28
+5247: 5, 5, 29
+5248: 5, 5, 30
+5249: 5, 5, 31
+5250: 5, 5, 32
+5251: 5, 5, 33
+5252: 5, 6, 0
+5253: 5, 6, 1
+5254: 5, 6, 2
+5255: 5, 6, 3
+5256: 5, 6, 4
+5257: 5, 6, 5
+5258: 5, 6, 6
+5259: 5, 6, 7
+5260: 5, 6, 8
+5261: 5, 6, 9
+5262: 5, 6, 10
+5263: 5, 6, 11
+5264: 5, 6, 12
+5265: 5, 6, 13
+5266: 5, 6, 14
+5267: 5, 6, 15
+5268: 5, 6, 16
+5269: 5, 6, 17
+5270: 5, 6, 18
+5271: 5, 6, 19
+5272: 5, 6, 20
+5273: 5, 6, 21
+5274: 5, 6, 22
+5275: 5, 6, 23
+5276: 5, 6, 24
+5277: 5, 6, 25
+5278: 5, 7, 0
+5279: 5, 7, 1
+5280: 5, 7, 2
+5281: 5, 7, 3
+5282: 5, 7, 4
+5283: 5, 7, 5
+5284: 5, 7, 6
+5285: 5, 7, 7
+5286: 5, 7, 8
+5287: 5, 7, 9
+5288: 5, 7, 10
+5289: 5, 7, 11
+5290: 5, 7, 12
+5291: 5, 7, 13
+5292: 5, 7, 14
+5293: 5, 7, 15
+5294: 5, 7, 16
+5295: 5, 7, 17
+5296: 5, 7, 18
+5297: 5, 7, 19
+5298: 5, 7, 20
+5299: 5, 7, 21
+5300: 5, 7, 22
+5301: 5, 7, 23
+5302: 5, 7, 24
+5303: 5, 7, 25
+5304: 5, 7, 26
+5305: 5, 8, 0
+5306: 5, 8, 1
+5307: 5, 8, 2
+5308: 5, 8, 3
+5309: 5, 8, 4
+5310: 5, 8, 5
+5311: 5, 8, 6
+5312: 5, 8, 7
+5313: 5, 8, 8
+5314: 5, 8, 9
+5315: 5, 8, 10
+5316: 5, 8, 11
+5317: 5, 8, 12
+5318: 5, 8, 13
+5319: 5, 8, 14
+5320: 5, 8, 15
+5321: 5, 8, 16
+5322: 5, 8, 17
+5323: 5, 8, 18
+5324: 5, 8, 19
+5325: 5, 8, 20
+5326: 5, 9, 0
+5327: 5, 9, 1
+5328: 5, 9, 2
+5329: 5, 9, 3
+5330: 5, 9, 4
+5331: 5, 9, 5
+5332: 5, 9, 6
+5333: 5, 9, 7
+5334: 5, 9, 8
+5335: 5, 9, 9
+5336: 5, 9, 10
+5337: 5, 9, 11
+5338: 5, 9, 12
+5339: 5, 9, 13
+5340: 5, 9, 14
+5341: 5, 9, 15
+5342: 5, 9, 16
+5343: 5, 9, 17
+5344: 5, 9, 18
+5345: 5, 9, 19
+5346: 5, 9, 20
+5347: 5, 9, 21
+5348: 5, 9, 22
+5349: 5, 9, 23
+5350: 5, 9, 24
+5351: 5, 9, 25
+5352: 5, 9, 26
+5353: 5, 9, 27
+5354: 5, 9, 28
+5355: 5, 9, 29
+5356: 5, 10, 0
+5357: 5, 10, 1
+5358: 5, 10, 2
+5359: 5, 10, 3
+5360: 5, 10, 4
+5361: 5, 10, 5
+5362: 5, 10, 6
+5363: 5, 10, 7
+5364: 5, 10, 8
+5365: 5, 10, 9
+5366: 5, 10, 10
+5367: 5, 10, 11
+5368: 5, 10, 12
+5369: 5, 10, 13
+5370: 5, 10, 14
+5371: 5, 10, 15
+5372: 5, 10, 16
+5373: 5, 10, 17
+5374: 5, 10, 18
+5375: 5, 10, 19
+5376: 5, 10, 20
+5377: 5, 10, 21
+5378: 5, 10, 22
+5379: 5, 11, 0
+5380: 5, 11, 1
+5381: 5, 11, 2
+5382: 5, 11, 3
+5383: 5, 11, 4
+5384: 5, 11, 5
+5385: 5, 11, 6
+5386: 5, 11, 7
+5387: 5, 11, 8
+5388: 5, 11, 9
+5389: 5, 11, 10
+5390: 5, 11, 11
+5391: 5, 11, 12
+5392: 5, 11, 13
+5393: 5, 11, 14
+5394: 5, 11, 15
+5395: 5, 11, 16
+5396: 5, 11, 17
+5397: 5, 11, 18
+5398: 5, 11, 19
+5399: 5, 11, 20
+5400: 5, 11, 21
+5401: 5, 11, 22
+5402: 5, 11, 23
+5403: 5, 11, 24
+5404: 5, 11, 25
+5405: 5, 11, 26
+5406: 5, 11, 27
+5407: 5, 11, 28
+5408: 5, 11, 29
+5409: 5, 11, 30
+5410: 5, 11, 31
+5411: 5, 11, 32
+5412: 5, 12, 0
+5413: 5, 12, 1
+5414: 5, 12, 2
+5415: 5, 12, 3
+5416: 5, 12, 4
+5417: 5, 12, 5
+5418: 5, 12, 6
+5419: 5, 12, 7
+5420: 5, 12, 8
+5421: 5, 12, 9
+5422: 5, 12, 10
+5423: 5, 12, 11
+5424: 5, 12, 12
+5425: 5, 12, 13
+5426: 5, 12, 14
+5427: 5, 12, 15
+5428: 5, 12, 16
+5429: 5, 12, 17
+5430: 5, 12, 18
+5431: 5, 12, 19
+5432: 5, 12, 20
+5433: 5, 12, 21
+5434: 5, 12, 22
+5435: 5, 12, 23
+5436: 5, 12, 24
+5437: 5, 12, 25
+5438: 5, 12, 26
+5439: 5, 12, 27
+5440: 5, 12, 28
+5441: 5, 12, 29
+5442: 5, 12, 30
+5443: 5, 12, 31
+5444: 5, 12, 32
+5445: 5, 13, 0
+5446: 5, 13, 1
+5447: 5, 13, 2
+5448: 5, 13, 3
+5449: 5, 13, 4
+5450: 5, 13, 5
+5451: 5, 13, 6
+5452: 5, 13, 7
+5453: 5, 13, 8
+5454: 5, 13, 9
+5455: 5, 13, 10
+5456: 5, 13, 11
+5457: 5, 13, 12
+5458: 5, 13, 13
+5459: 5, 13, 14
+5460: 5, 13, 15
+5461: 5, 13, 16
+5462: 5, 13, 17
+5463: 5, 13, 18
+5464: 5, 14, 0
+5465: 5, 14, 1
+5466: 5, 14, 2
+5467: 5, 14, 3
+5468: 5, 14, 4
+5469: 5, 14, 5
+5470: 5, 14, 6
+5471: 5, 14, 7
+5472: 5, 14, 8
+5473: 5, 14, 9
+5474: 5, 14, 10
+5475: 5, 14, 11
+5476: 5, 14, 12
+5477: 5, 14, 13
+5478: 5, 14, 14
+5479: 5, 14, 15
+5480: 5, 14, 16
+5481: 5, 14, 17
+5482: 5, 14, 18
+5483: 5, 14, 19
+5484: 5, 14, 20
+5485: 5, 14, 21
+5486: 5, 14, 22
+5487: 5, 14, 23
+5488: 5, 14, 24
+5489: 5, 14, 25
+5490: 5, 14, 26
+5491: 5, 14, 27
+5492: 5, 14, 28
+5493: 5, 14, 29
+5494: 5, 15, 0
+5495: 5, 15, 1
+5496: 5, 15, 2
+5497: 5, 15, 3
+5498: 5, 15, 4
+5499: 5, 15, 5
+5500: 5, 15, 6
+5501: 5, 15, 7
+5502: 5, 15, 8
+5503: 5, 15, 9
+5504: 5, 15, 10
+5505: 5, 15, 11
+5506: 5, 15, 12
+5507: 5, 15, 13
+5508: 5, 15, 14
+5509: 5, 15, 15
+5510: 5, 15, 16
+5511: 5, 15, 17
+5512: 5, 15, 18
+5513: 5, 15, 19
+5514: 5, 15, 20
+5515: 5, 15, 21
+5516: 5, 15, 22
+5517: 5, 15, 23
+5518: 5, 16, 0
+5519: 5, 16, 1
+5520: 5, 16, 2
+5521: 5, 16, 3
+5522: 5, 16, 4
+5523: 5, 16, 5
+5524: 5, 16, 6
+5525: 5, 16, 7
+5526: 5, 16, 8
+5527: 5, 16, 9
+5528: 5, 16, 10
+5529: 5, 16, 11
+5530: 5, 16, 12
+5531: 5, 16, 13
+5532: 5, 16, 14
+5533: 5, 16, 15
+5534: 5, 16, 16
+5535: 5, 16, 17
+5536: 5, 16, 18
+5537: 5, 16, 19
+5538: 5, 16, 20
+5539: 5, 16, 21
+5540: 5, 16, 22
+5541: 5, 17, 0
+5542: 5, 17, 1
+5543: 5, 17, 2
+5544: 5, 17, 3
+5545: 5, 17, 4
+5546: 5, 17, 5
+5547: 5, 17, 6
+5548: 5, 17, 7
+5549: 5, 17, 8
+5550: 5, 17, 9
+5551: 5, 17, 10
+5552: 5, 17, 11
+5553: 5, 17, 12
+5554: 5, 17, 13
+5555: 5, 17, 14
+5556: 5, 17, 15
+5557: 5, 17, 16
+5558: 5, 17, 17
+5559: 5, 17, 18
+5560: 5, 17, 19
+5561: 5, 17, 20
+5562: 5, 18, 0
+5563: 5, 18, 1
+5564: 5, 18, 2
+5565: 5, 18, 3
+5566: 5, 18, 4
+5567: 5, 18, 5
+5568: 5, 18, 6
+5569: 5, 18, 7
+5570: 5, 18, 8
+5571: 5, 18, 9
+5572: 5, 18, 10
+5573: 5, 18, 11
+5574: 5, 18, 12
+5575: 5, 18, 13
+5576: 5, 18, 14
+5577: 5, 18, 15
+5578: 5, 18, 16
+5579: 5, 18, 17
+5580: 5, 18, 18
+5581: 5, 18, 19
+5582: 5, 18, 20
+5583: 5, 18, 21
+5584: 5, 18, 22
+5585: 5, 19, 0
+5586: 5, 19, 1
+5587: 5, 19, 2
+5588: 5, 19, 3
+5589: 5, 19, 4
+5590: 5, 19, 5
+5591: 5, 19, 6
+5592: 5, 19, 7
+5593: 5, 19, 8
+5594: 5, 19, 9
+5595: 5, 19, 10
+5596: 5, 19, 11
+5597: 5, 19, 12
+5598: 5, 19, 13
+5599: 5, 19, 14
+5600: 5, 19, 15
+5601: 5, 19, 16
+5602: 5, 19, 17
+5603: 5, 19, 18
+5604: 5, 19, 19
+5605: 5, 19, 20
+5606: 5, 19, 21
+5607: 5, 20, 0
+5608: 5, 20, 1
+5609: 5, 20, 2
+5610: 5, 20, 3
+5611: 5, 20, 4
+5612: 5, 20, 5
+5613: 5, 20, 6
+5614: 5, 20, 7
+5615: 5, 20, 8
+5616: 5, 20, 9
+5617: 5, 20, 10
+5618: 5, 20, 11
+5619: 5, 20, 12
+5620: 5, 20, 13
+5621: 5, 20, 14
+5622: 5, 20, 15
+5623: 5, 20, 16
+5624: 5, 20, 17
+5625: 5, 20, 18
+5626: 5, 20, 19
+5627: 5, 20, 20
+5628: 5, 21, 0
+5629: 5, 21, 1
+5630: 5, 21, 2
+5631: 5, 21, 3
+5632: 5, 21, 4
+5633: 5, 21, 5
+5634: 5, 21, 6
+5635: 5, 21, 7
+5636: 5, 21, 8
+5637: 5, 21, 9
+5638: 5, 21, 10
+5639: 5, 21, 11
+5640: 5, 21, 12
+5641: 5, 21, 13
+5642: 5, 21, 14
+5643: 5, 21, 15
+5644: 5, 21, 16
+5645: 5, 21, 17
+5646: 5, 21, 18
+5647: 5, 21, 19
+5648: 5, 21, 20
+5649: 5, 21, 21
+5650: 5, 21, 22
+5651: 5, 21, 23
+5652: 5, 22, 0
+5653: 5, 22, 1
+5654: 5, 22, 2
+5655: 5, 22, 3
+5656: 5, 22, 4
+5657: 5, 22, 5
+5658: 5, 22, 6
+5659: 5, 22, 7
+5660: 5, 22, 8
+5661: 5, 22, 9
+5662: 5, 22, 10
+5663: 5, 22, 11
+5664: 5, 22, 12
+5665: 5, 22, 13
+5666: 5, 22, 14
+5667: 5, 22, 15
+5668: 5, 22, 16
+5669: 5, 22, 17
+5670: 5, 22, 18
+5671: 5, 22, 19
+5672: 5, 22, 20
+5673: 5, 22, 21
+5674: 5, 22, 22
+5675: 5, 22, 23
+5676: 5, 22, 24
+5677: 5, 22, 25
+5678: 5, 22, 26
+5679: 5, 22, 27
+5680: 5, 22, 28
+5681: 5, 22, 29
+5682: 5, 22, 30
+5683: 5, 23, 0
+5684: 5, 23, 1
+5685: 5, 23, 2
+5686: 5, 23, 3
+5687: 5, 23, 4
+5688: 5, 23, 5
+5689: 5, 23, 6
+5690: 5, 23, 7
+5691: 5, 23, 8
+5692: 5, 23, 9
+5693: 5, 23, 10
+5694: 5, 23, 11
+5695: 5, 23, 12
+5696: 5, 23, 13
+5697: 5, 23, 14
+5698: 5, 23, 15
+5699: 5, 23, 16
+5700: 5, 23, 17
+5701: 5, 23, 18
+5702: 5, 23, 19
+5703: 5, 23, 20
+5704: 5, 23, 21
+5705: 5, 23, 22
+5706: 5, 23, 23
+5707: 5, 23, 24
+5708: 5, 23, 25
+5709: 5, 24, 0
+5710: 5, 24, 1
+5711: 5, 24, 2
+5712: 5, 24, 3
+5713: 5, 24, 4
+5714: 5, 24, 5
+5715: 5, 24, 6
+5716: 5, 24, 7
+5717: 5, 24, 8
+5718: 5, 24, 9
+5719: 5, 24, 10
+5720: 5, 24, 11
+5721: 5, 24, 12
+5722: 5, 24, 13
+5723: 5, 24, 14
+5724: 5, 24, 15
+5725: 5, 24, 16
+5726: 5, 24, 17
+5727: 5, 24, 18
+5728: 5, 24, 19
+5729: 5, 24, 20
+5730: 5, 24, 21
+5731: 5, 24, 22
+5732: 5, 25, 0
+5733: 5, 25, 1
+5734: 5, 25, 2
+5735: 5, 25, 3
+5736: 5, 25, 4
+5737: 5, 25, 5
+5738: 5, 25, 6
+5739: 5, 25, 7
+5740: 5, 25, 8
+5741: 5, 25, 9
+5742: 5, 25, 10
+5743: 5, 25, 11
+5744: 5, 25, 12
+5745: 5, 25, 13
+5746: 5, 25, 14
+5747: 5, 25, 15
+5748: 5, 25, 16
+5749: 5, 25, 17
+5750: 5, 25, 18
+5751: 5, 25, 19
+5752: 5, 26, 0
+5753: 5, 26, 1
+5754: 5, 26, 2
+5755: 5, 26, 3
+5756: 5, 26, 4
+5757: 5, 26, 5
+5758: 5, 26, 6
+5759: 5, 26, 7
+5760: 5, 26, 8
+5761: 5, 26, 9
+5762: 5, 26, 10
+5763: 5, 26, 11
+5764: 5, 26, 12
+5765: 5, 26, 13
+5766: 5, 26, 14
+5767: 5, 26, 15
+5768: 5, 26, 16
+5769: 5, 26, 17
+5770: 5, 26, 18
+5771: 5, 26, 19
+5772: 5, 27, 0
+5773: 5, 27, 1
+5774: 5, 27, 2
+5775: 5, 27, 3
+5776: 5, 27, 4
+5777: 5, 27, 5
+5778: 5, 27, 6
+5779: 5, 27, 7
+5780: 5, 27, 8
+5781: 5, 27, 9
+5782: 5, 27, 10
+5783: 5, 27, 11
+5784: 5, 27, 12
+5785: 5, 27, 13
+5786: 5, 27, 14
+5787: 5, 27, 15
+5788: 5, 27, 16
+5789: 5, 27, 17
+5790: 5, 27, 18
+5791: 5, 27, 19
+5792: 5, 27, 20
+5793: 5, 27, 21
+5794: 5, 27, 22
+5795: 5, 27, 23
+5796: 5, 27, 24
+5797: 5, 27, 25
+5798: 5, 27, 26
+5799: 5, 28, 0
+5800: 5, 28, 1
+5801: 5, 28, 2
+5802: 5, 28, 3
+5803: 5, 28, 4
+5804: 5, 28, 5
+5805: 5, 28, 6
+5806: 5, 28, 7
+5807: 5, 28, 8
+5808: 5, 28, 9
+5809: 5, 28, 10
+5810: 5, 28, 11
+5811: 5, 28, 12
+5812: 5, 28, 13
+5813: 5, 28, 14
+5814: 5, 28, 15
+5815: 5, 28, 16
+5816: 5, 28, 17
+5817: 5, 28, 18
+5818: 5, 28, 19
+5819: 5, 28, 20
+5820: 5, 28, 21
+5821: 5, 28, 22
+5822: 5, 28, 23
+5823: 5, 28, 24
+5824: 5, 28, 25
+5825: 5, 28, 26
+5826: 5, 28, 27
+5827: 5, 28, 28
+5828: 5, 28, 29
+5829: 5, 28, 30
+5830: 5, 28, 31
+5831: 5, 28, 32
+5832: 5, 28, 33
+5833: 5, 28, 34
+5834: 5, 28, 35
+5835: 5, 28, 36
+5836: 5, 28, 37
+5837: 5, 28, 38
+5838: 5, 28, 39
+5839: 5, 28, 40
+5840: 5, 28, 41
+5841: 5, 28, 42
+5842: 5, 28, 43
+5843: 5, 28, 44
+5844: 5, 28, 45
+5845: 5, 28, 46
+5846: 5, 28, 47
+5847: 5, 28, 48
+5848: 5, 28, 49
+5849: 5, 28, 50
+5850: 5, 28, 51
+5851: 5, 28, 52
+5852: 5, 28, 53
+5853: 5, 28, 54
+5854: 5, 28, 55
+5855: 5, 28, 56
+5856: 5, 28, 57
+5857: 5, 28, 58
+5858: 5, 28, 59
+5859: 5, 28, 60
+5860: 5, 28, 61
+5861: 5, 28, 62
+5862: 5, 28, 63
+5863: 5, 28, 64
+5864: 5, 28, 65
+5865: 5, 28, 66
+5866: 5, 28, 67
+5867: 5, 28, 68
+5868: 5, 29, 0
+5869: 5, 29, 1
+5870: 5, 29, 2
+5871: 5, 29, 3
+5872: 5, 29, 4
+5873: 5, 29, 5
+5874: 5, 29, 6
+5875: 5, 29, 7
+5876: 5, 29, 8
+5877: 5, 29, 9
+5878: 5, 29, 10
+5879: 5, 29, 11
+5880: 5, 29, 12
+5881: 5, 29, 13
+5882: 5, 29, 14
+5883: 5, 29, 15
+5884: 5, 29, 16
+5885: 5, 29, 17
+5886: 5, 29, 18
+5887: 5, 29, 19
+5888: 5, 29, 20
+5889: 5, 29, 21
+5890: 5, 29, 22
+5891: 5, 29, 23
+5892: 5, 29, 24
+5893: 5, 29, 25
+5894: 5, 29, 26
+5895: 5, 29, 27
+5896: 5, 29, 28
+5897: 5, 29, 29
+5898: 5, 30, 0
+5899: 5, 30, 1
+5900: 5, 30, 2
+5901: 5, 30, 3
+5902: 5, 30, 4
+5903: 5, 30, 5
+5904: 5, 30, 6
+5905: 5, 30, 7
+5906: 5, 30, 8
+5907: 5, 30, 9
+5908: 5, 30, 10
+5909: 5, 30, 11
+5910: 5, 30, 12
+5911: 5, 30, 13
+5912: 5, 30, 14
+5913: 5, 30, 15
+5914: 5, 30, 16
+5915: 5, 30, 17
+5916: 5, 30, 18
+5917: 5, 30, 19
+5918: 5, 30, 20
+5919: 5, 31, 0
+5920: 5, 31, 1
+5921: 5, 31, 2
+5922: 5, 31, 3
+5923: 5, 31, 4
+5924: 5, 31, 5
+5925: 5, 31, 6
+5926: 5, 31, 7
+5927: 5, 31, 8
+5928: 5, 31, 9
+5929: 5, 31, 10
+5930: 5, 31, 11
+5931: 5, 31, 12
+5932: 5, 31, 13
+5933: 5, 31, 14
+5934: 5, 31, 15
+5935: 5, 31, 16
+5936: 5, 31, 17
+5937: 5, 31, 18
+5938: 5, 31, 19
+5939: 5, 31, 20
+5940: 5, 31, 21
+5941: 5, 31, 22
+5942: 5, 31, 23
+5943: 5, 31, 24
+5944: 5, 31, 25
+5945: 5, 31, 26
+5946: 5, 31, 27
+5947: 5, 31, 28
+5948: 5, 31, 29
+5949: 5, 31, 30
+5950: 5, 32, 0
+5951: 5, 32, 1
+5952: 5, 32, 2
+5953: 5, 32, 3
+5954: 5, 32, 4
+5955: 5, 32, 5
+5956: 5, 32, 6
+5957: 5, 32, 7
+5958: 5, 32, 8
+5959: 5, 32, 9
+5960: 5, 32, 10
+5961: 5, 32, 11
+5962: 5, 32, 12
+5963: 5, 32, 13
+5964: 5, 32, 14
+5965: 5, 32, 15
+5966: 5, 32, 16
+5967: 5, 32, 17
+5968: 5, 32, 18
+5969: 5, 32, 19
+5970: 5, 32, 20
+5971: 5, 32, 21
+5972: 5, 32, 22
+5973: 5, 32, 23
+5974: 5, 32, 24
+5975: 5, 32, 25
+5976: 5, 32, 26
+5977: 5, 32, 27
+5978: 5, 32, 28
+5979: 5, 32, 29
+5980: 5, 32, 30
+5981: 5, 32, 31
+5982: 5, 32, 32
+5983: 5, 32, 33
+5984: 5, 32, 34
+5985: 5, 32, 35
+5986: 5, 32, 36
+5987: 5, 32, 37
+5988: 5, 32, 38
+5989: 5, 32, 39
+5990: 5, 32, 40
+5991: 5, 32, 41
+5992: 5, 32, 42
+5993: 5, 32, 43
+5994: 5, 32, 44
+5995: 5, 32, 45
+5996: 5, 32, 46
+5997: 5, 32, 47
+5998: 5, 32, 48
+5999: 5, 32, 49
+6000: 5, 32, 50
+6001: 5, 32, 51
+6002: 5, 32, 52
+6003: 5, 33, 0
+6004: 5, 33, 1
+6005: 5, 33, 2
+6006: 5, 33, 3
+6007: 5, 33, 4
+6008: 5, 33, 5
+6009: 5, 33, 6
+6010: 5, 33, 7
+6011: 5, 33, 8
+6012: 5, 33, 9
+6013: 5, 33, 10
+6014: 5, 33, 11
+6015: 5, 33, 12
+6016: 5, 33, 13
+6017: 5, 33, 14
+6018: 5, 33, 15
+6019: 5, 33, 16
+6020: 5, 33, 17
+6021: 5, 33, 18
+6022: 5, 33, 19
+6023: 5, 33, 20
+6024: 5, 33, 21
+6025: 5, 33, 22
+6026: 5, 33, 23
+6027: 5, 33, 24
+6028: 5, 33, 25
+6029: 5, 33, 26
+6030: 5, 33, 27
+6031: 5, 33, 28
+6032: 5, 33, 29
+6033: 5, 34, 0
+6034: 5, 34, 1
+6035: 5, 34, 2
+6036: 5, 34, 3
+6037: 5, 34, 4
+6038: 5, 34, 5
+6039: 5, 34, 6
+6040: 5, 34, 7
+6041: 5, 34, 8
+6042: 5, 34, 9
+6043: 5, 34, 10
+6044: 5, 34, 11
+6045: 5, 34, 12
+6046: 6, 0, 0
+6047: 6, 1, 0
+6048: 6, 1, 1
+6049: 6, 1, 2
+6050: 6, 1, 3
+6051: 6, 1, 4
+6052: 6, 1, 5
+6053: 6, 1, 6
+6054: 6, 1, 7
+6055: 6, 1, 8
+6056: 6, 1, 9
+6057: 6, 1, 10
+6058: 6, 1, 11
+6059: 6, 1, 12
+6060: 6, 1, 13
+6061: 6, 1, 14
+6062: 6, 1, 15
+6063: 6, 1, 16
+6064: 6, 1, 17
+6065: 6, 1, 18
+6066: 6, 2, 0
+6067: 6, 2, 1
+6068: 6, 2, 2
+6069: 6, 2, 3
+6070: 6, 2, 4
+6071: 6, 2, 5
+6072: 6, 2, 6
+6073: 6, 2, 7
+6074: 6, 2, 8
+6075: 6, 2, 9
+6076: 6, 2, 10
+6077: 6, 2, 11
+6078: 6, 2, 12
+6079: 6, 2, 13
+6080: 6, 2, 14
+6081: 6, 2, 15
+6082: 6, 2, 16
+6083: 6, 2, 17
+6084: 6, 2, 18
+6085: 6, 2, 19
+6086: 6, 2, 20
+6087: 6, 2, 21
+6088: 6, 2, 22
+6089: 6, 2, 23
+6090: 6, 2, 24
+6091: 6, 3, 0
+6092: 6, 3, 1
+6093: 6, 3, 2
+6094: 6, 3, 3
+6095: 6, 3, 4
+6096: 6, 3, 5
+6097: 6, 3, 6
+6098: 6, 3, 7
+6099: 6, 3, 8
+6100: 6, 3, 9
+6101: 6, 3, 10
+6102: 6, 3, 11
+6103: 6, 3, 12
+6104: 6, 3, 13
+6105: 6, 3, 14
+6106: 6, 3, 15
+6107: 6, 3, 16
+6108: 6, 3, 17
+6109: 6, 4, 0
+6110: 6, 4, 1
+6111: 6, 4, 2
+6112: 6, 4, 3
+6113: 6, 4, 4
+6114: 6, 4, 5
+6115: 6, 4, 6
+6116: 6, 4, 7
+6117: 6, 4, 8
+6118: 6, 4, 9
+6119: 6, 4, 10
+6120: 6, 4, 11
+6121: 6, 4, 12
+6122: 6, 4, 13
+6123: 6, 4, 14
+6124: 6, 4, 15
+6125: 6, 4, 16
+6126: 6, 4, 17
+6127: 6, 4, 18
+6128: 6, 4, 19
+6129: 6, 4, 20
+6130: 6, 4, 21
+6131: 6, 4, 22
+6132: 6, 4, 23
+6133: 6, 4, 24
+6134: 6, 5, 0
+6135: 6, 5, 1
+6136: 6, 5, 2
+6137: 6, 5, 3
+6138: 6, 5, 4
+6139: 6, 5, 5
+6140: 6, 5, 6
+6141: 6, 5, 7
+6142: 6, 5, 8
+6143: 6, 5, 9
+6144: 6, 5, 10
+6145: 6, 5, 11
+6146: 6, 5, 12
+6147: 6, 5, 13
+6148: 6, 5, 14
+6149: 6, 5, 15
+6150: 6, 6, 0
+6151: 6, 6, 1
+6152: 6, 6, 2
+6153: 6, 6, 3
+6154: 6, 6, 4
+6155: 6, 6, 5
+6156: 6, 6, 6
+6157: 6, 6, 7
+6158: 6, 6, 8
+6159: 6, 6, 9
+6160: 6, 6, 10
+6161: 6, 6, 11
+6162: 6, 6, 12
+6163: 6, 6, 13
+6164: 6, 6, 14
+6165: 6, 6, 15
+6166: 6, 6, 16
+6167: 6, 6, 17
+6168: 6, 6, 18
+6169: 6, 6, 19
+6170: 6, 6, 20
+6171: 6, 6, 21
+6172: 6, 6, 22
+6173: 6, 6, 23
+6174: 6, 6, 24
+6175: 6, 6, 25
+6176: 6, 6, 26
+6177: 6, 6, 27
+6178: 6, 7, 0
+6179: 6, 7, 1
+6180: 6, 7, 2
+6181: 6, 7, 3
+6182: 6, 7, 4
+6183: 6, 7, 5
+6184: 6, 7, 6
+6185: 6, 7, 7
+6186: 6, 7, 8
+6187: 6, 7, 9
+6188: 6, 7, 10
+6189: 6, 7, 11
+6190: 6, 7, 12
+6191: 6, 7, 13
+6192: 6, 7, 14
+6193: 6, 7, 15
+6194: 6, 7, 16
+6195: 6, 7, 17
+6196: 6, 7, 18
+6197: 6, 7, 19
+6198: 6, 7, 20
+6199: 6, 7, 21
+6200: 6, 7, 22
+6201: 6, 7, 23
+6202: 6, 7, 24
+6203: 6, 7, 25
+6204: 6, 7, 26
+6205: 6, 8, 0
+6206: 6, 8, 1
+6207: 6, 8, 2
+6208: 6, 8, 3
+6209: 6, 8, 4
+6210: 6, 8, 5
+6211: 6, 8, 6
+6212: 6, 8, 7
+6213: 6, 8, 8
+6214: 6, 8, 9
+6215: 6, 8, 10
+6216: 6, 8, 11
+6217: 6, 8, 12
+6218: 6, 8, 13
+6219: 6, 8, 14
+6220: 6, 8, 15
+6221: 6, 8, 16
+6222: 6, 8, 17
+6223: 6, 8, 18
+6224: 6, 8, 19
+6225: 6, 8, 20
+6226: 6, 8, 21
+6227: 6, 8, 22
+6228: 6, 8, 23
+6229: 6, 8, 24
+6230: 6, 8, 25
+6231: 6, 8, 26
+6232: 6, 8, 27
+6233: 6, 8, 28
+6234: 6, 8, 29
+6235: 6, 8, 30
+6236: 6, 8, 31
+6237: 6, 8, 32
+6238: 6, 8, 33
+6239: 6, 8, 34
+6240: 6, 8, 35
+6241: 6, 9, 0
+6242: 6, 9, 1
+6243: 6, 9, 2
+6244: 6, 9, 3
+6245: 6, 9, 4
+6246: 6, 9, 5
+6247: 6, 9, 6
+6248: 6, 9, 7
+6249: 6, 9, 8
+6250: 6, 9, 9
+6251: 6, 9, 10
+6252: 6, 9, 11
+6253: 6, 9, 12
+6254: 6, 9, 13
+6255: 6, 9, 14
+6256: 6, 9, 15
+6257: 6, 9, 16
+6258: 6, 9, 17
+6259: 6, 9, 18
+6260: 6, 9, 19
+6261: 6, 9, 20
+6262: 6, 9, 21
+6263: 6, 9, 22
+6264: 6, 9, 23
+6265: 6, 9, 24
+6266: 6, 9, 25
+6267: 6, 9, 26
+6268: 6, 9, 27
+6269: 6, 10, 0
+6270: 6, 10, 1
+6271: 6, 10, 2
+6272: 6, 10, 3
+6273: 6, 10, 4
+6274: 6, 10, 5
+6275: 6, 10, 6
+6276: 6, 10, 7
+6277: 6, 10, 8
+6278: 6, 10, 9
+6279: 6, 10, 10
+6280: 6, 10, 11
+6281: 6, 10, 12
+6282: 6, 10, 13
+6283: 6, 10, 14
+6284: 6, 10, 15
+6285: 6, 10, 16
+6286: 6, 10, 17
+6287: 6, 10, 18
+6288: 6, 10, 19
+6289: 6, 10, 20
+6290: 6, 10, 21
+6291: 6, 10, 22
+6292: 6, 10, 23
+6293: 6, 10, 24
+6294: 6, 10, 25
+6295: 6, 10, 26
+6296: 6, 10, 27
+6297: 6, 10, 28
+6298: 6, 10, 29
+6299: 6, 10, 30
+6300: 6, 10, 31
+6301: 6, 10, 32
+6302: 6, 10, 33
+6303: 6, 10, 34
+6304: 6, 10, 35
+6305: 6, 10, 36
+6306: 6, 10, 37
+6307: 6, 10, 38
+6308: 6, 10, 39
+6309: 6, 10, 40
+6310: 6, 10, 41
+6311: 6, 10, 42
+6312: 6, 10, 43
+6313: 6, 11, 0
+6314: 6, 11, 1
+6315: 6, 11, 2
+6316: 6, 11, 3
+6317: 6, 11, 4
+6318: 6, 11, 5
+6319: 6, 11, 6
+6320: 6, 11, 7
+6321: 6, 11, 8
+6322: 6, 11, 9
+6323: 6, 11, 10
+6324: 6, 11, 11
+6325: 6, 11, 12
+6326: 6, 11, 13
+6327: 6, 11, 14
+6328: 6, 11, 15
+6329: 6, 11, 16
+6330: 6, 11, 17
+6331: 6, 11, 18
+6332: 6, 11, 19
+6333: 6, 11, 20
+6334: 6, 11, 21
+6335: 6, 11, 22
+6336: 6, 11, 23
+6337: 6, 12, 0
+6338: 6, 12, 1
+6339: 6, 12, 2
+6340: 6, 12, 3
+6341: 6, 12, 4
+6342: 6, 12, 5
+6343: 6, 12, 6
+6344: 6, 12, 7
+6345: 6, 12, 8
+6346: 6, 12, 9
+6347: 6, 12, 10
+6348: 6, 12, 11
+6349: 6, 12, 12
+6350: 6, 12, 13
+6351: 6, 12, 14
+6352: 6, 12, 15
+6353: 6, 12, 16
+6354: 6, 12, 17
+6355: 6, 12, 18
+6356: 6, 12, 19
+6357: 6, 12, 20
+6358: 6, 12, 21
+6359: 6, 12, 22
+6360: 6, 12, 23
+6361: 6, 12, 24
+6362: 6, 13, 0
+6363: 6, 13, 1
+6364: 6, 13, 2
+6365: 6, 13, 3
+6366: 6, 13, 4
+6367: 6, 13, 5
+6368: 6, 13, 6
+6369: 6, 13, 7
+6370: 6, 13, 8
+6371: 6, 13, 9
+6372: 6, 13, 10
+6373: 6, 13, 11
+6374: 6, 13, 12
+6375: 6, 13, 13
+6376: 6, 13, 14
+6377: 6, 13, 15
+6378: 6, 13, 16
+6379: 6, 13, 17
+6380: 6, 13, 18
+6381: 6, 13, 19
+6382: 6, 13, 20
+6383: 6, 13, 21
+6384: 6, 13, 22
+6385: 6, 13, 23
+6386: 6, 13, 24
+6387: 6, 13, 25
+6388: 6, 13, 26
+6389: 6, 13, 27
+6390: 6, 13, 28
+6391: 6, 13, 29
+6392: 6, 13, 30
+6393: 6, 13, 31
+6394: 6, 13, 32
+6395: 6, 13, 33
+6396: 6, 14, 0
+6397: 6, 14, 1
+6398: 6, 14, 2
+6399: 6, 14, 3
+6400: 6, 14, 4
+6401: 6, 14, 5
+6402: 6, 14, 6
+6403: 6, 14, 7
+6404: 6, 14, 8
+6405: 6, 14, 9
+6406: 6, 14, 10
+6407: 6, 14, 11
+6408: 6, 14, 12
+6409: 6, 14, 13
+6410: 6, 14, 14
+6411: 6, 14, 15
+6412: 6, 15, 0
+6413: 6, 15, 1
+6414: 6, 15, 2
+6415: 6, 15, 3
+6416: 6, 15, 4
+6417: 6, 15, 5
+6418: 6, 15, 6
+6419: 6, 15, 7
+6420: 6, 15, 8
+6421: 6, 15, 9
+6422: 6, 15, 10
+6423: 6, 15, 11
+6424: 6, 15, 12
+6425: 6, 15, 13
+6426: 6, 15, 14
+6427: 6, 15, 15
+6428: 6, 15, 16
+6429: 6, 15, 17
+6430: 6, 15, 18
+6431: 6, 15, 19
+6432: 6, 15, 20
+6433: 6, 15, 21
+6434: 6, 15, 22
+6435: 6, 15, 23
+6436: 6, 15, 24
+6437: 6, 15, 25
+6438: 6, 15, 26
+6439: 6, 15, 27
+6440: 6, 15, 28
+6441: 6, 15, 29
+6442: 6, 15, 30
+6443: 6, 15, 31
+6444: 6, 15, 32
+6445: 6, 15, 33
+6446: 6, 15, 34
+6447: 6, 15, 35
+6448: 6, 15, 36
+6449: 6, 15, 37
+6450: 6, 15, 38
+6451: 6, 15, 39
+6452: 6, 15, 40
+6453: 6, 15, 41
+6454: 6, 15, 42
+6455: 6, 15, 43
+6456: 6, 15, 44
+6457: 6, 15, 45
+6458: 6, 15, 46
+6459: 6, 15, 47
+6460: 6, 15, 48
+6461: 6, 15, 49
+6462: 6, 15, 50
+6463: 6, 15, 51
+6464: 6, 15, 52
+6465: 6, 15, 53
+6466: 6, 15, 54
+6467: 6, 15, 55
+6468: 6, 15, 56
+6469: 6, 15, 57
+6470: 6, 15, 58
+6471: 6, 15, 59
+6472: 6, 15, 60
+6473: 6, 15, 61
+6474: 6, 15, 62
+6475: 6, 15, 63
+6476: 6, 16, 0
+6477: 6, 16, 1
+6478: 6, 16, 2
+6479: 6, 16, 3
+6480: 6, 16, 4
+6481: 6, 16, 5
+6482: 6, 16, 6
+6483: 6, 16, 7
+6484: 6, 16, 8
+6485: 6, 16, 9
+6486: 6, 16, 10
+6487: 6, 17, 0
+6488: 6, 17, 1
+6489: 6, 17, 2
+6490: 6, 17, 3
+6491: 6, 17, 4
+6492: 6, 17, 5
+6493: 6, 17, 6
+6494: 6, 17, 7
+6495: 6, 17, 8
+6496: 6, 17, 9
+6497: 6, 17, 10
+6498: 6, 17, 11
+6499: 6, 17, 12
+6500: 6, 17, 13
+6501: 6, 17, 14
+6502: 6, 17, 15
+6503: 6, 17, 16
+6504: 6, 17, 17
+6505: 6, 17, 18
+6506: 6, 18, 0
+6507: 6, 18, 1
+6508: 6, 18, 2
+6509: 6, 18, 3
+6510: 6, 18, 4
+6511: 6, 18, 5
+6512: 6, 18, 6
+6513: 6, 18, 7
+6514: 6, 18, 8
+6515: 6, 18, 9
+6516: 6, 18, 10
+6517: 6, 18, 11
+6518: 6, 18, 12
+6519: 6, 18, 13
+6520: 6, 18, 14
+6521: 6, 18, 15
+6522: 6, 18, 16
+6523: 6, 18, 17
+6524: 6, 18, 18
+6525: 6, 18, 19
+6526: 6, 18, 20
+6527: 6, 18, 21
+6528: 6, 18, 22
+6529: 6, 18, 23
+6530: 6, 18, 24
+6531: 6, 18, 25
+6532: 6, 18, 26
+6533: 6, 18, 27
+6534: 6, 18, 28
+6535: 6, 19, 0
+6536: 6, 19, 1
+6537: 6, 19, 2
+6538: 6, 19, 3
+6539: 6, 19, 4
+6540: 6, 19, 5
+6541: 6, 19, 6
+6542: 6, 19, 7
+6543: 6, 19, 8
+6544: 6, 19, 9
+6545: 6, 19, 10
+6546: 6, 19, 11
+6547: 6, 19, 12
+6548: 6, 19, 13
+6549: 6, 19, 14
+6550: 6, 19, 15
+6551: 6, 19, 16
+6552: 6, 19, 17
+6553: 6, 19, 18
+6554: 6, 19, 19
+6555: 6, 19, 20
+6556: 6, 19, 21
+6557: 6, 19, 22
+6558: 6, 19, 23
+6559: 6, 19, 24
+6560: 6, 19, 25
+6561: 6, 19, 26
+6562: 6, 19, 27
+6563: 6, 19, 28
+6564: 6, 19, 29
+6565: 6, 19, 30
+6566: 6, 19, 31
+6567: 6, 19, 32
+6568: 6, 19, 33
+6569: 6, 19, 34
+6570: 6, 19, 35
+6571: 6, 19, 36
+6572: 6, 19, 37
+6573: 6, 19, 38
+6574: 6, 19, 39
+6575: 6, 19, 40
+6576: 6, 19, 41
+6577: 6, 19, 42
+6578: 6, 19, 43
+6579: 6, 19, 44
+6580: 6, 19, 45
+6581: 6, 19, 46
+6582: 6, 19, 47
+6583: 6, 19, 48
+6584: 6, 19, 49
+6585: 6, 19, 50
+6586: 6, 19, 51
+6587: 6, 20, 0
+6588: 6, 20, 1
+6589: 6, 20, 2
+6590: 6, 20, 3
+6591: 6, 20, 4
+6592: 6, 20, 5
+6593: 6, 20, 6
+6594: 6, 20, 7
+6595: 6, 20, 8
+6596: 6, 20, 9
+6597: 6, 21, 0
+6598: 6, 21, 1
+6599: 6, 21, 2
+6600: 6, 21, 3
+6601: 6, 21, 4
+6602: 6, 21, 5
+6603: 6, 21, 6
+6604: 6, 21, 7
+6605: 6, 21, 8
+6606: 6, 21, 9
+6607: 6, 21, 10
+6608: 6, 21, 11
+6609: 6, 21, 12
+6610: 6, 21, 13
+6611: 6, 21, 14
+6612: 6, 21, 15
+6613: 6, 21, 16
+6614: 6, 21, 17
+6615: 6, 21, 18
+6616: 6, 21, 19
+6617: 6, 21, 20
+6618: 6, 21, 21
+6619: 6, 21, 22
+6620: 6, 21, 23
+6621: 6, 21, 24
+6622: 6, 21, 25
+6623: 6, 21, 26
+6624: 6, 21, 27
+6625: 6, 21, 28
+6626: 6, 21, 29
+6627: 6, 21, 30
+6628: 6, 21, 31
+6629: 6, 21, 32
+6630: 6, 21, 33
+6631: 6, 21, 34
+6632: 6, 21, 35
+6633: 6, 21, 36
+6634: 6, 21, 37
+6635: 6, 21, 38
+6636: 6, 21, 39
+6637: 6, 21, 40
+6638: 6, 21, 41
+6639: 6, 21, 42
+6640: 6, 21, 43
+6641: 6, 21, 44
+6642: 6, 21, 45
+6643: 6, 22, 0
+6644: 6, 22, 1
+6645: 6, 22, 2
+6646: 6, 22, 3
+6647: 6, 22, 4
+6648: 6, 22, 5
+6649: 6, 22, 6
+6650: 6, 22, 7
+6651: 6, 22, 8
+6652: 6, 22, 9
+6653: 6, 22, 10
+6654: 6, 22, 11
+6655: 6, 22, 12
+6656: 6, 22, 13
+6657: 6, 22, 14
+6658: 6, 22, 15
+6659: 6, 22, 16
+6660: 6, 22, 17
+6661: 6, 22, 18
+6662: 6, 22, 19
+6663: 6, 22, 20
+6664: 6, 22, 21
+6665: 6, 22, 22
+6666: 6, 22, 23
+6667: 6, 22, 24
+6668: 6, 22, 25
+6669: 6, 22, 26
+6670: 6, 22, 27
+6671: 6, 22, 28
+6672: 6, 22, 29
+6673: 6, 22, 30
+6674: 6, 22, 31
+6675: 6, 22, 32
+6676: 6, 22, 33
+6677: 6, 22, 34
+6678: 6, 23, 0
+6679: 6, 23, 1
+6680: 6, 23, 2
+6681: 6, 23, 3
+6682: 6, 23, 4
+6683: 6, 23, 5
+6684: 6, 23, 6
+6685: 6, 23, 7
+6686: 6, 23, 8
+6687: 6, 23, 9
+6688: 6, 23, 10
+6689: 6, 23, 11
+6690: 6, 23, 12
+6691: 6, 23, 13
+6692: 6, 23, 14
+6693: 6, 23, 15
+6694: 6, 23, 16
+6695: 6, 24, 0
+6696: 6, 24, 1
+6697: 6, 24, 2
+6698: 6, 24, 3
+6699: 6, 24, 4
+6700: 6, 24, 5
+6701: 6, 24, 6
+6702: 6, 24, 7
+6703: 6, 24, 8
+6704: 6, 24, 9
+6705: 6, 24, 10
+6706: 6, 24, 11
+6707: 6, 24, 12
+6708: 6, 24, 13
+6709: 6, 24, 14
+6710: 6, 24, 15
+6711: 6, 24, 16
+6712: 6, 24, 17
+6713: 6, 24, 18
+6714: 6, 24, 19
+6715: 6, 24, 20
+6716: 6, 24, 21
+6717: 6, 24, 22
+6718: 6, 24, 23
+6719: 6, 24, 24
+6720: 6, 24, 25
+6721: 6, 24, 26
+6722: 6, 24, 27
+6723: 6, 24, 28
+6724: 6, 24, 29
+6725: 6, 24, 30
+6726: 6, 24, 31
+6727: 6, 24, 32
+6728: 6, 24, 33
+6729: 7, 0, 0
+6730: 7, 1, 0
+6731: 7, 1, 1
+6732: 7, 1, 2
+6733: 7, 1, 3
+6734: 7, 1, 4
+6735: 7, 1, 5
+6736: 7, 1, 6
+6737: 7, 1, 7
+6738: 7, 1, 8
+6739: 7, 1, 9
+6740: 7, 1, 10
+6741: 7, 1, 11
+6742: 7, 1, 12
+6743: 7, 1, 13
+6744: 7, 1, 14
+6745: 7, 1, 15
+6746: 7, 1, 16
+6747: 7, 1, 17
+6748: 7, 1, 18
+6749: 7, 1, 19
+6750: 7, 1, 20
+6751: 7, 1, 21
+6752: 7, 1, 22
+6753: 7, 1, 23
+6754: 7, 1, 24
+6755: 7, 1, 25
+6756: 7, 1, 26
+6757: 7, 1, 27
+6758: 7, 1, 28
+6759: 7, 1, 29
+6760: 7, 1, 30
+6761: 7, 1, 31
+6762: 7, 1, 32
+6763: 7, 1, 33
+6764: 7, 1, 34
+6765: 7, 1, 35
+6766: 7, 1, 36
+6767: 7, 2, 0
+6768: 7, 2, 1
+6769: 7, 2, 2
+6770: 7, 2, 3
+6771: 7, 2, 4
+6772: 7, 2, 5
+6773: 7, 2, 6
+6774: 7, 2, 7
+6775: 7, 2, 8
+6776: 7, 2, 9
+6777: 7, 2, 10
+6778: 7, 2, 11
+6779: 7, 2, 12
+6780: 7, 2, 13
+6781: 7, 2, 14
+6782: 7, 2, 15
+6783: 7, 2, 16
+6784: 7, 2, 17
+6785: 7, 2, 18
+6786: 7, 2, 19
+6787: 7, 2, 20
+6788: 7, 2, 21
+6789: 7, 2, 22
+6790: 7, 2, 23
+6791: 7, 3, 0
+6792: 7, 3, 1
+6793: 7, 3, 2
+6794: 7, 3, 3
+6795: 7, 3, 4
+6796: 7, 3, 5
+6797: 7, 3, 6
+6798: 7, 3, 7
+6799: 7, 3, 8
+6800: 7, 3, 9
+6801: 7, 3, 10
+6802: 7, 3, 11
+6803: 7, 3, 12
+6804: 7, 3, 13
+6805: 7, 3, 14
+6806: 7, 3, 15
+6807: 7, 3, 16
+6808: 7, 3, 17
+6809: 7, 3, 18
+6810: 7, 3, 19
+6811: 7, 3, 20
+6812: 7, 3, 21
+6813: 7, 3, 22
+6814: 7, 3, 23
+6815: 7, 3, 24
+6816: 7, 3, 25
+6817: 7, 3, 26
+6818: 7, 3, 27
+6819: 7, 3, 28
+6820: 7, 3, 29
+6821: 7, 3, 30
+6822: 7, 3, 31
+6823: 7, 4, 0
+6824: 7, 4, 1
+6825: 7, 4, 2
+6826: 7, 4, 3
+6827: 7, 4, 4
+6828: 7, 4, 5
+6829: 7, 4, 6
+6830: 7, 4, 7
+6831: 7, 4, 8
+6832: 7, 4, 9
+6833: 7, 4, 10
+6834: 7, 4, 11
+6835: 7, 4, 12
+6836: 7, 4, 13
+6837: 7, 4, 14
+6838: 7, 4, 15
+6839: 7, 4, 16
+6840: 7, 4, 17
+6841: 7, 4, 18
+6842: 7, 4, 19
+6843: 7, 4, 20
+6844: 7, 4, 21
+6845: 7, 4, 22
+6846: 7, 4, 23
+6847: 7, 4, 24
+6848: 7, 5, 0
+6849: 7, 5, 1
+6850: 7, 5, 2
+6851: 7, 5, 3
+6852: 7, 5, 4
+6853: 7, 5, 5
+6854: 7, 5, 6
+6855: 7, 5, 7
+6856: 7, 5, 8
+6857: 7, 5, 9
+6858: 7, 5, 10
+6859: 7, 5, 11
+6860: 7, 5, 12
+6861: 7, 5, 13
+6862: 7, 5, 14
+6863: 7, 5, 15
+6864: 7, 5, 16
+6865: 7, 5, 17
+6866: 7, 5, 18
+6867: 7, 5, 19
+6868: 7, 5, 20
+6869: 7, 5, 21
+6870: 7, 5, 22
+6871: 7, 5, 23
+6872: 7, 5, 24
+6873: 7, 5, 25
+6874: 7, 5, 26
+6875: 7, 5, 27
+6876: 7, 5, 28
+6877: 7, 5, 29
+6878: 7, 5, 30
+6879: 7, 5, 31
+6880: 7, 6, 0
+6881: 7, 6, 1
+6882: 7, 6, 2
+6883: 7, 6, 3
+6884: 7, 6, 4
+6885: 7, 6, 5
+6886: 7, 6, 6
+6887: 7, 6, 7
+6888: 7, 6, 8
+6889: 7, 6, 9
+6890: 7, 6, 10
+6891: 7, 6, 11
+6892: 7, 6, 12
+6893: 7, 6, 13
+6894: 7, 6, 14
+6895: 7, 6, 15
+6896: 7, 6, 16
+6897: 7, 6, 17
+6898: 7, 6, 18
+6899: 7, 6, 19
+6900: 7, 6, 20
+6901: 7, 6, 21
+6902: 7, 6, 22
+6903: 7, 6, 23
+6904: 7, 6, 24
+6905: 7, 6, 25
+6906: 7, 6, 26
+6907: 7, 6, 27
+6908: 7, 6, 28
+6909: 7, 6, 29
+6910: 7, 6, 30
+6911: 7, 6, 31
+6912: 7, 6, 32
+6913: 7, 6, 33
+6914: 7, 6, 34
+6915: 7, 6, 35
+6916: 7, 6, 36
+6917: 7, 6, 37
+6918: 7, 6, 38
+6919: 7, 6, 39
+6920: 7, 6, 40
+6921: 7, 7, 0
+6922: 7, 7, 1
+6923: 7, 7, 2
+6924: 7, 7, 3
+6925: 7, 7, 4
+6926: 7, 7, 5
+6927: 7, 7, 6
+6928: 7, 7, 7
+6929: 7, 7, 8
+6930: 7, 7, 9
+6931: 7, 7, 10
+6932: 7, 7, 11
+6933: 7, 7, 12
+6934: 7, 7, 13
+6935: 7, 7, 14
+6936: 7, 7, 15
+6937: 7, 7, 16
+6938: 7, 7, 17
+6939: 7, 7, 18
+6940: 7, 7, 19
+6941: 7, 7, 20
+6942: 7, 7, 21
+6943: 7, 7, 22
+6944: 7, 7, 23
+6945: 7, 7, 24
+6946: 7, 7, 25
+6947: 7, 8, 0
+6948: 7, 8, 1
+6949: 7, 8, 2
+6950: 7, 8, 3
+6951: 7, 8, 4
+6952: 7, 8, 5
+6953: 7, 8, 6
+6954: 7, 8, 7
+6955: 7, 8, 8
+6956: 7, 8, 9
+6957: 7, 8, 10
+6958: 7, 8, 11
+6959: 7, 8, 12
+6960: 7, 8, 13
+6961: 7, 8, 14
+6962: 7, 8, 15
+6963: 7, 8, 16
+6964: 7, 8, 17
+6965: 7, 8, 18
+6966: 7, 8, 19
+6967: 7, 8, 20
+6968: 7, 8, 21
+6969: 7, 8, 22
+6970: 7, 8, 23
+6971: 7, 8, 24
+6972: 7, 8, 25
+6973: 7, 8, 26
+6974: 7, 8, 27
+6975: 7, 8, 28
+6976: 7, 8, 29
+6977: 7, 8, 30
+6978: 7, 8, 31
+6979: 7, 8, 32
+6980: 7, 8, 33
+6981: 7, 8, 34
+6982: 7, 8, 35
+6983: 7, 9, 0
+6984: 7, 9, 1
+6985: 7, 9, 2
+6986: 7, 9, 3
+6987: 7, 9, 4
+6988: 7, 9, 5
+6989: 7, 9, 6
+6990: 7, 9, 7
+6991: 7, 9, 8
+6992: 7, 9, 9
+6993: 7, 9, 10
+6994: 7, 9, 11
+6995: 7, 9, 12
+6996: 7, 9, 13
+6997: 7, 9, 14
+6998: 7, 9, 15
+6999: 7, 9, 16
+7000: 7, 9, 17
+7001: 7, 9, 18
+7002: 7, 9, 19
+7003: 7, 9, 20
+7004: 7, 9, 21
+7005: 7, 9, 22
+7006: 7, 9, 23
+7007: 7, 9, 24
+7008: 7, 9, 25
+7009: 7, 9, 26
+7010: 7, 9, 27
+7011: 7, 9, 28
+7012: 7, 9, 29
+7013: 7, 9, 30
+7014: 7, 9, 31
+7015: 7, 9, 32
+7016: 7, 9, 33
+7017: 7, 9, 34
+7018: 7, 9, 35
+7019: 7, 9, 36
+7020: 7, 9, 37
+7021: 7, 9, 38
+7022: 7, 9, 39
+7023: 7, 9, 40
+7024: 7, 9, 41
+7025: 7, 9, 42
+7026: 7, 9, 43
+7027: 7, 9, 44
+7028: 7, 9, 45
+7029: 7, 9, 46
+7030: 7, 9, 47
+7031: 7, 9, 48
+7032: 7, 9, 49
+7033: 7, 9, 50
+7034: 7, 9, 51
+7035: 7, 9, 52
+7036: 7, 9, 53
+7037: 7, 9, 54
+7038: 7, 9, 55
+7039: 7, 9, 56
+7040: 7, 9, 57
+7041: 7, 10, 0
+7042: 7, 10, 1
+7043: 7, 10, 2
+7044: 7, 10, 3
+7045: 7, 10, 4
+7046: 7, 10, 5
+7047: 7, 10, 6
+7048: 7, 10, 7
+7049: 7, 10, 8
+7050: 7, 10, 9
+7051: 7, 10, 10
+7052: 7, 10, 11
+7053: 7, 10, 12
+7054: 7, 10, 13
+7055: 7, 10, 14
+7056: 7, 10, 15
+7057: 7, 10, 16
+7058: 7, 10, 17
+7059: 7, 10, 18
+7060: 7, 11, 0
+7061: 7, 11, 1
+7062: 7, 11, 2
+7063: 7, 11, 3
+7064: 7, 11, 4
+7065: 7, 11, 5
+7066: 7, 11, 6
+7067: 7, 11, 7
+7068: 7, 11, 8
+7069: 7, 11, 9
+7070: 7, 11, 10
+7071: 7, 11, 11
+7072: 7, 11, 12
+7073: 7, 11, 13
+7074: 7, 11, 14
+7075: 7, 11, 15
+7076: 7, 11, 16
+7077: 7, 11, 17
+7078: 7, 11, 18
+7079: 7, 11, 19
+7080: 7, 11, 20
+7081: 7, 11, 21
+7082: 7, 11, 22
+7083: 7, 11, 23
+7084: 7, 11, 24
+7085: 7, 11, 25
+7086: 7, 11, 26
+7087: 7, 11, 27
+7088: 7, 11, 28
+7089: 7, 11, 29
+7090: 7, 11, 30
+7091: 7, 11, 31
+7092: 7, 11, 32
+7093: 7, 11, 33
+7094: 7, 11, 34
+7095: 7, 11, 35
+7096: 7, 11, 36
+7097: 7, 11, 37
+7098: 7, 11, 38
+7099: 7, 11, 39
+7100: 7, 11, 40
+7101: 7, 12, 0
+7102: 7, 12, 1
+7103: 7, 12, 2
+7104: 7, 12, 3
+7105: 7, 12, 4
+7106: 7, 12, 5
+7107: 7, 12, 6
+7108: 7, 12, 7
+7109: 7, 12, 8
+7110: 7, 12, 9
+7111: 7, 12, 10
+7112: 7, 12, 11
+7113: 7, 12, 12
+7114: 7, 12, 13
+7115: 7, 12, 14
+7116: 7, 12, 15
+7117: 7, 13, 0
+7118: 7, 13, 1
+7119: 7, 13, 2
+7120: 7, 13, 3
+7121: 7, 13, 4
+7122: 7, 13, 5
+7123: 7, 13, 6
+7124: 7, 13, 7
+7125: 7, 13, 8
+7126: 7, 13, 9
+7127: 7, 13, 10
+7128: 7, 13, 11
+7129: 7, 13, 12
+7130: 7, 13, 13
+7131: 7, 13, 14
+7132: 7, 13, 15
+7133: 7, 13, 16
+7134: 7, 13, 17
+7135: 7, 13, 18
+7136: 7, 13, 19
+7137: 7, 13, 20
+7138: 7, 13, 21
+7139: 7, 13, 22
+7140: 7, 13, 23
+7141: 7, 13, 24
+7142: 7, 13, 25
+7143: 7, 14, 0
+7144: 7, 14, 1
+7145: 7, 14, 2
+7146: 7, 14, 3
+7147: 7, 14, 4
+7148: 7, 14, 5
+7149: 7, 14, 6
+7150: 7, 14, 7
+7151: 7, 14, 8
+7152: 7, 14, 9
+7153: 7, 14, 10
+7154: 7, 14, 11
+7155: 7, 14, 12
+7156: 7, 14, 13
+7157: 7, 14, 14
+7158: 7, 14, 15
+7159: 7, 14, 16
+7160: 7, 14, 17
+7161: 7, 14, 18
+7162: 7, 14, 19
+7163: 7, 14, 20
+7164: 7, 15, 0
+7165: 7, 15, 1
+7166: 7, 15, 2
+7167: 7, 15, 3
+7168: 7, 15, 4
+7169: 7, 15, 5
+7170: 7, 15, 6
+7171: 7, 15, 7
+7172: 7, 15, 8
+7173: 7, 15, 9
+7174: 7, 15, 10
+7175: 7, 15, 11
+7176: 7, 15, 12
+7177: 7, 15, 13
+7178: 7, 15, 14
+7179: 7, 15, 15
+7180: 7, 15, 16
+7181: 7, 15, 17
+7182: 7, 15, 18
+7183: 7, 15, 19
+7184: 7, 15, 20
+7185: 7, 16, 0
+7186: 7, 16, 1
+7187: 7, 16, 2
+7188: 7, 16, 3
+7189: 7, 16, 4
+7190: 7, 16, 5
+7191: 7, 16, 6
+7192: 7, 16, 7
+7193: 7, 16, 8
+7194: 7, 16, 9
+7195: 7, 16, 10
+7196: 7, 16, 11
+7197: 7, 16, 12
+7198: 7, 16, 13
+7199: 7, 16, 14
+7200: 7, 16, 15
+7201: 7, 16, 16
+7202: 7, 16, 17
+7203: 7, 16, 18
+7204: 7, 16, 19
+7205: 7, 16, 20
+7206: 7, 16, 21
+7207: 7, 16, 22
+7208: 7, 16, 23
+7209: 7, 16, 24
+7210: 7, 16, 25
+7211: 7, 16, 26
+7212: 7, 16, 27
+7213: 7, 16, 28
+7214: 7, 16, 29
+7215: 7, 16, 30
+7216: 7, 16, 31
+7217: 7, 17, 0
+7218: 7, 17, 1
+7219: 7, 17, 2
+7220: 7, 17, 3
+7221: 7, 17, 4
+7222: 7, 17, 5
+7223: 7, 17, 6
+7224: 7, 17, 7
+7225: 7, 17, 8
+7226: 7, 17, 9
+7227: 7, 17, 10
+7228: 7, 17, 11
+7229: 7, 17, 12
+7230: 7, 17, 13
+7231: 7, 18, 0
+7232: 7, 18, 1
+7233: 7, 18, 2
+7234: 7, 18, 3
+7235: 7, 18, 4
+7236: 7, 18, 5
+7237: 7, 18, 6
+7238: 7, 18, 7
+7239: 7, 18, 8
+7240: 7, 18, 9
+7241: 7, 18, 10
+7242: 7, 18, 11
+7243: 7, 18, 12
+7244: 7, 18, 13
+7245: 7, 18, 14
+7246: 7, 18, 15
+7247: 7, 18, 16
+7248: 7, 18, 17
+7249: 7, 18, 18
+7250: 7, 18, 19
+7251: 7, 18, 20
+7252: 7, 18, 21
+7253: 7, 18, 22
+7254: 7, 18, 23
+7255: 7, 18, 24
+7256: 7, 18, 25
+7257: 7, 18, 26
+7258: 7, 18, 27
+7259: 7, 18, 28
+7260: 7, 18, 29
+7261: 7, 18, 30
+7262: 7, 18, 31
+7263: 7, 19, 0
+7264: 7, 19, 1
+7265: 7, 19, 2
+7266: 7, 19, 3
+7267: 7, 19, 4
+7268: 7, 19, 5
+7269: 7, 19, 6
+7270: 7, 19, 7
+7271: 7, 19, 8
+7272: 7, 19, 9
+7273: 7, 19, 10
+7274: 7, 19, 11
+7275: 7, 19, 12
+7276: 7, 19, 13
+7277: 7, 19, 14
+7278: 7, 19, 15
+7279: 7, 19, 16
+7280: 7, 19, 17
+7281: 7, 19, 18
+7282: 7, 19, 19
+7283: 7, 19, 20
+7284: 7, 19, 21
+7285: 7, 19, 22
+7286: 7, 19, 23
+7287: 7, 19, 24
+7288: 7, 19, 25
+7289: 7, 19, 26
+7290: 7, 19, 27
+7291: 7, 19, 28
+7292: 7, 19, 29
+7293: 7, 19, 30
+7294: 7, 20, 0
+7295: 7, 20, 1
+7296: 7, 20, 2
+7297: 7, 20, 3
+7298: 7, 20, 4
+7299: 7, 20, 5
+7300: 7, 20, 6
+7301: 7, 20, 7
+7302: 7, 20, 8
+7303: 7, 20, 9
+7304: 7, 20, 10
+7305: 7, 20, 11
+7306: 7, 20, 12
+7307: 7, 20, 13
+7308: 7, 20, 14
+7309: 7, 20, 15
+7310: 7, 20, 16
+7311: 7, 20, 17
+7312: 7, 20, 18
+7313: 7, 20, 19
+7314: 7, 20, 20
+7315: 7, 20, 21
+7316: 7, 20, 22
+7317: 7, 20, 23
+7318: 7, 20, 24
+7319: 7, 20, 25
+7320: 7, 20, 26
+7321: 7, 20, 27
+7322: 7, 20, 28
+7323: 7, 20, 29
+7324: 7, 20, 30
+7325: 7, 20, 31
+7326: 7, 20, 32
+7327: 7, 20, 33
+7328: 7, 20, 34
+7329: 7, 20, 35
+7330: 7, 20, 36
+7331: 7, 20, 37
+7332: 7, 20, 38
+7333: 7, 20, 39
+7334: 7, 20, 40
+7335: 7, 20, 41
+7336: 7, 20, 42
+7337: 7, 20, 43
+7338: 7, 20, 44
+7339: 7, 20, 45
+7340: 7, 20, 46
+7341: 7, 20, 47
+7342: 7, 20, 48
+7343: 7, 21, 0
+7344: 7, 21, 1
+7345: 7, 21, 2
+7346: 7, 21, 3
+7347: 7, 21, 4
+7348: 7, 21, 5
+7349: 7, 21, 6
+7350: 7, 21, 7
+7351: 7, 21, 8
+7352: 7, 21, 9
+7353: 7, 21, 10
+7354: 7, 21, 11
+7355: 7, 21, 12
+7356: 7, 21, 13
+7357: 7, 21, 14
+7358: 7, 21, 15
+7359: 7, 21, 16
+7360: 7, 21, 17
+7361: 7, 21, 18
+7362: 7, 21, 19
+7363: 7, 21, 20
+7364: 7, 21, 21
+7365: 7, 21, 22
+7366: 7, 21, 23
+7367: 7, 21, 24
+7368: 7, 21, 25
+7369: 8, 0, 0
+7370: 8, 1, 0
+7371: 8, 1, 1
+7372: 8, 1, 2
+7373: 8, 1, 3
+7374: 8, 1, 4
+7375: 8, 1, 5
+7376: 8, 1, 6
+7377: 8, 1, 7
+7378: 8, 1, 8
+7379: 8, 1, 9
+7380: 8, 1, 10
+7381: 8, 1, 11
+7382: 8, 1, 12
+7383: 8, 1, 13
+7384: 8, 1, 14
+7385: 8, 1, 15
+7386: 8, 1, 16
+7387: 8, 1, 17
+7388: 8, 1, 18
+7389: 8, 1, 19
+7390: 8, 1, 20
+7391: 8, 1, 21
+7392: 8, 1, 22
+7393: 8, 2, 0
+7394: 8, 2, 1
+7395: 8, 2, 2
+7396: 8, 2, 3
+7397: 8, 2, 4
+7398: 8, 2, 5
+7399: 8, 2, 6
+7400: 8, 2, 7
+7401: 8, 2, 8
+7402: 8, 2, 9
+7403: 8, 2, 10
+7404: 8, 2, 11
+7405: 8, 2, 12
+7406: 8, 2, 13
+7407: 8, 2, 14
+7408: 8, 2, 15
+7409: 8, 2, 16
+7410: 8, 2, 17
+7411: 8, 2, 18
+7412: 8, 2, 19
+7413: 8, 2, 20
+7414: 8, 2, 21
+7415: 8, 2, 22
+7416: 8, 2, 23
+7417: 8, 3, 0
+7418: 8, 3, 1
+7419: 8, 3, 2
+7420: 8, 3, 3
+7421: 8, 3, 4
+7422: 8, 3, 5
+7423: 8, 3, 6
+7424: 8, 3, 7
+7425: 8, 3, 8
+7426: 8, 3, 9
+7427: 8, 3, 10
+7428: 8, 3, 11
+7429: 8, 3, 12
+7430: 8, 3, 13
+7431: 8, 3, 14
+7432: 8, 3, 15
+7433: 8, 3, 16
+7434: 8, 3, 17
+7435: 8, 3, 18
+7436: 8, 4, 0
+7437: 8, 4, 1
+7438: 8, 4, 2
+7439: 8, 4, 3
+7440: 8, 4, 4
+7441: 8, 4, 5
+7442: 8, 4, 6
+7443: 8, 4, 7
+7444: 8, 4, 8
+7445: 8, 4, 9
+7446: 8, 4, 10
+7447: 8, 4, 11
+7448: 8, 4, 12
+7449: 8, 4, 13
+7450: 8, 4, 14
+7451: 8, 4, 15
+7452: 8, 4, 16
+7453: 8, 4, 17
+7454: 8, 4, 18
+7455: 8, 4, 19
+7456: 8, 4, 20
+7457: 8, 4, 21
+7458: 8, 4, 22
+7459: 9, 0, 0
+7460: 9, 1, 0
+7461: 9, 1, 1
+7462: 9, 1, 2
+7463: 9, 1, 3
+7464: 9, 1, 4
+7465: 9, 1, 5
+7466: 9, 1, 6
+7467: 9, 1, 7
+7468: 9, 1, 8
+7469: 9, 1, 9
+7470: 9, 1, 10
+7471: 9, 1, 11
+7472: 9, 1, 12
+7473: 9, 1, 13
+7474: 9, 1, 14
+7475: 9, 1, 15
+7476: 9, 1, 16
+7477: 9, 1, 17
+7478: 9, 1, 18
+7479: 9, 1, 19
+7480: 9, 1, 20
+7481: 9, 1, 21
+7482: 9, 1, 22
+7483: 9, 1, 23
+7484: 9, 1, 24
+7485: 9, 1, 25
+7486: 9, 1, 26
+7487: 9, 1, 27
+7488: 9, 1, 28
+7489: 9, 2, 0
+7490: 9, 2, 1
+7491: 9, 2, 2
+7492: 9, 2, 3
+7493: 9, 2, 4
+7494: 9, 2, 5
+7495: 9, 2, 6
+7496: 9, 2, 7
+7497: 9, 2, 8
+7498: 9, 2, 9
+7499: 9, 2, 10
+7500: 9, 2, 11
+7501: 9, 2, 12
+7502: 9, 2, 13
+7503: 9, 2, 14
+7504: 9, 2, 15
+7505: 9, 2, 16
+7506: 9, 2, 17
+7507: 9, 2, 18
+7508: 9, 2, 19
+7509: 9, 2, 20
+7510: 9, 2, 21
+7511: 9, 2, 22
+7512: 9, 2, 23
+7513: 9, 2, 24
+7514: 9, 2, 25
+7515: 9, 2, 26
+7516: 9, 2, 27
+7517: 9, 2, 28
+7518: 9, 2, 29
+7519: 9, 2, 30
+7520: 9, 2, 31
+7521: 9, 2, 32
+7522: 9, 2, 33
+7523: 9, 2, 34
+7524: 9, 2, 35
+7525: 9, 2, 36
+7526: 9, 3, 0
+7527: 9, 3, 1
+7528: 9, 3, 2
+7529: 9, 3, 3
+7530: 9, 3, 4
+7531: 9, 3, 5
+7532: 9, 3, 6
+7533: 9, 3, 7
+7534: 9, 3, 8
+7535: 9, 3, 9
+7536: 9, 3, 10
+7537: 9, 3, 11
+7538: 9, 3, 12
+7539: 9, 3, 13
+7540: 9, 3, 14
+7541: 9, 3, 15
+7542: 9, 3, 16
+7543: 9, 3, 17
+7544: 9, 3, 18
+7545: 9, 3, 19
+7546: 9, 3, 20
+7547: 9, 3, 21
+7548: 9, 4, 0
+7549: 9, 4, 1
+7550: 9, 4, 2
+7551: 9, 4, 3
+7552: 9, 4, 4
+7553: 9, 4, 5
+7554: 9, 4, 6
+7555: 9, 4, 7
+7556: 9, 4, 8
+7557: 9, 4, 9
+7558: 9, 4, 10
+7559: 9, 4, 11
+7560: 9, 4, 12
+7561: 9, 4, 13
+7562: 9, 4, 14
+7563: 9, 4, 15
+7564: 9, 4, 16
+7565: 9, 4, 17
+7566: 9, 4, 18
+7567: 9, 4, 19
+7568: 9, 4, 20
+7569: 9, 4, 21
+7570: 9, 4, 22
+7571: 9, 5, 0
+7572: 9, 5, 1
+7573: 9, 5, 2
+7574: 9, 5, 3
+7575: 9, 5, 4
+7576: 9, 5, 5
+7577: 9, 5, 6
+7578: 9, 5, 7
+7579: 9, 5, 8
+7580: 9, 5, 9
+7581: 9, 5, 10
+7582: 9, 5, 11
+7583: 9, 5, 12
+7584: 9, 6, 0
+7585: 9, 6, 1
+7586: 9, 6, 2
+7587: 9, 6, 3
+7588: 9, 6, 4
+7589: 9, 6, 5
+7590: 9, 6, 6
+7591: 9, 6, 7
+7592: 9, 6, 8
+7593: 9, 6, 9
+7594: 9, 6, 10
+7595: 9, 6, 11
+7596: 9, 6, 12
+7597: 9, 6, 13
+7598: 9, 6, 14
+7599: 9, 6, 15
+7600: 9, 6, 16
+7601: 9, 6, 17
+7602: 9, 6, 18
+7603: 9, 6, 19
+7604: 9, 6, 20
+7605: 9, 6, 21
+7606: 9, 7, 0
+7607: 9, 7, 1
+7608: 9, 7, 2
+7609: 9, 7, 3
+7610: 9, 7, 4
+7611: 9, 7, 5
+7612: 9, 7, 6
+7613: 9, 7, 7
+7614: 9, 7, 8
+7615: 9, 7, 9
+7616: 9, 7, 10
+7617: 9, 7, 11
+7618: 9, 7, 12
+7619: 9, 7, 13
+7620: 9, 7, 14
+7621: 9, 7, 15
+7622: 9, 7, 16
+7623: 9, 7, 17
+7624: 9, 8, 0
+7625: 9, 8, 1
+7626: 9, 8, 2
+7627: 9, 8, 3
+7628: 9, 8, 4
+7629: 9, 8, 5
+7630: 9, 8, 6
+7631: 9, 8, 7
+7632: 9, 8, 8
+7633: 9, 8, 9
+7634: 9, 8, 10
+7635: 9, 8, 11
+7636: 9, 8, 12
+7637: 9, 8, 13
+7638: 9, 8, 14
+7639: 9, 8, 15
+7640: 9, 8, 16
+7641: 9, 8, 17
+7642: 9, 8, 18
+7643: 9, 8, 19
+7644: 9, 8, 20
+7645: 9, 8, 21
+7646: 9, 8, 22
+7647: 9, 9, 0
+7648: 9, 9, 1
+7649: 9, 9, 2
+7650: 9, 9, 3
+7651: 9, 9, 4
+7652: 9, 9, 5
+7653: 9, 9, 6
+7654: 9, 9, 7
+7655: 9, 9, 8
+7656: 9, 9, 9
+7657: 9, 9, 10
+7658: 9, 9, 11
+7659: 9, 9, 12
+7660: 9, 9, 13
+7661: 9, 9, 14
+7662: 9, 9, 15
+7663: 9, 9, 16
+7664: 9, 9, 17
+7665: 9, 9, 18
+7666: 9, 9, 19
+7667: 9, 9, 20
+7668: 9, 9, 21
+7669: 9, 9, 22
+7670: 9, 9, 23
+7671: 9, 9, 24
+7672: 9, 9, 25
+7673: 9, 9, 26
+7674: 9, 9, 27
+7675: 9, 10, 0
+7676: 9, 10, 1
+7677: 9, 10, 2
+7678: 9, 10, 3
+7679: 9, 10, 4
+7680: 9, 10, 5
+7681: 9, 10, 6
+7682: 9, 10, 7
+7683: 9, 10, 8
+7684: 9, 10, 9
+7685: 9, 10, 10
+7686: 9, 10, 11
+7687: 9, 10, 12
+7688: 9, 10, 13
+7689: 9, 10, 14
+7690: 9, 10, 15
+7691: 9, 10, 16
+7692: 9, 10, 17
+7693: 9, 10, 18
+7694: 9, 10, 19
+7695: 9, 10, 20
+7696: 9, 10, 21
+7697: 9, 10, 22
+7698: 9, 10, 23
+7699: 9, 10, 24
+7700: 9, 10, 25
+7701: 9, 10, 26
+7702: 9, 10, 27
+7703: 9, 11, 0
+7704: 9, 11, 1
+7705: 9, 11, 2
+7706: 9, 11, 3
+7707: 9, 11, 4
+7708: 9, 11, 5
+7709: 9, 11, 6
+7710: 9, 11, 7
+7711: 9, 11, 8
+7712: 9, 11, 9
+7713: 9, 11, 10
+7714: 9, 11, 11
+7715: 9, 11, 12
+7716: 9, 11, 13
+7717: 9, 11, 14
+7718: 9, 11, 15
+7719: 9, 12, 0
+7720: 9, 12, 1
+7721: 9, 12, 2
+7722: 9, 12, 3
+7723: 9, 12, 4
+7724: 9, 12, 5
+7725: 9, 12, 6
+7726: 9, 12, 7
+7727: 9, 12, 8
+7728: 9, 12, 9
+7729: 9, 12, 10
+7730: 9, 12, 11
+7731: 9, 12, 12
+7732: 9, 12, 13
+7733: 9, 12, 14
+7734: 9, 12, 15
+7735: 9, 12, 16
+7736: 9, 12, 17
+7737: 9, 12, 18
+7738: 9, 12, 19
+7739: 9, 12, 20
+7740: 9, 12, 21
+7741: 9, 12, 22
+7742: 9, 12, 23
+7743: 9, 12, 24
+7744: 9, 12, 25
+7745: 9, 13, 0
+7746: 9, 13, 1
+7747: 9, 13, 2
+7748: 9, 13, 3
+7749: 9, 13, 4
+7750: 9, 13, 5
+7751: 9, 13, 6
+7752: 9, 13, 7
+7753: 9, 13, 8
+7754: 9, 13, 9
+7755: 9, 13, 10
+7756: 9, 13, 11
+7757: 9, 13, 12
+7758: 9, 13, 13
+7759: 9, 13, 14
+7760: 9, 13, 15
+7761: 9, 13, 16
+7762: 9, 13, 17
+7763: 9, 13, 18
+7764: 9, 13, 19
+7765: 9, 13, 20
+7766: 9, 13, 21
+7767: 9, 13, 22
+7768: 9, 13, 23
+7769: 9, 14, 0
+7770: 9, 14, 1
+7771: 9, 14, 2
+7772: 9, 14, 3
+7773: 9, 14, 4
+7774: 9, 14, 5
+7775: 9, 14, 6
+7776: 9, 14, 7
+7777: 9, 14, 8
+7778: 9, 14, 9
+7779: 9, 14, 10
+7780: 9, 14, 11
+7781: 9, 14, 12
+7782: 9, 14, 13
+7783: 9, 14, 14
+7784: 9, 14, 15
+7785: 9, 14, 16
+7786: 9, 14, 17
+7787: 9, 14, 18
+7788: 9, 14, 19
+7789: 9, 14, 20
+7790: 9, 14, 21
+7791: 9, 14, 22
+7792: 9, 14, 23
+7793: 9, 14, 24
+7794: 9, 14, 25
+7795: 9, 14, 26
+7796: 9, 14, 27
+7797: 9, 14, 28
+7798: 9, 14, 29
+7799: 9, 14, 30
+7800: 9, 14, 31
+7801: 9, 14, 32
+7802: 9, 14, 33
+7803: 9, 14, 34
+7804: 9, 14, 35
+7805: 9, 14, 36
+7806: 9, 14, 37
+7807: 9, 14, 38
+7808: 9, 14, 39
+7809: 9, 14, 40
+7810: 9, 14, 41
+7811: 9, 14, 42
+7812: 9, 14, 43
+7813: 9, 14, 44
+7814: 9, 14, 45
+7815: 9, 14, 46
+7816: 9, 14, 47
+7817: 9, 14, 48
+7818: 9, 14, 49
+7819: 9, 14, 50
+7820: 9, 14, 51
+7821: 9, 14, 52
+7822: 9, 15, 0
+7823: 9, 15, 1
+7824: 9, 15, 2
+7825: 9, 15, 3
+7826: 9, 15, 4
+7827: 9, 15, 5
+7828: 9, 15, 6
+7829: 9, 15, 7
+7830: 9, 15, 8
+7831: 9, 15, 9
+7832: 9, 15, 10
+7833: 9, 15, 11
+7834: 9, 15, 12
+7835: 9, 15, 13
+7836: 9, 15, 14
+7837: 9, 15, 15
+7838: 9, 15, 16
+7839: 9, 15, 17
+7840: 9, 15, 18
+7841: 9, 15, 19
+7842: 9, 15, 20
+7843: 9, 15, 21
+7844: 9, 15, 22
+7845: 9, 15, 23
+7846: 9, 15, 24
+7847: 9, 15, 25
+7848: 9, 15, 26
+7849: 9, 15, 27
+7850: 9, 15, 28
+7851: 9, 15, 29
+7852: 9, 15, 30
+7853: 9, 15, 31
+7854: 9, 15, 32
+7855: 9, 15, 33
+7856: 9, 15, 34
+7857: 9, 15, 35
+7858: 9, 16, 0
+7859: 9, 16, 1
+7860: 9, 16, 2
+7861: 9, 16, 3
+7862: 9, 16, 4
+7863: 9, 16, 5
+7864: 9, 16, 6
+7865: 9, 16, 7
+7866: 9, 16, 8
+7867: 9, 16, 9
+7868: 9, 16, 10
+7869: 9, 16, 11
+7870: 9, 16, 12
+7871: 9, 16, 13
+7872: 9, 16, 14
+7873: 9, 16, 15
+7874: 9, 16, 16
+7875: 9, 16, 17
+7876: 9, 16, 18
+7877: 9, 16, 19
+7878: 9, 16, 20
+7879: 9, 16, 21
+7880: 9, 16, 22
+7881: 9, 16, 23
+7882: 9, 17, 0
+7883: 9, 17, 1
+7884: 9, 17, 2
+7885: 9, 17, 3
+7886: 9, 17, 4
+7887: 9, 17, 5
+7888: 9, 17, 6
+7889: 9, 17, 7
+7890: 9, 17, 8
+7891: 9, 17, 9
+7892: 9, 17, 10
+7893: 9, 17, 11
+7894: 9, 17, 12
+7895: 9, 17, 13
+7896: 9, 17, 14
+7897: 9, 17, 15
+7898: 9, 17, 16
+7899: 9, 17, 17
+7900: 9, 17, 18
+7901: 9, 17, 19
+7902: 9, 17, 20
+7903: 9, 17, 21
+7904: 9, 17, 22
+7905: 9, 17, 23
+7906: 9, 17, 24
+7907: 9, 17, 25
+7908: 9, 17, 26
+7909: 9, 17, 27
+7910: 9, 17, 28
+7911: 9, 17, 29
+7912: 9, 17, 30
+7913: 9, 17, 31
+7914: 9, 17, 32
+7915: 9, 17, 33
+7916: 9, 17, 34
+7917: 9, 17, 35
+7918: 9, 17, 36
+7919: 9, 17, 37
+7920: 9, 17, 38
+7921: 9, 17, 39
+7922: 9, 17, 40
+7923: 9, 17, 41
+7924: 9, 17, 42
+7925: 9, 17, 43
+7926: 9, 17, 44
+7927: 9, 17, 45
+7928: 9, 17, 46
+7929: 9, 17, 47
+7930: 9, 17, 48
+7931: 9, 17, 49
+7932: 9, 17, 50
+7933: 9, 17, 51
+7934: 9, 17, 52
+7935: 9, 17, 53
+7936: 9, 17, 54
+7937: 9, 17, 55
+7938: 9, 17, 56
+7939: 9, 17, 57
+7940: 9, 17, 58
+7941: 9, 18, 0
+7942: 9, 18, 1
+7943: 9, 18, 2
+7944: 9, 18, 3
+7945: 9, 18, 4
+7946: 9, 18, 5
+7947: 9, 18, 6
+7948: 9, 18, 7
+7949: 9, 18, 8
+7950: 9, 18, 9
+7951: 9, 18, 10
+7952: 9, 18, 11
+7953: 9, 18, 12
+7954: 9, 18, 13
+7955: 9, 18, 14
+7956: 9, 18, 15
+7957: 9, 18, 16
+7958: 9, 18, 17
+7959: 9, 18, 18
+7960: 9, 18, 19
+7961: 9, 18, 20
+7962: 9, 18, 21
+7963: 9, 18, 22
+7964: 9, 18, 23
+7965: 9, 18, 24
+7966: 9, 18, 25
+7967: 9, 18, 26
+7968: 9, 18, 27
+7969: 9, 18, 28
+7970: 9, 18, 29
+7971: 9, 18, 30
+7972: 9, 19, 0
+7973: 9, 19, 1
+7974: 9, 19, 2
+7975: 9, 19, 3
+7976: 9, 19, 4
+7977: 9, 19, 5
+7978: 9, 19, 6
+7979: 9, 19, 7
+7980: 9, 19, 8
+7981: 9, 19, 9
+7982: 9, 19, 10
+7983: 9, 19, 11
+7984: 9, 19, 12
+7985: 9, 19, 13
+7986: 9, 19, 14
+7987: 9, 19, 15
+7988: 9, 19, 16
+7989: 9, 19, 17
+7990: 9, 19, 18
+7991: 9, 19, 19
+7992: 9, 19, 20
+7993: 9, 19, 21
+7994: 9, 19, 22
+7995: 9, 19, 23
+7996: 9, 19, 24
+7997: 9, 20, 0
+7998: 9, 20, 1
+7999: 9, 20, 2
+8000: 9, 20, 3
+8001: 9, 20, 4
+8002: 9, 20, 5
+8003: 9, 20, 6
+8004: 9, 20, 7
+8005: 9, 20, 8
+8006: 9, 20, 9
+8007: 9, 20, 10
+8008: 9, 20, 11
+8009: 9, 20, 12
+8010: 9, 20, 13
+8011: 9, 20, 14
+8012: 9, 20, 15
+8013: 9, 20, 16
+8014: 9, 20, 17
+8015: 9, 20, 18
+8016: 9, 20, 19
+8017: 9, 20, 20
+8018: 9, 20, 21
+8019: 9, 20, 22
+8020: 9, 20, 23
+8021: 9, 20, 24
+8022: 9, 20, 25
+8023: 9, 20, 26
+8024: 9, 20, 27
+8025: 9, 20, 28
+8026: 9, 20, 29
+8027: 9, 20, 30
+8028: 9, 20, 31
+8029: 9, 20, 32
+8030: 9, 20, 33
+8031: 9, 20, 34
+8032: 9, 20, 35
+8033: 9, 20, 36
+8034: 9, 20, 37
+8035: 9, 20, 38
+8036: 9, 20, 39
+8037: 9, 20, 40
+8038: 9, 20, 41
+8039: 9, 20, 42
+8040: 9, 21, 0
+8041: 9, 21, 1
+8042: 9, 21, 2
+8043: 9, 21, 3
+8044: 9, 21, 4
+8045: 9, 21, 5
+8046: 9, 21, 6
+8047: 9, 21, 7
+8048: 9, 21, 8
+8049: 9, 21, 9
+8050: 9, 21, 10
+8051: 9, 21, 11
+8052: 9, 21, 12
+8053: 9, 21, 13
+8054: 9, 21, 14
+8055: 9, 21, 15
+8056: 9, 22, 0
+8057: 9, 22, 1
+8058: 9, 22, 2
+8059: 9, 22, 3
+8060: 9, 22, 4
+8061: 9, 22, 5
+8062: 9, 22, 6
+8063: 9, 22, 7
+8064: 9, 22, 8
+8065: 9, 22, 9
+8066: 9, 22, 10
+8067: 9, 22, 11
+8068: 9, 22, 12
+8069: 9, 22, 13
+8070: 9, 22, 14
+8071: 9, 22, 15
+8072: 9, 22, 16
+8073: 9, 22, 17
+8074: 9, 22, 18
+8075: 9, 22, 19
+8076: 9, 22, 20
+8077: 9, 22, 21
+8078: 9, 22, 22
+8079: 9, 22, 23
+8080: 9, 23, 0
+8081: 9, 23, 1
+8082: 9, 23, 2
+8083: 9, 23, 3
+8084: 9, 23, 4
+8085: 9, 23, 5
+8086: 9, 23, 6
+8087: 9, 23, 7
+8088: 9, 23, 8
+8089: 9, 23, 9
+8090: 9, 23, 10
+8091: 9, 23, 11
+8092: 9, 23, 12
+8093: 9, 23, 13
+8094: 9, 23, 14
+8095: 9, 23, 15
+8096: 9, 23, 16
+8097: 9, 23, 17
+8098: 9, 23, 18
+8099: 9, 23, 19
+8100: 9, 23, 20
+8101: 9, 23, 21
+8102: 9, 23, 22
+8103: 9, 23, 23
+8104: 9, 23, 24
+8105: 9, 23, 25
+8106: 9, 23, 26
+8107: 9, 23, 27
+8108: 9, 23, 28
+8109: 9, 23, 29
+8110: 9, 24, 0
+8111: 9, 24, 1
+8112: 9, 24, 2
+8113: 9, 24, 3
+8114: 9, 24, 4
+8115: 9, 24, 5
+8116: 9, 24, 6
+8117: 9, 24, 7
+8118: 9, 24, 8
+8119: 9, 24, 9
+8120: 9, 24, 10
+8121: 9, 24, 11
+8122: 9, 24, 12
+8123: 9, 24, 13
+8124: 9, 24, 14
+8125: 9, 24, 15
+8126: 9, 24, 16
+8127: 9, 24, 17
+8128: 9, 24, 18
+8129: 9, 24, 19
+8130: 9, 24, 20
+8131: 9, 24, 21
+8132: 9, 24, 22
+8133: 9, 25, 0
+8134: 9, 25, 1
+8135: 9, 25, 2
+8136: 9, 25, 3
+8137: 9, 25, 4
+8138: 9, 25, 5
+8139: 9, 25, 6
+8140: 9, 25, 7
+8141: 9, 25, 8
+8142: 9, 25, 9
+8143: 9, 25, 10
+8144: 9, 25, 11
+8145: 9, 25, 12
+8146: 9, 25, 13
+8147: 9, 25, 14
+8148: 9, 25, 15
+8149: 9, 25, 16
+8150: 9, 25, 17
+8151: 9, 25, 18
+8152: 9, 25, 19
+8153: 9, 25, 20
+8154: 9, 25, 21
+8155: 9, 25, 22
+8156: 9, 25, 23
+8157: 9, 25, 24
+8158: 9, 25, 25
+8159: 9, 25, 26
+8160: 9, 25, 27
+8161: 9, 25, 28
+8162: 9, 25, 29
+8163: 9, 25, 30
+8164: 9, 25, 31
+8165: 9, 25, 32
+8166: 9, 25, 33
+8167: 9, 25, 34
+8168: 9, 25, 35
+8169: 9, 25, 36
+8170: 9, 25, 37
+8171: 9, 25, 38
+8172: 9, 25, 39
+8173: 9, 25, 40
+8174: 9, 25, 41
+8175: 9, 25, 42
+8176: 9, 25, 43
+8177: 9, 25, 44
+8178: 9, 26, 0
+8179: 9, 26, 1
+8180: 9, 26, 2
+8181: 9, 26, 3
+8182: 9, 26, 4
+8183: 9, 26, 5
+8184: 9, 26, 6
+8185: 9, 26, 7
+8186: 9, 26, 8
+8187: 9, 26, 9
+8188: 9, 26, 10
+8189: 9, 26, 11
+8190: 9, 26, 12
+8191: 9, 26, 13
+8192: 9, 26, 14
+8193: 9, 26, 15
+8194: 9, 26, 16
+8195: 9, 26, 17
+8196: 9, 26, 18
+8197: 9, 26, 19
+8198: 9, 26, 20
+8199: 9, 26, 21
+8200: 9, 26, 22
+8201: 9, 26, 23
+8202: 9, 26, 24
+8203: 9, 26, 25
+8204: 9, 27, 0
+8205: 9, 27, 1
+8206: 9, 27, 2
+8207: 9, 27, 3
+8208: 9, 27, 4
+8209: 9, 27, 5
+8210: 9, 27, 6
+8211: 9, 27, 7
+8212: 9, 27, 8
+8213: 9, 27, 9
+8214: 9, 27, 10
+8215: 9, 27, 11
+8216: 9, 27, 12
+8217: 9, 28, 0
+8218: 9, 28, 1
+8219: 9, 28, 2
+8220: 9, 28, 3
+8221: 9, 28, 4
+8222: 9, 28, 5
+8223: 9, 28, 6
+8224: 9, 28, 7
+8225: 9, 28, 8
+8226: 9, 28, 9
+8227: 9, 28, 10
+8228: 9, 28, 11
+8229: 9, 28, 12
+8230: 9, 28, 13
+8231: 9, 28, 14
+8232: 9, 28, 15
+8233: 9, 28, 16
+8234: 9, 28, 17
+8235: 9, 28, 18
+8236: 9, 28, 19
+8237: 9, 28, 20
+8238: 9, 28, 21
+8239: 9, 28, 22
+8240: 9, 28, 23
+8241: 9, 28, 24
+8242: 9, 28, 25
+8243: 9, 29, 0
+8244: 9, 29, 1
+8245: 9, 29, 2
+8246: 9, 29, 3
+8247: 9, 29, 4
+8248: 9, 29, 5
+8249: 9, 29, 6
+8250: 9, 29, 7
+8251: 9, 29, 8
+8252: 9, 29, 9
+8253: 9, 29, 10
+8254: 9, 29, 11
+8255: 9, 30, 0
+8256: 9, 30, 1
+8257: 9, 30, 2
+8258: 9, 30, 3
+8259: 9, 30, 4
+8260: 9, 30, 5
+8261: 9, 30, 6
+8262: 9, 30, 7
+8263: 9, 30, 8
+8264: 9, 30, 9
+8265: 9, 30, 10
+8266: 9, 30, 11
+8267: 9, 30, 12
+8268: 9, 30, 13
+8269: 9, 30, 14
+8270: 9, 30, 15
+8271: 9, 30, 16
+8272: 9, 30, 17
+8273: 9, 30, 18
+8274: 9, 30, 19
+8275: 9, 30, 20
+8276: 9, 30, 21
+8277: 9, 30, 22
+8278: 9, 30, 23
+8279: 9, 30, 24
+8280: 9, 30, 25
+8281: 9, 30, 26
+8282: 9, 30, 27
+8283: 9, 30, 28
+8284: 9, 30, 29
+8285: 9, 30, 30
+8286: 9, 30, 31
+8287: 9, 31, 0
+8288: 9, 31, 1
+8289: 9, 31, 2
+8290: 9, 31, 3
+8291: 9, 31, 4
+8292: 9, 31, 5
+8293: 9, 31, 6
+8294: 9, 31, 7
+8295: 9, 31, 8
+8296: 9, 31, 9
+8297: 9, 31, 10
+8298: 9, 31, 11
+8299: 9, 31, 12
+8300: 9, 31, 13
+8301: 10, 0, 0
+8302: 10, 1, 0
+8303: 10, 1, 1
+8304: 10, 1, 2
+8305: 10, 1, 3
+8306: 10, 1, 4
+8307: 10, 1, 5
+8308: 10, 1, 6
+8309: 10, 1, 7
+8310: 10, 1, 8
+8311: 10, 1, 9
+8312: 10, 1, 10
+8313: 10, 1, 11
+8314: 10, 1, 12
+8315: 10, 1, 13
+8316: 10, 1, 14
+8317: 10, 1, 15
+8318: 10, 1, 16
+8319: 10, 1, 17
+8320: 10, 1, 18
+8321: 10, 1, 19
+8322: 10, 1, 20
+8323: 10, 1, 21
+8324: 10, 1, 22
+8325: 10, 1, 23
+8326: 10, 1, 24
+8327: 10, 1, 25
+8328: 10, 1, 26
+8329: 10, 1, 27
+8330: 10, 2, 0
+8331: 10, 2, 1
+8332: 10, 2, 2
+8333: 10, 2, 3
+8334: 10, 2, 4
+8335: 10, 2, 5
+8336: 10, 2, 6
+8337: 10, 2, 7
+8338: 10, 2, 8
+8339: 10, 2, 9
+8340: 10, 2, 10
+8341: 10, 2, 11
+8342: 10, 2, 12
+8343: 10, 2, 13
+8344: 10, 2, 14
+8345: 10, 2, 15
+8346: 10, 2, 16
+8347: 10, 2, 17
+8348: 10, 2, 18
+8349: 10, 2, 19
+8350: 10, 2, 20
+8351: 10, 2, 21
+8352: 10, 2, 22
+8353: 10, 2, 23
+8354: 10, 2, 24
+8355: 10, 2, 25
+8356: 10, 2, 26
+8357: 10, 2, 27
+8358: 10, 2, 28
+8359: 10, 2, 29
+8360: 10, 2, 30
+8361: 10, 2, 31
+8362: 10, 2, 32
+8363: 10, 3, 0
+8364: 10, 3, 1
+8365: 10, 3, 2
+8366: 10, 3, 3
+8367: 10, 3, 4
+8368: 10, 3, 5
+8369: 10, 3, 6
+8370: 10, 3, 7
+8371: 10, 3, 8
+8372: 10, 3, 9
+8373: 10, 3, 10
+8374: 10, 3, 11
+8375: 10, 3, 12
+8376: 10, 3, 13
+8377: 10, 3, 14
+8378: 10, 3, 15
+8379: 10, 3, 16
+8380: 10, 3, 17
+8381: 10, 3, 18
+8382: 10, 3, 19
+8383: 10, 3, 20
+8384: 10, 3, 21
+8385: 10, 3, 22
+8386: 10, 3, 23
+8387: 10, 3, 24
+8388: 10, 3, 25
+8389: 10, 3, 26
+8390: 10, 3, 27
+8391: 10, 3, 28
+8392: 10, 3, 29
+8393: 10, 3, 30
+8394: 10, 3, 31
+8395: 10, 3, 32
+8396: 10, 3, 33
+8397: 10, 3, 34
+8398: 10, 3, 35
+8399: 10, 3, 36
+8400: 10, 3, 37
+8401: 10, 3, 38
+8402: 10, 3, 39
+8403: 10, 4, 0
+8404: 10, 4, 1
+8405: 10, 4, 2
+8406: 10, 4, 3
+8407: 10, 4, 4
+8408: 10, 4, 5
+8409: 10, 4, 6
+8410: 10, 4, 7
+8411: 10, 4, 8
+8412: 10, 4, 9
+8413: 10, 4, 10
+8414: 10, 4, 11
+8415: 10, 4, 12
+8416: 10, 5, 0
+8417: 10, 5, 1
+8418: 10, 5, 2
+8419: 10, 5, 3
+8420: 10, 5, 4
+8421: 10, 5, 5
+8422: 10, 5, 6
+8423: 10, 5, 7
+8424: 10, 5, 8
+8425: 10, 5, 9
+8426: 10, 5, 10
+8427: 10, 5, 11
+8428: 10, 5, 12
+8429: 10, 5, 13
+8430: 10, 5, 14
+8431: 10, 5, 15
+8432: 10, 5, 16
+8433: 10, 5, 17
+8434: 10, 5, 18
+8435: 10, 5, 19
+8436: 10, 5, 20
+8437: 10, 5, 21
+8438: 10, 5, 22
+8439: 10, 5, 23
+8440: 10, 5, 24
+8441: 10, 5, 25
+8442: 10, 6, 0
+8443: 10, 6, 1
+8444: 10, 6, 2
+8445: 10, 6, 3
+8446: 10, 6, 4
+8447: 10, 6, 5
+8448: 10, 6, 6
+8449: 10, 6, 7
+8450: 10, 6, 8
+8451: 10, 6, 9
+8452: 10, 6, 10
+8453: 10, 6, 11
+8454: 10, 6, 12
+8455: 10, 6, 13
+8456: 10, 6, 14
+8457: 10, 6, 15
+8458: 10, 6, 16
+8459: 10, 6, 17
+8460: 10, 6, 18
+8461: 10, 6, 19
+8462: 10, 6, 20
+8463: 10, 6, 21
+8464: 10, 6, 22
+8465: 10, 6, 23
+8466: 10, 7, 0
+8467: 10, 7, 1
+8468: 10, 7, 2
+8469: 10, 7, 3
+8470: 10, 7, 4
+8471: 10, 7, 5
+8472: 10, 7, 6
+8473: 10, 7, 7
+8474: 10, 7, 8
+8475: 10, 7, 9
+8476: 10, 7, 10
+8477: 10, 7, 11
+8478: 10, 7, 12
+8479: 10, 7, 13
+8480: 10, 7, 14
+8481: 10, 7, 15
+8482: 10, 7, 16
+8483: 10, 7, 17
+8484: 10, 7, 18
+8485: 10, 7, 19
+8486: 10, 7, 20
+8487: 10, 7, 21
+8488: 10, 7, 22
+8489: 10, 7, 23
+8490: 10, 7, 24
+8491: 10, 7, 25
+8492: 10, 7, 26
+8493: 10, 7, 27
+8494: 10, 7, 28
+8495: 10, 7, 29
+8496: 10, 8, 0
+8497: 10, 8, 1
+8498: 10, 8, 2
+8499: 10, 8, 3
+8500: 10, 8, 4
+8501: 10, 8, 5
+8502: 10, 8, 6
+8503: 10, 8, 7
+8504: 10, 8, 8
+8505: 10, 8, 9
+8506: 10, 8, 10
+8507: 10, 8, 11
+8508: 10, 8, 12
+8509: 10, 8, 13
+8510: 10, 8, 14
+8511: 10, 8, 15
+8512: 10, 8, 16
+8513: 10, 8, 17
+8514: 10, 8, 18
+8515: 10, 9, 0
+8516: 10, 9, 1
+8517: 10, 9, 2
+8518: 10, 9, 3
+8519: 10, 9, 4
+8520: 10, 9, 5
+8521: 10, 9, 6
+8522: 10, 9, 7
+8523: 10, 9, 8
+8524: 10, 9, 9
+8525: 10, 9, 10
+8526: 10, 9, 11
+8527: 10, 9, 12
+8528: 10, 9, 13
+8529: 10, 10, 0
+8530: 10, 10, 1
+8531: 10, 10, 2
+8532: 10, 10, 3
+8533: 10, 10, 4
+8534: 10, 10, 5
+8535: 10, 10, 6
+8536: 10, 10, 7
+8537: 10, 10, 8
+8538: 10, 10, 9
+8539: 10, 10, 10
+8540: 10, 10, 11
+8541: 10, 10, 12
+8542: 10, 10, 13
+8543: 10, 10, 14
+8544: 10, 10, 15
+8545: 10, 10, 16
+8546: 10, 10, 17
+8547: 10, 10, 18
+8548: 10, 10, 19
+8549: 10, 11, 0
+8550: 10, 11, 1
+8551: 10, 11, 2
+8552: 10, 11, 3
+8553: 10, 11, 4
+8554: 10, 11, 5
+8555: 10, 11, 6
+8556: 10, 11, 7
+8557: 10, 11, 8
+8558: 10, 11, 9
+8559: 10, 11, 10
+8560: 10, 11, 11
+8561: 10, 11, 12
+8562: 10, 11, 13
+8563: 10, 11, 14
+8564: 10, 11, 15
+8565: 10, 11, 16
+8566: 10, 11, 17
+8567: 10, 11, 18
+8568: 10, 11, 19
+8569: 10, 11, 20
+8570: 10, 11, 21
+8571: 10, 11, 22
+8572: 10, 11, 23
+8573: 10, 11, 24
+8574: 10, 11, 25
+8575: 10, 11, 26
+8576: 10, 11, 27
+8577: 10, 12, 0
+8578: 10, 12, 1
+8579: 10, 12, 2
+8580: 10, 12, 3
+8581: 10, 12, 4
+8582: 10, 12, 5
+8583: 10, 12, 6
+8584: 10, 12, 7
+8585: 10, 12, 8
+8586: 10, 12, 9
+8587: 10, 12, 10
+8588: 10, 12, 11
+8589: 10, 12, 12
+8590: 10, 12, 13
+8591: 10, 12, 14
+8592: 10, 12, 15
+8593: 10, 12, 16
+8594: 10, 12, 17
+8595: 10, 12, 18
+8596: 10, 12, 19
+8597: 10, 12, 20
+8598: 10, 12, 21
+8599: 10, 12, 22
+8600: 10, 12, 23
+8601: 10, 12, 24
+8602: 10, 12, 25
+8603: 10, 12, 26
+8604: 10, 12, 27
+8605: 10, 12, 28
+8606: 10, 12, 29
+8607: 10, 12, 30
+8608: 10, 12, 31
+8609: 10, 13, 0
+8610: 10, 13, 1
+8611: 10, 13, 2
+8612: 10, 13, 3
+8613: 10, 13, 4
+8614: 10, 13, 5
+8615: 10, 13, 6
+8616: 10, 13, 7
+8617: 10, 13, 8
+8618: 10, 13, 9
+8619: 10, 13, 10
+8620: 10, 13, 11
+8621: 10, 13, 12
+8622: 10, 13, 13
+8623: 10, 13, 14
+8624: 10, 13, 15
+8625: 10, 13, 16
+8626: 10, 13, 17
+8627: 10, 13, 18
+8628: 10, 13, 19
+8629: 10, 13, 20
+8630: 10, 13, 21
+8631: 10, 13, 22
+8632: 10, 13, 23
+8633: 10, 13, 24
+8634: 10, 13, 25
+8635: 10, 13, 26
+8636: 10, 13, 27
+8637: 10, 13, 28
+8638: 10, 13, 29
+8639: 10, 13, 30
+8640: 10, 13, 31
+8641: 10, 13, 32
+8642: 10, 13, 33
+8643: 10, 13, 34
+8644: 10, 13, 35
+8645: 10, 13, 36
+8646: 10, 13, 37
+8647: 10, 13, 38
+8648: 10, 13, 39
+8649: 10, 14, 0
+8650: 10, 14, 1
+8651: 10, 14, 2
+8652: 10, 14, 3
+8653: 10, 14, 4
+8654: 10, 14, 5
+8655: 10, 14, 6
+8656: 10, 14, 7
+8657: 10, 14, 8
+8658: 10, 14, 9
+8659: 10, 14, 10
+8660: 10, 14, 11
+8661: 10, 14, 12
+8662: 10, 14, 13
+8663: 10, 14, 14
+8664: 10, 14, 15
+8665: 10, 14, 16
+8666: 10, 14, 17
+8667: 10, 14, 18
+8668: 10, 14, 19
+8669: 10, 14, 20
+8670: 10, 14, 21
+8671: 10, 14, 22
+8672: 10, 14, 23
+8673: 10, 14, 24
+8674: 10, 14, 25
+8675: 10, 14, 26
+8676: 10, 14, 27
+8677: 10, 14, 28
+8678: 10, 14, 29
+8679: 10, 14, 30
+8680: 10, 14, 31
+8681: 10, 14, 32
+8682: 10, 14, 33
+8683: 10, 15, 0
+8684: 10, 15, 1
+8685: 10, 15, 2
+8686: 10, 15, 3
+8687: 10, 15, 4
+8688: 10, 15, 5
+8689: 10, 15, 6
+8690: 10, 15, 7
+8691: 10, 15, 8
+8692: 10, 15, 9
+8693: 10, 15, 10
+8694: 10, 15, 11
+8695: 10, 15, 12
+8696: 10, 15, 13
+8697: 10, 15, 14
+8698: 10, 15, 15
+8699: 10, 15, 16
+8700: 10, 15, 17
+8701: 10, 15, 18
+8702: 10, 15, 19
+8703: 10, 15, 20
+8704: 10, 15, 21
+8705: 10, 15, 22
+8706: 10, 15, 23
+8707: 10, 15, 24
+8708: 10, 15, 25
+8709: 10, 15, 26
+8710: 10, 15, 27
+8711: 10, 15, 28
+8712: 10, 15, 29
+8713: 10, 15, 30
+8714: 10, 15, 31
+8715: 10, 15, 32
+8716: 10, 15, 33
+8717: 10, 15, 34
+8718: 10, 15, 35
+8719: 10, 15, 36
+8720: 10, 15, 37
+8721: 10, 16, 0
+8722: 10, 16, 1
+8723: 10, 16, 2
+8724: 10, 16, 3
+8725: 10, 16, 4
+8726: 10, 16, 5
+8727: 10, 16, 6
+8728: 10, 16, 7
+8729: 10, 16, 8
+8730: 10, 16, 9
+8731: 10, 16, 10
+8732: 10, 16, 11
+8733: 10, 16, 12
+8734: 10, 16, 13
+8735: 10, 16, 14
+8736: 10, 16, 15
+8737: 10, 16, 16
+8738: 10, 16, 17
+8739: 10, 16, 18
+8740: 10, 16, 19
+8741: 10, 16, 20
+8742: 10, 16, 21
+8743: 10, 16, 22
+8744: 10, 16, 23
+8745: 10, 17, 0
+8746: 10, 17, 1
+8747: 10, 17, 2
+8748: 10, 17, 3
+8749: 10, 17, 4
+8750: 10, 17, 5
+8751: 10, 17, 6
+8752: 10, 17, 7
+8753: 10, 17, 8
+8754: 10, 17, 9
+8755: 10, 17, 10
+8756: 10, 17, 11
+8757: 10, 17, 12
+8758: 10, 17, 13
+8759: 10, 17, 14
+8760: 10, 17, 15
+8761: 10, 17, 16
+8762: 10, 17, 17
+8763: 10, 17, 18
+8764: 10, 17, 19
+8765: 10, 17, 20
+8766: 10, 17, 21
+8767: 10, 17, 22
+8768: 10, 17, 23
+8769: 10, 17, 24
+8770: 10, 17, 25
+8771: 10, 17, 26
+8772: 10, 17, 27
+8773: 10, 17, 28
+8774: 10, 17, 29
+8775: 10, 18, 0
+8776: 10, 18, 1
+8777: 10, 18, 2
+8778: 10, 18, 3
+8779: 10, 18, 4
+8780: 10, 18, 5
+8781: 10, 18, 6
+8782: 10, 18, 7
+8783: 10, 18, 8
+8784: 10, 18, 9
+8785: 10, 18, 10
+8786: 10, 18, 11
+8787: 10, 18, 12
+8788: 10, 18, 13
+8789: 10, 18, 14
+8790: 10, 18, 15
+8791: 10, 18, 16
+8792: 10, 18, 17
+8793: 10, 18, 18
+8794: 10, 18, 19
+8795: 10, 18, 20
+8796: 10, 18, 21
+8797: 10, 18, 22
+8798: 10, 18, 23
+8799: 10, 18, 24
+8800: 10, 18, 25
+8801: 10, 18, 26
+8802: 10, 18, 27
+8803: 10, 18, 28
+8804: 10, 18, 29
+8805: 10, 18, 30
+8806: 10, 18, 31
+8807: 10, 18, 32
+8808: 10, 18, 33
+8809: 10, 19, 0
+8810: 10, 19, 1
+8811: 10, 19, 2
+8812: 10, 19, 3
+8813: 10, 19, 4
+8814: 10, 19, 5
+8815: 10, 19, 6
+8816: 10, 19, 7
+8817: 10, 19, 8
+8818: 10, 19, 9
+8819: 10, 19, 10
+8820: 10, 19, 11
+8821: 10, 19, 12
+8822: 10, 19, 13
+8823: 10, 19, 14
+8824: 10, 19, 15
+8825: 10, 19, 16
+8826: 10, 19, 17
+8827: 10, 19, 18
+8828: 10, 19, 19
+8829: 10, 19, 20
+8830: 10, 19, 21
+8831: 10, 19, 22
+8832: 10, 19, 23
+8833: 10, 19, 24
+8834: 10, 19, 25
+8835: 10, 19, 26
+8836: 10, 19, 27
+8837: 10, 19, 28
+8838: 10, 19, 29
+8839: 10, 19, 30
+8840: 10, 19, 31
+8841: 10, 19, 32
+8842: 10, 19, 33
+8843: 10, 19, 34
+8844: 10, 19, 35
+8845: 10, 19, 36
+8846: 10, 19, 37
+8847: 10, 19, 38
+8848: 10, 19, 39
+8849: 10, 19, 40
+8850: 10, 19, 41
+8851: 10, 19, 42
+8852: 10, 19, 43
+8853: 10, 20, 0
+8854: 10, 20, 1
+8855: 10, 20, 2
+8856: 10, 20, 3
+8857: 10, 20, 4
+8858: 10, 20, 5
+8859: 10, 20, 6
+8860: 10, 20, 7
+8861: 10, 20, 8
+8862: 10, 20, 9
+8863: 10, 20, 10
+8864: 10, 20, 11
+8865: 10, 20, 12
+8866: 10, 20, 13
+8867: 10, 20, 14
+8868: 10, 20, 15
+8869: 10, 20, 16
+8870: 10, 20, 17
+8871: 10, 20, 18
+8872: 10, 20, 19
+8873: 10, 20, 20
+8874: 10, 20, 21
+8875: 10, 20, 22
+8876: 10, 20, 23
+8877: 10, 20, 24
+8878: 10, 20, 25
+8879: 10, 20, 26
+8880: 10, 21, 0
+8881: 10, 21, 1
+8882: 10, 21, 2
+8883: 10, 21, 3
+8884: 10, 21, 4
+8885: 10, 21, 5
+8886: 10, 21, 6
+8887: 10, 21, 7
+8888: 10, 21, 8
+8889: 10, 21, 9
+8890: 10, 21, 10
+8891: 10, 21, 11
+8892: 10, 21, 12
+8893: 10, 21, 13
+8894: 10, 21, 14
+8895: 10, 21, 15
+8896: 10, 21, 16
+8897: 10, 21, 17
+8898: 10, 21, 18
+8899: 10, 21, 19
+8900: 10, 21, 20
+8901: 10, 21, 21
+8902: 10, 21, 22
+8903: 10, 22, 0
+8904: 10, 22, 1
+8905: 10, 22, 2
+8906: 10, 22, 3
+8907: 10, 22, 4
+8908: 10, 22, 5
+8909: 10, 22, 6
+8910: 10, 22, 7
+8911: 10, 22, 8
+8912: 10, 22, 9
+8913: 10, 22, 10
+8914: 10, 22, 11
+8915: 10, 22, 12
+8916: 10, 22, 13
+8917: 10, 22, 14
+8918: 10, 22, 15
+8919: 10, 22, 16
+8920: 10, 22, 17
+8921: 10, 22, 18
+8922: 10, 22, 19
+8923: 10, 22, 20
+8924: 10, 22, 21
+8925: 10, 22, 22
+8926: 10, 22, 23
+8927: 10, 22, 24
+8928: 10, 22, 25
+8929: 10, 22, 26
+8930: 10, 22, 27
+8931: 10, 22, 28
+8932: 10, 22, 29
+8933: 10, 22, 30
+8934: 10, 22, 31
+8935: 10, 22, 32
+8936: 10, 22, 33
+8937: 10, 22, 34
+8938: 10, 22, 35
+8939: 10, 22, 36
+8940: 10, 22, 37
+8941: 10, 22, 38
+8942: 10, 22, 39
+8943: 10, 22, 40
+8944: 10, 22, 41
+8945: 10, 22, 42
+8946: 10, 22, 43
+8947: 10, 22, 44
+8948: 10, 22, 45
+8949: 10, 22, 46
+8950: 10, 22, 47
+8951: 10, 22, 48
+8952: 10, 22, 49
+8953: 10, 22, 50
+8954: 10, 22, 51
+8955: 10, 23, 0
+8956: 10, 23, 1
+8957: 10, 23, 2
+8958: 10, 23, 3
+8959: 10, 23, 4
+8960: 10, 23, 5
+8961: 10, 23, 6
+8962: 10, 23, 7
+8963: 10, 23, 8
+8964: 10, 23, 9
+8965: 10, 23, 10
+8966: 10, 23, 11
+8967: 10, 23, 12
+8968: 10, 23, 13
+8969: 10, 23, 14
+8970: 10, 23, 15
+8971: 10, 23, 16
+8972: 10, 23, 17
+8973: 10, 23, 18
+8974: 10, 23, 19
+8975: 10, 23, 20
+8976: 10, 23, 21
+8977: 10, 23, 22
+8978: 10, 23, 23
+8979: 10, 23, 24
+8980: 10, 23, 25
+8981: 10, 23, 26
+8982: 10, 23, 27
+8983: 10, 23, 28
+8984: 10, 23, 29
+8985: 10, 23, 30
+8986: 10, 23, 31
+8987: 10, 23, 32
+8988: 10, 23, 33
+8989: 10, 23, 34
+8990: 10, 23, 35
+8991: 10, 23, 36
+8992: 10, 23, 37
+8993: 10, 23, 38
+8994: 10, 23, 39
+8995: 10, 24, 0
+8996: 10, 24, 1
+8997: 10, 24, 2
+8998: 10, 24, 3
+8999: 10, 24, 4
+9000: 10, 24, 5
+9001: 10, 24, 6
+9002: 10, 24, 7
+9003: 10, 24, 8
+9004: 10, 24, 9
+9005: 10, 24, 10
+9006: 10, 24, 11
+9007: 10, 24, 12
+9008: 10, 24, 13
+9009: 10, 24, 14
+9010: 10, 24, 15
+9011: 10, 24, 16
+9012: 10, 24, 17
+9013: 10, 24, 18
+9014: 10, 24, 19
+9015: 10, 24, 20
+9016: 10, 24, 21
+9017: 10, 24, 22
+9018: 10, 24, 23
+9019: 10, 24, 24
+9020: 10, 24, 25
+9021: 11, 0, 0
+9022: 11, 1, 0
+9023: 11, 1, 1
+9024: 11, 1, 2
+9025: 11, 1, 3
+9026: 11, 1, 4
+9027: 11, 1, 5
+9028: 11, 1, 6
+9029: 11, 1, 7
+9030: 11, 1, 8
+9031: 11, 1, 9
+9032: 11, 1, 10
+9033: 11, 1, 11
+9034: 11, 1, 12
+9035: 11, 1, 13
+9036: 11, 1, 14
+9037: 11, 1, 15
+9038: 11, 1, 16
+9039: 11, 1, 17
+9040: 11, 1, 18
+9041: 11, 1, 19
+9042: 11, 1, 20
+9043: 11, 1, 21
+9044: 11, 1, 22
+9045: 11, 1, 23
+9046: 11, 1, 24
+9047: 11, 1, 25
+9048: 11, 1, 26
+9049: 11, 1, 27
+9050: 11, 1, 28
+9051: 11, 1, 29
+9052: 11, 1, 30
+9053: 11, 1, 31
+9054: 11, 1, 32
+9055: 11, 1, 33
+9056: 11, 1, 34
+9057: 11, 1, 35
+9058: 11, 1, 36
+9059: 11, 1, 37
+9060: 11, 1, 38
+9061: 11, 1, 39
+9062: 11, 1, 40
+9063: 11, 1, 41
+9064: 11, 1, 42
+9065: 11, 1, 43
+9066: 11, 1, 44
+9067: 11, 1, 45
+9068: 11, 1, 46
+9069: 11, 1, 47
+9070: 11, 1, 48
+9071: 11, 1, 49
+9072: 11, 1, 50
+9073: 11, 1, 51
+9074: 11, 1, 52
+9075: 11, 1, 53
+9076: 11, 2, 0
+9077: 11, 2, 1
+9078: 11, 2, 2
+9079: 11, 2, 3
+9080: 11, 2, 4
+9081: 11, 2, 5
+9082: 11, 2, 6
+9083: 11, 2, 7
+9084: 11, 2, 8
+9085: 11, 2, 9
+9086: 11, 2, 10
+9087: 11, 2, 11
+9088: 11, 2, 12
+9089: 11, 2, 13
+9090: 11, 2, 14
+9091: 11, 2, 15
+9092: 11, 2, 16
+9093: 11, 2, 17
+9094: 11, 2, 18
+9095: 11, 2, 19
+9096: 11, 2, 20
+9097: 11, 2, 21
+9098: 11, 2, 22
+9099: 11, 2, 23
+9100: 11, 2, 24
+9101: 11, 2, 25
+9102: 11, 2, 26
+9103: 11, 2, 27
+9104: 11, 2, 28
+9105: 11, 2, 29
+9106: 11, 2, 30
+9107: 11, 2, 31
+9108: 11, 2, 32
+9109: 11, 2, 33
+9110: 11, 2, 34
+9111: 11, 2, 35
+9112: 11, 2, 36
+9113: 11, 2, 37
+9114: 11, 2, 38
+9115: 11, 2, 39
+9116: 11, 2, 40
+9117: 11, 2, 41
+9118: 11, 2, 42
+9119: 11, 2, 43
+9120: 11, 2, 44
+9121: 11, 2, 45
+9122: 11, 2, 46
+9123: 11, 3, 0
+9124: 11, 3, 1
+9125: 11, 3, 2
+9126: 11, 3, 3
+9127: 11, 3, 4
+9128: 11, 3, 5
+9129: 11, 3, 6
+9130: 11, 3, 7
+9131: 11, 3, 8
+9132: 11, 3, 9
+9133: 11, 3, 10
+9134: 11, 3, 11
+9135: 11, 3, 12
+9136: 11, 3, 13
+9137: 11, 3, 14
+9138: 11, 3, 15
+9139: 11, 3, 16
+9140: 11, 3, 17
+9141: 11, 3, 18
+9142: 11, 3, 19
+9143: 11, 3, 20
+9144: 11, 3, 21
+9145: 11, 3, 22
+9146: 11, 3, 23
+9147: 11, 3, 24
+9148: 11, 3, 25
+9149: 11, 3, 26
+9150: 11, 3, 27
+9151: 11, 3, 28
+9152: 11, 4, 0
+9153: 11, 4, 1
+9154: 11, 4, 2
+9155: 11, 4, 3
+9156: 11, 4, 4
+9157: 11, 4, 5
+9158: 11, 4, 6
+9159: 11, 4, 7
+9160: 11, 4, 8
+9161: 11, 4, 9
+9162: 11, 4, 10
+9163: 11, 4, 11
+9164: 11, 4, 12
+9165: 11, 4, 13
+9166: 11, 4, 14
+9167: 11, 4, 15
+9168: 11, 4, 16
+9169: 11, 4, 17
+9170: 11, 4, 18
+9171: 11, 4, 19
+9172: 11, 4, 20
+9173: 11, 4, 21
+9174: 11, 4, 22
+9175: 11, 4, 23
+9176: 11, 4, 24
+9177: 11, 4, 25
+9178: 11, 4, 26
+9179: 11, 4, 27
+9180: 11, 4, 28
+9181: 11, 4, 29
+9182: 11, 4, 30
+9183: 11, 4, 31
+9184: 11, 4, 32
+9185: 11, 4, 33
+9186: 11, 4, 34
+9187: 11, 5, 0
+9188: 11, 5, 1
+9189: 11, 5, 2
+9190: 11, 5, 3
+9191: 11, 5, 4
+9192: 11, 5, 5
+9193: 11, 5, 6
+9194: 11, 5, 7
+9195: 11, 5, 8
+9196: 11, 5, 9
+9197: 11, 5, 10
+9198: 11, 5, 11
+9199: 11, 5, 12
+9200: 11, 5, 13
+9201: 11, 5, 14
+9202: 11, 5, 15
+9203: 11, 5, 16
+9204: 11, 5, 17
+9205: 11, 5, 18
+9206: 11, 6, 0
+9207: 11, 6, 1
+9208: 11, 6, 2
+9209: 11, 6, 3
+9210: 11, 6, 4
+9211: 11, 6, 5
+9212: 11, 6, 6
+9213: 11, 6, 7
+9214: 11, 6, 8
+9215: 11, 6, 9
+9216: 11, 6, 10
+9217: 11, 6, 11
+9218: 11, 6, 12
+9219: 11, 6, 13
+9220: 11, 6, 14
+9221: 11, 6, 15
+9222: 11, 6, 16
+9223: 11, 6, 17
+9224: 11, 6, 18
+9225: 11, 6, 19
+9226: 11, 6, 20
+9227: 11, 6, 21
+9228: 11, 6, 22
+9229: 11, 6, 23
+9230: 11, 6, 24
+9231: 11, 6, 25
+9232: 11, 6, 26
+9233: 11, 6, 27
+9234: 11, 6, 28
+9235: 11, 6, 29
+9236: 11, 6, 30
+9237: 11, 6, 31
+9238: 11, 6, 32
+9239: 11, 6, 33
+9240: 11, 6, 34
+9241: 11, 6, 35
+9242: 11, 6, 36
+9243: 11, 6, 37
+9244: 11, 6, 38
+9245: 11, 7, 0
+9246: 11, 7, 1
+9247: 11, 7, 2
+9248: 11, 7, 3
+9249: 11, 7, 4
+9250: 11, 7, 5
+9251: 11, 7, 6
+9252: 11, 7, 7
+9253: 11, 7, 8
+9254: 11, 7, 9
+9255: 11, 7, 10
+9256: 11, 7, 11
+9257: 11, 7, 12
+9258: 11, 7, 13
+9259: 11, 7, 14
+9260: 11, 7, 15
+9261: 11, 7, 16
+9262: 11, 7, 17
+9263: 11, 7, 18
+9264: 11, 7, 19
+9265: 11, 7, 20
+9266: 11, 7, 21
+9267: 11, 7, 22
+9268: 11, 7, 23
+9269: 11, 7, 24
+9270: 11, 7, 25
+9271: 11, 7, 26
+9272: 11, 7, 27
+9273: 11, 7, 28
+9274: 11, 7, 29
+9275: 11, 7, 30
+9276: 11, 7, 31
+9277: 11, 7, 32
+9278: 11, 7, 33
+9279: 11, 7, 34
+9280: 11, 7, 35
+9281: 11, 7, 36
+9282: 11, 7, 37
+9283: 11, 7, 38
+9284: 11, 7, 39
+9285: 11, 7, 40
+9286: 11, 7, 41
+9287: 11, 7, 42
+9288: 11, 7, 43
+9289: 11, 7, 44
+9290: 11, 7, 45
+9291: 11, 7, 46
+9292: 11, 7, 47
+9293: 11, 7, 48
+9294: 11, 7, 49
+9295: 11, 7, 50
+9296: 11, 7, 51
+9297: 11, 8, 0
+9298: 11, 8, 1
+9299: 11, 8, 2
+9300: 11, 8, 3
+9301: 11, 8, 4
+9302: 11, 8, 5
+9303: 11, 8, 6
+9304: 11, 8, 7
+9305: 11, 8, 8
+9306: 11, 8, 9
+9307: 11, 8, 10
+9308: 11, 8, 11
+9309: 11, 8, 12
+9310: 11, 8, 13
+9311: 11, 8, 14
+9312: 11, 8, 15
+9313: 11, 8, 16
+9314: 11, 8, 17
+9315: 11, 8, 18
+9316: 11, 8, 19
+9317: 11, 8, 20
+9318: 11, 8, 21
+9319: 11, 8, 22
+9320: 11, 8, 23
+9321: 11, 8, 24
+9322: 11, 8, 25
+9323: 11, 8, 26
+9324: 11, 8, 27
+9325: 11, 8, 28
+9326: 11, 8, 29
+9327: 11, 8, 30
+9328: 11, 8, 31
+9329: 11, 8, 32
+9330: 11, 8, 33
+9331: 11, 8, 34
+9332: 11, 8, 35
+9333: 11, 8, 36
+9334: 11, 8, 37
+9335: 11, 8, 38
+9336: 11, 8, 39
+9337: 11, 8, 40
+9338: 11, 8, 41
+9339: 11, 8, 42
+9340: 11, 8, 43
+9341: 11, 8, 44
+9342: 11, 8, 45
+9343: 11, 8, 46
+9344: 11, 8, 47
+9345: 11, 8, 48
+9346: 11, 8, 49
+9347: 11, 8, 50
+9348: 11, 8, 51
+9349: 11, 8, 52
+9350: 11, 8, 53
+9351: 11, 8, 54
+9352: 11, 8, 55
+9353: 11, 8, 56
+9354: 11, 8, 57
+9355: 11, 8, 58
+9356: 11, 8, 59
+9357: 11, 8, 60
+9358: 11, 8, 61
+9359: 11, 8, 62
+9360: 11, 8, 63
+9361: 11, 8, 64
+9362: 11, 8, 65
+9363: 11, 8, 66
+9364: 11, 9, 0
+9365: 11, 9, 1
+9366: 11, 9, 2
+9367: 11, 9, 3
+9368: 11, 9, 4
+9369: 11, 9, 5
+9370: 11, 9, 6
+9371: 11, 9, 7
+9372: 11, 9, 8
+9373: 11, 9, 9
+9374: 11, 9, 10
+9375: 11, 9, 11
+9376: 11, 9, 12
+9377: 11, 9, 13
+9378: 11, 9, 14
+9379: 11, 9, 15
+9380: 11, 9, 16
+9381: 11, 9, 17
+9382: 11, 9, 18
+9383: 11, 9, 19
+9384: 11, 9, 20
+9385: 11, 9, 21
+9386: 11, 9, 22
+9387: 11, 9, 23
+9388: 11, 9, 24
+9389: 11, 9, 25
+9390: 11, 9, 26
+9391: 11, 9, 27
+9392: 11, 9, 28
+9393: 11, 10, 0
+9394: 11, 10, 1
+9395: 11, 10, 2
+9396: 11, 10, 3
+9397: 11, 10, 4
+9398: 11, 10, 5
+9399: 11, 10, 6
+9400: 11, 10, 7
+9401: 11, 10, 8
+9402: 11, 10, 9
+9403: 11, 10, 10
+9404: 11, 10, 11
+9405: 11, 10, 12
+9406: 11, 10, 13
+9407: 11, 10, 14
+9408: 11, 10, 15
+9409: 11, 10, 16
+9410: 11, 10, 17
+9411: 11, 10, 18
+9412: 11, 10, 19
+9413: 11, 10, 20
+9414: 11, 10, 21
+9415: 11, 10, 22
+9416: 11, 10, 23
+9417: 11, 10, 24
+9418: 11, 10, 25
+9419: 11, 10, 26
+9420: 11, 10, 27
+9421: 11, 10, 28
+9422: 11, 10, 29
+9423: 11, 11, 0
+9424: 11, 11, 1
+9425: 11, 11, 2
+9426: 11, 11, 3
+9427: 11, 11, 4
+9428: 11, 11, 5
+9429: 11, 11, 6
+9430: 11, 11, 7
+9431: 11, 11, 8
+9432: 11, 11, 9
+9433: 11, 11, 10
+9434: 11, 11, 11
+9435: 11, 11, 12
+9436: 11, 11, 13
+9437: 11, 11, 14
+9438: 11, 11, 15
+9439: 11, 11, 16
+9440: 11, 11, 17
+9441: 11, 11, 18
+9442: 11, 11, 19
+9443: 11, 11, 20
+9444: 11, 11, 21
+9445: 11, 11, 22
+9446: 11, 11, 23
+9447: 11, 11, 24
+9448: 11, 11, 25
+9449: 11, 11, 26
+9450: 11, 11, 27
+9451: 11, 11, 28
+9452: 11, 11, 29
+9453: 11, 11, 30
+9454: 11, 11, 31
+9455: 11, 11, 32
+9456: 11, 11, 33
+9457: 11, 11, 34
+9458: 11, 11, 35
+9459: 11, 11, 36
+9460: 11, 11, 37
+9461: 11, 11, 38
+9462: 11, 11, 39
+9463: 11, 11, 40
+9464: 11, 11, 41
+9465: 11, 11, 42
+9466: 11, 11, 43
+9467: 11, 12, 0
+9468: 11, 12, 1
+9469: 11, 12, 2
+9470: 11, 12, 3
+9471: 11, 12, 4
+9472: 11, 12, 5
+9473: 11, 12, 6
+9474: 11, 12, 7
+9475: 11, 12, 8
+9476: 11, 12, 9
+9477: 11, 12, 10
+9478: 11, 12, 11
+9479: 11, 12, 12
+9480: 11, 12, 13
+9481: 11, 12, 14
+9482: 11, 12, 15
+9483: 11, 12, 16
+9484: 11, 12, 17
+9485: 11, 12, 18
+9486: 11, 12, 19
+9487: 11, 12, 20
+9488: 11, 12, 21
+9489: 11, 12, 22
+9490: 11, 12, 23
+9491: 11, 12, 24
+9492: 11, 12, 25
+9493: 11, 12, 26
+9494: 11, 12, 27
+9495: 11, 12, 28
+9496: 11, 12, 29
+9497: 11, 12, 30
+9498: 11, 12, 31
+9499: 11, 12, 32
+9500: 11, 12, 33
+9501: 11, 13, 0
+9502: 11, 13, 1
+9503: 11, 13, 2
+9504: 11, 13, 3
+9505: 11, 13, 4
+9506: 11, 13, 5
+9507: 11, 13, 6
+9508: 11, 13, 7
+9509: 11, 13, 8
+9510: 11, 13, 9
+9511: 11, 13, 10
+9512: 11, 13, 11
+9513: 11, 13, 12
+9514: 11, 13, 13
+9515: 11, 13, 14
+9516: 11, 13, 15
+9517: 11, 13, 16
+9518: 11, 13, 17
+9519: 11, 13, 18
+9520: 11, 13, 19
+9521: 11, 13, 20
+9522: 11, 13, 21
+9523: 11, 13, 22
+9524: 11, 13, 23
+9525: 11, 13, 24
+9526: 11, 13, 25
+9527: 11, 13, 26
+9528: 11, 13, 27
+9529: 11, 13, 28
+9530: 11, 13, 29
+9531: 11, 13, 30
+9532: 11, 13, 31
+9533: 11, 13, 32
+9534: 11, 13, 33
+9535: 11, 13, 34
+9536: 11, 14, 0
+9537: 11, 14, 1
+9538: 11, 14, 2
+9539: 11, 14, 3
+9540: 11, 14, 4
+9541: 11, 14, 5
+9542: 11, 14, 6
+9543: 11, 14, 7
+9544: 11, 14, 8
+9545: 11, 14, 9
+9546: 11, 14, 10
+9547: 11, 14, 11
+9548: 11, 14, 12
+9549: 11, 14, 13
+9550: 11, 14, 14
+9551: 11, 14, 15
+9552: 11, 14, 16
+9553: 11, 14, 17
+9554: 11, 14, 18
+9555: 11, 14, 19
+9556: 11, 14, 20
+9557: 11, 14, 21
+9558: 11, 14, 22
+9559: 11, 14, 23
+9560: 11, 14, 24
+9561: 11, 14, 25
+9562: 11, 14, 26
+9563: 11, 14, 27
+9564: 11, 14, 28
+9565: 11, 14, 29
+9566: 11, 14, 30
+9567: 11, 14, 31
+9568: 11, 15, 0
+9569: 11, 15, 1
+9570: 11, 15, 2
+9571: 11, 15, 3
+9572: 11, 15, 4
+9573: 11, 15, 5
+9574: 11, 15, 6
+9575: 11, 15, 7
+9576: 11, 15, 8
+9577: 11, 15, 9
+9578: 11, 15, 10
+9579: 11, 15, 11
+9580: 11, 15, 12
+9581: 11, 15, 13
+9582: 11, 15, 14
+9583: 11, 15, 15
+9584: 11, 15, 16
+9585: 11, 15, 17
+9586: 11, 15, 18
+9587: 11, 15, 19
+9588: 11, 15, 20
+9589: 11, 15, 21
+9590: 11, 15, 22
+9591: 11, 15, 23
+9592: 11, 15, 24
+9593: 11, 15, 25
+9594: 11, 15, 26
+9595: 11, 15, 27
+9596: 11, 15, 28
+9597: 11, 15, 29
+9598: 11, 15, 30
+9599: 11, 15, 31
+9600: 11, 15, 32
+9601: 11, 15, 33
+9602: 11, 15, 34
+9603: 11, 16, 0
+9604: 11, 16, 1
+9605: 11, 16, 2
+9606: 11, 16, 3
+9607: 11, 16, 4
+9608: 11, 16, 5
+9609: 11, 16, 6
+9610: 11, 16, 7
+9611: 11, 16, 8
+9612: 11, 16, 9
+9613: 11, 16, 10
+9614: 11, 16, 11
+9615: 11, 16, 12
+9616: 11, 16, 13
+9617: 11, 16, 14
+9618: 11, 16, 15
+9619: 11, 16, 16
+9620: 11, 16, 17
+9621: 11, 16, 18
+9622: 11, 16, 19
+9623: 11, 16, 20
+9624: 11, 16, 21
+9625: 11, 16, 22
+9626: 11, 16, 23
+9627: 11, 16, 24
+9628: 11, 16, 25
+9629: 11, 16, 26
+9630: 11, 16, 27
+9631: 11, 16, 28
+9632: 11, 16, 29
+9633: 11, 16, 30
+9634: 11, 16, 31
+9635: 11, 16, 32
+9636: 11, 16, 33
+9637: 11, 16, 34
+9638: 11, 17, 0
+9639: 11, 17, 1
+9640: 11, 17, 2
+9641: 11, 17, 3
+9642: 11, 17, 4
+9643: 11, 17, 5
+9644: 11, 17, 6
+9645: 11, 17, 7
+9646: 11, 17, 8
+9647: 11, 17, 9
+9648: 11, 17, 10
+9649: 11, 17, 11
+9650: 11, 17, 12
+9651: 11, 17, 13
+9652: 11, 17, 14
+9653: 11, 17, 15
+9654: 11, 17, 16
+9655: 11, 17, 17
+9656: 11, 17, 18
+9657: 11, 17, 19
+9658: 11, 17, 20
+9659: 11, 17, 21
+9660: 11, 17, 22
+9661: 11, 17, 23
+9662: 11, 17, 24
+9663: 11, 18, 0
+9664: 11, 18, 1
+9665: 11, 18, 2
+9666: 11, 18, 3
+9667: 11, 18, 4
+9668: 11, 18, 5
+9669: 11, 18, 6
+9670: 11, 18, 7
+9671: 11, 18, 8
+9672: 11, 18, 9
+9673: 11, 18, 10
+9674: 11, 18, 11
+9675: 11, 18, 12
+9676: 11, 18, 13
+9677: 11, 18, 14
+9678: 11, 18, 15
+9679: 11, 18, 16
+9680: 11, 18, 17
+9681: 11, 18, 18
+9682: 11, 18, 19
+9683: 11, 18, 20
+9684: 11, 18, 21
+9685: 11, 18, 22
+9686: 11, 18, 23
+9687: 11, 18, 24
+9688: 11, 18, 25
+9689: 11, 18, 26
+9690: 11, 18, 27
+9691: 11, 18, 28
+9692: 11, 18, 29
+9693: 11, 18, 30
+9694: 11, 18, 31
+9695: 11, 18, 32
+9696: 11, 18, 33
+9697: 11, 18, 34
+9698: 11, 18, 35
+9699: 11, 18, 36
+9700: 11, 18, 37
+9701: 11, 18, 38
+9702: 11, 18, 39
+9703: 11, 18, 40
+9704: 11, 18, 41
+9705: 11, 18, 42
+9706: 11, 18, 43
+9707: 11, 18, 44
+9708: 11, 18, 45
+9709: 11, 18, 46
+9710: 11, 19, 0
+9711: 11, 19, 1
+9712: 11, 19, 2
+9713: 11, 19, 3
+9714: 11, 19, 4
+9715: 11, 19, 5
+9716: 11, 19, 6
+9717: 11, 19, 7
+9718: 11, 19, 8
+9719: 11, 19, 9
+9720: 11, 19, 10
+9721: 11, 19, 11
+9722: 11, 19, 12
+9723: 11, 19, 13
+9724: 11, 19, 14
+9725: 11, 19, 15
+9726: 11, 19, 16
+9727: 11, 19, 17
+9728: 11, 19, 18
+9729: 11, 19, 19
+9730: 11, 19, 20
+9731: 11, 19, 21
+9732: 11, 20, 0
+9733: 11, 20, 1
+9734: 11, 20, 2
+9735: 11, 20, 3
+9736: 11, 20, 4
+9737: 11, 20, 5
+9738: 11, 20, 6
+9739: 11, 20, 7
+9740: 11, 20, 8
+9741: 11, 20, 9
+9742: 11, 20, 10
+9743: 11, 20, 11
+9744: 11, 20, 12
+9745: 11, 20, 13
+9746: 11, 20, 14
+9747: 11, 20, 15
+9748: 11, 20, 16
+9749: 11, 20, 17
+9750: 11, 20, 18
+9751: 11, 20, 19
+9752: 11, 20, 20
+9753: 11, 20, 21
+9754: 11, 20, 22
+9755: 11, 20, 23
+9756: 11, 20, 24
+9757: 11, 20, 25
+9758: 11, 20, 26
+9759: 11, 20, 27
+9760: 11, 20, 28
+9761: 11, 20, 29
+9762: 11, 20, 30
+9763: 11, 20, 31
+9764: 11, 20, 32
+9765: 11, 20, 33
+9766: 11, 20, 34
+9767: 11, 20, 35
+9768: 11, 20, 36
+9769: 11, 20, 37
+9770: 11, 20, 38
+9771: 11, 20, 39
+9772: 11, 20, 40
+9773: 11, 20, 41
+9774: 11, 20, 42
+9775: 11, 20, 43
+9776: 11, 21, 0
+9777: 11, 21, 1
+9778: 11, 21, 2
+9779: 11, 21, 3
+9780: 11, 21, 4
+9781: 11, 21, 5
+9782: 11, 21, 6
+9783: 11, 21, 7
+9784: 11, 21, 8
+9785: 11, 21, 9
+9786: 11, 21, 10
+9787: 11, 21, 11
+9788: 11, 21, 12
+9789: 11, 21, 13
+9790: 11, 21, 14
+9791: 11, 21, 15
+9792: 11, 21, 16
+9793: 11, 21, 17
+9794: 11, 21, 18
+9795: 11, 21, 19
+9796: 11, 21, 20
+9797: 11, 21, 21
+9798: 11, 21, 22
+9799: 11, 21, 23
+9800: 11, 21, 24
+9801: 11, 21, 25
+9802: 11, 21, 26
+9803: 11, 21, 27
+9804: 11, 21, 28
+9805: 11, 21, 29
+9806: 11, 22, 0
+9807: 11, 22, 1
+9808: 11, 22, 2
+9809: 11, 22, 3
+9810: 11, 22, 4
+9811: 11, 22, 5
+9812: 11, 22, 6
+9813: 11, 22, 7
+9814: 11, 22, 8
+9815: 11, 22, 9
+9816: 11, 22, 10
+9817: 11, 22, 11
+9818: 11, 22, 12
+9819: 11, 22, 13
+9820: 11, 22, 14
+9821: 11, 22, 15
+9822: 11, 22, 16
+9823: 11, 22, 17
+9824: 11, 22, 18
+9825: 11, 22, 19
+9826: 11, 22, 20
+9827: 11, 22, 21
+9828: 11, 22, 22
+9829: 11, 22, 23
+9830: 11, 22, 24
+9831: 11, 22, 25
+9832: 11, 22, 26
+9833: 11, 22, 27
+9834: 11, 22, 28
+9835: 11, 22, 29
+9836: 11, 22, 30
+9837: 11, 22, 31
+9838: 11, 22, 32
+9839: 11, 22, 33
+9840: 11, 22, 34
+9841: 11, 22, 35
+9842: 11, 22, 36
+9843: 11, 22, 37
+9844: 11, 22, 38
+9845: 11, 22, 39
+9846: 11, 22, 40
+9847: 11, 22, 41
+9848: 11, 22, 42
+9849: 11, 22, 43
+9850: 11, 22, 44
+9851: 11, 22, 45
+9852: 11, 22, 46
+9853: 11, 22, 47
+9854: 11, 22, 48
+9855: 11, 22, 49
+9856: 11, 22, 50
+9857: 11, 22, 51
+9858: 11, 22, 52
+9859: 11, 22, 53
+9860: 12, 0, 0
+9861: 12, 1, 0
+9862: 12, 1, 1
+9863: 12, 1, 2
+9864: 12, 1, 3
+9865: 12, 1, 4
+9866: 12, 1, 5
+9867: 12, 1, 6
+9868: 12, 1, 7
+9869: 12, 1, 8
+9870: 12, 1, 9
+9871: 12, 1, 10
+9872: 12, 1, 11
+9873: 12, 1, 12
+9874: 12, 1, 13
+9875: 12, 1, 14
+9876: 12, 1, 15
+9877: 12, 1, 16
+9878: 12, 1, 17
+9879: 12, 1, 18
+9880: 12, 2, 0
+9881: 12, 2, 1
+9882: 12, 2, 2
+9883: 12, 2, 3
+9884: 12, 2, 4
+9885: 12, 2, 5
+9886: 12, 2, 6
+9887: 12, 2, 7
+9888: 12, 2, 8
+9889: 12, 2, 9
+9890: 12, 2, 10
+9891: 12, 2, 11
+9892: 12, 2, 12
+9893: 12, 2, 13
+9894: 12, 2, 14
+9895: 12, 2, 15
+9896: 12, 2, 16
+9897: 12, 2, 17
+9898: 12, 2, 18
+9899: 12, 2, 19
+9900: 12, 2, 20
+9901: 12, 2, 21
+9902: 12, 2, 22
+9903: 12, 2, 23
+9904: 12, 2, 24
+9905: 12, 2, 25
+9906: 12, 3, 0
+9907: 12, 3, 1
+9908: 12, 3, 2
+9909: 12, 3, 3
+9910: 12, 3, 4
+9911: 12, 3, 5
+9912: 12, 3, 6
+9913: 12, 3, 7
+9914: 12, 3, 8
+9915: 12, 3, 9
+9916: 12, 3, 10
+9917: 12, 3, 11
+9918: 12, 3, 12
+9919: 12, 3, 13
+9920: 12, 3, 14
+9921: 12, 3, 15
+9922: 12, 3, 16
+9923: 12, 3, 17
+9924: 12, 3, 18
+9925: 12, 3, 19
+9926: 12, 3, 20
+9927: 12, 3, 21
+9928: 12, 3, 22
+9929: 12, 3, 23
+9930: 12, 3, 24
+9931: 12, 3, 25
+9932: 12, 3, 26
+9933: 12, 3, 27
+9934: 12, 4, 0
+9935: 12, 4, 1
+9936: 12, 4, 2
+9937: 12, 4, 3
+9938: 12, 4, 4
+9939: 12, 4, 5
+9940: 12, 4, 6
+9941: 12, 4, 7
+9942: 12, 4, 8
+9943: 12, 4, 9
+9944: 12, 4, 10
+9945: 12, 4, 11
+9946: 12, 4, 12
+9947: 12, 4, 13
+9948: 12, 4, 14
+9949: 12, 4, 15
+9950: 12, 4, 16
+9951: 12, 4, 17
+9952: 12, 4, 18
+9953: 12, 4, 19
+9954: 12, 4, 20
+9955: 12, 4, 21
+9956: 12, 4, 22
+9957: 12, 4, 23
+9958: 12, 4, 24
+9959: 12, 4, 25
+9960: 12, 4, 26
+9961: 12, 4, 27
+9962: 12, 4, 28
+9963: 12, 4, 29
+9964: 12, 4, 30
+9965: 12, 4, 31
+9966: 12, 4, 32
+9967: 12, 4, 33
+9968: 12, 4, 34
+9969: 12, 4, 35
+9970: 12, 4, 36
+9971: 12, 4, 37
+9972: 12, 4, 38
+9973: 12, 4, 39
+9974: 12, 4, 40
+9975: 12, 4, 41
+9976: 12, 4, 42
+9977: 12, 4, 43
+9978: 12, 4, 44
+9979: 12, 5, 0
+9980: 12, 5, 1
+9981: 12, 5, 2
+9982: 12, 5, 3
+9983: 12, 5, 4
+9984: 12, 5, 5
+9985: 12, 5, 6
+9986: 12, 5, 7
+9987: 12, 5, 8
+9988: 12, 5, 9
+9989: 12, 5, 10
+9990: 12, 5, 11
+9991: 12, 5, 12
+9992: 12, 5, 13
+9993: 12, 5, 14
+9994: 12, 5, 15
+9995: 12, 5, 16
+9996: 12, 5, 17
+9997: 12, 5, 18
+9998: 12, 5, 19
+9999: 12, 5, 20
+10000: 12, 5, 21
+10001: 12, 5, 22
+10002: 12, 5, 23
+10003: 12, 5, 24
+10004: 12, 5, 25
+10005: 12, 5, 26
+10006: 12, 5, 27
+10007: 12, 6, 0
+10008: 12, 6, 1
+10009: 12, 6, 2
+10010: 12, 6, 3
+10011: 12, 6, 4
+10012: 12, 6, 5
+10013: 12, 6, 6
+10014: 12, 6, 7
+10015: 12, 6, 8
+10016: 12, 6, 9
+10017: 12, 6, 10
+10018: 12, 6, 11
+10019: 12, 6, 12
+10020: 12, 6, 13
+10021: 12, 6, 14
+10022: 12, 6, 15
+10023: 12, 6, 16
+10024: 12, 6, 17
+10025: 12, 6, 18
+10026: 12, 6, 19
+10027: 12, 6, 20
+10028: 12, 6, 21
+10029: 12, 6, 22
+10030: 12, 6, 23
+10031: 12, 6, 24
+10032: 12, 6, 25
+10033: 12, 6, 26
+10034: 12, 6, 27
+10035: 12, 6, 28
+10036: 12, 6, 29
+10037: 12, 6, 30
+10038: 12, 6, 31
+10039: 12, 6, 32
+10040: 12, 6, 33
+10041: 12, 7, 0
+10042: 12, 7, 1
+10043: 12, 7, 2
+10044: 12, 7, 3
+10045: 12, 7, 4
+10046: 12, 7, 5
+10047: 12, 7, 6
+10048: 12, 7, 7
+10049: 12, 7, 8
+10050: 12, 7, 9
+10051: 12, 7, 10
+10052: 12, 7, 11
+10053: 12, 7, 12
+10054: 12, 7, 13
+10055: 12, 7, 14
+10056: 12, 7, 15
+10057: 12, 7, 16
+10058: 12, 7, 17
+10059: 12, 7, 18
+10060: 12, 7, 19
+10061: 12, 7, 20
+10062: 12, 8, 0
+10063: 12, 8, 1
+10064: 12, 8, 2
+10065: 12, 8, 3
+10066: 12, 8, 4
+10067: 12, 8, 5
+10068: 12, 8, 6
+10069: 12, 8, 7
+10070: 12, 8, 8
+10071: 12, 8, 9
+10072: 12, 8, 10
+10073: 12, 8, 11
+10074: 12, 8, 12
+10075: 12, 8, 13
+10076: 12, 8, 14
+10077: 12, 8, 15
+10078: 12, 8, 16
+10079: 12, 8, 17
+10080: 12, 8, 18
+10081: 12, 8, 19
+10082: 12, 8, 20
+10083: 12, 8, 21
+10084: 12, 8, 22
+10085: 12, 8, 23
+10086: 12, 8, 24
+10087: 12, 8, 25
+10088: 12, 8, 26
+10089: 12, 8, 27
+10090: 12, 8, 28
+10091: 12, 8, 29
+10092: 12, 9, 0
+10093: 12, 9, 1
+10094: 12, 9, 2
+10095: 12, 9, 3
+10096: 12, 9, 4
+10097: 12, 9, 5
+10098: 12, 9, 6
+10099: 12, 9, 7
+10100: 12, 9, 8
+10101: 12, 9, 9
+10102: 12, 9, 10
+10103: 12, 9, 11
+10104: 12, 9, 12
+10105: 12, 9, 13
+10106: 12, 9, 14
+10107: 12, 9, 15
+10108: 12, 9, 16
+10109: 12, 9, 17
+10110: 12, 9, 18
+10111: 12, 9, 19
+10112: 12, 9, 20
+10113: 12, 9, 21
+10114: 12, 9, 22
+10115: 12, 9, 23
+10116: 12, 9, 24
+10117: 12, 9, 25
+10118: 12, 9, 26
+10119: 12, 9, 27
+10120: 12, 9, 28
+10121: 12, 9, 29
+10122: 12, 9, 30
+10123: 12, 9, 31
+10124: 12, 9, 32
+10125: 12, 9, 33
+10126: 12, 9, 34
+10127: 12, 9, 35
+10128: 12, 9, 36
+10129: 12, 9, 37
+10130: 12, 10, 0
+10131: 12, 10, 1
+10132: 12, 10, 2
+10133: 12, 10, 3
+10134: 12, 10, 4
+10135: 12, 10, 5
+10136: 12, 10, 6
+10137: 12, 10, 7
+10138: 12, 10, 8
+10139: 12, 10, 9
+10140: 12, 10, 10
+10141: 12, 10, 11
+10142: 12, 10, 12
+10143: 12, 10, 13
+10144: 12, 10, 14
+10145: 12, 10, 15
+10146: 12, 10, 16
+10147: 12, 10, 17
+10148: 12, 10, 18
+10149: 12, 10, 19
+10150: 12, 10, 20
+10151: 12, 10, 21
+10152: 12, 10, 22
+10153: 12, 10, 23
+10154: 12, 10, 24
+10155: 12, 10, 25
+10156: 12, 10, 26
+10157: 12, 10, 27
+10158: 12, 10, 28
+10159: 12, 10, 29
+10160: 12, 10, 30
+10161: 12, 10, 31
+10162: 12, 10, 32
+10163: 12, 10, 33
+10164: 12, 10, 34
+10165: 12, 10, 35
+10166: 12, 10, 36
+10167: 12, 11, 0
+10168: 12, 11, 1
+10169: 12, 11, 2
+10170: 12, 11, 3
+10171: 12, 11, 4
+10172: 12, 11, 5
+10173: 12, 11, 6
+10174: 12, 11, 7
+10175: 12, 11, 8
+10176: 12, 11, 9
+10177: 12, 11, 10
+10178: 12, 11, 11
+10179: 12, 11, 12
+10180: 12, 11, 13
+10181: 12, 11, 14
+10182: 12, 11, 15
+10183: 12, 11, 16
+10184: 12, 11, 17
+10185: 12, 11, 18
+10186: 12, 11, 19
+10187: 12, 11, 20
+10188: 12, 11, 21
+10189: 12, 12, 0
+10190: 12, 12, 1
+10191: 12, 12, 2
+10192: 12, 12, 3
+10193: 12, 12, 4
+10194: 12, 12, 5
+10195: 12, 12, 6
+10196: 12, 12, 7
+10197: 12, 12, 8
+10198: 12, 12, 9
+10199: 12, 12, 10
+10200: 12, 12, 11
+10201: 12, 12, 12
+10202: 12, 12, 13
+10203: 12, 12, 14
+10204: 12, 12, 15
+10205: 12, 12, 16
+10206: 12, 12, 17
+10207: 12, 12, 18
+10208: 12, 12, 19
+10209: 12, 12, 20
+10210: 12, 12, 21
+10211: 12, 13, 0
+10212: 12, 13, 1
+10213: 12, 13, 2
+10214: 12, 13, 3
+10215: 12, 13, 4
+10216: 12, 13, 5
+10217: 12, 13, 6
+10218: 12, 13, 7
+10219: 12, 13, 8
+10220: 12, 13, 9
+10221: 12, 13, 10
+10222: 12, 13, 11
+10223: 12, 13, 12
+10224: 12, 13, 13
+10225: 12, 13, 14
+10226: 12, 13, 15
+10227: 12, 13, 16
+10228: 12, 13, 17
+10229: 12, 13, 18
+10230: 12, 13, 19
+10231: 12, 13, 20
+10232: 12, 13, 21
+10233: 12, 13, 22
+10234: 12, 13, 23
+10235: 12, 13, 24
+10236: 12, 13, 25
+10237: 12, 14, 0
+10238: 12, 14, 1
+10239: 12, 14, 2
+10240: 12, 14, 3
+10241: 12, 14, 4
+10242: 12, 14, 5
+10243: 12, 14, 6
+10244: 12, 14, 7
+10245: 12, 14, 8
+10246: 12, 14, 9
+10247: 12, 14, 10
+10248: 12, 14, 11
+10249: 12, 14, 12
+10250: 12, 14, 13
+10251: 12, 14, 14
+10252: 12, 14, 15
+10253: 12, 14, 16
+10254: 12, 14, 17
+10255: 12, 14, 18
+10256: 12, 14, 19
+10257: 12, 14, 20
+10258: 12, 14, 21
+10259: 12, 14, 22
+10260: 12, 14, 23
+10261: 12, 14, 24
+10262: 12, 14, 25
+10263: 12, 14, 26
+10264: 12, 14, 27
+10265: 12, 14, 28
+10266: 12, 14, 29
+10267: 12, 15, 0
+10268: 12, 15, 1
+10269: 12, 15, 2
+10270: 12, 15, 3
+10271: 12, 15, 4
+10272: 12, 15, 5
+10273: 12, 15, 6
+10274: 12, 15, 7
+10275: 12, 15, 8
+10276: 12, 15, 9
+10277: 12, 15, 10
+10278: 12, 15, 11
+10279: 12, 15, 12
+10280: 12, 15, 13
+10281: 12, 15, 14
+10282: 12, 15, 15
+10283: 12, 15, 16
+10284: 12, 15, 17
+10285: 12, 15, 18
+10286: 12, 15, 19
+10287: 12, 15, 20
+10288: 12, 15, 21
+10289: 12, 15, 22
+10290: 12, 15, 23
+10291: 12, 15, 24
+10292: 12, 15, 25
+10293: 12, 15, 26
+10294: 12, 15, 27
+10295: 12, 15, 28
+10296: 12, 15, 29
+10297: 12, 15, 30
+10298: 12, 15, 31
+10299: 12, 15, 32
+10300: 12, 15, 33
+10301: 12, 15, 34
+10302: 12, 15, 35
+10303: 12, 15, 36
+10304: 12, 15, 37
+10305: 12, 15, 38
+10306: 12, 16, 0
+10307: 12, 16, 1
+10308: 12, 16, 2
+10309: 12, 16, 3
+10310: 12, 16, 4
+10311: 12, 16, 5
+10312: 12, 16, 6
+10313: 12, 16, 7
+10314: 12, 16, 8
+10315: 12, 16, 9
+10316: 12, 16, 10
+10317: 12, 16, 11
+10318: 12, 16, 12
+10319: 12, 16, 13
+10320: 12, 16, 14
+10321: 12, 16, 15
+10322: 12, 16, 16
+10323: 12, 16, 17
+10324: 12, 16, 18
+10325: 12, 16, 19
+10326: 12, 16, 20
+10327: 12, 17, 0
+10328: 12, 17, 1
+10329: 12, 17, 2
+10330: 12, 17, 3
+10331: 12, 17, 4
+10332: 12, 17, 5
+10333: 12, 17, 6
+10334: 12, 17, 7
+10335: 12, 17, 8
+10336: 12, 17, 9
+10337: 12, 17, 10
+10338: 12, 17, 11
+10339: 12, 17, 12
+10340: 12, 17, 13
+10341: 12, 17, 14
+10342: 12, 17, 15
+10343: 12, 17, 16
+10344: 12, 17, 17
+10345: 12, 17, 18
+10346: 12, 17, 19
+10347: 12, 17, 20
+10348: 12, 17, 21
+10349: 12, 17, 22
+10350: 12, 17, 23
+10351: 12, 17, 24
+10352: 12, 17, 25
+10353: 12, 17, 26
+10354: 12, 17, 27
+10355: 12, 17, 28
+10356: 12, 17, 29
+10357: 12, 17, 30
+10358: 12, 17, 31
+10359: 12, 17, 32
+10360: 12, 17, 33
+10361: 12, 17, 34
+10362: 12, 17, 35
+10363: 12, 17, 36
+10364: 12, 17, 37
+10365: 12, 17, 38
+10366: 12, 17, 39
+10367: 12, 17, 40
+10368: 12, 17, 41
+10369: 12, 18, 0
+10370: 12, 18, 1
+10371: 12, 18, 2
+10372: 12, 18, 3
+10373: 12, 18, 4
+10374: 12, 18, 5
+10375: 12, 18, 6
+10376: 12, 18, 7
+10377: 12, 18, 8
+10378: 12, 18, 9
+10379: 12, 18, 10
+10380: 12, 18, 11
+10381: 12, 18, 12
+10382: 12, 18, 13
+10383: 12, 18, 14
+10384: 12, 18, 15
+10385: 12, 18, 16
+10386: 12, 18, 17
+10387: 12, 18, 18
+10388: 12, 18, 19
+10389: 12, 18, 20
+10390: 12, 18, 21
+10391: 12, 18, 22
+10392: 12, 18, 23
+10393: 12, 18, 24
+10394: 12, 18, 25
+10395: 12, 18, 26
+10396: 12, 18, 27
+10397: 12, 18, 28
+10398: 12, 18, 29
+10399: 12, 18, 30
+10400: 12, 18, 31
+10401: 12, 18, 32
+10402: 12, 18, 33
+10403: 12, 18, 34
+10404: 12, 18, 35
+10405: 12, 18, 36
+10406: 12, 18, 37
+10407: 12, 19, 0
+10408: 12, 19, 1
+10409: 12, 19, 2
+10410: 12, 19, 3
+10411: 12, 19, 4
+10412: 12, 19, 5
+10413: 12, 19, 6
+10414: 12, 19, 7
+10415: 12, 19, 8
+10416: 12, 19, 9
+10417: 12, 19, 10
+10418: 12, 19, 11
+10419: 12, 19, 12
+10420: 12, 19, 13
+10421: 12, 19, 14
+10422: 12, 19, 15
+10423: 12, 19, 16
+10424: 12, 19, 17
+10425: 12, 19, 18
+10426: 12, 19, 19
+10427: 12, 19, 20
+10428: 12, 19, 21
+10429: 12, 19, 22
+10430: 12, 19, 23
+10431: 12, 19, 24
+10432: 12, 19, 25
+10433: 12, 19, 26
+10434: 12, 19, 27
+10435: 12, 19, 28
+10436: 12, 19, 29
+10437: 12, 19, 30
+10438: 12, 19, 31
+10439: 12, 19, 32
+10440: 12, 19, 33
+10441: 12, 19, 34
+10442: 12, 19, 35
+10443: 12, 19, 36
+10444: 12, 19, 37
+10445: 12, 20, 0
+10446: 12, 20, 1
+10447: 12, 20, 2
+10448: 12, 20, 3
+10449: 12, 20, 4
+10450: 12, 20, 5
+10451: 12, 20, 6
+10452: 12, 20, 7
+10453: 12, 20, 8
+10454: 12, 20, 9
+10455: 12, 20, 10
+10456: 12, 20, 11
+10457: 12, 20, 12
+10458: 12, 20, 13
+10459: 12, 20, 14
+10460: 12, 20, 15
+10461: 12, 20, 16
+10462: 12, 20, 17
+10463: 12, 20, 18
+10464: 12, 20, 19
+10465: 12, 20, 20
+10466: 12, 20, 21
+10467: 12, 21, 0
+10468: 12, 21, 1
+10469: 12, 21, 2
+10470: 12, 21, 3
+10471: 12, 21, 4
+10472: 12, 21, 5
+10473: 12, 21, 6
+10474: 12, 21, 7
+10475: 12, 21, 8
+10476: 12, 21, 9
+10477: 12, 21, 10
+10478: 12, 21, 11
+10479: 12, 21, 12
+10480: 12, 21, 13
+10481: 12, 21, 14
+10482: 12, 21, 15
+10483: 12, 21, 16
+10484: 12, 21, 17
+10485: 12, 21, 18
+10486: 12, 21, 19
+10487: 12, 21, 20
+10488: 12, 21, 21
+10489: 12, 21, 22
+10490: 12, 21, 23
+10491: 12, 21, 24
+10492: 12, 21, 25
+10493: 12, 21, 26
+10494: 12, 22, 0
+10495: 12, 22, 1
+10496: 12, 22, 2
+10497: 12, 22, 3
+10498: 12, 22, 4
+10499: 12, 22, 5
+10500: 12, 22, 6
+10501: 12, 22, 7
+10502: 12, 22, 8
+10503: 12, 22, 9
+10504: 12, 22, 10
+10505: 12, 22, 11
+10506: 12, 22, 12
+10507: 12, 22, 13
+10508: 12, 22, 14
+10509: 12, 22, 15
+10510: 12, 22, 16
+10511: 12, 22, 17
+10512: 12, 22, 18
+10513: 12, 22, 19
+10514: 12, 22, 20
+10515: 12, 23, 0
+10516: 12, 23, 1
+10517: 12, 23, 2
+10518: 12, 23, 3
+10519: 12, 23, 4
+10520: 12, 23, 5
+10521: 12, 23, 6
+10522: 12, 23, 7
+10523: 12, 23, 8
+10524: 12, 23, 9
+10525: 12, 23, 10
+10526: 12, 23, 11
+10527: 12, 23, 12
+10528: 12, 23, 13
+10529: 12, 23, 14
+10530: 12, 23, 15
+10531: 12, 23, 16
+10532: 12, 23, 17
+10533: 12, 23, 18
+10534: 12, 23, 19
+10535: 12, 23, 20
+10536: 12, 23, 21
+10537: 12, 23, 22
+10538: 12, 23, 23
+10539: 12, 23, 24
+10540: 12, 23, 25
+10541: 12, 23, 26
+10542: 12, 23, 27
+10543: 12, 23, 28
+10544: 12, 23, 29
+10545: 12, 23, 30
+10546: 12, 23, 31
+10547: 12, 23, 32
+10548: 12, 23, 33
+10549: 12, 23, 34
+10550: 12, 23, 35
+10551: 12, 23, 36
+10552: 12, 23, 37
+10553: 12, 24, 0
+10554: 12, 24, 1
+10555: 12, 24, 2
+10556: 12, 24, 3
+10557: 12, 24, 4
+10558: 12, 24, 5
+10559: 12, 24, 6
+10560: 12, 24, 7
+10561: 12, 24, 8
+10562: 12, 24, 9
+10563: 12, 24, 10
+10564: 12, 24, 11
+10565: 12, 24, 12
+10566: 12, 24, 13
+10567: 12, 24, 14
+10568: 12, 24, 15
+10569: 12, 24, 16
+10570: 12, 24, 17
+10571: 12, 24, 18
+10572: 12, 24, 19
+10573: 12, 24, 20
+10574: 12, 25, 0
+10575: 12, 25, 1
+10576: 12, 25, 2
+10577: 12, 25, 3
+10578: 12, 25, 4
+10579: 12, 25, 5
+10580: 12, 25, 6
+10581: 12, 25, 7
+10582: 12, 25, 8
+10583: 12, 25, 9
+10584: 12, 25, 10
+10585: 12, 25, 11
+10586: 12, 25, 12
+10587: 12, 25, 13
+10588: 12, 25, 14
+10589: 12, 25, 15
+10590: 12, 25, 16
+10591: 12, 25, 17
+10592: 12, 25, 18
+10593: 12, 25, 19
+10594: 12, 25, 20
+10595: 12, 25, 21
+10596: 12, 25, 22
+10597: 12, 25, 23
+10598: 12, 25, 24
+10599: 12, 25, 25
+10600: 12, 25, 26
+10601: 12, 25, 27
+10602: 12, 25, 28
+10603: 12, 25, 29
+10604: 12, 25, 30
+10605: 13, 0, 0
+10606: 13, 1, 0
+10607: 13, 1, 1
+10608: 13, 1, 2
+10609: 13, 1, 3
+10610: 13, 1, 4
+10611: 13, 1, 5
+10612: 13, 1, 6
+10613: 13, 1, 7
+10614: 13, 1, 8
+10615: 13, 1, 9
+10616: 13, 1, 10
+10617: 13, 1, 11
+10618: 13, 1, 12
+10619: 13, 1, 13
+10620: 13, 1, 14
+10621: 13, 1, 15
+10622: 13, 1, 16
+10623: 13, 1, 17
+10624: 13, 1, 18
+10625: 13, 1, 19
+10626: 13, 1, 20
+10627: 13, 1, 21
+10628: 13, 1, 22
+10629: 13, 1, 23
+10630: 13, 1, 24
+10631: 13, 1, 25
+10632: 13, 1, 26
+10633: 13, 1, 27
+10634: 13, 1, 28
+10635: 13, 1, 29
+10636: 13, 1, 30
+10637: 13, 1, 31
+10638: 13, 1, 32
+10639: 13, 1, 33
+10640: 13, 1, 34
+10641: 13, 1, 35
+10642: 13, 1, 36
+10643: 13, 1, 37
+10644: 13, 1, 38
+10645: 13, 1, 39
+10646: 13, 1, 40
+10647: 13, 1, 41
+10648: 13, 1, 42
+10649: 13, 1, 43
+10650: 13, 1, 44
+10651: 13, 1, 45
+10652: 13, 1, 46
+10653: 13, 1, 47
+10654: 13, 1, 48
+10655: 13, 1, 49
+10656: 13, 1, 50
+10657: 13, 1, 51
+10658: 13, 1, 52
+10659: 13, 1, 53
+10660: 13, 1, 54
+10661: 13, 2, 0
+10662: 13, 2, 1
+10663: 13, 2, 2
+10664: 13, 2, 3
+10665: 13, 2, 4
+10666: 13, 2, 5
+10667: 13, 2, 6
+10668: 13, 2, 7
+10669: 13, 2, 8
+10670: 13, 2, 9
+10671: 13, 2, 10
+10672: 13, 2, 11
+10673: 13, 2, 12
+10674: 13, 2, 13
+10675: 13, 2, 14
+10676: 13, 2, 15
+10677: 13, 2, 16
+10678: 13, 2, 17
+10679: 13, 2, 18
+10680: 13, 2, 19
+10681: 13, 2, 20
+10682: 13, 2, 21
+10683: 13, 2, 22
+10684: 13, 2, 23
+10685: 13, 2, 24
+10686: 13, 2, 25
+10687: 13, 2, 26
+10688: 13, 2, 27
+10689: 13, 2, 28
+10690: 13, 2, 29
+10691: 13, 2, 30
+10692: 13, 2, 31
+10693: 13, 2, 32
+10694: 13, 2, 33
+10695: 13, 2, 34
+10696: 13, 2, 35
+10697: 13, 2, 36
+10698: 13, 2, 37
+10699: 13, 2, 38
+10700: 13, 2, 39
+10701: 13, 2, 40
+10702: 13, 2, 41
+10703: 13, 2, 42
+10704: 13, 2, 43
+10705: 13, 2, 44
+10706: 13, 2, 45
+10707: 13, 2, 46
+10708: 13, 2, 47
+10709: 13, 2, 48
+10710: 13, 2, 49
+10711: 13, 2, 50
+10712: 13, 2, 51
+10713: 13, 2, 52
+10714: 13, 2, 53
+10715: 13, 2, 54
+10716: 13, 2, 55
+10717: 13, 3, 0
+10718: 13, 3, 1
+10719: 13, 3, 2
+10720: 13, 3, 3
+10721: 13, 3, 4
+10722: 13, 3, 5
+10723: 13, 3, 6
+10724: 13, 3, 7
+10725: 13, 3, 8
+10726: 13, 3, 9
+10727: 13, 3, 10
+10728: 13, 3, 11
+10729: 13, 3, 12
+10730: 13, 3, 13
+10731: 13, 3, 14
+10732: 13, 3, 15
+10733: 13, 3, 16
+10734: 13, 3, 17
+10735: 13, 3, 18
+10736: 13, 3, 19
+10737: 13, 3, 20
+10738: 13, 3, 21
+10739: 13, 3, 22
+10740: 13, 3, 23
+10741: 13, 3, 24
+10742: 13, 4, 0
+10743: 13, 4, 1
+10744: 13, 4, 2
+10745: 13, 4, 3
+10746: 13, 4, 4
+10747: 13, 4, 5
+10748: 13, 4, 6
+10749: 13, 4, 7
+10750: 13, 4, 8
+10751: 13, 4, 9
+10752: 13, 4, 10
+10753: 13, 4, 11
+10754: 13, 4, 12
+10755: 13, 4, 13
+10756: 13, 4, 14
+10757: 13, 4, 15
+10758: 13, 4, 16
+10759: 13, 4, 17
+10760: 13, 4, 18
+10761: 13, 4, 19
+10762: 13, 4, 20
+10763: 13, 4, 21
+10764: 13, 4, 22
+10765: 13, 4, 23
+10766: 13, 4, 24
+10767: 13, 4, 25
+10768: 13, 4, 26
+10769: 13, 4, 27
+10770: 13, 4, 28
+10771: 13, 4, 29
+10772: 13, 4, 30
+10773: 13, 4, 31
+10774: 13, 4, 32
+10775: 13, 4, 33
+10776: 13, 4, 34
+10777: 13, 4, 35
+10778: 13, 4, 36
+10779: 13, 4, 37
+10780: 13, 4, 38
+10781: 13, 4, 39
+10782: 13, 4, 40
+10783: 13, 4, 41
+10784: 13, 4, 42
+10785: 13, 4, 43
+10786: 13, 5, 0
+10787: 13, 5, 1
+10788: 13, 5, 2
+10789: 13, 5, 3
+10790: 13, 5, 4
+10791: 13, 5, 5
+10792: 13, 5, 6
+10793: 13, 5, 7
+10794: 13, 5, 8
+10795: 13, 5, 9
+10796: 13, 5, 10
+10797: 13, 5, 11
+10798: 13, 5, 12
+10799: 13, 5, 13
+10800: 13, 5, 14
+10801: 13, 5, 15
+10802: 13, 5, 16
+10803: 13, 5, 17
+10804: 13, 5, 18
+10805: 13, 5, 19
+10806: 13, 5, 20
+10807: 13, 5, 21
+10808: 13, 5, 22
+10809: 13, 5, 23
+10810: 13, 5, 24
+10811: 13, 5, 25
+10812: 13, 5, 26
+10813: 13, 6, 0
+10814: 13, 6, 1
+10815: 13, 6, 2
+10816: 13, 6, 3
+10817: 13, 6, 4
+10818: 13, 6, 5
+10819: 13, 6, 6
+10820: 13, 6, 7
+10821: 13, 6, 8
+10822: 13, 6, 9
+10823: 13, 6, 10
+10824: 13, 6, 11
+10825: 13, 6, 12
+10826: 13, 6, 13
+10827: 13, 6, 14
+10828: 13, 6, 15
+10829: 13, 6, 16
+10830: 13, 6, 17
+10831: 13, 6, 18
+10832: 13, 6, 19
+10833: 13, 6, 20
+10834: 13, 6, 21
+10835: 13, 6, 22
+10836: 13, 6, 23
+10837: 13, 6, 24
+10838: 13, 6, 25
+10839: 13, 6, 26
+10840: 13, 6, 27
+10841: 13, 6, 28
+10842: 13, 6, 29
+10843: 13, 6, 30
+10844: 13, 6, 31
+10845: 13, 6, 32
+10846: 13, 6, 33
+10847: 13, 6, 34
+10848: 13, 6, 35
+10849: 13, 6, 36
+10850: 13, 6, 37
+10851: 13, 6, 38
+10852: 13, 6, 39
+10853: 13, 6, 40
+10854: 13, 6, 41
+10855: 13, 6, 42
+10856: 13, 6, 43
+10857: 13, 6, 44
+10858: 13, 6, 45
+10859: 13, 6, 46
+10860: 13, 6, 47
+10861: 13, 6, 48
+10862: 13, 6, 49
+10863: 13, 6, 50
+10864: 13, 6, 51
+10865: 13, 6, 52
+10866: 13, 6, 53
+10867: 13, 6, 54
+10868: 13, 6, 55
+10869: 13, 6, 56
+10870: 13, 6, 57
+10871: 13, 6, 58
+10872: 13, 6, 59
+10873: 13, 6, 60
+10874: 13, 6, 61
+10875: 13, 6, 62
+10876: 13, 6, 63
+10877: 13, 6, 64
+10878: 13, 6, 65
+10879: 13, 6, 66
+10880: 13, 6, 67
+10881: 13, 6, 68
+10882: 13, 6, 69
+10883: 13, 6, 70
+10884: 13, 6, 71
+10885: 13, 6, 72
+10886: 13, 6, 73
+10887: 13, 6, 74
+10888: 13, 6, 75
+10889: 13, 6, 76
+10890: 13, 6, 77
+10891: 13, 6, 78
+10892: 13, 6, 79
+10893: 13, 6, 80
+10894: 13, 6, 81
+10895: 13, 7, 0
+10896: 13, 7, 1
+10897: 13, 7, 2
+10898: 13, 7, 3
+10899: 13, 7, 4
+10900: 13, 7, 5
+10901: 13, 7, 6
+10902: 13, 7, 7
+10903: 13, 7, 8
+10904: 13, 7, 9
+10905: 13, 7, 10
+10906: 13, 7, 11
+10907: 13, 7, 12
+10908: 13, 7, 13
+10909: 13, 7, 14
+10910: 13, 7, 15
+10911: 13, 7, 16
+10912: 13, 7, 17
+10913: 13, 7, 18
+10914: 13, 7, 19
+10915: 13, 7, 20
+10916: 13, 7, 21
+10917: 13, 7, 22
+10918: 13, 7, 23
+10919: 13, 7, 24
+10920: 13, 7, 25
+10921: 13, 7, 26
+10922: 13, 7, 27
+10923: 13, 7, 28
+10924: 13, 7, 29
+10925: 13, 7, 30
+10926: 13, 7, 31
+10927: 13, 7, 32
+10928: 13, 7, 33
+10929: 13, 7, 34
+10930: 13, 7, 35
+10931: 13, 7, 36
+10932: 13, 7, 37
+10933: 13, 7, 38
+10934: 13, 7, 39
+10935: 13, 7, 40
+10936: 13, 8, 0
+10937: 13, 8, 1
+10938: 13, 8, 2
+10939: 13, 8, 3
+10940: 13, 8, 4
+10941: 13, 8, 5
+10942: 13, 8, 6
+10943: 13, 8, 7
+10944: 13, 8, 8
+10945: 13, 8, 9
+10946: 13, 8, 10
+10947: 13, 8, 11
+10948: 13, 8, 12
+10949: 13, 8, 13
+10950: 13, 8, 14
+10951: 13, 8, 15
+10952: 13, 8, 16
+10953: 13, 8, 17
+10954: 13, 8, 18
+10955: 13, 8, 19
+10956: 13, 8, 20
+10957: 13, 8, 21
+10958: 13, 8, 22
+10959: 13, 8, 23
+10960: 13, 8, 24
+10961: 13, 8, 25
+10962: 13, 8, 26
+10963: 13, 8, 27
+10964: 13, 8, 28
+10965: 13, 8, 29
+10966: 13, 8, 30
+10967: 13, 8, 31
+10968: 13, 8, 32
+10969: 13, 8, 33
+10970: 13, 8, 34
+10971: 13, 8, 35
+10972: 13, 8, 36
+10973: 13, 8, 37
+10974: 13, 8, 38
+10975: 13, 8, 39
+10976: 13, 8, 40
+10977: 13, 9, 0
+10978: 13, 9, 1
+10979: 13, 9, 2
+10980: 13, 9, 3
+10981: 13, 9, 4
+10982: 13, 9, 5
+10983: 13, 9, 6
+10984: 13, 9, 7
+10985: 13, 9, 8
+10986: 13, 9, 9
+10987: 13, 9, 10
+10988: 13, 9, 11
+10989: 13, 9, 12
+10990: 13, 9, 13
+10991: 13, 9, 14
+10992: 13, 9, 15
+10993: 13, 9, 16
+10994: 13, 9, 17
+10995: 13, 9, 18
+10996: 13, 9, 19
+10997: 13, 9, 20
+10998: 13, 9, 21
+10999: 13, 9, 22
+11000: 13, 9, 23
+11001: 13, 9, 24
+11002: 13, 9, 25
+11003: 13, 9, 26
+11004: 13, 9, 27
+11005: 13, 9, 28
+11006: 13, 9, 29
+11007: 13, 9, 30
+11008: 13, 9, 31
+11009: 13, 9, 32
+11010: 13, 9, 33
+11011: 13, 9, 34
+11012: 13, 9, 35
+11013: 13, 9, 36
+11014: 13, 9, 37
+11015: 13, 9, 38
+11016: 13, 9, 39
+11017: 13, 9, 40
+11018: 13, 9, 41
+11019: 13, 9, 42
+11020: 13, 9, 43
+11021: 13, 9, 44
+11022: 13, 10, 0
+11023: 13, 10, 1
+11024: 13, 10, 2
+11025: 13, 10, 3
+11026: 13, 10, 4
+11027: 13, 10, 5
+11028: 13, 10, 6
+11029: 13, 10, 7
+11030: 13, 10, 8
+11031: 13, 10, 9
+11032: 13, 10, 10
+11033: 13, 10, 11
+11034: 13, 10, 12
+11035: 13, 10, 13
+11036: 13, 10, 14
+11037: 13, 11, 0
+11038: 13, 11, 1
+11039: 13, 11, 2
+11040: 13, 11, 3
+11041: 13, 11, 4
+11042: 13, 11, 5
+11043: 13, 11, 6
+11044: 13, 11, 7
+11045: 13, 11, 8
+11046: 13, 11, 9
+11047: 13, 11, 10
+11048: 13, 11, 11
+11049: 13, 11, 12
+11050: 13, 11, 13
+11051: 13, 11, 14
+11052: 13, 11, 15
+11053: 13, 11, 16
+11054: 13, 11, 17
+11055: 13, 11, 18
+11056: 13, 11, 19
+11057: 13, 11, 20
+11058: 13, 11, 21
+11059: 13, 11, 22
+11060: 13, 11, 23
+11061: 13, 11, 24
+11062: 13, 11, 25
+11063: 13, 11, 26
+11064: 13, 11, 27
+11065: 13, 11, 28
+11066: 13, 11, 29
+11067: 13, 11, 30
+11068: 13, 11, 31
+11069: 13, 11, 32
+11070: 13, 11, 33
+11071: 13, 11, 34
+11072: 13, 11, 35
+11073: 13, 11, 36
+11074: 13, 11, 37
+11075: 13, 11, 38
+11076: 13, 11, 39
+11077: 13, 11, 40
+11078: 13, 11, 41
+11079: 13, 11, 42
+11080: 13, 11, 43
+11081: 13, 11, 44
+11082: 13, 11, 45
+11083: 13, 11, 46
+11084: 13, 11, 47
+11085: 13, 12, 0
+11086: 13, 12, 1
+11087: 13, 12, 2
+11088: 13, 12, 3
+11089: 13, 12, 4
+11090: 13, 12, 5
+11091: 13, 12, 6
+11092: 13, 12, 7
+11093: 13, 12, 8
+11094: 13, 12, 9
+11095: 13, 12, 10
+11096: 13, 12, 11
+11097: 13, 12, 12
+11098: 13, 12, 13
+11099: 13, 12, 14
+11100: 13, 12, 15
+11101: 13, 12, 16
+11102: 13, 12, 17
+11103: 13, 12, 18
+11104: 13, 12, 19
+11105: 13, 12, 20
+11106: 13, 12, 21
+11107: 13, 12, 22
+11108: 13, 12, 23
+11109: 13, 12, 24
+11110: 13, 12, 25
+11111: 13, 12, 26
+11112: 13, 12, 27
+11113: 13, 12, 28
+11114: 13, 12, 29
+11115: 13, 12, 30
+11116: 13, 12, 31
+11117: 13, 12, 32
+11118: 13, 12, 33
+11119: 13, 12, 34
+11120: 13, 12, 35
+11121: 13, 12, 36
+11122: 13, 12, 37
+11123: 13, 12, 38
+11124: 13, 12, 39
+11125: 13, 12, 40
+11126: 13, 13, 0
+11127: 13, 13, 1
+11128: 13, 13, 2
+11129: 13, 13, 3
+11130: 13, 13, 4
+11131: 13, 13, 5
+11132: 13, 13, 6
+11133: 13, 13, 7
+11134: 13, 13, 8
+11135: 13, 13, 9
+11136: 13, 13, 10
+11137: 13, 13, 11
+11138: 13, 13, 12
+11139: 13, 13, 13
+11140: 13, 13, 14
+11141: 13, 14, 0
+11142: 13, 14, 1
+11143: 13, 14, 2
+11144: 13, 14, 3
+11145: 13, 14, 4
+11146: 13, 14, 5
+11147: 13, 14, 6
+11148: 13, 14, 7
+11149: 13, 14, 8
+11150: 13, 14, 9
+11151: 13, 14, 10
+11152: 13, 14, 11
+11153: 13, 14, 12
+11154: 13, 14, 13
+11155: 13, 14, 14
+11156: 13, 14, 15
+11157: 13, 14, 16
+11158: 13, 14, 17
+11159: 13, 15, 0
+11160: 13, 15, 1
+11161: 13, 15, 2
+11162: 13, 15, 3
+11163: 13, 15, 4
+11164: 13, 15, 5
+11165: 13, 15, 6
+11166: 13, 15, 7
+11167: 13, 15, 8
+11168: 13, 15, 9
+11169: 13, 15, 10
+11170: 13, 15, 11
+11171: 13, 15, 12
+11172: 13, 15, 13
+11173: 13, 15, 14
+11174: 13, 15, 15
+11175: 13, 15, 16
+11176: 13, 15, 17
+11177: 13, 15, 18
+11178: 13, 15, 19
+11179: 13, 15, 20
+11180: 13, 15, 21
+11181: 13, 15, 22
+11182: 13, 15, 23
+11183: 13, 15, 24
+11184: 13, 15, 25
+11185: 13, 15, 26
+11186: 13, 15, 27
+11187: 13, 15, 28
+11188: 13, 15, 29
+11189: 13, 16, 0
+11190: 13, 16, 1
+11191: 13, 16, 2
+11192: 13, 16, 3
+11193: 13, 16, 4
+11194: 13, 16, 5
+11195: 13, 16, 6
+11196: 13, 16, 7
+11197: 13, 16, 8
+11198: 13, 16, 9
+11199: 13, 16, 10
+11200: 13, 16, 11
+11201: 13, 16, 12
+11202: 13, 16, 13
+11203: 13, 16, 14
+11204: 13, 16, 15
+11205: 13, 16, 16
+11206: 13, 16, 17
+11207: 13, 16, 18
+11208: 13, 16, 19
+11209: 13, 16, 20
+11210: 13, 16, 21
+11211: 13, 16, 22
+11212: 13, 16, 23
+11213: 13, 16, 24
+11214: 13, 16, 25
+11215: 13, 16, 26
+11216: 13, 16, 27
+11217: 13, 16, 28
+11218: 13, 16, 29
+11219: 13, 16, 30
+11220: 13, 16, 31
+11221: 13, 16, 32
+11222: 13, 16, 33
+11223: 13, 16, 34
+11224: 13, 16, 35
+11225: 13, 16, 36
+11226: 13, 16, 37
+11227: 13, 16, 38
+11228: 13, 16, 39
+11229: 13, 16, 40
+11230: 13, 16, 41
+11231: 13, 16, 42
+11232: 13, 16, 43
+11233: 13, 17, 0
+11234: 13, 17, 1
+11235: 13, 17, 2
+11236: 13, 17, 3
+11237: 13, 17, 4
+11238: 13, 17, 5
+11239: 13, 17, 6
+11240: 13, 17, 7
+11241: 13, 17, 8
+11242: 13, 17, 9
+11243: 13, 17, 10
+11244: 13, 17, 11
+11245: 13, 17, 12
+11246: 13, 17, 13
+11247: 13, 17, 14
+11248: 13, 17, 15
+11249: 13, 17, 16
+11250: 13, 17, 17
+11251: 13, 17, 18
+11252: 13, 17, 19
+11253: 13, 17, 20
+11254: 13, 17, 21
+11255: 13, 17, 22
+11256: 13, 17, 23
+11257: 13, 17, 24
+11258: 13, 17, 25
+11259: 13, 17, 26
+11260: 13, 17, 27
+11261: 13, 18, 0
+11262: 13, 18, 1
+11263: 13, 18, 2
+11264: 13, 18, 3
+11265: 13, 18, 4
+11266: 13, 18, 5
+11267: 13, 18, 6
+11268: 13, 18, 7
+11269: 13, 18, 8
+11270: 13, 18, 9
+11271: 13, 18, 10
+11272: 13, 18, 11
+11273: 13, 18, 12
+11274: 13, 18, 13
+11275: 13, 18, 14
+11276: 13, 18, 15
+11277: 13, 18, 16
+11278: 13, 18, 17
+11279: 13, 19, 0
+11280: 13, 19, 1
+11281: 13, 19, 2
+11282: 13, 19, 3
+11283: 13, 19, 4
+11284: 13, 19, 5
+11285: 13, 19, 6
+11286: 13, 19, 7
+11287: 13, 19, 8
+11288: 13, 19, 9
+11289: 13, 19, 10
+11290: 13, 19, 11
+11291: 13, 19, 12
+11292: 13, 19, 13
+11293: 13, 19, 14
+11294: 13, 19, 15
+11295: 13, 19, 16
+11296: 13, 19, 17
+11297: 13, 19, 18
+11298: 13, 19, 19
+11299: 13, 20, 0
+11300: 13, 20, 1
+11301: 13, 20, 2
+11302: 13, 20, 3
+11303: 13, 20, 4
+11304: 13, 20, 5
+11305: 13, 20, 6
+11306: 13, 20, 7
+11307: 13, 20, 8
+11308: 13, 21, 0
+11309: 13, 21, 1
+11310: 13, 21, 2
+11311: 13, 21, 3
+11312: 13, 21, 4
+11313: 13, 21, 5
+11314: 13, 21, 6
+11315: 13, 21, 7
+11316: 13, 21, 8
+11317: 13, 21, 9
+11318: 13, 21, 10
+11319: 13, 21, 11
+11320: 13, 21, 12
+11321: 13, 21, 13
+11322: 13, 21, 14
+11323: 13, 21, 15
+11324: 13, 21, 16
+11325: 13, 21, 17
+11326: 13, 21, 18
+11327: 13, 21, 19
+11328: 13, 21, 20
+11329: 13, 21, 21
+11330: 13, 21, 22
+11331: 13, 21, 23
+11332: 13, 21, 24
+11333: 13, 21, 25
+11334: 13, 21, 26
+11335: 13, 21, 27
+11336: 13, 21, 28
+11337: 13, 21, 29
+11338: 13, 21, 30
+11339: 13, 22, 0
+11340: 13, 22, 1
+11341: 13, 22, 2
+11342: 13, 22, 3
+11343: 13, 22, 4
+11344: 13, 22, 5
+11345: 13, 22, 6
+11346: 13, 22, 7
+11347: 13, 22, 8
+11348: 13, 22, 9
+11349: 13, 22, 10
+11350: 13, 22, 11
+11351: 13, 22, 12
+11352: 13, 22, 13
+11353: 13, 22, 14
+11354: 13, 22, 15
+11355: 13, 22, 16
+11356: 13, 22, 17
+11357: 13, 22, 18
+11358: 13, 22, 19
+11359: 13, 23, 0
+11360: 13, 23, 1
+11361: 13, 23, 2
+11362: 13, 23, 3
+11363: 13, 23, 4
+11364: 13, 23, 5
+11365: 13, 23, 6
+11366: 13, 23, 7
+11367: 13, 23, 8
+11368: 13, 23, 9
+11369: 13, 23, 10
+11370: 13, 23, 11
+11371: 13, 23, 12
+11372: 13, 23, 13
+11373: 13, 23, 14
+11374: 13, 23, 15
+11375: 13, 23, 16
+11376: 13, 23, 17
+11377: 13, 23, 18
+11378: 13, 23, 19
+11379: 13, 23, 20
+11380: 13, 23, 21
+11381: 13, 23, 22
+11382: 13, 23, 23
+11383: 13, 23, 24
+11384: 13, 23, 25
+11385: 13, 23, 26
+11386: 13, 23, 27
+11387: 13, 23, 28
+11388: 13, 23, 29
+11389: 13, 23, 30
+11390: 13, 23, 31
+11391: 13, 23, 32
+11392: 13, 24, 0
+11393: 13, 24, 1
+11394: 13, 24, 2
+11395: 13, 24, 3
+11396: 13, 24, 4
+11397: 13, 24, 5
+11398: 13, 24, 6
+11399: 13, 24, 7
+11400: 13, 24, 8
+11401: 13, 24, 9
+11402: 13, 24, 10
+11403: 13, 24, 11
+11404: 13, 24, 12
+11405: 13, 24, 13
+11406: 13, 24, 14
+11407: 13, 24, 15
+11408: 13, 24, 16
+11409: 13, 24, 17
+11410: 13, 24, 18
+11411: 13, 24, 19
+11412: 13, 24, 20
+11413: 13, 24, 21
+11414: 13, 24, 22
+11415: 13, 24, 23
+11416: 13, 24, 24
+11417: 13, 24, 25
+11418: 13, 24, 26
+11419: 13, 24, 27
+11420: 13, 24, 28
+11421: 13, 24, 29
+11422: 13, 24, 30
+11423: 13, 24, 31
+11424: 13, 25, 0
+11425: 13, 25, 1
+11426: 13, 25, 2
+11427: 13, 25, 3
+11428: 13, 25, 4
+11429: 13, 25, 5
+11430: 13, 25, 6
+11431: 13, 25, 7
+11432: 13, 25, 8
+11433: 13, 25, 9
+11434: 13, 25, 10
+11435: 13, 25, 11
+11436: 13, 25, 12
+11437: 13, 25, 13
+11438: 13, 25, 14
+11439: 13, 25, 15
+11440: 13, 25, 16
+11441: 13, 25, 17
+11442: 13, 25, 18
+11443: 13, 25, 19
+11444: 13, 25, 20
+11445: 13, 25, 21
+11446: 13, 25, 22
+11447: 13, 25, 23
+11448: 13, 25, 24
+11449: 13, 25, 25
+11450: 13, 25, 26
+11451: 13, 25, 27
+11452: 13, 25, 28
+11453: 13, 25, 29
+11454: 13, 25, 30
+11455: 13, 25, 31
+11456: 13, 26, 0
+11457: 13, 26, 1
+11458: 13, 26, 2
+11459: 13, 26, 3
+11460: 13, 26, 4
+11461: 13, 26, 5
+11462: 13, 26, 6
+11463: 13, 26, 7
+11464: 13, 26, 8
+11465: 13, 26, 9
+11466: 13, 26, 10
+11467: 13, 26, 11
+11468: 13, 26, 12
+11469: 13, 26, 13
+11470: 13, 26, 14
+11471: 13, 26, 15
+11472: 13, 26, 16
+11473: 13, 26, 17
+11474: 13, 26, 18
+11475: 13, 26, 19
+11476: 13, 26, 20
+11477: 13, 26, 21
+11478: 13, 26, 22
+11479: 13, 26, 23
+11480: 13, 26, 24
+11481: 13, 26, 25
+11482: 13, 26, 26
+11483: 13, 26, 27
+11484: 13, 26, 28
+11485: 13, 26, 29
+11486: 13, 26, 30
+11487: 13, 26, 31
+11488: 13, 26, 32
+11489: 13, 27, 0
+11490: 13, 27, 1
+11491: 13, 27, 2
+11492: 13, 27, 3
+11493: 13, 27, 4
+11494: 13, 27, 5
+11495: 13, 27, 6
+11496: 13, 27, 7
+11497: 13, 27, 8
+11498: 13, 27, 9
+11499: 13, 27, 10
+11500: 13, 27, 11
+11501: 13, 27, 12
+11502: 13, 27, 13
+11503: 13, 27, 14
+11504: 13, 27, 15
+11505: 13, 27, 16
+11506: 13, 27, 17
+11507: 13, 27, 18
+11508: 13, 27, 19
+11509: 13, 27, 20
+11510: 13, 27, 21
+11511: 13, 27, 22
+11512: 13, 27, 23
+11513: 13, 27, 24
+11514: 13, 27, 25
+11515: 13, 27, 26
+11516: 13, 27, 27
+11517: 13, 27, 28
+11518: 13, 27, 29
+11519: 13, 27, 30
+11520: 13, 27, 31
+11521: 13, 27, 32
+11522: 13, 27, 33
+11523: 13, 27, 34
+11524: 13, 28, 0
+11525: 13, 28, 1
+11526: 13, 28, 2
+11527: 13, 28, 3
+11528: 13, 28, 4
+11529: 13, 28, 5
+11530: 13, 28, 6
+11531: 13, 28, 7
+11532: 13, 28, 8
+11533: 13, 28, 9
+11534: 13, 28, 10
+11535: 13, 28, 11
+11536: 13, 28, 12
+11537: 13, 28, 13
+11538: 13, 28, 14
+11539: 13, 28, 15
+11540: 13, 28, 16
+11541: 13, 28, 17
+11542: 13, 28, 18
+11543: 13, 28, 19
+11544: 13, 28, 20
+11545: 13, 28, 21
+11546: 13, 29, 0
+11547: 13, 29, 1
+11548: 13, 29, 2
+11549: 13, 29, 3
+11550: 13, 29, 4
+11551: 13, 29, 5
+11552: 13, 29, 6
+11553: 13, 29, 7
+11554: 13, 29, 8
+11555: 13, 29, 9
+11556: 13, 29, 10
+11557: 13, 29, 11
+11558: 13, 29, 12
+11559: 13, 29, 13
+11560: 13, 29, 14
+11561: 13, 29, 15
+11562: 13, 29, 16
+11563: 13, 29, 17
+11564: 13, 29, 18
+11565: 13, 29, 19
+11566: 13, 29, 20
+11567: 13, 29, 21
+11568: 13, 29, 22
+11569: 13, 29, 23
+11570: 13, 29, 24
+11571: 13, 29, 25
+11572: 13, 29, 26
+11573: 13, 29, 27
+11574: 13, 29, 28
+11575: 13, 29, 29
+11576: 13, 29, 30
+11577: 14, 0, 0
+11578: 14, 1, 0
+11579: 14, 1, 1
+11580: 14, 1, 2
+11581: 14, 1, 3
+11582: 14, 1, 4
+11583: 14, 1, 5
+11584: 14, 1, 6
+11585: 14, 1, 7
+11586: 14, 1, 8
+11587: 14, 1, 9
+11588: 14, 1, 10
+11589: 14, 1, 11
+11590: 14, 1, 12
+11591: 14, 1, 13
+11592: 14, 1, 14
+11593: 14, 1, 15
+11594: 14, 1, 16
+11595: 14, 1, 17
+11596: 14, 2, 0
+11597: 14, 2, 1
+11598: 14, 2, 2
+11599: 14, 2, 3
+11600: 14, 2, 4
+11601: 14, 2, 5
+11602: 14, 2, 6
+11603: 14, 2, 7
+11604: 14, 2, 8
+11605: 14, 2, 9
+11606: 14, 2, 10
+11607: 14, 2, 11
+11608: 14, 2, 12
+11609: 14, 2, 13
+11610: 14, 2, 14
+11611: 14, 2, 15
+11612: 14, 2, 16
+11613: 14, 2, 17
+11614: 14, 2, 18
+11615: 14, 3, 0
+11616: 14, 3, 1
+11617: 14, 3, 2
+11618: 14, 3, 3
+11619: 14, 3, 4
+11620: 14, 3, 5
+11621: 14, 3, 6
+11622: 14, 3, 7
+11623: 14, 3, 8
+11624: 14, 3, 9
+11625: 14, 3, 10
+11626: 14, 3, 11
+11627: 14, 3, 12
+11628: 14, 3, 13
+11629: 14, 3, 14
+11630: 14, 3, 15
+11631: 14, 3, 16
+11632: 14, 3, 17
+11633: 14, 4, 0
+11634: 14, 4, 1
+11635: 14, 4, 2
+11636: 14, 4, 3
+11637: 14, 4, 4
+11638: 14, 4, 5
+11639: 14, 4, 6
+11640: 14, 4, 7
+11641: 14, 4, 8
+11642: 14, 4, 9
+11643: 14, 4, 10
+11644: 14, 4, 11
+11645: 14, 4, 12
+11646: 14, 4, 13
+11647: 14, 4, 14
+11648: 14, 4, 15
+11649: 14, 4, 16
+11650: 14, 4, 17
+11651: 14, 4, 18
+11652: 14, 4, 19
+11653: 14, 4, 20
+11654: 14, 4, 21
+11655: 14, 4, 22
+11656: 14, 5, 0
+11657: 14, 5, 1
+11658: 14, 5, 2
+11659: 14, 5, 3
+11660: 14, 5, 4
+11661: 14, 5, 5
+11662: 14, 5, 6
+11663: 14, 5, 7
+11664: 14, 5, 8
+11665: 14, 5, 9
+11666: 14, 5, 10
+11667: 14, 5, 11
+11668: 14, 5, 12
+11669: 14, 5, 13
+11670: 14, 5, 14
+11671: 14, 6, 0
+11672: 14, 6, 1
+11673: 14, 6, 2
+11674: 14, 6, 3
+11675: 14, 6, 4
+11676: 14, 6, 5
+11677: 14, 6, 6
+11678: 14, 6, 7
+11679: 14, 6, 8
+11680: 14, 6, 9
+11681: 14, 6, 10
+11682: 14, 6, 11
+11683: 14, 6, 12
+11684: 14, 6, 13
+11685: 14, 6, 14
+11686: 14, 6, 15
+11687: 14, 6, 16
+11688: 14, 6, 17
+11689: 14, 6, 18
+11690: 14, 6, 19
+11691: 14, 6, 20
+11692: 14, 6, 21
+11693: 14, 6, 22
+11694: 14, 6, 23
+11695: 14, 6, 24
+11696: 14, 6, 25
+11697: 14, 6, 26
+11698: 14, 6, 27
+11699: 14, 6, 28
+11700: 14, 6, 29
+11701: 14, 6, 30
+11702: 14, 6, 31
+11703: 14, 6, 32
+11704: 14, 6, 33
+11705: 14, 6, 34
+11706: 14, 6, 35
+11707: 14, 6, 36
+11708: 14, 6, 37
+11709: 14, 6, 38
+11710: 14, 6, 39
+11711: 14, 6, 40
+11712: 14, 6, 41
+11713: 14, 6, 42
+11714: 14, 7, 0
+11715: 14, 7, 1
+11716: 14, 7, 2
+11717: 14, 7, 3
+11718: 14, 7, 4
+11719: 14, 7, 5
+11720: 14, 7, 6
+11721: 14, 7, 7
+11722: 14, 7, 8
+11723: 14, 7, 9
+11724: 14, 7, 10
+11725: 14, 7, 11
+11726: 14, 7, 12
+11727: 14, 7, 13
+11728: 14, 7, 14
+11729: 14, 7, 15
+11730: 14, 7, 16
+11731: 14, 7, 17
+11732: 14, 7, 18
+11733: 14, 7, 19
+11734: 14, 7, 20
+11735: 14, 7, 21
+11736: 14, 7, 22
+11737: 14, 8, 0
+11738: 14, 8, 1
+11739: 14, 8, 2
+11740: 14, 8, 3
+11741: 14, 8, 4
+11742: 14, 8, 5
+11743: 14, 8, 6
+11744: 14, 8, 7
+11745: 14, 8, 8
+11746: 14, 8, 9
+11747: 14, 8, 10
+11748: 14, 8, 11
+11749: 14, 8, 12
+11750: 14, 8, 13
+11751: 14, 8, 14
+11752: 14, 8, 15
+11753: 14, 8, 16
+11754: 14, 8, 17
+11755: 14, 8, 18
+11756: 14, 9, 0
+11757: 14, 9, 1
+11758: 14, 9, 2
+11759: 14, 9, 3
+11760: 14, 9, 4
+11761: 14, 9, 5
+11762: 14, 9, 6
+11763: 14, 9, 7
+11764: 14, 9, 8
+11765: 14, 9, 9
+11766: 14, 9, 10
+11767: 14, 9, 11
+11768: 14, 9, 12
+11769: 14, 9, 13
+11770: 14, 9, 14
+11771: 14, 9, 15
+11772: 14, 9, 16
+11773: 14, 9, 17
+11774: 14, 9, 18
+11775: 14, 9, 19
+11776: 14, 9, 20
+11777: 14, 9, 21
+11778: 14, 9, 22
+11779: 14, 9, 23
+11780: 14, 9, 24
+11781: 14, 9, 25
+11782: 14, 9, 26
+11783: 14, 9, 27
+11784: 14, 9, 28
+11785: 14, 9, 29
+11786: 14, 9, 30
+11787: 14, 9, 31
+11788: 14, 10, 0
+11789: 14, 10, 1
+11790: 14, 10, 2
+11791: 14, 10, 3
+11792: 14, 10, 4
+11793: 14, 10, 5
+11794: 14, 10, 6
+11795: 14, 10, 7
+11796: 14, 10, 8
+11797: 14, 10, 9
+11798: 14, 10, 10
+11799: 14, 10, 11
+11800: 14, 10, 12
+11801: 14, 10, 13
+11802: 14, 10, 14
+11803: 14, 10, 15
+11804: 14, 10, 16
+11805: 14, 10, 17
+11806: 14, 10, 18
+11807: 14, 10, 19
+11808: 14, 11, 0
+11809: 14, 11, 1
+11810: 14, 11, 2
+11811: 14, 11, 3
+11812: 14, 11, 4
+11813: 14, 11, 5
+11814: 14, 11, 6
+11815: 14, 11, 7
+11816: 14, 11, 8
+11817: 14, 11, 9
+11818: 14, 11, 10
+11819: 14, 11, 11
+11820: 14, 11, 12
+11821: 14, 11, 13
+11822: 14, 11, 14
+11823: 14, 11, 15
+11824: 14, 11, 16
+11825: 14, 11, 17
+11826: 14, 11, 18
+11827: 14, 11, 19
+11828: 14, 11, 20
+11829: 14, 11, 21
+11830: 14, 11, 22
+11831: 14, 11, 23
+11832: 14, 12, 0
+11833: 14, 12, 1
+11834: 14, 12, 2
+11835: 14, 12, 3
+11836: 14, 12, 4
+11837: 14, 12, 5
+11838: 14, 12, 6
+11839: 14, 12, 7
+11840: 14, 12, 8
+11841: 14, 12, 9
+11842: 14, 12, 10
+11843: 14, 12, 11
+11844: 14, 12, 12
+11845: 14, 12, 13
+11846: 14, 12, 14
+11847: 14, 12, 15
+11848: 14, 12, 16
+11849: 14, 13, 0
+11850: 14, 13, 1
+11851: 14, 13, 2
+11852: 14, 13, 3
+11853: 14, 13, 4
+11854: 14, 13, 5
+11855: 14, 13, 6
+11856: 14, 13, 7
+11857: 14, 13, 8
+11858: 14, 13, 9
+11859: 14, 13, 10
+11860: 14, 13, 11
+11861: 14, 13, 12
+11862: 14, 13, 13
+11863: 14, 13, 14
+11864: 14, 13, 15
+11865: 14, 13, 16
+11866: 14, 13, 17
+11867: 14, 13, 18
+11868: 14, 13, 19
+11869: 14, 13, 20
+11870: 14, 13, 21
+11871: 14, 13, 22
+11872: 14, 14, 0
+11873: 14, 14, 1
+11874: 14, 14, 2
+11875: 14, 14, 3
+11876: 14, 14, 4
+11877: 14, 14, 5
+11878: 14, 14, 6
+11879: 14, 14, 7
+11880: 14, 14, 8
+11881: 14, 14, 9
+11882: 14, 14, 10
+11883: 14, 14, 11
+11884: 14, 14, 12
+11885: 14, 14, 13
+11886: 14, 14, 14
+11887: 14, 14, 15
+11888: 14, 15, 0
+11889: 14, 15, 1
+11890: 14, 15, 2
+11891: 14, 15, 3
+11892: 14, 15, 4
+11893: 14, 15, 5
+11894: 14, 15, 6
+11895: 14, 15, 7
+11896: 14, 15, 8
+11897: 14, 15, 9
+11898: 14, 15, 10
+11899: 14, 15, 11
+11900: 14, 15, 12
+11901: 14, 15, 13
+11902: 14, 15, 14
+11903: 14, 15, 15
+11904: 14, 15, 16
+11905: 14, 15, 17
+11906: 14, 15, 18
+11907: 14, 15, 19
+11908: 14, 16, 0
+11909: 14, 16, 1
+11910: 14, 16, 2
+11911: 14, 16, 3
+11912: 14, 16, 4
+11913: 14, 16, 5
+11914: 14, 16, 6
+11915: 14, 16, 7
+11916: 14, 16, 8
+11917: 14, 16, 9
+11918: 14, 16, 10
+11919: 14, 16, 11
+11920: 14, 16, 12
+11921: 14, 16, 13
+11922: 14, 16, 14
+11923: 14, 17, 0
+11924: 14, 17, 1
+11925: 14, 17, 2
+11926: 14, 17, 3
+11927: 14, 17, 4
+11928: 14, 17, 5
+11929: 14, 17, 6
+11930: 14, 17, 7
+11931: 14, 17, 8
+11932: 14, 17, 9
+11933: 14, 17, 10
+11934: 14, 17, 11
+11935: 14, 17, 12
+11936: 14, 17, 13
+11937: 14, 17, 14
+11938: 14, 17, 15
+11939: 14, 17, 16
+11940: 14, 17, 17
+11941: 14, 17, 18
+11942: 14, 17, 19
+11943: 14, 18, 0
+11944: 14, 18, 1
+11945: 14, 18, 2
+11946: 14, 18, 3
+11947: 14, 18, 4
+11948: 14, 18, 5
+11949: 14, 18, 6
+11950: 14, 18, 7
+11951: 14, 18, 8
+11952: 14, 18, 9
+11953: 14, 18, 10
+11954: 14, 18, 11
+11955: 14, 18, 12
+11956: 14, 18, 13
+11957: 14, 18, 14
+11958: 14, 18, 15
+11959: 14, 18, 16
+11960: 14, 18, 17
+11961: 14, 18, 18
+11962: 14, 18, 19
+11963: 14, 18, 20
+11964: 14, 18, 21
+11965: 14, 18, 22
+11966: 14, 18, 23
+11967: 14, 18, 24
+11968: 14, 18, 25
+11969: 14, 18, 26
+11970: 14, 18, 27
+11971: 14, 18, 28
+11972: 14, 18, 29
+11973: 14, 18, 30
+11974: 14, 18, 31
+11975: 14, 18, 32
+11976: 14, 18, 33
+11977: 14, 18, 34
+11978: 14, 19, 0
+11979: 14, 19, 1
+11980: 14, 19, 2
+11981: 14, 19, 3
+11982: 14, 19, 4
+11983: 14, 19, 5
+11984: 14, 19, 6
+11985: 14, 19, 7
+11986: 14, 19, 8
+11987: 14, 19, 9
+11988: 14, 19, 10
+11989: 14, 19, 11
+11990: 14, 20, 0
+11991: 14, 20, 1
+11992: 14, 20, 2
+11993: 14, 20, 3
+11994: 14, 20, 4
+11995: 14, 20, 5
+11996: 14, 20, 6
+11997: 14, 20, 7
+11998: 14, 20, 8
+11999: 14, 20, 9
+12000: 14, 20, 10
+12001: 14, 20, 11
+12002: 14, 20, 12
+12003: 14, 20, 13
+12004: 14, 20, 14
+12005: 14, 20, 15
+12006: 14, 20, 16
+12007: 14, 20, 17
+12008: 14, 20, 18
+12009: 14, 20, 19
+12010: 14, 20, 20
+12011: 14, 20, 21
+12012: 14, 20, 22
+12013: 14, 20, 23
+12014: 14, 20, 24
+12015: 14, 20, 25
+12016: 14, 20, 26
+12017: 14, 20, 27
+12018: 14, 20, 28
+12019: 14, 20, 29
+12020: 14, 20, 30
+12021: 14, 20, 31
+12022: 14, 20, 32
+12023: 14, 20, 33
+12024: 14, 20, 34
+12025: 14, 20, 35
+12026: 14, 20, 36
+12027: 14, 20, 37
+12028: 14, 21, 0
+12029: 14, 21, 1
+12030: 14, 21, 2
+12031: 14, 21, 3
+12032: 14, 21, 4
+12033: 14, 21, 5
+12034: 14, 21, 6
+12035: 14, 21, 7
+12036: 14, 21, 8
+12037: 14, 21, 9
+12038: 14, 21, 10
+12039: 14, 21, 11
+12040: 14, 21, 12
+12041: 14, 21, 13
+12042: 14, 21, 14
+12043: 14, 21, 15
+12044: 14, 21, 16
+12045: 14, 21, 17
+12046: 14, 21, 18
+12047: 14, 21, 19
+12048: 14, 21, 20
+12049: 14, 22, 0
+12050: 14, 22, 1
+12051: 14, 22, 2
+12052: 14, 22, 3
+12053: 14, 22, 4
+12054: 14, 22, 5
+12055: 14, 22, 6
+12056: 14, 22, 7
+12057: 14, 22, 8
+12058: 14, 22, 9
+12059: 14, 22, 10
+12060: 14, 22, 11
+12061: 14, 22, 12
+12062: 14, 23, 0
+12063: 14, 23, 1
+12064: 14, 23, 2
+12065: 14, 23, 3
+12066: 14, 23, 4
+12067: 14, 23, 5
+12068: 14, 23, 6
+12069: 14, 23, 7
+12070: 14, 23, 8
+12071: 14, 23, 9
+12072: 14, 23, 10
+12073: 14, 23, 11
+12074: 14, 23, 12
+12075: 14, 23, 13
+12076: 14, 23, 14
+12077: 14, 23, 15
+12078: 14, 23, 16
+12079: 14, 23, 17
+12080: 14, 23, 18
+12081: 14, 23, 19
+12082: 14, 23, 20
+12083: 14, 23, 21
+12084: 14, 24, 0
+12085: 14, 24, 1
+12086: 14, 24, 2
+12087: 14, 24, 3
+12088: 14, 24, 4
+12089: 14, 24, 5
+12090: 14, 24, 6
+12091: 14, 24, 7
+12092: 14, 24, 8
+12093: 14, 24, 9
+12094: 14, 24, 10
+12095: 14, 24, 11
+12096: 14, 24, 12
+12097: 14, 24, 13
+12098: 14, 24, 14
+12099: 14, 24, 15
+12100: 14, 24, 16
+12101: 14, 24, 17
+12102: 14, 24, 18
+12103: 14, 24, 19
+12104: 14, 24, 20
+12105: 14, 24, 21
+12106: 14, 24, 22
+12107: 14, 24, 23
+12108: 14, 24, 24
+12109: 14, 24, 25
+12110: 14, 24, 26
+12111: 14, 24, 27
+12112: 14, 25, 0
+12113: 14, 25, 1
+12114: 14, 25, 2
+12115: 14, 25, 3
+12116: 14, 25, 4
+12117: 14, 25, 5
+12118: 14, 25, 6
+12119: 14, 25, 7
+12120: 14, 25, 8
+12121: 14, 25, 9
+12122: 14, 25, 10
+12123: 14, 25, 11
+12124: 14, 25, 12
+12125: 14, 25, 13
+12126: 14, 25, 14
+12127: 14, 25, 15
+12128: 14, 25, 16
+12129: 14, 25, 17
+12130: 14, 25, 18
+12131: 14, 25, 19
+12132: 14, 25, 20
+12133: 14, 25, 21
+12134: 14, 25, 22
+12135: 14, 25, 23
+12136: 14, 25, 24
+12137: 14, 25, 25
+12138: 14, 25, 26
+12139: 14, 25, 27
+12140: 14, 25, 28
+12141: 14, 26, 0
+12142: 14, 26, 1
+12143: 14, 26, 2
+12144: 14, 26, 3
+12145: 14, 26, 4
+12146: 14, 26, 5
+12147: 14, 26, 6
+12148: 14, 26, 7
+12149: 14, 26, 8
+12150: 14, 26, 9
+12151: 14, 26, 10
+12152: 14, 26, 11
+12153: 14, 26, 12
+12154: 14, 26, 13
+12155: 14, 26, 14
+12156: 14, 26, 15
+12157: 14, 26, 16
+12158: 14, 26, 17
+12159: 14, 26, 18
+12160: 14, 26, 19
+12161: 14, 26, 20
+12162: 14, 26, 21
+12163: 14, 26, 22
+12164: 14, 26, 23
+12165: 14, 27, 0
+12166: 14, 27, 1
+12167: 14, 27, 2
+12168: 14, 27, 3
+12169: 14, 27, 4
+12170: 14, 27, 5
+12171: 14, 27, 6
+12172: 14, 27, 7
+12173: 14, 27, 8
+12174: 14, 27, 9
+12175: 14, 28, 0
+12176: 14, 28, 1
+12177: 14, 28, 2
+12178: 14, 28, 3
+12179: 14, 28, 4
+12180: 14, 28, 5
+12181: 14, 28, 6
+12182: 14, 28, 7
+12183: 14, 28, 8
+12184: 14, 28, 9
+12185: 14, 28, 10
+12186: 14, 28, 11
+12187: 14, 28, 12
+12188: 14, 28, 13
+12189: 14, 28, 14
+12190: 14, 28, 15
+12191: 14, 28, 16
+12192: 14, 28, 17
+12193: 14, 28, 18
+12194: 14, 28, 19
+12195: 14, 28, 20
+12196: 14, 28, 21
+12197: 14, 28, 22
+12198: 14, 28, 23
+12199: 14, 28, 24
+12200: 14, 28, 25
+12201: 14, 28, 26
+12202: 14, 28, 27
+12203: 14, 29, 0
+12204: 14, 29, 1
+12205: 14, 29, 2
+12206: 14, 29, 3
+12207: 14, 29, 4
+12208: 14, 29, 5
+12209: 14, 29, 6
+12210: 14, 29, 7
+12211: 14, 29, 8
+12212: 14, 29, 9
+12213: 14, 29, 10
+12214: 14, 29, 11
+12215: 14, 29, 12
+12216: 14, 29, 13
+12217: 14, 29, 14
+12218: 14, 29, 15
+12219: 14, 29, 16
+12220: 14, 29, 17
+12221: 14, 29, 18
+12222: 14, 29, 19
+12223: 14, 29, 20
+12224: 14, 29, 21
+12225: 14, 29, 22
+12226: 14, 29, 23
+12227: 14, 29, 24
+12228: 14, 29, 25
+12229: 14, 29, 26
+12230: 14, 29, 27
+12231: 14, 29, 28
+12232: 14, 29, 29
+12233: 14, 29, 30
+12234: 14, 29, 31
+12235: 14, 29, 32
+12236: 14, 29, 33
+12237: 14, 29, 34
+12238: 14, 29, 35
+12239: 14, 29, 36
+12240: 14, 30, 0
+12241: 14, 30, 1
+12242: 14, 30, 2
+12243: 14, 30, 3
+12244: 14, 30, 4
+12245: 14, 30, 5
+12246: 14, 30, 6
+12247: 14, 30, 7
+12248: 14, 30, 8
+12249: 14, 30, 9
+12250: 14, 30, 10
+12251: 14, 30, 11
+12252: 14, 30, 12
+12253: 14, 30, 13
+12254: 14, 30, 14
+12255: 14, 30, 15
+12256: 14, 30, 16
+12257: 14, 30, 17
+12258: 14, 30, 18
+12259: 14, 30, 19
+12260: 14, 30, 20
+12261: 14, 30, 21
+12262: 14, 30, 22
+12263: 14, 30, 23
+12264: 14, 30, 24
+12265: 14, 30, 25
+12266: 14, 30, 26
+12267: 14, 30, 27
+12268: 14, 31, 0
+12269: 14, 31, 1
+12270: 14, 31, 2
+12271: 14, 31, 3
+12272: 14, 31, 4
+12273: 14, 31, 5
+12274: 14, 31, 6
+12275: 14, 31, 7
+12276: 14, 31, 8
+12277: 14, 31, 9
+12278: 14, 31, 10
+12279: 14, 31, 11
+12280: 14, 31, 12
+12281: 14, 31, 13
+12282: 14, 31, 14
+12283: 14, 31, 15
+12284: 14, 31, 16
+12285: 14, 31, 17
+12286: 14, 31, 18
+12287: 14, 31, 19
+12288: 14, 31, 20
+12289: 14, 31, 21
+12290: 14, 32, 0
+12291: 14, 32, 1
+12292: 14, 32, 2
+12293: 14, 32, 3
+12294: 14, 32, 4
+12295: 14, 32, 5
+12296: 14, 32, 6
+12297: 14, 32, 7
+12298: 14, 32, 8
+12299: 14, 32, 9
+12300: 14, 32, 10
+12301: 14, 32, 11
+12302: 14, 32, 12
+12303: 14, 32, 13
+12304: 14, 32, 14
+12305: 14, 32, 15
+12306: 14, 32, 16
+12307: 14, 32, 17
+12308: 14, 32, 18
+12309: 14, 32, 19
+12310: 14, 32, 20
+12311: 14, 32, 21
+12312: 14, 32, 22
+12313: 14, 32, 23
+12314: 14, 32, 24
+12315: 14, 32, 25
+12316: 14, 32, 26
+12317: 14, 32, 27
+12318: 14, 32, 28
+12319: 14, 32, 29
+12320: 14, 32, 30
+12321: 14, 32, 31
+12322: 14, 32, 32
+12323: 14, 32, 33
+12324: 14, 33, 0
+12325: 14, 33, 1
+12326: 14, 33, 2
+12327: 14, 33, 3
+12328: 14, 33, 4
+12329: 14, 33, 5
+12330: 14, 33, 6
+12331: 14, 33, 7
+12332: 14, 33, 8
+12333: 14, 33, 9
+12334: 14, 33, 10
+12335: 14, 33, 11
+12336: 14, 33, 12
+12337: 14, 33, 13
+12338: 14, 33, 14
+12339: 14, 33, 15
+12340: 14, 33, 16
+12341: 14, 33, 17
+12342: 14, 33, 18
+12343: 14, 33, 19
+12344: 14, 33, 20
+12345: 14, 33, 21
+12346: 14, 33, 22
+12347: 14, 33, 23
+12348: 14, 33, 24
+12349: 14, 33, 25
+12350: 14, 34, 0
+12351: 14, 34, 1
+12352: 14, 34, 2
+12353: 14, 34, 3
+12354: 14, 34, 4
+12355: 14, 34, 5
+12356: 14, 34, 6
+12357: 14, 34, 7
+12358: 14, 34, 8
+12359: 14, 34, 9
+12360: 14, 34, 10
+12361: 14, 34, 11
+12362: 14, 34, 12
+12363: 14, 34, 13
+12364: 14, 34, 14
+12365: 14, 34, 15
+12366: 14, 34, 16
+12367: 14, 34, 17
+12368: 14, 34, 18
+12369: 14, 34, 19
+12370: 14, 34, 20
+12371: 14, 34, 21
+12372: 14, 34, 22
+12373: 14, 34, 23
+12374: 14, 34, 24
+12375: 14, 34, 25
+12376: 14, 34, 26
+12377: 14, 34, 27
+12378: 14, 34, 28
+12379: 14, 34, 29
+12380: 14, 34, 30
+12381: 14, 34, 31
+12382: 14, 34, 32
+12383: 14, 34, 33
+12384: 14, 35, 0
+12385: 14, 35, 1
+12386: 14, 35, 2
+12387: 14, 35, 3
+12388: 14, 35, 4
+12389: 14, 35, 5
+12390: 14, 35, 6
+12391: 14, 35, 7
+12392: 14, 35, 8
+12393: 14, 35, 9
+12394: 14, 35, 10
+12395: 14, 35, 11
+12396: 14, 35, 12
+12397: 14, 35, 13
+12398: 14, 35, 14
+12399: 14, 35, 15
+12400: 14, 35, 16
+12401: 14, 35, 17
+12402: 14, 35, 18
+12403: 14, 35, 19
+12404: 14, 35, 20
+12405: 14, 35, 21
+12406: 14, 35, 22
+12407: 14, 35, 23
+12408: 14, 35, 24
+12409: 14, 35, 25
+12410: 14, 35, 26
+12411: 14, 35, 27
+12412: 14, 36, 0
+12413: 14, 36, 1
+12414: 14, 36, 2
+12415: 14, 36, 3
+12416: 14, 36, 4
+12417: 14, 36, 5
+12418: 14, 36, 6
+12419: 14, 36, 7
+12420: 14, 36, 8
+12421: 14, 36, 9
+12422: 14, 36, 10
+12423: 14, 36, 11
+12424: 14, 36, 12
+12425: 14, 36, 13
+12426: 14, 36, 14
+12427: 14, 36, 15
+12428: 14, 36, 16
+12429: 14, 36, 17
+12430: 14, 36, 18
+12431: 14, 36, 19
+12432: 14, 36, 20
+12433: 14, 36, 21
+12434: 14, 36, 22
+12435: 14, 36, 23
+12436: 15, 0, 0
+12437: 15, 1, 0
+12438: 15, 1, 1
+12439: 15, 1, 2
+12440: 15, 1, 3
+12441: 15, 1, 4
+12442: 15, 1, 5
+12443: 15, 1, 6
+12444: 15, 1, 7
+12445: 15, 1, 8
+12446: 15, 1, 9
+12447: 15, 1, 10
+12448: 15, 1, 11
+12449: 15, 2, 0
+12450: 15, 2, 1
+12451: 15, 2, 2
+12452: 15, 2, 3
+12453: 15, 2, 4
+12454: 15, 2, 5
+12455: 15, 2, 6
+12456: 15, 2, 7
+12457: 15, 2, 8
+12458: 15, 2, 9
+12459: 15, 2, 10
+12460: 15, 2, 11
+12461: 15, 2, 12
+12462: 15, 2, 13
+12463: 15, 2, 14
+12464: 15, 2, 15
+12465: 15, 2, 16
+12466: 15, 2, 17
+12467: 15, 2, 18
+12468: 15, 2, 19
+12469: 15, 2, 20
+12470: 15, 2, 21
+12471: 15, 2, 22
+12472: 15, 2, 23
+12473: 15, 2, 24
+12474: 15, 2, 25
+12475: 15, 2, 26
+12476: 15, 2, 27
+12477: 15, 2, 28
+12478: 15, 2, 29
+12479: 15, 2, 30
+12480: 15, 2, 31
+12481: 15, 2, 32
+12482: 15, 2, 33
+12483: 15, 2, 34
+12484: 15, 2, 35
+12485: 15, 2, 36
+12486: 15, 2, 37
+12487: 15, 2, 38
+12488: 15, 2, 39
+12489: 15, 2, 40
+12490: 15, 2, 41
+12491: 15, 2, 42
+12492: 15, 2, 43
+12493: 15, 2, 44
+12494: 15, 2, 45
+12495: 15, 2, 46
+12496: 15, 2, 47
+12497: 15, 2, 48
+12498: 15, 2, 49
+12499: 15, 2, 50
+12500: 15, 2, 51
+12501: 15, 2, 52
+12502: 15, 2, 53
+12503: 15, 2, 54
+12504: 15, 2, 55
+12505: 15, 2, 56
+12506: 15, 2, 57
+12507: 15, 2, 58
+12508: 15, 2, 59
+12509: 15, 2, 60
+12510: 15, 2, 61
+12511: 15, 2, 62
+12512: 15, 2, 63
+12513: 15, 2, 64
+12514: 15, 2, 65
+12515: 15, 2, 66
+12516: 15, 2, 67
+12517: 15, 2, 68
+12518: 15, 2, 69
+12519: 15, 2, 70
+12520: 15, 3, 0
+12521: 15, 3, 1
+12522: 15, 3, 2
+12523: 15, 3, 3
+12524: 15, 3, 4
+12525: 15, 3, 5
+12526: 15, 3, 6
+12527: 15, 3, 7
+12528: 15, 3, 8
+12529: 15, 3, 9
+12530: 15, 3, 10
+12531: 15, 3, 11
+12532: 15, 3, 12
+12533: 15, 3, 13
+12534: 15, 4, 0
+12535: 15, 4, 1
+12536: 15, 4, 2
+12537: 15, 4, 3
+12538: 15, 4, 4
+12539: 15, 4, 5
+12540: 15, 4, 6
+12541: 15, 4, 7
+12542: 15, 4, 8
+12543: 15, 4, 9
+12544: 15, 4, 10
+12545: 15, 4, 11
+12546: 15, 4, 12
+12547: 15, 4, 13
+12548: 15, 4, 14
+12549: 15, 4, 15
+12550: 15, 4, 16
+12551: 15, 4, 17
+12552: 15, 4, 18
+12553: 15, 4, 19
+12554: 15, 4, 20
+12555: 15, 4, 21
+12556: 15, 4, 22
+12557: 15, 4, 23
+12558: 15, 4, 24
+12559: 15, 5, 0
+12560: 15, 5, 1
+12561: 15, 5, 2
+12562: 15, 5, 3
+12563: 15, 5, 4
+12564: 15, 5, 5
+12565: 15, 5, 6
+12566: 15, 5, 7
+12567: 15, 5, 8
+12568: 15, 5, 9
+12569: 15, 5, 10
+12570: 15, 5, 11
+12571: 15, 5, 12
+12572: 15, 5, 13
+12573: 15, 5, 14
+12574: 15, 5, 15
+12575: 15, 5, 16
+12576: 15, 5, 17
+12577: 15, 6, 0
+12578: 15, 6, 1
+12579: 15, 6, 2
+12580: 15, 6, 3
+12581: 15, 6, 4
+12582: 15, 6, 5
+12583: 15, 6, 6
+12584: 15, 6, 7
+12585: 15, 6, 8
+12586: 15, 6, 9
+12587: 15, 6, 10
+12588: 15, 6, 11
+12589: 15, 6, 12
+12590: 15, 6, 13
+12591: 15, 6, 14
+12592: 15, 6, 15
+12593: 15, 6, 16
+12594: 15, 6, 17
+12595: 15, 6, 18
+12596: 15, 6, 19
+12597: 15, 6, 20
+12598: 15, 6, 21
+12599: 15, 6, 22
+12600: 15, 7, 0
+12601: 15, 7, 1
+12602: 15, 7, 2
+12603: 15, 7, 3
+12604: 15, 7, 4
+12605: 15, 7, 5
+12606: 15, 7, 6
+12607: 15, 7, 7
+12608: 15, 7, 8
+12609: 15, 7, 9
+12610: 15, 7, 10
+12611: 15, 7, 11
+12612: 15, 7, 12
+12613: 15, 7, 13
+12614: 15, 7, 14
+12615: 15, 7, 15
+12616: 15, 7, 16
+12617: 15, 7, 17
+12618: 15, 7, 18
+12619: 15, 7, 19
+12620: 15, 7, 20
+12621: 15, 7, 21
+12622: 15, 7, 22
+12623: 15, 7, 23
+12624: 15, 7, 24
+12625: 15, 7, 25
+12626: 15, 7, 26
+12627: 15, 7, 27
+12628: 15, 7, 28
+12629: 15, 8, 0
+12630: 15, 8, 1
+12631: 15, 8, 2
+12632: 15, 8, 3
+12633: 15, 8, 4
+12634: 15, 8, 5
+12635: 15, 8, 6
+12636: 15, 8, 7
+12637: 15, 8, 8
+12638: 15, 8, 9
+12639: 15, 8, 10
+12640: 15, 8, 11
+12641: 15, 8, 12
+12642: 15, 8, 13
+12643: 15, 8, 14
+12644: 15, 8, 15
+12645: 15, 8, 16
+12646: 15, 8, 17
+12647: 15, 8, 18
+12648: 15, 8, 19
+12649: 15, 8, 20
+12650: 15, 8, 21
+12651: 15, 8, 22
+12652: 15, 8, 23
+12653: 15, 8, 24
+12654: 15, 8, 25
+12655: 15, 8, 26
+12656: 15, 8, 27
+12657: 15, 8, 28
+12658: 15, 8, 29
+12659: 15, 8, 30
+12660: 15, 8, 31
+12661: 15, 8, 32
+12662: 15, 8, 33
+12663: 15, 8, 34
+12664: 15, 8, 35
+12665: 15, 8, 36
+12666: 15, 9, 0
+12667: 15, 9, 1
+12668: 15, 9, 2
+12669: 15, 9, 3
+12670: 15, 9, 4
+12671: 15, 9, 5
+12672: 15, 9, 6
+12673: 15, 9, 7
+12674: 15, 9, 8
+12675: 15, 9, 9
+12676: 15, 9, 10
+12677: 15, 9, 11
+12678: 15, 9, 12
+12679: 15, 9, 13
+12680: 15, 9, 14
+12681: 15, 9, 15
+12682: 15, 10, 0
+12683: 15, 10, 1
+12684: 15, 10, 2
+12685: 15, 10, 3
+12686: 15, 10, 4
+12687: 15, 10, 5
+12688: 15, 10, 6
+12689: 15, 10, 7
+12690: 15, 10, 8
+12691: 15, 10, 9
+12692: 15, 10, 10
+12693: 15, 10, 11
+12694: 15, 10, 12
+12695: 15, 10, 13
+12696: 15, 10, 14
+12697: 15, 10, 15
+12698: 15, 10, 16
+12699: 15, 10, 17
+12700: 15, 10, 18
+12701: 15, 10, 19
+12702: 15, 10, 20
+12703: 15, 10, 21
+12704: 15, 10, 22
+12705: 15, 10, 23
+12706: 15, 10, 24
+12707: 15, 10, 25
+12708: 15, 10, 26
+12709: 15, 10, 27
+12710: 15, 10, 28
+12711: 15, 10, 29
+12712: 15, 10, 30
+12713: 15, 10, 31
+12714: 15, 10, 32
+12715: 15, 10, 33
+12716: 15, 10, 34
+12717: 15, 10, 35
+12718: 15, 10, 36
+12719: 15, 10, 37
+12720: 15, 10, 38
+12721: 15, 10, 39
+12722: 15, 10, 40
+12723: 15, 10, 41
+12724: 15, 10, 42
+12725: 15, 10, 43
+12726: 15, 10, 44
+12727: 16, 0, 0
+12728: 16, 1, 0
+12729: 16, 1, 1
+12730: 16, 1, 2
+12731: 16, 1, 3
+12732: 16, 1, 4
+12733: 16, 1, 5
+12734: 16, 1, 6
+12735: 16, 1, 7
+12736: 16, 1, 8
+12737: 16, 1, 9
+12738: 16, 1, 10
+12739: 16, 1, 11
+12740: 16, 2, 0
+12741: 16, 2, 1
+12742: 16, 2, 2
+12743: 16, 2, 3
+12744: 16, 2, 4
+12745: 16, 2, 5
+12746: 16, 2, 6
+12747: 16, 2, 7
+12748: 16, 2, 8
+12749: 16, 2, 9
+12750: 16, 2, 10
+12751: 16, 2, 11
+12752: 16, 2, 12
+12753: 16, 2, 13
+12754: 16, 2, 14
+12755: 16, 2, 15
+12756: 16, 2, 16
+12757: 16, 2, 17
+12758: 16, 2, 18
+12759: 16, 2, 19
+12760: 16, 2, 20
+12761: 16, 3, 0
+12762: 16, 3, 1
+12763: 16, 3, 2
+12764: 16, 3, 3
+12765: 16, 3, 4
+12766: 16, 3, 5
+12767: 16, 3, 6
+12768: 16, 3, 7
+12769: 16, 3, 8
+12770: 16, 3, 9
+12771: 16, 3, 10
+12772: 16, 3, 11
+12773: 16, 3, 12
+12774: 16, 3, 13
+12775: 16, 3, 14
+12776: 16, 3, 15
+12777: 16, 3, 16
+12778: 16, 3, 17
+12779: 16, 3, 18
+12780: 16, 3, 19
+12781: 16, 3, 20
+12782: 16, 3, 21
+12783: 16, 3, 22
+12784: 16, 3, 23
+12785: 16, 3, 24
+12786: 16, 3, 25
+12787: 16, 3, 26
+12788: 16, 3, 27
+12789: 16, 3, 28
+12790: 16, 3, 29
+12791: 16, 3, 30
+12792: 16, 3, 31
+12793: 16, 3, 32
+12794: 16, 4, 0
+12795: 16, 4, 1
+12796: 16, 4, 2
+12797: 16, 4, 3
+12798: 16, 4, 4
+12799: 16, 4, 5
+12800: 16, 4, 6
+12801: 16, 4, 7
+12802: 16, 4, 8
+12803: 16, 4, 9
+12804: 16, 4, 10
+12805: 16, 4, 11
+12806: 16, 4, 12
+12807: 16, 4, 13
+12808: 16, 4, 14
+12809: 16, 4, 15
+12810: 16, 4, 16
+12811: 16, 4, 17
+12812: 16, 4, 18
+12813: 16, 4, 19
+12814: 16, 4, 20
+12815: 16, 4, 21
+12816: 16, 4, 22
+12817: 16, 4, 23
+12818: 16, 5, 0
+12819: 16, 5, 1
+12820: 16, 5, 2
+12821: 16, 5, 3
+12822: 16, 5, 4
+12823: 16, 5, 5
+12824: 16, 5, 6
+12825: 16, 5, 7
+12826: 16, 5, 8
+12827: 16, 5, 9
+12828: 16, 5, 10
+12829: 16, 5, 11
+12830: 16, 5, 12
+12831: 16, 5, 13
+12832: 16, 5, 14
+12833: 16, 5, 15
+12834: 16, 5, 16
+12835: 16, 5, 17
+12836: 16, 5, 18
+12837: 16, 5, 19
+12838: 16, 6, 0
+12839: 16, 6, 1
+12840: 16, 6, 2
+12841: 16, 6, 3
+12842: 16, 6, 4
+12843: 16, 6, 5
+12844: 16, 6, 6
+12845: 16, 6, 7
+12846: 16, 6, 8
+12847: 16, 6, 9
+12848: 16, 6, 10
+12849: 16, 6, 11
+12850: 16, 6, 12
+12851: 16, 6, 13
+12852: 16, 6, 14
+12853: 16, 6, 15
+12854: 16, 6, 16
+12855: 16, 6, 17
+12856: 16, 6, 18
+12857: 16, 6, 19
+12858: 16, 7, 0
+12859: 16, 7, 1
+12860: 16, 7, 2
+12861: 16, 7, 3
+12862: 16, 7, 4
+12863: 16, 7, 5
+12864: 16, 7, 6
+12865: 16, 7, 7
+12866: 16, 7, 8
+12867: 16, 7, 9
+12868: 16, 7, 10
+12869: 16, 7, 11
+12870: 16, 7, 12
+12871: 16, 7, 13
+12872: 16, 7, 14
+12873: 16, 7, 15
+12874: 16, 7, 16
+12875: 16, 7, 17
+12876: 16, 7, 18
+12877: 16, 7, 19
+12878: 16, 7, 20
+12879: 16, 7, 21
+12880: 16, 7, 22
+12881: 16, 7, 23
+12882: 16, 7, 24
+12883: 16, 7, 25
+12884: 16, 7, 26
+12885: 16, 7, 27
+12886: 16, 7, 28
+12887: 16, 7, 29
+12888: 16, 7, 30
+12889: 16, 7, 31
+12890: 16, 7, 32
+12891: 16, 7, 33
+12892: 16, 7, 34
+12893: 16, 7, 35
+12894: 16, 7, 36
+12895: 16, 7, 37
+12896: 16, 7, 38
+12897: 16, 7, 39
+12898: 16, 7, 40
+12899: 16, 7, 41
+12900: 16, 7, 42
+12901: 16, 7, 43
+12902: 16, 7, 44
+12903: 16, 7, 45
+12904: 16, 7, 46
+12905: 16, 7, 47
+12906: 16, 7, 48
+12907: 16, 7, 49
+12908: 16, 7, 50
+12909: 16, 7, 51
+12910: 16, 7, 52
+12911: 16, 7, 53
+12912: 16, 7, 54
+12913: 16, 7, 55
+12914: 16, 7, 56
+12915: 16, 7, 57
+12916: 16, 7, 58
+12917: 16, 7, 59
+12918: 16, 7, 60
+12919: 16, 7, 61
+12920: 16, 7, 62
+12921: 16, 7, 63
+12922: 16, 7, 64
+12923: 16, 7, 65
+12924: 16, 7, 66
+12925: 16, 7, 67
+12926: 16, 7, 68
+12927: 16, 7, 69
+12928: 16, 7, 70
+12929: 16, 7, 71
+12930: 16, 7, 72
+12931: 16, 7, 73
+12932: 16, 8, 0
+12933: 16, 8, 1
+12934: 16, 8, 2
+12935: 16, 8, 3
+12936: 16, 8, 4
+12937: 16, 8, 5
+12938: 16, 8, 6
+12939: 16, 8, 7
+12940: 16, 8, 8
+12941: 16, 8, 9
+12942: 16, 8, 10
+12943: 16, 8, 11
+12944: 16, 8, 12
+12945: 16, 8, 13
+12946: 16, 8, 14
+12947: 16, 8, 15
+12948: 16, 8, 16
+12949: 16, 8, 17
+12950: 16, 8, 18
+12951: 16, 9, 0
+12952: 16, 9, 1
+12953: 16, 9, 2
+12954: 16, 9, 3
+12955: 16, 9, 4
+12956: 16, 9, 5
+12957: 16, 9, 6
+12958: 16, 9, 7
+12959: 16, 9, 8
+12960: 16, 9, 9
+12961: 16, 9, 10
+12962: 16, 9, 11
+12963: 16, 9, 12
+12964: 16, 9, 13
+12965: 16, 9, 14
+12966: 16, 9, 15
+12967: 16, 9, 16
+12968: 16, 9, 17
+12969: 16, 9, 18
+12970: 16, 9, 19
+12971: 16, 9, 20
+12972: 16, 9, 21
+12973: 16, 9, 22
+12974: 16, 9, 23
+12975: 16, 9, 24
+12976: 16, 9, 25
+12977: 16, 9, 26
+12978: 16, 9, 27
+12979: 16, 9, 28
+12980: 16, 9, 29
+12981: 16, 9, 30
+12982: 16, 9, 31
+12983: 16, 9, 32
+12984: 16, 9, 33
+12985: 16, 9, 34
+12986: 16, 9, 35
+12987: 16, 9, 36
+12988: 16, 9, 37
+12989: 16, 9, 38
+12990: 16, 10, 0
+12991: 16, 10, 1
+12992: 16, 10, 2
+12993: 16, 10, 3
+12994: 16, 10, 4
+12995: 16, 10, 5
+12996: 16, 10, 6
+12997: 16, 10, 7
+12998: 16, 10, 8
+12999: 16, 10, 9
+13000: 16, 10, 10
+13001: 16, 10, 11
+13002: 16, 10, 12
+13003: 16, 10, 13
+13004: 16, 10, 14
+13005: 16, 10, 15
+13006: 16, 10, 16
+13007: 16, 10, 17
+13008: 16, 10, 18
+13009: 16, 10, 19
+13010: 16, 10, 20
+13011: 16, 10, 21
+13012: 16, 10, 22
+13013: 16, 10, 23
+13014: 16, 10, 24
+13015: 16, 10, 25
+13016: 16, 10, 26
+13017: 16, 10, 27
+13018: 16, 10, 28
+13019: 16, 10, 29
+13020: 16, 10, 30
+13021: 16, 10, 31
+13022: 16, 10, 32
+13023: 16, 10, 33
+13024: 16, 10, 34
+13025: 16, 10, 35
+13026: 16, 10, 36
+13027: 16, 10, 37
+13028: 16, 10, 38
+13029: 16, 10, 39
+13030: 16, 11, 0
+13031: 16, 11, 1
+13032: 16, 11, 2
+13033: 16, 11, 3
+13034: 16, 11, 4
+13035: 16, 11, 5
+13036: 16, 11, 6
+13037: 16, 11, 7
+13038: 16, 11, 8
+13039: 16, 11, 9
+13040: 16, 11, 10
+13041: 16, 11, 11
+13042: 16, 11, 12
+13043: 16, 11, 13
+13044: 16, 11, 14
+13045: 16, 11, 15
+13046: 16, 11, 16
+13047: 16, 11, 17
+13048: 16, 11, 18
+13049: 16, 11, 19
+13050: 16, 11, 20
+13051: 16, 11, 21
+13052: 16, 11, 22
+13053: 16, 11, 23
+13054: 16, 11, 24
+13055: 16, 11, 25
+13056: 16, 11, 26
+13057: 16, 11, 27
+13058: 16, 11, 28
+13059: 16, 11, 29
+13060: 16, 11, 30
+13061: 16, 11, 31
+13062: 16, 11, 32
+13063: 16, 11, 33
+13064: 16, 11, 34
+13065: 16, 11, 35
+13066: 16, 11, 36
+13067: 16, 12, 0
+13068: 16, 12, 1
+13069: 16, 12, 2
+13070: 16, 12, 3
+13071: 16, 12, 4
+13072: 16, 12, 5
+13073: 16, 12, 6
+13074: 16, 12, 7
+13075: 16, 12, 8
+13076: 16, 12, 9
+13077: 16, 12, 10
+13078: 16, 12, 11
+13079: 16, 12, 12
+13080: 16, 12, 13
+13081: 16, 12, 14
+13082: 16, 12, 15
+13083: 16, 12, 16
+13084: 16, 12, 17
+13085: 16, 12, 18
+13086: 16, 12, 19
+13087: 16, 12, 20
+13088: 16, 12, 21
+13089: 16, 12, 22
+13090: 16, 12, 23
+13091: 16, 12, 24
+13092: 16, 12, 25
+13093: 16, 12, 26
+13094: 16, 12, 27
+13095: 16, 12, 28
+13096: 16, 12, 29
+13097: 16, 12, 30
+13098: 16, 12, 31
+13099: 16, 12, 32
+13100: 16, 12, 33
+13101: 16, 12, 34
+13102: 16, 12, 35
+13103: 16, 12, 36
+13104: 16, 12, 37
+13105: 16, 12, 38
+13106: 16, 12, 39
+13107: 16, 12, 40
+13108: 16, 12, 41
+13109: 16, 12, 42
+13110: 16, 12, 43
+13111: 16, 12, 44
+13112: 16, 12, 45
+13113: 16, 12, 46
+13114: 16, 12, 47
+13115: 16, 13, 0
+13116: 16, 13, 1
+13117: 16, 13, 2
+13118: 16, 13, 3
+13119: 16, 13, 4
+13120: 16, 13, 5
+13121: 16, 13, 6
+13122: 16, 13, 7
+13123: 16, 13, 8
+13124: 16, 13, 9
+13125: 16, 13, 10
+13126: 16, 13, 11
+13127: 16, 13, 12
+13128: 16, 13, 13
+13129: 16, 13, 14
+13130: 16, 13, 15
+13131: 16, 13, 16
+13132: 16, 13, 17
+13133: 16, 13, 18
+13134: 16, 13, 19
+13135: 16, 13, 20
+13136: 16, 13, 21
+13137: 16, 13, 22
+13138: 16, 13, 23
+13139: 16, 13, 24
+13140: 16, 13, 25
+13141: 16, 13, 26
+13142: 16, 13, 27
+13143: 16, 13, 28
+13144: 16, 13, 29
+13145: 16, 13, 30
+13146: 16, 13, 31
+13147: 17, 0, 0
+13148: 17, 1, 0
+13149: 17, 1, 1
+13150: 17, 1, 2
+13151: 17, 1, 3
+13152: 17, 1, 4
+13153: 17, 1, 5
+13154: 17, 1, 6
+13155: 17, 1, 7
+13156: 17, 1, 8
+13157: 17, 1, 9
+13158: 17, 1, 10
+13159: 17, 1, 11
+13160: 17, 1, 12
+13161: 17, 1, 13
+13162: 17, 1, 14
+13163: 17, 1, 15
+13164: 17, 1, 16
+13165: 17, 1, 17
+13166: 17, 1, 18
+13167: 17, 1, 19
+13168: 17, 1, 20
+13169: 17, 1, 21
+13170: 17, 1, 22
+13171: 17, 2, 0
+13172: 17, 2, 1
+13173: 17, 2, 2
+13174: 17, 2, 3
+13175: 17, 2, 4
+13176: 17, 2, 5
+13177: 17, 2, 6
+13178: 17, 2, 7
+13179: 17, 2, 8
+13180: 17, 2, 9
+13181: 17, 2, 10
+13182: 17, 2, 11
+13183: 17, 2, 12
+13184: 17, 2, 13
+13185: 17, 2, 14
+13186: 17, 2, 15
+13187: 17, 2, 16
+13188: 17, 2, 17
+13189: 17, 2, 18
+13190: 17, 2, 19
+13191: 17, 2, 20
+13192: 17, 2, 21
+13193: 17, 2, 22
+13194: 17, 2, 23
+13195: 17, 3, 0
+13196: 17, 3, 1
+13197: 17, 3, 2
+13198: 17, 3, 3
+13199: 17, 3, 4
+13200: 17, 3, 5
+13201: 17, 3, 6
+13202: 17, 3, 7
+13203: 17, 3, 8
+13204: 17, 3, 9
+13205: 17, 3, 10
+13206: 17, 3, 11
+13207: 17, 3, 12
+13208: 17, 3, 13
+13209: 17, 3, 14
+13210: 17, 3, 15
+13211: 17, 4, 0
+13212: 17, 4, 1
+13213: 17, 4, 2
+13214: 17, 4, 3
+13215: 17, 4, 4
+13216: 17, 4, 5
+13217: 17, 4, 6
+13218: 17, 4, 7
+13219: 17, 4, 8
+13220: 17, 4, 9
+13221: 17, 4, 10
+13222: 17, 4, 11
+13223: 17, 4, 12
+13224: 17, 4, 13
+13225: 17, 4, 14
+13226: 17, 4, 15
+13227: 17, 4, 16
+13228: 17, 4, 17
+13229: 17, 5, 0
+13230: 17, 5, 1
+13231: 17, 5, 2
+13232: 17, 5, 3
+13233: 17, 5, 4
+13234: 17, 5, 5
+13235: 17, 5, 6
+13236: 17, 5, 7
+13237: 17, 5, 8
+13238: 17, 5, 9
+13239: 17, 5, 10
+13240: 17, 5, 11
+13241: 17, 5, 12
+13242: 17, 5, 13
+13243: 17, 5, 14
+13244: 17, 6, 0
+13245: 17, 6, 1
+13246: 17, 6, 2
+13247: 17, 6, 3
+13248: 17, 6, 4
+13249: 17, 6, 5
+13250: 17, 6, 6
+13251: 17, 6, 7
+13252: 17, 6, 8
+13253: 17, 6, 9
+13254: 17, 6, 10
+13255: 17, 6, 11
+13256: 17, 6, 12
+13257: 17, 6, 13
+13258: 17, 6, 14
+13259: 17, 7, 0
+13260: 17, 7, 1
+13261: 17, 7, 2
+13262: 17, 7, 3
+13263: 17, 7, 4
+13264: 17, 7, 5
+13265: 17, 7, 6
+13266: 17, 7, 7
+13267: 17, 7, 8
+13268: 17, 7, 9
+13269: 17, 7, 10
+13270: 17, 8, 0
+13271: 17, 8, 1
+13272: 17, 8, 2
+13273: 17, 8, 3
+13274: 17, 8, 4
+13275: 17, 8, 5
+13276: 17, 8, 6
+13277: 17, 8, 7
+13278: 17, 8, 8
+13279: 17, 8, 9
+13280: 17, 8, 10
+13281: 17, 8, 11
+13282: 17, 8, 12
+13283: 17, 8, 13
+13284: 17, 8, 14
+13285: 17, 8, 15
+13286: 17, 8, 16
+13287: 17, 8, 17
+13288: 17, 9, 0
+13289: 17, 9, 1
+13290: 17, 9, 2
+13291: 17, 9, 3
+13292: 17, 9, 4
+13293: 17, 9, 5
+13294: 17, 9, 6
+13295: 17, 9, 7
+13296: 17, 9, 8
+13297: 17, 9, 9
+13298: 17, 9, 10
+13299: 17, 9, 11
+13300: 17, 9, 12
+13301: 17, 9, 13
+13302: 17, 9, 14
+13303: 17, 9, 15
+13304: 17, 9, 16
+13305: 17, 9, 17
+13306: 17, 9, 18
+13307: 17, 9, 19
+13308: 17, 9, 20
+13309: 17, 9, 21
+13310: 17, 9, 22
+13311: 17, 9, 23
+13312: 17, 9, 24
+13313: 17, 9, 25
+13314: 17, 9, 26
+13315: 17, 9, 27
+13316: 17, 9, 28
+13317: 17, 9, 29
+13318: 17, 9, 30
+13319: 17, 9, 31
+13320: 17, 9, 32
+13321: 17, 10, 0
+13322: 17, 10, 1
+13323: 17, 10, 2
+13324: 17, 10, 3
+13325: 18, 0, 0
+13326: 18, 1, 0
+13327: 18, 1, 1
+13328: 18, 1, 2
+13329: 18, 1, 3
+13330: 18, 1, 4
+13331: 18, 1, 5
+13332: 18, 1, 6
+13333: 18, 1, 7
+13334: 18, 1, 8
+13335: 18, 1, 9
+13336: 18, 1, 10
+13337: 18, 1, 11
+13338: 18, 1, 12
+13339: 18, 1, 13
+13340: 18, 1, 14
+13341: 18, 1, 15
+13342: 18, 1, 16
+13343: 18, 1, 17
+13344: 18, 1, 18
+13345: 18, 1, 19
+13346: 18, 1, 20
+13347: 18, 1, 21
+13348: 18, 1, 22
+13349: 18, 2, 0
+13350: 18, 2, 1
+13351: 18, 2, 2
+13352: 18, 2, 3
+13353: 18, 2, 4
+13354: 18, 2, 5
+13355: 18, 2, 6
+13356: 18, 2, 7
+13357: 18, 2, 8
+13358: 18, 2, 9
+13359: 18, 2, 10
+13360: 18, 2, 11
+13361: 18, 2, 12
+13362: 18, 2, 13
+13363: 18, 3, 0
+13364: 18, 3, 1
+13365: 18, 3, 2
+13366: 18, 3, 3
+13367: 18, 3, 4
+13368: 18, 3, 5
+13369: 18, 3, 6
+13370: 18, 3, 7
+13371: 18, 3, 8
+13372: 18, 3, 9
+13373: 18, 3, 10
+13374: 18, 3, 11
+13375: 18, 3, 12
+13376: 18, 3, 13
+13377: 18, 3, 14
+13378: 18, 3, 15
+13379: 18, 3, 16
+13380: 18, 3, 17
+13381: 18, 3, 18
+13382: 18, 3, 19
+13383: 18, 3, 20
+13384: 18, 3, 21
+13385: 18, 3, 22
+13386: 18, 3, 23
+13387: 18, 3, 24
+13388: 18, 3, 25
+13389: 18, 3, 26
+13390: 18, 4, 0
+13391: 18, 4, 1
+13392: 18, 4, 2
+13393: 18, 4, 3
+13394: 18, 4, 4
+13395: 18, 4, 5
+13396: 18, 4, 6
+13397: 18, 4, 7
+13398: 18, 4, 8
+13399: 18, 4, 9
+13400: 18, 4, 10
+13401: 18, 4, 11
+13402: 18, 4, 12
+13403: 18, 4, 13
+13404: 18, 4, 14
+13405: 18, 4, 15
+13406: 18, 4, 16
+13407: 18, 4, 17
+13408: 18, 4, 18
+13409: 18, 4, 19
+13410: 18, 4, 20
+13411: 18, 4, 21
+13412: 18, 5, 0
+13413: 18, 5, 1
+13414: 18, 5, 2
+13415: 18, 5, 3
+13416: 18, 5, 4
+13417: 18, 5, 5
+13418: 18, 5, 6
+13419: 18, 5, 7
+13420: 18, 5, 8
+13421: 18, 5, 9
+13422: 18, 5, 10
+13423: 18, 5, 11
+13424: 18, 5, 12
+13425: 18, 5, 13
+13426: 18, 5, 14
+13427: 18, 5, 15
+13428: 18, 5, 16
+13429: 18, 5, 17
+13430: 18, 5, 18
+13431: 18, 5, 19
+13432: 18, 5, 20
+13433: 18, 5, 21
+13434: 18, 5, 22
+13435: 18, 5, 23
+13436: 18, 5, 24
+13437: 18, 5, 25
+13438: 18, 5, 26
+13439: 18, 5, 27
+13440: 18, 6, 0
+13441: 18, 6, 1
+13442: 18, 6, 2
+13443: 18, 6, 3
+13444: 18, 6, 4
+13445: 18, 6, 5
+13446: 18, 6, 6
+13447: 18, 6, 7
+13448: 18, 6, 8
+13449: 18, 6, 9
+13450: 18, 6, 10
+13451: 18, 6, 11
+13452: 18, 6, 12
+13453: 18, 6, 13
+13454: 18, 6, 14
+13455: 18, 6, 15
+13456: 18, 6, 16
+13457: 18, 6, 17
+13458: 18, 6, 18
+13459: 18, 6, 19
+13460: 18, 6, 20
+13461: 18, 6, 21
+13462: 18, 6, 22
+13463: 18, 6, 23
+13464: 18, 6, 24
+13465: 18, 6, 25
+13466: 18, 6, 26
+13467: 18, 6, 27
+13468: 18, 6, 28
+13469: 18, 6, 29
+13470: 18, 6, 30
+13471: 18, 7, 0
+13472: 18, 7, 1
+13473: 18, 7, 2
+13474: 18, 7, 3
+13475: 18, 7, 4
+13476: 18, 7, 5
+13477: 18, 7, 6
+13478: 18, 7, 7
+13479: 18, 7, 8
+13480: 18, 7, 9
+13481: 18, 7, 10
+13482: 18, 7, 11
+13483: 18, 7, 12
+13484: 18, 7, 13
+13485: 18, 7, 14
+13486: 18, 7, 15
+13487: 18, 7, 16
+13488: 18, 7, 17
+13489: 18, 7, 18
+13490: 18, 7, 19
+13491: 18, 7, 20
+13492: 18, 7, 21
+13493: 18, 8, 0
+13494: 18, 8, 1
+13495: 18, 8, 2
+13496: 18, 8, 3
+13497: 18, 8, 4
+13498: 18, 8, 5
+13499: 18, 8, 6
+13500: 18, 8, 7
+13501: 18, 8, 8
+13502: 18, 8, 9
+13503: 18, 8, 10
+13504: 18, 8, 11
+13505: 18, 8, 12
+13506: 18, 8, 13
+13507: 18, 8, 14
+13508: 18, 8, 15
+13509: 18, 8, 16
+13510: 18, 8, 17
+13511: 18, 8, 18
+13512: 18, 8, 19
+13513: 18, 8, 20
+13514: 18, 8, 21
+13515: 18, 8, 22
+13516: 18, 9, 0
+13517: 18, 9, 1
+13518: 18, 9, 2
+13519: 18, 9, 3
+13520: 18, 9, 4
+13521: 18, 9, 5
+13522: 18, 9, 6
+13523: 18, 9, 7
+13524: 18, 9, 8
+13525: 18, 9, 9
+13526: 18, 9, 10
+13527: 18, 9, 11
+13528: 18, 9, 12
+13529: 18, 9, 13
+13530: 18, 9, 14
+13531: 18, 9, 15
+13532: 18, 9, 16
+13533: 18, 9, 17
+13534: 18, 9, 18
+13535: 18, 9, 19
+13536: 18, 9, 20
+13537: 18, 9, 21
+13538: 18, 9, 22
+13539: 18, 9, 23
+13540: 18, 9, 24
+13541: 18, 9, 25
+13542: 18, 9, 26
+13543: 18, 9, 27
+13544: 18, 9, 28
+13545: 18, 9, 29
+13546: 18, 9, 30
+13547: 18, 9, 31
+13548: 18, 9, 32
+13549: 18, 9, 33
+13550: 18, 9, 34
+13551: 18, 9, 35
+13552: 18, 10, 0
+13553: 18, 10, 1
+13554: 18, 10, 2
+13555: 18, 10, 3
+13556: 18, 10, 4
+13557: 18, 10, 5
+13558: 18, 10, 6
+13559: 18, 10, 7
+13560: 18, 10, 8
+13561: 18, 10, 9
+13562: 18, 10, 10
+13563: 18, 10, 11
+13564: 18, 10, 12
+13565: 18, 10, 13
+13566: 18, 10, 14
+13567: 18, 10, 15
+13568: 18, 10, 16
+13569: 18, 10, 17
+13570: 18, 10, 18
+13571: 18, 10, 19
+13572: 18, 10, 20
+13573: 18, 10, 21
+13574: 18, 10, 22
+13575: 18, 11, 0
+13576: 18, 11, 1
+13577: 18, 11, 2
+13578: 18, 11, 3
+13579: 18, 11, 4
+13580: 18, 11, 5
+13581: 18, 11, 6
+13582: 18, 11, 7
+13583: 18, 11, 8
+13584: 18, 11, 9
+13585: 18, 11, 10
+13586: 18, 11, 11
+13587: 18, 11, 12
+13588: 18, 11, 13
+13589: 18, 11, 14
+13590: 18, 11, 15
+13591: 18, 11, 16
+13592: 18, 11, 17
+13593: 18, 11, 18
+13594: 18, 11, 19
+13595: 18, 11, 20
+13596: 18, 12, 0
+13597: 18, 12, 1
+13598: 18, 12, 2
+13599: 18, 12, 3
+13600: 18, 12, 4
+13601: 18, 12, 5
+13602: 18, 12, 6
+13603: 18, 12, 7
+13604: 18, 12, 8
+13605: 18, 12, 9
+13606: 18, 12, 10
+13607: 18, 12, 11
+13608: 18, 12, 12
+13609: 18, 12, 13
+13610: 18, 12, 14
+13611: 18, 12, 15
+13612: 18, 12, 16
+13613: 18, 12, 17
+13614: 18, 12, 18
+13615: 18, 12, 19
+13616: 18, 12, 20
+13617: 18, 12, 21
+13618: 18, 12, 22
+13619: 18, 12, 23
+13620: 18, 12, 24
+13621: 18, 12, 25
+13622: 18, 13, 0
+13623: 18, 13, 1
+13624: 18, 13, 2
+13625: 18, 13, 3
+13626: 18, 13, 4
+13627: 18, 13, 5
+13628: 18, 13, 6
+13629: 18, 13, 7
+13630: 18, 13, 8
+13631: 18, 13, 9
+13632: 18, 13, 10
+13633: 18, 13, 11
+13634: 18, 13, 12
+13635: 18, 13, 13
+13636: 18, 13, 14
+13637: 18, 13, 15
+13638: 18, 13, 16
+13639: 18, 13, 17
+13640: 18, 13, 18
+13641: 18, 13, 19
+13642: 18, 13, 20
+13643: 18, 13, 21
+13644: 18, 13, 22
+13645: 18, 13, 23
+13646: 18, 13, 24
+13647: 18, 13, 25
+13648: 18, 13, 26
+13649: 18, 13, 27
+13650: 18, 13, 28
+13651: 18, 14, 0
+13652: 18, 14, 1
+13653: 18, 14, 2
+13654: 18, 14, 3
+13655: 18, 14, 4
+13656: 18, 14, 5
+13657: 18, 14, 6
+13658: 18, 14, 7
+13659: 18, 14, 8
+13660: 18, 14, 9
+13661: 18, 14, 10
+13662: 18, 14, 11
+13663: 18, 14, 12
+13664: 18, 14, 13
+13665: 18, 14, 14
+13666: 18, 14, 15
+13667: 18, 14, 16
+13668: 18, 14, 17
+13669: 18, 14, 18
+13670: 18, 14, 19
+13671: 18, 14, 20
+13672: 18, 14, 21
+13673: 18, 14, 22
+13674: 18, 15, 0
+13675: 18, 15, 1
+13676: 18, 15, 2
+13677: 18, 15, 3
+13678: 18, 15, 4
+13679: 18, 15, 5
+13680: 18, 15, 6
+13681: 18, 15, 7
+13682: 18, 15, 8
+13683: 18, 15, 9
+13684: 18, 15, 10
+13685: 18, 15, 11
+13686: 18, 15, 12
+13687: 18, 15, 13
+13688: 18, 15, 14
+13689: 18, 15, 15
+13690: 18, 15, 16
+13691: 18, 15, 17
+13692: 18, 15, 18
+13693: 18, 15, 19
+13694: 18, 15, 20
+13695: 18, 15, 21
+13696: 18, 15, 22
+13697: 18, 15, 23
+13698: 18, 15, 24
+13699: 18, 15, 25
+13700: 18, 15, 26
+13701: 18, 15, 27
+13702: 18, 15, 28
+13703: 18, 15, 29
+13704: 18, 15, 30
+13705: 18, 15, 31
+13706: 18, 15, 32
+13707: 18, 15, 33
+13708: 18, 15, 34
+13709: 18, 15, 35
+13710: 18, 16, 0
+13711: 18, 16, 1
+13712: 18, 16, 2
+13713: 18, 16, 3
+13714: 18, 16, 4
+13715: 18, 16, 5
+13716: 18, 16, 6
+13717: 18, 16, 7
+13718: 18, 16, 8
+13719: 18, 16, 9
+13720: 18, 16, 10
+13721: 18, 16, 11
+13722: 18, 16, 12
+13723: 18, 16, 13
+13724: 18, 16, 14
+13725: 18, 16, 15
+13726: 18, 16, 16
+13727: 18, 16, 17
+13728: 18, 16, 18
+13729: 18, 16, 19
+13730: 18, 16, 20
+13731: 18, 16, 21
+13732: 18, 16, 22
+13733: 18, 17, 0
+13734: 18, 17, 1
+13735: 18, 17, 2
+13736: 18, 17, 3
+13737: 18, 17, 4
+13738: 18, 17, 5
+13739: 18, 17, 6
+13740: 18, 17, 7
+13741: 18, 17, 8
+13742: 18, 17, 9
+13743: 18, 17, 10
+13744: 18, 17, 11
+13745: 18, 17, 12
+13746: 18, 17, 13
+13747: 18, 17, 14
+13748: 18, 17, 15
+13749: 18, 17, 16
+13750: 18, 18, 0
+13751: 18, 18, 1
+13752: 18, 18, 2
+13753: 18, 18, 3
+13754: 18, 18, 4
+13755: 18, 18, 5
+13756: 18, 18, 6
+13757: 18, 18, 7
+13758: 18, 18, 8
+13759: 18, 18, 9
+13760: 18, 18, 10
+13761: 18, 18, 11
+13762: 18, 18, 12
+13763: 18, 18, 13
+13764: 18, 18, 14
+13765: 18, 18, 15
+13766: 18, 18, 16
+13767: 18, 18, 17
+13768: 18, 18, 18
+13769: 18, 18, 19
+13770: 18, 18, 20
+13771: 18, 18, 21
+13772: 18, 19, 0
+13773: 18, 19, 1
+13774: 18, 19, 2
+13775: 18, 19, 3
+13776: 18, 19, 4
+13777: 18, 19, 5
+13778: 18, 19, 6
+13779: 18, 19, 7
+13780: 18, 19, 8
+13781: 18, 19, 9
+13782: 18, 19, 10
+13783: 18, 19, 11
+13784: 18, 19, 12
+13785: 18, 19, 13
+13786: 18, 19, 14
+13787: 18, 19, 15
+13788: 18, 19, 16
+13789: 18, 19, 17
+13790: 18, 19, 18
+13791: 18, 19, 19
+13792: 18, 19, 20
+13793: 18, 19, 21
+13794: 18, 19, 22
+13795: 18, 19, 23
+13796: 18, 19, 24
+13797: 18, 19, 25
+13798: 18, 19, 26
+13799: 18, 19, 27
+13800: 18, 19, 28
+13801: 18, 19, 29
+13802: 18, 20, 0
+13803: 18, 20, 1
+13804: 18, 20, 2
+13805: 18, 20, 3
+13806: 18, 20, 4
+13807: 18, 20, 5
+13808: 18, 20, 6
+13809: 18, 20, 7
+13810: 18, 20, 8
+13811: 18, 20, 9
+13812: 18, 20, 10
+13813: 18, 20, 11
+13814: 18, 20, 12
+13815: 18, 20, 13
+13816: 18, 20, 14
+13817: 18, 20, 15
+13818: 18, 20, 16
+13819: 18, 20, 17
+13820: 18, 20, 18
+13821: 18, 20, 19
+13822: 18, 20, 20
+13823: 18, 20, 21
+13824: 18, 20, 22
+13825: 18, 20, 23
+13826: 18, 20, 24
+13827: 18, 20, 25
+13828: 18, 20, 26
+13829: 18, 20, 27
+13830: 18, 20, 28
+13831: 18, 20, 29
+13832: 18, 21, 0
+13833: 18, 21, 1
+13834: 18, 21, 2
+13835: 18, 21, 3
+13836: 18, 21, 4
+13837: 18, 21, 5
+13838: 18, 21, 6
+13839: 18, 21, 7
+13840: 18, 21, 8
+13841: 18, 21, 9
+13842: 18, 21, 10
+13843: 18, 21, 11
+13844: 18, 21, 12
+13845: 18, 21, 13
+13846: 18, 21, 14
+13847: 18, 21, 15
+13848: 18, 21, 16
+13849: 18, 21, 17
+13850: 18, 21, 18
+13851: 18, 21, 19
+13852: 18, 21, 20
+13853: 18, 21, 21
+13854: 18, 21, 22
+13855: 18, 21, 23
+13856: 18, 21, 24
+13857: 18, 21, 25
+13858: 18, 21, 26
+13859: 18, 21, 27
+13860: 18, 21, 28
+13861: 18, 21, 29
+13862: 18, 21, 30
+13863: 18, 21, 31
+13864: 18, 21, 32
+13865: 18, 21, 33
+13866: 18, 21, 34
+13867: 18, 22, 0
+13868: 18, 22, 1
+13869: 18, 22, 2
+13870: 18, 22, 3
+13871: 18, 22, 4
+13872: 18, 22, 5
+13873: 18, 22, 6
+13874: 18, 22, 7
+13875: 18, 22, 8
+13876: 18, 22, 9
+13877: 18, 22, 10
+13878: 18, 22, 11
+13879: 18, 22, 12
+13880: 18, 22, 13
+13881: 18, 22, 14
+13882: 18, 22, 15
+13883: 18, 22, 16
+13884: 18, 22, 17
+13885: 18, 22, 18
+13886: 18, 22, 19
+13887: 18, 22, 20
+13888: 18, 22, 21
+13889: 18, 22, 22
+13890: 18, 22, 23
+13891: 18, 22, 24
+13892: 18, 22, 25
+13893: 18, 22, 26
+13894: 18, 22, 27
+13895: 18, 22, 28
+13896: 18, 22, 29
+13897: 18, 22, 30
+13898: 18, 23, 0
+13899: 18, 23, 1
+13900: 18, 23, 2
+13901: 18, 23, 3
+13902: 18, 23, 4
+13903: 18, 23, 5
+13904: 18, 23, 6
+13905: 18, 23, 7
+13906: 18, 23, 8
+13907: 18, 23, 9
+13908: 18, 23, 10
+13909: 18, 23, 11
+13910: 18, 23, 12
+13911: 18, 23, 13
+13912: 18, 23, 14
+13913: 18, 23, 15
+13914: 18, 23, 16
+13915: 18, 23, 17
+13916: 18, 24, 0
+13917: 18, 24, 1
+13918: 18, 24, 2
+13919: 18, 24, 3
+13920: 18, 24, 4
+13921: 18, 24, 5
+13922: 18, 24, 6
+13923: 18, 24, 7
+13924: 18, 24, 8
+13925: 18, 24, 9
+13926: 18, 24, 10
+13927: 18, 24, 11
+13928: 18, 24, 12
+13929: 18, 24, 13
+13930: 18, 24, 14
+13931: 18, 24, 15
+13932: 18, 24, 16
+13933: 18, 24, 17
+13934: 18, 24, 18
+13935: 18, 24, 19
+13936: 18, 24, 20
+13937: 18, 24, 21
+13938: 18, 24, 22
+13939: 18, 24, 23
+13940: 18, 24, 24
+13941: 18, 24, 25
+13942: 18, 25, 0
+13943: 18, 25, 1
+13944: 18, 25, 2
+13945: 18, 25, 3
+13946: 18, 25, 4
+13947: 18, 25, 5
+13948: 18, 25, 6
+13949: 18, 26, 0
+13950: 18, 26, 1
+13951: 18, 26, 2
+13952: 18, 26, 3
+13953: 18, 26, 4
+13954: 18, 26, 5
+13955: 18, 26, 6
+13956: 18, 26, 7
+13957: 18, 26, 8
+13958: 18, 26, 9
+13959: 18, 26, 10
+13960: 18, 26, 11
+13961: 18, 26, 12
+13962: 18, 26, 13
+13963: 18, 26, 14
+13964: 18, 27, 0
+13965: 18, 27, 1
+13966: 18, 27, 2
+13967: 18, 27, 3
+13968: 18, 27, 4
+13969: 18, 27, 5
+13970: 18, 27, 6
+13971: 18, 27, 7
+13972: 18, 27, 8
+13973: 18, 27, 9
+13974: 18, 27, 10
+13975: 18, 27, 11
+13976: 18, 27, 12
+13977: 18, 27, 13
+13978: 18, 27, 14
+13979: 18, 27, 15
+13980: 18, 27, 16
+13981: 18, 27, 17
+13982: 18, 27, 18
+13983: 18, 27, 19
+13984: 18, 27, 20
+13985: 18, 27, 21
+13986: 18, 27, 22
+13987: 18, 27, 23
+13988: 18, 28, 0
+13989: 18, 28, 1
+13990: 18, 28, 2
+13991: 18, 28, 3
+13992: 18, 28, 4
+13993: 18, 28, 5
+13994: 18, 28, 6
+13995: 18, 28, 7
+13996: 18, 28, 8
+13997: 18, 28, 9
+13998: 18, 28, 10
+13999: 18, 28, 11
+14000: 18, 28, 12
+14001: 18, 28, 13
+14002: 18, 28, 14
+14003: 18, 28, 15
+14004: 18, 28, 16
+14005: 18, 28, 17
+14006: 18, 28, 18
+14007: 18, 28, 19
+14008: 18, 28, 20
+14009: 18, 28, 21
+14010: 18, 28, 22
+14011: 18, 28, 23
+14012: 18, 28, 24
+14013: 18, 28, 25
+14014: 18, 28, 26
+14015: 18, 28, 27
+14016: 18, 28, 28
+14017: 18, 29, 0
+14018: 18, 29, 1
+14019: 18, 29, 2
+14020: 18, 29, 3
+14021: 18, 29, 4
+14022: 18, 29, 5
+14023: 18, 29, 6
+14024: 18, 29, 7
+14025: 18, 29, 8
+14026: 18, 29, 9
+14027: 18, 29, 10
+14028: 18, 29, 11
+14029: 18, 29, 12
+14030: 18, 29, 13
+14031: 18, 29, 14
+14032: 18, 29, 15
+14033: 18, 29, 16
+14034: 18, 29, 17
+14035: 18, 29, 18
+14036: 18, 29, 19
+14037: 18, 29, 20
+14038: 18, 29, 21
+14039: 18, 29, 22
+14040: 18, 29, 23
+14041: 18, 29, 24
+14042: 18, 29, 25
+14043: 18, 30, 0
+14044: 18, 30, 1
+14045: 18, 30, 2
+14046: 18, 30, 3
+14047: 18, 30, 4
+14048: 18, 30, 5
+14049: 18, 30, 6
+14050: 18, 30, 7
+14051: 18, 30, 8
+14052: 18, 30, 9
+14053: 18, 30, 10
+14054: 18, 30, 11
+14055: 18, 30, 12
+14056: 18, 30, 13
+14057: 18, 30, 14
+14058: 18, 30, 15
+14059: 18, 30, 16
+14060: 18, 30, 17
+14061: 18, 30, 18
+14062: 18, 30, 19
+14063: 18, 30, 20
+14064: 18, 30, 21
+14065: 18, 30, 22
+14066: 18, 30, 23
+14067: 18, 30, 24
+14068: 18, 30, 25
+14069: 18, 30, 26
+14070: 18, 30, 27
+14071: 18, 30, 28
+14072: 18, 30, 29
+14073: 18, 30, 30
+14074: 18, 30, 31
+14075: 18, 31, 0
+14076: 18, 31, 1
+14077: 18, 31, 2
+14078: 18, 31, 3
+14079: 18, 31, 4
+14080: 18, 31, 5
+14081: 18, 31, 6
+14082: 18, 31, 7
+14083: 18, 31, 8
+14084: 18, 31, 9
+14085: 18, 31, 10
+14086: 18, 31, 11
+14087: 18, 31, 12
+14088: 18, 31, 13
+14089: 18, 31, 14
+14090: 18, 31, 15
+14091: 18, 31, 16
+14092: 18, 31, 17
+14093: 18, 31, 18
+14094: 18, 31, 19
+14095: 18, 31, 20
+14096: 18, 31, 21
+14097: 18, 31, 22
+14098: 18, 31, 23
+14099: 18, 31, 24
+14100: 18, 31, 25
+14101: 18, 31, 26
+14102: 18, 31, 27
+14103: 18, 31, 28
+14104: 18, 31, 29
+14105: 18, 31, 30
+14106: 18, 31, 31
+14107: 18, 31, 32
+14108: 18, 31, 33
+14109: 18, 31, 34
+14110: 18, 31, 35
+14111: 18, 31, 36
+14112: 18, 31, 37
+14113: 18, 31, 38
+14114: 18, 31, 39
+14115: 18, 31, 40
+14116: 18, 32, 0
+14117: 18, 32, 1
+14118: 18, 32, 2
+14119: 18, 32, 3
+14120: 18, 32, 4
+14121: 18, 32, 5
+14122: 18, 32, 6
+14123: 18, 32, 7
+14124: 18, 32, 8
+14125: 18, 32, 9
+14126: 18, 32, 10
+14127: 18, 32, 11
+14128: 18, 32, 12
+14129: 18, 32, 13
+14130: 18, 32, 14
+14131: 18, 32, 15
+14132: 18, 32, 16
+14133: 18, 32, 17
+14134: 18, 32, 18
+14135: 18, 32, 19
+14136: 18, 32, 20
+14137: 18, 32, 21
+14138: 18, 32, 22
+14139: 18, 33, 0
+14140: 18, 33, 1
+14141: 18, 33, 2
+14142: 18, 33, 3
+14143: 18, 33, 4
+14144: 18, 33, 5
+14145: 18, 33, 6
+14146: 18, 33, 7
+14147: 18, 33, 8
+14148: 18, 33, 9
+14149: 18, 33, 10
+14150: 18, 33, 11
+14151: 18, 33, 12
+14152: 18, 33, 13
+14153: 18, 33, 14
+14154: 18, 33, 15
+14155: 18, 33, 16
+14156: 18, 33, 17
+14157: 18, 33, 18
+14158: 18, 33, 19
+14159: 18, 33, 20
+14160: 18, 33, 21
+14161: 18, 33, 22
+14162: 18, 33, 23
+14163: 18, 33, 24
+14164: 18, 33, 25
+14165: 18, 33, 26
+14166: 18, 33, 27
+14167: 18, 33, 28
+14168: 18, 33, 29
+14169: 18, 33, 30
+14170: 18, 33, 31
+14171: 18, 33, 32
+14172: 18, 33, 33
+14173: 18, 34, 0
+14174: 18, 34, 1
+14175: 18, 34, 2
+14176: 18, 34, 3
+14177: 18, 34, 4
+14178: 18, 34, 5
+14179: 18, 34, 6
+14180: 18, 34, 7
+14181: 18, 34, 8
+14182: 18, 34, 9
+14183: 18, 34, 10
+14184: 18, 34, 11
+14185: 18, 34, 12
+14186: 18, 34, 13
+14187: 18, 34, 14
+14188: 18, 34, 15
+14189: 18, 34, 16
+14190: 18, 34, 17
+14191: 18, 34, 18
+14192: 18, 34, 19
+14193: 18, 34, 20
+14194: 18, 34, 21
+14195: 18, 34, 22
+14196: 18, 34, 23
+14197: 18, 34, 24
+14198: 18, 34, 25
+14199: 18, 34, 26
+14200: 18, 34, 27
+14201: 18, 34, 28
+14202: 18, 34, 29
+14203: 18, 34, 30
+14204: 18, 34, 31
+14205: 18, 34, 32
+14206: 18, 34, 33
+14207: 18, 34, 34
+14208: 18, 34, 35
+14209: 18, 34, 36
+14210: 18, 34, 37
+14211: 18, 35, 0
+14212: 18, 35, 1
+14213: 18, 35, 2
+14214: 18, 35, 3
+14215: 18, 35, 4
+14216: 18, 35, 5
+14217: 18, 35, 6
+14218: 18, 35, 7
+14219: 18, 35, 8
+14220: 18, 35, 9
+14221: 18, 35, 10
+14222: 18, 35, 11
+14223: 18, 35, 12
+14224: 18, 35, 13
+14225: 18, 35, 14
+14226: 18, 35, 15
+14227: 18, 35, 16
+14228: 18, 36, 0
+14229: 18, 36, 1
+14230: 18, 36, 2
+14231: 18, 36, 3
+14232: 18, 36, 4
+14233: 18, 36, 5
+14234: 18, 36, 6
+14235: 18, 36, 7
+14236: 18, 36, 8
+14237: 18, 36, 9
+14238: 18, 36, 10
+14239: 18, 36, 11
+14240: 18, 36, 12
+14241: 18, 36, 13
+14242: 18, 36, 14
+14243: 18, 36, 15
+14244: 18, 36, 16
+14245: 18, 36, 17
+14246: 18, 36, 18
+14247: 18, 36, 19
+14248: 18, 36, 20
+14249: 18, 36, 21
+14250: 18, 36, 22
+14251: 18, 36, 23
+14252: 18, 36, 24
+14253: 18, 36, 25
+14254: 18, 36, 26
+14255: 18, 36, 27
+14256: 18, 36, 28
+14257: 18, 36, 29
+14258: 18, 36, 30
+14259: 18, 36, 31
+14260: 18, 36, 32
+14261: 18, 36, 33
+14262: 18, 37, 0
+14263: 18, 37, 1
+14264: 18, 37, 2
+14265: 18, 37, 3
+14266: 18, 37, 4
+14267: 18, 37, 5
+14268: 18, 37, 6
+14269: 18, 37, 7
+14270: 18, 37, 8
+14271: 18, 37, 9
+14272: 18, 37, 10
+14273: 18, 37, 11
+14274: 18, 37, 12
+14275: 18, 37, 13
+14276: 18, 37, 14
+14277: 18, 37, 15
+14278: 18, 37, 16
+14279: 18, 37, 17
+14280: 18, 37, 18
+14281: 18, 37, 19
+14282: 18, 37, 20
+14283: 18, 37, 21
+14284: 18, 37, 22
+14285: 18, 37, 23
+14286: 18, 37, 24
+14287: 18, 38, 0
+14288: 18, 38, 1
+14289: 18, 38, 2
+14290: 18, 38, 3
+14291: 18, 38, 4
+14292: 18, 38, 5
+14293: 18, 38, 6
+14294: 18, 38, 7
+14295: 18, 38, 8
+14296: 18, 38, 9
+14297: 18, 38, 10
+14298: 18, 38, 11
+14299: 18, 38, 12
+14300: 18, 38, 13
+14301: 18, 38, 14
+14302: 18, 38, 15
+14303: 18, 38, 16
+14304: 18, 38, 17
+14305: 18, 38, 18
+14306: 18, 38, 19
+14307: 18, 38, 20
+14308: 18, 38, 21
+14309: 18, 38, 22
+14310: 18, 38, 23
+14311: 18, 38, 24
+14312: 18, 38, 25
+14313: 18, 38, 26
+14314: 18, 38, 27
+14315: 18, 38, 28
+14316: 18, 38, 29
+14317: 18, 38, 30
+14318: 18, 38, 31
+14319: 18, 38, 32
+14320: 18, 38, 33
+14321: 18, 38, 34
+14322: 18, 38, 35
+14323: 18, 38, 36
+14324: 18, 38, 37
+14325: 18, 38, 38
+14326: 18, 38, 39
+14327: 18, 38, 40
+14328: 18, 38, 41
+14329: 18, 39, 0
+14330: 18, 39, 1
+14331: 18, 39, 2
+14332: 18, 39, 3
+14333: 18, 39, 4
+14334: 18, 39, 5
+14335: 18, 39, 6
+14336: 18, 39, 7
+14337: 18, 39, 8
+14338: 18, 39, 9
+14339: 18, 39, 10
+14340: 18, 39, 11
+14341: 18, 39, 12
+14342: 18, 39, 13
+14343: 18, 39, 14
+14344: 18, 39, 15
+14345: 18, 39, 16
+14346: 18, 39, 17
+14347: 18, 39, 18
+14348: 18, 39, 19
+14349: 18, 39, 20
+14350: 18, 39, 21
+14351: 18, 39, 22
+14352: 18, 39, 23
+14353: 18, 39, 24
+14354: 18, 39, 25
+14355: 18, 39, 26
+14356: 18, 39, 27
+14357: 18, 39, 28
+14358: 18, 39, 29
+14359: 18, 39, 30
+14360: 18, 40, 0
+14361: 18, 40, 1
+14362: 18, 40, 2
+14363: 18, 40, 3
+14364: 18, 40, 4
+14365: 18, 40, 5
+14366: 18, 40, 6
+14367: 18, 40, 7
+14368: 18, 40, 8
+14369: 18, 40, 9
+14370: 18, 40, 10
+14371: 18, 40, 11
+14372: 18, 40, 12
+14373: 18, 40, 13
+14374: 18, 40, 14
+14375: 18, 40, 15
+14376: 18, 40, 16
+14377: 18, 40, 17
+14378: 18, 40, 18
+14379: 18, 40, 19
+14380: 18, 40, 20
+14381: 18, 40, 21
+14382: 18, 40, 22
+14383: 18, 40, 23
+14384: 18, 40, 24
+14385: 18, 41, 0
+14386: 18, 41, 1
+14387: 18, 41, 2
+14388: 18, 41, 3
+14389: 18, 41, 4
+14390: 18, 41, 5
+14391: 18, 41, 6
+14392: 18, 41, 7
+14393: 18, 41, 8
+14394: 18, 41, 9
+14395: 18, 41, 10
+14396: 18, 41, 11
+14397: 18, 41, 12
+14398: 18, 41, 13
+14399: 18, 41, 14
+14400: 18, 41, 15
+14401: 18, 41, 16
+14402: 18, 41, 17
+14403: 18, 41, 18
+14404: 18, 41, 19
+14405: 18, 41, 20
+14406: 18, 41, 21
+14407: 18, 41, 22
+14408: 18, 41, 23
+14409: 18, 41, 24
+14410: 18, 41, 25
+14411: 18, 41, 26
+14412: 18, 41, 27
+14413: 18, 41, 28
+14414: 18, 41, 29
+14415: 18, 41, 30
+14416: 18, 41, 31
+14417: 18, 41, 32
+14418: 18, 41, 33
+14419: 18, 41, 34
+14420: 18, 42, 0
+14421: 18, 42, 1
+14422: 18, 42, 2
+14423: 18, 42, 3
+14424: 18, 42, 4
+14425: 18, 42, 5
+14426: 18, 42, 6
+14427: 18, 42, 7
+14428: 18, 42, 8
+14429: 18, 42, 9
+14430: 18, 42, 10
+14431: 18, 42, 11
+14432: 18, 42, 12
+14433: 18, 42, 13
+14434: 18, 42, 14
+14435: 18, 42, 15
+14436: 18, 42, 16
+14437: 18, 42, 17
+14438: 19, 0, 0
+14439: 19, 1, 0
+14440: 19, 1, 1
+14441: 19, 1, 2
+14442: 19, 1, 3
+14443: 19, 1, 4
+14444: 19, 1, 5
+14445: 19, 1, 6
+14446: 19, 2, 0
+14447: 19, 2, 1
+14448: 19, 2, 2
+14449: 19, 2, 3
+14450: 19, 2, 4
+14451: 19, 2, 5
+14452: 19, 2, 6
+14453: 19, 2, 7
+14454: 19, 2, 8
+14455: 19, 2, 9
+14456: 19, 2, 10
+14457: 19, 2, 11
+14458: 19, 2, 12
+14459: 19, 3, 0
+14460: 19, 3, 1
+14461: 19, 3, 2
+14462: 19, 3, 3
+14463: 19, 3, 4
+14464: 19, 3, 5
+14465: 19, 3, 6
+14466: 19, 3, 7
+14467: 19, 3, 8
+14468: 19, 4, 0
+14469: 19, 4, 1
+14470: 19, 4, 2
+14471: 19, 4, 3
+14472: 19, 4, 4
+14473: 19, 4, 5
+14474: 19, 4, 6
+14475: 19, 4, 7
+14476: 19, 4, 8
+14477: 19, 5, 0
+14478: 19, 5, 1
+14479: 19, 5, 2
+14480: 19, 5, 3
+14481: 19, 5, 4
+14482: 19, 5, 5
+14483: 19, 5, 6
+14484: 19, 5, 7
+14485: 19, 5, 8
+14486: 19, 5, 9
+14487: 19, 5, 10
+14488: 19, 5, 11
+14489: 19, 5, 12
+14490: 19, 6, 0
+14491: 19, 6, 1
+14492: 19, 6, 2
+14493: 19, 6, 3
+14494: 19, 6, 4
+14495: 19, 6, 5
+14496: 19, 6, 6
+14497: 19, 6, 7
+14498: 19, 6, 8
+14499: 19, 6, 9
+14500: 19, 6, 10
+14501: 19, 7, 0
+14502: 19, 7, 1
+14503: 19, 7, 2
+14504: 19, 7, 3
+14505: 19, 7, 4
+14506: 19, 7, 5
+14507: 19, 7, 6
+14508: 19, 7, 7
+14509: 19, 7, 8
+14510: 19, 7, 9
+14511: 19, 7, 10
+14512: 19, 7, 11
+14513: 19, 7, 12
+14514: 19, 7, 13
+14515: 19, 7, 14
+14516: 19, 7, 15
+14517: 19, 7, 16
+14518: 19, 7, 17
+14519: 19, 8, 0
+14520: 19, 8, 1
+14521: 19, 8, 2
+14522: 19, 8, 3
+14523: 19, 8, 4
+14524: 19, 8, 5
+14525: 19, 8, 6
+14526: 19, 8, 7
+14527: 19, 8, 8
+14528: 19, 8, 9
+14529: 19, 9, 0
+14530: 19, 9, 1
+14531: 19, 9, 2
+14532: 19, 9, 3
+14533: 19, 9, 4
+14534: 19, 9, 5
+14535: 19, 9, 6
+14536: 19, 9, 7
+14537: 19, 9, 8
+14538: 19, 9, 9
+14539: 19, 9, 10
+14540: 19, 9, 11
+14541: 19, 9, 12
+14542: 19, 9, 13
+14543: 19, 9, 14
+14544: 19, 9, 15
+14545: 19, 9, 16
+14546: 19, 9, 17
+14547: 19, 9, 18
+14548: 19, 9, 19
+14549: 19, 9, 20
+14550: 19, 10, 0
+14551: 19, 10, 1
+14552: 19, 10, 2
+14553: 19, 10, 3
+14554: 19, 10, 4
+14555: 19, 10, 5
+14556: 19, 10, 6
+14557: 19, 10, 7
+14558: 19, 10, 8
+14559: 19, 10, 9
+14560: 19, 10, 10
+14561: 19, 10, 11
+14562: 19, 10, 12
+14563: 19, 10, 13
+14564: 19, 10, 14
+14565: 19, 10, 15
+14566: 19, 10, 16
+14567: 19, 10, 17
+14568: 19, 10, 18
+14569: 19, 11, 0
+14570: 19, 11, 1
+14571: 19, 11, 2
+14572: 19, 11, 3
+14573: 19, 11, 4
+14574: 19, 11, 5
+14575: 19, 11, 6
+14576: 19, 11, 7
+14577: 19, 12, 0
+14578: 19, 12, 1
+14579: 19, 12, 2
+14580: 19, 12, 3
+14581: 19, 12, 4
+14582: 19, 12, 5
+14583: 19, 12, 6
+14584: 19, 12, 7
+14585: 19, 12, 8
+14586: 19, 13, 0
+14587: 19, 13, 1
+14588: 19, 13, 2
+14589: 19, 13, 3
+14590: 19, 13, 4
+14591: 19, 13, 5
+14592: 19, 13, 6
+14593: 19, 14, 0
+14594: 19, 14, 1
+14595: 19, 14, 2
+14596: 19, 14, 3
+14597: 19, 14, 4
+14598: 19, 14, 5
+14599: 19, 14, 6
+14600: 19, 14, 7
+14601: 19, 15, 0
+14602: 19, 15, 1
+14603: 19, 15, 2
+14604: 19, 15, 3
+14605: 19, 15, 4
+14606: 19, 15, 5
+14607: 19, 16, 0
+14608: 19, 16, 1
+14609: 19, 16, 2
+14610: 19, 16, 3
+14611: 19, 16, 4
+14612: 19, 16, 5
+14613: 19, 16, 6
+14614: 19, 16, 7
+14615: 19, 16, 8
+14616: 19, 16, 9
+14617: 19, 16, 10
+14618: 19, 16, 11
+14619: 19, 17, 0
+14620: 19, 17, 1
+14621: 19, 17, 2
+14622: 19, 17, 3
+14623: 19, 17, 4
+14624: 19, 17, 5
+14625: 19, 17, 6
+14626: 19, 17, 7
+14627: 19, 17, 8
+14628: 19, 17, 9
+14629: 19, 17, 10
+14630: 19, 17, 11
+14631: 19, 17, 12
+14632: 19, 17, 13
+14633: 19, 17, 14
+14634: 19, 17, 15
+14635: 19, 18, 0
+14636: 19, 18, 1
+14637: 19, 18, 2
+14638: 19, 18, 3
+14639: 19, 18, 4
+14640: 19, 18, 5
+14641: 19, 18, 6
+14642: 19, 18, 7
+14643: 19, 18, 8
+14644: 19, 18, 9
+14645: 19, 18, 10
+14646: 19, 18, 11
+14647: 19, 18, 12
+14648: 19, 18, 13
+14649: 19, 18, 14
+14650: 19, 18, 15
+14651: 19, 18, 16
+14652: 19, 18, 17
+14653: 19, 18, 18
+14654: 19, 18, 19
+14655: 19, 18, 20
+14656: 19, 18, 21
+14657: 19, 18, 22
+14658: 19, 18, 23
+14659: 19, 18, 24
+14660: 19, 18, 25
+14661: 19, 18, 26
+14662: 19, 18, 27
+14663: 19, 18, 28
+14664: 19, 18, 29
+14665: 19, 18, 30
+14666: 19, 18, 31
+14667: 19, 18, 32
+14668: 19, 18, 33
+14669: 19, 18, 34
+14670: 19, 18, 35
+14671: 19, 18, 36
+14672: 19, 18, 37
+14673: 19, 18, 38
+14674: 19, 18, 39
+14675: 19, 18, 40
+14676: 19, 18, 41
+14677: 19, 18, 42
+14678: 19, 18, 43
+14679: 19, 18, 44
+14680: 19, 18, 45
+14681: 19, 18, 46
+14682: 19, 18, 47
+14683: 19, 18, 48
+14684: 19, 18, 49
+14685: 19, 18, 50
+14686: 19, 19, 0
+14687: 19, 19, 1
+14688: 19, 19, 2
+14689: 19, 19, 3
+14690: 19, 19, 4
+14691: 19, 19, 5
+14692: 19, 19, 6
+14693: 19, 19, 7
+14694: 19, 19, 8
+14695: 19, 19, 9
+14696: 19, 19, 10
+14697: 19, 19, 11
+14698: 19, 19, 12
+14699: 19, 19, 13
+14700: 19, 19, 14
+14701: 19, 20, 0
+14702: 19, 20, 1
+14703: 19, 20, 2
+14704: 19, 20, 3
+14705: 19, 20, 4
+14706: 19, 20, 5
+14707: 19, 20, 6
+14708: 19, 20, 7
+14709: 19, 20, 8
+14710: 19, 20, 9
+14711: 19, 21, 0
+14712: 19, 21, 1
+14713: 19, 21, 2
+14714: 19, 21, 3
+14715: 19, 21, 4
+14716: 19, 21, 5
+14717: 19, 21, 6
+14718: 19, 21, 7
+14719: 19, 21, 8
+14720: 19, 21, 9
+14721: 19, 21, 10
+14722: 19, 21, 11
+14723: 19, 21, 12
+14724: 19, 21, 13
+14725: 19, 22, 0
+14726: 19, 22, 1
+14727: 19, 22, 2
+14728: 19, 22, 3
+14729: 19, 22, 4
+14730: 19, 22, 5
+14731: 19, 22, 6
+14732: 19, 22, 7
+14733: 19, 22, 8
+14734: 19, 22, 9
+14735: 19, 22, 10
+14736: 19, 22, 11
+14737: 19, 22, 12
+14738: 19, 22, 13
+14739: 19, 22, 14
+14740: 19, 22, 15
+14741: 19, 22, 16
+14742: 19, 22, 17
+14743: 19, 22, 18
+14744: 19, 22, 19
+14745: 19, 22, 20
+14746: 19, 22, 21
+14747: 19, 22, 22
+14748: 19, 22, 23
+14749: 19, 22, 24
+14750: 19, 22, 25
+14751: 19, 22, 26
+14752: 19, 22, 27
+14753: 19, 22, 28
+14754: 19, 22, 29
+14755: 19, 22, 30
+14756: 19, 22, 31
+14757: 19, 23, 0
+14758: 19, 23, 1
+14759: 19, 23, 2
+14760: 19, 23, 3
+14761: 19, 23, 4
+14762: 19, 23, 5
+14763: 19, 23, 6
+14764: 19, 24, 0
+14765: 19, 24, 1
+14766: 19, 24, 2
+14767: 19, 24, 3
+14768: 19, 24, 4
+14769: 19, 24, 5
+14770: 19, 24, 6
+14771: 19, 24, 7
+14772: 19, 24, 8
+14773: 19, 24, 9
+14774: 19, 24, 10
+14775: 19, 25, 0
+14776: 19, 25, 1
+14777: 19, 25, 2
+14778: 19, 25, 3
+14779: 19, 25, 4
+14780: 19, 25, 5
+14781: 19, 25, 6
+14782: 19, 25, 7
+14783: 19, 25, 8
+14784: 19, 25, 9
+14785: 19, 25, 10
+14786: 19, 25, 11
+14787: 19, 25, 12
+14788: 19, 25, 13
+14789: 19, 25, 14
+14790: 19, 25, 15
+14791: 19, 25, 16
+14792: 19, 25, 17
+14793: 19, 25, 18
+14794: 19, 25, 19
+14795: 19, 25, 20
+14796: 19, 25, 21
+14797: 19, 25, 22
+14798: 19, 26, 0
+14799: 19, 26, 1
+14800: 19, 26, 2
+14801: 19, 26, 3
+14802: 19, 26, 4
+14803: 19, 26, 5
+14804: 19, 26, 6
+14805: 19, 26, 7
+14806: 19, 26, 8
+14807: 19, 26, 9
+14808: 19, 26, 10
+14809: 19, 26, 11
+14810: 19, 26, 12
+14811: 19, 27, 0
+14812: 19, 27, 1
+14813: 19, 27, 2
+14814: 19, 27, 3
+14815: 19, 27, 4
+14816: 19, 27, 5
+14817: 19, 27, 6
+14818: 19, 27, 7
+14819: 19, 27, 8
+14820: 19, 27, 9
+14821: 19, 27, 10
+14822: 19, 27, 11
+14823: 19, 27, 12
+14824: 19, 27, 13
+14825: 19, 27, 14
+14826: 19, 28, 0
+14827: 19, 28, 1
+14828: 19, 28, 2
+14829: 19, 28, 3
+14830: 19, 28, 4
+14831: 19, 28, 5
+14832: 19, 28, 6
+14833: 19, 28, 7
+14834: 19, 28, 8
+14835: 19, 28, 9
+14836: 19, 29, 0
+14837: 19, 29, 1
+14838: 19, 29, 2
+14839: 19, 29, 3
+14840: 19, 29, 4
+14841: 19, 29, 5
+14842: 19, 29, 6
+14843: 19, 29, 7
+14844: 19, 29, 8
+14845: 19, 29, 9
+14846: 19, 29, 10
+14847: 19, 29, 11
+14848: 19, 30, 0
+14849: 19, 30, 1
+14850: 19, 30, 2
+14851: 19, 30, 3
+14852: 19, 30, 4
+14853: 19, 30, 5
+14854: 19, 30, 6
+14855: 19, 30, 7
+14856: 19, 30, 8
+14857: 19, 30, 9
+14858: 19, 30, 10
+14859: 19, 30, 11
+14860: 19, 30, 12
+14861: 19, 31, 0
+14862: 19, 31, 1
+14863: 19, 31, 2
+14864: 19, 31, 3
+14865: 19, 31, 4
+14866: 19, 31, 5
+14867: 19, 31, 6
+14868: 19, 31, 7
+14869: 19, 31, 8
+14870: 19, 31, 9
+14871: 19, 31, 10
+14872: 19, 31, 11
+14873: 19, 31, 12
+14874: 19, 31, 13
+14875: 19, 31, 14
+14876: 19, 31, 15
+14877: 19, 31, 16
+14878: 19, 31, 17
+14879: 19, 31, 18
+14880: 19, 31, 19
+14881: 19, 31, 20
+14882: 19, 31, 21
+14883: 19, 31, 22
+14884: 19, 31, 23
+14885: 19, 31, 24
+14886: 19, 32, 0
+14887: 19, 32, 1
+14888: 19, 32, 2
+14889: 19, 32, 3
+14890: 19, 32, 4
+14891: 19, 32, 5
+14892: 19, 32, 6
+14893: 19, 32, 7
+14894: 19, 32, 8
+14895: 19, 32, 9
+14896: 19, 32, 10
+14897: 19, 32, 11
+14898: 19, 33, 0
+14899: 19, 33, 1
+14900: 19, 33, 2
+14901: 19, 33, 3
+14902: 19, 33, 4
+14903: 19, 33, 5
+14904: 19, 33, 6
+14905: 19, 33, 7
+14906: 19, 33, 8
+14907: 19, 33, 9
+14908: 19, 33, 10
+14909: 19, 33, 11
+14910: 19, 33, 12
+14911: 19, 33, 13
+14912: 19, 33, 14
+14913: 19, 33, 15
+14914: 19, 33, 16
+14915: 19, 33, 17
+14916: 19, 33, 18
+14917: 19, 33, 19
+14918: 19, 33, 20
+14919: 19, 33, 21
+14920: 19, 33, 22
+14921: 19, 34, 0
+14922: 19, 34, 1
+14923: 19, 34, 2
+14924: 19, 34, 3
+14925: 19, 34, 4
+14926: 19, 34, 5
+14927: 19, 34, 6
+14928: 19, 34, 7
+14929: 19, 34, 8
+14930: 19, 34, 9
+14931: 19, 34, 10
+14932: 19, 34, 11
+14933: 19, 34, 12
+14934: 19, 34, 13
+14935: 19, 34, 14
+14936: 19, 34, 15
+14937: 19, 34, 16
+14938: 19, 34, 17
+14939: 19, 34, 18
+14940: 19, 34, 19
+14941: 19, 34, 20
+14942: 19, 34, 21
+14943: 19, 34, 22
+14944: 19, 35, 0
+14945: 19, 35, 1
+14946: 19, 35, 2
+14947: 19, 35, 3
+14948: 19, 35, 4
+14949: 19, 35, 5
+14950: 19, 35, 6
+14951: 19, 35, 7
+14952: 19, 35, 8
+14953: 19, 35, 9
+14954: 19, 35, 10
+14955: 19, 35, 11
+14956: 19, 35, 12
+14957: 19, 35, 13
+14958: 19, 35, 14
+14959: 19, 35, 15
+14960: 19, 35, 16
+14961: 19, 35, 17
+14962: 19, 35, 18
+14963: 19, 35, 19
+14964: 19, 35, 20
+14965: 19, 35, 21
+14966: 19, 35, 22
+14967: 19, 35, 23
+14968: 19, 35, 24
+14969: 19, 35, 25
+14970: 19, 35, 26
+14971: 19, 35, 27
+14972: 19, 35, 28
+14973: 19, 36, 0
+14974: 19, 36, 1
+14975: 19, 36, 2
+14976: 19, 36, 3
+14977: 19, 36, 4
+14978: 19, 36, 5
+14979: 19, 36, 6
+14980: 19, 36, 7
+14981: 19, 36, 8
+14982: 19, 36, 9
+14983: 19, 36, 10
+14984: 19, 36, 11
+14985: 19, 36, 12
+14986: 19, 37, 0
+14987: 19, 37, 1
+14988: 19, 37, 2
+14989: 19, 37, 3
+14990: 19, 37, 4
+14991: 19, 37, 5
+14992: 19, 37, 6
+14993: 19, 37, 7
+14994: 19, 37, 8
+14995: 19, 37, 9
+14996: 19, 37, 10
+14997: 19, 37, 11
+14998: 19, 37, 12
+14999: 19, 37, 13
+15000: 19, 37, 14
+15001: 19, 37, 15
+15002: 19, 37, 16
+15003: 19, 37, 17
+15004: 19, 37, 18
+15005: 19, 37, 19
+15006: 19, 37, 20
+15007: 19, 37, 21
+15008: 19, 37, 22
+15009: 19, 37, 23
+15010: 19, 37, 24
+15011: 19, 37, 25
+15012: 19, 37, 26
+15013: 19, 37, 27
+15014: 19, 37, 28
+15015: 19, 37, 29
+15016: 19, 37, 30
+15017: 19, 37, 31
+15018: 19, 37, 32
+15019: 19, 37, 33
+15020: 19, 37, 34
+15021: 19, 37, 35
+15022: 19, 37, 36
+15023: 19, 37, 37
+15024: 19, 37, 38
+15025: 19, 37, 39
+15026: 19, 37, 40
+15027: 19, 38, 0
+15028: 19, 38, 1
+15029: 19, 38, 2
+15030: 19, 38, 3
+15031: 19, 38, 4
+15032: 19, 38, 5
+15033: 19, 38, 6
+15034: 19, 38, 7
+15035: 19, 38, 8
+15036: 19, 38, 9
+15037: 19, 38, 10
+15038: 19, 38, 11
+15039: 19, 38, 12
+15040: 19, 38, 13
+15041: 19, 38, 14
+15042: 19, 38, 15
+15043: 19, 38, 16
+15044: 19, 38, 17
+15045: 19, 38, 18
+15046: 19, 38, 19
+15047: 19, 38, 20
+15048: 19, 38, 21
+15049: 19, 38, 22
+15050: 19, 39, 0
+15051: 19, 39, 1
+15052: 19, 39, 2
+15053: 19, 39, 3
+15054: 19, 39, 4
+15055: 19, 39, 5
+15056: 19, 39, 6
+15057: 19, 39, 7
+15058: 19, 39, 8
+15059: 19, 39, 9
+15060: 19, 39, 10
+15061: 19, 39, 11
+15062: 19, 39, 12
+15063: 19, 39, 13
+15064: 19, 40, 0
+15065: 19, 40, 1
+15066: 19, 40, 2
+15067: 19, 40, 3
+15068: 19, 40, 4
+15069: 19, 40, 5
+15070: 19, 40, 6
+15071: 19, 40, 7
+15072: 19, 40, 8
+15073: 19, 40, 9
+15074: 19, 40, 10
+15075: 19, 40, 11
+15076: 19, 40, 12
+15077: 19, 40, 13
+15078: 19, 40, 14
+15079: 19, 40, 15
+15080: 19, 40, 16
+15081: 19, 40, 17
+15082: 19, 41, 0
+15083: 19, 41, 1
+15084: 19, 41, 2
+15085: 19, 41, 3
+15086: 19, 41, 4
+15087: 19, 41, 5
+15088: 19, 41, 6
+15089: 19, 41, 7
+15090: 19, 41, 8
+15091: 19, 41, 9
+15092: 19, 41, 10
+15093: 19, 41, 11
+15094: 19, 41, 12
+15095: 19, 41, 13
+15096: 19, 42, 0
+15097: 19, 42, 1
+15098: 19, 42, 2
+15099: 19, 42, 3
+15100: 19, 42, 4
+15101: 19, 42, 5
+15102: 19, 42, 6
+15103: 19, 42, 7
+15104: 19, 42, 8
+15105: 19, 42, 9
+15106: 19, 42, 10
+15107: 19, 42, 11
+15108: 19, 43, 0
+15109: 19, 43, 1
+15110: 19, 43, 2
+15111: 19, 43, 3
+15112: 19, 43, 4
+15113: 19, 43, 5
+15114: 19, 44, 0
+15115: 19, 44, 1
+15116: 19, 44, 2
+15117: 19, 44, 3
+15118: 19, 44, 4
+15119: 19, 44, 5
+15120: 19, 44, 6
+15121: 19, 44, 7
+15122: 19, 44, 8
+15123: 19, 44, 9
+15124: 19, 44, 10
+15125: 19, 44, 11
+15126: 19, 44, 12
+15127: 19, 44, 13
+15128: 19, 44, 14
+15129: 19, 44, 15
+15130: 19, 44, 16
+15131: 19, 44, 17
+15132: 19, 44, 18
+15133: 19, 44, 19
+15134: 19, 44, 20
+15135: 19, 44, 21
+15136: 19, 44, 22
+15137: 19, 44, 23
+15138: 19, 44, 24
+15139: 19, 44, 25
+15140: 19, 44, 26
+15141: 19, 45, 0
+15142: 19, 45, 1
+15143: 19, 45, 2
+15144: 19, 45, 3
+15145: 19, 45, 4
+15146: 19, 45, 5
+15147: 19, 45, 6
+15148: 19, 45, 7
+15149: 19, 45, 8
+15150: 19, 45, 9
+15151: 19, 45, 10
+15152: 19, 45, 11
+15153: 19, 45, 12
+15154: 19, 45, 13
+15155: 19, 45, 14
+15156: 19, 45, 15
+15157: 19, 45, 16
+15158: 19, 45, 17
+15159: 19, 46, 0
+15160: 19, 46, 1
+15161: 19, 46, 2
+15162: 19, 46, 3
+15163: 19, 46, 4
+15164: 19, 46, 5
+15165: 19, 46, 6
+15166: 19, 46, 7
+15167: 19, 46, 8
+15168: 19, 46, 9
+15169: 19, 46, 10
+15170: 19, 46, 11
+15171: 19, 47, 0
+15172: 19, 47, 1
+15173: 19, 47, 2
+15174: 19, 47, 3
+15175: 19, 47, 4
+15176: 19, 47, 5
+15177: 19, 47, 6
+15178: 19, 47, 7
+15179: 19, 47, 8
+15180: 19, 47, 9
+15181: 19, 48, 0
+15182: 19, 48, 1
+15183: 19, 48, 2
+15184: 19, 48, 3
+15185: 19, 48, 4
+15186: 19, 48, 5
+15187: 19, 48, 6
+15188: 19, 48, 7
+15189: 19, 48, 8
+15190: 19, 48, 9
+15191: 19, 48, 10
+15192: 19, 48, 11
+15193: 19, 48, 12
+15194: 19, 48, 13
+15195: 19, 48, 14
+15196: 19, 49, 0
+15197: 19, 49, 1
+15198: 19, 49, 2
+15199: 19, 49, 3
+15200: 19, 49, 4
+15201: 19, 49, 5
+15202: 19, 49, 6
+15203: 19, 49, 7
+15204: 19, 49, 8
+15205: 19, 49, 9
+15206: 19, 49, 10
+15207: 19, 49, 11
+15208: 19, 49, 12
+15209: 19, 49, 13
+15210: 19, 49, 14
+15211: 19, 49, 15
+15212: 19, 49, 16
+15213: 19, 49, 17
+15214: 19, 49, 18
+15215: 19, 49, 19
+15216: 19, 49, 20
+15217: 19, 50, 0
+15218: 19, 50, 1
+15219: 19, 50, 2
+15220: 19, 50, 3
+15221: 19, 50, 4
+15222: 19, 50, 5
+15223: 19, 50, 6
+15224: 19, 50, 7
+15225: 19, 50, 8
+15226: 19, 50, 9
+15227: 19, 50, 10
+15228: 19, 50, 11
+15229: 19, 50, 12
+15230: 19, 50, 13
+15231: 19, 50, 14
+15232: 19, 50, 15
+15233: 19, 50, 16
+15234: 19, 50, 17
+15235: 19, 50, 18
+15236: 19, 50, 19
+15237: 19, 50, 20
+15238: 19, 50, 21
+15239: 19, 50, 22
+15240: 19, 50, 23
+15241: 19, 51, 0
+15242: 19, 51, 1
+15243: 19, 51, 2
+15244: 19, 51, 3
+15245: 19, 51, 4
+15246: 19, 51, 5
+15247: 19, 51, 6
+15248: 19, 51, 7
+15249: 19, 51, 8
+15250: 19, 51, 9
+15251: 19, 51, 10
+15252: 19, 51, 11
+15253: 19, 51, 12
+15254: 19, 51, 13
+15255: 19, 51, 14
+15256: 19, 51, 15
+15257: 19, 51, 16
+15258: 19, 51, 17
+15259: 19, 51, 18
+15260: 19, 51, 19
+15261: 19, 52, 0
+15262: 19, 52, 1
+15263: 19, 52, 2
+15264: 19, 52, 3
+15265: 19, 52, 4
+15266: 19, 52, 5
+15267: 19, 52, 6
+15268: 19, 52, 7
+15269: 19, 52, 8
+15270: 19, 52, 9
+15271: 19, 53, 0
+15272: 19, 53, 1
+15273: 19, 53, 2
+15274: 19, 53, 3
+15275: 19, 53, 4
+15276: 19, 53, 5
+15277: 19, 53, 6
+15278: 19, 54, 0
+15279: 19, 54, 1
+15280: 19, 54, 2
+15281: 19, 54, 3
+15282: 19, 54, 4
+15283: 19, 54, 5
+15284: 19, 54, 6
+15285: 19, 54, 7
+15286: 19, 55, 0
+15287: 19, 55, 1
+15288: 19, 55, 2
+15289: 19, 55, 3
+15290: 19, 55, 4
+15291: 19, 55, 5
+15292: 19, 55, 6
+15293: 19, 55, 7
+15294: 19, 55, 8
+15295: 19, 55, 9
+15296: 19, 55, 10
+15297: 19, 55, 11
+15298: 19, 55, 12
+15299: 19, 55, 13
+15300: 19, 55, 14
+15301: 19, 55, 15
+15302: 19, 55, 16
+15303: 19, 55, 17
+15304: 19, 55, 18
+15305: 19, 55, 19
+15306: 19, 55, 20
+15307: 19, 55, 21
+15308: 19, 55, 22
+15309: 19, 55, 23
+15310: 19, 56, 0
+15311: 19, 56, 1
+15312: 19, 56, 2
+15313: 19, 56, 3
+15314: 19, 56, 4
+15315: 19, 56, 5
+15316: 19, 56, 6
+15317: 19, 56, 7
+15318: 19, 56, 8
+15319: 19, 56, 9
+15320: 19, 56, 10
+15321: 19, 56, 11
+15322: 19, 56, 12
+15323: 19, 56, 13
+15324: 19, 57, 0
+15325: 19, 57, 1
+15326: 19, 57, 2
+15327: 19, 57, 3
+15328: 19, 57, 4
+15329: 19, 57, 5
+15330: 19, 57, 6
+15331: 19, 57, 7
+15332: 19, 57, 8
+15333: 19, 57, 9
+15334: 19, 57, 10
+15335: 19, 57, 11
+15336: 19, 58, 0
+15337: 19, 58, 1
+15338: 19, 58, 2
+15339: 19, 58, 3
+15340: 19, 58, 4
+15341: 19, 58, 5
+15342: 19, 58, 6
+15343: 19, 58, 7
+15344: 19, 58, 8
+15345: 19, 58, 9
+15346: 19, 58, 10
+15347: 19, 58, 11
+15348: 19, 59, 0
+15349: 19, 59, 1
+15350: 19, 59, 2
+15351: 19, 59, 3
+15352: 19, 59, 4
+15353: 19, 59, 5
+15354: 19, 59, 6
+15355: 19, 59, 7
+15356: 19, 59, 8
+15357: 19, 59, 9
+15358: 19, 59, 10
+15359: 19, 59, 11
+15360: 19, 59, 12
+15361: 19, 59, 13
+15362: 19, 59, 14
+15363: 19, 59, 15
+15364: 19, 59, 16
+15365: 19, 59, 17
+15366: 19, 60, 0
+15367: 19, 60, 1
+15368: 19, 60, 2
+15369: 19, 60, 3
+15370: 19, 60, 4
+15371: 19, 60, 5
+15372: 19, 60, 6
+15373: 19, 60, 7
+15374: 19, 60, 8
+15375: 19, 60, 9
+15376: 19, 60, 10
+15377: 19, 60, 11
+15378: 19, 60, 12
+15379: 19, 61, 0
+15380: 19, 61, 1
+15381: 19, 61, 2
+15382: 19, 61, 3
+15383: 19, 61, 4
+15384: 19, 61, 5
+15385: 19, 61, 6
+15386: 19, 61, 7
+15387: 19, 61, 8
+15388: 19, 62, 0
+15389: 19, 62, 1
+15390: 19, 62, 2
+15391: 19, 62, 3
+15392: 19, 62, 4
+15393: 19, 62, 5
+15394: 19, 62, 6
+15395: 19, 62, 7
+15396: 19, 62, 8
+15397: 19, 62, 9
+15398: 19, 62, 10
+15399: 19, 62, 11
+15400: 19, 62, 12
+15401: 19, 63, 0
+15402: 19, 63, 1
+15403: 19, 63, 2
+15404: 19, 63, 3
+15405: 19, 63, 4
+15406: 19, 63, 5
+15407: 19, 63, 6
+15408: 19, 63, 7
+15409: 19, 63, 8
+15410: 19, 63, 9
+15411: 19, 63, 10
+15412: 19, 63, 11
+15413: 19, 64, 0
+15414: 19, 64, 1
+15415: 19, 64, 2
+15416: 19, 64, 3
+15417: 19, 64, 4
+15418: 19, 64, 5
+15419: 19, 64, 6
+15420: 19, 64, 7
+15421: 19, 64, 8
+15422: 19, 64, 9
+15423: 19, 64, 10
+15424: 19, 65, 0
+15425: 19, 65, 1
+15426: 19, 65, 2
+15427: 19, 65, 3
+15428: 19, 65, 4
+15429: 19, 65, 5
+15430: 19, 65, 6
+15431: 19, 65, 7
+15432: 19, 65, 8
+15433: 19, 65, 9
+15434: 19, 65, 10
+15435: 19, 65, 11
+15436: 19, 65, 12
+15437: 19, 65, 13
+15438: 19, 66, 0
+15439: 19, 66, 1
+15440: 19, 66, 2
+15441: 19, 66, 3
+15442: 19, 66, 4
+15443: 19, 66, 5
+15444: 19, 66, 6
+15445: 19, 66, 7
+15446: 19, 66, 8
+15447: 19, 66, 9
+15448: 19, 66, 10
+15449: 19, 66, 11
+15450: 19, 66, 12
+15451: 19, 66, 13
+15452: 19, 66, 14
+15453: 19, 66, 15
+15454: 19, 66, 16
+15455: 19, 66, 17
+15456: 19, 66, 18
+15457: 19, 66, 19
+15458: 19, 66, 20
+15459: 19, 67, 0
+15460: 19, 67, 1
+15461: 19, 67, 2
+15462: 19, 67, 3
+15463: 19, 67, 4
+15464: 19, 67, 5
+15465: 19, 67, 6
+15466: 19, 67, 7
+15467: 19, 68, 0
+15468: 19, 68, 1
+15469: 19, 68, 2
+15470: 19, 68, 3
+15471: 19, 68, 4
+15472: 19, 68, 5
+15473: 19, 68, 6
+15474: 19, 68, 7
+15475: 19, 68, 8
+15476: 19, 68, 9
+15477: 19, 68, 10
+15478: 19, 68, 11
+15479: 19, 68, 12
+15480: 19, 68, 13
+15481: 19, 68, 14
+15482: 19, 68, 15
+15483: 19, 68, 16
+15484: 19, 68, 17
+15485: 19, 68, 18
+15486: 19, 68, 19
+15487: 19, 68, 20
+15488: 19, 68, 21
+15489: 19, 68, 22
+15490: 19, 68, 23
+15491: 19, 68, 24
+15492: 19, 68, 25
+15493: 19, 68, 26
+15494: 19, 68, 27
+15495: 19, 68, 28
+15496: 19, 68, 29
+15497: 19, 68, 30
+15498: 19, 68, 31
+15499: 19, 68, 32
+15500: 19, 68, 33
+15501: 19, 68, 34
+15502: 19, 68, 35
+15503: 19, 69, 0
+15504: 19, 69, 1
+15505: 19, 69, 2
+15506: 19, 69, 3
+15507: 19, 69, 4
+15508: 19, 69, 5
+15509: 19, 69, 6
+15510: 19, 69, 7
+15511: 19, 69, 8
+15512: 19, 69, 9
+15513: 19, 69, 10
+15514: 19, 69, 11
+15515: 19, 69, 12
+15516: 19, 69, 13
+15517: 19, 69, 14
+15518: 19, 69, 15
+15519: 19, 69, 16
+15520: 19, 69, 17
+15521: 19, 69, 18
+15522: 19, 69, 19
+15523: 19, 69, 20
+15524: 19, 69, 21
+15525: 19, 69, 22
+15526: 19, 69, 23
+15527: 19, 69, 24
+15528: 19, 69, 25
+15529: 19, 69, 26
+15530: 19, 69, 27
+15531: 19, 69, 28
+15532: 19, 69, 29
+15533: 19, 69, 30
+15534: 19, 69, 31
+15535: 19, 69, 32
+15536: 19, 69, 33
+15537: 19, 69, 34
+15538: 19, 69, 35
+15539: 19, 69, 36
+15540: 19, 70, 0
+15541: 19, 70, 1
+15542: 19, 70, 2
+15543: 19, 70, 3
+15544: 19, 70, 4
+15545: 19, 70, 5
+15546: 19, 71, 0
+15547: 19, 71, 1
+15548: 19, 71, 2
+15549: 19, 71, 3
+15550: 19, 71, 4
+15551: 19, 71, 5
+15552: 19, 71, 6
+15553: 19, 71, 7
+15554: 19, 71, 8
+15555: 19, 71, 9
+15556: 19, 71, 10
+15557: 19, 71, 11
+15558: 19, 71, 12
+15559: 19, 71, 13
+15560: 19, 71, 14
+15561: 19, 71, 15
+15562: 19, 71, 16
+15563: 19, 71, 17
+15564: 19, 71, 18
+15565: 19, 71, 19
+15566: 19, 71, 20
+15567: 19, 71, 21
+15568: 19, 71, 22
+15569: 19, 71, 23
+15570: 19, 71, 24
+15571: 19, 72, 0
+15572: 19, 72, 1
+15573: 19, 72, 2
+15574: 19, 72, 3
+15575: 19, 72, 4
+15576: 19, 72, 5
+15577: 19, 72, 6
+15578: 19, 72, 7
+15579: 19, 72, 8
+15580: 19, 72, 9
+15581: 19, 72, 10
+15582: 19, 72, 11
+15583: 19, 72, 12
+15584: 19, 72, 13
+15585: 19, 72, 14
+15586: 19, 72, 15
+15587: 19, 72, 16
+15588: 19, 72, 17
+15589: 19, 72, 18
+15590: 19, 72, 19
+15591: 19, 72, 20
+15592: 19, 73, 0
+15593: 19, 73, 1
+15594: 19, 73, 2
+15595: 19, 73, 3
+15596: 19, 73, 4
+15597: 19, 73, 5
+15598: 19, 73, 6
+15599: 19, 73, 7
+15600: 19, 73, 8
+15601: 19, 73, 9
+15602: 19, 73, 10
+15603: 19, 73, 11
+15604: 19, 73, 12
+15605: 19, 73, 13
+15606: 19, 73, 14
+15607: 19, 73, 15
+15608: 19, 73, 16
+15609: 19, 73, 17
+15610: 19, 73, 18
+15611: 19, 73, 19
+15612: 19, 73, 20
+15613: 19, 73, 21
+15614: 19, 73, 22
+15615: 19, 73, 23
+15616: 19, 73, 24
+15617: 19, 73, 25
+15618: 19, 73, 26
+15619: 19, 73, 27
+15620: 19, 73, 28
+15621: 19, 74, 0
+15622: 19, 74, 1
+15623: 19, 74, 2
+15624: 19, 74, 3
+15625: 19, 74, 4
+15626: 19, 74, 5
+15627: 19, 74, 6
+15628: 19, 74, 7
+15629: 19, 74, 8
+15630: 19, 74, 9
+15631: 19, 74, 10
+15632: 19, 74, 11
+15633: 19, 74, 12
+15634: 19, 74, 13
+15635: 19, 74, 14
+15636: 19, 74, 15
+15637: 19, 74, 16
+15638: 19, 74, 17
+15639: 19, 74, 18
+15640: 19, 74, 19
+15641: 19, 74, 20
+15642: 19, 74, 21
+15643: 19, 74, 22
+15644: 19, 74, 23
+15645: 19, 75, 0
+15646: 19, 75, 1
+15647: 19, 75, 2
+15648: 19, 75, 3
+15649: 19, 75, 4
+15650: 19, 75, 5
+15651: 19, 75, 6
+15652: 19, 75, 7
+15653: 19, 75, 8
+15654: 19, 75, 9
+15655: 19, 75, 10
+15656: 19, 76, 0
+15657: 19, 76, 1
+15658: 19, 76, 2
+15659: 19, 76, 3
+15660: 19, 76, 4
+15661: 19, 76, 5
+15662: 19, 76, 6
+15663: 19, 76, 7
+15664: 19, 76, 8
+15665: 19, 76, 9
+15666: 19, 76, 10
+15667: 19, 76, 11
+15668: 19, 76, 12
+15669: 19, 77, 0
+15670: 19, 77, 1
+15671: 19, 77, 2
+15672: 19, 77, 3
+15673: 19, 77, 4
+15674: 19, 77, 5
+15675: 19, 77, 6
+15676: 19, 77, 7
+15677: 19, 77, 8
+15678: 19, 77, 9
+15679: 19, 77, 10
+15680: 19, 77, 11
+15681: 19, 77, 12
+15682: 19, 77, 13
+15683: 19, 77, 14
+15684: 19, 77, 15
+15685: 19, 77, 16
+15686: 19, 77, 17
+15687: 19, 77, 18
+15688: 19, 77, 19
+15689: 19, 77, 20
+15690: 19, 78, 0
+15691: 19, 78, 1
+15692: 19, 78, 2
+15693: 19, 78, 3
+15694: 19, 78, 4
+15695: 19, 78, 5
+15696: 19, 78, 6
+15697: 19, 78, 7
+15698: 19, 78, 8
+15699: 19, 78, 9
+15700: 19, 78, 10
+15701: 19, 78, 11
+15702: 19, 78, 12
+15703: 19, 78, 13
+15704: 19, 78, 14
+15705: 19, 78, 15
+15706: 19, 78, 16
+15707: 19, 78, 17
+15708: 19, 78, 18
+15709: 19, 78, 19
+15710: 19, 78, 20
+15711: 19, 78, 21
+15712: 19, 78, 22
+15713: 19, 78, 23
+15714: 19, 78, 24
+15715: 19, 78, 25
+15716: 19, 78, 26
+15717: 19, 78, 27
+15718: 19, 78, 28
+15719: 19, 78, 29
+15720: 19, 78, 30
+15721: 19, 78, 31
+15722: 19, 78, 32
+15723: 19, 78, 33
+15724: 19, 78, 34
+15725: 19, 78, 35
+15726: 19, 78, 36
+15727: 19, 78, 37
+15728: 19, 78, 38
+15729: 19, 78, 39
+15730: 19, 78, 40
+15731: 19, 78, 41
+15732: 19, 78, 42
+15733: 19, 78, 43
+15734: 19, 78, 44
+15735: 19, 78, 45
+15736: 19, 78, 46
+15737: 19, 78, 47
+15738: 19, 78, 48
+15739: 19, 78, 49
+15740: 19, 78, 50
+15741: 19, 78, 51
+15742: 19, 78, 52
+15743: 19, 78, 53
+15744: 19, 78, 54
+15745: 19, 78, 55
+15746: 19, 78, 56
+15747: 19, 78, 57
+15748: 19, 78, 58
+15749: 19, 78, 59
+15750: 19, 78, 60
+15751: 19, 78, 61
+15752: 19, 78, 62
+15753: 19, 78, 63
+15754: 19, 78, 64
+15755: 19, 78, 65
+15756: 19, 78, 66
+15757: 19, 78, 67
+15758: 19, 78, 68
+15759: 19, 78, 69
+15760: 19, 78, 70
+15761: 19, 78, 71
+15762: 19, 78, 72
+15763: 19, 79, 0
+15764: 19, 79, 1
+15765: 19, 79, 2
+15766: 19, 79, 3
+15767: 19, 79, 4
+15768: 19, 79, 5
+15769: 19, 79, 6
+15770: 19, 79, 7
+15771: 19, 79, 8
+15772: 19, 79, 9
+15773: 19, 79, 10
+15774: 19, 79, 11
+15775: 19, 79, 12
+15776: 19, 79, 13
+15777: 19, 80, 0
+15778: 19, 80, 1
+15779: 19, 80, 2
+15780: 19, 80, 3
+15781: 19, 80, 4
+15782: 19, 80, 5
+15783: 19, 80, 6
+15784: 19, 80, 7
+15785: 19, 80, 8
+15786: 19, 80, 9
+15787: 19, 80, 10
+15788: 19, 80, 11
+15789: 19, 80, 12
+15790: 19, 80, 13
+15791: 19, 80, 14
+15792: 19, 80, 15
+15793: 19, 80, 16
+15794: 19, 80, 17
+15795: 19, 80, 18
+15796: 19, 80, 19
+15797: 19, 81, 0
+15798: 19, 81, 1
+15799: 19, 81, 2
+15800: 19, 81, 3
+15801: 19, 81, 4
+15802: 19, 81, 5
+15803: 19, 81, 6
+15804: 19, 81, 7
+15805: 19, 81, 8
+15806: 19, 81, 9
+15807: 19, 81, 10
+15808: 19, 81, 11
+15809: 19, 81, 12
+15810: 19, 81, 13
+15811: 19, 81, 14
+15812: 19, 81, 15
+15813: 19, 81, 16
+15814: 19, 82, 0
+15815: 19, 82, 1
+15816: 19, 82, 2
+15817: 19, 82, 3
+15818: 19, 82, 4
+15819: 19, 82, 5
+15820: 19, 82, 6
+15821: 19, 82, 7
+15822: 19, 82, 8
+15823: 19, 83, 0
+15824: 19, 83, 1
+15825: 19, 83, 2
+15826: 19, 83, 3
+15827: 19, 83, 4
+15828: 19, 83, 5
+15829: 19, 83, 6
+15830: 19, 83, 7
+15831: 19, 83, 8
+15832: 19, 83, 9
+15833: 19, 83, 10
+15834: 19, 83, 11
+15835: 19, 83, 12
+15836: 19, 83, 13
+15837: 19, 83, 14
+15838: 19, 83, 15
+15839: 19, 83, 16
+15840: 19, 83, 17
+15841: 19, 83, 18
+15842: 19, 84, 0
+15843: 19, 84, 1
+15844: 19, 84, 2
+15845: 19, 84, 3
+15846: 19, 84, 4
+15847: 19, 84, 5
+15848: 19, 84, 6
+15849: 19, 84, 7
+15850: 19, 84, 8
+15851: 19, 84, 9
+15852: 19, 84, 10
+15853: 19, 84, 11
+15854: 19, 84, 12
+15855: 19, 85, 0
+15856: 19, 85, 1
+15857: 19, 85, 2
+15858: 19, 85, 3
+15859: 19, 85, 4
+15860: 19, 85, 5
+15861: 19, 85, 6
+15862: 19, 85, 7
+15863: 19, 85, 8
+15864: 19, 85, 9
+15865: 19, 85, 10
+15866: 19, 85, 11
+15867: 19, 85, 12
+15868: 19, 85, 13
+15869: 19, 86, 0
+15870: 19, 86, 1
+15871: 19, 86, 2
+15872: 19, 86, 3
+15873: 19, 86, 4
+15874: 19, 86, 5
+15875: 19, 86, 6
+15876: 19, 86, 7
+15877: 19, 86, 8
+15878: 19, 86, 9
+15879: 19, 86, 10
+15880: 19, 86, 11
+15881: 19, 86, 12
+15882: 19, 86, 13
+15883: 19, 86, 14
+15884: 19, 86, 15
+15885: 19, 86, 16
+15886: 19, 86, 17
+15887: 19, 87, 0
+15888: 19, 87, 1
+15889: 19, 87, 2
+15890: 19, 87, 3
+15891: 19, 87, 4
+15892: 19, 87, 5
+15893: 19, 87, 6
+15894: 19, 87, 7
+15895: 19, 88, 0
+15896: 19, 88, 1
+15897: 19, 88, 2
+15898: 19, 88, 3
+15899: 19, 88, 4
+15900: 19, 88, 5
+15901: 19, 88, 6
+15902: 19, 88, 7
+15903: 19, 88, 8
+15904: 19, 88, 9
+15905: 19, 88, 10
+15906: 19, 88, 11
+15907: 19, 88, 12
+15908: 19, 88, 13
+15909: 19, 88, 14
+15910: 19, 88, 15
+15911: 19, 88, 16
+15912: 19, 88, 17
+15913: 19, 88, 18
+15914: 19, 89, 0
+15915: 19, 89, 1
+15916: 19, 89, 2
+15917: 19, 89, 3
+15918: 19, 89, 4
+15919: 19, 89, 5
+15920: 19, 89, 6
+15921: 19, 89, 7
+15922: 19, 89, 8
+15923: 19, 89, 9
+15924: 19, 89, 10
+15925: 19, 89, 11
+15926: 19, 89, 12
+15927: 19, 89, 13
+15928: 19, 89, 14
+15929: 19, 89, 15
+15930: 19, 89, 16
+15931: 19, 89, 17
+15932: 19, 89, 18
+15933: 19, 89, 19
+15934: 19, 89, 20
+15935: 19, 89, 21
+15936: 19, 89, 22
+15937: 19, 89, 23
+15938: 19, 89, 24
+15939: 19, 89, 25
+15940: 19, 89, 26
+15941: 19, 89, 27
+15942: 19, 89, 28
+15943: 19, 89, 29
+15944: 19, 89, 30
+15945: 19, 89, 31
+15946: 19, 89, 32
+15947: 19, 89, 33
+15948: 19, 89, 34
+15949: 19, 89, 35
+15950: 19, 89, 36
+15951: 19, 89, 37
+15952: 19, 89, 38
+15953: 19, 89, 39
+15954: 19, 89, 40
+15955: 19, 89, 41
+15956: 19, 89, 42
+15957: 19, 89, 43
+15958: 19, 89, 44
+15959: 19, 89, 45
+15960: 19, 89, 46
+15961: 19, 89, 47
+15962: 19, 89, 48
+15963: 19, 89, 49
+15964: 19, 89, 50
+15965: 19, 89, 51
+15966: 19, 89, 52
+15967: 19, 90, 0
+15968: 19, 90, 1
+15969: 19, 90, 2
+15970: 19, 90, 3
+15971: 19, 90, 4
+15972: 19, 90, 5
+15973: 19, 90, 6
+15974: 19, 90, 7
+15975: 19, 90, 8
+15976: 19, 90, 9
+15977: 19, 90, 10
+15978: 19, 90, 11
+15979: 19, 90, 12
+15980: 19, 90, 13
+15981: 19, 90, 14
+15982: 19, 90, 15
+15983: 19, 90, 16
+15984: 19, 90, 17
+15985: 19, 91, 0
+15986: 19, 91, 1
+15987: 19, 91, 2
+15988: 19, 91, 3
+15989: 19, 91, 4
+15990: 19, 91, 5
+15991: 19, 91, 6
+15992: 19, 91, 7
+15993: 19, 91, 8
+15994: 19, 91, 9
+15995: 19, 91, 10
+15996: 19, 91, 11
+15997: 19, 91, 12
+15998: 19, 91, 13
+15999: 19, 91, 14
+16000: 19, 91, 15
+16001: 19, 91, 16
+16002: 19, 92, 0
+16003: 19, 92, 1
+16004: 19, 92, 2
+16005: 19, 92, 3
+16006: 19, 92, 4
+16007: 19, 92, 5
+16008: 19, 92, 6
+16009: 19, 92, 7
+16010: 19, 92, 8
+16011: 19, 92, 9
+16012: 19, 92, 10
+16013: 19, 92, 11
+16014: 19, 92, 12
+16015: 19, 92, 13
+16016: 19, 92, 14
+16017: 19, 92, 15
+16018: 19, 93, 0
+16019: 19, 93, 1
+16020: 19, 93, 2
+16021: 19, 93, 3
+16022: 19, 93, 4
+16023: 19, 93, 5
+16024: 19, 94, 0
+16025: 19, 94, 1
+16026: 19, 94, 2
+16027: 19, 94, 3
+16028: 19, 94, 4
+16029: 19, 94, 5
+16030: 19, 94, 6
+16031: 19, 94, 7
+16032: 19, 94, 8
+16033: 19, 94, 9
+16034: 19, 94, 10
+16035: 19, 94, 11
+16036: 19, 94, 12
+16037: 19, 94, 13
+16038: 19, 94, 14
+16039: 19, 94, 15
+16040: 19, 94, 16
+16041: 19, 94, 17
+16042: 19, 94, 18
+16043: 19, 94, 19
+16044: 19, 94, 20
+16045: 19, 94, 21
+16046: 19, 94, 22
+16047: 19, 94, 23
+16048: 19, 95, 0
+16049: 19, 95, 1
+16050: 19, 95, 2
+16051: 19, 95, 3
+16052: 19, 95, 4
+16053: 19, 95, 5
+16054: 19, 95, 6
+16055: 19, 95, 7
+16056: 19, 95, 8
+16057: 19, 95, 9
+16058: 19, 95, 10
+16059: 19, 95, 11
+16060: 19, 96, 0
+16061: 19, 96, 1
+16062: 19, 96, 2
+16063: 19, 96, 3
+16064: 19, 96, 4
+16065: 19, 96, 5
+16066: 19, 96, 6
+16067: 19, 96, 7
+16068: 19, 96, 8
+16069: 19, 96, 9
+16070: 19, 96, 10
+16071: 19, 96, 11
+16072: 19, 96, 12
+16073: 19, 96, 13
+16074: 19, 97, 0
+16075: 19, 97, 1
+16076: 19, 97, 2
+16077: 19, 97, 3
+16078: 19, 97, 4
+16079: 19, 97, 5
+16080: 19, 97, 6
+16081: 19, 97, 7
+16082: 19, 97, 8
+16083: 19, 97, 9
+16084: 19, 97, 10
+16085: 19, 97, 11
+16086: 19, 97, 12
+16087: 19, 98, 0
+16088: 19, 98, 1
+16089: 19, 98, 2
+16090: 19, 98, 3
+16091: 19, 98, 4
+16092: 19, 98, 5
+16093: 19, 98, 6
+16094: 19, 98, 7
+16095: 19, 98, 8
+16096: 19, 98, 9
+16097: 19, 99, 0
+16098: 19, 99, 1
+16099: 19, 99, 2
+16100: 19, 99, 3
+16101: 19, 99, 4
+16102: 19, 99, 5
+16103: 19, 99, 6
+16104: 19, 99, 7
+16105: 19, 99, 8
+16106: 19, 99, 9
+16107: 19, 100, 0
+16108: 19, 100, 1
+16109: 19, 100, 2
+16110: 19, 100, 3
+16111: 19, 100, 4
+16112: 19, 100, 5
+16113: 19, 101, 0
+16114: 19, 101, 1
+16115: 19, 101, 2
+16116: 19, 101, 3
+16117: 19, 101, 4
+16118: 19, 101, 5
+16119: 19, 101, 6
+16120: 19, 101, 7
+16121: 19, 101, 8
+16122: 19, 102, 0
+16123: 19, 102, 1
+16124: 19, 102, 2
+16125: 19, 102, 3
+16126: 19, 102, 4
+16127: 19, 102, 5
+16128: 19, 102, 6
+16129: 19, 102, 7
+16130: 19, 102, 8
+16131: 19, 102, 9
+16132: 19, 102, 10
+16133: 19, 102, 11
+16134: 19, 102, 12
+16135: 19, 102, 13
+16136: 19, 102, 14
+16137: 19, 102, 15
+16138: 19, 102, 16
+16139: 19, 102, 17
+16140: 19, 102, 18
+16141: 19, 102, 19
+16142: 19, 102, 20
+16143: 19, 102, 21
+16144: 19, 102, 22
+16145: 19, 102, 23
+16146: 19, 102, 24
+16147: 19, 102, 25
+16148: 19, 102, 26
+16149: 19, 102, 27
+16150: 19, 102, 28
+16151: 19, 103, 0
+16152: 19, 103, 1
+16153: 19, 103, 2
+16154: 19, 103, 3
+16155: 19, 103, 4
+16156: 19, 103, 5
+16157: 19, 103, 6
+16158: 19, 103, 7
+16159: 19, 103, 8
+16160: 19, 103, 9
+16161: 19, 103, 10
+16162: 19, 103, 11
+16163: 19, 103, 12
+16164: 19, 103, 13
+16165: 19, 103, 14
+16166: 19, 103, 15
+16167: 19, 103, 16
+16168: 19, 103, 17
+16169: 19, 103, 18
+16170: 19, 103, 19
+16171: 19, 103, 20
+16172: 19, 103, 21
+16173: 19, 103, 22
+16174: 19, 104, 0
+16175: 19, 104, 1
+16176: 19, 104, 2
+16177: 19, 104, 3
+16178: 19, 104, 4
+16179: 19, 104, 5
+16180: 19, 104, 6
+16181: 19, 104, 7
+16182: 19, 104, 8
+16183: 19, 104, 9
+16184: 19, 104, 10
+16185: 19, 104, 11
+16186: 19, 104, 12
+16187: 19, 104, 13
+16188: 19, 104, 14
+16189: 19, 104, 15
+16190: 19, 104, 16
+16191: 19, 104, 17
+16192: 19, 104, 18
+16193: 19, 104, 19
+16194: 19, 104, 20
+16195: 19, 104, 21
+16196: 19, 104, 22
+16197: 19, 104, 23
+16198: 19, 104, 24
+16199: 19, 104, 25
+16200: 19, 104, 26
+16201: 19, 104, 27
+16202: 19, 104, 28
+16203: 19, 104, 29
+16204: 19, 104, 30
+16205: 19, 104, 31
+16206: 19, 104, 32
+16207: 19, 104, 33
+16208: 19, 104, 34
+16209: 19, 104, 35
+16210: 19, 105, 0
+16211: 19, 105, 1
+16212: 19, 105, 2
+16213: 19, 105, 3
+16214: 19, 105, 4
+16215: 19, 105, 5
+16216: 19, 105, 6
+16217: 19, 105, 7
+16218: 19, 105, 8
+16219: 19, 105, 9
+16220: 19, 105, 10
+16221: 19, 105, 11
+16222: 19, 105, 12
+16223: 19, 105, 13
+16224: 19, 105, 14
+16225: 19, 105, 15
+16226: 19, 105, 16
+16227: 19, 105, 17
+16228: 19, 105, 18
+16229: 19, 105, 19
+16230: 19, 105, 20
+16231: 19, 105, 21
+16232: 19, 105, 22
+16233: 19, 105, 23
+16234: 19, 105, 24
+16235: 19, 105, 25
+16236: 19, 105, 26
+16237: 19, 105, 27
+16238: 19, 105, 28
+16239: 19, 105, 29
+16240: 19, 105, 30
+16241: 19, 105, 31
+16242: 19, 105, 32
+16243: 19, 105, 33
+16244: 19, 105, 34
+16245: 19, 105, 35
+16246: 19, 105, 36
+16247: 19, 105, 37
+16248: 19, 105, 38
+16249: 19, 105, 39
+16250: 19, 105, 40
+16251: 19, 105, 41
+16252: 19, 105, 42
+16253: 19, 105, 43
+16254: 19, 105, 44
+16255: 19, 105, 45
+16256: 19, 106, 0
+16257: 19, 106, 1
+16258: 19, 106, 2
+16259: 19, 106, 3
+16260: 19, 106, 4
+16261: 19, 106, 5
+16262: 19, 106, 6
+16263: 19, 106, 7
+16264: 19, 106, 8
+16265: 19, 106, 9
+16266: 19, 106, 10
+16267: 19, 106, 11
+16268: 19, 106, 12
+16269: 19, 106, 13
+16270: 19, 106, 14
+16271: 19, 106, 15
+16272: 19, 106, 16
+16273: 19, 106, 17
+16274: 19, 106, 18
+16275: 19, 106, 19
+16276: 19, 106, 20
+16277: 19, 106, 21
+16278: 19, 106, 22
+16279: 19, 106, 23
+16280: 19, 106, 24
+16281: 19, 106, 25
+16282: 19, 106, 26
+16283: 19, 106, 27
+16284: 19, 106, 28
+16285: 19, 106, 29
+16286: 19, 106, 30
+16287: 19, 106, 31
+16288: 19, 106, 32
+16289: 19, 106, 33
+16290: 19, 106, 34
+16291: 19, 106, 35
+16292: 19, 106, 36
+16293: 19, 106, 37
+16294: 19, 106, 38
+16295: 19, 106, 39
+16296: 19, 106, 40
+16297: 19, 106, 41
+16298: 19, 106, 42
+16299: 19, 106, 43
+16300: 19, 106, 44
+16301: 19, 106, 45
+16302: 19, 106, 46
+16303: 19, 106, 47
+16304: 19, 106, 48
+16305: 19, 107, 0
+16306: 19, 107, 1
+16307: 19, 107, 2
+16308: 19, 107, 3
+16309: 19, 107, 4
+16310: 19, 107, 5
+16311: 19, 107, 6
+16312: 19, 107, 7
+16313: 19, 107, 8
+16314: 19, 107, 9
+16315: 19, 107, 10
+16316: 19, 107, 11
+16317: 19, 107, 12
+16318: 19, 107, 13
+16319: 19, 107, 14
+16320: 19, 107, 15
+16321: 19, 107, 16
+16322: 19, 107, 17
+16323: 19, 107, 18
+16324: 19, 107, 19
+16325: 19, 107, 20
+16326: 19, 107, 21
+16327: 19, 107, 22
+16328: 19, 107, 23
+16329: 19, 107, 24
+16330: 19, 107, 25
+16331: 19, 107, 26
+16332: 19, 107, 27
+16333: 19, 107, 28
+16334: 19, 107, 29
+16335: 19, 107, 30
+16336: 19, 107, 31
+16337: 19, 107, 32
+16338: 19, 107, 33
+16339: 19, 107, 34
+16340: 19, 107, 35
+16341: 19, 107, 36
+16342: 19, 107, 37
+16343: 19, 107, 38
+16344: 19, 107, 39
+16345: 19, 107, 40
+16346: 19, 107, 41
+16347: 19, 107, 42
+16348: 19, 107, 43
+16349: 19, 108, 0
+16350: 19, 108, 1
+16351: 19, 108, 2
+16352: 19, 108, 3
+16353: 19, 108, 4
+16354: 19, 108, 5
+16355: 19, 108, 6
+16356: 19, 108, 7
+16357: 19, 108, 8
+16358: 19, 108, 9
+16359: 19, 108, 10
+16360: 19, 108, 11
+16361: 19, 108, 12
+16362: 19, 108, 13
+16363: 19, 109, 0
+16364: 19, 109, 1
+16365: 19, 109, 2
+16366: 19, 109, 3
+16367: 19, 109, 4
+16368: 19, 109, 5
+16369: 19, 109, 6
+16370: 19, 109, 7
+16371: 19, 109, 8
+16372: 19, 109, 9
+16373: 19, 109, 10
+16374: 19, 109, 11
+16375: 19, 109, 12
+16376: 19, 109, 13
+16377: 19, 109, 14
+16378: 19, 109, 15
+16379: 19, 109, 16
+16380: 19, 109, 17
+16381: 19, 109, 18
+16382: 19, 109, 19
+16383: 19, 109, 20
+16384: 19, 109, 21
+16385: 19, 109, 22
+16386: 19, 109, 23
+16387: 19, 109, 24
+16388: 19, 109, 25
+16389: 19, 109, 26
+16390: 19, 109, 27
+16391: 19, 109, 28
+16392: 19, 109, 29
+16393: 19, 109, 30
+16394: 19, 109, 31
+16395: 19, 110, 0
+16396: 19, 110, 1
+16397: 19, 110, 2
+16398: 19, 110, 3
+16399: 19, 110, 4
+16400: 19, 110, 5
+16401: 19, 110, 6
+16402: 19, 110, 7
+16403: 19, 111, 0
+16404: 19, 111, 1
+16405: 19, 111, 2
+16406: 19, 111, 3
+16407: 19, 111, 4
+16408: 19, 111, 5
+16409: 19, 111, 6
+16410: 19, 111, 7
+16411: 19, 111, 8
+16412: 19, 111, 9
+16413: 19, 111, 10
+16414: 19, 112, 0
+16415: 19, 112, 1
+16416: 19, 112, 2
+16417: 19, 112, 3
+16418: 19, 112, 4
+16419: 19, 112, 5
+16420: 19, 112, 6
+16421: 19, 112, 7
+16422: 19, 112, 8
+16423: 19, 112, 9
+16424: 19, 112, 10
+16425: 19, 113, 0
+16426: 19, 113, 1
+16427: 19, 113, 2
+16428: 19, 113, 3
+16429: 19, 113, 4
+16430: 19, 113, 5
+16431: 19, 113, 6
+16432: 19, 113, 7
+16433: 19, 113, 8
+16434: 19, 113, 9
+16435: 19, 114, 0
+16436: 19, 114, 1
+16437: 19, 114, 2
+16438: 19, 114, 3
+16439: 19, 114, 4
+16440: 19, 114, 5
+16441: 19, 114, 6
+16442: 19, 114, 7
+16443: 19, 114, 8
+16444: 19, 115, 0
+16445: 19, 115, 1
+16446: 19, 115, 2
+16447: 19, 115, 3
+16448: 19, 115, 4
+16449: 19, 115, 5
+16450: 19, 115, 6
+16451: 19, 115, 7
+16452: 19, 115, 8
+16453: 19, 115, 9
+16454: 19, 115, 10
+16455: 19, 115, 11
+16456: 19, 115, 12
+16457: 19, 115, 13
+16458: 19, 115, 14
+16459: 19, 115, 15
+16460: 19, 115, 16
+16461: 19, 115, 17
+16462: 19, 115, 18
+16463: 19, 116, 0
+16464: 19, 116, 1
+16465: 19, 116, 2
+16466: 19, 116, 3
+16467: 19, 116, 4
+16468: 19, 116, 5
+16469: 19, 116, 6
+16470: 19, 116, 7
+16471: 19, 116, 8
+16472: 19, 116, 9
+16473: 19, 116, 10
+16474: 19, 116, 11
+16475: 19, 116, 12
+16476: 19, 116, 13
+16477: 19, 116, 14
+16478: 19, 116, 15
+16479: 19, 116, 16
+16480: 19, 116, 17
+16481: 19, 116, 18
+16482: 19, 116, 19
+16483: 19, 117, 0
+16484: 19, 117, 1
+16485: 19, 117, 2
+16486: 19, 118, 0
+16487: 19, 118, 1
+16488: 19, 118, 2
+16489: 19, 118, 3
+16490: 19, 118, 4
+16491: 19, 118, 5
+16492: 19, 118, 6
+16493: 19, 118, 7
+16494: 19, 118, 8
+16495: 19, 118, 9
+16496: 19, 118, 10
+16497: 19, 118, 11
+16498: 19, 118, 12
+16499: 19, 118, 13
+16500: 19, 118, 14
+16501: 19, 118, 15
+16502: 19, 118, 16
+16503: 19, 118, 17
+16504: 19, 118, 18
+16505: 19, 118, 19
+16506: 19, 118, 20
+16507: 19, 118, 21
+16508: 19, 118, 22
+16509: 19, 118, 23
+16510: 19, 118, 24
+16511: 19, 118, 25
+16512: 19, 118, 26
+16513: 19, 118, 27
+16514: 19, 118, 28
+16515: 19, 118, 29
+16516: 19, 119, 0
+16517: 19, 119, 1
+16518: 19, 119, 2
+16519: 19, 119, 3
+16520: 19, 119, 4
+16521: 19, 119, 5
+16522: 19, 119, 6
+16523: 19, 119, 7
+16524: 19, 119, 8
+16525: 19, 119, 9
+16526: 19, 119, 10
+16527: 19, 119, 11
+16528: 19, 119, 12
+16529: 19, 119, 13
+16530: 19, 119, 14
+16531: 19, 119, 15
+16532: 19, 119, 16
+16533: 19, 119, 17
+16534: 19, 119, 18
+16535: 19, 119, 19
+16536: 19, 119, 20
+16537: 19, 119, 21
+16538: 19, 119, 22
+16539: 19, 119, 23
+16540: 19, 119, 24
+16541: 19, 119, 25
+16542: 19, 119, 26
+16543: 19, 119, 27
+16544: 19, 119, 28
+16545: 19, 119, 29
+16546: 19, 119, 30
+16547: 19, 119, 31
+16548: 19, 119, 32
+16549: 19, 119, 33
+16550: 19, 119, 34
+16551: 19, 119, 35
+16552: 19, 119, 36
+16553: 19, 119, 37
+16554: 19, 119, 38
+16555: 19, 119, 39
+16556: 19, 119, 40
+16557: 19, 119, 41
+16558: 19, 119, 42
+16559: 19, 119, 43
+16560: 19, 119, 44
+16561: 19, 119, 45
+16562: 19, 119, 46
+16563: 19, 119, 47
+16564: 19, 119, 48
+16565: 19, 119, 49
+16566: 19, 119, 50
+16567: 19, 119, 51
+16568: 19, 119, 52
+16569: 19, 119, 53
+16570: 19, 119, 54
+16571: 19, 119, 55
+16572: 19, 119, 56
+16573: 19, 119, 57
+16574: 19, 119, 58
+16575: 19, 119, 59
+16576: 19, 119, 60
+16577: 19, 119, 61
+16578: 19, 119, 62
+16579: 19, 119, 63
+16580: 19, 119, 64
+16581: 19, 119, 65
+16582: 19, 119, 66
+16583: 19, 119, 67
+16584: 19, 119, 68
+16585: 19, 119, 69
+16586: 19, 119, 70
+16587: 19, 119, 71
+16588: 19, 119, 72
+16589: 19, 119, 73
+16590: 19, 119, 74
+16591: 19, 119, 75
+16592: 19, 119, 76
+16593: 19, 119, 77
+16594: 19, 119, 78
+16595: 19, 119, 79
+16596: 19, 119, 80
+16597: 19, 119, 81
+16598: 19, 119, 82
+16599: 19, 119, 83
+16600: 19, 119, 84
+16601: 19, 119, 85
+16602: 19, 119, 86
+16603: 19, 119, 87
+16604: 19, 119, 88
+16605: 19, 119, 89
+16606: 19, 119, 90
+16607: 19, 119, 91
+16608: 19, 119, 92
+16609: 19, 119, 93
+16610: 19, 119, 94
+16611: 19, 119, 95
+16612: 19, 119, 96
+16613: 19, 119, 97
+16614: 19, 119, 98
+16615: 19, 119, 99
+16616: 19, 119, 100
+16617: 19, 119, 101
+16618: 19, 119, 102
+16619: 19, 119, 103
+16620: 19, 119, 104
+16621: 19, 119, 105
+16622: 19, 119, 106
+16623: 19, 119, 107
+16624: 19, 119, 108
+16625: 19, 119, 109
+16626: 19, 119, 110
+16627: 19, 119, 111
+16628: 19, 119, 112
+16629: 19, 119, 113
+16630: 19, 119, 114
+16631: 19, 119, 115
+16632: 19, 119, 116
+16633: 19, 119, 117
+16634: 19, 119, 118
+16635: 19, 119, 119
+16636: 19, 119, 120
+16637: 19, 119, 121
+16638: 19, 119, 122
+16639: 19, 119, 123
+16640: 19, 119, 124
+16641: 19, 119, 125
+16642: 19, 119, 126
+16643: 19, 119, 127
+16644: 19, 119, 128
+16645: 19, 119, 129
+16646: 19, 119, 130
+16647: 19, 119, 131
+16648: 19, 119, 132
+16649: 19, 119, 133
+16650: 19, 119, 134
+16651: 19, 119, 135
+16652: 19, 119, 136
+16653: 19, 119, 137
+16654: 19, 119, 138
+16655: 19, 119, 139
+16656: 19, 119, 140
+16657: 19, 119, 141
+16658: 19, 119, 142
+16659: 19, 119, 143
+16660: 19, 119, 144
+16661: 19, 119, 145
+16662: 19, 119, 146
+16663: 19, 119, 147
+16664: 19, 119, 148
+16665: 19, 119, 149
+16666: 19, 119, 150
+16667: 19, 119, 151
+16668: 19, 119, 152
+16669: 19, 119, 153
+16670: 19, 119, 154
+16671: 19, 119, 155
+16672: 19, 119, 156
+16673: 19, 119, 157
+16674: 19, 119, 158
+16675: 19, 119, 159
+16676: 19, 119, 160
+16677: 19, 119, 161
+16678: 19, 119, 162
+16679: 19, 119, 163
+16680: 19, 119, 164
+16681: 19, 119, 165
+16682: 19, 119, 166
+16683: 19, 119, 167
+16684: 19, 119, 168
+16685: 19, 119, 169
+16686: 19, 119, 170
+16687: 19, 119, 171
+16688: 19, 119, 172
+16689: 19, 119, 173
+16690: 19, 119, 174
+16691: 19, 119, 175
+16692: 19, 119, 176
+16693: 19, 120, 0
+16694: 19, 120, 1
+16695: 19, 120, 2
+16696: 19, 120, 3
+16697: 19, 120, 4
+16698: 19, 120, 5
+16699: 19, 120, 6
+16700: 19, 120, 7
+16701: 19, 121, 0
+16702: 19, 121, 1
+16703: 19, 121, 2
+16704: 19, 121, 3
+16705: 19, 121, 4
+16706: 19, 121, 5
+16707: 19, 121, 6
+16708: 19, 121, 7
+16709: 19, 121, 8
+16710: 19, 122, 0
+16711: 19, 122, 1
+16712: 19, 122, 2
+16713: 19, 122, 3
+16714: 19, 122, 4
+16715: 19, 122, 5
+16716: 19, 122, 6
+16717: 19, 122, 7
+16718: 19, 122, 8
+16719: 19, 122, 9
+16720: 19, 123, 0
+16721: 19, 123, 1
+16722: 19, 123, 2
+16723: 19, 123, 3
+16724: 19, 123, 4
+16725: 19, 124, 0
+16726: 19, 124, 1
+16727: 19, 124, 2
+16728: 19, 124, 3
+16729: 19, 124, 4
+16730: 19, 124, 5
+16731: 19, 124, 6
+16732: 19, 124, 7
+16733: 19, 124, 8
+16734: 19, 125, 0
+16735: 19, 125, 1
+16736: 19, 125, 2
+16737: 19, 125, 3
+16738: 19, 125, 4
+16739: 19, 125, 5
+16740: 19, 126, 0
+16741: 19, 126, 1
+16742: 19, 126, 2
+16743: 19, 126, 3
+16744: 19, 126, 4
+16745: 19, 126, 5
+16746: 19, 126, 6
+16747: 19, 127, 0
+16748: 19, 127, 1
+16749: 19, 127, 2
+16750: 19, 127, 3
+16751: 19, 127, 4
+16752: 19, 127, 5
+16753: 19, 128, 0
+16754: 19, 128, 1
+16755: 19, 128, 2
+16756: 19, 128, 3
+16757: 19, 128, 4
+16758: 19, 128, 5
+16759: 19, 128, 6
+16760: 19, 129, 0
+16761: 19, 129, 1
+16762: 19, 129, 2
+16763: 19, 129, 3
+16764: 19, 129, 4
+16765: 19, 129, 5
+16766: 19, 129, 6
+16767: 19, 129, 7
+16768: 19, 129, 8
+16769: 19, 130, 0
+16770: 19, 130, 1
+16771: 19, 130, 2
+16772: 19, 130, 3
+16773: 19, 130, 4
+16774: 19, 130, 5
+16775: 19, 130, 6
+16776: 19, 130, 7
+16777: 19, 130, 8
+16778: 19, 131, 0
+16779: 19, 131, 1
+16780: 19, 131, 2
+16781: 19, 131, 3
+16782: 19, 132, 0
+16783: 19, 132, 1
+16784: 19, 132, 2
+16785: 19, 132, 3
+16786: 19, 132, 4
+16787: 19, 132, 5
+16788: 19, 132, 6
+16789: 19, 132, 7
+16790: 19, 132, 8
+16791: 19, 132, 9
+16792: 19, 132, 10
+16793: 19, 132, 11
+16794: 19, 132, 12
+16795: 19, 132, 13
+16796: 19, 132, 14
+16797: 19, 132, 15
+16798: 19, 132, 16
+16799: 19, 132, 17
+16800: 19, 132, 18
+16801: 19, 133, 0
+16802: 19, 133, 1
+16803: 19, 133, 2
+16804: 19, 133, 3
+16805: 19, 134, 0
+16806: 19, 134, 1
+16807: 19, 134, 2
+16808: 19, 134, 3
+16809: 19, 135, 0
+16810: 19, 135, 1
+16811: 19, 135, 2
+16812: 19, 135, 3
+16813: 19, 135, 4
+16814: 19, 135, 5
+16815: 19, 135, 6
+16816: 19, 135, 7
+16817: 19, 135, 8
+16818: 19, 135, 9
+16819: 19, 135, 10
+16820: 19, 135, 11
+16821: 19, 135, 12
+16822: 19, 135, 13
+16823: 19, 135, 14
+16824: 19, 135, 15
+16825: 19, 135, 16
+16826: 19, 135, 17
+16827: 19, 135, 18
+16828: 19, 135, 19
+16829: 19, 135, 20
+16830: 19, 135, 21
+16831: 19, 136, 0
+16832: 19, 136, 1
+16833: 19, 136, 2
+16834: 19, 136, 3
+16835: 19, 136, 4
+16836: 19, 136, 5
+16837: 19, 136, 6
+16838: 19, 136, 7
+16839: 19, 136, 8
+16840: 19, 136, 9
+16841: 19, 136, 10
+16842: 19, 136, 11
+16843: 19, 136, 12
+16844: 19, 136, 13
+16845: 19, 136, 14
+16846: 19, 136, 15
+16847: 19, 136, 16
+16848: 19, 136, 17
+16849: 19, 136, 18
+16850: 19, 136, 19
+16851: 19, 136, 20
+16852: 19, 136, 21
+16853: 19, 136, 22
+16854: 19, 136, 23
+16855: 19, 136, 24
+16856: 19, 136, 25
+16857: 19, 136, 26
+16858: 19, 137, 0
+16859: 19, 137, 1
+16860: 19, 137, 2
+16861: 19, 137, 3
+16862: 19, 137, 4
+16863: 19, 137, 5
+16864: 19, 137, 6
+16865: 19, 137, 7
+16866: 19, 137, 8
+16867: 19, 137, 9
+16868: 19, 138, 0
+16869: 19, 138, 1
+16870: 19, 138, 2
+16871: 19, 138, 3
+16872: 19, 138, 4
+16873: 19, 138, 5
+16874: 19, 138, 6
+16875: 19, 138, 7
+16876: 19, 138, 8
+16877: 19, 139, 0
+16878: 19, 139, 1
+16879: 19, 139, 2
+16880: 19, 139, 3
+16881: 19, 139, 4
+16882: 19, 139, 5
+16883: 19, 139, 6
+16884: 19, 139, 7
+16885: 19, 139, 8
+16886: 19, 139, 9
+16887: 19, 139, 10
+16888: 19, 139, 11
+16889: 19, 139, 12
+16890: 19, 139, 13
+16891: 19, 139, 14
+16892: 19, 139, 15
+16893: 19, 139, 16
+16894: 19, 139, 17
+16895: 19, 139, 18
+16896: 19, 139, 19
+16897: 19, 139, 20
+16898: 19, 139, 21
+16899: 19, 139, 22
+16900: 19, 139, 23
+16901: 19, 139, 24
+16902: 19, 140, 0
+16903: 19, 140, 1
+16904: 19, 140, 2
+16905: 19, 140, 3
+16906: 19, 140, 4
+16907: 19, 140, 5
+16908: 19, 140, 6
+16909: 19, 140, 7
+16910: 19, 140, 8
+16911: 19, 140, 9
+16912: 19, 140, 10
+16913: 19, 140, 11
+16914: 19, 140, 12
+16915: 19, 140, 13
+16916: 19, 141, 0
+16917: 19, 141, 1
+16918: 19, 141, 2
+16919: 19, 141, 3
+16920: 19, 141, 4
+16921: 19, 141, 5
+16922: 19, 141, 6
+16923: 19, 141, 7
+16924: 19, 141, 8
+16925: 19, 141, 9
+16926: 19, 141, 10
+16927: 19, 142, 0
+16928: 19, 142, 1
+16929: 19, 142, 2
+16930: 19, 142, 3
+16931: 19, 142, 4
+16932: 19, 142, 5
+16933: 19, 142, 6
+16934: 19, 142, 7
+16935: 19, 143, 0
+16936: 19, 143, 1
+16937: 19, 143, 2
+16938: 19, 143, 3
+16939: 19, 143, 4
+16940: 19, 143, 5
+16941: 19, 143, 6
+16942: 19, 143, 7
+16943: 19, 143, 8
+16944: 19, 143, 9
+16945: 19, 143, 10
+16946: 19, 143, 11
+16947: 19, 143, 12
+16948: 19, 144, 0
+16949: 19, 144, 1
+16950: 19, 144, 2
+16951: 19, 144, 3
+16952: 19, 144, 4
+16953: 19, 144, 5
+16954: 19, 144, 6
+16955: 19, 144, 7
+16956: 19, 144, 8
+16957: 19, 144, 9
+16958: 19, 144, 10
+16959: 19, 144, 11
+16960: 19, 144, 12
+16961: 19, 144, 13
+16962: 19, 144, 14
+16963: 19, 144, 15
+16964: 19, 145, 0
+16965: 19, 145, 1
+16966: 19, 145, 2
+16967: 19, 145, 3
+16968: 19, 145, 4
+16969: 19, 145, 5
+16970: 19, 145, 6
+16971: 19, 145, 7
+16972: 19, 145, 8
+16973: 19, 145, 9
+16974: 19, 145, 10
+16975: 19, 145, 11
+16976: 19, 145, 12
+16977: 19, 145, 13
+16978: 19, 145, 14
+16979: 19, 145, 15
+16980: 19, 145, 16
+16981: 19, 145, 17
+16982: 19, 145, 18
+16983: 19, 145, 19
+16984: 19, 145, 20
+16985: 19, 145, 21
+16986: 19, 146, 0
+16987: 19, 146, 1
+16988: 19, 146, 2
+16989: 19, 146, 3
+16990: 19, 146, 4
+16991: 19, 146, 5
+16992: 19, 146, 6
+16993: 19, 146, 7
+16994: 19, 146, 8
+16995: 19, 146, 9
+16996: 19, 146, 10
+16997: 19, 147, 0
+16998: 19, 147, 1
+16999: 19, 147, 2
+17000: 19, 147, 3
+17001: 19, 147, 4
+17002: 19, 147, 5
+17003: 19, 147, 6
+17004: 19, 147, 7
+17005: 19, 147, 8
+17006: 19, 147, 9
+17007: 19, 147, 10
+17008: 19, 147, 11
+17009: 19, 147, 12
+17010: 19, 147, 13
+17011: 19, 147, 14
+17012: 19, 147, 15
+17013: 19, 147, 16
+17014: 19, 147, 17
+17015: 19, 147, 18
+17016: 19, 147, 19
+17017: 19, 147, 20
+17018: 19, 148, 0
+17019: 19, 148, 1
+17020: 19, 148, 2
+17021: 19, 148, 3
+17022: 19, 148, 4
+17023: 19, 148, 5
+17024: 19, 148, 6
+17025: 19, 148, 7
+17026: 19, 148, 8
+17027: 19, 148, 9
+17028: 19, 148, 10
+17029: 19, 148, 11
+17030: 19, 148, 12
+17031: 19, 148, 13
+17032: 19, 148, 14
+17033: 19, 149, 0
+17034: 19, 149, 1
+17035: 19, 149, 2
+17036: 19, 149, 3
+17037: 19, 149, 4
+17038: 19, 149, 5
+17039: 19, 149, 6
+17040: 19, 149, 7
+17041: 19, 149, 8
+17042: 19, 149, 9
+17043: 19, 150, 0
+17044: 19, 150, 1
+17045: 19, 150, 2
+17046: 19, 150, 3
+17047: 19, 150, 4
+17048: 19, 150, 5
+17049: 19, 150, 6
+17050: 20, 0, 0
+17051: 20, 1, 0
+17052: 20, 1, 1
+17053: 20, 1, 2
+17054: 20, 1, 3
+17055: 20, 1, 4
+17056: 20, 1, 5
+17057: 20, 1, 6
+17058: 20, 1, 7
+17059: 20, 1, 8
+17060: 20, 1, 9
+17061: 20, 1, 10
+17062: 20, 1, 11
+17063: 20, 1, 12
+17064: 20, 1, 13
+17065: 20, 1, 14
+17066: 20, 1, 15
+17067: 20, 1, 16
+17068: 20, 1, 17
+17069: 20, 1, 18
+17070: 20, 1, 19
+17071: 20, 1, 20
+17072: 20, 1, 21
+17073: 20, 1, 22
+17074: 20, 1, 23
+17075: 20, 1, 24
+17076: 20, 1, 25
+17077: 20, 1, 26
+17078: 20, 1, 27
+17079: 20, 1, 28
+17080: 20, 1, 29
+17081: 20, 1, 30
+17082: 20, 1, 31
+17083: 20, 1, 32
+17084: 20, 1, 33
+17085: 20, 2, 0
+17086: 20, 2, 1
+17087: 20, 2, 2
+17088: 20, 2, 3
+17089: 20, 2, 4
+17090: 20, 2, 5
+17091: 20, 2, 6
+17092: 20, 2, 7
+17093: 20, 2, 8
+17094: 20, 2, 9
+17095: 20, 2, 10
+17096: 20, 2, 11
+17097: 20, 2, 12
+17098: 20, 2, 13
+17099: 20, 2, 14
+17100: 20, 2, 15
+17101: 20, 2, 16
+17102: 20, 2, 17
+17103: 20, 2, 18
+17104: 20, 2, 19
+17105: 20, 2, 20
+17106: 20, 2, 21
+17107: 20, 2, 22
+17108: 20, 3, 0
+17109: 20, 3, 1
+17110: 20, 3, 2
+17111: 20, 3, 3
+17112: 20, 3, 4
+17113: 20, 3, 5
+17114: 20, 3, 6
+17115: 20, 3, 7
+17116: 20, 3, 8
+17117: 20, 3, 9
+17118: 20, 3, 10
+17119: 20, 3, 11
+17120: 20, 3, 12
+17121: 20, 3, 13
+17122: 20, 3, 14
+17123: 20, 3, 15
+17124: 20, 3, 16
+17125: 20, 3, 17
+17126: 20, 3, 18
+17127: 20, 3, 19
+17128: 20, 3, 20
+17129: 20, 3, 21
+17130: 20, 3, 22
+17131: 20, 3, 23
+17132: 20, 3, 24
+17133: 20, 3, 25
+17134: 20, 3, 26
+17135: 20, 3, 27
+17136: 20, 3, 28
+17137: 20, 3, 29
+17138: 20, 3, 30
+17139: 20, 3, 31
+17140: 20, 3, 32
+17141: 20, 3, 33
+17142: 20, 3, 34
+17143: 20, 3, 35
+17144: 20, 4, 0
+17145: 20, 4, 1
+17146: 20, 4, 2
+17147: 20, 4, 3
+17148: 20, 4, 4
+17149: 20, 4, 5
+17150: 20, 4, 6
+17151: 20, 4, 7
+17152: 20, 4, 8
+17153: 20, 4, 9
+17154: 20, 4, 10
+17155: 20, 4, 11
+17156: 20, 4, 12
+17157: 20, 4, 13
+17158: 20, 4, 14
+17159: 20, 4, 15
+17160: 20, 4, 16
+17161: 20, 4, 17
+17162: 20, 4, 18
+17163: 20, 4, 19
+17164: 20, 4, 20
+17165: 20, 4, 21
+17166: 20, 4, 22
+17167: 20, 4, 23
+17168: 20, 4, 24
+17169: 20, 4, 25
+17170: 20, 4, 26
+17171: 20, 4, 27
+17172: 20, 5, 0
+17173: 20, 5, 1
+17174: 20, 5, 2
+17175: 20, 5, 3
+17176: 20, 5, 4
+17177: 20, 5, 5
+17178: 20, 5, 6
+17179: 20, 5, 7
+17180: 20, 5, 8
+17181: 20, 5, 9
+17182: 20, 5, 10
+17183: 20, 5, 11
+17184: 20, 5, 12
+17185: 20, 5, 13
+17186: 20, 5, 14
+17187: 20, 5, 15
+17188: 20, 5, 16
+17189: 20, 5, 17
+17190: 20, 5, 18
+17191: 20, 5, 19
+17192: 20, 5, 20
+17193: 20, 5, 21
+17194: 20, 5, 22
+17195: 20, 5, 23
+17196: 20, 6, 0
+17197: 20, 6, 1
+17198: 20, 6, 2
+17199: 20, 6, 3
+17200: 20, 6, 4
+17201: 20, 6, 5
+17202: 20, 6, 6
+17203: 20, 6, 7
+17204: 20, 6, 8
+17205: 20, 6, 9
+17206: 20, 6, 10
+17207: 20, 6, 11
+17208: 20, 6, 12
+17209: 20, 6, 13
+17210: 20, 6, 14
+17211: 20, 6, 15
+17212: 20, 6, 16
+17213: 20, 6, 17
+17214: 20, 6, 18
+17215: 20, 6, 19
+17216: 20, 6, 20
+17217: 20, 6, 21
+17218: 20, 6, 22
+17219: 20, 6, 23
+17220: 20, 6, 24
+17221: 20, 6, 25
+17222: 20, 6, 26
+17223: 20, 6, 27
+17224: 20, 6, 28
+17225: 20, 6, 29
+17226: 20, 6, 30
+17227: 20, 6, 31
+17228: 20, 6, 32
+17229: 20, 6, 33
+17230: 20, 6, 34
+17231: 20, 6, 35
+17232: 20, 7, 0
+17233: 20, 7, 1
+17234: 20, 7, 2
+17235: 20, 7, 3
+17236: 20, 7, 4
+17237: 20, 7, 5
+17238: 20, 7, 6
+17239: 20, 7, 7
+17240: 20, 7, 8
+17241: 20, 7, 9
+17242: 20, 7, 10
+17243: 20, 7, 11
+17244: 20, 7, 12
+17245: 20, 7, 13
+17246: 20, 7, 14
+17247: 20, 7, 15
+17248: 20, 7, 16
+17249: 20, 7, 17
+17250: 20, 7, 18
+17251: 20, 7, 19
+17252: 20, 7, 20
+17253: 20, 7, 21
+17254: 20, 7, 22
+17255: 20, 7, 23
+17256: 20, 7, 24
+17257: 20, 7, 25
+17258: 20, 7, 26
+17259: 20, 7, 27
+17260: 20, 8, 0
+17261: 20, 8, 1
+17262: 20, 8, 2
+17263: 20, 8, 3
+17264: 20, 8, 4
+17265: 20, 8, 5
+17266: 20, 8, 6
+17267: 20, 8, 7
+17268: 20, 8, 8
+17269: 20, 8, 9
+17270: 20, 8, 10
+17271: 20, 8, 11
+17272: 20, 8, 12
+17273: 20, 8, 13
+17274: 20, 8, 14
+17275: 20, 8, 15
+17276: 20, 8, 16
+17277: 20, 8, 17
+17278: 20, 8, 18
+17279: 20, 8, 19
+17280: 20, 8, 20
+17281: 20, 8, 21
+17282: 20, 8, 22
+17283: 20, 8, 23
+17284: 20, 8, 24
+17285: 20, 8, 25
+17286: 20, 8, 26
+17287: 20, 8, 27
+17288: 20, 8, 28
+17289: 20, 8, 29
+17290: 20, 8, 30
+17291: 20, 8, 31
+17292: 20, 8, 32
+17293: 20, 8, 33
+17294: 20, 8, 34
+17295: 20, 8, 35
+17296: 20, 8, 36
+17297: 20, 9, 0
+17298: 20, 9, 1
+17299: 20, 9, 2
+17300: 20, 9, 3
+17301: 20, 9, 4
+17302: 20, 9, 5
+17303: 20, 9, 6
+17304: 20, 9, 7
+17305: 20, 9, 8
+17306: 20, 9, 9
+17307: 20, 9, 10
+17308: 20, 9, 11
+17309: 20, 9, 12
+17310: 20, 9, 13
+17311: 20, 9, 14
+17312: 20, 9, 15
+17313: 20, 9, 16
+17314: 20, 9, 17
+17315: 20, 9, 18
+17316: 20, 10, 0
+17317: 20, 10, 1
+17318: 20, 10, 2
+17319: 20, 10, 3
+17320: 20, 10, 4
+17321: 20, 10, 5
+17322: 20, 10, 6
+17323: 20, 10, 7
+17324: 20, 10, 8
+17325: 20, 10, 9
+17326: 20, 10, 10
+17327: 20, 10, 11
+17328: 20, 10, 12
+17329: 20, 10, 13
+17330: 20, 10, 14
+17331: 20, 10, 15
+17332: 20, 10, 16
+17333: 20, 10, 17
+17334: 20, 10, 18
+17335: 20, 10, 19
+17336: 20, 10, 20
+17337: 20, 10, 21
+17338: 20, 10, 22
+17339: 20, 10, 23
+17340: 20, 10, 24
+17341: 20, 10, 25
+17342: 20, 10, 26
+17343: 20, 10, 27
+17344: 20, 10, 28
+17345: 20, 10, 29
+17346: 20, 10, 30
+17347: 20, 10, 31
+17348: 20, 10, 32
+17349: 20, 11, 0
+17350: 20, 11, 1
+17351: 20, 11, 2
+17352: 20, 11, 3
+17353: 20, 11, 4
+17354: 20, 11, 5
+17355: 20, 11, 6
+17356: 20, 11, 7
+17357: 20, 11, 8
+17358: 20, 11, 9
+17359: 20, 11, 10
+17360: 20, 11, 11
+17361: 20, 11, 12
+17362: 20, 11, 13
+17363: 20, 11, 14
+17364: 20, 11, 15
+17365: 20, 11, 16
+17366: 20, 11, 17
+17367: 20, 11, 18
+17368: 20, 11, 19
+17369: 20, 11, 20
+17370: 20, 11, 21
+17371: 20, 11, 22
+17372: 20, 11, 23
+17373: 20, 11, 24
+17374: 20, 11, 25
+17375: 20, 11, 26
+17376: 20, 11, 27
+17377: 20, 11, 28
+17378: 20, 11, 29
+17379: 20, 11, 30
+17380: 20, 11, 31
+17381: 20, 12, 0
+17382: 20, 12, 1
+17383: 20, 12, 2
+17384: 20, 12, 3
+17385: 20, 12, 4
+17386: 20, 12, 5
+17387: 20, 12, 6
+17388: 20, 12, 7
+17389: 20, 12, 8
+17390: 20, 12, 9
+17391: 20, 12, 10
+17392: 20, 12, 11
+17393: 20, 12, 12
+17394: 20, 12, 13
+17395: 20, 12, 14
+17396: 20, 12, 15
+17397: 20, 12, 16
+17398: 20, 12, 17
+17399: 20, 12, 18
+17400: 20, 12, 19
+17401: 20, 12, 20
+17402: 20, 12, 21
+17403: 20, 12, 22
+17404: 20, 12, 23
+17405: 20, 12, 24
+17406: 20, 12, 25
+17407: 20, 12, 26
+17408: 20, 12, 27
+17409: 20, 12, 28
+17410: 20, 13, 0
+17411: 20, 13, 1
+17412: 20, 13, 2
+17413: 20, 13, 3
+17414: 20, 13, 4
+17415: 20, 13, 5
+17416: 20, 13, 6
+17417: 20, 13, 7
+17418: 20, 13, 8
+17419: 20, 13, 9
+17420: 20, 13, 10
+17421: 20, 13, 11
+17422: 20, 13, 12
+17423: 20, 13, 13
+17424: 20, 13, 14
+17425: 20, 13, 15
+17426: 20, 13, 16
+17427: 20, 13, 17
+17428: 20, 13, 18
+17429: 20, 13, 19
+17430: 20, 13, 20
+17431: 20, 13, 21
+17432: 20, 13, 22
+17433: 20, 13, 23
+17434: 20, 13, 24
+17435: 20, 13, 25
+17436: 20, 14, 0
+17437: 20, 14, 1
+17438: 20, 14, 2
+17439: 20, 14, 3
+17440: 20, 14, 4
+17441: 20, 14, 5
+17442: 20, 14, 6
+17443: 20, 14, 7
+17444: 20, 14, 8
+17445: 20, 14, 9
+17446: 20, 14, 10
+17447: 20, 14, 11
+17448: 20, 14, 12
+17449: 20, 14, 13
+17450: 20, 14, 14
+17451: 20, 14, 15
+17452: 20, 14, 16
+17453: 20, 14, 17
+17454: 20, 14, 18
+17455: 20, 14, 19
+17456: 20, 14, 20
+17457: 20, 14, 21
+17458: 20, 14, 22
+17459: 20, 14, 23
+17460: 20, 14, 24
+17461: 20, 14, 25
+17462: 20, 14, 26
+17463: 20, 14, 27
+17464: 20, 14, 28
+17465: 20, 14, 29
+17466: 20, 14, 30
+17467: 20, 14, 31
+17468: 20, 14, 32
+17469: 20, 14, 33
+17470: 20, 14, 34
+17471: 20, 14, 35
+17472: 20, 15, 0
+17473: 20, 15, 1
+17474: 20, 15, 2
+17475: 20, 15, 3
+17476: 20, 15, 4
+17477: 20, 15, 5
+17478: 20, 15, 6
+17479: 20, 15, 7
+17480: 20, 15, 8
+17481: 20, 15, 9
+17482: 20, 15, 10
+17483: 20, 15, 11
+17484: 20, 15, 12
+17485: 20, 15, 13
+17486: 20, 15, 14
+17487: 20, 15, 15
+17488: 20, 15, 16
+17489: 20, 15, 17
+17490: 20, 15, 18
+17491: 20, 15, 19
+17492: 20, 15, 20
+17493: 20, 15, 21
+17494: 20, 15, 22
+17495: 20, 15, 23
+17496: 20, 15, 24
+17497: 20, 15, 25
+17498: 20, 15, 26
+17499: 20, 15, 27
+17500: 20, 15, 28
+17501: 20, 15, 29
+17502: 20, 15, 30
+17503: 20, 15, 31
+17504: 20, 15, 32
+17505: 20, 15, 33
+17506: 20, 16, 0
+17507: 20, 16, 1
+17508: 20, 16, 2
+17509: 20, 16, 3
+17510: 20, 16, 4
+17511: 20, 16, 5
+17512: 20, 16, 6
+17513: 20, 16, 7
+17514: 20, 16, 8
+17515: 20, 16, 9
+17516: 20, 16, 10
+17517: 20, 16, 11
+17518: 20, 16, 12
+17519: 20, 16, 13
+17520: 20, 16, 14
+17521: 20, 16, 15
+17522: 20, 16, 16
+17523: 20, 16, 17
+17524: 20, 16, 18
+17525: 20, 16, 19
+17526: 20, 16, 20
+17527: 20, 16, 21
+17528: 20, 16, 22
+17529: 20, 16, 23
+17530: 20, 16, 24
+17531: 20, 16, 25
+17532: 20, 16, 26
+17533: 20, 16, 27
+17534: 20, 16, 28
+17535: 20, 16, 29
+17536: 20, 16, 30
+17537: 20, 16, 31
+17538: 20, 16, 32
+17539: 20, 16, 33
+17540: 20, 17, 0
+17541: 20, 17, 1
+17542: 20, 17, 2
+17543: 20, 17, 3
+17544: 20, 17, 4
+17545: 20, 17, 5
+17546: 20, 17, 6
+17547: 20, 17, 7
+17548: 20, 17, 8
+17549: 20, 17, 9
+17550: 20, 17, 10
+17551: 20, 17, 11
+17552: 20, 17, 12
+17553: 20, 17, 13
+17554: 20, 17, 14
+17555: 20, 17, 15
+17556: 20, 17, 16
+17557: 20, 17, 17
+17558: 20, 17, 18
+17559: 20, 17, 19
+17560: 20, 17, 20
+17561: 20, 17, 21
+17562: 20, 17, 22
+17563: 20, 17, 23
+17564: 20, 17, 24
+17565: 20, 17, 25
+17566: 20, 17, 26
+17567: 20, 17, 27
+17568: 20, 17, 28
+17569: 20, 18, 0
+17570: 20, 18, 1
+17571: 20, 18, 2
+17572: 20, 18, 3
+17573: 20, 18, 4
+17574: 20, 18, 5
+17575: 20, 18, 6
+17576: 20, 18, 7
+17577: 20, 18, 8
+17578: 20, 18, 9
+17579: 20, 18, 10
+17580: 20, 18, 11
+17581: 20, 18, 12
+17582: 20, 18, 13
+17583: 20, 18, 14
+17584: 20, 18, 15
+17585: 20, 18, 16
+17586: 20, 18, 17
+17587: 20, 18, 18
+17588: 20, 18, 19
+17589: 20, 18, 20
+17590: 20, 18, 21
+17591: 20, 18, 22
+17592: 20, 18, 23
+17593: 20, 18, 24
+17594: 20, 19, 0
+17595: 20, 19, 1
+17596: 20, 19, 2
+17597: 20, 19, 3
+17598: 20, 19, 4
+17599: 20, 19, 5
+17600: 20, 19, 6
+17601: 20, 19, 7
+17602: 20, 19, 8
+17603: 20, 19, 9
+17604: 20, 19, 10
+17605: 20, 19, 11
+17606: 20, 19, 12
+17607: 20, 19, 13
+17608: 20, 19, 14
+17609: 20, 19, 15
+17610: 20, 19, 16
+17611: 20, 19, 17
+17612: 20, 19, 18
+17613: 20, 19, 19
+17614: 20, 19, 20
+17615: 20, 19, 21
+17616: 20, 19, 22
+17617: 20, 19, 23
+17618: 20, 19, 24
+17619: 20, 19, 25
+17620: 20, 19, 26
+17621: 20, 19, 27
+17622: 20, 19, 28
+17623: 20, 19, 29
+17624: 20, 20, 0
+17625: 20, 20, 1
+17626: 20, 20, 2
+17627: 20, 20, 3
+17628: 20, 20, 4
+17629: 20, 20, 5
+17630: 20, 20, 6
+17631: 20, 20, 7
+17632: 20, 20, 8
+17633: 20, 20, 9
+17634: 20, 20, 10
+17635: 20, 20, 11
+17636: 20, 20, 12
+17637: 20, 20, 13
+17638: 20, 20, 14
+17639: 20, 20, 15
+17640: 20, 20, 16
+17641: 20, 20, 17
+17642: 20, 20, 18
+17643: 20, 20, 19
+17644: 20, 20, 20
+17645: 20, 20, 21
+17646: 20, 20, 22
+17647: 20, 20, 23
+17648: 20, 20, 24
+17649: 20, 20, 25
+17650: 20, 20, 26
+17651: 20, 20, 27
+17652: 20, 20, 28
+17653: 20, 20, 29
+17654: 20, 20, 30
+17655: 20, 21, 0
+17656: 20, 21, 1
+17657: 20, 21, 2
+17658: 20, 21, 3
+17659: 20, 21, 4
+17660: 20, 21, 5
+17661: 20, 21, 6
+17662: 20, 21, 7
+17663: 20, 21, 8
+17664: 20, 21, 9
+17665: 20, 21, 10
+17666: 20, 21, 11
+17667: 20, 21, 12
+17668: 20, 21, 13
+17669: 20, 21, 14
+17670: 20, 21, 15
+17671: 20, 21, 16
+17672: 20, 21, 17
+17673: 20, 21, 18
+17674: 20, 21, 19
+17675: 20, 21, 20
+17676: 20, 21, 21
+17677: 20, 21, 22
+17678: 20, 21, 23
+17679: 20, 21, 24
+17680: 20, 21, 25
+17681: 20, 21, 26
+17682: 20, 21, 27
+17683: 20, 21, 28
+17684: 20, 21, 29
+17685: 20, 21, 30
+17686: 20, 21, 31
+17687: 20, 22, 0
+17688: 20, 22, 1
+17689: 20, 22, 2
+17690: 20, 22, 3
+17691: 20, 22, 4
+17692: 20, 22, 5
+17693: 20, 22, 6
+17694: 20, 22, 7
+17695: 20, 22, 8
+17696: 20, 22, 9
+17697: 20, 22, 10
+17698: 20, 22, 11
+17699: 20, 22, 12
+17700: 20, 22, 13
+17701: 20, 22, 14
+17702: 20, 22, 15
+17703: 20, 22, 16
+17704: 20, 22, 17
+17705: 20, 22, 18
+17706: 20, 22, 19
+17707: 20, 22, 20
+17708: 20, 22, 21
+17709: 20, 22, 22
+17710: 20, 22, 23
+17711: 20, 22, 24
+17712: 20, 22, 25
+17713: 20, 22, 26
+17714: 20, 22, 27
+17715: 20, 22, 28
+17716: 20, 22, 29
+17717: 20, 23, 0
+17718: 20, 23, 1
+17719: 20, 23, 2
+17720: 20, 23, 3
+17721: 20, 23, 4
+17722: 20, 23, 5
+17723: 20, 23, 6
+17724: 20, 23, 7
+17725: 20, 23, 8
+17726: 20, 23, 9
+17727: 20, 23, 10
+17728: 20, 23, 11
+17729: 20, 23, 12
+17730: 20, 23, 13
+17731: 20, 23, 14
+17732: 20, 23, 15
+17733: 20, 23, 16
+17734: 20, 23, 17
+17735: 20, 23, 18
+17736: 20, 23, 19
+17737: 20, 23, 20
+17738: 20, 23, 21
+17739: 20, 23, 22
+17740: 20, 23, 23
+17741: 20, 23, 24
+17742: 20, 23, 25
+17743: 20, 23, 26
+17744: 20, 23, 27
+17745: 20, 23, 28
+17746: 20, 23, 29
+17747: 20, 23, 30
+17748: 20, 23, 31
+17749: 20, 23, 32
+17750: 20, 23, 33
+17751: 20, 23, 34
+17752: 20, 23, 35
+17753: 20, 24, 0
+17754: 20, 24, 1
+17755: 20, 24, 2
+17756: 20, 24, 3
+17757: 20, 24, 4
+17758: 20, 24, 5
+17759: 20, 24, 6
+17760: 20, 24, 7
+17761: 20, 24, 8
+17762: 20, 24, 9
+17763: 20, 24, 10
+17764: 20, 24, 11
+17765: 20, 24, 12
+17766: 20, 24, 13
+17767: 20, 24, 14
+17768: 20, 24, 15
+17769: 20, 24, 16
+17770: 20, 24, 17
+17771: 20, 24, 18
+17772: 20, 24, 19
+17773: 20, 24, 20
+17774: 20, 24, 21
+17775: 20, 24, 22
+17776: 20, 24, 23
+17777: 20, 24, 24
+17778: 20, 24, 25
+17779: 20, 24, 26
+17780: 20, 24, 27
+17781: 20, 24, 28
+17782: 20, 24, 29
+17783: 20, 24, 30
+17784: 20, 24, 31
+17785: 20, 24, 32
+17786: 20, 24, 33
+17787: 20, 24, 34
+17788: 20, 25, 0
+17789: 20, 25, 1
+17790: 20, 25, 2
+17791: 20, 25, 3
+17792: 20, 25, 4
+17793: 20, 25, 5
+17794: 20, 25, 6
+17795: 20, 25, 7
+17796: 20, 25, 8
+17797: 20, 25, 9
+17798: 20, 25, 10
+17799: 20, 25, 11
+17800: 20, 25, 12
+17801: 20, 25, 13
+17802: 20, 25, 14
+17803: 20, 25, 15
+17804: 20, 25, 16
+17805: 20, 25, 17
+17806: 20, 25, 18
+17807: 20, 25, 19
+17808: 20, 25, 20
+17809: 20, 25, 21
+17810: 20, 25, 22
+17811: 20, 25, 23
+17812: 20, 25, 24
+17813: 20, 25, 25
+17814: 20, 25, 26
+17815: 20, 25, 27
+17816: 20, 25, 28
+17817: 20, 26, 0
+17818: 20, 26, 1
+17819: 20, 26, 2
+17820: 20, 26, 3
+17821: 20, 26, 4
+17822: 20, 26, 5
+17823: 20, 26, 6
+17824: 20, 26, 7
+17825: 20, 26, 8
+17826: 20, 26, 9
+17827: 20, 26, 10
+17828: 20, 26, 11
+17829: 20, 26, 12
+17830: 20, 26, 13
+17831: 20, 26, 14
+17832: 20, 26, 15
+17833: 20, 26, 16
+17834: 20, 26, 17
+17835: 20, 26, 18
+17836: 20, 26, 19
+17837: 20, 26, 20
+17838: 20, 26, 21
+17839: 20, 26, 22
+17840: 20, 26, 23
+17841: 20, 26, 24
+17842: 20, 26, 25
+17843: 20, 26, 26
+17844: 20, 26, 27
+17845: 20, 26, 28
+17846: 20, 27, 0
+17847: 20, 27, 1
+17848: 20, 27, 2
+17849: 20, 27, 3
+17850: 20, 27, 4
+17851: 20, 27, 5
+17852: 20, 27, 6
+17853: 20, 27, 7
+17854: 20, 27, 8
+17855: 20, 27, 9
+17856: 20, 27, 10
+17857: 20, 27, 11
+17858: 20, 27, 12
+17859: 20, 27, 13
+17860: 20, 27, 14
+17861: 20, 27, 15
+17862: 20, 27, 16
+17863: 20, 27, 17
+17864: 20, 27, 18
+17865: 20, 27, 19
+17866: 20, 27, 20
+17867: 20, 27, 21
+17868: 20, 27, 22
+17869: 20, 27, 23
+17870: 20, 27, 24
+17871: 20, 27, 25
+17872: 20, 27, 26
+17873: 20, 27, 27
+17874: 20, 28, 0
+17875: 20, 28, 1
+17876: 20, 28, 2
+17877: 20, 28, 3
+17878: 20, 28, 4
+17879: 20, 28, 5
+17880: 20, 28, 6
+17881: 20, 28, 7
+17882: 20, 28, 8
+17883: 20, 28, 9
+17884: 20, 28, 10
+17885: 20, 28, 11
+17886: 20, 28, 12
+17887: 20, 28, 13
+17888: 20, 28, 14
+17889: 20, 28, 15
+17890: 20, 28, 16
+17891: 20, 28, 17
+17892: 20, 28, 18
+17893: 20, 28, 19
+17894: 20, 28, 20
+17895: 20, 28, 21
+17896: 20, 28, 22
+17897: 20, 28, 23
+17898: 20, 28, 24
+17899: 20, 28, 25
+17900: 20, 28, 26
+17901: 20, 28, 27
+17902: 20, 28, 28
+17903: 20, 29, 0
+17904: 20, 29, 1
+17905: 20, 29, 2
+17906: 20, 29, 3
+17907: 20, 29, 4
+17908: 20, 29, 5
+17909: 20, 29, 6
+17910: 20, 29, 7
+17911: 20, 29, 8
+17912: 20, 29, 9
+17913: 20, 29, 10
+17914: 20, 29, 11
+17915: 20, 29, 12
+17916: 20, 29, 13
+17917: 20, 29, 14
+17918: 20, 29, 15
+17919: 20, 29, 16
+17920: 20, 29, 17
+17921: 20, 29, 18
+17922: 20, 29, 19
+17923: 20, 29, 20
+17924: 20, 29, 21
+17925: 20, 29, 22
+17926: 20, 29, 23
+17927: 20, 29, 24
+17928: 20, 29, 25
+17929: 20, 29, 26
+17930: 20, 29, 27
+17931: 20, 30, 0
+17932: 20, 30, 1
+17933: 20, 30, 2
+17934: 20, 30, 3
+17935: 20, 30, 4
+17936: 20, 30, 5
+17937: 20, 30, 6
+17938: 20, 30, 7
+17939: 20, 30, 8
+17940: 20, 30, 9
+17941: 20, 30, 10
+17942: 20, 30, 11
+17943: 20, 30, 12
+17944: 20, 30, 13
+17945: 20, 30, 14
+17946: 20, 30, 15
+17947: 20, 30, 16
+17948: 20, 30, 17
+17949: 20, 30, 18
+17950: 20, 30, 19
+17951: 20, 30, 20
+17952: 20, 30, 21
+17953: 20, 30, 22
+17954: 20, 30, 23
+17955: 20, 30, 24
+17956: 20, 30, 25
+17957: 20, 30, 26
+17958: 20, 30, 27
+17959: 20, 30, 28
+17960: 20, 30, 29
+17961: 20, 30, 30
+17962: 20, 30, 31
+17963: 20, 30, 32
+17964: 20, 30, 33
+17965: 20, 31, 0
+17966: 20, 31, 1
+17967: 20, 31, 2
+17968: 20, 31, 3
+17969: 20, 31, 4
+17970: 20, 31, 5
+17971: 20, 31, 6
+17972: 20, 31, 7
+17973: 20, 31, 8
+17974: 20, 31, 9
+17975: 20, 31, 10
+17976: 20, 31, 11
+17977: 20, 31, 12
+17978: 20, 31, 13
+17979: 20, 31, 14
+17980: 20, 31, 15
+17981: 20, 31, 16
+17982: 20, 31, 17
+17983: 20, 31, 18
+17984: 20, 31, 19
+17985: 20, 31, 20
+17986: 20, 31, 21
+17987: 20, 31, 22
+17988: 20, 31, 23
+17989: 20, 31, 24
+17990: 20, 31, 25
+17991: 20, 31, 26
+17992: 20, 31, 27
+17993: 20, 31, 28
+17994: 20, 31, 29
+17995: 20, 31, 30
+17996: 20, 31, 31
+17997: 21, 0, 0
+17998: 21, 1, 0
+17999: 21, 1, 1
+18000: 21, 1, 2
+18001: 21, 1, 3
+18002: 21, 1, 4
+18003: 21, 1, 5
+18004: 21, 1, 6
+18005: 21, 1, 7
+18006: 21, 1, 8
+18007: 21, 1, 9
+18008: 21, 1, 10
+18009: 21, 1, 11
+18010: 21, 1, 12
+18011: 21, 1, 13
+18012: 21, 1, 14
+18013: 21, 1, 15
+18014: 21, 1, 16
+18015: 21, 1, 17
+18016: 21, 1, 18
+18017: 21, 2, 0
+18018: 21, 2, 1
+18019: 21, 2, 2
+18020: 21, 2, 3
+18021: 21, 2, 4
+18022: 21, 2, 5
+18023: 21, 2, 6
+18024: 21, 2, 7
+18025: 21, 2, 8
+18026: 21, 2, 9
+18027: 21, 2, 10
+18028: 21, 2, 11
+18029: 21, 2, 12
+18030: 21, 2, 13
+18031: 21, 2, 14
+18032: 21, 2, 15
+18033: 21, 2, 16
+18034: 21, 2, 17
+18035: 21, 2, 18
+18036: 21, 2, 19
+18037: 21, 2, 20
+18038: 21, 2, 21
+18039: 21, 2, 22
+18040: 21, 2, 23
+18041: 21, 2, 24
+18042: 21, 2, 25
+18043: 21, 2, 26
+18044: 21, 3, 0
+18045: 21, 3, 1
+18046: 21, 3, 2
+18047: 21, 3, 3
+18048: 21, 3, 4
+18049: 21, 3, 5
+18050: 21, 3, 6
+18051: 21, 3, 7
+18052: 21, 3, 8
+18053: 21, 3, 9
+18054: 21, 3, 10
+18055: 21, 3, 11
+18056: 21, 3, 12
+18057: 21, 3, 13
+18058: 21, 3, 14
+18059: 21, 3, 15
+18060: 21, 3, 16
+18061: 21, 3, 17
+18062: 21, 3, 18
+18063: 21, 3, 19
+18064: 21, 3, 20
+18065: 21, 3, 21
+18066: 21, 3, 22
+18067: 21, 4, 0
+18068: 21, 4, 1
+18069: 21, 4, 2
+18070: 21, 4, 3
+18071: 21, 4, 4
+18072: 21, 4, 5
+18073: 21, 4, 6
+18074: 21, 4, 7
+18075: 21, 4, 8
+18076: 21, 4, 9
+18077: 21, 4, 10
+18078: 21, 4, 11
+18079: 21, 4, 12
+18080: 21, 4, 13
+18081: 21, 4, 14
+18082: 21, 4, 15
+18083: 21, 4, 16
+18084: 21, 5, 0
+18085: 21, 5, 1
+18086: 21, 5, 2
+18087: 21, 5, 3
+18088: 21, 5, 4
+18089: 21, 5, 5
+18090: 21, 5, 6
+18091: 21, 5, 7
+18092: 21, 5, 8
+18093: 21, 5, 9
+18094: 21, 5, 10
+18095: 21, 5, 11
+18096: 21, 5, 12
+18097: 21, 5, 13
+18098: 21, 5, 14
+18099: 21, 5, 15
+18100: 21, 5, 16
+18101: 21, 5, 17
+18102: 21, 5, 18
+18103: 21, 5, 19
+18104: 21, 5, 20
+18105: 21, 6, 0
+18106: 21, 6, 1
+18107: 21, 6, 2
+18108: 21, 6, 3
+18109: 21, 6, 4
+18110: 21, 6, 5
+18111: 21, 6, 6
+18112: 21, 6, 7
+18113: 21, 6, 8
+18114: 21, 6, 9
+18115: 21, 6, 10
+18116: 21, 6, 11
+18117: 21, 6, 12
+18118: 21, 7, 0
+18119: 21, 7, 1
+18120: 21, 7, 2
+18121: 21, 7, 3
+18122: 21, 7, 4
+18123: 21, 7, 5
+18124: 21, 7, 6
+18125: 21, 7, 7
+18126: 21, 7, 8
+18127: 21, 7, 9
+18128: 21, 7, 10
+18129: 21, 7, 11
+18130: 21, 7, 12
+18131: 21, 7, 13
+18132: 21, 7, 14
+18133: 21, 7, 15
+18134: 21, 7, 16
+18135: 21, 7, 17
+18136: 21, 7, 18
+18137: 21, 7, 19
+18138: 21, 7, 20
+18139: 21, 7, 21
+18140: 21, 7, 22
+18141: 21, 7, 23
+18142: 21, 7, 24
+18143: 21, 7, 25
+18144: 21, 7, 26
+18145: 21, 7, 27
+18146: 21, 7, 28
+18147: 21, 7, 29
+18148: 21, 8, 0
+18149: 21, 8, 1
+18150: 21, 8, 2
+18151: 21, 8, 3
+18152: 21, 8, 4
+18153: 21, 8, 5
+18154: 21, 8, 6
+18155: 21, 8, 7
+18156: 21, 8, 8
+18157: 21, 8, 9
+18158: 21, 8, 10
+18159: 21, 8, 11
+18160: 21, 8, 12
+18161: 21, 8, 13
+18162: 21, 8, 14
+18163: 21, 8, 15
+18164: 21, 8, 16
+18165: 21, 8, 17
+18166: 21, 9, 0
+18167: 21, 9, 1
+18168: 21, 9, 2
+18169: 21, 9, 3
+18170: 21, 9, 4
+18171: 21, 9, 5
+18172: 21, 9, 6
+18173: 21, 9, 7
+18174: 21, 9, 8
+18175: 21, 9, 9
+18176: 21, 9, 10
+18177: 21, 9, 11
+18178: 21, 9, 12
+18179: 21, 9, 13
+18180: 21, 9, 14
+18181: 21, 9, 15
+18182: 21, 9, 16
+18183: 21, 9, 17
+18184: 21, 9, 18
+18185: 21, 10, 0
+18186: 21, 10, 1
+18187: 21, 10, 2
+18188: 21, 10, 3
+18189: 21, 10, 4
+18190: 21, 10, 5
+18191: 21, 10, 6
+18192: 21, 10, 7
+18193: 21, 10, 8
+18194: 21, 10, 9
+18195: 21, 10, 10
+18196: 21, 10, 11
+18197: 21, 10, 12
+18198: 21, 10, 13
+18199: 21, 10, 14
+18200: 21, 10, 15
+18201: 21, 10, 16
+18202: 21, 10, 17
+18203: 21, 10, 18
+18204: 21, 10, 19
+18205: 21, 10, 20
+18206: 21, 11, 0
+18207: 21, 11, 1
+18208: 21, 11, 2
+18209: 21, 11, 3
+18210: 21, 11, 4
+18211: 21, 11, 5
+18212: 21, 11, 6
+18213: 21, 11, 7
+18214: 21, 11, 8
+18215: 21, 11, 9
+18216: 21, 11, 10
+18217: 21, 12, 0
+18218: 21, 12, 1
+18219: 21, 12, 2
+18220: 21, 12, 3
+18221: 21, 12, 4
+18222: 21, 12, 5
+18223: 21, 12, 6
+18224: 21, 12, 7
+18225: 21, 12, 8
+18226: 21, 12, 9
+18227: 21, 12, 10
+18228: 21, 12, 11
+18229: 21, 12, 12
+18230: 21, 12, 13
+18231: 21, 12, 14
+18232: 22, 0, 0
+18233: 22, 1, 0
+18234: 22, 1, 1
+18235: 22, 1, 2
+18236: 22, 1, 3
+18237: 22, 1, 4
+18238: 22, 1, 5
+18239: 22, 1, 6
+18240: 22, 1, 7
+18241: 22, 1, 8
+18242: 22, 1, 9
+18243: 22, 1, 10
+18244: 22, 1, 11
+18245: 22, 1, 12
+18246: 22, 1, 13
+18247: 22, 1, 14
+18248: 22, 1, 15
+18249: 22, 1, 16
+18250: 22, 1, 17
+18251: 22, 2, 0
+18252: 22, 2, 1
+18253: 22, 2, 2
+18254: 22, 2, 3
+18255: 22, 2, 4
+18256: 22, 2, 5
+18257: 22, 2, 6
+18258: 22, 2, 7
+18259: 22, 2, 8
+18260: 22, 2, 9
+18261: 22, 2, 10
+18262: 22, 2, 11
+18263: 22, 2, 12
+18264: 22, 2, 13
+18265: 22, 2, 14
+18266: 22, 2, 15
+18267: 22, 2, 16
+18268: 22, 2, 17
+18269: 22, 3, 0
+18270: 22, 3, 1
+18271: 22, 3, 2
+18272: 22, 3, 3
+18273: 22, 3, 4
+18274: 22, 3, 5
+18275: 22, 3, 6
+18276: 22, 3, 7
+18277: 22, 3, 8
+18278: 22, 3, 9
+18279: 22, 3, 10
+18280: 22, 3, 11
+18281: 22, 4, 0
+18282: 22, 4, 1
+18283: 22, 4, 2
+18284: 22, 4, 3
+18285: 22, 4, 4
+18286: 22, 4, 5
+18287: 22, 4, 6
+18288: 22, 4, 7
+18289: 22, 4, 8
+18290: 22, 4, 9
+18291: 22, 4, 10
+18292: 22, 4, 11
+18293: 22, 4, 12
+18294: 22, 4, 13
+18295: 22, 4, 14
+18296: 22, 4, 15
+18297: 22, 4, 16
+18298: 22, 5, 0
+18299: 22, 5, 1
+18300: 22, 5, 2
+18301: 22, 5, 3
+18302: 22, 5, 4
+18303: 22, 5, 5
+18304: 22, 5, 6
+18305: 22, 5, 7
+18306: 22, 5, 8
+18307: 22, 5, 9
+18308: 22, 5, 10
+18309: 22, 5, 11
+18310: 22, 5, 12
+18311: 22, 5, 13
+18312: 22, 5, 14
+18313: 22, 5, 15
+18314: 22, 5, 16
+18315: 22, 6, 0
+18316: 22, 6, 1
+18317: 22, 6, 2
+18318: 22, 6, 3
+18319: 22, 6, 4
+18320: 22, 6, 5
+18321: 22, 6, 6
+18322: 22, 6, 7
+18323: 22, 6, 8
+18324: 22, 6, 9
+18325: 22, 6, 10
+18326: 22, 6, 11
+18327: 22, 6, 12
+18328: 22, 6, 13
+18329: 22, 7, 0
+18330: 22, 7, 1
+18331: 22, 7, 2
+18332: 22, 7, 3
+18333: 22, 7, 4
+18334: 22, 7, 5
+18335: 22, 7, 6
+18336: 22, 7, 7
+18337: 22, 7, 8
+18338: 22, 7, 9
+18339: 22, 7, 10
+18340: 22, 7, 11
+18341: 22, 7, 12
+18342: 22, 7, 13
+18343: 22, 8, 0
+18344: 22, 8, 1
+18345: 22, 8, 2
+18346: 22, 8, 3
+18347: 22, 8, 4
+18348: 22, 8, 5
+18349: 22, 8, 6
+18350: 22, 8, 7
+18351: 22, 8, 8
+18352: 22, 8, 9
+18353: 22, 8, 10
+18354: 22, 8, 11
+18355: 22, 8, 12
+18356: 22, 8, 13
+18357: 22, 8, 14
+18358: 23, 0, 0
+18359: 23, 1, 0
+18360: 23, 1, 1
+18361: 23, 1, 2
+18362: 23, 1, 3
+18363: 23, 1, 4
+18364: 23, 1, 5
+18365: 23, 1, 6
+18366: 23, 1, 7
+18367: 23, 1, 8
+18368: 23, 1, 9
+18369: 23, 1, 10
+18370: 23, 1, 11
+18371: 23, 1, 12
+18372: 23, 1, 13
+18373: 23, 1, 14
+18374: 23, 1, 15
+18375: 23, 1, 16
+18376: 23, 1, 17
+18377: 23, 1, 18
+18378: 23, 1, 19
+18379: 23, 1, 20
+18380: 23, 1, 21
+18381: 23, 1, 22
+18382: 23, 1, 23
+18383: 23, 1, 24
+18384: 23, 1, 25
+18385: 23, 1, 26
+18386: 23, 1, 27
+18387: 23, 1, 28
+18388: 23, 1, 29
+18389: 23, 1, 30
+18390: 23, 1, 31
+18391: 23, 2, 0
+18392: 23, 2, 1
+18393: 23, 2, 2
+18394: 23, 2, 3
+18395: 23, 2, 4
+18396: 23, 2, 5
+18397: 23, 2, 6
+18398: 23, 2, 7
+18399: 23, 2, 8
+18400: 23, 2, 9
+18401: 23, 2, 10
+18402: 23, 2, 11
+18403: 23, 2, 12
+18404: 23, 2, 13
+18405: 23, 2, 14
+18406: 23, 2, 15
+18407: 23, 2, 16
+18408: 23, 2, 17
+18409: 23, 2, 18
+18410: 23, 2, 19
+18411: 23, 2, 20
+18412: 23, 2, 21
+18413: 23, 2, 22
+18414: 23, 3, 0
+18415: 23, 3, 1
+18416: 23, 3, 2
+18417: 23, 3, 3
+18418: 23, 3, 4
+18419: 23, 3, 5
+18420: 23, 3, 6
+18421: 23, 3, 7
+18422: 23, 3, 8
+18423: 23, 3, 9
+18424: 23, 3, 10
+18425: 23, 3, 11
+18426: 23, 3, 12
+18427: 23, 3, 13
+18428: 23, 3, 14
+18429: 23, 3, 15
+18430: 23, 3, 16
+18431: 23, 3, 17
+18432: 23, 3, 18
+18433: 23, 3, 19
+18434: 23, 3, 20
+18435: 23, 3, 21
+18436: 23, 3, 22
+18437: 23, 3, 23
+18438: 23, 3, 24
+18439: 23, 3, 25
+18440: 23, 3, 26
+18441: 23, 4, 0
+18442: 23, 4, 1
+18443: 23, 4, 2
+18444: 23, 4, 3
+18445: 23, 4, 4
+18446: 23, 4, 5
+18447: 23, 4, 6
+18448: 23, 5, 0
+18449: 23, 5, 1
+18450: 23, 5, 2
+18451: 23, 5, 3
+18452: 23, 5, 4
+18453: 23, 5, 5
+18454: 23, 5, 6
+18455: 23, 5, 7
+18456: 23, 5, 8
+18457: 23, 5, 9
+18458: 23, 5, 10
+18459: 23, 5, 11
+18460: 23, 5, 12
+18461: 23, 5, 13
+18462: 23, 5, 14
+18463: 23, 5, 15
+18464: 23, 5, 16
+18465: 23, 5, 17
+18466: 23, 5, 18
+18467: 23, 5, 19
+18468: 23, 5, 20
+18469: 23, 5, 21
+18470: 23, 5, 22
+18471: 23, 5, 23
+18472: 23, 5, 24
+18473: 23, 5, 25
+18474: 23, 5, 26
+18475: 23, 5, 27
+18476: 23, 5, 28
+18477: 23, 5, 29
+18478: 23, 5, 30
+18479: 23, 6, 0
+18480: 23, 6, 1
+18481: 23, 6, 2
+18482: 23, 6, 3
+18483: 23, 6, 4
+18484: 23, 6, 5
+18485: 23, 6, 6
+18486: 23, 6, 7
+18487: 23, 6, 8
+18488: 23, 6, 9
+18489: 23, 6, 10
+18490: 23, 6, 11
+18491: 23, 6, 12
+18492: 23, 6, 13
+18493: 23, 7, 0
+18494: 23, 7, 1
+18495: 23, 7, 2
+18496: 23, 7, 3
+18497: 23, 7, 4
+18498: 23, 7, 5
+18499: 23, 7, 6
+18500: 23, 7, 7
+18501: 23, 7, 8
+18502: 23, 7, 9
+18503: 23, 7, 10
+18504: 23, 7, 11
+18505: 23, 7, 12
+18506: 23, 7, 13
+18507: 23, 7, 14
+18508: 23, 7, 15
+18509: 23, 7, 16
+18510: 23, 7, 17
+18511: 23, 7, 18
+18512: 23, 7, 19
+18513: 23, 7, 20
+18514: 23, 7, 21
+18515: 23, 7, 22
+18516: 23, 7, 23
+18517: 23, 7, 24
+18518: 23, 7, 25
+18519: 23, 8, 0
+18520: 23, 8, 1
+18521: 23, 8, 2
+18522: 23, 8, 3
+18523: 23, 8, 4
+18524: 23, 8, 5
+18525: 23, 8, 6
+18526: 23, 8, 7
+18527: 23, 8, 8
+18528: 23, 8, 9
+18529: 23, 8, 10
+18530: 23, 8, 11
+18531: 23, 8, 12
+18532: 23, 8, 13
+18533: 23, 8, 14
+18534: 23, 8, 15
+18535: 23, 8, 16
+18536: 23, 8, 17
+18537: 23, 8, 18
+18538: 23, 8, 19
+18539: 23, 8, 20
+18540: 23, 8, 21
+18541: 23, 8, 22
+18542: 23, 9, 0
+18543: 23, 9, 1
+18544: 23, 9, 2
+18545: 23, 9, 3
+18546: 23, 9, 4
+18547: 23, 9, 5
+18548: 23, 9, 6
+18549: 23, 9, 7
+18550: 23, 9, 8
+18551: 23, 9, 9
+18552: 23, 9, 10
+18553: 23, 9, 11
+18554: 23, 9, 12
+18555: 23, 9, 13
+18556: 23, 9, 14
+18557: 23, 9, 15
+18558: 23, 9, 16
+18559: 23, 9, 17
+18560: 23, 9, 18
+18561: 23, 9, 19
+18562: 23, 9, 20
+18563: 23, 9, 21
+18564: 23, 10, 0
+18565: 23, 10, 1
+18566: 23, 10, 2
+18567: 23, 10, 3
+18568: 23, 10, 4
+18569: 23, 10, 5
+18570: 23, 10, 6
+18571: 23, 10, 7
+18572: 23, 10, 8
+18573: 23, 10, 9
+18574: 23, 10, 10
+18575: 23, 10, 11
+18576: 23, 10, 12
+18577: 23, 10, 13
+18578: 23, 10, 14
+18579: 23, 10, 15
+18580: 23, 10, 16
+18581: 23, 10, 17
+18582: 23, 10, 18
+18583: 23, 10, 19
+18584: 23, 10, 20
+18585: 23, 10, 21
+18586: 23, 10, 22
+18587: 23, 10, 23
+18588: 23, 10, 24
+18589: 23, 10, 25
+18590: 23, 10, 26
+18591: 23, 10, 27
+18592: 23, 10, 28
+18593: 23, 10, 29
+18594: 23, 10, 30
+18595: 23, 10, 31
+18596: 23, 10, 32
+18597: 23, 10, 33
+18598: 23, 10, 34
+18599: 23, 11, 0
+18600: 23, 11, 1
+18601: 23, 11, 2
+18602: 23, 11, 3
+18603: 23, 11, 4
+18604: 23, 11, 5
+18605: 23, 11, 6
+18606: 23, 11, 7
+18607: 23, 11, 8
+18608: 23, 11, 9
+18609: 23, 11, 10
+18610: 23, 11, 11
+18611: 23, 11, 12
+18612: 23, 11, 13
+18613: 23, 11, 14
+18614: 23, 11, 15
+18615: 23, 11, 16
+18616: 23, 12, 0
+18617: 23, 12, 1
+18618: 23, 12, 2
+18619: 23, 12, 3
+18620: 23, 12, 4
+18621: 23, 12, 5
+18622: 23, 12, 6
+18623: 23, 13, 0
+18624: 23, 13, 1
+18625: 23, 13, 2
+18626: 23, 13, 3
+18627: 23, 13, 4
+18628: 23, 13, 5
+18629: 23, 13, 6
+18630: 23, 13, 7
+18631: 23, 13, 8
+18632: 23, 13, 9
+18633: 23, 13, 10
+18634: 23, 13, 11
+18635: 23, 13, 12
+18636: 23, 13, 13
+18637: 23, 13, 14
+18638: 23, 13, 15
+18639: 23, 13, 16
+18640: 23, 13, 17
+18641: 23, 13, 18
+18642: 23, 13, 19
+18643: 23, 13, 20
+18644: 23, 13, 21
+18645: 23, 13, 22
+18646: 23, 14, 0
+18647: 23, 14, 1
+18648: 23, 14, 2
+18649: 23, 14, 3
+18650: 23, 14, 4
+18651: 23, 14, 5
+18652: 23, 14, 6
+18653: 23, 14, 7
+18654: 23, 14, 8
+18655: 23, 14, 9
+18656: 23, 14, 10
+18657: 23, 14, 11
+18658: 23, 14, 12
+18659: 23, 14, 13
+18660: 23, 14, 14
+18661: 23, 14, 15
+18662: 23, 14, 16
+18663: 23, 14, 17
+18664: 23, 14, 18
+18665: 23, 14, 19
+18666: 23, 14, 20
+18667: 23, 14, 21
+18668: 23, 14, 22
+18669: 23, 14, 23
+18670: 23, 14, 24
+18671: 23, 14, 25
+18672: 23, 14, 26
+18673: 23, 14, 27
+18674: 23, 14, 28
+18675: 23, 14, 29
+18676: 23, 14, 30
+18677: 23, 14, 31
+18678: 23, 14, 32
+18679: 23, 15, 0
+18680: 23, 15, 1
+18681: 23, 15, 2
+18682: 23, 15, 3
+18683: 23, 15, 4
+18684: 23, 15, 5
+18685: 23, 15, 6
+18686: 23, 15, 7
+18687: 23, 15, 8
+18688: 23, 15, 9
+18689: 23, 16, 0
+18690: 23, 16, 1
+18691: 23, 16, 2
+18692: 23, 16, 3
+18693: 23, 16, 4
+18694: 23, 16, 5
+18695: 23, 16, 6
+18696: 23, 16, 7
+18697: 23, 16, 8
+18698: 23, 16, 9
+18699: 23, 16, 10
+18700: 23, 16, 11
+18701: 23, 16, 12
+18702: 23, 16, 13
+18703: 23, 16, 14
+18704: 23, 17, 0
+18705: 23, 17, 1
+18706: 23, 17, 2
+18707: 23, 17, 3
+18708: 23, 17, 4
+18709: 23, 17, 5
+18710: 23, 17, 6
+18711: 23, 17, 7
+18712: 23, 17, 8
+18713: 23, 17, 9
+18714: 23, 17, 10
+18715: 23, 17, 11
+18716: 23, 17, 12
+18717: 23, 17, 13
+18718: 23, 17, 14
+18719: 23, 18, 0
+18720: 23, 18, 1
+18721: 23, 18, 2
+18722: 23, 18, 3
+18723: 23, 18, 4
+18724: 23, 18, 5
+18725: 23, 18, 6
+18726: 23, 18, 7
+18727: 23, 19, 0
+18728: 23, 19, 1
+18729: 23, 19, 2
+18730: 23, 19, 3
+18731: 23, 19, 4
+18732: 23, 19, 5
+18733: 23, 19, 6
+18734: 23, 19, 7
+18735: 23, 19, 8
+18736: 23, 19, 9
+18737: 23, 19, 10
+18738: 23, 19, 11
+18739: 23, 19, 12
+18740: 23, 19, 13
+18741: 23, 19, 14
+18742: 23, 19, 15
+18743: 23, 19, 16
+18744: 23, 19, 17
+18745: 23, 19, 18
+18746: 23, 19, 19
+18747: 23, 19, 20
+18748: 23, 19, 21
+18749: 23, 19, 22
+18750: 23, 19, 23
+18751: 23, 19, 24
+18752: 23, 19, 25
+18753: 23, 20, 0
+18754: 23, 20, 1
+18755: 23, 20, 2
+18756: 23, 20, 3
+18757: 23, 20, 4
+18758: 23, 20, 5
+18759: 23, 20, 6
+18760: 23, 21, 0
+18761: 23, 21, 1
+18762: 23, 21, 2
+18763: 23, 21, 3
+18764: 23, 21, 4
+18765: 23, 21, 5
+18766: 23, 21, 6
+18767: 23, 21, 7
+18768: 23, 21, 8
+18769: 23, 21, 9
+18770: 23, 21, 10
+18771: 23, 21, 11
+18772: 23, 21, 12
+18773: 23, 21, 13
+18774: 23, 21, 14
+18775: 23, 21, 15
+18776: 23, 21, 16
+18777: 23, 21, 17
+18778: 23, 22, 0
+18779: 23, 22, 1
+18780: 23, 22, 2
+18781: 23, 22, 3
+18782: 23, 22, 4
+18783: 23, 22, 5
+18784: 23, 22, 6
+18785: 23, 22, 7
+18786: 23, 22, 8
+18787: 23, 22, 9
+18788: 23, 22, 10
+18789: 23, 22, 11
+18790: 23, 22, 12
+18791: 23, 22, 13
+18792: 23, 22, 14
+18793: 23, 22, 15
+18794: 23, 22, 16
+18795: 23, 22, 17
+18796: 23, 22, 18
+18797: 23, 22, 19
+18798: 23, 22, 20
+18799: 23, 22, 21
+18800: 23, 22, 22
+18801: 23, 22, 23
+18802: 23, 22, 24
+18803: 23, 22, 25
+18804: 23, 23, 0
+18805: 23, 23, 1
+18806: 23, 23, 2
+18807: 23, 23, 3
+18808: 23, 23, 4
+18809: 23, 23, 5
+18810: 23, 23, 6
+18811: 23, 23, 7
+18812: 23, 23, 8
+18813: 23, 23, 9
+18814: 23, 23, 10
+18815: 23, 23, 11
+18816: 23, 23, 12
+18817: 23, 23, 13
+18818: 23, 23, 14
+18819: 23, 23, 15
+18820: 23, 23, 16
+18821: 23, 23, 17
+18822: 23, 23, 18
+18823: 23, 24, 0
+18824: 23, 24, 1
+18825: 23, 24, 2
+18826: 23, 24, 3
+18827: 23, 24, 4
+18828: 23, 24, 5
+18829: 23, 24, 6
+18830: 23, 24, 7
+18831: 23, 24, 8
+18832: 23, 24, 9
+18833: 23, 24, 10
+18834: 23, 24, 11
+18835: 23, 24, 12
+18836: 23, 24, 13
+18837: 23, 24, 14
+18838: 23, 24, 15
+18839: 23, 24, 16
+18840: 23, 24, 17
+18841: 23, 24, 18
+18842: 23, 24, 19
+18843: 23, 24, 20
+18844: 23, 24, 21
+18845: 23, 24, 22
+18846: 23, 24, 23
+18847: 23, 25, 0
+18848: 23, 25, 1
+18849: 23, 25, 2
+18850: 23, 25, 3
+18851: 23, 25, 4
+18852: 23, 25, 5
+18853: 23, 25, 6
+18854: 23, 25, 7
+18855: 23, 25, 8
+18856: 23, 25, 9
+18857: 23, 25, 10
+18858: 23, 25, 11
+18859: 23, 25, 12
+18860: 23, 26, 0
+18861: 23, 26, 1
+18862: 23, 26, 2
+18863: 23, 26, 3
+18864: 23, 26, 4
+18865: 23, 26, 5
+18866: 23, 26, 6
+18867: 23, 26, 7
+18868: 23, 26, 8
+18869: 23, 26, 9
+18870: 23, 26, 10
+18871: 23, 26, 11
+18872: 23, 26, 12
+18873: 23, 26, 13
+18874: 23, 26, 14
+18875: 23, 26, 15
+18876: 23, 26, 16
+18877: 23, 26, 17
+18878: 23, 26, 18
+18879: 23, 26, 19
+18880: 23, 26, 20
+18881: 23, 26, 21
+18882: 23, 27, 0
+18883: 23, 27, 1
+18884: 23, 27, 2
+18885: 23, 27, 3
+18886: 23, 27, 4
+18887: 23, 27, 5
+18888: 23, 27, 6
+18889: 23, 27, 7
+18890: 23, 27, 8
+18891: 23, 27, 9
+18892: 23, 27, 10
+18893: 23, 27, 11
+18894: 23, 27, 12
+18895: 23, 27, 13
+18896: 23, 28, 0
+18897: 23, 28, 1
+18898: 23, 28, 2
+18899: 23, 28, 3
+18900: 23, 28, 4
+18901: 23, 28, 5
+18902: 23, 28, 6
+18903: 23, 28, 7
+18904: 23, 28, 8
+18905: 23, 28, 9
+18906: 23, 28, 10
+18907: 23, 28, 11
+18908: 23, 28, 12
+18909: 23, 28, 13
+18910: 23, 28, 14
+18911: 23, 28, 15
+18912: 23, 28, 16
+18913: 23, 28, 17
+18914: 23, 28, 18
+18915: 23, 28, 19
+18916: 23, 28, 20
+18917: 23, 28, 21
+18918: 23, 28, 22
+18919: 23, 28, 23
+18920: 23, 28, 24
+18921: 23, 28, 25
+18922: 23, 28, 26
+18923: 23, 28, 27
+18924: 23, 28, 28
+18925: 23, 28, 29
+18926: 23, 29, 0
+18927: 23, 29, 1
+18928: 23, 29, 2
+18929: 23, 29, 3
+18930: 23, 29, 4
+18931: 23, 29, 5
+18932: 23, 29, 6
+18933: 23, 29, 7
+18934: 23, 29, 8
+18935: 23, 29, 9
+18936: 23, 29, 10
+18937: 23, 29, 11
+18938: 23, 29, 12
+18939: 23, 29, 13
+18940: 23, 29, 14
+18941: 23, 29, 15
+18942: 23, 29, 16
+18943: 23, 29, 17
+18944: 23, 29, 18
+18945: 23, 29, 19
+18946: 23, 29, 20
+18947: 23, 29, 21
+18948: 23, 29, 22
+18949: 23, 29, 23
+18950: 23, 29, 24
+18951: 23, 30, 0
+18952: 23, 30, 1
+18953: 23, 30, 2
+18954: 23, 30, 3
+18955: 23, 30, 4
+18956: 23, 30, 5
+18957: 23, 30, 6
+18958: 23, 30, 7
+18959: 23, 30, 8
+18960: 23, 30, 9
+18961: 23, 30, 10
+18962: 23, 30, 11
+18963: 23, 30, 12
+18964: 23, 30, 13
+18965: 23, 30, 14
+18966: 23, 30, 15
+18967: 23, 30, 16
+18968: 23, 30, 17
+18969: 23, 30, 18
+18970: 23, 30, 19
+18971: 23, 30, 20
+18972: 23, 30, 21
+18973: 23, 30, 22
+18974: 23, 30, 23
+18975: 23, 30, 24
+18976: 23, 30, 25
+18977: 23, 30, 26
+18978: 23, 30, 27
+18979: 23, 30, 28
+18980: 23, 30, 29
+18981: 23, 30, 30
+18982: 23, 30, 31
+18983: 23, 30, 32
+18984: 23, 30, 33
+18985: 23, 31, 0
+18986: 23, 31, 1
+18987: 23, 31, 2
+18988: 23, 31, 3
+18989: 23, 31, 4
+18990: 23, 31, 5
+18991: 23, 31, 6
+18992: 23, 31, 7
+18993: 23, 31, 8
+18994: 23, 31, 9
+18995: 23, 32, 0
+18996: 23, 32, 1
+18997: 23, 32, 2
+18998: 23, 32, 3
+18999: 23, 32, 4
+19000: 23, 32, 5
+19001: 23, 32, 6
+19002: 23, 32, 7
+19003: 23, 32, 8
+19004: 23, 32, 9
+19005: 23, 32, 10
+19006: 23, 32, 11
+19007: 23, 32, 12
+19008: 23, 32, 13
+19009: 23, 32, 14
+19010: 23, 32, 15
+19011: 23, 32, 16
+19012: 23, 32, 17
+19013: 23, 32, 18
+19014: 23, 32, 19
+19015: 23, 32, 20
+19016: 23, 33, 0
+19017: 23, 33, 1
+19018: 23, 33, 2
+19019: 23, 33, 3
+19020: 23, 33, 4
+19021: 23, 33, 5
+19022: 23, 33, 6
+19023: 23, 33, 7
+19024: 23, 33, 8
+19025: 23, 33, 9
+19026: 23, 33, 10
+19027: 23, 33, 11
+19028: 23, 33, 12
+19029: 23, 33, 13
+19030: 23, 33, 14
+19031: 23, 33, 15
+19032: 23, 33, 16
+19033: 23, 33, 17
+19034: 23, 33, 18
+19035: 23, 33, 19
+19036: 23, 33, 20
+19037: 23, 33, 21
+19038: 23, 33, 22
+19039: 23, 33, 23
+19040: 23, 33, 24
+19041: 23, 34, 0
+19042: 23, 34, 1
+19043: 23, 34, 2
+19044: 23, 34, 3
+19045: 23, 34, 4
+19046: 23, 34, 5
+19047: 23, 34, 6
+19048: 23, 34, 7
+19049: 23, 34, 8
+19050: 23, 34, 9
+19051: 23, 34, 10
+19052: 23, 34, 11
+19053: 23, 34, 12
+19054: 23, 34, 13
+19055: 23, 34, 14
+19056: 23, 34, 15
+19057: 23, 34, 16
+19058: 23, 34, 17
+19059: 23, 35, 0
+19060: 23, 35, 1
+19061: 23, 35, 2
+19062: 23, 35, 3
+19063: 23, 35, 4
+19064: 23, 35, 5
+19065: 23, 35, 6
+19066: 23, 35, 7
+19067: 23, 35, 8
+19068: 23, 35, 9
+19069: 23, 35, 10
+19070: 23, 36, 0
+19071: 23, 36, 1
+19072: 23, 36, 2
+19073: 23, 36, 3
+19074: 23, 36, 4
+19075: 23, 36, 5
+19076: 23, 36, 6
+19077: 23, 36, 7
+19078: 23, 36, 8
+19079: 23, 36, 9
+19080: 23, 36, 10
+19081: 23, 36, 11
+19082: 23, 36, 12
+19083: 23, 36, 13
+19084: 23, 36, 14
+19085: 23, 36, 15
+19086: 23, 36, 16
+19087: 23, 36, 17
+19088: 23, 36, 18
+19089: 23, 36, 19
+19090: 23, 36, 20
+19091: 23, 36, 21
+19092: 23, 36, 22
+19093: 23, 37, 0
+19094: 23, 37, 1
+19095: 23, 37, 2
+19096: 23, 37, 3
+19097: 23, 37, 4
+19098: 23, 37, 5
+19099: 23, 37, 6
+19100: 23, 37, 7
+19101: 23, 37, 8
+19102: 23, 37, 9
+19103: 23, 37, 10
+19104: 23, 37, 11
+19105: 23, 37, 12
+19106: 23, 37, 13
+19107: 23, 37, 14
+19108: 23, 37, 15
+19109: 23, 37, 16
+19110: 23, 37, 17
+19111: 23, 37, 18
+19112: 23, 37, 19
+19113: 23, 37, 20
+19114: 23, 37, 21
+19115: 23, 37, 22
+19116: 23, 37, 23
+19117: 23, 37, 24
+19118: 23, 37, 25
+19119: 23, 37, 26
+19120: 23, 37, 27
+19121: 23, 37, 28
+19122: 23, 37, 29
+19123: 23, 37, 30
+19124: 23, 37, 31
+19125: 23, 37, 32
+19126: 23, 37, 33
+19127: 23, 37, 34
+19128: 23, 37, 35
+19129: 23, 37, 36
+19130: 23, 37, 37
+19131: 23, 37, 38
+19132: 23, 38, 0
+19133: 23, 38, 1
+19134: 23, 38, 2
+19135: 23, 38, 3
+19136: 23, 38, 4
+19137: 23, 38, 5
+19138: 23, 38, 6
+19139: 23, 38, 7
+19140: 23, 38, 8
+19141: 23, 38, 9
+19142: 23, 38, 10
+19143: 23, 38, 11
+19144: 23, 38, 12
+19145: 23, 38, 13
+19146: 23, 38, 14
+19147: 23, 38, 15
+19148: 23, 38, 16
+19149: 23, 38, 17
+19150: 23, 38, 18
+19151: 23, 38, 19
+19152: 23, 38, 20
+19153: 23, 38, 21
+19154: 23, 38, 22
+19155: 23, 39, 0
+19156: 23, 39, 1
+19157: 23, 39, 2
+19158: 23, 39, 3
+19159: 23, 39, 4
+19160: 23, 39, 5
+19161: 23, 39, 6
+19162: 23, 39, 7
+19163: 23, 39, 8
+19164: 23, 40, 0
+19165: 23, 40, 1
+19166: 23, 40, 2
+19167: 23, 40, 3
+19168: 23, 40, 4
+19169: 23, 40, 5
+19170: 23, 40, 6
+19171: 23, 40, 7
+19172: 23, 40, 8
+19173: 23, 40, 9
+19174: 23, 40, 10
+19175: 23, 40, 11
+19176: 23, 40, 12
+19177: 23, 40, 13
+19178: 23, 40, 14
+19179: 23, 40, 15
+19180: 23, 40, 16
+19181: 23, 40, 17
+19182: 23, 40, 18
+19183: 23, 40, 19
+19184: 23, 40, 20
+19185: 23, 40, 21
+19186: 23, 40, 22
+19187: 23, 40, 23
+19188: 23, 40, 24
+19189: 23, 40, 25
+19190: 23, 40, 26
+19191: 23, 40, 27
+19192: 23, 40, 28
+19193: 23, 40, 29
+19194: 23, 40, 30
+19195: 23, 40, 31
+19196: 23, 41, 0
+19197: 23, 41, 1
+19198: 23, 41, 2
+19199: 23, 41, 3
+19200: 23, 41, 4
+19201: 23, 41, 5
+19202: 23, 41, 6
+19203: 23, 41, 7
+19204: 23, 41, 8
+19205: 23, 41, 9
+19206: 23, 41, 10
+19207: 23, 41, 11
+19208: 23, 41, 12
+19209: 23, 41, 13
+19210: 23, 41, 14
+19211: 23, 41, 15
+19212: 23, 41, 16
+19213: 23, 41, 17
+19214: 23, 41, 18
+19215: 23, 41, 19
+19216: 23, 41, 20
+19217: 23, 41, 21
+19218: 23, 41, 22
+19219: 23, 41, 23
+19220: 23, 41, 24
+19221: 23, 41, 25
+19222: 23, 41, 26
+19223: 23, 41, 27
+19224: 23, 41, 28
+19225: 23, 41, 29
+19226: 23, 42, 0
+19227: 23, 42, 1
+19228: 23, 42, 2
+19229: 23, 42, 3
+19230: 23, 42, 4
+19231: 23, 42, 5
+19232: 23, 42, 6
+19233: 23, 42, 7
+19234: 23, 42, 8
+19235: 23, 42, 9
+19236: 23, 42, 10
+19237: 23, 42, 11
+19238: 23, 42, 12
+19239: 23, 42, 13
+19240: 23, 42, 14
+19241: 23, 42, 15
+19242: 23, 42, 16
+19243: 23, 42, 17
+19244: 23, 42, 18
+19245: 23, 42, 19
+19246: 23, 42, 20
+19247: 23, 42, 21
+19248: 23, 42, 22
+19249: 23, 42, 23
+19250: 23, 42, 24
+19251: 23, 42, 25
+19252: 23, 43, 0
+19253: 23, 43, 1
+19254: 23, 43, 2
+19255: 23, 43, 3
+19256: 23, 43, 4
+19257: 23, 43, 5
+19258: 23, 43, 6
+19259: 23, 43, 7
+19260: 23, 43, 8
+19261: 23, 43, 9
+19262: 23, 43, 10
+19263: 23, 43, 11
+19264: 23, 43, 12
+19265: 23, 43, 13
+19266: 23, 43, 14
+19267: 23, 43, 15
+19268: 23, 43, 16
+19269: 23, 43, 17
+19270: 23, 43, 18
+19271: 23, 43, 19
+19272: 23, 43, 20
+19273: 23, 43, 21
+19274: 23, 43, 22
+19275: 23, 43, 23
+19276: 23, 43, 24
+19277: 23, 43, 25
+19278: 23, 43, 26
+19279: 23, 43, 27
+19280: 23, 43, 28
+19281: 23, 44, 0
+19282: 23, 44, 1
+19283: 23, 44, 2
+19284: 23, 44, 3
+19285: 23, 44, 4
+19286: 23, 44, 5
+19287: 23, 44, 6
+19288: 23, 44, 7
+19289: 23, 44, 8
+19290: 23, 44, 9
+19291: 23, 44, 10
+19292: 23, 44, 11
+19293: 23, 44, 12
+19294: 23, 44, 13
+19295: 23, 44, 14
+19296: 23, 44, 15
+19297: 23, 44, 16
+19298: 23, 44, 17
+19299: 23, 44, 18
+19300: 23, 44, 19
+19301: 23, 44, 20
+19302: 23, 44, 21
+19303: 23, 44, 22
+19304: 23, 44, 23
+19305: 23, 44, 24
+19306: 23, 44, 25
+19307: 23, 44, 26
+19308: 23, 44, 27
+19309: 23, 44, 28
+19310: 23, 45, 0
+19311: 23, 45, 1
+19312: 23, 45, 2
+19313: 23, 45, 3
+19314: 23, 45, 4
+19315: 23, 45, 5
+19316: 23, 45, 6
+19317: 23, 45, 7
+19318: 23, 45, 8
+19319: 23, 45, 9
+19320: 23, 45, 10
+19321: 23, 45, 11
+19322: 23, 45, 12
+19323: 23, 45, 13
+19324: 23, 45, 14
+19325: 23, 45, 15
+19326: 23, 45, 16
+19327: 23, 45, 17
+19328: 23, 45, 18
+19329: 23, 45, 19
+19330: 23, 45, 20
+19331: 23, 45, 21
+19332: 23, 45, 22
+19333: 23, 45, 23
+19334: 23, 45, 24
+19335: 23, 45, 25
+19336: 23, 46, 0
+19337: 23, 46, 1
+19338: 23, 46, 2
+19339: 23, 46, 3
+19340: 23, 46, 4
+19341: 23, 46, 5
+19342: 23, 46, 6
+19343: 23, 46, 7
+19344: 23, 46, 8
+19345: 23, 46, 9
+19346: 23, 46, 10
+19347: 23, 46, 11
+19348: 23, 46, 12
+19349: 23, 46, 13
+19350: 23, 47, 0
+19351: 23, 47, 1
+19352: 23, 47, 2
+19353: 23, 47, 3
+19354: 23, 47, 4
+19355: 23, 47, 5
+19356: 23, 47, 6
+19357: 23, 47, 7
+19358: 23, 47, 8
+19359: 23, 47, 9
+19360: 23, 47, 10
+19361: 23, 47, 11
+19362: 23, 47, 12
+19363: 23, 47, 13
+19364: 23, 47, 14
+19365: 23, 47, 15
+19366: 23, 48, 0
+19367: 23, 48, 1
+19368: 23, 48, 2
+19369: 23, 48, 3
+19370: 23, 48, 4
+19371: 23, 48, 5
+19372: 23, 48, 6
+19373: 23, 48, 7
+19374: 23, 48, 8
+19375: 23, 48, 9
+19376: 23, 48, 10
+19377: 23, 48, 11
+19378: 23, 48, 12
+19379: 23, 48, 13
+19380: 23, 48, 14
+19381: 23, 48, 15
+19382: 23, 48, 16
+19383: 23, 48, 17
+19384: 23, 48, 18
+19385: 23, 48, 19
+19386: 23, 48, 20
+19387: 23, 48, 21
+19388: 23, 48, 22
+19389: 23, 49, 0
+19390: 23, 49, 1
+19391: 23, 49, 2
+19392: 23, 49, 3
+19393: 23, 49, 4
+19394: 23, 49, 5
+19395: 23, 49, 6
+19396: 23, 49, 7
+19397: 23, 49, 8
+19398: 23, 49, 9
+19399: 23, 49, 10
+19400: 23, 49, 11
+19401: 23, 49, 12
+19402: 23, 49, 13
+19403: 23, 49, 14
+19404: 23, 49, 15
+19405: 23, 49, 16
+19406: 23, 49, 17
+19407: 23, 49, 18
+19408: 23, 49, 19
+19409: 23, 49, 20
+19410: 23, 49, 21
+19411: 23, 49, 22
+19412: 23, 49, 23
+19413: 23, 49, 24
+19414: 23, 49, 25
+19415: 23, 49, 26
+19416: 23, 50, 0
+19417: 23, 50, 1
+19418: 23, 50, 2
+19419: 23, 50, 3
+19420: 23, 50, 4
+19421: 23, 50, 5
+19422: 23, 50, 6
+19423: 23, 50, 7
+19424: 23, 50, 8
+19425: 23, 50, 9
+19426: 23, 50, 10
+19427: 23, 50, 11
+19428: 23, 51, 0
+19429: 23, 51, 1
+19430: 23, 51, 2
+19431: 23, 51, 3
+19432: 23, 51, 4
+19433: 23, 51, 5
+19434: 23, 51, 6
+19435: 23, 51, 7
+19436: 23, 51, 8
+19437: 23, 51, 9
+19438: 23, 51, 10
+19439: 23, 51, 11
+19440: 23, 51, 12
+19441: 23, 51, 13
+19442: 23, 51, 14
+19443: 23, 51, 15
+19444: 23, 51, 16
+19445: 23, 51, 17
+19446: 23, 51, 18
+19447: 23, 51, 19
+19448: 23, 51, 20
+19449: 23, 51, 21
+19450: 23, 51, 22
+19451: 23, 51, 23
+19452: 23, 52, 0
+19453: 23, 52, 1
+19454: 23, 52, 2
+19455: 23, 52, 3
+19456: 23, 52, 4
+19457: 23, 52, 5
+19458: 23, 52, 6
+19459: 23, 52, 7
+19460: 23, 52, 8
+19461: 23, 52, 9
+19462: 23, 52, 10
+19463: 23, 52, 11
+19464: 23, 52, 12
+19465: 23, 52, 13
+19466: 23, 52, 14
+19467: 23, 52, 15
+19468: 23, 53, 0
+19469: 23, 53, 1
+19470: 23, 53, 2
+19471: 23, 53, 3
+19472: 23, 53, 4
+19473: 23, 53, 5
+19474: 23, 53, 6
+19475: 23, 53, 7
+19476: 23, 53, 8
+19477: 23, 53, 9
+19478: 23, 53, 10
+19479: 23, 53, 11
+19480: 23, 53, 12
+19481: 23, 54, 0
+19482: 23, 54, 1
+19483: 23, 54, 2
+19484: 23, 54, 3
+19485: 23, 54, 4
+19486: 23, 54, 5
+19487: 23, 54, 6
+19488: 23, 54, 7
+19489: 23, 54, 8
+19490: 23, 54, 9
+19491: 23, 54, 10
+19492: 23, 54, 11
+19493: 23, 54, 12
+19494: 23, 54, 13
+19495: 23, 54, 14
+19496: 23, 54, 15
+19497: 23, 54, 16
+19498: 23, 54, 17
+19499: 23, 55, 0
+19500: 23, 55, 1
+19501: 23, 55, 2
+19502: 23, 55, 3
+19503: 23, 55, 4
+19504: 23, 55, 5
+19505: 23, 55, 6
+19506: 23, 55, 7
+19507: 23, 55, 8
+19508: 23, 55, 9
+19509: 23, 55, 10
+19510: 23, 55, 11
+19511: 23, 55, 12
+19512: 23, 55, 13
+19513: 23, 56, 0
+19514: 23, 56, 1
+19515: 23, 56, 2
+19516: 23, 56, 3
+19517: 23, 56, 4
+19518: 23, 56, 5
+19519: 23, 56, 6
+19520: 23, 56, 7
+19521: 23, 56, 8
+19522: 23, 56, 9
+19523: 23, 56, 10
+19524: 23, 56, 11
+19525: 23, 56, 12
+19526: 23, 57, 0
+19527: 23, 57, 1
+19528: 23, 57, 2
+19529: 23, 57, 3
+19530: 23, 57, 4
+19531: 23, 57, 5
+19532: 23, 57, 6
+19533: 23, 57, 7
+19534: 23, 57, 8
+19535: 23, 57, 9
+19536: 23, 57, 10
+19537: 23, 57, 11
+19538: 23, 57, 12
+19539: 23, 57, 13
+19540: 23, 57, 14
+19541: 23, 57, 15
+19542: 23, 57, 16
+19543: 23, 57, 17
+19544: 23, 57, 18
+19545: 23, 57, 19
+19546: 23, 57, 20
+19547: 23, 57, 21
+19548: 23, 58, 0
+19549: 23, 58, 1
+19550: 23, 58, 2
+19551: 23, 58, 3
+19552: 23, 58, 4
+19553: 23, 58, 5
+19554: 23, 58, 6
+19555: 23, 58, 7
+19556: 23, 58, 8
+19557: 23, 58, 9
+19558: 23, 58, 10
+19559: 23, 58, 11
+19560: 23, 58, 12
+19561: 23, 58, 13
+19562: 23, 58, 14
+19563: 23, 59, 0
+19564: 23, 59, 1
+19565: 23, 59, 2
+19566: 23, 59, 3
+19567: 23, 59, 4
+19568: 23, 59, 5
+19569: 23, 59, 6
+19570: 23, 59, 7
+19571: 23, 59, 8
+19572: 23, 59, 9
+19573: 23, 59, 10
+19574: 23, 59, 11
+19575: 23, 59, 12
+19576: 23, 59, 13
+19577: 23, 59, 14
+19578: 23, 59, 15
+19579: 23, 59, 16
+19580: 23, 59, 17
+19581: 23, 59, 18
+19582: 23, 59, 19
+19583: 23, 59, 20
+19584: 23, 59, 21
+19585: 23, 60, 0
+19586: 23, 60, 1
+19587: 23, 60, 2
+19588: 23, 60, 3
+19589: 23, 60, 4
+19590: 23, 60, 5
+19591: 23, 60, 6
+19592: 23, 60, 7
+19593: 23, 60, 8
+19594: 23, 60, 9
+19595: 23, 60, 10
+19596: 23, 60, 11
+19597: 23, 60, 12
+19598: 23, 60, 13
+19599: 23, 60, 14
+19600: 23, 60, 15
+19601: 23, 60, 16
+19602: 23, 60, 17
+19603: 23, 60, 18
+19604: 23, 60, 19
+19605: 23, 60, 20
+19606: 23, 60, 21
+19607: 23, 60, 22
+19608: 23, 61, 0
+19609: 23, 61, 1
+19610: 23, 61, 2
+19611: 23, 61, 3
+19612: 23, 61, 4
+19613: 23, 61, 5
+19614: 23, 61, 6
+19615: 23, 61, 7
+19616: 23, 61, 8
+19617: 23, 61, 9
+19618: 23, 61, 10
+19619: 23, 61, 11
+19620: 23, 62, 0
+19621: 23, 62, 1
+19622: 23, 62, 2
+19623: 23, 62, 3
+19624: 23, 62, 4
+19625: 23, 62, 5
+19626: 23, 62, 6
+19627: 23, 62, 7
+19628: 23, 62, 8
+19629: 23, 62, 9
+19630: 23, 62, 10
+19631: 23, 62, 11
+19632: 23, 62, 12
+19633: 23, 63, 0
+19634: 23, 63, 1
+19635: 23, 63, 2
+19636: 23, 63, 3
+19637: 23, 63, 4
+19638: 23, 63, 5
+19639: 23, 63, 6
+19640: 23, 63, 7
+19641: 23, 63, 8
+19642: 23, 63, 9
+19643: 23, 63, 10
+19644: 23, 63, 11
+19645: 23, 63, 12
+19646: 23, 63, 13
+19647: 23, 63, 14
+19648: 23, 63, 15
+19649: 23, 63, 16
+19650: 23, 63, 17
+19651: 23, 63, 18
+19652: 23, 63, 19
+19653: 23, 64, 0
+19654: 23, 64, 1
+19655: 23, 64, 2
+19656: 23, 64, 3
+19657: 23, 64, 4
+19658: 23, 64, 5
+19659: 23, 64, 6
+19660: 23, 64, 7
+19661: 23, 64, 8
+19662: 23, 64, 9
+19663: 23, 64, 10
+19664: 23, 64, 11
+19665: 23, 64, 12
+19666: 23, 65, 0
+19667: 23, 65, 1
+19668: 23, 65, 2
+19669: 23, 65, 3
+19670: 23, 65, 4
+19671: 23, 65, 5
+19672: 23, 65, 6
+19673: 23, 65, 7
+19674: 23, 65, 8
+19675: 23, 65, 9
+19676: 23, 65, 10
+19677: 23, 65, 11
+19678: 23, 65, 12
+19679: 23, 65, 13
+19680: 23, 65, 14
+19681: 23, 65, 15
+19682: 23, 65, 16
+19683: 23, 65, 17
+19684: 23, 65, 18
+19685: 23, 65, 19
+19686: 23, 65, 20
+19687: 23, 65, 21
+19688: 23, 65, 22
+19689: 23, 65, 23
+19690: 23, 65, 24
+19691: 23, 65, 25
+19692: 23, 66, 0
+19693: 23, 66, 1
+19694: 23, 66, 2
+19695: 23, 66, 3
+19696: 23, 66, 4
+19697: 23, 66, 5
+19698: 23, 66, 6
+19699: 23, 66, 7
+19700: 23, 66, 8
+19701: 23, 66, 9
+19702: 23, 66, 10
+19703: 23, 66, 11
+19704: 23, 66, 12
+19705: 23, 66, 13
+19706: 23, 66, 14
+19707: 23, 66, 15
+19708: 23, 66, 16
+19709: 23, 66, 17
+19710: 23, 66, 18
+19711: 23, 66, 19
+19712: 23, 66, 20
+19713: 23, 66, 21
+19714: 23, 66, 22
+19715: 23, 66, 23
+19716: 23, 66, 24
+19717: 24, 0, 0
+19718: 24, 1, 0
+19719: 24, 1, 1
+19720: 24, 1, 2
+19721: 24, 1, 3
+19722: 24, 1, 4
+19723: 24, 1, 5
+19724: 24, 1, 6
+19725: 24, 1, 7
+19726: 24, 1, 8
+19727: 24, 1, 9
+19728: 24, 1, 10
+19729: 24, 1, 11
+19730: 24, 1, 12
+19731: 24, 1, 13
+19732: 24, 1, 14
+19733: 24, 1, 15
+19734: 24, 1, 16
+19735: 24, 1, 17
+19736: 24, 1, 18
+19737: 24, 1, 19
+19738: 24, 2, 0
+19739: 24, 2, 1
+19740: 24, 2, 2
+19741: 24, 2, 3
+19742: 24, 2, 4
+19743: 24, 2, 5
+19744: 24, 2, 6
+19745: 24, 2, 7
+19746: 24, 2, 8
+19747: 24, 2, 9
+19748: 24, 2, 10
+19749: 24, 2, 11
+19750: 24, 2, 12
+19751: 24, 2, 13
+19752: 24, 2, 14
+19753: 24, 2, 15
+19754: 24, 2, 16
+19755: 24, 2, 17
+19756: 24, 2, 18
+19757: 24, 2, 19
+19758: 24, 2, 20
+19759: 24, 2, 21
+19760: 24, 2, 22
+19761: 24, 2, 23
+19762: 24, 2, 24
+19763: 24, 2, 25
+19764: 24, 2, 26
+19765: 24, 2, 27
+19766: 24, 2, 28
+19767: 24, 2, 29
+19768: 24, 2, 30
+19769: 24, 2, 31
+19770: 24, 2, 32
+19771: 24, 2, 33
+19772: 24, 2, 34
+19773: 24, 2, 35
+19774: 24, 2, 36
+19775: 24, 2, 37
+19776: 24, 3, 0
+19777: 24, 3, 1
+19778: 24, 3, 2
+19779: 24, 3, 3
+19780: 24, 3, 4
+19781: 24, 3, 5
+19782: 24, 3, 6
+19783: 24, 3, 7
+19784: 24, 3, 8
+19785: 24, 3, 9
+19786: 24, 3, 10
+19787: 24, 3, 11
+19788: 24, 3, 12
+19789: 24, 3, 13
+19790: 24, 3, 14
+19791: 24, 3, 15
+19792: 24, 3, 16
+19793: 24, 3, 17
+19794: 24, 3, 18
+19795: 24, 3, 19
+19796: 24, 3, 20
+19797: 24, 3, 21
+19798: 24, 3, 22
+19799: 24, 3, 23
+19800: 24, 3, 24
+19801: 24, 3, 25
+19802: 24, 4, 0
+19803: 24, 4, 1
+19804: 24, 4, 2
+19805: 24, 4, 3
+19806: 24, 4, 4
+19807: 24, 4, 5
+19808: 24, 4, 6
+19809: 24, 4, 7
+19810: 24, 4, 8
+19811: 24, 4, 9
+19812: 24, 4, 10
+19813: 24, 4, 11
+19814: 24, 4, 12
+19815: 24, 4, 13
+19816: 24, 4, 14
+19817: 24, 4, 15
+19818: 24, 4, 16
+19819: 24, 4, 17
+19820: 24, 4, 18
+19821: 24, 4, 19
+19822: 24, 4, 20
+19823: 24, 4, 21
+19824: 24, 4, 22
+19825: 24, 4, 23
+19826: 24, 4, 24
+19827: 24, 4, 25
+19828: 24, 4, 26
+19829: 24, 4, 27
+19830: 24, 4, 28
+19831: 24, 4, 29
+19832: 24, 4, 30
+19833: 24, 4, 31
+19834: 24, 5, 0
+19835: 24, 5, 1
+19836: 24, 5, 2
+19837: 24, 5, 3
+19838: 24, 5, 4
+19839: 24, 5, 5
+19840: 24, 5, 6
+19841: 24, 5, 7
+19842: 24, 5, 8
+19843: 24, 5, 9
+19844: 24, 5, 10
+19845: 24, 5, 11
+19846: 24, 5, 12
+19847: 24, 5, 13
+19848: 24, 5, 14
+19849: 24, 5, 15
+19850: 24, 5, 16
+19851: 24, 5, 17
+19852: 24, 5, 18
+19853: 24, 5, 19
+19854: 24, 5, 20
+19855: 24, 5, 21
+19856: 24, 5, 22
+19857: 24, 5, 23
+19858: 24, 5, 24
+19859: 24, 5, 25
+19860: 24, 5, 26
+19861: 24, 5, 27
+19862: 24, 5, 28
+19863: 24, 5, 29
+19864: 24, 5, 30
+19865: 24, 5, 31
+19866: 24, 6, 0
+19867: 24, 6, 1
+19868: 24, 6, 2
+19869: 24, 6, 3
+19870: 24, 6, 4
+19871: 24, 6, 5
+19872: 24, 6, 6
+19873: 24, 6, 7
+19874: 24, 6, 8
+19875: 24, 6, 9
+19876: 24, 6, 10
+19877: 24, 6, 11
+19878: 24, 6, 12
+19879: 24, 6, 13
+19880: 24, 6, 14
+19881: 24, 6, 15
+19882: 24, 6, 16
+19883: 24, 6, 17
+19884: 24, 6, 18
+19885: 24, 6, 19
+19886: 24, 6, 20
+19887: 24, 6, 21
+19888: 24, 6, 22
+19889: 24, 6, 23
+19890: 24, 6, 24
+19891: 24, 6, 25
+19892: 24, 6, 26
+19893: 24, 6, 27
+19894: 24, 6, 28
+19895: 24, 6, 29
+19896: 24, 6, 30
+19897: 24, 7, 0
+19898: 24, 7, 1
+19899: 24, 7, 2
+19900: 24, 7, 3
+19901: 24, 7, 4
+19902: 24, 7, 5
+19903: 24, 7, 6
+19904: 24, 7, 7
+19905: 24, 7, 8
+19906: 24, 7, 9
+19907: 24, 7, 10
+19908: 24, 7, 11
+19909: 24, 7, 12
+19910: 24, 7, 13
+19911: 24, 7, 14
+19912: 24, 7, 15
+19913: 24, 7, 16
+19914: 24, 7, 17
+19915: 24, 7, 18
+19916: 24, 7, 19
+19917: 24, 7, 20
+19918: 24, 7, 21
+19919: 24, 7, 22
+19920: 24, 7, 23
+19921: 24, 7, 24
+19922: 24, 7, 25
+19923: 24, 7, 26
+19924: 24, 7, 27
+19925: 24, 7, 28
+19926: 24, 7, 29
+19927: 24, 7, 30
+19928: 24, 7, 31
+19929: 24, 7, 32
+19930: 24, 7, 33
+19931: 24, 7, 34
+19932: 24, 8, 0
+19933: 24, 8, 1
+19934: 24, 8, 2
+19935: 24, 8, 3
+19936: 24, 8, 4
+19937: 24, 8, 5
+19938: 24, 8, 6
+19939: 24, 8, 7
+19940: 24, 8, 8
+19941: 24, 8, 9
+19942: 24, 8, 10
+19943: 24, 8, 11
+19944: 24, 8, 12
+19945: 24, 8, 13
+19946: 24, 8, 14
+19947: 24, 8, 15
+19948: 24, 8, 16
+19949: 24, 8, 17
+19950: 24, 8, 18
+19951: 24, 8, 19
+19952: 24, 8, 20
+19953: 24, 8, 21
+19954: 24, 8, 22
+19955: 24, 9, 0
+19956: 24, 9, 1
+19957: 24, 9, 2
+19958: 24, 9, 3
+19959: 24, 9, 4
+19960: 24, 9, 5
+19961: 24, 9, 6
+19962: 24, 9, 7
+19963: 24, 9, 8
+19964: 24, 9, 9
+19965: 24, 9, 10
+19966: 24, 9, 11
+19967: 24, 9, 12
+19968: 24, 9, 13
+19969: 24, 9, 14
+19970: 24, 9, 15
+19971: 24, 9, 16
+19972: 24, 9, 17
+19973: 24, 9, 18
+19974: 24, 9, 19
+19975: 24, 9, 20
+19976: 24, 9, 21
+19977: 24, 9, 22
+19978: 24, 9, 23
+19979: 24, 9, 24
+19980: 24, 9, 25
+19981: 24, 9, 26
+19982: 24, 10, 0
+19983: 24, 10, 1
+19984: 24, 10, 2
+19985: 24, 10, 3
+19986: 24, 10, 4
+19987: 24, 10, 5
+19988: 24, 10, 6
+19989: 24, 10, 7
+19990: 24, 10, 8
+19991: 24, 10, 9
+19992: 24, 10, 10
+19993: 24, 10, 11
+19994: 24, 10, 12
+19995: 24, 10, 13
+19996: 24, 10, 14
+19997: 24, 10, 15
+19998: 24, 10, 16
+19999: 24, 10, 17
+20000: 24, 10, 18
+20001: 24, 10, 19
+20002: 24, 10, 20
+20003: 24, 10, 21
+20004: 24, 10, 22
+20005: 24, 10, 23
+20006: 24, 10, 24
+20007: 24, 10, 25
+20008: 24, 11, 0
+20009: 24, 11, 1
+20010: 24, 11, 2
+20011: 24, 11, 3
+20012: 24, 11, 4
+20013: 24, 11, 5
+20014: 24, 11, 6
+20015: 24, 11, 7
+20016: 24, 11, 8
+20017: 24, 11, 9
+20018: 24, 11, 10
+20019: 24, 11, 11
+20020: 24, 11, 12
+20021: 24, 11, 13
+20022: 24, 11, 14
+20023: 24, 11, 15
+20024: 24, 11, 16
+20025: 24, 11, 17
+20026: 24, 11, 18
+20027: 24, 11, 19
+20028: 24, 11, 20
+20029: 24, 11, 21
+20030: 24, 11, 22
+20031: 24, 11, 23
+20032: 24, 12, 0
+20033: 24, 12, 1
+20034: 24, 12, 2
+20035: 24, 12, 3
+20036: 24, 12, 4
+20037: 24, 12, 5
+20038: 24, 12, 6
+20039: 24, 12, 7
+20040: 24, 12, 8
+20041: 24, 12, 9
+20042: 24, 12, 10
+20043: 24, 12, 11
+20044: 24, 12, 12
+20045: 24, 12, 13
+20046: 24, 12, 14
+20047: 24, 12, 15
+20048: 24, 12, 16
+20049: 24, 12, 17
+20050: 24, 13, 0
+20051: 24, 13, 1
+20052: 24, 13, 2
+20053: 24, 13, 3
+20054: 24, 13, 4
+20055: 24, 13, 5
+20056: 24, 13, 6
+20057: 24, 13, 7
+20058: 24, 13, 8
+20059: 24, 13, 9
+20060: 24, 13, 10
+20061: 24, 13, 11
+20062: 24, 13, 12
+20063: 24, 13, 13
+20064: 24, 13, 14
+20065: 24, 13, 15
+20066: 24, 13, 16
+20067: 24, 13, 17
+20068: 24, 13, 18
+20069: 24, 13, 19
+20070: 24, 13, 20
+20071: 24, 13, 21
+20072: 24, 13, 22
+20073: 24, 13, 23
+20074: 24, 13, 24
+20075: 24, 13, 25
+20076: 24, 13, 26
+20077: 24, 13, 27
+20078: 24, 14, 0
+20079: 24, 14, 1
+20080: 24, 14, 2
+20081: 24, 14, 3
+20082: 24, 14, 4
+20083: 24, 14, 5
+20084: 24, 14, 6
+20085: 24, 14, 7
+20086: 24, 14, 8
+20087: 24, 14, 9
+20088: 24, 14, 10
+20089: 24, 14, 11
+20090: 24, 14, 12
+20091: 24, 14, 13
+20092: 24, 14, 14
+20093: 24, 14, 15
+20094: 24, 14, 16
+20095: 24, 14, 17
+20096: 24, 14, 18
+20097: 24, 14, 19
+20098: 24, 14, 20
+20099: 24, 14, 21
+20100: 24, 14, 22
+20101: 24, 15, 0
+20102: 24, 15, 1
+20103: 24, 15, 2
+20104: 24, 15, 3
+20105: 24, 15, 4
+20106: 24, 15, 5
+20107: 24, 15, 6
+20108: 24, 15, 7
+20109: 24, 15, 8
+20110: 24, 15, 9
+20111: 24, 15, 10
+20112: 24, 15, 11
+20113: 24, 15, 12
+20114: 24, 15, 13
+20115: 24, 15, 14
+20116: 24, 15, 15
+20117: 24, 15, 16
+20118: 24, 15, 17
+20119: 24, 15, 18
+20120: 24, 15, 19
+20121: 24, 15, 20
+20122: 24, 15, 21
+20123: 24, 16, 0
+20124: 24, 16, 1
+20125: 24, 16, 2
+20126: 24, 16, 3
+20127: 24, 16, 4
+20128: 24, 16, 5
+20129: 24, 16, 6
+20130: 24, 16, 7
+20131: 24, 16, 8
+20132: 24, 16, 9
+20133: 24, 16, 10
+20134: 24, 16, 11
+20135: 24, 16, 12
+20136: 24, 16, 13
+20137: 24, 16, 14
+20138: 24, 16, 15
+20139: 24, 16, 16
+20140: 24, 16, 17
+20141: 24, 16, 18
+20142: 24, 16, 19
+20143: 24, 16, 20
+20144: 24, 16, 21
+20145: 24, 17, 0
+20146: 24, 17, 1
+20147: 24, 17, 2
+20148: 24, 17, 3
+20149: 24, 17, 4
+20150: 24, 17, 5
+20151: 24, 17, 6
+20152: 24, 17, 7
+20153: 24, 17, 8
+20154: 24, 17, 9
+20155: 24, 17, 10
+20156: 24, 17, 11
+20157: 24, 17, 12
+20158: 24, 17, 13
+20159: 24, 17, 14
+20160: 24, 17, 15
+20161: 24, 17, 16
+20162: 24, 17, 17
+20163: 24, 17, 18
+20164: 24, 17, 19
+20165: 24, 17, 20
+20166: 24, 17, 21
+20167: 24, 17, 22
+20168: 24, 17, 23
+20169: 24, 17, 24
+20170: 24, 17, 25
+20171: 24, 17, 26
+20172: 24, 17, 27
+20173: 24, 18, 0
+20174: 24, 18, 1
+20175: 24, 18, 2
+20176: 24, 18, 3
+20177: 24, 18, 4
+20178: 24, 18, 5
+20179: 24, 18, 6
+20180: 24, 18, 7
+20181: 24, 18, 8
+20182: 24, 18, 9
+20183: 24, 18, 10
+20184: 24, 18, 11
+20185: 24, 18, 12
+20186: 24, 18, 13
+20187: 24, 18, 14
+20188: 24, 18, 15
+20189: 24, 18, 16
+20190: 24, 18, 17
+20191: 24, 18, 18
+20192: 24, 18, 19
+20193: 24, 18, 20
+20194: 24, 18, 21
+20195: 24, 18, 22
+20196: 24, 18, 23
+20197: 24, 19, 0
+20198: 24, 19, 1
+20199: 24, 19, 2
+20200: 24, 19, 3
+20201: 24, 19, 4
+20202: 24, 19, 5
+20203: 24, 19, 6
+20204: 24, 19, 7
+20205: 24, 19, 8
+20206: 24, 19, 9
+20207: 24, 19, 10
+20208: 24, 19, 11
+20209: 24, 19, 12
+20210: 24, 19, 13
+20211: 24, 19, 14
+20212: 24, 19, 15
+20213: 24, 20, 0
+20214: 24, 20, 1
+20215: 24, 20, 2
+20216: 24, 20, 3
+20217: 24, 20, 4
+20218: 24, 20, 5
+20219: 24, 20, 6
+20220: 24, 20, 7
+20221: 24, 20, 8
+20222: 24, 20, 9
+20223: 24, 20, 10
+20224: 24, 20, 11
+20225: 24, 20, 12
+20226: 24, 20, 13
+20227: 24, 20, 14
+20228: 24, 20, 15
+20229: 24, 20, 16
+20230: 24, 20, 17
+20231: 24, 20, 18
+20232: 24, 21, 0
+20233: 24, 21, 1
+20234: 24, 21, 2
+20235: 24, 21, 3
+20236: 24, 21, 4
+20237: 24, 21, 5
+20238: 24, 21, 6
+20239: 24, 21, 7
+20240: 24, 21, 8
+20241: 24, 21, 9
+20242: 24, 21, 10
+20243: 24, 21, 11
+20244: 24, 21, 12
+20245: 24, 21, 13
+20246: 24, 21, 14
+20247: 24, 22, 0
+20248: 24, 22, 1
+20249: 24, 22, 2
+20250: 24, 22, 3
+20251: 24, 22, 4
+20252: 24, 22, 5
+20253: 24, 22, 6
+20254: 24, 22, 7
+20255: 24, 22, 8
+20256: 24, 22, 9
+20257: 24, 22, 10
+20258: 24, 22, 11
+20259: 24, 22, 12
+20260: 24, 22, 13
+20261: 24, 22, 14
+20262: 24, 22, 15
+20263: 24, 22, 16
+20264: 24, 22, 17
+20265: 24, 22, 18
+20266: 24, 22, 19
+20267: 24, 22, 20
+20268: 24, 22, 21
+20269: 24, 22, 22
+20270: 24, 22, 23
+20271: 24, 22, 24
+20272: 24, 22, 25
+20273: 24, 22, 26
+20274: 24, 22, 27
+20275: 24, 22, 28
+20276: 24, 22, 29
+20277: 24, 22, 30
+20278: 24, 23, 0
+20279: 24, 23, 1
+20280: 24, 23, 2
+20281: 24, 23, 3
+20282: 24, 23, 4
+20283: 24, 23, 5
+20284: 24, 23, 6
+20285: 24, 23, 7
+20286: 24, 23, 8
+20287: 24, 23, 9
+20288: 24, 23, 10
+20289: 24, 23, 11
+20290: 24, 23, 12
+20291: 24, 23, 13
+20292: 24, 23, 14
+20293: 24, 23, 15
+20294: 24, 23, 16
+20295: 24, 23, 17
+20296: 24, 23, 18
+20297: 24, 23, 19
+20298: 24, 23, 20
+20299: 24, 23, 21
+20300: 24, 23, 22
+20301: 24, 23, 23
+20302: 24, 23, 24
+20303: 24, 23, 25
+20304: 24, 23, 26
+20305: 24, 23, 27
+20306: 24, 23, 28
+20307: 24, 23, 29
+20308: 24, 23, 30
+20309: 24, 23, 31
+20310: 24, 23, 32
+20311: 24, 23, 33
+20312: 24, 23, 34
+20313: 24, 23, 35
+20314: 24, 23, 36
+20315: 24, 23, 37
+20316: 24, 23, 38
+20317: 24, 23, 39
+20318: 24, 23, 40
+20319: 24, 24, 0
+20320: 24, 24, 1
+20321: 24, 24, 2
+20322: 24, 24, 3
+20323: 24, 24, 4
+20324: 24, 24, 5
+20325: 24, 24, 6
+20326: 24, 24, 7
+20327: 24, 24, 8
+20328: 24, 24, 9
+20329: 24, 24, 10
+20330: 24, 25, 0
+20331: 24, 25, 1
+20332: 24, 25, 2
+20333: 24, 25, 3
+20334: 24, 25, 4
+20335: 24, 25, 5
+20336: 24, 25, 6
+20337: 24, 25, 7
+20338: 24, 25, 8
+20339: 24, 25, 9
+20340: 24, 25, 10
+20341: 24, 25, 11
+20342: 24, 25, 12
+20343: 24, 25, 13
+20344: 24, 25, 14
+20345: 24, 25, 15
+20346: 24, 25, 16
+20347: 24, 25, 17
+20348: 24, 25, 18
+20349: 24, 25, 19
+20350: 24, 25, 20
+20351: 24, 25, 21
+20352: 24, 25, 22
+20353: 24, 25, 23
+20354: 24, 25, 24
+20355: 24, 25, 25
+20356: 24, 25, 26
+20357: 24, 25, 27
+20358: 24, 25, 28
+20359: 24, 25, 29
+20360: 24, 25, 30
+20361: 24, 25, 31
+20362: 24, 25, 32
+20363: 24, 25, 33
+20364: 24, 25, 34
+20365: 24, 25, 35
+20366: 24, 25, 36
+20367: 24, 25, 37
+20368: 24, 25, 38
+20369: 24, 26, 0
+20370: 24, 26, 1
+20371: 24, 26, 2
+20372: 24, 26, 3
+20373: 24, 26, 4
+20374: 24, 26, 5
+20375: 24, 26, 6
+20376: 24, 26, 7
+20377: 24, 26, 8
+20378: 24, 26, 9
+20379: 24, 26, 10
+20380: 24, 26, 11
+20381: 24, 26, 12
+20382: 24, 26, 13
+20383: 24, 26, 14
+20384: 24, 26, 15
+20385: 24, 26, 16
+20386: 24, 26, 17
+20387: 24, 26, 18
+20388: 24, 26, 19
+20389: 24, 26, 20
+20390: 24, 26, 21
+20391: 24, 26, 22
+20392: 24, 26, 23
+20393: 24, 26, 24
+20394: 24, 27, 0
+20395: 24, 27, 1
+20396: 24, 27, 2
+20397: 24, 27, 3
+20398: 24, 27, 4
+20399: 24, 27, 5
+20400: 24, 27, 6
+20401: 24, 27, 7
+20402: 24, 27, 8
+20403: 24, 27, 9
+20404: 24, 27, 10
+20405: 24, 27, 11
+20406: 24, 27, 12
+20407: 24, 27, 13
+20408: 24, 27, 14
+20409: 24, 27, 15
+20410: 24, 27, 16
+20411: 24, 27, 17
+20412: 24, 27, 18
+20413: 24, 27, 19
+20414: 24, 27, 20
+20415: 24, 27, 21
+20416: 24, 27, 22
+20417: 24, 28, 0
+20418: 24, 28, 1
+20419: 24, 28, 2
+20420: 24, 28, 3
+20421: 24, 28, 4
+20422: 24, 28, 5
+20423: 24, 28, 6
+20424: 24, 28, 7
+20425: 24, 28, 8
+20426: 24, 28, 9
+20427: 24, 28, 10
+20428: 24, 28, 11
+20429: 24, 28, 12
+20430: 24, 28, 13
+20431: 24, 28, 14
+20432: 24, 28, 15
+20433: 24, 28, 16
+20434: 24, 28, 17
+20435: 24, 29, 0
+20436: 24, 29, 1
+20437: 24, 29, 2
+20438: 24, 29, 3
+20439: 24, 29, 4
+20440: 24, 29, 5
+20441: 24, 29, 6
+20442: 24, 29, 7
+20443: 24, 29, 8
+20444: 24, 29, 9
+20445: 24, 29, 10
+20446: 24, 29, 11
+20447: 24, 29, 12
+20448: 24, 29, 13
+20449: 24, 29, 14
+20450: 24, 29, 15
+20451: 24, 29, 16
+20452: 24, 29, 17
+20453: 24, 29, 18
+20454: 24, 29, 19
+20455: 24, 29, 20
+20456: 24, 29, 21
+20457: 24, 29, 22
+20458: 24, 29, 23
+20459: 24, 29, 24
+20460: 24, 29, 25
+20461: 24, 29, 26
+20462: 24, 29, 27
+20463: 24, 29, 28
+20464: 24, 29, 29
+20465: 24, 29, 30
+20466: 24, 29, 31
+20467: 24, 29, 32
+20468: 24, 30, 0
+20469: 24, 30, 1
+20470: 24, 30, 2
+20471: 24, 30, 3
+20472: 24, 30, 4
+20473: 24, 30, 5
+20474: 24, 30, 6
+20475: 24, 30, 7
+20476: 24, 30, 8
+20477: 24, 30, 9
+20478: 24, 30, 10
+20479: 24, 30, 11
+20480: 24, 30, 12
+20481: 24, 30, 13
+20482: 24, 30, 14
+20483: 24, 30, 15
+20484: 24, 30, 16
+20485: 24, 30, 17
+20486: 24, 30, 18
+20487: 24, 30, 19
+20488: 24, 30, 20
+20489: 24, 30, 21
+20490: 24, 30, 22
+20491: 24, 30, 23
+20492: 24, 30, 24
+20493: 24, 31, 0
+20494: 24, 31, 1
+20495: 24, 31, 2
+20496: 24, 31, 3
+20497: 24, 31, 4
+20498: 24, 31, 5
+20499: 24, 31, 6
+20500: 24, 31, 7
+20501: 24, 31, 8
+20502: 24, 31, 9
+20503: 24, 31, 10
+20504: 24, 31, 11
+20505: 24, 31, 12
+20506: 24, 31, 13
+20507: 24, 31, 14
+20508: 24, 31, 15
+20509: 24, 31, 16
+20510: 24, 31, 17
+20511: 24, 31, 18
+20512: 24, 31, 19
+20513: 24, 31, 20
+20514: 24, 31, 21
+20515: 24, 31, 22
+20516: 24, 31, 23
+20517: 24, 31, 24
+20518: 24, 31, 25
+20519: 24, 31, 26
+20520: 24, 31, 27
+20521: 24, 31, 28
+20522: 24, 31, 29
+20523: 24, 31, 30
+20524: 24, 31, 31
+20525: 24, 31, 32
+20526: 24, 31, 33
+20527: 24, 31, 34
+20528: 24, 31, 35
+20529: 24, 31, 36
+20530: 24, 31, 37
+20531: 24, 31, 38
+20532: 24, 31, 39
+20533: 24, 31, 40
+20534: 24, 32, 0
+20535: 24, 32, 1
+20536: 24, 32, 2
+20537: 24, 32, 3
+20538: 24, 32, 4
+20539: 24, 32, 5
+20540: 24, 32, 6
+20541: 24, 32, 7
+20542: 24, 32, 8
+20543: 24, 32, 9
+20544: 24, 32, 10
+20545: 24, 32, 11
+20546: 24, 32, 12
+20547: 24, 32, 13
+20548: 24, 32, 14
+20549: 24, 32, 15
+20550: 24, 32, 16
+20551: 24, 32, 17
+20552: 24, 32, 18
+20553: 24, 32, 19
+20554: 24, 32, 20
+20555: 24, 32, 21
+20556: 24, 32, 22
+20557: 24, 32, 23
+20558: 24, 32, 24
+20559: 24, 32, 25
+20560: 24, 32, 26
+20561: 24, 32, 27
+20562: 24, 32, 28
+20563: 24, 32, 29
+20564: 24, 32, 30
+20565: 24, 32, 31
+20566: 24, 32, 32
+20567: 24, 32, 33
+20568: 24, 32, 34
+20569: 24, 32, 35
+20570: 24, 32, 36
+20571: 24, 32, 37
+20572: 24, 32, 38
+20573: 24, 32, 39
+20574: 24, 32, 40
+20575: 24, 32, 41
+20576: 24, 32, 42
+20577: 24, 32, 43
+20578: 24, 32, 44
+20579: 24, 33, 0
+20580: 24, 33, 1
+20581: 24, 33, 2
+20582: 24, 33, 3
+20583: 24, 33, 4
+20584: 24, 33, 5
+20585: 24, 33, 6
+20586: 24, 33, 7
+20587: 24, 33, 8
+20588: 24, 33, 9
+20589: 24, 33, 10
+20590: 24, 33, 11
+20591: 24, 33, 12
+20592: 24, 33, 13
+20593: 24, 33, 14
+20594: 24, 33, 15
+20595: 24, 33, 16
+20596: 24, 33, 17
+20597: 24, 33, 18
+20598: 24, 33, 19
+20599: 24, 33, 20
+20600: 24, 33, 21
+20601: 24, 33, 22
+20602: 24, 33, 23
+20603: 24, 33, 24
+20604: 24, 33, 25
+20605: 24, 33, 26
+20606: 24, 34, 0
+20607: 24, 34, 1
+20608: 24, 34, 2
+20609: 24, 34, 3
+20610: 24, 34, 4
+20611: 24, 34, 5
+20612: 24, 34, 6
+20613: 24, 34, 7
+20614: 24, 34, 8
+20615: 24, 34, 9
+20616: 24, 34, 10
+20617: 24, 34, 11
+20618: 24, 34, 12
+20619: 24, 34, 13
+20620: 24, 34, 14
+20621: 24, 34, 15
+20622: 24, 34, 16
+20623: 24, 34, 17
+20624: 24, 34, 18
+20625: 24, 34, 19
+20626: 24, 34, 20
+20627: 24, 34, 21
+20628: 24, 34, 22
+20629: 24, 35, 0
+20630: 24, 35, 1
+20631: 24, 35, 2
+20632: 24, 35, 3
+20633: 24, 35, 4
+20634: 24, 35, 5
+20635: 24, 35, 6
+20636: 24, 35, 7
+20637: 24, 35, 8
+20638: 24, 35, 9
+20639: 24, 35, 10
+20640: 24, 35, 11
+20641: 24, 35, 12
+20642: 24, 35, 13
+20643: 24, 35, 14
+20644: 24, 35, 15
+20645: 24, 35, 16
+20646: 24, 35, 17
+20647: 24, 35, 18
+20648: 24, 35, 19
+20649: 24, 36, 0
+20650: 24, 36, 1
+20651: 24, 36, 2
+20652: 24, 36, 3
+20653: 24, 36, 4
+20654: 24, 36, 5
+20655: 24, 36, 6
+20656: 24, 36, 7
+20657: 24, 36, 8
+20658: 24, 36, 9
+20659: 24, 36, 10
+20660: 24, 36, 11
+20661: 24, 36, 12
+20662: 24, 36, 13
+20663: 24, 36, 14
+20664: 24, 36, 15
+20665: 24, 36, 16
+20666: 24, 36, 17
+20667: 24, 36, 18
+20668: 24, 36, 19
+20669: 24, 36, 20
+20670: 24, 36, 21
+20671: 24, 36, 22
+20672: 24, 36, 23
+20673: 24, 36, 24
+20674: 24, 36, 25
+20675: 24, 36, 26
+20676: 24, 36, 27
+20677: 24, 36, 28
+20678: 24, 36, 29
+20679: 24, 36, 30
+20680: 24, 36, 31
+20681: 24, 36, 32
+20682: 24, 37, 0
+20683: 24, 37, 1
+20684: 24, 37, 2
+20685: 24, 37, 3
+20686: 24, 37, 4
+20687: 24, 37, 5
+20688: 24, 37, 6
+20689: 24, 37, 7
+20690: 24, 37, 8
+20691: 24, 37, 9
+20692: 24, 37, 10
+20693: 24, 37, 11
+20694: 24, 37, 12
+20695: 24, 37, 13
+20696: 24, 37, 14
+20697: 24, 37, 15
+20698: 24, 37, 16
+20699: 24, 37, 17
+20700: 24, 37, 18
+20701: 24, 37, 19
+20702: 24, 37, 20
+20703: 24, 37, 21
+20704: 24, 38, 0
+20705: 24, 38, 1
+20706: 24, 38, 2
+20707: 24, 38, 3
+20708: 24, 38, 4
+20709: 24, 38, 5
+20710: 24, 38, 6
+20711: 24, 38, 7
+20712: 24, 38, 8
+20713: 24, 38, 9
+20714: 24, 38, 10
+20715: 24, 38, 11
+20716: 24, 38, 12
+20717: 24, 38, 13
+20718: 24, 38, 14
+20719: 24, 38, 15
+20720: 24, 38, 16
+20721: 24, 38, 17
+20722: 24, 38, 18
+20723: 24, 38, 19
+20724: 24, 38, 20
+20725: 24, 38, 21
+20726: 24, 38, 22
+20727: 24, 38, 23
+20728: 24, 38, 24
+20729: 24, 38, 25
+20730: 24, 38, 26
+20731: 24, 38, 27
+20732: 24, 38, 28
+20733: 24, 39, 0
+20734: 24, 39, 1
+20735: 24, 39, 2
+20736: 24, 39, 3
+20737: 24, 39, 4
+20738: 24, 39, 5
+20739: 24, 39, 6
+20740: 24, 39, 7
+20741: 24, 39, 8
+20742: 24, 39, 9
+20743: 24, 39, 10
+20744: 24, 39, 11
+20745: 24, 39, 12
+20746: 24, 39, 13
+20747: 24, 39, 14
+20748: 24, 39, 15
+20749: 24, 39, 16
+20750: 24, 39, 17
+20751: 24, 39, 18
+20752: 24, 40, 0
+20753: 24, 40, 1
+20754: 24, 40, 2
+20755: 24, 40, 3
+20756: 24, 40, 4
+20757: 24, 40, 5
+20758: 24, 40, 6
+20759: 24, 40, 7
+20760: 24, 40, 8
+20761: 24, 40, 9
+20762: 24, 40, 10
+20763: 24, 40, 11
+20764: 24, 40, 12
+20765: 24, 40, 13
+20766: 24, 40, 14
+20767: 24, 40, 15
+20768: 24, 40, 16
+20769: 24, 41, 0
+20770: 24, 41, 1
+20771: 24, 41, 2
+20772: 24, 41, 3
+20773: 24, 41, 4
+20774: 24, 41, 5
+20775: 24, 41, 6
+20776: 24, 41, 7
+20777: 24, 41, 8
+20778: 24, 41, 9
+20779: 24, 41, 10
+20780: 24, 41, 11
+20781: 24, 41, 12
+20782: 24, 41, 13
+20783: 24, 41, 14
+20784: 24, 41, 15
+20785: 24, 41, 16
+20786: 24, 41, 17
+20787: 24, 41, 18
+20788: 24, 42, 0
+20789: 24, 42, 1
+20790: 24, 42, 2
+20791: 24, 42, 3
+20792: 24, 42, 4
+20793: 24, 42, 5
+20794: 24, 42, 6
+20795: 24, 42, 7
+20796: 24, 42, 8
+20797: 24, 42, 9
+20798: 24, 42, 10
+20799: 24, 42, 11
+20800: 24, 42, 12
+20801: 24, 42, 13
+20802: 24, 42, 14
+20803: 24, 42, 15
+20804: 24, 42, 16
+20805: 24, 42, 17
+20806: 24, 42, 18
+20807: 24, 42, 19
+20808: 24, 42, 20
+20809: 24, 42, 21
+20810: 24, 42, 22
+20811: 24, 43, 0
+20812: 24, 43, 1
+20813: 24, 43, 2
+20814: 24, 43, 3
+20815: 24, 43, 4
+20816: 24, 43, 5
+20817: 24, 43, 6
+20818: 24, 43, 7
+20819: 24, 43, 8
+20820: 24, 43, 9
+20821: 24, 43, 10
+20822: 24, 43, 11
+20823: 24, 43, 12
+20824: 24, 43, 13
+20825: 24, 44, 0
+20826: 24, 44, 1
+20827: 24, 44, 2
+20828: 24, 44, 3
+20829: 24, 44, 4
+20830: 24, 44, 5
+20831: 24, 44, 6
+20832: 24, 44, 7
+20833: 24, 44, 8
+20834: 24, 44, 9
+20835: 24, 44, 10
+20836: 24, 44, 11
+20837: 24, 44, 12
+20838: 24, 44, 13
+20839: 24, 44, 14
+20840: 24, 44, 15
+20841: 24, 44, 16
+20842: 24, 44, 17
+20843: 24, 44, 18
+20844: 24, 44, 19
+20845: 24, 44, 20
+20846: 24, 44, 21
+20847: 24, 44, 22
+20848: 24, 44, 23
+20849: 24, 44, 24
+20850: 24, 44, 25
+20851: 24, 44, 26
+20852: 24, 44, 27
+20853: 24, 44, 28
+20854: 24, 44, 29
+20855: 24, 44, 30
+20856: 24, 45, 0
+20857: 24, 45, 1
+20858: 24, 45, 2
+20859: 24, 45, 3
+20860: 24, 45, 4
+20861: 24, 45, 5
+20862: 24, 46, 0
+20863: 24, 46, 1
+20864: 24, 46, 2
+20865: 24, 46, 3
+20866: 24, 46, 4
+20867: 24, 46, 5
+20868: 24, 46, 6
+20869: 24, 46, 7
+20870: 24, 46, 8
+20871: 24, 46, 9
+20872: 24, 46, 10
+20873: 24, 46, 11
+20874: 24, 46, 12
+20875: 24, 46, 13
+20876: 24, 46, 14
+20877: 24, 46, 15
+20878: 24, 46, 16
+20879: 24, 46, 17
+20880: 24, 46, 18
+20881: 24, 46, 19
+20882: 24, 46, 20
+20883: 24, 46, 21
+20884: 24, 46, 22
+20885: 24, 46, 23
+20886: 24, 46, 24
+20887: 24, 46, 25
+20888: 24, 46, 26
+20889: 24, 46, 27
+20890: 24, 46, 28
+20891: 24, 47, 0
+20892: 24, 47, 1
+20893: 24, 47, 2
+20894: 24, 47, 3
+20895: 24, 47, 4
+20896: 24, 47, 5
+20897: 24, 47, 6
+20898: 24, 47, 7
+20899: 24, 48, 0
+20900: 24, 48, 1
+20901: 24, 48, 2
+20902: 24, 48, 3
+20903: 24, 48, 4
+20904: 24, 48, 5
+20905: 24, 48, 6
+20906: 24, 48, 7
+20907: 24, 48, 8
+20908: 24, 48, 9
+20909: 24, 48, 10
+20910: 24, 48, 11
+20911: 24, 48, 12
+20912: 24, 48, 13
+20913: 24, 48, 14
+20914: 24, 48, 15
+20915: 24, 48, 16
+20916: 24, 48, 17
+20917: 24, 48, 18
+20918: 24, 48, 19
+20919: 24, 48, 20
+20920: 24, 48, 21
+20921: 24, 48, 22
+20922: 24, 48, 23
+20923: 24, 48, 24
+20924: 24, 48, 25
+20925: 24, 48, 26
+20926: 24, 48, 27
+20927: 24, 48, 28
+20928: 24, 48, 29
+20929: 24, 48, 30
+20930: 24, 48, 31
+20931: 24, 48, 32
+20932: 24, 48, 33
+20933: 24, 48, 34
+20934: 24, 48, 35
+20935: 24, 48, 36
+20936: 24, 48, 37
+20937: 24, 48, 38
+20938: 24, 48, 39
+20939: 24, 48, 40
+20940: 24, 48, 41
+20941: 24, 48, 42
+20942: 24, 48, 43
+20943: 24, 48, 44
+20944: 24, 48, 45
+20945: 24, 48, 46
+20946: 24, 48, 47
+20947: 24, 49, 0
+20948: 24, 49, 1
+20949: 24, 49, 2
+20950: 24, 49, 3
+20951: 24, 49, 4
+20952: 24, 49, 5
+20953: 24, 49, 6
+20954: 24, 49, 7
+20955: 24, 49, 8
+20956: 24, 49, 9
+20957: 24, 49, 10
+20958: 24, 49, 11
+20959: 24, 49, 12
+20960: 24, 49, 13
+20961: 24, 49, 14
+20962: 24, 49, 15
+20963: 24, 49, 16
+20964: 24, 49, 17
+20965: 24, 49, 18
+20966: 24, 49, 19
+20967: 24, 49, 20
+20968: 24, 49, 21
+20969: 24, 49, 22
+20970: 24, 49, 23
+20971: 24, 49, 24
+20972: 24, 49, 25
+20973: 24, 49, 26
+20974: 24, 49, 27
+20975: 24, 49, 28
+20976: 24, 49, 29
+20977: 24, 49, 30
+20978: 24, 49, 31
+20979: 24, 49, 32
+20980: 24, 49, 33
+20981: 24, 49, 34
+20982: 24, 49, 35
+20983: 24, 49, 36
+20984: 24, 49, 37
+20985: 24, 49, 38
+20986: 24, 49, 39
+20987: 24, 50, 0
+20988: 24, 50, 1
+20989: 24, 50, 2
+20990: 24, 50, 3
+20991: 24, 50, 4
+20992: 24, 50, 5
+20993: 24, 50, 6
+20994: 24, 50, 7
+20995: 24, 50, 8
+20996: 24, 50, 9
+20997: 24, 50, 10
+20998: 24, 50, 11
+20999: 24, 50, 12
+21000: 24, 50, 13
+21001: 24, 50, 14
+21002: 24, 50, 15
+21003: 24, 50, 16
+21004: 24, 50, 17
+21005: 24, 50, 18
+21006: 24, 50, 19
+21007: 24, 50, 20
+21008: 24, 50, 21
+21009: 24, 50, 22
+21010: 24, 50, 23
+21011: 24, 50, 24
+21012: 24, 50, 25
+21013: 24, 50, 26
+21014: 24, 50, 27
+21015: 24, 50, 28
+21016: 24, 50, 29
+21017: 24, 50, 30
+21018: 24, 50, 31
+21019: 24, 50, 32
+21020: 24, 50, 33
+21021: 24, 50, 34
+21022: 24, 50, 35
+21023: 24, 50, 36
+21024: 24, 50, 37
+21025: 24, 50, 38
+21026: 24, 50, 39
+21027: 24, 50, 40
+21028: 24, 50, 41
+21029: 24, 50, 42
+21030: 24, 50, 43
+21031: 24, 50, 44
+21032: 24, 50, 45
+21033: 24, 50, 46
+21034: 24, 51, 0
+21035: 24, 51, 1
+21036: 24, 51, 2
+21037: 24, 51, 3
+21038: 24, 51, 4
+21039: 24, 51, 5
+21040: 24, 51, 6
+21041: 24, 51, 7
+21042: 24, 51, 8
+21043: 24, 51, 9
+21044: 24, 51, 10
+21045: 24, 51, 11
+21046: 24, 51, 12
+21047: 24, 51, 13
+21048: 24, 51, 14
+21049: 24, 51, 15
+21050: 24, 51, 16
+21051: 24, 51, 17
+21052: 24, 51, 18
+21053: 24, 51, 19
+21054: 24, 51, 20
+21055: 24, 51, 21
+21056: 24, 51, 22
+21057: 24, 51, 23
+21058: 24, 51, 24
+21059: 24, 51, 25
+21060: 24, 51, 26
+21061: 24, 51, 27
+21062: 24, 51, 28
+21063: 24, 51, 29
+21064: 24, 51, 30
+21065: 24, 51, 31
+21066: 24, 51, 32
+21067: 24, 51, 33
+21068: 24, 51, 34
+21069: 24, 51, 35
+21070: 24, 51, 36
+21071: 24, 51, 37
+21072: 24, 51, 38
+21073: 24, 51, 39
+21074: 24, 51, 40
+21075: 24, 51, 41
+21076: 24, 51, 42
+21077: 24, 51, 43
+21078: 24, 51, 44
+21079: 24, 51, 45
+21080: 24, 51, 46
+21081: 24, 51, 47
+21082: 24, 51, 48
+21083: 24, 51, 49
+21084: 24, 51, 50
+21085: 24, 51, 51
+21086: 24, 51, 52
+21087: 24, 51, 53
+21088: 24, 51, 54
+21089: 24, 51, 55
+21090: 24, 51, 56
+21091: 24, 51, 57
+21092: 24, 51, 58
+21093: 24, 51, 59
+21094: 24, 51, 60
+21095: 24, 51, 61
+21096: 24, 51, 62
+21097: 24, 51, 63
+21098: 24, 51, 64
+21099: 24, 52, 0
+21100: 24, 52, 1
+21101: 24, 52, 2
+21102: 24, 52, 3
+21103: 24, 52, 4
+21104: 24, 52, 5
+21105: 24, 52, 6
+21106: 24, 52, 7
+21107: 24, 52, 8
+21108: 24, 52, 9
+21109: 24, 52, 10
+21110: 24, 52, 11
+21111: 24, 52, 12
+21112: 24, 52, 13
+21113: 24, 52, 14
+21114: 24, 52, 15
+21115: 24, 52, 16
+21116: 24, 52, 17
+21117: 24, 52, 18
+21118: 24, 52, 19
+21119: 24, 52, 20
+21120: 24, 52, 21
+21121: 24, 52, 22
+21122: 24, 52, 23
+21123: 24, 52, 24
+21124: 24, 52, 25
+21125: 24, 52, 26
+21126: 24, 52, 27
+21127: 24, 52, 28
+21128: 24, 52, 29
+21129: 24, 52, 30
+21130: 24, 52, 31
+21131: 24, 52, 32
+21132: 24, 52, 33
+21133: 24, 52, 34
+21134: 25, 0, 0
+21135: 25, 1, 0
+21136: 25, 1, 1
+21137: 25, 1, 2
+21138: 25, 1, 3
+21139: 25, 1, 4
+21140: 25, 1, 5
+21141: 25, 1, 6
+21142: 25, 1, 7
+21143: 25, 1, 8
+21144: 25, 1, 9
+21145: 25, 1, 10
+21146: 25, 1, 11
+21147: 25, 1, 12
+21148: 25, 1, 13
+21149: 25, 1, 14
+21150: 25, 1, 15
+21151: 25, 1, 16
+21152: 25, 1, 17
+21153: 25, 1, 18
+21154: 25, 1, 19
+21155: 25, 1, 20
+21156: 25, 1, 21
+21157: 25, 1, 22
+21158: 25, 2, 0
+21159: 25, 2, 1
+21160: 25, 2, 2
+21161: 25, 2, 3
+21162: 25, 2, 4
+21163: 25, 2, 5
+21164: 25, 2, 6
+21165: 25, 2, 7
+21166: 25, 2, 8
+21167: 25, 2, 9
+21168: 25, 2, 10
+21169: 25, 2, 11
+21170: 25, 2, 12
+21171: 25, 2, 13
+21172: 25, 2, 14
+21173: 25, 2, 15
+21174: 25, 2, 16
+21175: 25, 2, 17
+21176: 25, 2, 18
+21177: 25, 2, 19
+21178: 25, 2, 20
+21179: 25, 2, 21
+21180: 25, 2, 22
+21181: 25, 3, 0
+21182: 25, 3, 1
+21183: 25, 3, 2
+21184: 25, 3, 3
+21185: 25, 3, 4
+21186: 25, 3, 5
+21187: 25, 3, 6
+21188: 25, 3, 7
+21189: 25, 3, 8
+21190: 25, 3, 9
+21191: 25, 3, 10
+21192: 25, 3, 11
+21193: 25, 3, 12
+21194: 25, 3, 13
+21195: 25, 3, 14
+21196: 25, 3, 15
+21197: 25, 3, 16
+21198: 25, 3, 17
+21199: 25, 3, 18
+21200: 25, 3, 19
+21201: 25, 3, 20
+21202: 25, 3, 21
+21203: 25, 3, 22
+21204: 25, 3, 23
+21205: 25, 3, 24
+21206: 25, 3, 25
+21207: 25, 3, 26
+21208: 25, 3, 27
+21209: 25, 3, 28
+21210: 25, 3, 29
+21211: 25, 3, 30
+21212: 25, 3, 31
+21213: 25, 3, 32
+21214: 25, 3, 33
+21215: 25, 3, 34
+21216: 25, 3, 35
+21217: 25, 3, 36
+21218: 25, 3, 37
+21219: 25, 3, 38
+21220: 25, 3, 39
+21221: 25, 3, 40
+21222: 25, 3, 41
+21223: 25, 3, 42
+21224: 25, 3, 43
+21225: 25, 3, 44
+21226: 25, 3, 45
+21227: 25, 3, 46
+21228: 25, 3, 47
+21229: 25, 3, 48
+21230: 25, 3, 49
+21231: 25, 3, 50
+21232: 25, 3, 51
+21233: 25, 3, 52
+21234: 25, 3, 53
+21235: 25, 3, 54
+21236: 25, 3, 55
+21237: 25, 3, 56
+21238: 25, 3, 57
+21239: 25, 3, 58
+21240: 25, 3, 59
+21241: 25, 3, 60
+21242: 25, 3, 61
+21243: 25, 3, 62
+21244: 25, 3, 63
+21245: 25, 3, 64
+21246: 25, 3, 65
+21247: 25, 3, 66
+21248: 25, 4, 0
+21249: 25, 4, 1
+21250: 25, 4, 2
+21251: 25, 4, 3
+21252: 25, 4, 4
+21253: 25, 4, 5
+21254: 25, 4, 6
+21255: 25, 4, 7
+21256: 25, 4, 8
+21257: 25, 4, 9
+21258: 25, 4, 10
+21259: 25, 4, 11
+21260: 25, 4, 12
+21261: 25, 4, 13
+21262: 25, 4, 14
+21263: 25, 4, 15
+21264: 25, 4, 16
+21265: 25, 4, 17
+21266: 25, 4, 18
+21267: 25, 4, 19
+21268: 25, 4, 20
+21269: 25, 4, 21
+21270: 25, 4, 22
+21271: 25, 5, 0
+21272: 25, 5, 1
+21273: 25, 5, 2
+21274: 25, 5, 3
+21275: 25, 5, 4
+21276: 25, 5, 5
+21277: 25, 5, 6
+21278: 25, 5, 7
+21279: 25, 5, 8
+21280: 25, 5, 9
+21281: 25, 5, 10
+21282: 25, 5, 11
+21283: 25, 5, 12
+21284: 25, 5, 13
+21285: 25, 5, 14
+21286: 25, 5, 15
+21287: 25, 5, 16
+21288: 25, 5, 17
+21289: 25, 5, 18
+21290: 25, 5, 19
+21291: 25, 5, 20
+21292: 25, 5, 21
+21293: 25, 5, 22
+21294: 26, 0, 0
+21295: 26, 1, 0
+21296: 26, 1, 1
+21297: 26, 1, 2
+21298: 26, 1, 3
+21299: 26, 1, 4
+21300: 26, 1, 5
+21301: 26, 1, 6
+21302: 26, 1, 7
+21303: 26, 1, 8
+21304: 26, 1, 9
+21305: 26, 1, 10
+21306: 26, 1, 11
+21307: 26, 1, 12
+21308: 26, 1, 13
+21309: 26, 1, 14
+21310: 26, 1, 15
+21311: 26, 1, 16
+21312: 26, 1, 17
+21313: 26, 1, 18
+21314: 26, 1, 19
+21315: 26, 1, 20
+21316: 26, 1, 21
+21317: 26, 1, 22
+21318: 26, 1, 23
+21319: 26, 1, 24
+21320: 26, 1, 25
+21321: 26, 1, 26
+21322: 26, 1, 27
+21323: 26, 1, 28
+21324: 26, 2, 0
+21325: 26, 2, 1
+21326: 26, 2, 2
+21327: 26, 2, 3
+21328: 26, 2, 4
+21329: 26, 2, 5
+21330: 26, 2, 6
+21331: 26, 2, 7
+21332: 26, 2, 8
+21333: 26, 2, 9
+21334: 26, 2, 10
+21335: 26, 3, 0
+21336: 26, 3, 1
+21337: 26, 3, 2
+21338: 26, 3, 3
+21339: 26, 3, 4
+21340: 26, 3, 5
+21341: 26, 3, 6
+21342: 26, 3, 7
+21343: 26, 3, 8
+21344: 26, 3, 9
+21345: 26, 3, 10
+21346: 26, 3, 11
+21347: 26, 3, 12
+21348: 26, 3, 13
+21349: 26, 3, 14
+21350: 26, 3, 15
+21351: 26, 3, 16
+21352: 26, 3, 17
+21353: 26, 3, 18
+21354: 26, 3, 19
+21355: 26, 3, 20
+21356: 26, 3, 21
+21357: 26, 3, 22
+21358: 26, 3, 23
+21359: 26, 3, 24
+21360: 26, 3, 25
+21361: 26, 3, 26
+21362: 26, 3, 27
+21363: 26, 4, 0
+21364: 26, 4, 1
+21365: 26, 4, 2
+21366: 26, 4, 3
+21367: 26, 4, 4
+21368: 26, 4, 5
+21369: 26, 4, 6
+21370: 26, 4, 7
+21371: 26, 4, 8
+21372: 26, 4, 9
+21373: 26, 4, 10
+21374: 26, 4, 11
+21375: 26, 4, 12
+21376: 26, 4, 13
+21377: 26, 4, 14
+21378: 26, 4, 15
+21379: 26, 4, 16
+21380: 26, 4, 17
+21381: 26, 5, 0
+21382: 26, 5, 1
+21383: 26, 5, 2
+21384: 26, 5, 3
+21385: 26, 5, 4
+21386: 26, 5, 5
+21387: 26, 5, 6
+21388: 26, 5, 7
+21389: 26, 5, 8
+21390: 26, 5, 9
+21391: 26, 5, 10
+21392: 26, 5, 11
+21393: 26, 5, 12
+21394: 26, 5, 13
+21395: 26, 5, 14
+21396: 26, 5, 15
+21397: 26, 5, 16
+21398: 26, 5, 17
+21399: 26, 6, 0
+21400: 26, 6, 1
+21401: 26, 6, 2
+21402: 26, 6, 3
+21403: 26, 6, 4
+21404: 26, 6, 5
+21405: 26, 6, 6
+21406: 26, 6, 7
+21407: 26, 6, 8
+21408: 26, 6, 9
+21409: 26, 6, 10
+21410: 26, 6, 11
+21411: 26, 6, 12
+21412: 26, 6, 13
+21413: 26, 6, 14
+21414: 26, 7, 0
+21415: 26, 7, 1
+21416: 26, 7, 2
+21417: 26, 7, 3
+21418: 26, 7, 4
+21419: 26, 7, 5
+21420: 26, 7, 6
+21421: 26, 7, 7
+21422: 26, 7, 8
+21423: 26, 7, 9
+21424: 26, 7, 10
+21425: 26, 7, 11
+21426: 26, 7, 12
+21427: 26, 7, 13
+21428: 26, 7, 14
+21429: 26, 7, 15
+21430: 26, 7, 16
+21431: 26, 7, 17
+21432: 26, 7, 18
+21433: 26, 7, 19
+21434: 26, 7, 20
+21435: 26, 7, 21
+21436: 26, 7, 22
+21437: 26, 7, 23
+21438: 26, 7, 24
+21439: 26, 7, 25
+21440: 26, 7, 26
+21441: 26, 7, 27
+21442: 26, 8, 0
+21443: 26, 8, 1
+21444: 26, 8, 2
+21445: 26, 8, 3
+21446: 26, 8, 4
+21447: 26, 8, 5
+21448: 26, 8, 6
+21449: 26, 8, 7
+21450: 26, 8, 8
+21451: 26, 8, 9
+21452: 26, 8, 10
+21453: 26, 8, 11
+21454: 26, 8, 12
+21455: 26, 8, 13
+21456: 26, 8, 14
+21457: 26, 8, 15
+21458: 26, 8, 16
+21459: 26, 8, 17
+21460: 26, 8, 18
+21461: 26, 9, 0
+21462: 26, 9, 1
+21463: 26, 9, 2
+21464: 26, 9, 3
+21465: 26, 9, 4
+21466: 26, 9, 5
+21467: 26, 9, 6
+21468: 26, 9, 7
+21469: 26, 9, 8
+21470: 26, 9, 9
+21471: 26, 9, 10
+21472: 26, 9, 11
+21473: 26, 10, 0
+21474: 26, 10, 1
+21475: 26, 10, 2
+21476: 26, 10, 3
+21477: 26, 10, 4
+21478: 26, 10, 5
+21479: 26, 10, 6
+21480: 26, 10, 7
+21481: 26, 10, 8
+21482: 26, 10, 9
+21483: 26, 10, 10
+21484: 26, 10, 11
+21485: 26, 10, 12
+21486: 26, 10, 13
+21487: 26, 10, 14
+21488: 26, 10, 15
+21489: 26, 10, 16
+21490: 26, 10, 17
+21491: 26, 10, 18
+21492: 26, 10, 19
+21493: 26, 10, 20
+21494: 26, 10, 21
+21495: 26, 10, 22
+21496: 26, 11, 0
+21497: 26, 11, 1
+21498: 26, 11, 2
+21499: 26, 11, 3
+21500: 26, 11, 4
+21501: 26, 11, 5
+21502: 26, 11, 6
+21503: 26, 11, 7
+21504: 26, 11, 8
+21505: 26, 11, 9
+21506: 26, 11, 10
+21507: 26, 11, 11
+21508: 26, 11, 12
+21509: 26, 11, 13
+21510: 26, 11, 14
+21511: 26, 11, 15
+21512: 26, 11, 16
+21513: 26, 11, 17
+21514: 26, 11, 18
+21515: 26, 11, 19
+21516: 26, 11, 20
+21517: 26, 11, 21
+21518: 26, 11, 22
+21519: 26, 11, 23
+21520: 26, 11, 24
+21521: 26, 11, 25
+21522: 26, 12, 0
+21523: 26, 12, 1
+21524: 26, 12, 2
+21525: 26, 12, 3
+21526: 26, 12, 4
+21527: 26, 12, 5
+21528: 26, 12, 6
+21529: 26, 12, 7
+21530: 26, 12, 8
+21531: 26, 12, 9
+21532: 26, 12, 10
+21533: 26, 12, 11
+21534: 26, 12, 12
+21535: 26, 12, 13
+21536: 26, 12, 14
+21537: 26, 12, 15
+21538: 26, 12, 16
+21539: 26, 12, 17
+21540: 26, 12, 18
+21541: 26, 12, 19
+21542: 26, 12, 20
+21543: 26, 12, 21
+21544: 26, 12, 22
+21545: 26, 12, 23
+21546: 26, 12, 24
+21547: 26, 12, 25
+21548: 26, 12, 26
+21549: 26, 12, 27
+21550: 26, 12, 28
+21551: 26, 13, 0
+21552: 26, 13, 1
+21553: 26, 13, 2
+21554: 26, 13, 3
+21555: 26, 13, 4
+21556: 26, 13, 5
+21557: 26, 13, 6
+21558: 26, 13, 7
+21559: 26, 13, 8
+21560: 26, 13, 9
+21561: 26, 13, 10
+21562: 26, 13, 11
+21563: 26, 13, 12
+21564: 26, 13, 13
+21565: 26, 13, 14
+21566: 26, 13, 15
+21567: 26, 13, 16
+21568: 26, 13, 17
+21569: 26, 13, 18
+21570: 26, 13, 19
+21571: 26, 13, 20
+21572: 26, 13, 21
+21573: 26, 13, 22
+21574: 26, 13, 23
+21575: 26, 14, 0
+21576: 26, 14, 1
+21577: 26, 14, 2
+21578: 26, 14, 3
+21579: 26, 14, 4
+21580: 26, 14, 5
+21581: 26, 14, 6
+21582: 26, 14, 7
+21583: 26, 14, 8
+21584: 26, 14, 9
+21585: 26, 14, 10
+21586: 26, 14, 11
+21587: 26, 14, 12
+21588: 26, 14, 13
+21589: 26, 14, 14
+21590: 26, 14, 15
+21591: 26, 14, 16
+21592: 26, 14, 17
+21593: 26, 14, 18
+21594: 26, 14, 19
+21595: 26, 14, 20
+21596: 26, 14, 21
+21597: 26, 14, 22
+21598: 26, 14, 23
+21599: 26, 15, 0
+21600: 26, 15, 1
+21601: 26, 15, 2
+21602: 26, 15, 3
+21603: 26, 15, 4
+21604: 26, 15, 5
+21605: 26, 15, 6
+21606: 26, 15, 7
+21607: 26, 15, 8
+21608: 26, 16, 0
+21609: 26, 16, 1
+21610: 26, 16, 2
+21611: 26, 16, 3
+21612: 26, 16, 4
+21613: 26, 16, 5
+21614: 26, 16, 6
+21615: 26, 16, 7
+21616: 26, 16, 8
+21617: 26, 16, 9
+21618: 26, 16, 10
+21619: 26, 16, 11
+21620: 26, 16, 12
+21621: 26, 16, 13
+21622: 26, 16, 14
+21623: 26, 16, 15
+21624: 26, 16, 16
+21625: 26, 16, 17
+21626: 26, 16, 18
+21627: 26, 16, 19
+21628: 26, 16, 20
+21629: 26, 16, 21
+21630: 26, 16, 22
+21631: 26, 16, 23
+21632: 26, 16, 24
+21633: 26, 16, 25
+21634: 26, 16, 26
+21635: 26, 16, 27
+21636: 26, 16, 28
+21637: 26, 16, 29
+21638: 26, 16, 30
+21639: 26, 16, 31
+21640: 26, 16, 32
+21641: 26, 16, 33
+21642: 26, 16, 34
+21643: 26, 16, 35
+21644: 26, 16, 36
+21645: 26, 16, 37
+21646: 26, 16, 38
+21647: 26, 16, 39
+21648: 26, 16, 40
+21649: 26, 16, 41
+21650: 26, 16, 42
+21651: 26, 16, 43
+21652: 26, 16, 44
+21653: 26, 16, 45
+21654: 26, 16, 46
+21655: 26, 16, 47
+21656: 26, 16, 48
+21657: 26, 16, 49
+21658: 26, 16, 50
+21659: 26, 16, 51
+21660: 26, 16, 52
+21661: 26, 16, 53
+21662: 26, 16, 54
+21663: 26, 16, 55
+21664: 26, 16, 56
+21665: 26, 16, 57
+21666: 26, 16, 58
+21667: 26, 16, 59
+21668: 26, 16, 60
+21669: 26, 16, 61
+21670: 26, 16, 62
+21671: 26, 16, 63
+21672: 26, 17, 0
+21673: 26, 17, 1
+21674: 26, 17, 2
+21675: 26, 17, 3
+21676: 26, 17, 4
+21677: 26, 17, 5
+21678: 26, 17, 6
+21679: 26, 17, 7
+21680: 26, 17, 8
+21681: 26, 17, 9
+21682: 26, 17, 10
+21683: 26, 17, 11
+21684: 26, 17, 12
+21685: 26, 17, 13
+21686: 26, 17, 14
+21687: 26, 17, 15
+21688: 26, 17, 16
+21689: 26, 17, 17
+21690: 26, 17, 18
+21691: 26, 17, 19
+21692: 26, 17, 20
+21693: 26, 17, 21
+21694: 26, 17, 22
+21695: 26, 17, 23
+21696: 26, 17, 24
+21697: 26, 18, 0
+21698: 26, 18, 1
+21699: 26, 18, 2
+21700: 26, 18, 3
+21701: 26, 18, 4
+21702: 26, 18, 5
+21703: 26, 18, 6
+21704: 26, 18, 7
+21705: 26, 18, 8
+21706: 26, 18, 9
+21707: 26, 18, 10
+21708: 26, 18, 11
+21709: 26, 18, 12
+21710: 26, 18, 13
+21711: 26, 18, 14
+21712: 26, 18, 15
+21713: 26, 18, 16
+21714: 26, 18, 17
+21715: 26, 18, 18
+21716: 26, 18, 19
+21717: 26, 18, 20
+21718: 26, 18, 21
+21719: 26, 18, 22
+21720: 26, 18, 23
+21721: 26, 18, 24
+21722: 26, 18, 25
+21723: 26, 18, 26
+21724: 26, 18, 27
+21725: 26, 18, 28
+21726: 26, 18, 29
+21727: 26, 18, 30
+21728: 26, 18, 31
+21729: 26, 18, 32
+21730: 26, 19, 0
+21731: 26, 19, 1
+21732: 26, 19, 2
+21733: 26, 19, 3
+21734: 26, 19, 4
+21735: 26, 19, 5
+21736: 26, 19, 6
+21737: 26, 19, 7
+21738: 26, 19, 8
+21739: 26, 19, 9
+21740: 26, 19, 10
+21741: 26, 19, 11
+21742: 26, 19, 12
+21743: 26, 19, 13
+21744: 26, 19, 14
+21745: 26, 20, 0
+21746: 26, 20, 1
+21747: 26, 20, 2
+21748: 26, 20, 3
+21749: 26, 20, 4
+21750: 26, 20, 5
+21751: 26, 20, 6
+21752: 26, 20, 7
+21753: 26, 20, 8
+21754: 26, 20, 9
+21755: 26, 20, 10
+21756: 26, 20, 11
+21757: 26, 20, 12
+21758: 26, 20, 13
+21759: 26, 20, 14
+21760: 26, 20, 15
+21761: 26, 20, 16
+21762: 26, 20, 17
+21763: 26, 20, 18
+21764: 26, 20, 19
+21765: 26, 20, 20
+21766: 26, 20, 21
+21767: 26, 20, 22
+21768: 26, 20, 23
+21769: 26, 20, 24
+21770: 26, 20, 25
+21771: 26, 20, 26
+21772: 26, 20, 27
+21773: 26, 20, 28
+21774: 26, 20, 29
+21775: 26, 20, 30
+21776: 26, 20, 31
+21777: 26, 20, 32
+21778: 26, 20, 33
+21779: 26, 20, 34
+21780: 26, 20, 35
+21781: 26, 20, 36
+21782: 26, 20, 37
+21783: 26, 20, 38
+21784: 26, 20, 39
+21785: 26, 20, 40
+21786: 26, 20, 41
+21787: 26, 20, 42
+21788: 26, 20, 43
+21789: 26, 20, 44
+21790: 26, 20, 45
+21791: 26, 20, 46
+21792: 26, 20, 47
+21793: 26, 20, 48
+21794: 26, 20, 49
+21795: 26, 21, 0
+21796: 26, 21, 1
+21797: 26, 21, 2
+21798: 26, 21, 3
+21799: 26, 21, 4
+21800: 26, 21, 5
+21801: 26, 21, 6
+21802: 26, 21, 7
+21803: 26, 21, 8
+21804: 26, 21, 9
+21805: 26, 21, 10
+21806: 26, 21, 11
+21807: 26, 21, 12
+21808: 26, 21, 13
+21809: 26, 21, 14
+21810: 26, 21, 15
+21811: 26, 21, 16
+21812: 26, 21, 17
+21813: 26, 21, 18
+21814: 26, 21, 19
+21815: 26, 21, 20
+21816: 26, 21, 21
+21817: 26, 21, 22
+21818: 26, 21, 23
+21819: 26, 21, 24
+21820: 26, 21, 25
+21821: 26, 21, 26
+21822: 26, 21, 27
+21823: 26, 21, 28
+21824: 26, 21, 29
+21825: 26, 21, 30
+21826: 26, 21, 31
+21827: 26, 21, 32
+21828: 26, 22, 0
+21829: 26, 22, 1
+21830: 26, 22, 2
+21831: 26, 22, 3
+21832: 26, 22, 4
+21833: 26, 22, 5
+21834: 26, 22, 6
+21835: 26, 22, 7
+21836: 26, 22, 8
+21837: 26, 22, 9
+21838: 26, 22, 10
+21839: 26, 22, 11
+21840: 26, 22, 12
+21841: 26, 22, 13
+21842: 26, 22, 14
+21843: 26, 22, 15
+21844: 26, 22, 16
+21845: 26, 22, 17
+21846: 26, 22, 18
+21847: 26, 22, 19
+21848: 26, 22, 20
+21849: 26, 22, 21
+21850: 26, 22, 22
+21851: 26, 22, 23
+21852: 26, 22, 24
+21853: 26, 22, 25
+21854: 26, 22, 26
+21855: 26, 22, 27
+21856: 26, 22, 28
+21857: 26, 22, 29
+21858: 26, 22, 30
+21859: 26, 22, 31
+21860: 26, 23, 0
+21861: 26, 23, 1
+21862: 26, 23, 2
+21863: 26, 23, 3
+21864: 26, 23, 4
+21865: 26, 23, 5
+21866: 26, 23, 6
+21867: 26, 23, 7
+21868: 26, 23, 8
+21869: 26, 23, 9
+21870: 26, 23, 10
+21871: 26, 23, 11
+21872: 26, 23, 12
+21873: 26, 23, 13
+21874: 26, 23, 14
+21875: 26, 23, 15
+21876: 26, 23, 16
+21877: 26, 23, 17
+21878: 26, 23, 18
+21879: 26, 23, 19
+21880: 26, 23, 20
+21881: 26, 23, 21
+21882: 26, 23, 22
+21883: 26, 23, 23
+21884: 26, 23, 24
+21885: 26, 23, 25
+21886: 26, 23, 26
+21887: 26, 23, 27
+21888: 26, 23, 28
+21889: 26, 23, 29
+21890: 26, 23, 30
+21891: 26, 23, 31
+21892: 26, 23, 32
+21893: 26, 23, 33
+21894: 26, 23, 34
+21895: 26, 23, 35
+21896: 26, 23, 36
+21897: 26, 23, 37
+21898: 26, 23, 38
+21899: 26, 23, 39
+21900: 26, 23, 40
+21901: 26, 23, 41
+21902: 26, 23, 42
+21903: 26, 23, 43
+21904: 26, 23, 44
+21905: 26, 23, 45
+21906: 26, 23, 46
+21907: 26, 23, 47
+21908: 26, 23, 48
+21909: 26, 23, 49
+21910: 26, 24, 0
+21911: 26, 24, 1
+21912: 26, 24, 2
+21913: 26, 24, 3
+21914: 26, 24, 4
+21915: 26, 24, 5
+21916: 26, 24, 6
+21917: 26, 24, 7
+21918: 26, 24, 8
+21919: 26, 24, 9
+21920: 26, 24, 10
+21921: 26, 24, 11
+21922: 26, 24, 12
+21923: 26, 24, 13
+21924: 26, 24, 14
+21925: 26, 24, 15
+21926: 26, 24, 16
+21927: 26, 24, 17
+21928: 26, 24, 18
+21929: 26, 24, 19
+21930: 26, 24, 20
+21931: 26, 24, 21
+21932: 26, 24, 22
+21933: 26, 24, 23
+21934: 26, 24, 24
+21935: 26, 24, 25
+21936: 26, 24, 26
+21937: 26, 24, 27
+21938: 26, 25, 0
+21939: 26, 25, 1
+21940: 26, 25, 2
+21941: 26, 25, 3
+21942: 26, 25, 4
+21943: 26, 25, 5
+21944: 26, 25, 6
+21945: 26, 25, 7
+21946: 26, 25, 8
+21947: 26, 25, 9
+21948: 26, 25, 10
+21949: 26, 25, 11
+21950: 26, 25, 12
+21951: 26, 25, 13
+21952: 26, 25, 14
+21953: 26, 25, 15
+21954: 26, 25, 16
+21955: 26, 25, 17
+21956: 26, 26, 0
+21957: 26, 26, 1
+21958: 26, 26, 2
+21959: 26, 26, 3
+21960: 26, 26, 4
+21961: 26, 26, 5
+21962: 26, 26, 6
+21963: 26, 26, 7
+21964: 26, 26, 8
+21965: 26, 26, 9
+21966: 26, 26, 10
+21967: 26, 26, 11
+21968: 26, 26, 12
+21969: 26, 26, 13
+21970: 26, 26, 14
+21971: 26, 26, 15
+21972: 26, 26, 16
+21973: 26, 26, 17
+21974: 26, 26, 18
+21975: 26, 26, 19
+21976: 26, 26, 20
+21977: 26, 26, 21
+21978: 26, 27, 0
+21979: 26, 27, 1
+21980: 26, 27, 2
+21981: 26, 27, 3
+21982: 26, 27, 4
+21983: 26, 27, 5
+21984: 26, 27, 6
+21985: 26, 27, 7
+21986: 26, 27, 8
+21987: 26, 27, 9
+21988: 26, 27, 10
+21989: 26, 27, 11
+21990: 26, 27, 12
+21991: 26, 27, 13
+21992: 26, 27, 14
+21993: 26, 27, 15
+21994: 26, 27, 16
+21995: 26, 27, 17
+21996: 26, 27, 18
+21997: 26, 27, 19
+21998: 26, 27, 20
+21999: 26, 27, 21
+22000: 26, 27, 22
+22001: 26, 27, 23
+22002: 26, 27, 24
+22003: 26, 27, 25
+22004: 26, 27, 26
+22005: 26, 27, 27
+22006: 26, 27, 28
+22007: 26, 27, 29
+22008: 26, 27, 30
+22009: 26, 27, 31
+22010: 26, 27, 32
+22011: 26, 27, 33
+22012: 26, 27, 34
+22013: 26, 27, 35
+22014: 26, 27, 36
+22015: 26, 28, 0
+22016: 26, 28, 1
+22017: 26, 28, 2
+22018: 26, 28, 3
+22019: 26, 28, 4
+22020: 26, 28, 5
+22021: 26, 28, 6
+22022: 26, 28, 7
+22023: 26, 28, 8
+22024: 26, 28, 9
+22025: 26, 28, 10
+22026: 26, 28, 11
+22027: 26, 28, 12
+22028: 26, 28, 13
+22029: 26, 28, 14
+22030: 26, 28, 15
+22031: 26, 28, 16
+22032: 26, 28, 17
+22033: 26, 28, 18
+22034: 26, 28, 19
+22035: 26, 28, 20
+22036: 26, 28, 21
+22037: 26, 28, 22
+22038: 26, 28, 23
+22039: 26, 28, 24
+22040: 26, 28, 25
+22041: 26, 28, 26
+22042: 26, 29, 0
+22043: 26, 29, 1
+22044: 26, 29, 2
+22045: 26, 29, 3
+22046: 26, 29, 4
+22047: 26, 29, 5
+22048: 26, 29, 6
+22049: 26, 29, 7
+22050: 26, 29, 8
+22051: 26, 29, 9
+22052: 26, 29, 10
+22053: 26, 29, 11
+22054: 26, 29, 12
+22055: 26, 29, 13
+22056: 26, 29, 14
+22057: 26, 29, 15
+22058: 26, 29, 16
+22059: 26, 29, 17
+22060: 26, 29, 18
+22061: 26, 29, 19
+22062: 26, 29, 20
+22063: 26, 29, 21
+22064: 26, 30, 0
+22065: 26, 30, 1
+22066: 26, 30, 2
+22067: 26, 30, 3
+22068: 26, 30, 4
+22069: 26, 30, 5
+22070: 26, 30, 6
+22071: 26, 30, 7
+22072: 26, 30, 8
+22073: 26, 30, 9
+22074: 26, 30, 10
+22075: 26, 30, 11
+22076: 26, 30, 12
+22077: 26, 30, 13
+22078: 26, 30, 14
+22079: 26, 30, 15
+22080: 26, 30, 16
+22081: 26, 30, 17
+22082: 26, 30, 18
+22083: 26, 30, 19
+22084: 26, 30, 20
+22085: 26, 30, 21
+22086: 26, 30, 22
+22087: 26, 30, 23
+22088: 26, 30, 24
+22089: 26, 30, 25
+22090: 26, 30, 26
+22091: 26, 31, 0
+22092: 26, 31, 1
+22093: 26, 31, 2
+22094: 26, 31, 3
+22095: 26, 31, 4
+22096: 26, 31, 5
+22097: 26, 31, 6
+22098: 26, 31, 7
+22099: 26, 31, 8
+22100: 26, 31, 9
+22101: 26, 31, 10
+22102: 26, 31, 11
+22103: 26, 31, 12
+22104: 26, 31, 13
+22105: 26, 31, 14
+22106: 26, 31, 15
+22107: 26, 31, 16
+22108: 26, 31, 17
+22109: 26, 31, 18
+22110: 26, 32, 0
+22111: 26, 32, 1
+22112: 26, 32, 2
+22113: 26, 32, 3
+22114: 26, 32, 4
+22115: 26, 32, 5
+22116: 26, 32, 6
+22117: 26, 32, 7
+22118: 26, 32, 8
+22119: 26, 32, 9
+22120: 26, 32, 10
+22121: 26, 32, 11
+22122: 26, 32, 12
+22123: 26, 32, 13
+22124: 26, 32, 14
+22125: 26, 32, 15
+22126: 26, 32, 16
+22127: 26, 32, 17
+22128: 26, 32, 18
+22129: 26, 32, 19
+22130: 26, 32, 20
+22131: 26, 32, 21
+22132: 26, 32, 22
+22133: 26, 32, 23
+22134: 26, 32, 24
+22135: 26, 32, 25
+22136: 26, 32, 26
+22137: 26, 32, 27
+22138: 26, 32, 28
+22139: 26, 32, 29
+22140: 26, 32, 30
+22141: 26, 32, 31
+22142: 26, 32, 32
+22143: 26, 33, 0
+22144: 26, 33, 1
+22145: 26, 33, 2
+22146: 26, 33, 3
+22147: 26, 33, 4
+22148: 26, 33, 5
+22149: 26, 33, 6
+22150: 26, 33, 7
+22151: 26, 33, 8
+22152: 26, 33, 9
+22153: 26, 33, 10
+22154: 26, 33, 11
+22155: 26, 33, 12
+22156: 26, 33, 13
+22157: 26, 33, 14
+22158: 26, 33, 15
+22159: 26, 33, 16
+22160: 26, 33, 17
+22161: 26, 33, 18
+22162: 26, 33, 19
+22163: 26, 33, 20
+22164: 26, 33, 21
+22165: 26, 33, 22
+22166: 26, 33, 23
+22167: 26, 33, 24
+22168: 26, 33, 25
+22169: 26, 33, 26
+22170: 26, 33, 27
+22171: 26, 33, 28
+22172: 26, 33, 29
+22173: 26, 33, 30
+22174: 26, 33, 31
+22175: 26, 33, 32
+22176: 26, 33, 33
+22177: 26, 34, 0
+22178: 26, 34, 1
+22179: 26, 34, 2
+22180: 26, 34, 3
+22181: 26, 34, 4
+22182: 26, 34, 5
+22183: 26, 34, 6
+22184: 26, 34, 7
+22185: 26, 34, 8
+22186: 26, 34, 9
+22187: 26, 34, 10
+22188: 26, 34, 11
+22189: 26, 34, 12
+22190: 26, 34, 13
+22191: 26, 34, 14
+22192: 26, 34, 15
+22193: 26, 34, 16
+22194: 26, 34, 17
+22195: 26, 34, 18
+22196: 26, 34, 19
+22197: 26, 34, 20
+22198: 26, 34, 21
+22199: 26, 34, 22
+22200: 26, 34, 23
+22201: 26, 34, 24
+22202: 26, 34, 25
+22203: 26, 34, 26
+22204: 26, 34, 27
+22205: 26, 34, 28
+22206: 26, 34, 29
+22207: 26, 34, 30
+22208: 26, 34, 31
+22209: 26, 35, 0
+22210: 26, 35, 1
+22211: 26, 35, 2
+22212: 26, 35, 3
+22213: 26, 35, 4
+22214: 26, 35, 5
+22215: 26, 35, 6
+22216: 26, 35, 7
+22217: 26, 35, 8
+22218: 26, 35, 9
+22219: 26, 35, 10
+22220: 26, 35, 11
+22221: 26, 35, 12
+22222: 26, 35, 13
+22223: 26, 35, 14
+22224: 26, 35, 15
+22225: 26, 36, 0
+22226: 26, 36, 1
+22227: 26, 36, 2
+22228: 26, 36, 3
+22229: 26, 36, 4
+22230: 26, 36, 5
+22231: 26, 36, 6
+22232: 26, 36, 7
+22233: 26, 36, 8
+22234: 26, 36, 9
+22235: 26, 36, 10
+22236: 26, 36, 11
+22237: 26, 36, 12
+22238: 26, 36, 13
+22239: 26, 36, 14
+22240: 26, 36, 15
+22241: 26, 36, 16
+22242: 26, 36, 17
+22243: 26, 36, 18
+22244: 26, 36, 19
+22245: 26, 36, 20
+22246: 26, 36, 21
+22247: 26, 36, 22
+22248: 26, 36, 23
+22249: 26, 36, 24
+22250: 26, 36, 25
+22251: 26, 36, 26
+22252: 26, 36, 27
+22253: 26, 36, 28
+22254: 26, 36, 29
+22255: 26, 36, 30
+22256: 26, 36, 31
+22257: 26, 36, 32
+22258: 26, 36, 33
+22259: 26, 36, 34
+22260: 26, 36, 35
+22261: 26, 36, 36
+22262: 26, 36, 37
+22263: 26, 36, 38
+22264: 26, 37, 0
+22265: 26, 37, 1
+22266: 26, 37, 2
+22267: 26, 37, 3
+22268: 26, 37, 4
+22269: 26, 37, 5
+22270: 26, 37, 6
+22271: 26, 37, 7
+22272: 26, 37, 8
+22273: 26, 37, 9
+22274: 26, 37, 10
+22275: 26, 37, 11
+22276: 26, 37, 12
+22277: 26, 37, 13
+22278: 26, 37, 14
+22279: 26, 37, 15
+22280: 26, 37, 16
+22281: 26, 37, 17
+22282: 26, 37, 18
+22283: 26, 37, 19
+22284: 26, 37, 20
+22285: 26, 37, 21
+22286: 26, 37, 22
+22287: 26, 37, 23
+22288: 26, 37, 24
+22289: 26, 37, 25
+22290: 26, 37, 26
+22291: 26, 37, 27
+22292: 26, 37, 28
+22293: 26, 38, 0
+22294: 26, 38, 1
+22295: 26, 38, 2
+22296: 26, 38, 3
+22297: 26, 38, 4
+22298: 26, 38, 5
+22299: 26, 38, 6
+22300: 26, 38, 7
+22301: 26, 38, 8
+22302: 26, 38, 9
+22303: 26, 38, 10
+22304: 26, 38, 11
+22305: 26, 38, 12
+22306: 26, 38, 13
+22307: 26, 38, 14
+22308: 26, 38, 15
+22309: 26, 38, 16
+22310: 26, 38, 17
+22311: 26, 38, 18
+22312: 26, 38, 19
+22313: 26, 38, 20
+22314: 26, 38, 21
+22315: 26, 38, 22
+22316: 26, 38, 23
+22317: 26, 39, 0
+22318: 26, 39, 1
+22319: 26, 39, 2
+22320: 26, 39, 3
+22321: 26, 39, 4
+22322: 26, 39, 5
+22323: 26, 39, 6
+22324: 26, 39, 7
+22325: 26, 39, 8
+22326: 26, 39, 9
+22327: 26, 39, 10
+22328: 26, 39, 11
+22329: 26, 39, 12
+22330: 26, 39, 13
+22331: 26, 39, 14
+22332: 26, 39, 15
+22333: 26, 39, 16
+22334: 26, 39, 17
+22335: 26, 39, 18
+22336: 26, 39, 19
+22337: 26, 39, 20
+22338: 26, 39, 21
+22339: 26, 39, 22
+22340: 26, 39, 23
+22341: 26, 39, 24
+22342: 26, 39, 25
+22343: 26, 39, 26
+22344: 26, 39, 27
+22345: 26, 39, 28
+22346: 26, 39, 29
+22347: 26, 40, 0
+22348: 26, 40, 1
+22349: 26, 40, 2
+22350: 26, 40, 3
+22351: 26, 40, 4
+22352: 26, 40, 5
+22353: 26, 40, 6
+22354: 26, 40, 7
+22355: 26, 40, 8
+22356: 26, 40, 9
+22357: 26, 40, 10
+22358: 26, 40, 11
+22359: 26, 40, 12
+22360: 26, 40, 13
+22361: 26, 40, 14
+22362: 26, 40, 15
+22363: 26, 40, 16
+22364: 26, 40, 17
+22365: 26, 40, 18
+22366: 26, 40, 19
+22367: 26, 40, 20
+22368: 26, 40, 21
+22369: 26, 40, 22
+22370: 26, 40, 23
+22371: 26, 40, 24
+22372: 26, 40, 25
+22373: 26, 40, 26
+22374: 26, 40, 27
+22375: 26, 40, 28
+22376: 26, 40, 29
+22377: 26, 40, 30
+22378: 26, 40, 31
+22379: 26, 40, 32
+22380: 26, 40, 33
+22381: 26, 40, 34
+22382: 26, 40, 35
+22383: 26, 40, 36
+22384: 26, 40, 37
+22385: 26, 40, 38
+22386: 26, 40, 39
+22387: 26, 40, 40
+22388: 26, 40, 41
+22389: 26, 40, 42
+22390: 26, 40, 43
+22391: 26, 40, 44
+22392: 26, 40, 45
+22393: 26, 40, 46
+22394: 26, 40, 47
+22395: 26, 40, 48
+22396: 26, 40, 49
+22397: 26, 41, 0
+22398: 26, 41, 1
+22399: 26, 41, 2
+22400: 26, 41, 3
+22401: 26, 41, 4
+22402: 26, 41, 5
+22403: 26, 41, 6
+22404: 26, 41, 7
+22405: 26, 41, 8
+22406: 26, 41, 9
+22407: 26, 41, 10
+22408: 26, 41, 11
+22409: 26, 41, 12
+22410: 26, 41, 13
+22411: 26, 41, 14
+22412: 26, 41, 15
+22413: 26, 41, 16
+22414: 26, 41, 17
+22415: 26, 41, 18
+22416: 26, 41, 19
+22417: 26, 41, 20
+22418: 26, 41, 21
+22419: 26, 41, 22
+22420: 26, 41, 23
+22421: 26, 41, 24
+22422: 26, 41, 25
+22423: 26, 41, 26
+22424: 26, 42, 0
+22425: 26, 42, 1
+22426: 26, 42, 2
+22427: 26, 42, 3
+22428: 26, 42, 4
+22429: 26, 42, 5
+22430: 26, 42, 6
+22431: 26, 42, 7
+22432: 26, 42, 8
+22433: 26, 42, 9
+22434: 26, 42, 10
+22435: 26, 42, 11
+22436: 26, 42, 12
+22437: 26, 42, 13
+22438: 26, 42, 14
+22439: 26, 42, 15
+22440: 26, 42, 16
+22441: 26, 42, 17
+22442: 26, 42, 18
+22443: 26, 42, 19
+22444: 26, 42, 20
+22445: 26, 43, 0
+22446: 26, 43, 1
+22447: 26, 43, 2
+22448: 26, 43, 3
+22449: 26, 43, 4
+22450: 26, 43, 5
+22451: 26, 43, 6
+22452: 26, 43, 7
+22453: 26, 43, 8
+22454: 26, 43, 9
+22455: 26, 43, 10
+22456: 26, 43, 11
+22457: 26, 43, 12
+22458: 26, 43, 13
+22459: 26, 43, 14
+22460: 26, 43, 15
+22461: 26, 43, 16
+22462: 26, 43, 17
+22463: 26, 43, 18
+22464: 26, 43, 19
+22465: 26, 43, 20
+22466: 26, 43, 21
+22467: 26, 43, 22
+22468: 26, 43, 23
+22469: 26, 43, 24
+22470: 26, 43, 25
+22471: 26, 43, 26
+22472: 26, 43, 27
+22473: 26, 44, 0
+22474: 26, 44, 1
+22475: 26, 44, 2
+22476: 26, 44, 3
+22477: 26, 44, 4
+22478: 26, 44, 5
+22479: 26, 44, 6
+22480: 26, 44, 7
+22481: 26, 44, 8
+22482: 26, 44, 9
+22483: 26, 44, 10
+22484: 26, 44, 11
+22485: 26, 44, 12
+22486: 26, 44, 13
+22487: 26, 44, 14
+22488: 26, 44, 15
+22489: 26, 44, 16
+22490: 26, 44, 17
+22491: 26, 44, 18
+22492: 26, 44, 19
+22493: 26, 44, 20
+22494: 26, 44, 21
+22495: 26, 44, 22
+22496: 26, 44, 23
+22497: 26, 44, 24
+22498: 26, 44, 25
+22499: 26, 44, 26
+22500: 26, 44, 27
+22501: 26, 44, 28
+22502: 26, 44, 29
+22503: 26, 44, 30
+22504: 26, 44, 31
+22505: 26, 45, 0
+22506: 26, 45, 1
+22507: 26, 45, 2
+22508: 26, 45, 3
+22509: 26, 45, 4
+22510: 26, 45, 5
+22511: 26, 45, 6
+22512: 26, 45, 7
+22513: 26, 45, 8
+22514: 26, 45, 9
+22515: 26, 45, 10
+22516: 26, 45, 11
+22517: 26, 45, 12
+22518: 26, 45, 13
+22519: 26, 45, 14
+22520: 26, 45, 15
+22521: 26, 45, 16
+22522: 26, 45, 17
+22523: 26, 45, 18
+22524: 26, 45, 19
+22525: 26, 45, 20
+22526: 26, 45, 21
+22527: 26, 45, 22
+22528: 26, 45, 23
+22529: 26, 45, 24
+22530: 26, 45, 25
+22531: 26, 46, 0
+22532: 26, 46, 1
+22533: 26, 46, 2
+22534: 26, 46, 3
+22535: 26, 46, 4
+22536: 26, 46, 5
+22537: 26, 46, 6
+22538: 26, 46, 7
+22539: 26, 46, 8
+22540: 26, 46, 9
+22541: 26, 46, 10
+22542: 26, 46, 11
+22543: 26, 46, 12
+22544: 26, 46, 13
+22545: 26, 46, 14
+22546: 26, 46, 15
+22547: 26, 46, 16
+22548: 26, 46, 17
+22549: 26, 46, 18
+22550: 26, 46, 19
+22551: 26, 46, 20
+22552: 26, 46, 21
+22553: 26, 46, 22
+22554: 26, 46, 23
+22555: 26, 46, 24
+22556: 26, 47, 0
+22557: 26, 47, 1
+22558: 26, 47, 2
+22559: 26, 47, 3
+22560: 26, 47, 4
+22561: 26, 47, 5
+22562: 26, 47, 6
+22563: 26, 47, 7
+22564: 26, 47, 8
+22565: 26, 47, 9
+22566: 26, 47, 10
+22567: 26, 47, 11
+22568: 26, 47, 12
+22569: 26, 47, 13
+22570: 26, 47, 14
+22571: 26, 47, 15
+22572: 26, 47, 16
+22573: 26, 47, 17
+22574: 26, 47, 18
+22575: 26, 47, 19
+22576: 26, 47, 20
+22577: 26, 47, 21
+22578: 26, 47, 22
+22579: 26, 47, 23
+22580: 26, 48, 0
+22581: 26, 48, 1
+22582: 26, 48, 2
+22583: 26, 48, 3
+22584: 26, 48, 4
+22585: 26, 48, 5
+22586: 26, 48, 6
+22587: 26, 48, 7
+22588: 26, 48, 8
+22589: 26, 48, 9
+22590: 26, 48, 10
+22591: 26, 48, 11
+22592: 26, 48, 12
+22593: 26, 48, 13
+22594: 26, 48, 14
+22595: 26, 48, 15
+22596: 26, 48, 16
+22597: 26, 48, 17
+22598: 26, 48, 18
+22599: 26, 48, 19
+22600: 26, 48, 20
+22601: 26, 48, 21
+22602: 26, 48, 22
+22603: 26, 48, 23
+22604: 26, 48, 24
+22605: 26, 48, 25
+22606: 26, 48, 26
+22607: 26, 48, 27
+22608: 26, 48, 28
+22609: 26, 48, 29
+22610: 26, 48, 30
+22611: 26, 48, 31
+22612: 26, 48, 32
+22613: 26, 48, 33
+22614: 26, 48, 34
+22615: 26, 48, 35
+22616: 27, 0, 0
+22617: 27, 1, 0
+22618: 27, 1, 1
+22619: 27, 1, 2
+22620: 27, 1, 3
+22621: 27, 1, 4
+22622: 27, 1, 5
+22623: 27, 1, 6
+22624: 27, 1, 7
+22625: 27, 1, 8
+22626: 27, 1, 9
+22627: 27, 1, 10
+22628: 27, 1, 11
+22629: 27, 1, 12
+22630: 27, 1, 13
+22631: 27, 1, 14
+22632: 27, 1, 15
+22633: 27, 1, 16
+22634: 27, 1, 17
+22635: 27, 1, 18
+22636: 27, 1, 19
+22637: 27, 1, 20
+22638: 27, 1, 21
+22639: 27, 2, 0
+22640: 27, 2, 1
+22641: 27, 2, 2
+22642: 27, 2, 3
+22643: 27, 2, 4
+22644: 27, 2, 5
+22645: 27, 2, 6
+22646: 27, 2, 7
+22647: 27, 2, 8
+22648: 27, 2, 9
+22649: 27, 2, 10
+22650: 27, 2, 11
+22651: 27, 2, 12
+22652: 27, 2, 13
+22653: 27, 2, 14
+22654: 27, 2, 15
+22655: 27, 2, 16
+22656: 27, 2, 17
+22657: 27, 2, 18
+22658: 27, 2, 19
+22659: 27, 2, 20
+22660: 27, 2, 21
+22661: 27, 2, 22
+22662: 27, 2, 23
+22663: 27, 2, 24
+22664: 27, 2, 25
+22665: 27, 2, 26
+22666: 27, 2, 27
+22667: 27, 2, 28
+22668: 27, 2, 29
+22669: 27, 2, 30
+22670: 27, 2, 31
+22671: 27, 2, 32
+22672: 27, 2, 33
+22673: 27, 2, 34
+22674: 27, 2, 35
+22675: 27, 2, 36
+22676: 27, 2, 37
+22677: 27, 2, 38
+22678: 27, 2, 39
+22679: 27, 2, 40
+22680: 27, 2, 41
+22681: 27, 2, 42
+22682: 27, 2, 43
+22683: 27, 2, 44
+22684: 27, 2, 45
+22685: 27, 2, 46
+22686: 27, 2, 47
+22687: 27, 2, 48
+22688: 27, 2, 49
+22689: 27, 3, 0
+22690: 27, 3, 1
+22691: 27, 3, 2
+22692: 27, 3, 3
+22693: 27, 3, 4
+22694: 27, 3, 5
+22695: 27, 3, 6
+22696: 27, 3, 7
+22697: 27, 3, 8
+22698: 27, 3, 9
+22699: 27, 3, 10
+22700: 27, 3, 11
+22701: 27, 3, 12
+22702: 27, 3, 13
+22703: 27, 3, 14
+22704: 27, 3, 15
+22705: 27, 3, 16
+22706: 27, 3, 17
+22707: 27, 3, 18
+22708: 27, 3, 19
+22709: 27, 3, 20
+22710: 27, 3, 21
+22711: 27, 3, 22
+22712: 27, 3, 23
+22713: 27, 3, 24
+22714: 27, 3, 25
+22715: 27, 3, 26
+22716: 27, 3, 27
+22717: 27, 3, 28
+22718: 27, 3, 29
+22719: 27, 3, 30
+22720: 27, 4, 0
+22721: 27, 4, 1
+22722: 27, 4, 2
+22723: 27, 4, 3
+22724: 27, 4, 4
+22725: 27, 4, 5
+22726: 27, 4, 6
+22727: 27, 4, 7
+22728: 27, 4, 8
+22729: 27, 4, 9
+22730: 27, 4, 10
+22731: 27, 4, 11
+22732: 27, 4, 12
+22733: 27, 4, 13
+22734: 27, 4, 14
+22735: 27, 4, 15
+22736: 27, 4, 16
+22737: 27, 4, 17
+22738: 27, 4, 18
+22739: 27, 4, 19
+22740: 27, 4, 20
+22741: 27, 4, 21
+22742: 27, 4, 22
+22743: 27, 4, 23
+22744: 27, 4, 24
+22745: 27, 4, 25
+22746: 27, 4, 26
+22747: 27, 4, 27
+22748: 27, 4, 28
+22749: 27, 4, 29
+22750: 27, 4, 30
+22751: 27, 4, 31
+22752: 27, 4, 32
+22753: 27, 4, 33
+22754: 27, 4, 34
+22755: 27, 4, 35
+22756: 27, 4, 36
+22757: 27, 4, 37
+22758: 27, 5, 0
+22759: 27, 5, 1
+22760: 27, 5, 2
+22761: 27, 5, 3
+22762: 27, 5, 4
+22763: 27, 5, 5
+22764: 27, 5, 6
+22765: 27, 5, 7
+22766: 27, 5, 8
+22767: 27, 5, 9
+22768: 27, 5, 10
+22769: 27, 5, 11
+22770: 27, 5, 12
+22771: 27, 5, 13
+22772: 27, 5, 14
+22773: 27, 5, 15
+22774: 27, 5, 16
+22775: 27, 5, 17
+22776: 27, 5, 18
+22777: 27, 5, 19
+22778: 27, 5, 20
+22779: 27, 5, 21
+22780: 27, 5, 22
+22781: 27, 5, 23
+22782: 27, 5, 24
+22783: 27, 5, 25
+22784: 27, 5, 26
+22785: 27, 5, 27
+22786: 27, 5, 28
+22787: 27, 5, 29
+22788: 27, 5, 30
+22789: 27, 5, 31
+22790: 27, 6, 0
+22791: 27, 6, 1
+22792: 27, 6, 2
+22793: 27, 6, 3
+22794: 27, 6, 4
+22795: 27, 6, 5
+22796: 27, 6, 6
+22797: 27, 6, 7
+22798: 27, 6, 8
+22799: 27, 6, 9
+22800: 27, 6, 10
+22801: 27, 6, 11
+22802: 27, 6, 12
+22803: 27, 6, 13
+22804: 27, 6, 14
+22805: 27, 6, 15
+22806: 27, 6, 16
+22807: 27, 6, 17
+22808: 27, 6, 18
+22809: 27, 6, 19
+22810: 27, 6, 20
+22811: 27, 6, 21
+22812: 27, 6, 22
+22813: 27, 6, 23
+22814: 27, 6, 24
+22815: 27, 6, 25
+22816: 27, 6, 26
+22817: 27, 6, 27
+22818: 27, 6, 28
+22819: 27, 7, 0
+22820: 27, 7, 1
+22821: 27, 7, 2
+22822: 27, 7, 3
+22823: 27, 7, 4
+22824: 27, 7, 5
+22825: 27, 7, 6
+22826: 27, 7, 7
+22827: 27, 7, 8
+22828: 27, 7, 9
+22829: 27, 7, 10
+22830: 27, 7, 11
+22831: 27, 7, 12
+22832: 27, 7, 13
+22833: 27, 7, 14
+22834: 27, 7, 15
+22835: 27, 7, 16
+22836: 27, 7, 17
+22837: 27, 7, 18
+22838: 27, 7, 19
+22839: 27, 7, 20
+22840: 27, 7, 21
+22841: 27, 7, 22
+22842: 27, 7, 23
+22843: 27, 7, 24
+22844: 27, 7, 25
+22845: 27, 7, 26
+22846: 27, 7, 27
+22847: 27, 7, 28
+22848: 27, 8, 0
+22849: 27, 8, 1
+22850: 27, 8, 2
+22851: 27, 8, 3
+22852: 27, 8, 4
+22853: 27, 8, 5
+22854: 27, 8, 6
+22855: 27, 8, 7
+22856: 27, 8, 8
+22857: 27, 8, 9
+22858: 27, 8, 10
+22859: 27, 8, 11
+22860: 27, 8, 12
+22861: 27, 8, 13
+22862: 27, 8, 14
+22863: 27, 8, 15
+22864: 27, 8, 16
+22865: 27, 8, 17
+22866: 27, 8, 18
+22867: 27, 8, 19
+22868: 27, 8, 20
+22869: 27, 8, 21
+22870: 27, 8, 22
+22871: 27, 8, 23
+22872: 27, 8, 24
+22873: 27, 8, 25
+22874: 27, 8, 26
+22875: 27, 8, 27
+22876: 27, 9, 0
+22877: 27, 9, 1
+22878: 27, 9, 2
+22879: 27, 9, 3
+22880: 27, 9, 4
+22881: 27, 9, 5
+22882: 27, 9, 6
+22883: 27, 9, 7
+22884: 27, 9, 8
+22885: 27, 9, 9
+22886: 27, 9, 10
+22887: 27, 9, 11
+22888: 27, 9, 12
+22889: 27, 9, 13
+22890: 27, 9, 14
+22891: 27, 9, 15
+22892: 27, 9, 16
+22893: 27, 9, 17
+22894: 27, 9, 18
+22895: 27, 9, 19
+22896: 27, 9, 20
+22897: 27, 9, 21
+22898: 27, 9, 22
+22899: 27, 9, 23
+22900: 27, 9, 24
+22901: 27, 9, 25
+22902: 27, 9, 26
+22903: 27, 9, 27
+22904: 27, 10, 0
+22905: 27, 10, 1
+22906: 27, 10, 2
+22907: 27, 10, 3
+22908: 27, 10, 4
+22909: 27, 10, 5
+22910: 27, 10, 6
+22911: 27, 10, 7
+22912: 27, 10, 8
+22913: 27, 10, 9
+22914: 27, 10, 10
+22915: 27, 10, 11
+22916: 27, 10, 12
+22917: 27, 10, 13
+22918: 27, 10, 14
+22919: 27, 10, 15
+22920: 27, 10, 16
+22921: 27, 10, 17
+22922: 27, 10, 18
+22923: 27, 10, 19
+22924: 27, 10, 20
+22925: 27, 10, 21
+22926: 27, 11, 0
+22927: 27, 11, 1
+22928: 27, 11, 2
+22929: 27, 11, 3
+22930: 27, 11, 4
+22931: 27, 11, 5
+22932: 27, 11, 6
+22933: 27, 11, 7
+22934: 27, 11, 8
+22935: 27, 11, 9
+22936: 27, 11, 10
+22937: 27, 11, 11
+22938: 27, 11, 12
+22939: 27, 11, 13
+22940: 27, 11, 14
+22941: 27, 11, 15
+22942: 27, 11, 16
+22943: 27, 11, 17
+22944: 27, 11, 18
+22945: 27, 11, 19
+22946: 27, 11, 20
+22947: 27, 11, 21
+22948: 27, 11, 22
+22949: 27, 11, 23
+22950: 27, 11, 24
+22951: 27, 11, 25
+22952: 27, 11, 26
+22953: 27, 11, 27
+22954: 27, 11, 28
+22955: 27, 11, 29
+22956: 27, 11, 30
+22957: 27, 11, 31
+22958: 27, 11, 32
+22959: 27, 11, 33
+22960: 27, 11, 34
+22961: 27, 11, 35
+22962: 27, 11, 36
+22963: 27, 11, 37
+22964: 27, 11, 38
+22965: 27, 11, 39
+22966: 27, 11, 40
+22967: 27, 11, 41
+22968: 27, 11, 42
+22969: 27, 11, 43
+22970: 27, 11, 44
+22971: 27, 11, 45
+22972: 27, 12, 0
+22973: 27, 12, 1
+22974: 27, 12, 2
+22975: 27, 12, 3
+22976: 27, 12, 4
+22977: 27, 12, 5
+22978: 27, 12, 6
+22979: 27, 12, 7
+22980: 27, 12, 8
+22981: 27, 12, 9
+22982: 27, 12, 10
+22983: 27, 12, 11
+22984: 27, 12, 12
+22985: 27, 12, 13
+22986: 28, 0, 0
+22987: 28, 1, 0
+22988: 28, 1, 1
+22989: 28, 1, 2
+22990: 28, 1, 3
+22991: 28, 1, 4
+22992: 28, 1, 5
+22993: 28, 1, 6
+22994: 28, 1, 7
+22995: 28, 1, 8
+22996: 28, 1, 9
+22997: 28, 1, 10
+22998: 28, 1, 11
+22999: 28, 2, 0
+23000: 28, 2, 1
+23001: 28, 2, 2
+23002: 28, 2, 3
+23003: 28, 2, 4
+23004: 28, 2, 5
+23005: 28, 2, 6
+23006: 28, 2, 7
+23007: 28, 2, 8
+23008: 28, 2, 9
+23009: 28, 2, 10
+23010: 28, 2, 11
+23011: 28, 2, 12
+23012: 28, 2, 13
+23013: 28, 2, 14
+23014: 28, 2, 15
+23015: 28, 2, 16
+23016: 28, 2, 17
+23017: 28, 2, 18
+23018: 28, 2, 19
+23019: 28, 2, 20
+23020: 28, 2, 21
+23021: 28, 2, 22
+23022: 28, 2, 23
+23023: 28, 3, 0
+23024: 28, 3, 1
+23025: 28, 3, 2
+23026: 28, 3, 3
+23027: 28, 3, 4
+23028: 28, 3, 5
+23029: 28, 4, 0
+23030: 28, 4, 1
+23031: 28, 4, 2
+23032: 28, 4, 3
+23033: 28, 4, 4
+23034: 28, 4, 5
+23035: 28, 4, 6
+23036: 28, 4, 7
+23037: 28, 4, 8
+23038: 28, 4, 9
+23039: 28, 4, 10
+23040: 28, 4, 11
+23041: 28, 4, 12
+23042: 28, 4, 13
+23043: 28, 4, 14
+23044: 28, 4, 15
+23045: 28, 4, 16
+23046: 28, 4, 17
+23047: 28, 4, 18
+23048: 28, 4, 19
+23049: 28, 5, 0
+23050: 28, 5, 1
+23051: 28, 5, 2
+23052: 28, 5, 3
+23053: 28, 5, 4
+23054: 28, 5, 5
+23055: 28, 5, 6
+23056: 28, 5, 7
+23057: 28, 5, 8
+23058: 28, 5, 9
+23059: 28, 5, 10
+23060: 28, 5, 11
+23061: 28, 5, 12
+23062: 28, 5, 13
+23063: 28, 5, 14
+23064: 28, 5, 15
+23065: 28, 6, 0
+23066: 28, 6, 1
+23067: 28, 6, 2
+23068: 28, 6, 3
+23069: 28, 6, 4
+23070: 28, 6, 5
+23071: 28, 6, 6
+23072: 28, 6, 7
+23073: 28, 6, 8
+23074: 28, 6, 9
+23075: 28, 6, 10
+23076: 28, 6, 11
+23077: 28, 7, 0
+23078: 28, 7, 1
+23079: 28, 7, 2
+23080: 28, 7, 3
+23081: 28, 7, 4
+23082: 28, 7, 5
+23083: 28, 7, 6
+23084: 28, 7, 7
+23085: 28, 7, 8
+23086: 28, 7, 9
+23087: 28, 7, 10
+23088: 28, 7, 11
+23089: 28, 7, 12
+23090: 28, 7, 13
+23091: 28, 7, 14
+23092: 28, 7, 15
+23093: 28, 7, 16
+23094: 28, 8, 0
+23095: 28, 8, 1
+23096: 28, 8, 2
+23097: 28, 8, 3
+23098: 28, 8, 4
+23099: 28, 8, 5
+23100: 28, 8, 6
+23101: 28, 8, 7
+23102: 28, 8, 8
+23103: 28, 8, 9
+23104: 28, 8, 10
+23105: 28, 8, 11
+23106: 28, 8, 12
+23107: 28, 8, 13
+23108: 28, 8, 14
+23109: 28, 9, 0
+23110: 28, 9, 1
+23111: 28, 9, 2
+23112: 28, 9, 3
+23113: 28, 9, 4
+23114: 28, 9, 5
+23115: 28, 9, 6
+23116: 28, 9, 7
+23117: 28, 9, 8
+23118: 28, 9, 9
+23119: 28, 9, 10
+23120: 28, 9, 11
+23121: 28, 9, 12
+23122: 28, 9, 13
+23123: 28, 9, 14
+23124: 28, 9, 15
+23125: 28, 9, 16
+23126: 28, 9, 17
+23127: 28, 10, 0
+23128: 28, 10, 1
+23129: 28, 10, 2
+23130: 28, 10, 3
+23131: 28, 10, 4
+23132: 28, 10, 5
+23133: 28, 10, 6
+23134: 28, 10, 7
+23135: 28, 10, 8
+23136: 28, 10, 9
+23137: 28, 10, 10
+23138: 28, 10, 11
+23139: 28, 10, 12
+23140: 28, 10, 13
+23141: 28, 10, 14
+23142: 28, 10, 15
+23143: 28, 11, 0
+23144: 28, 11, 1
+23145: 28, 11, 2
+23146: 28, 11, 3
+23147: 28, 11, 4
+23148: 28, 11, 5
+23149: 28, 11, 6
+23150: 28, 11, 7
+23151: 28, 11, 8
+23152: 28, 11, 9
+23153: 28, 11, 10
+23154: 28, 11, 11
+23155: 28, 11, 12
+23156: 28, 12, 0
+23157: 28, 12, 1
+23158: 28, 12, 2
+23159: 28, 12, 3
+23160: 28, 12, 4
+23161: 28, 12, 5
+23162: 28, 12, 6
+23163: 28, 12, 7
+23164: 28, 12, 8
+23165: 28, 12, 9
+23166: 28, 12, 10
+23167: 28, 12, 11
+23168: 28, 12, 12
+23169: 28, 12, 13
+23170: 28, 12, 14
+23171: 28, 13, 0
+23172: 28, 13, 1
+23173: 28, 13, 2
+23174: 28, 13, 3
+23175: 28, 13, 4
+23176: 28, 13, 5
+23177: 28, 13, 6
+23178: 28, 13, 7
+23179: 28, 13, 8
+23180: 28, 13, 9
+23181: 28, 13, 10
+23182: 28, 13, 11
+23183: 28, 13, 12
+23184: 28, 13, 13
+23185: 28, 13, 14
+23186: 28, 13, 15
+23187: 28, 13, 16
+23188: 28, 14, 0
+23189: 28, 14, 1
+23190: 28, 14, 2
+23191: 28, 14, 3
+23192: 28, 14, 4
+23193: 28, 14, 5
+23194: 28, 14, 6
+23195: 28, 14, 7
+23196: 28, 14, 8
+23197: 28, 14, 9
+23198: 29, 0, 0
+23199: 29, 1, 0
+23200: 29, 1, 1
+23201: 29, 1, 2
+23202: 29, 1, 3
+23203: 29, 1, 4
+23204: 29, 1, 5
+23205: 29, 1, 6
+23206: 29, 1, 7
+23207: 29, 1, 8
+23208: 29, 1, 9
+23209: 29, 1, 10
+23210: 29, 1, 11
+23211: 29, 1, 12
+23212: 29, 1, 13
+23213: 29, 1, 14
+23214: 29, 1, 15
+23215: 29, 1, 16
+23216: 29, 1, 17
+23217: 29, 1, 18
+23218: 29, 1, 19
+23219: 29, 1, 20
+23220: 29, 2, 0
+23221: 29, 2, 1
+23222: 29, 2, 2
+23223: 29, 2, 3
+23224: 29, 2, 4
+23225: 29, 2, 5
+23226: 29, 2, 6
+23227: 29, 2, 7
+23228: 29, 2, 8
+23229: 29, 2, 9
+23230: 29, 2, 10
+23231: 29, 2, 11
+23232: 29, 2, 12
+23233: 29, 2, 13
+23234: 29, 2, 14
+23235: 29, 2, 15
+23236: 29, 2, 16
+23237: 29, 2, 17
+23238: 29, 2, 18
+23239: 29, 2, 19
+23240: 29, 2, 20
+23241: 29, 2, 21
+23242: 29, 2, 22
+23243: 29, 2, 23
+23244: 29, 2, 24
+23245: 29, 2, 25
+23246: 29, 2, 26
+23247: 29, 2, 27
+23248: 29, 2, 28
+23249: 29, 2, 29
+23250: 29, 2, 30
+23251: 29, 2, 31
+23252: 29, 2, 32
+23253: 29, 3, 0
+23254: 29, 3, 1
+23255: 29, 3, 2
+23256: 29, 3, 3
+23257: 29, 3, 4
+23258: 29, 3, 5
+23259: 29, 3, 6
+23260: 29, 3, 7
+23261: 29, 3, 8
+23262: 29, 3, 9
+23263: 29, 3, 10
+23264: 29, 3, 11
+23265: 29, 3, 12
+23266: 29, 3, 13
+23267: 29, 3, 14
+23268: 29, 3, 15
+23269: 29, 3, 16
+23270: 29, 3, 17
+23271: 29, 3, 18
+23272: 29, 3, 19
+23273: 29, 3, 20
+23274: 29, 3, 21
+23275: 30, 0, 0
+23276: 30, 1, 0
+23277: 30, 1, 1
+23278: 30, 1, 2
+23279: 30, 1, 3
+23280: 30, 1, 4
+23281: 30, 1, 5
+23282: 30, 1, 6
+23283: 30, 1, 7
+23284: 30, 1, 8
+23285: 30, 1, 9
+23286: 30, 1, 10
+23287: 30, 1, 11
+23288: 30, 1, 12
+23289: 30, 1, 13
+23290: 30, 1, 14
+23291: 30, 1, 15
+23292: 30, 2, 0
+23293: 30, 2, 1
+23294: 30, 2, 2
+23295: 30, 2, 3
+23296: 30, 2, 4
+23297: 30, 2, 5
+23298: 30, 2, 6
+23299: 30, 2, 7
+23300: 30, 2, 8
+23301: 30, 2, 9
+23302: 30, 2, 10
+23303: 30, 2, 11
+23304: 30, 2, 12
+23305: 30, 2, 13
+23306: 30, 2, 14
+23307: 30, 2, 15
+23308: 30, 2, 16
+23309: 30, 3, 0
+23310: 30, 3, 1
+23311: 30, 3, 2
+23312: 30, 3, 3
+23313: 30, 3, 4
+23314: 30, 3, 5
+23315: 30, 3, 6
+23316: 30, 3, 7
+23317: 30, 3, 8
+23318: 30, 3, 9
+23319: 30, 3, 10
+23320: 30, 3, 11
+23321: 30, 3, 12
+23322: 30, 3, 13
+23323: 30, 3, 14
+23324: 30, 3, 15
+23325: 30, 4, 0
+23326: 30, 4, 1
+23327: 30, 4, 2
+23328: 30, 4, 3
+23329: 30, 4, 4
+23330: 30, 4, 5
+23331: 30, 4, 6
+23332: 30, 4, 7
+23333: 30, 4, 8
+23334: 30, 4, 9
+23335: 30, 4, 10
+23336: 30, 4, 11
+23337: 30, 4, 12
+23338: 30, 4, 13
+23339: 30, 5, 0
+23340: 30, 5, 1
+23341: 30, 5, 2
+23342: 30, 5, 3
+23343: 30, 5, 4
+23344: 30, 5, 5
+23345: 30, 5, 6
+23346: 30, 5, 7
+23347: 30, 5, 8
+23348: 30, 5, 9
+23349: 30, 5, 10
+23350: 30, 5, 11
+23351: 30, 5, 12
+23352: 30, 5, 13
+23353: 30, 5, 14
+23354: 30, 5, 15
+23355: 30, 5, 16
+23356: 30, 5, 17
+23357: 30, 5, 18
+23358: 30, 5, 19
+23359: 30, 5, 20
+23360: 30, 5, 21
+23361: 30, 5, 22
+23362: 30, 5, 23
+23363: 30, 5, 24
+23364: 30, 5, 25
+23365: 30, 5, 26
+23366: 30, 5, 27
+23367: 30, 6, 0
+23368: 30, 6, 1
+23369: 30, 6, 2
+23370: 30, 6, 3
+23371: 30, 6, 4
+23372: 30, 6, 5
+23373: 30, 6, 6
+23374: 30, 6, 7
+23375: 30, 6, 8
+23376: 30, 6, 9
+23377: 30, 6, 10
+23378: 30, 6, 11
+23379: 30, 6, 12
+23380: 30, 6, 13
+23381: 30, 6, 14
+23382: 30, 7, 0
+23383: 30, 7, 1
+23384: 30, 7, 2
+23385: 30, 7, 3
+23386: 30, 7, 4
+23387: 30, 7, 5
+23388: 30, 7, 6
+23389: 30, 7, 7
+23390: 30, 7, 8
+23391: 30, 7, 9
+23392: 30, 7, 10
+23393: 30, 7, 11
+23394: 30, 7, 12
+23395: 30, 7, 13
+23396: 30, 7, 14
+23397: 30, 7, 15
+23398: 30, 7, 16
+23399: 30, 7, 17
+23400: 30, 8, 0
+23401: 30, 8, 1
+23402: 30, 8, 2
+23403: 30, 8, 3
+23404: 30, 8, 4
+23405: 30, 8, 5
+23406: 30, 8, 6
+23407: 30, 8, 7
+23408: 30, 8, 8
+23409: 30, 8, 9
+23410: 30, 8, 10
+23411: 30, 8, 11
+23412: 30, 8, 12
+23413: 30, 8, 13
+23414: 30, 8, 14
+23415: 30, 9, 0
+23416: 30, 9, 1
+23417: 30, 9, 2
+23418: 30, 9, 3
+23419: 30, 9, 4
+23420: 30, 9, 5
+23421: 30, 9, 6
+23422: 30, 9, 7
+23423: 30, 9, 8
+23424: 30, 9, 9
+23425: 30, 9, 10
+23426: 30, 9, 11
+23427: 30, 9, 12
+23428: 30, 9, 13
+23429: 30, 9, 14
+23430: 30, 9, 15
+23431: 31, 0, 0
+23432: 31, 1, 0
+23433: 31, 1, 1
+23434: 31, 1, 2
+23435: 31, 1, 3
+23436: 31, 1, 4
+23437: 31, 1, 5
+23438: 31, 1, 6
+23439: 31, 1, 7
+23440: 31, 1, 8
+23441: 31, 1, 9
+23442: 31, 1, 10
+23443: 31, 1, 11
+23444: 31, 1, 12
+23445: 31, 1, 13
+23446: 31, 1, 14
+23447: 31, 1, 15
+23448: 31, 1, 16
+23449: 31, 1, 17
+23450: 31, 1, 18
+23451: 31, 1, 19
+23452: 31, 1, 20
+23453: 31, 1, 21
+23454: 32, 0, 0
+23455: 32, 1, 0
+23456: 32, 1, 1
+23457: 32, 1, 2
+23458: 32, 1, 3
+23459: 32, 1, 4
+23460: 32, 1, 5
+23461: 32, 1, 6
+23462: 32, 1, 7
+23463: 32, 1, 8
+23464: 32, 1, 9
+23465: 32, 1, 10
+23466: 32, 1, 11
+23467: 32, 1, 12
+23468: 32, 1, 13
+23469: 32, 1, 14
+23470: 32, 1, 15
+23471: 32, 1, 16
+23472: 32, 1, 17
+23473: 32, 2, 0
+23474: 32, 2, 1
+23475: 32, 2, 2
+23476: 32, 2, 3
+23477: 32, 2, 4
+23478: 32, 2, 5
+23479: 32, 2, 6
+23480: 32, 2, 7
+23481: 32, 2, 8
+23482: 32, 2, 9
+23483: 32, 2, 10
+23484: 32, 3, 0
+23485: 32, 3, 1
+23486: 32, 3, 2
+23487: 32, 3, 3
+23488: 32, 3, 4
+23489: 32, 3, 5
+23490: 32, 3, 6
+23491: 32, 3, 7
+23492: 32, 3, 8
+23493: 32, 3, 9
+23494: 32, 3, 10
+23495: 32, 4, 0
+23496: 32, 4, 1
+23497: 32, 4, 2
+23498: 32, 4, 3
+23499: 32, 4, 4
+23500: 32, 4, 5
+23501: 32, 4, 6
+23502: 32, 4, 7
+23503: 32, 4, 8
+23504: 32, 4, 9
+23505: 32, 4, 10
+23506: 32, 4, 11
+23507: 33, 0, 0
+23508: 33, 1, 0
+23509: 33, 1, 1
+23510: 33, 1, 2
+23511: 33, 1, 3
+23512: 33, 1, 4
+23513: 33, 1, 5
+23514: 33, 1, 6
+23515: 33, 1, 7
+23516: 33, 1, 8
+23517: 33, 1, 9
+23518: 33, 1, 10
+23519: 33, 1, 11
+23520: 33, 1, 12
+23521: 33, 1, 13
+23522: 33, 1, 14
+23523: 33, 1, 15
+23524: 33, 1, 16
+23525: 33, 2, 0
+23526: 33, 2, 1
+23527: 33, 2, 2
+23528: 33, 2, 3
+23529: 33, 2, 4
+23530: 33, 2, 5
+23531: 33, 2, 6
+23532: 33, 2, 7
+23533: 33, 2, 8
+23534: 33, 2, 9
+23535: 33, 2, 10
+23536: 33, 2, 11
+23537: 33, 2, 12
+23538: 33, 2, 13
+23539: 33, 3, 0
+23540: 33, 3, 1
+23541: 33, 3, 2
+23542: 33, 3, 3
+23543: 33, 3, 4
+23544: 33, 3, 5
+23545: 33, 3, 6
+23546: 33, 3, 7
+23547: 33, 3, 8
+23548: 33, 3, 9
+23549: 33, 3, 10
+23550: 33, 3, 11
+23551: 33, 3, 12
+23552: 33, 4, 0
+23553: 33, 4, 1
+23554: 33, 4, 2
+23555: 33, 4, 3
+23556: 33, 4, 4
+23557: 33, 4, 5
+23558: 33, 4, 6
+23559: 33, 4, 7
+23560: 33, 4, 8
+23561: 33, 4, 9
+23562: 33, 4, 10
+23563: 33, 4, 11
+23564: 33, 4, 12
+23565: 33, 4, 13
+23566: 33, 5, 0
+23567: 33, 5, 1
+23568: 33, 5, 2
+23569: 33, 5, 3
+23570: 33, 5, 4
+23571: 33, 5, 5
+23572: 33, 5, 6
+23573: 33, 5, 7
+23574: 33, 5, 8
+23575: 33, 5, 9
+23576: 33, 5, 10
+23577: 33, 5, 11
+23578: 33, 5, 12
+23579: 33, 5, 13
+23580: 33, 5, 14
+23581: 33, 5, 15
+23582: 33, 6, 0
+23583: 33, 6, 1
+23584: 33, 6, 2
+23585: 33, 6, 3
+23586: 33, 6, 4
+23587: 33, 6, 5
+23588: 33, 6, 6
+23589: 33, 6, 7
+23590: 33, 6, 8
+23591: 33, 6, 9
+23592: 33, 6, 10
+23593: 33, 6, 11
+23594: 33, 6, 12
+23595: 33, 6, 13
+23596: 33, 6, 14
+23597: 33, 6, 15
+23598: 33, 6, 16
+23599: 33, 7, 0
+23600: 33, 7, 1
+23601: 33, 7, 2
+23602: 33, 7, 3
+23603: 33, 7, 4
+23604: 33, 7, 5
+23605: 33, 7, 6
+23606: 33, 7, 7
+23607: 33, 7, 8
+23608: 33, 7, 9
+23609: 33, 7, 10
+23610: 33, 7, 11
+23611: 33, 7, 12
+23612: 33, 7, 13
+23613: 33, 7, 14
+23614: 33, 7, 15
+23615: 33, 7, 16
+23616: 33, 7, 17
+23617: 33, 7, 18
+23618: 33, 7, 19
+23619: 33, 7, 20
+23620: 34, 0, 0
+23621: 34, 1, 0
+23622: 34, 1, 1
+23623: 34, 1, 2
+23624: 34, 1, 3
+23625: 34, 1, 4
+23626: 34, 1, 5
+23627: 34, 1, 6
+23628: 34, 1, 7
+23629: 34, 1, 8
+23630: 34, 1, 9
+23631: 34, 1, 10
+23632: 34, 1, 11
+23633: 34, 1, 12
+23634: 34, 1, 13
+23635: 34, 1, 14
+23636: 34, 1, 15
+23637: 34, 2, 0
+23638: 34, 2, 1
+23639: 34, 2, 2
+23640: 34, 2, 3
+23641: 34, 2, 4
+23642: 34, 2, 5
+23643: 34, 2, 6
+23644: 34, 2, 7
+23645: 34, 2, 8
+23646: 34, 2, 9
+23647: 34, 2, 10
+23648: 34, 2, 11
+23649: 34, 2, 12
+23650: 34, 2, 13
+23651: 34, 3, 0
+23652: 34, 3, 1
+23653: 34, 3, 2
+23654: 34, 3, 3
+23655: 34, 3, 4
+23656: 34, 3, 5
+23657: 34, 3, 6
+23658: 34, 3, 7
+23659: 34, 3, 8
+23660: 34, 3, 9
+23661: 34, 3, 10
+23662: 34, 3, 11
+23663: 34, 3, 12
+23664: 34, 3, 13
+23665: 34, 3, 14
+23666: 34, 3, 15
+23667: 34, 3, 16
+23668: 34, 3, 17
+23669: 34, 3, 18
+23670: 34, 3, 19
+23671: 35, 0, 0
+23672: 35, 1, 0
+23673: 35, 1, 1
+23674: 35, 1, 2
+23675: 35, 1, 3
+23676: 35, 1, 4
+23677: 35, 1, 5
+23678: 35, 1, 6
+23679: 35, 1, 7
+23680: 35, 1, 8
+23681: 35, 1, 9
+23682: 35, 1, 10
+23683: 35, 1, 11
+23684: 35, 1, 12
+23685: 35, 1, 13
+23686: 35, 1, 14
+23687: 35, 1, 15
+23688: 35, 1, 16
+23689: 35, 1, 17
+23690: 35, 2, 0
+23691: 35, 2, 1
+23692: 35, 2, 2
+23693: 35, 2, 3
+23694: 35, 2, 4
+23695: 35, 2, 5
+23696: 35, 2, 6
+23697: 35, 2, 7
+23698: 35, 2, 8
+23699: 35, 2, 9
+23700: 35, 2, 10
+23701: 35, 2, 11
+23702: 35, 2, 12
+23703: 35, 2, 13
+23704: 35, 2, 14
+23705: 35, 2, 15
+23706: 35, 2, 16
+23707: 35, 2, 17
+23708: 35, 2, 18
+23709: 35, 2, 19
+23710: 35, 2, 20
+23711: 35, 3, 0
+23712: 35, 3, 1
+23713: 35, 3, 2
+23714: 35, 3, 3
+23715: 35, 3, 4
+23716: 35, 3, 5
+23717: 35, 3, 6
+23718: 35, 3, 7
+23719: 35, 3, 8
+23720: 35, 3, 9
+23721: 35, 3, 10
+23722: 35, 3, 11
+23723: 35, 3, 12
+23724: 35, 3, 13
+23725: 35, 3, 14
+23726: 35, 3, 15
+23727: 35, 3, 16
+23728: 35, 3, 17
+23729: 35, 3, 18
+23730: 35, 3, 19
+23731: 36, 0, 0
+23732: 36, 1, 0
+23733: 36, 1, 1
+23734: 36, 1, 2
+23735: 36, 1, 3
+23736: 36, 1, 4
+23737: 36, 1, 5
+23738: 36, 1, 6
+23739: 36, 1, 7
+23740: 36, 1, 8
+23741: 36, 1, 9
+23742: 36, 1, 10
+23743: 36, 1, 11
+23744: 36, 1, 12
+23745: 36, 1, 13
+23746: 36, 1, 14
+23747: 36, 1, 15
+23748: 36, 1, 16
+23749: 36, 1, 17
+23750: 36, 1, 18
+23751: 36, 2, 0
+23752: 36, 2, 1
+23753: 36, 2, 2
+23754: 36, 2, 3
+23755: 36, 2, 4
+23756: 36, 2, 5
+23757: 36, 2, 6
+23758: 36, 2, 7
+23759: 36, 2, 8
+23760: 36, 2, 9
+23761: 36, 2, 10
+23762: 36, 2, 11
+23763: 36, 2, 12
+23764: 36, 2, 13
+23765: 36, 2, 14
+23766: 36, 2, 15
+23767: 36, 3, 0
+23768: 36, 3, 1
+23769: 36, 3, 2
+23770: 36, 3, 3
+23771: 36, 3, 4
+23772: 36, 3, 5
+23773: 36, 3, 6
+23774: 36, 3, 7
+23775: 36, 3, 8
+23776: 36, 3, 9
+23777: 36, 3, 10
+23778: 36, 3, 11
+23779: 36, 3, 12
+23780: 36, 3, 13
+23781: 36, 3, 14
+23782: 36, 3, 15
+23783: 36, 3, 16
+23784: 36, 3, 17
+23785: 36, 3, 18
+23786: 36, 3, 19
+23787: 36, 3, 20
+23788: 37, 0, 0
+23789: 37, 1, 0
+23790: 37, 1, 1
+23791: 37, 1, 2
+23792: 37, 1, 3
+23793: 37, 1, 4
+23794: 37, 1, 5
+23795: 37, 1, 6
+23796: 37, 1, 7
+23797: 37, 1, 8
+23798: 37, 1, 9
+23799: 37, 1, 10
+23800: 37, 1, 11
+23801: 37, 1, 12
+23802: 37, 1, 13
+23803: 37, 1, 14
+23804: 37, 1, 15
+23805: 37, 2, 0
+23806: 37, 2, 1
+23807: 37, 2, 2
+23808: 37, 2, 3
+23809: 37, 2, 4
+23810: 37, 2, 5
+23811: 37, 2, 6
+23812: 37, 2, 7
+23813: 37, 2, 8
+23814: 37, 2, 9
+23815: 37, 2, 10
+23816: 37, 2, 11
+23817: 37, 2, 12
+23818: 37, 2, 13
+23819: 37, 2, 14
+23820: 37, 2, 15
+23821: 37, 2, 16
+23822: 37, 2, 17
+23823: 37, 2, 18
+23824: 37, 2, 19
+23825: 37, 2, 20
+23826: 37, 2, 21
+23827: 37, 2, 22
+23828: 37, 2, 23
+23829: 38, 0, 0
+23830: 38, 1, 0
+23831: 38, 1, 1
+23832: 38, 1, 2
+23833: 38, 1, 3
+23834: 38, 1, 4
+23835: 38, 1, 5
+23836: 38, 1, 6
+23837: 38, 1, 7
+23838: 38, 1, 8
+23839: 38, 1, 9
+23840: 38, 1, 10
+23841: 38, 1, 11
+23842: 38, 1, 12
+23843: 38, 1, 13
+23844: 38, 1, 14
+23845: 38, 1, 15
+23846: 38, 1, 16
+23847: 38, 1, 17
+23848: 38, 1, 18
+23849: 38, 1, 19
+23850: 38, 1, 20
+23851: 38, 1, 21
+23852: 38, 2, 0
+23853: 38, 2, 1
+23854: 38, 2, 2
+23855: 38, 2, 3
+23856: 38, 2, 4
+23857: 38, 2, 5
+23858: 38, 2, 6
+23859: 38, 2, 7
+23860: 38, 2, 8
+23861: 38, 2, 9
+23862: 38, 2, 10
+23863: 38, 2, 11
+23864: 38, 2, 12
+23865: 38, 2, 13
+23866: 38, 3, 0
+23867: 38, 3, 1
+23868: 38, 3, 2
+23869: 38, 3, 3
+23870: 38, 3, 4
+23871: 38, 3, 5
+23872: 38, 3, 6
+23873: 38, 3, 7
+23874: 38, 3, 8
+23875: 38, 3, 9
+23876: 38, 3, 10
+23877: 38, 4, 0
+23878: 38, 4, 1
+23879: 38, 4, 2
+23880: 38, 4, 3
+23881: 38, 4, 4
+23882: 38, 4, 5
+23883: 38, 4, 6
+23884: 38, 4, 7
+23885: 38, 4, 8
+23886: 38, 4, 9
+23887: 38, 4, 10
+23888: 38, 4, 11
+23889: 38, 4, 12
+23890: 38, 4, 13
+23891: 38, 4, 14
+23892: 38, 5, 0
+23893: 38, 5, 1
+23894: 38, 5, 2
+23895: 38, 5, 3
+23896: 38, 5, 4
+23897: 38, 5, 5
+23898: 38, 5, 6
+23899: 38, 5, 7
+23900: 38, 5, 8
+23901: 38, 5, 9
+23902: 38, 5, 10
+23903: 38, 5, 11
+23904: 38, 6, 0
+23905: 38, 6, 1
+23906: 38, 6, 2
+23907: 38, 6, 3
+23908: 38, 6, 4
+23909: 38, 6, 5
+23910: 38, 6, 6
+23911: 38, 6, 7
+23912: 38, 6, 8
+23913: 38, 6, 9
+23914: 38, 6, 10
+23915: 38, 6, 11
+23916: 38, 6, 12
+23917: 38, 6, 13
+23918: 38, 6, 14
+23919: 38, 6, 15
+23920: 38, 7, 0
+23921: 38, 7, 1
+23922: 38, 7, 2
+23923: 38, 7, 3
+23924: 38, 7, 4
+23925: 38, 7, 5
+23926: 38, 7, 6
+23927: 38, 7, 7
+23928: 38, 7, 8
+23929: 38, 7, 9
+23930: 38, 7, 10
+23931: 38, 7, 11
+23932: 38, 7, 12
+23933: 38, 7, 13
+23934: 38, 7, 14
+23935: 38, 8, 0
+23936: 38, 8, 1
+23937: 38, 8, 2
+23938: 38, 8, 3
+23939: 38, 8, 4
+23940: 38, 8, 5
+23941: 38, 8, 6
+23942: 38, 8, 7
+23943: 38, 8, 8
+23944: 38, 8, 9
+23945: 38, 8, 10
+23946: 38, 8, 11
+23947: 38, 8, 12
+23948: 38, 8, 13
+23949: 38, 8, 14
+23950: 38, 8, 15
+23951: 38, 8, 16
+23952: 38, 8, 17
+23953: 38, 8, 18
+23954: 38, 8, 19
+23955: 38, 8, 20
+23956: 38, 8, 21
+23957: 38, 8, 22
+23958: 38, 8, 23
+23959: 38, 9, 0
+23960: 38, 9, 1
+23961: 38, 9, 2
+23962: 38, 9, 3
+23963: 38, 9, 4
+23964: 38, 9, 5
+23965: 38, 9, 6
+23966: 38, 9, 7
+23967: 38, 9, 8
+23968: 38, 9, 9
+23969: 38, 9, 10
+23970: 38, 9, 11
+23971: 38, 9, 12
+23972: 38, 9, 13
+23973: 38, 9, 14
+23974: 38, 9, 15
+23975: 38, 9, 16
+23976: 38, 9, 17
+23977: 38, 10, 0
+23978: 38, 10, 1
+23979: 38, 10, 2
+23980: 38, 10, 3
+23981: 38, 10, 4
+23982: 38, 10, 5
+23983: 38, 10, 6
+23984: 38, 10, 7
+23985: 38, 10, 8
+23986: 38, 10, 9
+23987: 38, 10, 10
+23988: 38, 10, 11
+23989: 38, 10, 12
+23990: 38, 11, 0
+23991: 38, 11, 1
+23992: 38, 11, 2
+23993: 38, 11, 3
+23994: 38, 11, 4
+23995: 38, 11, 5
+23996: 38, 11, 6
+23997: 38, 11, 7
+23998: 38, 11, 8
+23999: 38, 11, 9
+24000: 38, 11, 10
+24001: 38, 11, 11
+24002: 38, 11, 12
+24003: 38, 11, 13
+24004: 38, 11, 14
+24005: 38, 11, 15
+24006: 38, 11, 16
+24007: 38, 11, 17
+24008: 38, 12, 0
+24009: 38, 12, 1
+24010: 38, 12, 2
+24011: 38, 12, 3
+24012: 38, 12, 4
+24013: 38, 12, 5
+24014: 38, 12, 6
+24015: 38, 12, 7
+24016: 38, 12, 8
+24017: 38, 12, 9
+24018: 38, 12, 10
+24019: 38, 12, 11
+24020: 38, 12, 12
+24021: 38, 12, 13
+24022: 38, 12, 14
+24023: 38, 13, 0
+24024: 38, 13, 1
+24025: 38, 13, 2
+24026: 38, 13, 3
+24027: 38, 13, 4
+24028: 38, 13, 5
+24029: 38, 13, 6
+24030: 38, 13, 7
+24031: 38, 13, 8
+24032: 38, 13, 9
+24033: 38, 14, 0
+24034: 38, 14, 1
+24035: 38, 14, 2
+24036: 38, 14, 3
+24037: 38, 14, 4
+24038: 38, 14, 5
+24039: 38, 14, 6
+24040: 38, 14, 7
+24041: 38, 14, 8
+24042: 38, 14, 9
+24043: 38, 14, 10
+24044: 38, 14, 11
+24045: 38, 14, 12
+24046: 38, 14, 13
+24047: 38, 14, 14
+24048: 38, 14, 15
+24049: 38, 14, 16
+24050: 38, 14, 17
+24051: 38, 14, 18
+24052: 38, 14, 19
+24053: 38, 14, 20
+24054: 38, 14, 21
+24055: 39, 0, 0
+24056: 39, 1, 0
+24057: 39, 1, 1
+24058: 39, 1, 2
+24059: 39, 1, 3
+24060: 39, 1, 4
+24061: 39, 1, 5
+24062: 39, 1, 6
+24063: 39, 1, 7
+24064: 39, 1, 8
+24065: 39, 1, 9
+24066: 39, 1, 10
+24067: 39, 1, 11
+24068: 39, 1, 12
+24069: 39, 1, 13
+24070: 39, 1, 14
+24071: 39, 2, 0
+24072: 39, 2, 1
+24073: 39, 2, 2
+24074: 39, 2, 3
+24075: 39, 2, 4
+24076: 39, 2, 5
+24077: 39, 2, 6
+24078: 39, 2, 7
+24079: 39, 2, 8
+24080: 39, 2, 9
+24081: 39, 2, 10
+24082: 39, 2, 11
+24083: 39, 2, 12
+24084: 39, 2, 13
+24085: 39, 2, 14
+24086: 39, 2, 15
+24087: 39, 2, 16
+24088: 39, 2, 17
+24089: 39, 3, 0
+24090: 39, 3, 1
+24091: 39, 3, 2
+24092: 39, 3, 3
+24093: 39, 3, 4
+24094: 39, 3, 5
+24095: 39, 3, 6
+24096: 39, 3, 7
+24097: 39, 3, 8
+24098: 39, 3, 9
+24099: 39, 3, 10
+24100: 39, 3, 11
+24101: 39, 3, 12
+24102: 39, 3, 13
+24103: 39, 3, 14
+24104: 39, 3, 15
+24105: 39, 3, 16
+24106: 39, 3, 17
+24107: 39, 3, 18
+24108: 39, 4, 0
+24109: 39, 4, 1
+24110: 39, 4, 2
+24111: 39, 4, 3
+24112: 39, 4, 4
+24113: 39, 4, 5
+24114: 39, 4, 6
+24115: 40, -1, 0
+24116: 40, 0, 0
+24117: 40, 1, 0
+24118: 40, 1, 1
+24119: 40, 1, 2
+24120: 40, 1, 3
+24121: 40, 1, 4
+24122: 40, 1, 5
+24123: 40, 1, 6
+24124: 40, 1, 7
+24125: 40, 1, 8
+24126: 40, 1, 9
+24127: 40, 1, 10
+24128: 40, 1, 11
+24129: 40, 1, 12
+24130: 40, 1, 13
+24131: 40, 1, 14
+24132: 40, 1, 15
+24133: 40, 1, 16
+24134: 40, 1, 17
+24135: 40, 1, 18
+24136: 40, 1, 19
+24137: 40, 1, 20
+24138: 40, 1, 21
+24139: 40, 1, 22
+24140: 40, 1, 23
+24141: 40, 1, 24
+24142: 40, 1, 25
+24143: 40, 2, 0
+24144: 40, 2, 1
+24145: 40, 2, 2
+24146: 40, 2, 3
+24147: 40, 2, 4
+24148: 40, 2, 5
+24149: 40, 2, 6
+24150: 40, 2, 7
+24151: 40, 2, 8
+24152: 40, 2, 9
+24153: 40, 2, 10
+24154: 40, 2, 11
+24155: 40, 2, 12
+24156: 40, 2, 13
+24157: 40, 2, 14
+24158: 40, 2, 15
+24159: 40, 2, 16
+24160: 40, 2, 17
+24161: 40, 2, 18
+24162: 40, 2, 19
+24163: 40, 2, 20
+24164: 40, 2, 21
+24165: 40, 2, 22
+24166: 40, 2, 23
+24167: 40, 3, 0
+24168: 40, 3, 1
+24169: 40, 3, 2
+24170: 40, 3, 3
+24171: 40, 3, 4
+24172: 40, 3, 5
+24173: 40, 3, 6
+24174: 40, 3, 7
+24175: 40, 3, 8
+24176: 40, 3, 9
+24177: 40, 3, 10
+24178: 40, 3, 11
+24179: 40, 3, 12
+24180: 40, 3, 13
+24181: 40, 3, 14
+24182: 40, 3, 15
+24183: 40, 3, 16
+24184: 40, 3, 17
+24185: 40, 4, 0
+24186: 40, 4, 1
+24187: 40, 4, 2
+24188: 40, 4, 3
+24189: 40, 4, 4
+24190: 40, 4, 5
+24191: 40, 4, 6
+24192: 40, 4, 7
+24193: 40, 4, 8
+24194: 40, 4, 9
+24195: 40, 4, 10
+24196: 40, 4, 11
+24197: 40, 4, 12
+24198: 40, 4, 13
+24199: 40, 4, 14
+24200: 40, 4, 15
+24201: 40, 4, 16
+24202: 40, 4, 17
+24203: 40, 4, 18
+24204: 40, 4, 19
+24205: 40, 4, 20
+24206: 40, 4, 21
+24207: 40, 4, 22
+24208: 40, 4, 23
+24209: 40, 4, 24
+24210: 40, 4, 25
+24211: 40, 5, 0
+24212: 40, 5, 1
+24213: 40, 5, 2
+24214: 40, 5, 3
+24215: 40, 5, 4
+24216: 40, 5, 5
+24217: 40, 5, 6
+24218: 40, 5, 7
+24219: 40, 5, 8
+24220: 40, 5, 9
+24221: 40, 5, 10
+24222: 40, 5, 11
+24223: 40, 5, 12
+24224: 40, 5, 13
+24225: 40, 5, 14
+24226: 40, 5, 15
+24227: 40, 5, 16
+24228: 40, 5, 17
+24229: 40, 5, 18
+24230: 40, 5, 19
+24231: 40, 5, 20
+24232: 40, 5, 21
+24233: 40, 5, 22
+24234: 40, 5, 23
+24235: 40, 5, 24
+24236: 40, 5, 25
+24237: 40, 5, 26
+24238: 40, 5, 27
+24239: 40, 5, 28
+24240: 40, 5, 29
+24241: 40, 5, 30
+24242: 40, 5, 31
+24243: 40, 5, 32
+24244: 40, 5, 33
+24245: 40, 5, 34
+24246: 40, 5, 35
+24247: 40, 5, 36
+24248: 40, 5, 37
+24249: 40, 5, 38
+24250: 40, 5, 39
+24251: 40, 5, 40
+24252: 40, 5, 41
+24253: 40, 5, 42
+24254: 40, 5, 43
+24255: 40, 5, 44
+24256: 40, 5, 45
+24257: 40, 5, 46
+24258: 40, 5, 47
+24259: 40, 5, 48
+24260: 40, 6, 0
+24261: 40, 6, 1
+24262: 40, 6, 2
+24263: 40, 6, 3
+24264: 40, 6, 4
+24265: 40, 6, 5
+24266: 40, 6, 6
+24267: 40, 6, 7
+24268: 40, 6, 8
+24269: 40, 6, 9
+24270: 40, 6, 10
+24271: 40, 6, 11
+24272: 40, 6, 12
+24273: 40, 6, 13
+24274: 40, 6, 14
+24275: 40, 6, 15
+24276: 40, 6, 16
+24277: 40, 6, 17
+24278: 40, 6, 18
+24279: 40, 6, 19
+24280: 40, 6, 20
+24281: 40, 6, 21
+24282: 40, 6, 22
+24283: 40, 6, 23
+24284: 40, 6, 24
+24285: 40, 6, 25
+24286: 40, 6, 26
+24287: 40, 6, 27
+24288: 40, 6, 28
+24289: 40, 6, 29
+24290: 40, 6, 30
+24291: 40, 6, 31
+24292: 40, 6, 32
+24293: 40, 6, 33
+24294: 40, 6, 34
+24295: 40, 7, 0
+24296: 40, 7, 1
+24297: 40, 7, 2
+24298: 40, 7, 3
+24299: 40, 7, 4
+24300: 40, 7, 5
+24301: 40, 7, 6
+24302: 40, 7, 7
+24303: 40, 7, 8
+24304: 40, 7, 9
+24305: 40, 7, 10
+24306: 40, 7, 11
+24307: 40, 7, 12
+24308: 40, 7, 13
+24309: 40, 7, 14
+24310: 40, 7, 15
+24311: 40, 7, 16
+24312: 40, 7, 17
+24313: 40, 7, 18
+24314: 40, 7, 19
+24315: 40, 7, 20
+24316: 40, 7, 21
+24317: 40, 7, 22
+24318: 40, 7, 23
+24319: 40, 7, 24
+24320: 40, 7, 25
+24321: 40, 7, 26
+24322: 40, 7, 27
+24323: 40, 7, 28
+24324: 40, 7, 29
+24325: 40, 8, 0
+24326: 40, 8, 1
+24327: 40, 8, 2
+24328: 40, 8, 3
+24329: 40, 8, 4
+24330: 40, 8, 5
+24331: 40, 8, 6
+24332: 40, 8, 7
+24333: 40, 8, 8
+24334: 40, 8, 9
+24335: 40, 8, 10
+24336: 40, 8, 11
+24337: 40, 8, 12
+24338: 40, 8, 13
+24339: 40, 8, 14
+24340: 40, 8, 15
+24341: 40, 8, 16
+24342: 40, 8, 17
+24343: 40, 8, 18
+24344: 40, 8, 19
+24345: 40, 8, 20
+24346: 40, 8, 21
+24347: 40, 8, 22
+24348: 40, 8, 23
+24349: 40, 8, 24
+24350: 40, 8, 25
+24351: 40, 8, 26
+24352: 40, 8, 27
+24353: 40, 8, 28
+24354: 40, 8, 29
+24355: 40, 8, 30
+24356: 40, 8, 31
+24357: 40, 8, 32
+24358: 40, 8, 33
+24359: 40, 8, 34
+24360: 40, 9, 0
+24361: 40, 9, 1
+24362: 40, 9, 2
+24363: 40, 9, 3
+24364: 40, 9, 4
+24365: 40, 9, 5
+24366: 40, 9, 6
+24367: 40, 9, 7
+24368: 40, 9, 8
+24369: 40, 9, 9
+24370: 40, 9, 10
+24371: 40, 9, 11
+24372: 40, 9, 12
+24373: 40, 9, 13
+24374: 40, 9, 14
+24375: 40, 9, 15
+24376: 40, 9, 16
+24377: 40, 9, 17
+24378: 40, 9, 18
+24379: 40, 9, 19
+24380: 40, 9, 20
+24381: 40, 9, 21
+24382: 40, 9, 22
+24383: 40, 9, 23
+24384: 40, 9, 24
+24385: 40, 9, 25
+24386: 40, 9, 26
+24387: 40, 9, 27
+24388: 40, 9, 28
+24389: 40, 9, 29
+24390: 40, 9, 30
+24391: 40, 9, 31
+24392: 40, 9, 32
+24393: 40, 9, 33
+24394: 40, 9, 34
+24395: 40, 9, 35
+24396: 40, 9, 36
+24397: 40, 9, 37
+24398: 40, 9, 38
+24399: 40, 10, 0
+24400: 40, 10, 1
+24401: 40, 10, 2
+24402: 40, 10, 3
+24403: 40, 10, 4
+24404: 40, 10, 5
+24405: 40, 10, 6
+24406: 40, 10, 7
+24407: 40, 10, 8
+24408: 40, 10, 9
+24409: 40, 10, 10
+24410: 40, 10, 11
+24411: 40, 10, 12
+24412: 40, 10, 13
+24413: 40, 10, 14
+24414: 40, 10, 15
+24415: 40, 10, 16
+24416: 40, 10, 17
+24417: 40, 10, 18
+24418: 40, 10, 19
+24419: 40, 10, 20
+24420: 40, 10, 21
+24421: 40, 10, 22
+24422: 40, 10, 23
+24423: 40, 10, 24
+24424: 40, 10, 25
+24425: 40, 10, 26
+24426: 40, 10, 27
+24427: 40, 10, 28
+24428: 40, 10, 29
+24429: 40, 10, 30
+24430: 40, 10, 31
+24431: 40, 10, 32
+24432: 40, 10, 33
+24433: 40, 10, 34
+24434: 40, 10, 35
+24435: 40, 10, 36
+24436: 40, 10, 37
+24437: 40, 10, 38
+24438: 40, 10, 39
+24439: 40, 10, 40
+24440: 40, 10, 41
+24441: 40, 10, 42
+24442: 40, 11, 0
+24443: 40, 11, 1
+24444: 40, 11, 2
+24445: 40, 11, 3
+24446: 40, 11, 4
+24447: 40, 11, 5
+24448: 40, 11, 6
+24449: 40, 11, 7
+24450: 40, 11, 8
+24451: 40, 11, 9
+24452: 40, 11, 10
+24453: 40, 11, 11
+24454: 40, 11, 12
+24455: 40, 11, 13
+24456: 40, 11, 14
+24457: 40, 11, 15
+24458: 40, 11, 16
+24459: 40, 11, 17
+24460: 40, 11, 18
+24461: 40, 11, 19
+24462: 40, 11, 20
+24463: 40, 11, 21
+24464: 40, 11, 22
+24465: 40, 11, 23
+24466: 40, 11, 24
+24467: 40, 11, 25
+24468: 40, 11, 26
+24469: 40, 11, 27
+24470: 40, 11, 28
+24471: 40, 11, 29
+24472: 40, 11, 30
+24473: 40, 12, 0
+24474: 40, 12, 1
+24475: 40, 12, 2
+24476: 40, 12, 3
+24477: 40, 12, 4
+24478: 40, 12, 5
+24479: 40, 12, 6
+24480: 40, 12, 7
+24481: 40, 12, 8
+24482: 40, 12, 9
+24483: 40, 12, 10
+24484: 40, 12, 11
+24485: 40, 12, 12
+24486: 40, 12, 13
+24487: 40, 12, 14
+24488: 40, 12, 15
+24489: 40, 12, 16
+24490: 40, 12, 17
+24491: 40, 12, 18
+24492: 40, 12, 19
+24493: 40, 12, 20
+24494: 40, 12, 21
+24495: 40, 12, 22
+24496: 40, 12, 23
+24497: 40, 12, 24
+24498: 40, 12, 25
+24499: 40, 12, 26
+24500: 40, 12, 27
+24501: 40, 12, 28
+24502: 40, 12, 29
+24503: 40, 12, 30
+24504: 40, 12, 31
+24505: 40, 12, 32
+24506: 40, 12, 33
+24507: 40, 12, 34
+24508: 40, 12, 35
+24509: 40, 12, 36
+24510: 40, 12, 37
+24511: 40, 12, 38
+24512: 40, 12, 39
+24513: 40, 12, 40
+24514: 40, 12, 41
+24515: 40, 12, 42
+24516: 40, 12, 43
+24517: 40, 12, 44
+24518: 40, 12, 45
+24519: 40, 12, 46
+24520: 40, 12, 47
+24521: 40, 12, 48
+24522: 40, 12, 49
+24523: 40, 12, 50
+24524: 40, 13, 0
+24525: 40, 13, 1
+24526: 40, 13, 2
+24527: 40, 13, 3
+24528: 40, 13, 4
+24529: 40, 13, 5
+24530: 40, 13, 6
+24531: 40, 13, 7
+24532: 40, 13, 8
+24533: 40, 13, 9
+24534: 40, 13, 10
+24535: 40, 13, 11
+24536: 40, 13, 12
+24537: 40, 13, 13
+24538: 40, 13, 14
+24539: 40, 13, 15
+24540: 40, 13, 16
+24541: 40, 13, 17
+24542: 40, 13, 18
+24543: 40, 13, 19
+24544: 40, 13, 20
+24545: 40, 13, 21
+24546: 40, 13, 22
+24547: 40, 13, 23
+24548: 40, 13, 24
+24549: 40, 13, 25
+24550: 40, 13, 26
+24551: 40, 13, 27
+24552: 40, 13, 28
+24553: 40, 13, 29
+24554: 40, 13, 30
+24555: 40, 13, 31
+24556: 40, 13, 32
+24557: 40, 13, 33
+24558: 40, 13, 34
+24559: 40, 13, 35
+24560: 40, 13, 36
+24561: 40, 13, 37
+24562: 40, 13, 38
+24563: 40, 13, 39
+24564: 40, 13, 40
+24565: 40, 13, 41
+24566: 40, 13, 42
+24567: 40, 13, 43
+24568: 40, 13, 44
+24569: 40, 13, 45
+24570: 40, 13, 46
+24571: 40, 13, 47
+24572: 40, 13, 48
+24573: 40, 13, 49
+24574: 40, 13, 50
+24575: 40, 13, 51
+24576: 40, 13, 52
+24577: 40, 13, 53
+24578: 40, 13, 54
+24579: 40, 13, 55
+24580: 40, 13, 56
+24581: 40, 13, 57
+24582: 40, 13, 58
+24583: 40, 14, 0
+24584: 40, 14, 1
+24585: 40, 14, 2
+24586: 40, 14, 3
+24587: 40, 14, 4
+24588: 40, 14, 5
+24589: 40, 14, 6
+24590: 40, 14, 7
+24591: 40, 14, 8
+24592: 40, 14, 9
+24593: 40, 14, 10
+24594: 40, 14, 11
+24595: 40, 14, 12
+24596: 40, 14, 13
+24597: 40, 14, 14
+24598: 40, 14, 15
+24599: 40, 14, 16
+24600: 40, 14, 17
+24601: 40, 14, 18
+24602: 40, 14, 19
+24603: 40, 14, 20
+24604: 40, 14, 21
+24605: 40, 14, 22
+24606: 40, 14, 23
+24607: 40, 14, 24
+24608: 40, 14, 25
+24609: 40, 14, 26
+24610: 40, 14, 27
+24611: 40, 14, 28
+24612: 40, 14, 29
+24613: 40, 14, 30
+24614: 40, 14, 31
+24615: 40, 14, 32
+24616: 40, 14, 33
+24617: 40, 14, 34
+24618: 40, 14, 35
+24619: 40, 14, 36
+24620: 40, 15, 0
+24621: 40, 15, 1
+24622: 40, 15, 2
+24623: 40, 15, 3
+24624: 40, 15, 4
+24625: 40, 15, 5
+24626: 40, 15, 6
+24627: 40, 15, 7
+24628: 40, 15, 8
+24629: 40, 15, 9
+24630: 40, 15, 10
+24631: 40, 15, 11
+24632: 40, 15, 12
+24633: 40, 15, 13
+24634: 40, 15, 14
+24635: 40, 15, 15
+24636: 40, 15, 16
+24637: 40, 15, 17
+24638: 40, 15, 18
+24639: 40, 15, 19
+24640: 40, 15, 20
+24641: 40, 15, 21
+24642: 40, 15, 22
+24643: 40, 15, 23
+24644: 40, 15, 24
+24645: 40, 15, 25
+24646: 40, 15, 26
+24647: 40, 15, 27
+24648: 40, 15, 28
+24649: 40, 15, 29
+24650: 40, 15, 30
+24651: 40, 15, 31
+24652: 40, 15, 32
+24653: 40, 15, 33
+24654: 40, 15, 34
+24655: 40, 15, 35
+24656: 40, 15, 36
+24657: 40, 15, 37
+24658: 40, 15, 38
+24659: 40, 15, 39
+24660: 40, 16, 0
+24661: 40, 16, 1
+24662: 40, 16, 2
+24663: 40, 16, 3
+24664: 40, 16, 4
+24665: 40, 16, 5
+24666: 40, 16, 6
+24667: 40, 16, 7
+24668: 40, 16, 8
+24669: 40, 16, 9
+24670: 40, 16, 10
+24671: 40, 16, 11
+24672: 40, 16, 12
+24673: 40, 16, 13
+24674: 40, 16, 14
+24675: 40, 16, 15
+24676: 40, 16, 16
+24677: 40, 16, 17
+24678: 40, 16, 18
+24679: 40, 16, 19
+24680: 40, 16, 20
+24681: 40, 16, 21
+24682: 40, 16, 22
+24683: 40, 16, 23
+24684: 40, 16, 24
+24685: 40, 16, 25
+24686: 40, 16, 26
+24687: 40, 16, 27
+24688: 40, 16, 28
+24689: 40, 17, 0
+24690: 40, 17, 1
+24691: 40, 17, 2
+24692: 40, 17, 3
+24693: 40, 17, 4
+24694: 40, 17, 5
+24695: 40, 17, 6
+24696: 40, 17, 7
+24697: 40, 17, 8
+24698: 40, 17, 9
+24699: 40, 17, 10
+24700: 40, 17, 11
+24701: 40, 17, 12
+24702: 40, 17, 13
+24703: 40, 17, 14
+24704: 40, 17, 15
+24705: 40, 17, 16
+24706: 40, 17, 17
+24707: 40, 17, 18
+24708: 40, 17, 19
+24709: 40, 17, 20
+24710: 40, 17, 21
+24711: 40, 17, 22
+24712: 40, 17, 23
+24713: 40, 17, 24
+24714: 40, 17, 25
+24715: 40, 17, 26
+24716: 40, 17, 27
+24717: 40, 18, 0
+24718: 40, 18, 1
+24719: 40, 18, 2
+24720: 40, 18, 3
+24721: 40, 18, 4
+24722: 40, 18, 5
+24723: 40, 18, 6
+24724: 40, 18, 7
+24725: 40, 18, 8
+24726: 40, 18, 9
+24727: 40, 18, 10
+24728: 40, 18, 11
+24729: 40, 18, 12
+24730: 40, 18, 13
+24731: 40, 18, 14
+24732: 40, 18, 15
+24733: 40, 18, 16
+24734: 40, 18, 17
+24735: 40, 18, 18
+24736: 40, 18, 19
+24737: 40, 18, 20
+24738: 40, 18, 21
+24739: 40, 18, 22
+24740: 40, 18, 23
+24741: 40, 18, 24
+24742: 40, 18, 25
+24743: 40, 18, 26
+24744: 40, 18, 27
+24745: 40, 18, 28
+24746: 40, 18, 29
+24747: 40, 18, 30
+24748: 40, 18, 31
+24749: 40, 18, 32
+24750: 40, 18, 33
+24751: 40, 18, 34
+24752: 40, 18, 35
+24753: 40, 19, 0
+24754: 40, 19, 1
+24755: 40, 19, 2
+24756: 40, 19, 3
+24757: 40, 19, 4
+24758: 40, 19, 5
+24759: 40, 19, 6
+24760: 40, 19, 7
+24761: 40, 19, 8
+24762: 40, 19, 9
+24763: 40, 19, 10
+24764: 40, 19, 11
+24765: 40, 19, 12
+24766: 40, 19, 13
+24767: 40, 19, 14
+24768: 40, 19, 15
+24769: 40, 19, 16
+24770: 40, 19, 17
+24771: 40, 19, 18
+24772: 40, 19, 19
+24773: 40, 19, 20
+24774: 40, 19, 21
+24775: 40, 19, 22
+24776: 40, 19, 23
+24777: 40, 19, 24
+24778: 40, 19, 25
+24779: 40, 19, 26
+24780: 40, 19, 27
+24781: 40, 19, 28
+24782: 40, 19, 29
+24783: 40, 19, 30
+24784: 40, 20, 0
+24785: 40, 20, 1
+24786: 40, 20, 2
+24787: 40, 20, 3
+24788: 40, 20, 4
+24789: 40, 20, 5
+24790: 40, 20, 6
+24791: 40, 20, 7
+24792: 40, 20, 8
+24793: 40, 20, 9
+24794: 40, 20, 10
+24795: 40, 20, 11
+24796: 40, 20, 12
+24797: 40, 20, 13
+24798: 40, 20, 14
+24799: 40, 20, 15
+24800: 40, 20, 16
+24801: 40, 20, 17
+24802: 40, 20, 18
+24803: 40, 20, 19
+24804: 40, 20, 20
+24805: 40, 20, 21
+24806: 40, 20, 22
+24807: 40, 20, 23
+24808: 40, 20, 24
+24809: 40, 20, 25
+24810: 40, 20, 26
+24811: 40, 20, 27
+24812: 40, 20, 28
+24813: 40, 20, 29
+24814: 40, 20, 30
+24815: 40, 20, 31
+24816: 40, 20, 32
+24817: 40, 20, 33
+24818: 40, 20, 34
+24819: 40, 21, 0
+24820: 40, 21, 1
+24821: 40, 21, 2
+24822: 40, 21, 3
+24823: 40, 21, 4
+24824: 40, 21, 5
+24825: 40, 21, 6
+24826: 40, 21, 7
+24827: 40, 21, 8
+24828: 40, 21, 9
+24829: 40, 21, 10
+24830: 40, 21, 11
+24831: 40, 21, 12
+24832: 40, 21, 13
+24833: 40, 21, 14
+24834: 40, 21, 15
+24835: 40, 21, 16
+24836: 40, 21, 17
+24837: 40, 21, 18
+24838: 40, 21, 19
+24839: 40, 21, 20
+24840: 40, 21, 21
+24841: 40, 21, 22
+24842: 40, 21, 23
+24843: 40, 21, 24
+24844: 40, 21, 25
+24845: 40, 21, 26
+24846: 40, 21, 27
+24847: 40, 21, 28
+24848: 40, 21, 29
+24849: 40, 21, 30
+24850: 40, 21, 31
+24851: 40, 21, 32
+24852: 40, 21, 33
+24853: 40, 21, 34
+24854: 40, 21, 35
+24855: 40, 21, 36
+24856: 40, 21, 37
+24857: 40, 21, 38
+24858: 40, 21, 39
+24859: 40, 21, 40
+24860: 40, 21, 41
+24861: 40, 21, 42
+24862: 40, 21, 43
+24863: 40, 21, 44
+24864: 40, 21, 45
+24865: 40, 21, 46
+24866: 40, 22, 0
+24867: 40, 22, 1
+24868: 40, 22, 2
+24869: 40, 22, 3
+24870: 40, 22, 4
+24871: 40, 22, 5
+24872: 40, 22, 6
+24873: 40, 22, 7
+24874: 40, 22, 8
+24875: 40, 22, 9
+24876: 40, 22, 10
+24877: 40, 22, 11
+24878: 40, 22, 12
+24879: 40, 22, 13
+24880: 40, 22, 14
+24881: 40, 22, 15
+24882: 40, 22, 16
+24883: 40, 22, 17
+24884: 40, 22, 18
+24885: 40, 22, 19
+24886: 40, 22, 20
+24887: 40, 22, 21
+24888: 40, 22, 22
+24889: 40, 22, 23
+24890: 40, 22, 24
+24891: 40, 22, 25
+24892: 40, 22, 26
+24893: 40, 22, 27
+24894: 40, 22, 28
+24895: 40, 22, 29
+24896: 40, 22, 30
+24897: 40, 22, 31
+24898: 40, 22, 32
+24899: 40, 22, 33
+24900: 40, 22, 34
+24901: 40, 22, 35
+24902: 40, 22, 36
+24903: 40, 22, 37
+24904: 40, 22, 38
+24905: 40, 22, 39
+24906: 40, 22, 40
+24907: 40, 22, 41
+24908: 40, 22, 42
+24909: 40, 22, 43
+24910: 40, 22, 44
+24911: 40, 22, 45
+24912: 40, 22, 46
+24913: 40, 23, 0
+24914: 40, 23, 1
+24915: 40, 23, 2
+24916: 40, 23, 3
+24917: 40, 23, 4
+24918: 40, 23, 5
+24919: 40, 23, 6
+24920: 40, 23, 7
+24921: 40, 23, 8
+24922: 40, 23, 9
+24923: 40, 23, 10
+24924: 40, 23, 11
+24925: 40, 23, 12
+24926: 40, 23, 13
+24927: 40, 23, 14
+24928: 40, 23, 15
+24929: 40, 23, 16
+24930: 40, 23, 17
+24931: 40, 23, 18
+24932: 40, 23, 19
+24933: 40, 23, 20
+24934: 40, 23, 21
+24935: 40, 23, 22
+24936: 40, 23, 23
+24937: 40, 23, 24
+24938: 40, 23, 25
+24939: 40, 23, 26
+24940: 40, 23, 27
+24941: 40, 23, 28
+24942: 40, 23, 29
+24943: 40, 23, 30
+24944: 40, 23, 31
+24945: 40, 23, 32
+24946: 40, 23, 33
+24947: 40, 23, 34
+24948: 40, 23, 35
+24949: 40, 23, 36
+24950: 40, 23, 37
+24951: 40, 23, 38
+24952: 40, 23, 39
+24953: 40, 24, 0
+24954: 40, 24, 1
+24955: 40, 24, 2
+24956: 40, 24, 3
+24957: 40, 24, 4
+24958: 40, 24, 5
+24959: 40, 24, 6
+24960: 40, 24, 7
+24961: 40, 24, 8
+24962: 40, 24, 9
+24963: 40, 24, 10
+24964: 40, 24, 11
+24965: 40, 24, 12
+24966: 40, 24, 13
+24967: 40, 24, 14
+24968: 40, 24, 15
+24969: 40, 24, 16
+24970: 40, 24, 17
+24971: 40, 24, 18
+24972: 40, 24, 19
+24973: 40, 24, 20
+24974: 40, 24, 21
+24975: 40, 24, 22
+24976: 40, 24, 23
+24977: 40, 24, 24
+24978: 40, 24, 25
+24979: 40, 24, 26
+24980: 40, 24, 27
+24981: 40, 24, 28
+24982: 40, 24, 29
+24983: 40, 24, 30
+24984: 40, 24, 31
+24985: 40, 24, 32
+24986: 40, 24, 33
+24987: 40, 24, 34
+24988: 40, 24, 35
+24989: 40, 24, 36
+24990: 40, 24, 37
+24991: 40, 24, 38
+24992: 40, 24, 39
+24993: 40, 24, 40
+24994: 40, 24, 41
+24995: 40, 24, 42
+24996: 40, 24, 43
+24997: 40, 24, 44
+24998: 40, 24, 45
+24999: 40, 24, 46
+25000: 40, 24, 47
+25001: 40, 24, 48
+25002: 40, 24, 49
+25003: 40, 24, 50
+25004: 40, 24, 51
+25005: 40, 25, 0
+25006: 40, 25, 1
+25007: 40, 25, 2
+25008: 40, 25, 3
+25009: 40, 25, 4
+25010: 40, 25, 5
+25011: 40, 25, 6
+25012: 40, 25, 7
+25013: 40, 25, 8
+25014: 40, 25, 9
+25015: 40, 25, 10
+25016: 40, 25, 11
+25017: 40, 25, 12
+25018: 40, 25, 13
+25019: 40, 25, 14
+25020: 40, 25, 15
+25021: 40, 25, 16
+25022: 40, 25, 17
+25023: 40, 25, 18
+25024: 40, 25, 19
+25025: 40, 25, 20
+25026: 40, 25, 21
+25027: 40, 25, 22
+25028: 40, 25, 23
+25029: 40, 25, 24
+25030: 40, 25, 25
+25031: 40, 25, 26
+25032: 40, 25, 27
+25033: 40, 25, 28
+25034: 40, 25, 29
+25035: 40, 25, 30
+25036: 40, 25, 31
+25037: 40, 25, 32
+25038: 40, 25, 33
+25039: 40, 25, 34
+25040: 40, 25, 35
+25041: 40, 25, 36
+25042: 40, 25, 37
+25043: 40, 25, 38
+25044: 40, 25, 39
+25045: 40, 25, 40
+25046: 40, 25, 41
+25047: 40, 25, 42
+25048: 40, 25, 43
+25049: 40, 25, 44
+25050: 40, 25, 45
+25051: 40, 25, 46
+25052: 40, 26, 0
+25053: 40, 26, 1
+25054: 40, 26, 2
+25055: 40, 26, 3
+25056: 40, 26, 4
+25057: 40, 26, 5
+25058: 40, 26, 6
+25059: 40, 26, 7
+25060: 40, 26, 8
+25061: 40, 26, 9
+25062: 40, 26, 10
+25063: 40, 26, 11
+25064: 40, 26, 12
+25065: 40, 26, 13
+25066: 40, 26, 14
+25067: 40, 26, 15
+25068: 40, 26, 16
+25069: 40, 26, 17
+25070: 40, 26, 18
+25071: 40, 26, 19
+25072: 40, 26, 20
+25073: 40, 26, 21
+25074: 40, 26, 22
+25075: 40, 26, 23
+25076: 40, 26, 24
+25077: 40, 26, 25
+25078: 40, 26, 26
+25079: 40, 26, 27
+25080: 40, 26, 28
+25081: 40, 26, 29
+25082: 40, 26, 30
+25083: 40, 26, 31
+25084: 40, 26, 32
+25085: 40, 26, 33
+25086: 40, 26, 34
+25087: 40, 26, 35
+25088: 40, 26, 36
+25089: 40, 26, 37
+25090: 40, 26, 38
+25091: 40, 26, 39
+25092: 40, 26, 40
+25093: 40, 26, 41
+25094: 40, 26, 42
+25095: 40, 26, 43
+25096: 40, 26, 44
+25097: 40, 26, 45
+25098: 40, 26, 46
+25099: 40, 26, 47
+25100: 40, 26, 48
+25101: 40, 26, 49
+25102: 40, 26, 50
+25103: 40, 26, 51
+25104: 40, 26, 52
+25105: 40, 26, 53
+25106: 40, 26, 54
+25107: 40, 26, 55
+25108: 40, 26, 56
+25109: 40, 26, 57
+25110: 40, 26, 58
+25111: 40, 26, 59
+25112: 40, 26, 60
+25113: 40, 26, 61
+25114: 40, 26, 62
+25115: 40, 26, 63
+25116: 40, 26, 64
+25117: 40, 26, 65
+25118: 40, 26, 66
+25119: 40, 26, 67
+25120: 40, 26, 68
+25121: 40, 26, 69
+25122: 40, 26, 70
+25123: 40, 26, 71
+25124: 40, 26, 72
+25125: 40, 26, 73
+25126: 40, 26, 74
+25127: 40, 26, 75
+25128: 40, 27, 0
+25129: 40, 27, 1
+25130: 40, 27, 2
+25131: 40, 27, 3
+25132: 40, 27, 4
+25133: 40, 27, 5
+25134: 40, 27, 6
+25135: 40, 27, 7
+25136: 40, 27, 8
+25137: 40, 27, 9
+25138: 40, 27, 10
+25139: 40, 27, 11
+25140: 40, 27, 12
+25141: 40, 27, 13
+25142: 40, 27, 14
+25143: 40, 27, 15
+25144: 40, 27, 16
+25145: 40, 27, 17
+25146: 40, 27, 18
+25147: 40, 27, 19
+25148: 40, 27, 20
+25149: 40, 27, 21
+25150: 40, 27, 22
+25151: 40, 27, 23
+25152: 40, 27, 24
+25153: 40, 27, 25
+25154: 40, 27, 26
+25155: 40, 27, 27
+25156: 40, 27, 28
+25157: 40, 27, 29
+25158: 40, 27, 30
+25159: 40, 27, 31
+25160: 40, 27, 32
+25161: 40, 27, 33
+25162: 40, 27, 34
+25163: 40, 27, 35
+25164: 40, 27, 36
+25165: 40, 27, 37
+25166: 40, 27, 38
+25167: 40, 27, 39
+25168: 40, 27, 40
+25169: 40, 27, 41
+25170: 40, 27, 42
+25171: 40, 27, 43
+25172: 40, 27, 44
+25173: 40, 27, 45
+25174: 40, 27, 46
+25175: 40, 27, 47
+25176: 40, 27, 48
+25177: 40, 27, 49
+25178: 40, 27, 50
+25179: 40, 27, 51
+25180: 40, 27, 52
+25181: 40, 27, 53
+25182: 40, 27, 54
+25183: 40, 27, 55
+25184: 40, 27, 56
+25185: 40, 27, 57
+25186: 40, 27, 58
+25187: 40, 27, 59
+25188: 40, 27, 60
+25189: 40, 27, 61
+25190: 40, 27, 62
+25191: 40, 27, 63
+25192: 40, 27, 64
+25193: 40, 27, 65
+25194: 40, 27, 66
+25195: 40, 28, 0
+25196: 40, 28, 1
+25197: 40, 28, 2
+25198: 40, 28, 3
+25199: 40, 28, 4
+25200: 40, 28, 5
+25201: 40, 28, 6
+25202: 40, 28, 7
+25203: 40, 28, 8
+25204: 40, 28, 9
+25205: 40, 28, 10
+25206: 40, 28, 11
+25207: 40, 28, 12
+25208: 40, 28, 13
+25209: 40, 28, 14
+25210: 40, 28, 15
+25211: 40, 28, 16
+25212: 40, 28, 17
+25213: 40, 28, 18
+25214: 40, 28, 19
+25215: 40, 28, 20
+25216: 41, 0, 0
+25217: 41, 1, 0
+25218: 41, 1, 1
+25219: 41, 1, 2
+25220: 41, 1, 3
+25221: 41, 1, 4
+25222: 41, 1, 5
+25223: 41, 1, 6
+25224: 41, 1, 7
+25225: 41, 1, 8
+25226: 41, 1, 9
+25227: 41, 1, 10
+25228: 41, 1, 11
+25229: 41, 1, 12
+25230: 41, 1, 13
+25231: 41, 1, 14
+25232: 41, 1, 15
+25233: 41, 1, 16
+25234: 41, 1, 17
+25235: 41, 1, 18
+25236: 41, 1, 19
+25237: 41, 1, 20
+25238: 41, 1, 21
+25239: 41, 1, 22
+25240: 41, 1, 23
+25241: 41, 1, 24
+25242: 41, 1, 25
+25243: 41, 1, 26
+25244: 41, 1, 27
+25245: 41, 1, 28
+25246: 41, 1, 29
+25247: 41, 1, 30
+25248: 41, 1, 31
+25249: 41, 1, 32
+25250: 41, 1, 33
+25251: 41, 1, 34
+25252: 41, 1, 35
+25253: 41, 1, 36
+25254: 41, 1, 37
+25255: 41, 1, 38
+25256: 41, 1, 39
+25257: 41, 1, 40
+25258: 41, 1, 41
+25259: 41, 1, 42
+25260: 41, 1, 43
+25261: 41, 1, 44
+25262: 41, 1, 45
+25263: 41, 2, 0
+25264: 41, 2, 1
+25265: 41, 2, 2
+25266: 41, 2, 3
+25267: 41, 2, 4
+25268: 41, 2, 5
+25269: 41, 2, 6
+25270: 41, 2, 7
+25271: 41, 2, 8
+25272: 41, 2, 9
+25273: 41, 2, 10
+25274: 41, 2, 11
+25275: 41, 2, 12
+25276: 41, 2, 13
+25277: 41, 2, 14
+25278: 41, 2, 15
+25279: 41, 2, 16
+25280: 41, 2, 17
+25281: 41, 2, 18
+25282: 41, 2, 19
+25283: 41, 2, 20
+25284: 41, 2, 21
+25285: 41, 2, 22
+25286: 41, 2, 23
+25287: 41, 2, 24
+25288: 41, 2, 25
+25289: 41, 2, 26
+25290: 41, 2, 27
+25291: 41, 2, 28
+25292: 41, 3, 0
+25293: 41, 3, 1
+25294: 41, 3, 2
+25295: 41, 3, 3
+25296: 41, 3, 4
+25297: 41, 3, 5
+25298: 41, 3, 6
+25299: 41, 3, 7
+25300: 41, 3, 8
+25301: 41, 3, 9
+25302: 41, 3, 10
+25303: 41, 3, 11
+25304: 41, 3, 12
+25305: 41, 3, 13
+25306: 41, 3, 14
+25307: 41, 3, 15
+25308: 41, 3, 16
+25309: 41, 3, 17
+25310: 41, 3, 18
+25311: 41, 3, 19
+25312: 41, 3, 20
+25313: 41, 3, 21
+25314: 41, 3, 22
+25315: 41, 3, 23
+25316: 41, 3, 24
+25317: 41, 3, 25
+25318: 41, 3, 26
+25319: 41, 3, 27
+25320: 41, 3, 28
+25321: 41, 3, 29
+25322: 41, 3, 30
+25323: 41, 3, 31
+25324: 41, 3, 32
+25325: 41, 3, 33
+25326: 41, 3, 34
+25327: 41, 3, 35
+25328: 41, 4, 0
+25329: 41, 4, 1
+25330: 41, 4, 2
+25331: 41, 4, 3
+25332: 41, 4, 4
+25333: 41, 4, 5
+25334: 41, 4, 6
+25335: 41, 4, 7
+25336: 41, 4, 8
+25337: 41, 4, 9
+25338: 41, 4, 10
+25339: 41, 4, 11
+25340: 41, 4, 12
+25341: 41, 4, 13
+25342: 41, 4, 14
+25343: 41, 4, 15
+25344: 41, 4, 16
+25345: 41, 4, 17
+25346: 41, 4, 18
+25347: 41, 4, 19
+25348: 41, 4, 20
+25349: 41, 4, 21
+25350: 41, 4, 22
+25351: 41, 4, 23
+25352: 41, 4, 24
+25353: 41, 4, 25
+25354: 41, 4, 26
+25355: 41, 4, 27
+25356: 41, 4, 28
+25357: 41, 4, 29
+25358: 41, 4, 30
+25359: 41, 4, 31
+25360: 41, 4, 32
+25361: 41, 4, 33
+25362: 41, 4, 34
+25363: 41, 4, 35
+25364: 41, 4, 36
+25365: 41, 4, 37
+25366: 41, 4, 38
+25367: 41, 4, 39
+25368: 41, 4, 40
+25369: 41, 4, 41
+25370: 41, 5, 0
+25371: 41, 5, 1
+25372: 41, 5, 2
+25373: 41, 5, 3
+25374: 41, 5, 4
+25375: 41, 5, 5
+25376: 41, 5, 6
+25377: 41, 5, 7
+25378: 41, 5, 8
+25379: 41, 5, 9
+25380: 41, 5, 10
+25381: 41, 5, 11
+25382: 41, 5, 12
+25383: 41, 5, 13
+25384: 41, 5, 14
+25385: 41, 5, 15
+25386: 41, 5, 16
+25387: 41, 5, 17
+25388: 41, 5, 18
+25389: 41, 5, 19
+25390: 41, 5, 20
+25391: 41, 5, 21
+25392: 41, 5, 22
+25393: 41, 5, 23
+25394: 41, 5, 24
+25395: 41, 5, 25
+25396: 41, 5, 26
+25397: 41, 5, 27
+25398: 41, 5, 28
+25399: 41, 5, 29
+25400: 41, 5, 30
+25401: 41, 5, 31
+25402: 41, 5, 32
+25403: 41, 5, 33
+25404: 41, 5, 34
+25405: 41, 5, 35
+25406: 41, 5, 36
+25407: 41, 5, 37
+25408: 41, 5, 38
+25409: 41, 5, 39
+25410: 41, 5, 40
+25411: 41, 5, 41
+25412: 41, 5, 42
+25413: 41, 5, 43
+25414: 41, 6, 0
+25415: 41, 6, 1
+25416: 41, 6, 2
+25417: 41, 6, 3
+25418: 41, 6, 4
+25419: 41, 6, 5
+25420: 41, 6, 6
+25421: 41, 6, 7
+25422: 41, 6, 8
+25423: 41, 6, 9
+25424: 41, 6, 10
+25425: 41, 6, 11
+25426: 41, 6, 12
+25427: 41, 6, 13
+25428: 41, 6, 14
+25429: 41, 6, 15
+25430: 41, 6, 16
+25431: 41, 6, 17
+25432: 41, 6, 18
+25433: 41, 6, 19
+25434: 41, 6, 20
+25435: 41, 6, 21
+25436: 41, 6, 22
+25437: 41, 6, 23
+25438: 41, 6, 24
+25439: 41, 6, 25
+25440: 41, 6, 26
+25441: 41, 6, 27
+25442: 41, 6, 28
+25443: 41, 6, 29
+25444: 41, 6, 30
+25445: 41, 6, 31
+25446: 41, 6, 32
+25447: 41, 6, 33
+25448: 41, 6, 34
+25449: 41, 6, 35
+25450: 41, 6, 36
+25451: 41, 6, 37
+25452: 41, 6, 38
+25453: 41, 6, 39
+25454: 41, 6, 40
+25455: 41, 6, 41
+25456: 41, 6, 42
+25457: 41, 6, 43
+25458: 41, 6, 44
+25459: 41, 6, 45
+25460: 41, 6, 46
+25461: 41, 6, 47
+25462: 41, 6, 48
+25463: 41, 6, 49
+25464: 41, 6, 50
+25465: 41, 6, 51
+25466: 41, 6, 52
+25467: 41, 6, 53
+25468: 41, 6, 54
+25469: 41, 6, 55
+25470: 41, 6, 56
+25471: 41, 7, 0
+25472: 41, 7, 1
+25473: 41, 7, 2
+25474: 41, 7, 3
+25475: 41, 7, 4
+25476: 41, 7, 5
+25477: 41, 7, 6
+25478: 41, 7, 7
+25479: 41, 7, 8
+25480: 41, 7, 9
+25481: 41, 7, 10
+25482: 41, 7, 11
+25483: 41, 7, 12
+25484: 41, 7, 13
+25485: 41, 7, 14
+25486: 41, 7, 15
+25487: 41, 7, 16
+25488: 41, 7, 17
+25489: 41, 7, 18
+25490: 41, 7, 19
+25491: 41, 7, 20
+25492: 41, 7, 21
+25493: 41, 7, 22
+25494: 41, 7, 23
+25495: 41, 7, 24
+25496: 41, 7, 25
+25497: 41, 7, 26
+25498: 41, 7, 27
+25499: 41, 7, 28
+25500: 41, 7, 29
+25501: 41, 7, 30
+25502: 41, 7, 31
+25503: 41, 7, 32
+25504: 41, 7, 33
+25505: 41, 7, 34
+25506: 41, 7, 35
+25507: 41, 7, 36
+25508: 41, 7, 37
+25509: 41, 8, 0
+25510: 41, 8, 1
+25511: 41, 8, 2
+25512: 41, 8, 3
+25513: 41, 8, 4
+25514: 41, 8, 5
+25515: 41, 8, 6
+25516: 41, 8, 7
+25517: 41, 8, 8
+25518: 41, 8, 9
+25519: 41, 8, 10
+25520: 41, 8, 11
+25521: 41, 8, 12
+25522: 41, 8, 13
+25523: 41, 8, 14
+25524: 41, 8, 15
+25525: 41, 8, 16
+25526: 41, 8, 17
+25527: 41, 8, 18
+25528: 41, 8, 19
+25529: 41, 8, 20
+25530: 41, 8, 21
+25531: 41, 8, 22
+25532: 41, 8, 23
+25533: 41, 8, 24
+25534: 41, 8, 25
+25535: 41, 8, 26
+25536: 41, 8, 27
+25537: 41, 8, 28
+25538: 41, 8, 29
+25539: 41, 8, 30
+25540: 41, 8, 31
+25541: 41, 8, 32
+25542: 41, 8, 33
+25543: 41, 8, 34
+25544: 41, 8, 35
+25545: 41, 8, 36
+25546: 41, 8, 37
+25547: 41, 8, 38
+25548: 41, 9, 0
+25549: 41, 9, 1
+25550: 41, 9, 2
+25551: 41, 9, 3
+25552: 41, 9, 4
+25553: 41, 9, 5
+25554: 41, 9, 6
+25555: 41, 9, 7
+25556: 41, 9, 8
+25557: 41, 9, 9
+25558: 41, 9, 10
+25559: 41, 9, 11
+25560: 41, 9, 12
+25561: 41, 9, 13
+25562: 41, 9, 14
+25563: 41, 9, 15
+25564: 41, 9, 16
+25565: 41, 9, 17
+25566: 41, 9, 18
+25567: 41, 9, 19
+25568: 41, 9, 20
+25569: 41, 9, 21
+25570: 41, 9, 22
+25571: 41, 9, 23
+25572: 41, 9, 24
+25573: 41, 9, 25
+25574: 41, 9, 26
+25575: 41, 9, 27
+25576: 41, 9, 28
+25577: 41, 9, 29
+25578: 41, 9, 30
+25579: 41, 9, 31
+25580: 41, 9, 32
+25581: 41, 9, 33
+25582: 41, 9, 34
+25583: 41, 9, 35
+25584: 41, 9, 36
+25585: 41, 9, 37
+25586: 41, 9, 38
+25587: 41, 9, 39
+25588: 41, 9, 40
+25589: 41, 9, 41
+25590: 41, 9, 42
+25591: 41, 9, 43
+25592: 41, 9, 44
+25593: 41, 9, 45
+25594: 41, 9, 46
+25595: 41, 9, 47
+25596: 41, 9, 48
+25597: 41, 9, 49
+25598: 41, 9, 50
+25599: 41, 10, 0
+25600: 41, 10, 1
+25601: 41, 10, 2
+25602: 41, 10, 3
+25603: 41, 10, 4
+25604: 41, 10, 5
+25605: 41, 10, 6
+25606: 41, 10, 7
+25607: 41, 10, 8
+25608: 41, 10, 9
+25609: 41, 10, 10
+25610: 41, 10, 11
+25611: 41, 10, 12
+25612: 41, 10, 13
+25613: 41, 10, 14
+25614: 41, 10, 15
+25615: 41, 10, 16
+25616: 41, 10, 17
+25617: 41, 10, 18
+25618: 41, 10, 19
+25619: 41, 10, 20
+25620: 41, 10, 21
+25621: 41, 10, 22
+25622: 41, 10, 23
+25623: 41, 10, 24
+25624: 41, 10, 25
+25625: 41, 10, 26
+25626: 41, 10, 27
+25627: 41, 10, 28
+25628: 41, 10, 29
+25629: 41, 10, 30
+25630: 41, 10, 31
+25631: 41, 10, 32
+25632: 41, 10, 33
+25633: 41, 10, 34
+25634: 41, 10, 35
+25635: 41, 10, 36
+25636: 41, 10, 37
+25637: 41, 10, 38
+25638: 41, 10, 39
+25639: 41, 10, 40
+25640: 41, 10, 41
+25641: 41, 10, 42
+25642: 41, 10, 43
+25643: 41, 10, 44
+25644: 41, 10, 45
+25645: 41, 10, 46
+25646: 41, 10, 47
+25647: 41, 10, 48
+25648: 41, 10, 49
+25649: 41, 10, 50
+25650: 41, 10, 51
+25651: 41, 10, 52
+25652: 41, 11, 0
+25653: 41, 11, 1
+25654: 41, 11, 2
+25655: 41, 11, 3
+25656: 41, 11, 4
+25657: 41, 11, 5
+25658: 41, 11, 6
+25659: 41, 11, 7
+25660: 41, 11, 8
+25661: 41, 11, 9
+25662: 41, 11, 10
+25663: 41, 11, 11
+25664: 41, 11, 12
+25665: 41, 11, 13
+25666: 41, 11, 14
+25667: 41, 11, 15
+25668: 41, 11, 16
+25669: 41, 11, 17
+25670: 41, 11, 18
+25671: 41, 11, 19
+25672: 41, 11, 20
+25673: 41, 11, 21
+25674: 41, 11, 22
+25675: 41, 11, 23
+25676: 41, 11, 24
+25677: 41, 11, 25
+25678: 41, 11, 26
+25679: 41, 11, 27
+25680: 41, 11, 28
+25681: 41, 11, 29
+25682: 41, 11, 30
+25683: 41, 11, 31
+25684: 41, 11, 32
+25685: 41, 11, 33
+25686: 41, 12, 0
+25687: 41, 12, 1
+25688: 41, 12, 2
+25689: 41, 12, 3
+25690: 41, 12, 4
+25691: 41, 12, 5
+25692: 41, 12, 6
+25693: 41, 12, 7
+25694: 41, 12, 8
+25695: 41, 12, 9
+25696: 41, 12, 10
+25697: 41, 12, 11
+25698: 41, 12, 12
+25699: 41, 12, 13
+25700: 41, 12, 14
+25701: 41, 12, 15
+25702: 41, 12, 16
+25703: 41, 12, 17
+25704: 41, 12, 18
+25705: 41, 12, 19
+25706: 41, 12, 20
+25707: 41, 12, 21
+25708: 41, 12, 22
+25709: 41, 12, 23
+25710: 41, 12, 24
+25711: 41, 12, 25
+25712: 41, 12, 26
+25713: 41, 12, 27
+25714: 41, 12, 28
+25715: 41, 12, 29
+25716: 41, 12, 30
+25717: 41, 12, 31
+25718: 41, 12, 32
+25719: 41, 12, 33
+25720: 41, 12, 34
+25721: 41, 12, 35
+25722: 41, 12, 36
+25723: 41, 12, 37
+25724: 41, 12, 38
+25725: 41, 12, 39
+25726: 41, 12, 40
+25727: 41, 12, 41
+25728: 41, 12, 42
+25729: 41, 12, 43
+25730: 41, 12, 44
+25731: 41, 13, 0
+25732: 41, 13, 1
+25733: 41, 13, 2
+25734: 41, 13, 3
+25735: 41, 13, 4
+25736: 41, 13, 5
+25737: 41, 13, 6
+25738: 41, 13, 7
+25739: 41, 13, 8
+25740: 41, 13, 9
+25741: 41, 13, 10
+25742: 41, 13, 11
+25743: 41, 13, 12
+25744: 41, 13, 13
+25745: 41, 13, 14
+25746: 41, 13, 15
+25747: 41, 13, 16
+25748: 41, 13, 17
+25749: 41, 13, 18
+25750: 41, 13, 19
+25751: 41, 13, 20
+25752: 41, 13, 21
+25753: 41, 13, 22
+25754: 41, 13, 23
+25755: 41, 13, 24
+25756: 41, 13, 25
+25757: 41, 13, 26
+25758: 41, 13, 27
+25759: 41, 13, 28
+25760: 41, 13, 29
+25761: 41, 13, 30
+25762: 41, 13, 31
+25763: 41, 13, 32
+25764: 41, 13, 33
+25765: 41, 13, 34
+25766: 41, 13, 35
+25767: 41, 13, 36
+25768: 41, 13, 37
+25769: 41, 14, 0
+25770: 41, 14, 1
+25771: 41, 14, 2
+25772: 41, 14, 3
+25773: 41, 14, 4
+25774: 41, 14, 5
+25775: 41, 14, 6
+25776: 41, 14, 7
+25777: 41, 14, 8
+25778: 41, 14, 9
+25779: 41, 14, 10
+25780: 41, 14, 11
+25781: 41, 14, 12
+25782: 41, 14, 13
+25783: 41, 14, 14
+25784: 41, 14, 15
+25785: 41, 14, 16
+25786: 41, 14, 17
+25787: 41, 14, 18
+25788: 41, 14, 19
+25789: 41, 14, 20
+25790: 41, 14, 21
+25791: 41, 14, 22
+25792: 41, 14, 23
+25793: 41, 14, 24
+25794: 41, 14, 25
+25795: 41, 14, 26
+25796: 41, 14, 27
+25797: 41, 14, 28
+25798: 41, 14, 29
+25799: 41, 14, 30
+25800: 41, 14, 31
+25801: 41, 14, 32
+25802: 41, 14, 33
+25803: 41, 14, 34
+25804: 41, 14, 35
+25805: 41, 14, 36
+25806: 41, 14, 37
+25807: 41, 14, 38
+25808: 41, 14, 39
+25809: 41, 14, 40
+25810: 41, 14, 41
+25811: 41, 14, 42
+25812: 41, 14, 43
+25813: 41, 14, 44
+25814: 41, 14, 45
+25815: 41, 14, 46
+25816: 41, 14, 47
+25817: 41, 14, 48
+25818: 41, 14, 49
+25819: 41, 14, 50
+25820: 41, 14, 51
+25821: 41, 14, 52
+25822: 41, 14, 53
+25823: 41, 14, 54
+25824: 41, 14, 55
+25825: 41, 14, 56
+25826: 41, 14, 57
+25827: 41, 14, 58
+25828: 41, 14, 59
+25829: 41, 14, 60
+25830: 41, 14, 61
+25831: 41, 14, 62
+25832: 41, 14, 63
+25833: 41, 14, 64
+25834: 41, 14, 65
+25835: 41, 14, 66
+25836: 41, 14, 67
+25837: 41, 14, 68
+25838: 41, 14, 69
+25839: 41, 14, 70
+25840: 41, 14, 71
+25841: 41, 14, 72
+25842: 41, 15, 0
+25843: 41, 15, 1
+25844: 41, 15, 2
+25845: 41, 15, 3
+25846: 41, 15, 4
+25847: 41, 15, 5
+25848: 41, 15, 6
+25849: 41, 15, 7
+25850: 41, 15, 8
+25851: 41, 15, 9
+25852: 41, 15, 10
+25853: 41, 15, 11
+25854: 41, 15, 12
+25855: 41, 15, 13
+25856: 41, 15, 14
+25857: 41, 15, 15
+25858: 41, 15, 16
+25859: 41, 15, 17
+25860: 41, 15, 18
+25861: 41, 15, 19
+25862: 41, 15, 20
+25863: 41, 15, 21
+25864: 41, 15, 22
+25865: 41, 15, 23
+25866: 41, 15, 24
+25867: 41, 15, 25
+25868: 41, 15, 26
+25869: 41, 15, 27
+25870: 41, 15, 28
+25871: 41, 15, 29
+25872: 41, 15, 30
+25873: 41, 15, 31
+25874: 41, 15, 32
+25875: 41, 15, 33
+25876: 41, 15, 34
+25877: 41, 15, 35
+25878: 41, 15, 36
+25879: 41, 15, 37
+25880: 41, 15, 38
+25881: 41, 15, 39
+25882: 41, 15, 40
+25883: 41, 15, 41
+25884: 41, 15, 42
+25885: 41, 15, 43
+25886: 41, 15, 44
+25887: 41, 15, 45
+25888: 41, 15, 46
+25889: 41, 15, 47
+25890: 41, 16, 0
+25891: 41, 16, 1
+25892: 41, 16, 2
+25893: 41, 16, 3
+25894: 41, 16, 4
+25895: 41, 16, 5
+25896: 41, 16, 6
+25897: 41, 16, 7
+25898: 41, 16, 8
+25899: 41, 16, 9
+25900: 41, 16, 10
+25901: 41, 16, 11
+25902: 41, 16, 12
+25903: 41, 16, 13
+25904: 41, 16, 14
+25905: 41, 16, 15
+25906: 41, 16, 16
+25907: 41, 16, 17
+25908: 41, 16, 18
+25909: 41, 16, 19
+25910: 41, 16, 20
+25911: 42, 0, 0
+25912: 42, 1, 0
+25913: 42, 1, 1
+25914: 42, 1, 2
+25915: 42, 1, 3
+25916: 42, 1, 4
+25917: 42, 1, 5
+25918: 42, 1, 6
+25919: 42, 1, 7
+25920: 42, 1, 8
+25921: 42, 1, 9
+25922: 42, 1, 10
+25923: 42, 1, 11
+25924: 42, 1, 12
+25925: 42, 1, 13
+25926: 42, 1, 14
+25927: 42, 1, 15
+25928: 42, 1, 16
+25929: 42, 1, 17
+25930: 42, 1, 18
+25931: 42, 1, 19
+25932: 42, 1, 20
+25933: 42, 1, 21
+25934: 42, 1, 22
+25935: 42, 1, 23
+25936: 42, 1, 24
+25937: 42, 1, 25
+25938: 42, 1, 26
+25939: 42, 1, 27
+25940: 42, 1, 28
+25941: 42, 1, 29
+25942: 42, 1, 30
+25943: 42, 1, 31
+25944: 42, 1, 32
+25945: 42, 1, 33
+25946: 42, 1, 34
+25947: 42, 1, 35
+25948: 42, 1, 36
+25949: 42, 1, 37
+25950: 42, 1, 38
+25951: 42, 1, 39
+25952: 42, 1, 40
+25953: 42, 1, 41
+25954: 42, 1, 42
+25955: 42, 1, 43
+25956: 42, 1, 44
+25957: 42, 1, 45
+25958: 42, 1, 46
+25959: 42, 1, 47
+25960: 42, 1, 48
+25961: 42, 1, 49
+25962: 42, 1, 50
+25963: 42, 1, 51
+25964: 42, 1, 52
+25965: 42, 1, 53
+25966: 42, 1, 54
+25967: 42, 1, 55
+25968: 42, 1, 56
+25969: 42, 1, 57
+25970: 42, 1, 58
+25971: 42, 1, 59
+25972: 42, 1, 60
+25973: 42, 1, 61
+25974: 42, 1, 62
+25975: 42, 1, 63
+25976: 42, 1, 64
+25977: 42, 1, 65
+25978: 42, 1, 66
+25979: 42, 1, 67
+25980: 42, 1, 68
+25981: 42, 1, 69
+25982: 42, 1, 70
+25983: 42, 1, 71
+25984: 42, 1, 72
+25985: 42, 1, 73
+25986: 42, 1, 74
+25987: 42, 1, 75
+25988: 42, 1, 76
+25989: 42, 1, 77
+25990: 42, 1, 78
+25991: 42, 1, 79
+25992: 42, 1, 80
+25993: 42, 2, 0
+25994: 42, 2, 1
+25995: 42, 2, 2
+25996: 42, 2, 3
+25997: 42, 2, 4
+25998: 42, 2, 5
+25999: 42, 2, 6
+26000: 42, 2, 7
+26001: 42, 2, 8
+26002: 42, 2, 9
+26003: 42, 2, 10
+26004: 42, 2, 11
+26005: 42, 2, 12
+26006: 42, 2, 13
+26007: 42, 2, 14
+26008: 42, 2, 15
+26009: 42, 2, 16
+26010: 42, 2, 17
+26011: 42, 2, 18
+26012: 42, 2, 19
+26013: 42, 2, 20
+26014: 42, 2, 21
+26015: 42, 2, 22
+26016: 42, 2, 23
+26017: 42, 2, 24
+26018: 42, 2, 25
+26019: 42, 2, 26
+26020: 42, 2, 27
+26021: 42, 2, 28
+26022: 42, 2, 29
+26023: 42, 2, 30
+26024: 42, 2, 31
+26025: 42, 2, 32
+26026: 42, 2, 33
+26027: 42, 2, 34
+26028: 42, 2, 35
+26029: 42, 2, 36
+26030: 42, 2, 37
+26031: 42, 2, 38
+26032: 42, 2, 39
+26033: 42, 2, 40
+26034: 42, 2, 41
+26035: 42, 2, 42
+26036: 42, 2, 43
+26037: 42, 2, 44
+26038: 42, 2, 45
+26039: 42, 2, 46
+26040: 42, 2, 47
+26041: 42, 2, 48
+26042: 42, 2, 49
+26043: 42, 2, 50
+26044: 42, 2, 51
+26045: 42, 2, 52
+26046: 42, 3, 0
+26047: 42, 3, 1
+26048: 42, 3, 2
+26049: 42, 3, 3
+26050: 42, 3, 4
+26051: 42, 3, 5
+26052: 42, 3, 6
+26053: 42, 3, 7
+26054: 42, 3, 8
+26055: 42, 3, 9
+26056: 42, 3, 10
+26057: 42, 3, 11
+26058: 42, 3, 12
+26059: 42, 3, 13
+26060: 42, 3, 14
+26061: 42, 3, 15
+26062: 42, 3, 16
+26063: 42, 3, 17
+26064: 42, 3, 18
+26065: 42, 3, 19
+26066: 42, 3, 20
+26067: 42, 3, 21
+26068: 42, 3, 22
+26069: 42, 3, 23
+26070: 42, 3, 24
+26071: 42, 3, 25
+26072: 42, 3, 26
+26073: 42, 3, 27
+26074: 42, 3, 28
+26075: 42, 3, 29
+26076: 42, 3, 30
+26077: 42, 3, 31
+26078: 42, 3, 32
+26079: 42, 3, 33
+26080: 42, 3, 34
+26081: 42, 3, 35
+26082: 42, 3, 36
+26083: 42, 3, 37
+26084: 42, 3, 38
+26085: 42, 4, 0
+26086: 42, 4, 1
+26087: 42, 4, 2
+26088: 42, 4, 3
+26089: 42, 4, 4
+26090: 42, 4, 5
+26091: 42, 4, 6
+26092: 42, 4, 7
+26093: 42, 4, 8
+26094: 42, 4, 9
+26095: 42, 4, 10
+26096: 42, 4, 11
+26097: 42, 4, 12
+26098: 42, 4, 13
+26099: 42, 4, 14
+26100: 42, 4, 15
+26101: 42, 4, 16
+26102: 42, 4, 17
+26103: 42, 4, 18
+26104: 42, 4, 19
+26105: 42, 4, 20
+26106: 42, 4, 21
+26107: 42, 4, 22
+26108: 42, 4, 23
+26109: 42, 4, 24
+26110: 42, 4, 25
+26111: 42, 4, 26
+26112: 42, 4, 27
+26113: 42, 4, 28
+26114: 42, 4, 29
+26115: 42, 4, 30
+26116: 42, 4, 31
+26117: 42, 4, 32
+26118: 42, 4, 33
+26119: 42, 4, 34
+26120: 42, 4, 35
+26121: 42, 4, 36
+26122: 42, 4, 37
+26123: 42, 4, 38
+26124: 42, 4, 39
+26125: 42, 4, 40
+26126: 42, 4, 41
+26127: 42, 4, 42
+26128: 42, 4, 43
+26129: 42, 4, 44
+26130: 42, 5, 0
+26131: 42, 5, 1
+26132: 42, 5, 2
+26133: 42, 5, 3
+26134: 42, 5, 4
+26135: 42, 5, 5
+26136: 42, 5, 6
+26137: 42, 5, 7
+26138: 42, 5, 8
+26139: 42, 5, 9
+26140: 42, 5, 10
+26141: 42, 5, 11
+26142: 42, 5, 12
+26143: 42, 5, 13
+26144: 42, 5, 14
+26145: 42, 5, 15
+26146: 42, 5, 16
+26147: 42, 5, 17
+26148: 42, 5, 18
+26149: 42, 5, 19
+26150: 42, 5, 20
+26151: 42, 5, 21
+26152: 42, 5, 22
+26153: 42, 5, 23
+26154: 42, 5, 24
+26155: 42, 5, 25
+26156: 42, 5, 26
+26157: 42, 5, 27
+26158: 42, 5, 28
+26159: 42, 5, 29
+26160: 42, 5, 30
+26161: 42, 5, 31
+26162: 42, 5, 32
+26163: 42, 5, 33
+26164: 42, 5, 34
+26165: 42, 5, 35
+26166: 42, 5, 36
+26167: 42, 5, 37
+26168: 42, 5, 38
+26169: 42, 5, 39
+26170: 42, 6, 0
+26171: 42, 6, 1
+26172: 42, 6, 2
+26173: 42, 6, 3
+26174: 42, 6, 4
+26175: 42, 6, 5
+26176: 42, 6, 6
+26177: 42, 6, 7
+26178: 42, 6, 8
+26179: 42, 6, 9
+26180: 42, 6, 10
+26181: 42, 6, 11
+26182: 42, 6, 12
+26183: 42, 6, 13
+26184: 42, 6, 14
+26185: 42, 6, 15
+26186: 42, 6, 16
+26187: 42, 6, 17
+26188: 42, 6, 18
+26189: 42, 6, 19
+26190: 42, 6, 20
+26191: 42, 6, 21
+26192: 42, 6, 22
+26193: 42, 6, 23
+26194: 42, 6, 24
+26195: 42, 6, 25
+26196: 42, 6, 26
+26197: 42, 6, 27
+26198: 42, 6, 28
+26199: 42, 6, 29
+26200: 42, 6, 30
+26201: 42, 6, 31
+26202: 42, 6, 32
+26203: 42, 6, 33
+26204: 42, 6, 34
+26205: 42, 6, 35
+26206: 42, 6, 36
+26207: 42, 6, 37
+26208: 42, 6, 38
+26209: 42, 6, 39
+26210: 42, 6, 40
+26211: 42, 6, 41
+26212: 42, 6, 42
+26213: 42, 6, 43
+26214: 42, 6, 44
+26215: 42, 6, 45
+26216: 42, 6, 46
+26217: 42, 6, 47
+26218: 42, 6, 48
+26219: 42, 6, 49
+26220: 42, 7, 0
+26221: 42, 7, 1
+26222: 42, 7, 2
+26223: 42, 7, 3
+26224: 42, 7, 4
+26225: 42, 7, 5
+26226: 42, 7, 6
+26227: 42, 7, 7
+26228: 42, 7, 8
+26229: 42, 7, 9
+26230: 42, 7, 10
+26231: 42, 7, 11
+26232: 42, 7, 12
+26233: 42, 7, 13
+26234: 42, 7, 14
+26235: 42, 7, 15
+26236: 42, 7, 16
+26237: 42, 7, 17
+26238: 42, 7, 18
+26239: 42, 7, 19
+26240: 42, 7, 20
+26241: 42, 7, 21
+26242: 42, 7, 22
+26243: 42, 7, 23
+26244: 42, 7, 24
+26245: 42, 7, 25
+26246: 42, 7, 26
+26247: 42, 7, 27
+26248: 42, 7, 28
+26249: 42, 7, 29
+26250: 42, 7, 30
+26251: 42, 7, 31
+26252: 42, 7, 32
+26253: 42, 7, 33
+26254: 42, 7, 34
+26255: 42, 7, 35
+26256: 42, 7, 36
+26257: 42, 7, 37
+26258: 42, 7, 38
+26259: 42, 7, 39
+26260: 42, 7, 40
+26261: 42, 7, 41
+26262: 42, 7, 42
+26263: 42, 7, 43
+26264: 42, 7, 44
+26265: 42, 7, 45
+26266: 42, 7, 46
+26267: 42, 7, 47
+26268: 42, 7, 48
+26269: 42, 7, 49
+26270: 42, 7, 50
+26271: 42, 8, 0
+26272: 42, 8, 1
+26273: 42, 8, 2
+26274: 42, 8, 3
+26275: 42, 8, 4
+26276: 42, 8, 5
+26277: 42, 8, 6
+26278: 42, 8, 7
+26279: 42, 8, 8
+26280: 42, 8, 9
+26281: 42, 8, 10
+26282: 42, 8, 11
+26283: 42, 8, 12
+26284: 42, 8, 13
+26285: 42, 8, 14
+26286: 42, 8, 15
+26287: 42, 8, 16
+26288: 42, 8, 17
+26289: 42, 8, 18
+26290: 42, 8, 19
+26291: 42, 8, 20
+26292: 42, 8, 21
+26293: 42, 8, 22
+26294: 42, 8, 23
+26295: 42, 8, 24
+26296: 42, 8, 25
+26297: 42, 8, 26
+26298: 42, 8, 27
+26299: 42, 8, 28
+26300: 42, 8, 29
+26301: 42, 8, 30
+26302: 42, 8, 31
+26303: 42, 8, 32
+26304: 42, 8, 33
+26305: 42, 8, 34
+26306: 42, 8, 35
+26307: 42, 8, 36
+26308: 42, 8, 37
+26309: 42, 8, 38
+26310: 42, 8, 39
+26311: 42, 8, 40
+26312: 42, 8, 41
+26313: 42, 8, 42
+26314: 42, 8, 43
+26315: 42, 8, 44
+26316: 42, 8, 45
+26317: 42, 8, 46
+26318: 42, 8, 47
+26319: 42, 8, 48
+26320: 42, 8, 49
+26321: 42, 8, 50
+26322: 42, 8, 51
+26323: 42, 8, 52
+26324: 42, 8, 53
+26325: 42, 8, 54
+26326: 42, 8, 55
+26327: 42, 8, 56
+26328: 42, 9, 0
+26329: 42, 9, 1
+26330: 42, 9, 2
+26331: 42, 9, 3
+26332: 42, 9, 4
+26333: 42, 9, 5
+26334: 42, 9, 6
+26335: 42, 9, 7
+26336: 42, 9, 8
+26337: 42, 9, 9
+26338: 42, 9, 10
+26339: 42, 9, 11
+26340: 42, 9, 12
+26341: 42, 9, 13
+26342: 42, 9, 14
+26343: 42, 9, 15
+26344: 42, 9, 16
+26345: 42, 9, 17
+26346: 42, 9, 18
+26347: 42, 9, 19
+26348: 42, 9, 20
+26349: 42, 9, 21
+26350: 42, 9, 22
+26351: 42, 9, 23
+26352: 42, 9, 24
+26353: 42, 9, 25
+26354: 42, 9, 26
+26355: 42, 9, 27
+26356: 42, 9, 28
+26357: 42, 9, 29
+26358: 42, 9, 30
+26359: 42, 9, 31
+26360: 42, 9, 32
+26361: 42, 9, 33
+26362: 42, 9, 34
+26363: 42, 9, 35
+26364: 42, 9, 36
+26365: 42, 9, 37
+26366: 42, 9, 38
+26367: 42, 9, 39
+26368: 42, 9, 40
+26369: 42, 9, 41
+26370: 42, 9, 42
+26371: 42, 9, 43
+26372: 42, 9, 44
+26373: 42, 9, 45
+26374: 42, 9, 46
+26375: 42, 9, 47
+26376: 42, 9, 48
+26377: 42, 9, 49
+26378: 42, 9, 50
+26379: 42, 9, 51
+26380: 42, 9, 52
+26381: 42, 9, 53
+26382: 42, 9, 54
+26383: 42, 9, 55
+26384: 42, 9, 56
+26385: 42, 9, 57
+26386: 42, 9, 58
+26387: 42, 9, 59
+26388: 42, 9, 60
+26389: 42, 9, 61
+26390: 42, 9, 62
+26391: 42, 10, 0
+26392: 42, 10, 1
+26393: 42, 10, 2
+26394: 42, 10, 3
+26395: 42, 10, 4
+26396: 42, 10, 5
+26397: 42, 10, 6
+26398: 42, 10, 7
+26399: 42, 10, 8
+26400: 42, 10, 9
+26401: 42, 10, 10
+26402: 42, 10, 11
+26403: 42, 10, 12
+26404: 42, 10, 13
+26405: 42, 10, 14
+26406: 42, 10, 15
+26407: 42, 10, 16
+26408: 42, 10, 17
+26409: 42, 10, 18
+26410: 42, 10, 19
+26411: 42, 10, 20
+26412: 42, 10, 21
+26413: 42, 10, 22
+26414: 42, 10, 23
+26415: 42, 10, 24
+26416: 42, 10, 25
+26417: 42, 10, 26
+26418: 42, 10, 27
+26419: 42, 10, 28
+26420: 42, 10, 29
+26421: 42, 10, 30
+26422: 42, 10, 31
+26423: 42, 10, 32
+26424: 42, 10, 33
+26425: 42, 10, 34
+26426: 42, 10, 35
+26427: 42, 10, 36
+26428: 42, 10, 37
+26429: 42, 10, 38
+26430: 42, 10, 39
+26431: 42, 10, 40
+26432: 42, 10, 41
+26433: 42, 10, 42
+26434: 42, 11, 0
+26435: 42, 11, 1
+26436: 42, 11, 2
+26437: 42, 11, 3
+26438: 42, 11, 4
+26439: 42, 11, 5
+26440: 42, 11, 6
+26441: 42, 11, 7
+26442: 42, 11, 8
+26443: 42, 11, 9
+26444: 42, 11, 10
+26445: 42, 11, 11
+26446: 42, 11, 12
+26447: 42, 11, 13
+26448: 42, 11, 14
+26449: 42, 11, 15
+26450: 42, 11, 16
+26451: 42, 11, 17
+26452: 42, 11, 18
+26453: 42, 11, 19
+26454: 42, 11, 20
+26455: 42, 11, 21
+26456: 42, 11, 22
+26457: 42, 11, 23
+26458: 42, 11, 24
+26459: 42, 11, 25
+26460: 42, 11, 26
+26461: 42, 11, 27
+26462: 42, 11, 28
+26463: 42, 11, 29
+26464: 42, 11, 30
+26465: 42, 11, 31
+26466: 42, 11, 32
+26467: 42, 11, 33
+26468: 42, 11, 34
+26469: 42, 11, 35
+26470: 42, 11, 36
+26471: 42, 11, 37
+26472: 42, 11, 38
+26473: 42, 11, 39
+26474: 42, 11, 40
+26475: 42, 11, 41
+26476: 42, 11, 42
+26477: 42, 11, 43
+26478: 42, 11, 44
+26479: 42, 11, 45
+26480: 42, 11, 46
+26481: 42, 11, 47
+26482: 42, 11, 48
+26483: 42, 11, 49
+26484: 42, 11, 50
+26485: 42, 11, 51
+26486: 42, 11, 52
+26487: 42, 11, 53
+26488: 42, 11, 54
+26489: 42, 12, 0
+26490: 42, 12, 1
+26491: 42, 12, 2
+26492: 42, 12, 3
+26493: 42, 12, 4
+26494: 42, 12, 5
+26495: 42, 12, 6
+26496: 42, 12, 7
+26497: 42, 12, 8
+26498: 42, 12, 9
+26499: 42, 12, 10
+26500: 42, 12, 11
+26501: 42, 12, 12
+26502: 42, 12, 13
+26503: 42, 12, 14
+26504: 42, 12, 15
+26505: 42, 12, 16
+26506: 42, 12, 17
+26507: 42, 12, 18
+26508: 42, 12, 19
+26509: 42, 12, 20
+26510: 42, 12, 21
+26511: 42, 12, 22
+26512: 42, 12, 23
+26513: 42, 12, 24
+26514: 42, 12, 25
+26515: 42, 12, 26
+26516: 42, 12, 27
+26517: 42, 12, 28
+26518: 42, 12, 29
+26519: 42, 12, 30
+26520: 42, 12, 31
+26521: 42, 12, 32
+26522: 42, 12, 33
+26523: 42, 12, 34
+26524: 42, 12, 35
+26525: 42, 12, 36
+26526: 42, 12, 37
+26527: 42, 12, 38
+26528: 42, 12, 39
+26529: 42, 12, 40
+26530: 42, 12, 41
+26531: 42, 12, 42
+26532: 42, 12, 43
+26533: 42, 12, 44
+26534: 42, 12, 45
+26535: 42, 12, 46
+26536: 42, 12, 47
+26537: 42, 12, 48
+26538: 42, 12, 49
+26539: 42, 12, 50
+26540: 42, 12, 51
+26541: 42, 12, 52
+26542: 42, 12, 53
+26543: 42, 12, 54
+26544: 42, 12, 55
+26545: 42, 12, 56
+26546: 42, 12, 57
+26547: 42, 12, 58
+26548: 42, 12, 59
+26549: 42, 13, 0
+26550: 42, 13, 1
+26551: 42, 13, 2
+26552: 42, 13, 3
+26553: 42, 13, 4
+26554: 42, 13, 5
+26555: 42, 13, 6
+26556: 42, 13, 7
+26557: 42, 13, 8
+26558: 42, 13, 9
+26559: 42, 13, 10
+26560: 42, 13, 11
+26561: 42, 13, 12
+26562: 42, 13, 13
+26563: 42, 13, 14
+26564: 42, 13, 15
+26565: 42, 13, 16
+26566: 42, 13, 17
+26567: 42, 13, 18
+26568: 42, 13, 19
+26569: 42, 13, 20
+26570: 42, 13, 21
+26571: 42, 13, 22
+26572: 42, 13, 23
+26573: 42, 13, 24
+26574: 42, 13, 25
+26575: 42, 13, 26
+26576: 42, 13, 27
+26577: 42, 13, 28
+26578: 42, 13, 29
+26579: 42, 13, 30
+26580: 42, 13, 31
+26581: 42, 13, 32
+26582: 42, 13, 33
+26583: 42, 13, 34
+26584: 42, 13, 35
+26585: 42, 14, 0
+26586: 42, 14, 1
+26587: 42, 14, 2
+26588: 42, 14, 3
+26589: 42, 14, 4
+26590: 42, 14, 5
+26591: 42, 14, 6
+26592: 42, 14, 7
+26593: 42, 14, 8
+26594: 42, 14, 9
+26595: 42, 14, 10
+26596: 42, 14, 11
+26597: 42, 14, 12
+26598: 42, 14, 13
+26599: 42, 14, 14
+26600: 42, 14, 15
+26601: 42, 14, 16
+26602: 42, 14, 17
+26603: 42, 14, 18
+26604: 42, 14, 19
+26605: 42, 14, 20
+26606: 42, 14, 21
+26607: 42, 14, 22
+26608: 42, 14, 23
+26609: 42, 14, 24
+26610: 42, 14, 25
+26611: 42, 14, 26
+26612: 42, 14, 27
+26613: 42, 14, 28
+26614: 42, 14, 29
+26615: 42, 14, 30
+26616: 42, 14, 31
+26617: 42, 14, 32
+26618: 42, 14, 33
+26619: 42, 14, 34
+26620: 42, 14, 35
+26621: 42, 15, 0
+26622: 42, 15, 1
+26623: 42, 15, 2
+26624: 42, 15, 3
+26625: 42, 15, 4
+26626: 42, 15, 5
+26627: 42, 15, 6
+26628: 42, 15, 7
+26629: 42, 15, 8
+26630: 42, 15, 9
+26631: 42, 15, 10
+26632: 42, 15, 11
+26633: 42, 15, 12
+26634: 42, 15, 13
+26635: 42, 15, 14
+26636: 42, 15, 15
+26637: 42, 15, 16
+26638: 42, 15, 17
+26639: 42, 15, 18
+26640: 42, 15, 19
+26641: 42, 15, 20
+26642: 42, 15, 21
+26643: 42, 15, 22
+26644: 42, 15, 23
+26645: 42, 15, 24
+26646: 42, 15, 25
+26647: 42, 15, 26
+26648: 42, 15, 27
+26649: 42, 15, 28
+26650: 42, 15, 29
+26651: 42, 15, 30
+26652: 42, 15, 31
+26653: 42, 15, 32
+26654: 42, 16, 0
+26655: 42, 16, 1
+26656: 42, 16, 2
+26657: 42, 16, 3
+26658: 42, 16, 4
+26659: 42, 16, 5
+26660: 42, 16, 6
+26661: 42, 16, 7
+26662: 42, 16, 8
+26663: 42, 16, 9
+26664: 42, 16, 10
+26665: 42, 16, 11
+26666: 42, 16, 12
+26667: 42, 16, 13
+26668: 42, 16, 14
+26669: 42, 16, 15
+26670: 42, 16, 16
+26671: 42, 16, 17
+26672: 42, 16, 18
+26673: 42, 16, 19
+26674: 42, 16, 20
+26675: 42, 16, 21
+26676: 42, 16, 22
+26677: 42, 16, 23
+26678: 42, 16, 24
+26679: 42, 16, 25
+26680: 42, 16, 26
+26681: 42, 16, 27
+26682: 42, 16, 28
+26683: 42, 16, 29
+26684: 42, 16, 30
+26685: 42, 16, 31
+26686: 42, 17, 0
+26687: 42, 17, 1
+26688: 42, 17, 2
+26689: 42, 17, 3
+26690: 42, 17, 4
+26691: 42, 17, 5
+26692: 42, 17, 6
+26693: 42, 17, 7
+26694: 42, 17, 8
+26695: 42, 17, 9
+26696: 42, 17, 10
+26697: 42, 17, 11
+26698: 42, 17, 12
+26699: 42, 17, 13
+26700: 42, 17, 14
+26701: 42, 17, 15
+26702: 42, 17, 16
+26703: 42, 17, 17
+26704: 42, 17, 18
+26705: 42, 17, 19
+26706: 42, 17, 20
+26707: 42, 17, 21
+26708: 42, 17, 22
+26709: 42, 17, 23
+26710: 42, 17, 24
+26711: 42, 17, 25
+26712: 42, 17, 26
+26713: 42, 17, 27
+26714: 42, 17, 28
+26715: 42, 17, 29
+26716: 42, 17, 30
+26717: 42, 17, 31
+26718: 42, 17, 32
+26719: 42, 17, 33
+26720: 42, 17, 34
+26721: 42, 17, 35
+26722: 42, 17, 36
+26723: 42, 17, 37
+26724: 42, 18, 0
+26725: 42, 18, 1
+26726: 42, 18, 2
+26727: 42, 18, 3
+26728: 42, 18, 4
+26729: 42, 18, 5
+26730: 42, 18, 6
+26731: 42, 18, 7
+26732: 42, 18, 8
+26733: 42, 18, 9
+26734: 42, 18, 10
+26735: 42, 18, 11
+26736: 42, 18, 12
+26737: 42, 18, 13
+26738: 42, 18, 14
+26739: 42, 18, 15
+26740: 42, 18, 16
+26741: 42, 18, 17
+26742: 42, 18, 18
+26743: 42, 18, 19
+26744: 42, 18, 20
+26745: 42, 18, 21
+26746: 42, 18, 22
+26747: 42, 18, 23
+26748: 42, 18, 24
+26749: 42, 18, 25
+26750: 42, 18, 26
+26751: 42, 18, 27
+26752: 42, 18, 28
+26753: 42, 18, 29
+26754: 42, 18, 30
+26755: 42, 18, 31
+26756: 42, 18, 32
+26757: 42, 18, 33
+26758: 42, 18, 34
+26759: 42, 18, 35
+26760: 42, 18, 36
+26761: 42, 18, 37
+26762: 42, 18, 38
+26763: 42, 18, 39
+26764: 42, 18, 40
+26765: 42, 18, 41
+26766: 42, 18, 42
+26767: 42, 18, 43
+26768: 42, 19, 0
+26769: 42, 19, 1
+26770: 42, 19, 2
+26771: 42, 19, 3
+26772: 42, 19, 4
+26773: 42, 19, 5
+26774: 42, 19, 6
+26775: 42, 19, 7
+26776: 42, 19, 8
+26777: 42, 19, 9
+26778: 42, 19, 10
+26779: 42, 19, 11
+26780: 42, 19, 12
+26781: 42, 19, 13
+26782: 42, 19, 14
+26783: 42, 19, 15
+26784: 42, 19, 16
+26785: 42, 19, 17
+26786: 42, 19, 18
+26787: 42, 19, 19
+26788: 42, 19, 20
+26789: 42, 19, 21
+26790: 42, 19, 22
+26791: 42, 19, 23
+26792: 42, 19, 24
+26793: 42, 19, 25
+26794: 42, 19, 26
+26795: 42, 19, 27
+26796: 42, 19, 28
+26797: 42, 19, 29
+26798: 42, 19, 30
+26799: 42, 19, 31
+26800: 42, 19, 32
+26801: 42, 19, 33
+26802: 42, 19, 34
+26803: 42, 19, 35
+26804: 42, 19, 36
+26805: 42, 19, 37
+26806: 42, 19, 38
+26807: 42, 19, 39
+26808: 42, 19, 40
+26809: 42, 19, 41
+26810: 42, 19, 42
+26811: 42, 19, 43
+26812: 42, 19, 44
+26813: 42, 19, 45
+26814: 42, 19, 46
+26815: 42, 19, 47
+26816: 42, 19, 48
+26817: 42, 20, 0
+26818: 42, 20, 1
+26819: 42, 20, 2
+26820: 42, 20, 3
+26821: 42, 20, 4
+26822: 42, 20, 5
+26823: 42, 20, 6
+26824: 42, 20, 7
+26825: 42, 20, 8
+26826: 42, 20, 9
+26827: 42, 20, 10
+26828: 42, 20, 11
+26829: 42, 20, 12
+26830: 42, 20, 13
+26831: 42, 20, 14
+26832: 42, 20, 15
+26833: 42, 20, 16
+26834: 42, 20, 17
+26835: 42, 20, 18
+26836: 42, 20, 19
+26837: 42, 20, 20
+26838: 42, 20, 21
+26839: 42, 20, 22
+26840: 42, 20, 23
+26841: 42, 20, 24
+26842: 42, 20, 25
+26843: 42, 20, 26
+26844: 42, 20, 27
+26845: 42, 20, 28
+26846: 42, 20, 29
+26847: 42, 20, 30
+26848: 42, 20, 31
+26849: 42, 20, 32
+26850: 42, 20, 33
+26851: 42, 20, 34
+26852: 42, 20, 35
+26853: 42, 20, 36
+26854: 42, 20, 37
+26855: 42, 20, 38
+26856: 42, 20, 39
+26857: 42, 20, 40
+26858: 42, 20, 41
+26859: 42, 20, 42
+26860: 42, 20, 43
+26861: 42, 20, 44
+26862: 42, 20, 45
+26863: 42, 20, 46
+26864: 42, 20, 47
+26865: 42, 21, 0
+26866: 42, 21, 1
+26867: 42, 21, 2
+26868: 42, 21, 3
+26869: 42, 21, 4
+26870: 42, 21, 5
+26871: 42, 21, 6
+26872: 42, 21, 7
+26873: 42, 21, 8
+26874: 42, 21, 9
+26875: 42, 21, 10
+26876: 42, 21, 11
+26877: 42, 21, 12
+26878: 42, 21, 13
+26879: 42, 21, 14
+26880: 42, 21, 15
+26881: 42, 21, 16
+26882: 42, 21, 17
+26883: 42, 21, 18
+26884: 42, 21, 19
+26885: 42, 21, 20
+26886: 42, 21, 21
+26887: 42, 21, 22
+26888: 42, 21, 23
+26889: 42, 21, 24
+26890: 42, 21, 25
+26891: 42, 21, 26
+26892: 42, 21, 27
+26893: 42, 21, 28
+26894: 42, 21, 29
+26895: 42, 21, 30
+26896: 42, 21, 31
+26897: 42, 21, 32
+26898: 42, 21, 33
+26899: 42, 21, 34
+26900: 42, 21, 35
+26901: 42, 21, 36
+26902: 42, 21, 37
+26903: 42, 21, 38
+26904: 42, 22, 0
+26905: 42, 22, 1
+26906: 42, 22, 2
+26907: 42, 22, 3
+26908: 42, 22, 4
+26909: 42, 22, 5
+26910: 42, 22, 6
+26911: 42, 22, 7
+26912: 42, 22, 8
+26913: 42, 22, 9
+26914: 42, 22, 10
+26915: 42, 22, 11
+26916: 42, 22, 12
+26917: 42, 22, 13
+26918: 42, 22, 14
+26919: 42, 22, 15
+26920: 42, 22, 16
+26921: 42, 22, 17
+26922: 42, 22, 18
+26923: 42, 22, 19
+26924: 42, 22, 20
+26925: 42, 22, 21
+26926: 42, 22, 22
+26927: 42, 22, 23
+26928: 42, 22, 24
+26929: 42, 22, 25
+26930: 42, 22, 26
+26931: 42, 22, 27
+26932: 42, 22, 28
+26933: 42, 22, 29
+26934: 42, 22, 30
+26935: 42, 22, 31
+26936: 42, 22, 32
+26937: 42, 22, 33
+26938: 42, 22, 34
+26939: 42, 22, 35
+26940: 42, 22, 36
+26941: 42, 22, 37
+26942: 42, 22, 38
+26943: 42, 22, 39
+26944: 42, 22, 40
+26945: 42, 22, 41
+26946: 42, 22, 42
+26947: 42, 22, 43
+26948: 42, 22, 44
+26949: 42, 22, 45
+26950: 42, 22, 46
+26951: 42, 22, 47
+26952: 42, 22, 48
+26953: 42, 22, 49
+26954: 42, 22, 50
+26955: 42, 22, 51
+26956: 42, 22, 52
+26957: 42, 22, 53
+26958: 42, 22, 54
+26959: 42, 22, 55
+26960: 42, 22, 56
+26961: 42, 22, 57
+26962: 42, 22, 58
+26963: 42, 22, 59
+26964: 42, 22, 60
+26965: 42, 22, 61
+26966: 42, 22, 62
+26967: 42, 22, 63
+26968: 42, 22, 64
+26969: 42, 22, 65
+26970: 42, 22, 66
+26971: 42, 22, 67
+26972: 42, 22, 68
+26973: 42, 22, 69
+26974: 42, 22, 70
+26975: 42, 22, 71
+26976: 42, 23, 0
+26977: 42, 23, 1
+26978: 42, 23, 2
+26979: 42, 23, 3
+26980: 42, 23, 4
+26981: 42, 23, 5
+26982: 42, 23, 6
+26983: 42, 23, 7
+26984: 42, 23, 8
+26985: 42, 23, 9
+26986: 42, 23, 10
+26987: 42, 23, 11
+26988: 42, 23, 12
+26989: 42, 23, 13
+26990: 42, 23, 14
+26991: 42, 23, 15
+26992: 42, 23, 16
+26993: 42, 23, 17
+26994: 42, 23, 18
+26995: 42, 23, 19
+26996: 42, 23, 20
+26997: 42, 23, 21
+26998: 42, 23, 22
+26999: 42, 23, 23
+27000: 42, 23, 24
+27001: 42, 23, 25
+27002: 42, 23, 26
+27003: 42, 23, 27
+27004: 42, 23, 28
+27005: 42, 23, 29
+27006: 42, 23, 30
+27007: 42, 23, 31
+27008: 42, 23, 32
+27009: 42, 23, 33
+27010: 42, 23, 34
+27011: 42, 23, 35
+27012: 42, 23, 36
+27013: 42, 23, 37
+27014: 42, 23, 38
+27015: 42, 23, 39
+27016: 42, 23, 40
+27017: 42, 23, 41
+27018: 42, 23, 42
+27019: 42, 23, 43
+27020: 42, 23, 44
+27021: 42, 23, 45
+27022: 42, 23, 46
+27023: 42, 23, 47
+27024: 42, 23, 48
+27025: 42, 23, 49
+27026: 42, 23, 50
+27027: 42, 23, 51
+27028: 42, 23, 52
+27029: 42, 23, 53
+27030: 42, 23, 54
+27031: 42, 23, 55
+27032: 42, 23, 56
+27033: 42, 24, 0
+27034: 42, 24, 1
+27035: 42, 24, 2
+27036: 42, 24, 3
+27037: 42, 24, 4
+27038: 42, 24, 5
+27039: 42, 24, 6
+27040: 42, 24, 7
+27041: 42, 24, 8
+27042: 42, 24, 9
+27043: 42, 24, 10
+27044: 42, 24, 11
+27045: 42, 24, 12
+27046: 42, 24, 13
+27047: 42, 24, 14
+27048: 42, 24, 15
+27049: 42, 24, 16
+27050: 42, 24, 17
+27051: 42, 24, 18
+27052: 42, 24, 19
+27053: 42, 24, 20
+27054: 42, 24, 21
+27055: 42, 24, 22
+27056: 42, 24, 23
+27057: 42, 24, 24
+27058: 42, 24, 25
+27059: 42, 24, 26
+27060: 42, 24, 27
+27061: 42, 24, 28
+27062: 42, 24, 29
+27063: 42, 24, 30
+27064: 42, 24, 31
+27065: 42, 24, 32
+27066: 42, 24, 33
+27067: 42, 24, 34
+27068: 42, 24, 35
+27069: 42, 24, 36
+27070: 42, 24, 37
+27071: 42, 24, 38
+27072: 42, 24, 39
+27073: 42, 24, 40
+27074: 42, 24, 41
+27075: 42, 24, 42
+27076: 42, 24, 43
+27077: 42, 24, 44
+27078: 42, 24, 45
+27079: 42, 24, 46
+27080: 42, 24, 47
+27081: 42, 24, 48
+27082: 42, 24, 49
+27083: 42, 24, 50
+27084: 42, 24, 51
+27085: 42, 24, 52
+27086: 42, 24, 53
+27087: 43, 0, 0
+27088: 43, 1, 0
+27089: 43, 1, 1
+27090: 43, 1, 2
+27091: 43, 1, 3
+27092: 43, 1, 4
+27093: 43, 1, 5
+27094: 43, 1, 6
+27095: 43, 1, 7
+27096: 43, 1, 8
+27097: 43, 1, 9
+27098: 43, 1, 10
+27099: 43, 1, 11
+27100: 43, 1, 12
+27101: 43, 1, 13
+27102: 43, 1, 14
+27103: 43, 1, 15
+27104: 43, 1, 16
+27105: 43, 1, 17
+27106: 43, 1, 18
+27107: 43, 1, 19
+27108: 43, 1, 20
+27109: 43, 1, 21
+27110: 43, 1, 22
+27111: 43, 1, 23
+27112: 43, 1, 24
+27113: 43, 1, 25
+27114: 43, 1, 26
+27115: 43, 1, 27
+27116: 43, 1, 28
+27117: 43, 1, 29
+27118: 43, 1, 30
+27119: 43, 1, 31
+27120: 43, 1, 32
+27121: 43, 1, 33
+27122: 43, 1, 34
+27123: 43, 1, 35
+27124: 43, 1, 36
+27125: 43, 1, 37
+27126: 43, 1, 38
+27127: 43, 1, 39
+27128: 43, 1, 40
+27129: 43, 1, 41
+27130: 43, 1, 42
+27131: 43, 1, 43
+27132: 43, 1, 44
+27133: 43, 1, 45
+27134: 43, 1, 46
+27135: 43, 1, 47
+27136: 43, 1, 48
+27137: 43, 1, 49
+27138: 43, 1, 50
+27139: 43, 1, 51
+27140: 43, 2, 0
+27141: 43, 2, 1
+27142: 43, 2, 2
+27143: 43, 2, 3
+27144: 43, 2, 4
+27145: 43, 2, 5
+27146: 43, 2, 6
+27147: 43, 2, 7
+27148: 43, 2, 8
+27149: 43, 2, 9
+27150: 43, 2, 10
+27151: 43, 2, 11
+27152: 43, 2, 12
+27153: 43, 2, 13
+27154: 43, 2, 14
+27155: 43, 2, 15
+27156: 43, 2, 16
+27157: 43, 2, 17
+27158: 43, 2, 18
+27159: 43, 2, 19
+27160: 43, 2, 20
+27161: 43, 2, 21
+27162: 43, 2, 22
+27163: 43, 2, 23
+27164: 43, 2, 24
+27165: 43, 2, 25
+27166: 43, 3, 0
+27167: 43, 3, 1
+27168: 43, 3, 2
+27169: 43, 3, 3
+27170: 43, 3, 4
+27171: 43, 3, 5
+27172: 43, 3, 6
+27173: 43, 3, 7
+27174: 43, 3, 8
+27175: 43, 3, 9
+27176: 43, 3, 10
+27177: 43, 3, 11
+27178: 43, 3, 12
+27179: 43, 3, 13
+27180: 43, 3, 14
+27181: 43, 3, 15
+27182: 43, 3, 16
+27183: 43, 3, 17
+27184: 43, 3, 18
+27185: 43, 3, 19
+27186: 43, 3, 20
+27187: 43, 3, 21
+27188: 43, 3, 22
+27189: 43, 3, 23
+27190: 43, 3, 24
+27191: 43, 3, 25
+27192: 43, 3, 26
+27193: 43, 3, 27
+27194: 43, 3, 28
+27195: 43, 3, 29
+27196: 43, 3, 30
+27197: 43, 3, 31
+27198: 43, 3, 32
+27199: 43, 3, 33
+27200: 43, 3, 34
+27201: 43, 3, 35
+27202: 43, 3, 36
+27203: 43, 4, 0
+27204: 43, 4, 1
+27205: 43, 4, 2
+27206: 43, 4, 3
+27207: 43, 4, 4
+27208: 43, 4, 5
+27209: 43, 4, 6
+27210: 43, 4, 7
+27211: 43, 4, 8
+27212: 43, 4, 9
+27213: 43, 4, 10
+27214: 43, 4, 11
+27215: 43, 4, 12
+27216: 43, 4, 13
+27217: 43, 4, 14
+27218: 43, 4, 15
+27219: 43, 4, 16
+27220: 43, 4, 17
+27221: 43, 4, 18
+27222: 43, 4, 19
+27223: 43, 4, 20
+27224: 43, 4, 21
+27225: 43, 4, 22
+27226: 43, 4, 23
+27227: 43, 4, 24
+27228: 43, 4, 25
+27229: 43, 4, 26
+27230: 43, 4, 27
+27231: 43, 4, 28
+27232: 43, 4, 29
+27233: 43, 4, 30
+27234: 43, 4, 31
+27235: 43, 4, 32
+27236: 43, 4, 33
+27237: 43, 4, 34
+27238: 43, 4, 35
+27239: 43, 4, 36
+27240: 43, 4, 37
+27241: 43, 4, 38
+27242: 43, 4, 39
+27243: 43, 4, 40
+27244: 43, 4, 41
+27245: 43, 4, 42
+27246: 43, 4, 43
+27247: 43, 4, 44
+27248: 43, 4, 45
+27249: 43, 4, 46
+27250: 43, 4, 47
+27251: 43, 4, 48
+27252: 43, 4, 49
+27253: 43, 4, 50
+27254: 43, 4, 51
+27255: 43, 4, 52
+27256: 43, 4, 53
+27257: 43, 4, 54
+27258: 43, 5, 0
+27259: 43, 5, 1
+27260: 43, 5, 2
+27261: 43, 5, 3
+27262: 43, 5, 4
+27263: 43, 5, 5
+27264: 43, 5, 6
+27265: 43, 5, 7
+27266: 43, 5, 8
+27267: 43, 5, 9
+27268: 43, 5, 10
+27269: 43, 5, 11
+27270: 43, 5, 12
+27271: 43, 5, 13
+27272: 43, 5, 14
+27273: 43, 5, 15
+27274: 43, 5, 16
+27275: 43, 5, 17
+27276: 43, 5, 18
+27277: 43, 5, 19
+27278: 43, 5, 20
+27279: 43, 5, 21
+27280: 43, 5, 22
+27281: 43, 5, 23
+27282: 43, 5, 24
+27283: 43, 5, 25
+27284: 43, 5, 26
+27285: 43, 5, 27
+27286: 43, 5, 28
+27287: 43, 5, 29
+27288: 43, 5, 30
+27289: 43, 5, 31
+27290: 43, 5, 32
+27291: 43, 5, 33
+27292: 43, 5, 34
+27293: 43, 5, 35
+27294: 43, 5, 36
+27295: 43, 5, 37
+27296: 43, 5, 38
+27297: 43, 5, 39
+27298: 43, 5, 40
+27299: 43, 5, 41
+27300: 43, 5, 42
+27301: 43, 5, 43
+27302: 43, 5, 44
+27303: 43, 5, 45
+27304: 43, 5, 46
+27305: 43, 5, 47
+27306: 43, 6, 0
+27307: 43, 6, 1
+27308: 43, 6, 2
+27309: 43, 6, 3
+27310: 43, 6, 4
+27311: 43, 6, 5
+27312: 43, 6, 6
+27313: 43, 6, 7
+27314: 43, 6, 8
+27315: 43, 6, 9
+27316: 43, 6, 10
+27317: 43, 6, 11
+27318: 43, 6, 12
+27319: 43, 6, 13
+27320: 43, 6, 14
+27321: 43, 6, 15
+27322: 43, 6, 16
+27323: 43, 6, 17
+27324: 43, 6, 18
+27325: 43, 6, 19
+27326: 43, 6, 20
+27327: 43, 6, 21
+27328: 43, 6, 22
+27329: 43, 6, 23
+27330: 43, 6, 24
+27331: 43, 6, 25
+27332: 43, 6, 26
+27333: 43, 6, 27
+27334: 43, 6, 28
+27335: 43, 6, 29
+27336: 43, 6, 30
+27337: 43, 6, 31
+27338: 43, 6, 32
+27339: 43, 6, 33
+27340: 43, 6, 34
+27341: 43, 6, 35
+27342: 43, 6, 36
+27343: 43, 6, 37
+27344: 43, 6, 38
+27345: 43, 6, 39
+27346: 43, 6, 40
+27347: 43, 6, 41
+27348: 43, 6, 42
+27349: 43, 6, 43
+27350: 43, 6, 44
+27351: 43, 6, 45
+27352: 43, 6, 46
+27353: 43, 6, 47
+27354: 43, 6, 48
+27355: 43, 6, 49
+27356: 43, 6, 50
+27357: 43, 6, 51
+27358: 43, 6, 52
+27359: 43, 6, 53
+27360: 43, 6, 54
+27361: 43, 6, 55
+27362: 43, 6, 56
+27363: 43, 6, 57
+27364: 43, 6, 58
+27365: 43, 6, 59
+27366: 43, 6, 60
+27367: 43, 6, 61
+27368: 43, 6, 62
+27369: 43, 6, 63
+27370: 43, 6, 64
+27371: 43, 6, 65
+27372: 43, 6, 66
+27373: 43, 6, 67
+27374: 43, 6, 68
+27375: 43, 6, 69
+27376: 43, 6, 70
+27377: 43, 6, 71
+27378: 43, 7, 0
+27379: 43, 7, 1
+27380: 43, 7, 2
+27381: 43, 7, 3
+27382: 43, 7, 4
+27383: 43, 7, 5
+27384: 43, 7, 6
+27385: 43, 7, 7
+27386: 43, 7, 8
+27387: 43, 7, 9
+27388: 43, 7, 10
+27389: 43, 7, 11
+27390: 43, 7, 12
+27391: 43, 7, 13
+27392: 43, 7, 14
+27393: 43, 7, 15
+27394: 43, 7, 16
+27395: 43, 7, 17
+27396: 43, 7, 18
+27397: 43, 7, 19
+27398: 43, 7, 20
+27399: 43, 7, 21
+27400: 43, 7, 22
+27401: 43, 7, 23
+27402: 43, 7, 24
+27403: 43, 7, 25
+27404: 43, 7, 26
+27405: 43, 7, 27
+27406: 43, 7, 28
+27407: 43, 7, 29
+27408: 43, 7, 30
+27409: 43, 7, 31
+27410: 43, 7, 32
+27411: 43, 7, 33
+27412: 43, 7, 34
+27413: 43, 7, 35
+27414: 43, 7, 36
+27415: 43, 7, 37
+27416: 43, 7, 38
+27417: 43, 7, 39
+27418: 43, 7, 40
+27419: 43, 7, 41
+27420: 43, 7, 42
+27421: 43, 7, 43
+27422: 43, 7, 44
+27423: 43, 7, 45
+27424: 43, 7, 46
+27425: 43, 7, 47
+27426: 43, 7, 48
+27427: 43, 7, 49
+27428: 43, 7, 50
+27429: 43, 7, 51
+27430: 43, 7, 52
+27431: 43, 7, 53
+27432: 43, 8, 0
+27433: 43, 8, 1
+27434: 43, 8, 2
+27435: 43, 8, 3
+27436: 43, 8, 4
+27437: 43, 8, 5
+27438: 43, 8, 6
+27439: 43, 8, 7
+27440: 43, 8, 8
+27441: 43, 8, 9
+27442: 43, 8, 10
+27443: 43, 8, 11
+27444: 43, 8, 12
+27445: 43, 8, 13
+27446: 43, 8, 14
+27447: 43, 8, 15
+27448: 43, 8, 16
+27449: 43, 8, 17
+27450: 43, 8, 18
+27451: 43, 8, 19
+27452: 43, 8, 20
+27453: 43, 8, 21
+27454: 43, 8, 22
+27455: 43, 8, 23
+27456: 43, 8, 24
+27457: 43, 8, 25
+27458: 43, 8, 26
+27459: 43, 8, 27
+27460: 43, 8, 28
+27461: 43, 8, 29
+27462: 43, 8, 30
+27463: 43, 8, 31
+27464: 43, 8, 32
+27465: 43, 8, 33
+27466: 43, 8, 34
+27467: 43, 8, 35
+27468: 43, 8, 36
+27469: 43, 8, 37
+27470: 43, 8, 38
+27471: 43, 8, 39
+27472: 43, 8, 40
+27473: 43, 8, 41
+27474: 43, 8, 42
+27475: 43, 8, 43
+27476: 43, 8, 44
+27477: 43, 8, 45
+27478: 43, 8, 46
+27479: 43, 8, 47
+27480: 43, 8, 48
+27481: 43, 8, 49
+27482: 43, 8, 50
+27483: 43, 8, 51
+27484: 43, 8, 52
+27485: 43, 8, 53
+27486: 43, 8, 54
+27487: 43, 8, 55
+27488: 43, 8, 56
+27489: 43, 8, 57
+27490: 43, 8, 58
+27491: 43, 8, 59
+27492: 43, 9, 0
+27493: 43, 9, 1
+27494: 43, 9, 2
+27495: 43, 9, 3
+27496: 43, 9, 4
+27497: 43, 9, 5
+27498: 43, 9, 6
+27499: 43, 9, 7
+27500: 43, 9, 8
+27501: 43, 9, 9
+27502: 43, 9, 10
+27503: 43, 9, 11
+27504: 43, 9, 12
+27505: 43, 9, 13
+27506: 43, 9, 14
+27507: 43, 9, 15
+27508: 43, 9, 16
+27509: 43, 9, 17
+27510: 43, 9, 18
+27511: 43, 9, 19
+27512: 43, 9, 20
+27513: 43, 9, 21
+27514: 43, 9, 22
+27515: 43, 9, 23
+27516: 43, 9, 24
+27517: 43, 9, 25
+27518: 43, 9, 26
+27519: 43, 9, 27
+27520: 43, 9, 28
+27521: 43, 9, 29
+27522: 43, 9, 30
+27523: 43, 9, 31
+27524: 43, 9, 32
+27525: 43, 9, 33
+27526: 43, 9, 34
+27527: 43, 9, 35
+27528: 43, 9, 36
+27529: 43, 9, 37
+27530: 43, 9, 38
+27531: 43, 9, 39
+27532: 43, 9, 40
+27533: 43, 9, 41
+27534: 43, 10, 0
+27535: 43, 10, 1
+27536: 43, 10, 2
+27537: 43, 10, 3
+27538: 43, 10, 4
+27539: 43, 10, 5
+27540: 43, 10, 6
+27541: 43, 10, 7
+27542: 43, 10, 8
+27543: 43, 10, 9
+27544: 43, 10, 10
+27545: 43, 10, 11
+27546: 43, 10, 12
+27547: 43, 10, 13
+27548: 43, 10, 14
+27549: 43, 10, 15
+27550: 43, 10, 16
+27551: 43, 10, 17
+27552: 43, 10, 18
+27553: 43, 10, 19
+27554: 43, 10, 20
+27555: 43, 10, 21
+27556: 43, 10, 22
+27557: 43, 10, 23
+27558: 43, 10, 24
+27559: 43, 10, 25
+27560: 43, 10, 26
+27561: 43, 10, 27
+27562: 43, 10, 28
+27563: 43, 10, 29
+27564: 43, 10, 30
+27565: 43, 10, 31
+27566: 43, 10, 32
+27567: 43, 10, 33
+27568: 43, 10, 34
+27569: 43, 10, 35
+27570: 43, 10, 36
+27571: 43, 10, 37
+27572: 43, 10, 38
+27573: 43, 10, 39
+27574: 43, 10, 40
+27575: 43, 10, 41
+27576: 43, 10, 42
+27577: 43, 11, 0
+27578: 43, 11, 1
+27579: 43, 11, 2
+27580: 43, 11, 3
+27581: 43, 11, 4
+27582: 43, 11, 5
+27583: 43, 11, 6
+27584: 43, 11, 7
+27585: 43, 11, 8
+27586: 43, 11, 9
+27587: 43, 11, 10
+27588: 43, 11, 11
+27589: 43, 11, 12
+27590: 43, 11, 13
+27591: 43, 11, 14
+27592: 43, 11, 15
+27593: 43, 11, 16
+27594: 43, 11, 17
+27595: 43, 11, 18
+27596: 43, 11, 19
+27597: 43, 11, 20
+27598: 43, 11, 21
+27599: 43, 11, 22
+27600: 43, 11, 23
+27601: 43, 11, 24
+27602: 43, 11, 25
+27603: 43, 11, 26
+27604: 43, 11, 27
+27605: 43, 11, 28
+27606: 43, 11, 29
+27607: 43, 11, 30
+27608: 43, 11, 31
+27609: 43, 11, 32
+27610: 43, 11, 33
+27611: 43, 11, 34
+27612: 43, 11, 35
+27613: 43, 11, 36
+27614: 43, 11, 37
+27615: 43, 11, 38
+27616: 43, 11, 39
+27617: 43, 11, 40
+27618: 43, 11, 41
+27619: 43, 11, 42
+27620: 43, 11, 43
+27621: 43, 11, 44
+27622: 43, 11, 45
+27623: 43, 11, 46
+27624: 43, 11, 47
+27625: 43, 11, 48
+27626: 43, 11, 49
+27627: 43, 11, 50
+27628: 43, 11, 51
+27629: 43, 11, 52
+27630: 43, 11, 53
+27631: 43, 11, 54
+27632: 43, 11, 55
+27633: 43, 11, 56
+27634: 43, 11, 57
+27635: 43, 12, 0
+27636: 43, 12, 1
+27637: 43, 12, 2
+27638: 43, 12, 3
+27639: 43, 12, 4
+27640: 43, 12, 5
+27641: 43, 12, 6
+27642: 43, 12, 7
+27643: 43, 12, 8
+27644: 43, 12, 9
+27645: 43, 12, 10
+27646: 43, 12, 11
+27647: 43, 12, 12
+27648: 43, 12, 13
+27649: 43, 12, 14
+27650: 43, 12, 15
+27651: 43, 12, 16
+27652: 43, 12, 17
+27653: 43, 12, 18
+27654: 43, 12, 19
+27655: 43, 12, 20
+27656: 43, 12, 21
+27657: 43, 12, 22
+27658: 43, 12, 23
+27659: 43, 12, 24
+27660: 43, 12, 25
+27661: 43, 12, 26
+27662: 43, 12, 27
+27663: 43, 12, 28
+27664: 43, 12, 29
+27665: 43, 12, 30
+27666: 43, 12, 31
+27667: 43, 12, 32
+27668: 43, 12, 33
+27669: 43, 12, 34
+27670: 43, 12, 35
+27671: 43, 12, 36
+27672: 43, 12, 37
+27673: 43, 12, 38
+27674: 43, 12, 39
+27675: 43, 12, 40
+27676: 43, 12, 41
+27677: 43, 12, 42
+27678: 43, 12, 43
+27679: 43, 12, 44
+27680: 43, 12, 45
+27681: 43, 12, 46
+27682: 43, 12, 47
+27683: 43, 12, 48
+27684: 43, 12, 49
+27685: 43, 12, 50
+27686: 43, 13, 0
+27687: 43, 13, 1
+27688: 43, 13, 2
+27689: 43, 13, 3
+27690: 43, 13, 4
+27691: 43, 13, 5
+27692: 43, 13, 6
+27693: 43, 13, 7
+27694: 43, 13, 8
+27695: 43, 13, 9
+27696: 43, 13, 10
+27697: 43, 13, 11
+27698: 43, 13, 12
+27699: 43, 13, 13
+27700: 43, 13, 14
+27701: 43, 13, 15
+27702: 43, 13, 16
+27703: 43, 13, 17
+27704: 43, 13, 18
+27705: 43, 13, 19
+27706: 43, 13, 20
+27707: 43, 13, 21
+27708: 43, 13, 22
+27709: 43, 13, 23
+27710: 43, 13, 24
+27711: 43, 13, 25
+27712: 43, 13, 26
+27713: 43, 13, 27
+27714: 43, 13, 28
+27715: 43, 13, 29
+27716: 43, 13, 30
+27717: 43, 13, 31
+27718: 43, 13, 32
+27719: 43, 13, 33
+27720: 43, 13, 34
+27721: 43, 13, 35
+27722: 43, 13, 36
+27723: 43, 13, 37
+27724: 43, 13, 38
+27725: 43, 14, 0
+27726: 43, 14, 1
+27727: 43, 14, 2
+27728: 43, 14, 3
+27729: 43, 14, 4
+27730: 43, 14, 5
+27731: 43, 14, 6
+27732: 43, 14, 7
+27733: 43, 14, 8
+27734: 43, 14, 9
+27735: 43, 14, 10
+27736: 43, 14, 11
+27737: 43, 14, 12
+27738: 43, 14, 13
+27739: 43, 14, 14
+27740: 43, 14, 15
+27741: 43, 14, 16
+27742: 43, 14, 17
+27743: 43, 14, 18
+27744: 43, 14, 19
+27745: 43, 14, 20
+27746: 43, 14, 21
+27747: 43, 14, 22
+27748: 43, 14, 23
+27749: 43, 14, 24
+27750: 43, 14, 25
+27751: 43, 14, 26
+27752: 43, 14, 27
+27753: 43, 14, 28
+27754: 43, 14, 29
+27755: 43, 14, 30
+27756: 43, 14, 31
+27757: 43, 15, 0
+27758: 43, 15, 1
+27759: 43, 15, 2
+27760: 43, 15, 3
+27761: 43, 15, 4
+27762: 43, 15, 5
+27763: 43, 15, 6
+27764: 43, 15, 7
+27765: 43, 15, 8
+27766: 43, 15, 9
+27767: 43, 15, 10
+27768: 43, 15, 11
+27769: 43, 15, 12
+27770: 43, 15, 13
+27771: 43, 15, 14
+27772: 43, 15, 15
+27773: 43, 15, 16
+27774: 43, 15, 17
+27775: 43, 15, 18
+27776: 43, 15, 19
+27777: 43, 15, 20
+27778: 43, 15, 21
+27779: 43, 15, 22
+27780: 43, 15, 23
+27781: 43, 15, 24
+27782: 43, 15, 25
+27783: 43, 15, 26
+27784: 43, 15, 27
+27785: 43, 16, 0
+27786: 43, 16, 1
+27787: 43, 16, 2
+27788: 43, 16, 3
+27789: 43, 16, 4
+27790: 43, 16, 5
+27791: 43, 16, 6
+27792: 43, 16, 7
+27793: 43, 16, 8
+27794: 43, 16, 9
+27795: 43, 16, 10
+27796: 43, 16, 11
+27797: 43, 16, 12
+27798: 43, 16, 13
+27799: 43, 16, 14
+27800: 43, 16, 15
+27801: 43, 16, 16
+27802: 43, 16, 17
+27803: 43, 16, 18
+27804: 43, 16, 19
+27805: 43, 16, 20
+27806: 43, 16, 21
+27807: 43, 16, 22
+27808: 43, 16, 23
+27809: 43, 16, 24
+27810: 43, 16, 25
+27811: 43, 16, 26
+27812: 43, 16, 27
+27813: 43, 16, 28
+27814: 43, 16, 29
+27815: 43, 16, 30
+27816: 43, 16, 31
+27817: 43, 16, 32
+27818: 43, 16, 33
+27819: 43, 17, 0
+27820: 43, 17, 1
+27821: 43, 17, 2
+27822: 43, 17, 3
+27823: 43, 17, 4
+27824: 43, 17, 5
+27825: 43, 17, 6
+27826: 43, 17, 7
+27827: 43, 17, 8
+27828: 43, 17, 9
+27829: 43, 17, 10
+27830: 43, 17, 11
+27831: 43, 17, 12
+27832: 43, 17, 13
+27833: 43, 17, 14
+27834: 43, 17, 15
+27835: 43, 17, 16
+27836: 43, 17, 17
+27837: 43, 17, 18
+27838: 43, 17, 19
+27839: 43, 17, 20
+27840: 43, 17, 21
+27841: 43, 17, 22
+27842: 43, 17, 23
+27843: 43, 17, 24
+27844: 43, 17, 25
+27845: 43, 17, 26
+27846: 43, 18, 0
+27847: 43, 18, 1
+27848: 43, 18, 2
+27849: 43, 18, 3
+27850: 43, 18, 4
+27851: 43, 18, 5
+27852: 43, 18, 6
+27853: 43, 18, 7
+27854: 43, 18, 8
+27855: 43, 18, 9
+27856: 43, 18, 10
+27857: 43, 18, 11
+27858: 43, 18, 12
+27859: 43, 18, 13
+27860: 43, 18, 14
+27861: 43, 18, 15
+27862: 43, 18, 16
+27863: 43, 18, 17
+27864: 43, 18, 18
+27865: 43, 18, 19
+27866: 43, 18, 20
+27867: 43, 18, 21
+27868: 43, 18, 22
+27869: 43, 18, 23
+27870: 43, 18, 24
+27871: 43, 18, 25
+27872: 43, 18, 26
+27873: 43, 18, 27
+27874: 43, 18, 28
+27875: 43, 18, 29
+27876: 43, 18, 30
+27877: 43, 18, 31
+27878: 43, 18, 32
+27879: 43, 18, 33
+27880: 43, 18, 34
+27881: 43, 18, 35
+27882: 43, 18, 36
+27883: 43, 18, 37
+27884: 43, 18, 38
+27885: 43, 18, 39
+27886: 43, 18, 40
+27887: 43, 19, 0
+27888: 43, 19, 1
+27889: 43, 19, 2
+27890: 43, 19, 3
+27891: 43, 19, 4
+27892: 43, 19, 5
+27893: 43, 19, 6
+27894: 43, 19, 7
+27895: 43, 19, 8
+27896: 43, 19, 9
+27897: 43, 19, 10
+27898: 43, 19, 11
+27899: 43, 19, 12
+27900: 43, 19, 13
+27901: 43, 19, 14
+27902: 43, 19, 15
+27903: 43, 19, 16
+27904: 43, 19, 17
+27905: 43, 19, 18
+27906: 43, 19, 19
+27907: 43, 19, 20
+27908: 43, 19, 21
+27909: 43, 19, 22
+27910: 43, 19, 23
+27911: 43, 19, 24
+27912: 43, 19, 25
+27913: 43, 19, 26
+27914: 43, 19, 27
+27915: 43, 19, 28
+27916: 43, 19, 29
+27917: 43, 19, 30
+27918: 43, 19, 31
+27919: 43, 19, 32
+27920: 43, 19, 33
+27921: 43, 19, 34
+27922: 43, 19, 35
+27923: 43, 19, 36
+27924: 43, 19, 37
+27925: 43, 19, 38
+27926: 43, 19, 39
+27927: 43, 19, 40
+27928: 43, 19, 41
+27929: 43, 19, 42
+27930: 43, 20, 0
+27931: 43, 20, 1
+27932: 43, 20, 2
+27933: 43, 20, 3
+27934: 43, 20, 4
+27935: 43, 20, 5
+27936: 43, 20, 6
+27937: 43, 20, 7
+27938: 43, 20, 8
+27939: 43, 20, 9
+27940: 43, 20, 10
+27941: 43, 20, 11
+27942: 43, 20, 12
+27943: 43, 20, 13
+27944: 43, 20, 14
+27945: 43, 20, 15
+27946: 43, 20, 16
+27947: 43, 20, 17
+27948: 43, 20, 18
+27949: 43, 20, 19
+27950: 43, 20, 20
+27951: 43, 20, 21
+27952: 43, 20, 22
+27953: 43, 20, 23
+27954: 43, 20, 24
+27955: 43, 20, 25
+27956: 43, 20, 26
+27957: 43, 20, 27
+27958: 43, 20, 28
+27959: 43, 20, 29
+27960: 43, 20, 30
+27961: 43, 20, 31
+27962: 43, 21, 0
+27963: 43, 21, 1
+27964: 43, 21, 2
+27965: 43, 21, 3
+27966: 43, 21, 4
+27967: 43, 21, 5
+27968: 43, 21, 6
+27969: 43, 21, 7
+27970: 43, 21, 8
+27971: 43, 21, 9
+27972: 43, 21, 10
+27973: 43, 21, 11
+27974: 43, 21, 12
+27975: 43, 21, 13
+27976: 43, 21, 14
+27977: 43, 21, 15
+27978: 43, 21, 16
+27979: 43, 21, 17
+27980: 43, 21, 18
+27981: 43, 21, 19
+27982: 43, 21, 20
+27983: 43, 21, 21
+27984: 43, 21, 22
+27985: 43, 21, 23
+27986: 43, 21, 24
+27987: 43, 21, 25
+27988: 44, 0, 0
+27989: 44, 1, 0
+27990: 44, 1, 1
+27991: 44, 1, 2
+27992: 44, 1, 3
+27993: 44, 1, 4
+27994: 44, 1, 5
+27995: 44, 1, 6
+27996: 44, 1, 7
+27997: 44, 1, 8
+27998: 44, 1, 9
+27999: 44, 1, 10
+28000: 44, 1, 11
+28001: 44, 1, 12
+28002: 44, 1, 13
+28003: 44, 1, 14
+28004: 44, 1, 15
+28005: 44, 1, 16
+28006: 44, 1, 17
+28007: 44, 1, 18
+28008: 44, 1, 19
+28009: 44, 1, 20
+28010: 44, 1, 21
+28011: 44, 1, 22
+28012: 44, 1, 23
+28013: 44, 1, 24
+28014: 44, 1, 25
+28015: 44, 1, 26
+28016: 44, 2, 0
+28017: 44, 2, 1
+28018: 44, 2, 2
+28019: 44, 2, 3
+28020: 44, 2, 4
+28021: 44, 2, 5
+28022: 44, 2, 6
+28023: 44, 2, 7
+28024: 44, 2, 8
+28025: 44, 2, 9
+28026: 44, 2, 10
+28027: 44, 2, 11
+28028: 44, 2, 12
+28029: 44, 2, 13
+28030: 44, 2, 14
+28031: 44, 2, 15
+28032: 44, 2, 16
+28033: 44, 2, 17
+28034: 44, 2, 18
+28035: 44, 2, 19
+28036: 44, 2, 20
+28037: 44, 2, 21
+28038: 44, 2, 22
+28039: 44, 2, 23
+28040: 44, 2, 24
+28041: 44, 2, 25
+28042: 44, 2, 26
+28043: 44, 2, 27
+28044: 44, 2, 28
+28045: 44, 2, 29
+28046: 44, 2, 30
+28047: 44, 2, 31
+28048: 44, 2, 32
+28049: 44, 2, 33
+28050: 44, 2, 34
+28051: 44, 2, 35
+28052: 44, 2, 36
+28053: 44, 2, 37
+28054: 44, 2, 38
+28055: 44, 2, 39
+28056: 44, 2, 40
+28057: 44, 2, 41
+28058: 44, 2, 42
+28059: 44, 2, 43
+28060: 44, 2, 44
+28061: 44, 2, 45
+28062: 44, 2, 46
+28063: 44, 2, 47
+28064: 44, 3, 0
+28065: 44, 3, 1
+28066: 44, 3, 2
+28067: 44, 3, 3
+28068: 44, 3, 4
+28069: 44, 3, 5
+28070: 44, 3, 6
+28071: 44, 3, 7
+28072: 44, 3, 8
+28073: 44, 3, 9
+28074: 44, 3, 10
+28075: 44, 3, 11
+28076: 44, 3, 12
+28077: 44, 3, 13
+28078: 44, 3, 14
+28079: 44, 3, 15
+28080: 44, 3, 16
+28081: 44, 3, 17
+28082: 44, 3, 18
+28083: 44, 3, 19
+28084: 44, 3, 20
+28085: 44, 3, 21
+28086: 44, 3, 22
+28087: 44, 3, 23
+28088: 44, 3, 24
+28089: 44, 3, 25
+28090: 44, 3, 26
+28091: 44, 4, 0
+28092: 44, 4, 1
+28093: 44, 4, 2
+28094: 44, 4, 3
+28095: 44, 4, 4
+28096: 44, 4, 5
+28097: 44, 4, 6
+28098: 44, 4, 7
+28099: 44, 4, 8
+28100: 44, 4, 9
+28101: 44, 4, 10
+28102: 44, 4, 11
+28103: 44, 4, 12
+28104: 44, 4, 13
+28105: 44, 4, 14
+28106: 44, 4, 15
+28107: 44, 4, 16
+28108: 44, 4, 17
+28109: 44, 4, 18
+28110: 44, 4, 19
+28111: 44, 4, 20
+28112: 44, 4, 21
+28113: 44, 4, 22
+28114: 44, 4, 23
+28115: 44, 4, 24
+28116: 44, 4, 25
+28117: 44, 4, 26
+28118: 44, 4, 27
+28119: 44, 4, 28
+28120: 44, 4, 29
+28121: 44, 4, 30
+28122: 44, 4, 31
+28123: 44, 4, 32
+28124: 44, 4, 33
+28125: 44, 4, 34
+28126: 44, 4, 35
+28127: 44, 4, 36
+28128: 44, 4, 37
+28129: 44, 5, 0
+28130: 44, 5, 1
+28131: 44, 5, 2
+28132: 44, 5, 3
+28133: 44, 5, 4
+28134: 44, 5, 5
+28135: 44, 5, 6
+28136: 44, 5, 7
+28137: 44, 5, 8
+28138: 44, 5, 9
+28139: 44, 5, 10
+28140: 44, 5, 11
+28141: 44, 5, 12
+28142: 44, 5, 13
+28143: 44, 5, 14
+28144: 44, 5, 15
+28145: 44, 5, 16
+28146: 44, 5, 17
+28147: 44, 5, 18
+28148: 44, 5, 19
+28149: 44, 5, 20
+28150: 44, 5, 21
+28151: 44, 5, 22
+28152: 44, 5, 23
+28153: 44, 5, 24
+28154: 44, 5, 25
+28155: 44, 5, 26
+28156: 44, 5, 27
+28157: 44, 5, 28
+28158: 44, 5, 29
+28159: 44, 5, 30
+28160: 44, 5, 31
+28161: 44, 5, 32
+28162: 44, 5, 33
+28163: 44, 5, 34
+28164: 44, 5, 35
+28165: 44, 5, 36
+28166: 44, 5, 37
+28167: 44, 5, 38
+28168: 44, 5, 39
+28169: 44, 5, 40
+28170: 44, 5, 41
+28171: 44, 5, 42
+28172: 44, 6, 0
+28173: 44, 6, 1
+28174: 44, 6, 2
+28175: 44, 6, 3
+28176: 44, 6, 4
+28177: 44, 6, 5
+28178: 44, 6, 6
+28179: 44, 6, 7
+28180: 44, 6, 8
+28181: 44, 6, 9
+28182: 44, 6, 10
+28183: 44, 6, 11
+28184: 44, 6, 12
+28185: 44, 6, 13
+28186: 44, 6, 14
+28187: 44, 6, 15
+28188: 44, 7, 0
+28189: 44, 7, 1
+28190: 44, 7, 2
+28191: 44, 7, 3
+28192: 44, 7, 4
+28193: 44, 7, 5
+28194: 44, 7, 6
+28195: 44, 7, 7
+28196: 44, 7, 8
+28197: 44, 7, 9
+28198: 44, 7, 10
+28199: 44, 7, 11
+28200: 44, 7, 12
+28201: 44, 7, 13
+28202: 44, 7, 14
+28203: 44, 7, 15
+28204: 44, 7, 16
+28205: 44, 7, 17
+28206: 44, 7, 18
+28207: 44, 7, 19
+28208: 44, 7, 20
+28209: 44, 7, 21
+28210: 44, 7, 22
+28211: 44, 7, 23
+28212: 44, 7, 24
+28213: 44, 7, 25
+28214: 44, 7, 26
+28215: 44, 7, 27
+28216: 44, 7, 28
+28217: 44, 7, 29
+28218: 44, 7, 30
+28219: 44, 7, 31
+28220: 44, 7, 32
+28221: 44, 7, 33
+28222: 44, 7, 34
+28223: 44, 7, 35
+28224: 44, 7, 36
+28225: 44, 7, 37
+28226: 44, 7, 38
+28227: 44, 7, 39
+28228: 44, 7, 40
+28229: 44, 7, 41
+28230: 44, 7, 42
+28231: 44, 7, 43
+28232: 44, 7, 44
+28233: 44, 7, 45
+28234: 44, 7, 46
+28235: 44, 7, 47
+28236: 44, 7, 48
+28237: 44, 7, 49
+28238: 44, 7, 50
+28239: 44, 7, 51
+28240: 44, 7, 52
+28241: 44, 7, 53
+28242: 44, 7, 54
+28243: 44, 7, 55
+28244: 44, 7, 56
+28245: 44, 7, 57
+28246: 44, 7, 58
+28247: 44, 7, 59
+28248: 44, 7, 60
+28249: 44, 8, 0
+28250: 44, 8, 1
+28251: 44, 8, 2
+28252: 44, 8, 3
+28253: 44, 8, 4
+28254: 44, 8, 5
+28255: 44, 8, 6
+28256: 44, 8, 7
+28257: 44, 8, 8
+28258: 44, 8, 9
+28259: 44, 8, 10
+28260: 44, 8, 11
+28261: 44, 8, 12
+28262: 44, 8, 13
+28263: 44, 8, 14
+28264: 44, 8, 15
+28265: 44, 8, 16
+28266: 44, 8, 17
+28267: 44, 8, 18
+28268: 44, 8, 19
+28269: 44, 8, 20
+28270: 44, 8, 21
+28271: 44, 8, 22
+28272: 44, 8, 23
+28273: 44, 8, 24
+28274: 44, 8, 25
+28275: 44, 8, 26
+28276: 44, 8, 27
+28277: 44, 8, 28
+28278: 44, 8, 29
+28279: 44, 8, 30
+28280: 44, 8, 31
+28281: 44, 8, 32
+28282: 44, 8, 33
+28283: 44, 8, 34
+28284: 44, 8, 35
+28285: 44, 8, 36
+28286: 44, 8, 37
+28287: 44, 8, 38
+28288: 44, 8, 39
+28289: 44, 8, 40
+28290: 44, 9, 0
+28291: 44, 9, 1
+28292: 44, 9, 2
+28293: 44, 9, 3
+28294: 44, 9, 4
+28295: 44, 9, 5
+28296: 44, 9, 6
+28297: 44, 9, 7
+28298: 44, 9, 8
+28299: 44, 9, 9
+28300: 44, 9, 10
+28301: 44, 9, 11
+28302: 44, 9, 12
+28303: 44, 9, 13
+28304: 44, 9, 14
+28305: 44, 9, 15
+28306: 44, 9, 16
+28307: 44, 9, 17
+28308: 44, 9, 18
+28309: 44, 9, 19
+28310: 44, 9, 20
+28311: 44, 9, 21
+28312: 44, 9, 22
+28313: 44, 9, 23
+28314: 44, 9, 24
+28315: 44, 9, 25
+28316: 44, 9, 26
+28317: 44, 9, 27
+28318: 44, 9, 28
+28319: 44, 9, 29
+28320: 44, 9, 30
+28321: 44, 9, 31
+28322: 44, 9, 32
+28323: 44, 9, 33
+28324: 44, 9, 34
+28325: 44, 9, 35
+28326: 44, 9, 36
+28327: 44, 9, 37
+28328: 44, 9, 38
+28329: 44, 9, 39
+28330: 44, 9, 40
+28331: 44, 9, 41
+28332: 44, 9, 42
+28333: 44, 9, 43
+28334: 44, 10, 0
+28335: 44, 10, 1
+28336: 44, 10, 2
+28337: 44, 10, 3
+28338: 44, 10, 4
+28339: 44, 10, 5
+28340: 44, 10, 6
+28341: 44, 10, 7
+28342: 44, 10, 8
+28343: 44, 10, 9
+28344: 44, 10, 10
+28345: 44, 10, 11
+28346: 44, 10, 12
+28347: 44, 10, 13
+28348: 44, 10, 14
+28349: 44, 10, 15
+28350: 44, 10, 16
+28351: 44, 10, 17
+28352: 44, 10, 18
+28353: 44, 10, 19
+28354: 44, 10, 20
+28355: 44, 10, 21
+28356: 44, 10, 22
+28357: 44, 10, 23
+28358: 44, 10, 24
+28359: 44, 10, 25
+28360: 44, 10, 26
+28361: 44, 10, 27
+28362: 44, 10, 28
+28363: 44, 10, 29
+28364: 44, 10, 30
+28365: 44, 10, 31
+28366: 44, 10, 32
+28367: 44, 10, 33
+28368: 44, 10, 34
+28369: 44, 10, 35
+28370: 44, 10, 36
+28371: 44, 10, 37
+28372: 44, 10, 38
+28373: 44, 10, 39
+28374: 44, 10, 40
+28375: 44, 10, 41
+28376: 44, 10, 42
+28377: 44, 10, 43
+28378: 44, 10, 44
+28379: 44, 10, 45
+28380: 44, 10, 46
+28381: 44, 10, 47
+28382: 44, 10, 48
+28383: 44, 11, 0
+28384: 44, 11, 1
+28385: 44, 11, 2
+28386: 44, 11, 3
+28387: 44, 11, 4
+28388: 44, 11, 5
+28389: 44, 11, 6
+28390: 44, 11, 7
+28391: 44, 11, 8
+28392: 44, 11, 9
+28393: 44, 11, 10
+28394: 44, 11, 11
+28395: 44, 11, 12
+28396: 44, 11, 13
+28397: 44, 11, 14
+28398: 44, 11, 15
+28399: 44, 11, 16
+28400: 44, 11, 17
+28401: 44, 11, 18
+28402: 44, 11, 19
+28403: 44, 11, 20
+28404: 44, 11, 21
+28405: 44, 11, 22
+28406: 44, 11, 23
+28407: 44, 11, 24
+28408: 44, 11, 25
+28409: 44, 11, 26
+28410: 44, 11, 27
+28411: 44, 11, 28
+28412: 44, 11, 29
+28413: 44, 11, 30
+28414: 44, 12, 0
+28415: 44, 12, 1
+28416: 44, 12, 2
+28417: 44, 12, 3
+28418: 44, 12, 4
+28419: 44, 12, 5
+28420: 44, 12, 6
+28421: 44, 12, 7
+28422: 44, 12, 8
+28423: 44, 12, 9
+28424: 44, 12, 10
+28425: 44, 12, 11
+28426: 44, 12, 12
+28427: 44, 12, 13
+28428: 44, 12, 14
+28429: 44, 12, 15
+28430: 44, 12, 16
+28431: 44, 12, 17
+28432: 44, 12, 18
+28433: 44, 12, 19
+28434: 44, 12, 20
+28435: 44, 12, 21
+28436: 44, 12, 22
+28437: 44, 12, 23
+28438: 44, 12, 24
+28439: 44, 12, 25
+28440: 44, 13, 0
+28441: 44, 13, 1
+28442: 44, 13, 2
+28443: 44, 13, 3
+28444: 44, 13, 4
+28445: 44, 13, 5
+28446: 44, 13, 6
+28447: 44, 13, 7
+28448: 44, 13, 8
+28449: 44, 13, 9
+28450: 44, 13, 10
+28451: 44, 13, 11
+28452: 44, 13, 12
+28453: 44, 13, 13
+28454: 44, 13, 14
+28455: 44, 13, 15
+28456: 44, 13, 16
+28457: 44, 13, 17
+28458: 44, 13, 18
+28459: 44, 13, 19
+28460: 44, 13, 20
+28461: 44, 13, 21
+28462: 44, 13, 22
+28463: 44, 13, 23
+28464: 44, 13, 24
+28465: 44, 13, 25
+28466: 44, 13, 26
+28467: 44, 13, 27
+28468: 44, 13, 28
+28469: 44, 13, 29
+28470: 44, 13, 30
+28471: 44, 13, 31
+28472: 44, 13, 32
+28473: 44, 13, 33
+28474: 44, 13, 34
+28475: 44, 13, 35
+28476: 44, 13, 36
+28477: 44, 13, 37
+28478: 44, 13, 38
+28479: 44, 13, 39
+28480: 44, 13, 40
+28481: 44, 13, 41
+28482: 44, 13, 42
+28483: 44, 13, 43
+28484: 44, 13, 44
+28485: 44, 13, 45
+28486: 44, 13, 46
+28487: 44, 13, 47
+28488: 44, 13, 48
+28489: 44, 13, 49
+28490: 44, 13, 50
+28491: 44, 13, 51
+28492: 44, 13, 52
+28493: 44, 14, 0
+28494: 44, 14, 1
+28495: 44, 14, 2
+28496: 44, 14, 3
+28497: 44, 14, 4
+28498: 44, 14, 5
+28499: 44, 14, 6
+28500: 44, 14, 7
+28501: 44, 14, 8
+28502: 44, 14, 9
+28503: 44, 14, 10
+28504: 44, 14, 11
+28505: 44, 14, 12
+28506: 44, 14, 13
+28507: 44, 14, 14
+28508: 44, 14, 15
+28509: 44, 14, 16
+28510: 44, 14, 17
+28511: 44, 14, 18
+28512: 44, 14, 19
+28513: 44, 14, 20
+28514: 44, 14, 21
+28515: 44, 14, 22
+28516: 44, 14, 23
+28517: 44, 14, 24
+28518: 44, 14, 25
+28519: 44, 14, 26
+28520: 44, 14, 27
+28521: 44, 14, 28
+28522: 44, 15, 0
+28523: 44, 15, 1
+28524: 44, 15, 2
+28525: 44, 15, 3
+28526: 44, 15, 4
+28527: 44, 15, 5
+28528: 44, 15, 6
+28529: 44, 15, 7
+28530: 44, 15, 8
+28531: 44, 15, 9
+28532: 44, 15, 10
+28533: 44, 15, 11
+28534: 44, 15, 12
+28535: 44, 15, 13
+28536: 44, 15, 14
+28537: 44, 15, 15
+28538: 44, 15, 16
+28539: 44, 15, 17
+28540: 44, 15, 18
+28541: 44, 15, 19
+28542: 44, 15, 20
+28543: 44, 15, 21
+28544: 44, 15, 22
+28545: 44, 15, 23
+28546: 44, 15, 24
+28547: 44, 15, 25
+28548: 44, 15, 26
+28549: 44, 15, 27
+28550: 44, 15, 28
+28551: 44, 15, 29
+28552: 44, 15, 30
+28553: 44, 15, 31
+28554: 44, 15, 32
+28555: 44, 15, 33
+28556: 44, 15, 34
+28557: 44, 15, 35
+28558: 44, 15, 36
+28559: 44, 15, 37
+28560: 44, 15, 38
+28561: 44, 15, 39
+28562: 44, 15, 40
+28563: 44, 15, 41
+28564: 44, 16, 0
+28565: 44, 16, 1
+28566: 44, 16, 2
+28567: 44, 16, 3
+28568: 44, 16, 4
+28569: 44, 16, 5
+28570: 44, 16, 6
+28571: 44, 16, 7
+28572: 44, 16, 8
+28573: 44, 16, 9
+28574: 44, 16, 10
+28575: 44, 16, 11
+28576: 44, 16, 12
+28577: 44, 16, 13
+28578: 44, 16, 14
+28579: 44, 16, 15
+28580: 44, 16, 16
+28581: 44, 16, 17
+28582: 44, 16, 18
+28583: 44, 16, 19
+28584: 44, 16, 20
+28585: 44, 16, 21
+28586: 44, 16, 22
+28587: 44, 16, 23
+28588: 44, 16, 24
+28589: 44, 16, 25
+28590: 44, 16, 26
+28591: 44, 16, 27
+28592: 44, 16, 28
+28593: 44, 16, 29
+28594: 44, 16, 30
+28595: 44, 16, 31
+28596: 44, 16, 32
+28597: 44, 16, 33
+28598: 44, 16, 34
+28599: 44, 16, 35
+28600: 44, 16, 36
+28601: 44, 16, 37
+28602: 44, 16, 38
+28603: 44, 16, 39
+28604: 44, 16, 40
+28605: 44, 17, 0
+28606: 44, 17, 1
+28607: 44, 17, 2
+28608: 44, 17, 3
+28609: 44, 17, 4
+28610: 44, 17, 5
+28611: 44, 17, 6
+28612: 44, 17, 7
+28613: 44, 17, 8
+28614: 44, 17, 9
+28615: 44, 17, 10
+28616: 44, 17, 11
+28617: 44, 17, 12
+28618: 44, 17, 13
+28619: 44, 17, 14
+28620: 44, 17, 15
+28621: 44, 17, 16
+28622: 44, 17, 17
+28623: 44, 17, 18
+28624: 44, 17, 19
+28625: 44, 17, 20
+28626: 44, 17, 21
+28627: 44, 17, 22
+28628: 44, 17, 23
+28629: 44, 17, 24
+28630: 44, 17, 25
+28631: 44, 17, 26
+28632: 44, 17, 27
+28633: 44, 17, 28
+28634: 44, 17, 29
+28635: 44, 17, 30
+28636: 44, 17, 31
+28637: 44, 17, 32
+28638: 44, 17, 33
+28639: 44, 17, 34
+28640: 44, 18, 0
+28641: 44, 18, 1
+28642: 44, 18, 2
+28643: 44, 18, 3
+28644: 44, 18, 4
+28645: 44, 18, 5
+28646: 44, 18, 6
+28647: 44, 18, 7
+28648: 44, 18, 8
+28649: 44, 18, 9
+28650: 44, 18, 10
+28651: 44, 18, 11
+28652: 44, 18, 12
+28653: 44, 18, 13
+28654: 44, 18, 14
+28655: 44, 18, 15
+28656: 44, 18, 16
+28657: 44, 18, 17
+28658: 44, 18, 18
+28659: 44, 18, 19
+28660: 44, 18, 20
+28661: 44, 18, 21
+28662: 44, 18, 22
+28663: 44, 18, 23
+28664: 44, 18, 24
+28665: 44, 18, 25
+28666: 44, 18, 26
+28667: 44, 18, 27
+28668: 44, 18, 28
+28669: 44, 19, 0
+28670: 44, 19, 1
+28671: 44, 19, 2
+28672: 44, 19, 3
+28673: 44, 19, 4
+28674: 44, 19, 5
+28675: 44, 19, 6
+28676: 44, 19, 7
+28677: 44, 19, 8
+28678: 44, 19, 9
+28679: 44, 19, 10
+28680: 44, 19, 11
+28681: 44, 19, 12
+28682: 44, 19, 13
+28683: 44, 19, 14
+28684: 44, 19, 15
+28685: 44, 19, 16
+28686: 44, 19, 17
+28687: 44, 19, 18
+28688: 44, 19, 19
+28689: 44, 19, 20
+28690: 44, 19, 21
+28691: 44, 19, 22
+28692: 44, 19, 23
+28693: 44, 19, 24
+28694: 44, 19, 25
+28695: 44, 19, 26
+28696: 44, 19, 27
+28697: 44, 19, 28
+28698: 44, 19, 29
+28699: 44, 19, 30
+28700: 44, 19, 31
+28701: 44, 19, 32
+28702: 44, 19, 33
+28703: 44, 19, 34
+28704: 44, 19, 35
+28705: 44, 19, 36
+28706: 44, 19, 37
+28707: 44, 19, 38
+28708: 44, 19, 39
+28709: 44, 19, 40
+28710: 44, 19, 41
+28711: 44, 20, 0
+28712: 44, 20, 1
+28713: 44, 20, 2
+28714: 44, 20, 3
+28715: 44, 20, 4
+28716: 44, 20, 5
+28717: 44, 20, 6
+28718: 44, 20, 7
+28719: 44, 20, 8
+28720: 44, 20, 9
+28721: 44, 20, 10
+28722: 44, 20, 11
+28723: 44, 20, 12
+28724: 44, 20, 13
+28725: 44, 20, 14
+28726: 44, 20, 15
+28727: 44, 20, 16
+28728: 44, 20, 17
+28729: 44, 20, 18
+28730: 44, 20, 19
+28731: 44, 20, 20
+28732: 44, 20, 21
+28733: 44, 20, 22
+28734: 44, 20, 23
+28735: 44, 20, 24
+28736: 44, 20, 25
+28737: 44, 20, 26
+28738: 44, 20, 27
+28739: 44, 20, 28
+28740: 44, 20, 29
+28741: 44, 20, 30
+28742: 44, 20, 31
+28743: 44, 20, 32
+28744: 44, 20, 33
+28745: 44, 20, 34
+28746: 44, 20, 35
+28747: 44, 20, 36
+28748: 44, 20, 37
+28749: 44, 20, 38
+28750: 44, 21, 0
+28751: 44, 21, 1
+28752: 44, 21, 2
+28753: 44, 21, 3
+28754: 44, 21, 4
+28755: 44, 21, 5
+28756: 44, 21, 6
+28757: 44, 21, 7
+28758: 44, 21, 8
+28759: 44, 21, 9
+28760: 44, 21, 10
+28761: 44, 21, 11
+28762: 44, 21, 12
+28763: 44, 21, 13
+28764: 44, 21, 14
+28765: 44, 21, 15
+28766: 44, 21, 16
+28767: 44, 21, 17
+28768: 44, 21, 18
+28769: 44, 21, 19
+28770: 44, 21, 20
+28771: 44, 21, 21
+28772: 44, 21, 22
+28773: 44, 21, 23
+28774: 44, 21, 24
+28775: 44, 21, 25
+28776: 44, 21, 26
+28777: 44, 21, 27
+28778: 44, 21, 28
+28779: 44, 21, 29
+28780: 44, 21, 30
+28781: 44, 21, 31
+28782: 44, 21, 32
+28783: 44, 21, 33
+28784: 44, 21, 34
+28785: 44, 21, 35
+28786: 44, 21, 36
+28787: 44, 21, 37
+28788: 44, 21, 38
+28789: 44, 21, 39
+28790: 44, 21, 40
+28791: 44, 22, 0
+28792: 44, 22, 1
+28793: 44, 22, 2
+28794: 44, 22, 3
+28795: 44, 22, 4
+28796: 44, 22, 5
+28797: 44, 22, 6
+28798: 44, 22, 7
+28799: 44, 22, 8
+28800: 44, 22, 9
+28801: 44, 22, 10
+28802: 44, 22, 11
+28803: 44, 22, 12
+28804: 44, 22, 13
+28805: 44, 22, 14
+28806: 44, 22, 15
+28807: 44, 22, 16
+28808: 44, 22, 17
+28809: 44, 22, 18
+28810: 44, 22, 19
+28811: 44, 22, 20
+28812: 44, 22, 21
+28813: 44, 22, 22
+28814: 44, 22, 23
+28815: 44, 22, 24
+28816: 44, 22, 25
+28817: 44, 22, 26
+28818: 44, 22, 27
+28819: 44, 22, 28
+28820: 44, 22, 29
+28821: 44, 22, 30
+28822: 44, 23, 0
+28823: 44, 23, 1
+28824: 44, 23, 2
+28825: 44, 23, 3
+28826: 44, 23, 4
+28827: 44, 23, 5
+28828: 44, 23, 6
+28829: 44, 23, 7
+28830: 44, 23, 8
+28831: 44, 23, 9
+28832: 44, 23, 10
+28833: 44, 23, 11
+28834: 44, 23, 12
+28835: 44, 23, 13
+28836: 44, 23, 14
+28837: 44, 23, 15
+28838: 44, 23, 16
+28839: 44, 23, 17
+28840: 44, 23, 18
+28841: 44, 23, 19
+28842: 44, 23, 20
+28843: 44, 23, 21
+28844: 44, 23, 22
+28845: 44, 23, 23
+28846: 44, 23, 24
+28847: 44, 23, 25
+28848: 44, 23, 26
+28849: 44, 23, 27
+28850: 44, 23, 28
+28851: 44, 23, 29
+28852: 44, 23, 30
+28853: 44, 23, 31
+28854: 44, 23, 32
+28855: 44, 23, 33
+28856: 44, 23, 34
+28857: 44, 23, 35
+28858: 44, 24, 0
+28859: 44, 24, 1
+28860: 44, 24, 2
+28861: 44, 24, 3
+28862: 44, 24, 4
+28863: 44, 24, 5
+28864: 44, 24, 6
+28865: 44, 24, 7
+28866: 44, 24, 8
+28867: 44, 24, 9
+28868: 44, 24, 10
+28869: 44, 24, 11
+28870: 44, 24, 12
+28871: 44, 24, 13
+28872: 44, 24, 14
+28873: 44, 24, 15
+28874: 44, 24, 16
+28875: 44, 24, 17
+28876: 44, 24, 18
+28877: 44, 24, 19
+28878: 44, 24, 20
+28879: 44, 24, 21
+28880: 44, 24, 22
+28881: 44, 24, 23
+28882: 44, 24, 24
+28883: 44, 24, 25
+28884: 44, 24, 26
+28885: 44, 24, 27
+28886: 44, 25, 0
+28887: 44, 25, 1
+28888: 44, 25, 2
+28889: 44, 25, 3
+28890: 44, 25, 4
+28891: 44, 25, 5
+28892: 44, 25, 6
+28893: 44, 25, 7
+28894: 44, 25, 8
+28895: 44, 25, 9
+28896: 44, 25, 10
+28897: 44, 25, 11
+28898: 44, 25, 12
+28899: 44, 25, 13
+28900: 44, 25, 14
+28901: 44, 25, 15
+28902: 44, 25, 16
+28903: 44, 25, 17
+28904: 44, 25, 18
+28905: 44, 25, 19
+28906: 44, 25, 20
+28907: 44, 25, 21
+28908: 44, 25, 22
+28909: 44, 25, 23
+28910: 44, 25, 24
+28911: 44, 25, 25
+28912: 44, 25, 26
+28913: 44, 25, 27
+28914: 44, 26, 0
+28915: 44, 26, 1
+28916: 44, 26, 2
+28917: 44, 26, 3
+28918: 44, 26, 4
+28919: 44, 26, 5
+28920: 44, 26, 6
+28921: 44, 26, 7
+28922: 44, 26, 8
+28923: 44, 26, 9
+28924: 44, 26, 10
+28925: 44, 26, 11
+28926: 44, 26, 12
+28927: 44, 26, 13
+28928: 44, 26, 14
+28929: 44, 26, 15
+28930: 44, 26, 16
+28931: 44, 26, 17
+28932: 44, 26, 18
+28933: 44, 26, 19
+28934: 44, 26, 20
+28935: 44, 26, 21
+28936: 44, 26, 22
+28937: 44, 26, 23
+28938: 44, 26, 24
+28939: 44, 26, 25
+28940: 44, 26, 26
+28941: 44, 26, 27
+28942: 44, 26, 28
+28943: 44, 26, 29
+28944: 44, 26, 30
+28945: 44, 26, 31
+28946: 44, 26, 32
+28947: 44, 27, 0
+28948: 44, 27, 1
+28949: 44, 27, 2
+28950: 44, 27, 3
+28951: 44, 27, 4
+28952: 44, 27, 5
+28953: 44, 27, 6
+28954: 44, 27, 7
+28955: 44, 27, 8
+28956: 44, 27, 9
+28957: 44, 27, 10
+28958: 44, 27, 11
+28959: 44, 27, 12
+28960: 44, 27, 13
+28961: 44, 27, 14
+28962: 44, 27, 15
+28963: 44, 27, 16
+28964: 44, 27, 17
+28965: 44, 27, 18
+28966: 44, 27, 19
+28967: 44, 27, 20
+28968: 44, 27, 21
+28969: 44, 27, 22
+28970: 44, 27, 23
+28971: 44, 27, 24
+28972: 44, 27, 25
+28973: 44, 27, 26
+28974: 44, 27, 27
+28975: 44, 27, 28
+28976: 44, 27, 29
+28977: 44, 27, 30
+28978: 44, 27, 31
+28979: 44, 27, 32
+28980: 44, 27, 33
+28981: 44, 27, 34
+28982: 44, 27, 35
+28983: 44, 27, 36
+28984: 44, 27, 37
+28985: 44, 27, 38
+28986: 44, 27, 39
+28987: 44, 27, 40
+28988: 44, 27, 41
+28989: 44, 27, 42
+28990: 44, 27, 43
+28991: 44, 27, 44
+28992: 44, 28, 0
+28993: 44, 28, 1
+28994: 44, 28, 2
+28995: 44, 28, 3
+28996: 44, 28, 4
+28997: 44, 28, 5
+28998: 44, 28, 6
+28999: 44, 28, 7
+29000: 44, 28, 8
+29001: 44, 28, 9
+29002: 44, 28, 10
+29003: 44, 28, 11
+29004: 44, 28, 12
+29005: 44, 28, 13
+29006: 44, 28, 14
+29007: 44, 28, 15
+29008: 44, 28, 16
+29009: 44, 28, 17
+29010: 44, 28, 18
+29011: 44, 28, 19
+29012: 44, 28, 20
+29013: 44, 28, 21
+29014: 44, 28, 22
+29015: 44, 28, 23
+29016: 44, 28, 24
+29017: 44, 28, 25
+29018: 44, 28, 26
+29019: 44, 28, 27
+29020: 44, 28, 28
+29021: 44, 28, 29
+29022: 44, 28, 30
+29023: 44, 28, 31
+29024: 45, 0, 0
+29025: 45, 1, 0
+29026: 45, 1, 1
+29027: 45, 1, 2
+29028: 45, 1, 3
+29029: 45, 1, 4
+29030: 45, 1, 5
+29031: 45, 1, 6
+29032: 45, 1, 7
+29033: 45, 1, 8
+29034: 45, 1, 9
+29035: 45, 1, 10
+29036: 45, 1, 11
+29037: 45, 1, 12
+29038: 45, 1, 13
+29039: 45, 1, 14
+29040: 45, 1, 15
+29041: 45, 1, 16
+29042: 45, 1, 17
+29043: 45, 1, 18
+29044: 45, 1, 19
+29045: 45, 1, 20
+29046: 45, 1, 21
+29047: 45, 1, 22
+29048: 45, 1, 23
+29049: 45, 1, 24
+29050: 45, 1, 25
+29051: 45, 1, 26
+29052: 45, 1, 27
+29053: 45, 1, 28
+29054: 45, 1, 29
+29055: 45, 1, 30
+29056: 45, 1, 31
+29057: 45, 1, 32
+29058: 45, 2, 0
+29059: 45, 2, 1
+29060: 45, 2, 2
+29061: 45, 2, 3
+29062: 45, 2, 4
+29063: 45, 2, 5
+29064: 45, 2, 6
+29065: 45, 2, 7
+29066: 45, 2, 8
+29067: 45, 2, 9
+29068: 45, 2, 10
+29069: 45, 2, 11
+29070: 45, 2, 12
+29071: 45, 2, 13
+29072: 45, 2, 14
+29073: 45, 2, 15
+29074: 45, 2, 16
+29075: 45, 2, 17
+29076: 45, 2, 18
+29077: 45, 2, 19
+29078: 45, 2, 20
+29079: 45, 2, 21
+29080: 45, 2, 22
+29081: 45, 2, 23
+29082: 45, 2, 24
+29083: 45, 2, 25
+29084: 45, 2, 26
+29085: 45, 2, 27
+29086: 45, 2, 28
+29087: 45, 2, 29
+29088: 45, 3, 0
+29089: 45, 3, 1
+29090: 45, 3, 2
+29091: 45, 3, 3
+29092: 45, 3, 4
+29093: 45, 3, 5
+29094: 45, 3, 6
+29095: 45, 3, 7
+29096: 45, 3, 8
+29097: 45, 3, 9
+29098: 45, 3, 10
+29099: 45, 3, 11
+29100: 45, 3, 12
+29101: 45, 3, 13
+29102: 45, 3, 14
+29103: 45, 3, 15
+29104: 45, 3, 16
+29105: 45, 3, 17
+29106: 45, 3, 18
+29107: 45, 3, 19
+29108: 45, 3, 20
+29109: 45, 3, 21
+29110: 45, 3, 22
+29111: 45, 3, 23
+29112: 45, 3, 24
+29113: 45, 3, 25
+29114: 45, 3, 26
+29115: 45, 3, 27
+29116: 45, 3, 28
+29117: 45, 3, 29
+29118: 45, 3, 30
+29119: 45, 3, 31
+29120: 45, 4, 0
+29121: 45, 4, 1
+29122: 45, 4, 2
+29123: 45, 4, 3
+29124: 45, 4, 4
+29125: 45, 4, 5
+29126: 45, 4, 6
+29127: 45, 4, 7
+29128: 45, 4, 8
+29129: 45, 4, 9
+29130: 45, 4, 10
+29131: 45, 4, 11
+29132: 45, 4, 12
+29133: 45, 4, 13
+29134: 45, 4, 14
+29135: 45, 4, 15
+29136: 45, 4, 16
+29137: 45, 4, 17
+29138: 45, 4, 18
+29139: 45, 4, 19
+29140: 45, 4, 20
+29141: 45, 4, 21
+29142: 45, 4, 22
+29143: 45, 4, 23
+29144: 45, 4, 24
+29145: 45, 4, 25
+29146: 45, 5, 0
+29147: 45, 5, 1
+29148: 45, 5, 2
+29149: 45, 5, 3
+29150: 45, 5, 4
+29151: 45, 5, 5
+29152: 45, 5, 6
+29153: 45, 5, 7
+29154: 45, 5, 8
+29155: 45, 5, 9
+29156: 45, 5, 10
+29157: 45, 5, 11
+29158: 45, 5, 12
+29159: 45, 5, 13
+29160: 45, 5, 14
+29161: 45, 5, 15
+29162: 45, 5, 16
+29163: 45, 5, 17
+29164: 45, 5, 18
+29165: 45, 5, 19
+29166: 45, 5, 20
+29167: 45, 5, 21
+29168: 45, 6, 0
+29169: 45, 6, 1
+29170: 45, 6, 2
+29171: 45, 6, 3
+29172: 45, 6, 4
+29173: 45, 6, 5
+29174: 45, 6, 6
+29175: 45, 6, 7
+29176: 45, 6, 8
+29177: 45, 6, 9
+29178: 45, 6, 10
+29179: 45, 6, 11
+29180: 45, 6, 12
+29181: 45, 6, 13
+29182: 45, 6, 14
+29183: 45, 6, 15
+29184: 45, 6, 16
+29185: 45, 6, 17
+29186: 45, 6, 18
+29187: 45, 6, 19
+29188: 45, 6, 20
+29189: 45, 6, 21
+29190: 45, 6, 22
+29191: 45, 6, 23
+29192: 45, 7, 0
+29193: 45, 7, 1
+29194: 45, 7, 2
+29195: 45, 7, 3
+29196: 45, 7, 4
+29197: 45, 7, 5
+29198: 45, 7, 6
+29199: 45, 7, 7
+29200: 45, 7, 8
+29201: 45, 7, 9
+29202: 45, 7, 10
+29203: 45, 7, 11
+29204: 45, 7, 12
+29205: 45, 7, 13
+29206: 45, 7, 14
+29207: 45, 7, 15
+29208: 45, 7, 16
+29209: 45, 7, 17
+29210: 45, 7, 18
+29211: 45, 7, 19
+29212: 45, 7, 20
+29213: 45, 7, 21
+29214: 45, 7, 22
+29215: 45, 7, 23
+29216: 45, 7, 24
+29217: 45, 7, 25
+29218: 45, 8, 0
+29219: 45, 8, 1
+29220: 45, 8, 2
+29221: 45, 8, 3
+29222: 45, 8, 4
+29223: 45, 8, 5
+29224: 45, 8, 6
+29225: 45, 8, 7
+29226: 45, 8, 8
+29227: 45, 8, 9
+29228: 45, 8, 10
+29229: 45, 8, 11
+29230: 45, 8, 12
+29231: 45, 8, 13
+29232: 45, 8, 14
+29233: 45, 8, 15
+29234: 45, 8, 16
+29235: 45, 8, 17
+29236: 45, 8, 18
+29237: 45, 8, 19
+29238: 45, 8, 20
+29239: 45, 8, 21
+29240: 45, 8, 22
+29241: 45, 8, 23
+29242: 45, 8, 24
+29243: 45, 8, 25
+29244: 45, 8, 26
+29245: 45, 8, 27
+29246: 45, 8, 28
+29247: 45, 8, 29
+29248: 45, 8, 30
+29249: 45, 8, 31
+29250: 45, 8, 32
+29251: 45, 8, 33
+29252: 45, 8, 34
+29253: 45, 8, 35
+29254: 45, 8, 36
+29255: 45, 8, 37
+29256: 45, 8, 38
+29257: 45, 8, 39
+29258: 45, 9, 0
+29259: 45, 9, 1
+29260: 45, 9, 2
+29261: 45, 9, 3
+29262: 45, 9, 4
+29263: 45, 9, 5
+29264: 45, 9, 6
+29265: 45, 9, 7
+29266: 45, 9, 8
+29267: 45, 9, 9
+29268: 45, 9, 10
+29269: 45, 9, 11
+29270: 45, 9, 12
+29271: 45, 9, 13
+29272: 45, 9, 14
+29273: 45, 9, 15
+29274: 45, 9, 16
+29275: 45, 9, 17
+29276: 45, 9, 18
+29277: 45, 9, 19
+29278: 45, 9, 20
+29279: 45, 9, 21
+29280: 45, 9, 22
+29281: 45, 9, 23
+29282: 45, 9, 24
+29283: 45, 9, 25
+29284: 45, 9, 26
+29285: 45, 9, 27
+29286: 45, 9, 28
+29287: 45, 9, 29
+29288: 45, 9, 30
+29289: 45, 9, 31
+29290: 45, 9, 32
+29291: 45, 9, 33
+29292: 45, 10, 0
+29293: 45, 10, 1
+29294: 45, 10, 2
+29295: 45, 10, 3
+29296: 45, 10, 4
+29297: 45, 10, 5
+29298: 45, 10, 6
+29299: 45, 10, 7
+29300: 45, 10, 8
+29301: 45, 10, 9
+29302: 45, 10, 10
+29303: 45, 10, 11
+29304: 45, 10, 12
+29305: 45, 10, 13
+29306: 45, 10, 14
+29307: 45, 10, 15
+29308: 45, 10, 16
+29309: 45, 10, 17
+29310: 45, 10, 18
+29311: 45, 10, 19
+29312: 45, 10, 20
+29313: 45, 10, 21
+29314: 45, 11, 0
+29315: 45, 11, 1
+29316: 45, 11, 2
+29317: 45, 11, 3
+29318: 45, 11, 4
+29319: 45, 11, 5
+29320: 45, 11, 6
+29321: 45, 11, 7
+29322: 45, 11, 8
+29323: 45, 11, 9
+29324: 45, 11, 10
+29325: 45, 11, 11
+29326: 45, 11, 12
+29327: 45, 11, 13
+29328: 45, 11, 14
+29329: 45, 11, 15
+29330: 45, 11, 16
+29331: 45, 11, 17
+29332: 45, 11, 18
+29333: 45, 11, 19
+29334: 45, 11, 20
+29335: 45, 11, 21
+29336: 45, 11, 22
+29337: 45, 11, 23
+29338: 45, 11, 24
+29339: 45, 11, 25
+29340: 45, 11, 26
+29341: 45, 11, 27
+29342: 45, 11, 28
+29343: 45, 11, 29
+29344: 45, 11, 30
+29345: 45, 11, 31
+29346: 45, 11, 32
+29347: 45, 11, 33
+29348: 45, 11, 34
+29349: 45, 11, 35
+29350: 45, 11, 36
+29351: 45, 12, 0
+29352: 45, 12, 1
+29353: 45, 12, 2
+29354: 45, 12, 3
+29355: 45, 12, 4
+29356: 45, 12, 5
+29357: 45, 12, 6
+29358: 45, 12, 7
+29359: 45, 12, 8
+29360: 45, 12, 9
+29361: 45, 12, 10
+29362: 45, 12, 11
+29363: 45, 12, 12
+29364: 45, 12, 13
+29365: 45, 12, 14
+29366: 45, 12, 15
+29367: 45, 12, 16
+29368: 45, 12, 17
+29369: 45, 12, 18
+29370: 45, 12, 19
+29371: 45, 12, 20
+29372: 45, 12, 21
+29373: 45, 13, 0
+29374: 45, 13, 1
+29375: 45, 13, 2
+29376: 45, 13, 3
+29377: 45, 13, 4
+29378: 45, 13, 5
+29379: 45, 13, 6
+29380: 45, 13, 7
+29381: 45, 13, 8
+29382: 45, 13, 9
+29383: 45, 13, 10
+29384: 45, 13, 11
+29385: 45, 13, 12
+29386: 45, 13, 13
+29387: 45, 13, 14
+29388: 45, 14, 0
+29389: 45, 14, 1
+29390: 45, 14, 2
+29391: 45, 14, 3
+29392: 45, 14, 4
+29393: 45, 14, 5
+29394: 45, 14, 6
+29395: 45, 14, 7
+29396: 45, 14, 8
+29397: 45, 14, 9
+29398: 45, 14, 10
+29399: 45, 14, 11
+29400: 45, 14, 12
+29401: 45, 14, 13
+29402: 45, 14, 14
+29403: 45, 14, 15
+29404: 45, 14, 16
+29405: 45, 14, 17
+29406: 45, 14, 18
+29407: 45, 14, 19
+29408: 45, 14, 20
+29409: 45, 14, 21
+29410: 45, 14, 22
+29411: 45, 14, 23
+29412: 45, 15, 0
+29413: 45, 15, 1
+29414: 45, 15, 2
+29415: 45, 15, 3
+29416: 45, 15, 4
+29417: 45, 15, 5
+29418: 45, 15, 6
+29419: 45, 15, 7
+29420: 45, 15, 8
+29421: 45, 15, 9
+29422: 45, 15, 10
+29423: 45, 15, 11
+29424: 45, 15, 12
+29425: 45, 15, 13
+29426: 45, 15, 14
+29427: 45, 15, 15
+29428: 45, 15, 16
+29429: 45, 15, 17
+29430: 45, 15, 18
+29431: 45, 15, 19
+29432: 45, 15, 20
+29433: 45, 15, 21
+29434: 45, 15, 22
+29435: 45, 15, 23
+29436: 45, 15, 24
+29437: 45, 15, 25
+29438: 45, 15, 26
+29439: 45, 15, 27
+29440: 45, 15, 28
+29441: 45, 15, 29
+29442: 45, 15, 30
+29443: 45, 15, 31
+29444: 45, 15, 32
+29445: 45, 15, 33
+29446: 45, 16, 0
+29447: 45, 16, 1
+29448: 45, 16, 2
+29449: 45, 16, 3
+29450: 45, 16, 4
+29451: 45, 16, 5
+29452: 45, 16, 6
+29453: 45, 16, 7
+29454: 45, 16, 8
+29455: 45, 16, 9
+29456: 45, 16, 10
+29457: 45, 16, 11
+29458: 45, 16, 12
+29459: 45, 16, 13
+29460: 45, 16, 14
+29461: 45, 16, 15
+29462: 45, 16, 16
+29463: 45, 16, 17
+29464: 45, 16, 18
+29465: 45, 16, 19
+29466: 45, 16, 20
+29467: 45, 16, 21
+29468: 45, 16, 22
+29469: 45, 16, 23
+29470: 45, 16, 24
+29471: 45, 16, 25
+29472: 45, 16, 26
+29473: 45, 16, 27
+29474: 46, 0, 0
+29475: 46, 1, 0
+29476: 46, 1, 1
+29477: 46, 1, 2
+29478: 46, 1, 3
+29479: 46, 1, 4
+29480: 46, 1, 5
+29481: 46, 1, 6
+29482: 46, 1, 7
+29483: 46, 1, 8
+29484: 46, 1, 9
+29485: 46, 1, 10
+29486: 46, 1, 11
+29487: 46, 1, 12
+29488: 46, 1, 13
+29489: 46, 1, 14
+29490: 46, 1, 15
+29491: 46, 1, 16
+29492: 46, 1, 17
+29493: 46, 1, 18
+29494: 46, 1, 19
+29495: 46, 1, 20
+29496: 46, 1, 21
+29497: 46, 1, 22
+29498: 46, 1, 23
+29499: 46, 1, 24
+29500: 46, 1, 25
+29501: 46, 1, 26
+29502: 46, 1, 27
+29503: 46, 1, 28
+29504: 46, 1, 29
+29505: 46, 1, 30
+29506: 46, 1, 31
+29507: 46, 2, 0
+29508: 46, 2, 1
+29509: 46, 2, 2
+29510: 46, 2, 3
+29511: 46, 2, 4
+29512: 46, 2, 5
+29513: 46, 2, 6
+29514: 46, 2, 7
+29515: 46, 2, 8
+29516: 46, 2, 9
+29517: 46, 2, 10
+29518: 46, 2, 11
+29519: 46, 2, 12
+29520: 46, 2, 13
+29521: 46, 2, 14
+29522: 46, 2, 15
+29523: 46, 2, 16
+29524: 46, 3, 0
+29525: 46, 3, 1
+29526: 46, 3, 2
+29527: 46, 3, 3
+29528: 46, 3, 4
+29529: 46, 3, 5
+29530: 46, 3, 6
+29531: 46, 3, 7
+29532: 46, 3, 8
+29533: 46, 3, 9
+29534: 46, 3, 10
+29535: 46, 3, 11
+29536: 46, 3, 12
+29537: 46, 3, 13
+29538: 46, 3, 14
+29539: 46, 3, 15
+29540: 46, 3, 16
+29541: 46, 3, 17
+29542: 46, 3, 18
+29543: 46, 3, 19
+29544: 46, 3, 20
+29545: 46, 3, 21
+29546: 46, 3, 22
+29547: 46, 3, 23
+29548: 46, 4, 0
+29549: 46, 4, 1
+29550: 46, 4, 2
+29551: 46, 4, 3
+29552: 46, 4, 4
+29553: 46, 4, 5
+29554: 46, 4, 6
+29555: 46, 4, 7
+29556: 46, 4, 8
+29557: 46, 4, 9
+29558: 46, 4, 10
+29559: 46, 4, 11
+29560: 46, 4, 12
+29561: 46, 4, 13
+29562: 46, 4, 14
+29563: 46, 4, 15
+29564: 46, 4, 16
+29565: 46, 4, 17
+29566: 46, 4, 18
+29567: 46, 4, 19
+29568: 46, 4, 20
+29569: 46, 4, 21
+29570: 46, 5, 0
+29571: 46, 5, 1
+29572: 46, 5, 2
+29573: 46, 5, 3
+29574: 46, 5, 4
+29575: 46, 5, 5
+29576: 46, 5, 6
+29577: 46, 5, 7
+29578: 46, 5, 8
+29579: 46, 5, 9
+29580: 46, 5, 10
+29581: 46, 5, 11
+29582: 46, 5, 12
+29583: 46, 5, 13
+29584: 46, 6, 0
+29585: 46, 6, 1
+29586: 46, 6, 2
+29587: 46, 6, 3
+29588: 46, 6, 4
+29589: 46, 6, 5
+29590: 46, 6, 6
+29591: 46, 6, 7
+29592: 46, 6, 8
+29593: 46, 6, 9
+29594: 46, 6, 10
+29595: 46, 6, 11
+29596: 46, 6, 12
+29597: 46, 6, 13
+29598: 46, 6, 14
+29599: 46, 6, 15
+29600: 46, 6, 16
+29601: 46, 6, 17
+29602: 46, 6, 18
+29603: 46, 6, 19
+29604: 46, 6, 20
+29605: 46, 7, 0
+29606: 46, 7, 1
+29607: 46, 7, 2
+29608: 46, 7, 3
+29609: 46, 7, 4
+29610: 46, 7, 5
+29611: 46, 7, 6
+29612: 46, 7, 7
+29613: 46, 7, 8
+29614: 46, 7, 9
+29615: 46, 7, 10
+29616: 46, 7, 11
+29617: 46, 7, 12
+29618: 46, 7, 13
+29619: 46, 7, 14
+29620: 46, 7, 15
+29621: 46, 7, 16
+29622: 46, 7, 17
+29623: 46, 7, 18
+29624: 46, 7, 19
+29625: 46, 7, 20
+29626: 46, 7, 21
+29627: 46, 7, 22
+29628: 46, 7, 23
+29629: 46, 7, 24
+29630: 46, 7, 25
+29631: 46, 7, 26
+29632: 46, 7, 27
+29633: 46, 7, 28
+29634: 46, 7, 29
+29635: 46, 7, 30
+29636: 46, 7, 31
+29637: 46, 7, 32
+29638: 46, 7, 33
+29639: 46, 7, 34
+29640: 46, 7, 35
+29641: 46, 7, 36
+29642: 46, 7, 37
+29643: 46, 7, 38
+29644: 46, 7, 39
+29645: 46, 7, 40
+29646: 46, 8, 0
+29647: 46, 8, 1
+29648: 46, 8, 2
+29649: 46, 8, 3
+29650: 46, 8, 4
+29651: 46, 8, 5
+29652: 46, 8, 6
+29653: 46, 8, 7
+29654: 46, 8, 8
+29655: 46, 8, 9
+29656: 46, 8, 10
+29657: 46, 8, 11
+29658: 46, 8, 12
+29659: 46, 8, 13
+29660: 46, 9, 0
+29661: 46, 9, 1
+29662: 46, 9, 2
+29663: 46, 9, 3
+29664: 46, 9, 4
+29665: 46, 9, 5
+29666: 46, 9, 6
+29667: 46, 9, 7
+29668: 46, 9, 8
+29669: 46, 9, 9
+29670: 46, 9, 10
+29671: 46, 9, 11
+29672: 46, 9, 12
+29673: 46, 9, 13
+29674: 46, 9, 14
+29675: 46, 9, 15
+29676: 46, 9, 16
+29677: 46, 9, 17
+29678: 46, 9, 18
+29679: 46, 9, 19
+29680: 46, 9, 20
+29681: 46, 9, 21
+29682: 46, 9, 22
+29683: 46, 9, 23
+29684: 46, 9, 24
+29685: 46, 9, 25
+29686: 46, 9, 26
+29687: 46, 9, 27
+29688: 46, 10, 0
+29689: 46, 10, 1
+29690: 46, 10, 2
+29691: 46, 10, 3
+29692: 46, 10, 4
+29693: 46, 10, 5
+29694: 46, 10, 6
+29695: 46, 10, 7
+29696: 46, 10, 8
+29697: 46, 10, 9
+29698: 46, 10, 10
+29699: 46, 10, 11
+29700: 46, 10, 12
+29701: 46, 10, 13
+29702: 46, 10, 14
+29703: 46, 10, 15
+29704: 46, 10, 16
+29705: 46, 10, 17
+29706: 46, 10, 18
+29707: 46, 10, 19
+29708: 46, 10, 20
+29709: 46, 10, 21
+29710: 46, 10, 22
+29711: 46, 10, 23
+29712: 46, 10, 24
+29713: 46, 10, 25
+29714: 46, 10, 26
+29715: 46, 10, 27
+29716: 46, 10, 28
+29717: 46, 10, 29
+29718: 46, 10, 30
+29719: 46, 10, 31
+29720: 46, 10, 32
+29721: 46, 10, 33
+29722: 46, 11, 0
+29723: 46, 11, 1
+29724: 46, 11, 2
+29725: 46, 11, 3
+29726: 46, 11, 4
+29727: 46, 11, 5
+29728: 46, 11, 6
+29729: 46, 11, 7
+29730: 46, 11, 8
+29731: 46, 11, 9
+29732: 46, 11, 10
+29733: 46, 11, 11
+29734: 46, 11, 12
+29735: 46, 11, 13
+29736: 46, 11, 14
+29737: 46, 11, 15
+29738: 46, 11, 16
+29739: 46, 11, 17
+29740: 46, 11, 18
+29741: 46, 11, 19
+29742: 46, 11, 20
+29743: 46, 11, 21
+29744: 46, 11, 22
+29745: 46, 11, 23
+29746: 46, 11, 24
+29747: 46, 11, 25
+29748: 46, 11, 26
+29749: 46, 11, 27
+29750: 46, 11, 28
+29751: 46, 11, 29
+29752: 46, 11, 30
+29753: 46, 11, 31
+29754: 46, 11, 32
+29755: 46, 11, 33
+29756: 46, 11, 34
+29757: 46, 12, 0
+29758: 46, 12, 1
+29759: 46, 12, 2
+29760: 46, 12, 3
+29761: 46, 12, 4
+29762: 46, 12, 5
+29763: 46, 12, 6
+29764: 46, 12, 7
+29765: 46, 12, 8
+29766: 46, 12, 9
+29767: 46, 12, 10
+29768: 46, 12, 11
+29769: 46, 12, 12
+29770: 46, 12, 13
+29771: 46, 12, 14
+29772: 46, 12, 15
+29773: 46, 12, 16
+29774: 46, 12, 17
+29775: 46, 12, 18
+29776: 46, 12, 19
+29777: 46, 12, 20
+29778: 46, 12, 21
+29779: 46, 12, 22
+29780: 46, 12, 23
+29781: 46, 12, 24
+29782: 46, 12, 25
+29783: 46, 12, 26
+29784: 46, 12, 27
+29785: 46, 12, 28
+29786: 46, 12, 29
+29787: 46, 12, 30
+29788: 46, 12, 31
+29789: 46, 13, 0
+29790: 46, 13, 1
+29791: 46, 13, 2
+29792: 46, 13, 3
+29793: 46, 13, 4
+29794: 46, 13, 5
+29795: 46, 13, 6
+29796: 46, 13, 7
+29797: 46, 13, 8
+29798: 46, 13, 9
+29799: 46, 13, 10
+29800: 46, 13, 11
+29801: 46, 13, 12
+29802: 46, 13, 13
+29803: 46, 14, 0
+29804: 46, 14, 1
+29805: 46, 14, 2
+29806: 46, 14, 3
+29807: 46, 14, 4
+29808: 46, 14, 5
+29809: 46, 14, 6
+29810: 46, 14, 7
+29811: 46, 14, 8
+29812: 46, 14, 9
+29813: 46, 14, 10
+29814: 46, 14, 11
+29815: 46, 14, 12
+29816: 46, 14, 13
+29817: 46, 14, 14
+29818: 46, 14, 15
+29819: 46, 14, 16
+29820: 46, 14, 17
+29821: 46, 14, 18
+29822: 46, 14, 19
+29823: 46, 14, 20
+29824: 46, 14, 21
+29825: 46, 14, 22
+29826: 46, 14, 23
+29827: 46, 14, 24
+29828: 46, 14, 25
+29829: 46, 14, 26
+29830: 46, 14, 27
+29831: 46, 14, 28
+29832: 46, 14, 29
+29833: 46, 14, 30
+29834: 46, 14, 31
+29835: 46, 14, 32
+29836: 46, 14, 33
+29837: 46, 14, 34
+29838: 46, 14, 35
+29839: 46, 14, 36
+29840: 46, 14, 37
+29841: 46, 14, 38
+29842: 46, 14, 39
+29843: 46, 14, 40
+29844: 46, 15, 0
+29845: 46, 15, 1
+29846: 46, 15, 2
+29847: 46, 15, 3
+29848: 46, 15, 4
+29849: 46, 15, 5
+29850: 46, 15, 6
+29851: 46, 15, 7
+29852: 46, 15, 8
+29853: 46, 15, 9
+29854: 46, 15, 10
+29855: 46, 15, 11
+29856: 46, 15, 12
+29857: 46, 15, 13
+29858: 46, 15, 14
+29859: 46, 15, 15
+29860: 46, 15, 16
+29861: 46, 15, 17
+29862: 46, 15, 18
+29863: 46, 15, 19
+29864: 46, 15, 20
+29865: 46, 15, 21
+29866: 46, 15, 22
+29867: 46, 15, 23
+29868: 46, 15, 24
+29869: 46, 15, 25
+29870: 46, 15, 26
+29871: 46, 15, 27
+29872: 46, 15, 28
+29873: 46, 15, 29
+29874: 46, 15, 30
+29875: 46, 15, 31
+29876: 46, 15, 32
+29877: 46, 15, 33
+29878: 46, 15, 34
+29879: 46, 15, 35
+29880: 46, 15, 36
+29881: 46, 15, 37
+29882: 46, 15, 38
+29883: 46, 15, 39
+29884: 46, 15, 40
+29885: 46, 15, 41
+29886: 46, 15, 42
+29887: 46, 15, 43
+29888: 46, 15, 44
+29889: 46, 15, 45
+29890: 46, 15, 46
+29891: 46, 15, 47
+29892: 46, 15, 48
+29893: 46, 15, 49
+29894: 46, 15, 50
+29895: 46, 15, 51
+29896: 46, 15, 52
+29897: 46, 15, 53
+29898: 46, 15, 54
+29899: 46, 15, 55
+29900: 46, 15, 56
+29901: 46, 15, 57
+29902: 46, 15, 58
+29903: 46, 16, 0
+29904: 46, 16, 1
+29905: 46, 16, 2
+29906: 46, 16, 3
+29907: 46, 16, 4
+29908: 46, 16, 5
+29909: 46, 16, 6
+29910: 46, 16, 7
+29911: 46, 16, 8
+29912: 46, 16, 9
+29913: 46, 16, 10
+29914: 46, 16, 11
+29915: 46, 16, 12
+29916: 46, 16, 13
+29917: 46, 16, 14
+29918: 46, 16, 15
+29919: 46, 16, 16
+29920: 46, 16, 17
+29921: 46, 16, 18
+29922: 46, 16, 19
+29923: 46, 16, 20
+29924: 46, 16, 21
+29925: 46, 16, 22
+29926: 46, 16, 23
+29927: 46, 16, 24
+29928: 47, 0, 0
+29929: 47, 1, 0
+29930: 47, 1, 1
+29931: 47, 1, 2
+29932: 47, 1, 3
+29933: 47, 1, 4
+29934: 47, 1, 5
+29935: 47, 1, 6
+29936: 47, 1, 7
+29937: 47, 1, 8
+29938: 47, 1, 9
+29939: 47, 1, 10
+29940: 47, 1, 11
+29941: 47, 1, 12
+29942: 47, 1, 13
+29943: 47, 1, 14
+29944: 47, 1, 15
+29945: 47, 1, 16
+29946: 47, 1, 17
+29947: 47, 1, 18
+29948: 47, 1, 19
+29949: 47, 1, 20
+29950: 47, 1, 21
+29951: 47, 1, 22
+29952: 47, 1, 23
+29953: 47, 1, 24
+29954: 47, 2, 0
+29955: 47, 2, 1
+29956: 47, 2, 2
+29957: 47, 2, 3
+29958: 47, 2, 4
+29959: 47, 2, 5
+29960: 47, 2, 6
+29961: 47, 2, 7
+29962: 47, 2, 8
+29963: 47, 2, 9
+29964: 47, 2, 10
+29965: 47, 2, 11
+29966: 47, 2, 12
+29967: 47, 2, 13
+29968: 47, 2, 14
+29969: 47, 2, 15
+29970: 47, 2, 16
+29971: 47, 2, 17
+29972: 47, 3, 0
+29973: 47, 3, 1
+29974: 47, 3, 2
+29975: 47, 3, 3
+29976: 47, 3, 4
+29977: 47, 3, 5
+29978: 47, 3, 6
+29979: 47, 3, 7
+29980: 47, 3, 8
+29981: 47, 3, 9
+29982: 47, 3, 10
+29983: 47, 3, 11
+29984: 47, 3, 12
+29985: 47, 3, 13
+29986: 47, 3, 14
+29987: 47, 3, 15
+29988: 47, 3, 16
+29989: 47, 3, 17
+29990: 47, 3, 18
+29991: 47, 4, 0
+29992: 47, 4, 1
+29993: 47, 4, 2
+29994: 47, 4, 3
+29995: 47, 4, 4
+29996: 47, 4, 5
+29997: 47, 4, 6
+29998: 47, 4, 7
+29999: 47, 4, 8
+30000: 47, 4, 9
+30001: 47, 4, 10
+30002: 47, 4, 11
+30003: 47, 4, 12
+30004: 47, 4, 13
+30005: 47, 4, 14
+30006: 47, 4, 15
+30007: 47, 4, 16
+30008: 47, 4, 17
+30009: 47, 4, 18
+30010: 47, 5, 0
+30011: 47, 5, 1
+30012: 47, 5, 2
+30013: 47, 5, 3
+30014: 47, 5, 4
+30015: 47, 5, 5
+30016: 47, 5, 6
+30017: 47, 5, 7
+30018: 47, 5, 8
+30019: 47, 5, 9
+30020: 47, 5, 10
+30021: 47, 5, 11
+30022: 47, 5, 12
+30023: 47, 5, 13
+30024: 47, 5, 14
+30025: 47, 5, 15
+30026: 47, 5, 16
+30027: 47, 5, 17
+30028: 47, 5, 18
+30029: 47, 5, 19
+30030: 47, 5, 20
+30031: 47, 5, 21
+30032: 47, 6, 0
+30033: 47, 6, 1
+30034: 47, 6, 2
+30035: 47, 6, 3
+30036: 47, 6, 4
+30037: 47, 6, 5
+30038: 47, 6, 6
+30039: 47, 6, 7
+30040: 47, 6, 8
+30041: 47, 6, 9
+30042: 47, 6, 10
+30043: 47, 6, 11
+30044: 47, 6, 12
+30045: 47, 6, 13
+30046: 47, 6, 14
+30047: 47, 6, 15
+30048: 47, 6, 16
+30049: 47, 6, 17
+30050: 47, 6, 18
+30051: 47, 7, 0
+30052: 47, 7, 1
+30053: 47, 7, 2
+30054: 47, 7, 3
+30055: 47, 7, 4
+30056: 47, 7, 5
+30057: 47, 7, 6
+30058: 47, 7, 7
+30059: 47, 7, 8
+30060: 47, 7, 9
+30061: 47, 7, 10
+30062: 47, 7, 11
+30063: 47, 7, 12
+30064: 47, 7, 13
+30065: 47, 7, 14
+30066: 47, 7, 15
+30067: 47, 7, 16
+30068: 47, 8, 0
+30069: 47, 8, 1
+30070: 47, 8, 2
+30071: 47, 8, 3
+30072: 47, 8, 4
+30073: 47, 8, 5
+30074: 47, 8, 6
+30075: 47, 8, 7
+30076: 47, 8, 8
+30077: 47, 8, 9
+30078: 47, 8, 10
+30079: 47, 8, 11
+30080: 47, 8, 12
+30081: 47, 8, 13
+30082: 47, 8, 14
+30083: 47, 8, 15
+30084: 47, 8, 16
+30085: 47, 8, 17
+30086: 47, 8, 18
+30087: 47, 8, 19
+30088: 47, 8, 20
+30089: 47, 8, 21
+30090: 47, 8, 22
+30091: 47, 8, 23
+30092: 47, 8, 24
+30093: 47, 9, 0
+30094: 47, 9, 1
+30095: 47, 9, 2
+30096: 47, 9, 3
+30097: 47, 9, 4
+30098: 47, 9, 5
+30099: 47, 9, 6
+30100: 47, 9, 7
+30101: 47, 9, 8
+30102: 47, 9, 9
+30103: 47, 9, 10
+30104: 47, 9, 11
+30105: 47, 9, 12
+30106: 47, 9, 13
+30107: 47, 9, 14
+30108: 47, 9, 15
+30109: 47, 10, 0
+30110: 47, 10, 1
+30111: 47, 10, 2
+30112: 47, 10, 3
+30113: 47, 10, 4
+30114: 47, 10, 5
+30115: 47, 10, 6
+30116: 47, 10, 7
+30117: 47, 10, 8
+30118: 47, 10, 9
+30119: 47, 10, 10
+30120: 47, 10, 11
+30121: 47, 10, 12
+30122: 47, 10, 13
+30123: 47, 10, 14
+30124: 47, 10, 15
+30125: 47, 10, 16
+30126: 47, 10, 17
+30127: 47, 10, 18
+30128: 47, 11, 0
+30129: 47, 11, 1
+30130: 47, 11, 2
+30131: 47, 11, 3
+30132: 47, 11, 4
+30133: 47, 11, 5
+30134: 47, 11, 6
+30135: 47, 11, 7
+30136: 47, 11, 8
+30137: 47, 11, 9
+30138: 47, 11, 10
+30139: 47, 11, 11
+30140: 47, 11, 12
+30141: 47, 11, 13
+30142: 47, 11, 14
+30143: 47, 11, 15
+30144: 47, 11, 16
+30145: 47, 11, 17
+30146: 47, 11, 18
+30147: 47, 11, 19
+30148: 47, 11, 20
+30149: 47, 11, 21
+30150: 47, 11, 22
+30151: 47, 11, 23
+30152: 47, 11, 24
+30153: 47, 11, 25
+30154: 47, 11, 26
+30155: 47, 11, 27
+30156: 47, 11, 28
+30157: 47, 11, 29
+30158: 47, 11, 30
+30159: 47, 11, 31
+30160: 47, 11, 32
+30161: 47, 11, 33
+30162: 47, 12, 0
+30163: 47, 12, 1
+30164: 47, 12, 2
+30165: 47, 12, 3
+30166: 47, 12, 4
+30167: 47, 12, 5
+30168: 47, 12, 6
+30169: 47, 12, 7
+30170: 47, 12, 8
+30171: 47, 12, 9
+30172: 47, 12, 10
+30173: 47, 12, 11
+30174: 47, 12, 12
+30175: 47, 12, 13
+30176: 47, 12, 14
+30177: 47, 12, 15
+30178: 47, 12, 16
+30179: 47, 12, 17
+30180: 47, 12, 18
+30181: 47, 12, 19
+30182: 47, 12, 20
+30183: 47, 12, 21
+30184: 47, 13, 0
+30185: 47, 13, 1
+30186: 47, 13, 2
+30187: 47, 13, 3
+30188: 47, 13, 4
+30189: 47, 13, 5
+30190: 47, 13, 6
+30191: 47, 13, 7
+30192: 47, 13, 8
+30193: 47, 13, 9
+30194: 47, 13, 10
+30195: 47, 13, 11
+30196: 47, 13, 12
+30197: 47, 13, 13
+30198: 47, 13, 14
+30199: 48, 0, 0
+30200: 48, 1, 0
+30201: 48, 1, 1
+30202: 48, 1, 2
+30203: 48, 1, 3
+30204: 48, 1, 4
+30205: 48, 1, 5
+30206: 48, 1, 6
+30207: 48, 1, 7
+30208: 48, 1, 8
+30209: 48, 1, 9
+30210: 48, 1, 10
+30211: 48, 1, 11
+30212: 48, 1, 12
+30213: 48, 1, 13
+30214: 48, 1, 14
+30215: 48, 1, 15
+30216: 48, 1, 16
+30217: 48, 1, 17
+30218: 48, 1, 18
+30219: 48, 1, 19
+30220: 48, 1, 20
+30221: 48, 1, 21
+30222: 48, 1, 22
+30223: 48, 1, 23
+30224: 48, 1, 24
+30225: 48, 2, 0
+30226: 48, 2, 1
+30227: 48, 2, 2
+30228: 48, 2, 3
+30229: 48, 2, 4
+30230: 48, 2, 5
+30231: 48, 2, 6
+30232: 48, 2, 7
+30233: 48, 2, 8
+30234: 48, 2, 9
+30235: 48, 2, 10
+30236: 48, 2, 11
+30237: 48, 2, 12
+30238: 48, 2, 13
+30239: 48, 2, 14
+30240: 48, 2, 15
+30241: 48, 2, 16
+30242: 48, 2, 17
+30243: 48, 2, 18
+30244: 48, 2, 19
+30245: 48, 2, 20
+30246: 48, 2, 21
+30247: 48, 3, 0
+30248: 48, 3, 1
+30249: 48, 3, 2
+30250: 48, 3, 3
+30251: 48, 3, 4
+30252: 48, 3, 5
+30253: 48, 3, 6
+30254: 48, 3, 7
+30255: 48, 3, 8
+30256: 48, 3, 9
+30257: 48, 3, 10
+30258: 48, 3, 11
+30259: 48, 3, 12
+30260: 48, 3, 13
+30261: 48, 3, 14
+30262: 48, 3, 15
+30263: 48, 3, 16
+30264: 48, 3, 17
+30265: 48, 3, 18
+30266: 48, 3, 19
+30267: 48, 3, 20
+30268: 48, 3, 21
+30269: 48, 3, 22
+30270: 48, 3, 23
+30271: 48, 3, 24
+30272: 48, 3, 25
+30273: 48, 3, 26
+30274: 48, 3, 27
+30275: 48, 3, 28
+30276: 48, 3, 29
+30277: 48, 4, 0
+30278: 48, 4, 1
+30279: 48, 4, 2
+30280: 48, 4, 3
+30281: 48, 4, 4
+30282: 48, 4, 5
+30283: 48, 4, 6
+30284: 48, 4, 7
+30285: 48, 4, 8
+30286: 48, 4, 9
+30287: 48, 4, 10
+30288: 48, 4, 11
+30289: 48, 4, 12
+30290: 48, 4, 13
+30291: 48, 4, 14
+30292: 48, 4, 15
+30293: 48, 4, 16
+30294: 48, 4, 17
+30295: 48, 4, 18
+30296: 48, 4, 19
+30297: 48, 4, 20
+30298: 48, 4, 21
+30299: 48, 4, 22
+30300: 48, 4, 23
+30301: 48, 4, 24
+30302: 48, 4, 25
+30303: 48, 4, 26
+30304: 48, 4, 27
+30305: 48, 4, 28
+30306: 48, 4, 29
+30307: 48, 4, 30
+30308: 48, 4, 31
+30309: 48, 5, 0
+30310: 48, 5, 1
+30311: 48, 5, 2
+30312: 48, 5, 3
+30313: 48, 5, 4
+30314: 48, 5, 5
+30315: 48, 5, 6
+30316: 48, 5, 7
+30317: 48, 5, 8
+30318: 48, 5, 9
+30319: 48, 5, 10
+30320: 48, 5, 11
+30321: 48, 5, 12
+30322: 48, 5, 13
+30323: 48, 5, 14
+30324: 48, 5, 15
+30325: 48, 5, 16
+30326: 48, 5, 17
+30327: 48, 5, 18
+30328: 48, 5, 19
+30329: 48, 5, 20
+30330: 48, 5, 21
+30331: 48, 5, 22
+30332: 48, 5, 23
+30333: 48, 5, 24
+30334: 48, 5, 25
+30335: 48, 5, 26
+30336: 48, 6, 0
+30337: 48, 6, 1
+30338: 48, 6, 2
+30339: 48, 6, 3
+30340: 48, 6, 4
+30341: 48, 6, 5
+30342: 48, 6, 6
+30343: 48, 6, 7
+30344: 48, 6, 8
+30345: 48, 6, 9
+30346: 48, 6, 10
+30347: 48, 6, 11
+30348: 48, 6, 12
+30349: 48, 6, 13
+30350: 48, 6, 14
+30351: 48, 6, 15
+30352: 48, 6, 16
+30353: 48, 6, 17
+30354: 48, 6, 18
+30355: 49, 0, 0
+30356: 49, 1, 0
+30357: 49, 1, 1
+30358: 49, 1, 2
+30359: 49, 1, 3
+30360: 49, 1, 4
+30361: 49, 1, 5
+30362: 49, 1, 6
+30363: 49, 1, 7
+30364: 49, 1, 8
+30365: 49, 1, 9
+30366: 49, 1, 10
+30367: 49, 1, 11
+30368: 49, 1, 12
+30369: 49, 1, 13
+30370: 49, 1, 14
+30371: 49, 1, 15
+30372: 49, 1, 16
+30373: 49, 1, 17
+30374: 49, 1, 18
+30375: 49, 1, 19
+30376: 49, 1, 20
+30377: 49, 1, 21
+30378: 49, 1, 22
+30379: 49, 1, 23
+30380: 49, 2, 0
+30381: 49, 2, 1
+30382: 49, 2, 2
+30383: 49, 2, 3
+30384: 49, 2, 4
+30385: 49, 2, 5
+30386: 49, 2, 6
+30387: 49, 2, 7
+30388: 49, 2, 8
+30389: 49, 2, 9
+30390: 49, 2, 10
+30391: 49, 2, 11
+30392: 49, 2, 12
+30393: 49, 2, 13
+30394: 49, 2, 14
+30395: 49, 2, 15
+30396: 49, 2, 16
+30397: 49, 2, 17
+30398: 49, 2, 18
+30399: 49, 2, 19
+30400: 49, 2, 20
+30401: 49, 2, 21
+30402: 49, 2, 22
+30403: 49, 3, 0
+30404: 49, 3, 1
+30405: 49, 3, 2
+30406: 49, 3, 3
+30407: 49, 3, 4
+30408: 49, 3, 5
+30409: 49, 3, 6
+30410: 49, 3, 7
+30411: 49, 3, 8
+30412: 49, 3, 9
+30413: 49, 3, 10
+30414: 49, 3, 11
+30415: 49, 3, 12
+30416: 49, 3, 13
+30417: 49, 3, 14
+30418: 49, 3, 15
+30419: 49, 3, 16
+30420: 49, 3, 17
+30421: 49, 3, 18
+30422: 49, 3, 19
+30423: 49, 3, 20
+30424: 49, 3, 21
+30425: 49, 4, 0
+30426: 49, 4, 1
+30427: 49, 4, 2
+30428: 49, 4, 3
+30429: 49, 4, 4
+30430: 49, 4, 5
+30431: 49, 4, 6
+30432: 49, 4, 7
+30433: 49, 4, 8
+30434: 49, 4, 9
+30435: 49, 4, 10
+30436: 49, 4, 11
+30437: 49, 4, 12
+30438: 49, 4, 13
+30439: 49, 4, 14
+30440: 49, 4, 15
+30441: 49, 4, 16
+30442: 49, 4, 17
+30443: 49, 4, 18
+30444: 49, 4, 19
+30445: 49, 4, 20
+30446: 49, 4, 21
+30447: 49, 4, 22
+30448: 49, 4, 23
+30449: 49, 4, 24
+30450: 49, 4, 25
+30451: 49, 4, 26
+30452: 49, 4, 27
+30453: 49, 4, 28
+30454: 49, 4, 29
+30455: 49, 4, 30
+30456: 49, 4, 31
+30457: 49, 4, 32
+30458: 49, 5, 0
+30459: 49, 5, 1
+30460: 49, 5, 2
+30461: 49, 5, 3
+30462: 49, 5, 4
+30463: 49, 5, 5
+30464: 49, 5, 6
+30465: 49, 5, 7
+30466: 49, 5, 8
+30467: 49, 5, 9
+30468: 49, 5, 10
+30469: 49, 5, 11
+30470: 49, 5, 12
+30471: 49, 5, 13
+30472: 49, 5, 14
+30473: 49, 5, 15
+30474: 49, 5, 16
+30475: 49, 5, 17
+30476: 49, 5, 18
+30477: 49, 5, 19
+30478: 49, 5, 20
+30479: 49, 5, 21
+30480: 49, 5, 22
+30481: 49, 5, 23
+30482: 49, 5, 24
+30483: 49, 5, 25
+30484: 49, 5, 26
+30485: 49, 5, 27
+30486: 49, 5, 28
+30487: 49, 5, 29
+30488: 49, 5, 30
+30489: 49, 5, 31
+30490: 49, 5, 32
+30491: 49, 5, 33
+30492: 49, 6, 0
+30493: 49, 6, 1
+30494: 49, 6, 2
+30495: 49, 6, 3
+30496: 49, 6, 4
+30497: 49, 6, 5
+30498: 49, 6, 6
+30499: 49, 6, 7
+30500: 49, 6, 8
+30501: 49, 6, 9
+30502: 49, 6, 10
+30503: 49, 6, 11
+30504: 49, 6, 12
+30505: 49, 6, 13
+30506: 49, 6, 14
+30507: 49, 6, 15
+30508: 49, 6, 16
+30509: 49, 6, 17
+30510: 49, 6, 18
+30511: 49, 6, 19
+30512: 49, 6, 20
+30513: 49, 6, 21
+30514: 49, 6, 22
+30515: 49, 6, 23
+30516: 49, 6, 24
+30517: 50, 0, 0
+30518: 50, 1, 0
+30519: 50, 1, 1
+30520: 50, 1, 2
+30521: 50, 1, 3
+30522: 50, 1, 4
+30523: 50, 1, 5
+30524: 50, 1, 6
+30525: 50, 1, 7
+30526: 50, 1, 8
+30527: 50, 1, 9
+30528: 50, 1, 10
+30529: 50, 1, 11
+30530: 50, 1, 12
+30531: 50, 1, 13
+30532: 50, 1, 14
+30533: 50, 1, 15
+30534: 50, 1, 16
+30535: 50, 1, 17
+30536: 50, 1, 18
+30537: 50, 1, 19
+30538: 50, 1, 20
+30539: 50, 1, 21
+30540: 50, 1, 22
+30541: 50, 1, 23
+30542: 50, 1, 24
+30543: 50, 1, 25
+30544: 50, 1, 26
+30545: 50, 1, 27
+30546: 50, 1, 28
+30547: 50, 1, 29
+30548: 50, 1, 30
+30549: 50, 2, 0
+30550: 50, 2, 1
+30551: 50, 2, 2
+30552: 50, 2, 3
+30553: 50, 2, 4
+30554: 50, 2, 5
+30555: 50, 2, 6
+30556: 50, 2, 7
+30557: 50, 2, 8
+30558: 50, 2, 9
+30559: 50, 2, 10
+30560: 50, 2, 11
+30561: 50, 2, 12
+30562: 50, 2, 13
+30563: 50, 2, 14
+30564: 50, 2, 15
+30565: 50, 2, 16
+30566: 50, 2, 17
+30567: 50, 2, 18
+30568: 50, 2, 19
+30569: 50, 2, 20
+30570: 50, 2, 21
+30571: 50, 2, 22
+30572: 50, 2, 23
+30573: 50, 2, 24
+30574: 50, 2, 25
+30575: 50, 2, 26
+30576: 50, 2, 27
+30577: 50, 2, 28
+30578: 50, 2, 29
+30579: 50, 2, 30
+30580: 50, 3, 0
+30581: 50, 3, 1
+30582: 50, 3, 2
+30583: 50, 3, 3
+30584: 50, 3, 4
+30585: 50, 3, 5
+30586: 50, 3, 6
+30587: 50, 3, 7
+30588: 50, 3, 8
+30589: 50, 3, 9
+30590: 50, 3, 10
+30591: 50, 3, 11
+30592: 50, 3, 12
+30593: 50, 3, 13
+30594: 50, 3, 14
+30595: 50, 3, 15
+30596: 50, 3, 16
+30597: 50, 3, 17
+30598: 50, 3, 18
+30599: 50, 3, 19
+30600: 50, 3, 20
+30601: 50, 3, 21
+30602: 50, 4, 0
+30603: 50, 4, 1
+30604: 50, 4, 2
+30605: 50, 4, 3
+30606: 50, 4, 4
+30607: 50, 4, 5
+30608: 50, 4, 6
+30609: 50, 4, 7
+30610: 50, 4, 8
+30611: 50, 4, 9
+30612: 50, 4, 10
+30613: 50, 4, 11
+30614: 50, 4, 12
+30615: 50, 4, 13
+30616: 50, 4, 14
+30617: 50, 4, 15
+30618: 50, 4, 16
+30619: 50, 4, 17
+30620: 50, 4, 18
+30621: 50, 4, 19
+30622: 50, 4, 20
+30623: 50, 4, 21
+30624: 50, 4, 22
+30625: 50, 4, 23
+30626: 51, 0, 0
+30627: 51, 1, 0
+30628: 51, 1, 1
+30629: 51, 1, 2
+30630: 51, 1, 3
+30631: 51, 1, 4
+30632: 51, 1, 5
+30633: 51, 1, 6
+30634: 51, 1, 7
+30635: 51, 1, 8
+30636: 51, 1, 9
+30637: 51, 1, 10
+30638: 51, 1, 11
+30639: 51, 1, 12
+30640: 51, 1, 13
+30641: 51, 1, 14
+30642: 51, 1, 15
+30643: 51, 1, 16
+30644: 51, 1, 17
+30645: 51, 1, 18
+30646: 51, 1, 19
+30647: 51, 1, 20
+30648: 51, 1, 21
+30649: 51, 1, 22
+30650: 51, 1, 23
+30651: 51, 1, 24
+30652: 51, 1, 25
+30653: 51, 1, 26
+30654: 51, 1, 27
+30655: 51, 1, 28
+30656: 51, 1, 29
+30657: 51, 2, 0
+30658: 51, 2, 1
+30659: 51, 2, 2
+30660: 51, 2, 3
+30661: 51, 2, 4
+30662: 51, 2, 5
+30663: 51, 2, 6
+30664: 51, 2, 7
+30665: 51, 2, 8
+30666: 51, 2, 9
+30667: 51, 2, 10
+30668: 51, 2, 11
+30669: 51, 2, 12
+30670: 51, 2, 13
+30671: 51, 2, 14
+30672: 51, 2, 15
+30673: 51, 2, 16
+30674: 51, 2, 17
+30675: 51, 2, 18
+30676: 51, 2, 19
+30677: 51, 2, 20
+30678: 51, 2, 21
+30679: 51, 2, 22
+30680: 51, 2, 23
+30681: 51, 3, 0
+30682: 51, 3, 1
+30683: 51, 3, 2
+30684: 51, 3, 3
+30685: 51, 3, 4
+30686: 51, 3, 5
+30687: 51, 3, 6
+30688: 51, 3, 7
+30689: 51, 3, 8
+30690: 51, 3, 9
+30691: 51, 3, 10
+30692: 51, 3, 11
+30693: 51, 3, 12
+30694: 51, 3, 13
+30695: 51, 3, 14
+30696: 51, 3, 15
+30697: 51, 3, 16
+30698: 51, 3, 17
+30699: 51, 3, 18
+30700: 51, 3, 19
+30701: 51, 3, 20
+30702: 51, 3, 21
+30703: 51, 3, 22
+30704: 51, 3, 23
+30705: 51, 3, 24
+30706: 51, 3, 25
+30707: 51, 4, 0
+30708: 51, 4, 1
+30709: 51, 4, 2
+30710: 51, 4, 3
+30711: 51, 4, 4
+30712: 51, 4, 5
+30713: 51, 4, 6
+30714: 51, 4, 7
+30715: 51, 4, 8
+30716: 51, 4, 9
+30717: 51, 4, 10
+30718: 51, 4, 11
+30719: 51, 4, 12
+30720: 51, 4, 13
+30721: 51, 4, 14
+30722: 51, 4, 15
+30723: 51, 4, 16
+30724: 51, 4, 17
+30725: 51, 4, 18
+30726: 52, 0, 0
+30727: 52, 1, 0
+30728: 52, 1, 1
+30729: 52, 1, 2
+30730: 52, 1, 3
+30731: 52, 1, 4
+30732: 52, 1, 5
+30733: 52, 1, 6
+30734: 52, 1, 7
+30735: 52, 1, 8
+30736: 52, 1, 9
+30737: 52, 1, 10
+30738: 52, 2, 0
+30739: 52, 2, 1
+30740: 52, 2, 2
+30741: 52, 2, 3
+30742: 52, 2, 4
+30743: 52, 2, 5
+30744: 52, 2, 6
+30745: 52, 2, 7
+30746: 52, 2, 8
+30747: 52, 2, 9
+30748: 52, 2, 10
+30749: 52, 2, 11
+30750: 52, 2, 12
+30751: 52, 2, 13
+30752: 52, 2, 14
+30753: 52, 2, 15
+30754: 52, 2, 16
+30755: 52, 2, 17
+30756: 52, 2, 18
+30757: 52, 2, 19
+30758: 52, 2, 20
+30759: 52, 3, 0
+30760: 52, 3, 1
+30761: 52, 3, 2
+30762: 52, 3, 3
+30763: 52, 3, 4
+30764: 52, 3, 5
+30765: 52, 3, 6
+30766: 52, 3, 7
+30767: 52, 3, 8
+30768: 52, 3, 9
+30769: 52, 3, 10
+30770: 52, 3, 11
+30771: 52, 3, 12
+30772: 52, 3, 13
+30773: 52, 4, 0
+30774: 52, 4, 1
+30775: 52, 4, 2
+30776: 52, 4, 3
+30777: 52, 4, 4
+30778: 52, 4, 5
+30779: 52, 4, 6
+30780: 52, 4, 7
+30781: 52, 4, 8
+30782: 52, 4, 9
+30783: 52, 4, 10
+30784: 52, 4, 11
+30785: 52, 4, 12
+30786: 52, 4, 13
+30787: 52, 4, 14
+30788: 52, 4, 15
+30789: 52, 4, 16
+30790: 52, 4, 17
+30791: 52, 4, 18
+30792: 52, 5, 0
+30793: 52, 5, 1
+30794: 52, 5, 2
+30795: 52, 5, 3
+30796: 52, 5, 4
+30797: 52, 5, 5
+30798: 52, 5, 6
+30799: 52, 5, 7
+30800: 52, 5, 8
+30801: 52, 5, 9
+30802: 52, 5, 10
+30803: 52, 5, 11
+30804: 52, 5, 12
+30805: 52, 5, 13
+30806: 52, 5, 14
+30807: 52, 5, 15
+30808: 52, 5, 16
+30809: 52, 5, 17
+30810: 52, 5, 18
+30811: 52, 5, 19
+30812: 52, 5, 20
+30813: 52, 5, 21
+30814: 52, 5, 22
+30815: 52, 5, 23
+30816: 52, 5, 24
+30817: 52, 5, 25
+30818: 52, 5, 26
+30819: 52, 5, 27
+30820: 52, 5, 28
+30821: 53, 0, 0
+30822: 53, 1, 0
+30823: 53, 1, 1
+30824: 53, 1, 2
+30825: 53, 1, 3
+30826: 53, 1, 4
+30827: 53, 1, 5
+30828: 53, 1, 6
+30829: 53, 1, 7
+30830: 53, 1, 8
+30831: 53, 1, 9
+30832: 53, 1, 10
+30833: 53, 1, 11
+30834: 53, 1, 12
+30835: 53, 2, 0
+30836: 53, 2, 1
+30837: 53, 2, 2
+30838: 53, 2, 3
+30839: 53, 2, 4
+30840: 53, 2, 5
+30841: 53, 2, 6
+30842: 53, 2, 7
+30843: 53, 2, 8
+30844: 53, 2, 9
+30845: 53, 2, 10
+30846: 53, 2, 11
+30847: 53, 2, 12
+30848: 53, 2, 13
+30849: 53, 2, 14
+30850: 53, 2, 15
+30851: 53, 2, 16
+30852: 53, 2, 17
+30853: 53, 3, 0
+30854: 53, 3, 1
+30855: 53, 3, 2
+30856: 53, 3, 3
+30857: 53, 3, 4
+30858: 53, 3, 5
+30859: 53, 3, 6
+30860: 53, 3, 7
+30861: 53, 3, 8
+30862: 53, 3, 9
+30863: 53, 3, 10
+30864: 53, 3, 11
+30865: 53, 3, 12
+30866: 53, 3, 13
+30867: 53, 3, 14
+30868: 53, 3, 15
+30869: 53, 3, 16
+30870: 53, 3, 17
+30871: 53, 3, 18
+30872: 54, 0, 0
+30873: 54, 1, 0
+30874: 54, 1, 1
+30875: 54, 1, 2
+30876: 54, 1, 3
+30877: 54, 1, 4
+30878: 54, 1, 5
+30879: 54, 1, 6
+30880: 54, 1, 7
+30881: 54, 1, 8
+30882: 54, 1, 9
+30883: 54, 1, 10
+30884: 54, 1, 11
+30885: 54, 1, 12
+30886: 54, 1, 13
+30887: 54, 1, 14
+30888: 54, 1, 15
+30889: 54, 1, 16
+30890: 54, 1, 17
+30891: 54, 1, 18
+30892: 54, 1, 19
+30893: 54, 1, 20
+30894: 54, 2, 0
+30895: 54, 2, 1
+30896: 54, 2, 2
+30897: 54, 2, 3
+30898: 54, 2, 4
+30899: 54, 2, 5
+30900: 54, 2, 6
+30901: 54, 2, 7
+30902: 54, 2, 8
+30903: 54, 2, 9
+30904: 54, 2, 10
+30905: 54, 2, 11
+30906: 54, 2, 12
+30907: 54, 2, 13
+30908: 54, 2, 14
+30909: 54, 2, 15
+30910: 54, 3, 0
+30911: 54, 3, 1
+30912: 54, 3, 2
+30913: 54, 3, 3
+30914: 54, 3, 4
+30915: 54, 3, 5
+30916: 54, 3, 6
+30917: 54, 3, 7
+30918: 54, 3, 8
+30919: 54, 3, 9
+30920: 54, 3, 10
+30921: 54, 3, 11
+30922: 54, 3, 12
+30923: 54, 3, 13
+30924: 54, 3, 14
+30925: 54, 3, 15
+30926: 54, 3, 16
+30927: 54, 4, 0
+30928: 54, 4, 1
+30929: 54, 4, 2
+30930: 54, 4, 3
+30931: 54, 4, 4
+30932: 54, 4, 5
+30933: 54, 4, 6
+30934: 54, 4, 7
+30935: 54, 4, 8
+30936: 54, 4, 9
+30937: 54, 4, 10
+30938: 54, 4, 11
+30939: 54, 4, 12
+30940: 54, 4, 13
+30941: 54, 4, 14
+30942: 54, 4, 15
+30943: 54, 4, 16
+30944: 54, 5, 0
+30945: 54, 5, 1
+30946: 54, 5, 2
+30947: 54, 5, 3
+30948: 54, 5, 4
+30949: 54, 5, 5
+30950: 54, 5, 6
+30951: 54, 5, 7
+30952: 54, 5, 8
+30953: 54, 5, 9
+30954: 54, 5, 10
+30955: 54, 5, 11
+30956: 54, 5, 12
+30957: 54, 5, 13
+30958: 54, 5, 14
+30959: 54, 5, 15
+30960: 54, 5, 16
+30961: 54, 5, 17
+30962: 54, 5, 18
+30963: 54, 5, 19
+30964: 54, 5, 20
+30965: 54, 5, 21
+30966: 54, 5, 22
+30967: 54, 5, 23
+30968: 54, 5, 24
+30969: 54, 5, 25
+30970: 54, 6, 0
+30971: 54, 6, 1
+30972: 54, 6, 2
+30973: 54, 6, 3
+30974: 54, 6, 4
+30975: 54, 6, 5
+30976: 54, 6, 6
+30977: 54, 6, 7
+30978: 54, 6, 8
+30979: 54, 6, 9
+30980: 54, 6, 10
+30981: 54, 6, 11
+30982: 54, 6, 12
+30983: 54, 6, 13
+30984: 54, 6, 14
+30985: 54, 6, 15
+30986: 54, 6, 16
+30987: 54, 6, 17
+30988: 54, 6, 18
+30989: 54, 6, 19
+30990: 54, 6, 20
+30991: 54, 6, 21
+30992: 55, 0, 0
+30993: 55, 1, 0
+30994: 55, 1, 1
+30995: 55, 1, 2
+30996: 55, 1, 3
+30997: 55, 1, 4
+30998: 55, 1, 5
+30999: 55, 1, 6
+31000: 55, 1, 7
+31001: 55, 1, 8
+31002: 55, 1, 9
+31003: 55, 1, 10
+31004: 55, 1, 11
+31005: 55, 1, 12
+31006: 55, 1, 13
+31007: 55, 1, 14
+31008: 55, 1, 15
+31009: 55, 1, 16
+31010: 55, 1, 17
+31011: 55, 1, 18
+31012: 55, 2, 0
+31013: 55, 2, 1
+31014: 55, 2, 2
+31015: 55, 2, 3
+31016: 55, 2, 4
+31017: 55, 2, 5
+31018: 55, 2, 6
+31019: 55, 2, 7
+31020: 55, 2, 8
+31021: 55, 2, 9
+31022: 55, 2, 10
+31023: 55, 2, 11
+31024: 55, 2, 12
+31025: 55, 2, 13
+31026: 55, 2, 14
+31027: 55, 2, 15
+31028: 55, 2, 16
+31029: 55, 2, 17
+31030: 55, 2, 18
+31031: 55, 2, 19
+31032: 55, 2, 20
+31033: 55, 2, 21
+31034: 55, 2, 22
+31035: 55, 2, 23
+31036: 55, 2, 24
+31037: 55, 2, 25
+31038: 55, 2, 26
+31039: 55, 3, 0
+31040: 55, 3, 1
+31041: 55, 3, 2
+31042: 55, 3, 3
+31043: 55, 3, 4
+31044: 55, 3, 5
+31045: 55, 3, 6
+31046: 55, 3, 7
+31047: 55, 3, 8
+31048: 55, 3, 9
+31049: 55, 3, 10
+31050: 55, 3, 11
+31051: 55, 3, 12
+31052: 55, 3, 13
+31053: 55, 3, 14
+31054: 55, 3, 15
+31055: 55, 3, 16
+31056: 55, 3, 17
+31057: 55, 4, 0
+31058: 55, 4, 1
+31059: 55, 4, 2
+31060: 55, 4, 3
+31061: 55, 4, 4
+31062: 55, 4, 5
+31063: 55, 4, 6
+31064: 55, 4, 7
+31065: 55, 4, 8
+31066: 55, 4, 9
+31067: 55, 4, 10
+31068: 55, 4, 11
+31069: 55, 4, 12
+31070: 55, 4, 13
+31071: 55, 4, 14
+31072: 55, 4, 15
+31073: 55, 4, 16
+31074: 55, 4, 17
+31075: 55, 4, 18
+31076: 55, 4, 19
+31077: 55, 4, 20
+31078: 55, 4, 21
+31079: 55, 4, 22
+31080: 56, 0, 0
+31081: 56, 1, 0
+31082: 56, 1, 1
+31083: 56, 1, 2
+31084: 56, 1, 3
+31085: 56, 1, 4
+31086: 56, 1, 5
+31087: 56, 1, 6
+31088: 56, 1, 7
+31089: 56, 1, 8
+31090: 56, 1, 9
+31091: 56, 1, 10
+31092: 56, 1, 11
+31093: 56, 1, 12
+31094: 56, 1, 13
+31095: 56, 1, 14
+31096: 56, 1, 15
+31097: 56, 1, 16
+31098: 56, 2, 0
+31099: 56, 2, 1
+31100: 56, 2, 2
+31101: 56, 2, 3
+31102: 56, 2, 4
+31103: 56, 2, 5
+31104: 56, 2, 6
+31105: 56, 2, 7
+31106: 56, 2, 8
+31107: 56, 2, 9
+31108: 56, 2, 10
+31109: 56, 2, 11
+31110: 56, 2, 12
+31111: 56, 2, 13
+31112: 56, 2, 14
+31113: 56, 2, 15
+31114: 56, 3, 0
+31115: 56, 3, 1
+31116: 56, 3, 2
+31117: 56, 3, 3
+31118: 56, 3, 4
+31119: 56, 3, 5
+31120: 56, 3, 6
+31121: 56, 3, 7
+31122: 56, 3, 8
+31123: 56, 3, 9
+31124: 56, 3, 10
+31125: 56, 3, 11
+31126: 56, 3, 12
+31127: 56, 3, 13
+31128: 56, 3, 14
+31129: 56, 3, 15
+31130: 57, 0, 0
+31131: 57, 1, 0
+31132: 57, 1, 1
+31133: 57, 1, 2
+31134: 57, 1, 3
+31135: 57, 1, 4
+31136: 57, 1, 5
+31137: 57, 1, 6
+31138: 57, 1, 7
+31139: 57, 1, 8
+31140: 57, 1, 9
+31141: 57, 1, 10
+31142: 57, 1, 11
+31143: 57, 1, 12
+31144: 57, 1, 13
+31145: 57, 1, 14
+31146: 57, 1, 15
+31147: 57, 1, 16
+31148: 57, 1, 17
+31149: 57, 1, 18
+31150: 57, 1, 19
+31151: 57, 1, 20
+31152: 57, 1, 21
+31153: 57, 1, 22
+31154: 57, 1, 23
+31155: 57, 1, 24
+31156: 57, 1, 25
+31157: 58, 0, 0
+31158: 58, 1, 0
+31159: 58, 1, 1
+31160: 58, 1, 2
+31161: 58, 1, 3
+31162: 58, 1, 4
+31163: 58, 1, 5
+31164: 58, 1, 6
+31165: 58, 1, 7
+31166: 58, 1, 8
+31167: 58, 1, 9
+31168: 58, 1, 10
+31169: 58, 1, 11
+31170: 58, 1, 12
+31171: 58, 1, 13
+31172: 58, 1, 14
+31173: 58, 2, 0
+31174: 58, 2, 1
+31175: 58, 2, 2
+31176: 58, 2, 3
+31177: 58, 2, 4
+31178: 58, 2, 5
+31179: 58, 2, 6
+31180: 58, 2, 7
+31181: 58, 2, 8
+31182: 58, 2, 9
+31183: 58, 2, 10
+31184: 58, 2, 11
+31185: 58, 2, 12
+31186: 58, 2, 13
+31187: 58, 2, 14
+31188: 58, 2, 15
+31189: 58, 2, 16
+31190: 58, 2, 17
+31191: 58, 2, 18
+31192: 58, 3, 0
+31193: 58, 3, 1
+31194: 58, 3, 2
+31195: 58, 3, 3
+31196: 58, 3, 4
+31197: 58, 3, 5
+31198: 58, 3, 6
+31199: 58, 3, 7
+31200: 58, 3, 8
+31201: 58, 3, 9
+31202: 58, 3, 10
+31203: 58, 3, 11
+31204: 58, 3, 12
+31205: 58, 3, 13
+31206: 58, 3, 14
+31207: 58, 3, 15
+31208: 58, 3, 16
+31209: 58, 3, 17
+31210: 58, 3, 18
+31211: 58, 3, 19
+31212: 58, 4, 0
+31213: 58, 4, 1
+31214: 58, 4, 2
+31215: 58, 4, 3
+31216: 58, 4, 4
+31217: 58, 4, 5
+31218: 58, 4, 6
+31219: 58, 4, 7
+31220: 58, 4, 8
+31221: 58, 4, 9
+31222: 58, 4, 10
+31223: 58, 4, 11
+31224: 58, 4, 12
+31225: 58, 4, 13
+31226: 58, 4, 14
+31227: 58, 4, 15
+31228: 58, 4, 16
+31229: 58, 5, 0
+31230: 58, 5, 1
+31231: 58, 5, 2
+31232: 58, 5, 3
+31233: 58, 5, 4
+31234: 58, 5, 5
+31235: 58, 5, 6
+31236: 58, 5, 7
+31237: 58, 5, 8
+31238: 58, 5, 9
+31239: 58, 5, 10
+31240: 58, 5, 11
+31241: 58, 5, 12
+31242: 58, 5, 13
+31243: 58, 5, 14
+31244: 58, 6, 0
+31245: 58, 6, 1
+31246: 58, 6, 2
+31247: 58, 6, 3
+31248: 58, 6, 4
+31249: 58, 6, 5
+31250: 58, 6, 6
+31251: 58, 6, 7
+31252: 58, 6, 8
+31253: 58, 6, 9
+31254: 58, 6, 10
+31255: 58, 6, 11
+31256: 58, 6, 12
+31257: 58, 6, 13
+31258: 58, 6, 14
+31259: 58, 6, 15
+31260: 58, 6, 16
+31261: 58, 6, 17
+31262: 58, 6, 18
+31263: 58, 6, 19
+31264: 58, 6, 20
+31265: 58, 7, 0
+31266: 58, 7, 1
+31267: 58, 7, 2
+31268: 58, 7, 3
+31269: 58, 7, 4
+31270: 58, 7, 5
+31271: 58, 7, 6
+31272: 58, 7, 7
+31273: 58, 7, 8
+31274: 58, 7, 9
+31275: 58, 7, 10
+31276: 58, 7, 11
+31277: 58, 7, 12
+31278: 58, 7, 13
+31279: 58, 7, 14
+31280: 58, 7, 15
+31281: 58, 7, 16
+31282: 58, 7, 17
+31283: 58, 7, 18
+31284: 58, 7, 19
+31285: 58, 7, 20
+31286: 58, 7, 21
+31287: 58, 7, 22
+31288: 58, 7, 23
+31289: 58, 7, 24
+31290: 58, 7, 25
+31291: 58, 7, 26
+31292: 58, 7, 27
+31293: 58, 7, 28
+31294: 58, 8, 0
+31295: 58, 8, 1
+31296: 58, 8, 2
+31297: 58, 8, 3
+31298: 58, 8, 4
+31299: 58, 8, 5
+31300: 58, 8, 6
+31301: 58, 8, 7
+31302: 58, 8, 8
+31303: 58, 8, 9
+31304: 58, 8, 10
+31305: 58, 8, 11
+31306: 58, 8, 12
+31307: 58, 8, 13
+31308: 58, 9, 0
+31309: 58, 9, 1
+31310: 58, 9, 2
+31311: 58, 9, 3
+31312: 58, 9, 4
+31313: 58, 9, 5
+31314: 58, 9, 6
+31315: 58, 9, 7
+31316: 58, 9, 8
+31317: 58, 9, 9
+31318: 58, 9, 10
+31319: 58, 9, 11
+31320: 58, 9, 12
+31321: 58, 9, 13
+31322: 58, 9, 14
+31323: 58, 9, 15
+31324: 58, 9, 16
+31325: 58, 9, 17
+31326: 58, 9, 18
+31327: 58, 9, 19
+31328: 58, 9, 20
+31329: 58, 9, 21
+31330: 58, 9, 22
+31331: 58, 9, 23
+31332: 58, 9, 24
+31333: 58, 9, 25
+31334: 58, 9, 26
+31335: 58, 9, 27
+31336: 58, 9, 28
+31337: 58, 10, 0
+31338: 58, 10, 1
+31339: 58, 10, 2
+31340: 58, 10, 3
+31341: 58, 10, 4
+31342: 58, 10, 5
+31343: 58, 10, 6
+31344: 58, 10, 7
+31345: 58, 10, 8
+31346: 58, 10, 9
+31347: 58, 10, 10
+31348: 58, 10, 11
+31349: 58, 10, 12
+31350: 58, 10, 13
+31351: 58, 10, 14
+31352: 58, 10, 15
+31353: 58, 10, 16
+31354: 58, 10, 17
+31355: 58, 10, 18
+31356: 58, 10, 19
+31357: 58, 10, 20
+31358: 58, 10, 21
+31359: 58, 10, 22
+31360: 58, 10, 23
+31361: 58, 10, 24
+31362: 58, 10, 25
+31363: 58, 10, 26
+31364: 58, 10, 27
+31365: 58, 10, 28
+31366: 58, 10, 29
+31367: 58, 10, 30
+31368: 58, 10, 31
+31369: 58, 10, 32
+31370: 58, 10, 33
+31371: 58, 10, 34
+31372: 58, 10, 35
+31373: 58, 10, 36
+31374: 58, 10, 37
+31375: 58, 10, 38
+31376: 58, 10, 39
+31377: 58, 11, 0
+31378: 58, 11, 1
+31379: 58, 11, 2
+31380: 58, 11, 3
+31381: 58, 11, 4
+31382: 58, 11, 5
+31383: 58, 11, 6
+31384: 58, 11, 7
+31385: 58, 11, 8
+31386: 58, 11, 9
+31387: 58, 11, 10
+31388: 58, 11, 11
+31389: 58, 11, 12
+31390: 58, 11, 13
+31391: 58, 11, 14
+31392: 58, 11, 15
+31393: 58, 11, 16
+31394: 58, 11, 17
+31395: 58, 11, 18
+31396: 58, 11, 19
+31397: 58, 11, 20
+31398: 58, 11, 21
+31399: 58, 11, 22
+31400: 58, 11, 23
+31401: 58, 11, 24
+31402: 58, 11, 25
+31403: 58, 11, 26
+31404: 58, 11, 27
+31405: 58, 11, 28
+31406: 58, 11, 29
+31407: 58, 11, 30
+31408: 58, 11, 31
+31409: 58, 11, 32
+31410: 58, 11, 33
+31411: 58, 11, 34
+31412: 58, 11, 35
+31413: 58, 11, 36
+31414: 58, 11, 37
+31415: 58, 11, 38
+31416: 58, 11, 39
+31417: 58, 11, 40
+31418: 58, 12, 0
+31419: 58, 12, 1
+31420: 58, 12, 2
+31421: 58, 12, 3
+31422: 58, 12, 4
+31423: 58, 12, 5
+31424: 58, 12, 6
+31425: 58, 12, 7
+31426: 58, 12, 8
+31427: 58, 12, 9
+31428: 58, 12, 10
+31429: 58, 12, 11
+31430: 58, 12, 12
+31431: 58, 12, 13
+31432: 58, 12, 14
+31433: 58, 12, 15
+31434: 58, 12, 16
+31435: 58, 12, 17
+31436: 58, 12, 18
+31437: 58, 12, 19
+31438: 58, 12, 20
+31439: 58, 12, 21
+31440: 58, 12, 22
+31441: 58, 12, 23
+31442: 58, 12, 24
+31443: 58, 12, 25
+31444: 58, 12, 26
+31445: 58, 12, 27
+31446: 58, 12, 28
+31447: 58, 12, 29
+31448: 58, 13, 0
+31449: 58, 13, 1
+31450: 58, 13, 2
+31451: 58, 13, 3
+31452: 58, 13, 4
+31453: 58, 13, 5
+31454: 58, 13, 6
+31455: 58, 13, 7
+31456: 58, 13, 8
+31457: 58, 13, 9
+31458: 58, 13, 10
+31459: 58, 13, 11
+31460: 58, 13, 12
+31461: 58, 13, 13
+31462: 58, 13, 14
+31463: 58, 13, 15
+31464: 58, 13, 16
+31465: 58, 13, 17
+31466: 58, 13, 18
+31467: 58, 13, 19
+31468: 58, 13, 20
+31469: 58, 13, 21
+31470: 58, 13, 22
+31471: 58, 13, 23
+31472: 58, 13, 24
+31473: 58, 13, 25
+31474: 59, 0, 0
+31475: 59, 1, 0
+31476: 59, 1, 1
+31477: 59, 1, 2
+31478: 59, 1, 3
+31479: 59, 1, 4
+31480: 59, 1, 5
+31481: 59, 1, 6
+31482: 59, 1, 7
+31483: 59, 1, 8
+31484: 59, 1, 9
+31485: 59, 1, 10
+31486: 59, 1, 11
+31487: 59, 1, 12
+31488: 59, 1, 13
+31489: 59, 1, 14
+31490: 59, 1, 15
+31491: 59, 1, 16
+31492: 59, 1, 17
+31493: 59, 1, 18
+31494: 59, 1, 19
+31495: 59, 1, 20
+31496: 59, 1, 21
+31497: 59, 1, 22
+31498: 59, 1, 23
+31499: 59, 1, 24
+31500: 59, 1, 25
+31501: 59, 1, 26
+31502: 59, 1, 27
+31503: 59, 2, 0
+31504: 59, 2, 1
+31505: 59, 2, 2
+31506: 59, 2, 3
+31507: 59, 2, 4
+31508: 59, 2, 5
+31509: 59, 2, 6
+31510: 59, 2, 7
+31511: 59, 2, 8
+31512: 59, 2, 9
+31513: 59, 2, 10
+31514: 59, 2, 11
+31515: 59, 2, 12
+31516: 59, 2, 13
+31517: 59, 2, 14
+31518: 59, 2, 15
+31519: 59, 2, 16
+31520: 59, 2, 17
+31521: 59, 2, 18
+31522: 59, 2, 19
+31523: 59, 2, 20
+31524: 59, 2, 21
+31525: 59, 2, 22
+31526: 59, 2, 23
+31527: 59, 2, 24
+31528: 59, 2, 25
+31529: 59, 2, 26
+31530: 59, 3, 0
+31531: 59, 3, 1
+31532: 59, 3, 2
+31533: 59, 3, 3
+31534: 59, 3, 4
+31535: 59, 3, 5
+31536: 59, 3, 6
+31537: 59, 3, 7
+31538: 59, 3, 8
+31539: 59, 3, 9
+31540: 59, 3, 10
+31541: 59, 3, 11
+31542: 59, 3, 12
+31543: 59, 3, 13
+31544: 59, 3, 14
+31545: 59, 3, 15
+31546: 59, 3, 16
+31547: 59, 3, 17
+31548: 59, 3, 18
+31549: 59, 4, 0
+31550: 59, 4, 1
+31551: 59, 4, 2
+31552: 59, 4, 3
+31553: 59, 4, 4
+31554: 59, 4, 5
+31555: 59, 4, 6
+31556: 59, 4, 7
+31557: 59, 4, 8
+31558: 59, 4, 9
+31559: 59, 4, 10
+31560: 59, 4, 11
+31561: 59, 4, 12
+31562: 59, 4, 13
+31563: 59, 4, 14
+31564: 59, 4, 15
+31565: 59, 4, 16
+31566: 59, 4, 17
+31567: 59, 5, 0
+31568: 59, 5, 1
+31569: 59, 5, 2
+31570: 59, 5, 3
+31571: 59, 5, 4
+31572: 59, 5, 5
+31573: 59, 5, 6
+31574: 59, 5, 7
+31575: 59, 5, 8
+31576: 59, 5, 9
+31577: 59, 5, 10
+31578: 59, 5, 11
+31579: 59, 5, 12
+31580: 59, 5, 13
+31581: 59, 5, 14
+31582: 59, 5, 15
+31583: 59, 5, 16
+31584: 59, 5, 17
+31585: 59, 5, 18
+31586: 59, 5, 19
+31587: 59, 5, 20
+31588: 60, 0, 0
+31589: 60, 1, 0
+31590: 60, 1, 1
+31591: 60, 1, 2
+31592: 60, 1, 3
+31593: 60, 1, 4
+31594: 60, 1, 5
+31595: 60, 1, 6
+31596: 60, 1, 7
+31597: 60, 1, 8
+31598: 60, 1, 9
+31599: 60, 1, 10
+31600: 60, 1, 11
+31601: 60, 1, 12
+31602: 60, 1, 13
+31603: 60, 1, 14
+31604: 60, 1, 15
+31605: 60, 1, 16
+31606: 60, 1, 17
+31607: 60, 1, 18
+31608: 60, 1, 19
+31609: 60, 1, 20
+31610: 60, 1, 21
+31611: 60, 1, 22
+31612: 60, 1, 23
+31613: 60, 1, 24
+31614: 60, 1, 25
+31615: 60, 2, 0
+31616: 60, 2, 1
+31617: 60, 2, 2
+31618: 60, 2, 3
+31619: 60, 2, 4
+31620: 60, 2, 5
+31621: 60, 2, 6
+31622: 60, 2, 7
+31623: 60, 2, 8
+31624: 60, 2, 9
+31625: 60, 2, 10
+31626: 60, 2, 11
+31627: 60, 2, 12
+31628: 60, 2, 13
+31629: 60, 2, 14
+31630: 60, 2, 15
+31631: 60, 2, 16
+31632: 60, 2, 17
+31633: 60, 2, 18
+31634: 60, 2, 19
+31635: 60, 2, 20
+31636: 60, 2, 21
+31637: 60, 2, 22
+31638: 60, 2, 23
+31639: 60, 2, 24
+31640: 60, 2, 25
+31641: 60, 3, 0
+31642: 60, 3, 1
+31643: 60, 3, 2
+31644: 60, 3, 3
+31645: 60, 3, 4
+31646: 60, 3, 5
+31647: 60, 3, 6
+31648: 60, 3, 7
+31649: 60, 3, 8
+31650: 60, 3, 9
+31651: 60, 3, 10
+31652: 60, 3, 11
+31653: 60, 3, 12
+31654: 60, 3, 13
+31655: 60, 3, 14
+31656: 60, 3, 15
+31657: 60, 3, 16
+31658: 60, 3, 17
+31659: 60, 3, 18
+31660: 60, 3, 19
+31661: 60, 3, 20
+31662: 60, 3, 21
+31663: 60, 3, 22
+31664: 60, 4, 0
+31665: 60, 4, 1
+31666: 60, 4, 2
+31667: 60, 4, 3
+31668: 60, 4, 4
+31669: 60, 4, 5
+31670: 60, 4, 6
+31671: 60, 4, 7
+31672: 60, 4, 8
+31673: 60, 4, 9
+31674: 60, 4, 10
+31675: 60, 4, 11
+31676: 60, 4, 12
+31677: 60, 4, 13
+31678: 60, 4, 14
+31679: 60, 4, 15
+31680: 60, 4, 16
+31681: 60, 4, 17
+31682: 60, 4, 18
+31683: 60, 4, 19
+31684: 60, 5, 0
+31685: 60, 5, 1
+31686: 60, 5, 2
+31687: 60, 5, 3
+31688: 60, 5, 4
+31689: 60, 5, 5
+31690: 60, 5, 6
+31691: 60, 5, 7
+31692: 60, 5, 8
+31693: 60, 5, 9
+31694: 60, 5, 10
+31695: 60, 5, 11
+31696: 60, 5, 12
+31697: 60, 5, 13
+31698: 60, 5, 14
+31699: 61, 0, 0
+31700: 61, 1, 0
+31701: 61, 1, 1
+31702: 61, 1, 2
+31703: 61, 1, 3
+31704: 61, 1, 4
+31705: 61, 1, 5
+31706: 61, 1, 6
+31707: 61, 1, 7
+31708: 61, 1, 8
+31709: 61, 1, 9
+31710: 61, 1, 10
+31711: 61, 1, 11
+31712: 61, 1, 12
+31713: 61, 1, 13
+31714: 61, 1, 14
+31715: 61, 1, 15
+31716: 61, 1, 16
+31717: 61, 1, 17
+31718: 61, 1, 18
+31719: 61, 1, 19
+31720: 61, 1, 20
+31721: 61, 1, 21
+31722: 61, 2, 0
+31723: 61, 2, 1
+31724: 61, 2, 2
+31725: 61, 2, 3
+31726: 61, 2, 4
+31727: 61, 2, 5
+31728: 61, 2, 6
+31729: 61, 2, 7
+31730: 61, 2, 8
+31731: 61, 2, 9
+31732: 61, 2, 10
+31733: 61, 2, 11
+31734: 61, 2, 12
+31735: 61, 2, 13
+31736: 61, 2, 14
+31737: 61, 2, 15
+31738: 61, 2, 16
+31739: 61, 2, 17
+31740: 61, 2, 18
+31741: 61, 2, 19
+31742: 61, 2, 20
+31743: 61, 2, 21
+31744: 61, 2, 22
+31745: 61, 3, 0
+31746: 61, 3, 1
+31747: 61, 3, 2
+31748: 61, 3, 3
+31749: 61, 3, 4
+31750: 61, 3, 5
+31751: 61, 3, 6
+31752: 61, 3, 7
+31753: 61, 3, 8
+31754: 61, 3, 9
+31755: 61, 3, 10
+31756: 61, 3, 11
+31757: 61, 3, 12
+31758: 61, 3, 13
+31759: 61, 3, 14
+31760: 61, 3, 15
+31761: 61, 3, 16
+31762: 61, 3, 17
+31763: 61, 3, 18
+31764: 62, 0, 0
+31765: 62, 1, 0
+31766: 62, 1, 1
+31767: 62, 1, 2
+31768: 62, 1, 3
+31769: 62, 1, 4
+31770: 62, 1, 5
+31771: 62, 1, 6
+31772: 62, 1, 7
+31773: 62, 1, 8
+31774: 62, 1, 9
+31775: 62, 1, 10
+31776: 62, 2, 0
+31777: 62, 2, 1
+31778: 62, 2, 2
+31779: 62, 2, 3
+31780: 62, 2, 4
+31781: 62, 2, 5
+31782: 62, 2, 6
+31783: 62, 2, 7
+31784: 62, 2, 8
+31785: 62, 2, 9
+31786: 62, 2, 10
+31787: 62, 2, 11
+31788: 62, 2, 12
+31789: 62, 2, 13
+31790: 62, 2, 14
+31791: 62, 2, 15
+31792: 62, 2, 16
+31793: 62, 2, 17
+31794: 62, 2, 18
+31795: 62, 2, 19
+31796: 62, 2, 20
+31797: 62, 2, 21
+31798: 62, 2, 22
+31799: 62, 2, 23
+31800: 62, 2, 24
+31801: 62, 2, 25
+31802: 62, 2, 26
+31803: 62, 2, 27
+31804: 62, 2, 28
+31805: 62, 2, 29
+31806: 62, 3, 0
+31807: 62, 3, 1
+31808: 62, 3, 2
+31809: 62, 3, 3
+31810: 62, 3, 4
+31811: 62, 3, 5
+31812: 62, 3, 6
+31813: 62, 3, 7
+31814: 62, 3, 8
+31815: 62, 3, 9
+31816: 62, 3, 10
+31817: 62, 3, 11
+31818: 62, 3, 12
+31819: 62, 3, 13
+31820: 62, 3, 14
+31821: 62, 3, 15
+31822: 62, 3, 16
+31823: 62, 3, 17
+31824: 62, 3, 18
+31825: 62, 3, 19
+31826: 62, 3, 20
+31827: 62, 3, 21
+31828: 62, 3, 22
+31829: 62, 3, 23
+31830: 62, 3, 24
+31831: 62, 4, 0
+31832: 62, 4, 1
+31833: 62, 4, 2
+31834: 62, 4, 3
+31835: 62, 4, 4
+31836: 62, 4, 5
+31837: 62, 4, 6
+31838: 62, 4, 7
+31839: 62, 4, 8
+31840: 62, 4, 9
+31841: 62, 4, 10
+31842: 62, 4, 11
+31843: 62, 4, 12
+31844: 62, 4, 13
+31845: 62, 4, 14
+31846: 62, 4, 15
+31847: 62, 4, 16
+31848: 62, 4, 17
+31849: 62, 4, 18
+31850: 62, 4, 19
+31851: 62, 4, 20
+31852: 62, 4, 21
+31853: 62, 5, 0
+31854: 62, 5, 1
+31855: 62, 5, 2
+31856: 62, 5, 3
+31857: 62, 5, 4
+31858: 62, 5, 5
+31859: 62, 5, 6
+31860: 62, 5, 7
+31861: 62, 5, 8
+31862: 62, 5, 9
+31863: 62, 5, 10
+31864: 62, 5, 11
+31865: 62, 5, 12
+31866: 62, 5, 13
+31867: 62, 5, 14
+31868: 62, 5, 15
+31869: 62, 5, 16
+31870: 62, 5, 17
+31871: 62, 5, 18
+31872: 62, 5, 19
+31873: 62, 5, 20
+31874: 62, 5, 21
+31875: 63, 0, 0
+31876: 63, 1, 0
+31877: 63, 1, 1
+31878: 63, 1, 2
+31879: 63, 1, 3
+31880: 63, 1, 4
+31881: 63, 1, 5
+31882: 63, 1, 6
+31883: 63, 1, 7
+31884: 63, 1, 8
+31885: 63, 1, 9
+31886: 63, 1, 10
+31887: 63, 1, 11
+31888: 63, 1, 12
+31889: 63, 1, 13
+31890: 64, 0, 0
+31891: 64, 1, 0
+31892: 64, 1, 1
+31893: 64, 1, 2
+31894: 64, 1, 3
+31895: 64, 1, 4
+31896: 64, 1, 5
+31897: 64, 1, 6
+31898: 64, 1, 7
+31899: 64, 1, 8
+31900: 64, 1, 9
+31901: 64, 1, 10
+31902: 64, 1, 11
+31903: 64, 1, 12
+31904: 64, 1, 13
+31905: 64, 1, 14
+31906: 65, 0, 0
+31907: 65, 1, 0
+31908: 65, 1, 1
+31909: 65, 1, 2
+31910: 65, 1, 3
+31911: 65, 1, 4
+31912: 65, 1, 5
+31913: 65, 1, 6
+31914: 65, 1, 7
+31915: 65, 1, 8
+31916: 65, 1, 9
+31917: 65, 1, 10
+31918: 65, 1, 11
+31919: 65, 1, 12
+31920: 65, 1, 13
+31921: 65, 1, 14
+31922: 65, 1, 15
+31923: 65, 1, 16
+31924: 65, 1, 17
+31925: 65, 1, 18
+31926: 65, 1, 19
+31927: 65, 1, 20
+31928: 65, 1, 21
+31929: 65, 1, 22
+31930: 65, 1, 23
+31931: 65, 1, 24
+31932: 65, 1, 25
+31933: 66, 0, 0
+31934: 66, 1, 0
+31935: 66, 1, 1
+31936: 66, 1, 2
+31937: 66, 1, 3
+31938: 66, 1, 4
+31939: 66, 1, 5
+31940: 66, 1, 6
+31941: 66, 1, 7
+31942: 66, 1, 8
+31943: 66, 1, 9
+31944: 66, 1, 10
+31945: 66, 1, 11
+31946: 66, 1, 12
+31947: 66, 1, 13
+31948: 66, 1, 14
+31949: 66, 1, 15
+31950: 66, 1, 16
+31951: 66, 1, 17
+31952: 66, 1, 18
+31953: 66, 1, 19
+31954: 66, 1, 20
+31955: 66, 2, 0
+31956: 66, 2, 1
+31957: 66, 2, 2
+31958: 66, 2, 3
+31959: 66, 2, 4
+31960: 66, 2, 5
+31961: 66, 2, 6
+31962: 66, 2, 7
+31963: 66, 2, 8
+31964: 66, 2, 9
+31965: 66, 2, 10
+31966: 66, 2, 11
+31967: 66, 2, 12
+31968: 66, 2, 13
+31969: 66, 2, 14
+31970: 66, 2, 15
+31971: 66, 2, 16
+31972: 66, 2, 17
+31973: 66, 2, 18
+31974: 66, 2, 19
+31975: 66, 2, 20
+31976: 66, 2, 21
+31977: 66, 2, 22
+31978: 66, 2, 23
+31979: 66, 2, 24
+31980: 66, 2, 25
+31981: 66, 2, 26
+31982: 66, 2, 27
+31983: 66, 2, 28
+31984: 66, 2, 29
+31985: 66, 3, 0
+31986: 66, 3, 1
+31987: 66, 3, 2
+31988: 66, 3, 3
+31989: 66, 3, 4
+31990: 66, 3, 5
+31991: 66, 3, 6
+31992: 66, 3, 7
+31993: 66, 3, 8
+31994: 66, 3, 9
+31995: 66, 3, 10
+31996: 66, 3, 11
+31997: 66, 3, 12
+31998: 66, 3, 13
+31999: 66, 3, 14
+32000: 66, 3, 15
+32001: 66, 3, 16
+32002: 66, 3, 17
+32003: 66, 3, 18
+32004: 66, 3, 19
+32005: 66, 3, 20
+32006: 66, 3, 21
+32007: 66, 3, 22
+32008: 66, 4, 0
+32009: 66, 4, 1
+32010: 66, 4, 2
+32011: 66, 4, 3
+32012: 66, 4, 4
+32013: 66, 4, 5
+32014: 66, 4, 6
+32015: 66, 4, 7
+32016: 66, 4, 8
+32017: 66, 4, 9
+32018: 66, 4, 10
+32019: 66, 4, 11
+32020: 66, 5, 0
+32021: 66, 5, 1
+32022: 66, 5, 2
+32023: 66, 5, 3
+32024: 66, 5, 4
+32025: 66, 5, 5
+32026: 66, 5, 6
+32027: 66, 5, 7
+32028: 66, 5, 8
+32029: 66, 5, 9
+32030: 66, 5, 10
+32031: 66, 5, 11
+32032: 66, 5, 12
+32033: 66, 5, 13
+32034: 66, 5, 14
+32035: 66, 6, 0
+32036: 66, 6, 1
+32037: 66, 6, 2
+32038: 66, 6, 3
+32039: 66, 6, 4
+32040: 66, 6, 5
+32041: 66, 6, 6
+32042: 66, 6, 7
+32043: 66, 6, 8
+32044: 66, 6, 9
+32045: 66, 6, 10
+32046: 66, 6, 11
+32047: 66, 6, 12
+32048: 66, 6, 13
+32049: 66, 6, 14
+32050: 66, 6, 15
+32051: 66, 6, 16
+32052: 66, 6, 17
+32053: 66, 7, 0
+32054: 66, 7, 1
+32055: 66, 7, 2
+32056: 66, 7, 3
+32057: 66, 7, 4
+32058: 66, 7, 5
+32059: 66, 7, 6
+32060: 66, 7, 7
+32061: 66, 7, 8
+32062: 66, 7, 9
+32063: 66, 7, 10
+32064: 66, 7, 11
+32065: 66, 7, 12
+32066: 66, 7, 13
+32067: 66, 7, 14
+32068: 66, 7, 15
+32069: 66, 7, 16
+32070: 66, 7, 17
+32071: 66, 8, 0
+32072: 66, 8, 1
+32073: 66, 8, 2
+32074: 66, 8, 3
+32075: 66, 8, 4
+32076: 66, 8, 5
+32077: 66, 8, 6
+32078: 66, 8, 7
+32079: 66, 8, 8
+32080: 66, 8, 9
+32081: 66, 8, 10
+32082: 66, 8, 11
+32083: 66, 8, 12
+32084: 66, 8, 13
+32085: 66, 9, 0
+32086: 66, 9, 1
+32087: 66, 9, 2
+32088: 66, 9, 3
+32089: 66, 9, 4
+32090: 66, 9, 5
+32091: 66, 9, 6
+32092: 66, 9, 7
+32093: 66, 9, 8
+32094: 66, 9, 9
+32095: 66, 9, 10
+32096: 66, 9, 11
+32097: 66, 9, 12
+32098: 66, 9, 13
+32099: 66, 9, 14
+32100: 66, 9, 15
+32101: 66, 9, 16
+32102: 66, 9, 17
+32103: 66, 9, 18
+32104: 66, 9, 19
+32105: 66, 9, 20
+32106: 66, 9, 21
+32107: 66, 10, 0
+32108: 66, 10, 1
+32109: 66, 10, 2
+32110: 66, 10, 3
+32111: 66, 10, 4
+32112: 66, 10, 5
+32113: 66, 10, 6
+32114: 66, 10, 7
+32115: 66, 10, 8
+32116: 66, 10, 9
+32117: 66, 10, 10
+32118: 66, 10, 11
+32119: 66, 11, 0
+32120: 66, 11, 1
+32121: 66, 11, 2
+32122: 66, 11, 3
+32123: 66, 11, 4
+32124: 66, 11, 5
+32125: 66, 11, 6
+32126: 66, 11, 7
+32127: 66, 11, 8
+32128: 66, 11, 9
+32129: 66, 11, 10
+32130: 66, 11, 11
+32131: 66, 11, 12
+32132: 66, 11, 13
+32133: 66, 11, 14
+32134: 66, 11, 15
+32135: 66, 11, 16
+32136: 66, 11, 17
+32137: 66, 11, 18
+32138: 66, 11, 19
+32139: 66, 12, 0
+32140: 66, 12, 1
+32141: 66, 12, 2
+32142: 66, 12, 3
+32143: 66, 12, 4
+32144: 66, 12, 5
+32145: 66, 12, 6
+32146: 66, 12, 7
+32147: 66, 12, 8
+32148: 66, 12, 9
+32149: 66, 12, 10
+32150: 66, 12, 11
+32151: 66, 12, 12
+32152: 66, 12, 13
+32153: 66, 12, 14
+32154: 66, 12, 15
+32155: 66, 12, 16
+32156: 66, 12, 17
+32157: 66, 13, 0
+32158: 66, 13, 1
+32159: 66, 13, 2
+32160: 66, 13, 3
+32161: 66, 13, 4
+32162: 66, 13, 5
+32163: 66, 13, 6
+32164: 66, 13, 7
+32165: 66, 13, 8
+32166: 66, 13, 9
+32167: 66, 13, 10
+32168: 66, 13, 11
+32169: 66, 13, 12
+32170: 66, 13, 13
+32171: 66, 13, 14
+32172: 66, 13, 15
+32173: 66, 13, 16
+32174: 66, 13, 17
+32175: 66, 13, 18
+32176: 66, 14, 0
+32177: 66, 14, 1
+32178: 66, 14, 2
+32179: 66, 14, 3
+32180: 66, 14, 4
+32181: 66, 14, 5
+32182: 66, 14, 6
+32183: 66, 14, 7
+32184: 66, 14, 8
+32185: 66, 14, 9
+32186: 66, 14, 10
+32187: 66, 14, 11
+32188: 66, 14, 12
+32189: 66, 14, 13
+32190: 66, 14, 14
+32191: 66, 14, 15
+32192: 66, 14, 16
+32193: 66, 14, 17
+32194: 66, 14, 18
+32195: 66, 14, 19
+32196: 66, 14, 20
+32197: 66, 15, 0
+32198: 66, 15, 1
+32199: 66, 15, 2
+32200: 66, 15, 3
+32201: 66, 15, 4
+32202: 66, 15, 5
+32203: 66, 15, 6
+32204: 66, 15, 7
+32205: 66, 15, 8
+32206: 66, 16, 0
+32207: 66, 16, 1
+32208: 66, 16, 2
+32209: 66, 16, 3
+32210: 66, 16, 4
+32211: 66, 16, 5
+32212: 66, 16, 6
+32213: 66, 16, 7
+32214: 66, 16, 8
+32215: 66, 16, 9
+32216: 66, 16, 10
+32217: 66, 16, 11
+32218: 66, 16, 12
+32219: 66, 16, 13
+32220: 66, 16, 14
+32221: 66, 16, 15
+32222: 66, 16, 16
+32223: 66, 16, 17
+32224: 66, 16, 18
+32225: 66, 16, 19
+32226: 66, 16, 20
+32227: 66, 16, 21
+32228: 66, 17, 0
+32229: 66, 17, 1
+32230: 66, 17, 2
+32231: 66, 17, 3
+32232: 66, 17, 4
+32233: 66, 17, 5
+32234: 66, 17, 6
+32235: 66, 17, 7
+32236: 66, 17, 8
+32237: 66, 17, 9
+32238: 66, 17, 10
+32239: 66, 17, 11
+32240: 66, 17, 12
+32241: 66, 17, 13
+32242: 66, 17, 14
+32243: 66, 17, 15
+32244: 66, 17, 16
+32245: 66, 17, 17
+32246: 66, 17, 18
+32247: 66, 18, 0
+32248: 66, 18, 1
+32249: 66, 18, 2
+32250: 66, 18, 3
+32251: 66, 18, 4
+32252: 66, 18, 5
+32253: 66, 18, 6
+32254: 66, 18, 7
+32255: 66, 18, 8
+32256: 66, 18, 9
+32257: 66, 18, 10
+32258: 66, 18, 11
+32259: 66, 18, 12
+32260: 66, 18, 13
+32261: 66, 18, 14
+32262: 66, 18, 15
+32263: 66, 18, 16
+32264: 66, 18, 17
+32265: 66, 18, 18
+32266: 66, 18, 19
+32267: 66, 18, 20
+32268: 66, 18, 21
+32269: 66, 18, 22
+32270: 66, 18, 23
+32271: 66, 18, 24
+32272: 66, 19, 0
+32273: 66, 19, 1
+32274: 66, 19, 2
+32275: 66, 19, 3
+32276: 66, 19, 4
+32277: 66, 19, 5
+32278: 66, 19, 6
+32279: 66, 19, 7
+32280: 66, 19, 8
+32281: 66, 19, 9
+32282: 66, 19, 10
+32283: 66, 19, 11
+32284: 66, 19, 12
+32285: 66, 19, 13
+32286: 66, 19, 14
+32287: 66, 19, 15
+32288: 66, 19, 16
+32289: 66, 19, 17
+32290: 66, 19, 18
+32291: 66, 19, 19
+32292: 66, 19, 20
+32293: 66, 19, 21
+32294: 66, 20, 0
+32295: 66, 20, 1
+32296: 66, 20, 2
+32297: 66, 20, 3
+32298: 66, 20, 4
+32299: 66, 20, 5
+32300: 66, 20, 6
+32301: 66, 20, 7
+32302: 66, 20, 8
+32303: 66, 20, 9
+32304: 66, 20, 10
+32305: 66, 20, 11
+32306: 66, 20, 12
+32307: 66, 20, 13
+32308: 66, 20, 14
+32309: 66, 20, 15
+32310: 66, 21, 0
+32311: 66, 21, 1
+32312: 66, 21, 2
+32313: 66, 21, 3
+32314: 66, 21, 4
+32315: 66, 21, 5
+32316: 66, 21, 6
+32317: 66, 21, 7
+32318: 66, 21, 8
+32319: 66, 21, 9
+32320: 66, 21, 10
+32321: 66, 21, 11
+32322: 66, 21, 12
+32323: 66, 21, 13
+32324: 66, 21, 14
+32325: 66, 21, 15
+32326: 66, 21, 16
+32327: 66, 21, 17
+32328: 66, 21, 18
+32329: 66, 21, 19
+32330: 66, 21, 20
+32331: 66, 21, 21
+32332: 66, 21, 22
+32333: 66, 21, 23
+32334: 66, 21, 24
+32335: 66, 21, 25
+32336: 66, 21, 26
+32337: 66, 21, 27
+32338: 66, 22, 0
+32339: 66, 22, 1
+32340: 66, 22, 2
+32341: 66, 22, 3
+32342: 66, 22, 4
+32343: 66, 22, 5
+32344: 66, 22, 6
+32345: 66, 22, 7
+32346: 66, 22, 8
+32347: 66, 22, 9
+32348: 66, 22, 10
+32349: 66, 22, 11
+32350: 66, 22, 12
+32351: 66, 22, 13
+32352: 66, 22, 14
+32353: 66, 22, 15
+32354: 66, 22, 16
+32355: 66, 22, 17
+32356: 66, 22, 18
+32357: 66, 22, 19
+32358: 66, 22, 20
+32359: 66, 22, 21
+
diff --git a/tests/testsuite/versemgrtest.sh b/tests/testsuite/versemgrtest.sh
new file mode 100755
index 0000000..91b1af8
--- /dev/null
+++ b/tests/testsuite/versemgrtest.sh
@@ -0,0 +1,21 @@
+#!/bin/sh
+#******************************************************************************
+#
+# $Id: swmgr.h 2321 2009-04-13 01:17:00Z scribe $
+#
+# Copyright 1998-2009 CrossWire Bible Society (http://www.crosswire.org)
+# CrossWire Bible Society
+# P. O. Box 2528
+# Tempe, AZ 85280-2528
+#
+# This program is free software; you can redistribute it and/or modify it
+# under the terms of the GNU General Public License as published by the
+# Free Software Foundation version 2.
+#
+# This program is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# General Public License for more details.
+#
+
+../versemgrtest KJV
diff --git a/tests/testsuite/verseparsing-utf8.good b/tests/testsuite/verseparsing-utf8.good
index 2259a56..3fe399c 100644
--- a/tests/testsuite/verseparsing-utf8.good
+++ b/tests/testsuite/verseparsing-utf8.good
@@ -1,16 +1,7 @@
-Matthäus 2:3 - Matthäus 2:12
-Römer 2:13
-Matthäus 1:2 - Römer 3:13
-1. Könige 2:1 - 1. Könige 2:46
-1. Könige 1:1 - 2. Könige 25:30
-Markus 1:1
-Matthäus 2:1
-Matthäus 1:1 - Matthäus 28:20
-1. Könige 1:1 - 1. Könige 22:53
-1. Könige 1:1 - 2. Könige 25:30
-Markus 1:1
-Matthäus 2:1
-Matthäus 1:1 - Matthäus 28:20
-1. Könige 1:1 - 2. Könige 25:30
-1. Könige 1:1 - Matthäus 28:20
-Maleachi 1:1 - Matthäus 2:1
+Matthäus 2:3-12 de: Matthäus 2:3-Matthäus 2:12
+Römer 2:13 de: Römer 2:13
+Matthäus 1:2-Röm 3:13 de: Matthäus 1:2-Römer 3:13
+1. Könige 2 de: 1. Könige 2:1-1. Könige 2:46
+1. Könige - 2. Könige; Markus 1:1; Matthäus 2:1; Matthäus; 1.Kön de: 1. Könige 1:1-2. Könige 25:30; Markus 1:1; Matthäus 2:1; Matthäus 1:1-Matthäus 28:20; 1. Könige 1:1-1. Könige 22:53
+1. Könige - 2. Könige; Markus 1:1; Matthäus 2:1; Matthäus; 1.Kön-2.Kön;I Kings-Matthäus de: 1. Könige 1:1-2. Könige 25:30; Markus 1:1; Matthäus 2:1; Matthäus 1:1-Matthäus 28:20; 1. Könige 1:1-2. Könige 25:30; 1. Könige 1:1-Matthäus 28:20
+Maleachi 1:1 - Matthäus 2:1 de: Maleachi 1:1-Matthäus 2:1
diff --git a/tests/testsuite/verseparsing-utf8.sh b/tests/testsuite/verseparsing-utf8.sh
index 9ab509e..c3ab3ef 100755
--- a/tests/testsuite/verseparsing-utf8.sh
+++ b/tests/testsuite/verseparsing-utf8.sh
@@ -1,5 +1,24 @@
#!/bin/sh
+#******************************************************************************
+#
# This only works if --with-icu was passed to configure
+#
+# $Id: swmgr.h 2321 2009-04-13 01:17:00Z scribe $
+#
+# Copyright 1998-2009 CrossWire Bible Society (http://www.crosswire.org)
+# CrossWire Bible Society
+# P. O. Box 2528
+# Tempe, AZ 85280-2528
+#
+# This program is free software; you can redistribute it and/or modify it
+# under the terms of the GNU General Public License as published by the
+# Free Software Foundation version 2.
+#
+# This program is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# General Public License for more details.
+#
### German test keys
../parsekey "Matthäus 2:3-12" "de"
diff --git a/tests/testsuite/verseparsing.good b/tests/testsuite/verseparsing.good
index dd001eb..1518539 100644
--- a/tests/testsuite/verseparsing.good
+++ b/tests/testsuite/verseparsing.good
@@ -1,65 +1,246 @@
-I John 2:3
-I John 2:3
-I John 2:3
-I John 2:3
-I John 2:3
-I John 2:3
-I John 2:3
-I John 2:3
-I John 2:3
-I John 2:3
-I John 2:3
-I John 2:3
-I John 2:3
-I John 2:3
-I John 2:3
-I John 2:3
-I John 2:3
-I John 2:3
-I John 2:3
-I John 2:3
-I John 2:3
-I John 2:3
-I John 2:3
-I John 2:3
-I John 2:3
-I John 2:3
-I John 2:3
-I John 2:3
-I John 2:3
-I John 2:3
-I John 2:3
-I John 2:3
-1. Johannes 2:3
-1. Johannes 1:1 - 1. Johannes 3:10
-1. Johannes 1:1 - 1. Johannes 3:10
-I John 1:1 - I John 3:10
-1. Johannes 1:1 - 1. Johannes 3:10
-1. Johannes 1:1 - 1. Johannes 3:10
-I John 1:1 - I John 3:10
-1. Johannes 1:1 - 1. Johannes 3:10
-1. Johannes 1:1 - 1. Johannes 3:10
-I John 1:1 - I John 3:10
-1. Johannes 1:1 - 1. Johannes 3:10
-1. Johannes 1:1 - 1. Johannes 3:10
-I John 1:1 - I John 3:10
-I John 1:1
-I John 3:10
-I John 1:1
-I John 3:10
-I John 1:1
-I John 3:10
-I John 1:1
-I John 3:10
-I John 1:1
-I John 3:10
-I John 1:1
-I John 3:10
-I John 1:1
-I John 3:10
-I John 1:1
-I John 3:10
-I John 1:1
-I John 3:10
-I John 1:1
-I John 3:10
+1jn.2.3: I John 2:3
+1 jn.2.3: I John 2:3
+Ijn.2.3: I John 2:3
+I jn.2.3: I John 2:3
+1jn 2.3: I John 2:3
+1 jn 2.3: I John 2:3
+Ijn 2.3: I John 2:3
+I jn 2.3: I John 2:3
+1jn.2:3: I John 2:3
+1 jn.2:3: I John 2:3
+Ijn.2:3: I John 2:3
+I jn.2:3: I John 2:3
+1jn 2:3: I John 2:3
+1 jn 2:3: I John 2:3
+Ijn 2:3: I John 2:3
+I jn 2:3: I John 2:3
+1.jn.2.3: I John 2:3
+1. jn.2.3: I John 2:3
+I.jn.2.3: I John 2:3
+I. jn.2.3: I John 2:3
+1.jn 2.3: I John 2:3
+1. jn 2.3: I John 2:3
+I.jn 2.3: I John 2:3
+I. jn 2.3: I John 2:3
+1.jn.2:3: I John 2:3
+1. jn.2:3: I John 2:3
+I.jn.2:3: I John 2:3
+I. jn.2:3: I John 2:3
+1.jn 2:3: I John 2:3
+1. jn 2:3: I John 2:3
+I.jn 2:3: I John 2:3
+I. jn 2:3: I John 2:3
+1. Johannes 2:3 de: 1. Johannes 2:3
+1. Johannes 1:1-3:10 de: 1. Johannes 1:1-1. Johannes 3:10
+1. Joh 1:1-3:10 de: 1. Johannes 1:1-1. Johannes 3:10
+1Jn 1:1-3:10: I John 1:1-I John 3:10
+1. Johannes 1:1 - 3:10 de: 1. Johannes 1:1-1. Johannes 3:10
+1. Joh 1:1 - 3:10 de: 1. Johannes 1:1-1. Johannes 3:10
+1Jn 1:1 - 3:10: I John 1:1-I John 3:10
+1. Johannes 1:1 -3:10 de: 1. Johannes 1:1-1. Johannes 3:10
+1. Joh 1:1 -3:10 de: 1. Johannes 1:1-1. Johannes 3:10
+1Jn 1:1 -3:10: I John 1:1-I John 3:10
+1. Johannes 1:1- 3:10 de: 1. Johannes 1:1-1. Johannes 3:10
+1. Joh 1:1- 3:10 de: 1. Johannes 1:1-1. Johannes 3:10
+1Jn 1:1- 3:10: I John 1:1-I John 3:10
+1Jn 1:1 3:10: I John 1:1; I John 3:10
+1Jn 1:1 3:10: I John 1:1; I John 3:10
+1Jn 1:1,3:10: I John 1:1; I John 3:10
+1Jn 1:1, 3:10: I John 1:1; I John 3:10
+1Jn 1:1 ,3:10: I John 1:1; I John 3:10
+1Jn 1:1 , 3:10: I John 1:1; I John 3:10
+1Jn 1:1;3:10: I John 1:1; I John 3:10
+1Jn 1:1; 3:10: I John 1:1; I John 3:10
+1Jn 1:1 ;3:10: I John 1:1; I John 3:10
+1Jn 1:1 ; 3:10: I John 1:1; I John 3:10
+Gen: Genesis 1:1-Genesis 50:26
+Genes: Genesis 1:1-Genesis 50:26
+Exod: Exodus 1:1-Exodus 40:38
+Ex: Exodus 1:1-Exodus 40:38
+Exo: Exodus 1:1-Exodus 40:38
+Lev: Leviticus 1:1-Leviticus 27:34
+Le: Leviticus 1:1-Leviticus 27:34
+Levi: Leviticus 1:1-Leviticus 27:34
+Num: Numbers 1:1-Numbers 36:13
+Nu: Numbers 1:1-Numbers 36:13
+Numb: Numbers 1:1-Numbers 36:13
+Deut: Deuteronomy 1:1-Deuteronomy 34:12
+Deu: Deuteronomy 1:1-Deuteronomy 34:12
+De: Deuteronomy 1:1-Deuteronomy 34:12
+Josh: Joshua 1:1-Joshua 24:33
+Jos: Joshua 1:1-Joshua 24:33
+Joshu: Joshua 1:1-Joshua 24:33
+Judg: Judges 1:1-Judges 21:25
+Jdg: Judges 1:1-Judges 21:25
+Judge: Judges 1:1-Judges 21:25
+Ruth: Ruth 1:1-Ruth 4:22
+Ru: Ruth 1:1-Ruth 4:22
+Rut: Ruth 1:1-Ruth 4:22
+1Sam: I Samuel 1:1-I Samuel 31:13
+1Sa: I Samuel 1:1-I Samuel 31:13
+1Samu: I Samuel 1:1-I Samuel 31:13
+2Sam: II Samuel 1:1-II Samuel 24:25
+2Sa: II Samuel 1:1-II Samuel 24:25
+2Samu: II Samuel 1:1-II Samuel 24:25
+1Kgs: I Kings 1:1-I Kings 22:53
+1Ki: I Kings 1:1-I Kings 22:53
+1King: I Kings 1:1-I Kings 22:53
+2Kgs: II Kings 1:1-II Kings 25:30
+2Ki: II Kings 1:1-II Kings 25:30
+2King: II Kings 1:1-II Kings 25:30
+1Chr: I Chronicles 1:1-I Chronicles 29:30
+1Chron: I Chronicles 1:1-I Chronicles 29:30
+1Ch: I Chronicles 1:1-I Chronicles 29:30
+2Chr: II Chronicles 1:1-II Chronicles 36:23
+2Chron: II Chronicles 1:1-II Chronicles 36:23
+2Ch: II Chronicles 1:1-II Chronicles 36:23
+Ezra: Ezra 1:1-Ezra 10:44
+Ezr: Ezra 1:1-Ezra 10:44
+Neh: Nehemiah 1:1-Nehemiah 13:31
+Ne: Nehemiah 1:1-Nehemiah 13:31
+Nehe: Nehemiah 1:1-Nehemiah 13:31
+Esth: Esther 1:1-Esther 10:3
+Es: Esther 1:1-Esther 10:3
+Est: Esther 1:1-Esther 10:3
+Job: Job 1:1-Job 42:17
+Ps: Psalms 1:1-Psalms 150:6
+Psa: Psalms 1:1-Psalms 150:6
+Psalm: Psalms 1:1-Psalms 150:6
+Prov: Proverbs 1:1-Proverbs 31:31
+Pr: Proverbs 1:1-Proverbs 31:31
+Pro: Proverbs 1:1-Proverbs 31:31
+Eccl: Ecclesiastes 1:1-Ecclesiastes 12:14
+Ec: Ecclesiastes 1:1-Ecclesiastes 12:14
+Ecc: Ecclesiastes 1:1-Ecclesiastes 12:14
+Song: Song of Solomon 1:1-Song of Solomon 8:14
+So: Song of Solomon 1:1-Song of Solomon 8:14
+Son: Song of Solomon 1:1-Song of Solomon 8:14
+Isa: Isaiah 1:1-Isaiah 66:24
+Is: Isaiah 1:1-Isaiah 66:24
+Isai: Isaiah 1:1-Isaiah 66:24
+Jer: Jeremiah 1:1-Jeremiah 52:34
+Jere: Jeremiah 1:1-Jeremiah 52:34
+Je: Jeremiah 1:1-Jeremiah 52:34
+Lam: Lamentations 1:1-Lamentations 5:22
+La: Lamentations 1:1-Lamentations 5:22
+Lament: Lamentations 1:1-Lamentations 5:22
+Ezek: Ezekiel 1:1-Ezekiel 48:35
+Ez: Ezekiel 1:1-Ezekiel 48:35
+Eze: Ezekiel 1:1-Ezekiel 48:35
+Dan: Daniel 1:1-Daniel 12:13
+Dan: Daniel 1:1-Daniel 12:13
+Da: Daniel 1:1-Daniel 12:13
+Hos: Hosea 1:1-Hosea 14:9
+Hos: Hosea 1:1-Hosea 14:9
+Hose: Hosea 1:1-Hosea 14:9
+Joel: Joel 1:1-Joel 3:21
+Joe: Joel 1:1-Joel 3:21
+Amos: Amos 1:1-Amos 9:15
+Am: Amos 1:1-Amos 9:15
+Amo: Amos 1:1-Amos 9:15
+Obad: Obadiah 1:1-Obadiah 1:21
+Ob: Obadiah 1:1-Obadiah 1:21
+Oba: Obadiah 1:1-Obadiah 1:21
+Jonah: Jonah 1:1-Jonah 4:11
+Jon: Jonah 1:1-Jonah 4:11
+Jona: Jonah 1:1-Jonah 4:11
+Mic: Micah 1:1-Micah 7:20
+Mi: Micah 1:1-Micah 7:20
+Mica: Micah 1:1-Micah 7:20
+Nah: Nahum 1:1-Nahum 3:19
+Na: Nahum 1:1-Nahum 3:19
+Nahu: Nahum 1:1-Nahum 3:19
+Hab: Habakkuk 1:1-Habakkuk 3:19
+Haba: Habakkuk 1:1-Habakkuk 3:19
+Ha: Habakkuk 1:1-Habakkuk 3:19
+Zeph: Zephaniah 1:1-Zephaniah 3:20
+Zep: Zephaniah 1:1-Zephaniah 3:20
+Hag: Haggai 1:1-Haggai 2:23
+Hagg: Haggai 1:1-Haggai 2:23
+Zech: Zechariah 1:1-Zechariah 14:21
+Ze: Zechariah 1:1-Zechariah 14:21
+Zecha: Zechariah 1:1-Zechariah 14:21
+Mal: Malachi 1:1-Malachi 4:6
+Mala: Malachi 1:1-Malachi 4:6
+Matt: Matthew 1:1-Matthew 28:20
+Mt: Matthew 1:1-Matthew 28:20
+Mat: Matthew 1:1-Matthew 28:20
+Mark: Mark 1:1-Mark 16:20
+Mar: Mark 1:1-Mark 16:20
+Ma: Matthew 1:1-Matthew 28:20
+Luke: Luke 1:1-Luke 24:53
+Lk: Luke 1:1-Luke 24:53
+Luk: Luke 1:1-Luke 24:53
+John: John 1:1-John 21:25
+Joh: John 1:1-John 21:25
+Jn: John 1:1-John 21:25
+Acts: Acts 1:1-Acts 28:31
+Ac: Acts 1:1-Acts 28:31
+A: Acts 1:1-Acts 28:31
+Rom: Romans 1:1-Romans 16:27
+Ro: Romans 1:1-Romans 16:27
+Roma: Romans 1:1-Romans 16:27
+1Cor: I Corinthians 1:1-I Corinthians 16:24
+1Co: I Corinthians 1:1-I Corinthians 16:24
+1Cori: I Corinthians 1:1-I Corinthians 16:24
+2Cor: II Corinthians 1:1-II Corinthians 13:14
+2Co: II Corinthians 1:1-II Corinthians 13:14
+2Cori: II Corinthians 1:1-II Corinthians 13:14
+Gal: Galatians 1:1-Galatians 6:18
+Ga: Galatians 1:1-Galatians 6:18
+Gala: Galatians 1:1-Galatians 6:18
+Eph: Ephesians 1:1-Ephesians 6:24
+Ep: Ephesians 1:1-Ephesians 6:24
+Ephes: Ephesians 1:1-Ephesians 6:24
+Ph: Philippians 1:1-Philippians 4:23
+Phi: Philippians 1:1-Philippians 4:23
+Phil: Philippians 1:1-Philippians 4:23
+Phili: Philippians 1:1-Philippians 4:23
+Philip: Philippians 1:1-Philippians 4:23
+Col: Colossians 1:1-Colossians 4:18
+Co: Colossians 1:1-Colossians 4:18
+Colo: Colossians 1:1-Colossians 4:18
+1Thess: I Thessalonians 1:1-I Thessalonians 5:28
+1Th: I Thessalonians 1:1-I Thessalonians 5:28
+1Thes: I Thessalonians 1:1-I Thessalonians 5:28
+2Thess: II Thessalonians 1:1-II Thessalonians 3:18
+2Th: II Thessalonians 1:1-II Thessalonians 3:18
+2Thes: II Thessalonians 1:1-II Thessalonians 3:18
+1Tim: I Timothy 1:1-I Timothy 6:21
+1Ti: I Timothy 1:1-I Timothy 6:21
+1Timo: I Timothy 1:1-I Timothy 6:21
+2Tim: II Timothy 1:1-II Timothy 4:22
+2Ti: II Timothy 1:1-II Timothy 4:22
+2Timo: II Timothy 1:1-II Timothy 4:22
+Titus: Titus 1:1-Titus 3:15
+Tit: Titus 1:1-Titus 3:15
+Titu: Titus 1:1-Titus 3:15
+Phlm: Philemon 1:1-Philemon 1:25
+Phile: Philemon 1:1-Philemon 1:25
+Heb: Hebrews 1:1-Hebrews 13:25
+Hebrews: Hebrews 1:1-Hebrews 13:25
+Hebr: Hebrews 1:1-Hebrews 13:25
+Jas: James 1:1-James 5:20
+James: James 1:1-James 5:20
+Jam: James 1:1-James 5:20
+1Pet: I Peter 1:1-I Peter 5:14
+1Pe: I Peter 1:1-I Peter 5:14
+1Pete: I Peter 1:1-I Peter 5:14
+2Pet: II Peter 1:1-II Peter 3:18
+2Pe: II Peter 1:1-II Peter 3:18
+2Pete: II Peter 1:1-II Peter 3:18
+1John: I John 1:1-I John 5:21
+1Jn: I John 1:1-I John 5:21
+1J: I John 1:1-I John 5:21
+2John: II John 1:1-II John 1:13
+2Jn: II John 1:1-II John 1:13
+2J: II John 1:1-II John 1:13
+3John: III John 1:1-III John 1:14
+3Jn: III John 1:1-III John 1:14
+3J: III John 1:1-III John 1:14
+Jude: Jude 1:1-Jude 1:25
+Jud: Jude 1:1-Jude 1:25
+Ju: Jude 1:1-Jude 1:25
+Rev: Revelation of John 1:1-Revelation of John 22:21
+Re: Revelation of John 1:1-Revelation of John 22:21
+Reve: Revelation of John 1:1-Revelation of John 22:21
diff --git a/tests/testsuite/verseparsing.sh b/tests/testsuite/verseparsing.sh
index 889889e..a406924 100755
--- a/tests/testsuite/verseparsing.sh
+++ b/tests/testsuite/verseparsing.sh
@@ -1,4 +1,22 @@
#!/bin/sh
+#******************************************************************************
+#
+# $Id: verseparsing.sh 2329 2009-04-23 06:33:28Z benpmorgan $
+#
+# Copyright 1998-2009 CrossWire Bible Society (http://www.crosswire.org)
+# CrossWire Bible Society
+# P. O. Box 2528
+# Tempe, AZ 85280-2528
+#
+# This program is free software; you can redistribute it and/or modify it
+# under the terms of the GNU General Public License as published by the
+# Free Software Foundation version 2.
+#
+# This program is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# General Public License for more details.
+#
../parsekey "1jn.2.3"
../parsekey "1 jn.2.3"
@@ -62,3 +80,24 @@
../parsekey "1Jn 1:1; 3:10"
../parsekey "1Jn 1:1 ;3:10"
../parsekey "1Jn 1:1 ; 3:10"
+
+en_abbrevs="
+Gen Genes Exod Ex Exo Lev Le Levi Num Nu Numb Deut Deu De Josh Jos Joshu
+Judg Jdg Judge Ruth Ru Rut 1Sam 1Sa 1Samu 2Sam 2Sa 2Samu 1Kgs 1Ki 1King
+2Kgs 2Ki 2King 1Chr 1Chron 1Ch 2Chr 2Chron 2Ch Ezra Ezr Neh Ne Nehe
+Esth Es Est Job Ps Psa Psalm Prov Pr Pro Eccl Ec Ecc Song So Son
+Isa Is Isai Jer Jere Je Lam La Lament Ezek Ez Eze Dan Dan Da Hos Hos
+Hose Joel Joe Amos Am Amo Obad Ob Oba Jonah Jon Jona Mic Mi Mica Nah Na
+Nahu Hab Haba Ha Zeph Zep Hag Hagg Zech Ze Zecha Mal Mala
+Matt Mt Mat Mark Mar Ma Luke Lk Luk John Joh Jn Acts Ac A Rom Ro Roma
+1Cor 1Co 1Cori 2Cor 2Co 2Cori Gal Ga Gala Eph Ep Ephes Ph Phi Phil Phili Philip
+Col Co Colo 1Thess 1Th 1Thes 2Thess 2Th 2Thes 1Tim 1Ti 1Timo
+2Tim 2Ti 2Timo Titus Tit Titu Phlm Phile Heb Hebrews Hebr
+Jas James Jam 1Pet 1Pe 1Pete 2Pet 2Pe 2Pete 1John 1Jn 1J
+2John 2Jn 2J 3John 3Jn 3J Jude Jud Ju Rev Re Reve
+"
+for i in $en_abbrevs
+do
+ ../parsekey $i
+done
+
diff --git a/tests/testsuite/xmltag.sh b/tests/testsuite/xmltag.sh
index 958681c..f223b68 100755
--- a/tests/testsuite/xmltag.sh
+++ b/tests/testsuite/xmltag.sh
@@ -1,4 +1,22 @@
#!/bin/sh
+#******************************************************************************
+#
+# $Id: swmgr.h 2321 2009-04-13 01:17:00Z scribe $
+#
+# Copyright 1998-2009 CrossWire Bible Society (http://www.crosswire.org)
+# CrossWire Bible Society
+# P. O. Box 2528
+# Tempe, AZ 85280-2528
+#
+# This program is free software; you can redistribute it and/or modify it
+# under the terms of the GNU General Public License as published by the
+# Free Software Foundation version 2.
+#
+# This program is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# General Public License for more details.
+#
# Just let it run the default
../xmltest
diff --git a/tests/tlitmgrtest.cpp b/tests/tlitmgrtest.cpp
index 891c234..4278f22 100644
--- a/tests/tlitmgrtest.cpp
+++ b/tests/tlitmgrtest.cpp
@@ -1,4 +1,21 @@
/*
+ * Copyright 2009 CrossWire Bible Society (http://www.crosswire.org)
+ * CrossWire Bible Society
+ * P. O. Box 2528
+ * Tempe, AZ 85280-2528
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation version 2.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ */
+
+/*
* void Transliterator::initializeRegistry(void) {
// Lock first, check registry pointer second
Mutex lock(&registryMutex);
diff --git a/tests/tmp/.cvsignore b/tests/tmp/.cvsignore
deleted file mode 100644
index a5a5838..0000000
--- a/tests/tmp/.cvsignore
+++ /dev/null
@@ -1,2 +0,0 @@
-lextest.dat
-lextest.idx \ No newline at end of file
diff --git a/tests/translittest.cpp b/tests/translittest.cpp
index 5775d4a..90596c7 100644
--- a/tests/translittest.cpp
+++ b/tests/translittest.cpp
@@ -1,3 +1,20 @@
+/*
+ * Copyright 2009 CrossWire Bible Society (http://www.crosswire.org)
+ * CrossWire Bible Society
+ * P. O. Box 2528
+ * Tempe, AZ 85280-2528
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation version 2.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ */
+
#include <iostream>
#include <string>
diff --git a/tests/versekeytest.cpp b/tests/versekeytest.cpp
index ec2168a..90248be 100644
--- a/tests/versekeytest.cpp
+++ b/tests/versekeytest.cpp
@@ -1,3 +1,20 @@
+/*
+ * Copyright 2009 CrossWire Bible Society (http://www.crosswire.org)
+ * CrossWire Bible Society
+ * P. O. Box 2528
+ * Tempe, AZ 85280-2528
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation version 2.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ */
+
#include <iostream>
#include <stdio.h>
#include <stdlib.h>
@@ -5,14 +22,38 @@
#include <versekey.h>
#include <listkey.h>
#include <localemgr.h>
+#include <swmgr.h>
+#include <swmodule.h>
#ifndef NO_SWORD_NAMESPACE
using namespace sword;
#endif
+using std::cout;
+using std::endl;
+
int main(int argc, char **argv) {
- VerseKey parser;
+/*
+VerseKey currentVerse;
+currentVerse.AutoNormalize(0);
+currentVerse.Headings(1);
+currentVerse.Persist(1);
+currentVerse = "jn2";
+cout << currentVerse << endl;
+
+ SWMgr mgr;
+ SWModule *mod = mgr.getModule("KJVgb");
+*/
+ VerseKey *parser = new VerseKey(); //(VerseKey *)mod->CreateKey();
+
+ ListKey scope = parser->ParseVerseList("amos 2:2", *parser, true);
+
+ cout << ((scope++ == scope) ? "single" : "multiple") << "\n";
+
+ scope = parser->ParseVerseList("amos", *parser, true);
+
+ cout << ((scope++ == scope) ? "single" : "multiple") << "\n";
- ListKey scope = parser.ParseVerseList("amos", parser, true);
+ scope = parser->ParseVerseList("amos", *parser, true);
ListKey result;
@@ -21,12 +62,13 @@ int main(int argc, char **argv) {
scope++;
scope++;
- VerseKey x = scope;
- x.clearBound();
+ VerseKey *x = new VerseKey(); //(VerseKey *)mod->CreateKey();
+ *x = scope;
+ x->clearBound();
- std::cout << "x: " << x.getText() << "\n";
+ std::cout << "x: " << x->getText() << "\n";
- result << x;
+ result << *x;
std::cout << result.getText() << "\n";
@@ -35,24 +77,148 @@ int main(int argc, char **argv) {
std::cout << result.getText() << "\n";
const char *bounds = "lk,acts";
- scope = parser.ParseVerseList(bounds, parser, true);
+ scope = parser->ParseVerseList(bounds, *parser, true);
VerseKey boundTest("lk", "acts");
boundTest.setText("Is.1.13");
- std::cout << "Error: " << (int)boundTest.Error() << "\n";
+ std::cout << "Error: " << (int)boundTest.Error() << ": " << boundTest << "\n";
boundTest.setText("1Sam.21.1");
- std::cout << "Error: " << (int)boundTest.Error() << "\n";
+ std::cout << "Error: " << (int)boundTest.Error() << ": " << boundTest << "\n";
+ boundTest.setText("acts.5.1");
+ std::cout << "Error: " << (int)boundTest.Error() << ": " << boundTest << "\n";
+ boundTest.setText("rom.5.1");
+ std::cout << "Error: " << (int)boundTest.Error() << ": " << boundTest << "\n";
- x = "Is.1.13";
- scope = x;
+ *x = "Is.1.13";
+ scope = *x;
// if (scope == x) std::cout << "Error restricting bounds: " << x.getText() << " is in " << bounds << "\n";
- if (!scope.Error()) std::cout << "Error restricting bounds: " << x.getText() << " is in " << bounds << "\n";
+ if (!scope.Error()) std::cout << "Error restricting bounds: " << x->getText() << " is in " << bounds << "\n";
+
+ *x = "1Sam.21.1";
+ scope = *x;
+ if (!scope.Error()) std::cout << "Error restricting bounds: " << x->getText() << " is in " << bounds << "\n";
+
+/*
+ VerseKey *y = (VerseKey *)mod->CreateKey();
+ (*y) = "lev 1.1";
+ cout << (*y) << "\n";
+ (*y)++;
+ cout << (*y) << "\n";
+ (*y)--;
+ cout << (*y) << "\n";
+ (*y)--;
+ cout << (*y) << "\n";
+
+ mod->setKey("Ruth 1.1");
+ cout << mod->getKeyText() << "\n";
+ (*mod)++;
+ cout << mod->getKeyText() << "\n";
+ (*mod)--;
+ cout << mod->getKeyText() << "\n";
+*/
+ VerseKey vk;
+
+ cout << "\nNormalization on; headings on ====\n\n";
+
+ vk.AutoNormalize(1);
+ vk.Headings(1);
+
+ vk = "jn3.50";
+/* TODO: these report 1 number off from what I think they should report
+ cout << "jn.3.50: " << vk << "\n";
+ vk++;
+ cout << "++: " << vk << "\n";
+ vk--;
+ cout << "--: " << vk << "\n";
+*/
+ vk = MAXVERSE;
+ cout << "MAXVERSE: " << vk << "\n";
+ vk = MAXCHAPTER;
+ cout << "MAXCHAPTER: " << vk << "\n";
+ vk = TOP;
+ cout << "TOP: " << vk << "\n";
+ vk = BOTTOM;
+ cout << "BOTTOM: " << vk << "\n";
+
+ cout << "\nNormalization off; headings on ====\n\n";
+
+ vk.AutoNormalize(0);
+ vk.Headings(1);
+
+ vk = "jn3.50";
+ cout << "jn.3.50: " << vk << "\n";
+/* TODO: These probably are undefined and likely to be ok
+ vk++;
+ cout << "++: " << vk << "\n";
+ vk--;
+ cout << "--: " << vk << "\n";
+ vk = MAXVERSE;
+ cout << "MAXVERSE: " << vk << "\n";
+*/
+ vk = MAXCHAPTER;
+ cout << "MAXCHAPTER: " << vk << "\n";
+ vk = TOP;
+ cout << "TOP: " << vk << "\n";
+ vk = BOTTOM;
+ cout << "BOTTOM: " << vk << "\n";
+
+ cout << "\nNormalization on; headings off ====\n\n";
+
+ vk.AutoNormalize(1);
+ vk.Headings(0);
+
+ vk = "jn3.50";
+ cout << "jn.3.50: " << vk << "\n";
+ vk++;
+ cout << "++: " << vk << "\n";
+ vk--;
+ cout << "--: " << vk << "\n";
+ vk = MAXVERSE;
+ cout << "MAXVERSE: " << vk << "\n";
+ vk = MAXCHAPTER;
+ cout << "MAXCHAPTER: " << vk << "\n";
+ vk = TOP;
+ cout << "TOP: " << vk << "\n";
+ vk = BOTTOM;
+ cout << "BOTTOM: " << vk << "\n";
+
+ cout << "\nNormalization off; headings off ====\n\n";
+
+ vk.AutoNormalize(0);
+ vk.Headings(0);
+
+ vk = "jn3.50";
+ cout << "jn.3.50: " << vk << "\n";
+/* TODO: These probably are undefined and likely to be ok
+ vk++;
+ cout << "++: " << vk << "\n";
+ vk--;
+ cout << "--: " << vk << "\n";
+ vk = MAXVERSE;
+ cout << "MAXVERSE: " << vk << "\n";
+*/
+ vk = MAXCHAPTER;
+ cout << "MAXCHAPTER: " << vk << "\n";
+ vk = TOP;
+ cout << "TOP: " << vk << "\n";
+ vk = BOTTOM;
+ cout << "BOTTOM: " << vk << "\n";
+
+ VerseKey yo = "jn.3.16";
+ VerseKey yo2 = yo++;
+ cout << yo2 << ": " << (int)yo2.Error() << endl;
+
+ VerseKey vkey;
+ VerseKey tmpkey = "1sam 1:1";
+ vkey.AutoNormalize(1); // line 147
+ vkey = tmpkey;
+ int chapter = (vkey.Chapter()-1);
+ vkey.Chapter(chapter);
+
+ cout << tmpkey << ": Chapter() - 1: " << vkey << endl;
- x = "1Sam.21.1";
- scope = x;
- if (!scope.Error()) std::cout << "Error restricting bounds: " << x.getText() << " is in " << bounds << "\n";
return 0;
}
diff --git a/tests/versemgrtest.cpp b/tests/versemgrtest.cpp
new file mode 100644
index 0000000..8d5ec98
--- /dev/null
+++ b/tests/versemgrtest.cpp
@@ -0,0 +1,59 @@
+/*
+ * Copyright 2009 CrossWire Bible Society (http://www.crosswire.org)
+ * CrossWire Bible Society
+ * P. O. Box 2528
+ * Tempe, AZ 85280-2528
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation version 2.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ */
+
+#include <iostream>
+#include <stdio.h>
+#include <stdlib.h>
+
+#include <versemgr.h>
+#ifndef NO_SWORD_NAMESPACE
+using namespace sword;
+#endif
+
+using std::cout;
+using std::endl;
+
+int main(int argc, char **argv) {
+
+ const char *v11n = (argc > 1) ? argv[1] : "KJV";
+
+ VerseMgr *vmgr = VerseMgr::getSystemVerseMgr();
+ const VerseMgr::System *system = vmgr->getVersificationSystem(v11n);
+ int bookCount = system->getBookCount();
+ const VerseMgr::Book *lastBook = system->getBook(bookCount-1);
+ int chapMax = lastBook->getChapterMax();
+ int verseMax = lastBook->getVerseMax(chapMax);
+ long offsetMax = system->getOffsetFromVerse(bookCount-1, chapMax, verseMax);
+
+ cout << "Versification System: " << v11n << "\n";
+ cout << "Book Count: " << bookCount << "\n";
+ cout << "Last Book: " << lastBook->getLongName() << " (" << lastBook->getOSISName() << ")\n";
+ cout << " Chapter Max: " << chapMax << "\n";
+ cout << " Verse Max: " << verseMax << "\n";
+ cout << " Offset: " << offsetMax << "\n\n";
+ cout << "Offset, Book, Chapter, Verse\n";
+
+ int book, chapter, verse;
+ for (long offset = 0; offset <= offsetMax; offset++) {
+ system->getVerseFromOffset(offset, &book, &chapter, &verse);
+ cout << offset << ": " << book << ", " << chapter << ", " << verse << "\n";
+ }
+
+ cout << endl;
+
+ return 0;
+}
diff --git a/tests/vtreekeytest.cpp b/tests/vtreekeytest.cpp
new file mode 100644
index 0000000..50418f9
--- /dev/null
+++ b/tests/vtreekeytest.cpp
@@ -0,0 +1,91 @@
+/*
+ * Copyright 2009 CrossWire Bible Society (http://www.crosswire.org)
+ * CrossWire Bible Society
+ * P. O. Box 2528
+ * Tempe, AZ 85280-2528
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation version 2.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ */
+
+#include <iostream>
+#include <stdio.h>
+#include <stdlib.h>
+
+#include <versekey.h>
+#include <listkey.h>
+#include <localemgr.h>
+#include <swmgr.h>
+#include <swmodule.h>
+#ifndef NO_SWORD_NAMESPACE
+using namespace sword;
+#endif
+
+using std::cout;
+using std::endl;
+
+int main(int argc, char **argv) {
+
+ SWMgr mgr;
+ SWModule *mod = mgr.getModule("KJVgb");
+
+ VerseKey *key1 = (VerseKey *)mod->CreateKey();
+
+ key1->Testament(2);
+ key1->Book(4);
+ key1->Chapter(2);
+ key1->Verse(3);
+
+ cout << "\n" << key1->getText() << ":\n\n";
+
+ ListKey keys;
+ keys << *key1;
+
+ cout << "\n" << keys.getRangeText() << ":\n\n";
+
+ ListKey keys2 = keys;
+
+ cout << "\n" << keys2.getRangeText() << ":\n\n";
+
+ keys = key1->ParseVerseList("Lk.4.5");
+
+ cout << "\n" << key1->getText() << ":\n\n";
+
+ key1->setText("jn.6.7");
+
+ cout << "\n" << key1->getText() << ":\n\n";
+
+
+ mod->setKey("lk.2.3");
+
+ cout << "\n" << mod->getKeyText() << ":\n" << endl;
+ cout << mod->getRawEntry() << endl;
+
+
+ cout << "\nListkey persist key iteration test\n\n";
+ keys = key1->ParseVerseList("mat1", 0, true);
+
+ for (keys = TOP; !keys.Error(); keys++) {
+ cout << "\n" << keys.getText() << ":\n" << endl;
+ }
+
+
+ keys.Persist(1);
+
+ mod->setKey(keys);
+
+ for ((*mod) = TOP; !mod->Error(); (*mod)++) {
+ cout << "\n" << mod->getKeyText() << ":\n" << endl;
+ }
+
+ delete key1;
+
+ return 0;
+}
diff --git a/tests/webiftest.cpp b/tests/webiftest.cpp
index 5aa8d54..7b3bc4e 100644
--- a/tests/webiftest.cpp
+++ b/tests/webiftest.cpp
@@ -1,3 +1,20 @@
+/*
+ * Copyright 2009 CrossWire Bible Society (http://www.crosswire.org)
+ * CrossWire Bible Society
+ * P. O. Box 2528
+ * Tempe, AZ 85280-2528
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation version 2.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ */
+
#ifndef __GNUC__
#include <io.h>
#else
diff --git a/tests/xmltest.cpp b/tests/xmltest.cpp
index c8e1830..d8e8eda 100644
--- a/tests/xmltest.cpp
+++ b/tests/xmltest.cpp
@@ -1,3 +1,20 @@
+/*
+ * Copyright 2009 CrossWire Bible Society (http://www.crosswire.org)
+ * CrossWire Bible Society
+ * P. O. Box 2528
+ * Tempe, AZ 85280-2528
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation version 2.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ */
+
#include <utilxml.h>
#include <iostream>
diff --git a/usrinst.sh b/usrinst.sh
index 7ba12ea..db4dbba 100755
--- a/usrinst.sh
+++ b/usrinst.sh
@@ -1,21 +1,47 @@
#!/bin/sh
+#******************************************************************************
+# Convenience script specifying most common options to ./configure
+#
+# $Id: usrinst.sh 2362 2009-04-29 07:21:35Z scribe $
+#
+# Copyright 1998-2009 CrossWire Bible Society (http://www.crosswire.org)
+# CrossWire Bible Society
+# P. O. Box 2528
+# Tempe, AZ 85280-2528
+#
+# This program is free software; you can redistribute it and/or modify it
+# under the terms of the GNU General Public License as published by the
+# Free Software Foundation version 2.
+#
+# This program is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# General Public License for more details.
+#
+#
OPTIONS="--prefix=/usr $OPTIONS"
-OPTIONS="--disable-shared $OPTIONS"
-OPTIONS="--without-conf $OPTIONS"
+OPTIONS="--libdir=/usr/lib64 $OPTIONS"
OPTIONS="--sysconfdir=/etc $OPTIONS"
-#OPTIONS="--with-vcl $OPTIONS"
-#OPTIONS="--enable-debug $OPTIONS"
+OPTIONS="--without-conf $OPTIONS"
+OPTIONS="--disable-shared $OPTIONS"
+OPTIONS="--enable-debug $OPTIONS"
#OPTIONS="--enable-profile $OPTIONS"
+
OPTIONS="--with-icu $OPTIONS"
#OPTIONS="--without-clucene $OPTIONS"
#OPTIONS="--without-curl $OPTIONS"
+
OPTIONS="--enable-tests $OPTIONS"
#OPTIONS="--disable-utilities $OPTIONS"
-#OPTIONS="--libdir=/usr/lib64 $OPTIONS"
-CPPFLAGS="$CFLAGS $CPPFLAGS -DUSBINARY" ./configure $OPTIONS $*
+# Use these for Windows DLL build
+#LIBS="-no-undefined"
+#OPTIONS="lt_cv_deplibs_check_method=pass_all $OPTIONS"
+
+LIBS="$LIBS" CPPFLAGS="$CFLAGS $CPPFLAGS -DUSBINARY" ./configure $OPTIONS $*
+
echo ""
echo ""
diff --git a/utilities/.cvsignore b/utilities/.cvsignore
deleted file mode 100644
index 941045f..0000000
--- a/utilities/.cvsignore
+++ /dev/null
@@ -1,31 +0,0 @@
-.deps
-.libs
-Makefile
-Makefile.in
-addgb
-addld
-addvs
-cipherraw
-ciphertest
-ciphertest2
-emptyvss
-gbfidx
-imp2gbs
-imp2ld
-imp2vs
-installmgr
-lexdump
-mkfastmod
-mod2imp
-mod2osis
-mod2vpl
-mod2zmod
-modwrite
-osis2mod
-step2vpl
-stepdump
-thml2gbs
-txt2sword
-vpl2mod
-vs2osisref
-xml2gbs
diff --git a/utilities/Makefile.am b/utilities/Makefile.am
index c453f80..ee817ea 100644
--- a/utilities/Makefile.am
+++ b/utilities/Makefile.am
@@ -6,7 +6,7 @@ noinst_PROGRAMS = cipherraw lexdump \
stepdump step2vpl gbfidx modwrite addvs emptyvss \
addgb genbookutil treeidxutil
-bin_PROGRAMS = mod2imp mod2osis osis2mod tei2mod vs2osisref mod2vpl \
+bin_PROGRAMS = mod2imp mod2osis osis2mod tei2mod vs2osisref vs2osisreftxt mod2vpl \
mkfastmod vpl2mod imp2vs installmgr xml2gbs imp2gbs
#if INSTALLMGR
@@ -58,6 +58,7 @@ xml2gbs_SOURCES = xml2gbs.cpp
osis2mod_SOURCES = osis2mod.cpp
tei2mod_SOURCES = tei2mod.cpp
vs2osisref_SOURCES = vs2osisref.cpp
+vs2osisreftxt_SOURCES = vs2osisreftxt.cpp
genbookutil_SOURCES = genbookutil.cpp
treeidxutil_SOURCES = treeidxutil.cpp
diff --git a/utilities/Makefile.in b/utilities/Makefile.in
index d27987e..9f7ac82 100644
--- a/utilities/Makefile.in
+++ b/utilities/Makefile.in
@@ -1,8 +1,8 @@
-# Makefile.in generated by automake 1.10 from Makefile.am.
+# Makefile.in generated by automake 1.10.2 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -38,17 +38,20 @@ noinst_PROGRAMS = cipherraw$(EXEEXT) lexdump$(EXEEXT) \
modwrite$(EXEEXT) addvs$(EXEEXT) emptyvss$(EXEEXT) \
addgb$(EXEEXT) genbookutil$(EXEEXT) treeidxutil$(EXEEXT)
bin_PROGRAMS = mod2imp$(EXEEXT) mod2osis$(EXEEXT) osis2mod$(EXEEXT) \
- tei2mod$(EXEEXT) vs2osisref$(EXEEXT) mod2vpl$(EXEEXT) \
- mkfastmod$(EXEEXT) vpl2mod$(EXEEXT) imp2vs$(EXEEXT) \
- installmgr$(EXEEXT) xml2gbs$(EXEEXT) imp2gbs$(EXEEXT) \
- $(am__EXEEXT_1)
+ tei2mod$(EXEEXT) vs2osisref$(EXEEXT) vs2osisreftxt$(EXEEXT) \
+ mod2vpl$(EXEEXT) mkfastmod$(EXEEXT) vpl2mod$(EXEEXT) \
+ imp2vs$(EXEEXT) installmgr$(EXEEXT) xml2gbs$(EXEEXT) \
+ imp2gbs$(EXEEXT) $(am__EXEEXT_1)
DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
$(srcdir)/bcppmake/Makefile.am $(srcdir)/kylixmake/Makefile.am \
$(srcdir)/perl/Makefile.am
subdir = utilities
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/m4/acx_clucene.m4 \
- $(top_srcdir)/m4/cppunit.m4 $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/cppunit.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(install_sh) -d
@@ -161,11 +164,15 @@ am_vs2osisref_OBJECTS = vs2osisref.$(OBJEXT)
vs2osisref_OBJECTS = $(am_vs2osisref_OBJECTS)
vs2osisref_LDADD = $(LDADD)
vs2osisref_DEPENDENCIES = $(top_builddir)/lib/libsword.la
+am_vs2osisreftxt_OBJECTS = vs2osisreftxt.$(OBJEXT)
+vs2osisreftxt_OBJECTS = $(am_vs2osisreftxt_OBJECTS)
+vs2osisreftxt_LDADD = $(LDADD)
+vs2osisreftxt_DEPENDENCIES = $(top_builddir)/lib/libsword.la
am_xml2gbs_OBJECTS = xml2gbs.$(OBJEXT)
xml2gbs_OBJECTS = $(am_xml2gbs_OBJECTS)
xml2gbs_LDADD = $(LDADD)
xml2gbs_DEPENDENCIES = $(top_builddir)/lib/libsword.la
-DEFAULT_INCLUDES = -I. -I$(top_builddir)/include@am__isrc@
+DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/include
depcomp = $(SHELL) $(top_srcdir)/depcomp
am__depfiles_maybe = depfiles
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
@@ -194,7 +201,8 @@ SOURCES = $(addgb_SOURCES) $(addld_SOURCES) $(addvs_SOURCES) \
$(mod2vpl_SOURCES) $(mod2zmod_SOURCES) $(modwrite_SOURCES) \
$(osis2mod_SOURCES) $(step2vpl_SOURCES) $(stepdump_SOURCES) \
$(tei2mod_SOURCES) $(treeidxutil_SOURCES) $(vpl2mod_SOURCES) \
- $(vs2osisref_SOURCES) $(xml2gbs_SOURCES)
+ $(vs2osisref_SOURCES) $(vs2osisreftxt_SOURCES) \
+ $(xml2gbs_SOURCES)
DIST_SOURCES = $(addgb_SOURCES) $(am__addld_SOURCES_DIST) \
$(addvs_SOURCES) $(cipherraw_SOURCES) $(emptyvss_SOURCES) \
$(gbfidx_SOURCES) $(genbookutil_SOURCES) $(imp2gbs_SOURCES) \
@@ -204,7 +212,8 @@ DIST_SOURCES = $(addgb_SOURCES) $(am__addld_SOURCES_DIST) \
$(am__mod2zmod_SOURCES_DIST) $(modwrite_SOURCES) \
$(osis2mod_SOURCES) $(step2vpl_SOURCES) $(stepdump_SOURCES) \
$(tei2mod_SOURCES) $(treeidxutil_SOURCES) $(vpl2mod_SOURCES) \
- $(vs2osisref_SOURCES) $(xml2gbs_SOURCES)
+ $(vs2osisref_SOURCES) $(vs2osisreftxt_SOURCES) \
+ $(xml2gbs_SOURCES)
RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
html-recursive info-recursive install-data-recursive \
install-dvi-recursive install-exec-recursive \
@@ -248,14 +257,14 @@ CYGPATH_W = @CYGPATH_W@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
DLLTOOL = @DLLTOOL@
-ECHO = @ECHO@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
-F77 = @F77@
-FFLAGS = @FFLAGS@
+FGREP = @FGREP@
GENCCODE = @GENCCODE@
GENCMN = @GENCMN@
GENRB = @GENRB@
@@ -269,17 +278,23 @@ INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LD = @LD@
LDFLAGS = @LDFLAGS@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
+LIPO = @LIPO@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MKDIR_P = @MKDIR_P@
+NM = @NM@
+NMEDIT = @NMEDIT@
OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
@@ -302,7 +317,7 @@ abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
-ac_ct_F77 = @ac_ct_F77@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
@@ -336,6 +351,7 @@ libdir = @libdir@
libexecdir = @libexecdir@
localedir = @localedir@
localstatedir = @localstatedir@
+lt_ECHO = @lt_ECHO@
mandir = @mandir@
mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@
@@ -354,6 +370,7 @@ target_mingw32 = @target_mingw32@
target_os = @target_os@
target_system = @target_system@
target_vendor = @target_vendor@
+top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
with_conf = @with_conf@
@@ -399,6 +416,7 @@ xml2gbs_SOURCES = xml2gbs.cpp
osis2mod_SOURCES = osis2mod.cpp
tei2mod_SOURCES = tei2mod.cpp
vs2osisref_SOURCES = vs2osisref.cpp
+vs2osisreftxt_SOURCES = vs2osisreftxt.cpp
genbookutil_SOURCES = genbookutil.cpp
treeidxutil_SOURCES = treeidxutil.cpp
installmgr_SOURCES = installmgr.cpp
@@ -440,8 +458,8 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(srcdir)/bc
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
- && exit 0; \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
exit 1;; \
esac; \
done; \
@@ -474,8 +492,8 @@ install-binPROGRAMS: $(bin_PROGRAMS)
|| test -f $$p1 \
; then \
f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \
- echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(binPROGRAMS_INSTALL) '$$p' '$(DESTDIR)$(bindir)/$$f'"; \
- $(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(binPROGRAMS_INSTALL) "$$p" "$(DESTDIR)$(bindir)/$$f" || exit 1; \
+ echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(binPROGRAMS_INSTALL) '$$p' '$(DESTDIR)$(bindir)/$$f'"; \
+ $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(binPROGRAMS_INSTALL) "$$p" "$(DESTDIR)$(bindir)/$$f" || exit 1; \
else :; fi; \
done
@@ -575,6 +593,9 @@ vpl2mod$(EXEEXT): $(vpl2mod_OBJECTS) $(vpl2mod_DEPENDENCIES)
vs2osisref$(EXEEXT): $(vs2osisref_OBJECTS) $(vs2osisref_DEPENDENCIES)
@rm -f vs2osisref$(EXEEXT)
$(CXXLINK) $(vs2osisref_OBJECTS) $(vs2osisref_LDADD) $(LIBS)
+vs2osisreftxt$(EXEEXT): $(vs2osisreftxt_OBJECTS) $(vs2osisreftxt_DEPENDENCIES)
+ @rm -f vs2osisreftxt$(EXEEXT)
+ $(CXXLINK) $(vs2osisreftxt_OBJECTS) $(vs2osisreftxt_LDADD) $(LIBS)
xml2gbs$(EXEEXT): $(xml2gbs_OBJECTS) $(xml2gbs_DEPENDENCIES)
@rm -f xml2gbs$(EXEEXT)
$(CXXLINK) $(xml2gbs_OBJECTS) $(xml2gbs_LDADD) $(LIBS)
@@ -610,6 +631,7 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/treeidxutil.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/vpl2mod.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/vs2osisref.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/vs2osisreftxt.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xml2gbs.Po@am__quote@
.c.o:
@@ -735,8 +757,8 @@ ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
mkid -fID $$unique
tags: TAGS
@@ -761,8 +783,8 @@ TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
test -n "$$unique" || unique=$$empty_fix; \
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
@@ -772,13 +794,12 @@ ctags: CTAGS
CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
tags=; \
- here=`pwd`; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
test -z "$(CTAGS_ARGS)$$tags$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
$$tags $$unique
diff --git a/utilities/addcomment.cpp b/utilities/addcomment.cpp
index 4872dbf..b764774 100644
--- a/utilities/addcomment.cpp
+++ b/utilities/addcomment.cpp
@@ -1,3 +1,20 @@
+/*
+ * Copyright 2009 CrossWire Bible Society (http://www.crosswire.org)
+ * CrossWire Bible Society
+ * P. O. Box 2528
+ * Tempe, AZ 85280-2528
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation version 2.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ */
+
#include <stdio.h>
#include <iostream>
#include <versekey.h>
diff --git a/utilities/addgb.cpp b/utilities/addgb.cpp
index c14a0e7..50be73a 100644
--- a/utilities/addgb.cpp
+++ b/utilities/addgb.cpp
@@ -1,3 +1,19 @@
+/*
+ * Copyright 2009 CrossWire Bible Society (http://www.crosswire.org)
+ * CrossWire Bible Society
+ * P. O. Box 2528
+ * Tempe, AZ 85280-2528
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation version 2.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ */
#include <ctype.h>
#include <stdio.h>
#include <fcntl.h>
diff --git a/utilities/addld.cpp b/utilities/addld.cpp
index 5b7429e..85ab1ec 100644
--- a/utilities/addld.cpp
+++ b/utilities/addld.cpp
@@ -1,3 +1,20 @@
+/*
+ * Copyright 2009 CrossWire Bible Society (http://www.crosswire.org)
+ * CrossWire Bible Society
+ * P. O. Box 2528
+ * Tempe, AZ 85280-2528
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation version 2.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ */
+
#include <ctype.h>
#include <stdio.h>
#include <fcntl.h>
diff --git a/utilities/addvs.cpp b/utilities/addvs.cpp
index 3d73344..499ee54 100644
--- a/utilities/addvs.cpp
+++ b/utilities/addvs.cpp
@@ -1,3 +1,20 @@
+/*
+ * Copyright 2009 CrossWire Bible Society (http://www.crosswire.org)
+ * CrossWire Bible Society
+ * P. O. Box 2528
+ * Tempe, AZ 85280-2528
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation version 2.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ */
+
#include <ctype.h>
#include <stdio.h>
#include <fcntl.h>
diff --git a/utilities/bcppmake/addgb.bpf b/utilities/bcppmake/addgb.bpf
new file mode 100644
index 0000000..ef1bf22
--- /dev/null
+++ b/utilities/bcppmake/addgb.bpf
@@ -0,0 +1,11 @@
+USEUNIT("..\addgb.cpp");
+USELIB("..\..\..\icu-sword\as_is\borland\icuin.lib");
+USELIB("..\..\..\icu-sword\as_is\borland\icudatab.lib");
+USELIB("..\..\..\icu-sword\as_is\borland\icuuc.lib");
+USELIB("..\..\lib\libsword.lib");
+USELIB("..\..\..\biblecs\clucene\clucene.lib");
+//---------------------------------------------------------------------------
+This file is used by the project manager only and should be treated like the project file
+
+
+main \ No newline at end of file
diff --git a/utilities/bcppmake/addgb.bpr b/utilities/bcppmake/addgb.bpr
new file mode 100644
index 0000000..058e82c
--- /dev/null
+++ b/utilities/bcppmake/addgb.bpr
@@ -0,0 +1,126 @@
+<?xml version='1.0' encoding='utf-8' ?>
+<!-- C++Builder XML Project -->
+<PROJECT>
+ <MACROS>
+ <VERSION value="BCB.05.03"/>
+ <PROJECT value="addgb.exe"/>
+ <OBJFILES value="..\addgb.obj"/>
+ <RESFILES value=""/>
+ <IDLFILES value=""/>
+ <IDLGENFILES value=""/>
+ <DEFFILE value=""/>
+ <RESDEPEN value="$(RESFILES)"/>
+ <LIBFILES value="..\..\..\icu-sword\as_is\borland\icuin.lib
+ ..\..\..\icu-sword\as_is\borland\icudatab.lib
+ ..\..\..\icu-sword\as_is\borland\icuuc.lib ..\..\lib\libsword.lib
+ ..\..\..\biblecs\clucene\clucene.lib"/>
+ <LIBRARIES value=""/>
+ <SPARELIBS value=""/>
+ <PACKAGES value="VCL50.bpi VCLX50.bpi bcbsmp50.bpi QRPT50.bpi VCLDB50.bpi VCLBDE50.bpi
+ ibsmp50.bpi VCLDBX50.bpi TEEUI50.bpi TEEDB50.bpi TEE50.bpi TEEQR50.bpi
+ VCLIB50.bpi bcbie50.bpi VCLIE50.bpi INETDB50.bpi INET50.bpi NMFAST50.bpi
+ dclocx50.bpi bcb2kaxserver50.bpi"/>
+ <PATHCPP value=".;.."/>
+ <PATHPAS value=".;"/>
+ <PATHRC value=".;"/>
+ <PATHASM value=".;"/>
+ <DEBUGLIBPATH value="$(BCB)\lib\debug"/>
+ <RELEASELIBPATH value="$(BCB)\lib\release"/>
+ <LINKER value="tlink32"/>
+ <USERDEFINES value="_ICU_;_ICUSWORD_;USBINARY;U_HAVE_PLACEMENT_NEW=0;USELUCENE;_CL_DISABLE_MULTITHREADING"/>
+ <SYSDEFINES value="NO_STRICT;_NO_VCL"/>
+ <MAINSOURCE value="addgb.bpf"/>
+ <INCLUDEPATH value="..\;..;..\..\include;$(BCB)\include;$(BCB)\include\vcl;..\..\..\icu-sword\source\common;..\..\..\icu-sword\source\i18n"/>
+ <LIBPATH value="..\;..;..\..\lib;$(BCB)\lib\obj;$(BCB)\lib"/>
+ <WARNINGS value="-w-par"/>
+ </MACROS>
+ <OPTIONS>
+ <IDLCFLAGS value="-I..\. -I.. -I..\..\include -I$(BCB)\include -I$(BCB)\include\vcl
+ -I..\..\..\icu-sword\source\common -I..\..\..\icu-sword\source\i18n
+ -src_suffix cpp -D_ICU_ -D_ICUSWORD_ -DUSBINARY -DU_HAVE_PLACEMENT_NEW=0
+ -DUSELUCENE -D_CL_DISABLE_MULTITHREADING -boa"/>
+ <CFLAG1 value="-O2 -H=$(BCB)\lib\vcl50.csm -Hc -Vx -Ve -X- -a8 -6 -b- -k- -vi -tWC -tWM -c"/>
+ <PFLAGS value="-$Y- -$L- -$D- -v -JPHNE -M"/>
+ <RFLAGS value=""/>
+ <AFLAGS value="/mx /w2 /zn"/>
+ <LFLAGS value="-D&quot;&quot; -ap -Tpe -x -Gn"/>
+ </OPTIONS>
+ <LINKER>
+ <ALLOBJ value="c0x32.obj $(OBJFILES)"/>
+ <ALLRES value="$(RESFILES)"/>
+ <ALLLIB value="$(LIBFILES) $(LIBRARIES) import32.lib cw32mt.lib"/>
+ </LINKER>
+ <IDEOPTIONS>
+[Version Info]
+IncludeVerInfo=0
+AutoIncBuild=0
+MajorVer=1
+MinorVer=0
+Release=0
+Build=0
+Debug=0
+PreRelease=0
+Special=0
+Private=0
+DLL=0
+Locale=1033
+CodePage=1252
+
+[Version Info Keys]
+CompanyName=
+FileDescription=
+FileVersion=1.0.0.0
+InternalName=
+LegalCopyright=
+LegalTrademarks=
+OriginalFilename=
+ProductName=
+ProductVersion=1.0.0.0
+Comments=
+
+[HistoryLists\hlIncludePath]
+Count=5
+Item0=..\;..;..\..\include;$(BCB)\include;$(BCB)\include\vcl;..\..\..\icu-sword\source\common;..\..\..\icu-sword\source\i18n
+Item1=..\;..;..\..\include;$(BCB)\include;$(BCB)\include\vcl
+Item2=..\;..\..\utilities;..\..\include;$(BCB)\include;$(BCB)\include\vcl
+Item3=..;..\..\include;$(BCB)\include;$(BCB)\include\vcl
+Item4=..\..\utilities;$(BCB)\include;$(BCB)\include\vcl
+
+[HistoryLists\hlLibraryPath]
+Count=5
+Item0=..\;..;..\..\lib;$(BCB)\lib\obj;$(BCB)\lib
+Item1=..;..\..\lib;$(BCB)\lib\obj;$(BCB)\lib
+Item2=..\;..;$(BCB)\lib\obj;$(BCB)\lib
+Item3=..\;..\..\utilities;$(BCB)\lib\obj;$(BCB)\lib
+Item4=..\..\utilities;$(BCB)\lib\obj;$(BCB)\lib
+
+[HistoryLists\hlDebugSourcePath]
+Count=1
+Item0=$(BCB)\source\vcl
+
+[HistoryLists\hlConditionals]
+Count=2
+Item0=_ICU_;_ICUSWORD_;USBINARY;U_HAVE_PLACEMENT_NEW=0;USELUCENE;_CL_DISABLE_MULTITHREADING
+Item1=_DEBUG
+
+[Debugging]
+DebugSourceDirs=$(BCB)\source\vcl
+
+[Parameters]
+RunParams=./nasb nasb.xml
+HostApplication=
+RemoteHost=
+RemotePath=
+RemoteDebug=0
+
+[Compiler]
+ShowInfoMsgs=0
+LinkDebugVcl=0
+LinkCGLIB=0
+
+[Language]
+ActiveLang=
+ProjectLang=
+RootDir=
+ </IDEOPTIONS>
+</PROJECT>
diff --git a/utilities/bcppmake/addld.bpf b/utilities/bcppmake/addld.bpf
new file mode 100644
index 0000000..229b854
--- /dev/null
+++ b/utilities/bcppmake/addld.bpf
@@ -0,0 +1,11 @@
+USEUNIT("..\addld.cpp");
+USELIB("..\..\..\icu-sword\as_is\borland\icuin.lib");
+USELIB("..\..\..\icu-sword\as_is\borland\icudatab.lib");
+USELIB("..\..\..\icu-sword\as_is\borland\icuuc.lib");
+USELIB("..\..\lib\libsword.lib");
+USELIB("..\..\..\biblecs\clucene\clucene.lib");
+//---------------------------------------------------------------------------
+This file is used by the project manager only and should be treated like the project file
+
+
+main \ No newline at end of file
diff --git a/utilities/bcppmake/addld.bpr b/utilities/bcppmake/addld.bpr
new file mode 100644
index 0000000..7d17bdc
--- /dev/null
+++ b/utilities/bcppmake/addld.bpr
@@ -0,0 +1,126 @@
+<?xml version='1.0' encoding='utf-8' ?>
+<!-- C++Builder XML Project -->
+<PROJECT>
+ <MACROS>
+ <VERSION value="BCB.05.03"/>
+ <PROJECT value="addld.exe"/>
+ <OBJFILES value="..\addld.obj"/>
+ <RESFILES value=""/>
+ <IDLFILES value=""/>
+ <IDLGENFILES value=""/>
+ <DEFFILE value=""/>
+ <RESDEPEN value="$(RESFILES)"/>
+ <LIBFILES value="..\..\..\icu-sword\as_is\borland\icuin.lib
+ ..\..\..\icu-sword\as_is\borland\icudatab.lib
+ ..\..\..\icu-sword\as_is\borland\icuuc.lib ..\..\lib\libsword.lib
+ ..\..\..\biblecs\clucene\clucene.lib"/>
+ <LIBRARIES value=""/>
+ <SPARELIBS value=""/>
+ <PACKAGES value="VCL50.bpi VCLX50.bpi bcbsmp50.bpi QRPT50.bpi VCLDB50.bpi VCLBDE50.bpi
+ ibsmp50.bpi VCLDBX50.bpi TEEUI50.bpi TEEDB50.bpi TEE50.bpi TEEQR50.bpi
+ VCLIB50.bpi bcbie50.bpi VCLIE50.bpi INETDB50.bpi INET50.bpi NMFAST50.bpi
+ dclocx50.bpi bcb2kaxserver50.bpi"/>
+ <PATHCPP value=".;.."/>
+ <PATHPAS value=".;"/>
+ <PATHRC value=".;"/>
+ <PATHASM value=".;"/>
+ <DEBUGLIBPATH value="$(BCB)\lib\debug"/>
+ <RELEASELIBPATH value="$(BCB)\lib\release"/>
+ <LINKER value="tlink32"/>
+ <USERDEFINES value="_ICU_;_ICUSWORD_;USBINARY;U_HAVE_PLACEMENT_NEW=0;USELUCENE;_CL_DISABLE_MULTITHREADING"/>
+ <SYSDEFINES value="NO_STRICT;_NO_VCL"/>
+ <MAINSOURCE value="addld.bpf"/>
+ <INCLUDEPATH value="..\;..;..\..\include;$(BCB)\include;$(BCB)\include\vcl;..\..\..\icu-sword\source\common;..\..\..\icu-sword\source\i18n"/>
+ <LIBPATH value="..\;..;..\..\lib;$(BCB)\lib\obj;$(BCB)\lib"/>
+ <WARNINGS value="-w-par"/>
+ </MACROS>
+ <OPTIONS>
+ <IDLCFLAGS value="-I..\. -I.. -I..\..\include -I$(BCB)\include -I$(BCB)\include\vcl
+ -I..\..\..\icu-sword\source\common -I..\..\..\icu-sword\source\i18n
+ -src_suffix cpp -D_ICU_ -D_ICUSWORD_ -DUSBINARY -DU_HAVE_PLACEMENT_NEW=0
+ -DUSELUCENE -D_CL_DISABLE_MULTITHREADING -boa"/>
+ <CFLAG1 value="-O2 -H=$(BCB)\lib\vcl50.csm -Hc -Vx -Ve -X- -a8 -6 -b- -k- -vi -tWC -tWM -c"/>
+ <PFLAGS value="-$Y- -$L- -$D- -v -JPHNE -M"/>
+ <RFLAGS value=""/>
+ <AFLAGS value="/mx /w2 /zn"/>
+ <LFLAGS value="-D&quot;&quot; -ap -Tpe -x -Gn"/>
+ </OPTIONS>
+ <LINKER>
+ <ALLOBJ value="c0x32.obj $(OBJFILES)"/>
+ <ALLRES value="$(RESFILES)"/>
+ <ALLLIB value="$(LIBFILES) $(LIBRARIES) import32.lib cw32mt.lib"/>
+ </LINKER>
+ <IDEOPTIONS>
+[Version Info]
+IncludeVerInfo=0
+AutoIncBuild=0
+MajorVer=1
+MinorVer=0
+Release=0
+Build=0
+Debug=0
+PreRelease=0
+Special=0
+Private=0
+DLL=0
+Locale=1033
+CodePage=1252
+
+[Version Info Keys]
+CompanyName=
+FileDescription=
+FileVersion=1.0.0.0
+InternalName=
+LegalCopyright=
+LegalTrademarks=
+OriginalFilename=
+ProductName=
+ProductVersion=1.0.0.0
+Comments=
+
+[HistoryLists\hlIncludePath]
+Count=5
+Item0=..\;..;..\..\include;$(BCB)\include;$(BCB)\include\vcl;..\..\..\icu-sword\source\common;..\..\..\icu-sword\source\i18n
+Item1=..\;..;..\..\include;$(BCB)\include;$(BCB)\include\vcl
+Item2=..\;..\..\utilities;..\..\include;$(BCB)\include;$(BCB)\include\vcl
+Item3=..;..\..\include;$(BCB)\include;$(BCB)\include\vcl
+Item4=..\..\utilities;$(BCB)\include;$(BCB)\include\vcl
+
+[HistoryLists\hlLibraryPath]
+Count=5
+Item0=..\;..;..\..\lib;$(BCB)\lib\obj;$(BCB)\lib
+Item1=..;..\..\lib;$(BCB)\lib\obj;$(BCB)\lib
+Item2=..\;..;$(BCB)\lib\obj;$(BCB)\lib
+Item3=..\;..\..\utilities;$(BCB)\lib\obj;$(BCB)\lib
+Item4=..\..\utilities;$(BCB)\lib\obj;$(BCB)\lib
+
+[HistoryLists\hlDebugSourcePath]
+Count=1
+Item0=$(BCB)\source\vcl
+
+[HistoryLists\hlConditionals]
+Count=2
+Item0=_ICU_;_ICUSWORD_;USBINARY;U_HAVE_PLACEMENT_NEW=0;USELUCENE;_CL_DISABLE_MULTITHREADING
+Item1=_DEBUG
+
+[Debugging]
+DebugSourceDirs=$(BCB)\source\vcl
+
+[Parameters]
+RunParams=./nasb nasb.xml
+HostApplication=
+RemoteHost=
+RemotePath=
+RemoteDebug=0
+
+[Compiler]
+ShowInfoMsgs=0
+LinkDebugVcl=0
+LinkCGLIB=0
+
+[Language]
+ActiveLang=
+ProjectLang=
+RootDir=
+ </IDEOPTIONS>
+</PROJECT>
diff --git a/utilities/bcppmake/addvs.bpf b/utilities/bcppmake/addvs.bpf
new file mode 100644
index 0000000..f104965
--- /dev/null
+++ b/utilities/bcppmake/addvs.bpf
@@ -0,0 +1,11 @@
+USEUNIT("..\addvs.cpp");
+USELIB("..\..\..\icu-sword\as_is\borland\icuin.lib");
+USELIB("..\..\..\icu-sword\as_is\borland\icudatab.lib");
+USELIB("..\..\..\icu-sword\as_is\borland\icuuc.lib");
+USELIB("..\..\lib\libsword.lib");
+USELIB("..\..\..\biblecs\clucene\clucene.lib");
+//---------------------------------------------------------------------------
+This file is used by the project manager only and should be treated like the project file
+
+
+main \ No newline at end of file
diff --git a/utilities/bcppmake/addvs.bpr b/utilities/bcppmake/addvs.bpr
new file mode 100644
index 0000000..23efd76
--- /dev/null
+++ b/utilities/bcppmake/addvs.bpr
@@ -0,0 +1,126 @@
+<?xml version='1.0' encoding='utf-8' ?>
+<!-- C++Builder XML Project -->
+<PROJECT>
+ <MACROS>
+ <VERSION value="BCB.05.03"/>
+ <PROJECT value="addvs.exe"/>
+ <OBJFILES value="..\addvs.obj"/>
+ <RESFILES value=""/>
+ <IDLFILES value=""/>
+ <IDLGENFILES value=""/>
+ <DEFFILE value=""/>
+ <RESDEPEN value="$(RESFILES)"/>
+ <LIBFILES value="..\..\..\icu-sword\as_is\borland\icuin.lib
+ ..\..\..\icu-sword\as_is\borland\icudatab.lib
+ ..\..\..\icu-sword\as_is\borland\icuuc.lib ..\..\lib\libsword.lib
+ ..\..\..\biblecs\clucene\clucene.lib"/>
+ <LIBRARIES value=""/>
+ <SPARELIBS value=""/>
+ <PACKAGES value="VCL50.bpi VCLX50.bpi bcbsmp50.bpi QRPT50.bpi VCLDB50.bpi VCLBDE50.bpi
+ ibsmp50.bpi VCLDBX50.bpi TEEUI50.bpi TEEDB50.bpi TEE50.bpi TEEQR50.bpi
+ VCLIB50.bpi bcbie50.bpi VCLIE50.bpi INETDB50.bpi INET50.bpi NMFAST50.bpi
+ dclocx50.bpi bcb2kaxserver50.bpi"/>
+ <PATHCPP value=".;.."/>
+ <PATHPAS value=".;"/>
+ <PATHRC value=".;"/>
+ <PATHASM value=".;"/>
+ <DEBUGLIBPATH value="$(BCB)\lib\debug"/>
+ <RELEASELIBPATH value="$(BCB)\lib\release"/>
+ <LINKER value="tlink32"/>
+ <USERDEFINES value="_ICU_;_ICUSWORD_;USBINARY;U_HAVE_PLACEMENT_NEW=0;USELUCENE;_CL_DISABLE_MULTITHREADING"/>
+ <SYSDEFINES value="NO_STRICT;_NO_VCL"/>
+ <MAINSOURCE value="addvs.bpf"/>
+ <INCLUDEPATH value="..\;..;..\..\include;$(BCB)\include;$(BCB)\include\vcl;..\..\..\icu-sword\source\common;..\..\..\icu-sword\source\i18n"/>
+ <LIBPATH value="..\;..;..\..\lib;$(BCB)\lib\obj;$(BCB)\lib"/>
+ <WARNINGS value="-w-par"/>
+ </MACROS>
+ <OPTIONS>
+ <IDLCFLAGS value="-I..\. -I.. -I..\..\include -I$(BCB)\include -I$(BCB)\include\vcl
+ -I..\..\..\icu-sword\source\common -I..\..\..\icu-sword\source\i18n
+ -src_suffix cpp -D_ICU_ -D_ICUSWORD_ -DUSBINARY -DU_HAVE_PLACEMENT_NEW=0
+ -DUSELUCENE -D_CL_DISABLE_MULTITHREADING -boa"/>
+ <CFLAG1 value="-O2 -H=$(BCB)\lib\vcl50.csm -Hc -Vx -Ve -X- -a8 -6 -b- -k- -vi -tWC -tWM -c"/>
+ <PFLAGS value="-$Y- -$L- -$D- -v -JPHNE -M"/>
+ <RFLAGS value=""/>
+ <AFLAGS value="/mx /w2 /zn"/>
+ <LFLAGS value="-D&quot;&quot; -ap -Tpe -x -Gn"/>
+ </OPTIONS>
+ <LINKER>
+ <ALLOBJ value="c0x32.obj $(OBJFILES)"/>
+ <ALLRES value="$(RESFILES)"/>
+ <ALLLIB value="$(LIBFILES) $(LIBRARIES) import32.lib cw32mt.lib"/>
+ </LINKER>
+ <IDEOPTIONS>
+[Version Info]
+IncludeVerInfo=0
+AutoIncBuild=0
+MajorVer=1
+MinorVer=0
+Release=0
+Build=0
+Debug=0
+PreRelease=0
+Special=0
+Private=0
+DLL=0
+Locale=1033
+CodePage=1252
+
+[Version Info Keys]
+CompanyName=
+FileDescription=
+FileVersion=1.0.0.0
+InternalName=
+LegalCopyright=
+LegalTrademarks=
+OriginalFilename=
+ProductName=
+ProductVersion=1.0.0.0
+Comments=
+
+[HistoryLists\hlIncludePath]
+Count=5
+Item0=..\;..;..\..\include;$(BCB)\include;$(BCB)\include\vcl;..\..\..\icu-sword\source\common;..\..\..\icu-sword\source\i18n
+Item1=..\;..;..\..\include;$(BCB)\include;$(BCB)\include\vcl
+Item2=..\;..\..\utilities;..\..\include;$(BCB)\include;$(BCB)\include\vcl
+Item3=..;..\..\include;$(BCB)\include;$(BCB)\include\vcl
+Item4=..\..\utilities;$(BCB)\include;$(BCB)\include\vcl
+
+[HistoryLists\hlLibraryPath]
+Count=5
+Item0=..\;..;..\..\lib;$(BCB)\lib\obj;$(BCB)\lib
+Item1=..;..\..\lib;$(BCB)\lib\obj;$(BCB)\lib
+Item2=..\;..;$(BCB)\lib\obj;$(BCB)\lib
+Item3=..\;..\..\utilities;$(BCB)\lib\obj;$(BCB)\lib
+Item4=..\..\utilities;$(BCB)\lib\obj;$(BCB)\lib
+
+[HistoryLists\hlDebugSourcePath]
+Count=1
+Item0=$(BCB)\source\vcl
+
+[HistoryLists\hlConditionals]
+Count=2
+Item0=_ICU_;_ICUSWORD_;USBINARY;U_HAVE_PLACEMENT_NEW=0;USELUCENE;_CL_DISABLE_MULTITHREADING
+Item1=_DEBUG
+
+[Debugging]
+DebugSourceDirs=$(BCB)\source\vcl
+
+[Parameters]
+RunParams=./nasb nasb.xml
+HostApplication=
+RemoteHost=
+RemotePath=
+RemoteDebug=0
+
+[Compiler]
+ShowInfoMsgs=0
+LinkDebugVcl=0
+LinkCGLIB=0
+
+[Language]
+ActiveLang=
+ProjectLang=
+RootDir=
+ </IDEOPTIONS>
+</PROJECT>
diff --git a/utilities/bcppmake/libsword.bpf b/utilities/bcppmake/libsword.bpf
index e4c4667..5d88df9 100644
--- a/utilities/bcppmake/libsword.bpf
+++ b/utilities/bcppmake/libsword.bpf
@@ -79,6 +79,7 @@ USEUNIT("..\..\src\modules\filters\utf8bidireorder.cpp");
USEUNIT("..\..\src\modules\filters\utf8cantillation.cpp");
USEUNIT("..\..\src\modules\filters\utf8greekaccents.cpp");
USEUNIT("..\..\src\modules\filters\utf8hebrewpoints.cpp");
+USEUNIT("..\..\src\modules\filters\utf8arabicpoints.cpp");
USEUNIT("..\..\src\modules\filters\utf8html.cpp");
USEUNIT("..\..\src\modules\filters\utf8latin1.cpp");
USEUNIT("..\..\src\modules\filters\utf8nfc.cpp");
diff --git a/utilities/bcppmake/libsword.bpr b/utilities/bcppmake/libsword.bpr
index 8706c7a..ef0b094 100644
--- a/utilities/bcppmake/libsword.bpr
+++ b/utilities/bcppmake/libsword.bpr
@@ -64,6 +64,7 @@
..\..\src\modules\filters\utf8cantillation.obj
..\..\src\modules\filters\utf8greekaccents.obj
..\..\src\modules\filters\utf8hebrewpoints.obj
+ ..\..\src\modules\filters\utf8arabicpoints.obj
..\..\src\modules\filters\utf8html.obj
..\..\src\modules\filters\utf8latin1.obj
..\..\src\modules\filters\utf8nfc.obj
diff --git a/utilities/bcppmake/treeidxutil.bpf b/utilities/bcppmake/treeidxutil.bpf
new file mode 100644
index 0000000..88eaef2
--- /dev/null
+++ b/utilities/bcppmake/treeidxutil.bpf
@@ -0,0 +1,11 @@
+USEUNIT("..\treeidxutil.cpp");
+USELIB("..\..\..\icu-sword\as_is\borland\icuin.lib");
+USELIB("..\..\..\icu-sword\as_is\borland\icudatab.lib");
+USELIB("..\..\..\icu-sword\as_is\borland\icuuc.lib");
+USELIB("..\..\lib\libsword.lib");
+USELIB("..\..\..\biblecs\clucene\clucene.lib");
+//---------------------------------------------------------------------------
+This file is used by the project manager only and should be treated like the project file
+
+
+main \ No newline at end of file
diff --git a/utilities/bcppmake/treeidxutil.bpr b/utilities/bcppmake/treeidxutil.bpr
new file mode 100644
index 0000000..c04ef8c
--- /dev/null
+++ b/utilities/bcppmake/treeidxutil.bpr
@@ -0,0 +1,122 @@
+<?xml version='1.0' encoding='utf-8' ?>
+<!-- C++Builder XML Project -->
+<PROJECT>
+ <MACROS>
+ <VERSION value="BCB.05.03"/>
+ <PROJECT value="treeidxutil.exe"/>
+ <OBJFILES value="..\treeidxutil.obj"/>
+ <RESFILES value=""/>
+ <IDLFILES value=""/>
+ <IDLGENFILES value=""/>
+ <DEFFILE value=""/>
+ <RESDEPEN value="$(RESFILES)"/>
+ <LIBFILES value="..\..\..\icu-sword\as_is\borland\icuin.lib
+ ..\..\..\icu-sword\as_is\borland\icudatab.lib
+ ..\..\..\icu-sword\as_is\borland\icuuc.lib ..\..\lib\libsword.lib
+ ..\..\..\biblecs\clucene\clucene.lib"/>
+ <LIBRARIES value=""/>
+ <SPARELIBS value=""/>
+ <PACKAGES value="VCL50.bpi VCLX50.bpi bcbsmp50.bpi QRPT50.bpi VCLDB50.bpi VCLBDE50.bpi
+ ibsmp50.bpi VCLDBX50.bpi TEEUI50.bpi TEEDB50.bpi TEE50.bpi TEEQR50.bpi
+ VCLIB50.bpi bcbie50.bpi VCLIE50.bpi INETDB50.bpi INET50.bpi NMFAST50.bpi
+ dclocx50.bpi bcb2kaxserver50.bpi"/>
+ <PATHCPP value=".;.."/>
+ <PATHPAS value=".;"/>
+ <PATHRC value=".;"/>
+ <PATHASM value=".;"/>
+ <DEBUGLIBPATH value="$(BCB)\lib\debug"/>
+ <RELEASELIBPATH value="$(BCB)\lib\release"/>
+ <LINKER value="tlink32"/>
+ <USERDEFINES value=""/>
+ <SYSDEFINES value="NO_STRICT;_NO_VCL"/>
+ <MAINSOURCE value="treeidxutil.bpf"/>
+ <INCLUDEPATH value="..\;..;..\..\include;$(BCB)\include;$(BCB)\include\vcl"/>
+ <LIBPATH value="..\;..;..\..\lib;$(BCB)\lib\obj;$(BCB)\lib"/>
+ <WARNINGS value="-w-par"/>
+ </MACROS>
+ <OPTIONS>
+ <IDLCFLAGS value="-I..\. -I.. -I..\..\include -I$(BCB)\include -I$(BCB)\include\vcl
+ -src_suffix cpp -boa"/>
+ <CFLAG1 value="-O2 -H=$(BCB)\lib\vcl50.csm -Hc -Vx -Ve -X- -a8 -6 -b- -k- -vi -tWC -tWM -c"/>
+ <PFLAGS value="-$Y- -$L- -$D- -v -JPHNE -M"/>
+ <RFLAGS value=""/>
+ <AFLAGS value="/mx /w2 /zn"/>
+ <LFLAGS value="-D&quot;&quot; -ap -Tpe -x -Gn"/>
+ </OPTIONS>
+ <LINKER>
+ <ALLOBJ value="c0x32.obj $(OBJFILES)"/>
+ <ALLRES value="$(RESFILES)"/>
+ <ALLLIB value="$(LIBFILES) $(LIBRARIES) import32.lib cw32mt.lib"/>
+ </LINKER>
+ <IDEOPTIONS>
+[Version Info]
+IncludeVerInfo=0
+AutoIncBuild=0
+MajorVer=1
+MinorVer=0
+Release=0
+Build=0
+Debug=0
+PreRelease=0
+Special=0
+Private=0
+DLL=0
+Locale=1033
+CodePage=1252
+
+[Version Info Keys]
+CompanyName=
+FileDescription=
+FileVersion=1.0.0.0
+InternalName=
+LegalCopyright=
+LegalTrademarks=
+OriginalFilename=
+ProductName=
+ProductVersion=1.0.0.0
+Comments=
+
+[HistoryLists\hlIncludePath]
+Count=4
+Item0=..\;..;..\..\include;$(BCB)\include;$(BCB)\include\vcl
+Item1=..\;..\..\utilities;..\..\include;$(BCB)\include;$(BCB)\include\vcl
+Item2=..;..\..\include;$(BCB)\include;$(BCB)\include\vcl
+Item3=..\..\utilities;$(BCB)\include;$(BCB)\include\vcl
+
+[HistoryLists\hlLibraryPath]
+Count=5
+Item0=..\;..;..\..\lib;$(BCB)\lib\obj;$(BCB)\lib
+Item1=..;..\..\lib;$(BCB)\lib\obj;$(BCB)\lib
+Item2=..\;..;$(BCB)\lib\obj;$(BCB)\lib
+Item3=..\;..\..\utilities;$(BCB)\lib\obj;$(BCB)\lib
+Item4=..\..\utilities;$(BCB)\lib\obj;$(BCB)\lib
+
+[HistoryLists\hlDebugSourcePath]
+Count=1
+Item0=$(BCB)\source\vcl
+
+[HistoryLists\hlConditionals]
+Count=1
+Item0=_DEBUG
+
+[Debugging]
+DebugSourceDirs=$(BCB)\source\vcl
+
+[Parameters]
+RunParams=Gen1:1
+HostApplication=
+RemoteHost=
+RemotePath=
+RemoteDebug=0
+
+[Compiler]
+ShowInfoMsgs=0
+LinkDebugVcl=0
+LinkCGLIB=0
+
+[Language]
+ActiveLang=
+ProjectLang=
+RootDir=
+ </IDEOPTIONS>
+</PROJECT>
diff --git a/utilities/bcppmake/utilities.bpg b/utilities/bcppmake/utilities.bpg
index d5c0db4..6d2e99b 100644
--- a/utilities/bcppmake/utilities.bpg
+++ b/utilities/bcppmake/utilities.bpg
@@ -12,8 +12,9 @@ BRCC = $(ROOT)\bin\brcc32.exe $**
PROJECTS = icuuc.lib icuin.lib libcurl.lib clucene.lib libsword.lib \
osis2mod.exe mod2zmod.exe mod2vpl.exe mkfastmod.exe imp2gbs.exe vpl2mod.exe \
imp2ld.exe imp2vs.exe mod2imp.exe cipherraw.exe step2vpl.exe stepdump.exe \
- mod2osis.exe vs2osisref.exe xml2gbs.exe diatheke.exe installmgr.exe \
- tei2mod.exe
+ mod2osis.exe vs2osisref.exe vs2osisreftxt.exe xml2gbs.exe diatheke.exe \
+ installmgr.exe tei2mod.exe emptyvss.exe addgb.exe addld.exe addvs.exe \
+ treeidxutil.exe
#------------------------------------------------------------------------------
default: $(PROJECTS)
#------------------------------------------------------------------------------
@@ -110,4 +111,28 @@ libcurl.lib: ..\..\..\biblecs\apps\InstallMgr\libcurl.bpr
$(ROOT)\bin\bpr2mak -t$(ROOT)\bin\deflib.bmk $**
$(ROOT)\bin\make -$(MAKEFLAGS) -f$*.mak
+addgb.exe: addgb.bpr
+ $(ROOT)\bin\bpr2mak $**
+ $(ROOT)\bin\make -$(MAKEFLAGS) -f$*.mak
+
+addld.exe: addld.bpr
+ $(ROOT)\bin\bpr2mak $**
+ $(ROOT)\bin\make -$(MAKEFLAGS) -f$*.mak
+
+addvs.exe: addvs.bpr
+ $(ROOT)\bin\bpr2mak $**
+ $(ROOT)\bin\make -$(MAKEFLAGS) -f$*.mak
+
+emptyvss.exe: emptyvss.bpr
+ $(ROOT)\bin\bpr2mak $**
+ $(ROOT)\bin\make -$(MAKEFLAGS) -f$*.mak
+
+vs2osisreftxt.exe: vs2osisreftxt.bpr
+ $(ROOT)\bin\bpr2mak $**
+ $(ROOT)\bin\make -$(MAKEFLAGS) -f$*.mak
+
+treeidxutil.exe: treeidxutil.bpr
+ $(ROOT)\bin\bpr2mak $**
+ $(ROOT)\bin\make -$(MAKEFLAGS) -f$*.mak
+
diff --git a/utilities/bcppmake/vs2osisreftxt.bpf b/utilities/bcppmake/vs2osisreftxt.bpf
new file mode 100644
index 0000000..fd5c23e
--- /dev/null
+++ b/utilities/bcppmake/vs2osisreftxt.bpf
@@ -0,0 +1,11 @@
+USEUNIT("..\vs2osisreftxt.cpp");
+USELIB("..\..\..\icu-sword\as_is\borland\icuin.lib");
+USELIB("..\..\..\icu-sword\as_is\borland\icudatab.lib");
+USELIB("..\..\..\icu-sword\as_is\borland\icuuc.lib");
+USELIB("..\..\lib\libsword.lib");
+USELIB("..\..\..\biblecs\clucene\clucene.lib");
+//---------------------------------------------------------------------------
+This file is used by the project manager only and should be treated like the project file
+
+
+main \ No newline at end of file
diff --git a/utilities/bcppmake/vs2osisreftxt.bpr b/utilities/bcppmake/vs2osisreftxt.bpr
new file mode 100644
index 0000000..70049a2
--- /dev/null
+++ b/utilities/bcppmake/vs2osisreftxt.bpr
@@ -0,0 +1,122 @@
+<?xml version='1.0' encoding='utf-8' ?>
+<!-- C++Builder XML Project -->
+<PROJECT>
+ <MACROS>
+ <VERSION value="BCB.05.03"/>
+ <PROJECT value="vs2osisreftxt.exe"/>
+ <OBJFILES value="..\vs2osisreftxt.obj"/>
+ <RESFILES value=""/>
+ <IDLFILES value=""/>
+ <IDLGENFILES value=""/>
+ <DEFFILE value=""/>
+ <RESDEPEN value="$(RESFILES)"/>
+ <LIBFILES value="..\..\..\icu-sword\as_is\borland\icuin.lib
+ ..\..\..\icu-sword\as_is\borland\icudatab.lib
+ ..\..\..\icu-sword\as_is\borland\icuuc.lib ..\..\lib\libsword.lib
+ ..\..\..\biblecs\clucene\clucene.lib"/>
+ <LIBRARIES value=""/>
+ <SPARELIBS value=""/>
+ <PACKAGES value="VCL50.bpi VCLX50.bpi bcbsmp50.bpi QRPT50.bpi VCLDB50.bpi VCLBDE50.bpi
+ ibsmp50.bpi VCLDBX50.bpi TEEUI50.bpi TEEDB50.bpi TEE50.bpi TEEQR50.bpi
+ VCLIB50.bpi bcbie50.bpi VCLIE50.bpi INETDB50.bpi INET50.bpi NMFAST50.bpi
+ dclocx50.bpi bcb2kaxserver50.bpi"/>
+ <PATHCPP value=".;.."/>
+ <PATHPAS value=".;"/>
+ <PATHRC value=".;"/>
+ <PATHASM value=".;"/>
+ <DEBUGLIBPATH value="$(BCB)\lib\debug"/>
+ <RELEASELIBPATH value="$(BCB)\lib\release"/>
+ <LINKER value="tlink32"/>
+ <USERDEFINES value=""/>
+ <SYSDEFINES value="NO_STRICT;_NO_VCL"/>
+ <MAINSOURCE value="vs2osisreftxt.bpf"/>
+ <INCLUDEPATH value="..\;..;..\..\include;$(BCB)\include;$(BCB)\include\vcl"/>
+ <LIBPATH value="..\;..;..\..\lib;$(BCB)\lib\obj;$(BCB)\lib"/>
+ <WARNINGS value="-w-par"/>
+ </MACROS>
+ <OPTIONS>
+ <IDLCFLAGS value="-I..\. -I.. -I..\..\include -I$(BCB)\include -I$(BCB)\include\vcl
+ -src_suffix cpp -boa"/>
+ <CFLAG1 value="-O2 -H=$(BCB)\lib\vcl50.csm -Hc -Vx -Ve -X- -a8 -6 -b- -k- -vi -tWC -tWM -c"/>
+ <PFLAGS value="-$Y- -$L- -$D- -v -JPHNE -M"/>
+ <RFLAGS value=""/>
+ <AFLAGS value="/mx /w2 /zn"/>
+ <LFLAGS value="-D&quot;&quot; -ap -Tpe -x -Gn"/>
+ </OPTIONS>
+ <LINKER>
+ <ALLOBJ value="c0x32.obj $(OBJFILES)"/>
+ <ALLRES value="$(RESFILES)"/>
+ <ALLLIB value="$(LIBFILES) $(LIBRARIES) import32.lib cw32mt.lib"/>
+ </LINKER>
+ <IDEOPTIONS>
+[Version Info]
+IncludeVerInfo=0
+AutoIncBuild=0
+MajorVer=1
+MinorVer=0
+Release=0
+Build=0
+Debug=0
+PreRelease=0
+Special=0
+Private=0
+DLL=0
+Locale=1033
+CodePage=1252
+
+[Version Info Keys]
+CompanyName=
+FileDescription=
+FileVersion=1.0.0.0
+InternalName=
+LegalCopyright=
+LegalTrademarks=
+OriginalFilename=
+ProductName=
+ProductVersion=1.0.0.0
+Comments=
+
+[HistoryLists\hlIncludePath]
+Count=4
+Item0=..\;..;..\..\include;$(BCB)\include;$(BCB)\include\vcl
+Item1=..\;..\..\utilities;..\..\include;$(BCB)\include;$(BCB)\include\vcl
+Item2=..;..\..\include;$(BCB)\include;$(BCB)\include\vcl
+Item3=..\..\utilities;$(BCB)\include;$(BCB)\include\vcl
+
+[HistoryLists\hlLibraryPath]
+Count=5
+Item0=..\;..;..\..\lib;$(BCB)\lib\obj;$(BCB)\lib
+Item1=..;..\..\lib;$(BCB)\lib\obj;$(BCB)\lib
+Item2=..\;..;$(BCB)\lib\obj;$(BCB)\lib
+Item3=..\;..\..\utilities;$(BCB)\lib\obj;$(BCB)\lib
+Item4=..\..\utilities;$(BCB)\lib\obj;$(BCB)\lib
+
+[HistoryLists\hlDebugSourcePath]
+Count=1
+Item0=$(BCB)\source\vcl
+
+[HistoryLists\hlConditionals]
+Count=1
+Item0=_DEBUG
+
+[Debugging]
+DebugSourceDirs=$(BCB)\source\vcl
+
+[Parameters]
+RunParams=Gen1:1
+HostApplication=
+RemoteHost=
+RemotePath=
+RemoteDebug=0
+
+[Compiler]
+ShowInfoMsgs=0
+LinkDebugVcl=0
+LinkCGLIB=0
+
+[Language]
+ActiveLang=
+ProjectLang=
+RootDir=
+ </IDEOPTIONS>
+</PROJECT>
diff --git a/utilities/cipherraw.cpp b/utilities/cipherraw.cpp
index 16aee18..026e06d 100644
--- a/utilities/cipherraw.cpp
+++ b/utilities/cipherraw.cpp
@@ -1,3 +1,20 @@
+/*
+ * Copyright 2009 CrossWire Bible Society (http://www.crosswire.org)
+ * CrossWire Bible Society
+ * P. O. Box 2528
+ * Tempe, AZ 85280-2528
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation version 2.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ */
+
#include <ctype.h>
#include <stdio.h>
#include <fcntl.h>
diff --git a/utilities/diatheke/.cvsignore b/utilities/diatheke/.cvsignore
deleted file mode 100644
index f5ce63f..0000000
--- a/utilities/diatheke/.cvsignore
+++ /dev/null
@@ -1,5 +0,0 @@
-.deps
-.libs
-Makefile
-Makefile.in
-diatheke
diff --git a/utilities/diatheke/Makefile.in b/utilities/diatheke/Makefile.in
index 36d4273..fa59942 100644
--- a/utilities/diatheke/Makefile.in
+++ b/utilities/diatheke/Makefile.in
@@ -1,8 +1,8 @@
-# Makefile.in generated by automake 1.10 from Makefile.am.
+# Makefile.in generated by automake 1.10.2 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -40,7 +40,10 @@ DIST_COMMON = README $(noinst_HEADERS) $(srcdir)/Makefile.am \
subdir = utilities/diatheke
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/m4/acx_clucene.m4 \
- $(top_srcdir)/m4/cppunit.m4 $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/cppunit.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(install_sh) -d
@@ -56,7 +59,7 @@ diatheke_OBJECTS = $(am_diatheke_OBJECTS)
am__DEPENDENCIES_1 =
diatheke_DEPENDENCIES = $(top_builddir)/lib/libsword.la \
$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1)
-DEFAULT_INCLUDES = -I. -I$(top_builddir)/include@am__isrc@
+DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/include
depcomp = $(SHELL) $(top_srcdir)/depcomp
am__depfiles_maybe = depfiles
CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
@@ -104,14 +107,14 @@ CYGPATH_W = @CYGPATH_W@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
DLLTOOL = @DLLTOOL@
-ECHO = @ECHO@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
-F77 = @F77@
-FFLAGS = @FFLAGS@
+FGREP = @FGREP@
GENCCODE = @GENCCODE@
GENCMN = @GENCMN@
GENRB = @GENRB@
@@ -125,17 +128,23 @@ INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LD = @LD@
LDFLAGS = @LDFLAGS@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
+LIPO = @LIPO@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MKDIR_P = @MKDIR_P@
+NM = @NM@
+NMEDIT = @NMEDIT@
OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
@@ -158,7 +167,7 @@ abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
-ac_ct_F77 = @ac_ct_F77@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
@@ -192,6 +201,7 @@ libdir = @libdir@
libexecdir = @libexecdir@
localedir = @localedir@
localstatedir = @localstatedir@
+lt_ECHO = @lt_ECHO@
mandir = @mandir@
mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@
@@ -210,6 +220,7 @@ target_mingw32 = @target_mingw32@
target_os = @target_os@
target_system = @target_system@
target_vendor = @target_vendor@
+top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
with_conf = @with_conf@
@@ -239,8 +250,8 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(srcdir)/cg
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
- && exit 0; \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
exit 1;; \
esac; \
done; \
@@ -273,8 +284,8 @@ install-binPROGRAMS: $(bin_PROGRAMS)
|| test -f $$p1 \
; then \
f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \
- echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(binPROGRAMS_INSTALL) '$$p' '$(DESTDIR)$(bindir)/$$f'"; \
- $(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(binPROGRAMS_INSTALL) "$$p" "$(DESTDIR)$(bindir)/$$f" || exit 1; \
+ echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(binPROGRAMS_INSTALL) '$$p' '$(DESTDIR)$(bindir)/$$f'"; \
+ $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(binPROGRAMS_INSTALL) "$$p" "$(DESTDIR)$(bindir)/$$f" || exit 1; \
else :; fi; \
done
@@ -342,8 +353,8 @@ ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
mkid -fID $$unique
tags: TAGS
@@ -355,8 +366,8 @@ TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
test -n "$$unique" || unique=$$empty_fix; \
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
@@ -366,13 +377,12 @@ ctags: CTAGS
CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
tags=; \
- here=`pwd`; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
test -z "$(CTAGS_ARGS)$$tags$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
$$tags $$unique
diff --git a/utilities/diatheke/cgi/dia-def.pl b/utilities/diatheke/cgi/dia-def.pl
index e2f1d4f..206aaa6 100755
--- a/utilities/diatheke/cgi/dia-def.pl
+++ b/utilities/diatheke/cgi/dia-def.pl
@@ -1,5 +1,22 @@
#!/usr/bin/perl
+# *
+# * Copyright 2009 CrossWire Bible Society (http://www.crosswire.org)
+# * CrossWire Bible Society
+# * P. O. Box 2528
+# * Tempe, AZ 85280-2528
+# *
+# * This program is free software; you can redistribute it and/or modify it
+# * under the terms of the GNU General Public License as published by the
+# * Free Software Foundation version 2.
+# *
+# * This program is distributed in the hope that it will be useful, but
+# * WITHOUT ANY WARRANTY; without even the implied warranty of
+# * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# * General Public License for more details.
+# *
+
+
#change this variable to hostname of your server
@values = split(/\&/,$ENV{'QUERY_STRING'});
$DOMAIN = $ENV{'REMOTE_ADDR'};
diff --git a/utilities/diatheke/cgi/diatheke.pl b/utilities/diatheke/cgi/diatheke.pl
index ee36f11..8150d2c 100755
--- a/utilities/diatheke/cgi/diatheke.pl
+++ b/utilities/diatheke/cgi/diatheke.pl
@@ -1,5 +1,33 @@
#!/usr/bin/perl
+#########################################################################
+### WARNING: This is for demonstration purposes only. Do not deploy
+### this CGI on a live website. There are security issues.
+### You will likely be hacked if you try to deploy this on a
+### live site.
+###
+### For a web Bible interface, please consider using
+### SwordWeb, which can be also be installed on your
+### server: http://www.crosswire.org/swordweb/
+########################################################################
+
+# *
+# * Copyright 2009 CrossWire Bible Society (http://www.crosswire.org)
+# * CrossWire Bible Society
+# * P. O. Box 2528
+# * Tempe, AZ 85280-2528
+# *
+# * This program is free software; you can redistribute it and/or modify it
+# * under the terms of the GNU General Public License as published by the
+# * Free Software Foundation version 2.
+# *
+# * This program is distributed in the hope that it will be useful, but
+# * WITHOUT ANY WARRANTY; without even the implied warranty of
+# * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# * General Public License for more details.
+# *
+
+
# Typical Linux/Unix settings
$err = "2> /dev/null";
$sword_path = "/home/sword"; # SWORD_PATH environment variable you want to use
@@ -110,8 +138,7 @@ foreach $i (@values) {
$range = $mydata;
$range =~ tr/+/ /;
$range =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
- $range = "-r \"$range\"";
- $range = shell_escape($range);
+ $range = "-r '" . shell_escape($range) . "'";
}
elsif ($varname eq "strongs") {
diff --git a/utilities/diatheke/corediatheke.cpp b/utilities/diatheke/corediatheke.cpp
index d691a2f..f2dcac9 100644
--- a/utilities/diatheke/corediatheke.cpp
+++ b/utilities/diatheke/corediatheke.cpp
@@ -1,8 +1,23 @@
// Diatheke 4.2 by Chris Little <chrislit@crosswire.org>
-// Copyright 1999-2002 by CrossWire Bible Society
+// Copyright 1999-2009 by CrossWire Bible Society
// http://www.crosswire.org/sword/diatheke
-// Licensed under GNU General Public License (GPL)
-// see accompanying LICENSE file for license details
+
+/*
+ * Copyright 2009 CrossWire Bible Society (http://www.crosswire.org)
+ * CrossWire Bible Society
+ * P. O. Box 2528
+ * Tempe, AZ 85280-2528
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation version 2.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ */
#include "corediatheke.h"
#include <regex.h>
@@ -64,7 +79,7 @@ void systemquery(const char * key, ostream* output){
if (names && descriptions) *output << " : ";
if (descriptions) *output << target->Description();
*output << endl;
- }
+ }
}
if (types) *output << "Dictionaries:\n";
for (it = manager.Modules.begin(); it != manager.Modules.end(); it++) {
@@ -76,27 +91,39 @@ void systemquery(const char * key, ostream* output){
*output << endl;
}
}
+ if (types) *output << "Generic books:\n";
+ for (it = manager.Modules.begin(); it != manager.Modules.end(); it++) {
+ target = it->second;
+ if (!strcmp(target->Type(), "Generic Books")) {
+ if (names) *output << target->Name();
+ if (names && descriptions) *output << " : ";
+ if (descriptions) *output << target->Description();
+ *output << endl;
+ }
+ }
+
}
}
-void doquery(unsigned long maxverses = -1, unsigned char outputformat = FMT_PLAIN, unsigned char outputencoding = ENC_UTF8, unsigned long optionfilters = 0, unsigned char searchtype = ST_NONE, const char *range = 0, const char *text = 0, const char *locale = 0, const char *ref = 0, ostream* output = &cout, const char *script = 0, signed short variants = 0) {
- static DiathekeMgr manager;
+void doquery(unsigned long maxverses = -1, unsigned char outputformat = FMT_PLAIN, unsigned char outputencoding = ENC_UTF8, unsigned long optionfilters = 0, unsigned char searchtype = ST_NONE, const char *range = 0, const char *text = 0, const char *locale = 0, const char *ref = 0, ostream* output = &cout, const char *script = 0, signed short variants = 0) {
+ static DiathekeMgr manager(NULL, NULL, false, outputencoding, outputformat,
+ ((OP_BIDI & optionfilters) == OP_BIDI),
+ ((OP_ARSHAPE & optionfilters) == OP_ARSHAPE));
ModMap::iterator it;
ListKey listkey;
SectionMap::iterator sit;
ConfigEntMap::iterator eit;
-
- SWModule * target;
+
+ SWModule *target;
char *font = 0;
char inputformat = 0;
SWBuf encoding;
- char querytype = 0;
+ char querytype = 0;
if (locale) {
LocaleMgr::getSystemLocaleMgr()->setDefaultLocaleName(locale);
}
- VerseKey vk;
//deal with queries to "system"
if (!::stricmp(text, "system")) {
@@ -113,12 +140,13 @@ void doquery(unsigned long maxverses = -1, unsigned char outputformat = FMT_PLAI
return;
}
target = (*it).second;
+ SWKey *p = target->CreateKey();
+ VerseKey *parser = SWDYNAMIC_CAST(VerseKey, p);
+ if (!parser) {
+ delete p;
+ parser = new VerseKey();
+ }
- manager.Markup(outputformat);
- manager.Encoding(outputencoding);
- manager.bidi = ((OP_BIDI & optionfilters) == OP_BIDI);
- manager.shape = ((OP_ARSHAPE & optionfilters) == OP_ARSHAPE);
-
if ((sit = manager.config->Sections.find((*it).second->Name())) != manager.config->Sections.end()) {
if ((eit = (*sit).second.find("SourceType")) != (*sit).second.end()) {
if (!::stricmp((char *)(*eit).second.c_str(), "GBF"))
@@ -127,6 +155,8 @@ void doquery(unsigned long maxverses = -1, unsigned char outputformat = FMT_PLAI
inputformat = FMT_THML;
else if (!::stricmp((char *)(*eit).second.c_str(), "OSIS"))
inputformat = FMT_OSIS;
+ else if (!::stricmp((char *)(*eit).second.c_str(), "TEI"))
+ inputformat = FMT_TEI;
}
encoding = ((eit = (*sit).second.find("Encoding")) != (*sit).second.end()) ? (*eit).second : (SWBuf)"";
}
@@ -143,12 +173,16 @@ void doquery(unsigned long maxverses = -1, unsigned char outputformat = FMT_PLAI
case FMT_OSIS :
*output << "OSIS";
break;
+ case FMT_TEI :
+ *output << "TEI";
+ break;
default:
*output << "Other";
- }
+ }
*output << ";";
*output << target->Type();
*output << ";";
+ delete parser;
return;
}
@@ -160,7 +194,9 @@ void doquery(unsigned long maxverses = -1, unsigned char outputformat = FMT_PLAI
querytype = QT_COMM;
else if (!strcmp(target->Type(), "Lexicons / Dictionaries"))
querytype = QT_LD;
-
+ else if (!strcmp(target->Type(), "Generic Books"))
+ querytype = QT_LD;
+
if (optionfilters & OP_FOOTNOTES)
manager.setGlobalOption("Footnotes","On");
else
@@ -208,13 +244,13 @@ void doquery(unsigned long maxverses = -1, unsigned char outputformat = FMT_PLAI
manager.setGlobalOption("Variants", "Secondary Readings");
}
else
- manager.setGlobalOption("Transliteration", "Primary Readings");
+ manager.setGlobalOption("Variants", "Primary Readings");
if (optionfilters & OP_TRANSLITERATOR && script)
manager.setGlobalOption("Transliteration", script);
else
manager.setGlobalOption("Transliteration", "Off");
-
+
if (querytype == QT_SEARCH) {
//this test is just to determine if we've got SWKeys or VerseKeys
@@ -224,7 +260,9 @@ void doquery(unsigned long maxverses = -1, unsigned char outputformat = FMT_PLAI
querytype = QT_BIBLE;
else if (!strcmp(target->Type(), "Lexicons / Dictionaries"))
querytype = QT_LD;
-
+ else if (!strcmp(target->Type(), "Generic Books"))
+ querytype = QT_LD;
+
//do search stuff
char st = 1 - searchtype;
if (querytype == QT_BIBLE) {
@@ -235,18 +273,17 @@ void doquery(unsigned long maxverses = -1, unsigned char outputformat = FMT_PLAI
*output << "\"-- ";
if (range) {
- VerseKey parser;
- ListKey scope = parser.ParseVerseList(range, parser, true);
+ ListKey scope = parser->ParseVerseList(range, "Gen 1:1", true);
listkey = target->Search(ref, st, REG_ICASE, &scope);
}
else listkey = target->Search(ref, st, REG_ICASE);
-
+
if (strlen((const char*)listkey)) {
if (!listkey.Error()) {
if (outputformat == FMT_CGI) *output << "<entry>";
if (querytype == QT_BIBLE) {
- vk = listkey;
- *output << (const char *)vk;
+ *parser = listkey;
+ *output << (const char *)*parser;
}
else *output << (const char *)listkey;
if (outputformat == FMT_CGI) *output << "</entry>";
@@ -256,20 +293,20 @@ void doquery(unsigned long maxverses = -1, unsigned char outputformat = FMT_PLAI
*output << " ; ";
if (outputformat == FMT_CGI) *output << "<entry>";
if (querytype == QT_BIBLE) {
- vk = listkey;
- *output << (const char *)vk;
+ *parser = listkey;
+ *output << (const char *)*parser;
}
else *output << (const char *)listkey;
if (outputformat == FMT_CGI) *output << "</entry>";
listkey++;
}
*output << " -- ";
-
+
char *temp = new char[10];
sprintf(temp, "%u", listkey.Count());
*output << temp;
delete [] temp;
-
+
*output << " matches total (";
*output << target->Name();
*output << ")\n";
@@ -280,12 +317,12 @@ void doquery(unsigned long maxverses = -1, unsigned char outputformat = FMT_PLAI
*output << ")\n";
}
}
-
+
else if (querytype == QT_LD) {
//do dictionary stuff
-
+
target->setKey(ref);
-
+
const char * text = (const char *) *target;
if (outputformat == FMT_RTF) {
@@ -298,8 +335,8 @@ void doquery(unsigned long maxverses = -1, unsigned char outputformat = FMT_PLAI
}
else if (outputformat == FMT_HTML) {
*output << "<meta http-equiv=\"content-type\" content=\"text/html; charset=UTF-8\">";
- }
-
+ }
+
if (strlen(text)) {
*output << (char*)target->KeyText();
if (font && (outputformat == FMT_HTML || outputformat == FMT_THML || outputformat == FMT_CGI)) {
@@ -324,14 +361,14 @@ void doquery(unsigned long maxverses = -1, unsigned char outputformat = FMT_PLAI
*output << "(";
*output << target->Name();
*output << ")\n";
- }
+ }
if (outputformat == FMT_RTF) {
*output << "}";
}
}
-
+
else if (querytype == QT_BIBLE || querytype == QT_COMM) {
//do commentary/Bible stuff
@@ -341,8 +378,8 @@ void doquery(unsigned long maxverses = -1, unsigned char outputformat = FMT_PLAI
if (strlen(font) == 0) font = 0;
}
}
-
- listkey = vk.ParseVerseList(ref, "Gen1:1", true);
+
+ listkey = parser->ParseVerseList(ref, "Gen1:1", true);
int i;
if (outputformat == FMT_RTF) {
@@ -359,10 +396,10 @@ void doquery(unsigned long maxverses = -1, unsigned char outputformat = FMT_PLAI
for (i = 0; i < listkey.Count() && maxverses; i++) {
VerseKey *element = SWDYNAMIC_CAST(VerseKey, listkey.GetElement(i));
- if (element) {
+ if (element && element->isBoundSet()) {
target->Key(element->LowerBound());
- vk = element->UpperBound();
- while (maxverses && target->Key() <= vk) {
+ *parser = element->UpperBound();
+ while (maxverses && target->Key() <= *parser) {
*output << (char*)target->KeyText();
if (font && (outputformat == FMT_HTML || outputformat == FMT_THML || outputformat == FMT_CGI)) {
*output << ": <font face=\"";
@@ -393,8 +430,8 @@ void doquery(unsigned long maxverses = -1, unsigned char outputformat = FMT_PLAI
*output << "<CM>";
*output << "\n";
-
- if (target->Key() == vk)
+
+ if (target->Key() == *parser)
break;
maxverses--;
(*target)++;
@@ -421,7 +458,7 @@ void doquery(unsigned long maxverses = -1, unsigned char outputformat = FMT_PLAI
else if (outputformat == FMT_RTF) {
*output << "}";
}
-
+
if (inputformat != FMT_THML && (outputformat == FMT_HTML || outputformat == FMT_THML || outputformat == FMT_CGI))
*output << "<br />";
else if (outputformat == FMT_OSIS)
@@ -445,5 +482,6 @@ void doquery(unsigned long maxverses = -1, unsigned char outputformat = FMT_PLAI
}
}
+ delete parser;
}
diff --git a/utilities/diatheke/corediatheke.h b/utilities/diatheke/corediatheke.h
index 0364b37..2ad4801 100644
--- a/utilities/diatheke/corediatheke.h
+++ b/utilities/diatheke/corediatheke.h
@@ -1,7 +1,23 @@
// Diatheke 4.2 by Chris Little <chrislit@crosswire.org>
-// Copyright 1999-2002 by CrossWire Bible Society http://www.crosswire.org
-// Licensed under GNU General Public License (GPL)
-// see accompanying LICENSE file for license details
+// Copyright 1999-2009 by CrossWire Bible Society
+// http://www.crosswire.org/sword/diatheke
+
+/*
+ * Copyright 2009 CrossWire Bible Society (http://www.crosswire.org)
+ * CrossWire Bible Society
+ * P. O. Box 2528
+ * Tempe, AZ 85280-2528
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation version 2.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ */
#include <stdio.h>
#include <iostream>
@@ -31,7 +47,7 @@
#define OP_BIDI 2048
#define OP_VARIANTS 4096
#define OP_RED 8192
-
+#define OP_ARABICPOINTS 16384
#define ST_NONE 0
#define ST_REGEX 1 //0
#define ST_PHRASE 2 // -1
diff --git a/utilities/diatheke/diafiltmgr.h b/utilities/diatheke/diafiltmgr.h
index 2ca34eb..0acdf1a 100644
--- a/utilities/diatheke/diafiltmgr.h
+++ b/utilities/diatheke/diafiltmgr.h
@@ -23,11 +23,12 @@
#define FMT_CGI 127
#include <encfiltmgr.h>
+
#ifndef NO_SWORD_NAMESPACE
using namespace sword;
#endif
-class SWDLLEXPORT DiathekeFilterMgr : public EncodingFilterMgr {
+class DiathekeFilterMgr : public EncodingFilterMgr {
protected:
SWFilter* fromthml;
SWFilter* fromgbf;
diff --git a/utilities/diatheke/diatheke.cpp b/utilities/diatheke/diatheke.cpp
index 0a99c07..3ffe194 100644
--- a/utilities/diatheke/diatheke.cpp
+++ b/utilities/diatheke/diatheke.cpp
@@ -1,9 +1,23 @@
// Diatheke 4.2.1 by Chris Little <chrislit@crosswire.org>
// Copyright 1999-2005 by CrossWire Bible Society
// http://www.crosswire.org/sword/diatheke
-// Licensed under GNU General Public License (GPL)
-// see accompanying LICENSE file for license details
+/*
+ * Copyright 2009 CrossWire Bible Society (http://www.crosswire.org)
+ * CrossWire Bible Society
+ * P. O. Box 2528
+ * Tempe, AZ 85280-2528
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation version 2.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ */
#include "corediatheke.h"
#include "diathekemgr.h"
@@ -32,7 +46,7 @@ void printsyntax() {
fprintf (stderr, "Valid search_type values are: regex, multiword, and phrase(def).\n");
fprintf (stderr, "Valid option_filters values are: n (Strong's numbers),\n");
fprintf (stderr, " f (Footnotes), m (Morphology), h (Section Headings),\n");
- fprintf (stderr, " c (Cantillation), v (Hebrew Vowels), a (Greek Accents),\n");
+ fprintf (stderr, " c (Cantillation), v (Hebrew Vowels), a (Greek Accents), p (Arabic Vowels)\n");
fprintf (stderr, " l (Lemmas), s (Scripture Crossrefs), r (Arabic Shaping,\n");
fprintf (stderr, " b (Bi-Directional Reordering), x (Red Words of Christ)\n");
@@ -129,6 +143,8 @@ int main(int argc, char **argv)
optionfilters |= OP_BIDI;
if (strchr(argv[i+1], 'x'))
optionfilters |= OP_RED;
+ if (strchr(argv[i+1], 'p'))
+ optionfilters |= OP_ARABICPOINTS;
i++;
}
}
diff --git a/utilities/diatheke/diatheke.dsp b/utilities/diatheke/diatheke.dsp
deleted file mode 100644
index 03085d3..0000000
--- a/utilities/diatheke/diatheke.dsp
+++ /dev/null
@@ -1,204 +0,0 @@
-# Microsoft Developer Studio Project File - Name="diatheke" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Console Application" 0x0103
-
-CFG=diatheke - Win32 Debug with ICU
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE
-!MESSAGE NMAKE /f "diatheke.mak".
-!MESSAGE
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE
-!MESSAGE NMAKE /f "diatheke.mak" CFG="diatheke - Win32 Debug with ICU"
-!MESSAGE
-!MESSAGE Possible choices for configuration are:
-!MESSAGE
-!MESSAGE "diatheke - Win32 Release" (based on "Win32 (x86) Console Application")
-!MESSAGE "diatheke - Win32 Debug" (based on "Win32 (x86) Console Application")
-!MESSAGE "diatheke - Win32 Debug with ICU" (based on "Win32 (x86) Console Application")
-!MESSAGE "diatheke - Win32 Release with ICU" (based on "Win32 (x86) Console Application")
-!MESSAGE
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-RSC=rc.exe
-
-!IF "$(CFG)" == "diatheke - Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "Release"
-# PROP BASE Intermediate_Dir "Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "Release"
-# PROP Intermediate_Dir "Release"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD CPP /nologo /MD /w /W0 /GX /O2 /I "../../include" /I "../../src/utilfuns/win32" /D "NDEBUG" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /FR /YX /FD /c
-# ADD BASE RSC /l 0x409 /d "NDEBUG"
-# ADD RSC /l 0x409 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
-# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib libswordvc6.lib /nologo /subsystem:console /machine:I386 /libpath:"../../lib"
-
-!ELSEIF "$(CFG)" == "diatheke - Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "Debug"
-# PROP BASE Intermediate_Dir "Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "Debug"
-# PROP Intermediate_Dir "Debug"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
-# ADD CPP /nologo /MDd /w /W0 /Gm /GX /ZI /Od /I "../../include" /I "../../src/utilfuns/win32" /D "_DEBUG" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /FR /YX /FD /GZ /c
-# ADD BASE RSC /l 0x409 /d "_DEBUG"
-# ADD RSC /l 0x409 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib libswordvc6d.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept /libpath:"../../lib"
-
-!ELSEIF "$(CFG)" == "diatheke - Win32 Debug with ICU"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "diatheke___Win32_Debug_with_ICU"
-# PROP BASE Intermediate_Dir "diatheke___Win32_Debug_with_ICU"
-# PROP BASE Ignore_Export_Lib 0
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "ICUDebug"
-# PROP Intermediate_Dir "ICUDebug"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /w /W0 /Gm /GX /ZI /Od /I "../../include" /I "../../src/utilfuns/win32" /D "_DEBUG" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /D "__VISUALC__" /FR /YX /FD /GZ /c
-# ADD CPP /nologo /MDd /w /W0 /Gm /GX /ZI /Od /I "../../include" /I "../../src/utilfuns/win32" /I "../../../icu-sword/include" /D "_DEBUG" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /D "_ICU_" /D "_ICUSWORD_" /FR /YX /FD /GZ /c
-# ADD BASE RSC /l 0x409 /d "_DEBUG"
-# ADD RSC /l 0x409 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib libsword.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept /libpath:"../../lib/vcppmake/vc6/Debug"
-# ADD LINK32 icuin.lib icuuc.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib libswordvc6icud.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept /libpath:"../../../icu-sword/lib" /libpath:"../../lib"
-
-!ELSEIF "$(CFG)" == "diatheke - Win32 Release with ICU"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "diatheke___Win32_Release_with_ICU"
-# PROP BASE Intermediate_Dir "diatheke___Win32_Release_with_ICU"
-# PROP BASE Ignore_Export_Lib 0
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "ICURelease"
-# PROP Intermediate_Dir "ICURelease"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /w /W0 /GX /O2 /I "../../include" /I "../../src/utilfuns/win32" /D "NDEBUG" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /D "__VISUALC__" /FR /YX /FD /c
-# ADD CPP /nologo /MD /w /W0 /GX /O2 /I "../../include" /I "../../src/utilfuns/win32" /I "../../../icu-sword/include" /D "NDEBUG" /D "_ICU_" /D "_ICUSWORD_" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /FR /YX /FD /c
-# ADD BASE RSC /l 0x409 /d "NDEBUG"
-# ADD RSC /l 0x409 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib libsword.lib /nologo /subsystem:console /machine:I386 /libpath:"../../lib/vcppmake/vc6/Release"
-# ADD LINK32 icuin.lib icuuc.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib libswordvc6icu.lib /nologo /subsystem:console /machine:I386 /libpath:"../../../icu-sword/lib" /libpath:"../../lib"
-
-!ENDIF
-
-# Begin Target
-
-# Name "diatheke - Win32 Release"
-# Name "diatheke - Win32 Debug"
-# Name "diatheke - Win32 Debug with ICU"
-# Name "diatheke - Win32 Release with ICU"
-# Begin Group "Source Files"
-
-# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
-# Begin Source File
-
-SOURCE=.\corediatheke.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\diafiltmgr.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\diatheke.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\diathekemgr.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\gbfcgi.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\osiscgi.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\thmlcgi.cpp
-# End Source File
-# End Group
-# Begin Group "Header Files"
-
-# PROP Default_Filter "h;hpp;hxx;hm;inl"
-# Begin Source File
-
-SOURCE=.\corediatheke.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\diafiltmgr.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\diathekemgr.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\gbfcgi.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\osiscgi.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\thmlcgi.h
-# End Source File
-# End Group
-# Begin Group "Resource Files"
-
-# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
-# End Group
-# End Target
-# End Project
diff --git a/utilities/diatheke/diatheke.dsw b/utilities/diatheke/diatheke.dsw
deleted file mode 100644
index 3bf8c0c..0000000
--- a/utilities/diatheke/diatheke.dsw
+++ /dev/null
@@ -1,44 +0,0 @@
-Microsoft Developer Studio Workspace File, Format Version 6.00
-# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
-
-###############################################################################
-
-Project: "diatheke"=.\diatheke.dsp - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
- Begin Project Dependency
- Project_Dep_Name libsword
- End Project Dependency
-}}}
-
-###############################################################################
-
-Project: "libsword"=..\..\lib\vcppmake\vc6\libsword.dsp - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-}}}
-
-###############################################################################
-
-Global:
-
-Package=<5>
-{{{
-}}}
-
-Package=<3>
-{{{
-}}}
-
-###############################################################################
-
diff --git a/utilities/diatheke/diatheke.vcproj b/utilities/diatheke/diatheke.vcproj
new file mode 100644
index 0000000..6b2b2ed
--- /dev/null
+++ b/utilities/diatheke/diatheke.vcproj
@@ -0,0 +1,709 @@
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="9.00"
+ Name="diatheke"
+ ProjectGUID="{891A765C-5503-4FED-B427-7AE1413DB264}"
+ TargetFrameworkVersion="0"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="Debug|Win32"
+ OutputDirectory=".\Debug"
+ IntermediateDirectory=".\Debug"
+ ConfigurationType="1"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops"
+ UseOfMFC="0"
+ ATLMinimizesCRunTimeLibraryUsage="false"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ TypeLibraryName=".\Debug/diatheke.tlb"
+ HeaderFileName=""
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories="../../include,../../src/utilfuns/win32"
+ PreprocessorDefinitions="_DEBUG;WIN32;_CONSOLE;SWUSINGDLL"
+ MinimalRebuild="true"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="3"
+ PrecompiledHeaderFile=".\Debug/diatheke.pch"
+ AssemblerListingLocation=".\Debug/"
+ ObjectFile=".\Debug/"
+ ProgramDataBaseFileName=".\Debug/"
+ BrowseInformation="1"
+ SuppressStartupBanner="true"
+ DebugInformationFormat="4"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="_DEBUG"
+ Culture="1033"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="icuin.lib icuuc.lib icudt.lib libsword.lib"
+ OutputFile=".\Debug/diatheke.exe"
+ LinkIncremental="2"
+ SuppressStartupBanner="true"
+ AdditionalLibraryDirectories="../../../icu-sword/lib,../../lib/vcppmake/vc8/Debug"
+ GenerateDebugInformation="true"
+ ProgramDatabaseFile=".\Debug/diatheke.pdb"
+ SubSystem="1"
+ RandomizedBaseAddress="1"
+ DataExecutionPrevention="0"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ SuppressStartupBanner="true"
+ OutputFile=".\Debug/diatheke.bsc"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release|Win32"
+ OutputDirectory=".\Release"
+ IntermediateDirectory=".\Release"
+ ConfigurationType="1"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops"
+ UseOfMFC="0"
+ ATLMinimizesCRunTimeLibraryUsage="false"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ TypeLibraryName=".\Release/diatheke.tlb"
+ HeaderFileName=""
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ InlineFunctionExpansion="1"
+ AdditionalIncludeDirectories="../../include,../../src/utilfuns/win32"
+ PreprocessorDefinitions="NDEBUG;WIN32;_CONSOLE;SWUSINGDLL"
+ StringPooling="true"
+ RuntimeLibrary="2"
+ EnableFunctionLevelLinking="true"
+ PrecompiledHeaderFile=".\Release/diatheke.pch"
+ AssemblerListingLocation=".\Release/"
+ ObjectFile=".\Release/"
+ ProgramDataBaseFileName=".\Release/"
+ BrowseInformation="1"
+ SuppressStartupBanner="true"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="NDEBUG"
+ Culture="1033"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="icuin.lib icuuc.lib icudt.lib libsword.lib"
+ OutputFile=".\Release/diatheke.exe"
+ LinkIncremental="1"
+ SuppressStartupBanner="true"
+ AdditionalLibraryDirectories="../../../icu-sword/lib,../../lib/vcppmake/vc8/Release"
+ ProgramDatabaseFile=".\Release/diatheke.pdb"
+ SubSystem="1"
+ RandomizedBaseAddress="1"
+ DataExecutionPrevention="0"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ SuppressStartupBanner="true"
+ OutputFile=".\Release/diatheke.bsc"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Debug with ICU|Win32"
+ OutputDirectory=".\ICUDebug"
+ IntermediateDirectory=".\ICUDebug"
+ ConfigurationType="1"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops"
+ UseOfMFC="0"
+ ATLMinimizesCRunTimeLibraryUsage="false"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ TypeLibraryName=".\ICUDebug/diatheke.tlb"
+ HeaderFileName=""
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories="../../include,../../src/utilfuns/win32,../../../icu-sword/include"
+ PreprocessorDefinitions="_DEBUG;WIN32;_CONSOLE;_ICU_;_ICUSWORD_;SWUSINGDLL"
+ MinimalRebuild="true"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="3"
+ PrecompiledHeaderFile=".\ICUDebug/diatheke.pch"
+ AssemblerListingLocation=".\ICUDebug/"
+ ObjectFile=".\ICUDebug/"
+ ProgramDataBaseFileName=".\ICUDebug/"
+ BrowseInformation="1"
+ SuppressStartupBanner="true"
+ DebugInformationFormat="4"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="_DEBUG"
+ Culture="1033"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="icuin.lib icuuc.lib icudt.lib libsword.lib"
+ OutputFile=".\ICUDebug/diatheke.exe"
+ LinkIncremental="2"
+ SuppressStartupBanner="true"
+ AdditionalLibraryDirectories="../../../icu-sword/lib,../../lib/vcppmake/vc8/ICUDebug"
+ GenerateDebugInformation="true"
+ ProgramDatabaseFile=".\ICUDebug/diatheke.pdb"
+ SubSystem="1"
+ RandomizedBaseAddress="1"
+ DataExecutionPrevention="0"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ SuppressStartupBanner="true"
+ OutputFile=".\ICUDebug/diatheke.bsc"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release with ICU|Win32"
+ OutputDirectory=".\ICURelease"
+ IntermediateDirectory=".\ICURelease"
+ ConfigurationType="1"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops"
+ UseOfMFC="0"
+ ATLMinimizesCRunTimeLibraryUsage="false"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ TypeLibraryName=".\ICURelease/diatheke.tlb"
+ HeaderFileName=""
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ InlineFunctionExpansion="1"
+ AdditionalIncludeDirectories="../../include,../../src/utilfuns/win32,../../../icu-sword/include"
+ PreprocessorDefinitions="NDEBUG;WIN32;_CONSOLE;_ICU_;_ICUSWORD_;SWUSINGDLL"
+ StringPooling="true"
+ RuntimeLibrary="2"
+ EnableFunctionLevelLinking="true"
+ PrecompiledHeaderFile=".\ICURelease/diatheke.pch"
+ AssemblerListingLocation=".\ICURelease/"
+ ObjectFile=".\ICURelease/"
+ ProgramDataBaseFileName=".\ICURelease/"
+ BrowseInformation="1"
+ SuppressStartupBanner="true"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="NDEBUG"
+ Culture="1033"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="icuin.lib icuuc.lib icudt.lib libsword.lib"
+ OutputFile=".\ICURelease/diatheke.exe"
+ LinkIncremental="1"
+ SuppressStartupBanner="true"
+ AdditionalLibraryDirectories="../../../icu-sword/lib,../../lib/vcppmake/vc8/ICURelease"
+ ProgramDatabaseFile=".\ICURelease/diatheke.pdb"
+ SubSystem="1"
+ RandomizedBaseAddress="1"
+ DataExecutionPrevention="0"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ SuppressStartupBanner="true"
+ OutputFile=".\ICURelease/diatheke.bsc"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <Filter
+ Name="Source Files"
+ Filter="cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
+ >
+ <File
+ RelativePath="corediatheke.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug with ICU|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release with ICU|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="diafiltmgr.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug with ICU|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release with ICU|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="diatheke.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug with ICU|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release with ICU|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="diathekemgr.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug with ICU|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release with ICU|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="gbfcgi.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug with ICU|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release with ICU|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="osiscgi.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug with ICU|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release with ICU|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="thmlcgi.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug with ICU|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release with ICU|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ </File>
+ </Filter>
+ <Filter
+ Name="Header Files"
+ Filter="h;hpp;hxx;hm;inl"
+ >
+ <File
+ RelativePath="corediatheke.h"
+ >
+ </File>
+ <File
+ RelativePath="diafiltmgr.h"
+ >
+ </File>
+ <File
+ RelativePath="diathekemgr.h"
+ >
+ </File>
+ <File
+ RelativePath="gbfcgi.h"
+ >
+ </File>
+ <File
+ RelativePath="osiscgi.h"
+ >
+ </File>
+ <File
+ RelativePath="thmlcgi.h"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="Resource Files"
+ Filter="ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
+ >
+ </Filter>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>
diff --git a/utilities/diatheke/diathekemgr.cpp b/utilities/diatheke/diathekemgr.cpp
index 38cb46d..93351c0 100644
--- a/utilities/diatheke/diathekemgr.cpp
+++ b/utilities/diatheke/diathekemgr.cpp
@@ -1,21 +1,23 @@
+/*
+ * Copyright 2009 CrossWire Bible Society (http://www.crosswire.org)
+ * CrossWire Bible Society
+ * P. O. Box 2528
+ * Tempe, AZ 85280-2528
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation version 2.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ */
+
//---------------------------------------------------------------------------
-#include <thmlplain.h>
-#include <gbfplain.h>
-#include <thmlgbf.h>
-#include <gbfthml.h>
-#include <thmlhtml.h>
-#include <gbfhtml.h>
-#include <plainhtml.h>
-#include <thmlhtmlhref.h>
-#include <gbfhtmlhref.h>
-#include <thmlrtf.h>
-#include <gbfrtf.h>
-#include <utilstr.h>
#include <swmodule.h>
-#include <swconfig.h>
-#include "diafiltmgr.h"
-
#ifdef _ICU_
#include <utf8arshaping.h>
#include <utf8bidireorder.h>
@@ -27,8 +29,6 @@
#endif
#include "diathekemgr.h"
-#include "gbfcgi.h"
-#include "thmlcgi.h"
//---------------------------------------------------------------------------
DiathekeMgr::DiathekeMgr (SWConfig * iconfig, SWConfig * isysconfig, bool autoload, char enc, char mark, bool ibidi, bool ishape)
@@ -38,9 +38,9 @@ DiathekeMgr::DiathekeMgr (SWConfig * iconfig, SWConfig * isysconfig, bool autolo
shape = ishape;
#ifdef _ICU_
- arshaping = new UTF8arShaping();
+ arshaping = new UTF8arShaping();
bidireorder = new UTF8BiDiReorder();
- transliterator = new UTF8Transliterator();
+ transliterator = new UTF8Transliterator();
#endif
Load();
@@ -78,10 +78,10 @@ void DiathekeMgr::AddRenderFilters(SWModule *module, ConfigEntMap &section)
rtl = ((entry = section.find("Direction")) != section.end()) ? ((*entry).second == "RtoL") : false;
#ifdef _ICU_
- if (shape && !strnicmp(lang.c_str(), "ar", 2)) {
+ if (shape) {
module->AddRenderFilter(arshaping);
}
- if (bidi && rtl) {
+ if (bidi && rtl) {
module->AddRenderFilter(bidireorder);
}
#endif
diff --git a/utilities/diatheke/diathekemgr.h b/utilities/diatheke/diathekemgr.h
index cbd8e6f..6225bbf 100644
--- a/utilities/diatheke/diathekemgr.h
+++ b/utilities/diatheke/diathekemgr.h
@@ -1,10 +1,27 @@
+/*
+ * Copyright 2009 CrossWire Bible Society (http://www.crosswire.org)
+ * CrossWire Bible Society
+ * P. O. Box 2528
+ * Tempe, AZ 85280-2528
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation version 2.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ */
+
#ifndef DIATHEKEMGR_H
#define DIATHEKEMGR_H
#include <swmgr.h>
#include "diafiltmgr.h"
-enum PlatformIDs { WIN32S = 0, WIN9X, WINNT, WINCE };
+//enum PlatformIDs { WIN32S = 0, WIN9X, WINNT, WINCE };
class DiathekeMgr : public SWMgr {
SWFilter *arshaping;
@@ -12,13 +29,13 @@ class DiathekeMgr : public SWMgr {
SWOptionFilter *transliterator;
#ifdef WIN32
- char platformID;
+ char platformID;
#endif
protected:
virtual void AddRenderFilters(SWModule *module, ConfigEntMap &section);
- virtual signed char Load ();
- virtual void AddGlobalOptions (SWModule * module, ConfigEntMap & section, ConfigEntMap::iterator start, ConfigEntMap::iterator end);
+ virtual signed char Load ();
+ virtual void AddGlobalOptions (SWModule * module, ConfigEntMap & section, ConfigEntMap::iterator start, ConfigEntMap::iterator end);
public:
bool shape;
diff --git a/utilities/diatheke/gbfcgi.cpp b/utilities/diatheke/gbfcgi.cpp
index c581fa1..5112c46 100644
--- a/utilities/diatheke/gbfcgi.cpp
+++ b/utilities/diatheke/gbfcgi.cpp
@@ -1,18 +1,25 @@
/***************************************************************************
- gbfcgi.cpp - GBF to Diatheke/CGI format
- -------------------
- begin : 2001-11-12
- copyright : 2001 by CrossWire Bible Society
- ***************************************************************************/
-
-/***************************************************************************
- * *
- * This program is free software; you can redistribute it and/or modify *
- * it under the terms of the GNU General Public License as published by *
- * the Free Software Foundation; either version 2 of the License, or *
- * (at your option) any later version. *
- * *
- ***************************************************************************/
+ * gbfcgi.cpp - GBF to Diatheke/CGI format
+ * -------------------
+ * begin : 2001-11-12
+ * copyright : 2001 by CrossWire Bible Society
+ *
+ *
+ * Copyright 2009 CrossWire Bible Society (http://www.crosswire.org)
+ * CrossWire Bible Society
+ * P. O. Box 2528
+ * Tempe, AZ 85280-2528
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation version 2.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ */
#include <stdlib.h>
#include <string.h>
diff --git a/utilities/diatheke/gbfcgi.h b/utilities/diatheke/gbfcgi.h
index c2b68c9..71ded1a 100644
--- a/utilities/diatheke/gbfcgi.h
+++ b/utilities/diatheke/gbfcgi.h
@@ -1,18 +1,25 @@
-/*-*************************************************************************
- gbfcgi.h - description
- -------------------
- begin : 2001-11-12
- copyright : 2001 by CrossWire Bible Society
- ***************************************************************************/
-
-/***************************************************************************
- * *
- * This program is free software; you can redistribute it and/or modify *
- * it under the terms of the GNU General Public License as published by *
- * the Free Software Foundation; either version 2 of the License, or *
- * (at your option) any later version. *
- * *
- ***************************************************************************/
+/**************************************************************************
+ * gbfcgi.h - description
+ * -------------------
+ * begin : 2001-11-12
+ * copyright : 2001 by CrossWire Bible Society
+ *
+ *
+ * Copyright 2009 CrossWire Bible Society (http://www.crosswire.org)
+ * CrossWire Bible Society
+ * P. O. Box 2528
+ * Tempe, AZ 85280-2528
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation version 2.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ */
#ifndef GBFCGI_H
#define GBFCGI_H
@@ -27,7 +34,7 @@ SWORD_NAMESPACE_START
typedef std::map<SWBuf, SWBuf> DualStringMap;
/** this filter converts GBF text to Diatheke/CGI format
*/
-class SWDLLEXPORT GBFCGI : public SWBasicFilter {
+class GBFCGI : public SWBasicFilter {
protected:
virtual bool handleToken(SWBuf &buf, const char *token, DualStringMap &userData);
public:
diff --git a/utilities/diatheke/osiscgi.cpp b/utilities/diatheke/osiscgi.cpp
index 68298e9..86c7ed0 100644
--- a/utilities/diatheke/osiscgi.cpp
+++ b/utilities/diatheke/osiscgi.cpp
@@ -1,18 +1,25 @@
/***************************************************************************
- osiscgi.cpp - OSIS to Diatheke/CGI format
- -------------------
- begin : 2003-10-21
- copyright : 2003 by CrossWire Bible Society
- ***************************************************************************/
-
-/***************************************************************************
- * *
- * This program is free software; you can redistribute it and/or modify *
- * it under the terms of the GNU General Public License as published by *
- * the Free Software Foundation; either version 2 of the License, or *
- * (at your option) any later version. *
- * *
- ***************************************************************************/
+ * osiscgi.cpp - OSIS to Diatheke/CGI format
+ * -------------------
+ * begin : 2003-10-21
+ * copyright : 2003 by CrossWire Bible Society
+ *
+ *
+ * Copyright 2009 CrossWire Bible Society (http://www.crosswire.org)
+ * CrossWire Bible Society
+ * P. O. Box 2528
+ * Tempe, AZ 85280-2528
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation version 2.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ */
#include <stdlib.h>
#include "osiscgi.h"
diff --git a/utilities/diatheke/osiscgi.h b/utilities/diatheke/osiscgi.h
index c6c6411..d64e805 100644
--- a/utilities/diatheke/osiscgi.h
+++ b/utilities/diatheke/osiscgi.h
@@ -1,18 +1,25 @@
/***************************************************************************
- osiscgi.h - OSIS to Diatheke/CGI format
- -------------------
- begin : 2003-10-21
- copyright : 2003 by CrossWire Bible Society
- ***************************************************************************/
-
-/***************************************************************************
- * *
- * This program is free software; you can redistribute it and/or modify *
- * it under the terms of the GNU General Public License as published by *
- * the Free Software Foundation; either version 2 of the License, or *
- * (at your option) any later version. *
- * *
- ***************************************************************************/
+ * osiscgi.h - OSIS to Diatheke/CGI format
+ * -------------------
+ * begin : 2003-10-21
+ * copyright : 2003 by CrossWire Bible Society
+ *
+ *
+ * Copyright 2009 CrossWire Bible Society (http://www.crosswire.org)
+ * CrossWire Bible Society
+ * P. O. Box 2528
+ * Tempe, AZ 85280-2528
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation version 2.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ */
#ifndef OSISCGI_H
#define OSISCGI_H
@@ -25,7 +32,7 @@ SWORD_NAMESPACE_START
/** this filter converts OSIS text to Diatheke/CGI format
*/
-class SWDLLEXPORT OSISCGI : public SWBasicFilter {
+class OSISCGI : public SWBasicFilter {
private:
protected:
class MyUserData : public BasicFilterUserData {
diff --git a/utilities/diatheke/soap/sapouni.cgi b/utilities/diatheke/soap/sapouni.cgi
index 24df769..5412d23 100755
--- a/utilities/diatheke/soap/sapouni.cgi
+++ b/utilities/diatheke/soap/sapouni.cgi
@@ -1,5 +1,21 @@
#!/usr/bin/perl
+# *
+# * Copyright 2009 CrossWire Bible Society (http://www.crosswire.org)
+# * CrossWire Bible Society
+# * P. O. Box 2528
+# * Tempe, AZ 85280-2528
+# *
+# * This program is free software; you can redistribute it and/or modify it
+# * under the terms of the GNU General Public License as published by the
+# * Free Software Foundation version 2.
+# *
+# * This program is distributed in the hope that it will be useful, but
+# * WITHOUT ANY WARRANTY; without even the implied warranty of
+# * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# * General Public License for more details.
+# *
+
#version 1.0
package sapouni;
diff --git a/utilities/diatheke/soap/soapatheke.pl b/utilities/diatheke/soap/soapatheke.pl
index e3f88ed..c45fd98 100755
--- a/utilities/diatheke/soap/soapatheke.pl
+++ b/utilities/diatheke/soap/soapatheke.pl
@@ -1,5 +1,22 @@
#!/usr/bin/perl
+# *
+# * Copyright 2009 CrossWire Bible Society (http://www.crosswire.org)
+# * CrossWire Bible Society
+# * P. O. Box 2528
+# * Tempe, AZ 85280-2528
+# *
+# * This program is free software; you can redistribute it and/or modify it
+# * under the terms of the GNU General Public License as published by the
+# * Free Software Foundation version 2.
+# *
+# * This program is distributed in the hope that it will be useful, but
+# * WITHOUT ANY WARRANTY; without even the implied warranty of
+# * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# * General Public License for more details.
+# *
+
+
## This is a test app and has no other purpose.
use SOAP::Lite;
diff --git a/utilities/diatheke/tcl/biblebot-diatheke.tcl b/utilities/diatheke/tcl/biblebot-diatheke.tcl
index 1fea379..52d7568 100644
--- a/utilities/diatheke/tcl/biblebot-diatheke.tcl
+++ b/utilities/diatheke/tcl/biblebot-diatheke.tcl
@@ -1,9 +1,22 @@
# Diatheke/Tcl 3.0 by Chris Little <chrislit@gotjesus.org>
# Based on code schema of <cking@acy.digex.net>
-# Copyright 1999 by Chris Little
-# Licensed under GNU General Public License (GPL)
-# see accompanying LICENSE file for license details
+# *
+# * Copyright 1999-2009 CrossWire Bible Society (http://www.crosswire.org)
+# * CrossWire Bible Society
+# * P. O. Box 2528
+# * Tempe, AZ 85280-2528
+# *
+# * This program is free software; you can redistribute it and/or modify it
+# * under the terms of the GNU General Public License as published by the
+# * Free Software Foundation version 2.
+# *
+# * This program is distributed in the hope that it will be useful, but
+# * WITHOUT ANY WARRANTY; without even the implied warranty of
+# * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# * General Public License for more details.
+# *
+
# This script is intended for use with libraries and modules from
# the SWORD Project, available at http://www.crosswire.org/
diff --git a/utilities/diatheke/thmlcgi.cpp b/utilities/diatheke/thmlcgi.cpp
index 5ad180d..1bcc5ba 100644
--- a/utilities/diatheke/thmlcgi.cpp
+++ b/utilities/diatheke/thmlcgi.cpp
@@ -1,18 +1,25 @@
/***************************************************************************
- thmlcgi.cpp - ThML to Diatheke/CGI format
- -------------------
- begin : 2001-11-12
- copyright : 2001 by CrossWire Bible Society
- ***************************************************************************/
-
-/***************************************************************************
- * *
- * This program is free software; you can redistribute it and/or modify *
- * it under the terms of the GNU General Public License as published by *
- * the Free Software Foundation; either version 2 of the License, or *
- * (at your option) any later version. *
- * *
- ***************************************************************************/
+ * thmlcgi.cpp - ThML to Diatheke/CGI format
+ * -------------------
+ * begin : 2001-11-12
+ * copyright : 2001 by CrossWire Bible Society
+ *
+ *
+ * Copyright 2009 CrossWire Bible Society (http://www.crosswire.org)
+ * CrossWire Bible Society
+ * P. O. Box 2528
+ * Tempe, AZ 85280-2528
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation version 2.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ */
#include <stdlib.h>
#include <string.h>
diff --git a/utilities/diatheke/thmlcgi.h b/utilities/diatheke/thmlcgi.h
index efa9018..bfdee35 100644
--- a/utilities/diatheke/thmlcgi.h
+++ b/utilities/diatheke/thmlcgi.h
@@ -1,18 +1,25 @@
/***************************************************************************
- thmlcgi.h - OSIS to Diatheke/CGI format
- -------------------
- begin : 2001-11-12
- copyright : 2001 by CrossWire Bible Society
- ***************************************************************************/
-
-/***************************************************************************
- * *
- * This program is free software; you can redistribute it and/or modify *
- * it under the terms of the GNU General Public License as published by *
- * the Free Software Foundation; either version 2 of the License, or *
- * (at your option) any later version. *
- * *
- ***************************************************************************/
+ * thmlcgi.h - OSIS to Diatheke/CGI format
+ * -------------------
+ * begin : 2001-11-12
+ * copyright : 2001 by CrossWire Bible Society
+ *
+ *
+ * Copyright 2009 CrossWire Bible Society (http://www.crosswire.org)
+ * CrossWire Bible Society
+ * P. O. Box 2528
+ * Tempe, AZ 85280-2528
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation version 2.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ */
#ifndef THMLCGI_H
#define THMLCGI_H
@@ -27,7 +34,7 @@ SWORD_NAMESPACE_START
typedef std::map<SWBuf, SWBuf> DualStringMap;
/** this filter converts ThML text to Diatheke/CGI format
*/
-class SWDLLEXPORT ThMLCGI : public SWBasicFilter {
+class ThMLCGI : public SWBasicFilter {
protected:
virtual bool handleToken(SWBuf &buf, const char *token, DualStringMap &userData);
public:
diff --git a/utilities/emptyvss.cpp b/utilities/emptyvss.cpp
index 366aa21..61a1b6c 100644
--- a/utilities/emptyvss.cpp
+++ b/utilities/emptyvss.cpp
@@ -1,7 +1,25 @@
+/*
+ * Copyright 2009 CrossWire Bible Society (http://www.crosswire.org)
+ * CrossWire Bible Society
+ * P. O. Box 2528
+ * Tempe, AZ 85280-2528
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation version 2.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ */
+
#include <swmgr.h>
#include <swmodule.h>
#include <versekey.h>
#include <iostream>
+#include <stdio.h>
#ifndef NO_SWORD_NAMESPACE
using sword::SWMgr;
diff --git a/utilities/gbfidx.cpp b/utilities/gbfidx.cpp
index 88921ac..4dc6e65 100644
--- a/utilities/gbfidx.cpp
+++ b/utilities/gbfidx.cpp
@@ -1,8 +1,25 @@
/*****************************************************************************
*
- * This code wreaks but works (at least for WEB). Good luck!
+ * This code reeks but works (at least for WEB). Good luck!
+ *
+ *
+ * Copyright 2009 CrossWire Bible Society (http://www.crosswire.org)
+ * CrossWire Bible Society
+ * P. O. Box 2528
+ * Tempe, AZ 85280-2528
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation version 2.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
*/
+
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
diff --git a/utilities/genbookutil.cpp b/utilities/genbookutil.cpp
index e9beb72..61b4821 100644
--- a/utilities/genbookutil.cpp
+++ b/utilities/genbookutil.cpp
@@ -1,3 +1,20 @@
+/*
+ * Copyright 2009 CrossWire Bible Society (http://www.crosswire.org)
+ * CrossWire Bible Society
+ * P. O. Box 2528
+ * Tempe, AZ 85280-2528
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation version 2.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ */
+
#include <entriesblk.h>
#include <iostream>
#include <stdio.h>
diff --git a/utilities/imp2gbs.cpp b/utilities/imp2gbs.cpp
index 9488eef..ba6a222 100644
--- a/utilities/imp2gbs.cpp
+++ b/utilities/imp2gbs.cpp
@@ -1,3 +1,20 @@
+/*
+ * Copyright 2009 CrossWire Bible Society (http://www.crosswire.org)
+ * CrossWire Bible Society
+ * P. O. Box 2528
+ * Tempe, AZ 85280-2528
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation version 2.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ */
+
#include <ctype.h>
#include <stdio.h>
#include <errno.h>
diff --git a/utilities/imp2ld.cpp b/utilities/imp2ld.cpp
index bde5b18..e9bd0c7 100644
--- a/utilities/imp2ld.cpp
+++ b/utilities/imp2ld.cpp
@@ -1,3 +1,20 @@
+/*
+* Copyright 2009 CrossWire Bible Society (http://www.crosswire.org)
+* CrossWire Bible Society
+* P. O. Box 2528
+* Tempe, AZ 85280-2528
+*
+* This program is free software; you can redistribute it and/or modify it
+* under the terms of the GNU General Public License as published by the
+* Free Software Foundation version 2.
+*
+* This program is distributed in the hope that it will be useful, but
+* WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+* General Public License for more details.
+*
+*/
+
#include <string>
#include <vector>
#include <fstream>
@@ -11,165 +28,120 @@
using std::string;
#ifndef NO_SWORD_NAMESPACE
-using sword::zLD;
-using sword::ZipCompress;
-using sword::RawLD4;
-using sword::RawLD;
-using sword::SWKey;
+
+using namespace sword;
+
#endif
int main(int argc, char **argv) {
- const char * helptext ="imp2ld 1.0 Lexicon/Dictionary/Daily Devotional/Glossary module creation tool for the SWORD Project\n usage:\n %s <filename> [modname] [ 4 (default) | 2 | z - module driver]\n";
-
- signed long i = 0;
- string keybuffer;
- string entbuffer;
- string linebuffer;
- char modname[16];
- char links = 0;
- std::vector<string> linkbuffer;
-
- if (argc > 2) {
- strcpy (modname, argv[2]);
- }
- else if (argc > 1) {
- for (i = 0; (i < 16) && (argv[1][i]) && (argv[1][i] != '.'); i++) {
- modname[i] = argv[1][i];
- }
- modname[i] = 0;
- }
- else {
- fprintf(stderr, helptext, argv[0]);
- exit(-1);
- }
-
- std::ifstream infile(argv[1]);
-
- char mode = 1;
- if (argc > 3) {
- switch (*argv[3]) {
- case 'z':
- mode = 3;
- break;
- case '2':
- mode = 2;
- break;
- default:
- mode = 1;
- }
- }
-
- zLD* modZ = NULL;
- RawLD* mod2 = NULL;
- RawLD4* mod4 = NULL;
- SWKey* key;
-
- if (mode == 3) {
- zLD::createModule(modname);
- modZ = new zLD(modname, 0, 0, 30, new ZipCompress());
- key = modZ->CreateKey();
- }
- else if (mode == 2) {
- RawLD::createModule(modname);
- mod2 = new RawLD(modname);
- key = mod2->CreateKey();
- }
- else if (mode == 1) {
- RawLD4::createModule(modname);
- mod4 = new RawLD4(modname);
- key = mod4->CreateKey();
- }
-
- key->Persist(1);
-
- while (!infile.eof()) {
- std::getline(infile, linebuffer);
- if (linebuffer.size() > 3 && linebuffer.substr(0,3) == "$$$") {
- if (keybuffer.size() && entbuffer.size()) {
- std::cout << keybuffer << std::endl;
- *key = keybuffer.c_str();
-
- if (mode == 3) {
- modZ->setKey(*key);
- modZ->setEntry(entbuffer.c_str(), entbuffer.size());
- for (i = 0; i < links; i++) {
- SWKey tmpkey = linkbuffer[i].c_str();
- modZ->linkEntry(&tmpkey);
- std::cout << "Linking: " << linkbuffer[i] << std::endl;
- }
+ const char * helptext ="imp2ld 1.0 Lexicon/Dictionary/Daily Devotional/Glossary module creation tool for the SWORD Project\n usage:\n %s <filename> [modname] [ 4 (default) | 2 | z - module driver]\n";
+
+ signed long i = 0;
+ string keybuffer;
+ string entbuffer;
+ string linebuffer;
+ char modname[16];
+ char links = 0;
+ std::vector<string> linkbuffer;
+
+ if (argc > 2) {
+ strcpy (modname, argv[2]);
}
- else if (mode == 2) {
- mod2->setKey(*key);
- mod2->setEntry(entbuffer.c_str(), entbuffer.size());
- for (i = 0; i < links; i++) {
- SWKey tmpkey = linkbuffer[i].c_str();
- mod2->linkEntry(&tmpkey);
- std::cout << "Linking: " << linkbuffer[i] << std::endl;
- }
+ else if (argc > 1) {
+ for (i = 0; (i < 16) && (argv[1][i]) && (argv[1][i] != '.'); i++) {
+ modname[i] = argv[1][i];
+ }
+ modname[i] = 0;
}
- else if (mode == 1) {
- mod4->setKey(*key);
- mod4->setEntry(entbuffer.c_str(), entbuffer.size());
- for (i = 0; i < links; i++) {
- SWKey tmpkey = linkbuffer[i].c_str();
- mod4->linkEntry(&tmpkey);
- std::cout << "Linking: " << linkbuffer[i] << std::endl;
- }
+ else {
+ fprintf(stderr, helptext, argv[0]);
+ exit(-1);
}
- }
- if (linebuffer.size() > 3)
- keybuffer = linebuffer.substr(3,linebuffer.size()) ;
- entbuffer.resize(0);
- linkbuffer.clear();
- links = 0;
- }
- else if (linebuffer.size() > 3 && linebuffer.substr(0,3) == "%%%") {
- linkbuffer.push_back(linebuffer.substr(3,linebuffer.size()));
- links++;
- }
- else {
- entbuffer += linebuffer;
- }
- }
-
- //handle final entry
- if (keybuffer.size() && entbuffer.size()) {
- std::cout << keybuffer << std::endl;
- *key = keybuffer.c_str();
-
- if (mode == 3) {
- modZ->setKey(*key);
- modZ->setEntry(entbuffer.c_str(), entbuffer.size());
- for (i = 0; i < links; i++) {
- SWKey tmpkey = linkbuffer[i].c_str();
- modZ->linkEntry(&tmpkey);
- std::cout << "Linking: " << linkbuffer[i] << std::endl;
- }
- }
- else if (mode == 2) {
- mod2->setKey(*key);
- mod2->setEntry(entbuffer.c_str(), entbuffer.size());
- for (i = 0; i < links; i++) {
- SWKey tmpkey = linkbuffer[i].c_str();
- mod2->linkEntry(&tmpkey);
- std::cout << "Linking: " << linkbuffer[i] << std::endl;
- }
-
- }
- else if (mode == 1) {
- mod4->setKey(*key);
- mod4->setEntry(entbuffer.c_str(), entbuffer.size());
- for (i = 0; i < links; i++) {
- SWKey tmpkey = linkbuffer[i].c_str();
- mod4->linkEntry(&tmpkey);
- std::cout << "Linking: " << linkbuffer[i] << std::endl;
- }
-
- }
- }
- infile.close();
-
- return 0;
+
+ std::ifstream infile(argv[1]);
+
+ char mode = 1;
+ if (argc > 3) {
+ switch (*argv[3]) {
+ case 'z': mode = 3; break;
+ case '2': mode = 2; break;
+ default: mode = 1;
+ }
+ }
+
+ SWModule *mod = 0;
+ SWKey *key, *linkKey;
+
+ switch (mode) {
+ case 3:
+ zLD::createModule(modname);
+ mod = new zLD(modname, 0, 0, 30, new ZipCompress());
+ break;
+ case 2:
+ RawLD::createModule(modname);
+ mod = new RawLD(modname);
+ break;
+ case 1:
+ RawLD4::createModule(modname);
+ mod = new RawLD4(modname);
+ break;
+ }
+
+ key = mod->CreateKey();
+ linkKey = mod->CreateKey();
+ key->Persist(1);
+ mod->setKey(key);
+
+ while (!infile.eof()) {
+ std::getline(infile, linebuffer);
+ if (linebuffer.size() > 3 && linebuffer.substr(0,3) == "$$$") {
+ if (keybuffer.size() && entbuffer.size()) {
+ std::cout << keybuffer << std::endl;
+ *key = keybuffer.c_str();
+
+ mod->setEntry(entbuffer.c_str(), entbuffer.size());
+ for (i = 0; i < links; i++) {
+ std::cout << "Linking: " << linkbuffer[i] << std::endl;
+ *linkKey = linkbuffer[i].c_str();
+ mod->linkEntry(linkKey);
+ }
+ }
+ if (linebuffer.size() > 3)
+ keybuffer = linebuffer.substr(3,linebuffer.size());
+
+ entbuffer.resize(0);
+ linkbuffer.clear();
+ links = 0;
+ }
+ else if (linebuffer.size() > 3 && linebuffer.substr(0,3) == "%%%") {
+ linkbuffer.push_back(linebuffer.substr(3,linebuffer.size()));
+ links++;
+ }
+ else {
+ entbuffer += linebuffer;
+ }
+ }
+
+ //handle final entry
+ if (keybuffer.size() && entbuffer.size()) {
+ std::cout << keybuffer << std::endl;
+ *key = keybuffer.c_str();
+
+ mod->setEntry(entbuffer.c_str(), entbuffer.size());
+ for (i = 0; i < links; i++) {
+ std::cout << "Linking: " << linkbuffer[i] << std::endl;
+ *linkKey = linkbuffer[i].c_str();
+ mod->linkEntry(linkKey);
+ }
+ }
+
+ infile.close();
+
+ delete linkKey;
+ delete key;
+ delete mod;
+
+ return 0;
}
diff --git a/utilities/imp2vs.cpp b/utilities/imp2vs.cpp
index 9ae3881..62d34a1 100644
--- a/utilities/imp2vs.cpp
+++ b/utilities/imp2vs.cpp
@@ -1,182 +1,215 @@
-#include <ctype.h>
-#include <stdio.h>
-#include <fcntl.h>
-#include <errno.h>
-#include <stdlib.h>
-#include <string>
-#include <fstream>
-using namespace std;
+/*
+ * Copyright 2009 CrossWire Bible Society (http://www.crosswire.org)
+ * CrossWire Bible Society
+ * P. O. Box 2528
+ * Tempe, AZ 85280-2528
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation version 2.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ */
#include <iostream>
#include <rawtext.h>
- #include <rawtext4.h>
+#include <rawtext4.h>
#include <versekey.h>
-
+#include <swbuf.h>
+#include <filemgr.h>
+#include <stdio.h>
#ifndef NO_SWORD_NAMESPACE
-using sword::RawText;
-using sword::RawText4;
-using sword::VerseKey;
-using sword::SWText;
-using sword::ListKey;
+using namespace sword;
#endif
+using namespace std;
+
+void writeEntry(const SWBuf &key, const SWBuf &entry, SWModule *module);
+
+void usage(const char *progName, const char *error = 0) {
+ if (error) fprintf(stderr, "\n%s: %s\n", progName, error);
+ fprintf(stderr, "\n=== imp2vs (Revision $Rev: 2234 $) SWORD Bible/Commentary importer.\n");
+ fprintf(stderr, "\nusage: %s <imp_file> [options]\n", progName);
+ fprintf(stderr, " -a\t\t\t augment module if exists (default is to create new)\n");
+ fprintf(stderr, " -o <output_path>\t where to write data files.\n");
+ fprintf(stderr, " -4\t\t\t use 4 byte size entries (default is 2).\n");
+ fprintf(stderr, " -v <v11n>\t\t specify a versification scheme to use (default is KJV)\n");
+ fprintf(stderr, "\t\t\t\t Note: The following are valid values for v11n:\n");
+ VerseMgr *vmgr = VerseMgr::getSystemVerseMgr();
+ StringList av11n = vmgr->getVersificationSystems();
+ for (StringList::iterator loop = av11n.begin(); loop != av11n.end(); loop++) {
+ fprintf(stderr, "\t\t\t\t\t%s\n", (*loop).c_str());
+ }
+ fprintf(stderr, "\n");
+ fprintf(stderr, "'imp' format is a simple standard for importing data into SWORD modules.\n"
+ "Required is a plain text file containing $$$key lines followed by content.\n\n"
+ "$$$Gen.1.1\n"
+ "In the beginning God created\n"
+ "the heavens and the earth\n"
+ "$$$Gen.1.2\n"
+ "and the earth...\n\n"
+ "Key lines can contain ranges, for example, a commentary entry which discusses\n"
+ "John 1:1-4 might have a key, $$$Jn.1.1-4. Special keys for intro entries use\n"
+ "standard SWORD notation, e.g. $$$Rom.4.0 for intro of Romans chapter 4,\n"
+ "$$$Rev.0.0 for intro of the Book of Revelation of John. $$$[ Module Heading ]\n"
+ "for entire module intro. $$$[ Testament 2 Heading ] for NT intro.\n\n");
+ exit(-1);
+}
+
+
int main(int argc, char **argv) {
-
- const string helptext ="imp2vs 1.0 Bible/Commentary module creation tool for the SWORD Project\n usage:\n %s <filename> [output dir] \n";
-
- string keybuffer = "";
- string entbuffer = "";
- string linebuffer = "";
- string modname = "";
-
- if (argc > 2) {
- modname = argv[2];
- }
- else if (argc > 1) {
- modname = "./";
- }
- else {
- fprintf(stderr, helptext.c_str(), argv[0]);
- exit(-1);
- }
- int mode = 1;
- if (argc > 3) {
- switch (*argv[3]) {
- case '4':
- mode = 2;
- break;
- default:
- mode = 1;
- }
- }
-
-
-
- try {
-
- ifstream infile(argv[1]);
-
- SWText* mod;
- RawText * modRaw;
- RawText4 * modRaw4;
-
- if (mode == 1) {
- RawText::createModule(modname.c_str());
- modRaw= new RawText(modname.c_str());
- mod = modRaw;
- } else {
- RawText4::createModule(modname.c_str());
- modRaw4= new RawText4(modname.c_str());
- mod = modRaw4;
- }
-
- VerseKey* vkey = new VerseKey;
- vkey->Headings(1);
- vkey->AutoNormalize(0);
- vkey->Persist(1);
- mod->setKey(*vkey);
- char final; // 2 == pre-final line; 1 == final line; 0 == EOF
-
- getline(infile,linebuffer);
- final = (!infile.eof()) + 1;
-
- while (final) {
- if (final == 1 || (linebuffer.size() > 3 && linebuffer.substr(0,3) == "$$$")) {
- if (keybuffer.size() && entbuffer.size()) {
- std::cout << "from file: " << keybuffer << std::endl;
- *vkey = keybuffer.c_str();
- if (!vkey->Chapter()) {
- // bad hack: 0:0 is Book intro; (chapter):0 is Chapter intro; 0:2 is Module intro; 0:1 is Testament intro
- int backstep = vkey->Verse();
- if (backstep) {
- vkey->Verse(1);
- vkey->Chapter(1);
- switch (backstep) {
- case 2:
- vkey->Book(1);
- vkey->Testament(0);
- case 1:
- vkey->Book(0);
- vkey->Chapter(0);
- }
- vkey->Verse(0);
- }
-
- std::cout << "adding entry: " << *vkey << " length " << entbuffer.size() << "/" << (unsigned short)entbuffer.size() << std::endl;
- mod->setEntry(entbuffer.c_str(), entbuffer.size());
+
+
+ // handle options
+ if (argc < 2) usage(*argv);
+
+ const char *progName = argv[0];
+ const char *inFileName = argv[1];
+ SWBuf v11n = "KJV";
+ SWBuf outPath = "./";
+ bool fourByteSize = false;
+ bool append = false;
+
+ for (int i = 2; i < argc; i++) {
+ if (!strcmp(argv[i], "-a")) {
+ append = true;
+ }
+ if (!strcmp(argv[i], "-4")) {
+ fourByteSize = true;
+ }
+ else if (!strcmp(argv[i], "-o")) {
+ if (i+1 < argc) outPath = argv[++i];
+ else usage(progName, "-o requires <output_path>");
+ }
+ else if (!strcmp(argv[i], "-v")) {
+ if (i+1 < argc) v11n = argv[++i];
+ else usage(progName, "-v requires <v11n>");
+ }
+ else usage(progName, (((SWBuf)"Unknown argument: ")+ argv[i]).c_str());
+ }
+ // -----------------------------------------------------
+ const VerseMgr::System *v = VerseMgr::getSystemVerseMgr()->getVersificationSystem(v11n);
+ if (!v) std::cout << "Warning: Versification " << v11n << " not found. Using KJV versification...\n";
+
+
+ // setup module
+ if (!append) {
+ if (!fourByteSize)
+ RawText::createModule(outPath, v11n);
+ else RawText4::createModule(outPath, v11n);
+ }
+
+ SWModule *module = (!fourByteSize)
+ ? (SWModule *)new RawText(outPath, 0, 0, 0, ENC_UNKNOWN, DIRECTION_LTR, FMT_UNKNOWN, 0, v11n)
+ : (SWModule *)new RawText4(outPath, 0, 0, 0, ENC_UNKNOWN, DIRECTION_LTR, FMT_UNKNOWN, 0, v11n);
+ // -----------------------------------------------------
+
+
+ // setup module key to allow full range of possible values, and then some
+ VerseKey *vkey = (VerseKey *)module->CreateKey();
+ vkey->Headings(1);
+ vkey->AutoNormalize(0);
+ vkey->Persist(1);
+ module->setKey(*vkey);
+ // -----------------------------------------------------
+
+
+ // process input file
+ FileDesc *fd = FileMgr::getSystemFileMgr()->open(inFileName, FileMgr::RDONLY);
+
+ SWBuf lineBuffer;
+ SWBuf currentKey;
+ SWBuf currentEntry;
+
+ while (FileMgr::getLine(fd, lineBuffer)) {
+ if (lineBuffer.startsWith("$$$")) {
+ writeEntry(currentKey, currentEntry, module);
+ currentKey = lineBuffer;
+ currentKey << 3;
+ currentKey.trim();
+ currentEntry = "";
+ }
+ else {
+ currentEntry += lineBuffer;
+ }
}
- else {
- ListKey listkey = vkey->ParseVerseList(keybuffer.c_str(), "Gen1:1", true);
- int i;
- bool havefirst = false;
- VerseKey firstverse;
- firstverse.Headings(1);
- firstverse.AutoNormalize(0);
- for (i = 0; i < listkey.Count(); i++) {
- VerseKey *element = SWDYNAMIC_CAST(VerseKey, listkey.GetElement(i));
- if (element) {
- *vkey = element->LowerBound();
- VerseKey finalkey = element->UpperBound();
- finalkey.Headings(1);
- finalkey.AutoNormalize(0);
- if (!havefirst) {
- havefirst = true;
- firstverse = *vkey;
-
- std::cout << "adding entry: " << *vkey << " length " << entbuffer.size() << "/" << (unsigned short)entbuffer.size() << std::endl;
- mod->setEntry(entbuffer.c_str(), entbuffer.size());
- (*vkey)++;
- }
- while (! (finalkey < (*vkey))) {
- std::cout << "linking entry: " << *vkey << " to " << firstverse << std::endl;
- *mod << &firstverse;
- (*vkey)++;
- }
- }
- else {
- if (havefirst) {
- *vkey = (*listkey.GetElement(i));
- std::cout << "linking entry: " << *vkey << " to " << firstverse << std::endl;
- *mod << &firstverse;
- }
- else {
- *vkey = (*listkey.GetElement(i));
- havefirst = true;
- firstverse = *vkey;
-
- std::cout << "adding entry: " << *vkey << " length " << entbuffer.size() << "/" << (unsigned short)entbuffer.size() << std::endl;
- mod->setEntry(entbuffer.c_str(), entbuffer.size());
- }
- }
- }
+ writeEntry(currentKey, currentEntry, module);
+
+ FileMgr::getSystemFileMgr()->close(fd);
+
+ delete vkey;
+
+ return 0;
+}
+
+
+
+int page = 0;
+
+
+void writeEntry(const SWBuf &key, const SWBuf &entry, SWModule *module)
+{
+ if (key.size() && entry.size()) {
+ std::cout << "from file: " << key << std::endl;
+ VerseKey *vkey = (VerseKey *)module->getKey();
+ VerseKey *linkMaster = (VerseKey *)module->CreateKey();
+
+ ListKey listKey = vkey->ParseVerseList(key.c_str(), "Gen1:1", true);
+
+ bool first = true;
+ for (listKey = TOP; !listKey.Error(); listKey++) {
+ *vkey = listKey;
+ if (first) {
+ *linkMaster = *vkey;
+ SWBuf text = module->getRawEntry();
+ text += entry;
+
+
+ //------------------------------------------------------------
+ // Tregelles Page marking special stuff
+ //------------------------------------------------------------
+/*
+ const char *pageMarker = "<seg type=\"page\" subtype=\"";
+ int newPage = page;
+ SWBuf pageData = strstr(text.c_str(), pageMarker);
+ if (pageData.length()) {
+ pageData << strlen(pageMarker);
+ const char *pn = pageData.stripPrefix('"');
+ if (pn) newPage = atoi(pn);
+ }
+ // add page stuff for treg
+ if (text.startsWith(pageMarker)) {
+ // don't add anything cuz we already start with one
+ }
+ else {
+ SWBuf pm = pageMarker;
+ pm.appendFormatted("%d\" />", page);
+ text = pm + text;
+ }
+
+ page = newPage; // when our line set a new page number
+
+*/
+ //------------------------------------------------------------
+
+
+
+
+ std::cout << "adding entry: " << *vkey << " length " << entry.size() << "/" << (unsigned short)text.size() << std::endl;
+ module->setEntry(text);
+ first = false;
+ }
+ else {
+ std::cout << "linking entry: " << *vkey << " to " << *linkMaster << std::endl;
+ module->linkEntry(linkMaster);
+ }
+ }
+
+ delete linkMaster;
}
- }
- if (linebuffer.size() > 3)
- keybuffer = linebuffer.substr(3,linebuffer.size()) ;
- entbuffer.resize(0);
- }
- else {
- entbuffer.append(linebuffer);
- }
- final--;
- if (final) {
- getline(infile,linebuffer);
- final = (!infile.eof()) + 1;
- }
- }
- }
- catch (const std::exception& e) {
- std::cerr << "Exception: imp2vs failed: " << e.what() << std::endl;
- std::cerr << "Line: " << linebuffer.size() << " " << linebuffer << std::endl;
- std::cerr << "Key: " << keybuffer.size() << " " << keybuffer << std::endl;
- std::cerr << "Ent: " << entbuffer.size() << " " << entbuffer << std::endl;
- return -2;
- }
- catch (...) {
- std::cerr << "Exception: imp2vs failed" << std::endl;
- return -3;
- }
-
- return 0;
}
diff --git a/utilities/installmgr.cpp b/utilities/installmgr.cpp
index 60fc7ce..d4a8cb2 100644
--- a/utilities/installmgr.cpp
+++ b/utilities/installmgr.cpp
@@ -1,3 +1,20 @@
+/*
+ * Copyright 2009 CrossWire Bible Society (http://www.crosswire.org)
+ * CrossWire Bible Society
+ * P. O. Box 2528
+ * Tempe, AZ 85280-2528
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation version 2.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ */
+
#include <swmgr.h>
#include <installmgr.h>
#include <filemgr.h>
@@ -16,19 +33,70 @@ using std::map;
SWMgr *mgr;
InstallMgr *installMgr;
+SWBuf baseDir;
+SWBuf confPath;
+
+
+class MyInstallMgr : public InstallMgr {
+public:
+ MyInstallMgr(const char *privatePath = "./") : InstallMgr(privatePath) {}
+
+virtual bool isUserDisclaimerConfirmed() const {
+ static bool confirmed = false;
+ if (!confirmed) {
+ cout << "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n";
+ cout << " -=+* WARNING *+=- -=+* WARNING *+=-\n\n\n";
+ cout << "Although Install Manager provides a convenient way for installing\n";
+ cout << "and upgrading SWORD components, it also uses a systematic method\n";
+ cout << "for accessing sites which gives packet sniffers a target to lock\n";
+ cout << "into for singling out users. \n\n\n";
+ cout << "IF YOU LIVE IN A PERSECUTED COUNTRY AND DO NOT WISH TO RISK DETECTION,\n";
+ cout << "YOU SHOULD *NOT* USE INSTALL MANAGER'S REMOTE SOURCE FEATURES.\n\n\n";
+ cout << "Also, Remote Sources other than CrossWire may contain less than\n";
+ cout << "quality modules, modules with unorthodox content, or even modules\n";
+ cout << "which are not legitimately distributable. Many repositories\n";
+ cout << "contain wonderfully useful content. These repositories simply\n";
+ cout << "are not reviewed or maintained by CrossWire and CrossWire\n";
+ cout << "cannot be held responsible for their content. CAVEAT EMPTOR.\n\n\n";
+ cout << "If you understand this and are willing to enable remote source features\n";
+ cout << "then type yes at the prompt\n\n";
+ cout << "enable? [no] ";
+
+ char prompt[10];
+ fgets(prompt, 9, stdin);
+ confirmed = (!strcmp(prompt, "yes\n"));
+ }
+ return confirmed;
+}
+
+};
+
+void init() {
+ mgr = new SWMgr();
+ SWBuf baseDir = mgr->getHomeDir();
+ if (baseDir.length() < 1) baseDir = ".";
+ baseDir += "/.sword/InstallMgr";
+ confPath = baseDir + "/InstallMgr.conf";
+ installMgr = new MyInstallMgr(baseDir);
+}
+
+// clean up and exit if status is 0 or negative error code
void finish(int status) {
delete installMgr;
delete mgr;
- cout << "\n";
- exit(status);
+ if (status < 1) {
+ cout << "\n";
+ exit(status);
+ }
}
void usage(const char *progName) {
fprintf(stderr, "usage: %s <option>\nOptions:\n"
"\t-init\t\t\t\tcreate a basic user config file.\n"
+ "\t-sc\t\t\t\tsync config with known remote repo list\n"
"\t\t\t\t\t\tWARNING: overwrites existing.\n"
"\t-l\t\t\t\tlist installed modules\n"
"\t-u <modName>\t\t\tuninstall module\n"
@@ -44,24 +112,8 @@ void usage(const char *progName) {
}
-void initConfig() {
- cout << "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n";
- cout << " -=+* WARNING *+=- -=+* WARNING *+=-\n\n\n";
- cout << "Although Install Manager provides a convenient way for installing\n";
- cout << "and upgrading SWORD components, it also uses a systematic method\n";
- cout << "for accessing sites which gives packet sniffers a target to lock\n";
- cout << "into for singling out users. \n\n\n";
- cout << "IF YOU LIVE IN A PERSECUTED COUNTRY AND DO NOT WISH TO RISK DETECTION,\n";
- cout << "YOU SHOULD *NOT* USE INSTALL MANAGER'S REMOTE SOURCE FEATURES.\n\n\n";
- cout << "if you understand this and are willing to enable remote source features\n";
- cout << "then type yes at the prompt\n\n";
- cout << "enable? [no] ";
- char prompt[10];
- fgets(prompt, 9, stdin);
- bool enable = (!strcmp(prompt, "yes\n"));
- char *envhomedir = getenv ("HOME");
- SWBuf confPath = (envhomedir) ? envhomedir : ".";
- confPath += "/.sword/InstallMgr/InstallMgr.conf";
+void createBasicConfig(bool enableRemote, bool addCrossWire) {
+
FileMgr::createParent(confPath.c_str());
remove(confPath.c_str());
@@ -72,21 +124,56 @@ void initConfig() {
SWConfig config(confPath.c_str());
config["General"]["PassiveFTP"] = "true";
- if (enable) {
+ if (enableRemote) {
config["Sources"]["FTPSource"] = is.getConfEnt();
}
config.Save();
+}
+
+
+void initConfig() {
+
+ bool enable = installMgr->isUserDisclaimerConfirmed();
+
+ createBasicConfig(enable, true);
+
cout << "\n\nInitialized basic config file at [" << confPath << "]\n";
cout << "with remote source features " << ((enable) ? "ENABLED" : "DISABLED") << "\n";
}
-void listModules(SWMgr *mgr) {
+void syncConfig() {
+
+ if (!installMgr->isUserDisclaimerConfirmed()) { // assert disclaimer is accepted
+ cout << "\n\nDisclaimer not accepted. Aborting.";
+ return;
+ }
+
+ if (!FileMgr::existsFile(confPath.c_str())) {
+ createBasicConfig(true, false);
+ finish(1); // cleanup and don't exit
+ init(); // re-init with InstallMgr which uses our new config
+ }
+
+ if (!installMgr->refreshRemoteSourceConfiguration())
+ cout << "\nSync'd config file with master remote source list.\n";
+ else cout << "\nFailed to sync config file with master remote source list.\n";
+}
+
+
+void listModules(SWMgr *otherMgr) {
cout << "Installed Modules:\n\n";
SWModule *module;
- for (ModMap::iterator it = mgr->Modules.begin(); it != mgr->Modules.end(); it++) {
- module = it->second;
- cout << "[" << module->Name() << "] \t- " << module->Description() << "\n";
+ std::map<SWModule *, int> mods = InstallMgr::getModuleStatus(*mgr, *otherMgr);
+ for (std::map<SWModule *, int>::iterator it = mods.begin(); it != mods.end(); it++) {
+ module = it->first;
+ SWBuf version = module->getConfigEntry("Version");
+ SWBuf status = " ";
+ if (it->second & InstallMgr::MODSTAT_NEW) status = "*";
+ if (it->second & InstallMgr::MODSTAT_OLDER) status = "-";
+ if (it->second & InstallMgr::MODSTAT_UPDATED) status = "+";
+
+ cout << status << "[" << module->Name() << "] \t(" << version << ") \t- " << module->Description() << "\n";
}
}
@@ -108,9 +195,9 @@ void listRemoteSources() {
cout << "Remote Sources:\n\n";
for (InstallSourceMap::iterator it = installMgr->sources.begin(); it != installMgr->sources.end(); it++) {
cout << "[" << it->second->caption << "]\n";
- cout << "\tType ; " << it->second->type << "\n";
- cout << "\tSource ; " << it->second->source << "\n";
- cout << "\tDirectory; " << it->second->directory << "\n";
+ cout << "\tType : " << it->second->type << "\n";
+ cout << "\tSource : " << it->second->source << "\n";
+ cout << "\tDirectory: " << it->second->directory << "\n";
}
}
@@ -121,6 +208,7 @@ void refreshRemoteSource(const char *sourceName) {
fprintf(stderr, "Couldn't find remote source [%s]\n", sourceName);
finish(-3);
}
+
if (!installMgr->refreshRemoteSource(source->second))
cout << "Remote Source Refreshed\n";
else cerr << "Error Refreshing Remote Source\n";
@@ -182,6 +270,7 @@ void remoteInstallModule(const char *sourceName, const char *modName) {
finish(-4);
}
module = it->second;
+
int error = installMgr->installModule(mgr, 0, module->Name(), is);
if (error) {
cout << "Error installing module: [" << module->Name() << "] (write permissions?)\n";
@@ -207,11 +296,7 @@ void localDirInstallModule(const char *dir, const char *modName) {
int main(int argc, char **argv) {
- mgr = new SWMgr();
- char *envhomedir = getenv ("HOME");
- SWBuf baseDir = (envhomedir) ? envhomedir : ".";
- baseDir += "/.sword/InstallMgr";
- installMgr = new InstallMgr(baseDir);
+ init();
SWLog::getSystemLog()->setLogLevel(SWLog::LOG_DEBUG);
@@ -251,7 +336,14 @@ int main(int argc, char **argv) {
uninstallModule(argv[2]);
break;
case 's':
- listRemoteSources();
+ switch (argv[1][2]) {
+ case 0: // -s list sources
+ listRemoteSources();
+ break;
+ case 'c': // -sc sync config with master
+ syncConfig();
+ break;
+ }
break;
case 'r': // remote option
switch (argv[1][2]) {
diff --git a/utilities/kylixmake/libsword.bpr b/utilities/kylixmake/libsword.bpr
index e634040..363a406 100644
--- a/utilities/kylixmake/libsword.bpr
+++ b/utilities/kylixmake/libsword.bpr
@@ -60,6 +60,7 @@
../../src/modules/filters/utf8cantillation.o
../../src/modules/filters/utf8greekaccents.o
../../src/modules/filters/utf8hebrewpoints.o
+ ../../src/modules/filters/utf8arabicpoints.o
../../src/modules/filters/utf8html.o
../../src/modules/filters/utf8latin1.o ../../src/modules/filters/utf8nfc.o
../../src/modules/filters/utf8nfkd.o
diff --git a/utilities/lexdump.c b/utilities/lexdump.c
index 25ff5d7..72e1658 100644
--- a/utilities/lexdump.c
+++ b/utilities/lexdump.c
@@ -1,3 +1,24 @@
+/******************************************************************************
+ * This utility outputs a specified ordinal entry from a lex
+ *
+ * $Id: lexdump.c 2362 2009-04-29 07:21:35Z scribe $
+ *
+ * Copyright 1998-2009 CrossWire Bible Society (http://www.crosswire.org)
+ * CrossWire Bible Society
+ * P. O. Box 2528
+ * Tempe, AZ 85280-2528
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation version 2.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ */
+
#include <ctype.h>
#include <stdio.h>
#include <fcntl.h>
@@ -31,9 +52,9 @@ int main(int argc, char **argv) {
tmpbuf = calloc(strlen(argv[1]) + 11,1);
sprintf(tmpbuf, "%s.idx", argv[1]);
- idxfd = open(tmpbuf, O_RDONLY|O_BINARY, S_IREAD|S_IWRITE|S_IRGRP|S_IROTH);
+ idxfd = open(tmpbuf, O_RDONLY|O_BINARY);
sprintf(tmpbuf, "%s.dat", argv[1]);
- datfd = open(tmpbuf, O_RDONLY|O_BINARY, S_IREAD|S_IWRITE|S_IRGRP|S_IROTH);
+ datfd = open(tmpbuf, O_RDONLY|O_BINARY);
free(tmpbuf);
offset = atoi(argv[2]) * 6;
diff --git a/utilities/mkfastmod.cpp b/utilities/mkfastmod.cpp
index eeebcaf..bee620e 100644
--- a/utilities/mkfastmod.cpp
+++ b/utilities/mkfastmod.cpp
@@ -1,3 +1,20 @@
+/*
+ * Copyright 2009 CrossWire Bible Society (http://www.crosswire.org)
+ * CrossWire Bible Society
+ * P. O. Box 2528
+ * Tempe, AZ 85280-2528
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation version 2.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ */
+
#include <stdio.h>
#include <rawtext.h>
#include <swmgr.h>
@@ -33,15 +50,13 @@ void percentUpdate(char percent, void *userData) {
int main(int argc, char **argv)
{
-
if (argc != 2) {
fprintf(stderr, "usage: %s <modname>\n", argv[0]);
exit(-1);
}
-
+
SWModule *target;
ListKey listkey;
- VerseKey vk;
ModMap::iterator it;
SWMgr manager;
diff --git a/utilities/mod2imp.cpp b/utilities/mod2imp.cpp
index a979407..0a108f9 100644
--- a/utilities/mod2imp.cpp
+++ b/utilities/mod2imp.cpp
@@ -1,75 +1,117 @@
-// Compression on variable granularity
+/*
+ * Copyright 2009 CrossWire Bible Society (http://www.crosswire.org)
+ * CrossWire Bible Society
+ * P. O. Box 2528
+ * Tempe, AZ 85280-2528
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation version 2.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ */
-#include <fcntl.h>
#include <iostream>
-#include <fstream>
-#include <string>
-
-#ifndef __GNUC__
-#include <io.h>
-#else
-#include <unistd.h>
-#endif
+#include <map>
+#include <stdio.h>
-#include <ztext.h>
-#include <zld.h>
-#include <zcom.h>
+#include <markupfiltmgr.h>
#include <swmgr.h>
-#include <lzsscomprs.h>
-#include <zipcomprs.h>
+#include <swmodule.h>
#include <versekey.h>
-#include <stdio.h>
+
+using std::map;
+using std::cout;
+using std::endl;
#ifndef NO_SWORD_NAMESPACE
-using sword::SWModule;
-using sword::SWMgr;
-using sword::ModMap;
-using sword::SWKey;
-using sword::VerseKey;
-using sword::SW_POSITION;
+
+using namespace sword;
+
#endif
-void errorOutHelp(char *appName) {
- std::cerr << appName << " - a tool to output a Sword module in SWORD's 'imp' import format\n";
- std::cerr << "usage: "<< appName << " <modname> \n";
- std::cerr << "\n\n";
+void usage(const char *progName, const char *error = 0) {
+ if (error) fprintf(stderr, "\n%s: %s\n", progName, error);
+ fprintf(stderr, "\n=== mod2imp (Revision $Rev: 2234 $) SWORD module exporter.\n");
+ fprintf(stderr, "\nusage: %s <module_name> [options]\n"
+ "\t -r [output_format] - render content instead of outputting raw native\n"
+ "\t\tdata. output_format can be: OSIS, HTMLHREF, RTF.\n"
+ "\t -s - strip markup instead of outputting raw native data.\n"
+ "\t -f <option_name> <option_value> - when rendering (-r, above), option\n"
+ "\t\tfilter values can be set with this option.\n\n"
+ , progName);
exit(-1);
}
int main(int argc, char **argv)
{
- SWModule *inModule = 0;
-
- if ((argc != 2)) {
- errorOutHelp(argv[0]);
+ // handle options
+ if (argc < 2) usage(*argv);
+
+ const char *progName = argv[0];
+ const char *modName = argv[1];
+ bool render = false;
+ bool strip = false;
+ SWBuf renderForm;
+ SWBuf optionName;
+ map<SWBuf, SWBuf> options; // optionName, optionValue;
+
+ for (int i = 2; i < argc; i++) {
+ if (!strcmp(argv[i], "-r")) {
+ if (strip) usage(progName, "-r can't be supplied when using -s");
+ if (i+1 < argc) renderForm = argv[++i];
+ render = true;
+ }
+ else if (!strcmp(argv[i], "-s")) {
+ if (render) usage(progName, "-s can't be supplied when using -r");
+ strip = true;
+ }
+ else if (!strcmp(argv[i], "-f")) {
+ if (i+1 < argc) optionName = argv[++i];
+ if (i+1 < argc) options[optionName] = argv[++i];
+ else usage(progName, "-f requires <option_name> <option_value>");
+ }
+ else usage(progName, (((SWBuf)"Unknown argument: ")+ argv[i]).c_str());
}
+ // -----------------------------------------------------
- if ((!strcmp(argv[1], "-h")) || (!strcmp(argv[1], "--help")) || (!strcmp(argv[1], "/?")) || (!strcmp(argv[1], "-?")) || (!strcmp(argv[1], "-help"))) {
- errorOutHelp(argv[0]);
- }
+ MarkupFilterMgr *markupMgr = 0;
+ if (renderForm == "HTMLHREF") markupMgr = new MarkupFilterMgr(sword::FMT_HTMLHREF);
+ else if (renderForm == "OSIS") markupMgr = new MarkupFilterMgr(sword::FMT_OSIS);
+ else if (renderForm == "RTF") markupMgr = new MarkupFilterMgr(sword::FMT_RTF);
+ else if (renderForm.length()) usage(progName, (((SWBuf) "Unknown output_format for -r (")+renderForm+")").c_str());
- SWMgr mgr;
+ SWMgr *mgr = (markupMgr) ? new SWMgr(markupMgr) : new SWMgr();
- ModMap::iterator it = mgr.Modules.find(argv[1]);
- if (it == mgr.Modules.end()) {
- fprintf(stderr, "error: %s: couldn't find module: %s \n", argv[0], argv[1]);
- exit(-2);
+ // set any options filters passed with -f
+ for (map<SWBuf, SWBuf>::iterator it = options.begin(); it != options.end(); it++) {
+ mgr->setGlobalOption(it->first, it->second);
}
- inModule = it->second;
+ SWModule *module = mgr->getModule(modName);
+
+ if (!module) usage(progName, (((SWBuf) "Couldn't find module: ") + modName).c_str());
- SWKey *key = (SWKey *)*inModule;
+
+ SWKey *key = module->getKey();
VerseKey *vkey = SWDYNAMIC_CAST(VerseKey, key);
if (vkey)
vkey->Headings(1);
- for ((*inModule) = TOP; !inModule->Error(); (*inModule)++) {
- std::cout << "$$$" << inModule->KeyText() << std::endl;
- std::cout << inModule->getRawEntry() << std::endl;
+ for ((*module) = TOP; !module->Error(); (*module)++) {
+ std::cout << "$$$" << module->KeyText() << std::endl;
+ std::cout << ((render) ? module->RenderText() : (strip) ? module->StripText() : module->getRawEntry()) << "\n";
}
+
+ cout << endl;
+
return 0;
}
diff --git a/utilities/mod2osis.cpp b/utilities/mod2osis.cpp
index ee71e25..087300c 100644
--- a/utilities/mod2osis.cpp
+++ b/utilities/mod2osis.cpp
@@ -1,4 +1,20 @@
-// Compression on variable granularity
+/*
+ * Copyright 2009 CrossWire Bible Society (http://www.crosswire.org)
+ * CrossWire Bible Society
+ * P. O. Box 2528
+ * Tempe, AZ 85280-2528
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation version 2.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ */
+
#include <fcntl.h>
#include <iostream>
#include <fstream>
@@ -79,7 +95,7 @@ int main(int argc, char **argv)
int lastBook = 9999;
int lastChap = 9999;
if (!vkey) {
- cerr << "Currently mod2zmod only works with verse keyed modules\n\n";
+ cerr << "Currently mod2osis only works with verse keyed modules\n\n";
exit(-1);
}
@@ -122,13 +138,18 @@ int main(int argc, char **argv)
cout << "\t</header>\n\n";
- (*inModule) = TOP;
-// for ((*inModule) = TOP; (inModule->Key() < (VerseKey)"Mat 2:1"); (*inModule)++) {
-// for ((*vkey) = "Mark6:29"; !inModule->Error(); (*inModule)++) {
+ (*inModule) = TOP;
+
+ SWKey *p = inModule->CreateKey();
+ VerseKey *tmpKey = SWDYNAMIC_CAST(VerseKey, p);
+ if (!tmpKey) {
+ delete p;
+ tmpKey = new VerseKey();
+ }
+ *tmpKey = inModule->getKeyText();
- VerseKey tmpKey;
- tmpKey.Headings(1);
- tmpKey.AutoNormalize(0);
+ tmpKey->Headings(1);
+ tmpKey->AutoNormalize(0);
for ((*inModule) = TOP; !inModule->Error(); (*inModule)++) {
bool newTest = false;
@@ -157,10 +178,10 @@ int main(int argc, char **argv)
cout << "\t</div>\n";
}
*buf = 0;
- tmpKey = *vkey;
- tmpKey.Chapter(0);
- tmpKey.Verse(0);
- sprintf(buf, "\t<div type=\"book\" osisID=\"%s\">\n", tmpKey.getOSISRef());
+ *tmpKey = *vkey;
+ tmpKey->Chapter(0);
+ tmpKey->Verse(0);
+ sprintf(buf, "\t<div type=\"book\" osisID=\"%s\">\n", tmpKey->getOSISRef());
// filter.ProcessText(buf, 200 - 3, &lastHeading, inModule);
cout << "" << buf << endl;
openbook = true;
@@ -172,9 +193,9 @@ int main(int argc, char **argv)
cout << "\t</chapter>\n";
}
*buf = 0;
- tmpKey = *vkey;
- tmpKey.Verse(0);
- sprintf(buf, "\t<chapter osisID=\"%s\">\n", tmpKey.getOSISRef());
+ *tmpKey = *vkey;
+ tmpKey->Verse(0);
+ sprintf(buf, "\t<chapter osisID=\"%s\">\n", tmpKey->getOSISRef());
// filter.ProcessText(buf, 200 - 3, &lastHeading, inModule);
cout << "" << buf;
openchap = true;
diff --git a/utilities/mod2vpl.cpp b/utilities/mod2vpl.cpp
index edcbfc6..09ec053 100644
--- a/utilities/mod2vpl.cpp
+++ b/utilities/mod2vpl.cpp
@@ -1,3 +1,20 @@
+/*
+ * Copyright 2009 CrossWire Bible Society (http://www.crosswire.org)
+ * CrossWire Bible Society
+ * P. O. Box 2528
+ * Tempe, AZ 85280-2528
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation version 2.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ */
+
#include <swmgr.h>
#include <swmodule.h>
#include <swkey.h>
diff --git a/utilities/mod2zmod.cpp b/utilities/mod2zmod.cpp
index 4e91ea3..2e5be31 100644
--- a/utilities/mod2zmod.cpp
+++ b/utilities/mod2zmod.cpp
@@ -1,5 +1,22 @@
// Compression on variable granularity
+/*
+ * Copyright 2009 CrossWire Bible Society (http://www.crosswire.org)
+ * CrossWire Bible Society
+ * P. O. Box 2528
+ * Tempe, AZ 85280-2528
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation version 2.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ */
+
#include <fcntl.h>
#include <iostream>
#include <fstream>
@@ -14,6 +31,7 @@
#include <ztext.h>
#include <zld.h>
#include <zcom.h>
+#include <swtext.h>
#include <swmgr.h>
#include <lzsscomprs.h>
#include <zipcomprs.h>
@@ -23,20 +41,7 @@
#ifndef NO_SWORD_NAMESPACE
-using sword::SWCompress;
-using sword::CipherFilter;
-using sword::SWModule;
-using sword::SWMgr;
-using sword::ModMap;
-using sword::zText;
-using sword::zLD;
-using sword::zCom;
-using sword::SWFilter;
-using sword::VerseKey;
-using sword::SWKey;
-using sword::SW_POSITION;
-using sword::ZipCompress;
-using sword::LZSSCompress;
+using namespace sword;
#endif
using std::cerr;
@@ -113,9 +118,12 @@ int main(int argc, char **argv)
int result = 0;
switch (modType) {
case BIBLE:
- case COM:
- result = zText::createModule(argv[2], iType);
+ case COM: {
+ SWKey *k = inModule->getKey();
+ VerseKey *vk = SWDYNAMIC_CAST(VerseKey, k);
+ result = zText::createModule(argv[2], iType, vk->getVersificationSystem());
break;
+ }
case LEX:
result = zLD::createModule(argv[2]);
break;
@@ -128,10 +136,15 @@ int main(int argc, char **argv)
switch (modType) {
case BIBLE:
- case COM:
- outModule = new zText(argv[2], 0, 0, iType, compressor); // open our datapath with our RawText driver.
+ case COM: {
+ SWKey *k = inModule->getKey();
+ VerseKey *vk = SWDYNAMIC_CAST(VerseKey, k);
+ outModule = new zText(argv[2], 0, 0, iType, compressor,
+ 0, ENC_UNKNOWN, DIRECTION_LTR, FMT_UNKNOWN, 0,
+ vk->getVersificationSystem()); // open our datapath with our RawText driver.
((VerseKey *)(SWKey *)(*inModule))->Headings(1);
break;
+ }
case LEX:
outModule = new zLD(argv[2], 0, 0, iType, compressor); // open our datapath with our RawText driver.
break;
diff --git a/utilities/mod2zmod2.cpp b/utilities/mod2zmod2.cpp
deleted file mode 100644
index d552e35..0000000
--- a/utilities/mod2zmod2.cpp
+++ /dev/null
@@ -1,205 +0,0 @@
-// Compression on variable granularity
-
-#include <fcntl.h>
-#include <iostream>
-#include <fstream>
-#include <string>
-
-#ifndef __GNUC__
-#include <io.h>
-#else
-#include <unistd.h>
-#endif
-
-//#include <ztext.h>
-#include <ztext2.h>
-//#include <zld.h>
-//#include <zcom.h>
-#include <swmgr.h>
-#include <lzsscomprs.h>
-#include <zipcomprs.h>
-#include <versekey.h>
-#include <versekey2.h>
-#include <stdio.h>
-#include <cipherfil.h>
-#ifndef NO_SWORD_NAMESPACE
-using sword::SWCompress;
-using sword::CipherFilter;
-using sword::SWModule;
-using sword::SWMgr;
-using sword::ModMap;
-using sword::zText2;
-//using sword::zLD;
-//using sword::zCom;
-using sword::SWFilter;
-using sword::VerseKey2;
-using sword::VerseKey;
-using sword::SWKey;
-using sword::SW_POSITION;
-using sword::ZipCompress;
-using sword::LZSSCompress;
-#endif
-
-using std::cerr;
-using std::string;
-using std::cout;
-using std::endl;
-
-void errorOutHelp(char *appName) {
- cerr << appName << " - a tool to create compressed Sword modules\n";
- cerr << "version 0.1\n\n";
- cerr << "usage: "<< appName << " <modname> <datapath> [blockType [blockNum [compressType [cipherKey]]]]\n\n";
- cerr << "datapath: the directory in which to write the zModule\n";
- cerr << "blockType : (default 4)\n\t2 - verses\n\t3 - chapters\n\t4 - books\n";
- cerr << "blockNum : (default 1)\n\tnumber of blockType per block\n";
- cerr << "compressType: (default 1):\n\t1 - LZSS\n\t2 - Zip\n";
- cerr << "\n\n";
- exit(-1);
-}
-
-
-int main(int argc, char **argv)
-{
- int iType = 4;
- int iPerBlock = 1;
- int compType = 1;
- string cipherKey = "";
- SWCompress *compressor = 0;
- SWModule *inModule = 0;
- SWModule *outModule = 0;
-
-
- if ((argc < 3) || (argc > 6)) {
- errorOutHelp(argv[0]);
- }
-
- if (argc > 3) {
- iType = atoi(argv[3]);
- if (argc > 4) {
- iPerBlock = atoi(argv[4]);
- if (argc > 5) {
- compType = atoi(argv[5]);
- if (argc > 6) {
- cipherKey = argv[6];
- }
- }
- }
- }
-
- if ((iType < 2) || (iType > 5) || (iPerBlock < 1) || (compType < 1) || (compType > 2) || (!strcmp(argv[1], "-h")) ||
- (!strcmp(argv[1], "--help")) || (!strcmp(argv[1], "/?")) || (!strcmp(argv[1], "-?")) || (!strcmp(argv[1], "-help"))) {
- errorOutHelp(argv[0]);
- }
-
- SWMgr mgr;
-
- ModMap::iterator it = mgr.Modules.find(argv[1]);
- if (it == mgr.Modules.end()) {
- fprintf(stderr, "error: %s: couldn't find module: %s \n", argv[0], argv[1]);
- exit(-2);
- }
-
- inModule = it->second;
-
- // Try to initialize a default set of datafiles and indicies at our
- // datapath location passed to us from the user.
-
-#define BIBLE 1
-#define LEX 2
-#define COM 3
-
- int modType = 0;
- if (!strcmp(inModule->Type(), "Biblical Texts")) modType = BIBLE;
- if (!strcmp(inModule->Type(), "Lexicons / Dictionaries")) modType = LEX;
- if (!strcmp(inModule->Type(), "Commentaries")) modType = COM;
-
- switch (compType) { // these are deleted by zText
- case 1: compressor = new LZSSCompress(); break;
- case 2: compressor = new ZipCompress(); break;
- }
- cout << "Creating module " << argv[2] << endl;
- int result = 1;
- switch (modType) {
- case BIBLE:
- result = zText2::createModule(argv[2], iType);
- break;
- case LEX:
- //result = zLD::createModule(argv[2]);
- result = 1;
- break;
- case COM:
- result = zText2::createModule(argv[2], iType);
- break;
- }
-
- if (result) {
- fprintf(stderr, "error: %s: couldn't create module at path: %s \n", argv[0], argv[2]);
- exit(-3);
- }
-
- cout << "Opening datapath with driver " << argv[2] << " Type " << iType << " PerBlock " << iPerBlock << endl;
- switch (modType) {
- case BIBLE:
- outModule = new zText2(argv[2], 0, 0, iType, iPerBlock, compressor); // open our datapath with our RawText driver.
- ((VerseKey *)(SWKey *)(*inModule))->Headings(1);
- break;
- case LEX:
- //outModule = new zLD(argv[2], 0, 0, iType, compressor); // open our datapath with our RawText driver.
- break;
- case COM:
- outModule = new zText2(argv[2], 0, 0, iType, iPerBlock, compressor); // open our datapath with our RawText driver.
- ((VerseKey *)(SWKey *)(*inModule))->Headings(1);
- break;
- }
-
- SWFilter *cipherFilter = 0;
- if (!cipherKey.empty()) {
- cipherFilter = new CipherFilter(cipherKey.c_str());
- outModule->AddRawFilter(cipherFilter);
- }
-
- string lastBuffer = "Something that would never be first module entry";
- SWKey bufferKey;
- SWKey lastBufferKey;
- SWKey *outModuleKey = outModule->CreateKey();
- VerseKey2 *vkey = SWDYNAMIC_CAST(VerseKey2, outModuleKey);
- outModuleKey->Persist(1);
- if (vkey) {
- vkey->Headings(1);
- vkey->AutoNormalize(0);
- }
- outModule->setKey(*outModuleKey);
-
- inModule->setSkipConsecutiveLinks(false);
- (*inModule) = TOP;
- while (!inModule->Error()) {
- bufferKey = *(SWKey *)(*inModule);
- cout << bufferKey << endl;
- // pseudo-check for link. Will get most common links.
- if ((lastBuffer == inModule->getRawEntry()) &&(lastBuffer.length() > 0)) {
- *outModuleKey = bufferKey;
- outModule->linkEntry(&lastBufferKey); // link to last key
- //cout << "Adding [" << bufferKey << "] link to: [" << lastBufferKey << "]\n";
- }
- else {
- lastBuffer = inModule->getRawEntry();
- lastBufferKey = inModule->KeyText();
- if (lastBuffer.length() > 0) {
- //cout << "Adding [" << bufferKey << "] new text. \n";
- *outModuleKey = bufferKey;
-// outModule->getRawEntry(); // snap
-// outModule->setKey(bufferKey);
- (*outModule) << lastBuffer.c_str(); // save new text;
- }
- else {
- cout << "Skipping [" << bufferKey << "] no entry in inModule. \n";
- }
- }
- (*inModule)++;
- }
- delete outModule;
- delete outModuleKey;
- if (cipherFilter)
- delete cipherFilter;
-}
-
diff --git a/utilities/modwrite.cpp b/utilities/modwrite.cpp
index deec68e..74f123e 100644
--- a/utilities/modwrite.cpp
+++ b/utilities/modwrite.cpp
@@ -1,4 +1,19 @@
-// Compression on variable granularity
+/*
+ * Copyright 2009 CrossWire Bible Society (http://www.crosswire.org)
+ * CrossWire Bible Society
+ * P. O. Box 2528
+ * Tempe, AZ 85280-2528
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation version 2.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ */
#include <fcntl.h>
#include <iostream>
diff --git a/utilities/no13.c b/utilities/no13.c
index 5245d27..f84cfcc 100644
--- a/utilities/no13.c
+++ b/utilities/no13.c
@@ -1,3 +1,23 @@
+/******************************************************************************
+ * Strips ascii 13 chars out of a file
+ *
+ * $Id: no13.c 2327 2009-04-22 11:42:33Z scribe $
+ *
+ * Copyright 1998-2009 CrossWire Bible Society (http://www.crosswire.org)
+ * CrossWire Bible Society
+ * P. O. Box 2528
+ * Tempe, AZ 85280-2528
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation version 2.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ */
#include <fcntl.h>
#include <stdio.h>
diff --git a/utilities/osis2mod.cpp b/utilities/osis2mod.cpp
index 69d984d..473a90f 100644
--- a/utilities/osis2mod.cpp
+++ b/utilities/osis2mod.cpp
@@ -1,24 +1,40 @@
+/*
+ * Copyright 2009 CrossWire Bible Society (http://www.crosswire.org)
+ * CrossWire Bible Society
+ * P. O. Box 2528
+ * Tempe, AZ 85280-2528
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation version 2.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ */
+
#include <ctype.h>
#include <stdio.h>
#include <fcntl.h>
#include <errno.h>
#include <stdlib.h>
-#include <string>
#include <stack>
+#include <vector>
#include <iostream>
#include <fstream>
#include <utilstr.h>
#include <swmgr.h>
#include <rawtext.h>
+#include <rawtext4.h>
#include <swbuf.h>
#include <utilxml.h>
#include <listkey.h>
#include <versekey.h>
#include <ztext.h>
-// #include <zld.h>
-// #include <zcom.h>
#include <lzsscomprs.h>
#include <zipcomprs.h>
#include <cipherfil.h>
@@ -28,61 +44,61 @@
#include <latin1utf8.h>
#endif
-//#define DEBUG
-
-// Debug for simple transformation stack
-//#define DEBUG_XFORM
-
-// Debug for parsing osisRefs
-//#define DEBUG_REF
-
-// Debug for tag stack
-//#define DEBUG_STACK
-
#ifndef NO_SWORD_NAMESPACE
using namespace sword;
#endif
using namespace std;
-#ifdef _ICU_
-UTF8NFC normalizer;
-int normalized = 0;
+// Turn debugging on and off
+//#define DEBUG
+int debug = 0;
+const int DEBUG_WRITE = 1; // writing to module
+const int DEBUG_VERSE = 2; // verse start and end
+const int DEBUG_QUOTE = 4; // quotes, especially Words of Christ (WOC)
+const int DEBUG_TITLE = 8; // titles
+const int DEBUG_INTERVERSE = 16; // inter-verse maerial
+const int DEBUG_XFORM = 32; // transformations
+const int DEBUG_REV11N = 64; // versification
+const int DEBUG_REF = 128; // parsing of osisID and osisRef
+const int DEBUG_STACK = 256; // cleanup of references
+const int DEBUG_OTHER = 512; // ins and outs of books, chapters and verses
+
+// Exit codes
+const int EXIT_BAD_ARG = 1; // Bad parameter given for program
+const int EXIT_NO_WRITE = 2; // Could not open the module for writing
+const int EXIT_NO_CREATE = 3; // Could not create the module
+const int EXIT_NO_READ = 4; // Could not open the input file for reading.
+const int EXIT_BAD_NESTING = 5; // BSP or BCV nesting is bad
+#ifdef _ICU_
+UTF8NFC normalizer;
Latin1UTF8 converter;
-int converted = 0;
#endif
+int normalized = 0;
+int converted = 0;
SWText *module = 0;
-VerseKey *currentVerse = 0;
+VerseKey currentVerse;
+SWBuf v11n = "KJV";
char activeOsisID[255];
char currentOsisID[255];
-const char *osisabbrevs[] = {"Gen", "Exod", "Lev", "Num", "Deut", "Josh", "Judg",
- "Ruth", "1Sam", "2Sam", "1Kgs", "2Kgs", "1Chr", "2Chr", "Ezra", "Neh",
- "Esth", "Job", "Ps", "Prov", "Eccl", "Song", "Isa", "Jer", "Lam", "Ezek",
- "Dan", "Hos", "Joel", "Amos", "Obad", "Jonah", "Mic", "Nah", "Hab",
- "Zeph", "Hag", "Zech", "Mal",
- "Matt", "Mark", "Luke", "John", "Acts", "Rom", "1Cor", "2Cor", "Gal",
- "Eph", "Phil", "Col", "1Thess", "2Thess", "1Tim", "2Tim", "Titus",
- "Phlm", "Heb", "Jas", "1Pet", "2Pet", "1John", "2John", "3John",
- "Jude", "Rev"};
+SWBuf activeVerseText;
+
+ListKey currentKeyIDs = ListKey();
+
+std::vector<ListKey> linkedVerses;
static bool inCanonicalOSISBook = true; // osisID is for a book that is not in Sword's canon
-static bool normalize = true; // Whether to normalize UTF-8 to NFC
+static bool normalize = true; // Whether to normalize UTF-8 to NFC
bool isOSISAbbrev(const char *buf) {
- bool match = false;
- for (int i = 0; i < 66; i++) {
- if (!strcmp(buf, osisabbrevs[i])) {
- match = true;
- break;
- }
- }
- return match;
+ VerseMgr *vmgr = VerseMgr::getSystemVerseMgr();
+ const VerseMgr::System *av11n = vmgr->getVersificationSystem(currentVerse.getVersificationSystem());
+ return av11n->getBookNumberByOSISName(buf) >= 0;
}
-
/**
* Determine whether the string contains a valid unicode sequence.
* The following table give the pattern of a valid UTF-8 character.
@@ -109,51 +125,92 @@ bool isOSISAbbrev(const char *buf) {
* author DM Smith
*/
int detectUTF8(const char *txt) {
- unsigned int countUTF8 = 0;
- int count = 0;
-
- // Cast it to make masking and shifting easier
- const unsigned char *p = (const unsigned char*) txt;
- while (*p) {
- // Is the high order bit set?
- if (*p & 0x80) {
- // Then count the number of high order bits that are set.
- // This determines the number of following bytes
- // that are a part of the unicode character
- unsigned char i = *p;
- for (count = 0; i & 0x80; count++) {
- i <<= 1;
- }
-
- // Validate count:
- // Count 0: bug in code that would cause core walking
- // Count 1: is a pattern of 10nnnnnn,
- // which does not signal the start of a unicode character
- // Count 5 to 8: 111110nn, 1111110n and 11111110 and 11111111
- // are not legal starts, either
- if (count < 2 || count > 4) return 0;
-
- // At this point we expect (count - 1) following characters
- // of the pattern 10nnnnnn
- while (--count && *++p) {
- // The pattern of each following character must be: 10nnnnnn
- // So, compare the top 2 bits.
- if ((0xc0 & *p) != 0x80) return 0;
- }
-
- // Oops, we've run out of bytes too soon: Cannot be UTF-8
- if (count) return 0;
-
- // We have a valid UTF-8 character, so count it
- countUTF8++;
- }
+ unsigned int countUTF8 = 0;
+ int count = 0;
+
+ // Cast it to make masking and shifting easier
+ const unsigned char *p = (const unsigned char*) txt;
+ while (*p) {
+ // Is the high order bit set?
+ if (*p & 0x80) {
+ // Then count the number of high order bits that are set.
+ // This determines the number of following bytes
+ // that are a part of the unicode character
+ unsigned char i = *p;
+ for (count = 0; i & 0x80; count++) {
+ i <<= 1;
+ }
+
+ // Validate count:
+ // Count 0: bug in code that would cause core walking
+ // Count 1: is a pattern of 10nnnnnn,
+ // which does not signal the start of a unicode character
+ // Count 5 to 8: 111110nn, 1111110n and 11111110 and 11111111
+ // are not legal starts, either
+ if (count < 2 || count > 4) return 0;
+
+ // At this point we expect (count - 1) following characters
+ // of the pattern 10nnnnnn
+ while (--count && *++p) {
+ // The pattern of each following character must be: 10nnnnnn
+ // So, compare the top 2 bits.
+ if ((0xc0 & *p) != 0x80) return 0;
+ }
+
+ // Oops, we've run out of bytes too soon: Cannot be UTF-8
+ if (count) return 0;
+
+ // We have a valid UTF-8 character, so count it
+ countUTF8++;
+ }
- // Advance to the next character to examine.
- p++;
- }
-
- // At this point it is either UTF-8 or 7-bit ascii
- return countUTF8 ? 1 : -1;
+ // Advance to the next character to examine.
+ p++;
+ }
+
+ // At this point it is either UTF-8 or 7-bit ascii
+ return countUTF8 ? 1 : -1;
+}
+
+void prepareSWText(const char *osisID, SWBuf &text)
+{
+ // Always check on UTF8 and report on non-UTF8 entries
+ int utf8State = detectUTF8(text.c_str());
+
+ // Trust, but verify.
+ if (!normalize && !utf8State) {
+ cout << "WARNING(UTF8): " << osisID << ": Should be converted to UTF-8 (" << text << ")" << endl;
+ }
+
+#ifdef _ICU_
+ if (normalize) {
+ // Don't need to normalize text that is ASCII
+ // But assume other non-UTF-8 text is Latin1 (cp1252) and convert it to UTF-8
+ if (!utf8State) {
+ cout << "INFO(UTF8): " << osisID << ": Converting to UTF-8 (" << text << ")" << endl;
+ converter.processText(text, (SWKey *)2); // note the hack of 2 to mimic a real key. TODO: remove all hacks
+ converted++;
+
+ // Prepare for double check. This probably can be removed.
+ // But for now we are running the check again.
+ // This is to determine whether we need to normalize output of the conversion.
+ utf8State = detectUTF8(text.c_str());
+ }
+
+ // Double check. This probably can be removed.
+ if (!utf8State) {
+ cout << "ERROR(UTF8): " << osisID << ": Converting to UTF-8 (" << text << ")" << endl;
+ }
+
+ if (utf8State > 0) {
+ SWBuf before = text;
+ normalizer.processText(text, (SWKey *)2); // note the hack of 2 to mimic a real key. TODO: remove all hacks
+ if (before != text) {
+ normalized++;
+ }
+ }
+ }
+#endif
}
// This routine converts an osisID or osisRef into one that SWORD can parse into a verse list
@@ -175,8 +232,10 @@ void prepareSWVerseKey(SWBuf &buf) {
bool inRange = false;
while (*p) {
if (inRange) {
-#ifdef DEBUG_REF
- cout << "Copy range marker:" << *p << endl;;
+#ifdef DEBUG
+ if (debug & DEBUG_REF) {
+ cout << "DEBUG(REF): Copy range marker:" << *p << endl;;
+ }
#endif
// Range markers are copied as is
*s++ = *p++;
@@ -193,28 +252,36 @@ void prepareSWVerseKey(SWBuf &buf) {
if (*n == ':') {
// set p to skip the work prefix
p = n + 1;
-#ifdef DEBUG_REF
- cout << "Found a work prefix ";
- for (char *x = s; x <= n; x++) {
- cout << *x;
+#ifdef DEBUG
+ if (debug & DEBUG_REF) {
+ cout << "DEBUG(REF): Found a work prefix ";
+ for (char *x = s; x <= n; x++) {
+ cout << *x;
+ }
+ cout << endl;
}
- cout << endl;
#endif
}
// Now we are in the meat of an osisID.
// Copy it to its end but stop on a grain marker of '!'
-#ifdef DEBUG_REF
- cout << "Copy osisID:";
+#ifdef DEBUG
+ if (debug & DEBUG_REF) {
+ cout << "DEBUG(REF): Copy osisID:";
+ }
#endif
while (*p && *p != '!' && *p != ' ' && *p != '-') {
-#ifdef DEBUG_REF
- cout << *p;
+#ifdef DEBUG
+ if (debug & DEBUG_REF) {
+ cout << *p;
+ }
#endif
*s++ = *p++;
}
-#ifdef DEBUG_REF
- cout << endl;
+#ifdef DEBUG
+ if (debug & DEBUG_REF) {
+ cout << endl;
+ }
#endif
// The ! and everything following until we hit
@@ -224,12 +291,14 @@ void prepareSWVerseKey(SWBuf &buf) {
while (*n && *n != ' ' && *n != '-') {
n++;
}
-#ifdef DEBUG_REF
- cout << "Found a grain suffix ";
- for (char *x = p; x < n; x++) {
- cout << *x;
+#ifdef DEBUG
+ if (debug & DEBUG_REF) {
+ cout << "DEBUG(REF): Found a grain suffix ";
+ for (char *x = p; x < n; x++) {
+ cout << *x;
+ }
+ cout << endl;
}
- cout << endl;
#endif
p = n;
}
@@ -240,9 +309,11 @@ void prepareSWVerseKey(SWBuf &buf) {
// then we are entering a range
inRange = !inRange && *p == '-';
-#ifdef DEBUG_REF
- if (inRange) {
- cout << "Found a range" << endl;
+#ifdef DEBUG
+ if (debug & DEBUG_REF) {
+ if (inRange) {
+ cout << "DEBUG(REF): Found a range" << endl;
+ }
}
#endif
@@ -254,8 +325,10 @@ void prepareSWVerseKey(SWBuf &buf) {
}
// replacing them all with a ';'
*s++ = ';';
-#ifdef DEBUG_REF
- cout << "replacing space with ;. Remaining: " << p << endl;
+#ifdef DEBUG
+ if (debug & DEBUG_REF) {
+ cout << "DEBUG(REF): replacing space with ;. Remaining: " << p << endl;
+ }
#endif
}
}
@@ -267,607 +340,921 @@ void prepareSWVerseKey(SWBuf &buf) {
*s = '\0';
// Since we modified the swbuf, we need to tell it what we have done
buf.setSize(s - buf.c_str());
-#ifdef DEBUG_REF
- cout << "shortended keyVal to`" << buf.c_str() << "`"<< endl;
+#ifdef DEBUG
+ if (debug & DEBUG_REF) {
+ cout << "DEBUG(REF): shortended keyVal to`" << buf.c_str() << "`"<< endl;
+ }
#endif
}
}
-bool isKJVRef(const char *buf) {
- VerseKey vk, test;
- vk.AutoNormalize(0);
- vk.Headings(1); // turn on mod/testmnt/book/chap headings
- vk.Persist(1);
- // lets do some tests on the verse --------------
- vk = buf;
- test = buf;
+/**
+ * Determine whether a verse as given is valid for the versification.
+ * This is done by comparing the before and after of normalization.
+ */
+bool isValidRef(const char *buf) {
+ // Create a VerseKey that does not do auto normalization
+ // Note: need to turn on headings so that a heading does not get normalized anyway
+ // And set it to the reference under question
+ VerseKey before;
+ before.setVersificationSystem(currentVerse.getVersificationSystem());
+ before.AutoNormalize(0);
+ before.Headings(1);
+ before.setText(buf);
+
+ // If we are a heading we must bail
+ // These will autonormalize to the last verse of the prior chapter
+ if (!before.Testament() || !before.Book() || !before.Chapter() || !before.Verse()) {
+ return true;
+ }
+
+ // Create a VerseKey that does do auto normalization
+ // And set it to the reference under question
+ VerseKey after;
+ after.setVersificationSystem(currentVerse.getVersificationSystem());
+ after.AutoNormalize(1);
+ after.setText(buf);
+
+ if (before == after)
+ {
+ return true;
+ }
+
+ // If we have gotten here the reference is not in the selected versification.
+ cout << "INFO(V11N): " << before << " is not in the " << currentVerse.getVersificationSystem() << " versification." << endl;
- if (vk.Testament() && vk.Book() && vk.Chapter() && vk.Verse()) { // if we're not a heading
#ifdef DEBUG
- cout << (const char*)vk << " == " << (const char*)test << endl;
-#endif
- return (vk == test);
+ if (debug & DEBUG_REV11N) {
+ cout << "DEBUG(V11N): " << before << " normalizes to " << after << endl;
}
- else return true; // no check if we're a heading... Probably bad.
+#endif
+
+ return false;
}
+/**
+ * This routine is used to ensure that all the text in the input is saved to the module.
+ * Assumption: The input orders all the verses for a chapter in numerical order. Thus, any
+ * verses that are not in the chosen versification (v11n) follow those that are.
+ *
+ * The prior implementation of this adjusted the verse to the last one that is in the chosen v11n.
+ * If it the chapter were extra, then it is appended to the last verse of the last
+ * chapter in the chosen v11n for that book. If it is just extra verses for a chapter, then it is
+ * appended to the last verse of the chapter.
+ *
+ * The problem with this is when a OSIS verse refers to more than one verse, e.g.
+ * osisID="Gen.1.29 Gen.1.30 Gen.1.31" (Gen.1.31 is the last verse of the chapter in the chosen v11n)
+ * and then it is followed by Gen.1.32.
+ *
+ * This routine assumes that linking is postponed to the end so that in the example Gen.1.30-31
+ * are not linked but rather empty. This routine will then find the last verse in the computed
+ * chapter that has content.
+ *
+ * Alternative, we could have done linking as we went, but this routine would have needed
+ * to find the first entry in the link set and elsewhere in the code when appending to a
+ * verse, it would need to be checked for adjacent links and those would have needed to be adjusted.
+ *
+ * param key the key that may need to be adjusted
+ */
+void makeValidRef(VerseKey &key) {
+
+ int chapterMax = key.getChapterMax();
+ int verseMax = key.getVerseMax();
-void makeKJVRef(VerseKey &key) {
- cout << "re-versified " << key;
#ifdef DEBUG
- cout << "\tC" << (int)(key.builtin_books[key.Testament()-1][key.Book()-1].chapmax) << ":V" << (int)(key.builtin_books[key.Testament()-1][key.Book()-1].versemax[key.Chapter()-1]);
+ if (debug & DEBUG_REV11N) {
+ cout << "DEBUG(V11N) Chapter max:" << chapterMax << ", Verse Max:" << verseMax << endl;
+ }
#endif
- if (key.Chapter() > key.builtin_books[key.Testament()-1][key.Book()-1].chapmax) {
- key.Chapter(key.builtin_books[key.Testament()-1][key.Book()-1].chapmax);
- key.Verse(key.builtin_books[key.Testament()-1][key.Book()-1].versemax[key.Chapter()-1]);
+
+ cout << "INFO(V11N): " << key.getOSISRef() << " is not in the " << key.getVersificationSystem() << " versification.";
+ // Since isValidRef returned false constrain the key to the nearest prior reference.
+ // If we are past the last chapter set the reference to the last chapter
+ if (key.Chapter() > chapterMax) {
+ key.Chapter(chapterMax);
}
- else if (key.Verse() > key.builtin_books[key.Testament()-1][key.Book()-1].versemax[key.Chapter()-1]) {
- key.Verse(key.builtin_books[key.Testament()-1][key.Book()-1].versemax[key.Chapter()-1]);
+
+ // Either we set the chapter to the last chapter and now need to set to the last verse in the chapter
+ // Or the verse is beyond the end of the chapter.
+ // In any case we need to constrain the verse to it's chapter.
+ key.Verse(verseMax);
+
+ // There are three cases we want to handle:
+ // In the examples we are using the KJV versification where the last verse of Matt.7 is Matt.7.29.
+ // In each of these cases the out-of-versification, extra verse is Matt.7.30.
+ // 1) The "extra" verse follows the last verse in the chapter.
+ // <verse osisID="Matt.7.29">...</verse><verse osisID="Matt.7.30">...</verse>
+ // In this case re-versify Matt.7.30 as Matt.7.29.
+ //
+ // 2) The "extra" verse follows a range (a set of linked verses).
+ // <verse osisID="Matt.7.28-Matt.7.29">...</verse><verse osisID="Matt.7.30">...</verse>
+ // In this case, re-versify Matt.7.30 as Matt.7.28, the first verse in the linked set.
+ // Since we are post-poning linking, we want to re-reversify to the last entry in the module.
+ //
+ // 3) The last verse in the chapter is not in the input. There may be other verses missing as well.
+ // <verse osisID="Matt.7.8">...</verse><verse osisID="Matt.7.30">...</verse>
+ // In this case we should re-versify Matt.7.30 as Matt.7.29.
+ // However, since this and 2) are ambiguous, we'll re-reversify to the last entry in the module.
+
+ while (!key.Error() && !module->hasEntry(&key)) {
+ key.decrement(1);
}
- cout << "\tas " << key << endl;
-}
+ cout << " Appending content to " << key.getOSISRef() << endl;
+}
-void writeEntry(VerseKey &key, SWBuf &text, bool force = false) {
- static SWBuf activeVerseText;
+void writeEntry(SWBuf &text, bool force = false) {
char keyOsisID[255];
- if (inCanonicalOSISBook) {
- strcpy(keyOsisID, key.getOSISRef());
+ static const char* revision = "<milestone type=\"x-importer\" subType=\"x-osis2mod\" n=\"$Rev: 2400 $\"/>";
+ static bool firstOT = true;
+ static bool firstNT = true;
- // set keyOsisID to anything that an osisID cannot be.
- if (force) {
- strcpy(keyOsisID, "-force");
- }
-
- static VerseKey lastKey;
- lastKey.AutoNormalize(0);
- lastKey.Headings(1);
+ if (!inCanonicalOSISBook) {
+ return;
+ }
- VerseKey saveKey;
- saveKey.AutoNormalize(0);
- saveKey.Headings(1);
- saveKey = key;
+ strcpy(keyOsisID, currentVerse.getOSISRef());
- // If we have seen a verse and the supplied one is different then we output the collected one.
- if (*activeOsisID && strcmp(activeOsisID, keyOsisID)) {
+ // set keyOsisID to anything that an osisID cannot be.
+ if (force) {
+ strcpy(keyOsisID, "-force");
+ }
- key = lastKey;
+ static VerseKey lastKey;
+ lastKey.setVersificationSystem(currentVerse.getVersificationSystem());
+ lastKey.AutoNormalize(0);
+ lastKey.Headings(1);
- if (!isKJVRef(key)) {
- makeKJVRef(key);
- }
+ VerseKey saveKey;
+ saveKey.setVersificationSystem(currentVerse.getVersificationSystem());
+ saveKey.AutoNormalize(0);
+ saveKey.Headings(1);
+ saveKey = currentVerse;
-#ifdef _ICU_
- int utf8State = detectUTF8(activeVerseText.c_str());
- if (normalize) {
- // Don't need to normalize text that is ASCII
- // But assume other non-UTF-8 text is Latin1 (cp1252) and convert it to UTF-8
- if (!utf8State) {
- cout << "Warning: " << activeOsisID << ": Converting to UTF-8 (" << activeVerseText << ")" << endl;
- converter.processText(activeVerseText, (SWKey *)2); // note the hack of 2 to mimic a real key. TODO: remove all hacks
- converted++;
-
- // Prepare for double check. This probably can be removed.
- // But for now we are running the check again.
- // This is to determine whether we need to normalize output of the conversion.
- utf8State = detectUTF8(activeVerseText.c_str());
- }
+ // If we have seen a verse and the supplied one is different then we output the collected one.
+ if (*activeOsisID && strcmp(activeOsisID, keyOsisID)) {
- // Double check. This probably can be removed.
- if (!utf8State) {
- cout << "Error: " << activeOsisID << ": Converting to UTF-8 (" << activeVerseText << ")" << endl;
- }
+ if (!isValidRef(lastKey)) {
+ makeValidRef(lastKey);
+ }
- if (utf8State > 0) {
- SWBuf before = activeVerseText;
- normalizer.processText(activeVerseText, (SWKey *)2); // note the hack of 2 to mimic a real key. TODO: remove all hacks
- if (before != activeVerseText) {
- normalized++;
- }
- }
+ currentVerse = lastKey;
+
+ prepareSWText(activeOsisID, activeVerseText);
+
+ // Put the revision into the module
+ int testmt = currentVerse.Testament();
+ if ((testmt == 1 && firstOT) || (testmt == 2 && firstNT)) {
+ VerseKey t;
+ t.setVersificationSystem(currentVerse.getVersificationSystem());
+ t.AutoNormalize(0);
+ t.Headings(1);
+ t = currentVerse;
+ currentVerse.Book(0);
+ currentVerse.Chapter(0);
+ currentVerse.Verse(0);
+ module->setEntry(revision);
+ currentVerse = t;
+ switch (testmt) {
+ case 1:
+ firstOT = false;
+ break;
+ case 2:
+ firstNT = false;
+ break;
}
-#endif
+ }
- SWBuf currentText = module->getRawEntry();
- if (currentText.length()) {
- cout << "Appending entry: " << key.getOSISRef() << ": " << activeVerseText << endl;
- activeVerseText = currentText + " " + activeVerseText;
- }
+ // If the entry already exists, then append this entry to the text.
+ // This is for verses that are outside the chosen versification. They are appended to the prior verse.
+ // The space should not be needed if we retained verse tags.
+ SWBuf currentText = module->getRawEntry();
+ if (currentText.length()) {
+ cout << "INFO(WRITE): Appending entry: " << currentVerse.getOSISRef() << ": " << activeVerseText << endl;
+ activeVerseText = currentText + " " + activeVerseText;
+ }
#ifdef DEBUG
- cout << "Write: " << activeOsisID << ":" << key.getOSISRef() << ": " << activeVerseText << endl;
-#endif
-
- module->setEntry(activeVerseText);
- activeVerseText = "";
+ if (debug & DEBUG_WRITE) {
+ cout << "DEBUG(WRITE): " << activeOsisID << ":" << currentVerse.getOSISRef() << ": " << activeVerseText << endl;
}
+#endif
- // eliminate leading whitespace on the beginning of each verse and
- // before we append to current content, since we just added one
- text.trimStart();
- if (activeVerseText.length()) {
- activeVerseText += " ";
- activeVerseText += text;
- }
- else {
- activeVerseText = text;
- }
+ module->setEntry(activeVerseText);
+ activeVerseText = "";
+ }
- key = saveKey;
- lastKey = key;
- strcpy(activeOsisID, keyOsisID);
+ // The following is for initial verse content and for appending interverse content.
+ // Eliminate leading whitespace on the beginning of each verse and
+ // before we append to current content, since we just added one
+ text.trimStart();
+ if (activeVerseText.length()) {
+ activeVerseText += " ";
+ activeVerseText += text;
+ }
+ else {
+ activeVerseText = text;
}
+ // text has been consumed so clear it out.
+ text = "";
+
+ currentVerse = saveKey;
+ lastKey = currentVerse;
+ strcpy(activeOsisID, keyOsisID);
}
+void linkToEntry(VerseKey &linkKey, VerseKey &dest) {
+
+ // Only link verses that are in the versification.
+ if (!isValidRef(linkKey)) {
+ return;
+ }
-void linkToEntry(VerseKey& dest) {
- //cout << "Verse: " << key << "\n";
- //cout << "TEXT: " << text << "\n\n";
- //SWBuf currentText = module->getRawEntry();
- //if (currentText.length())
- // text = currentText + " " + text;
VerseKey saveKey;
+ saveKey.setVersificationSystem(currentVerse.getVersificationSystem());
saveKey.AutoNormalize(0);
saveKey.Headings(1);
- saveKey = *currentVerse;
+ saveKey = currentVerse;
+ currentVerse = linkKey;
- if (!isKJVRef(*currentVerse)) {
- makeKJVRef(*currentVerse);
- }
-
- cout << "Linking " << module->KeyText() << " to " << dest.getText() << "\n";
+ cout << "INFO(LINK): Linking " << currentVerse.getOSISRef() << " to " << dest.getOSISRef() << "\n";
module->linkEntry(&dest);
- *currentVerse = saveKey;
+ currentVerse = saveKey;
}
// Return true if the content was handled or is to be ignored.
// false if the what has been seen is to be accumulated and considered later.
-bool handleToken(SWBuf &text, XMLTag *token) {
+bool handleToken(SWBuf &text, XMLTag token) {
// Everything between the begin book tag and the first begin chapter tag is inBookHeader
- static bool inBookHeader = false;
+ static bool inBookHeader = false;
+
// Everything between the begin chapter tag and the first begin verse tag is inChapterHeader
- static bool inChapterHeader = false;
+ static bool inChapterHeader = false;
- // Flags to indicate whether we are in a book, chapter and/or verse
- //static bool inBook = false;
- //static bool inChapter = false;
- static bool inVerse = true;
+ // Flags indicating whether we are processing the content of a chapter
+ static bool inChapter = false;
- static SWBuf header = "";
+ // Flags indicating whether we are processing the content of a verse
+ static bool inVerse = false;
- // Used to remember titles that need to be handle specially
- static SWBuf lastTitle = "";
- static int titleOffset = -1;
- static bool inTitle = false;
- static int titleDepth = 0;
+ // Flags indicating whether we are processing the content of to be prepended to a verse
+ static bool inPreVerse = false;
+ static int genID = 1;
- static ListKey lastVerseIDs = ListKey();
+ // Flag indicating whether we are in "Words of Christ"
+ static bool inWOC = false;
+ // Tag for WOC quotes within a verse
+ static XMLTag wocTag = "<q who=\"Jesus\" marker=\"\">";
+
+ // Flag used to indicate where useful text begins
+ static bool firstDiv = false;
+
+ // Stack of quote elements used to handle Words of Christ
+ static std::stack<XMLTag> quoteStack;
// Stack of elements used to validate that books, chapters and verses are well-formed
// This goes beyond simple xml well-formed and also considers milestoned div, chapter and verse
// to be begin and end tags, too.
// It is an error if books and chapters are not well formed (though not required by OSIS)
// It is a warning that verses are not well formed (because some clients are not ready)
- static std::stack<XMLTag*> tagStack;
- // The following are used to validate well-formedness
- static int chapterDepth = 0;
- static int bookDepth = 0;
- static int verseDepth = 0;
-
- int tagDepth = tagStack.size();
- const char *tokenName = token->getName();
- bool isEndTag = token->isEndTag() || token->getAttribute("eID");
- const char *typeAttr = token->getAttribute("type");
-
- //Titles are treated specially.
- // If the title has an attribute type of "main" or "chapter"
- // it belongs to its <div> or <chapter> and is treated as part of its heading
- // Otherwise if it a title in a chapter before the first the first verse it
- // is put into the verse as a preverse title.
- if (!token->isEmpty() && !isEndTag && titleDepth == 0 && (!strcmp(tokenName, "title")) && (!typeAttr || (strcmp(typeAttr, "main") && strcmp(typeAttr, "chapter")))) {
- titleOffset = text.length(); //start of the title tag
- lastTitle = "";
- inTitle = true;
- tagStack.push(token);
-#ifdef DEBUG_STACK
- cout << currentOsisID << ": push (" << tagStack.size() << ") " << token->getName() << endl;
-#endif
- titleDepth = tagStack.size();
- return false;
- }
- // Check titleDepth since titles can be nested. Don't want to quit too early.
- else if (isEndTag && tagDepth == titleDepth && (!strcmp(tokenName, "title"))) {
- lastTitle.append(text.c_str() + titleOffset); //<title ...> up to the end </title>
- lastTitle.append(*token); //</title>
-
-#ifdef DEBUG
- cout << currentOsisID << ":" << endl;
- cout << "\tlastTitle: " << lastTitle.c_str() << endl;
- cout << "\ttext-lastTitle: " << text.c_str()+titleOffset << endl;
- cout << "\ttext: " << text.c_str() << endl;
-#endif
- inTitle = false;
- titleDepth = 0;
-#ifdef DEBUG_STACK
- cout << currentOsisID << ": pop(" << tagStack.size() << ") " << tagStack.top()->getName() << endl;
-#endif
- tagStack.pop();
- return false; // don't add </title> to the text itself
- }
-
+ static std::stack<XMLTag> tagStack;
+ // The following are used to validate well-formedness
+ static int chapterDepth = 0;
+ static int bookDepth = 0;
+ static int verseDepth = 0;
-//-- START TAG -------------------------------------------------------------------------
+ int tagDepth = tagStack.size();
+ const char *tokenName = token.getName();
+ bool isEndTag = token.isEndTag() || token.getAttribute("eID");
+ const char *typeAttr = token.getAttribute("type");
+ // process start tags
if (!isEndTag) {
// Remember non-empty start tags
- if (!token->isEmpty()) {
+ if (!token.isEmpty()) {
tagStack.push(token);
-#ifdef DEBUG_STACK
- cout << currentOsisID << ": push (" << tagStack.size() << ") " << token->getName() << endl;
+#ifdef DEBUG
+ if (debug & DEBUG_STACK) {
+ cout << "DEBUG(STACK): " << currentOsisID << ": push (" << tagStack.size() << ") " << token.getName() << endl;
+ }
#endif
}
- //-- WITH OSIS ID -------------------------------------------------------------------------
- //-- OR ANNOTATE REF -------------------------------------------------------------------------
- if (token->getAttribute("osisID") || token->getAttribute("annotateRef")) {
+ // throw away everything up to the first div
+ if (!firstDiv) {
+ if (!strcmp(tokenName, "div")) {
+#ifdef DEBUG
+ if (debug & DEBUG_OTHER) {
+ cout << "DEBUG(FOUND): Found first div and pitching prior material: " << text << endl;
+ }
+#endif
+ // TODO: Save off the content to use it to suggest the module's conf.
+ firstDiv = true;
+ text = "";
+ }
+ else {
+ // Collect the content so it can be used to suggest the module's conf.
+ return false;
+ }
+ }
+
+ //-- WITH osisID OR annotateRef -------------------------------------------------------------------------
+ // Handle Book, Chapter, and Verse (or commentary equivalent)
+ if (token.getAttribute("osisID") || token.getAttribute("annotateRef")) {
- // BOOK START
+ // BOOK START, <div type="book" ...>
if ((!strcmp(tokenName, "div")) && (typeAttr && !strcmp(typeAttr, "book"))) {
- inVerse = false;
if (inBookHeader || inChapterHeader) { // this one should never happen, but just in case
#ifdef DEBUG
- cout << currentOsisID << ": HEADING ";
+ if (debug & DEBUG_TITLE) {
+ cout << "DEBUG(TITLE): " << currentOsisID << ": OOPS HEADING " << endl;
+ cout << "\tinChapterHeader = " << inChapterHeader << endl;
+ cout << "\tinBookHeader = " << inBookHeader << endl;
+ }
#endif
- currentVerse->Testament(0);
- currentVerse->Book(0);
- currentVerse->Chapter(0);
- currentVerse->Verse(0);
- writeEntry(*currentVerse, text);
+ currentVerse.Testament(0);
+ currentVerse.Book(0);
+ currentVerse.Chapter(0);
+ currentVerse.Verse(0);
+ writeEntry(text);
}
- strcpy(currentOsisID, token->getAttribute("osisID"));
- *currentVerse = currentOsisID;
- currentVerse->Chapter(0);
- currentVerse->Verse(0);
- inBookHeader = true;
+ currentVerse = token.getAttribute("osisID");
+ currentVerse.Chapter(0);
+ currentVerse.Verse(0);
+ strcpy(currentOsisID, currentVerse.getOSISRef());
+
+ inChapter = false;
+ inVerse = false;
+ inPreVerse = false;
+ inBookHeader = true;
inChapterHeader = false;
- lastTitle = "";
- text = "";
- bookDepth = tagStack.size();
- chapterDepth = 0;
- verseDepth = 0;
- inCanonicalOSISBook = isOSISAbbrev(token->getAttribute("osisID"));
+ bookDepth = tagStack.size();
+ chapterDepth = 0;
+ verseDepth = 0;
- return true;
+ inCanonicalOSISBook = isOSISAbbrev(token.getAttribute("osisID"));
+ if (!inCanonicalOSISBook) {
+ cout << "WARNING(V11N): New book is " << token.getAttribute("osisID") << " and is not in " << v11n << " versification, ignoring" << endl;
+ }
+#ifdef DEBUG
+ else if (debug & DEBUG_OTHER) {
+ cout << "DEBUG(FOUND): New book is " << currentVerse.getOSISRef() << endl;
+ }
+#endif
+
+ return false;
}
- // CHAPTER START
- else if (((!strcmp(tokenName, "div")) && (typeAttr && !strcmp(typeAttr, "chapter")))
- || (!strcmp(tokenName, "chapter"))
- ) {
- inVerse = false;
+ // CHAPTER START, <div type="chapter" ...> or <chapter ...>
+ if (((!strcmp(tokenName, "div")) && (typeAttr && !strcmp(typeAttr, "chapter"))) ||
+ (!strcmp(tokenName, "chapter"))
+ ) {
if (inBookHeader) {
#ifdef DEBUG
- cout << currentOsisID << ": BOOK HEADING "<< text.c_str() << endl;
+ if (debug & DEBUG_TITLE) {
+ cout << "DEBUG(TITLE): " << currentOsisID << ": BOOK HEADING "<< text.c_str() << endl;
+ }
#endif
- writeEntry(*currentVerse, text);
+ writeEntry(text);
}
- strcpy(currentOsisID, token->getAttribute("osisID"));
- *currentVerse = currentOsisID;
- currentVerse->Verse(0);
- inBookHeader = false;
+ currentVerse = token.getAttribute("osisID");
+ currentVerse.Verse(0);
+#ifdef DEBUG
+ if (debug & DEBUG_OTHER) {
+ cout << "DEBUG(FOUND): Current chapter is " << currentVerse.getOSISRef() << " (" << token.getAttribute("osisID") << ")" << endl;
+ }
+#endif
+ strcpy(currentOsisID, currentVerse.getOSISRef());
+
+ inChapter = true;
+ inVerse = false;
+ inPreVerse = false;
+ inBookHeader = false;
inChapterHeader = true;
- lastTitle = "";
- text = "";
- chapterDepth = tagStack.size();
- verseDepth = 0;
- return true;
+ chapterDepth = tagStack.size();
+ verseDepth = 0;
+
+ return false;
}
- // VERSE OR COMMENTARY START
- else if (!strcmp(tokenName, "verse") ||
- (!strcmp(tokenName, "div") &&
- token->getAttribute("annotateType"))) {
+ // VERSE, <verse ...> OR COMMENTARY START, <div annotateType="xxx" ...>
+ if (!strcmp(tokenName, "verse") ||
+ (!strcmp(tokenName, "div") && token.getAttribute("annotateType"))) {
#ifdef DEBUG
- cout << "Entering verse" << endl;
+ if (debug & DEBUG_OTHER) {
+ cout << "DEBUG(FOUND): Entering verse" << endl;
+ }
#endif
- inVerse = true;
if (inChapterHeader) {
SWBuf heading = text;
-
- //make sure we don't insert the preverse title which belongs to the first verse of this chapter!
- // Did we have a preverse title?
- if (lastTitle.length())
- {
- //Was the preVerse title in the header (error if not)?
- const char* header = heading.c_str();
- const char* preVerse = strstr(header, lastTitle);
- if (preVerse) {
- if (preVerse == header) {
- heading = ""; // do nothing
- }
- else {
- // remove everything before the title from the beginning.
- text = preVerse;
- // Remove text from the end of the header.
- heading.setSize(preVerse - header);
- }
- }
- else {
- cout << currentOsisID << ": Warning: Bug in code. Could not find title." << endl;
- }
- }
- else {
- text = "";
- }
+ text = "";
if (heading.length()) {
#ifdef DEBUG
- cout << currentOsisID << ": CHAPTER HEADING "<< heading.c_str() << endl;
+ if (debug & DEBUG_TITLE) {
+ cout << "DEBUG(TITLE): " << currentOsisID << ": CHAPTER HEADING "<< heading.c_str() << endl;
+ }
#endif
- writeEntry(*currentVerse, heading);
+ writeEntry(heading);
}
inChapterHeader = false;
}
- SWBuf keyVal = token->getAttribute(strcmp(tokenName, "verse") ? "annotateRef" : "osisID");
+ // Did we have pre-verse material that needs to be marked?
+ if (inPreVerse) {
+ char genBuf[200];
+ sprintf(genBuf, "<div type=\"x-milestone\" subType=\"x-preverse\" eID=\"pv%d\"/>", genID++);
+ text.append(genBuf);
+ }
+
+ // Get osisID for verse or annotateRef for commentary
+ SWBuf keyVal = token.getAttribute(strcmp(tokenName, "verse") ? "annotateRef" : "osisID");
+
+ // Massage the key into a form that ParseVerseList can accept
prepareSWVerseKey(keyVal);
- lastVerseIDs = currentVerse->ParseVerseList(keyVal, *currentVerse, true);
- // set currentVerse to the first value in the keyVal
- VerseKey *element = SWDYNAMIC_CAST(VerseKey, lastVerseIDs.GetElement(0));
- if (element) {
- *currentVerse = element->LowerBound().getText();
+ // The osisID or annotateRef can be more than a single verse
+ // The first or only one is the currentVerse
+ // Use the last verse seen (i.e. the currentVerse) as the basis for recovering from bad parsing.
+ // This should never happen if the references are valid OSIS references
+ ListKey verseKeys = currentVerse.ParseVerseList(keyVal, currentVerse, true);
+ int memberKeyCount = verseKeys.Count();
+ if (memberKeyCount) {
+ currentVerse = verseKeys.getElement(0);
+ // See if this osisID or annotateRef refers to more than one verse.
+ // If it does, save it until all verses have been seen.
+ // At that point we will output links.
+ // This can be done by incrementing, which will produce an error
+ // if there is only one verse.
+ verseKeys.setPosition(TOP);
+ verseKeys.increment(1);
+ if (!verseKeys.Error()) {
+ linkedVerses.push_back(verseKeys);
+ }
}
else {
- *currentVerse = lastVerseIDs.GetElement(0)->getText();
+ cout << "ERROR(REF): Invalid osisID/annotateRef: " << token.getAttribute(strcmp(tokenName, "verse") ? "annotateRef" : "osisID") << endl;
}
- strcpy(currentOsisID, currentVerse->getOSISRef());
+ strcpy(currentOsisID, currentVerse.getOSISRef());
#ifdef DEBUG
- cout << "Current verse is " << *currentVerse << endl;
- cout << "osisID/annotateRef is adjusted to" << keyVal << endl;
+ if (debug & DEBUG_OTHER) {
+ cout << "DEBUG(FOUND): New current verse is " << currentVerse.getOSISRef() << endl;
+ cout << "DEBUG(FOUND): osisID/annotateRef is adjusted to: " << keyVal << endl;
+ }
#endif
- verseDepth = tagStack.size();
+ inVerse = true;
+ inPreVerse = false;
+ inBookHeader = false;
+ inChapterHeader = false;
+ verseDepth = tagStack.size();
- return true;
- }
- }
- // Handle stuff between the verses
- // Whitespace producing empty tokens are appended to prior entry
- // Also the quote
- // This is a hack to get ESV to work
- else if (!inTitle && !inVerse && token->isEmpty()) { // && !inBookHeader && !inChapterHeader) {
- if (!strcmp(tokenName, "p") ||
- !strcmp(tokenName, "div") ||
- !strcmp(tokenName, "q") ||
- !strcmp(tokenName, "l") ||
- !strcmp(tokenName, "lb") ||
- !strcmp(tokenName, "lg")
- ) {
+ // Include the token if it is not a verse
+ if (strcmp(tokenName, "verse")) {
+ text.append(token);
+ }
#ifdef DEBUG
- if (token) {
- cout << currentOsisID << ": appending interverse start token " << *token << ":" << text.c_str() << endl;
+ else if (debug & DEBUG_VERSE)
+ {
+ // transform the verse into a milestone
+ XMLTag t = "<milestone resp=\"v\" />";
+ // copy all the attributes of the verse element to the milestone
+ StringList attrNames = token.getAttributeNames();
+ for (StringList::iterator loop = attrNames.begin(); loop != attrNames.end(); loop++) {
+ const char* attr = (*loop).c_str();
+ t.setAttribute(attr, token.getAttribute(attr));
}
+ text.append(t);
+ }
#endif
- SWBuf tmp = token->toString();
- writeEntry(*currentVerse, tmp);
+
+ if (inWOC) {
+ text.append(wocTag);
+ }
return true;
}
+ } // done with Handle Book, Chapter, and Verse (or commentary equivalent)
+
+ // Now consider everything else.
+
+ // Handle WOC quotes.
+ // Note this requires transformBSP to make them into milestones
+ // Otherwise have to do it here
+ if (!strcmp(tokenName, "q")) {
+ quoteStack.push(token);
#ifdef DEBUG
- else {
- if (token) {
- cout << currentOsisID << ": interverse start token " << *token << ":" << text.c_str() << endl;
- }
+ if (debug & DEBUG_QUOTE) {
+ cout << "DEBUG(QUOTE): " << currentOsisID << ": quote top(" << quoteStack.size() << ") " << token << endl;
}
#endif
+ if (token.getAttribute("who") && !strcmp(token.getAttribute("who"), "Jesus")) {
+ inWOC = true;
+
+ // Output per verse WOC markup.
+ text.append(wocTag);
+
+ // Output the quotation mark if appropriate, inside the WOC.
+ // If there is no marker attribute, let the SWORD engine manufacture one.
+ // If there is a marker attribute and it has content, then output that.
+ // If the marker attribute is present and empty, then there is nothing to do.
+ // And have it within the WOC markup
+ if (!token.getAttribute("marker") || token.getAttribute("marker")[0]) {
+ token.setAttribute("who", 0); // remove the who="Jesus"
+ text.append(token);
+ }
+ return true;
+ }
+ return false;
+ }
+
+ // Have we found the start of pre-verse material?
+ // Pre-verse material follows the following rules
+ // 1) Between the opening of a book and the first chapter, all the material is handled as an introduction to the book.
+ // 2) Between the opening of a chapter and the first verse, the material is split between the introduction of the chapter
+ // and the first verse of the chapter.
+ // A <div> with a type other than section will be taken as a chapter introduction.
+ // A <title> of type acrostic, psalm or no type, will be taken as a title for the verse.
+ // A <title> of type main or chapter will be seen as a chapter title.
+ // 3) Between verses, the material is split between the prior verse and the next verse.
+ // Basically, while end and empty tags are found, they belong to the prior verse.
+ // Once a begin tag is found, it belongs to the next verse.
+ // If the title has an attribute type of "main" or "chapter"
+ // it belongs to its <div> or <chapter> and is treated as part of its heading
+ // Otherwise if it a title in a chapter before the first the first verse it
+ // is put into the verse as a preverse title.
+
+ if (!inPreVerse && !inBookHeader) {
+ if (inChapterHeader) {
+ // Determine when we are no longer in a chapter heading, but in pre-verse material:
+ // If we see one of the following:
+ // a section div
+ // a title that is not main or chapter
+ if ((!strcmp(tokenName, "div") && (typeAttr && !strcmp(typeAttr, "section"))) ||
+ (!strcmp(tokenName, "title") && (!typeAttr || (strcmp(typeAttr, "main") && strcmp(typeAttr, "chapter"))))
+ ) {
+ // Since we have found the boundary, we need to write out the chapter heading
+ writeEntry(text);
+ // And we are no longer in the chapter heading
+ inChapterHeader = false;
+ // But rather, we are now in pre-verse material
+ inPreVerse = true;
+ }
+ }
+ else if (!inVerse && inChapter) {
+ inPreVerse = true;
+ }
+
+ if (inPreVerse) {
+ char genBuf[200];
+ sprintf(genBuf, "<div type=\"x-milestone\" subType=\"x-preverse\" sID=\"pv%d\"/>", genID++);
+ text.append(genBuf);
+ }
}
- }
-//-- EMPTY and END TAG ---------------------------------------------------------------------------------------------
+#ifdef DEBUG
+ if (debug & DEBUG_INTERVERSE) {
+ if (!inVerse && !inBookHeader && !inChapterHeader) {
+ cout << "DEBUG(INTERVERSE): " << currentOsisID << ": interverse start token " << token << ":" << text.c_str() << endl;
+ }
+ }
+#endif
+ return false;
+ } // Done with procesing start and empty tags
+
+ // Process end tags
else {
if (tagStack.empty()) {
- cout << currentOsisID << ": tag expected" << endl;
- exit(1);
+ cout << "FATAL(NESTING): " << currentOsisID << ": tag expected" << endl;
+ exit(EXIT_BAD_NESTING);
}
- XMLTag* topToken = 0;
- if (!token->isEmpty()) {
- topToken = tagStack.top();
+ // Note: empty end tags have the eID attribute
+ if (!token.isEmpty()) {
+ XMLTag topToken = tagStack.top();
tagDepth = tagStack.size();
-#ifdef DEBUG_STACK
- cout << currentOsisID << ": pop(" << tagDepth << ") " << topToken->getName() << endl;
+#ifdef DEBUG
+ if (debug & DEBUG_STACK) {
+ cout << "DEBUG(STACK): " << currentOsisID << ": pop(" << tagDepth << ") " << topToken.getName() << endl;
+ }
#endif
tagStack.pop();
- if (strcmp(topToken->getName(), tokenName)) {
- cout << "Error: " << currentOsisID << ": Expected " << topToken->getName() << " found " << tokenName << endl;
-// exit(1); // I'm sure this validity check is a good idea, but there's a but somewhere that's killing the converter here.
+ if (strcmp(topToken.getName(), tokenName)) {
+ cout << "FATAL(NESTING): " << currentOsisID << ": Expected " << topToken.getName() << " found " << tokenName << endl;
+// exit(EXIT_BAD_NESTING); // (OSK) I'm sure this validity check is a good idea, but there's a but somewhere that's killing the converter here.
// So I'm disabling this line. Unvalidated OSIS files shouldn't be run through the converter anyway.
+ // (DM) This has nothing to do with well-form or valid. It checks milestoned elements for proper nesting.
}
}
+ // We haven't seen the first div so there is nothing to do.
+ if (!firstDiv) {
+ // Collect the content so it can be used to suggest the module's conf.
+ return false;
+ }
+
// VERSE and COMMENTARY END
if (!strcmp(tokenName, "verse") || (inVerse && !strcmp(tokenName, "div"))) {
- inVerse = false;
if (tagDepth != verseDepth) {
- cout << "Warning verse " << currentOsisID << " is not well formed:(" << verseDepth << "," << tagDepth << ")" << endl;
+ cout << "WARNING(NESTING): verse " << currentOsisID << " is not well formed:(" << verseDepth << "," << tagDepth << ")" << endl;
}
- if (lastTitle.length()) {
- const char* end = strchr(lastTitle, '>');
+ // If we are in WOC then we need to terminate the <q who="Jesus" marker=""> that was added earlier in the verse.
+ if (inWOC) {
+ text.append("</q>");
+ }
+
+
+ // Include the token if it is not a verse
+ if (strcmp(tokenName, "verse")) {
+ text.append(token);
+ }
#ifdef DEBUG
- cout << currentOsisID << ":" << endl;
- cout << "\t" << lastTitle << endl;
- cout << "\tlength=" << int(end+1 - lastTitle.c_str()) << ", tag:" << lastTitle.c_str() << endl;
+ else if (debug & DEBUG_VERSE)
+ {
+ // transform the verse into a milestone
+ XMLTag t = "<milestone resp=\"v\" />";
+ // copy all the attributes of the verse element to the milestone
+ StringList attrNames = token.getAttributeNames();
+ for (StringList::iterator loop = attrNames.begin(); loop != attrNames.end(); loop++) {
+ const char* attr = (*loop).c_str();
+ t.setAttribute(attr, token.getAttribute(attr));
+ }
+ text.append(t);
+ }
#endif
- SWBuf titleTagText;
- titleTagText.append(lastTitle.c_str(), end+1 - lastTitle.c_str());
+ writeEntry(text);
+
+ inVerse = false;
+ inPreVerse = false;
+ verseDepth = 0;
+
+ return true;
+ }
+
+ // Handle WOC quotes.
+ // Note this requires transformBSP to make them into milestones
+ // Otherwise have to manage it here
+ if (!strcmp(tokenName, "q")) {
+ XMLTag topToken = quoteStack.top();
#ifdef DEBUG
- cout << currentOsisID << ": tagText: " << titleTagText.c_str() << endl;;
+ if (debug & DEBUG_QUOTE) {
+ cout << "DEBUG(QUOTE): " << currentOsisID << ": quote pop(" << quoteStack.size() << ") " << topToken << " -- " << token << endl;
+ }
#endif
+ quoteStack.pop();
- XMLTag titleTag(titleTagText);
- titleTag.setAttribute("type", "section");
- titleTag.setAttribute("subType", "x-preverse");
-
- //we insert the title into the text again - make sure to remove the old title text
- const char* pos = strstr(text, lastTitle);
- if (pos) {
- SWBuf temp;
- temp.append(text, pos-text.c_str());
- temp.append(pos+lastTitle.length());
- text = temp;
+ // If we have found an end tag for a <q who="Jesus"> then we are done with the WOC
+ // and we need to terminate the <q who="Jesus" marker=""> that was added earlier in the verse.
+ if (token.getAttribute("who") && !strcmp(token.getAttribute("who"), "Jesus")) {
+#ifdef DEBUG
+ if (debug & DEBUG_QUOTE) {
+ cout << "DEBUG(QUOTE): " << currentOsisID << ": (" << quoteStack.size() << ") " << topToken << " -- " << token << endl;
}
-
- //if a title was already inserted at the beginning insert this one after that first title
- int titlePos = 0;
- if (!strncmp(text.c_str(),"<title ",7)) {
- const char* tmp = strstr(text.c_str(), "</title>");
- if (tmp) {
- titlePos = (tmp-text.c_str()) + 8;
- }
+#endif
+ inWOC = false;
+ const char *sID = topToken.getAttribute("sID");
+ const char *eID = token.getAttribute("eID");
+ if (!sID) {
+ sID = "";
}
- text.insert(titlePos, end+1);
- text.insert(titlePos, titleTag);
- }
- // text += token;
- writeEntry(*currentVerse, text);
-
- // If we found an osisID like osisID="Gen.1.1 Gen.1.2 Gen.1.3" we have to link Gen.1.2 and Gen.1.3 to Gen.1.1
- VerseKey dest = *currentVerse;
- VerseKey linkKey;
- linkKey.AutoNormalize(0);
- linkKey.Headings(1); // turn on mod/testmnt/book/chap headings
- linkKey.Persist(1);
- for (lastVerseIDs = TOP; !lastVerseIDs.Error(); lastVerseIDs++) {
- linkKey = lastVerseIDs;
-
- if (linkKey.Verse() != dest.Verse() ||
- linkKey.Chapter() != dest.Chapter() ||
- linkKey.Book() != dest.Book() ||
- linkKey.Testament() != dest.Testament())
- {
- *currentVerse = linkKey;
- linkToEntry(dest);
+ if (!eID) {
+ eID = "";
+ }
+ if (strcmp(sID, eID)) {
+ cout << "ERROR(NESTING): improper nesting " << currentOsisID << ": matching (sID,eID) not found. Looking at (" << sID << "," << eID << ")" << endl;
}
- }
- lastTitle = "";
- text = "";
- verseDepth = 0;
- return true;
+
+ // Output the quotation mark if appropriate, inside the WOC.
+ // If there is no marker attribute, let the SWORD engine manufacture one.
+ // If there is a marker attribute and it has content, then output that.
+ // If the marker attribute is present and empty, then there is nothing to do.
+ // And have it within the WOC markup
+ if (!token.getAttribute("marker") || token.getAttribute("marker")[0]) {
+ token.setAttribute("who", 0); // remove the who="Jesus"
+ text.append(token);
+ }
+
+ // Now close the WOC
+ text.append("</q>");
+ return true;
+ }
+ return false;
}
- else if (!inTitle && !inVerse && !inBookHeader && !inChapterHeader) {
+
+ // Look for the end of document, book and chapter
+ // Also for material that goes with last entry
+ if (!inVerse && !inBookHeader && !inChapterHeader) {
// Is this the end of a chapter.
if (tagDepth == chapterDepth && (!strcmp(tokenName, "div") || !strcmp(tokenName, "chapter"))) {
+ text.append(token);
+ writeEntry(text);
+ inChapter = false;
chapterDepth = 0;
- verseDepth = 0;
- text = "";
+ verseDepth = 0;
return true;
}
- // Or is it the end of a book
- else if (tagDepth == bookDepth && (!strcmp(tokenName, "div"))) {
- bookDepth = 0;
+
+ // Is it the end of a book
+ if (tagDepth == bookDepth && (!strcmp(tokenName, "div"))) {
+ text.append(token);
+ writeEntry(text);
+ bookDepth = 0;
chapterDepth = 0;
- verseDepth = 0;
- text = "";
+ verseDepth = 0;
return true;
}
- // Or is it the end of an osis document
- else if (!strcmp(tokenName, "osisText") || !strcmp(tokenName, "osis")) {
- bookDepth = 0;
+
+ // Do not include the end of an osis document
+ if (!strcmp(tokenName, "osisText") || !strcmp(tokenName, "osis")) {
+ bookDepth = 0;
chapterDepth = 0;
- verseDepth = 0;
- text = "";
+ verseDepth = 0;
+ text = "";
return true;
}
- // OTHER MISC END TAGS WHEN !INVERSE
- // Test that is between verses, or after the last is appended to the preceeding verse.
- else if (!strcmp(tokenName, "p") ||
- !strcmp(tokenName, "div") ||
- !strcmp(tokenName, "q") ||
- !strcmp(tokenName, "l") ||
- !strcmp(tokenName, "lb") ||
- !strcmp(tokenName, "lg")
- ) {
- text.append(*token);
- writeEntry(*currentVerse, text);
- text = "";
+
+ // When we are not inPreVerse, the interverse tags get appended to the preceeding verse.
+ if (!inPreVerse) {
+ text.append(token);
+ writeEntry(text);
#ifdef DEBUG
- cout << currentOsisID << ": appending interverse end tag: " << tokenName << "(" << tagDepth << "," << chapterDepth << "," << bookDepth << ")" << endl;
+ if (debug & DEBUG_INTERVERSE) {
+ cout << "DEBUG(INTERVERSE): " << currentOsisID << ": appending interverse end tag: " << tokenName << "(" << tagDepth << "," << chapterDepth << "," << bookDepth << ")" << endl;
+ }
#endif
return true;
}
+
#ifdef DEBUG
- cout << currentOsisID << ": interverse end tag: " << tokenName << "(" << tagDepth << "," << chapterDepth << "," << bookDepth << ")" << endl;
+ if (debug & DEBUG_INTERVERSE) {
+ cout << "DEBUG(INTERVERSE): " << currentOsisID << ": interverse end tag: " << tokenName << "(" << tagDepth << "," << chapterDepth << "," << bookDepth << ")" << endl;
+ }
#endif
+ return false;
+
}
- }
+
+ return false;
+ } // done with Processing end tags
+
return false;
}
-XMLTag* transform(XMLTag* t) {
- static std::stack<XMLTag*> tagStack;
+/**
+ * Support normalizations necessary for a SWORD module.
+ * OSIS allows for document structure (Book, Section, Paragraph or BSP)
+ * to overlap Bible versification (Book, Chapter, Verse).
+ * Most SWORD applications need to display verses in isolation or in HTML table cells,
+ * requiring each stored entry (i.e. verses) to be well-formed xml.
+ * This routine normalizes container elements which could cross verse boundaries into milestones.
+ * For most of these OSIS elements, there is a milestone form. However, p is not milestoneable.
+ * For this reason, p is transformed into lb elements.
+ * param t the tag to transform
+ * return the transformed tag or the original one
+ */
+XMLTag transformBSP(XMLTag t) {
+ static std::stack<XMLTag> bspTagStack;
static int sID = 1;
char buf[11];
// Support simplification transformations
- if (!t->isEmpty()) {
- if (!t->isEndTag()) {
- tagStack.push(t);
-#ifdef DEBUG_XFORM
- cout << currentOsisID << ": xform push (" << tagStack.size() << ") " << t->getName() << endl;
+ if (t.isEmpty()) {
+#ifdef DEBUG
+ if (debug & DEBUG_XFORM) {
+ cout << "DEBUG(XFORM): " << currentOsisID << ": xform empty " << t << endl;
+ }
#endif
- // Transform <q> into <q sID=""/> except for <q who="Jesus">
- if ((!strcmp(t->getName(), "q")) && (!t->getAttribute("who") || strcmp(t->getAttribute("who"), "Jesus"))) {
- t->setEmpty(true);
- sprintf(buf, "q%d", sID++);
- t->setAttribute("sID", buf);
- }
+ return t;
+ }
- // Transform <p> into <lb type="x-begin-paragraph"/>
- else if (!strcmp(t->getName(), "p")) {
- // note there is no process that should care about type, it is there for reversability
- t->setText("<lb type=\"x-begin-paragraph\" />");
- }
+ const char* tagName = t.getName();
+ if (!t.isEndTag()) {
+ // Transform <p> into <div type="paragraph"> and milestone it
+ if (!strcmp(tagName, "p")) {
+ t.setText("<div type=\"paragraph\" />");
+ sprintf(buf, "gen%d", sID++);
+ t.setAttribute("sID", buf);
+ }
+
+ // Transform <tag> into <tag sID="">, where tag is a milestoneable element.
+ // The following containers are milestoneable.
+ // abbr, closer, div, foreign, l, lg, salute, signed, speech
+ // Leaving out:
+ // abbr When would this ever cross a boundary?
+ // seg as it is used for a divineName hack
+ // foreign so that it can be easily italicized
+ else if (!strcmp(tagName, "chapter") ||
+ !strcmp(tagName, "closer") ||
+ !strcmp(tagName, "div") ||
+ !strcmp(tagName, "l") ||
+ !strcmp(tagName, "lg") ||
+ !strcmp(tagName, "q") ||
+ !strcmp(tagName, "salute") ||
+ !strcmp(tagName, "signed") ||
+ !strcmp(tagName, "speech") ||
+ !strcmp(tagName, "verse")
+ ) {
+ t.setEmpty(true);
+ sprintf(buf, "gen%d", sID++);
+ t.setAttribute("sID", buf);
+ }
+ bspTagStack.push(t);
+#ifdef DEBUG
+ if (debug & DEBUG_XFORM) {
+ cout << "DEBUG(XFORM): " << currentOsisID << ": xform push (" << bspTagStack.size() << ") " << t << " (tagname=" << tagName << ")" << endl;
+ XMLTag topToken = bspTagStack.top();
+ cout << "DEBUG(XFORM): " << currentOsisID << ": xform top(" << bspTagStack.size() << ") " << topToken << endl;
}
- else {
- XMLTag *topToken = tagStack.top();
-#ifdef DEBUG_XFORM
- cout << currentOsisID << ": xform pop(" << tagStack.size() << ") " << topToken->getName() << endl;
#endif
- tagStack.pop();
+ }
+ else {
+ XMLTag topToken = bspTagStack.top();
+#ifdef DEBUG
+ if (debug & DEBUG_XFORM) {
+ cout << "DEBUG(XFORM): " << currentOsisID << ": xform pop(" << bspTagStack.size() << ") " << topToken << endl;
+ }
+#endif
+ bspTagStack.pop();
+
+ // Look for the milestoneable container tags handled above.
+ if (!strcmp(tagName, "chapter") ||
+ !strcmp(tagName, "closer") ||
+ !strcmp(tagName, "div") ||
+ !strcmp(tagName, "l") ||
+ !strcmp(tagName, "lg") ||
+ !strcmp(tagName, "p") ||
+ !strcmp(tagName, "q") ||
+ !strcmp(tagName, "salute") ||
+ !strcmp(tagName, "signed") ||
+ !strcmp(tagName, "speech") ||
+ !strcmp(tagName, "verse")
+ ) {
+ // make this a clone of the start tag with sID changed to eID
+ // Note: in the case of </p> the topToken is a <div type="paragraph">
+ t = topToken;
+ t.setAttribute("eID", t.getAttribute("sID"));
+ t.setAttribute("sID", 0);
+ }
+ }
- // If we have found an end tag for a <q> that was transformed then transform this one as well.
- if ((!strcmp(t->getName(), "q")) && (!strcmp(topToken->getName(), "q")) && (!topToken->getAttribute("who") || strcmp(topToken->getAttribute("who"), "Jesus"))) {
- // make this a clone of the start tag with sID changed to eID
- *t = *topToken;
- t->setAttribute("eID", t->getAttribute("sID"));
- t->setAttribute("sID", 0);
- }
+ return t;
+}
- // Look for paragraph tags.
- // If we have found an end tag for a <p> that was transformed then transform this as well.
- else if ((!strcmp(t->getName(), "p")) && (!strcmp(topToken->getName(), "lb"))) {
- t->setText("<lb type=\"x-end-paragraph\" />");
- }
+/**
+ * Write out all links in the module.
+ * Waiting is necessary because writeEntry might ultimately append
+ * text to a verse moving it's offset in the data file.
+ * While we are minimizing it by postponing the write until we have
+ * gathered the next verse, the following scenario is happening:
+ * A module is using linked verses and has some verses that are not
+ * in the chosen versification. If the out-of-canon verse happens following
+ * a linked verse, the out-of-canon verse is appended to the prior
+ * verse. Care has to be taken that the linked verses all point to
+ * the first of the set.
+ */
+void writeLinks()
+{
+ // Link all the verses
+ VerseKey destKey;
+ destKey.setVersificationSystem(currentVerse.getVersificationSystem());
+ destKey.AutoNormalize(0);
+ destKey.Headings(1);
+
+ VerseKey linkKey;
+ linkKey.setVersificationSystem(currentVerse.getVersificationSystem());
+ linkKey.AutoNormalize(0);
+ linkKey.Headings(1);
+ for (unsigned int i = 0; i < linkedVerses.size(); i++) {
+ // The verseKeys is a list of verses
+ // where the first is the real verse
+ // and the others link to it.
+ ListKey verseKeys = linkedVerses[i];
+ verseKeys.setPosition(TOP);
+ destKey = verseKeys.getElement();
+ verseKeys.increment(1);
+
+ while (!verseKeys.Error()) {
+ linkKey = verseKeys.getElement();
+ verseKeys.increment(1);
+ linkToEntry(linkKey, destKey);
}
}
- return t;
}
void usage(const char *app, const char *error = 0) {
@@ -875,6 +1262,8 @@ void usage(const char *app, const char *error = 0) {
if (error) fprintf(stderr, "\n%s: %s\n", app, error);
fprintf(stderr, "\nusage: %s <output/path> <osisDoc> [OPTIONS]\n", app);
+ fprintf(stderr, " <output/path>\t\t an existing folder that the module will be written\n");
+ fprintf(stderr, " <osisDoc>\t\t path to the validated OSIS document, or '-' to read from standard input\n");
fprintf(stderr, " -a\t\t\t augment module if exists (default is to create new)\n");
fprintf(stderr, " -z\t\t\t use ZIP compression (default no compression)\n");
fprintf(stderr, " -Z\t\t\t use LZSS compression (default no compression)\n");
@@ -882,15 +1271,133 @@ void usage(const char *app, const char *error = 0) {
fprintf(stderr, "\t\t\t\t 2 - verse; 3 - chapter; 4 - book\n");
fprintf(stderr, " -c <cipher_key>\t encipher module using supplied key\n");
fprintf(stderr, "\t\t\t\t (default no enciphering)\n");
- fprintf(stderr, " -N\t\t\t Do not convert UTF-8 or normalize UTF-8 to NFC\n");
- fprintf(stderr, "\t\t\t\t (default is to convert to UTF-8, if needed, and then normalize to NFC");
- fprintf(stderr, "\t\t\t\t Note: all UTF-8 texts should be normalized to NFC\n");
- exit(-1);
+ fprintf(stderr, " -N\t\t\t do not convert UTF-8 or normalize UTF-8 to NFC\n");
+ fprintf(stderr, "\t\t\t\t (default is to convert to UTF-8, if needed,\n");
+ fprintf(stderr, "\t\t\t\t and then normalize to NFC)\n");
+ fprintf(stderr, "\t\t\t\t Note: UTF-8 texts should be normalized to NFC.\n");
+ fprintf(stderr, " -s <2|4>\t\t max text size per entry (default is 2).\n");
+ fprintf(stderr, "\t\t\t\t Note: useful for commentaries with very large entries\n");
+ fprintf(stderr, "\t\t\t\t in uncompressed modules (default is 65535 bytes)\n");
+ fprintf(stderr, " -v <v11n>\t\t specify a versification scheme to use (default is KJV)\n");
+ fprintf(stderr, "\t\t\t\t Note: The following are valid values for v11n:\n");
+ VerseMgr *vmgr = VerseMgr::getSystemVerseMgr();
+ StringList av11n = vmgr->getVersificationSystems();
+ for (StringList::iterator loop = av11n.begin(); loop != av11n.end(); loop++) {
+ fprintf(stderr, "\t\t\t\t\t%s\n", (*loop).c_str());
+ }
+#ifdef DEBUG
+ fprintf(stderr, " -d <flags>\t\t turn on debugging (default is 0)\n");
+ fprintf(stderr, "\t\t\t\t Note: This flag may change in the future.\n");
+ fprintf(stderr, "\t\t\t\t Flags: The following are valid values:\n");
+ fprintf(stderr, "\t\t\t\t\t0 - no debugging\n");
+ fprintf(stderr, "\t\t\t\t\t1 - writes to module, very verbose\n");
+ fprintf(stderr, "\t\t\t\t\t2 - verse start and end\n");
+ fprintf(stderr, "\t\t\t\t\t4 - quotes, especially Words of Christ (WOC)\n");
+ fprintf(stderr, "\t\t\t\t\t8 - titles\n");
+ fprintf(stderr, "\t\t\t\t\t16 - inter-verse material\n");
+ fprintf(stderr, "\t\t\t\t\t32 - BSP to BCV transformations\n");
+ fprintf(stderr, "\t\t\t\t\t64 - v11n exceptions\n");
+ fprintf(stderr, "\t\t\t\t\t128 - parsing of osisID and osisRef\n");
+ fprintf(stderr, "\t\t\t\t\t256 - internal stack\n");
+ fprintf(stderr, "\t\t\t\t\t512 - miscellaneous\n");
+ fprintf(stderr, "\t\t\t\t This flag can be used more than once.\n");
+#endif
+ fprintf(stderr, "\n");
+ fprintf(stderr, "See http://www.crosswire.org/wiki/osis2mod for more details.\n");
+ fprintf(stderr, "\n");
+ exit(EXIT_BAD_ARG);
+}
+
+void processOSIS(istream& infile) {
+ activeOsisID[0] = '\0';
+
+ strcpy(currentOsisID,"N/A");
+
+ currentVerse.setVersificationSystem(v11n);
+ currentVerse.AutoNormalize(0);
+ currentVerse.Headings(1); // turn on mod/testmnt/book/chap headings
+ currentVerse.Persist(1);
+
+ module->setKey(currentVerse);
+ module->setPosition(TOP);
+
+ SWBuf token;
+ SWBuf text;
+ bool intoken = false;
+ bool inWhitespace = false;
+ bool seeingSpace = false;
+ char curChar = '\0';
+
+ while (infile.good()) {
+
+ curChar = infile.get();
+
+ // skip the character if it is bad. infile.good() will catch the problem
+ if (curChar == -1) {
+ continue;
+ }
+
+ if (!intoken && curChar == '<') {
+ intoken = true;
+ token = "<";
+ continue;
+ }
+
+ // Outside of tokens merge adjacent whitespace
+ if (!intoken) {
+ seeingSpace = isspace(curChar);
+ if (seeingSpace) {
+ if (inWhitespace) {
+ continue;
+ }
+ // convert all whitespace to blanks
+ curChar = ' ';
+ }
+ inWhitespace = seeingSpace;
+ }
+
+ if (intoken && curChar == '>') {
+ intoken = false;
+ inWhitespace = false;
+ token.append('>');
+ // take this isalpha if out to check for bugs in text
+ if ((isalpha(token[1])) || (isalpha(token[2]))) {
+ //cout << "Handle:" << token.c_str() << endl;
+ XMLTag t = transformBSP(token.c_str());
+
+ if (!handleToken(text, t)) {
+ text.append(t);
+ }
+ }
+ continue;
+ }
+
+ if (intoken) {
+ token.append(curChar);
+ }
+ else {
+ switch (curChar) {
+ case '>' : text.append("&gt;"); break;
+ case '<' : text.append("&lt;"); break;
+ default : text.append(curChar); break;
+ }
+ }
+ }
+
+ // Force the last entry from the text buffer.
+ text = "";
+ writeEntry(text, true);
+ writeLinks();
+
+#ifdef _ICU_
+ if (converted) fprintf(stderr, "osis2mod converted %d verses to UTF-8\n", converted);
+ if (normalized) fprintf(stderr, "osis2mod normalized %d verses to NFC\n", normalized);
+#endif
}
int main(int argc, char **argv) {
- fprintf(stderr, "You are running osis2mod: $Rev: 2169 $\n");
+ fprintf(stderr, "You are running osis2mod: $Rev: 2400 $\n");
// Let's test our command line arguments
if (argc < 3) {
@@ -898,14 +1405,15 @@ int main(int argc, char **argv) {
}
// variables for arguments, holding defaults
- const char* program = argv[0];
- const char* path = argv[1];
- const char* osisDoc = argv[2];
- int append = 0;
- int compType = 0;
- int iType = 4;
- string cipherKey = "";
-
+ const char* program = argv[0];
+ const char* path = argv[1];
+ const char* osisDoc = argv[2];
+ int append = 0;
+ SWBuf compType = "";
+ bool isCommentary = false;
+ int iType = 4;
+ int entrySize = 0;
+ SWBuf cipherKey = "";
SWCompress *compressor = 0;
for (int i = 3; i < argc; i++) {
@@ -913,12 +1421,14 @@ int main(int argc, char **argv) {
append = 1;
}
else if (!strcmp(argv[i], "-z")) {
- if (compType) usage(*argv, "Cannot specify both -z and -Z");
- compType = 2;
+ if (compType.size()) usage(*argv, "Cannot specify both -z and -Z");
+ if (entrySize) usage(*argv, "Cannot specify both -z and -s");
+ compType = "ZIP";
}
else if (!strcmp(argv[i], "-Z")) {
- if (compType) usage(*argv, "Cannot specify both -z and -Z");
- compType = 1;
+ if (compType.size()) usage(*argv, "Cannot specify both -z and -Z");
+ if (entrySize) usage(*argv, "Cannot specify both -Z and -s");
+ compType = "LZSS";
}
else if (!strcmp(argv[i], "-b")) {
if (i+1 < argc) {
@@ -934,62 +1444,127 @@ int main(int argc, char **argv) {
if (i+1 < argc) cipherKey = argv[++i];
else usage(*argv, "-c requires <cipher_key>");
}
+ else if (!strcmp(argv[i], "-v")) {
+ if (i+1 < argc) v11n = argv[++i];
+ else usage(*argv, "-v requires <v11n>");
+ }
+ else if (!strcmp(argv[i], "-s")) {
+ if (compType.size()) usage(*argv, "Cannot specify -s and -z or -Z");
+ if (i+1 < argc) {
+ entrySize = atoi(argv[++i]);
+ if (entrySize == 2 || entrySize == 4) {
+ continue;
+ }
+ }
+ usage(*argv, "-s requires one of <2|4>");
+ }
+ else if (!strcmp(argv[i], "-C")) {
+ isCommentary = true;
+ }
+#ifdef DEBUG
+ else if (!strcmp(argv[i], "-d")) {
+ if (i+1 < argc) debug |= atoi(argv[++i]);
+ else usage(*argv, "-d requires <flags>");
+ }
+#endif
else usage(*argv, (((SWBuf)"Unknown argument: ")+ argv[i]).c_str());
}
- switch (compType) { // these are deleted by zText
- case 0: break;
- case 1: compressor = new LZSSCompress(); break;
- case 2: compressor = new ZipCompress(); break;
- }
+ if (compType == "ZIP") {
+ compressor = new ZipCompress();
+ }
+ else if (compType = "LZSS") {
+ compressor = new LZSSCompress();
+ }
#ifndef _ICU_
if (normalize) {
normalize = false;
- cout << program << " is not compiled with support for ICU. Ignoring -n flag." << endl;
+ cout << "WARNING(UTF8): " << program << " is not compiled with support for ICU. Assuming -N." << endl;
}
#endif
#ifdef DEBUG
- cout << "path: " << path << " osisDoc: " << osisDoc << " create: " << append << " compressType: " << compType << " blockType: " << iType << " cipherKey: " << cipherKey.c_str() << " normalize: " << normalize << "\n";
- cout << "";
-// exit(-3);
+ if (debug & DEBUG_OTHER) {
+ cout << "DEBUG(ARGS):\n\tpath: " << path << "\n\tosisDoc: " << osisDoc << "\n\tcreate: " << append << "\n\tcompressType: " << compType << "\n\tblockType: " << iType << "\n\tcipherKey: " << cipherKey.c_str() << "\n\tnormalize: " << normalize << endl;
+ }
#endif
-
if (!append) { // == 0 then create module
// Try to initialize a default set of datafiles and indicies at our
// datapath location passed to us from the user.
- if ( compressor ) {
- if ( zText::createModule(path, iType) ) {
- fprintf(stderr, "error: %s: couldn't create module at path: %s \n", program, path);
- exit(-3);
+ if (compressor) {
+ if (zText::createModule(path, iType, v11n)) {
+ fprintf(stderr, "ERROR: %s: couldn't create module at path: %s \n", program, path);
+ exit(EXIT_NO_CREATE);
+ }
+ }
+ else if (entrySize == 4) {
+ if (RawText4::createModule(path, v11n)) {
+ fprintf(stderr, "ERROR: %s: couldn't create module at path: %s \n", program, path);
+ exit(EXIT_NO_CREATE);
}
}
- else if (RawText::createModule(path)) {
- fprintf(stderr, "error: %s: couldn't create module at path: %s \n", program, path);
- exit(-3);
+ else {
+ if (RawText::createModule(path, v11n)) {
+ fprintf(stderr, "ERROR: %s: couldn't create module at path: %s \n", program, path);
+ exit(EXIT_NO_CREATE);
+ }
}
}
- // Let's see if we can open our input file
- ifstream infile(osisDoc);
- if (infile.fail()) {
- fprintf(stderr, "error: %s: couldn't open input file: %s \n", program, osisDoc);
- exit(-2);
- }
-
// Do some initialization stuff
if (compressor) {
- module = new zText(path, 0, 0, iType, compressor);
+ // Create a compressed text module allowing very large entries
+ // Taking defaults except for first, fourth, fifth and last argument
+ module = new zText(
+ path, // ipath
+ 0, // iname
+ 0, // idesc
+ iType, // iblockType
+ compressor, // icomp
+ 0, // idisp
+ ENC_UNKNOWN, // enc
+ DIRECTION_LTR, // dir
+ FMT_UNKNOWN, // markup
+ 0, // lang
+ v11n // versification
+ );
+ }
+ else if (entrySize == 4) {
+ // Create a raw text module allowing very large entries
+ // Taking defaults except for first and last argument
+ module = new RawText4(
+ path, // ipath
+ 0, // iname
+ 0, // idesc
+ 0, // idisp
+ ENC_UNKNOWN, // encoding
+ DIRECTION_LTR, // dir
+ FMT_UNKNOWN, // markup
+ 0, // ilang
+ v11n // versification
+ );
}
- else{
- module = new RawText(path); // open our datapath with our RawText driver.
+ else {
+ // Create a raw text module allowing reasonable sized entries
+ // Taking defaults except for first and last argument
+ module = new RawText(
+ path, // ipath
+ 0, // iname
+ 0, // idesc
+ 0, // idisp
+ ENC_UNKNOWN, // encoding
+ DIRECTION_LTR, // dir
+ FMT_UNKNOWN, // markup
+ 0, // ilang
+ v11n // versification
+ );
}
SWFilter *cipherFilter = 0;
- if (!cipherKey.empty()) {
+ if (cipherKey.length()) {
fprintf(stderr, "Adding cipher filter with phrase: %s\n", cipherKey.c_str() );
cipherFilter = new CipherFilter(cipherKey.c_str());
module->AddRawFilter(cipherFilter);
@@ -997,94 +1572,29 @@ int main(int argc, char **argv) {
if (!module->isWritable()) {
fprintf(stderr, "The module is not writable. Writing text to it will not work.\nExiting.\n" );
- exit(-1);
+ exit(EXIT_NO_WRITE);
}
- activeOsisID[0] = '\0';
- strcpy(currentOsisID,"N/A");
-
- currentVerse = new VerseKey();
- currentVerse->AutoNormalize(0);
- currentVerse->Headings(1); // turn on mod/testmnt/book/chap headings
- currentVerse->Persist(1);
-
- module->setKey(*currentVerse);
-
- (*module) = TOP;
-
- SWBuf token;
- SWBuf text;
- bool intoken = false;
- bool inWhitespace = false;
- bool seeingSpace = false;
- char curChar = '\0';
-
- while (infile.good()) {
-
- curChar = infile.get();
-
- // skip the character if it is bad. infile.good() will catch the problem
- if (curChar == -1) {
- continue;
- }
-
- if (!intoken && curChar == '<') {
- intoken = true;
- token = "<";
- continue;
- }
-
- // Outside of tokens merge adjacent whitespace
- if (!intoken) {
- seeingSpace = isspace(curChar);
- if (seeingSpace) {
- if (inWhitespace) {
- continue;
- }
- // convert all whitespace to blanks
- curChar = ' ';
- }
- inWhitespace = seeingSpace;
- }
-
- if (intoken && curChar == '>') {
- intoken = false;
- inWhitespace = false;
- token.append('>');
- // take this isalpha if out to check for bugs in text
- if ((isalpha(token[1])) || (isalpha(token[2]))) {
- //cout << "Handle:" << token.c_str() << endl;
- XMLTag *t = new XMLTag(token.c_str());
-
- if (!handleToken(text, transform(t))) {
- text.append(*t);
- }
- }
- continue;
+ // Either read from std::cin (aka stdin), when the argument is a '-'
+ // or from a specified file.
+ if (!strcmp(osisDoc, "-")) {
+ processOSIS(cin);
+ }
+ else {
+ // Let's see if we can open our input file
+ ifstream infile(osisDoc);
+ if (infile.fail()) {
+ fprintf(stderr, "ERROR: %s: couldn't open input file: %s \n", program, osisDoc);
+ exit(EXIT_NO_READ);
}
-
- if (intoken)
- token.append(curChar);
- else
- switch (curChar) {
- case '>' : text.append("&gt;"); break;
- case '<' : text.append("&lt;"); break;
- default : text.append(curChar); break;
- }
+ processOSIS(infile);
+ infile.close();
}
- // Force the last entry from the text buffer.
- text = "";
- writeEntry(*currentVerse, text, true);
delete module;
- delete currentVerse;
if (cipherFilter)
delete cipherFilter;
- infile.close();
-#ifdef _ICU_
- if (converted) fprintf(stderr, "osis2mod converted %d verses to UTF-8\n", converted);
- if (normalized) fprintf(stderr, "osis2mod normalized %d verses to NFC\n", normalized);
-#endif
+ exit(0); // success
}
diff --git a/utilities/perl/cipherkeygen.pl b/utilities/perl/cipherkeygen.pl
index db53d88..c3de452 100755
--- a/utilities/perl/cipherkeygen.pl
+++ b/utilities/perl/cipherkeygen.pl
@@ -1,10 +1,28 @@
#!/usr/bin/perl
-
+#******************************************************************************
+#
# cipherkeygen.pl
-
+#
# generates a cipher key of the format \d{4}[a-zA-Z]{4}\d{4}[a-zA-Z]{4}.
# because I'm lazy and not random enough.
# and because the utilities/perl directory is kinda bare...
+#
+# $Id: cipherkeygen.pl 2327 2009-04-22 11:42:33Z scribe $
+#
+# Copyright 1998-2009 CrossWire Bible Society (http://www.crosswire.org)
+# CrossWire Bible Society
+# P. O. Box 2528
+# Tempe, AZ 85280-2528
+#
+# This program is free software; you can redistribute it and/or modify it
+# under the terms of the GNU General Public License as published by the
+# Free Software Foundation version 2.
+#
+# This program is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# General Public License for more details.
+#
# let's get a base key of \d{4}[A-Z]{4}\d{4}[A-Z]{4}
diff --git a/utilities/perl/linkvers.pl b/utilities/perl/linkvers.pl
index caf3192..d1b6157 100755
--- a/utilities/perl/linkvers.pl
+++ b/utilities/perl/linkvers.pl
@@ -1,4 +1,22 @@
#!/usr/bin/perl
+#******************************************************************************
+#
+# $Id: linkvers.pl 2327 2009-04-22 11:42:33Z scribe $
+#
+# Copyright 1998-2009 CrossWire Bible Society (http://www.crosswire.org)
+# CrossWire Bible Society
+# P. O. Box 2528
+# Tempe, AZ 85280-2528
+#
+# This program is free software; you can redistribute it and/or modify it
+# under the terms of the GNU General Public License as published by the
+# Free Software Foundation version 2.
+#
+# This program is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# General Public License for more details.
+#
$vplfile = $ARGV[0];
diff --git a/utilities/perl/localecap.pl b/utilities/perl/localecap.pl
index f5d846e..d73c539 100755
--- a/utilities/perl/localecap.pl
+++ b/utilities/perl/localecap.pl
@@ -1,6 +1,25 @@
#!/usr/bin/perl
-
+#******************************************************************************
+#
# This tool is only for locales in Latin-1, not UTF-8 (should such locales be supported at a later date)
+#
+# $Id: localecap.pl 2327 2009-04-22 11:42:33Z scribe $
+#
+# Copyright 1998-2009 CrossWire Bible Society (http://www.crosswire.org)
+# CrossWire Bible Society
+# P. O. Box 2528
+# Tempe, AZ 85280-2528
+#
+# This program is free software; you can redistribute it and/or modify it
+# under the terms of the GNU General Public License as published by the
+# Free Software Foundation version 2.
+#
+# This program is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# General Public License for more details.
+#
+
use locale;
diff --git a/utilities/perl/mkvsmod.pl b/utilities/perl/mkvsmod.pl
index e44c27d..bb997b2 100755
--- a/utilities/perl/mkvsmod.pl
+++ b/utilities/perl/mkvsmod.pl
@@ -1,4 +1,23 @@
#!/usr/bin/perl
+#******************************************************************************
+#*
+#* $Id: mkvsmod.pl 2327 2009-04-22 11:42:33Z scribe $
+#*
+#* Copyright 1998-2009 CrossWire Bible Society (http://www.crosswire.org)
+#* CrossWire Bible Society
+#* P. O. Box 2528
+#* Tempe, AZ 85280-2528
+#*
+#* This program is free software; you can redistribute it and/or modify it
+#* under the terms of the GNU General Public License as published by the
+#* Free Software Foundation version 2.
+#*
+#* This program is distributed in the hope that it will be useful, but
+#* WITHOUT ANY WARRANTY; without even the implied warranty of
+#* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+#* General Public License for more details.
+#*
+#*/
open (INF, $ARGV[0]);
diff --git a/utilities/step2vpl.cpp b/utilities/step2vpl.cpp
index b76dd6a..e1b00dc 100644
--- a/utilities/step2vpl.cpp
+++ b/utilities/step2vpl.cpp
@@ -1,3 +1,20 @@
+/*
+ * Copyright 2009 CrossWire Bible Society (http://www.crosswire.org)
+ * CrossWire Bible Society
+ * P. O. Box 2528
+ * Tempe, AZ 85280-2528
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation version 2.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ */
+
#include <iostream>
#include <string>
#include <stdio.h>
diff --git a/utilities/stepdump.cpp b/utilities/stepdump.cpp
index b34bd0a..8d136ac 100644
--- a/utilities/stepdump.cpp
+++ b/utilities/stepdump.cpp
@@ -1,3 +1,20 @@
+/*
+ * Copyright 2009 CrossWire Bible Society (http://www.crosswire.org)
+ * CrossWire Bible Society
+ * P. O. Box 2528
+ * Tempe, AZ 85280-2528
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation version 2.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ */
+
#include <iostream>
#include <string>
#include <sys/stat.h>
diff --git a/utilities/sub.c b/utilities/sub.c
new file mode 100644
index 0000000..f6eb6df
--- /dev/null
+++ b/utilities/sub.c
@@ -0,0 +1,58 @@
+/******************************************************************************
+ * This little utility substitutes all occurances of a string with another
+ * string. Is this useful? Maybe not. But it's been here since r2 so
+ * it seems a shame to remove it :) Currently not built by build system
+ *
+ * $Id: sub.c 2327 2009-04-22 11:42:33Z scribe $
+ *
+ * Copyright 1998-2009 CrossWire Bible Society (http://www.crosswire.org)
+ * CrossWire Bible Society
+ * P. O. Box 2528
+ * Tempe, AZ 85280-2528
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation version 2.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ */
+
+#include <stdio.h>
+#include <stdlib.h>
+
+main(int argc, char **argv)
+{
+ FILE *fp;
+ char *buf;
+ int size;
+
+ if ((argc < 3) || (argc > 4)) {
+ fprintf(stderr, "usage: %s <string> <substitute string> [filename]\n", *argv);
+ exit(-1);
+ }
+
+ if (argc > 3)
+ fp = fopen(argv[3], "r");
+ else fp = stdin;
+
+ size = strlen(argv[1]);
+ buf = (char *)calloc(size + 1, 1);
+
+ while ((buf[size - 1] = fgetc(fp)) != EOF) {
+ if (!strcmp(buf, argv[1])) {
+ printf("\n%s", argv[2]);
+ memset(buf, 0, size);
+ continue;
+ }
+ if (*buf) {
+ printf("%c", *buf);
+ }
+ memmove(buf, &buf[1], size);
+ }
+ buf[size - 1] = 0;
+ printf("%s", buf);
+}
diff --git a/utilities/tei2mod.cpp b/utilities/tei2mod.cpp
index a5ae6f4..e8c6e95 100644
--- a/utilities/tei2mod.cpp
+++ b/utilities/tei2mod.cpp
@@ -25,6 +25,24 @@
*
* author DM Smith
*/
+
+/*
+ * Copyright 2009 CrossWire Bible Society (http://www.crosswire.org)
+ * CrossWire Bible Society
+ * P. O. Box 2528
+ * Tempe, AZ 85280-2528
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation version 2.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ */
+
#include <string>
#include <vector>
#include <fstream>
@@ -58,11 +76,14 @@ Latin1UTF8 converter;
int converted = 0;
#endif
-//#define DEBUG
+#define DEBUG
SWLD *module = NULL;
SWKey *currentKey = NULL;
bool normalize = true;
+SWBuf keyStr;
+
+unsigned long entryCount = 0;
/**
* Determine whether the string contains a valid unicode sequence.
@@ -172,7 +193,7 @@ void normalizeInput(SWKey &key, SWBuf &text) {
void writeEntry(SWKey &key, SWBuf &text) {
#ifdef DEBUG
- cout << key << endl;
+ cout << "(" << entryCount << ") " << key << endl;
#endif
module->setKey(key);
@@ -182,16 +203,12 @@ void writeEntry(SWKey &key, SWBuf &text) {
module->setEntry(text);
}
-void linkToEntry(SWBuf &keyBuf, vector<string> &linkBuf) {
-
-/*
- char links = linkBuf.size();
- for (int i = 0; i < links; i++) {
- SWKey tmpkey = linkBuf[i].c_str();
- module->linkEntry(&tmpkey);
- cout << "Linking: " << linkBuf[i] << endl;
- }
-*/
+void linkToEntry(const SWBuf &keyBuf, const SWBuf &linkBuf) {
+ SWKey tmpkey = linkBuf.c_str();
+ module->linkEntry(&tmpkey);
+#ifdef DEBUG
+ cout << "(" << entryCount << ") " << "Linking: " << linkBuf << endl;
+#endif
}
// Return true if the content was handled or is to be ignored.
@@ -199,7 +216,6 @@ void linkToEntry(SWBuf &keyBuf, vector<string> &linkBuf) {
bool handleToken(SWBuf &text, XMLTag *token) {
// The start token for the current entry;
static XMLTag startTag;
- static SWBuf keyBuf;
// Flags to indicate whether we are in a entry, entryFree or superentry
static bool inEntry = false;
@@ -207,6 +223,10 @@ bool handleToken(SWBuf &text, XMLTag *token) {
static bool inSuperEntry = false;
const char *tokenName = token->getName();
+
+ static const char *splitPtr, *splitPtr2 = NULL;
+ static char *splitBuffer = new char[4096];
+ static SWKey tmpKey;
//-- START TAG -------------------------------------------------------------------------
if (!token->isEndTag()) {
@@ -221,7 +241,14 @@ bool handleToken(SWBuf &text, XMLTag *token) {
#endif
startTag = *token;
text = "";
- *currentKey = token->getAttribute("key");
+
+ keyStr = token->getAttribute("n"); // P5 with linking and/or non-URI chars
+ if (!strlen(keyStr)) {
+ keyStr = token->getAttribute("sortKey"); // P5 otherwise
+ if (!strlen(keyStr)) {
+ keyStr = token->getAttribute("key"); // P4
+ }
+ }
return false; // make tag be part of the output
}
@@ -245,7 +272,52 @@ bool handleToken(SWBuf &text, XMLTag *token) {
inEntryFree = false;
inSuperEntry = false;
text += token->toString();
- writeEntry(*currentKey, text);
+
+ entryCount++;
+#ifdef DEBUG
+ cout << "keyStr: " << keyStr << endl;
+#endif
+ splitPtr = strstr(keyStr, "|");
+ if (splitPtr) {
+ strncpy (splitBuffer, keyStr.c_str(), splitPtr - keyStr.c_str());
+ splitBuffer[splitPtr - keyStr.c_str()] = 0;
+ *currentKey = splitBuffer;
+#ifdef DEBUG
+ cout << "splitBuffer: " << splitBuffer << endl;
+ cout << "currentKey: " << *currentKey << endl;
+#endif
+ writeEntry(*currentKey, text);
+#if 1
+ while (splitPtr) {
+ splitPtr += 1;
+ splitPtr2 = strstr(splitPtr, "|");
+ entryCount++;
+ if (splitPtr2) {
+ strncpy (splitBuffer, splitPtr, splitPtr2 - splitPtr);
+ splitBuffer[splitPtr2 - splitPtr] = 0;
+#ifdef DEBUG
+ cout << "splitBuffer: " << splitBuffer << endl;
+ cout << "currentKey: " << *currentKey << endl;
+#endif
+ linkToEntry(currentKey->getText(), splitBuffer);
+ splitPtr = splitPtr2;
+ }
+ else {
+ strcpy (splitBuffer, splitPtr);
+#ifdef DEBUG
+ cout << "splitBuffer: " << splitBuffer << endl;
+ cout << "currentKey: " << *currentKey << endl;
+#endif
+ linkToEntry(currentKey->getText(), splitBuffer);
+ splitPtr = 0;
+ }
+ }
+#endif
+ }
+ else {
+ *currentKey = keyStr;
+ writeEntry(*currentKey, text);
+ }
// Since we consumed the text, clear it
// and tell the caller that the tag was consumed.
@@ -448,6 +520,7 @@ int main(int argc, char **argv) {
if (!handleToken(text, t)) {
text.append(*t);
}
+ delete t;
continue;
}
diff --git a/utilities/treeidxutil.cpp b/utilities/treeidxutil.cpp
index 7aa6a68..e6b1b5c 100644
--- a/utilities/treeidxutil.cpp
+++ b/utilities/treeidxutil.cpp
@@ -1,3 +1,20 @@
+/*
+ * Copyright 2009 CrossWire Bible Society (http://www.crosswire.org)
+ * CrossWire Bible Society
+ * P. O. Box 2528
+ * Tempe, AZ 85280-2528
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation version 2.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ */
+
#include <entriesblk.h>
#include <iostream>
#include <string>
diff --git a/utilities/vcppmake/addgb.vcproj b/utilities/vcppmake/addgb.vcproj
new file mode 100644
index 0000000..e460afb
--- /dev/null
+++ b/utilities/vcppmake/addgb.vcproj
@@ -0,0 +1,194 @@
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="9.00"
+ Name="addgb"
+ ProjectGUID="{76895767-61D0-41E6-B92D-FD541BB26D32}"
+ RootNamespace="addgb"
+ TargetFrameworkVersion="196613"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="Debug with ICU|Win32"
+ OutputDirectory="$(SolutionDir)Debug"
+ IntermediateDirectory="Debug"
+ ConfigurationType="1"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories="../../include,../../src/utilfuns/win32,../../../icu-sword/include"
+ PreprocessorDefinitions="_DEBUG;WIN32;_CONSOLE;_ICU_;_ICUSWORD_;SWUSINGDLL"
+ MinimalRebuild="true"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="3"
+ WarningLevel="3"
+ DebugInformationFormat="4"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="libsword.lib icuuc.lib icuin.lib icudt.lib"
+ OutputFile="Debug\$(ProjectName).exe"
+ AdditionalLibraryDirectories="../../../icu-sword/lib,../../lib/vcppmake/vc8/ICUDebug"
+ GenerateDebugInformation="true"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release with ICU|Win32"
+ OutputDirectory="$(SolutionDir)Release"
+ IntermediateDirectory="Release"
+ ConfigurationType="1"
+ CharacterSet="2"
+ WholeProgramOptimization="1"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ EnableIntrinsicFunctions="true"
+ AdditionalIncludeDirectories="../../include,../../src/utilfuns/win32,../../../icu-sword/include"
+ PreprocessorDefinitions="NDEBUG;WIN32;_CONSOLE;_ICU_;_ICUSWORD_;SWUSINGDLL"
+ RuntimeLibrary="2"
+ EnableFunctionLevelLinking="true"
+ WarningLevel="3"
+ DebugInformationFormat="3"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="libsword.lib icuuc.lib icuin.lib icudt.lib"
+ OutputFile="Release\$(ProjectName).exe"
+ AdditionalLibraryDirectories="../../../icu-sword/lib,../../lib/vcppmake/vc8/ICURelease"
+ GenerateDebugInformation="true"
+ OptimizeReferences="2"
+ EnableCOMDATFolding="2"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <Filter
+ Name="Source Files"
+ Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
+ UniqueIdentifier="{25B20DE1-9768-4AE9-9FCC-4807B792F54E}"
+ >
+ <File
+ RelativePath="..\addgb.cpp"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="Header Files"
+ Filter="h;hpp;hxx;hm;inl;inc;xsd"
+ UniqueIdentifier="{F6F4AABB-6B91-4406-A856-5EF6A5EB2292}"
+ >
+ </Filter>
+ <Filter
+ Name="Resource Files"
+ Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav"
+ UniqueIdentifier="{4C1F8030-33F2-4796-9A08-CFB4EB47C3B9}"
+ >
+ </Filter>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>
diff --git a/utilities/vcppmake/addld.vcproj b/utilities/vcppmake/addld.vcproj
new file mode 100644
index 0000000..a1f9c04
--- /dev/null
+++ b/utilities/vcppmake/addld.vcproj
@@ -0,0 +1,194 @@
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="9.00"
+ Name="addld"
+ ProjectGUID="{BBB6D2DE-D890-4758-85CF-8057B93CF6C2}"
+ RootNamespace="addld"
+ TargetFrameworkVersion="196613"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="Debug with ICU|Win32"
+ OutputDirectory="$(SolutionDir)Debug"
+ IntermediateDirectory="Debug"
+ ConfigurationType="1"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories="../../include,../../src/utilfuns/win32,../../../icu-sword/include"
+ PreprocessorDefinitions="_DEBUG;WIN32;_CONSOLE;_ICU_;_ICUSWORD_;SWUSINGDLL"
+ MinimalRebuild="true"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="3"
+ WarningLevel="3"
+ DebugInformationFormat="4"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="libsword.lib icuuc.lib icuin.lib icudt.lib"
+ OutputFile="Debug\$(ProjectName).exe"
+ AdditionalLibraryDirectories="../../../icu-sword/lib,../../lib/vcppmake/vc8/ICUDebug"
+ GenerateDebugInformation="true"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release with ICU|Win32"
+ OutputDirectory="$(SolutionDir)Release"
+ IntermediateDirectory="Release"
+ ConfigurationType="1"
+ CharacterSet="2"
+ WholeProgramOptimization="1"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ EnableIntrinsicFunctions="true"
+ AdditionalIncludeDirectories="../../include,../../src/utilfuns/win32,../../../icu-sword/include"
+ PreprocessorDefinitions="NDEBUG;WIN32;_CONSOLE;_ICU_;_ICUSWORD_;SWUSINGDLL"
+ RuntimeLibrary="2"
+ EnableFunctionLevelLinking="true"
+ WarningLevel="3"
+ DebugInformationFormat="3"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="libsword.lib icuuc.lib icuin.lib icudt.lib"
+ OutputFile="Release\$(ProjectName).exe"
+ AdditionalLibraryDirectories="../../../icu-sword/lib,../../lib/vcppmake/vc8/ICURelease"
+ GenerateDebugInformation="true"
+ OptimizeReferences="2"
+ EnableCOMDATFolding="2"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <Filter
+ Name="Source Files"
+ Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
+ UniqueIdentifier="{BBB0482D-8A58-4BD6-A35B-C56C6DDE2C6C}"
+ >
+ <File
+ RelativePath="..\addld.cpp"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="Header Files"
+ Filter="h;hpp;hxx;hm;inl;inc;xsd"
+ UniqueIdentifier="{0FDAB16D-25FC-4A20-B57F-7E424D1FE1F1}"
+ >
+ </Filter>
+ <Filter
+ Name="Resource Files"
+ Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav"
+ UniqueIdentifier="{0DA13E0E-8428-4302-A5B7-B7731EA01A99}"
+ >
+ </Filter>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>
diff --git a/utilities/vcppmake/addvs.vcproj b/utilities/vcppmake/addvs.vcproj
new file mode 100644
index 0000000..d2e9562
--- /dev/null
+++ b/utilities/vcppmake/addvs.vcproj
@@ -0,0 +1,194 @@
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="9.00"
+ Name="addvs"
+ ProjectGUID="{CFF1021E-B878-481A-851B-2B226701D525}"
+ RootNamespace="addvs"
+ TargetFrameworkVersion="196613"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="Debug with ICU|Win32"
+ OutputDirectory="$(SolutionDir)Debug"
+ IntermediateDirectory="Debug"
+ ConfigurationType="1"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories="../../include,../../src/utilfuns/win32,../../../icu-sword/include"
+ PreprocessorDefinitions="_DEBUG;WIN32;_CONSOLE;_ICU_;_ICUSWORD_;SWUSINGDLL"
+ MinimalRebuild="true"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="3"
+ WarningLevel="3"
+ DebugInformationFormat="4"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="libsword.lib icuuc.lib icuin.lib icudt.lib"
+ OutputFile="Debug\$(ProjectName).exe"
+ AdditionalLibraryDirectories="../../../icu-sword/lib,../../lib/vcppmake/vc8/ICUDebug"
+ GenerateDebugInformation="true"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release with ICU|Win32"
+ OutputDirectory="$(SolutionDir)Release"
+ IntermediateDirectory="Release"
+ ConfigurationType="1"
+ CharacterSet="2"
+ WholeProgramOptimization="1"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ EnableIntrinsicFunctions="true"
+ AdditionalIncludeDirectories="../../include,../../src/utilfuns/win32,../../../icu-sword/include"
+ PreprocessorDefinitions="NDEBUG;WIN32;_CONSOLE;_ICU_;_ICUSWORD_;SWUSINGDLL"
+ RuntimeLibrary="2"
+ EnableFunctionLevelLinking="true"
+ WarningLevel="3"
+ DebugInformationFormat="3"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="libsword.lib icuuc.lib icuin.lib icudt.lib"
+ OutputFile="Release\$(ProjectName).exe"
+ AdditionalLibraryDirectories="../../../icu-sword/lib,../../lib/vcppmake/vc8/ICURelease"
+ GenerateDebugInformation="true"
+ OptimizeReferences="2"
+ EnableCOMDATFolding="2"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <Filter
+ Name="Source Files"
+ Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
+ UniqueIdentifier="{E3DD8C6A-FFD5-4182-BA1A-F79B4E87D86D}"
+ >
+ <File
+ RelativePath="..\addvs.cpp"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="Header Files"
+ Filter="h;hpp;hxx;hm;inl;inc;xsd"
+ UniqueIdentifier="{D0EAA0F2-908C-4927-8778-EC45315C9D92}"
+ >
+ </Filter>
+ <Filter
+ Name="Resource Files"
+ Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav"
+ UniqueIdentifier="{C79B0125-F80B-45C3-808F-9A63EF01B79A}"
+ >
+ </Filter>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>
diff --git a/utilities/vcppmake/cipherraw.vcproj b/utilities/vcppmake/cipherraw.vcproj
new file mode 100644
index 0000000..b2c989f
--- /dev/null
+++ b/utilities/vcppmake/cipherraw.vcproj
@@ -0,0 +1,194 @@
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="9.00"
+ Name="cipherraw"
+ ProjectGUID="{7A8F6247-7450-4BDF-A9FF-1BFA675EC83A}"
+ RootNamespace="cipherraw"
+ TargetFrameworkVersion="196613"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="Debug with ICU|Win32"
+ OutputDirectory="$(SolutionDir)Debug"
+ IntermediateDirectory="Debug"
+ ConfigurationType="1"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories="../../include,../../src/utilfuns/win32,../../../icu-sword/include"
+ PreprocessorDefinitions="_DEBUG;WIN32;_CONSOLE;_ICU_;_ICUSWORD_;SWUSINGDLL"
+ MinimalRebuild="true"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="3"
+ WarningLevel="3"
+ DebugInformationFormat="4"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="libsword.lib icuuc.lib icuin.lib icudt.lib"
+ OutputFile="Debug\$(ProjectName).exe"
+ AdditionalLibraryDirectories="../../../icu-sword/lib,../../lib/vcppmake/vc8/ICUDebug"
+ GenerateDebugInformation="true"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release with ICU|Win32"
+ OutputDirectory="$(SolutionDir)Release"
+ IntermediateDirectory="Release"
+ ConfigurationType="1"
+ CharacterSet="2"
+ WholeProgramOptimization="1"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ EnableIntrinsicFunctions="true"
+ AdditionalIncludeDirectories="../../include,../../src/utilfuns/win32,../../../icu-sword/include"
+ PreprocessorDefinitions="NDEBUG;WIN32;_CONSOLE;_ICU_;_ICUSWORD_;SWUSINGDLL"
+ RuntimeLibrary="2"
+ EnableFunctionLevelLinking="true"
+ WarningLevel="3"
+ DebugInformationFormat="3"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="libsword.lib icuuc.lib icuin.lib icudt.lib"
+ OutputFile="Release\$(ProjectName).exe"
+ AdditionalLibraryDirectories="../../../icu-sword/lib,../../lib/vcppmake/vc8/ICURelease"
+ GenerateDebugInformation="true"
+ OptimizeReferences="2"
+ EnableCOMDATFolding="2"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <Filter
+ Name="Source Files"
+ Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
+ UniqueIdentifier="{324618A6-9C6B-4342-BA6B-FAAC2FC47DB2}"
+ >
+ <File
+ RelativePath="..\cipherraw.cpp"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="Header Files"
+ Filter="h;hpp;hxx;hm;inl;inc;xsd"
+ UniqueIdentifier="{68672E58-F296-46B7-815B-91225ACC37EA}"
+ >
+ </Filter>
+ <Filter
+ Name="Resource Files"
+ Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav"
+ UniqueIdentifier="{5C82E2E5-561D-46D5-9412-42C970180987}"
+ >
+ </Filter>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>
diff --git a/utilities/vcppmake/emptyvss.vcproj b/utilities/vcppmake/emptyvss.vcproj
new file mode 100644
index 0000000..9fcc9e8
--- /dev/null
+++ b/utilities/vcppmake/emptyvss.vcproj
@@ -0,0 +1,194 @@
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="9.00"
+ Name="emptyvss"
+ ProjectGUID="{A55BEE98-25BB-463D-9016-14CA4567DFBF}"
+ RootNamespace="emptyvss"
+ TargetFrameworkVersion="196613"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="Debug with ICU|Win32"
+ OutputDirectory="$(SolutionDir)Debug"
+ IntermediateDirectory="Debug"
+ ConfigurationType="1"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories="../../include,../../src/utilfuns/win32,../../../icu-sword/include"
+ PreprocessorDefinitions="_DEBUG;WIN32;_CONSOLE;_ICU_;_ICUSWORD_;SWUSINGDLL"
+ MinimalRebuild="true"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="3"
+ WarningLevel="3"
+ DebugInformationFormat="4"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="libsword.lib icuuc.lib icuin.lib icudt.lib"
+ OutputFile="Debug\$(ProjectName).exe"
+ AdditionalLibraryDirectories="../../../icu-sword/lib,../../lib/vcppmake/vc8/ICUDebug"
+ GenerateDebugInformation="true"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release with ICU|Win32"
+ OutputDirectory="$(SolutionDir)Release"
+ IntermediateDirectory="Release"
+ ConfigurationType="1"
+ CharacterSet="2"
+ WholeProgramOptimization="1"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ EnableIntrinsicFunctions="true"
+ AdditionalIncludeDirectories="../../include,../../src/utilfuns/win32,../../../icu-sword/include"
+ PreprocessorDefinitions="NDEBUG;WIN32;_CONSOLE;_ICU_;_ICUSWORD_;SWUSINGDLL"
+ RuntimeLibrary="2"
+ EnableFunctionLevelLinking="true"
+ WarningLevel="3"
+ DebugInformationFormat="3"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="libsword.lib icuuc.lib icuin.lib icudt.lib"
+ OutputFile="Release\$(ProjectName).exe"
+ AdditionalLibraryDirectories="../../../icu-sword/lib,../../lib/vcppmake/vc8/ICURelease"
+ GenerateDebugInformation="true"
+ OptimizeReferences="2"
+ EnableCOMDATFolding="2"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <Filter
+ Name="Source Files"
+ Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
+ UniqueIdentifier="{56298DBE-F695-4E36-80E3-02532558B4A3}"
+ >
+ <File
+ RelativePath="..\emptyvss.cpp"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="Header Files"
+ Filter="h;hpp;hxx;hm;inl;inc;xsd"
+ UniqueIdentifier="{A46AC04E-BDE9-4BFD-A6C3-BB232AFAC157}"
+ >
+ </Filter>
+ <Filter
+ Name="Resource Files"
+ Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav"
+ UniqueIdentifier="{C5D9DDE5-F234-4264-97BE-5910CB2D0412}"
+ >
+ </Filter>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>
diff --git a/utilities/vcppmake/imp2gbs.vcproj b/utilities/vcppmake/imp2gbs.vcproj
new file mode 100644
index 0000000..5bacc44
--- /dev/null
+++ b/utilities/vcppmake/imp2gbs.vcproj
@@ -0,0 +1,194 @@
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="9.00"
+ Name="imp2gbs"
+ ProjectGUID="{2066EC0D-98CC-43E7-8405-5156AF111B38}"
+ RootNamespace="imp2gbs"
+ TargetFrameworkVersion="196613"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="Debug with ICU|Win32"
+ OutputDirectory="$(SolutionDir)Debug"
+ IntermediateDirectory="Debug"
+ ConfigurationType="1"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories="../../include,../../src/utilfuns/win32,../../../icu-sword/include"
+ PreprocessorDefinitions="_DEBUG;WIN32;_CONSOLE;_ICU_;_ICUSWORD_;SWUSINGDLL"
+ MinimalRebuild="true"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="3"
+ WarningLevel="3"
+ DebugInformationFormat="4"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="libsword.lib icuuc.lib icuin.lib icudt.lib"
+ OutputFile="Debug\$(ProjectName).exe"
+ AdditionalLibraryDirectories="../../../icu-sword/lib,../../lib/vcppmake/vc8/ICUDebug"
+ GenerateDebugInformation="true"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release with ICU|Win32"
+ OutputDirectory="$(SolutionDir)Release"
+ IntermediateDirectory="Release"
+ ConfigurationType="1"
+ CharacterSet="2"
+ WholeProgramOptimization="1"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ EnableIntrinsicFunctions="true"
+ AdditionalIncludeDirectories="../../include,../../src/utilfuns/win32,../../../icu-sword/include"
+ PreprocessorDefinitions="NDEBUG;WIN32;_CONSOLE;_ICU_;_ICUSWORD_;SWUSINGDLL"
+ RuntimeLibrary="2"
+ EnableFunctionLevelLinking="true"
+ WarningLevel="3"
+ DebugInformationFormat="3"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="libsword.lib icuuc.lib icuin.lib icudt.lib"
+ OutputFile="Release\$(ProjectName).exe"
+ AdditionalLibraryDirectories="../../../icu-sword/lib,../../lib/vcppmake/vc8/ICURelease"
+ GenerateDebugInformation="true"
+ OptimizeReferences="2"
+ EnableCOMDATFolding="2"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <Filter
+ Name="Source Files"
+ Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
+ UniqueIdentifier="{80F1AC21-72BC-4F58-A409-FF1FE6A0BE4D}"
+ >
+ <File
+ RelativePath="..\imp2gbs.cpp"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="Header Files"
+ Filter="h;hpp;hxx;hm;inl;inc;xsd"
+ UniqueIdentifier="{0BC3868B-D7AD-48F4-A4D5-1ED31B3FBA47}"
+ >
+ </Filter>
+ <Filter
+ Name="Resource Files"
+ Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav"
+ UniqueIdentifier="{001FB903-952C-4239-9BE9-7638AB2E0ECF}"
+ >
+ </Filter>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>
diff --git a/utilities/vcppmake/imp2ld.vcproj b/utilities/vcppmake/imp2ld.vcproj
new file mode 100644
index 0000000..4552f02
--- /dev/null
+++ b/utilities/vcppmake/imp2ld.vcproj
@@ -0,0 +1,194 @@
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="9.00"
+ Name="imp2ld"
+ ProjectGUID="{BD50701C-6BD3-4A02-9A2C-E9A3D5CC6A78}"
+ RootNamespace="imp2ld"
+ TargetFrameworkVersion="196613"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="Debug with ICU|Win32"
+ OutputDirectory="$(SolutionDir)Debug"
+ IntermediateDirectory="Debug"
+ ConfigurationType="1"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories="../../include,../../src/utilfuns/win32,../../../icu-sword/include"
+ PreprocessorDefinitions="_DEBUG;WIN32;_CONSOLE;_ICU_;_ICUSWORD_;SWUSINGDLL"
+ MinimalRebuild="true"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="3"
+ WarningLevel="3"
+ DebugInformationFormat="4"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="libsword.lib icuuc.lib icuin.lib icudt.lib"
+ OutputFile="Debug\$(ProjectName).exe"
+ AdditionalLibraryDirectories="../../../icu-sword/lib,../../lib/vcppmake/vc8/ICUDebug"
+ GenerateDebugInformation="true"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release with ICU|Win32"
+ OutputDirectory="$(SolutionDir)Release"
+ IntermediateDirectory="Release"
+ ConfigurationType="1"
+ CharacterSet="2"
+ WholeProgramOptimization="1"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ EnableIntrinsicFunctions="true"
+ AdditionalIncludeDirectories="../../include,../../src/utilfuns/win32,../../../icu-sword/include"
+ PreprocessorDefinitions="NDEBUG;WIN32;_CONSOLE;_ICU_;_ICUSWORD_;SWUSINGDLL"
+ RuntimeLibrary="2"
+ EnableFunctionLevelLinking="true"
+ WarningLevel="3"
+ DebugInformationFormat="3"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="libsword.lib icuuc.lib icuin.lib icudt.lib"
+ OutputFile="Release\$(ProjectName).exe"
+ AdditionalLibraryDirectories="../../../icu-sword/lib,../../lib/vcppmake/vc8/ICURelease"
+ GenerateDebugInformation="true"
+ OptimizeReferences="2"
+ EnableCOMDATFolding="2"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <Filter
+ Name="Source Files"
+ Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
+ UniqueIdentifier="{EDB0C19E-7654-4C7E-93A6-063B2D6A5B98}"
+ >
+ <File
+ RelativePath="..\imp2ld.cpp"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="Header Files"
+ Filter="h;hpp;hxx;hm;inl;inc;xsd"
+ UniqueIdentifier="{FD8608AD-8EF9-421E-B9A9-5320297C6EEE}"
+ >
+ </Filter>
+ <Filter
+ Name="Resource Files"
+ Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav"
+ UniqueIdentifier="{48901745-6B6C-4237-ACF2-575C46F3F661}"
+ >
+ </Filter>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>
diff --git a/utilities/vcppmake/imp2vs.vcproj b/utilities/vcppmake/imp2vs.vcproj
new file mode 100644
index 0000000..2288737
--- /dev/null
+++ b/utilities/vcppmake/imp2vs.vcproj
@@ -0,0 +1,194 @@
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="9.00"
+ Name="imp2vs"
+ ProjectGUID="{5637456D-5B83-4C12-A129-708FC8CF0B33}"
+ RootNamespace="imp2vs"
+ TargetFrameworkVersion="196613"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="Debug with ICU|Win32"
+ OutputDirectory="$(SolutionDir)Debug"
+ IntermediateDirectory="Debug"
+ ConfigurationType="1"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories="../../include,../../src/utilfuns/win32,../../../icu-sword/include"
+ PreprocessorDefinitions="_DEBUG;WIN32;_CONSOLE;_ICU_;_ICUSWORD_;SWUSINGDLL"
+ MinimalRebuild="true"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="3"
+ WarningLevel="3"
+ DebugInformationFormat="4"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="libsword.lib icuuc.lib icuin.lib icudt.lib"
+ OutputFile="Debug\$(ProjectName).exe"
+ AdditionalLibraryDirectories="../../../icu-sword/lib,../../lib/vcppmake/vc8/ICUDebug"
+ GenerateDebugInformation="true"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release with ICU|Win32"
+ OutputDirectory="$(SolutionDir)Release"
+ IntermediateDirectory="Release"
+ ConfigurationType="1"
+ CharacterSet="2"
+ WholeProgramOptimization="1"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ EnableIntrinsicFunctions="true"
+ AdditionalIncludeDirectories="../../include,../../src/utilfuns/win32,../../../icu-sword/include"
+ PreprocessorDefinitions="NDEBUG;WIN32;_CONSOLE;_ICU_;_ICUSWORD_;SWUSINGDLL"
+ RuntimeLibrary="2"
+ EnableFunctionLevelLinking="true"
+ WarningLevel="3"
+ DebugInformationFormat="3"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="libsword.lib icuuc.lib icuin.lib icudt.lib"
+ OutputFile="Release\$(ProjectName).exe"
+ AdditionalLibraryDirectories="../../../icu-sword/lib,../../lib/vcppmake/vc8/ICURelease"
+ GenerateDebugInformation="true"
+ OptimizeReferences="2"
+ EnableCOMDATFolding="2"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <Filter
+ Name="Source Files"
+ Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
+ UniqueIdentifier="{C07A2DAB-E315-40B1-983F-DEB141497419}"
+ >
+ <File
+ RelativePath="..\imp2vs.cpp"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="Header Files"
+ Filter="h;hpp;hxx;hm;inl;inc;xsd"
+ UniqueIdentifier="{906D769B-5656-42F9-9153-9D6AD5CE46E1}"
+ >
+ </Filter>
+ <Filter
+ Name="Resource Files"
+ Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav"
+ UniqueIdentifier="{434B6DB0-A3D0-4474-A8ED-56CE5282677D}"
+ >
+ </Filter>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>
diff --git a/utilities/vcppmake/installmgr.vcproj b/utilities/vcppmake/installmgr.vcproj
new file mode 100644
index 0000000..a643ec1
--- /dev/null
+++ b/utilities/vcppmake/installmgr.vcproj
@@ -0,0 +1,194 @@
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="9.00"
+ Name="installmgr"
+ ProjectGUID="{8EBC3D0A-F056-42BB-B18A-2FE18EAE5332}"
+ RootNamespace="installmgr"
+ TargetFrameworkVersion="196613"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="Debug with ICU|Win32"
+ OutputDirectory="$(SolutionDir)Debug"
+ IntermediateDirectory="Debug"
+ ConfigurationType="1"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories="../../include,../../src/utilfuns/win32,../../../icu-sword/include"
+ PreprocessorDefinitions="_DEBUG;WIN32;_CONSOLE;_ICU_;_ICUSWORD_;SWUSINGDLL"
+ MinimalRebuild="true"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="3"
+ WarningLevel="3"
+ DebugInformationFormat="4"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="libsword.lib icuuc.lib icuin.lib icudt.lib"
+ OutputFile="Debug\$(ProjectName).exe"
+ AdditionalLibraryDirectories="../../../icu-sword/lib,../../lib/vcppmake/vc8/ICUDebug"
+ GenerateDebugInformation="true"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release with ICU|Win32"
+ OutputDirectory="$(SolutionDir)Release"
+ IntermediateDirectory="Release"
+ ConfigurationType="1"
+ CharacterSet="2"
+ WholeProgramOptimization="1"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ EnableIntrinsicFunctions="true"
+ AdditionalIncludeDirectories="../../include,../../src/utilfuns/win32,../../../icu-sword/include"
+ PreprocessorDefinitions="NDEBUG;WIN32;_CONSOLE;_ICU_;_ICUSWORD_;SWUSINGDLL"
+ RuntimeLibrary="2"
+ EnableFunctionLevelLinking="true"
+ WarningLevel="3"
+ DebugInformationFormat="3"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="libsword.lib icuuc.lib icuin.lib icudt.lib"
+ OutputFile="Release\$(ProjectName).exe"
+ AdditionalLibraryDirectories="../../../icu-sword/lib,../../lib/vcppmake/vc8/ICURelease"
+ GenerateDebugInformation="true"
+ OptimizeReferences="2"
+ EnableCOMDATFolding="2"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <Filter
+ Name="Source Files"
+ Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
+ UniqueIdentifier="{9BA28E95-B1EC-4B74-BEAD-DF58618B6DA4}"
+ >
+ <File
+ RelativePath="..\installmgr.cpp"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="Header Files"
+ Filter="h;hpp;hxx;hm;inl;inc;xsd"
+ UniqueIdentifier="{55076964-DDBC-443A-A69A-04772B41A081}"
+ >
+ </Filter>
+ <Filter
+ Name="Resource Files"
+ Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav"
+ UniqueIdentifier="{238F22BB-DB96-4964-A271-DE1BCCB111E5}"
+ >
+ </Filter>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>
diff --git a/utilities/vcppmake/mkfastmod.vcproj b/utilities/vcppmake/mkfastmod.vcproj
new file mode 100644
index 0000000..d887006
--- /dev/null
+++ b/utilities/vcppmake/mkfastmod.vcproj
@@ -0,0 +1,194 @@
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="9.00"
+ Name="mkfastmod"
+ ProjectGUID="{DB592F77-25DC-4005-BD49-6D0E50303844}"
+ RootNamespace="mkfastmod"
+ TargetFrameworkVersion="196613"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="Debug with ICU|Win32"
+ OutputDirectory="$(SolutionDir)Debug"
+ IntermediateDirectory="Debug"
+ ConfigurationType="1"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories="../../include,../../src/utilfuns/win32,../../../icu-sword/include"
+ PreprocessorDefinitions="_DEBUG;WIN32;_CONSOLE;_ICU_;_ICUSWORD_;SWUSINGDLL"
+ MinimalRebuild="true"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="3"
+ WarningLevel="3"
+ DebugInformationFormat="4"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="libsword.lib icuuc.lib icuin.lib icudt.lib"
+ OutputFile="Debug\$(ProjectName).exe"
+ AdditionalLibraryDirectories="../../../icu-sword/lib,../../lib/vcppmake/vc8/ICUDebug"
+ GenerateDebugInformation="true"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release with ICU|Win32"
+ OutputDirectory="$(SolutionDir)Release"
+ IntermediateDirectory="Release"
+ ConfigurationType="1"
+ CharacterSet="2"
+ WholeProgramOptimization="1"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ EnableIntrinsicFunctions="true"
+ AdditionalIncludeDirectories="../../include,../../src/utilfuns/win32,../../../icu-sword/include"
+ PreprocessorDefinitions="NDEBUG;WIN32;_CONSOLE;_ICU_;_ICUSWORD_;SWUSINGDLL"
+ RuntimeLibrary="2"
+ EnableFunctionLevelLinking="true"
+ WarningLevel="3"
+ DebugInformationFormat="3"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="libsword.lib icuuc.lib icuin.lib icudt.lib"
+ OutputFile="Release\$(ProjectName).exe"
+ AdditionalLibraryDirectories="../../../icu-sword/lib,../../lib/vcppmake/vc8/ICURelease"
+ GenerateDebugInformation="true"
+ OptimizeReferences="2"
+ EnableCOMDATFolding="2"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <Filter
+ Name="Source Files"
+ Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
+ UniqueIdentifier="{DC36DC69-5F3B-44E0-9A8F-9E66BCCD774C}"
+ >
+ <File
+ RelativePath="..\mkfastmod.cpp"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="Header Files"
+ Filter="h;hpp;hxx;hm;inl;inc;xsd"
+ UniqueIdentifier="{9ED8378C-0F52-43A3-9F97-739C698623ED}"
+ >
+ </Filter>
+ <Filter
+ Name="Resource Files"
+ Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav"
+ UniqueIdentifier="{A5AD3C3A-0702-4FEB-B72E-E0A727E7E74E}"
+ >
+ </Filter>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>
diff --git a/utilities/vcppmake/mod2imp.vcproj b/utilities/vcppmake/mod2imp.vcproj
new file mode 100644
index 0000000..18c489b
--- /dev/null
+++ b/utilities/vcppmake/mod2imp.vcproj
@@ -0,0 +1,194 @@
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="9.00"
+ Name="mod2imp"
+ ProjectGUID="{95B74350-2DAB-4CA9-BAFB-A5EB264765A1}"
+ RootNamespace="mod2imp"
+ TargetFrameworkVersion="196613"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="Debug with ICU|Win32"
+ OutputDirectory="$(SolutionDir)Debug"
+ IntermediateDirectory="Debug"
+ ConfigurationType="1"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories="../../include,../../src/utilfuns/win32,../../../icu-sword/include"
+ PreprocessorDefinitions="_DEBUG;WIN32;_CONSOLE;_ICU_;_ICUSWORD_;SWUSINGDLL"
+ MinimalRebuild="true"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="3"
+ WarningLevel="3"
+ DebugInformationFormat="4"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="libsword.lib icuuc.lib icuin.lib icudt.lib"
+ OutputFile="Debug\$(ProjectName).exe"
+ AdditionalLibraryDirectories="../../../icu-sword/lib,../../lib/vcppmake/vc8/ICUDebug"
+ GenerateDebugInformation="true"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release with ICU|Win32"
+ OutputDirectory="$(SolutionDir)Release"
+ IntermediateDirectory="Release"
+ ConfigurationType="1"
+ CharacterSet="2"
+ WholeProgramOptimization="1"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ EnableIntrinsicFunctions="true"
+ AdditionalIncludeDirectories="../../include,../../src/utilfuns/win32,../../../icu-sword/include"
+ PreprocessorDefinitions="NDEBUG;WIN32;_CONSOLE;_ICU_;_ICUSWORD_;SWUSINGDLL"
+ RuntimeLibrary="2"
+ EnableFunctionLevelLinking="true"
+ WarningLevel="3"
+ DebugInformationFormat="3"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="libsword.lib icuuc.lib icuin.lib icudt.lib"
+ OutputFile="Release\$(ProjectName).exe"
+ AdditionalLibraryDirectories="../../../icu-sword/lib,../../lib/vcppmake/vc8/ICURelease"
+ GenerateDebugInformation="true"
+ OptimizeReferences="2"
+ EnableCOMDATFolding="2"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <Filter
+ Name="Source Files"
+ Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
+ UniqueIdentifier="{98C9CD67-B919-4E6E-A7FC-725C538AAEB1}"
+ >
+ <File
+ RelativePath="..\mod2imp.cpp"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="Header Files"
+ Filter="h;hpp;hxx;hm;inl;inc;xsd"
+ UniqueIdentifier="{432C885B-6044-4407-960A-B619C6746C35}"
+ >
+ </Filter>
+ <Filter
+ Name="Resource Files"
+ Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav"
+ UniqueIdentifier="{8733104A-A029-4CBA-860B-07EC28A30C2D}"
+ >
+ </Filter>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>
diff --git a/utilities/vcppmake/mod2osis.vcproj b/utilities/vcppmake/mod2osis.vcproj
new file mode 100644
index 0000000..6107fc2
--- /dev/null
+++ b/utilities/vcppmake/mod2osis.vcproj
@@ -0,0 +1,194 @@
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="9.00"
+ Name="mod2osis"
+ ProjectGUID="{B5D19969-5285-4B0E-B798-496A0B8DCA61}"
+ RootNamespace="mod2osis"
+ TargetFrameworkVersion="196613"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="Debug with ICU|Win32"
+ OutputDirectory="$(SolutionDir)Debug"
+ IntermediateDirectory="Debug"
+ ConfigurationType="1"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories="../../include,../../src/utilfuns/win32,../../../icu-sword/include"
+ PreprocessorDefinitions="_DEBUG;WIN32;_CONSOLE;_ICU_;_ICUSWORD_;SWUSINGDLL"
+ MinimalRebuild="true"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="3"
+ WarningLevel="3"
+ DebugInformationFormat="4"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="libsword.lib icuuc.lib icuin.lib icudt.lib"
+ OutputFile="Debug\$(ProjectName).exe"
+ AdditionalLibraryDirectories="../../../icu-sword/lib,../../lib/vcppmake/vc8/ICUDebug"
+ GenerateDebugInformation="true"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release with ICU|Win32"
+ OutputDirectory="$(SolutionDir)Release"
+ IntermediateDirectory="Release"
+ ConfigurationType="1"
+ CharacterSet="2"
+ WholeProgramOptimization="1"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ EnableIntrinsicFunctions="true"
+ AdditionalIncludeDirectories="../../include,../../src/utilfuns/win32,../../../icu-sword/include"
+ PreprocessorDefinitions="NDEBUG;WIN32;_CONSOLE;_ICU_;_ICUSWORD_;SWUSINGDLL"
+ RuntimeLibrary="2"
+ EnableFunctionLevelLinking="true"
+ WarningLevel="3"
+ DebugInformationFormat="3"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="libsword.lib icuuc.lib icuin.lib icudt.lib"
+ OutputFile="Release\$(ProjectName).exe"
+ AdditionalLibraryDirectories="../../../icu-sword/lib,../../lib/vcppmake/vc8/ICURelease"
+ GenerateDebugInformation="true"
+ OptimizeReferences="2"
+ EnableCOMDATFolding="2"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <Filter
+ Name="Source Files"
+ Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
+ UniqueIdentifier="{C1BD58F4-66F3-402C-8739-4485DFAC44E3}"
+ >
+ <File
+ RelativePath="..\mod2osis.cpp"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="Header Files"
+ Filter="h;hpp;hxx;hm;inl;inc;xsd"
+ UniqueIdentifier="{700A74CE-F1F6-4F00-BA5B-3A2B45E64213}"
+ >
+ </Filter>
+ <Filter
+ Name="Resource Files"
+ Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav"
+ UniqueIdentifier="{6DD53AF8-5EC7-4AF6-BB55-961CCE6C27CA}"
+ >
+ </Filter>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>
diff --git a/utilities/vcppmake/mod2vpl.vcproj b/utilities/vcppmake/mod2vpl.vcproj
new file mode 100644
index 0000000..61f32ab
--- /dev/null
+++ b/utilities/vcppmake/mod2vpl.vcproj
@@ -0,0 +1,194 @@
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="9.00"
+ Name="mod2vpl"
+ ProjectGUID="{0C43604F-08D6-490C-BDFD-1B6CACB59740}"
+ RootNamespace="mod2vpl"
+ TargetFrameworkVersion="196613"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="Debug with ICU|Win32"
+ OutputDirectory="$(SolutionDir)Debug"
+ IntermediateDirectory="Debug"
+ ConfigurationType="1"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories="../../include,../../src/utilfuns/win32,../../../icu-sword/include"
+ PreprocessorDefinitions="_DEBUG;WIN32;_CONSOLE;_ICU_;_ICUSWORD_;SWUSINGDLL"
+ MinimalRebuild="true"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="3"
+ WarningLevel="3"
+ DebugInformationFormat="4"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="libsword.lib icuuc.lib icuin.lib icudt.lib"
+ OutputFile="Debug\$(ProjectName).exe"
+ AdditionalLibraryDirectories="../../../icu-sword/lib,../../lib/vcppmake/vc8/ICUDebug"
+ GenerateDebugInformation="true"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release with ICU|Win32"
+ OutputDirectory="$(SolutionDir)Release"
+ IntermediateDirectory="Release"
+ ConfigurationType="1"
+ CharacterSet="2"
+ WholeProgramOptimization="1"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ EnableIntrinsicFunctions="true"
+ AdditionalIncludeDirectories="../../include,../../src/utilfuns/win32,../../../icu-sword/include"
+ PreprocessorDefinitions="NDEBUG;WIN32;_CONSOLE;_ICU_;_ICUSWORD_;SWUSINGDLL"
+ RuntimeLibrary="2"
+ EnableFunctionLevelLinking="true"
+ WarningLevel="3"
+ DebugInformationFormat="3"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="libsword.lib icuuc.lib icuin.lib icudt.lib"
+ OutputFile="Release\$(ProjectName).exe"
+ AdditionalLibraryDirectories="../../../icu-sword/lib,../../lib/vcppmake/vc8/ICURelease"
+ GenerateDebugInformation="true"
+ OptimizeReferences="2"
+ EnableCOMDATFolding="2"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <Filter
+ Name="Source Files"
+ Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
+ UniqueIdentifier="{DE27E955-EF56-40B4-9008-67FDE3E5BCEC}"
+ >
+ <File
+ RelativePath="..\mod2vpl.cpp"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="Header Files"
+ Filter="h;hpp;hxx;hm;inl;inc;xsd"
+ UniqueIdentifier="{6B46E7CA-841A-4B7C-94F6-47C8D05DE5EC}"
+ >
+ </Filter>
+ <Filter
+ Name="Resource Files"
+ Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav"
+ UniqueIdentifier="{FA712B69-B550-453A-B033-ED00E3097C0E}"
+ >
+ </Filter>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>
diff --git a/utilities/vcppmake/mod2zmod.vcproj b/utilities/vcppmake/mod2zmod.vcproj
new file mode 100644
index 0000000..3c9d834
--- /dev/null
+++ b/utilities/vcppmake/mod2zmod.vcproj
@@ -0,0 +1,194 @@
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="9.00"
+ Name="mod2zmod"
+ ProjectGUID="{4E58EE7D-2B4B-42F0-8578-A23883CA6C31}"
+ RootNamespace="mod2zmod"
+ TargetFrameworkVersion="196613"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="Debug with ICU|Win32"
+ OutputDirectory="$(SolutionDir)Debug"
+ IntermediateDirectory="Debug"
+ ConfigurationType="1"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories="../../include,../../src/utilfuns/win32,../../../icu-sword/include"
+ PreprocessorDefinitions="_DEBUG;WIN32;_CONSOLE;_ICU_;_ICUSWORD_;SWUSINGDLL"
+ MinimalRebuild="true"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="3"
+ WarningLevel="3"
+ DebugInformationFormat="4"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="libsword.lib icuuc.lib icuin.lib icudt.lib"
+ OutputFile="Debug\$(ProjectName).exe"
+ AdditionalLibraryDirectories="../../../icu-sword/lib,../../lib/vcppmake/vc8/ICUDebug"
+ GenerateDebugInformation="true"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release with ICU|Win32"
+ OutputDirectory="$(SolutionDir)Release"
+ IntermediateDirectory="Release"
+ ConfigurationType="1"
+ CharacterSet="2"
+ WholeProgramOptimization="1"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ EnableIntrinsicFunctions="true"
+ AdditionalIncludeDirectories="../../include,../../src/utilfuns/win32,../../../icu-sword/include"
+ PreprocessorDefinitions="NDEBUG;WIN32;_CONSOLE;_ICU_;_ICUSWORD_;SWUSINGDLL"
+ RuntimeLibrary="2"
+ EnableFunctionLevelLinking="true"
+ WarningLevel="3"
+ DebugInformationFormat="3"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="libsword.lib icuuc.lib icuin.lib icudt.lib"
+ OutputFile="Release\$(ProjectName).exe"
+ AdditionalLibraryDirectories="../../../icu-sword/lib,../../lib/vcppmake/vc8/ICURelease"
+ GenerateDebugInformation="true"
+ OptimizeReferences="2"
+ EnableCOMDATFolding="2"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <Filter
+ Name="Source Files"
+ Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
+ UniqueIdentifier="{43335304-A11D-4A07-BBDB-3D29A6397639}"
+ >
+ <File
+ RelativePath="..\mod2zmod.cpp"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="Header Files"
+ Filter="h;hpp;hxx;hm;inl;inc;xsd"
+ UniqueIdentifier="{CD1C3801-5480-48F7-9449-6ED761E12DFB}"
+ >
+ </Filter>
+ <Filter
+ Name="Resource Files"
+ Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav"
+ UniqueIdentifier="{01C2818C-6036-4CCD-AD29-74EEC7E97E57}"
+ >
+ </Filter>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>
diff --git a/utilities/vcppmake/osis2mod.vcproj b/utilities/vcppmake/osis2mod.vcproj
new file mode 100644
index 0000000..00b25c9
--- /dev/null
+++ b/utilities/vcppmake/osis2mod.vcproj
@@ -0,0 +1,194 @@
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="9.00"
+ Name="osis2mod"
+ ProjectGUID="{3D885A23-DA8F-43C1-B241-7F44CA7AAF75}"
+ RootNamespace="osis2mod"
+ TargetFrameworkVersion="196613"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="Debug with ICU|Win32"
+ OutputDirectory="$(SolutionDir)Debug"
+ IntermediateDirectory="Debug"
+ ConfigurationType="1"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories="../../include,../../src/utilfuns/win32,../../../icu-sword/include"
+ PreprocessorDefinitions="_DEBUG;WIN32;_CONSOLE;_ICU_;_ICUSWORD_;SWUSINGDLL"
+ MinimalRebuild="true"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="3"
+ WarningLevel="3"
+ DebugInformationFormat="4"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="libsword.lib icuuc.lib icuin.lib icudt.lib"
+ OutputFile="Debug\$(ProjectName).exe"
+ AdditionalLibraryDirectories="../../../icu-sword/lib,../../lib/vcppmake/vc8/ICUDebug"
+ GenerateDebugInformation="true"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release with ICU|Win32"
+ OutputDirectory="$(SolutionDir)Release"
+ IntermediateDirectory="Release"
+ ConfigurationType="1"
+ CharacterSet="2"
+ WholeProgramOptimization="1"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ EnableIntrinsicFunctions="true"
+ AdditionalIncludeDirectories="../../include,../../src/utilfuns/win32,../../../icu-sword/include"
+ PreprocessorDefinitions="NDEBUG;WIN32;_CONSOLE;_ICU_;_ICUSWORD_;SWUSINGDLL"
+ RuntimeLibrary="2"
+ EnableFunctionLevelLinking="true"
+ WarningLevel="3"
+ DebugInformationFormat="3"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="libsword.lib icuuc.lib icuin.lib icudt.lib"
+ OutputFile="Release\$(ProjectName).exe"
+ AdditionalLibraryDirectories="../../../icu-sword/lib,../../lib/vcppmake/vc8/ICURelease"
+ GenerateDebugInformation="true"
+ OptimizeReferences="2"
+ EnableCOMDATFolding="2"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <Filter
+ Name="Source Files"
+ Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
+ UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
+ >
+ <File
+ RelativePath="..\osis2mod.cpp"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="Header Files"
+ Filter="h;hpp;hxx;hm;inl;inc;xsd"
+ UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
+ >
+ </Filter>
+ <Filter
+ Name="Resource Files"
+ Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav"
+ UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
+ >
+ </Filter>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>
diff --git a/utilities/vcppmake/step2vpl.vcproj b/utilities/vcppmake/step2vpl.vcproj
new file mode 100644
index 0000000..a0f08fd
--- /dev/null
+++ b/utilities/vcppmake/step2vpl.vcproj
@@ -0,0 +1,194 @@
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="9.00"
+ Name="step2vpl"
+ ProjectGUID="{43B53430-3C91-4A11-8A1F-5873AEEE0926}"
+ RootNamespace="step2vpl"
+ TargetFrameworkVersion="196613"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="Debug with ICU|Win32"
+ OutputDirectory="$(SolutionDir)Debug"
+ IntermediateDirectory="Debug"
+ ConfigurationType="1"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories="../../include,../../src/utilfuns/win32,../../../icu-sword/include"
+ PreprocessorDefinitions="_DEBUG;WIN32;_CONSOLE;_ICU_;_ICUSWORD_;SWUSINGDLL"
+ MinimalRebuild="true"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="3"
+ WarningLevel="3"
+ DebugInformationFormat="4"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="libsword.lib icuuc.lib icuin.lib icudt.lib"
+ OutputFile="Debug\$(ProjectName).exe"
+ AdditionalLibraryDirectories="../../../icu-sword/lib,../../lib/vcppmake/vc8/ICUDebug"
+ GenerateDebugInformation="true"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release with ICU|Win32"
+ OutputDirectory="$(SolutionDir)Release"
+ IntermediateDirectory="Release"
+ ConfigurationType="1"
+ CharacterSet="2"
+ WholeProgramOptimization="1"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ EnableIntrinsicFunctions="true"
+ AdditionalIncludeDirectories="../../include,../../src/utilfuns/win32,../../../icu-sword/include"
+ PreprocessorDefinitions="NDEBUG;WIN32;_CONSOLE;_ICU_;_ICUSWORD_;SWUSINGDLL"
+ RuntimeLibrary="2"
+ EnableFunctionLevelLinking="true"
+ WarningLevel="3"
+ DebugInformationFormat="3"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="libsword.lib icuuc.lib icuin.lib icudt.lib"
+ OutputFile="Release\$(ProjectName).exe"
+ AdditionalLibraryDirectories="../../../icu-sword/lib,../../lib/vcppmake/vc8/ICURelease"
+ GenerateDebugInformation="true"
+ OptimizeReferences="2"
+ EnableCOMDATFolding="2"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <Filter
+ Name="Source Files"
+ Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
+ UniqueIdentifier="{49125F1F-77E0-43A0-95E7-A2DBCCBB80B4}"
+ >
+ <File
+ RelativePath="..\step2vpl.cpp"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="Header Files"
+ Filter="h;hpp;hxx;hm;inl;inc;xsd"
+ UniqueIdentifier="{AB8C32B3-369D-448D-98EF-D3677B569099}"
+ >
+ </Filter>
+ <Filter
+ Name="Resource Files"
+ Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav"
+ UniqueIdentifier="{02D96DF0-116E-4796-BAFA-6576BCDD70DE}"
+ >
+ </Filter>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>
diff --git a/utilities/vcppmake/stepdump.vcproj b/utilities/vcppmake/stepdump.vcproj
new file mode 100644
index 0000000..312e667
--- /dev/null
+++ b/utilities/vcppmake/stepdump.vcproj
@@ -0,0 +1,194 @@
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="9.00"
+ Name="stepdump"
+ ProjectGUID="{D37BC2BB-E54F-4CA2-8CED-C8FCED4E57B9}"
+ RootNamespace="stepdump"
+ TargetFrameworkVersion="196613"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="Debug with ICU|Win32"
+ OutputDirectory="$(SolutionDir)Debug"
+ IntermediateDirectory="Debug"
+ ConfigurationType="1"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories="../../include,../../src/utilfuns/win32,../../../icu-sword/include"
+ PreprocessorDefinitions="_DEBUG;WIN32;_CONSOLE;_ICU_;_ICUSWORD_;SWUSINGDLL"
+ MinimalRebuild="true"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="3"
+ WarningLevel="3"
+ DebugInformationFormat="4"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="libsword.lib icuuc.lib icuin.lib icudt.lib"
+ OutputFile="Debug\$(ProjectName).exe"
+ AdditionalLibraryDirectories="../../../icu-sword/lib,../../lib/vcppmake/vc8/ICUDebug"
+ GenerateDebugInformation="true"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release with ICU|Win32"
+ OutputDirectory="$(SolutionDir)Release"
+ IntermediateDirectory="Release"
+ ConfigurationType="1"
+ CharacterSet="2"
+ WholeProgramOptimization="1"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ EnableIntrinsicFunctions="true"
+ AdditionalIncludeDirectories="../../include,../../src/utilfuns/win32,../../../icu-sword/include"
+ PreprocessorDefinitions="NDEBUG;WIN32;_CONSOLE;_ICU_;_ICUSWORD_;SWUSINGDLL"
+ RuntimeLibrary="2"
+ EnableFunctionLevelLinking="true"
+ WarningLevel="3"
+ DebugInformationFormat="3"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="libsword.lib icuuc.lib icuin.lib icudt.lib"
+ OutputFile="Release\$(ProjectName).exe"
+ AdditionalLibraryDirectories="../../../icu-sword/lib,../../lib/vcppmake/vc8/ICURelease"
+ GenerateDebugInformation="true"
+ OptimizeReferences="2"
+ EnableCOMDATFolding="2"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <Filter
+ Name="Source Files"
+ Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
+ UniqueIdentifier="{AAC286F9-6845-49C4-B67C-FF0328CB6864}"
+ >
+ <File
+ RelativePath="..\stepdump.cpp"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="Header Files"
+ Filter="h;hpp;hxx;hm;inl;inc;xsd"
+ UniqueIdentifier="{1AA5263B-9D6A-49E1-ACA5-FE8E4F77E84C}"
+ >
+ </Filter>
+ <Filter
+ Name="Resource Files"
+ Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav"
+ UniqueIdentifier="{43212ACC-D0D0-4872-AAF9-2A72A5E98D83}"
+ >
+ </Filter>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>
diff --git a/utilities/vcppmake/tei2mod.vcproj b/utilities/vcppmake/tei2mod.vcproj
new file mode 100644
index 0000000..a9271c6
--- /dev/null
+++ b/utilities/vcppmake/tei2mod.vcproj
@@ -0,0 +1,194 @@
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="9.00"
+ Name="tei2mod"
+ ProjectGUID="{86D28D9A-2D6A-49A3-A790-275C0CAE14C9}"
+ RootNamespace="tei2mod"
+ TargetFrameworkVersion="196613"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="Debug with ICU|Win32"
+ OutputDirectory="$(SolutionDir)Debug"
+ IntermediateDirectory="Debug"
+ ConfigurationType="1"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories="../../include,../../src/utilfuns/win32,../../../icu-sword/include"
+ PreprocessorDefinitions="_DEBUG;WIN32;_CONSOLE;_ICU_;_ICUSWORD_;SWUSINGDLL"
+ MinimalRebuild="true"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="3"
+ WarningLevel="3"
+ DebugInformationFormat="4"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="libsword.lib icuuc.lib icuin.lib icudt.lib"
+ OutputFile="Debug\$(ProjectName).exe"
+ AdditionalLibraryDirectories="../../../icu-sword/lib,../../lib/vcppmake/vc8/ICUDebug"
+ GenerateDebugInformation="true"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release with ICU|Win32"
+ OutputDirectory="$(SolutionDir)Release"
+ IntermediateDirectory="Release"
+ ConfigurationType="1"
+ CharacterSet="2"
+ WholeProgramOptimization="1"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ EnableIntrinsicFunctions="true"
+ AdditionalIncludeDirectories="../../include,../../src/utilfuns/win32,../../../icu-sword/include"
+ PreprocessorDefinitions="NDEBUG;WIN32;_CONSOLE;_ICU_;_ICUSWORD_;SWUSINGDLL"
+ RuntimeLibrary="2"
+ EnableFunctionLevelLinking="true"
+ WarningLevel="3"
+ DebugInformationFormat="3"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="libsword.lib icuuc.lib icuin.lib icudt.lib"
+ OutputFile="Release\$(ProjectName).exe"
+ AdditionalLibraryDirectories="../../../icu-sword/lib,../../lib/vcppmake/vc8/ICURelease"
+ GenerateDebugInformation="true"
+ OptimizeReferences="2"
+ EnableCOMDATFolding="2"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <Filter
+ Name="Source Files"
+ Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
+ UniqueIdentifier="{D087C72F-EC9E-44E2-AFCD-653999552A0C}"
+ >
+ <File
+ RelativePath="..\tei2mod.cpp"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="Header Files"
+ Filter="h;hpp;hxx;hm;inl;inc;xsd"
+ UniqueIdentifier="{1097CD3A-813F-4486-B07D-1A3AF10EA6DF}"
+ >
+ </Filter>
+ <Filter
+ Name="Resource Files"
+ Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav"
+ UniqueIdentifier="{33554721-1A6C-4D8A-88B8-72E89D72A3C6}"
+ >
+ </Filter>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>
diff --git a/utilities/vcppmake/treeidxutil.vcproj b/utilities/vcppmake/treeidxutil.vcproj
new file mode 100644
index 0000000..9a619de
--- /dev/null
+++ b/utilities/vcppmake/treeidxutil.vcproj
@@ -0,0 +1,194 @@
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="9.00"
+ Name="treeidxutil"
+ ProjectGUID="{5638CD25-87F7-4A22-AF6D-EBECCD26B35B}"
+ RootNamespace="treeidxutil"
+ TargetFrameworkVersion="196613"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="Debug with ICU|Win32"
+ OutputDirectory="$(SolutionDir)Debug"
+ IntermediateDirectory="Debug"
+ ConfigurationType="1"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories="../../include,../../src/utilfuns/win32,../../../icu-sword/include"
+ PreprocessorDefinitions="_DEBUG;WIN32;_CONSOLE;_ICU_;_ICUSWORD_;SWUSINGDLL"
+ MinimalRebuild="true"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="3"
+ WarningLevel="3"
+ DebugInformationFormat="4"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="libsword.lib icuuc.lib icuin.lib icudt.lib"
+ OutputFile="Debug\$(ProjectName).exe"
+ AdditionalLibraryDirectories="../../../icu-sword/lib,../../lib/vcppmake/vc8/ICUDebug"
+ GenerateDebugInformation="true"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release with ICU|Win32"
+ OutputDirectory="$(SolutionDir)Release"
+ IntermediateDirectory="Release"
+ ConfigurationType="1"
+ CharacterSet="2"
+ WholeProgramOptimization="1"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ EnableIntrinsicFunctions="true"
+ AdditionalIncludeDirectories="../../include,../../src/utilfuns/win32,../../../icu-sword/include"
+ PreprocessorDefinitions="NDEBUG;WIN32;_CONSOLE;_ICU_;_ICUSWORD_;SWUSINGDLL"
+ RuntimeLibrary="2"
+ EnableFunctionLevelLinking="true"
+ WarningLevel="3"
+ DebugInformationFormat="3"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="libsword.lib icuuc.lib icuin.lib icudt.lib"
+ OutputFile="Release\$(ProjectName).exe"
+ AdditionalLibraryDirectories="../../../icu-sword/lib,../../lib/vcppmake/vc8/ICURelease"
+ GenerateDebugInformation="true"
+ OptimizeReferences="2"
+ EnableCOMDATFolding="2"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <Filter
+ Name="Source Files"
+ Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
+ UniqueIdentifier="{8D333191-C9A5-44B0-B03C-1ED43BA11CFB}"
+ >
+ <File
+ RelativePath="..\treeidxutil.cpp"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="Header Files"
+ Filter="h;hpp;hxx;hm;inl;inc;xsd"
+ UniqueIdentifier="{CC9CF264-BB60-40F1-9329-CC2DA896D442}"
+ >
+ </Filter>
+ <Filter
+ Name="Resource Files"
+ Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav"
+ UniqueIdentifier="{8E4CC019-557A-4FD1-AAC8-6532D88ACC39}"
+ >
+ </Filter>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>
diff --git a/utilities/vcppmake/utilities.sln b/utilities/vcppmake/utilities.sln
new file mode 100644
index 0000000..3875055
--- /dev/null
+++ b/utilities/vcppmake/utilities.sln
@@ -0,0 +1,246 @@
+
+Microsoft Visual Studio Solution File, Format Version 10.00
+# Visual Studio 2008
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libsword", "..\..\lib\vcppmake\vc8\libsword.vcproj", "{97449E5E-F880-4D22-933A-0D2FC32034D4}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "osis2mod", "osis2mod.vcproj", "{3D885A23-DA8F-43C1-B241-7F44CA7AAF75}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "addgb", "addgb.vcproj", "{76895767-61D0-41E6-B92D-FD541BB26D32}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "addld", "addld.vcproj", "{BBB6D2DE-D890-4758-85CF-8057B93CF6C2}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "addvs", "addvs.vcproj", "{CFF1021E-B878-481A-851B-2B226701D525}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "cipherraw", "cipherraw.vcproj", "{7A8F6247-7450-4BDF-A9FF-1BFA675EC83A}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "emptyvss", "emptyvss.vcproj", "{A55BEE98-25BB-463D-9016-14CA4567DFBF}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "imp2gbs", "imp2gbs.vcproj", "{2066EC0D-98CC-43E7-8405-5156AF111B38}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "imp2ld", "imp2ld.vcproj", "{BD50701C-6BD3-4A02-9A2C-E9A3D5CC6A78}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "imp2vs", "imp2vs.vcproj", "{5637456D-5B83-4C12-A129-708FC8CF0B33}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "installmgr", "installmgr.vcproj", "{8EBC3D0A-F056-42BB-B18A-2FE18EAE5332}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mkfastmod", "mkfastmod.vcproj", "{DB592F77-25DC-4005-BD49-6D0E50303844}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mod2imp", "mod2imp.vcproj", "{95B74350-2DAB-4CA9-BAFB-A5EB264765A1}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mod2osis", "mod2osis.vcproj", "{B5D19969-5285-4B0E-B798-496A0B8DCA61}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mod2vpl", "mod2vpl.vcproj", "{0C43604F-08D6-490C-BDFD-1B6CACB59740}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mod2zmod", "mod2zmod.vcproj", "{4E58EE7D-2B4B-42F0-8578-A23883CA6C31}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "step2vpl", "step2vpl.vcproj", "{43B53430-3C91-4A11-8A1F-5873AEEE0926}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "stepdump", "stepdump.vcproj", "{D37BC2BB-E54F-4CA2-8CED-C8FCED4E57B9}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "tei2mod", "tei2mod.vcproj", "{86D28D9A-2D6A-49A3-A790-275C0CAE14C9}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "treeidxutil", "treeidxutil.vcproj", "{5638CD25-87F7-4A22-AF6D-EBECCD26B35B}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "vs2osisref", "vs2osisref.vcproj", "{DFDB8804-5D6C-448F-A935-DD85629E0554}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "vs2osisreftxt", "vs2osisreftxt.vcproj", "{B3EB374E-A3C5-4C69-BAE5-B1030288E3B0}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "xml2gbs", "xml2gbs.vcproj", "{87116D0C-E498-4193-9F2D-301A8771B77D}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug with ICU|Win32 = Debug with ICU|Win32
+ Debug|Win32 = Debug|Win32
+ Release with ICU|Win32 = Release with ICU|Win32
+ Release|Win32 = Release|Win32
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {97449E5E-F880-4D22-933A-0D2FC32034D4}.Debug with ICU|Win32.ActiveCfg = Release with ICU|Win32
+ {97449E5E-F880-4D22-933A-0D2FC32034D4}.Debug with ICU|Win32.Build.0 = Release with ICU|Win32
+ {97449E5E-F880-4D22-933A-0D2FC32034D4}.Debug|Win32.ActiveCfg = Debug|Win32
+ {97449E5E-F880-4D22-933A-0D2FC32034D4}.Debug|Win32.Build.0 = Debug|Win32
+ {97449E5E-F880-4D22-933A-0D2FC32034D4}.Release with ICU|Win32.ActiveCfg = Release with ICU|Win32
+ {97449E5E-F880-4D22-933A-0D2FC32034D4}.Release with ICU|Win32.Build.0 = Release with ICU|Win32
+ {97449E5E-F880-4D22-933A-0D2FC32034D4}.Release|Win32.ActiveCfg = Release|Win32
+ {97449E5E-F880-4D22-933A-0D2FC32034D4}.Release|Win32.Build.0 = Release|Win32
+ {3D885A23-DA8F-43C1-B241-7F44CA7AAF75}.Debug with ICU|Win32.ActiveCfg = Debug with ICU|Win32
+ {3D885A23-DA8F-43C1-B241-7F44CA7AAF75}.Debug with ICU|Win32.Build.0 = Debug with ICU|Win32
+ {3D885A23-DA8F-43C1-B241-7F44CA7AAF75}.Debug|Win32.ActiveCfg = Debug with ICU|Win32
+ {3D885A23-DA8F-43C1-B241-7F44CA7AAF75}.Debug|Win32.Build.0 = Debug with ICU|Win32
+ {3D885A23-DA8F-43C1-B241-7F44CA7AAF75}.Release with ICU|Win32.ActiveCfg = Release with ICU|Win32
+ {3D885A23-DA8F-43C1-B241-7F44CA7AAF75}.Release with ICU|Win32.Build.0 = Release with ICU|Win32
+ {3D885A23-DA8F-43C1-B241-7F44CA7AAF75}.Release|Win32.ActiveCfg = Release with ICU|Win32
+ {3D885A23-DA8F-43C1-B241-7F44CA7AAF75}.Release|Win32.Build.0 = Release with ICU|Win32
+ {76895767-61D0-41E6-B92D-FD541BB26D32}.Debug with ICU|Win32.ActiveCfg = Debug with ICU|Win32
+ {76895767-61D0-41E6-B92D-FD541BB26D32}.Debug with ICU|Win32.Build.0 = Debug with ICU|Win32
+ {76895767-61D0-41E6-B92D-FD541BB26D32}.Debug|Win32.ActiveCfg = Debug with ICU|Win32
+ {76895767-61D0-41E6-B92D-FD541BB26D32}.Debug|Win32.Build.0 = Debug with ICU|Win32
+ {76895767-61D0-41E6-B92D-FD541BB26D32}.Release with ICU|Win32.ActiveCfg = Release with ICU|Win32
+ {76895767-61D0-41E6-B92D-FD541BB26D32}.Release with ICU|Win32.Build.0 = Release with ICU|Win32
+ {76895767-61D0-41E6-B92D-FD541BB26D32}.Release|Win32.ActiveCfg = Release with ICU|Win32
+ {76895767-61D0-41E6-B92D-FD541BB26D32}.Release|Win32.Build.0 = Release with ICU|Win32
+ {BBB6D2DE-D890-4758-85CF-8057B93CF6C2}.Debug with ICU|Win32.ActiveCfg = Debug with ICU|Win32
+ {BBB6D2DE-D890-4758-85CF-8057B93CF6C2}.Debug with ICU|Win32.Build.0 = Debug with ICU|Win32
+ {BBB6D2DE-D890-4758-85CF-8057B93CF6C2}.Debug|Win32.ActiveCfg = Debug with ICU|Win32
+ {BBB6D2DE-D890-4758-85CF-8057B93CF6C2}.Debug|Win32.Build.0 = Debug with ICU|Win32
+ {BBB6D2DE-D890-4758-85CF-8057B93CF6C2}.Release with ICU|Win32.ActiveCfg = Release with ICU|Win32
+ {BBB6D2DE-D890-4758-85CF-8057B93CF6C2}.Release with ICU|Win32.Build.0 = Release with ICU|Win32
+ {BBB6D2DE-D890-4758-85CF-8057B93CF6C2}.Release|Win32.ActiveCfg = Release with ICU|Win32
+ {BBB6D2DE-D890-4758-85CF-8057B93CF6C2}.Release|Win32.Build.0 = Release with ICU|Win32
+ {CFF1021E-B878-481A-851B-2B226701D525}.Debug with ICU|Win32.ActiveCfg = Debug with ICU|Win32
+ {CFF1021E-B878-481A-851B-2B226701D525}.Debug with ICU|Win32.Build.0 = Debug with ICU|Win32
+ {CFF1021E-B878-481A-851B-2B226701D525}.Debug|Win32.ActiveCfg = Debug with ICU|Win32
+ {CFF1021E-B878-481A-851B-2B226701D525}.Debug|Win32.Build.0 = Debug with ICU|Win32
+ {CFF1021E-B878-481A-851B-2B226701D525}.Release with ICU|Win32.ActiveCfg = Release with ICU|Win32
+ {CFF1021E-B878-481A-851B-2B226701D525}.Release with ICU|Win32.Build.0 = Release with ICU|Win32
+ {CFF1021E-B878-481A-851B-2B226701D525}.Release|Win32.ActiveCfg = Release with ICU|Win32
+ {CFF1021E-B878-481A-851B-2B226701D525}.Release|Win32.Build.0 = Release with ICU|Win32
+ {7A8F6247-7450-4BDF-A9FF-1BFA675EC83A}.Debug with ICU|Win32.ActiveCfg = Debug with ICU|Win32
+ {7A8F6247-7450-4BDF-A9FF-1BFA675EC83A}.Debug with ICU|Win32.Build.0 = Debug with ICU|Win32
+ {7A8F6247-7450-4BDF-A9FF-1BFA675EC83A}.Debug|Win32.ActiveCfg = Debug with ICU|Win32
+ {7A8F6247-7450-4BDF-A9FF-1BFA675EC83A}.Debug|Win32.Build.0 = Debug with ICU|Win32
+ {7A8F6247-7450-4BDF-A9FF-1BFA675EC83A}.Release with ICU|Win32.ActiveCfg = Release with ICU|Win32
+ {7A8F6247-7450-4BDF-A9FF-1BFA675EC83A}.Release with ICU|Win32.Build.0 = Release with ICU|Win32
+ {7A8F6247-7450-4BDF-A9FF-1BFA675EC83A}.Release|Win32.ActiveCfg = Release with ICU|Win32
+ {7A8F6247-7450-4BDF-A9FF-1BFA675EC83A}.Release|Win32.Build.0 = Release with ICU|Win32
+ {A55BEE98-25BB-463D-9016-14CA4567DFBF}.Debug with ICU|Win32.ActiveCfg = Debug with ICU|Win32
+ {A55BEE98-25BB-463D-9016-14CA4567DFBF}.Debug with ICU|Win32.Build.0 = Debug with ICU|Win32
+ {A55BEE98-25BB-463D-9016-14CA4567DFBF}.Debug|Win32.ActiveCfg = Debug with ICU|Win32
+ {A55BEE98-25BB-463D-9016-14CA4567DFBF}.Debug|Win32.Build.0 = Debug with ICU|Win32
+ {A55BEE98-25BB-463D-9016-14CA4567DFBF}.Release with ICU|Win32.ActiveCfg = Release with ICU|Win32
+ {A55BEE98-25BB-463D-9016-14CA4567DFBF}.Release with ICU|Win32.Build.0 = Release with ICU|Win32
+ {A55BEE98-25BB-463D-9016-14CA4567DFBF}.Release|Win32.ActiveCfg = Release with ICU|Win32
+ {A55BEE98-25BB-463D-9016-14CA4567DFBF}.Release|Win32.Build.0 = Release with ICU|Win32
+ {2066EC0D-98CC-43E7-8405-5156AF111B38}.Debug with ICU|Win32.ActiveCfg = Debug with ICU|Win32
+ {2066EC0D-98CC-43E7-8405-5156AF111B38}.Debug with ICU|Win32.Build.0 = Debug with ICU|Win32
+ {2066EC0D-98CC-43E7-8405-5156AF111B38}.Debug|Win32.ActiveCfg = Debug with ICU|Win32
+ {2066EC0D-98CC-43E7-8405-5156AF111B38}.Debug|Win32.Build.0 = Debug with ICU|Win32
+ {2066EC0D-98CC-43E7-8405-5156AF111B38}.Release with ICU|Win32.ActiveCfg = Release with ICU|Win32
+ {2066EC0D-98CC-43E7-8405-5156AF111B38}.Release with ICU|Win32.Build.0 = Release with ICU|Win32
+ {2066EC0D-98CC-43E7-8405-5156AF111B38}.Release|Win32.ActiveCfg = Release with ICU|Win32
+ {2066EC0D-98CC-43E7-8405-5156AF111B38}.Release|Win32.Build.0 = Release with ICU|Win32
+ {BD50701C-6BD3-4A02-9A2C-E9A3D5CC6A78}.Debug with ICU|Win32.ActiveCfg = Debug with ICU|Win32
+ {BD50701C-6BD3-4A02-9A2C-E9A3D5CC6A78}.Debug with ICU|Win32.Build.0 = Debug with ICU|Win32
+ {BD50701C-6BD3-4A02-9A2C-E9A3D5CC6A78}.Debug|Win32.ActiveCfg = Debug with ICU|Win32
+ {BD50701C-6BD3-4A02-9A2C-E9A3D5CC6A78}.Debug|Win32.Build.0 = Debug with ICU|Win32
+ {BD50701C-6BD3-4A02-9A2C-E9A3D5CC6A78}.Release with ICU|Win32.ActiveCfg = Release with ICU|Win32
+ {BD50701C-6BD3-4A02-9A2C-E9A3D5CC6A78}.Release with ICU|Win32.Build.0 = Release with ICU|Win32
+ {BD50701C-6BD3-4A02-9A2C-E9A3D5CC6A78}.Release|Win32.ActiveCfg = Release with ICU|Win32
+ {BD50701C-6BD3-4A02-9A2C-E9A3D5CC6A78}.Release|Win32.Build.0 = Release with ICU|Win32
+ {5637456D-5B83-4C12-A129-708FC8CF0B33}.Debug with ICU|Win32.ActiveCfg = Debug with ICU|Win32
+ {5637456D-5B83-4C12-A129-708FC8CF0B33}.Debug with ICU|Win32.Build.0 = Debug with ICU|Win32
+ {5637456D-5B83-4C12-A129-708FC8CF0B33}.Debug|Win32.ActiveCfg = Debug with ICU|Win32
+ {5637456D-5B83-4C12-A129-708FC8CF0B33}.Debug|Win32.Build.0 = Debug with ICU|Win32
+ {5637456D-5B83-4C12-A129-708FC8CF0B33}.Release with ICU|Win32.ActiveCfg = Release with ICU|Win32
+ {5637456D-5B83-4C12-A129-708FC8CF0B33}.Release with ICU|Win32.Build.0 = Release with ICU|Win32
+ {5637456D-5B83-4C12-A129-708FC8CF0B33}.Release|Win32.ActiveCfg = Release with ICU|Win32
+ {5637456D-5B83-4C12-A129-708FC8CF0B33}.Release|Win32.Build.0 = Release with ICU|Win32
+ {8EBC3D0A-F056-42BB-B18A-2FE18EAE5332}.Debug with ICU|Win32.ActiveCfg = Debug with ICU|Win32
+ {8EBC3D0A-F056-42BB-B18A-2FE18EAE5332}.Debug with ICU|Win32.Build.0 = Debug with ICU|Win32
+ {8EBC3D0A-F056-42BB-B18A-2FE18EAE5332}.Debug|Win32.ActiveCfg = Debug with ICU|Win32
+ {8EBC3D0A-F056-42BB-B18A-2FE18EAE5332}.Debug|Win32.Build.0 = Debug with ICU|Win32
+ {8EBC3D0A-F056-42BB-B18A-2FE18EAE5332}.Release with ICU|Win32.ActiveCfg = Release with ICU|Win32
+ {8EBC3D0A-F056-42BB-B18A-2FE18EAE5332}.Release with ICU|Win32.Build.0 = Release with ICU|Win32
+ {8EBC3D0A-F056-42BB-B18A-2FE18EAE5332}.Release|Win32.ActiveCfg = Release with ICU|Win32
+ {8EBC3D0A-F056-42BB-B18A-2FE18EAE5332}.Release|Win32.Build.0 = Release with ICU|Win32
+ {DB592F77-25DC-4005-BD49-6D0E50303844}.Debug with ICU|Win32.ActiveCfg = Debug with ICU|Win32
+ {DB592F77-25DC-4005-BD49-6D0E50303844}.Debug with ICU|Win32.Build.0 = Debug with ICU|Win32
+ {DB592F77-25DC-4005-BD49-6D0E50303844}.Debug|Win32.ActiveCfg = Debug with ICU|Win32
+ {DB592F77-25DC-4005-BD49-6D0E50303844}.Debug|Win32.Build.0 = Debug with ICU|Win32
+ {DB592F77-25DC-4005-BD49-6D0E50303844}.Release with ICU|Win32.ActiveCfg = Release with ICU|Win32
+ {DB592F77-25DC-4005-BD49-6D0E50303844}.Release with ICU|Win32.Build.0 = Release with ICU|Win32
+ {DB592F77-25DC-4005-BD49-6D0E50303844}.Release|Win32.ActiveCfg = Release with ICU|Win32
+ {DB592F77-25DC-4005-BD49-6D0E50303844}.Release|Win32.Build.0 = Release with ICU|Win32
+ {95B74350-2DAB-4CA9-BAFB-A5EB264765A1}.Debug with ICU|Win32.ActiveCfg = Debug with ICU|Win32
+ {95B74350-2DAB-4CA9-BAFB-A5EB264765A1}.Debug with ICU|Win32.Build.0 = Debug with ICU|Win32
+ {95B74350-2DAB-4CA9-BAFB-A5EB264765A1}.Debug|Win32.ActiveCfg = Debug with ICU|Win32
+ {95B74350-2DAB-4CA9-BAFB-A5EB264765A1}.Debug|Win32.Build.0 = Debug with ICU|Win32
+ {95B74350-2DAB-4CA9-BAFB-A5EB264765A1}.Release with ICU|Win32.ActiveCfg = Release with ICU|Win32
+ {95B74350-2DAB-4CA9-BAFB-A5EB264765A1}.Release with ICU|Win32.Build.0 = Release with ICU|Win32
+ {95B74350-2DAB-4CA9-BAFB-A5EB264765A1}.Release|Win32.ActiveCfg = Release with ICU|Win32
+ {95B74350-2DAB-4CA9-BAFB-A5EB264765A1}.Release|Win32.Build.0 = Release with ICU|Win32
+ {B5D19969-5285-4B0E-B798-496A0B8DCA61}.Debug with ICU|Win32.ActiveCfg = Debug with ICU|Win32
+ {B5D19969-5285-4B0E-B798-496A0B8DCA61}.Debug with ICU|Win32.Build.0 = Debug with ICU|Win32
+ {B5D19969-5285-4B0E-B798-496A0B8DCA61}.Debug|Win32.ActiveCfg = Debug with ICU|Win32
+ {B5D19969-5285-4B0E-B798-496A0B8DCA61}.Debug|Win32.Build.0 = Debug with ICU|Win32
+ {B5D19969-5285-4B0E-B798-496A0B8DCA61}.Release with ICU|Win32.ActiveCfg = Release with ICU|Win32
+ {B5D19969-5285-4B0E-B798-496A0B8DCA61}.Release with ICU|Win32.Build.0 = Release with ICU|Win32
+ {B5D19969-5285-4B0E-B798-496A0B8DCA61}.Release|Win32.ActiveCfg = Release with ICU|Win32
+ {B5D19969-5285-4B0E-B798-496A0B8DCA61}.Release|Win32.Build.0 = Release with ICU|Win32
+ {0C43604F-08D6-490C-BDFD-1B6CACB59740}.Debug with ICU|Win32.ActiveCfg = Debug with ICU|Win32
+ {0C43604F-08D6-490C-BDFD-1B6CACB59740}.Debug with ICU|Win32.Build.0 = Debug with ICU|Win32
+ {0C43604F-08D6-490C-BDFD-1B6CACB59740}.Debug|Win32.ActiveCfg = Debug with ICU|Win32
+ {0C43604F-08D6-490C-BDFD-1B6CACB59740}.Debug|Win32.Build.0 = Debug with ICU|Win32
+ {0C43604F-08D6-490C-BDFD-1B6CACB59740}.Release with ICU|Win32.ActiveCfg = Release with ICU|Win32
+ {0C43604F-08D6-490C-BDFD-1B6CACB59740}.Release with ICU|Win32.Build.0 = Release with ICU|Win32
+ {0C43604F-08D6-490C-BDFD-1B6CACB59740}.Release|Win32.ActiveCfg = Release with ICU|Win32
+ {0C43604F-08D6-490C-BDFD-1B6CACB59740}.Release|Win32.Build.0 = Release with ICU|Win32
+ {4E58EE7D-2B4B-42F0-8578-A23883CA6C31}.Debug with ICU|Win32.ActiveCfg = Debug with ICU|Win32
+ {4E58EE7D-2B4B-42F0-8578-A23883CA6C31}.Debug with ICU|Win32.Build.0 = Debug with ICU|Win32
+ {4E58EE7D-2B4B-42F0-8578-A23883CA6C31}.Debug|Win32.ActiveCfg = Debug with ICU|Win32
+ {4E58EE7D-2B4B-42F0-8578-A23883CA6C31}.Debug|Win32.Build.0 = Debug with ICU|Win32
+ {4E58EE7D-2B4B-42F0-8578-A23883CA6C31}.Release with ICU|Win32.ActiveCfg = Release with ICU|Win32
+ {4E58EE7D-2B4B-42F0-8578-A23883CA6C31}.Release with ICU|Win32.Build.0 = Release with ICU|Win32
+ {4E58EE7D-2B4B-42F0-8578-A23883CA6C31}.Release|Win32.ActiveCfg = Release with ICU|Win32
+ {4E58EE7D-2B4B-42F0-8578-A23883CA6C31}.Release|Win32.Build.0 = Release with ICU|Win32
+ {43B53430-3C91-4A11-8A1F-5873AEEE0926}.Debug with ICU|Win32.ActiveCfg = Debug with ICU|Win32
+ {43B53430-3C91-4A11-8A1F-5873AEEE0926}.Debug with ICU|Win32.Build.0 = Debug with ICU|Win32
+ {43B53430-3C91-4A11-8A1F-5873AEEE0926}.Debug|Win32.ActiveCfg = Debug with ICU|Win32
+ {43B53430-3C91-4A11-8A1F-5873AEEE0926}.Debug|Win32.Build.0 = Debug with ICU|Win32
+ {43B53430-3C91-4A11-8A1F-5873AEEE0926}.Release with ICU|Win32.ActiveCfg = Release with ICU|Win32
+ {43B53430-3C91-4A11-8A1F-5873AEEE0926}.Release with ICU|Win32.Build.0 = Release with ICU|Win32
+ {43B53430-3C91-4A11-8A1F-5873AEEE0926}.Release|Win32.ActiveCfg = Release with ICU|Win32
+ {43B53430-3C91-4A11-8A1F-5873AEEE0926}.Release|Win32.Build.0 = Release with ICU|Win32
+ {D37BC2BB-E54F-4CA2-8CED-C8FCED4E57B9}.Debug with ICU|Win32.ActiveCfg = Debug with ICU|Win32
+ {D37BC2BB-E54F-4CA2-8CED-C8FCED4E57B9}.Debug with ICU|Win32.Build.0 = Debug with ICU|Win32
+ {D37BC2BB-E54F-4CA2-8CED-C8FCED4E57B9}.Debug|Win32.ActiveCfg = Debug with ICU|Win32
+ {D37BC2BB-E54F-4CA2-8CED-C8FCED4E57B9}.Debug|Win32.Build.0 = Debug with ICU|Win32
+ {D37BC2BB-E54F-4CA2-8CED-C8FCED4E57B9}.Release with ICU|Win32.ActiveCfg = Release with ICU|Win32
+ {D37BC2BB-E54F-4CA2-8CED-C8FCED4E57B9}.Release with ICU|Win32.Build.0 = Release with ICU|Win32
+ {D37BC2BB-E54F-4CA2-8CED-C8FCED4E57B9}.Release|Win32.ActiveCfg = Release with ICU|Win32
+ {D37BC2BB-E54F-4CA2-8CED-C8FCED4E57B9}.Release|Win32.Build.0 = Release with ICU|Win32
+ {86D28D9A-2D6A-49A3-A790-275C0CAE14C9}.Debug with ICU|Win32.ActiveCfg = Debug with ICU|Win32
+ {86D28D9A-2D6A-49A3-A790-275C0CAE14C9}.Debug with ICU|Win32.Build.0 = Debug with ICU|Win32
+ {86D28D9A-2D6A-49A3-A790-275C0CAE14C9}.Debug|Win32.ActiveCfg = Debug with ICU|Win32
+ {86D28D9A-2D6A-49A3-A790-275C0CAE14C9}.Debug|Win32.Build.0 = Debug with ICU|Win32
+ {86D28D9A-2D6A-49A3-A790-275C0CAE14C9}.Release with ICU|Win32.ActiveCfg = Release with ICU|Win32
+ {86D28D9A-2D6A-49A3-A790-275C0CAE14C9}.Release with ICU|Win32.Build.0 = Release with ICU|Win32
+ {86D28D9A-2D6A-49A3-A790-275C0CAE14C9}.Release|Win32.ActiveCfg = Release with ICU|Win32
+ {86D28D9A-2D6A-49A3-A790-275C0CAE14C9}.Release|Win32.Build.0 = Release with ICU|Win32
+ {5638CD25-87F7-4A22-AF6D-EBECCD26B35B}.Debug with ICU|Win32.ActiveCfg = Debug with ICU|Win32
+ {5638CD25-87F7-4A22-AF6D-EBECCD26B35B}.Debug with ICU|Win32.Build.0 = Debug with ICU|Win32
+ {5638CD25-87F7-4A22-AF6D-EBECCD26B35B}.Debug|Win32.ActiveCfg = Debug with ICU|Win32
+ {5638CD25-87F7-4A22-AF6D-EBECCD26B35B}.Debug|Win32.Build.0 = Debug with ICU|Win32
+ {5638CD25-87F7-4A22-AF6D-EBECCD26B35B}.Release with ICU|Win32.ActiveCfg = Release with ICU|Win32
+ {5638CD25-87F7-4A22-AF6D-EBECCD26B35B}.Release with ICU|Win32.Build.0 = Release with ICU|Win32
+ {5638CD25-87F7-4A22-AF6D-EBECCD26B35B}.Release|Win32.ActiveCfg = Release with ICU|Win32
+ {5638CD25-87F7-4A22-AF6D-EBECCD26B35B}.Release|Win32.Build.0 = Release with ICU|Win32
+ {DFDB8804-5D6C-448F-A935-DD85629E0554}.Debug with ICU|Win32.ActiveCfg = Debug with ICU|Win32
+ {DFDB8804-5D6C-448F-A935-DD85629E0554}.Debug with ICU|Win32.Build.0 = Debug with ICU|Win32
+ {DFDB8804-5D6C-448F-A935-DD85629E0554}.Debug|Win32.ActiveCfg = Debug with ICU|Win32
+ {DFDB8804-5D6C-448F-A935-DD85629E0554}.Debug|Win32.Build.0 = Debug with ICU|Win32
+ {DFDB8804-5D6C-448F-A935-DD85629E0554}.Release with ICU|Win32.ActiveCfg = Release with ICU|Win32
+ {DFDB8804-5D6C-448F-A935-DD85629E0554}.Release with ICU|Win32.Build.0 = Release with ICU|Win32
+ {DFDB8804-5D6C-448F-A935-DD85629E0554}.Release|Win32.ActiveCfg = Release with ICU|Win32
+ {DFDB8804-5D6C-448F-A935-DD85629E0554}.Release|Win32.Build.0 = Release with ICU|Win32
+ {B3EB374E-A3C5-4C69-BAE5-B1030288E3B0}.Debug with ICU|Win32.ActiveCfg = Debug with ICU|Win32
+ {B3EB374E-A3C5-4C69-BAE5-B1030288E3B0}.Debug with ICU|Win32.Build.0 = Debug with ICU|Win32
+ {B3EB374E-A3C5-4C69-BAE5-B1030288E3B0}.Debug|Win32.ActiveCfg = Debug with ICU|Win32
+ {B3EB374E-A3C5-4C69-BAE5-B1030288E3B0}.Debug|Win32.Build.0 = Debug with ICU|Win32
+ {B3EB374E-A3C5-4C69-BAE5-B1030288E3B0}.Release with ICU|Win32.ActiveCfg = Release with ICU|Win32
+ {B3EB374E-A3C5-4C69-BAE5-B1030288E3B0}.Release with ICU|Win32.Build.0 = Release with ICU|Win32
+ {B3EB374E-A3C5-4C69-BAE5-B1030288E3B0}.Release|Win32.ActiveCfg = Release with ICU|Win32
+ {B3EB374E-A3C5-4C69-BAE5-B1030288E3B0}.Release|Win32.Build.0 = Release with ICU|Win32
+ {87116D0C-E498-4193-9F2D-301A8771B77D}.Debug with ICU|Win32.ActiveCfg = Debug with ICU|Win32
+ {87116D0C-E498-4193-9F2D-301A8771B77D}.Debug with ICU|Win32.Build.0 = Debug with ICU|Win32
+ {87116D0C-E498-4193-9F2D-301A8771B77D}.Debug|Win32.ActiveCfg = Debug with ICU|Win32
+ {87116D0C-E498-4193-9F2D-301A8771B77D}.Debug|Win32.Build.0 = Debug with ICU|Win32
+ {87116D0C-E498-4193-9F2D-301A8771B77D}.Release with ICU|Win32.ActiveCfg = Release with ICU|Win32
+ {87116D0C-E498-4193-9F2D-301A8771B77D}.Release with ICU|Win32.Build.0 = Release with ICU|Win32
+ {87116D0C-E498-4193-9F2D-301A8771B77D}.Release|Win32.ActiveCfg = Release with ICU|Win32
+ {87116D0C-E498-4193-9F2D-301A8771B77D}.Release|Win32.Build.0 = Release with ICU|Win32
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+EndGlobal
diff --git a/utilities/vcppmake/vs2osisref.vcproj b/utilities/vcppmake/vs2osisref.vcproj
new file mode 100644
index 0000000..624c46a
--- /dev/null
+++ b/utilities/vcppmake/vs2osisref.vcproj
@@ -0,0 +1,194 @@
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="9.00"
+ Name="vs2osisref"
+ ProjectGUID="{DFDB8804-5D6C-448F-A935-DD85629E0554}"
+ RootNamespace="vs2osisref"
+ TargetFrameworkVersion="196613"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="Debug with ICU|Win32"
+ OutputDirectory="$(SolutionDir)Debug"
+ IntermediateDirectory="Debug"
+ ConfigurationType="1"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories="../../include,../../src/utilfuns/win32,../../../icu-sword/include"
+ PreprocessorDefinitions="_DEBUG;WIN32;_CONSOLE;_ICU_;_ICUSWORD_;SWUSINGDLL"
+ MinimalRebuild="true"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="3"
+ WarningLevel="3"
+ DebugInformationFormat="4"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="libsword.lib icuuc.lib icuin.lib icudt.lib"
+ OutputFile="Debug\$(ProjectName).exe"
+ AdditionalLibraryDirectories="../../../icu-sword/lib,../../lib/vcppmake/vc8/ICUDebug"
+ GenerateDebugInformation="true"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release with ICU|Win32"
+ OutputDirectory="$(SolutionDir)Release"
+ IntermediateDirectory="Release"
+ ConfigurationType="1"
+ CharacterSet="2"
+ WholeProgramOptimization="1"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ EnableIntrinsicFunctions="true"
+ AdditionalIncludeDirectories="../../include,../../src/utilfuns/win32,../../../icu-sword/include"
+ PreprocessorDefinitions="NDEBUG;WIN32;_CONSOLE;_ICU_;_ICUSWORD_;SWUSINGDLL"
+ RuntimeLibrary="2"
+ EnableFunctionLevelLinking="true"
+ WarningLevel="3"
+ DebugInformationFormat="3"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="libsword.lib icuuc.lib icuin.lib icudt.lib"
+ OutputFile="Release\$(ProjectName).exe"
+ AdditionalLibraryDirectories="../../../icu-sword/lib,../../lib/vcppmake/vc8/ICURelease"
+ GenerateDebugInformation="true"
+ OptimizeReferences="2"
+ EnableCOMDATFolding="2"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <Filter
+ Name="Source Files"
+ Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
+ UniqueIdentifier="{689570A4-F65B-4045-92FE-244E7FFB66FC}"
+ >
+ <File
+ RelativePath="..\vs2osisref.cpp"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="Header Files"
+ Filter="h;hpp;hxx;hm;inl;inc;xsd"
+ UniqueIdentifier="{F87D280E-0702-487E-8C30-A9B489F902EE}"
+ >
+ </Filter>
+ <Filter
+ Name="Resource Files"
+ Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav"
+ UniqueIdentifier="{84CCCA1B-E8E4-4501-994A-D16291BE3F37}"
+ >
+ </Filter>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>
diff --git a/utilities/vcppmake/vs2osisreftxt.vcproj b/utilities/vcppmake/vs2osisreftxt.vcproj
new file mode 100644
index 0000000..9520b8f
--- /dev/null
+++ b/utilities/vcppmake/vs2osisreftxt.vcproj
@@ -0,0 +1,194 @@
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="9.00"
+ Name="vs2osisreftxt"
+ ProjectGUID="{B3EB374E-A3C5-4C69-BAE5-B1030288E3B0}"
+ RootNamespace="vs2osisreftxt"
+ TargetFrameworkVersion="196613"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="Debug with ICU|Win32"
+ OutputDirectory="$(SolutionDir)Debug"
+ IntermediateDirectory="Debug"
+ ConfigurationType="1"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories="../../include,../../src/utilfuns/win32,../../../icu-sword/include"
+ PreprocessorDefinitions="_DEBUG;WIN32;_CONSOLE;_ICU_;_ICUSWORD_;SWUSINGDLL"
+ MinimalRebuild="true"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="3"
+ WarningLevel="3"
+ DebugInformationFormat="4"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="libsword.lib icuuc.lib icuin.lib icudt.lib"
+ OutputFile="Debug\$(ProjectName).exe"
+ AdditionalLibraryDirectories="../../../icu-sword/lib,../../lib/vcppmake/vc8/ICUDebug"
+ GenerateDebugInformation="true"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release with ICU|Win32"
+ OutputDirectory="$(SolutionDir)Release"
+ IntermediateDirectory="Release"
+ ConfigurationType="1"
+ CharacterSet="2"
+ WholeProgramOptimization="1"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ EnableIntrinsicFunctions="true"
+ AdditionalIncludeDirectories="../../include,../../src/utilfuns/win32,../../../icu-sword/include"
+ PreprocessorDefinitions="NDEBUG;WIN32;_CONSOLE;_ICU_;_ICUSWORD_;SWUSINGDLL"
+ RuntimeLibrary="2"
+ EnableFunctionLevelLinking="true"
+ WarningLevel="3"
+ DebugInformationFormat="3"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="libsword.lib icuuc.lib icuin.lib icudt.lib"
+ OutputFile="Release\$(ProjectName).exe"
+ AdditionalLibraryDirectories="../../../icu-sword/lib,../../lib/vcppmake/vc8/ICURelease"
+ GenerateDebugInformation="true"
+ OptimizeReferences="2"
+ EnableCOMDATFolding="2"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <Filter
+ Name="Source Files"
+ Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
+ UniqueIdentifier="{6A6D7F3B-FCF6-48D2-B2AF-F575B083858A}"
+ >
+ <File
+ RelativePath="..\vs2osisreftxt.cpp"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="Header Files"
+ Filter="h;hpp;hxx;hm;inl;inc;xsd"
+ UniqueIdentifier="{E1F38471-83DF-4E32-BB80-EC5FFD169E26}"
+ >
+ </Filter>
+ <Filter
+ Name="Resource Files"
+ Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav"
+ UniqueIdentifier="{C7E0AF59-CB7E-4B40-80F6-97C1F66DC8BE}"
+ >
+ </Filter>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>
diff --git a/utilities/vcppmake/xml2gbs.vcproj b/utilities/vcppmake/xml2gbs.vcproj
new file mode 100644
index 0000000..c8ed4ed
--- /dev/null
+++ b/utilities/vcppmake/xml2gbs.vcproj
@@ -0,0 +1,194 @@
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="9.00"
+ Name="xml2gbs"
+ ProjectGUID="{87116D0C-E498-4193-9F2D-301A8771B77D}"
+ RootNamespace="xml2gbs"
+ TargetFrameworkVersion="196613"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="Debug with ICU|Win32"
+ OutputDirectory="$(SolutionDir)Debug"
+ IntermediateDirectory="Debug"
+ ConfigurationType="1"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories="../../include,../../src/utilfuns/win32,../../../icu-sword/include"
+ PreprocessorDefinitions="_DEBUG;WIN32;_CONSOLE;_ICU_;_ICUSWORD_;SWUSINGDLL"
+ MinimalRebuild="true"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="3"
+ WarningLevel="3"
+ DebugInformationFormat="4"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="libsword.lib icuuc.lib icuin.lib icudt.lib"
+ OutputFile="Debug\$(ProjectName).exe"
+ AdditionalLibraryDirectories="../../../icu-sword/lib,../../lib/vcppmake/vc8/ICUDebug"
+ GenerateDebugInformation="true"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release with ICU|Win32"
+ OutputDirectory="$(SolutionDir)Release"
+ IntermediateDirectory="Release"
+ ConfigurationType="1"
+ CharacterSet="2"
+ WholeProgramOptimization="1"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ EnableIntrinsicFunctions="true"
+ AdditionalIncludeDirectories="../../include,../../src/utilfuns/win32,../../../icu-sword/include"
+ PreprocessorDefinitions="NDEBUG;WIN32;_CONSOLE;_ICU_;_ICUSWORD_;SWUSINGDLL"
+ RuntimeLibrary="2"
+ EnableFunctionLevelLinking="true"
+ WarningLevel="3"
+ DebugInformationFormat="3"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="libsword.lib icuuc.lib icuin.lib icudt.lib"
+ OutputFile="Release\$(ProjectName).exe"
+ AdditionalLibraryDirectories="../../../icu-sword/lib,../../lib/vcppmake/vc8/ICURelease"
+ GenerateDebugInformation="true"
+ OptimizeReferences="2"
+ EnableCOMDATFolding="2"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <Filter
+ Name="Source Files"
+ Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
+ UniqueIdentifier="{BFE8544C-CFE7-4E32-8912-D127AE76F7AC}"
+ >
+ <File
+ RelativePath="..\xml2gbs.cpp"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="Header Files"
+ Filter="h;hpp;hxx;hm;inl;inc;xsd"
+ UniqueIdentifier="{106E5009-7DF8-4CAB-B807-73EBD81DF72E}"
+ >
+ </Filter>
+ <Filter
+ Name="Resource Files"
+ Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav"
+ UniqueIdentifier="{DE1AAA6A-86D0-47F9-8C48-0AADB819D24B}"
+ >
+ </Filter>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>
diff --git a/utilities/vpl2mod.cpp b/utilities/vpl2mod.cpp
index ee3831c..65cf718 100644
--- a/utilities/vpl2mod.cpp
+++ b/utilities/vpl2mod.cpp
@@ -1,3 +1,20 @@
+/*
+ * Copyright 2009 CrossWire Bible Society (http://www.crosswire.org)
+ * CrossWire Bible Society
+ * P. O. Box 2528
+ * Tempe, AZ 85280-2528
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation version 2.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ */
+
#include <ctype.h>
#include <stdio.h>
#include <fcntl.h>
@@ -143,6 +160,7 @@ int main(int argc, char **argv) {
if (argc < 2) {
// fprintf(stderr, "usage: %s <vpl_file> </path/to/mod> [0|1 - file includes prepended verse references]\n", argv[0]);
fprintf(stderr, "usage: %s <source_vpl_file> </path/to/output/mod/> [0|1 - prepended verse refs] [0|1 - NT only]\n\n", argv[0]);
+ fprintf(stderr, "\tWARNING: THIS IS CURRENTLY A KJV-VERSIFICATION-ONLY UTILITY\n");
fprintf(stderr, "\tWith no verse refs, source file must contain exactly 31102 lines.\n");
fprintf(stderr, "\tThis is KJV verse count plus headings for MODULE,\n");
fprintf(stderr, "\tTESTAMENT, BOOK, CHAPTER. An example snippet follows:\n\n");
diff --git a/utilities/vpl2zmod2.cpp b/utilities/vpl2zmod2.cpp
deleted file mode 100644
index 61e4f24..0000000
--- a/utilities/vpl2zmod2.cpp
+++ /dev/null
@@ -1,293 +0,0 @@
-#include <ctype.h>
-#include <stdio.h>
-#include <fcntl.h>
-#include <errno.h>
-#include <stdlib.h>
-#include <sys/stat.h>
-
-#ifndef __GNUC__
-#include <io.h>
-#else
-#include <unistd.h>
-#endif
-
-#include <swmgr.h>
-#include <ztext2.h>
-#include <iostream>
-#include <swbuf.h>
-#include <lzsscomprs.h>
-#include <zipcomprs.h>
-#include <versekey2.h>
-
-#ifndef NO_SWORD_NAMESPACE
-using sword::SWMgr;
-using sword::SWBuf;
-using sword::zText2;
-using sword::VerseKey2;
-using sword::SW_POSITION;
-using sword::SWCompress;
-//using sword::CipherFilter;
-using sword::zText2;
-using sword::ZipCompress;
-using sword::LZSSCompress;
-#endif
-
-using std::string;
-
-char readline(int fd, char **buf) {
- char ch;
- if (*buf)
- delete [] *buf;
- *buf = 0;
- int len;
-
-
- long index = lseek(fd, 0, SEEK_CUR);
- // clean up any preceding white space
- while ((len = read(fd, &ch, 1)) == 1) {
- if ((ch != 13) && (ch != ' ') && (ch != '\t'))
- break;
- else index++;
- }
-
-
- while (ch != 10) {
- if ((len = read(fd, &ch, 1)) != 1)
- break;
- }
-
- int size = (lseek(fd, 0, SEEK_CUR) - index) - 1;
-
- *buf = new char [ size + 1 ];
-
- if (size > 0) {
- lseek(fd, index, SEEK_SET);
- read(fd, *buf, size);
- read(fd, &ch, 1); //pop terminating char
- (*buf)[size] = 0;
-
- // clean up any trailing junk on buf
- for (char *it = *buf+(strlen(*buf)-1); it > *buf; it--) {
- if ((*it != 10) && (*it != 13) && (*it != ' ') && (*it != '\t'))
- break;
- else *it = 0;
- }
- }
- else **buf = 0;
- return !len;
-}
-
-
-char *parseVReg(char *buf) {
- char stage = 0;
-
- while (*buf) {
- switch (stage) {
- case 0:
- if (isalpha(*buf))
- stage++;
- break;
- case 1:
- if (isdigit(*buf))
- stage++;
- break;
- case 2:
- if (*buf == ':')
- stage++;
- break;
- case 3:
- if (isdigit(*buf))
- stage++;
- break;
- case 4:
- if (*buf == ' ') {
- *buf = 0;
- return ++buf;
- }
- break;
- }
- buf++;
- }
- return (stage == 4) ? buf : 0; // if we got to stage 4 return after key buf, else return 0;
-}
-
-
-bool isKJVRef(const char *buf) {
- VerseKey2 vk, test;
- vk.AutoNormalize(0);
- vk.Headings(1); // turn on mod/testmnt/book/chap headings
- vk.Persist(1);
- // lets do some tests on the verse --------------
- vk = buf;
- test = buf;
-
- if (vk.Book() && vk.Chapter() && vk.Verse()) { // if we're not a heading
- //std::cerr << (const char*)vk << " == " << (const char*)test << std::endl;
- return (vk == test);
- }
- else return true; // no check if we're a heading... Probably bad.
-}
-
-
-void fixText(char *text) {
- char *to = text;
- while(*text) {
- *to++ = *text++;
- *to++ = *text++;
- if (!*text)
- break;
- if (*text != ' ')
- std::cerr << "problem\n";
- else text++;
- }
- *to = 0;
-}
-
-int main(int argc, char **argv) {
- int iType = 3;
- int iPerBlock = 7;
- int compType = 2;
- SWBuf cipherKey = "";
- SWCompress *compressor = 0;
-
- // Let's test our command line arguments
- if (argc < 2) {
-// fprintf(stderr, "usage: %s <vpl_file> </path/to/mod> [0|1 - file includes prepended verse references]\n", argv[0]);
- fprintf(stderr, "usage: %s <source_vpl_file> </path/to/output/mod/> [0|1 - prepended verse refs] [0|1 - NT only]\n\n", argv[0]);
- fprintf(stderr, "\tWith no verse refs, source file must contain exactly 31102 lines.\n");
- fprintf(stderr, "\tThis is KJV verse count plus headings for MODULE,\n");
- fprintf(stderr, "\tTESTAMENT, BOOK, CHAPTER. An example snippet follows:\n\n");
- fprintf(stderr, "\t\tMODULE HEADER\n");
- fprintf(stderr, "\t\tOLD TESTAMENT HEADER\n");
- fprintf(stderr, "\t\tGENESIS HEADER\n");
- fprintf(stderr, "\t\tCHAPTER 1 HEADER\n");
- fprintf(stderr, "\t\tIn the beginning...\n\n");
- fprintf(stderr, "\t... implying there must also be a CHAPTER2 HEADER,\n");
- fprintf(stderr, "\tEXODUS HEADER, NEW TESTAMENT HEADER, etc. If there is no text for\n");
- fprintf(stderr, "\tthe header, a blank line must, at least, hold place.\n\n");
- fprintf(stderr, "\tWith verse refs, source file must simply contain any number of lines,\n");
- fprintf(stderr, "\tthat begin with the verse reference for which it is an entry. e.g.:\n\n");
- fprintf(stderr, "\t\tgen 1:0 CHAPTER 1 HEADER\n");
- fprintf(stderr, "\t\tgen 1:1 In the beginning...\n\n");
- exit(-1);
- }
-
- // Let's see if we can open our input file
- int fd = FileMgr::openFileReadOnly(argv[1]);
- if (fd < 0) {
- fprintf(stderr, "error: %s: couldn't open input file: %s \n", argv[0], argv[1]);
- exit(-2);
- }
-
- // not used yet, but for future support of a vpl file with each line
- // prepended with verse reference, eg. "Gen 1:1 In the beginning..."
- bool vref = false;
-
- // if 'nt' is the 4th arg, our vpl file only has the NT
- bool ntonly = false;
-
- if (argc > 3) {
- vref = (argv[3][0] == '0') ? false : true;
- if (argc > 4) {
- ntonly = (argv[4][0] == '0') ? false : true;
- if (argc > 5) {
- iType = atoi(argv[5]);
- if (argc > 6) {
- iPerBlock = atoi(argv[6]);
- if (argc > 7) {
- compType = atoi(argv[7]);
- if (argc > 8) {
- cipherKey = argv[8];
- }
- }
- }
- }
- }
- }
-
- // Try to initialize a default set of datafiles and indicies at our
- // datapath location passed to us from the user.
- if (zText2::createModule(argv[2], iType)) {
- fprintf(stderr, "error: %s: couldn't create module at path: %s \n", argv[0], argv[2]);
- exit(-3);
- }
- switch (compType) { // these are deleted by zText
- case 1: compressor = new LZSSCompress(); break;
- case 2: compressor = new ZipCompress(); break;
- }
-
- // Do some initialization stuff
- char *buffer = 0;
- zText2 mod(argv[2], 0, 0, iType, iPerBlock, compressor); // open our datapath with our zText2 driver.
- VerseKey2 vk;
- vk.AutoNormalize(0);
- vk.Headings(1); // turn on mod/testmnt/book/chap headings
- vk.Persist(1);
-
- mod.setKey(vk);
-
- // Loop through module from TOP to BOTTOM and set next line from
- // input file as text for this entry in the module
- mod = TOP;
- if (ntonly) vk = "Matthew 1:1";
-
- int successive = 0; //part of hack below
- while ((!mod.Error()) && (!readline(fd, &buffer))) {
- if (*buffer == '|') // comments, ignore line
- continue;
- if (vref) {
- const char *verseText = parseVReg(buffer);
- if (!verseText) { // if we didn't find a valid verse ref
- std::cerr << "No valid verse ref found on line: " << buffer << "\n";
- exit(-4);
- }
-
- vk = buffer;
- if (vk.Error()) {
- std::cerr << "Error parsing key: " << buffer << "\n";
- exit(-5);
- }
- string orig = mod.getRawEntry();
-
- if (!isKJVRef(buffer)) {
- VerseKey2 origVK = vk;
- /* This block is functioning improperly -- problem with AutoNormalize???
- do {
- vk--;
- }
- while (!vk.Error() && !isKJVRef(vk)); */
- //hack to replace above:
- successive++;
- vk -= successive;
- orig = mod.getRawEntry();
-
- std::cerr << "Not a valid KJV ref: " << origVK << "\n";
- std::cerr << "appending to ref: " << vk << "\n";
- orig += " [ (";
- orig += origVK;
- orig += ") ";
- orig += verseText;
- orig += " ] ";
- verseText = orig.c_str();
- }
- else {
- successive = 0;
- }
-
- if (orig.length() > 1)
- std::cerr << "Warning, overwriting verse: " << vk << std::endl;
-
- // ------------- End verse tests -----------------
- mod << verseText; // save text to module at current position
- }
- else {
- fixText(buffer);
- mod << buffer; // save text to module at current position
- mod++; // increment module position
- }
- }
-
- // clear up our buffer that readline might have allocated
- if (buffer)
- delete [] buffer;
-}
diff --git a/utilities/vs2osisref.cpp b/utilities/vs2osisref.cpp
index 220e743..bdff592 100644
--- a/utilities/vs2osisref.cpp
+++ b/utilities/vs2osisref.cpp
@@ -1,25 +1,23 @@
-// Compression on variable granularity
-#include <fcntl.h>
-#include <iostream>
-#include <fstream>
-
-#ifndef __GNUC__
-#include <io.h>
-#else
-#include <unistd.h>
-#endif
+/*
+ * Copyright 2009 CrossWire Bible Society (http://www.crosswire.org)
+ * CrossWire Bible Society
+ * P. O. Box 2528
+ * Tempe, AZ 85280-2528
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation version 2.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ */
-#include <ztext.h>
-#include <zld.h>
-#include <zcom.h>
-#include <swmgr.h>
-#include <lzsscomprs.h>
-#include <zipcomprs.h>
+#include <iostream>
#include <versekey.h>
-#include <thmlosis.h>
-#include <stdio.h>
-#include <markupfiltmgr.h>
-#include <algorithm>
+#include <localemgr.h>
#ifndef NO_SWORD_NAMESPACE
using namespace sword;
@@ -32,25 +30,20 @@ using std::cout;
int main(int argc, char **argv)
{
if (argc < 2) {
- cerr << argv[0] << " - a tool to convert verse references from English to OSIS\n";
- cerr << "usage: "<< argv[0] << " <verse ref> [verse context]\n";
+ cerr << argv[0] << " - parse verse reference to OSISRef markup\n";
+ cerr << "usage: "<< argv[0] << " <verse ref> [verse context] [locale]\n";
cerr << "\n\n";
exit(-1);
}
- VerseKey verseKey;
- int i = strlen(argv[1]) + 1;
- char * verseString = new char[i];
- strcpy (verseString, argv[1]);
- verseString[i - 1] = 0;
-
- if (argc > 2) {
- verseKey = argv[2];
- }
- else {
- verseKey = "Gen 1:1";
- }
- std::cout << VerseKey::convertToOSIS(verseString, &verseKey) << "\n";
+
+ if (argc > 3) {
+ LocaleMgr::getSystemLocaleMgr()->setDefaultLocaleName(argv[3]);
+ }
+
+ VerseKey verseKey = (argc > 2) ? argv[2] : "Gen 1:1";
+
+ std::cout << VerseKey::convertToOSIS(argv[1], &verseKey) << "\n";
return 0;
}
diff --git a/utilities/vs2osisreftxt.cpp b/utilities/vs2osisreftxt.cpp
new file mode 100644
index 0000000..a62daa0
--- /dev/null
+++ b/utilities/vs2osisreftxt.cpp
@@ -0,0 +1,50 @@
+/*
+ * Copyright 2009 CrossWire Bible Society (http://www.crosswire.org)
+ * CrossWire Bible Society
+ * P. O. Box 2528
+ * Tempe, AZ 85280-2528
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation version 2.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ */
+
+#include <iostream>
+#include <stdio.h>
+
+#include <versekey.h>
+#include <localemgr.h>
+#ifndef NO_SWORD_NAMESPACE
+using namespace sword;
+#endif
+
+int main(int argc, char **argv) {
+ if ((argc < 2) || (argc > 4)) {
+ fprintf(stderr, "usage: %s <\"string to parse\"> [locale_name] [test-in-set-verse]\n", *argv);
+ exit(-1);
+ }
+
+ if (argc > 2)
+ LocaleMgr::getSystemLocaleMgr()->setDefaultLocaleName(argv[2]);
+
+ VerseKey DefaultVSKey;
+
+ DefaultVSKey = "jas3:1";
+
+ ListKey verses = DefaultVSKey.ParseVerseList(argv[1], DefaultVSKey, true);
+
+ std::cout << verses.getOSISRefRangeText() << "\n";
+
+ if (argc > 3) {
+ verses.setText(argv[3]);
+ std::cout << "Verse is" << ((verses.Error()) ? " NOT" : "") << " in set.\n\n";
+ }
+
+ return 0;
+}
diff --git a/utilities/xml2gbs.cpp b/utilities/xml2gbs.cpp
index 45ec256..62a22ab 100644
--- a/utilities/xml2gbs.cpp
+++ b/utilities/xml2gbs.cpp
@@ -1,3 +1,20 @@
+/*
+ * Copyright 2009 CrossWire Bible Society (http://www.crosswire.org)
+ * CrossWire Bible Society
+ * P. O. Box 2528
+ * Tempe, AZ 85280-2528
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation version 2.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ */
+
#include <ctype.h>
#include <stdio.h>
#include <fcntl.h>