From 5b5fd0dce407556f98ed8edee89dc830bf1437b1 Mon Sep 17 00:00:00 2001 From: "Roberto C. Sanchez" Date: Tue, 21 Oct 2014 22:48:17 -0400 Subject: [PATCH] Imported Upstream version 1.6.5.1 --- BibleTime.kdevelop | 247 + ChangeLog | 963 + INSTALL | 244 + INSTALL.in | 244 + LICENSE | 291 + Makefile.am | 80 + Makefile.cvs | 14 + Makefile.in | 953 + README | 36 + README.in | 36 + acinclude.m4 | 12174 ++++++ aclocal.m4 | 910 + admin/Makefile.common | 35 + admin/acinclude.m4.in | 5710 +++ admin/am_edit | 2448 ++ admin/compile | 99 + admin/conf.change.pl | 191 + admin/config.guess | 1449 + admin/config.pl | 236 + admin/config.sub | 1552 + admin/configure.in.bot.end | 30 + admin/configure.in.min | 57 + admin/cvs-clean.pl | 87 + admin/cvs.sh | 662 + admin/debianrules | 43 + admin/depcomp | 441 + admin/detect-autoconf.sh | 59 + admin/install-sh | 276 + admin/libtool.m4.in | 5891 +++ admin/ltmain.sh | 6401 +++ admin/missing | 336 + admin/mkinstalldirs | 111 + admin/nmcheck | 371 + admin/ylwrap | 143 + autogen.sh | 2 + bibletime-1.6.4.dfsg.tar.bz2 | Bin 1245094 -> 0 bytes bibletime.desktop | 26 + bibletime.desktop.in | 26 + bibletime.lsm | 14 + bibletime.lsm.in | 14 + bibletime.m4 | 193 + bibletime.spec | 234 + bibletime.spec.in | 234 + bibletime/Makefile.am | 70 + bibletime/Makefile.in | 993 + bibletime/backend/Makefile.am | 44 + bibletime/backend/Makefile.in | 794 + bibletime/backend/bt_gbfhtml.cpp | 303 + bibletime/backend/bt_gbfhtml.h | 60 + bibletime/backend/bt_osishtml.cpp | 621 + bibletime/backend/bt_osishtml.h | 66 + bibletime/backend/bt_plainhtml.cpp | 92 + bibletime/backend/bt_plainhtml.h | 41 + bibletime/backend/bt_thmlhtml.cpp | 395 + bibletime/backend/bt_thmlhtml.h | 56 + bibletime/backend/bt_thmlplain.cpp | 221 + bibletime/backend/bt_thmlplain.h | 40 + bibletime/backend/btstringmgr.cpp | 145 + bibletime/backend/btstringmgr.h | 57 + bibletime/backend/cbookdisplay.cpp | 144 + bibletime/backend/cbookdisplay.h | 45 + bibletime/backend/cchapterdisplay.cpp | 67 + bibletime/backend/cchapterdisplay.h | 39 + bibletime/backend/cdisplayrendering.cpp | 163 + bibletime/backend/cdisplayrendering.h | 40 + bibletime/backend/cdisplaytemplatemgr.cpp | 191 + bibletime/backend/cdisplaytemplatemgr.h | 100 + bibletime/backend/centrydisplay.cpp | 66 + bibletime/backend/centrydisplay.h | 53 + bibletime/backend/chtmlexportrendering.cpp | 236 + bibletime/backend/chtmlexportrendering.h | 60 + bibletime/backend/clanguagemgr.cpp | 499 + bibletime/backend/clanguagemgr.h | 172 + .../backend/cplaintextexportrendering.cpp | 58 + bibletime/backend/cplaintextexportrendering.h | 42 + bibletime/backend/creferencemanager.cpp | 434 + bibletime/backend/creferencemanager.h | 112 + bibletime/backend/cswordbackend.cpp | 692 + bibletime/backend/cswordbackend.h | 266 + bibletime/backend/cswordbiblemoduleinfo.cpp | 262 + bibletime/backend/cswordbiblemoduleinfo.h | 132 + bibletime/backend/cswordbookmoduleinfo.cpp | 75 + bibletime/backend/cswordbookmoduleinfo.h | 67 + .../backend/cswordcommentarymoduleinfo.cpp | 36 + .../backend/cswordcommentarymoduleinfo.h | 45 + bibletime/backend/cswordkey.cpp | 193 + bibletime/backend/cswordkey.h | 121 + bibletime/backend/cswordldkey.cpp | 130 + bibletime/backend/cswordldkey.h | 110 + bibletime/backend/cswordlexiconmoduleinfo.cpp | 183 + bibletime/backend/cswordlexiconmoduleinfo.h | 73 + bibletime/backend/cswordmoduleinfo.cpp | 888 + bibletime/backend/cswordmoduleinfo.h | 373 + bibletime/backend/cswordmodulesearch.cpp | 120 + bibletime/backend/cswordmodulesearch.h | 99 + bibletime/backend/cswordtreekey.cpp | 99 + bibletime/backend/cswordtreekey.h | 74 + bibletime/backend/cswordversekey.cpp | 306 + bibletime/backend/cswordversekey.h | 122 + bibletime/backend/ctextrendering.cpp | 278 + bibletime/backend/ctextrendering.h | 147 + bibletime/backend/osismorphsegmentation.cpp | 92 + bibletime/backend/osismorphsegmentation.h | 48 + bibletime/bibletime.cpp | 329 + bibletime/bibletime.h | 421 + bibletime/bibletime_dcop.cpp | 220 + bibletime/bibletime_init.cpp | 609 + bibletime/bibletime_slots.cpp | 570 + bibletime/bibletimeapp.cpp | 46 + bibletime/bibletimeapp.h | 33 + bibletime/bibletimeinterface.h | 111 + bibletime/bibletimeinterface_skel.cpp | 188 + bibletime/display-templates/Blue.tmpl | 349 + bibletime/display-templates/Crazy.tmpl | 326 + bibletime/display-templates/Green.tmpl | 328 + bibletime/display-templates/HighContrast.tmpl | 339 + bibletime/display-templates/Makefile.am | 13 + bibletime/display-templates/Makefile.in | 573 + bibletime/display-templates/Simple.tmpl | 134 + .../display-templates/basic_template.txt | 203 + bibletime/display-templates/create_code.pl | 79 + bibletime/display-templates/names.conf | 5 + bibletime/display-templates/template-init.cpp | 1484 + bibletime/frontend/Makefile.am | 35 + bibletime/frontend/Makefile.in | 1024 + bibletime/frontend/btinstallmgr.cpp | 318 + bibletime/frontend/btinstallmgr.h | 103 + bibletime/frontend/cbtconfig.cpp | 677 + bibletime/frontend/cbtconfig.h | 193 + bibletime/frontend/cdragdropmgr.cpp | 256 + bibletime/frontend/cdragdropmgr.h | 155 + bibletime/frontend/cexportmanager.cpp | 543 + bibletime/frontend/cexportmanager.h | 100 + bibletime/frontend/cinfodisplay.cpp | 462 + bibletime/frontend/cinfodisplay.h | 72 + bibletime/frontend/cinputdialog.cpp | 94 + bibletime/frontend/cinputdialog.h | 43 + bibletime/frontend/cmanageindiceswidget.cpp | 193 + bibletime/frontend/cmanageindiceswidget.h | 77 + bibletime/frontend/cmdiarea.cpp | 358 + bibletime/frontend/cmdiarea.h | 143 + bibletime/frontend/cmoduleindexdialog.cpp | 98 + bibletime/frontend/cmoduleindexdialog.h | 55 + bibletime/frontend/coptionsdialog.cpp | 1044 + bibletime/frontend/coptionsdialog.h | 214 + bibletime/frontend/cprinter.cpp | 130 + bibletime/frontend/cprinter.h | 56 + bibletime/frontend/cprofile.cpp | 397 + bibletime/frontend/cprofile.h | 102 + bibletime/frontend/cprofilemgr.cpp | 124 + bibletime/frontend/cprofilemgr.h | 69 + bibletime/frontend/cprofilewindow.cpp | 125 + bibletime/frontend/cprofilewindow.h | 126 + bibletime/frontend/crossrefrendering.cpp | 88 + bibletime/frontend/crossrefrendering.h | 36 + bibletime/frontend/cswordsetupdialog.cpp | 918 + bibletime/frontend/cswordsetupdialog.h | 150 + .../cswordsetupinstallsourcesdialog.cpp | 172 + .../cswordsetupinstallsourcesdialog.h | 34 + .../frontend/cswordsetupmodulelistview.cpp | 288 + .../frontend/cswordsetupmodulelistview.h | 67 + bibletime/frontend/display/Makefile.am | 24 + bibletime/frontend/display/Makefile.in | 754 + bibletime/frontend/display/cdisplay.cpp | 216 + bibletime/frontend/display/cdisplay.h | 189 + .../frontend/display/chtmlreaddisplay.cpp | 507 + bibletime/frontend/display/chtmlreaddisplay.h | 144 + .../frontend/display/chtmlwritedisplay.cpp | 266 + .../frontend/display/chtmlwritedisplay.h | 104 + .../frontend/display/cplainwritedisplay.cpp | 157 + .../frontend/display/cplainwritedisplay.h | 94 + bibletime/frontend/display/creaddisplay.cpp | 115 + bibletime/frontend/display/creaddisplay.h | 71 + bibletime/frontend/display/cwritedisplay.cpp | 23 + bibletime/frontend/display/cwritedisplay.h | 50 + bibletime/frontend/displaywindow/Makefile.am | 36 + bibletime/frontend/displaywindow/Makefile.in | 843 + .../displaywindow/cbiblereadwindow.cpp | 458 + .../frontend/displaywindow/cbiblereadwindow.h | 141 + .../displaywindow/cbookreadwindow.cpp | 176 + .../frontend/displaywindow/cbookreadwindow.h | 69 + bibletime/frontend/displaywindow/cbuttons.cpp | 218 + bibletime/frontend/displaywindow/cbuttons.h | 101 + .../displaywindow/ccommentaryreadwindow.cpp | 198 + .../displaywindow/ccommentaryreadwindow.h | 67 + .../frontend/displaywindow/cdisplaywindow.cpp | 498 + .../frontend/displaywindow/cdisplaywindow.h | 275 + .../displaywindow/chtmlwritewindow.cpp | 132 + .../frontend/displaywindow/chtmlwritewindow.h | 74 + .../displaywindow/clexiconreadwindow.cpp | 317 + .../displaywindow/clexiconreadwindow.h | 117 + .../displaywindow/cmodulechooserbar.cpp | 152 + .../displaywindow/cmodulechooserbar.h | 79 + .../displaywindow/cmodulechooserbutton.cpp | 276 + .../displaywindow/cmodulechooserbutton.h | 77 + .../displaywindow/cplainwritewindow.cpp | 176 + .../displaywindow/cplainwritewindow.h | 97 + .../frontend/displaywindow/creadwindow.cpp | 195 + .../frontend/displaywindow/creadwindow.h | 74 + .../frontend/displaywindow/cwritewindow.cpp | 176 + .../frontend/displaywindow/cwritewindow.h | 79 + bibletime/frontend/keychooser/Makefile.am | 28 + bibletime/frontend/keychooser/Makefile.in | 815 + .../frontend/keychooser/cbiblekeychooser.cpp | 113 + .../frontend/keychooser/cbiblekeychooser.h | 73 + .../frontend/keychooser/cbookkeychooser.cpp | 288 + .../frontend/keychooser/cbookkeychooser.h | 99 + .../frontend/keychooser/cbooktreechooser.cpp | 321 + .../frontend/keychooser/cbooktreechooser.h | 112 + bibletime/frontend/keychooser/ckeychooser.cpp | 149 + bibletime/frontend/keychooser/ckeychooser.h | 114 + .../frontend/keychooser/ckeychooserwidget.cpp | 303 + .../frontend/keychooser/ckeychooserwidget.h | 179 + .../keychooser/ckeyreferencewidget.cpp | 210 + .../frontend/keychooser/ckeyreferencewidget.h | 89 + .../keychooser/clexiconkeychooser.cpp | 176 + .../frontend/keychooser/clexiconkeychooser.h | 79 + .../frontend/keychooser/crefselectdialog.cpp | 100 + .../frontend/keychooser/crefselectdialog.h | 56 + .../frontend/keychooser/cscrollbutton.cpp | 101 + bibletime/frontend/keychooser/cscrollbutton.h | 86 + .../keychooser/cscrollerwidgetset.cpp | 78 + .../frontend/keychooser/cscrollerwidgetset.h | 72 + bibletime/frontend/kstartuplogo.cpp | 115 + bibletime/frontend/kstartuplogo.h | 66 + bibletime/frontend/mainindex/Makefile.am | 18 + bibletime/frontend/mainindex/Makefile.in | 724 + bibletime/frontend/mainindex/cindexitem.cpp | 1228 + bibletime/frontend/mainindex/cindexitem.h | 390 + bibletime/frontend/mainindex/cmainindex.cpp | 869 + bibletime/frontend/mainindex/cmainindex.h | 232 + bibletime/frontend/manageindicesform.cpp | 82 + bibletime/frontend/manageindicesform.ui | 114 + bibletime/frontend/searchdialog/Makefile.am | 28 + bibletime/frontend/searchdialog/Makefile.in | 842 + .../frontend/searchdialog/cmodulechooser.cpp | 303 + .../frontend/searchdialog/cmodulechooser.h | 117 + .../searchdialog/cmoduleresultview.cpp | 269 + .../frontend/searchdialog/cmoduleresultview.h | 135 + .../frontend/searchdialog/crangechooser.cpp | 287 + .../frontend/searchdialog/crangechooser.h | 106 + .../frontend/searchdialog/csearchanalysis.cpp | 587 + .../frontend/searchdialog/csearchanalysis.h | 222 + .../frontend/searchdialog/csearchdialog.cpp | 263 + .../frontend/searchdialog/csearchdialog.h | 138 + .../searchdialog/csearchdialogpages.cpp | 784 + .../searchdialog/csearchdialogpages.h | 292 + .../searchdialog/csearchresultview.cpp | 271 + .../frontend/searchdialog/csearchresultview.h | 112 + .../searchdialog/searchoptionsform.cpp | 119 + .../searchdialog/searchoptionsform.ui | 199 + .../searchdialog/searchresultsform.cpp | 88 + .../searchdialog/searchresultsform.ui | 196 + bibletime/frontend/util/Makefile.am | 16 + bibletime/frontend/util/Makefile.in | 694 + bibletime/frontend/util/csortlistviewitem.cpp | 84 + bibletime/frontend/util/csortlistviewitem.h | 58 + bibletime/main.cpp | 311 + bibletime/pics/16x16/Makefile.am | 7 + bibletime/pics/16x16/Makefile.in | 622 + bibletime/pics/16x16/hi16-action-bt_bible.png | Bin 0 -> 821 bytes .../pics/16x16/hi16-action-bt_bible_add.png | Bin 0 -> 892 bytes .../16x16/hi16-action-bt_bible_locked.png | Bin 0 -> 866 bytes bibletime/pics/16x16/hi16-action-bt_book.png | Bin 0 -> 717 bytes .../pics/16x16/hi16-action-bt_book_add.png | Bin 0 -> 845 bytes .../pics/16x16/hi16-action-bt_book_locked.png | Bin 0 -> 827 bytes .../pics/16x16/hi16-action-bt_cascade.png | Bin 0 -> 670 bytes .../16x16/hi16-action-bt_cascade_auto.png | Bin 0 -> 815 bytes .../pics/16x16/hi16-action-bt_commentary.png | Bin 0 -> 812 bytes .../16x16/hi16-action-bt_commentary_add.png | Bin 0 -> 890 bytes .../hi16-action-bt_commentary_locked.png | Bin 0 -> 874 bytes .../16x16/hi16-action-bt_displayconfig.png | Bin 0 -> 877 bytes .../16x16/hi16-action-bt_displaytranslit.png | Bin 0 -> 749 bytes .../pics/16x16/hi16-action-bt_findstrongs.png | Bin 0 -> 772 bytes .../pics/16x16/hi16-action-bt_lexicon.png | Bin 0 -> 776 bytes .../pics/16x16/hi16-action-bt_lexicon_add.png | Bin 0 -> 907 bytes .../16x16/hi16-action-bt_lexicon_locked.png | Bin 0 -> 864 bytes .../pics/16x16/hi16-action-bt_startconfig.png | Bin 0 -> 916 bytes .../pics/16x16/hi16-action-bt_swordconfig.png | Bin 0 -> 837 bytes bibletime/pics/16x16/hi16-action-bt_sync.png | Bin 0 -> 896 bytes bibletime/pics/16x16/hi16-action-bt_tile.png | Bin 0 -> 590 bytes .../pics/16x16/hi16-action-bt_tile_auto.png | Bin 0 -> 739 bytes bibletime/pics/16x16/hi16-app-bibletime.png | Bin 0 -> 907 bytes bibletime/pics/22x22/Makefile.am | 7 + bibletime/pics/22x22/Makefile.in | 624 + bibletime/pics/22x22/hi22-action-bt_bible.png | Bin 0 -> 1162 bytes .../pics/22x22/hi22-action-bt_bible_add.png | Bin 0 -> 1343 bytes .../22x22/hi22-action-bt_bible_locked.png | Bin 0 -> 1273 bytes bibletime/pics/22x22/hi22-action-bt_book.png | Bin 0 -> 1007 bytes .../pics/22x22/hi22-action-bt_book_add.png | Bin 0 -> 1247 bytes .../pics/22x22/hi22-action-bt_book_locked.png | Bin 0 -> 1188 bytes .../pics/22x22/hi22-action-bt_cascade.png | Bin 0 -> 838 bytes .../22x22/hi22-action-bt_cascade_auto.png | Bin 0 -> 1113 bytes .../pics/22x22/hi22-action-bt_commentary.png | Bin 0 -> 1192 bytes .../22x22/hi22-action-bt_commentary_add.png | Bin 0 -> 1340 bytes .../hi22-action-bt_commentary_locked.png | Bin 0 -> 1288 bytes .../22x22/hi22-action-bt_displayconfig.png | Bin 0 -> 1349 bytes .../22x22/hi22-action-bt_displaytranslit.png | Bin 0 -> 1098 bytes .../pics/22x22/hi22-action-bt_findstrongs.png | Bin 0 -> 1284 bytes .../pics/22x22/hi22-action-bt_lexicon.png | Bin 0 -> 1122 bytes .../pics/22x22/hi22-action-bt_lexicon_add.png | Bin 0 -> 1342 bytes .../22x22/hi22-action-bt_lexicon_locked.png | Bin 0 -> 1290 bytes .../pics/22x22/hi22-action-bt_parallel.png | Bin 0 -> 454 bytes .../pics/22x22/hi22-action-bt_startconfig.png | Bin 0 -> 1385 bytes .../pics/22x22/hi22-action-bt_swordconfig.png | Bin 0 -> 1247 bytes bibletime/pics/22x22/hi22-action-bt_sync.png | Bin 0 -> 1457 bytes bibletime/pics/22x22/hi22-action-bt_tile.png | Bin 0 -> 783 bytes .../pics/22x22/hi22-action-bt_tile_auto.png | Bin 0 -> 1055 bytes bibletime/pics/22x22/hi22-app-bibletime.png | Bin 0 -> 1336 bytes bibletime/pics/32x32/Makefile.am | 7 + bibletime/pics/32x32/Makefile.in | 622 + bibletime/pics/32x32/hi32-action-bt_bible.png | Bin 0 -> 1875 bytes .../pics/32x32/hi32-action-bt_bible_add.png | Bin 0 -> 2201 bytes .../32x32/hi32-action-bt_bible_locked.png | Bin 0 -> 2060 bytes bibletime/pics/32x32/hi32-action-bt_book.png | Bin 0 -> 1586 bytes .../pics/32x32/hi32-action-bt_book_add.png | Bin 0 -> 2044 bytes .../pics/32x32/hi32-action-bt_book_locked.png | Bin 0 -> 1941 bytes .../pics/32x32/hi32-action-bt_cascade.png | Bin 0 -> 1233 bytes .../32x32/hi32-action-bt_cascade_auto.png | Bin 0 -> 1745 bytes .../pics/32x32/hi32-action-bt_commentary.png | Bin 0 -> 1915 bytes .../32x32/hi32-action-bt_commentary_add.png | Bin 0 -> 2226 bytes .../hi32-action-bt_commentary_locked.png | Bin 0 -> 2139 bytes .../32x32/hi32-action-bt_displayconfig.png | Bin 0 -> 2278 bytes .../32x32/hi32-action-bt_displaytranslit.png | Bin 0 -> 1731 bytes .../pics/32x32/hi32-action-bt_findstrongs.png | Bin 0 -> 1925 bytes .../pics/32x32/hi32-action-bt_lexicon.png | Bin 0 -> 1833 bytes .../pics/32x32/hi32-action-bt_lexicon_add.png | Bin 0 -> 2257 bytes .../32x32/hi32-action-bt_lexicon_locked.png | Bin 0 -> 2145 bytes .../pics/32x32/hi32-action-bt_startconfig.png | Bin 0 -> 2337 bytes .../pics/32x32/hi32-action-bt_swordconfig.png | Bin 0 -> 2067 bytes bibletime/pics/32x32/hi32-action-bt_sync.png | Bin 0 -> 2247 bytes bibletime/pics/32x32/hi32-action-bt_tile.png | Bin 0 -> 1108 bytes .../pics/32x32/hi32-action-bt_tile_auto.png | Bin 0 -> 1615 bytes bibletime/pics/32x32/hi32-app-bibletime.png | Bin 0 -> 2259 bytes bibletime/pics/48x48/Makefile.am | 7 + bibletime/pics/48x48/Makefile.in | 620 + bibletime/pics/48x48/hi48-action-bt_bible.png | Bin 0 -> 3241 bytes .../pics/48x48/hi48-action-bt_bible_add.png | Bin 0 -> 3798 bytes .../48x48/hi48-action-bt_bible_locked.png | Bin 0 -> 3591 bytes bibletime/pics/48x48/hi48-action-bt_book.png | Bin 0 -> 2651 bytes .../pics/48x48/hi48-action-bt_book_add.png | Bin 0 -> 3420 bytes .../pics/48x48/hi48-action-bt_book_locked.png | Bin 0 -> 3275 bytes .../pics/48x48/hi48-action-bt_cascade.png | Bin 0 -> 1654 bytes .../48x48/hi48-action-bt_cascade_auto.png | Bin 0 -> 2628 bytes .../pics/48x48/hi48-action-bt_commentary.png | Bin 0 -> 3365 bytes .../48x48/hi48-action-bt_commentary_add.png | Bin 0 -> 3904 bytes .../hi48-action-bt_commentary_locked.png | Bin 0 -> 3775 bytes .../48x48/hi48-action-bt_displayconfig.png | Bin 0 -> 4063 bytes .../48x48/hi48-action-bt_displaytranslit.png | Bin 0 -> 2850 bytes .../pics/48x48/hi48-action-bt_lexicon.png | Bin 0 -> 3197 bytes .../pics/48x48/hi48-action-bt_lexicon_add.png | Bin 0 -> 3857 bytes .../48x48/hi48-action-bt_lexicon_locked.png | Bin 0 -> 3715 bytes .../pics/48x48/hi48-action-bt_startconfig.png | Bin 0 -> 4157 bytes .../pics/48x48/hi48-action-bt_swordconfig.png | Bin 0 -> 3623 bytes bibletime/pics/48x48/hi48-action-bt_sync.png | Bin 0 -> 3962 bytes bibletime/pics/48x48/hi48-action-bt_tile.png | Bin 0 -> 1603 bytes .../pics/48x48/hi48-action-bt_tile_auto.png | Bin 0 -> 2572 bytes bibletime/pics/48x48/hi48-app-bibletime.png | Bin 0 -> 3979 bytes bibletime/pics/64x64/Makefile.am | 7 + bibletime/pics/64x64/Makefile.in | 577 + bibletime/pics/64x64/hi64-app-bibletime.png | Bin 0 -> 6060 bytes bibletime/pics/Makefile.am | 29 + bibletime/pics/Makefile.in | 749 + bibletime/pics/startuplogo.png | Bin 0 -> 27328 bytes bibletime/util/Makefile.am | 16 + bibletime/util/Makefile.in | 720 + bibletime/util/autoptrvector.h | 176 + bibletime/util/cpointers.cpp | 58 + bibletime/util/cpointers.h | 120 + bibletime/util/cresmgr.cpp | 1198 + bibletime/util/cresmgr.h | 733 + bibletime/util/ctoolclass.cpp | 239 + bibletime/util/ctoolclass.h | 80 + bibletime/util/directoryutil.cpp | 111 + bibletime/util/directoryutil.h | 55 + bibletime/util/scoped_resource.h | 181 + bibletime/xml/Makefile.am | 3 + bibletime/xml/Makefile.in | 594 + bibletime/xml/bibletimeui.rc | 70 + clucene.m4 | 153 + config.h.in | 243 + configure | 35153 ++++++++++++++++ configure.in | 131 + configure.in.in | 68 + docs/Makefile.am | 10 + docs/Makefile.in | 763 + docs/bibletime.1 | 109 + docs/bibletime.de.1 | 109 + docs/handbook/Makefile.am | 17 + docs/handbook/Makefile.in | 740 + docs/handbook/html/Makefile.am | 127 + docs/handbook/html/Makefile.in | 681 + docs/handbook/html/i_bible.png | Bin 0 -> 1875 bytes docs/handbook/html/i_bible_add.png | Bin 0 -> 2201 bytes docs/handbook/html/i_bibletime.png | Bin 0 -> 2259 bytes docs/handbook/html/i_book.png | Bin 0 -> 1586 bytes docs/handbook/html/i_book_add.png | Bin 0 -> 2044 bytes docs/handbook/html/i_cascade.png | Bin 0 -> 1233 bytes docs/handbook/html/i_cascade_auto.png | Bin 0 -> 1745 bytes docs/handbook/html/i_commentary.png | Bin 0 -> 1915 bytes docs/handbook/html/i_commentary_add.png | Bin 0 -> 2226 bytes docs/handbook/html/i_configure.png | Bin 0 -> 1839 bytes docs/handbook/html/i_configureaccels.png | Bin 0 -> 1605 bytes docs/handbook/html/i_configuredisplay.png | Bin 0 -> 2278 bytes docs/handbook/html/i_configurefonts.png | Bin 0 -> 2223 bytes docs/handbook/html/i_configurestart.png | Bin 0 -> 2337 bytes docs/handbook/html/i_configuresword.png | Bin 0 -> 2067 bytes docs/handbook/html/i_configuretoolbars.png | Bin 0 -> 1160 bytes docs/handbook/html/i_contents.png | Bin 0 -> 2467 bytes docs/handbook/html/i_delete.png | Bin 0 -> 1784 bytes docs/handbook/html/i_editdelete.png | Bin 0 -> 1368 bytes docs/handbook/html/i_exit.png | Bin 0 -> 1610 bytes docs/handbook/html/i_fileclose.png | Bin 0 -> 1594 bytes docs/handbook/html/i_fileprint.png | Bin 0 -> 1331 bytes docs/handbook/html/i_find.png | Bin 0 -> 2396 bytes docs/handbook/html/i_fullscreen.png | Bin 0 -> 1198 bytes docs/handbook/html/i_go.png | Bin 0 -> 3518 bytes docs/handbook/html/i_ktip.png | Bin 0 -> 1665 bytes docs/handbook/html/i_lexicon.png | Bin 0 -> 1833 bytes docs/handbook/html/i_lexicon_add.png | Bin 0 -> 2257 bytes docs/handbook/html/i_pencil.png | Bin 0 -> 361 bytes docs/handbook/html/i_sidetree.png | Bin 0 -> 930 bytes docs/handbook/html/i_sync.png | Bin 0 -> 2247 bytes docs/handbook/html/i_tile.png | Bin 0 -> 1108 bytes docs/handbook/html/i_tile_auto.png | Bin 0 -> 1615 bytes docs/handbook/html/ss_configfonts.png | Bin 0 -> 41575 bytes docs/handbook/html/ss_configtoolbar.png | Bin 0 -> 34080 bytes docs/handbook/html/ss_mainterms.png | Bin 0 -> 88580 bytes docs/handbook/html/ss_searchanal.png | Bin 0 -> 17886 bytes docs/handbook/html/ss_searchopts.png | Bin 0 -> 69926 bytes docs/handbook/unicode/Makefile.am | 31 + docs/handbook/unicode/Makefile.in | 585 + docs/handbook/unicode/hdbk-config.docbook | 182 + docs/handbook/unicode/hdbk-intro.docbook | 93 + docs/handbook/unicode/hdbk-operation.docbook | 260 + docs/handbook/unicode/hdbk-reference.docbook | 480 + docs/handbook/unicode/hdbk-start.docbook | 93 + docs/handbook/unicode/index.docbook | 89 + docs/howto/Makefile.am | 17 + docs/howto/Makefile.in | 740 + docs/howto/html/Makefile.am | 13 + docs/howto/html/Makefile.in | 567 + docs/howto/unicode/Makefile.am | 25 + docs/howto/unicode/Makefile.in | 579 + docs/howto/unicode/how2-basics.docbook | 198 + docs/howto/unicode/how2-importance.docbook | 311 + .../howto/unicode/how2-interpretation.docbook | 212 + docs/howto/unicode/index.docbook | 86 + docs/ksgmltools-bug-read-me.txt | 36 + docs/tips | 165 + pot/Makefile.am | 30 + pot/Makefile.in | 588 + pot/extractrc | 74 + pot/handbook.pot | 2413 ++ pot/howto.pot | 1924 + pot/messages.pot | 2823 ++ pot/preparetips | 45 + sword.m4 | 227 + 458 files changed, 151849 insertions(+) create mode 100644 BibleTime.kdevelop create mode 100644 ChangeLog create mode 100644 INSTALL create mode 100644 INSTALL.in create mode 100644 LICENSE create mode 100644 Makefile.am create mode 100644 Makefile.cvs create mode 100644 Makefile.in create mode 100644 README create mode 100644 README.in create mode 100644 acinclude.m4 create mode 100644 aclocal.m4 create mode 100644 admin/Makefile.common create mode 100644 admin/acinclude.m4.in create mode 100644 admin/am_edit create mode 100755 admin/compile create mode 100644 admin/conf.change.pl create mode 100755 admin/config.guess create mode 100644 admin/config.pl create mode 100755 admin/config.sub create mode 100644 admin/configure.in.bot.end create mode 100644 admin/configure.in.min create mode 100644 admin/cvs-clean.pl create mode 100644 admin/cvs.sh create mode 100755 admin/debianrules create mode 100755 admin/depcomp create mode 100644 admin/detect-autoconf.sh create mode 100755 admin/install-sh create mode 100644 admin/libtool.m4.in create mode 100644 admin/ltmain.sh create mode 100755 admin/missing create mode 100755 admin/mkinstalldirs create mode 100755 admin/nmcheck create mode 100755 admin/ylwrap create mode 100755 autogen.sh delete mode 100644 bibletime-1.6.4.dfsg.tar.bz2 create mode 100644 bibletime.desktop create mode 100644 bibletime.desktop.in create mode 100644 bibletime.lsm create mode 100644 bibletime.lsm.in create mode 100644 bibletime.m4 create mode 100644 bibletime.spec create mode 100644 bibletime.spec.in create mode 100644 bibletime/Makefile.am create mode 100644 bibletime/Makefile.in create mode 100644 bibletime/backend/Makefile.am create mode 100644 bibletime/backend/Makefile.in create mode 100644 bibletime/backend/bt_gbfhtml.cpp create mode 100644 bibletime/backend/bt_gbfhtml.h create mode 100644 bibletime/backend/bt_osishtml.cpp create mode 100644 bibletime/backend/bt_osishtml.h create mode 100644 bibletime/backend/bt_plainhtml.cpp create mode 100644 bibletime/backend/bt_plainhtml.h create mode 100644 bibletime/backend/bt_thmlhtml.cpp create mode 100644 bibletime/backend/bt_thmlhtml.h create mode 100644 bibletime/backend/bt_thmlplain.cpp create mode 100644 bibletime/backend/bt_thmlplain.h create mode 100644 bibletime/backend/btstringmgr.cpp create mode 100644 bibletime/backend/btstringmgr.h create mode 100644 bibletime/backend/cbookdisplay.cpp create mode 100644 bibletime/backend/cbookdisplay.h create mode 100644 bibletime/backend/cchapterdisplay.cpp create mode 100644 bibletime/backend/cchapterdisplay.h create mode 100644 bibletime/backend/cdisplayrendering.cpp create mode 100644 bibletime/backend/cdisplayrendering.h create mode 100644 bibletime/backend/cdisplaytemplatemgr.cpp create mode 100644 bibletime/backend/cdisplaytemplatemgr.h create mode 100644 bibletime/backend/centrydisplay.cpp create mode 100644 bibletime/backend/centrydisplay.h create mode 100644 bibletime/backend/chtmlexportrendering.cpp create mode 100644 bibletime/backend/chtmlexportrendering.h create mode 100644 bibletime/backend/clanguagemgr.cpp create mode 100644 bibletime/backend/clanguagemgr.h create mode 100644 bibletime/backend/cplaintextexportrendering.cpp create mode 100644 bibletime/backend/cplaintextexportrendering.h create mode 100644 bibletime/backend/creferencemanager.cpp create mode 100644 bibletime/backend/creferencemanager.h create mode 100644 bibletime/backend/cswordbackend.cpp create mode 100644 bibletime/backend/cswordbackend.h create mode 100644 bibletime/backend/cswordbiblemoduleinfo.cpp create mode 100644 bibletime/backend/cswordbiblemoduleinfo.h create mode 100644 bibletime/backend/cswordbookmoduleinfo.cpp create mode 100644 bibletime/backend/cswordbookmoduleinfo.h create mode 100644 bibletime/backend/cswordcommentarymoduleinfo.cpp create mode 100644 bibletime/backend/cswordcommentarymoduleinfo.h create mode 100644 bibletime/backend/cswordkey.cpp create mode 100644 bibletime/backend/cswordkey.h create mode 100644 bibletime/backend/cswordldkey.cpp create mode 100644 bibletime/backend/cswordldkey.h create mode 100644 bibletime/backend/cswordlexiconmoduleinfo.cpp create mode 100644 bibletime/backend/cswordlexiconmoduleinfo.h create mode 100644 bibletime/backend/cswordmoduleinfo.cpp create mode 100644 bibletime/backend/cswordmoduleinfo.h create mode 100644 bibletime/backend/cswordmodulesearch.cpp create mode 100644 bibletime/backend/cswordmodulesearch.h create mode 100644 bibletime/backend/cswordtreekey.cpp create mode 100644 bibletime/backend/cswordtreekey.h create mode 100644 bibletime/backend/cswordversekey.cpp create mode 100644 bibletime/backend/cswordversekey.h create mode 100644 bibletime/backend/ctextrendering.cpp create mode 100644 bibletime/backend/ctextrendering.h create mode 100644 bibletime/backend/osismorphsegmentation.cpp create mode 100644 bibletime/backend/osismorphsegmentation.h create mode 100644 bibletime/bibletime.cpp create mode 100644 bibletime/bibletime.h create mode 100644 bibletime/bibletime_dcop.cpp create mode 100644 bibletime/bibletime_init.cpp create mode 100644 bibletime/bibletime_slots.cpp create mode 100644 bibletime/bibletimeapp.cpp create mode 100644 bibletime/bibletimeapp.h create mode 100644 bibletime/bibletimeinterface.h create mode 100644 bibletime/bibletimeinterface_skel.cpp create mode 100644 bibletime/display-templates/Blue.tmpl create mode 100644 bibletime/display-templates/Crazy.tmpl create mode 100644 bibletime/display-templates/Green.tmpl create mode 100644 bibletime/display-templates/HighContrast.tmpl create mode 100644 bibletime/display-templates/Makefile.am create mode 100644 bibletime/display-templates/Makefile.in create mode 100644 bibletime/display-templates/Simple.tmpl create mode 100644 bibletime/display-templates/basic_template.txt create mode 100755 bibletime/display-templates/create_code.pl create mode 100644 bibletime/display-templates/names.conf create mode 100644 bibletime/display-templates/template-init.cpp create mode 100644 bibletime/frontend/Makefile.am create mode 100644 bibletime/frontend/Makefile.in create mode 100644 bibletime/frontend/btinstallmgr.cpp create mode 100644 bibletime/frontend/btinstallmgr.h create mode 100644 bibletime/frontend/cbtconfig.cpp create mode 100644 bibletime/frontend/cbtconfig.h create mode 100644 bibletime/frontend/cdragdropmgr.cpp create mode 100644 bibletime/frontend/cdragdropmgr.h create mode 100644 bibletime/frontend/cexportmanager.cpp create mode 100644 bibletime/frontend/cexportmanager.h create mode 100644 bibletime/frontend/cinfodisplay.cpp create mode 100644 bibletime/frontend/cinfodisplay.h create mode 100644 bibletime/frontend/cinputdialog.cpp create mode 100644 bibletime/frontend/cinputdialog.h create mode 100644 bibletime/frontend/cmanageindiceswidget.cpp create mode 100644 bibletime/frontend/cmanageindiceswidget.h create mode 100644 bibletime/frontend/cmdiarea.cpp create mode 100644 bibletime/frontend/cmdiarea.h create mode 100644 bibletime/frontend/cmoduleindexdialog.cpp create mode 100644 bibletime/frontend/cmoduleindexdialog.h create mode 100644 bibletime/frontend/coptionsdialog.cpp create mode 100644 bibletime/frontend/coptionsdialog.h create mode 100644 bibletime/frontend/cprinter.cpp create mode 100644 bibletime/frontend/cprinter.h create mode 100644 bibletime/frontend/cprofile.cpp create mode 100644 bibletime/frontend/cprofile.h create mode 100644 bibletime/frontend/cprofilemgr.cpp create mode 100644 bibletime/frontend/cprofilemgr.h create mode 100644 bibletime/frontend/cprofilewindow.cpp create mode 100644 bibletime/frontend/cprofilewindow.h create mode 100644 bibletime/frontend/crossrefrendering.cpp create mode 100644 bibletime/frontend/crossrefrendering.h create mode 100644 bibletime/frontend/cswordsetupdialog.cpp create mode 100644 bibletime/frontend/cswordsetupdialog.h create mode 100644 bibletime/frontend/cswordsetupinstallsourcesdialog.cpp create mode 100644 bibletime/frontend/cswordsetupinstallsourcesdialog.h create mode 100644 bibletime/frontend/cswordsetupmodulelistview.cpp create mode 100644 bibletime/frontend/cswordsetupmodulelistview.h create mode 100644 bibletime/frontend/display/Makefile.am create mode 100644 bibletime/frontend/display/Makefile.in create mode 100644 bibletime/frontend/display/cdisplay.cpp create mode 100644 bibletime/frontend/display/cdisplay.h create mode 100644 bibletime/frontend/display/chtmlreaddisplay.cpp create mode 100644 bibletime/frontend/display/chtmlreaddisplay.h create mode 100644 bibletime/frontend/display/chtmlwritedisplay.cpp create mode 100644 bibletime/frontend/display/chtmlwritedisplay.h create mode 100644 bibletime/frontend/display/cplainwritedisplay.cpp create mode 100644 bibletime/frontend/display/cplainwritedisplay.h create mode 100644 bibletime/frontend/display/creaddisplay.cpp create mode 100644 bibletime/frontend/display/creaddisplay.h create mode 100644 bibletime/frontend/display/cwritedisplay.cpp create mode 100644 bibletime/frontend/display/cwritedisplay.h create mode 100644 bibletime/frontend/displaywindow/Makefile.am create mode 100644 bibletime/frontend/displaywindow/Makefile.in create mode 100644 bibletime/frontend/displaywindow/cbiblereadwindow.cpp create mode 100644 bibletime/frontend/displaywindow/cbiblereadwindow.h create mode 100644 bibletime/frontend/displaywindow/cbookreadwindow.cpp create mode 100644 bibletime/frontend/displaywindow/cbookreadwindow.h create mode 100644 bibletime/frontend/displaywindow/cbuttons.cpp create mode 100644 bibletime/frontend/displaywindow/cbuttons.h create mode 100644 bibletime/frontend/displaywindow/ccommentaryreadwindow.cpp create mode 100644 bibletime/frontend/displaywindow/ccommentaryreadwindow.h create mode 100644 bibletime/frontend/displaywindow/cdisplaywindow.cpp create mode 100644 bibletime/frontend/displaywindow/cdisplaywindow.h create mode 100644 bibletime/frontend/displaywindow/chtmlwritewindow.cpp create mode 100644 bibletime/frontend/displaywindow/chtmlwritewindow.h create mode 100644 bibletime/frontend/displaywindow/clexiconreadwindow.cpp create mode 100644 bibletime/frontend/displaywindow/clexiconreadwindow.h create mode 100644 bibletime/frontend/displaywindow/cmodulechooserbar.cpp create mode 100644 bibletime/frontend/displaywindow/cmodulechooserbar.h create mode 100644 bibletime/frontend/displaywindow/cmodulechooserbutton.cpp create mode 100644 bibletime/frontend/displaywindow/cmodulechooserbutton.h create mode 100644 bibletime/frontend/displaywindow/cplainwritewindow.cpp create mode 100644 bibletime/frontend/displaywindow/cplainwritewindow.h create mode 100644 bibletime/frontend/displaywindow/creadwindow.cpp create mode 100644 bibletime/frontend/displaywindow/creadwindow.h create mode 100644 bibletime/frontend/displaywindow/cwritewindow.cpp create mode 100644 bibletime/frontend/displaywindow/cwritewindow.h create mode 100644 bibletime/frontend/keychooser/Makefile.am create mode 100644 bibletime/frontend/keychooser/Makefile.in create mode 100644 bibletime/frontend/keychooser/cbiblekeychooser.cpp create mode 100644 bibletime/frontend/keychooser/cbiblekeychooser.h create mode 100644 bibletime/frontend/keychooser/cbookkeychooser.cpp create mode 100644 bibletime/frontend/keychooser/cbookkeychooser.h create mode 100644 bibletime/frontend/keychooser/cbooktreechooser.cpp create mode 100644 bibletime/frontend/keychooser/cbooktreechooser.h create mode 100644 bibletime/frontend/keychooser/ckeychooser.cpp create mode 100644 bibletime/frontend/keychooser/ckeychooser.h create mode 100644 bibletime/frontend/keychooser/ckeychooserwidget.cpp create mode 100644 bibletime/frontend/keychooser/ckeychooserwidget.h create mode 100644 bibletime/frontend/keychooser/ckeyreferencewidget.cpp create mode 100644 bibletime/frontend/keychooser/ckeyreferencewidget.h create mode 100644 bibletime/frontend/keychooser/clexiconkeychooser.cpp create mode 100644 bibletime/frontend/keychooser/clexiconkeychooser.h create mode 100644 bibletime/frontend/keychooser/crefselectdialog.cpp create mode 100644 bibletime/frontend/keychooser/crefselectdialog.h create mode 100644 bibletime/frontend/keychooser/cscrollbutton.cpp create mode 100644 bibletime/frontend/keychooser/cscrollbutton.h create mode 100644 bibletime/frontend/keychooser/cscrollerwidgetset.cpp create mode 100644 bibletime/frontend/keychooser/cscrollerwidgetset.h create mode 100644 bibletime/frontend/kstartuplogo.cpp create mode 100644 bibletime/frontend/kstartuplogo.h create mode 100644 bibletime/frontend/mainindex/Makefile.am create mode 100644 bibletime/frontend/mainindex/Makefile.in create mode 100644 bibletime/frontend/mainindex/cindexitem.cpp create mode 100644 bibletime/frontend/mainindex/cindexitem.h create mode 100644 bibletime/frontend/mainindex/cmainindex.cpp create mode 100644 bibletime/frontend/mainindex/cmainindex.h create mode 100644 bibletime/frontend/manageindicesform.cpp create mode 100644 bibletime/frontend/manageindicesform.ui create mode 100644 bibletime/frontend/searchdialog/Makefile.am create mode 100644 bibletime/frontend/searchdialog/Makefile.in create mode 100644 bibletime/frontend/searchdialog/cmodulechooser.cpp create mode 100644 bibletime/frontend/searchdialog/cmodulechooser.h create mode 100644 bibletime/frontend/searchdialog/cmoduleresultview.cpp create mode 100644 bibletime/frontend/searchdialog/cmoduleresultview.h create mode 100644 bibletime/frontend/searchdialog/crangechooser.cpp create mode 100644 bibletime/frontend/searchdialog/crangechooser.h create mode 100644 bibletime/frontend/searchdialog/csearchanalysis.cpp create mode 100644 bibletime/frontend/searchdialog/csearchanalysis.h create mode 100644 bibletime/frontend/searchdialog/csearchdialog.cpp create mode 100644 bibletime/frontend/searchdialog/csearchdialog.h create mode 100644 bibletime/frontend/searchdialog/csearchdialogpages.cpp create mode 100644 bibletime/frontend/searchdialog/csearchdialogpages.h create mode 100644 bibletime/frontend/searchdialog/csearchresultview.cpp create mode 100644 bibletime/frontend/searchdialog/csearchresultview.h create mode 100644 bibletime/frontend/searchdialog/searchoptionsform.cpp create mode 100644 bibletime/frontend/searchdialog/searchoptionsform.ui create mode 100644 bibletime/frontend/searchdialog/searchresultsform.cpp create mode 100644 bibletime/frontend/searchdialog/searchresultsform.ui create mode 100644 bibletime/frontend/util/Makefile.am create mode 100644 bibletime/frontend/util/Makefile.in create mode 100644 bibletime/frontend/util/csortlistviewitem.cpp create mode 100644 bibletime/frontend/util/csortlistviewitem.h create mode 100644 bibletime/main.cpp create mode 100644 bibletime/pics/16x16/Makefile.am create mode 100644 bibletime/pics/16x16/Makefile.in create mode 100644 bibletime/pics/16x16/hi16-action-bt_bible.png create mode 100644 bibletime/pics/16x16/hi16-action-bt_bible_add.png create mode 100644 bibletime/pics/16x16/hi16-action-bt_bible_locked.png create mode 100644 bibletime/pics/16x16/hi16-action-bt_book.png create mode 100644 bibletime/pics/16x16/hi16-action-bt_book_add.png create mode 100644 bibletime/pics/16x16/hi16-action-bt_book_locked.png create mode 100644 bibletime/pics/16x16/hi16-action-bt_cascade.png create mode 100644 bibletime/pics/16x16/hi16-action-bt_cascade_auto.png create mode 100644 bibletime/pics/16x16/hi16-action-bt_commentary.png create mode 100644 bibletime/pics/16x16/hi16-action-bt_commentary_add.png create mode 100644 bibletime/pics/16x16/hi16-action-bt_commentary_locked.png create mode 100644 bibletime/pics/16x16/hi16-action-bt_displayconfig.png create mode 100644 bibletime/pics/16x16/hi16-action-bt_displaytranslit.png create mode 100644 bibletime/pics/16x16/hi16-action-bt_findstrongs.png create mode 100644 bibletime/pics/16x16/hi16-action-bt_lexicon.png create mode 100644 bibletime/pics/16x16/hi16-action-bt_lexicon_add.png create mode 100644 bibletime/pics/16x16/hi16-action-bt_lexicon_locked.png create mode 100644 bibletime/pics/16x16/hi16-action-bt_startconfig.png create mode 100644 bibletime/pics/16x16/hi16-action-bt_swordconfig.png create mode 100644 bibletime/pics/16x16/hi16-action-bt_sync.png create mode 100644 bibletime/pics/16x16/hi16-action-bt_tile.png create mode 100644 bibletime/pics/16x16/hi16-action-bt_tile_auto.png create mode 100644 bibletime/pics/16x16/hi16-app-bibletime.png create mode 100644 bibletime/pics/22x22/Makefile.am create mode 100644 bibletime/pics/22x22/Makefile.in create mode 100644 bibletime/pics/22x22/hi22-action-bt_bible.png create mode 100644 bibletime/pics/22x22/hi22-action-bt_bible_add.png create mode 100644 bibletime/pics/22x22/hi22-action-bt_bible_locked.png create mode 100644 bibletime/pics/22x22/hi22-action-bt_book.png create mode 100644 bibletime/pics/22x22/hi22-action-bt_book_add.png create mode 100644 bibletime/pics/22x22/hi22-action-bt_book_locked.png create mode 100644 bibletime/pics/22x22/hi22-action-bt_cascade.png create mode 100644 bibletime/pics/22x22/hi22-action-bt_cascade_auto.png create mode 100644 bibletime/pics/22x22/hi22-action-bt_commentary.png create mode 100644 bibletime/pics/22x22/hi22-action-bt_commentary_add.png create mode 100644 bibletime/pics/22x22/hi22-action-bt_commentary_locked.png create mode 100644 bibletime/pics/22x22/hi22-action-bt_displayconfig.png create mode 100644 bibletime/pics/22x22/hi22-action-bt_displaytranslit.png create mode 100644 bibletime/pics/22x22/hi22-action-bt_findstrongs.png create mode 100644 bibletime/pics/22x22/hi22-action-bt_lexicon.png create mode 100644 bibletime/pics/22x22/hi22-action-bt_lexicon_add.png create mode 100644 bibletime/pics/22x22/hi22-action-bt_lexicon_locked.png create mode 100644 bibletime/pics/22x22/hi22-action-bt_parallel.png create mode 100644 bibletime/pics/22x22/hi22-action-bt_startconfig.png create mode 100644 bibletime/pics/22x22/hi22-action-bt_swordconfig.png create mode 100644 bibletime/pics/22x22/hi22-action-bt_sync.png create mode 100644 bibletime/pics/22x22/hi22-action-bt_tile.png create mode 100644 bibletime/pics/22x22/hi22-action-bt_tile_auto.png create mode 100644 bibletime/pics/22x22/hi22-app-bibletime.png create mode 100644 bibletime/pics/32x32/Makefile.am create mode 100644 bibletime/pics/32x32/Makefile.in create mode 100644 bibletime/pics/32x32/hi32-action-bt_bible.png create mode 100644 bibletime/pics/32x32/hi32-action-bt_bible_add.png create mode 100644 bibletime/pics/32x32/hi32-action-bt_bible_locked.png create mode 100644 bibletime/pics/32x32/hi32-action-bt_book.png create mode 100644 bibletime/pics/32x32/hi32-action-bt_book_add.png create mode 100644 bibletime/pics/32x32/hi32-action-bt_book_locked.png create mode 100644 bibletime/pics/32x32/hi32-action-bt_cascade.png create mode 100644 bibletime/pics/32x32/hi32-action-bt_cascade_auto.png create mode 100644 bibletime/pics/32x32/hi32-action-bt_commentary.png create mode 100644 bibletime/pics/32x32/hi32-action-bt_commentary_add.png create mode 100644 bibletime/pics/32x32/hi32-action-bt_commentary_locked.png create mode 100644 bibletime/pics/32x32/hi32-action-bt_displayconfig.png create mode 100644 bibletime/pics/32x32/hi32-action-bt_displaytranslit.png create mode 100644 bibletime/pics/32x32/hi32-action-bt_findstrongs.png create mode 100644 bibletime/pics/32x32/hi32-action-bt_lexicon.png create mode 100644 bibletime/pics/32x32/hi32-action-bt_lexicon_add.png create mode 100644 bibletime/pics/32x32/hi32-action-bt_lexicon_locked.png create mode 100644 bibletime/pics/32x32/hi32-action-bt_startconfig.png create mode 100644 bibletime/pics/32x32/hi32-action-bt_swordconfig.png create mode 100644 bibletime/pics/32x32/hi32-action-bt_sync.png create mode 100644 bibletime/pics/32x32/hi32-action-bt_tile.png create mode 100644 bibletime/pics/32x32/hi32-action-bt_tile_auto.png create mode 100644 bibletime/pics/32x32/hi32-app-bibletime.png create mode 100644 bibletime/pics/48x48/Makefile.am create mode 100644 bibletime/pics/48x48/Makefile.in create mode 100644 bibletime/pics/48x48/hi48-action-bt_bible.png create mode 100644 bibletime/pics/48x48/hi48-action-bt_bible_add.png create mode 100644 bibletime/pics/48x48/hi48-action-bt_bible_locked.png create mode 100644 bibletime/pics/48x48/hi48-action-bt_book.png create mode 100644 bibletime/pics/48x48/hi48-action-bt_book_add.png create mode 100644 bibletime/pics/48x48/hi48-action-bt_book_locked.png create mode 100644 bibletime/pics/48x48/hi48-action-bt_cascade.png create mode 100644 bibletime/pics/48x48/hi48-action-bt_cascade_auto.png create mode 100644 bibletime/pics/48x48/hi48-action-bt_commentary.png create mode 100644 bibletime/pics/48x48/hi48-action-bt_commentary_add.png create mode 100644 bibletime/pics/48x48/hi48-action-bt_commentary_locked.png create mode 100644 bibletime/pics/48x48/hi48-action-bt_displayconfig.png create mode 100644 bibletime/pics/48x48/hi48-action-bt_displaytranslit.png create mode 100644 bibletime/pics/48x48/hi48-action-bt_lexicon.png create mode 100644 bibletime/pics/48x48/hi48-action-bt_lexicon_add.png create mode 100644 bibletime/pics/48x48/hi48-action-bt_lexicon_locked.png create mode 100644 bibletime/pics/48x48/hi48-action-bt_startconfig.png create mode 100644 bibletime/pics/48x48/hi48-action-bt_swordconfig.png create mode 100644 bibletime/pics/48x48/hi48-action-bt_sync.png create mode 100644 bibletime/pics/48x48/hi48-action-bt_tile.png create mode 100644 bibletime/pics/48x48/hi48-action-bt_tile_auto.png create mode 100644 bibletime/pics/48x48/hi48-app-bibletime.png create mode 100644 bibletime/pics/64x64/Makefile.am create mode 100644 bibletime/pics/64x64/Makefile.in create mode 100644 bibletime/pics/64x64/hi64-app-bibletime.png create mode 100644 bibletime/pics/Makefile.am create mode 100644 bibletime/pics/Makefile.in create mode 100644 bibletime/pics/startuplogo.png create mode 100644 bibletime/util/Makefile.am create mode 100644 bibletime/util/Makefile.in create mode 100644 bibletime/util/autoptrvector.h create mode 100644 bibletime/util/cpointers.cpp create mode 100644 bibletime/util/cpointers.h create mode 100644 bibletime/util/cresmgr.cpp create mode 100644 bibletime/util/cresmgr.h create mode 100644 bibletime/util/ctoolclass.cpp create mode 100644 bibletime/util/ctoolclass.h create mode 100644 bibletime/util/directoryutil.cpp create mode 100644 bibletime/util/directoryutil.h create mode 100644 bibletime/util/scoped_resource.h create mode 100644 bibletime/xml/Makefile.am create mode 100644 bibletime/xml/Makefile.in create mode 100644 bibletime/xml/bibletimeui.rc create mode 100644 clucene.m4 create mode 100644 config.h.in create mode 100755 configure create mode 100644 configure.in create mode 100644 configure.in.in create mode 100644 docs/Makefile.am create mode 100644 docs/Makefile.in create mode 100644 docs/bibletime.1 create mode 100644 docs/bibletime.de.1 create mode 100644 docs/handbook/Makefile.am create mode 100644 docs/handbook/Makefile.in create mode 100644 docs/handbook/html/Makefile.am create mode 100644 docs/handbook/html/Makefile.in create mode 100644 docs/handbook/html/i_bible.png create mode 100644 docs/handbook/html/i_bible_add.png create mode 100644 docs/handbook/html/i_bibletime.png create mode 100644 docs/handbook/html/i_book.png create mode 100644 docs/handbook/html/i_book_add.png create mode 100644 docs/handbook/html/i_cascade.png create mode 100644 docs/handbook/html/i_cascade_auto.png create mode 100644 docs/handbook/html/i_commentary.png create mode 100644 docs/handbook/html/i_commentary_add.png create mode 100644 docs/handbook/html/i_configure.png create mode 100644 docs/handbook/html/i_configureaccels.png create mode 100644 docs/handbook/html/i_configuredisplay.png create mode 100644 docs/handbook/html/i_configurefonts.png create mode 100644 docs/handbook/html/i_configurestart.png create mode 100644 docs/handbook/html/i_configuresword.png create mode 100644 docs/handbook/html/i_configuretoolbars.png create mode 100644 docs/handbook/html/i_contents.png create mode 100644 docs/handbook/html/i_delete.png create mode 100644 docs/handbook/html/i_editdelete.png create mode 100644 docs/handbook/html/i_exit.png create mode 100644 docs/handbook/html/i_fileclose.png create mode 100644 docs/handbook/html/i_fileprint.png create mode 100644 docs/handbook/html/i_find.png create mode 100644 docs/handbook/html/i_fullscreen.png create mode 100644 docs/handbook/html/i_go.png create mode 100644 docs/handbook/html/i_ktip.png create mode 100644 docs/handbook/html/i_lexicon.png create mode 100644 docs/handbook/html/i_lexicon_add.png create mode 100644 docs/handbook/html/i_pencil.png create mode 100644 docs/handbook/html/i_sidetree.png create mode 100644 docs/handbook/html/i_sync.png create mode 100644 docs/handbook/html/i_tile.png create mode 100644 docs/handbook/html/i_tile_auto.png create mode 100644 docs/handbook/html/ss_configfonts.png create mode 100644 docs/handbook/html/ss_configtoolbar.png create mode 100644 docs/handbook/html/ss_mainterms.png create mode 100644 docs/handbook/html/ss_searchanal.png create mode 100644 docs/handbook/html/ss_searchopts.png create mode 100644 docs/handbook/unicode/Makefile.am create mode 100644 docs/handbook/unicode/Makefile.in create mode 100644 docs/handbook/unicode/hdbk-config.docbook create mode 100644 docs/handbook/unicode/hdbk-intro.docbook create mode 100644 docs/handbook/unicode/hdbk-operation.docbook create mode 100644 docs/handbook/unicode/hdbk-reference.docbook create mode 100644 docs/handbook/unicode/hdbk-start.docbook create mode 100644 docs/handbook/unicode/index.docbook create mode 100644 docs/howto/Makefile.am create mode 100644 docs/howto/Makefile.in create mode 100644 docs/howto/html/Makefile.am create mode 100644 docs/howto/html/Makefile.in create mode 100644 docs/howto/unicode/Makefile.am create mode 100644 docs/howto/unicode/Makefile.in create mode 100644 docs/howto/unicode/how2-basics.docbook create mode 100644 docs/howto/unicode/how2-importance.docbook create mode 100644 docs/howto/unicode/how2-interpretation.docbook create mode 100644 docs/howto/unicode/index.docbook create mode 100644 docs/ksgmltools-bug-read-me.txt create mode 100644 docs/tips create mode 100644 pot/Makefile.am create mode 100644 pot/Makefile.in create mode 100644 pot/extractrc create mode 100644 pot/handbook.pot create mode 100644 pot/howto.pot create mode 100644 pot/messages.pot create mode 100755 pot/preparetips create mode 100644 sword.m4 diff --git a/BibleTime.kdevelop b/BibleTime.kdevelop new file mode 100644 index 0000000..f6d82ee --- /dev/null +++ b/BibleTime.kdevelop @@ -0,0 +1,247 @@ + + + + The BibleTime team + info@bibletime.info + KDevAutoProject + C++ + + kdevfilegroups + kdevfilelist + kdevdistpart + + 1.6cvs + + . + false + + Perl + + kdevcvsservice + BibleTime + + + + + bibletime/bibletime + default + + + /home/jansorg/Projekte/BibleTime/bibletime/bibletime/bibletime + + false + true + + executable + / + + /home/jansorg/Projekte/BibleTime/bibletime + false + false + false + + + + + true + 1 + false + + + + + + + + 0 + false + + + + + + + + + + kdevgccoptions + kdevgppoptions + kdevpgf77options + + + + + + + + + + + + libtool + --debug + + true + false + false + true + + + + + + false + true + 10 + + + + + + + + + + + + + + + + + + + false + false + + + + false + + + .h + .cpp + true + + + + true + 2 + + + + false + false + + + *.o,*.lo,CVS + false + false + + + + -z3 -f + + -dP + + -f + -u3 -p + + -C -d -P + + + + + false + true + false + true + true + true + 273 + 260 + true + 250 + false + 0 + true + true + false + std=_GLIBCXX_STD;__gnu_cxx=std + true + false + false + false + true + true + true + false + .; + false + false + + + + + set + m_,_ + theValue + true + true + + + true + 3 + /usr/share/qt3 + 3 + ExternalDesigner + /usr/bin/qmake-qt3 + /usr/bin/designer + + + + true + true + Vertical + + + + + + BibleTime C++ header template + + + BibleTime C++ source template + + + + + + + + + + + + + true + true + true + true + -C + + + + /home/jansorg/Projekte/BibleTime/bibletime/tags + + + + VisualBoyAdvance + + + false + false + -f0 + -1 + + diff --git a/ChangeLog b/ChangeLog new file mode 100644 index 0000000..1875636 --- /dev/null +++ b/ChangeLog @@ -0,0 +1,963 @@ +2007-05-07 Martin + * Released 1.6.5a, a maintenance version for packagers + * Only change is the new license for the bible study howto (cc-by-sa) + +2007-11-01 Martin, Eeli and Jeremy + * Several important bugfixes relating to crashes, session management, + display and bookshelf manager + * released 1.6.5 + +2007-04-18 Joachim Ansorg + * Released version 1.6.4 + +2007-04-02 Joachim Ansorg + * Updated list of contributors + +2007-03-23 Joachim Ansorg + * Printing now uses the windows's display settings (verse-numbers) + +2007-03-22 Joachim Ansorg + * Applied a patch by Eeli Kaikkonen to have a delay before the mag content appears + * Added Eeli Kaikkonen to the list of contributors + +2007-03-22 Joachim Ansorg + * Fixed the osis filter to work with the new NETfree module + +2007-03-14 Joachim Ansorg + * Added our own thmlplain filter to fix a CLucene indexing bug + +2007-02-25 David Blue + * Added CSS to templates to display Lord in small-caps when tagged that + way in the module. Fixes Bug #1660413. + +2007-02-19 Joachim Ansorg + * Added Chunshek Chan to the contributors + +2007-02-03 Martin Gruner + * more fixes to the make system + * released 1.6.3b + +2006-01-28 Joachim Ansorg + * fixes to the make system + * released 1.6.3a + +2007-01-27 Martin Gruner + * fixed searching in unicode texts which I broke on 2006-12-05; please accept my apologies. + * released 1.6.3 + +2007-01-27 Martin Gruner + * fixed session loading code to handle main window properties correctly + * fixed hotkey configuration for books + +2007-01-14 Martin Gruner + * another search fix, set max lucene field size to 1 MiB. BibleTime should not truncate long entries any more. + +2006-12-27 Joachim Ansorg + * Added Jeremy Erickson to the contributors + * Changed copyright to 1999-2007 + +2006-12-26 Joachim Ansorg + * Fixed some Makefile.am issues + * Added some contributors to the about dialog + +2006-12-14 Martin Gruner + * fixed handbook typo + * fixed required clucene version to 0.9.16 + +2006-12-07 Martin Gruner + * packaged BibleTime 1.6.2 + +2006-12-07 Daniel Glassey + * add --enable-howto to be able to disable building bible study howto + (required by Debian :/) + +2006-12-05 Martin Gruner + * BibleTime will now index, search and display pre-chapter and pre-book + headings; small cleanups + * searching should work as expected now with regard to headings + +2006-12-02 Martin Gruner + * allow automake 1.10 + +2006-11-30 Joachim Ansorg + * Fix for missing text if GBF red letter words were used + +2006-11-27 Joachim Ansorg + * The tree state is restored if a change in the Sword setup forces a reload at runtime. + +2006-11-25 Martin Gruner + * Fixed 2 tooltips which were swapped + * removed old leftover code that caused problems with --enable-final + +2006-11-24 Joachim Ansorg + * Updated contributors in the about dialog + +2006-11-01 Martin Gruner + * Reverted Analyzer Change of 1.6.1 to use StandardAnalyzer again, but + without stop words. Whitespace Analyzer did not correctly strip punctuation, + so that hits were missing. Sorry. Search should work as expected now. + * Added ability to display Book and Chapter headings + +2006-10-25 Martin Gruner + * Fixed crash on module uninstallation + * released BibleTime 1.6.1 + +2006-10-21 Martin Gruner + * Fixed KJV 2006 display, stripping NT transcription footnotes correctly + again + * Changed Search to use WhitespaceAnalyzer instead of StandardAnalyzer. Now + the default stop words of StandardAnalyzer are ignored. + * Fixed search result highlighting for queries with "*" - do not highlight + across word boundaries any more + * Fixed fullscreen toggeling + +2006-10-10 Martin Gruner + * small clucene.m4 bugfix for nonstandard sword installations + +2006-09-22 Joachim Ansorg + * Release of BibleTime 1.6 + +2006-09-12 Martin Gruner + * Fixed personal commentary display bug + +2006-08-25 Martin Gruner + * Changed location of bibletime.desktop to /usr/share/applications + +2006-08-23 Martin Gruner + * released BibleTime 1.6rc1 + +2006-08-21 Martin Gruner + * Fixed Keychooser Hotkeys to cross testament boundary + +2006-08-20 Joachim Ansorg + * Fixed the shrinking to zero of the left mainwindow's left part + * Fixed crossrefs in the clucene index + * Improved the layout of the searchdialog options + * Modules which require a more recent Sword are not loaded + +2006-08-20 Martin Gruner + * Added documentation for "Find text in read window" + +2006-08-07 Martin Gruner + * verse keychooser bugfix and cleanups + +2006-08-01 David Blue + * Matched the High Contrast Template to the High Contrast Black Text + colours in kde + +2006-07-25 David Blue + * Fixed display of crossrefs in all templates + +2006-06-20 Martin Gruner + * major patch to the printing system: printing works dynamically and + respects the display and filter settings, instead of loading the default + settings at program startup time + * Joachim, why does printing not work with headings and scriprefs and other + markup elements? Besides, it always shows verse numbers, even if they are + turned off + * Please test printing + +2006-06-17 Martin Gruner + * Released BibleTime 1.6beta3 + +2006-06-15 Martin Gruner + * BibleTime now unlocks immediately + * The module icon reflects this immediately + * unlock status reflects correct/incorrect key now, instead of empty/set + (possibly false) key + * Sword config setting and text retrieval prevention from locked modules are + not implemented yet, not as important (and I dunno how to do it right now) + * fixed display profile bug with maximized state; you may need to delete old + sessions + * removed workaround code for lucene 0.9.10 + +2006-06-09 Martin Gruner + * patched clucene.m4 to support and require clucene 0.9.12 + +2006-05-23 Martin Gruner + * Applied more patches by Mark Zealey + +2006-05-22 Martin Gruner + * Applied keychooser patch by Mark Zealey, BibleTime now uses an entirely + different and improved key chooser for Bibles and Commentaries. + +2006-05-18 Martin Gruner + * First patch after a month! + * Fixed UI issue in Bookshelf Manager which ended up in wrong place after + cancelling index download + +2006-04-26 Joachim Ansorg + * BibleTime 1.6beta2 + +2006-04-19 Martin Gruner + * Updated INSTALL.in + +2006-04-09 Joachim Ansorg + * Fixed popup menu in the commentary window + +2006-04-06 Martin Gruner + * Fixed all delayed popup menus to show up immediately + +2006-03-30 Martin Gruner + * Fixed "make messages" to include autogenerated .cpp and .h files (from .ui + files) by running "make" first before extracting the messages + * small enhancement to the crazy template + +2006-03-30 Joachim Ansorg + * Fix: Support robinson codes in the new KJV2006 module + +2006-03-25 Joachim Ansorg + * Support special x-p milestone in the new KJV2006 module. + * Support multiple lemmas and morphs per word in the KJV006 module + * Fix: OSIS filter fix for seg elements + * Fix: Display templates did not show headings in bold if a font was set for the module language + +2006-03-24 Gabriel Beddingfield + * Added isWritable() check (and error message) before saving in CPlainWriteWindow. + +2006-03-24 Martin Gruner + * Added DCOP call reloadModules() + +2006-03-21 Martin Gruner + * Fixed a ThML crossref parsing bug + +2006-03-18 Joachim Ansorg + * BibleTime 1.6beta1 + +2006-03-04 Martin Gruner + * added an CSwordModule::unlockKeyIsValid() function + +2006-02-25 Joachim and Martin: BibleTime Bug Squashing Party I + * Disabled sorting for the "manage indices" columns + * Added "automatically delete orphaned indices when BibleTime starts" option + * Fixed display window toolbar problems, now there are 2 toolbars + * Added support for "n" attribute in footnotes + * Fixes to the display templates + +2006-02-22 Martin Gruner + * Orphaned and defect indices are now automatically deleted + +2006-02-15 Joachim Ansorg + * Fix: Modules without indexes created an empty index directory. + * Fix: Module indexes are completely removed now + +2006-02-14 Martin Gruner + * Extended index logic to allow for additional indexes per module in future + +2006-02-14 Joachim Ansorg + * Search window: The result count in the module list are sortable now + * The "Strong's search" items in the context menus of display windows are disabled now if there's no number to search for + +2006-02-10 Joachim Ansorg + * Several smaller fixes to the searchdialog gui + * Moved searchdialog classes into several namespaces (Search::*) + * Added the icon for the "Search Strong's Number" option + * Bumped version number to 1.5.95, i.e. a 1.6pre version + * Sometime the wrong text was shows for notes + +2006-02-01 Lee Carpenter + * Applied Jim Campbell's updates to the Strong's search feature. + +2006-01-26 Lee Carpenter + * Added an index size field to the 'Manage search indices' page. + +2006-01-22 Lee Carpenter + * Added a page to the Bookshelf Manager to add/delete search indices. + +2006-01-19 Lee Carpenter + * Applied Jim Campbell's patches to add Strong's highlighting in search results. + +2006-01-18 Lee Carpenter + * Converted search dialog to use Designer .ui templates for layout. + +2006-01-02 Martin Gruner + * Search dialog UI cleanups + * Added index version tracking + +2005-12-30 Martin Gruner + * Simplified Search Dialog, code cleanups + * Added index creation progress dialog + +2005-11-13 Joachim Ansorg + * BibleTime 1.5.3 + * Patch: Applied patches by Jeremy Erickson to compile with KDE 3.0-3.3. + +2005-11-09 Martin Gruner + * Added support for OSIS tables + +2005-11-06 Joachim Ansorg + * Bugfix: Changed popup title in commentary windows to "Commentary window" instead of + "Lexicon window" + * Patch: Applied patch by Jeremy Erickson to CMDIArea to compile with Qt 3.2 + +2005-10-24 Joachim Ansorg + * Bugfix: Allow download of locked modules + +2005-10-16 Joachim Ansorg + * BibleTime 1.5.2 + +2005-10-15 Joachim Ansorg + * New feature: Remember open groups in the bookshelf on next startup + * New feature: Remember selected item of the bookshelf on next startup + +2005-10-11 Joachim Ansorg + * New feature: Added new method called getModulesOfType to our DCOP interface. + +2005-10-07 Joachim Ansorg + * New feature: The display windows now have a search dialog to search in the displayed text + (also activated by CTRL+F) + * Bugfix: Changed key accel of "Search open works" to CTRL + O, + because the standard action used CTRL + F, which we use in the new feature above. + Changed the settings in hdbk-reference as well. + * Bugfix: Hopefully the last fix for the parsing. We have to work around a Sword parsing problem. + +2005-10-05 Joachim Ansorg + * Bugfix: Enter in a keychooser did not change the display under special circuamstance + * Buffix: Newlines entered in the plain text editor were not displayed in the HTML editor or the read display window + * Bugfix: One more parsing fix + +2005-10-03 Joachim Ansorg + * Bugfix: Fix for bookshelf manager where the "Install works" button was always greyed out + * Bugfix: Another fix to reference parsing + * Feature: Refs in ThML modules (e.g. TSK) are now splitted if it doesn't alter content + +2005-10-01 Joachim Ansorg + * Bugfix: Fix for the key parsing where only a partial reference was given + +2005-09-25 Joachim Ansorg + * Bugfix: Crash on FedoraCore4 if the settings dialog has been closed + +2005-09-16 Joachim Ansorg + * Bugfix: ThML modules like the ISV crashed BibleTime if the default Bible couldn't be found + +2005-09-12 Joachim Ansorg + * BibleTime 1.5.1 + * BibleTime-i18n package 1.5.1 + +2005-09-10 Joachim Ansorg + * New feature: DCOP interface to control BibleTime. The available commands are avilable by calling "dcop bibletime BibleTimeInterface". To read the DCOP documentation please have a look at the file bibletime/bibletimeinterface.h + * Bugfix: The bookshelf manager didn't work with KDE systems which were configured to use a double click + * Bugfix: A trailing slash in the hostname prevented the bookshelf manager to connect to that remote host + +2005-08-24 Joachim Ansorg + * Bugfix: More Drag&Drop fixes + * Bugfix: Some compilers complained about a missing namespace declaration in the backend code + +2005-08-24 Joachim Ansorg + * Bugfix: Copyright infos for a module is now displayed as correctly enocoded text + * Bugfix: Larger fontsize for the display styles "Default" and "Green" + +2005-08-18 Joachim Ansorg + * Bugfix: Bookmark drag&drop should work now + +2005-08-01 Joachim Ansorg + * New feature: Display templates can now be stored in $KDEDIR/share/apps/bibletime/display-templates/ and + $HOME/.kde/share/apps/bibletime/display-templates/ + +2005-07-16 Joachim Ansorg + * BibleTime 1.5 + * Handbook update by Martin + * Hotkeys reviewed + +2005-06-17 Joachim Ansorg + * BibleTime 1.5rc2 + * Most of the bugs reported for rc1 are fixed + * Major handbook update + * Display windows scroll now to the right position after they opened and + after a resize + +2005-06-10 Joachim Ansorg + * API doc updates (BibleTime.DoxyFile) + * Fixed code to compile with GCC 3.3.6, 3.4.4 and 4.0 + +2005-06-06 Joachim Ansorg + * Added the missing "Delete session" menu item + * The sessions items are now disabled if no sub-menu items are present + +2005-05-29 Joachim Ansorg + * Releases BibleTime 1.5rc1 + -Tons of bugfixes, new features and improvements + +2004-07-17 Daniel Glassey + * Added English and German man files courtesy of Erik Schanze + +2004-07-16 Martin Gruner + * Added invocation of KDE's graphical regular expression editor. + -invoke simply by selecting "regular expression" as search type. + +2004-01-29 Joachim Ansorg + * BibleTime 1.4.1 release + -Bugfixes, especially in the Sword setup dialog part + -Changed default icons to crystalsvg + -Updated GUI translations + +2003-12-28 Joachim Ansorg + * BibleTime 1.4 release + -New SwordSetup Dialog to setup Sword's configuration, to install modules from remote or local sources and to uninstall modules. + -Bugfixes + +2003-08-28 Joachim Ansorg + * Released BibleTime 1.3. Major changes are: + -Redesign of the main index; bookmarks are seperated into an own folder, modules are sorted by type and language; + better menu structure + -Better bookmark file format, bookmarks are saved now in XML. Old bookmarks can still be imported. + -Improved Drag&Drop to work with multiple items, e.g. twenty search result items + -Redesign of the search dialog; it's easier to use now and better to navigate + -Better support for GenBooks (Generic Books) + -Improved support for writing commentaries. There's a plain text editor and a WYSIWYG editor now. + -BibleTime 1.3 requires Sword 1.5.6 now + -Many, many bugs and memory leaks fixed + -Updates to all translations, including new languages + We're sorry for the long time it took to prepare the 1.3 release! We hope to improve release cycles with the next + releases. + +2003-03-10 Joachim Ansorg + * Fixed BibleTime to work in all places with the new SWBuffer class. Should be now more bug free. + +2003-02-28 Joachim Ansorg + * Released 1.3rc1 which uses a Sword snapshot. We're in message freeze now - translators can finally start. + * Fixed BT to use Sword's new filter stuff + +2003-01-19 Joachim Ansorg + * Fixed BT_BASICFILTER::ProcessRWPRefs, made simpled and more bug free + +2003-01-18 Joachim Ansorg + * Removed install instructions from CResMgr and the actions XML file + * Fixed missing insertion of KAction objects into our KAccel object + +2003-01-17 Joachim Ansorg + * Removed installation instructions, the webpage and README/INSTALL files are good enough + +2003-01-16 Joachim Ansorg + * Bugfixes: + -Loading of profiles switched of auto-cascading and auto-tiling + -Debugged CMDIArea, was old, buggy code. Should work now more robust. + * Code cleanups for CDisplayWindow + +2003-01-14 Joachim Ansorg + * Last fixes for beta4: + -Changes everything to use CResMgr instead of ugly #defined + -Added support for new Red letter words strip filter + -Everything is now in CResMgr + -Many small bugfixes + +2003-01-11 Joachim Ansorg + * Searchdialog search result page highlights searched text + * Default color of strongs and morph codes changed to Qt::darkBlue + +2003-01-07 Joachim Ansorg + * Major speed improvements for displaying lexicons together + +2003-01-04 Martin Gruner + * Release 1.3beta3 release + * Changes in comparision with 1.2.x: + - New main index with better module grouping (using language and type), better bookmark format (XML), + import for old bookmarks from 1.2.2 + - Drag&Drop works now with multiple items (e.g. 200 search result items) + - Many more changes we don't remember + +2002-06-02 Martin Gruner + * Moved the english docs to bibletime/docs, and the pot file to bibletime/pot. + Created a new package bibletime-i18n-de for German docs, with the folders docs/ and po/. + Revised gen_am.sh file to suit the new arrangement, and it does at least run and create all the + necessary Makefile.am files for English and German. + +2002-05-03 Martin + + * Ported to KDE3: BibleTime 1.2. No new features. Text rendering works much better now + (right-to-left), as well as font / charset handling -- thanks to Trolltech. + +2002-10-04 Martin Gruner + * Differences between 1.0 and 1.1: + - Improved interface: + o Better optionsdialog: Better structure, more powerful settings + o Better menu structure: The documentation is now accessible from the Help menu, ... + o Keyaccelerators for each display window type + o much more + - General Book Support (GBS): Books like "Josephus" are supported now. + Operations like bookmarking, printing, copying or saving work just like with + Bibles, commentaries or lexicons. + - Crossreference support + Crossreferences work now. For example you can click now on a strong number to open the + module for it which displayes the chosen number. The same for Bibles, morph tags etc. + Tooltips work for the links, too. + - Improved Unicode support + Unicode encoded modules are now supported in a better way. Choosing the font and + the displaying of the text works better. RTL support and better rendering is still + missing. + - Profile management. Profiles capture the current state of the working area + (opened display windows, scrollbar positions, set keys ...). Profiles can be loaded to + restore the old state and can be saved to store the current state for later. Automatically + restoring the windows after startup is possible, too. + - Better crash management. BibleTime tries now to save settings if a crash occured. Although we + implemented this, we don't know how to make BibleTime crash ;) It's just for your safety. + - Speed improvements. Printing is almost two times faster now. Searching in modules is also faster, + but this was improved in the Sword library by the Sword developers. + - Improved display windows. Independent display settings for each window (footnotes, strongs ...) + - Fullscreen mode of the main application window + - Improved commentary editor: Ask if the text should be saved if the window or BibleTime should be closed + if the changed text was not saved before. + +2001-11-24 Fred Saalbach + * Moved documentation to bibletime-docs - includes .po files, handbook, etc. + * This will reduce the size of the main program and allow more flexibility + for the creation of RPM's. + * Compile time for the main program will also be reduced. + +2001-09-22 Fred Saalbach + * Fixed problem with sgml tag by replacing it with the in the english handbook. + * This only is a problem with systems running kde 2 and document + * text descripter "-//KDE//DTD DocBook V3.1-Based Variant V1.0//EN" + * kdb2html finishes without errors now. + +2001-08-30 Joachim Ansorg + * Added $(DESTDIR) to Makefile.am files + * Solved compilation errors + +2001-08-17 Joachim Ansorg + * Optimizations to CSwordBibleModuleInfo + * Fixed bug in CBibleKeyChooser + * New structure in the optionsdialog + * Key accelerators for each display window type + * Fullscreen button + +2001-07-28 Joachim Ansorg + * The new configure options are cached now (sword lib,includes, distribution name and version, RPM prefix and group) + +2001-07-27 Joachim Ansorg + * Added history box in the HTML dialog widget if history browsing is enabled + +2001-07-16 Joachim Ansorg + * Implemented better configure script. We have now options to link to a static Sword library! + * Added rudimentary support for version checking + +2001-06-20 Joachim Ansorg + * Release BibleTime 1.0! + We're really glad we got it out now! Enjoy! + Sorry for the large delay! + +2001-03-08 Joachim Ansorg + * Released BibleTime 1.0beta1. + +2001-02-17 Joachim Ansorg + * Added QTextEdit, QTextView, and QRichText classes from Qt3 (ported by David Faure) + * Removed the Qt2 classes QTextView, QTextBrowser and the class KTextEdit + +2001-02-13 Joachim Ansorg + * Changed the direction of the spin boxes + and of the scrollbutton in the presenters + * Updated QWorkspace to the one of Qt 2.2.4 + +2001-02-07 Joachim Ansorg + * Fixed bugs in the groupmanager, searchdialog and presenters + +2001-02-04 Joachim Ansorg + * Added new features: + RMB menus in the presenters and in the searchdialog + +2001-02-03 Joachim Ansorg + * Added Makefile system to create and install the handbook + * Fred added his really nice handbook in .docbook format + * Improved printing dialog: Now the styles are saved and restored correctly, needs some tweaking + * Fixed some bugs in the printing system, removed the range specifiers of the printing dialog + +2001-02-02 Joachim Ansorg + * Fixed some bug in CTipWindow + * Fixed some bugs in our copy of QTextView + * Fixed some bug in CStyleEditorDialog + * Fixed some bug in the printing system + * Improved CBiblePresenter and CPrinterDialog + +2001-01-30 Joachim Ansorg + * Updated ToDo + +2001-01-27 Joachim Ansorg + * Fixed the graphical search analysis, it should now work 99% + +2001-01-21 Joachim Ansorg + * Improved the style editor + +2001-01-19 Joachim Ansorg + * Improved the search anaylsis a little bit + +2001-01-18 Joachim Ansorg + * Fixed some bugs in the searchdialog + * The bug with indexed modules and first search is now fixed, + it was an error in Sword + * Fixed some nasty bugs in the Sword backend + * Marking searched words in the key text for multiple words works now 100% + * The last book is now shown in the graphical search analysis + +2001-01-18 Joachim Ansorg + * Changed icon names and updated icon directories + * Included all icons we need + * Improved the BibleTime icons + +2001-01-01 Joachim Ansorg + + A BLESSED NEW YEAR! + + -Added the command line option --debug to enable debug messages +2000-12-29 Joachim Ansorg + *Changed behaviour if a book, chapter or verse was changed in the Bible-keychooser + + +2000-12-29 Joachim Ansorg + * Changed iconname so it will be found + +2000-12-26 Joachim Ansorg + * Improved printing support (correct handling of singals ...) + +2000-12-22 Joachim Ansorg + * Fixed a bug in CGroupmanager: BibleTime does now start without installed modules! + +2000-12-19 Joachim Ansorg + * Some work on the oresenters and keychoosers + * Fixed a small bug in cprintitemlist.cpp + +2000-12-16 Joachim Ansorg + * Fixed the crash in ctipwindow.cpp + +2000-12-08 Joachim Ansorg + * Fixed some printing bugs + * Added QWorkspace of Qt 2.2.2 to our sources, so everybody has the fixed QWorkspace version + +2000-12-05 Jochim Ansorg ~ + * Drag& Drop on presenters works again + * Finished "context sensitive" presenter refreshing + +2000-12-04 Jochim Ansorg + * Fixed this nasty "Default verse color" bug (was a wrong placed readEntry instead of readColorEntry in bibletime.cpp) + * Fixed unifont support, it works no with non-ISO-8859-1 languages and fonts + +2000-12-03 Jochim Ansorg + * Changed the latin1() calls of QString to (const char*) ... local8Bit() + * Changed QTextView a little bit: Do not set contents pos to 0,0 in QTexView::setText(), the result is a fester displaying of the texts + * Changed the optionsdialog to display the language name and not the abbrevation + +2000-11-28 Joachim Ansorg + * You can now switch between different book translations on runtime! + * Improved "context sensitive" presenter refresh (e.g. if footnotes are enabled only presenters with modules having them will be refreshed) + * Fixed some memory leaks. + +2000-11-04 Joachim Ansorg + * Solved some bugs + * Updated ceditwidget.cpp so saving HTML is correct, loading is still incomplete + * Made te frontend a shared lib and moved sources which should be there into frontend + libfrontend is now called libbibletime_frontend.la. + * Made --enable-shared the default options (changed to configure.in.in) + +2000-10-30 Joachim Ansorg + * Added sources and headers of QTextView, QTextBrowser and QRichText + * Added signal wordHighlighted in QTextView + +2000-10-29 Joachim Ansorg + * Removed the toggle toolbar/footnotes/strongs bugs + * Removed the bug Troy found (deletion of the searchresult) + +2000-10-24 Joachim Ansorg + * Removed the old backend and introduced a new, better faster + backend with a new backend + * Fixed some GUI bugs (ported from 0.3) + * Fixed some backend bugs, removed CSwordVerseKey operators + * Added portuguese translation of 0.3's messages, but it's still + useable for 1.0CVS + +--Lots of time passed by + +2000-07-24 Joachim Ansorg + *Released 0.3! A really long time! We hope you like it! + +---Changelog will be continued after final 0.3 + +1999-12-30 Joachim Ansorg + *We should be now ready for 0.22 ;-) + +1999-12-26 Joachim Ansorg + *Removed the commented out #includes + *Updated AUTHORS file + +1999-12-25 Joachim Ansorg + *make now use of getFontList (in global.h) to get the fonts + *Added some ASSERT + *Check it objects are zero in fontmanagement dialog + +1999-12-24 Joachim Ansorg + *BibleTime 0.21 - I hope it's a nice Christmas present ;-) + +1999-12-23 Joachim Ansorg + *Changed some icons in CEditWidget to newer names + +1999-12-22 Birger Langkjer + *Updated danish translation + *Added bibletime/optionsdialog/Makefile.in because this prevented me from compiling the first time. + +1999-12-21 Joachim Ansorg + *The searchresult tab is now disabled if the list is empty + *The moduletree-tabs are disable if the correspondig trees are empty + +1999-12-20 Joachim Ansorg + *The fontmanagement dialog is now grayed out if there's no entry in the list + +1999-12-20 Birger Langkjer + *Updated danish translation + +1999-12-19 Joachim Ansorg + *Fontmanagementdialog uses now a XFonts list, not the list provided by KDE. This solves the problems on + systems without KFontManager + *Added files global.h and global.cpp which should contain global functions + *Fixed some typos in the german translation + +1999-12-18 Joachim Ansorg + *Added Apply-Button in the optionsdialog + +1999-12-17 Joachim Ansorg + *Tried to fix the charset problem in ktipoftheday.cpp + *Updated AUTHORS list + +1999-12-16 Joachim Ansorg + *Updated Michal's Czech translation + +1999-12-15 Joachim Ansorg + *Added Czech language file: Thanks to Michal Rovnan� + +1999-12-12 Joachim Ansorg + *Removed function CNotesEditor::isTextSelected() + *Added possibility to select type of highlighting of text for the notes editor + *Added load and save of current highlighting type + +1999-12-04 Joachim Ansorg + *Convrted the bmp images to jpg + *Bibletime uses now kimgio everywhere + *Added danish translation + +1999-11-27 Joachim Ansorg + *Removed unused images + *BibleTime 0.2 + +1999-11-26 Joachim Ansorg + *Finished the whole german handbook + *Removed the own filters (plainhtml, rwphtml and gbfhtml),use (newer) filters of SWORD version + *You can now select the entries in the bookmark-manager with the upper and lower keys and activate them with RETURN + +1999-11-25 Joachim Ansorg + *Updated ToDo and Readme + *Caption of mainwindow now contains the current chapter and verse + +1999-11-24 Joachim Ansorg + *Made some labels in the printer-optionsdialog bigger to fit french translation + *ResizeEvent in SearchScopeDialog + +1999-11-20 Joachim Ansorg + *Startuplogo is now a PNG, this makes the distribution smaller + *To make this work make use of kimgio + +1999-11-18 Joachim Ansorg + *Finished my part on german handbook + +1999-11-16 Joachim Ansorg + *Worked on translation of handbook to german + *Translated some tips in german tipdatabase + +1999-11-14 Joachim Ansorg + *The searchbuttons and the three radiobuttons are now resized + +1999-11-12 Joachim Ansorg + *Fixed Bug: Now you can paste into the loojupline + +1999-11-10 Joachim Ansorg + *Fixed bug in CDocBrowser on non KDE 1.1.2 systems + +1999-11-07 Joachim Ansorg + *Tidied up kwrite - removed lots of commented code + +1999-11-03 Joachim Ansorg + *Updated authors list + *Thorsten added the new printer dialog - it works now + +1999-11-03 Joachim Ansorg + *Added optimized paint function committed in the KDevelop mailing list by Vladimir Dvorak + Thanks Vladimir! + *Readded the nl.po file - it was lost by some reason + +1999-11-01 Joachim Ansorg + *Updated handbook - Jeff's work is really great! + *You can now use more than 31 tips in a tipdatabase + +1999-10-23 Joachim Ansorg + *Renamed members in BibleTimeView: tTabView to treeTabView and sTabView to browserTabView + We need this because sTabView and tTabView are confusing + *Changed CChartWidget to resize the different graphs to the height of the window + *Changed topPanner to leftPanner in BibleTimeView - this is a better name + *Updated API documentation + *Fixed BUG: Now the recentText part in BibleTimeView is saved correctly again + *Noticed that KDE 1.1.2 has the calcScrollBars bug solved, no we use only our own function in KDE version before 1.1.2 + +1999-10-21 Joachim Ansorg + *Bugfix: Key acelelerators are now saved after changing and restored on new startup + *Updated API documentation + *Updated ktipofday.cpp and ktipofday.h from KDevelop to compile with GCC 2.95 + +1999-10-19 Joachim Ansorg + *Fixed a bug in CDocBrowser: If you lookup some text, the module wasn't highlighted + *Added own submenu for the lookup part in CDocBrowser + +1999-10-18 Joachim Ansorg + *BibleTime needs now the upcoming SWORD 1.45 + +1999-10-17 Joachim Ansorg + *Fixed bug: standard accelerators are now really disabled + +1999-10-16 Joachim Ansorg + *Added Jeff to AUTHORS + *Updated german translation + +1999-10-15 Joachim Ansorg + *Solved a bug in the linkmanager: If you open the dialog and click OK the existing items were deleted + *Added a script to put all i18n() things into the translation template. It called make-messages.sh. It's on the topdir. + *Commented out the first lines of BibleTimeMgr to get BibleTime to compile without modifications of SWORD. + Please uncomment these lines to make use of the PLAINFootnotes option filter. Make the declarations in the header + file to protected on which the compiler complains about. + +1999-10-14 Joachim Ansorg + *Implemented context sensitive enabling and disabling of the edit menu entries + *Updated KWrite sourcen to the newest one shipped with KDevelop + *Added Class CKNewAccel - provides disabling and enabling of accels by reeourceentry like ID_FILE_PRINT + +1999-10-13 Joachim Ansorg + *Added refreshing of the list in CDocBrowser + *BibleTime does not load an empty HTML file + (e.g. when you load a file via a HREf module and the server is unknown -> KFM returns an empty file) + *Improved a little bit the internet support + +1999-10-12 Joachim Ansorg + *Implemented functions in linkmanager. Implemented the link management in CDocBrowser::showURL. + Needs some work: We have to decide if the file is local or remote and downloda it first + or we put a new option in the dialog. + +1999-10-10 Joachim Ansorg + *Added new german index.sgml + *Updated icons. You can now recpgnize what the icons mean + *Added BibleTimeDoc::slotMoveToPreviousVerse() and BibleTimeDoc::slotMoveToNextVerse() + Changed BibleTimeApp uses these functions to jump to the previous / next verse + Added needed pixmaps and keyaccels + +1999-10-09 Joachim Ansorg + *Worked on the handbook + *Added Quickhelp for the widgets in the link management dialog. + +1999-10-08 Joachim Ansorg + *Added some text to the handbook + *Removed the german index.sgml file, because it makes no senss. + We will add this if the english one is ready to translate it into german. + *Cleaned up KListView::addChildItem() + *Finished dialog of the link manager, needs implementation of functions to work + +1999-10-05 Joachim Ansorg + *Added -lz to bibletime/Makefile.am to avoid compilation problems on RedHat 5.2 systems + *Added some needed icons and changed iconnames in the sourcecode + *Solved some spelling errors in the CBugReportDlg and changed some kdevelop to bibletime in the class + *Now you can't print by pressing STRG+P if printing is disabled + +1999-10-03 Joachim Ansorg + *Changed CForeignFontOptions: The fonts are now saved in function saveSettings(), not after changing the font + *Changed OptionsDialog: The different options are displayed in a tree. + *Removed old OptionsDialog + *Created new subdirectory optionsdialog. We will need it for later development + +1999-10-01 Joachim Ansorg + *Changed some QColor (QRGB ...) to (QColor) (QRGB ...) to solve compilation problems on Debian. + +1999-09-29 Joachim Ansorg + *font auto-switching works now + *Changed the line to edit the fontname to a combobox + +1999-09-29 Joachim Ansorg + *Implemented more features of font-auto-switching, needs still work + +1999-09-28 Joachim Ansorg + *Implemented simple switching between fonts - will work on it + *Implemented signal BibleTimeDoc::sigSetBibleFont(const QString) + Implemented slot BibleTimeView::slotSetBibleFont(const QString) + These signal and the slot will be used in the near future for switching of fonts. + *Connected the signal and the slot in BibleTimeApp::initView + +1999-09-25 Joachim Ansorg + *On print the printerdialog is shown before the QT-dilaog. But printing + doesn't work at the moment. + We have to implement the slot slotPrint() of CPrinterDialog to make it work. + *Changes in cnoteseditor.cpp the #define BUTTON_BAR_HEIGHT to an abosolut value. + Solves a problem with the height of the editor. + *Updated the startuplogo. It's now much more nice as the previous version. + *Integrated the startuplogo in the aboutdialog. It's now displayed in the upper left corner of the box. + *The class KStartupLogo looks now for the size of the startuplogo and resize the widget in the right way if the size have changed. + *CDocBrowserColor: Made some hardcoded texts to i18n("") + +1999-09-19 Joachim Ansorg + *Reorganized the icons: + There are now two directories: pics and toolbar. pics contains the directory mini/ + which contains the mini icons. Mini icons are named with a trailing mini-. + The directory toolbar contains the icons which are only used in the toolbar. + This should be the new standard we use. + +1999-09-19 Joachim Ansorg + *Changed names and install paths of some icon + *Added some needed icons we forgot + *Added function BibleTimeApp::slotHelpContents(): calls the online help + *Solved: Changes of the key accelerators doesn't change the + accels in the menus + *rendered Footnotes are now displayed in dark red, too + *Cleaned up DCocBrowser + +1999-09-18 Joachim Ansorg + *Optimized a little bit the paintText function of CChartWidget + +1999-09-17 Joachim Ansorg + *Changed a little bit the GBFHTML filter: + Anotations are now displayed in dark red + *Decided to use use the PLAINHTML filter as standard + If no filter is specified in the .conf file of the module we use + now the PLAINHTML filter. Perhaps we need to change this + +1999-09-16 Joachim Ansorg + *Fixed this stupid bug related to the crash while searching the web bible + +1999-09-14 Joachim Ansorg + *Change the GBFHTML filter a little bit + It displays now the word explained in a footnote formatted as bold + +1999-09-14 Joachim Ansorg + *Updated program version to 0.2 + +1999-09-12 Joachim Ansorg + *Added some tips to the tipdatabase + *Added class KStartupLogo to display a picture on startup + +1999-09-10 Joachim Ansorg + *Rewrite of the Searchanalysis, it's now up to 63 times faster + *Text in the CChartWidget is now painted rotated (90) + +1999-09-05 Joachim Ansorg + *Added analysis of searchresults -> needs still some work + *updated de.po translation errors + *updated homepage + +1999-09-04 Joachim Ansorg + *created sub folders: gfx and printing + *Added CPrinterDialog of KHexedit 0.81 -> isn't used at the moment + +1999-09-02 Joachim Ansorg + *Added classes for searchanalysis and a ChartWidget + *Updated configure.in - it checks now for headers and the SWORD lib in two steps + +1999-08-30 Joachim Ansorg + *Changed and corrected some GUI errors + +1999-08-29 Joachim Ansorg + *Decided to update this Changelog frequently + *Changed the notesEditor to a non-tabbar look + *New class CNotesEditor + +1999-08-27 Joachim Ansorg + *First public release of BibleTime: Version 0.1 + diff --git a/INSTALL b/INSTALL new file mode 100644 index 0000000..18c8db7 --- /dev/null +++ b/INSTALL @@ -0,0 +1,244 @@ +Installation instructions for BibleTime 1.6.5.1: +--------------------------- + +Sometimes it is difficult to compile BibleTime from source code, but it's +possible. Don't hesitate to ask for support at info@bibletime.info. In that +case, please include your system's configuration details. + +BibleTime 1.6.5.1 requires: + + - KDE >= 3.0 (at least the libraries (kdelibs) and the base package (kdebase)) + Although BibleTime should compile and run with KDE 3.0-3.3, we strongly recommend + to use the latest version of KDE available for your Linux installation. + + - SWORD 1.5.9, available from http://www.crosswire.org/sword/; you should include + a stability patch to Sword 1.5.9 available from the BibleTime download pages + (fixes problems with compressed and locked modules). + + - CLucene >= 0.9.16, available from http://clucene.sf.net/. + + +If you don't have the sources already, please browse to www.bibletime.info to see +a list of required packages with their download URLs. + +To install texts (e.g. Bibles), just use the Bookshelf Manager in the Settings +menu of BibleTime. + + +Compile BibleTime 1.6.5.1: +--------------------------- + +cd ~ +tar -xjf bibletime-1.6.5.1.tar.bz2 +cd ~/bibletime-1.6.5.1 # Move to your source directory +kde-config --prefix # Displays your KDE directory (optional) +./configure --prefix= # create makefiles +make # compile BibleTime +su -c "make install" # change to "root user" and install BibleTime + +After this, if you want to use the translations of BibleTime's UI, you should +install the bibletime-i18n package. + + +Debian specifics +--------------------------- +Debian (and possibly derived distros as well) use a non-standard path to +store the documentation of KDE programs. Therefore the ./configure line above in +this case needs to be changed to: + +kde_htmldir=/usr/share/doc/kde/HTML ./configure --prefix=/usr + +If you forget this, you'll likely not be able to access the handbook and the +BibleStudy HowTo. + + +Other useful make options +--------------------------- +make clean # Removes binaries from the directory + # where BibleTime was compiled, but not the source + +make uninstall # Removes BibleTime from your system + + +If something is missing in this file please post to info@bibletime.info, the contact +adress for BibleTime. Please read README for a short description of BibleTime 1.6.5.1. + + + +The BibleTime team, + + + + +______________________________________________________________________________ +** The standard Installation instructions of auto-tool packages ** +------------------------------------------------------------------------------ + + +Basic Installation +================== + + These are generic installation instructions. + + The `configure' shell script attempts to guess correct values for +various system-dependent variables used during compilation. It uses +those values to create a `Makefile' in each directory of the package. +It may also create one or more `.h' files containing system-dependent +definitions. Finally, it creates a shell script `config.status' that +you can run in the future to recreate the current configuration, a file +`config.cache' that saves the results of its tests to speed up +reconfiguring, and a file `config.log' containing compiler output +(useful mainly for debugging `configure'). + + If you need to do unusual things to compile the package, please try +to figure out how `configure' could check whether to do them, and mail +diffs or instructions to the address given in the `README' so they can +be considered for the next release. If at some point `config.cache' +contains results you don't want to keep, you may remove or edit it. + + The file `configure.in' is used to create `configure' by a program +called `autoconf'. You only need `configure.in' if you want to change +it or regenerate `configure' using a newer version of `autoconf'. + +The simplest way to compile this package is: + + 1. `cd' to the directory containing the package's source code and type + `./configure' to configure the package for your system. If you're + using `csh' on an old version of System V, you might need to type + `sh ./configure' instead to prevent `csh' from trying to execute + `configure' itself. + + Running `configure' takes a while. While running, it prints some + messages telling which features it is checking for. + + 2. Type `make' to compile the package. + + 3. Type `make install' to install the programs and any data files and + documentation. + + 4. You can remove the program binaries and object files from the + source code directory by typing `make clean'. + +Compilers and Options +===================== + + Some systems require unusual options for compilation or linking that +the `configure' script does not know about. You can give `configure' +initial values for variables by setting them in the environment. Using +a Bourne-compatible shell, you can do that on the command line like +this: + CC=c89 CFLAGS=-O2 LIBS=-lposix ./configure + +Or on systems that have the `env' program, you can do it like this: + env CPPFLAGS=-I/usr/local/include LDFLAGS=-s ./configure + +Compiling For Multiple Architectures +==================================== + + You can compile the package for more than one kind of computer at the +same time, by placing the object files for each architecture in their +own directory. To do this, you must use a version of `make' that +supports the `VPATH' variable, such as GNU `make'. `cd' to the +directory where you want the object files and executables to go and run +the `configure' script. `configure' automatically checks for the +source code in the directory that `configure' is in and in `..'. + + If you have to use a `make' that does not supports the `VPATH' +variable, you have to compile the package for one architecture at a time +in the source code directory. After you have installed the package for +one architecture, use `make distclean' before reconfiguring for another +architecture. + +Installation Names +================== + + By default, `make install' will install the package's files in +`/usr/local/bin', `/usr/local/man', etc. You can specify an +installation prefix other than `/usr/local' by giving `configure' the +option `--prefix=PATH'. + + You can specify separate installation prefixes for +architecture-specific files and architecture-independent files. If you +give `configure' the option `--exec-prefix=PATH', the package will use +PATH as the prefix for installing programs and libraries. +Documentation and other data files will still use the regular prefix. + + If the package supports it, you can cause programs to be installed +with an extra prefix or suffix on their names by giving `configure' the +option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'. + +Optional Features +================= + + Some packages pay attention to `--enable-FEATURE' options to +`configure', where FEATURE indicates an optional part of the package. +They may also pay attention to `--with-PACKAGE' options, where PACKAGE +is something like `gnu-as' or `x' (for the X Window System). The +`README' should mention any `--enable-' and `--with-' options that the +package recognizes. + + For packages that use the X Window System, `configure' can usually +find the X include and library files automatically, but if it doesn't, +you can use the `configure' options `--x-includes=DIR' and +`--x-libraries=DIR' to specify their locations. + +Specifying the System Type +========================== + + There may be some features `configure' can not figure out +automatically, but needs to determine by the type of host the package +will run on. Usually `configure' can figure that out, but if it prints +a message saying it can not guess the host type, give it the +`--host=TYPE' option. TYPE can either be a short name for the system +type, such as `sun4', or a canonical name with three fields: + CPU-COMPANY-SYSTEM + +See the file `config.sub' for the possible values of each field. If +`config.sub' isn't included in this package, then this package doesn't +need to know the host type. + + If you are building compiler tools for cross-compiling, you can also +use the `--target=TYPE' option to select the type of system they will +produce code for and the `--build=TYPE' option to select the type of +system on which you are compiling the package. + +Sharing Defaults +================ + + If you want to set default values for `configure' scripts to share, +you can create a site shell script called `config.site' that gives +default values for variables like `CC', `cache_file', and `prefix'. +`configure' looks for `PREFIX/share/config.site' if it exists, then +`PREFIX/etc/config.site' if it exists. Or, you can set the +`CONFIG_SITE' environment variable to the location of the site script. +A warning: not all `configure' scripts look for a site script. + +Operation Controls +================== + + `configure' recognizes the following options to control how it +operates. + +`--cache-file=FILE' + Use and save the results of the tests in FILE instead of + `./config.cache'. Set FILE to `/dev/null' to disable caching, for + debugging `configure'. + +`--help' + Print a summary of the options to `configure', and exit. + +`--quiet' +`--silent' +`-q' + Do not print messages saying which checks are being made. + +`--srcdir=DIR' + Look for the package's source code in directory DIR. Usually + `configure' can determine that directory automatically. + +`--version' + Print the version of Autoconf used to generate the `configure' + script, and exit. + +`configure' also accepts some other, not widely useful, options. + diff --git a/INSTALL.in b/INSTALL.in new file mode 100644 index 0000000..5704784 --- /dev/null +++ b/INSTALL.in @@ -0,0 +1,244 @@ +Installation instructions for BibleTime @VERSION@: +--------------------------- + +Sometimes it is difficult to compile BibleTime from source code, but it's +possible. Don't hesitate to ask for support at info@bibletime.info. In that +case, please include your system's configuration details. + +BibleTime @VERSION@ requires: + + - KDE >= 3.0 (at least the libraries (kdelibs) and the base package (kdebase)) + Although BibleTime should compile and run with KDE 3.0-3.3, we strongly recommend + to use the latest version of KDE available for your Linux installation. + + - SWORD 1.5.9, available from http://www.crosswire.org/sword/; you should include + a stability patch to Sword 1.5.9 available from the BibleTime download pages + (fixes problems with compressed and locked modules). + + - CLucene >= 0.9.16, available from http://clucene.sf.net/. + + +If you don't have the sources already, please browse to www.bibletime.info to see +a list of required packages with their download URLs. + +To install texts (e.g. Bibles), just use the Bookshelf Manager in the Settings +menu of BibleTime. + + +Compile BibleTime @VERSION@: +--------------------------- + +cd ~ +tar -xjf bibletime-@VERSION@.tar.bz2 +cd ~/bibletime-@VERSION@ # Move to your source directory +kde-config --prefix # Displays your KDE directory (optional) +./configure --prefix= # create makefiles +make # compile BibleTime +su -c "make install" # change to "root user" and install BibleTime + +After this, if you want to use the translations of BibleTime's UI, you should +install the bibletime-i18n package. + + +Debian specifics +--------------------------- +Debian (and possibly derived distros as well) use a non-standard path to +store the documentation of KDE programs. Therefore the ./configure line above in +this case needs to be changed to: + +kde_htmldir=/usr/share/doc/kde/HTML ./configure --prefix=/usr + +If you forget this, you'll likely not be able to access the handbook and the +BibleStudy HowTo. + + +Other useful make options +--------------------------- +make clean # Removes binaries from the directory + # where BibleTime was compiled, but not the source + +make uninstall # Removes BibleTime from your system + + +If something is missing in this file please post to info@bibletime.info, the contact +adress for BibleTime. Please read README for a short description of BibleTime @VERSION@. + + + +The BibleTime team, + + + + +______________________________________________________________________________ +** The standard Installation instructions of auto-tool packages ** +------------------------------------------------------------------------------ + + +Basic Installation +================== + + These are generic installation instructions. + + The `configure' shell script attempts to guess correct values for +various system-dependent variables used during compilation. It uses +those values to create a `Makefile' in each directory of the package. +It may also create one or more `.h' files containing system-dependent +definitions. Finally, it creates a shell script `config.status' that +you can run in the future to recreate the current configuration, a file +`config.cache' that saves the results of its tests to speed up +reconfiguring, and a file `config.log' containing compiler output +(useful mainly for debugging `configure'). + + If you need to do unusual things to compile the package, please try +to figure out how `configure' could check whether to do them, and mail +diffs or instructions to the address given in the `README' so they can +be considered for the next release. If at some point `config.cache' +contains results you don't want to keep, you may remove or edit it. + + The file `configure.in' is used to create `configure' by a program +called `autoconf'. You only need `configure.in' if you want to change +it or regenerate `configure' using a newer version of `autoconf'. + +The simplest way to compile this package is: + + 1. `cd' to the directory containing the package's source code and type + `./configure' to configure the package for your system. If you're + using `csh' on an old version of System V, you might need to type + `sh ./configure' instead to prevent `csh' from trying to execute + `configure' itself. + + Running `configure' takes a while. While running, it prints some + messages telling which features it is checking for. + + 2. Type `make' to compile the package. + + 3. Type `make install' to install the programs and any data files and + documentation. + + 4. You can remove the program binaries and object files from the + source code directory by typing `make clean'. + +Compilers and Options +===================== + + Some systems require unusual options for compilation or linking that +the `configure' script does not know about. You can give `configure' +initial values for variables by setting them in the environment. Using +a Bourne-compatible shell, you can do that on the command line like +this: + CC=c89 CFLAGS=-O2 LIBS=-lposix ./configure + +Or on systems that have the `env' program, you can do it like this: + env CPPFLAGS=-I/usr/local/include LDFLAGS=-s ./configure + +Compiling For Multiple Architectures +==================================== + + You can compile the package for more than one kind of computer at the +same time, by placing the object files for each architecture in their +own directory. To do this, you must use a version of `make' that +supports the `VPATH' variable, such as GNU `make'. `cd' to the +directory where you want the object files and executables to go and run +the `configure' script. `configure' automatically checks for the +source code in the directory that `configure' is in and in `..'. + + If you have to use a `make' that does not supports the `VPATH' +variable, you have to compile the package for one architecture at a time +in the source code directory. After you have installed the package for +one architecture, use `make distclean' before reconfiguring for another +architecture. + +Installation Names +================== + + By default, `make install' will install the package's files in +`/usr/local/bin', `/usr/local/man', etc. You can specify an +installation prefix other than `/usr/local' by giving `configure' the +option `--prefix=PATH'. + + You can specify separate installation prefixes for +architecture-specific files and architecture-independent files. If you +give `configure' the option `--exec-prefix=PATH', the package will use +PATH as the prefix for installing programs and libraries. +Documentation and other data files will still use the regular prefix. + + If the package supports it, you can cause programs to be installed +with an extra prefix or suffix on their names by giving `configure' the +option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'. + +Optional Features +================= + + Some packages pay attention to `--enable-FEATURE' options to +`configure', where FEATURE indicates an optional part of the package. +They may also pay attention to `--with-PACKAGE' options, where PACKAGE +is something like `gnu-as' or `x' (for the X Window System). The +`README' should mention any `--enable-' and `--with-' options that the +package recognizes. + + For packages that use the X Window System, `configure' can usually +find the X include and library files automatically, but if it doesn't, +you can use the `configure' options `--x-includes=DIR' and +`--x-libraries=DIR' to specify their locations. + +Specifying the System Type +========================== + + There may be some features `configure' can not figure out +automatically, but needs to determine by the type of host the package +will run on. Usually `configure' can figure that out, but if it prints +a message saying it can not guess the host type, give it the +`--host=TYPE' option. TYPE can either be a short name for the system +type, such as `sun4', or a canonical name with three fields: + CPU-COMPANY-SYSTEM + +See the file `config.sub' for the possible values of each field. If +`config.sub' isn't included in this package, then this package doesn't +need to know the host type. + + If you are building compiler tools for cross-compiling, you can also +use the `--target=TYPE' option to select the type of system they will +produce code for and the `--build=TYPE' option to select the type of +system on which you are compiling the package. + +Sharing Defaults +================ + + If you want to set default values for `configure' scripts to share, +you can create a site shell script called `config.site' that gives +default values for variables like `CC', `cache_file', and `prefix'. +`configure' looks for `PREFIX/share/config.site' if it exists, then +`PREFIX/etc/config.site' if it exists. Or, you can set the +`CONFIG_SITE' environment variable to the location of the site script. +A warning: not all `configure' scripts look for a site script. + +Operation Controls +================== + + `configure' recognizes the following options to control how it +operates. + +`--cache-file=FILE' + Use and save the results of the tests in FILE instead of + `./config.cache'. Set FILE to `/dev/null' to disable caching, for + debugging `configure'. + +`--help' + Print a summary of the options to `configure', and exit. + +`--quiet' +`--silent' +`-q' + Do not print messages saying which checks are being made. + +`--srcdir=DIR' + Look for the package's source code in directory DIR. Usually + `configure' can determine that directory automatically. + +`--version' + Print the version of Autoconf used to generate the `configure' + script, and exit. + +`configure' also accepts some other, not widely useful, options. + diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..21ccb13 --- /dev/null +++ b/LICENSE @@ -0,0 +1,291 @@ + The BibleTime Project + + - Free Bible study software for KDE - + +(C) 1998-2005 by the BibleTime Team (info@bibletime.info) + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License version 2 as +published by the Free Software Foundation. + + + GNU GENERAL PUBLIC LICENSE + Version 2, June 1991 + + Copyright (C) 1989, 1991 Free Software Foundation, Inc. + 675 Mass Ave, Cambridge, MA 02139, USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +License is intended to guarantee your freedom to share and change free +software--to make sure the software is free for all its users. This +General Public License applies to most of the Free Software +Foundation's software and to any other program whose authors commit to +using it. (Some other Free Software Foundation software is covered by +the GNU Library General Public License instead.) You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +this service if you wish), that you receive source code or can get it +if you want it, that you can change the software or use pieces of it +in new free programs; and that you know you can do these things. + + To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if you +distribute copies of the software, or if you modify it. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must give the recipients all the rights that +you have. You must make sure that they, too, receive or can get the +source code. And you must show them these terms so they know their +rights. + + We protect your rights with two steps: (1) copyright the software, and +(2) offer you this license which gives you legal permission to copy, +distribute and/or modify the software. + + Also, for each author's protection and ours, we want to make certain +that everyone understands that there is no warranty for this free +software. If the software is modified by someone else and passed on, we +want its recipients to know that what they have is not the original, so +that any problems introduced by others will not reflect on the original +authors' reputations. + + Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that redistributors of a free +program will individually obtain patent licenses, in effect making the +program proprietary. To prevent this, we have made it clear that any +patent must be licensed for everyone's free use or not licensed at all. + + The precise terms and conditions for copying, distribution and +modification follow. + + GNU GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License applies to any program or other work which contains +a notice placed by the copyright holder saying it may be distributed +under the terms of this General Public License. The "Program", below, +refers to any such program or work, and a "work based on the Program" +means either the Program or any derivative work under copyright law: +that is to say, a work containing the Program or a portion of it, +either verbatim or with modifications and/or translated into another +language. (Hereinafter, translation is included without limitation in +the term "modification".) Each licensee is addressed as "you". + +Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running the Program is not restricted, and the output from the Program +is covered only if its contents constitute a work based on the +Program (independent of having been made by running the Program). +Whether that is true depends on what the Program does. + + 1. You may copy and distribute verbatim copies of the Program's +source code as you receive it, in any medium, provided that you +conspicuously and appropriately publish on each copy an appropriate +copyright notice and disclaimer of warranty; keep intact all the +notices that refer to this License and to the absence of any warranty; +and give any other recipients of the Program a copy of this License +along with the Program. + +You may charge a fee for the physical act of transferring a copy, and +you may at your option offer warranty protection in exchange for a fee. + + 2. You may modify your copy or copies of the Program or any portion +of it, thus forming a work based on the Program, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) You must cause the modified files to carry prominent notices + stating that you changed the files and the date of any change. + + b) You must cause any work that you distribute or publish, that in + whole or in part contains or is derived from the Program or any + part thereof, to be licensed as a whole at no charge to all third + parties under the terms of this License. + + c) If the modified program normally reads commands interactively + when run, you must cause it, when started running for such + interactive use in the most ordinary way, to print or display an + announcement including an appropriate copyright notice and a + notice that there is no warranty (or else, saying that you provide + a warranty) and that users may redistribute the program under + these conditions, and telling the user how to view a copy of this + License. (Exception: if the Program itself is interactive but + does not normally print such an announcement, your work based on + the Program is not required to print an announcement.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Program, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Program, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Program. + +In addition, mere aggregation of another work not based on the Program +with the Program (or with a work based on the Program) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may copy and distribute the Program (or a work based on it, +under Section 2) in object code or executable form under the terms of +Sections 1 and 2 above provided that you also do one of the following: + + a) Accompany it with the complete corresponding machine-readable + source code, which must be distributed under the terms of Sections + 1 and 2 above on a medium customarily used for software interchange; or, + + b) Accompany it with a written offer, valid for at least three + years, to give any third party, for a charge no more than your + cost of physically performing source distribution, a complete + machine-readable copy of the corresponding source code, to be + distributed under the terms of Sections 1 and 2 above on a medium + customarily used for software interchange; or, + + c) Accompany it with the information you received as to the offer + to distribute corresponding source code. (This alternative is + allowed only for noncommercial distribution and only if you + received the program in object code or executable form with such + an offer, in accord with Subsection b above.) + +The source code for a work means the preferred form of the work for +making modifications to it. For an executable work, complete source +code means all the source code for all modules it contains, plus any +associated interface definition files, plus the scripts used to +control compilation and installation of the executable. However, as a +special exception, the source code distributed need not include +anything that is normally distributed (in either source or binary +form) with the major components (compiler, kernel, and so on) of the +operating system on which the executable runs, unless that component +itself accompanies the executable. + +If distribution of executable or object code is made by offering +access to copy from a designated place, then offering equivalent +access to copy the source code from the same place counts as +distribution of the source code, even though third parties are not +compelled to copy the source along with the object code. + + 4. You may not copy, modify, sublicense, or distribute the Program +except as expressly provided under this License. Any attempt +otherwise to copy, modify, sublicense or distribute the Program is +void, and will automatically terminate your rights under this License. +However, parties who have received copies, or rights, from you under +this License will not have their licenses terminated so long as such +parties remain in full compliance. + + 5. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Program or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Program (or any work based on the +Program), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Program or works based on it. + + 6. Each time you redistribute the Program (or any work based on the +Program), the recipient automatically receives a license from the +original licensor to copy, distribute or modify the Program subject to +these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. + + 7. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Program at all. For example, if a patent +license would not permit royalty-free redistribution of the Program by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Program. + +If any portion of this section is held invalid or unenforceable under +any particular circumstance, the balance of the section is intended to +apply and the section as a whole is intended to apply in other +circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system, which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 8. If the distribution and/or use of the Program is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Program under this License +may add an explicit geographical distribution limitation excluding +those countries, so that distribution is permitted only in or among +countries not thus excluded. In such case, this License incorporates +the limitation as if written in the body of this License. + + 9. The Free Software Foundation may publish revised and/or new versions +of the General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + +Each version is given a distinguishing version number. If the Program +specifies a version number of this License which applies to it and "any +later version", you have the option of following the terms and conditions +either of that version or of any later version published by the Free +Software Foundation. If the Program does not specify a version number of +this License, you may choose any version ever published by the Free Software +Foundation. + + 10. If you wish to incorporate parts of the Program into other free +programs whose distribution conditions are different, write to the author +to ask for permission. For software which is copyrighted by the Free +Software Foundation, write to the Free Software Foundation; we sometimes +make exceptions for this. Our decision will be guided by the two goals +of preserving the free status of all derivatives of our free software and +of promoting the sharing and reuse of software generally. + + NO WARRANTY + + 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY +FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN +OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES +PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED +OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS +TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE +PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, +REPAIR OR CORRECTION. + + 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR +REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, +INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING +OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED +TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY +YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER +PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE +POSSIBILITY OF SUCH DAMAGES. + + END OF TERMS AND CONDITIONS diff --git a/Makefile.am b/Makefile.am new file mode 100644 index 0000000..9f40e2f --- /dev/null +++ b/Makefile.am @@ -0,0 +1,80 @@ +KDE_OPTIONS = noautodist +SUBDIRS = bibletime pot docs . + +EXTRA_DIST = \ +BibleTime.kdevelop \ +LICENSE \ +ChangeLog \ +bibletime.spec.in bibletime.spec \ +README.in README \ +INSTALL.in INSTALL\ +bibletime.lsm.in bibletime.lsm \ +configure.in.in configure.in \ +bibletime.desktop.in bibletime.desktop \ +Makefile.cvs autogen.sh \ +bibletime.m4 sword.m4 clucene.m4 + +btadmindir = $(top_srcdir)/admin + +# EXTRA_DIST += $(btadmindir)/ChangeLog +EXTRA_DIST += $(btadmindir)/compile +EXTRA_DIST += $(btadmindir)/config.guess +EXTRA_DIST += $(btadmindir)/config.pl +EXTRA_DIST += $(btadmindir)/config.sub +EXTRA_DIST += $(btadmindir)/configure.in.bot.end +EXTRA_DIST += $(btadmindir)/configure.in.min +EXTRA_DIST += $(btadmindir)/cvs-clean.pl +EXTRA_DIST += $(btadmindir)/install-sh +EXTRA_DIST += $(btadmindir)/ltmain.sh +EXTRA_DIST += $(btadmindir)/missing +EXTRA_DIST += $(btadmindir)/mkinstalldirs +EXTRA_DIST += $(btadmindir)/ylwrap +EXTRA_DIST += $(btadmindir)/Makefile.common +EXTRA_DIST += $(btadmindir)/acinclude.m4.in +EXTRA_DIST += $(btadmindir)/am_edit +EXTRA_DIST += $(btadmindir)/conf.change.pl +EXTRA_DIST += $(btadmindir)/debianrules +EXTRA_DIST += $(btadmindir)/depcomp +EXTRA_DIST += $(btadmindir)/detect-autoconf.sh +EXTRA_DIST += $(btadmindir)/libtool.m4.in +EXTRA_DIST += $(btadmindir)/nmcheck +EXTRA_DIST += $(btadmindir)/cvs.sh + + +# not a GNU package. You can remove this line, if +# have all needed files, that a GNU package needs +AUTOMAKE_OPTIONS = 1.6 foreign dist-bzip2 + +$(top_srcdir)/acinclude.m4: $(top_srcdir)/admin/acinclude.m4.in $(top_srcdir)/admin/libtool.m4.in sword.m4 bibletime.m4 clucene.m4 + @cd $(top_srcdir) && cat admin/acinclude.m4.in admin/libtool.m4.in sword.m4 bibletime.m4 clucene.m4 > acinclude.m4 +$(top_srcdir)/configure.in: $(top_srcdir)/configure.files $(shell test -f $(top_srcdir)/configure.files && cat $(top_srcdir)/configure.files) + cd $(top_srcdir) && $(MAKE) -f admin/Makefile.common configure.in +$(top_srcdir)/subdirs: + cd $(top_srcdir) && $(MAKE) -f admin/Makefile.common subdirs +$(top_srcdir)/configure.files: + cd $(top_srcdir) && $(MAKE) -f admin/Makefile.common configure.files + +install-data-local: + chmod 755 $(DESTDIR)$(kde_datadir)/bibletime -R + $(mkinstalldirs) $(datadir)/applications + $(INSTALL_DATA) $(top_builddir)/bibletime.desktop $(datadir)/applications/bibletime.desktop + +uninstall-local: + -rm -f $(datadir)/applications/bibletime.desktop + +MAINTAINERCLEANFILES = configure.files subdirs + +dist-hook: + rm -f $(distdir)/bibletime-*.tar.gz $(distdir)/bibletime-*.tar.bz2 + rm -rf $(find $(distdir) -name tags -o -name TAGS -o -name \*.xcf -o -name \*.xcf.bz2) +# rm -f $(distdir)/admin/Changelog $(distdir)/make-messages.sh \ +# $(distdir)/extractrc $(distdir)/preparetips \ +# $(distdir)/bibletime.doxygen $(distdir)/bibletime.kdevses \ +# $(distdir)/bibletime.start $(distdir)/configure.files \ +# $(distdir)/bibletime/pics/gen_am.sh + rm -rf $(distdir)/autom4te.cache + rm -rf $(distdir)/BibleTime.kdevelop.pcs + rm -rf $(distdir)/docs/handbook/html/*.html + rm -rf $(distdir)/docs/howto/html/*.html +# rm -rf $(distdir)/BibleTime.tag +# $(distdir)/BibleTime.kdevses diff --git a/Makefile.cvs b/Makefile.cvs new file mode 100644 index 0000000..2444ea1 --- /dev/null +++ b/Makefile.cvs @@ -0,0 +1,14 @@ +# +# Makefile for the cvs repository of BibleTime +# Modified by Martin Gruner +# +# Copyright: (c) 2000 The BibleTime team. +# + +all: + @echo "This Makefile is only for the CVS repository" + @echo "This will be deleted before making the distribution" + @echo "" + $(MAKE) -f admin/Makefile.common cvs + +.SILENT: diff --git a/Makefile.in b/Makefile.in new file mode 100644 index 0000000..67d62df --- /dev/null +++ b/Makefile.in @@ -0,0 +1,953 @@ +# Makefile.in generated by automake 1.10.1 from Makefile.am. +# KDE tags expanded automatically by am_edit - $Revision: 1.31 $ +# @configure_input@ + +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 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. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +@SET_MAKE@ +VPATH = @srcdir@ +pkgdatadir = $(datadir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = @build@ +host_triplet = @host@ +target_triplet = @target@ +subdir = . +DIST_COMMON = $(am__configure_deps) $(srcdir)/INSTALL.in \ + $(srcdir)/Makefile.am $(srcdir)/Makefile.in \ + $(srcdir)/README.in $(srcdir)/bibletime.desktop.in \ + $(srcdir)/bibletime.lsm.in $(srcdir)/bibletime.spec.in \ + $(srcdir)/config.h.in $(top_srcdir)/configure ChangeLog \ + admin/compile admin/config.guess admin/config.sub \ + admin/depcomp admin/install-sh admin/ltmain.sh admin/missing \ + admin/mkinstalldirs admin/ylwrap +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \ + $(top_srcdir)/configure.in +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \ + configure.lineno config.status.lineno +mkinstalldirs = $(SHELL) $(top_srcdir)/admin/mkinstalldirs +CONFIG_HEADER = config.h +CONFIG_CLEAN_FILES = README INSTALL bibletime.lsm bibletime.spec \ + bibletime.desktop +SOURCES = +DIST_SOURCES = +#>- RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ +#>- html-recursive info-recursive install-data-recursive \ +#>- install-dvi-recursive install-exec-recursive \ +#>- install-html-recursive install-info-recursive \ +#>- install-pdf-recursive install-ps-recursive install-recursive \ +#>- installcheck-recursive installdirs-recursive pdf-recursive \ +#>- ps-recursive uninstall-recursive +#>+ 7 +RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ + html-recursive info-recursive install-data-recursive \ + install-dvi-recursive install-exec-recursive \ + install-html-recursive install-info-recursive \ + install-pdf-recursive install-ps-recursive install-recursive \ + installcheck-recursive installdirs-recursive pdf-recursive \ + ps-recursive uninstall-recursive nmcheck-recursive bcheck-recursive +RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ + distclean-recursive maintainer-clean-recursive +ETAGS = etags +CTAGS = ctags +DIST_SUBDIRS = $(SUBDIRS) +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +distdir = $(PACKAGE)-$(VERSION) +top_distdir = $(distdir) +am__remove_distdir = \ + { test ! -d $(distdir) \ + || { find $(distdir) -type d ! -perm -200 -exec chmod u+w {} ';' \ + && rm -fr $(distdir); }; } +DIST_ARCHIVES = $(distdir).tar.gz $(distdir).tar.bz2 +GZIP_ENV = --best +distuninstallcheck_listfiles = find . -type f -print +distcleancheck_listfiles = find . -type f -print +ACLOCAL = @ACLOCAL@ +AMTAR = @AMTAR@ +AR = @AR@ +ARTSCCONFIG = @ARTSCCONFIG@ +AUTOCONF = @AUTOCONF@ +AUTODIRS = @AUTODIRS@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +BT_LDFLAGS = @BT_LDFLAGS@ +CC = @CC@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ +CLUCENE_INCLUDES = @CLUCENE_INCLUDES@ +CLUCENE_LIBRARY_PATH = @CLUCENE_LIBRARY_PATH@ +CONF_FILES = @CONF_FILES@ +CPP = @CPP@ +CPPFLAGS = @CPPFLAGS@ +CXX = @CXX@ +CXXCPP = @CXXCPP@ +CXXDEPMODE = @CXXDEPMODE@ +CXXFLAGS = @CXXFLAGS@ +CYGPATH_W = @CYGPATH_W@ +DCOPIDL = @DCOPIDL@ +DCOPIDL2CPP = @DCOPIDL2CPP@ +DCOPIDLNG = @DCOPIDLNG@ +DCOP_DEPENDENCIES = @DCOP_DEPENDENCIES@ +DEFS = @DEFS@ +DEPDIR = @DEPDIR@ +DISTRIBUTION = @DISTRIBUTION@ +DISTRIBUTION_VERSION = @DISTRIBUTION_VERSION@ +ECHO = @ECHO@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EGREP = @EGREP@ +ENABLE_PERMISSIVE_FLAG = @ENABLE_PERMISSIVE_FLAG@ +EXEEXT = @EXEEXT@ +F77 = @F77@ +FFLAGS = @FFLAGS@ +FRAMEWORK_COREAUDIO = @FRAMEWORK_COREAUDIO@ +GMSGFMT = @GMSGFMT@ +GREP = @GREP@ +HAVE_GCC_VISIBILITY = @HAVE_GCC_VISIBILITY@ +HOWTODIR = @HOWTODIR@ +INSTALL = @INSTALL@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +KCFG_DEPENDENCIES = @KCFG_DEPENDENCIES@ +KCONFIG_COMPILER = @KCONFIG_COMPILER@ +KDECONFIG = @KDECONFIG@ +KDE_EXTRA_RPATH = @KDE_EXTRA_RPATH@ +KDE_INCLUDES = @KDE_INCLUDES@ +KDE_LDFLAGS = @KDE_LDFLAGS@ +KDE_MT_LDFLAGS = @KDE_MT_LDFLAGS@ +KDE_MT_LIBS = @KDE_MT_LIBS@ +KDE_NO_UNDEFINED = @KDE_NO_UNDEFINED@ +KDE_PLUGIN = @KDE_PLUGIN@ +KDE_RPATH = @KDE_RPATH@ +KDE_USE_CLOSURE_FALSE = @KDE_USE_CLOSURE_FALSE@ +KDE_USE_CLOSURE_TRUE = @KDE_USE_CLOSURE_TRUE@ +KDE_USE_FINAL_FALSE = @KDE_USE_FINAL_FALSE@ +KDE_USE_FINAL_TRUE = @KDE_USE_FINAL_TRUE@ +KDE_USE_NMCHECK_FALSE = @KDE_USE_NMCHECK_FALSE@ +KDE_USE_NMCHECK_TRUE = @KDE_USE_NMCHECK_TRUE@ +KDE_XSL_STYLESHEET = @KDE_XSL_STYLESHEET@ +LDFLAGS = @LDFLAGS@ +LDFLAGS_AS_NEEDED = @LDFLAGS_AS_NEEDED@ +LDFLAGS_NEW_DTAGS = @LDFLAGS_NEW_DTAGS@ +LIBCOMPAT = @LIBCOMPAT@ +LIBCRYPT = @LIBCRYPT@ +LIBDL = @LIBDL@ +LIBJPEG = @LIBJPEG@ +LIBOBJS = @LIBOBJS@ +LIBPNG = @LIBPNG@ +LIBPTHREAD = @LIBPTHREAD@ +LIBRESOLV = @LIBRESOLV@ +LIBS = @LIBS@ +LIBSM = @LIBSM@ +LIBSOCKET = @LIBSOCKET@ +LIBTOOL = @LIBTOOL@ +LIBUCB = @LIBUCB@ +LIBUTIL = @LIBUTIL@ +LIBZ = @LIBZ@ +LIB_CLUCENE = @LIB_CLUCENE@ +LIB_KAB = @LIB_KAB@ +LIB_KABC = @LIB_KABC@ +LIB_KDECORE = @LIB_KDECORE@ +LIB_KDEPIM = @LIB_KDEPIM@ +LIB_KDEPRINT = @LIB_KDEPRINT@ +LIB_KDEUI = @LIB_KDEUI@ +LIB_KDNSSD = @LIB_KDNSSD@ +LIB_KFILE = @LIB_KFILE@ +LIB_KFM = @LIB_KFM@ +LIB_KHTML = @LIB_KHTML@ +LIB_KIMPROXY = @LIB_KIMPROXY@ +LIB_KIO = @LIB_KIO@ +LIB_KJS = @LIB_KJS@ +LIB_KNEWSTUFF = @LIB_KNEWSTUFF@ +LIB_KPARTS = @LIB_KPARTS@ +LIB_KSPELL = @LIB_KSPELL@ +LIB_KSYCOCA = @LIB_KSYCOCA@ +LIB_KUTILS = @LIB_KUTILS@ +LIB_POLL = @LIB_POLL@ +LIB_QPE = @LIB_QPE@ +LIB_QT = @LIB_QT@ +LIB_SMB = @LIB_SMB@ +LIB_SWORD = @LIB_SWORD@ +LIB_X11 = @LIB_X11@ +LIB_XEXT = @LIB_XEXT@ +LIB_XRENDER = @LIB_XRENDER@ +LN_S = @LN_S@ +LTLIBOBJS = @LTLIBOBJS@ +MAINT = @MAINT@ +MAKEINFO = @MAKEINFO@ +MAKEKDEWIDGETS = @MAKEKDEWIDGETS@ +MCOPIDL = @MCOPIDL@ +MEINPROC = @MEINPROC@ +MKDIR_P = @MKDIR_P@ +MOC = @MOC@ +MSGFMT = @MSGFMT@ +NOOPT_CFLAGS = @NOOPT_CFLAGS@ +NOOPT_CXXFLAGS = @NOOPT_CXXFLAGS@ +OBJEXT = @OBJEXT@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +PERL = @PERL@ +QTE_NORTTI = @QTE_NORTTI@ +QT_INCLUDES = @QT_INCLUDES@ +QT_LDFLAGS = @QT_LDFLAGS@ +RANLIB = @RANLIB@ +RPM_GROUP = @RPM_GROUP@ +RPM_PREFIX = @RPM_PREFIX@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +STRIP = @STRIP@ +SWORD_INCLUDES = @SWORD_INCLUDES@ +SWORD_LIBRARY_PATH = @SWORD_LIBRARY_PATH@ +TOPSUBDIRS = @TOPSUBDIRS@ +UIC = @UIC@ +UIC_TR = @UIC_TR@ +USER_INCLUDES = @USER_INCLUDES@ +USER_LDFLAGS = @USER_LDFLAGS@ +USE_EXCEPTIONS = @USE_EXCEPTIONS@ +USE_RTTI = @USE_RTTI@ +USE_THREADS = @USE_THREADS@ +VERSION = @VERSION@ +WOVERLOADED_VIRTUAL = @WOVERLOADED_VIRTUAL@ +XGETTEXT = @XGETTEXT@ +XMKMF = @XMKMF@ +XMLLINT = @XMLLINT@ +X_EXTRA_LIBS = @X_EXTRA_LIBS@ +X_INCLUDES = @X_INCLUDES@ +X_LDFLAGS = @X_LDFLAGS@ +X_PRE_LIBS = @X_PRE_LIBS@ +X_RPATH = @X_RPATH@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ +ac_ct_CC = @ac_ct_CC@ +ac_ct_CXX = @ac_ct_CXX@ +ac_ct_F77 = @ac_ct_F77@ +all_includes = @all_includes@ +all_libraries = @all_libraries@ +am__include = @am__include@ +am__leading_dot = @am__leading_dot@ +am__quote = @am__quote@ +am__tar = @am__tar@ +am__untar = @am__untar@ +bindir = @bindir@ +build = @build@ +build_alias = @build_alias@ +build_cpu = @build_cpu@ +build_os = @build_os@ +build_vendor = @build_vendor@ +builddir = @builddir@ +datadir = @datadir@ +datarootdir = @datarootdir@ +docdir = @docdir@ +dvidir = @dvidir@ +exec_prefix = @exec_prefix@ +host = @host@ +host_alias = @host_alias@ +host_cpu = @host_cpu@ +host_os = @host_os@ +host_vendor = @host_vendor@ +htmldir = @htmldir@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ +kde_appsdir = @kde_appsdir@ +kde_bindir = @kde_bindir@ +kde_confdir = @kde_confdir@ +kde_datadir = @kde_datadir@ +kde_htmldir = @kde_htmldir@ +kde_icondir = @kde_icondir@ +kde_includes = @kde_includes@ +kde_kcfgdir = @kde_kcfgdir@ +kde_libraries = @kde_libraries@ +kde_libs_htmldir = @kde_libs_htmldir@ +kde_libs_prefix = @kde_libs_prefix@ +kde_locale = @kde_locale@ +kde_mimedir = @kde_mimedir@ +kde_moduledir = @kde_moduledir@ +kde_qtver = @kde_qtver@ +kde_servicesdir = @kde_servicesdir@ +kde_servicetypesdir = @kde_servicetypesdir@ +kde_sounddir = @kde_sounddir@ +kde_styledir = @kde_styledir@ +kde_templatesdir = @kde_templatesdir@ +kde_wallpaperdir = @kde_wallpaperdir@ +kde_widgetdir = @kde_widgetdir@ +kdeinitdir = @kdeinitdir@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localedir = @localedir@ +localstatedir = @localstatedir@ +mandir = @mandir@ +mkdir_p = @mkdir_p@ +oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +psdir = @psdir@ +qt_includes = @qt_includes@ +qt_libraries = @qt_libraries@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +srcdir = @srcdir@ +sysconfdir = @sysconfdir@ +target = @target@ +target_alias = @target_alias@ +target_cpu = @target_cpu@ +target_os = @target_os@ +target_vendor = @target_vendor@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ +x_includes = @x_includes@ +x_libraries = @x_libraries@ +xdg_appsdir = @xdg_appsdir@ +xdg_directorydir = @xdg_directorydir@ +xdg_menudir = @xdg_menudir@ +KDE_OPTIONS = noautodist +SUBDIRS = bibletime pot docs . + +# EXTRA_DIST += $(btadmindir)/ChangeLog +EXTRA_DIST = BibleTime.kdevelop LICENSE ChangeLog bibletime.spec.in \ + bibletime.spec README.in README INSTALL.in INSTALL \ + bibletime.lsm.in bibletime.lsm configure.in.in configure.in \ + bibletime.desktop.in bibletime.desktop Makefile.cvs autogen.sh \ + bibletime.m4 sword.m4 clucene.m4 $(btadmindir)/compile \ + $(btadmindir)/config.guess $(btadmindir)/config.pl \ + $(btadmindir)/config.sub $(btadmindir)/configure.in.bot.end \ + $(btadmindir)/configure.in.min $(btadmindir)/cvs-clean.pl \ + $(btadmindir)/install-sh $(btadmindir)/ltmain.sh \ + $(btadmindir)/missing $(btadmindir)/mkinstalldirs \ + $(btadmindir)/ylwrap $(btadmindir)/Makefile.common \ + $(btadmindir)/acinclude.m4.in $(btadmindir)/am_edit \ + $(btadmindir)/conf.change.pl $(btadmindir)/debianrules \ + $(btadmindir)/depcomp $(btadmindir)/detect-autoconf.sh \ + $(btadmindir)/libtool.m4.in $(btadmindir)/nmcheck \ + $(btadmindir)/cvs.sh +btadmindir = $(top_srcdir)/admin + +# not a GNU package. You can remove this line, if +# have all needed files, that a GNU package needs +AUTOMAKE_OPTIONS = 1.6 foreign dist-bzip2 +MAINTAINERCLEANFILES = configure.files subdirs +#>- all: config.h +#>+ 1 +all: docs-am config.h + $(MAKE) $(AM_MAKEFLAGS) all-recursive + +.SUFFIXES: +am--refresh: + @: +$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) +#>- @for dep in $?; do \ +#>- case '$(am__configure_deps)' in \ +#>- *$$dep*) \ +#>- echo ' cd $(srcdir) && $(AUTOMAKE) --foreign '; \ +#>- cd $(srcdir) && $(AUTOMAKE) --foreign \ +#>- && exit 0; \ +#>- exit 1;; \ +#>- esac; \ +#>- done; \ +#>- echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign Makefile'; \ +#>- cd $(top_srcdir) && \ +#>- $(AUTOMAKE) --foreign Makefile +#>+ 14 + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + echo ' cd $(srcdir) && $(AUTOMAKE) --foreign '; \ + ( \ + cd $(srcdir) && $(AUTOMAKE) --foreign \ + ) || exit 1; echo ' cd $(top_srcdir) && perl admin/am_edit '; cd $(top_srcdir) && perl admin/am_edit && exit 0; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign Makefile'; \ + cd $(top_srcdir) && \ + $(AUTOMAKE) --foreign Makefile + cd $(top_srcdir) && perl admin/am_edit Makefile.in +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + echo ' $(SHELL) ./config.status'; \ + $(SHELL) ./config.status;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + $(SHELL) ./config.status --recheck + +$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) +#>- cd $(srcdir) && $(AUTOCONF) +#>+ 2 + cd $(srcdir) && rm -f configure + cd $(top_srcdir) && $(MAKE) -f admin/Makefile.common configure +$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) + cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS) + +config.h: stamp-h1 + @if test ! -f $@; then \ + rm -f stamp-h1; \ + $(MAKE) $(AM_MAKEFLAGS) stamp-h1; \ + else :; fi + +stamp-h1: $(srcdir)/config.h.in $(top_builddir)/config.status + @rm -f stamp-h1 + cd $(top_builddir) && $(SHELL) ./config.status config.h +$(srcdir)/config.h.in: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) + cd $(top_srcdir) && $(AUTOHEADER) + rm -f stamp-h1 + touch $@ + +distclean-hdr: + -rm -f config.h stamp-h1 +README: $(top_builddir)/config.status $(srcdir)/README.in + cd $(top_builddir) && $(SHELL) ./config.status $@ +INSTALL: $(top_builddir)/config.status $(srcdir)/INSTALL.in + cd $(top_builddir) && $(SHELL) ./config.status $@ +bibletime.lsm: $(top_builddir)/config.status $(srcdir)/bibletime.lsm.in + cd $(top_builddir) && $(SHELL) ./config.status $@ +bibletime.spec: $(top_builddir)/config.status $(srcdir)/bibletime.spec.in + cd $(top_builddir) && $(SHELL) ./config.status $@ +bibletime.desktop: $(top_builddir)/config.status $(srcdir)/bibletime.desktop.in + cd $(top_builddir) && $(SHELL) ./config.status $@ + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs + +distclean-libtool: + -rm -f libtool + +# This directory's subdirectories are mostly independent; you can cd +# into them and run `make' without going through this Makefile. +# To change the values of `make' variables: instead of editing Makefiles, +# (1) if the variable is set in `config.status', edit `config.status' +# (which will cause the Makefiles to be regenerated when you run `make'); +# (2) otherwise, pass the desired values on the `make' command line. +$(RECURSIVE_TARGETS): + @failcom='exit 1'; \ + for f in x $$MAKEFLAGS; do \ + case $$f in \ + *=* | --[!k]*);; \ + *k*) failcom='fail=yes';; \ + esac; \ + done; \ + dot_seen=no; \ + target=`echo $@ | sed s/-recursive//`; \ + list='$(SUBDIRS)'; for subdir in $$list; do \ + echo "Making $$target in $$subdir"; \ + if test "$$subdir" = "."; then \ + dot_seen=yes; \ + local_target="$$target-am"; \ + else \ + local_target="$$target"; \ + fi; \ + (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ + || eval $$failcom; \ + done; \ + if test "$$dot_seen" = "no"; then \ + $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ + fi; test -z "$$fail" + +$(RECURSIVE_CLEAN_TARGETS): + @failcom='exit 1'; \ + for f in x $$MAKEFLAGS; do \ + case $$f in \ + *=* | --[!k]*);; \ + *k*) failcom='fail=yes';; \ + esac; \ + done; \ + dot_seen=no; \ + case "$@" in \ + distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ + *) list='$(SUBDIRS)' ;; \ + esac; \ + rev=''; for subdir in $$list; do \ + if test "$$subdir" = "."; then :; else \ + rev="$$subdir $$rev"; \ + fi; \ + done; \ + rev="$$rev ."; \ + target=`echo $@ | sed s/-recursive//`; \ + for subdir in $$rev; do \ + echo "Making $$target in $$subdir"; \ + if test "$$subdir" = "."; then \ + local_target="$$target-am"; \ + else \ + local_target="$$target"; \ + fi; \ + (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ + || eval $$failcom; \ + done && test -z "$$fail" +tags-recursive: + list='$(SUBDIRS)'; for subdir in $$list; do \ + test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ + done +ctags-recursive: + list='$(SUBDIRS)'; for subdir in $$list; do \ + test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ + done + +ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ + mkid -fID $$unique +tags: TAGS + +TAGS: tags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + here=`pwd`; \ + if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ + include_option=--etags-include; \ + empty_fix=.; \ + else \ + include_option=--include; \ + empty_fix=; \ + fi; \ + list='$(SUBDIRS)'; for subdir in $$list; do \ + if test "$$subdir" = .; then :; else \ + test ! -f $$subdir/TAGS || \ + tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \ + fi; \ + done; \ + list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ + if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$tags $$unique; \ + fi +ctags: CTAGS +CTAGS: ctags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ + test -z "$(CTAGS_ARGS)$$tags$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$tags $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && cd $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) $$here + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags + +distdir: $(DISTFILES) + $(am__remove_distdir) + test -d $(distdir) || mkdir $(distdir) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + fi; \ + cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + else \ + test -f $(distdir)/$$file \ + || cp -p $$d/$$file $(distdir)/$$file \ + || exit 1; \ + fi; \ + done + list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ + if test "$$subdir" = .; then :; else \ + test -d "$(distdir)/$$subdir" \ + || $(MKDIR_P) "$(distdir)/$$subdir" \ + || exit 1; \ + distdir=`$(am__cd) $(distdir) && pwd`; \ + top_distdir=`$(am__cd) $(top_distdir) && pwd`; \ + (cd $$subdir && \ + $(MAKE) $(AM_MAKEFLAGS) \ + top_distdir="$$top_distdir" \ + distdir="$$distdir/$$subdir" \ + am__remove_distdir=: \ + am__skip_length_check=: \ + distdir) \ + || exit 1; \ + fi; \ + done + $(MAKE) $(AM_MAKEFLAGS) \ + top_distdir="$(top_distdir)" distdir="$(distdir)" \ + dist-hook + -find $(distdir) -type d ! -perm -777 -exec chmod a+rwx {} \; -o \ + ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \ + ! -type d ! -perm -400 -exec chmod a+r {} \; -o \ + ! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \ + || chmod -R a+r $(distdir) +dist-gzip: distdir + tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz + $(am__remove_distdir) +dist-bzip2: distdir + tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2 + $(am__remove_distdir) + +dist-lzma: distdir + tardir=$(distdir) && $(am__tar) | lzma -9 -c >$(distdir).tar.lzma + $(am__remove_distdir) + +dist-tarZ: distdir + tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z + $(am__remove_distdir) + +dist-shar: distdir + shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz + $(am__remove_distdir) + +dist-zip: distdir + -rm -f $(distdir).zip + zip -rq $(distdir).zip $(distdir) + $(am__remove_distdir) + +dist dist-all: distdir + tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz + tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2 + $(am__remove_distdir) + +# This target untars the dist file and tries a VPATH configuration. Then +# it guarantees that the distribution is self-contained by making another +# tarfile. +distcheck: dist + case '$(DIST_ARCHIVES)' in \ + *.tar.gz*) \ + GZIP=$(GZIP_ENV) 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*) \ + GZIP=$(GZIP_ENV) gunzip -c $(distdir).shar.gz | unshar ;;\ + *.zip*) \ + unzip $(distdir).zip ;;\ + esac + chmod -R a-w $(distdir); chmod a+w $(distdir) + mkdir $(distdir)/_build + mkdir $(distdir)/_inst + chmod a-w $(distdir) + dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \ + && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \ + && cd $(distdir)/_build \ + && ../configure --srcdir=.. --prefix="$$dc_install_base" \ + $(DISTCHECK_CONFIGURE_FLAGS) \ + && $(MAKE) $(AM_MAKEFLAGS) \ + && $(MAKE) $(AM_MAKEFLAGS) dvi \ + && $(MAKE) $(AM_MAKEFLAGS) check \ + && $(MAKE) $(AM_MAKEFLAGS) install \ + && $(MAKE) $(AM_MAKEFLAGS) installcheck \ + && $(MAKE) $(AM_MAKEFLAGS) uninstall \ + && $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \ + distuninstallcheck \ + && chmod -R a-w "$$dc_install_base" \ + && ({ \ + (cd ../.. && umask 077 && mkdir "$$dc_destdir") \ + && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \ + && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \ + && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \ + distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \ + } || { rm -rf "$$dc_destdir"; exit 1; }) \ + && rm -rf "$$dc_destdir" \ + && $(MAKE) $(AM_MAKEFLAGS) dist \ + && rm -rf $(DIST_ARCHIVES) \ + && $(MAKE) $(AM_MAKEFLAGS) distcleancheck + $(am__remove_distdir) + @(echo "$(distdir) archives ready for distribution: "; \ + list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \ + sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x' +distuninstallcheck: + @cd $(distuninstallcheck_dir) \ + && test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \ + || { echo "ERROR: files left after uninstall:" ; \ + if test -n "$(DESTDIR)"; then \ + echo " (check DESTDIR support)"; \ + fi ; \ + $(distuninstallcheck_listfiles) ; \ + exit 1; } >&2 +distcleancheck: distclean + @if test '$(srcdir)' = . ; then \ + echo "ERROR: distcleancheck can only run from a VPATH build" ; \ + exit 1 ; \ + fi + @test `$(distcleancheck_listfiles) | wc -l` -eq 0 \ + || { echo "ERROR: files left in build directory after distclean:" ; \ + $(distcleancheck_listfiles) ; \ + exit 1; } >&2 +check-am: all-am +check: check-recursive +all-am: Makefile config.h +installdirs: installdirs-recursive +installdirs-am: +install: install-recursive +install-exec: install-exec-recursive +install-data: install-data-recursive +uninstall: uninstall-recursive + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-recursive +install-strip: + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + `test -z '$(STRIP)' || \ + echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." + -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES) +#>- clean: clean-recursive +#>+ 1 +clean: kde-rpo-clean clean-recursive + +#>- clean-am: clean-generic clean-libtool mostlyclean-am +#>+ 1 +clean-am: clean-bcheck clean-generic clean-libtool mostlyclean-am + +distclean: distclean-recursive + -rm -f $(am__CONFIG_DISTCLEAN_FILES) + -rm -f Makefile +distclean-am: clean-am distclean-generic distclean-hdr \ + distclean-libtool distclean-tags + +dvi: dvi-recursive + +dvi-am: + +html: html-recursive + +info: info-recursive + +info-am: + +install-data-am: install-data-local + +install-dvi: install-dvi-recursive + +install-exec-am: + +install-html: install-html-recursive + +install-info: install-info-recursive + +install-man: + +install-pdf: install-pdf-recursive + +install-ps: install-ps-recursive + +installcheck-am: + +maintainer-clean: maintainer-clean-recursive + -rm -f $(am__CONFIG_DISTCLEAN_FILES) + -rm -rf $(top_srcdir)/autom4te.cache + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-recursive + +mostlyclean-am: mostlyclean-generic mostlyclean-libtool + +pdf: pdf-recursive + +pdf-am: + +ps: ps-recursive + +ps-am: + +uninstall-am: uninstall-local + +.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) install-am \ + install-strip + +.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \ + all all-am am--refresh check check-am clean clean-generic \ + clean-libtool ctags ctags-recursive dist dist-all dist-bzip2 \ + dist-gzip dist-hook dist-lzma dist-shar dist-tarZ dist-zip \ + distcheck distclean distclean-generic distclean-hdr \ + distclean-libtool distclean-tags distcleancheck distdir \ + distuninstallcheck dvi dvi-am html html-am info info-am \ + install install-am install-data install-data-am \ + install-data-local install-dvi install-dvi-am install-exec \ + install-exec-am install-html install-html-am install-info \ + install-info-am install-man install-pdf install-pdf-am \ + install-ps install-ps-am install-strip installcheck \ + installcheck-am installdirs installdirs-am maintainer-clean \ + maintainer-clean-generic mostlyclean mostlyclean-generic \ + mostlyclean-libtool pdf pdf-am ps ps-am tags tags-recursive \ + uninstall uninstall-am uninstall-local + + +$(top_srcdir)/acinclude.m4: $(top_srcdir)/admin/acinclude.m4.in $(top_srcdir)/admin/libtool.m4.in sword.m4 bibletime.m4 clucene.m4 + @cd $(top_srcdir) && cat admin/acinclude.m4.in admin/libtool.m4.in sword.m4 bibletime.m4 clucene.m4 > acinclude.m4 +$(top_srcdir)/configure.in: $(top_srcdir)/configure.files $(shell test -f $(top_srcdir)/configure.files && cat $(top_srcdir)/configure.files) + cd $(top_srcdir) && $(MAKE) -f admin/Makefile.common configure.in +$(top_srcdir)/subdirs: + cd $(top_srcdir) && $(MAKE) -f admin/Makefile.common subdirs +$(top_srcdir)/configure.files: + cd $(top_srcdir) && $(MAKE) -f admin/Makefile.common configure.files + +install-data-local: + chmod 755 $(DESTDIR)$(kde_datadir)/bibletime -R +#>- $(mkinstalldirs) $(datadir)/applications +#>+ 1 + $(mkinstalldirs) $(DESTDIR)$(datadir)/applications +#>- $(INSTALL_DATA) $(top_builddir)/bibletime.desktop $(datadir)/applications/bibletime.desktop +#>+ 1 + $(INSTALL_DATA) $(top_builddir)/bibletime.desktop $(DESTDIR)$(datadir)/applications/bibletime.desktop + +uninstall-local: +#>- -rm -f $(datadir)/applications/bibletime.desktop +#>+ 1 + -rm -f $(DESTDIR)$(datadir)/applications/bibletime.desktop + +dist-hook: + rm -f $(distdir)/bibletime-*.tar.gz $(distdir)/bibletime-*.tar.bz2 + rm -rf $(find $(distdir) -name tags -o -name TAGS -o -name \*.xcf -o -name \*.xcf.bz2) +# rm -f $(distdir)/admin/Changelog $(distdir)/make-messages.sh \ +# $(distdir)/extractrc $(distdir)/preparetips \ +# $(distdir)/bibletime.doxygen $(distdir)/bibletime.kdevses \ +# $(distdir)/bibletime.start $(distdir)/configure.files \ +# $(distdir)/bibletime/pics/gen_am.sh + rm -rf $(distdir)/autom4te.cache + rm -rf $(distdir)/BibleTime.kdevelop.pcs + rm -rf $(distdir)/docs/handbook/html/*.html + rm -rf $(distdir)/docs/howto/html/*.html +# rm -rf $(distdir)/BibleTime.tag +# $(distdir)/BibleTime.kdevses +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: + +#>+ 2 +docs-am: + +#>+ 7 +force-reedit: + \ + cd $(srcdir) && $(AUTOMAKE) --foreign \ + + cd $(top_srcdir) && perl admin/am_edit Makefile.in + + +#>+ 21 +clean-bcheck: + rm -f *.bchecktest.cc *.bchecktest.cc.class a.out + +bcheck: bcheck-recursive + +bcheck-am: + @for i in ; do \ + if test $(srcdir)/$$i -nt $$i.bchecktest.cc; then \ + echo "int main() {return 0;}" > $$i.bchecktest.cc ; \ + echo "#include \"$$i\"" >> $$i.bchecktest.cc ; \ + echo "$$i"; \ + if ! $(CXX) $(DEFS) -I. -I$(srcdir) -I$(top_builddir) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(CXXFLAGS) $(KDE_CXXFLAGS) --dump-class-hierarchy -c $$i.bchecktest.cc; then \ + rm -f $$i.bchecktest.cc; exit 1; \ + fi ; \ + echo "" >> $$i.bchecktest.cc.class; \ + perl $(top_srcdir)/admin/bcheck.pl $$i.bchecktest.cc.class || { rm -f $$i.bchecktest.cc; exit 1; }; \ + rm -f a.out; \ + fi ; \ + done + + +#>+ 3 +final: + $(MAKE) all-am + +#>+ 3 +final-install: + $(MAKE) install-am + +#>+ 3 +no-final: + $(MAKE) all-am + +#>+ 3 +no-final-install: + $(MAKE) install-am + +#>+ 3 +cvs-clean: + $(MAKE) admindir=$(top_srcdir)/admin -f $(top_srcdir)/admin/Makefile.common cvs-clean + +#>+ 3 +kde-rpo-clean: + -rm -f *.rpo + +#>+ 3 +nmcheck: +nmcheck-am: nmcheck diff --git a/README b/README new file mode 100644 index 0000000..4b906e9 --- /dev/null +++ b/README @@ -0,0 +1,36 @@ +In this file: +------------- + * General introduction + * Requirements + * Documentation + +General introduction: +-------------------- +This is BibleTime 1.6.5.1. BibleTime is a Bible study application based on KDE 3.3 or later. + +Please report any bugs your find to info@bibletime.info or use the links on our webpage at +http://www.bibletime.info. Please do not hesitate to send suggestions or criticism to info@bibletime.info. + +Read the file INSTALL how to install and compile this version of BibleTime. There's also a SPEC file +to create RPMs, it's called bibletime.spec. + +For a list of the contributors to BibleTime read the "About BibleTime" pages available in the +"Help" menu of BibleTime. + +This README file contains some useful instructions and tips how to use BibleTime. +Please read the handbook, too. It contains many instructions about the usage and +installation of BibleTime. + +Requirements: +------------- +See file INSTALL for detailed installation instructions. + +Documentation: +-------------- +You can find information about BibleTime, the installation and its usage in the following places: + o http://www.bibletime.info/ + o The BibleTime handbook available in the Help menu of the BibleTime application + o There's a Bible study tutorial in the help menu + +May God, our Lord use BibleTime for his glory, +The BibleTime developers, info@bibletime.info diff --git a/README.in b/README.in new file mode 100644 index 0000000..d53a104 --- /dev/null +++ b/README.in @@ -0,0 +1,36 @@ +In this file: +------------- + * General introduction + * Requirements + * Documentation + +General introduction: +-------------------- +This is BibleTime @VERSION@. BibleTime is a Bible study application based on KDE 3.3 or later. + +Please report any bugs your find to info@bibletime.info or use the links on our webpage at +http://www.bibletime.info. Please do not hesitate to send suggestions or criticism to info@bibletime.info. + +Read the file INSTALL how to install and compile this version of BibleTime. There's also a SPEC file +to create RPMs, it's called bibletime.spec. + +For a list of the contributors to BibleTime read the "About BibleTime" pages available in the +"Help" menu of BibleTime. + +This README file contains some useful instructions and tips how to use BibleTime. +Please read the handbook, too. It contains many instructions about the usage and +installation of BibleTime. + +Requirements: +------------- +See file INSTALL for detailed installation instructions. + +Documentation: +-------------- +You can find information about BibleTime, the installation and its usage in the following places: + o http://www.bibletime.info/ + o The BibleTime handbook available in the Help menu of the BibleTime application + o There's a Bible study tutorial in the help menu + +May God, our Lord use BibleTime for his glory, +The BibleTime developers, info@bibletime.info diff --git a/acinclude.m4 b/acinclude.m4 new file mode 100644 index 0000000..bbd9be2 --- /dev/null +++ b/acinclude.m4 @@ -0,0 +1,12174 @@ +## -*- autoconf -*- + +dnl This file is part of the KDE libraries/packages +dnl Copyright (C) 1997 Janos Farkas (chexum@shadow.banki.hu) +dnl (C) 1997,98,99 Stephan Kulow (coolo@kde.org) + +dnl This file is free software; you can redistribute it and/or +dnl modify it under the terms of the GNU Library General Public +dnl License as published by the Free Software Foundation; either +dnl version 2 of the License, or (at your option) any later version. + +dnl This library is distributed in the hope that it will be useful, +dnl but WITHOUT ANY WARRANTY; without even the implied warranty of +dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +dnl Library General Public License for more details. + +dnl You should have received a copy of the GNU Library General Public License +dnl along with this library; see the file COPYING.LIB. If not, write to +dnl the Free Software Foundation, Inc., 59 Temple Place - Suite 330, +dnl Boston, MA 02111-1307, USA. + +dnl IMPORTANT NOTE: +dnl Please do not modify this file unless you expect your modifications to be +dnl carried into every other module in the repository. +dnl +dnl Single-module modifications are best placed in configure.in for kdelibs +dnl and kdebase or configure.in.in if present. + +# KDE_PATH_X_DIRECT +dnl Internal subroutine of AC_PATH_X. +dnl Set ac_x_includes and/or ac_x_libraries. +AC_DEFUN([KDE_PATH_X_DIRECT], +[ +AC_REQUIRE([KDE_CHECK_LIB64]) + +if test "$ac_x_includes" = NO; then + # Guess where to find include files, by looking for this one X11 .h file. + test -z "$x_direct_test_include" && x_direct_test_include=X11/Intrinsic.h + + # First, try using that file with no special directory specified. +AC_TRY_CPP([#include <$x_direct_test_include>], +[# We can compile using X headers with no special include directory. +ac_x_includes=], +[# Look for the header file in a standard set of common directories. +# Check X11 before X11Rn because it is often a symlink to the current release. + for ac_dir in \ + /usr/X11/include \ + /usr/X11R6/include \ + /usr/X11R5/include \ + /usr/X11R4/include \ + \ + /usr/include/X11 \ + /usr/include/X11R6 \ + /usr/include/X11R5 \ + /usr/include/X11R4 \ + \ + /usr/local/X11/include \ + /usr/local/X11R6/include \ + /usr/local/X11R5/include \ + /usr/local/X11R4/include \ + \ + /usr/local/include/X11 \ + /usr/local/include/X11R6 \ + /usr/local/include/X11R5 \ + /usr/local/include/X11R4 \ + \ + /usr/X386/include \ + /usr/x386/include \ + /usr/XFree86/include/X11 \ + \ + /usr/include \ + /usr/local/include \ + /usr/unsupported/include \ + /usr/athena/include \ + /usr/local/x11r5/include \ + /usr/lpp/Xamples/include \ + \ + /usr/openwin/include \ + /usr/openwin/share/include \ + ; \ + do + if test -r "$ac_dir/$x_direct_test_include"; then + ac_x_includes=$ac_dir + break + fi + done]) +fi # $ac_x_includes = NO + +if test "$ac_x_libraries" = NO; then + # Check for the libraries. + + test -z "$x_direct_test_library" && x_direct_test_library=Xt + test -z "$x_direct_test_function" && x_direct_test_function=XtMalloc + + # See if we find them without any special options. + # Don't add to $LIBS permanently. + ac_save_LIBS="$LIBS" + LIBS="-l$x_direct_test_library $LIBS" +AC_TRY_LINK([#include ], [${x_direct_test_function}(1)], +[LIBS="$ac_save_LIBS" +# We can link X programs with no special library path. +ac_x_libraries=], +[LIBS="$ac_save_LIBS" +# First see if replacing the include by lib works. +# Check X11 before X11Rn because it is often a symlink to the current release. +for ac_dir in `echo "$ac_x_includes" | sed s/include/lib${kdelibsuff}/` \ + /usr/X11/lib${kdelibsuff} \ + /usr/X11R6/lib${kdelibsuff} \ + /usr/X11R5/lib${kdelibsuff} \ + /usr/X11R4/lib${kdelibsuff} \ + \ + /usr/lib${kdelibsuff}/X11 \ + /usr/lib${kdelibsuff}/X11R6 \ + /usr/lib${kdelibsuff}/X11R5 \ + /usr/lib${kdelibsuff}/X11R4 \ + \ + /usr/local/X11/lib${kdelibsuff} \ + /usr/local/X11R6/lib${kdelibsuff} \ + /usr/local/X11R5/lib${kdelibsuff} \ + /usr/local/X11R4/lib${kdelibsuff} \ + \ + /usr/local/lib${kdelibsuff}/X11 \ + /usr/local/lib${kdelibsuff}/X11R6 \ + /usr/local/lib${kdelibsuff}/X11R5 \ + /usr/local/lib${kdelibsuff}/X11R4 \ + \ + /usr/X386/lib${kdelibsuff} \ + /usr/x386/lib${kdelibsuff} \ + /usr/XFree86/lib${kdelibsuff}/X11 \ + \ + /usr/lib${kdelibsuff} \ + /usr/local/lib${kdelibsuff} \ + /usr/unsupported/lib${kdelibsuff} \ + /usr/athena/lib${kdelibsuff} \ + /usr/local/x11r5/lib${kdelibsuff} \ + /usr/lpp/Xamples/lib${kdelibsuff} \ + /lib/usr/lib${kdelibsuff}/X11 \ + \ + /usr/openwin/lib${kdelibsuff} \ + /usr/openwin/share/lib${kdelibsuff} \ + ; \ +do +dnl Don't even attempt the hair of trying to link an X program! + for ac_extension in a so sl; do + if test -r $ac_dir/lib${x_direct_test_library}.$ac_extension; then + ac_x_libraries=$ac_dir + break 2 + fi + done +done]) +fi # $ac_x_libraries = NO +]) + + +dnl ------------------------------------------------------------------------ +dnl Find a file (or one of more files in a list of dirs) +dnl ------------------------------------------------------------------------ +dnl +AC_DEFUN([AC_FIND_FILE], +[ +$3=NO +for i in $2; +do + for j in $1; + do + echo "configure: __oline__: $i/$j" >&AC_FD_CC + if test -r "$i/$j"; then + echo "taking that" >&AC_FD_CC + $3=$i + break 2 + fi + done +done +]) + +dnl KDE_FIND_PATH(program-name, variable-name, list-of-dirs, +dnl if-not-found, test-parameter, prepend-path) +dnl +dnl Look for program-name in list-of-dirs+$PATH. +dnl If prepend-path is set, look in $PATH+list-of-dirs instead. +dnl If found, $variable-name is set. If not, if-not-found is evaluated. +dnl test-parameter: if set, the program is executed with this arg, +dnl and only a successful exit code is required. +AC_DEFUN([KDE_FIND_PATH], +[ + AC_MSG_CHECKING([for $1]) + if test -n "$$2"; then + kde_cv_path="$$2"; + else + kde_cache=`echo $1 | sed 'y%./+-%__p_%'` + + AC_CACHE_VAL(kde_cv_path_$kde_cache, + [ + kde_cv_path="NONE" + kde_save_IFS=$IFS + IFS=':' + dirs="" + for dir in $PATH; do + dirs="$dirs $dir" + done + if test -z "$6"; then dnl Append dirs in PATH (default) + dirs="$3 $dirs" + else dnl Prepend dirs in PATH (if 6th arg is set) + dirs="$dirs $3" + fi + IFS=$kde_save_IFS + + for dir in $dirs; do + if test -x "$dir/$1"; then + if test -n "$5" + then + evalstr="$dir/$1 $5 2>&1 " + if eval $evalstr; then + kde_cv_path="$dir/$1" + break + fi + else + kde_cv_path="$dir/$1" + break + fi + fi + done + + eval "kde_cv_path_$kde_cache=$kde_cv_path" + + ]) + + eval "kde_cv_path=\"`echo '$kde_cv_path_'$kde_cache`\"" + + fi + + if test -z "$kde_cv_path" || test "$kde_cv_path" = NONE; then + AC_MSG_RESULT(not found) + $4 + else + AC_MSG_RESULT($kde_cv_path) + $2=$kde_cv_path + + fi +]) + +AC_DEFUN([KDE_MOC_ERROR_MESSAGE], +[ + AC_MSG_ERROR([No Qt meta object compiler (moc) found! +Please check whether you installed Qt correctly. +You need to have a running moc binary. +configure tried to run $ac_cv_path_moc and the test didn't +succeed. If configure shouldn't have tried this one, set +the environment variable MOC to the right one before running +configure. +]) +]) + +AC_DEFUN([KDE_UIC_ERROR_MESSAGE], +[ + AC_MSG_WARN([No Qt ui compiler (uic) found! +Please check whether you installed Qt correctly. +You need to have a running uic binary. +configure tried to run $ac_cv_path_uic and the test didn't +succeed. If configure shouldn't have tried this one, set +the environment variable UIC to the right one before running +configure. +]) +]) + + +AC_DEFUN([KDE_CHECK_UIC_FLAG], +[ + AC_MSG_CHECKING([whether uic supports -$1 ]) + kde_cache=`echo $1 | sed 'y% .=/+-%____p_%'` + AC_CACHE_VAL(kde_cv_prog_uic_$kde_cache, + [ + cat >conftest.ui < +EOT + ac_uic_testrun="$UIC_PATH -$1 $2 conftest.ui >/dev/null" + if AC_TRY_EVAL(ac_uic_testrun); then + eval "kde_cv_prog_uic_$kde_cache=yes" + else + eval "kde_cv_prog_uic_$kde_cache=no" + fi + rm -f conftest* + ]) + + if eval "test \"`echo '$kde_cv_prog_uic_'$kde_cache`\" = yes"; then + AC_MSG_RESULT([yes]) + : + $3 + else + AC_MSG_RESULT([no]) + : + $4 + fi +]) + + +dnl ------------------------------------------------------------------------ +dnl Find the meta object compiler and the ui compiler in the PATH, +dnl in $QTDIR/bin, and some more usual places +dnl ------------------------------------------------------------------------ +dnl +AC_DEFUN([AC_PATH_QT_MOC_UIC], +[ + AC_REQUIRE([KDE_CHECK_PERL]) + qt_bindirs="" + for dir in $kde_qt_dirs; do + qt_bindirs="$qt_bindirs $dir/bin $dir/src/moc" + done + qt_bindirs="$qt_bindirs /usr/bin /usr/X11R6/bin /usr/local/qt/bin" + if test ! "$ac_qt_bindir" = "NO"; then + qt_bindirs="$ac_qt_bindir $qt_bindirs" + fi + + KDE_FIND_PATH(moc, MOC, [$qt_bindirs], [KDE_MOC_ERROR_MESSAGE]) + if test -z "$UIC_NOT_NEEDED"; then + KDE_FIND_PATH(uic, UIC_PATH, [$qt_bindirs], [UIC_PATH=""]) + if test -z "$UIC_PATH" ; then + KDE_UIC_ERROR_MESSAGE + exit 1 + else + UIC=$UIC_PATH + + if test $kde_qtver = 3; then + KDE_CHECK_UIC_FLAG(L,[/nonexistent],ac_uic_supports_libpath=yes,ac_uic_supports_libpath=no) + KDE_CHECK_UIC_FLAG(nounload,,ac_uic_supports_nounload=yes,ac_uic_supports_nounload=no) + + if test x$ac_uic_supports_libpath = xyes; then + UIC="$UIC -L \$(kde_widgetdir)" + fi + if test x$ac_uic_supports_nounload = xyes; then + UIC="$UIC -nounload" + fi + fi + fi + else + UIC="echo uic not available: " + fi + + AC_SUBST(MOC) + AC_SUBST(UIC) + + UIC_TR="i18n" + if test $kde_qtver = 3; then + UIC_TR="tr2i18n" + fi + + AC_SUBST(UIC_TR) +]) + +AC_DEFUN([KDE_1_CHECK_PATHS], +[ + KDE_1_CHECK_PATH_HEADERS + + KDE_TEST_RPATH= + + if test -n "$USE_RPATH"; then + + if test -n "$kde_libraries"; then + KDE_TEST_RPATH="-R $kde_libraries" + fi + + if test -n "$qt_libraries"; then + KDE_TEST_RPATH="$KDE_TEST_RPATH -R $qt_libraries" + fi + + if test -n "$x_libraries"; then + KDE_TEST_RPATH="$KDE_TEST_RPATH -R $x_libraries" + fi + + KDE_TEST_RPATH="$KDE_TEST_RPATH $KDE_EXTRA_RPATH" + fi + +AC_MSG_CHECKING([for KDE libraries installed]) +ac_link='$LIBTOOL_SHELL --silent --mode=link ${CXX-g++} -o conftest $CXXFLAGS $all_includes $CPPFLAGS $LDFLAGS $all_libraries conftest.$ac_ext $LIBS -lkdecore $LIBQT $KDE_TEST_RPATH 1>&5' + +if AC_TRY_EVAL(ac_link) && test -s conftest; then + AC_MSG_RESULT(yes) +else + AC_MSG_ERROR([your system fails at linking a small KDE application! +Check, if your compiler is installed correctly and if you have used the +same compiler to compile Qt and kdelibs as you did use now. +For more details about this problem, look at the end of config.log.]) +fi + +if eval `KDEDIR= ./conftest 2>&5`; then + kde_result=done +else + kde_result=problems +fi + +KDEDIR= ./conftest 2> /dev/null >&5 # make an echo for config.log +kde_have_all_paths=yes + +KDE_SET_PATHS($kde_result) + +]) + +AC_DEFUN([KDE_SET_PATHS], +[ + kde_cv_all_paths="kde_have_all_paths=\"yes\" \ + kde_htmldir=\"$kde_htmldir\" \ + kde_appsdir=\"$kde_appsdir\" \ + kde_icondir=\"$kde_icondir\" \ + kde_sounddir=\"$kde_sounddir\" \ + kde_datadir=\"$kde_datadir\" \ + kde_locale=\"$kde_locale\" \ + kde_cgidir=\"$kde_cgidir\" \ + kde_confdir=\"$kde_confdir\" \ + kde_kcfgdir=\"$kde_kcfgdir\" \ + kde_mimedir=\"$kde_mimedir\" \ + kde_toolbardir=\"$kde_toolbardir\" \ + kde_wallpaperdir=\"$kde_wallpaperdir\" \ + kde_templatesdir=\"$kde_templatesdir\" \ + kde_bindir=\"$kde_bindir\" \ + kde_servicesdir=\"$kde_servicesdir\" \ + kde_servicetypesdir=\"$kde_servicetypesdir\" \ + kde_moduledir=\"$kde_moduledir\" \ + kde_styledir=\"$kde_styledir\" \ + kde_widgetdir=\"$kde_widgetdir\" \ + xdg_appsdir=\"$xdg_appsdir\" \ + xdg_menudir=\"$xdg_menudir\" \ + xdg_directorydir=\"$xdg_directorydir\" \ + kde_result=$1" +]) + +AC_DEFUN([KDE_SET_DEFAULT_PATHS], +[ +if test "$1" = "default"; then + + if test -z "$kde_htmldir"; then + kde_htmldir='\${datadir}/doc/HTML' + fi + if test -z "$kde_appsdir"; then + kde_appsdir='\${datadir}/applnk' + fi + if test -z "$kde_icondir"; then + kde_icondir='\${datadir}/icons' + fi + if test -z "$kde_sounddir"; then + kde_sounddir='\${datadir}/sounds' + fi + if test -z "$kde_datadir"; then + kde_datadir='\${datadir}/apps' + fi + if test -z "$kde_locale"; then + kde_locale='\${datadir}/locale' + fi + if test -z "$kde_cgidir"; then + kde_cgidir='\${exec_prefix}/cgi-bin' + fi + if test -z "$kde_confdir"; then + kde_confdir='\${datadir}/config' + fi + if test -z "$kde_kcfgdir"; then + kde_kcfgdir='\${datadir}/config.kcfg' + fi + if test -z "$kde_mimedir"; then + kde_mimedir='\${datadir}/mimelnk' + fi + if test -z "$kde_toolbardir"; then + kde_toolbardir='\${datadir}/toolbar' + fi + if test -z "$kde_wallpaperdir"; then + kde_wallpaperdir='\${datadir}/wallpapers' + fi + if test -z "$kde_templatesdir"; then + kde_templatesdir='\${datadir}/templates' + fi + if test -z "$kde_bindir"; then + kde_bindir='\${exec_prefix}/bin' + fi + if test -z "$kde_servicesdir"; then + kde_servicesdir='\${datadir}/services' + fi + if test -z "$kde_servicetypesdir"; then + kde_servicetypesdir='\${datadir}/servicetypes' + fi + if test -z "$kde_moduledir"; then + if test "$kde_qtver" = "2"; then + kde_moduledir='\${libdir}/kde2' + else + kde_moduledir='\${libdir}/kde3' + fi + fi + if test -z "$kde_styledir"; then + kde_styledir='\${libdir}/kde3/plugins/styles' + fi + if test -z "$kde_widgetdir"; then + kde_widgetdir='\${libdir}/kde3/plugins/designer' + fi + if test -z "$xdg_appsdir"; then + xdg_appsdir='\${datadir}/applications/kde' + fi + if test -z "$xdg_menudir"; then + xdg_menudir='\${sysconfdir}/xdg/menus' + fi + if test -z "$xdg_directorydir"; then + xdg_directorydir='\${datadir}/desktop-directories' + fi + + KDE_SET_PATHS(defaults) + +else + + if test $kde_qtver = 1; then + AC_MSG_RESULT([compiling]) + KDE_1_CHECK_PATHS + else + AC_MSG_ERROR([path checking not yet supported for KDE 2]) + fi + +fi +]) + +AC_DEFUN([KDE_CHECK_PATHS_FOR_COMPLETENESS], +[ if test -z "$kde_htmldir" || test -z "$kde_appsdir" || + test -z "$kde_icondir" || test -z "$kde_sounddir" || + test -z "$kde_datadir" || test -z "$kde_locale" || + test -z "$kde_cgidir" || test -z "$kde_confdir" || + test -z "$kde_kcfgdir" || + test -z "$kde_mimedir" || test -z "$kde_toolbardir" || + test -z "$kde_wallpaperdir" || test -z "$kde_templatesdir" || + test -z "$kde_bindir" || test -z "$kde_servicesdir" || + test -z "$kde_servicetypesdir" || test -z "$kde_moduledir" || + test -z "$kde_styledir" || test -z "kde_widgetdir" || + test -z "$xdg_appsdir" || test -z "$xdg_menudir" || test -z "$xdg_directorydir" || + test "x$kde_have_all_paths" != "xyes"; then + kde_have_all_paths=no + fi +]) + +AC_DEFUN([KDE_MISSING_PROG_ERROR], +[ + AC_MSG_ERROR([The important program $1 was not found! +Please check whether you installed KDE correctly. +]) +]) + +AC_DEFUN([KDE_MISSING_ARTS_ERROR], +[ + AC_MSG_ERROR([The important program $1 was not found! +Please check whether you installed aRts correctly or use +--without-arts to compile without aRts support (this will remove functionality). +]) +]) + +AC_DEFUN([KDE_SET_DEFAULT_BINDIRS], +[ + kde_default_bindirs="/usr/bin /usr/local/bin /opt/local/bin /usr/X11R6/bin /opt/kde/bin /opt/kde3/bin /usr/kde/bin /usr/local/kde/bin" + test -n "$KDEDIR" && kde_default_bindirs="$KDEDIR/bin $kde_default_bindirs" + if test -n "$KDEDIRS"; then + kde_save_IFS=$IFS + IFS=: + for dir in $KDEDIRS; do + kde_default_bindirs="$dir/bin $kde_default_bindirs " + done + IFS=$kde_save_IFS + fi +]) + +AC_DEFUN([KDE_SUBST_PROGRAMS], +[ + AC_ARG_WITH(arts, + AC_HELP_STRING([--without-arts],[build without aRts [default=no]]), + [build_arts=$withval], + [build_arts=yes] + ) + AM_CONDITIONAL(include_ARTS, test "$build_arts" '!=' "no") + if test "$build_arts" = "no"; then + AC_DEFINE(WITHOUT_ARTS, 1, [Defined if compiling without arts]) + fi + + KDE_SET_DEFAULT_BINDIRS + kde_default_bindirs="$exec_prefix/bin $prefix/bin $kde_libs_prefix/bin $kde_default_bindirs" + KDE_FIND_PATH(dcopidl, DCOPIDL, [$kde_default_bindirs], [KDE_MISSING_PROG_ERROR(dcopidl)]) + KDE_FIND_PATH(dcopidl2cpp, DCOPIDL2CPP, [$kde_default_bindirs], [KDE_MISSING_PROG_ERROR(dcopidl2cpp)]) + if test "$build_arts" '!=' "no"; then + KDE_FIND_PATH(mcopidl, MCOPIDL, [$kde_default_bindirs], [KDE_MISSING_ARTS_ERROR(mcopidl)]) + KDE_FIND_PATH(artsc-config, ARTSCCONFIG, [$kde_default_bindirs], [KDE_MISSING_ARTS_ERROR(artsc-config)]) + fi + KDE_FIND_PATH(meinproc, MEINPROC, [$kde_default_bindirs]) + + kde32ornewer=1 + kde33ornewer=1 + if test -n "$kde_qtver" && test "$kde_qtver" -lt 3; then + kde32ornewer= + kde33ornewer= + else + if test "$kde_qtver" = "3"; then + if test "$kde_qtsubver" -le 1; then + kde32ornewer= + fi + if test "$kde_qtsubver" -le 2; then + kde33ornewer= + fi + fi + fi + + if test -n "$kde32ornewer"; then + KDE_FIND_PATH(kconfig_compiler, KCONFIG_COMPILER, [$kde_default_bindirs], [KDE_MISSING_PROG_ERROR(kconfig_compiler)]) + KDE_FIND_PATH(dcopidlng, DCOPIDLNG, [$kde_default_bindirs], [KDE_MISSING_PROG_ERROR(dcopidlng)]) + fi + if test -n "$kde33ornewer"; then + KDE_FIND_PATH(makekdewidgets, MAKEKDEWIDGETS, [$kde_default_bindirs], [KDE_MISSING_PROG_ERROR(makekdewidgets)]) + AC_SUBST(MAKEKDEWIDGETS) + fi + KDE_FIND_PATH(xmllint, XMLLINT, [${prefix}/bin ${exec_prefix}/bin], [XMLLINT=""]) + + if test -n "$MEINPROC" && test ! "$MEINPROC" = "compiled"; then + kde_sharedirs="/usr/share/kde /usr/local/share /usr/share /opt/kde3/share /opt/kde/share $prefix/share" + test -n "$KDEDIR" && kde_sharedirs="$KDEDIR/share $kde_sharedirs" + AC_FIND_FILE(apps/ksgmltools2/customization/kde-chunk.xsl, $kde_sharedirs, KDE_XSL_STYLESHEET) + if test "$KDE_XSL_STYLESHEET" = "NO"; then + KDE_XSL_STYLESHEET="" + else + KDE_XSL_STYLESHEET="$KDE_XSL_STYLESHEET/apps/ksgmltools2/customization/kde-chunk.xsl" + fi + fi + + DCOP_DEPENDENCIES='$(DCOPIDL)' + if test -n "$kde32ornewer"; then + KCFG_DEPENDENCIES='$(KCONFIG_COMPILER)' + DCOP_DEPENDENCIES='$(DCOPIDL) $(DCOPIDLNG)' + AC_SUBST(KCONFIG_COMPILER) + AC_SUBST(KCFG_DEPENDENCIES) + AC_SUBST(DCOPIDLNG) + fi + AC_SUBST(DCOPIDL) + AC_SUBST(DCOPIDL2CPP) + AC_SUBST(DCOP_DEPENDENCIES) + AC_SUBST(MCOPIDL) + AC_SUBST(ARTSCCONFIG) + AC_SUBST(MEINPROC) + AC_SUBST(KDE_XSL_STYLESHEET) + AC_SUBST(XMLLINT) +])dnl + +AC_DEFUN([AC_CREATE_KFSSTND], +[ +AC_REQUIRE([AC_CHECK_RPATH]) + +AC_MSG_CHECKING([for KDE paths]) +kde_result="" +kde_cached_paths=yes +AC_CACHE_VAL(kde_cv_all_paths, +[ + KDE_SET_DEFAULT_PATHS($1) + kde_cached_paths=no +]) +eval "$kde_cv_all_paths" +KDE_CHECK_PATHS_FOR_COMPLETENESS +if test "$kde_have_all_paths" = "no" && test "$kde_cached_paths" = "yes"; then + # wrong values were cached, may be, we can set better ones + kde_result= + kde_htmldir= kde_appsdir= kde_icondir= kde_sounddir= + kde_datadir= kde_locale= kde_cgidir= kde_confdir= kde_kcfgdir= + kde_mimedir= kde_toolbardir= kde_wallpaperdir= kde_templatesdir= + kde_bindir= kde_servicesdir= kde_servicetypesdir= kde_moduledir= + kde_have_all_paths= + kde_styledir= + kde_widgetdir= + xdg_appsdir = xdg_menudir= xdg_directorydir= + KDE_SET_DEFAULT_PATHS($1) + eval "$kde_cv_all_paths" + KDE_CHECK_PATHS_FOR_COMPLETENESS + kde_result="$kde_result (cache overridden)" +fi +if test "$kde_have_all_paths" = "no"; then + AC_MSG_ERROR([configure could not run a little KDE program to test the environment. +Since it had compiled and linked before, it must be a strange problem on your system. +Look at config.log for details. If you are not able to fix this, look at +http://www.kde.org/faq/installation.html or any www.kde.org mirror. +(If you're using an egcs version on Linux, you may update binutils!) +]) +else + rm -f conftest* + AC_MSG_RESULT($kde_result) +fi + +bindir=$kde_bindir + +KDE_SUBST_PROGRAMS + +]) + +AC_DEFUN([AC_SUBST_KFSSTND], +[ +AC_SUBST(kde_htmldir) +AC_SUBST(kde_appsdir) +AC_SUBST(kde_icondir) +AC_SUBST(kde_sounddir) +AC_SUBST(kde_datadir) +AC_SUBST(kde_locale) +AC_SUBST(kde_confdir) +AC_SUBST(kde_kcfgdir) +AC_SUBST(kde_mimedir) +AC_SUBST(kde_wallpaperdir) +AC_SUBST(kde_bindir) +dnl X Desktop Group standards +AC_SUBST(xdg_appsdir) +AC_SUBST(xdg_menudir) +AC_SUBST(xdg_directorydir) +dnl for KDE 2 +AC_SUBST(kde_templatesdir) +AC_SUBST(kde_servicesdir) +AC_SUBST(kde_servicetypesdir) +AC_SUBST(kde_moduledir) +AC_SUBST(kdeinitdir, '$(kde_moduledir)') +AC_SUBST(kde_styledir) +AC_SUBST(kde_widgetdir) +if test "$kde_qtver" = 1; then + kde_minidir="$kde_icondir/mini" +else +# for KDE 1 - this breaks KDE2 apps using minidir, but +# that's the plan ;-/ + kde_minidir="/dev/null" +fi +dnl AC_SUBST(kde_minidir) +dnl AC_SUBST(kde_cgidir) +dnl AC_SUBST(kde_toolbardir) +]) + +AC_DEFUN([KDE_MISC_TESTS], +[ + dnl Checks for libraries. + AC_CHECK_LIB(util, main, [LIBUTIL="-lutil"]) dnl for *BSD + AC_SUBST(LIBUTIL) + AC_CHECK_LIB(compat, main, [LIBCOMPAT="-lcompat"]) dnl for *BSD + AC_SUBST(LIBCOMPAT) + kde_have_crypt= + AC_CHECK_LIB(crypt, crypt, [LIBCRYPT="-lcrypt"; kde_have_crypt=yes], + AC_CHECK_LIB(c, crypt, [kde_have_crypt=yes], [ + AC_MSG_WARN([you have no crypt in either libcrypt or libc. +You should install libcrypt from another source or configure with PAM +support]) + kde_have_crypt=no + ])) + AC_SUBST(LIBCRYPT) + if test $kde_have_crypt = yes; then + AC_DEFINE_UNQUOTED(HAVE_CRYPT, 1, [Defines if your system has the crypt function]) + fi + AC_CHECK_SOCKLEN_T + AC_CHECK_LIB(dnet, dnet_ntoa, [X_EXTRA_LIBS="$X_EXTRA_LIBS -ldnet"]) + if test $ac_cv_lib_dnet_dnet_ntoa = no; then + AC_CHECK_LIB(dnet_stub, dnet_ntoa, + [X_EXTRA_LIBS="$X_EXTRA_LIBS -ldnet_stub"]) + fi + AC_CHECK_FUNC(inet_ntoa) + if test $ac_cv_func_inet_ntoa = no; then + AC_CHECK_LIB(nsl, inet_ntoa, X_EXTRA_LIBS="$X_EXTRA_LIBS -lnsl") + fi + AC_CHECK_FUNC(connect) + if test $ac_cv_func_connect = no; then + AC_CHECK_LIB(socket, connect, X_EXTRA_LIBS="-lsocket $X_EXTRA_LIBS", , + $X_EXTRA_LIBS) + fi + + AC_CHECK_FUNC(remove) + if test $ac_cv_func_remove = no; then + AC_CHECK_LIB(posix, remove, X_EXTRA_LIBS="$X_EXTRA_LIBS -lposix") + fi + + # BSDI BSD/OS 2.1 needs -lipc for XOpenDisplay. + AC_CHECK_FUNC(shmat, , + AC_CHECK_LIB(ipc, shmat, X_EXTRA_LIBS="$X_EXTRA_LIBS -lipc")) + + # more headers that need to be explicitly included on darwin + AC_CHECK_HEADERS(sys/types.h stdint.h) + + # sys/bitypes.h is needed for uint32_t and friends on Tru64 + AC_CHECK_HEADERS(sys/bitypes.h) + + # darwin requires a poll emulation library + AC_CHECK_LIB(poll, poll, LIB_POLL="-lpoll") + + # for some image handling on Mac OS X + AC_CHECK_HEADERS(Carbon/Carbon.h) + + # CoreAudio framework + AC_CHECK_HEADER(CoreAudio/CoreAudio.h, [ + AC_DEFINE(HAVE_COREAUDIO, 1, [Define if you have the CoreAudio API]) + FRAMEWORK_COREAUDIO="-Xlinker -framework -Xlinker CoreAudio" + ]) + + AC_CHECK_RES_INIT + AC_SUBST(LIB_POLL) + AC_SUBST(FRAMEWORK_COREAUDIO) + LIBSOCKET="$X_EXTRA_LIBS" + AC_SUBST(LIBSOCKET) + AC_SUBST(X_EXTRA_LIBS) + AC_CHECK_LIB(ucb, killpg, [LIBUCB="-lucb"]) dnl for Solaris2.4 + AC_SUBST(LIBUCB) + + case $host in dnl this *is* LynxOS specific + *-*-lynxos* ) + AC_MSG_CHECKING([LynxOS header file wrappers]) + [CFLAGS="$CFLAGS -D__NO_INCLUDE_WARN__"] + AC_MSG_RESULT(disabled) + AC_CHECK_LIB(bsd, gethostbyname, [LIBSOCKET="-lbsd"]) dnl for LynxOS + ;; + esac + + KDE_CHECK_TYPES + KDE_CHECK_LIBDL + KDE_CHECK_STRLCPY + +# darwin needs this to initialize the environment +AC_CHECK_HEADERS(crt_externs.h) +AC_CHECK_FUNC(_NSGetEnviron, [AC_DEFINE(HAVE_NSGETENVIRON, 1, [Define if your system needs _NSGetEnviron to set up the environment])]) + +AH_VERBATIM(_DARWIN_ENVIRON, +[ +#if defined(HAVE_NSGETENVIRON) && defined(HAVE_CRT_EXTERNS_H) +# include +# include +# define environ (*_NSGetEnviron()) +#endif +]) + +AH_VERBATIM(_AIX_STRINGS_H_BZERO, +[ +/* + * AIX defines FD_SET in terms of bzero, but fails to include + * that defines bzero. + */ + +#if defined(_AIX) +#include +#endif +]) + +AC_CHECK_FUNCS([vsnprintf snprintf]) + +AH_VERBATIM(_TRU64,[ +/* + * On HP-UX, the declaration of vsnprintf() is needed every time ! + */ + +#if !defined(HAVE_VSNPRINTF) || defined(hpux) +#if __STDC__ +#include +#include +#else +#include +#endif +#ifdef __cplusplus +extern "C" +#endif +int vsnprintf(char *str, size_t n, char const *fmt, va_list ap); +#ifdef __cplusplus +extern "C" +#endif +int snprintf(char *str, size_t n, char const *fmt, ...); +#endif +]) + +]) + +dnl ------------------------------------------------------------------------ +dnl Find the header files and libraries for X-Windows. Extended the +dnl macro AC_PATH_X +dnl ------------------------------------------------------------------------ +dnl +AC_DEFUN([K_PATH_X], +[ +AC_REQUIRE([KDE_MISC_TESTS])dnl +AC_REQUIRE([KDE_CHECK_LIB64]) + +AC_ARG_ENABLE( + embedded, + AC_HELP_STRING([--enable-embedded],[link to Qt-embedded, don't use X]), + kde_use_qt_emb=$enableval, + kde_use_qt_emb=no +) + +AC_ARG_ENABLE( + qtopia, + AC_HELP_STRING([--enable-qtopia],[link to Qt-embedded, link to the Qtopia Environment]), + kde_use_qt_emb_palm=$enableval, + kde_use_qt_emb_palm=no +) + +AC_ARG_ENABLE( + mac, + AC_HELP_STRING([--enable-mac],[link to Qt/Mac (don't use X)]), + kde_use_qt_mac=$enableval, + kde_use_qt_mac=no +) + +# used to disable x11-specific stuff on special platforms +AM_CONDITIONAL(include_x11, test "$kde_use_qt_emb" = "no" && test "$kde_use_qt_mac" = "no") + +if test "$kde_use_qt_emb" = "no" && test "$kde_use_qt_mac" = "no"; then + +AC_MSG_CHECKING(for X) + +AC_CACHE_VAL(kde_cv_have_x, +[# One or both of the vars are not set, and there is no cached value. +if test "{$x_includes+set}" = set || test "$x_includes" = NONE; then + kde_x_includes=NO +else + kde_x_includes=$x_includes +fi +if test "{$x_libraries+set}" = set || test "$x_libraries" = NONE; then + kde_x_libraries=NO +else + kde_x_libraries=$x_libraries +fi + +# below we use the standard autoconf calls +ac_x_libraries=$kde_x_libraries +ac_x_includes=$kde_x_includes + +KDE_PATH_X_DIRECT +dnl AC_PATH_X_XMKMF picks /usr/lib as the path for the X libraries. +dnl Unfortunately, if compiling with the N32 ABI, this is not the correct +dnl location. The correct location is /usr/lib32 or an undefined value +dnl (the linker is smart enough to pick the correct default library). +dnl Things work just fine if you use just AC_PATH_X_DIRECT. +dnl Solaris has a similar problem. AC_PATH_X_XMKMF forces x_includes to +dnl /usr/openwin/include, which doesn't work. /usr/include does work, so +dnl x_includes should be left alone. +case "$host" in +mips-sgi-irix6*) + ;; +*-*-solaris*) + ;; +*) + _AC_PATH_X_XMKMF + if test -z "$ac_x_includes"; then + ac_x_includes="." + fi + if test -z "$ac_x_libraries"; then + ac_x_libraries="/usr/lib${kdelibsuff}" + fi +esac +#from now on we use our own again + +# when the user already gave --x-includes, we ignore +# what the standard autoconf macros told us. +if test "$kde_x_includes" = NO; then + kde_x_includes=$ac_x_includes +fi + +# for --x-libraries too +if test "$kde_x_libraries" = NO; then + kde_x_libraries=$ac_x_libraries +fi + +if test "$kde_x_includes" = NO; then + AC_MSG_ERROR([Can't find X includes. Please check your installation and add the correct paths!]) +fi + +if test "$kde_x_libraries" = NO; then + AC_MSG_ERROR([Can't find X libraries. Please check your installation and add the correct paths!]) +fi + +# Record where we found X for the cache. +kde_cv_have_x="have_x=yes \ + kde_x_includes=$kde_x_includes kde_x_libraries=$kde_x_libraries" +])dnl + +eval "$kde_cv_have_x" + +if test "$have_x" != yes; then + AC_MSG_RESULT($have_x) + no_x=yes +else + AC_MSG_RESULT([libraries $kde_x_libraries, headers $kde_x_includes]) +fi + +if test -z "$kde_x_includes" || test "x$kde_x_includes" = xNONE; then + X_INCLUDES="" + x_includes="."; dnl better than nothing :- + else + x_includes=$kde_x_includes + X_INCLUDES="-I$x_includes" +fi + +if test -z "$kde_x_libraries" || test "x$kde_x_libraries" = xNONE; then + X_LDFLAGS="" + x_libraries="/usr/lib"; dnl better than nothing :- + else + x_libraries=$kde_x_libraries + X_LDFLAGS="-L$x_libraries" +fi +all_includes="$X_INCLUDES" +all_libraries="$X_LDFLAGS $LDFLAGS_AS_NEEDED $LDFLAGS_NEW_DTAGS" + +# Check for libraries that X11R6 Xt/Xaw programs need. +ac_save_LDFLAGS="$LDFLAGS" +LDFLAGS="$LDFLAGS $X_LDFLAGS" +# SM needs ICE to (dynamically) link under SunOS 4.x (so we have to +# check for ICE first), but we must link in the order -lSM -lICE or +# we get undefined symbols. So assume we have SM if we have ICE. +# These have to be linked with before -lX11, unlike the other +# libraries we check for below, so use a different variable. +# --interran@uluru.Stanford.EDU, kb@cs.umb.edu. +AC_CHECK_LIB(ICE, IceConnectionNumber, + [LIBSM="-lSM -lICE"], , $X_EXTRA_LIBS) +LDFLAGS="$ac_save_LDFLAGS" + +LIB_X11='-lX11 $(LIBSOCKET)' + +AC_MSG_CHECKING(for libXext) +AC_CACHE_VAL(kde_cv_have_libXext, +[ +kde_ldflags_safe="$LDFLAGS" +kde_libs_safe="$LIBS" + +LDFLAGS="$LDFLAGS $X_LDFLAGS $USER_LDFLAGS" +LIBS="-lXext -lX11 $LIBSOCKET" + +AC_TRY_LINK([ +#include +#ifdef STDC_HEADERS +# include +#endif +], +[ +printf("hello Xext\n"); +], +kde_cv_have_libXext=yes, +kde_cv_have_libXext=no +) + +LDFLAGS=$kde_ldflags_safe +LIBS=$kde_libs_safe +]) + +AC_MSG_RESULT($kde_cv_have_libXext) + +if test "$kde_cv_have_libXext" = "no"; then + AC_MSG_ERROR([We need a working libXext to proceed. Since configure +can't find it itself, we stop here assuming that make wouldn't find +them either.]) +fi + +LIB_XEXT="-lXext" +QTE_NORTTI="" + +elif test "$kde_use_qt_emb" = "yes"; then + dnl We're using QT Embedded + CPPFLAGS=-DQWS + CXXFLAGS="$CXXFLAGS -fno-rtti" + QTE_NORTTI="-fno-rtti -DQWS" + X_PRE_LIBS="" + LIB_X11="" + LIB_XEXT="" + LIB_XRENDER="" + LIBSM="" + X_INCLUDES="" + X_LDFLAGS="" + x_includes="" + x_libraries="" +elif test "$kde_use_qt_mac" = "yes"; then + dnl We're using QT/Mac (I use QT_MAC so that qglobal.h doesn't *have* to + dnl be included to get the information) --Sam + CXXFLAGS="$CXXFLAGS -DQT_MAC -no-cpp-precomp" + CFLAGS="$CFLAGS -DQT_MAC -no-cpp-precomp" + X_PRE_LIBS="" + LIB_X11="" + LIB_XEXT="" + LIB_XRENDER="" + LIBSM="" + X_INCLUDES="" + X_LDFLAGS="" + x_includes="" + x_libraries="" +fi +AC_SUBST(X_PRE_LIBS) +AC_SUBST(LIB_X11) +AC_SUBST(LIB_XRENDER) +AC_SUBST(LIBSM) +AC_SUBST(X_INCLUDES) +AC_SUBST(X_LDFLAGS) +AC_SUBST(x_includes) +AC_SUBST(x_libraries) +AC_SUBST(QTE_NORTTI) +AC_SUBST(LIB_XEXT) + +]) + +AC_DEFUN([KDE_PRINT_QT_PROGRAM], +[ +AC_REQUIRE([KDE_USE_QT]) +cat > conftest.$ac_ext < +#include +EOF +if test "$kde_qtver" = "2"; then +cat >> conftest.$ac_ext < +#include +#include +EOF + +if test $kde_qtsubver -gt 0; then +cat >> conftest.$ac_ext <> conftest.$ac_ext < +#include +#include +EOF +fi + +echo "#if ! ($kde_qt_verstring)" >> conftest.$ac_ext +cat >> conftest.$ac_ext <> conftest.$ac_ext <> conftest.$ac_ext <> conftest.$ac_ext <> conftest.$ac_ext <&AC_FD_CC + cat conftest.$ac_ext >&AC_FD_CC +fi + +rm -f conftest* +CXXFLAGS="$ac_cxxflags_safe" +LDFLAGS="$ac_ldflags_safe" +LIBS="$ac_libs_safe" + +LD_LIBRARY_PATH="$ac_LD_LIBRARY_PATH_safe" +export LD_LIBRARY_PATH +LIBRARY_PATH="$ac_LIBRARY_PATH" +export LIBRARY_PATH +AC_LANG_RESTORE +]) + +if test "$kde_cv_qt_direct" = "yes"; then + AC_MSG_RESULT(yes) + $1 +else + AC_MSG_RESULT(no) + $2 +fi +]) + +dnl ------------------------------------------------------------------------ +dnl Try to find the Qt headers and libraries. +dnl $(QT_LDFLAGS) will be -Lqtliblocation (if needed) +dnl and $(QT_INCLUDES) will be -Iqthdrlocation (if needed) +dnl ------------------------------------------------------------------------ +dnl +AC_DEFUN([AC_PATH_QT_1_3], +[ +AC_REQUIRE([K_PATH_X]) +AC_REQUIRE([KDE_USE_QT]) +AC_REQUIRE([KDE_CHECK_LIB64]) + +dnl ------------------------------------------------------------------------ +dnl Add configure flag to enable linking to MT version of Qt library. +dnl ------------------------------------------------------------------------ + +AC_ARG_ENABLE( + mt, + AC_HELP_STRING([--disable-mt],[link to non-threaded Qt (deprecated)]), + kde_use_qt_mt=$enableval, + [ + if test $kde_qtver = 3; then + kde_use_qt_mt=yes + else + kde_use_qt_mt=no + fi + ] +) + +USING_QT_MT="" + +dnl ------------------------------------------------------------------------ +dnl If we not get --disable-qt-mt then adjust some vars for the host. +dnl ------------------------------------------------------------------------ + +KDE_MT_LDFLAGS= +KDE_MT_LIBS= +if test "x$kde_use_qt_mt" = "xyes"; then + KDE_CHECK_THREADING + if test "x$kde_use_threading" = "xyes"; then + CPPFLAGS="$USE_THREADS -DQT_THREAD_SUPPORT $CPPFLAGS" + KDE_MT_LDFLAGS="$USE_THREADS" + KDE_MT_LIBS="$LIBPTHREAD" + else + kde_use_qt_mt=no + fi +fi +AC_SUBST(KDE_MT_LDFLAGS) +AC_SUBST(KDE_MT_LIBS) + +kde_qt_was_given=yes + +dnl ------------------------------------------------------------------------ +dnl If we haven't been told how to link to Qt, we work it out for ourselves. +dnl ------------------------------------------------------------------------ +if test -z "$LIBQT_GLOB"; then + if test "x$kde_use_qt_emb" = "xyes"; then + LIBQT_GLOB="libqte.*" + else + LIBQT_GLOB="libqt.*" + fi +fi + +if test -z "$LIBQT"; then +dnl ------------------------------------------------------------ +dnl If we got --enable-embedded then adjust the Qt library name. +dnl ------------------------------------------------------------ + if test "x$kde_use_qt_emb" = "xyes"; then + qtlib="qte" + else + qtlib="qt" + fi + + kde_int_qt="-l$qtlib" +else + kde_int_qt="$LIBQT" + kde_lib_qt_set=yes +fi + +if test -z "$LIBQPE"; then +dnl ------------------------------------------------------------ +dnl If we got --enable-palmtop then add -lqpe to the link line +dnl ------------------------------------------------------------ + if test "x$kde_use_qt_emb" = "xyes"; then + if test "x$kde_use_qt_emb_palm" = "xyes"; then + LIB_QPE="-lqpe" + else + LIB_QPE="" + fi + else + LIB_QPE="" + fi +fi + +dnl ------------------------------------------------------------------------ +dnl If we got --enable-qt-mt then adjust the Qt library name for the host. +dnl ------------------------------------------------------------------------ + +if test "x$kde_use_qt_mt" = "xyes"; then + if test -z "$LIBQT"; then + LIBQT="-l$qtlib-mt" + kde_int_qt="-l$qtlib-mt" + else + LIBQT="$qtlib-mt" + kde_int_qt="$qtlib-mt" + fi + LIBQT_GLOB="lib$qtlib-mt.*" + USING_QT_MT="using -mt" +else + LIBQT="-l$qtlib" +fi + +if test $kde_qtver != 1; then + + AC_REQUIRE([AC_FIND_PNG]) + AC_REQUIRE([AC_FIND_JPEG]) + LIBQT="$LIBQT $LIBPNG $LIBJPEG" +fi + +if test $kde_qtver = 3; then + AC_REQUIRE([KDE_CHECK_LIBDL]) + LIBQT="$LIBQT $LIBDL" +fi + +AC_MSG_CHECKING([for Qt]) + +if test "x$kde_use_qt_emb" != "xyes" && test "x$kde_use_qt_mac" != "xyes"; then +LIBQT="$LIBQT $X_PRE_LIBS -lXext -lX11 $LIBSM $LIBSOCKET" +fi +ac_qt_includes=NO ac_qt_libraries=NO ac_qt_bindir=NO +qt_libraries="" +qt_includes="" +AC_ARG_WITH(qt-dir, + AC_HELP_STRING([--with-qt-dir=DIR],[where the root of Qt is installed ]), + [ ac_qt_includes="$withval"/include + ac_qt_libraries="$withval"/lib${kdelibsuff} + ac_qt_bindir="$withval"/bin + ]) + +AC_ARG_WITH(qt-includes, + AC_HELP_STRING([--with-qt-includes=DIR],[where the Qt includes are. ]), + [ + ac_qt_includes="$withval" + ]) + +kde_qt_libs_given=no + +AC_ARG_WITH(qt-libraries, + AC_HELP_STRING([--with-qt-libraries=DIR],[where the Qt library is installed.]), + [ ac_qt_libraries="$withval" + kde_qt_libs_given=yes + ]) + +AC_CACHE_VAL(ac_cv_have_qt, +[#try to guess Qt locations + +qt_incdirs="" +for dir in $kde_qt_dirs; do + qt_incdirs="$qt_incdirs $dir/include $dir" +done +qt_incdirs="$QTINC $qt_incdirs /usr/local/qt/include /usr/include/qt /usr/include /usr/X11R6/include/X11/qt /usr/X11R6/include/qt /usr/X11R6/include/qt2 /usr/include/qt3 $x_includes" +if test ! "$ac_qt_includes" = "NO"; then + qt_incdirs="$ac_qt_includes $qt_incdirs" +fi + +if test "$kde_qtver" != "1"; then + kde_qt_header=qstyle.h +else + kde_qt_header=qglobal.h +fi + +AC_FIND_FILE($kde_qt_header, $qt_incdirs, qt_incdir) +ac_qt_includes="$qt_incdir" + +qt_libdirs="" +for dir in $kde_qt_dirs; do + qt_libdirs="$qt_libdirs $dir/lib${kdelibsuff} $dir" +done +qt_libdirs="$QTLIB $qt_libdirs /usr/X11R6/lib /usr/lib /usr/local/qt/lib $x_libraries" +if test ! "$ac_qt_libraries" = "NO"; then + qt_libdir=$ac_qt_libraries +else + qt_libdirs="$ac_qt_libraries $qt_libdirs" + # if the Qt was given, the chance is too big that libqt.* doesn't exist + qt_libdir=NONE + for dir in $qt_libdirs; do + try="ls -1 $dir/${LIBQT_GLOB}" + if test -n "`$try 2> /dev/null`"; then qt_libdir=$dir; break; else echo "tried $dir" >&AC_FD_CC ; fi + done +fi +for a in $qt_libdir/lib`echo ${kde_int_qt} | sed 's,^-l,,'`_incremental.*; do + if test -e "$a"; then + LIBQT="$LIBQT ${kde_int_qt}_incremental" + break + fi +done + +ac_qt_libraries="$qt_libdir" + +AC_LANG_SAVE +AC_LANG_CPLUSPLUS + +ac_cxxflags_safe="$CXXFLAGS" +ac_ldflags_safe="$LDFLAGS" +ac_libs_safe="$LIBS" + +CXXFLAGS="$CXXFLAGS -I$qt_incdir $all_includes" +LDFLAGS="$LDFLAGS -L$qt_libdir $all_libraries $USER_LDFLAGS $KDE_MT_LDFLAGS" +LIBS="$LIBS $LIBQT $KDE_MT_LIBS" + +KDE_PRINT_QT_PROGRAM + +if AC_TRY_EVAL(ac_link) && test -s conftest; then + rm -f conftest* +else + echo "configure: failed program was:" >&AC_FD_CC + cat conftest.$ac_ext >&AC_FD_CC + ac_qt_libraries="NO" +fi +rm -f conftest* +CXXFLAGS="$ac_cxxflags_safe" +LDFLAGS="$ac_ldflags_safe" +LIBS="$ac_libs_safe" + +AC_LANG_RESTORE +if test "$ac_qt_includes" = NO || test "$ac_qt_libraries" = NO; then + ac_cv_have_qt="have_qt=no" + ac_qt_notfound="" + missing_qt_mt="" + if test "$ac_qt_includes" = NO; then + if test "$ac_qt_libraries" = NO; then + ac_qt_notfound="(headers and libraries)"; + else + ac_qt_notfound="(headers)"; + fi + else + if test "x$kde_use_qt_mt" = "xyes"; then + missing_qt_mt=" +Make sure that you have compiled Qt with thread support!" + ac_qt_notfound="(library $qtlib-mt)"; + else + ac_qt_notfound="(library $qtlib)"; + fi + fi + + AC_MSG_ERROR([Qt ($kde_qt_minversion) $ac_qt_notfound not found. Please check your installation! +For more details about this problem, look at the end of config.log.$missing_qt_mt]) +else + have_qt="yes" +fi +]) + +eval "$ac_cv_have_qt" + +if test "$have_qt" != yes; then + AC_MSG_RESULT([$have_qt]); +else + ac_cv_have_qt="have_qt=yes \ + ac_qt_includes=$ac_qt_includes ac_qt_libraries=$ac_qt_libraries" + AC_MSG_RESULT([libraries $ac_qt_libraries, headers $ac_qt_includes $USING_QT_MT]) + + qt_libraries="$ac_qt_libraries" + qt_includes="$ac_qt_includes" +fi + +if test ! "$kde_qt_libs_given" = "yes" && test ! "$kde_qtver" = 3; then + KDE_CHECK_QT_DIRECT(qt_libraries= ,[]) +fi + +AC_SUBST(qt_libraries) +AC_SUBST(qt_includes) + +if test "$qt_includes" = "$x_includes" || test -z "$qt_includes"; then + QT_INCLUDES="" +else + QT_INCLUDES="-I$qt_includes" + all_includes="$QT_INCLUDES $all_includes" +fi + +if test "$qt_libraries" = "$x_libraries" || test -z "$qt_libraries"; then + QT_LDFLAGS="" +else + QT_LDFLAGS="-L$qt_libraries" + all_libraries="$QT_LDFLAGS $all_libraries" +fi +test -z "$KDE_MT_LDFLAGS" || all_libraries="$all_libraries $KDE_MT_LDFLAGS" + +AC_SUBST(QT_INCLUDES) +AC_SUBST(QT_LDFLAGS) +AC_PATH_QT_MOC_UIC + +KDE_CHECK_QT_JPEG + +if test "x$kde_use_qt_emb" != "xyes" && test "x$kde_use_qt_mac" != "xyes"; then +LIB_QT="$kde_int_qt $LIBJPEG_QT "'$(LIBZ) $(LIBPNG) -lXext $(LIB_X11) $(LIBSM)' +else +LIB_QT="$kde_int_qt $LIBJPEG_QT "'$(LIBZ) $(LIBPNG)' +fi +test -z "$KDE_MT_LIBS" || LIB_QT="$LIB_QT $KDE_MT_LIBS" +for a in $qt_libdir/lib`echo ${kde_int_qt} | sed 's,^-l,,'`_incremental.*; do + if test -e "$a"; then + LIB_QT="$LIB_QT ${kde_int_qt}_incremental" + break + fi +done + +AC_SUBST(LIB_QT) +AC_SUBST(LIB_QPE) + +AC_SUBST(kde_qtver) +]) + +AC_DEFUN([AC_PATH_QT], +[ +AC_PATH_QT_1_3 +]) + +AC_DEFUN([KDE_CHECK_UIC_PLUGINS], +[ +AC_REQUIRE([AC_PATH_QT_MOC_UIC]) + +if test x$ac_uic_supports_libpath = xyes; then + +AC_MSG_CHECKING([if UIC has KDE plugins available]) +AC_CACHE_VAL(kde_cv_uic_plugins, +[ +cat > actest.ui << EOF + +NewConnectionDialog + + + + testInput + + + + +EOF + + + +kde_cv_uic_plugins=no +kde_line="$UIC_PATH -L $kde_widgetdir" +if test x$ac_uic_supports_nounload = xyes; then + kde_line="$kde_line -nounload" +fi +kde_line="$kde_line -impl actest.h actest.ui > actest.cpp" +if AC_TRY_EVAL(kde_line); then + # if you're trying to debug this check and think it's incorrect, + # better check your installation. The check _is_ correct - your + # installation is not. + if test -f actest.cpp && grep klineedit actest.cpp > /dev/null; then + kde_cv_uic_plugins=yes + fi +fi +rm -f actest.ui actest.cpp +]) + +AC_MSG_RESULT([$kde_cv_uic_plugins]) +if test "$kde_cv_uic_plugins" != yes; then + AC_MSG_ERROR([ +you need to install kdelibs first. + +If you did install kdelibs, then the Qt version that is picked up by +this configure is not the same version you used to compile kdelibs. +The Qt Plugin installed by kdelibs is *ONLY* loadable if its the +same Qt version, compiled with the same compiler and the same Qt +configuration settings. +]) +fi +fi +]) + +AC_DEFUN([KDE_CHECK_FINAL], +[ + AC_ARG_ENABLE(final, + AC_HELP_STRING([--enable-final], + [build size optimized apps (experimental - needs lots of memory)]), + kde_use_final=$enableval, kde_use_final=no) + + if test "x$kde_use_final" = "xyes"; then + KDE_USE_FINAL_TRUE="" + KDE_USE_FINAL_FALSE="#" + else + KDE_USE_FINAL_TRUE="#" + KDE_USE_FINAL_FALSE="" + fi + AC_SUBST(KDE_USE_FINAL_TRUE) + AC_SUBST(KDE_USE_FINAL_FALSE) +]) + +AC_DEFUN([KDE_CHECK_CLOSURE], +[ + AC_ARG_ENABLE(closure, + AC_HELP_STRING([--enable-closure],[delay template instantiation]), + kde_use_closure=$enableval, kde_use_closure=no) + + KDE_NO_UNDEFINED="" + if test "x$kde_use_closure" = "xyes"; then + KDE_USE_CLOSURE_TRUE="" + KDE_USE_CLOSURE_FALSE="#" +# CXXFLAGS="$CXXFLAGS $REPO" + else + KDE_USE_CLOSURE_TRUE="#" + KDE_USE_CLOSURE_FALSE="" + KDE_NO_UNDEFINED="" + case $host in + *-*-linux-gnu) + KDE_CHECK_COMPILER_FLAG([Wl,--no-undefined], + [KDE_CHECK_COMPILER_FLAG([Wl,--allow-shlib-undefined], + [KDE_NO_UNDEFINED="-Wl,--no-undefined -Wl,--allow-shlib-undefined"], + [KDE_NO_UNDEFINED=""])], + [KDE_NO_UNDEFINED=""]) + ;; + esac + fi + AC_SUBST(KDE_USE_CLOSURE_TRUE) + AC_SUBST(KDE_USE_CLOSURE_FALSE) + AC_SUBST(KDE_NO_UNDEFINED) +]) + +dnl Check if the linker supports --enable-new-dtags and --as-needed +AC_DEFUN([KDE_CHECK_NEW_LDFLAGS], +[ + AC_ARG_ENABLE(new_ldflags, + AC_HELP_STRING([--enable-new-ldflags], + [enable the new linker flags]), + kde_use_new_ldflags=$enableval, + kde_use_new_ldflags=no) + + LDFLAGS_AS_NEEDED="" + LDFLAGS_NEW_DTAGS="" + if test "x$kde_use_new_ldflags" = "xyes"; then + LDFLAGS_NEW_DTAGS="" + KDE_CHECK_COMPILER_FLAG([Wl,--enable-new-dtags], + [LDFLAGS_NEW_DTAGS="-Wl,--enable-new-dtags"],) + + KDE_CHECK_COMPILER_FLAG([Wl,--as-needed], + [LDFLAGS_AS_NEEDED="-Wl,--as-needed"],) + fi + AC_SUBST(LDFLAGS_AS_NEEDED) + AC_SUBST(LDFLAGS_NEW_DTAGS) +]) + +AC_DEFUN([KDE_CHECK_NMCHECK], +[ + AC_ARG_ENABLE(nmcheck,AC_HELP_STRING([--enable-nmcheck],[enable automatic namespace cleanness check]), + kde_use_nmcheck=$enableval, kde_use_nmcheck=no) + + if test "$kde_use_nmcheck" = "yes"; then + KDE_USE_NMCHECK_TRUE="" + KDE_USE_NMCHECK_FALSE="#" + else + KDE_USE_NMCHECK_TRUE="#" + KDE_USE_NMCHECK_FALSE="" + fi + AC_SUBST(KDE_USE_NMCHECK_TRUE) + AC_SUBST(KDE_USE_NMCHECK_FALSE) +]) + +AC_DEFUN([KDE_EXPAND_MAKEVAR], [ +savex=$exec_prefix +test "x$exec_prefix" = xNONE && exec_prefix=$prefix +tmp=$$2 +while $1=`eval echo "$tmp"`; test "x$$1" != "x$tmp"; do tmp=$$1; done +exec_prefix=$savex +]) + +dnl ------------------------------------------------------------------------ +dnl Now, the same with KDE +dnl $(KDE_LDFLAGS) will be the kdeliblocation (if needed) +dnl and $(kde_includes) will be the kdehdrlocation (if needed) +dnl ------------------------------------------------------------------------ +dnl +AC_DEFUN([AC_BASE_PATH_KDE], +[ +AC_REQUIRE([KDE_CHECK_STL]) +AC_REQUIRE([AC_PATH_QT])dnl +AC_REQUIRE([KDE_CHECK_LIB64]) + +AC_CHECK_RPATH +AC_MSG_CHECKING([for KDE]) + +if test "${prefix}" != NONE; then + kde_includes=${includedir} + KDE_EXPAND_MAKEVAR(ac_kde_includes, includedir) + + kde_libraries=${libdir} + KDE_EXPAND_MAKEVAR(ac_kde_libraries, libdir) + +else + ac_kde_includes= + ac_kde_libraries= + kde_libraries="" + kde_includes="" +fi + +AC_CACHE_VAL(ac_cv_have_kde, +[#try to guess kde locations + +if test "$kde_qtver" = 1; then + kde_check_header="ksock.h" + kde_check_lib="libkdecore.la" +else + kde_check_header="ksharedptr.h" + kde_check_lib="libkio.la" +fi + +if test -z "$1"; then + +kde_incdirs="$kde_libs_prefix/include /usr/lib/kde/include /usr/local/kde/include /usr/local/include /usr/kde/include /usr/include/kde /usr/include /opt/kde3/include /opt/kde/include $x_includes $qt_includes" +test -n "$KDEDIR" && kde_incdirs="$KDEDIR/include $KDEDIR/include/kde $KDEDIR $kde_incdirs" +kde_incdirs="$ac_kde_includes $kde_incdirs" +AC_FIND_FILE($kde_check_header, $kde_incdirs, kde_incdir) +ac_kde_includes="$kde_incdir" + +if test -n "$ac_kde_includes" && test ! -r "$ac_kde_includes/$kde_check_header"; then + AC_MSG_ERROR([ +in the prefix, you've chosen, are no KDE headers installed. This will fail. +So, check this please and use another prefix!]) +fi + +kde_libdirs="$kde_libs_prefix/lib${kdelibsuff} /usr/lib/kde/lib${kdelibsuff} /usr/local/kde/lib${kdelibsuff} /usr/kde/lib${kdelibsuff} /usr/lib${kdelibsuff}/kde /usr/lib${kdelibsuff}/kde3 /usr/lib${kdelibsuff} /usr/X11R6/lib${kdelibsuff} /usr/local/lib${kdelibsuff} /opt/kde3/lib${kdelibsuff} /opt/kde/lib${kdelibsuff} /usr/X11R6/kde/lib${kdelibsuff}" +test -n "$KDEDIR" && kde_libdirs="$KDEDIR/lib${kdelibsuff} $KDEDIR $kde_libdirs" +kde_libdirs="$ac_kde_libraries $libdir $kde_libdirs" +AC_FIND_FILE($kde_check_lib, $kde_libdirs, kde_libdir) +ac_kde_libraries="$kde_libdir" + +kde_widgetdir=NO +dnl this might be somewhere else +AC_FIND_FILE("kde3/plugins/designer/kdewidgets.la", $kde_libdirs, kde_widgetdir) + +if test -n "$ac_kde_libraries" && test ! -r "$ac_kde_libraries/$kde_check_lib"; then +AC_MSG_ERROR([ +in the prefix, you've chosen, are no KDE libraries installed. This will fail. +So, check this please and use another prefix!]) +fi + +if test -n "$kde_widgetdir" && test ! -r "$kde_widgetdir/kde3/plugins/designer/kdewidgets.la"; then +AC_MSG_ERROR([ +I can't find the designer plugins. These are required and should have been installed +by kdelibs]) +fi + +if test -n "$kde_widgetdir"; then + kde_widgetdir="$kde_widgetdir/kde3/plugins/designer" +fi + + +if test "$ac_kde_includes" = NO || test "$ac_kde_libraries" = NO || test "$kde_widgetdir" = NO; then + ac_cv_have_kde="have_kde=no" +else + ac_cv_have_kde="have_kde=yes \ + ac_kde_includes=$ac_kde_includes ac_kde_libraries=$ac_kde_libraries" +fi + +else dnl test -z $1, e.g. from kdelibs + + ac_cv_have_kde="have_kde=no" + +fi +])dnl + +eval "$ac_cv_have_kde" + +if test "$have_kde" != "yes"; then + if test "${prefix}" = NONE; then + ac_kde_prefix="$ac_default_prefix" + else + ac_kde_prefix="$prefix" + fi + if test "$exec_prefix" = NONE; then + ac_kde_exec_prefix="$ac_kde_prefix" + AC_MSG_RESULT([will be installed in $ac_kde_prefix]) + else + ac_kde_exec_prefix="$exec_prefix" + AC_MSG_RESULT([will be installed in $ac_kde_prefix and $ac_kde_exec_prefix]) + fi + + kde_libraries="${libdir}" + kde_includes="${includedir}" + +else + ac_cv_have_kde="have_kde=yes \ + ac_kde_includes=$ac_kde_includes ac_kde_libraries=$ac_kde_libraries" + AC_MSG_RESULT([libraries $ac_kde_libraries, headers $ac_kde_includes]) + + kde_libraries="$ac_kde_libraries" + kde_includes="$ac_kde_includes" +fi +AC_SUBST(kde_libraries) +AC_SUBST(kde_includes) + +if test "$kde_includes" = "$x_includes" || test "$kde_includes" = "$qt_includes" || test "$kde_includes" = "/usr/include"; then + KDE_INCLUDES="" +else + KDE_INCLUDES="-I$kde_includes" + all_includes="$KDE_INCLUDES $all_includes" +fi + +KDE_DEFAULT_CXXFLAGS="-DQT_CLEAN_NAMESPACE -DQT_NO_ASCII_CAST -DQT_NO_STL -DQT_NO_COMPAT -DQT_NO_TRANSLATION" + +KDE_LDFLAGS="-L$kde_libraries" +if test ! "$kde_libraries" = "$x_libraries" && test ! "$kde_libraries" = "$qt_libraries" ; then + all_libraries="$KDE_LDFLAGS $all_libraries" +fi + +AC_SUBST(KDE_LDFLAGS) +AC_SUBST(KDE_INCLUDES) + +AC_REQUIRE([KDE_CHECK_EXTRA_LIBS]) + +all_libraries="$all_libraries $USER_LDFLAGS" +all_includes="$all_includes $USER_INCLUDES" +AC_SUBST(all_includes) +AC_SUBST(all_libraries) + +if test -z "$1"; then +KDE_CHECK_UIC_PLUGINS +fi + +ac_kde_libraries="$kde_libdir" + +AC_SUBST(AUTODIRS) + + +]) + +AC_DEFUN([KDE_CHECK_EXTRA_LIBS], +[ +AC_MSG_CHECKING(for extra includes) +AC_ARG_WITH(extra-includes,AC_HELP_STRING([--with-extra-includes=DIR],[adds non standard include paths]), + kde_use_extra_includes="$withval", + kde_use_extra_includes=NONE +) +kde_extra_includes= +if test -n "$kde_use_extra_includes" && \ + test "$kde_use_extra_includes" != "NONE"; then + + ac_save_ifs=$IFS + IFS=':' + for dir in $kde_use_extra_includes; do + kde_extra_includes="$kde_extra_includes $dir" + USER_INCLUDES="$USER_INCLUDES -I$dir" + done + IFS=$ac_save_ifs + kde_use_extra_includes="added" +else + kde_use_extra_includes="no" +fi +AC_SUBST(USER_INCLUDES) + +AC_MSG_RESULT($kde_use_extra_includes) + +kde_extra_libs= +AC_MSG_CHECKING(for extra libs) +AC_ARG_WITH(extra-libs,AC_HELP_STRING([--with-extra-libs=DIR],[adds non standard library paths]), + kde_use_extra_libs=$withval, + kde_use_extra_libs=NONE +) +if test -n "$kde_use_extra_libs" && \ + test "$kde_use_extra_libs" != "NONE"; then + + ac_save_ifs=$IFS + IFS=':' + for dir in $kde_use_extra_libs; do + kde_extra_libs="$kde_extra_libs $dir" + KDE_EXTRA_RPATH="$KDE_EXTRA_RPATH -R $dir" + USER_LDFLAGS="$USER_LDFLAGS -L$dir" + done + IFS=$ac_save_ifs + kde_use_extra_libs="added" +else + kde_use_extra_libs="no" +fi + +AC_SUBST(USER_LDFLAGS) + +AC_MSG_RESULT($kde_use_extra_libs) + +]) + +AC_DEFUN([KDE_1_CHECK_PATH_HEADERS], +[ + AC_MSG_CHECKING([for KDE headers installed]) + AC_LANG_SAVE + AC_LANG_CPLUSPLUS +cat > conftest.$ac_ext < +#endif +#include +#include "confdefs.h" +#include + +int main() { + printf("kde_htmldir=\\"%s\\"\n", KApplication::kde_htmldir().data()); + printf("kde_appsdir=\\"%s\\"\n", KApplication::kde_appsdir().data()); + printf("kde_icondir=\\"%s\\"\n", KApplication::kde_icondir().data()); + printf("kde_sounddir=\\"%s\\"\n", KApplication::kde_sounddir().data()); + printf("kde_datadir=\\"%s\\"\n", KApplication::kde_datadir().data()); + printf("kde_locale=\\"%s\\"\n", KApplication::kde_localedir().data()); + printf("kde_cgidir=\\"%s\\"\n", KApplication::kde_cgidir().data()); + printf("kde_confdir=\\"%s\\"\n", KApplication::kde_configdir().data()); + printf("kde_mimedir=\\"%s\\"\n", KApplication::kde_mimedir().data()); + printf("kde_toolbardir=\\"%s\\"\n", KApplication::kde_toolbardir().data()); + printf("kde_wallpaperdir=\\"%s\\"\n", + KApplication::kde_wallpaperdir().data()); + printf("kde_bindir=\\"%s\\"\n", KApplication::kde_bindir().data()); + printf("kde_partsdir=\\"%s\\"\n", KApplication::kde_partsdir().data()); + printf("kde_servicesdir=\\"/tmp/dummy\\"\n"); + printf("kde_servicetypesdir=\\"/tmp/dummy\\"\n"); + printf("kde_moduledir=\\"/tmp/dummy\\"\n"); + printf("kde_styledir=\\"/tmp/dummy\\"\n"); + printf("kde_widgetdir=\\"/tmp/dummy\\"\n"); + printf("xdg_appsdir=\\"/tmp/dummy\\"\n"); + printf("xdg_menudir=\\"/tmp/dummy\\"\n"); + printf("xdg_directorydir=\\"/tmp/dummy\\"\n"); + printf("kde_kcfgdir=\\"/tmp/dummy\\"\n"); + return 0; + } +EOF + + ac_save_CPPFLAGS=$CPPFLAGS + CPPFLAGS="$all_includes $CPPFLAGS" + if AC_TRY_EVAL(ac_compile); then + AC_MSG_RESULT(yes) + else + AC_MSG_ERROR([your system is not able to compile a small KDE application! +Check, if you installed the KDE header files correctly. +For more details about this problem, look at the end of config.log.]) + fi + CPPFLAGS=$ac_save_CPPFLAGS + + AC_LANG_RESTORE +]) + +AC_DEFUN([KDE_CHECK_KDEQTADDON], +[ +AC_MSG_CHECKING(for kde-qt-addon) +AC_CACHE_VAL(kde_cv_have_kdeqtaddon, +[ + kde_ldflags_safe="$LDFLAGS" + kde_libs_safe="$LIBS" + kde_cxxflags_safe="$CXXFLAGS" + + LIBS="-lkde-qt-addon $LIBQT $LIBS" + CXXFLAGS="$CXXFLAGS -I$prefix/include -I$prefix/include/kde $all_includes" + LDFLAGS="$LDFLAGS $all_libraries $USER_LDFLAGS" + + AC_TRY_LINK([ + #include + ], + [ + QDomDocument doc; + ], + kde_cv_have_kdeqtaddon=yes, + kde_cv_have_kdeqtaddon=no + ) + + LDFLAGS=$kde_ldflags_safe + LIBS=$kde_libs_safe + CXXFLAGS=$kde_cxxflags_safe +]) + +AC_MSG_RESULT($kde_cv_have_kdeqtaddon) + +if test "$kde_cv_have_kdeqtaddon" = "no"; then + AC_MSG_ERROR([Can't find libkde-qt-addon. You need to install it first. +It is a separate package (and CVS module) named kde-qt-addon.]) +fi +]) + +AC_DEFUN([KDE_CREATE_LIBS_ALIASES], +[ + AC_REQUIRE([KDE_MISC_TESTS]) + AC_REQUIRE([KDE_CHECK_LIBDL]) + AC_REQUIRE([K_PATH_X]) + +if test $kde_qtver = 3; then + AC_SUBST(LIB_KDECORE, "-lkdecore") + AC_SUBST(LIB_KDEUI, "-lkdeui") + AC_SUBST(LIB_KIO, "-lkio") + AC_SUBST(LIB_KJS, "-lkjs") + AC_SUBST(LIB_SMB, "-lsmb") + AC_SUBST(LIB_KAB, "-lkab") + AC_SUBST(LIB_KABC, "-lkabc") + AC_SUBST(LIB_KHTML, "-lkhtml") + AC_SUBST(LIB_KSPELL, "-lkspell") + AC_SUBST(LIB_KPARTS, "-lkparts") + AC_SUBST(LIB_KDEPRINT, "-lkdeprint") + AC_SUBST(LIB_KUTILS, "-lkutils") + AC_SUBST(LIB_KDEPIM, "-lkdepim") + AC_SUBST(LIB_KIMPROXY, "-lkimproxy") + AC_SUBST(LIB_KNEWSTUFF, "-lknewstuff") + AC_SUBST(LIB_KDNSSD, "-lkdnssd") +# these are for backward compatibility + AC_SUBST(LIB_KSYCOCA, "-lkio") + AC_SUBST(LIB_KFILE, "-lkio") +elif test $kde_qtver = 2; then + AC_SUBST(LIB_KDECORE, "-lkdecore") + AC_SUBST(LIB_KDEUI, "-lkdeui") + AC_SUBST(LIB_KIO, "-lkio") + AC_SUBST(LIB_KSYCOCA, "-lksycoca") + AC_SUBST(LIB_SMB, "-lsmb") + AC_SUBST(LIB_KFILE, "-lkfile") + AC_SUBST(LIB_KAB, "-lkab") + AC_SUBST(LIB_KHTML, "-lkhtml") + AC_SUBST(LIB_KSPELL, "-lkspell") + AC_SUBST(LIB_KPARTS, "-lkparts") + AC_SUBST(LIB_KDEPRINT, "-lkdeprint") +else + AC_SUBST(LIB_KDECORE, "-lkdecore -lXext $(LIB_QT)") + AC_SUBST(LIB_KDEUI, "-lkdeui $(LIB_KDECORE)") + AC_SUBST(LIB_KFM, "-lkfm $(LIB_KDECORE)") + AC_SUBST(LIB_KFILE, "-lkfile $(LIB_KFM) $(LIB_KDEUI)") + AC_SUBST(LIB_KAB, "-lkab $(LIB_KIMGIO) $(LIB_KDECORE)") +fi +]) + +AC_DEFUN([AC_PATH_KDE], +[ + AC_BASE_PATH_KDE + AC_ARG_ENABLE(path-check,AC_HELP_STRING([--disable-path-check],[don't try to find out, where to install]), + [ + if test "$enableval" = "no"; + then ac_use_path_checking="default" + else ac_use_path_checking="" + fi + ], + [ + if test "$kde_qtver" = 1; + then ac_use_path_checking="" + else ac_use_path_checking="default" + fi + ] + ) + + AC_CREATE_KFSSTND($ac_use_path_checking) + + AC_SUBST_KFSSTND + KDE_CREATE_LIBS_ALIASES +]) + +dnl KDE_CHECK_FUNC_EXT(, [headers], [sample-use], [C prototype], [autoheader define], [call if found]) +AC_DEFUN([KDE_CHECK_FUNC_EXT], +[ +AC_MSG_CHECKING(for $1) +AC_CACHE_VAL(kde_cv_func_$1, +[ +AC_LANG_SAVE +AC_LANG_CPLUSPLUS +save_CXXFLAGS="$CXXFLAGS" +kde_safe_LIBS="$LIBS" +LIBS="$LIBS $X_EXTRA_LIBS" +if test "$GXX" = "yes"; then +CXXFLAGS="$CXXFLAGS -pedantic-errors" +fi +AC_TRY_COMPILE([ +$2 +], +[ +$3 +], +kde_cv_func_$1=yes, +kde_cv_func_$1=no) +CXXFLAGS="$save_CXXFLAGS" +LIBS="$kde_safe_LIBS" +AC_LANG_RESTORE +]) + +AC_MSG_RESULT($kde_cv_func_$1) + +AC_MSG_CHECKING([if $1 needs custom prototype]) +AC_CACHE_VAL(kde_cv_proto_$1, +[ +if test "x$kde_cv_func_$1" = xyes; then + kde_cv_proto_$1=no +else + case "$1" in + setenv|unsetenv|usleep|random|srandom|seteuid|mkstemps|mkstemp|revoke|vsnprintf|strlcpy|strlcat) + kde_cv_proto_$1="yes - in libkdefakes" + ;; + *) + kde_cv_proto_$1=unknown + ;; + esac +fi + +if test "x$kde_cv_proto_$1" = xunknown; then + +AC_LANG_SAVE +AC_LANG_CPLUSPLUS + kde_safe_libs=$LIBS + LIBS="$LIBS $X_EXTRA_LIBS" + AC_TRY_LINK([ +$2 + +extern "C" $4; +], +[ +$3 +], +[ kde_cv_func_$1=yes + kde_cv_proto_$1=yes ], + [kde_cv_proto_$1="$1 unavailable"] +) +LIBS=$kde_safe_libs +AC_LANG_RESTORE +fi +]) +AC_MSG_RESULT($kde_cv_proto_$1) + +if test "x$kde_cv_func_$1" = xyes; then + AC_DEFINE(HAVE_$5, 1, [Define if you have $1]) + $6 +fi +if test "x$kde_cv_proto_$1" = xno; then + AC_DEFINE(HAVE_$5_PROTO, 1, + [Define if you have the $1 prototype]) +fi + +AH_VERBATIM([_HAVE_$5_PROTO], +[ +#if !defined(HAVE_$5_PROTO) +#ifdef __cplusplus +extern "C" { +#endif +$4; +#ifdef __cplusplus +} +#endif +#endif +]) +]) + +AC_DEFUN([AC_CHECK_SETENV], +[ + KDE_CHECK_FUNC_EXT(setenv, [ +#include +], + [setenv("VAR", "VALUE", 1);], + [int setenv (const char *, const char *, int)], + [SETENV]) +]) + +AC_DEFUN([AC_CHECK_UNSETENV], +[ + KDE_CHECK_FUNC_EXT(unsetenv, [ +#include +], + [unsetenv("VAR");], + [void unsetenv (const char *)], + [UNSETENV]) +]) + +AC_DEFUN([AC_CHECK_GETDOMAINNAME], +[ + KDE_CHECK_FUNC_EXT(getdomainname, [ +#include +#include +#include +], + [ +char buffer[200]; +getdomainname(buffer, 200); +], + [#include + int getdomainname (char *, size_t)], + [GETDOMAINNAME]) +]) + +AC_DEFUN([AC_CHECK_GETHOSTNAME], +[ + KDE_CHECK_FUNC_EXT(gethostname, [ +#include +#include +], + [ +char buffer[200]; +gethostname(buffer, 200); +], + [int gethostname (char *, unsigned int)], + [GETHOSTNAME]) +]) + +AC_DEFUN([AC_CHECK_USLEEP], +[ + KDE_CHECK_FUNC_EXT(usleep, [ +#include +], + [ +usleep(200); +], + [int usleep (unsigned int)], + [USLEEP]) +]) + + +AC_DEFUN([AC_CHECK_RANDOM], +[ + KDE_CHECK_FUNC_EXT(random, [ +#include +], + [ +random(); +], + [long int random(void)], + [RANDOM]) + + KDE_CHECK_FUNC_EXT(srandom, [ +#include +], + [ +srandom(27); +], + [void srandom(unsigned int)], + [SRANDOM]) + +]) + +AC_DEFUN([AC_CHECK_INITGROUPS], +[ + KDE_CHECK_FUNC_EXT(initgroups, [ +#include +#include +#include +], + [ +char buffer[200]; +initgroups(buffer, 27); +], + [int initgroups(const char *, gid_t)], + [INITGROUPS]) +]) + +AC_DEFUN([AC_CHECK_MKSTEMPS], +[ + KDE_CHECK_FUNC_EXT(mkstemps, [ +#include +#include +], + [ +mkstemps("/tmp/aaaXXXXXX", 6); +], + [int mkstemps(char *, int)], + [MKSTEMPS]) +]) + +AC_DEFUN([AC_CHECK_MKSTEMP], +[ + KDE_CHECK_FUNC_EXT(mkstemp, [ +#include +#include +], + [ +mkstemp("/tmp/aaaXXXXXX"); +], + [int mkstemp(char *)], + [MKSTEMP]) +]) + +AC_DEFUN([AC_CHECK_MKDTEMP], +[ + KDE_CHECK_FUNC_EXT(mkdtemp, [ +#include +#include +], + [ +mkdtemp("/tmp/aaaXXXXXX"); +], + [char *mkdtemp(char *)], + [MKDTEMP]) +]) + + +AC_DEFUN([AC_CHECK_RES_INIT], +[ + AC_MSG_CHECKING([if res_init needs -lresolv]) + kde_libs_safe="$LIBS" + LIBS="$LIBS $X_EXTRA_LIBS -lresolv" + AC_TRY_LINK( + [ +#include +#include +#include +#include + ], + [ + res_init(); + ], + [ + LIBRESOLV="-lresolv" + AC_MSG_RESULT(yes) + AC_DEFINE(HAVE_RES_INIT, 1, [Define if you have the res_init function]) + ], + [ AC_MSG_RESULT(no) ] + ) + LIBS=$kde_libs_safe + AC_SUBST(LIBRESOLV) + + KDE_CHECK_FUNC_EXT(res_init, + [ +#include +#include +#include +#include + ], + [res_init()], + [int res_init(void)], + [RES_INIT]) +]) + +AC_DEFUN([AC_CHECK_STRLCPY], +[ + KDE_CHECK_FUNC_EXT(strlcpy, [ +#include +], +[ char buf[20]; + strlcpy(buf, "KDE function test", sizeof(buf)); +], + [unsigned long strlcpy(char*, const char*, unsigned long)], + [STRLCPY]) +]) + +AC_DEFUN([AC_CHECK_STRLCAT], +[ + KDE_CHECK_FUNC_EXT(strlcat, [ +#include +], +[ char buf[20]; + buf[0]='\0'; + strlcat(buf, "KDE function test", sizeof(buf)); +], + [unsigned long strlcat(char*, const char*, unsigned long)], + [STRLCAT]) +]) + +AC_DEFUN([AC_CHECK_RES_QUERY], +[ + KDE_CHECK_FUNC_EXT(res_query, [ +#include +#include +#include +#include +#include +], +[ +res_query(NULL, 0, 0, NULL, 0); +], + [int res_query(const char *, int, int, unsigned char *, int)], + [RES_QUERY]) +]) + +AC_DEFUN([AC_CHECK_DN_SKIPNAME], +[ + KDE_CHECK_FUNC_EXT(dn_skipname, [ +#include +#include +#include +#include +], +[ +dn_skipname (NULL, NULL); +], + [int dn_skipname (unsigned char *, unsigned char *)], + [DN_SKIPNAME]) +]) + + +AC_DEFUN([AC_FIND_GIF], + [AC_MSG_CHECKING([for giflib]) +AC_CACHE_VAL(ac_cv_lib_gif, +[ac_save_LIBS="$LIBS" +if test "x$kde_use_qt_emb" != "xyes" && test "x$kde_use_qt_mac" != "xyes"; then +LIBS="$all_libraries -lgif -lX11 $LIBSOCKET" +else +LIBS="$all_libraries -lgif" +fi +AC_TRY_LINK(dnl +[ +#ifdef __cplusplus +extern "C" { +#endif +int GifLastError(void); +#ifdef __cplusplus +} +#endif +/* We use char because int might match the return type of a gcc2 + builtin and then its argument prototype would still apply. */ +], + [return GifLastError();], + eval "ac_cv_lib_gif=yes", + eval "ac_cv_lib_gif=no") +LIBS="$ac_save_LIBS" +])dnl +if eval "test \"`echo $ac_cv_lib_gif`\" = yes"; then + AC_MSG_RESULT(yes) + AC_DEFINE_UNQUOTED(HAVE_LIBGIF, 1, [Define if you have libgif]) +else + AC_MSG_ERROR(You need giflib30. Please install the kdesupport package) +fi +]) + +AC_DEFUN([KDE_FIND_JPEG_HELPER], +[ +AC_MSG_CHECKING([for libjpeg$2]) +AC_CACHE_VAL(ac_cv_lib_jpeg_$1, +[ +ac_save_LIBS="$LIBS" +LIBS="$all_libraries $USER_LDFLAGS -ljpeg$2 -lm" +ac_save_CFLAGS="$CFLAGS" +CFLAGS="$CFLAGS $all_includes $USER_INCLUDES" +AC_TRY_LINK( +[/* Override any gcc2 internal prototype to avoid an error. */ +struct jpeg_decompress_struct; +typedef struct jpeg_decompress_struct * j_decompress_ptr; +typedef int size_t; +#ifdef __cplusplus +extern "C" { +#endif + void jpeg_CreateDecompress(j_decompress_ptr cinfo, + int version, size_t structsize); +#ifdef __cplusplus +} +#endif +/* We use char because int might match the return type of a gcc2 + builtin and then its argument prototype would still apply. */ +], + [jpeg_CreateDecompress(0L, 0, 0);], + eval "ac_cv_lib_jpeg_$1=-ljpeg$2", + eval "ac_cv_lib_jpeg_$1=no") +LIBS="$ac_save_LIBS" +CFLAGS="$ac_save_CFLAGS" +]) + +if eval "test ! \"`echo $ac_cv_lib_jpeg_$1`\" = no"; then + LIBJPEG="$ac_cv_lib_jpeg_$1" + AC_MSG_RESULT($ac_cv_lib_jpeg_$1) +else + AC_MSG_RESULT(no) + $3 +fi + +]) + +AC_DEFUN([AC_FIND_JPEG], +[ +dnl first look for libraries +KDE_FIND_JPEG_HELPER(6b, 6b, + KDE_FIND_JPEG_HELPER(normal, [], + [ + LIBJPEG= + ] + ) +) + +dnl then search the headers (can't use simply AC_TRY_xxx, as jpeglib.h +dnl requires system dependent includes loaded before it) +jpeg_incdirs="$includedir /usr/include /usr/local/include $kde_extra_includes" +AC_FIND_FILE(jpeglib.h, $jpeg_incdirs, jpeg_incdir) +test "x$jpeg_incdir" = xNO && jpeg_incdir= + +dnl if headers _and_ libraries are missing, this is no error, and we +dnl continue with a warning (the user will get no jpeg support in khtml) +dnl if only one is missing, it means a configuration error, but we still +dnl only warn +if test -n "$jpeg_incdir" && test -n "$LIBJPEG" ; then + AC_DEFINE_UNQUOTED(HAVE_LIBJPEG, 1, [Define if you have libjpeg]) +else + if test -n "$jpeg_incdir" || test -n "$LIBJPEG" ; then + AC_MSG_WARN([ +There is an installation error in jpeg support. You seem to have only one +of either the headers _or_ the libraries installed. You may need to either +provide correct --with-extra-... options, or the development package of +libjpeg6b. You can get a source package of libjpeg from http://www.ijg.org/ +Disabling JPEG support. +]) + else + AC_MSG_WARN([libjpeg not found. disable JPEG support.]) + fi + jpeg_incdir= + LIBJPEG= +fi + +AC_SUBST(LIBJPEG) +AH_VERBATIM(_AC_CHECK_JPEG, +[/* + * jpeg.h needs HAVE_BOOLEAN, when the system uses boolean in system + * headers and I'm too lazy to write a configure test as long as only + * unixware is related + */ +#ifdef _UNIXWARE +#define HAVE_BOOLEAN +#endif +]) +]) + +AC_DEFUN([KDE_CHECK_QT_JPEG], +[ +if test -n "$LIBJPEG"; then +AC_MSG_CHECKING([if Qt needs $LIBJPEG]) +AC_CACHE_VAL(kde_cv_qt_jpeg, +[ +AC_LANG_SAVE +AC_LANG_CPLUSPLUS +ac_save_LIBS="$LIBS" +LIBS="$all_libraries $USER_LDFLAGS $LIBQT" +LIBS=`echo $LIBS | sed "s/$LIBJPEG//"` +ac_save_CXXFLAGS="$CXXFLAGS" +CXXFLAGS="$CXXFLAGS $all_includes $USER_INCLUDES" +AC_TRY_LINK( +[#include ], + [ + int argc; + char** argv; + QApplication app(argc, argv);], + eval "kde_cv_qt_jpeg=no", + eval "kde_cv_qt_jpeg=yes") +LIBS="$ac_save_LIBS" +CXXFLAGS="$ac_save_CXXFLAGS" +AC_LANG_RESTORE +fi +]) + +if eval "test ! \"`echo $kde_cv_qt_jpeg`\" = no"; then + AC_MSG_RESULT(yes) + LIBJPEG_QT='$(LIBJPEG)' +else + AC_MSG_RESULT(no) + LIBJPEG_QT= +fi + +]) + +AC_DEFUN([AC_FIND_ZLIB], +[ +AC_REQUIRE([KDE_CHECK_EXTRA_LIBS]) +AC_MSG_CHECKING([for libz]) +AC_CACHE_VAL(ac_cv_lib_z, +[ +kde_save_LIBS="$LIBS" +LIBS="$all_libraries $USER_LDFLAGS -lz $LIBSOCKET" +kde_save_CFLAGS="$CFLAGS" +CFLAGS="$CFLAGS $all_includes $USER_INCLUDES" +AC_TRY_LINK(dnl +[ +#include +], +[ + char buf[42]; + gzFile f = (gzFile) 0; + /* this would segfault.. but we only link, don't run */ + (void) gzgets(f, buf, sizeof(buf)); + + return (zlibVersion() == ZLIB_VERSION); +], + eval "ac_cv_lib_z='-lz'", + eval "ac_cv_lib_z=no") +LIBS="$kde_save_LIBS" +CFLAGS="$kde_save_CFLAGS" +])dnl +if test ! "$ac_cv_lib_z" = no; then + AC_DEFINE_UNQUOTED(HAVE_LIBZ, 1, [Define if you have libz]) + LIBZ="$ac_cv_lib_z" + AC_MSG_RESULT($ac_cv_lib_z) +else + AC_MSG_ERROR(not found. + Possibly configure picks up an outdated version + installed by XFree86. Remove it from your system. + + Check your installation and look into config.log) + LIBZ="" +fi +AC_SUBST(LIBZ) +]) + +AC_DEFUN([KDE_TRY_TIFFLIB], +[ +AC_MSG_CHECKING([for libtiff $1]) + +AC_CACHE_VAL(kde_cv_libtiff_$1, +[ +AC_LANG_SAVE +AC_LANG_CPLUSPLUS +kde_save_LIBS="$LIBS" +if test "x$kde_use_qt_emb" != "xyes" && test "x$kde_use_qt_mac" != "xyes"; then +LIBS="$all_libraries $USER_LDFLAGS -l$1 $LIBJPEG $LIBZ -lX11 $LIBSOCKET -lm" +else +LIBS="$all_libraries $USER_LDFLAGS -l$1 $LIBJPEG $LIBZ -lm" +fi +kde_save_CXXFLAGS="$CXXFLAGS" +CXXFLAGS="$CXXFLAGS $all_includes $USER_INCLUDES" + +AC_TRY_LINK(dnl +[ +#include +], + [return (TIFFOpen( "", "r") == 0); ], +[ + kde_cv_libtiff_$1="-l$1 $LIBJPEG $LIBZ" +], [ + kde_cv_libtiff_$1=no +]) + +LIBS="$kde_save_LIBS" +CXXFLAGS="$kde_save_CXXFLAGS" +AC_LANG_RESTORE +]) + +if test "$kde_cv_libtiff_$1" = "no"; then + AC_MSG_RESULT(no) + LIBTIFF="" + $3 +else + LIBTIFF="$kde_cv_libtiff_$1" + AC_MSG_RESULT(yes) + AC_DEFINE_UNQUOTED(HAVE_LIBTIFF, 1, [Define if you have libtiff]) + $2 +fi + +]) + +AC_DEFUN([AC_FIND_TIFF], +[ +AC_REQUIRE([K_PATH_X]) +AC_REQUIRE([AC_FIND_ZLIB]) +AC_REQUIRE([AC_FIND_JPEG]) +AC_REQUIRE([KDE_CHECK_EXTRA_LIBS]) + +KDE_TRY_TIFFLIB(tiff, [], + KDE_TRY_TIFFLIB(tiff34)) + +AC_SUBST(LIBTIFF) +]) + + +AC_DEFUN([AC_FIND_PNG], +[ +AC_REQUIRE([KDE_CHECK_EXTRA_LIBS]) +AC_REQUIRE([AC_FIND_ZLIB]) +AC_MSG_CHECKING([for libpng]) +AC_CACHE_VAL(ac_cv_lib_png, +[ +kde_save_LIBS="$LIBS" +if test "x$kde_use_qt_emb" != "xyes" && test "x$kde_use_qt_mac" != "xyes"; then +LIBS="$LIBS $all_libraries $USER_LDFLAGS -lpng $LIBZ -lm -lX11 $LIBSOCKET" +else +LIBS="$LIBS $all_libraries $USER_LDFLAGS -lpng $LIBZ -lm" +fi +kde_save_CFLAGS="$CFLAGS" +CFLAGS="$CFLAGS $all_includes $USER_INCLUDES" + +AC_TRY_LINK(dnl + [ + #include + ], + [ + png_structp png_ptr = png_create_read_struct( /* image ptr */ + PNG_LIBPNG_VER_STRING, 0, 0, 0 ); + return( png_ptr != 0 ); + ], + eval "ac_cv_lib_png='-lpng $LIBZ -lm'", + eval "ac_cv_lib_png=no" +) +LIBS="$kde_save_LIBS" +CFLAGS="$kde_save_CFLAGS" +])dnl +if eval "test ! \"`echo $ac_cv_lib_png`\" = no"; then + AC_DEFINE_UNQUOTED(HAVE_LIBPNG, 1, [Define if you have libpng]) + LIBPNG="$ac_cv_lib_png" + AC_SUBST(LIBPNG) + AC_MSG_RESULT($ac_cv_lib_png) +else + AC_MSG_RESULT(no) + LIBPNG="" + AC_SUBST(LIBPNG) +fi +]) + + +AC_DEFUN([AC_FIND_JASPER], +[ +AC_REQUIRE([KDE_CHECK_EXTRA_LIBS]) +AC_REQUIRE([AC_FIND_JPEG]) +AC_MSG_CHECKING([for jasper]) +AC_CACHE_VAL(ac_cv_jasper, +[ +kde_save_LIBS="$LIBS" +LIBS="$LIBS $all_libraries $USER_LDFLAGS -ljasper $LIBJPEG -lm" +kde_save_CFLAGS="$CFLAGS" +CFLAGS="$CFLAGS $all_includes $USER_INCLUDES" + +AC_TRY_LINK(dnl + [ + #include + ], + [ + return( jas_init() ); + ], + eval "ac_cv_jasper='-ljasper $LIBJPEG -lm'", + eval "ac_cv_jasper=no" +) +LIBS="$kde_save_LIBS" +CFLAGS="$kde_save_CFLAGS" +])dnl +if eval "test ! \"`echo $ac_cv_jasper`\" = no"; then + AC_DEFINE_UNQUOTED(HAVE_JASPER, 1, [Define if you have jasper]) + LIB_JASPER="$ac_cv_jasper" + AC_MSG_RESULT($ac_cv_jasper) +else + AC_MSG_RESULT(no) + LIB_JASPER="" +fi +AC_SUBST(LIB_JASPER) +]) + +AC_DEFUN([AC_CHECK_BOOL], +[ + AC_DEFINE_UNQUOTED(HAVE_BOOL, 1, [You _must_ have bool]) +]) + +AC_DEFUN([AC_CHECK_GNU_EXTENSIONS], +[ +AC_MSG_CHECKING(if you need GNU extensions) +AC_CACHE_VAL(ac_cv_gnu_extensions, +[ +cat > conftest.c << EOF +#include + +#ifdef __GNU_LIBRARY__ +yes +#endif +EOF + +if (eval "$ac_cpp conftest.c") 2>&5 | + egrep "yes" >/dev/null 2>&1; then + rm -rf conftest* + ac_cv_gnu_extensions=yes +else + ac_cv_gnu_extensions=no +fi +]) + +AC_MSG_RESULT($ac_cv_gnu_extensions) +if test "$ac_cv_gnu_extensions" = "yes"; then + AC_DEFINE_UNQUOTED(_GNU_SOURCE, 1, [Define if you need to use the GNU extensions]) +fi +]) + +AC_DEFUN([KDE_CHECK_COMPILER_FLAG], +[ +AC_MSG_CHECKING([whether $CXX supports -$1]) +kde_cache=`echo $1 | sed 'y% .=/+-,%____p__%'` +AC_CACHE_VAL(kde_cv_prog_cxx_$kde_cache, +[ + AC_LANG_SAVE + AC_LANG_CPLUSPLUS + save_CXXFLAGS="$CXXFLAGS" + CXXFLAGS="$CXXFLAGS -$1" + AC_TRY_LINK([],[ return 0; ], [eval "kde_cv_prog_cxx_$kde_cache=yes"], []) + CXXFLAGS="$save_CXXFLAGS" + AC_LANG_RESTORE +]) +if eval "test \"`echo '$kde_cv_prog_cxx_'$kde_cache`\" = yes"; then + AC_MSG_RESULT(yes) + : + $2 +else + AC_MSG_RESULT(no) + : + $3 +fi +]) + +AC_DEFUN([KDE_CHECK_C_COMPILER_FLAG], +[ +AC_MSG_CHECKING([whether $CC supports -$1]) +kde_cache=`echo $1 | sed 'y% .=/+-,%____p__%'` +AC_CACHE_VAL(kde_cv_prog_cc_$kde_cache, +[ + AC_LANG_SAVE + AC_LANG_C + save_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS -$1" + AC_TRY_LINK([],[ return 0; ], [eval "kde_cv_prog_cc_$kde_cache=yes"], []) + CFLAGS="$save_CFLAGS" + AC_LANG_RESTORE +]) +if eval "test \"`echo '$kde_cv_prog_cc_'$kde_cache`\" = yes"; then + AC_MSG_RESULT(yes) + : + $2 +else + AC_MSG_RESULT(no) + : + $3 +fi +]) + + +dnl AC_REMOVE_FORBIDDEN removes forbidden arguments from variables +dnl use: AC_REMOVE_FORBIDDEN(CC, [-forbid -bad-option whatever]) +dnl it's all white-space separated +AC_DEFUN([AC_REMOVE_FORBIDDEN], +[ __val=$$1 + __forbid=" $2 " + if test -n "$__val"; then + __new="" + ac_save_IFS=$IFS + IFS=" " + for i in $__val; do + case "$__forbid" in + *" $i "*) AC_MSG_WARN([found forbidden $i in $1, removing it]) ;; + *) # Careful to not add spaces, where there were none, because otherwise + # libtool gets confused, if we change e.g. CXX + if test -z "$__new" ; then __new=$i ; else __new="$__new $i" ; fi ;; + esac + done + IFS=$ac_save_IFS + $1=$__new + fi +]) + +dnl AC_VALIDIFY_CXXFLAGS checks for forbidden flags the user may have given +AC_DEFUN([AC_VALIDIFY_CXXFLAGS], +[dnl +if test "x$kde_use_qt_emb" != "xyes"; then + AC_REMOVE_FORBIDDEN(CXX, [-fno-rtti -rpath]) + AC_REMOVE_FORBIDDEN(CXXFLAGS, [-fno-rtti -rpath]) +else + AC_REMOVE_FORBIDDEN(CXX, [-rpath]) + AC_REMOVE_FORBIDDEN(CXXFLAGS, [-rpath]) +fi +]) + +AC_DEFUN([AC_CHECK_COMPILERS], +[ + AC_ARG_ENABLE(debug, + AC_HELP_STRING([--enable-debug=ARG],[enables debug symbols (yes|no|full) [default=no]]), + [ + case $enableval in + yes) + kde_use_debug_code="yes" + kde_use_debug_define=no + ;; + full) + kde_use_debug_code="full" + kde_use_debug_define=no + ;; + *) + kde_use_debug_code="no" + kde_use_debug_define=yes + ;; + esac + ], + [kde_use_debug_code="no" + kde_use_debug_define=no + ]) + + dnl Just for configure --help + AC_ARG_ENABLE(dummyoption, + AC_HELP_STRING([--disable-debug], + [disables debug output and debug symbols [default=no]]), + [],[]) + + AC_ARG_ENABLE(strict, + AC_HELP_STRING([--enable-strict], + [compiles with strict compiler options (may not work!)]), + [ + if test $enableval = "no"; then + kde_use_strict_options="no" + else + kde_use_strict_options="yes" + fi + ], [kde_use_strict_options="no"]) + + AC_ARG_ENABLE(warnings,AC_HELP_STRING([--disable-warnings],[disables compilation with -Wall and similar]), + [ + if test $enableval = "no"; then + kde_use_warnings="no" + else + kde_use_warnings="yes" + fi + ], [kde_use_warnings="yes"]) + + dnl enable warnings for debug build + if test "$kde_use_debug_code" != "no"; then + kde_use_warnings=yes + fi + + AC_ARG_ENABLE(profile,AC_HELP_STRING([--enable-profile],[creates profiling infos [default=no]]), + [kde_use_profiling=$enableval], + [kde_use_profiling="no"] + ) + + dnl this prevents stupid AC_PROG_CC to add "-g" to the default CFLAGS + CFLAGS=" $CFLAGS" + + AC_PROG_CC + + AC_PROG_CPP + + if test "$GCC" = "yes"; then + if test "$kde_use_debug_code" != "no"; then + if test $kde_use_debug_code = "full"; then + CFLAGS="-g3 -fno-inline $CFLAGS" + else + CFLAGS="-g -O2 $CFLAGS" + fi + else + CFLAGS="-O2 $CFLAGS" + fi + fi + + if test "$kde_use_debug_define" = "yes"; then + CFLAGS="-DNDEBUG $CFLAGS" + fi + + + case "$host" in + *-*-sysv4.2uw*) CFLAGS="-D_UNIXWARE $CFLAGS";; + *-*-sysv5uw7*) CFLAGS="-D_UNIXWARE7 $CFLAGS";; + esac + + if test -z "$LDFLAGS" && test "$kde_use_debug_code" = "no" && test "$GCC" = "yes"; then + LDFLAGS="" + fi + + CXXFLAGS=" $CXXFLAGS" + + AC_PROG_CXX + + if test "$GXX" = "yes" || test "$CXX" = "KCC"; then + if test "$kde_use_debug_code" != "no"; then + if test "$CXX" = "KCC"; then + CXXFLAGS="+K0 -Wall -pedantic -W -Wpointer-arith -Wwrite-strings $CXXFLAGS" + else + if test "$kde_use_debug_code" = "full"; then + CXXFLAGS="-g3 -fno-inline $CXXFLAGS" + else + CXXFLAGS="-g -O2 $CXXFLAGS" + fi + fi + KDE_CHECK_COMPILER_FLAG(fno-builtin,[CXXFLAGS="-fno-builtin $CXXFLAGS"]) + + dnl convenience compiler flags + KDE_CHECK_COMPILER_FLAG(Woverloaded-virtual, [WOVERLOADED_VIRTUAL="-Woverloaded-virtual"], [WOVERLOADED_VRITUAL=""]) + AC_SUBST(WOVERLOADED_VIRTUAL) + else + if test "$CXX" = "KCC"; then + CXXFLAGS="+K3 $CXXFLAGS" + else + CXXFLAGS="-O2 $CXXFLAGS" + fi + fi + fi + + if test "$kde_use_debug_define" = "yes"; then + CXXFLAGS="-DNDEBUG -DNO_DEBUG $CXXFLAGS" + fi + + if test "$kde_use_profiling" = "yes"; then + KDE_CHECK_COMPILER_FLAG(pg, + [ + CFLAGS="-pg $CFLAGS" + CXXFLAGS="-pg $CXXFLAGS" + ]) + fi + + if test "$kde_use_warnings" = "yes"; then + if test "$GCC" = "yes"; then + CXXFLAGS="-Wall -W -Wpointer-arith -Wwrite-strings $CXXFLAGS" + case $host in + *-*-linux-gnu) + CFLAGS="-std=iso9899:1990 -W -Wall -Wchar-subscripts -Wshadow -Wpointer-arith -Wmissing-prototypes -Wwrite-strings -D_XOPEN_SOURCE=500 -D_BSD_SOURCE $CFLAGS" + CXXFLAGS="-ansi -D_XOPEN_SOURCE=500 -D_BSD_SOURCE -Wcast-align -Wconversion -Wchar-subscripts $CXXFLAGS" + KDE_CHECK_COMPILER_FLAG(Wmissing-format-attribute, [CXXFLAGS="$CXXFLAGS -Wformat-security -Wmissing-format-attribute"]) + KDE_CHECK_C_COMPILER_FLAG(Wmissing-format-attribute, [CFLAGS="$CFLAGS -Wformat-security -Wmissing-format-attribute"]) + ;; + esac + KDE_CHECK_COMPILER_FLAG(Wundef,[CXXFLAGS="-Wundef $CXXFLAGS"]) + KDE_CHECK_COMPILER_FLAG(Wno-long-long,[CXXFLAGS="-Wno-long-long $CXXFLAGS"]) + KDE_CHECK_COMPILER_FLAG(Wnon-virtual-dtor,[CXXFLAGS="-Wnon-virtual-dtor $CXXFLAGS"]) + fi + fi + + if test "$GXX" = "yes" && test "$kde_use_strict_options" = "yes"; then + CXXFLAGS="-Wcast-qual -Wshadow -Wcast-align $CXXFLAGS" + fi + + AC_ARG_ENABLE(pch, + AC_HELP_STRING([--enable-pch], + [enables precompiled header support (currently only KCC or gcc >=3.4+unsermake) [default=no]]), + [ kde_use_pch=$enableval ],[ kde_use_pch=no ]) + + HAVE_GCC_VISIBILITY=0 + AC_SUBST([HAVE_GCC_VISIBILITY]) + + if test "$GXX" = "yes"; then + KDE_CHECK_COMPILER_FLAG(fno-exceptions,[CXXFLAGS="$CXXFLAGS -fno-exceptions"]) + KDE_CHECK_COMPILER_FLAG(fno-check-new, [CXXFLAGS="$CXXFLAGS -fno-check-new"]) + KDE_CHECK_COMPILER_FLAG(fno-common, [CXXFLAGS="$CXXFLAGS -fno-common"]) + KDE_CHECK_COMPILER_FLAG(fexceptions, [USE_EXCEPTIONS="-fexceptions"], USE_EXCEPTIONS= ) + ENABLE_PERMISSIVE_FLAG="-fpermissive" + + if test "$kde_use_pch" = "yes"; then + AC_MSG_CHECKING(whether gcc supports precompiling c header files) + echo >conftest.h + if $CC -x c-header conftest.h >/dev/null 2>/dev/null; then + kde_gcc_supports_pch=yes + AC_MSG_RESULT(yes) + else + kde_gcc_supports_pch=no + AC_MSG_RESULT(no) + fi + if test "$kde_gcc_supports_pch" = "yes"; then + AC_MSG_CHECKING(whether gcc supports precompiling c++ header files) + if $CXX -x c++-header conftest.h >/dev/null 2>/dev/null; then + kde_gcc_supports_pch=yes + AC_MSG_RESULT(yes) + else + kde_gcc_supports_pch=no + AC_MSG_RESULT(no) + fi + fi + rm -f conftest.h conftest.h.gch + fi + fi + AM_CONDITIONAL(unsermake_enable_pch, test "$kde_use_pch" = "yes" && test "$kde_gcc_supports_pch" = "yes") + if test "$CXX" = "KCC"; then + dnl unfortunately we currently cannot disable exception support in KCC + dnl because doing so is binary incompatible and Qt by default links with exceptions :-( + dnl KDE_CHECK_COMPILER_FLAG(-no_exceptions,[CXXFLAGS="$CXXFLAGS --no_exceptions"]) + dnl KDE_CHECK_COMPILER_FLAG(-exceptions, [USE_EXCEPTIONS="--exceptions"], USE_EXCEPTIONS= ) + + if test "$kde_use_pch" = "yes"; then + dnl TODO: support --pch-dir! + KDE_CHECK_COMPILER_FLAG(-pch,[CXXFLAGS="$CXXFLAGS --pch"]) + dnl the below works (but the dir must exist), but it's + dnl useless for a whole package. + dnl The are precompiled headers for each source file, so when compiling + dnl from scratch, it doesn't make a difference, and they take up + dnl around ~5Mb _per_ sourcefile. + dnl KDE_CHECK_COMPILER_FLAG(-pch_dir /tmp, + dnl [CXXFLAGS="$CXXFLAGS --pch_dir `pwd`/pcheaders"]) + fi + dnl this flag controls inlining. by default KCC inlines in optimisation mode + dnl all implementations that are defined inside the class {} declaration. + dnl because of templates-compatibility with broken gcc compilers, this + dnl can cause excessive inlining. This flag limits it to a sane level + KDE_CHECK_COMPILER_FLAG(-inline_keyword_space_time=6,[CXXFLAGS="$CXXFLAGS --inline_keyword_space_time=6"]) + KDE_CHECK_COMPILER_FLAG(-inline_auto_space_time=2,[CXXFLAGS="$CXXFLAGS --inline_auto_space_time=2"]) + KDE_CHECK_COMPILER_FLAG(-inline_implicit_space_time=2.0,[CXXFLAGS="$CXXFLAGS --inline_implicit_space_time=2.0"]) + KDE_CHECK_COMPILER_FLAG(-inline_generated_space_time=2.0,[CXXFLAGS="$CXXFLAGS --inline_generated_space_time=2.0"]) + dnl Some source files are shared between multiple executables + dnl (or libraries) and some of those need template instantiations. + dnl In that case KCC needs to compile those sources with + dnl --one_instantiation_per_object. To make it easy for us we compile + dnl _all_ objects with that flag (--one_per is a shorthand). + KDE_CHECK_COMPILER_FLAG(-one_per, [CXXFLAGS="$CXXFLAGS --one_per"]) + fi + AC_SUBST(USE_EXCEPTIONS) + dnl obsolete macro - provided to keep things going + USE_RTTI= + AC_SUBST(USE_RTTI) + + case "$host" in + *-*-irix*) test "$GXX" = yes && CXXFLAGS="-D_LANGUAGE_C_PLUS_PLUS -D__LANGUAGE_C_PLUS_PLUS $CXXFLAGS" ;; + *-*-sysv4.2uw*) CXXFLAGS="-D_UNIXWARE $CXXFLAGS";; + *-*-sysv5uw7*) CXXFLAGS="-D_UNIXWARE7 $CXXFLAGS";; + *-*-solaris*) + if test "$GXX" = yes; then + libstdcpp=`$CXX -print-file-name=libstdc++.so` + if test ! -f $libstdcpp; then + AC_MSG_ERROR([You've compiled gcc without --enable-shared. This doesn't work with KDE. Please recompile gcc with --enable-shared to receive a libstdc++.so]) + fi + fi + ;; + esac + + AC_VALIDIFY_CXXFLAGS + + AC_PROG_CXXCPP + + if test "$GCC" = yes; then + NOOPT_CFLAGS=-O0 + fi + KDE_CHECK_COMPILER_FLAG(O0,[NOOPT_CXXFLAGS=-O0]) + + AC_ARG_ENABLE(coverage, + AC_HELP_STRING([--enable-coverage],[use gcc coverage testing]), [ + if test "$am_cv_CC_dependencies_compiler_type" = "gcc3"; then + ac_coverage_compiler="-fprofile-arcs -ftest-coverage" + ac_coverage_linker="-lgcc" + elif test "$am_cv_CC_dependencies_compiler_type" = "gcc"; then + ac_coverage_compiler="-fprofile-arcs -ftest-coverage" + ac_coverage_linker="" + else + AC_MSG_ERROR([coverage with your compiler is not supported]) + fi + CFLAGS="$CFLAGS $ac_coverage_compiler" + CXXFLAGS="$CXXFLAGS $ac_coverage_compiler" + LDFLAGS="$LDFLAGS $ac_coverage_linker" + ]) + + AC_SUBST(NOOPT_CXXFLAGS) + AC_SUBST(NOOPT_CFLAGS) + AC_SUBST(ENABLE_PERMISSIVE_FLAG) + + KDE_CHECK_NEW_LDFLAGS + KDE_CHECK_FINAL + KDE_CHECK_CLOSURE + KDE_CHECK_NMCHECK + + ifdef([AM_DEPENDENCIES], AC_REQUIRE([KDE_ADD_DEPENDENCIES]), []) +]) + +AC_DEFUN([KDE_CHECK_VISIBILITY_GCC_BUG], + [ + AC_CACHE_CHECK([for gcc -fvisibility-inlines-hidden bug], kde_cv_val_gcc_visibility_bug, + [ + AC_LANG_SAVE + AC_LANG_CPLUSPLUS + + safe_CXXFLAGS=$CXXFLAGS + safe_LDFLAGS=$LDFLAGS + CXXFLAGS="$CXXFLAGS -fPIC -fvisibility-inlines-hidden -O0" + LDFLAGS="$LDFLAGS -shared -fPIC" + + AC_TRY_LINK( + [ + /* http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19664 */ + #include + int some_function( void ) __attribute__ ((visibility("default"))); + int some_function( void ) + { + std::string s("blafasel"); + return 0; + } + ], [/* elvis is alive */], + kde_cv_val_gcc_visibility_bug=no, kde_cv_val_gcc_visibility_bug=yes) + + CXXFLAGS=$safe_CXXFLAGS + LDFLAGS=$safe_LDFLAGS + AC_LANG_RESTORE + ] + ) + + if test x$kde_cv_val_gcc_visibility_bug = xno; then + CXXFLAGS="$CXXFLAGS -fvisibility-inlines-hidden" + fi + ] +) + +AC_DEFUN([KDE_CHECK_AND_ADD_HIDDEN_VISIBILITY], +[ + if test "$GXX" = "yes"; then + KDE_CHECK_COMPILER_FLAG(fvisibility=hidden, + [ + CXXFLAGS="$CXXFLAGS -fvisibility=hidden" + KDE_CHECK_VISIBILITY_GCC_BUG + + HAVE_GCC_VISIBILITY=1 + AC_DEFINE_UNQUOTED(__KDE_HAVE_GCC_VISIBILITY, "$HAVE_GCC_VISIBILITY", [define to 1 if -fvisibility is supported]) + ]) + fi +]) + +AC_DEFUN([KDE_ENABLE_HIDDEN_VISIBILITY], +[ + AC_REQUIRE([KDE_CHECK_AND_ADD_HIDDEN_VISIBILITY]) +]) + +AC_DEFUN([KDE_ADD_DEPENDENCIES], +[ + [A]M_DEPENDENCIES(CC) + [A]M_DEPENDENCIES(CXX) +]) + +dnl just a wrapper to clean up configure.in +AC_DEFUN([KDE_PROG_LIBTOOL], +[ +AC_REQUIRE([AC_CHECK_COMPILERS]) +AC_REQUIRE([AC_ENABLE_SHARED]) +AC_REQUIRE([AC_ENABLE_STATIC]) + +AC_REQUIRE([AC_LIBTOOL_DLOPEN]) +AC_REQUIRE([KDE_CHECK_LIB64]) + +AC_OBJEXT +AC_EXEEXT + +AM_PROG_LIBTOOL +AC_LIBTOOL_CXX + +LIBTOOL_SHELL="/bin/sh ./libtool" +# LIBTOOL="$LIBTOOL --silent" +KDE_PLUGIN="-avoid-version -module -no-undefined \$(KDE_NO_UNDEFINED) \$(KDE_RPATH) \$(KDE_MT_LDFLAGS)" +AC_SUBST(KDE_PLUGIN) + +# we patch configure quite some so we better keep that consistent for incremental runs +AC_SUBST(AUTOCONF,'$(SHELL) $(top_srcdir)/admin/cvs.sh configure || touch configure') +]) + +AC_DEFUN([KDE_CHECK_LIB64], +[ + kdelibsuff="$kde_libs_suffix" + if test -z "$kdelibsuff"; then + kdelibsuff=no + fi + AC_ARG_ENABLE(libsuffix, + AC_HELP_STRING([--enable-libsuffix], + [/lib directory suffix (64,32,none[=default])]), + kdelibsuff=$enableval) + # TODO: add an auto case that compiles a little C app to check + # where the glibc is + if test "$kdelibsuff" = "no"; then + kdelibsuff= + fi + if test -z "$kdelibsuff"; then + AC_MSG_RESULT([not using lib directory suffix]) + AC_DEFINE(KDELIBSUFF, [""], Suffix for lib directories) + else + if test "$libdir" = '${exec_prefix}/lib'; then + libdir="$libdir${kdelibsuff}" + AC_SUBST([libdir], ["$libdir"]) dnl ugly hack for lib64 platforms + fi + AC_DEFINE_UNQUOTED(KDELIBSUFF, ["${kdelibsuff}"], Suffix for lib directories) + AC_MSG_RESULT([using lib directory suffix $kdelibsuff]) + fi +]) + +AC_DEFUN([KDE_CHECK_TYPES], +[ AC_CHECK_SIZEOF(int, 4)dnl + AC_CHECK_SIZEOF(short)dnl + AC_CHECK_SIZEOF(long, 4)dnl + AC_CHECK_SIZEOF(char *, 4)dnl +])dnl + +dnl Not used - kept for compat only? +AC_DEFUN([KDE_DO_IT_ALL], +[ +AC_CANONICAL_SYSTEM +AC_ARG_PROGRAM +AM_INIT_AUTOMAKE($1, $2) +AM_DISABLE_LIBRARIES +AC_PREFIX_DEFAULT(${KDEDIR:-/usr/local/kde}) +AC_CHECK_COMPILERS +KDE_PROG_LIBTOOL +AM_KDE_WITH_NLS +AC_PATH_KDE +]) + +AC_DEFUN([AC_CHECK_RPATH], +[ +AC_MSG_CHECKING(for rpath) +AC_ARG_ENABLE(rpath, + AC_HELP_STRING([--disable-rpath],[do not use the rpath feature of ld]), + USE_RPATH=$enableval, USE_RPATH=yes) + +if test -z "$KDE_RPATH" && test "$USE_RPATH" = "yes"; then + + KDE_RPATH="-R \$(libdir)" + + if test "$kde_libraries" != "$libdir"; then + KDE_RPATH="$KDE_RPATH -R \$(kde_libraries)" + fi + + if test -n "$qt_libraries"; then + KDE_RPATH="$KDE_RPATH -R \$(qt_libraries)" + fi + dnl $x_libraries is set to /usr/lib in case + if test -n "$X_LDFLAGS"; then + X_RPATH="-R \$(x_libraries)" + KDE_RPATH="$KDE_RPATH $X_RPATH" + fi + if test -n "$KDE_EXTRA_RPATH"; then + KDE_RPATH="$KDE_RPATH \$(KDE_EXTRA_RPATH)" + fi +fi +AC_SUBST(KDE_EXTRA_RPATH) +AC_SUBST(KDE_RPATH) +AC_SUBST(X_RPATH) +AC_MSG_RESULT($USE_RPATH) +]) + +dnl Check for the type of the third argument of getsockname +AC_DEFUN([AC_CHECK_SOCKLEN_T], +[ + AC_MSG_CHECKING(for socklen_t) + AC_CACHE_VAL(kde_cv_socklen_t, + [ + AC_LANG_PUSH(C++) + kde_cv_socklen_t=no + AC_TRY_COMPILE([ + #include + #include + ], + [ + socklen_t len; + getpeername(0,0,&len); + ], + [ + kde_cv_socklen_t=yes + kde_cv_socklen_t_equiv=socklen_t + ]) + AC_LANG_POP(C++) + ]) + AC_MSG_RESULT($kde_cv_socklen_t) + if test $kde_cv_socklen_t = no; then + AC_MSG_CHECKING([for socklen_t equivalent for socket functions]) + AC_CACHE_VAL(kde_cv_socklen_t_equiv, + [ + kde_cv_socklen_t_equiv=int + AC_LANG_PUSH(C++) + for t in int size_t unsigned long "unsigned long"; do + AC_TRY_COMPILE([ + #include + #include + ], + [ + $t len; + getpeername(0,0,&len); + ], + [ + kde_cv_socklen_t_equiv="$t" + break + ]) + done + AC_LANG_POP(C++) + ]) + AC_MSG_RESULT($kde_cv_socklen_t_equiv) + fi + AC_DEFINE_UNQUOTED(kde_socklen_t, $kde_cv_socklen_t_equiv, + [type to use in place of socklen_t if not defined]) + AC_DEFINE_UNQUOTED(ksize_t, $kde_cv_socklen_t_equiv, + [type to use in place of socklen_t if not defined (deprecated, use kde_socklen_t)]) +]) + +dnl This is a merge of some macros out of the gettext aclocal.m4 +dnl since we don't need anything, I took the things we need +dnl the copyright for them is: +dnl > +dnl Copyright (C) 1994, 1995, 1996, 1997, 1998 Free Software Foundation, Inc. +dnl This Makefile.in is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +dnl This program is distributed in the hope that it will be useful, +dnl but WITHOUT ANY WARRANTY, to the extent permitted by law; without +dnl even the implied warranty of MERCHANTABILITY or FITNESS FOR A +dnl PARTICULAR PURPOSE. +dnl > +dnl for this file it is relicensed under LGPL + +AC_DEFUN([AM_KDE_WITH_NLS], + [ + dnl If we use NLS figure out what method + + AM_PATH_PROG_WITH_TEST_KDE(MSGFMT, msgfmt, + [test -n "`$ac_dir/$ac_word --version 2>&1 | grep 'GNU gettext'`"], msgfmt) + AC_PATH_PROG(GMSGFMT, gmsgfmt, $MSGFMT) + + if test -z "`$GMSGFMT --version 2>&1 | grep 'GNU gettext'`"; then + AC_MSG_RESULT([found msgfmt program is not GNU msgfmt; ignore it]) + GMSGFMT=":" + fi + MSGFMT=$GMSGFMT + AC_SUBST(GMSGFMT) + AC_SUBST(MSGFMT) + + AM_PATH_PROG_WITH_TEST_KDE(XGETTEXT, xgettext, + [test -z "`$ac_dir/$ac_word -h 2>&1 | grep '(HELP)'`"], :) + + dnl Test whether we really found GNU xgettext. + if test "$XGETTEXT" != ":"; then + dnl If it is no GNU xgettext we define it as : so that the + dnl Makefiles still can work. + if $XGETTEXT --omit-header /dev/null 2> /dev/null; then + : ; + else + AC_MSG_RESULT( + [found xgettext programs is not GNU xgettext; ignore it]) + XGETTEXT=":" + fi + fi + AC_SUBST(XGETTEXT) + + ]) + +# Search path for a program which passes the given test. +# Ulrich Drepper , 1996. + +# serial 1 +# Stephan Kulow: I appended a _KDE against name conflicts + +dnl AM_PATH_PROG_WITH_TEST_KDE(VARIABLE, PROG-TO-CHECK-FOR, +dnl TEST-PERFORMED-ON-FOUND_PROGRAM [, VALUE-IF-NOT-FOUND [, PATH]]) +AC_DEFUN([AM_PATH_PROG_WITH_TEST_KDE], +[# Extract the first word of "$2", so it can be a program name with args. +set dummy $2; ac_word=[$]2 +AC_MSG_CHECKING([for $ac_word]) +AC_CACHE_VAL(ac_cv_path_$1, +[case "[$]$1" in + /*) + ac_cv_path_$1="[$]$1" # Let the user override the test with a path. + ;; + *) + IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:" + for ac_dir in ifelse([$5], , $PATH, [$5]); do + test -z "$ac_dir" && ac_dir=. + if test -f $ac_dir/$ac_word; then + if [$3]; then + ac_cv_path_$1="$ac_dir/$ac_word" + break + fi + fi + done + IFS="$ac_save_ifs" +dnl If no 4th arg is given, leave the cache variable unset, +dnl so AC_PATH_PROGS will keep looking. +ifelse([$4], , , [ test -z "[$]ac_cv_path_$1" && ac_cv_path_$1="$4" +])dnl + ;; +esac])dnl +$1="$ac_cv_path_$1" +if test -n "[$]$1"; then + AC_MSG_RESULT([$]$1) +else + AC_MSG_RESULT(no) +fi +AC_SUBST($1)dnl +]) + + +# Check whether LC_MESSAGES is available in . +# Ulrich Drepper , 1995. + +# serial 1 + +AC_DEFUN([AM_LC_MESSAGES], + [if test $ac_cv_header_locale_h = yes; then + AC_CACHE_CHECK([for LC_MESSAGES], am_cv_val_LC_MESSAGES, + [AC_TRY_LINK([#include ], [return LC_MESSAGES], + am_cv_val_LC_MESSAGES=yes, am_cv_val_LC_MESSAGES=no)]) + if test $am_cv_val_LC_MESSAGES = yes; then + AC_DEFINE(HAVE_LC_MESSAGES, 1, [Define if your locale.h file contains LC_MESSAGES]) + fi + fi]) + +dnl From Jim Meyering. +dnl FIXME: migrate into libit. + +AC_DEFUN([AM_FUNC_OBSTACK], +[AC_CACHE_CHECK([for obstacks], am_cv_func_obstack, + [AC_TRY_LINK([#include "obstack.h"], + [struct obstack *mem;obstack_free(mem,(char *) 0)], + am_cv_func_obstack=yes, + am_cv_func_obstack=no)]) + if test $am_cv_func_obstack = yes; then + AC_DEFINE(HAVE_OBSTACK) + else + LIBOBJS="$LIBOBJS obstack.o" + fi +]) + +dnl From Jim Meyering. Use this if you use the GNU error.[ch]. +dnl FIXME: Migrate into libit + +AC_DEFUN([AM_FUNC_ERROR_AT_LINE], +[AC_CACHE_CHECK([for error_at_line], am_cv_lib_error_at_line, + [AC_TRY_LINK([],[error_at_line(0, 0, "", 0, "");], + am_cv_lib_error_at_line=yes, + am_cv_lib_error_at_line=no)]) + if test $am_cv_lib_error_at_line = no; then + LIBOBJS="$LIBOBJS error.o" + fi + AC_SUBST(LIBOBJS)dnl +]) + +# Macro to add for using GNU gettext. +# Ulrich Drepper , 1995. + +# serial 1 +# Stephan Kulow: I put a KDE in it to avoid name conflicts + +AC_DEFUN([AM_KDE_GNU_GETTEXT], + [AC_REQUIRE([AC_PROG_MAKE_SET])dnl + AC_REQUIRE([AC_PROG_RANLIB])dnl + AC_REQUIRE([AC_HEADER_STDC])dnl + AC_REQUIRE([AC_TYPE_OFF_T])dnl + AC_REQUIRE([AC_TYPE_SIZE_T])dnl + AC_REQUIRE([AC_FUNC_ALLOCA])dnl + AC_REQUIRE([AC_FUNC_MMAP])dnl + AC_REQUIRE([AM_KDE_WITH_NLS])dnl + AC_CHECK_HEADERS([limits.h locale.h nl_types.h string.h values.h alloca.h]) + AC_CHECK_FUNCS([getcwd munmap putenv setlocale strchr strcasecmp \ +__argz_count __argz_stringify __argz_next]) + + AC_MSG_CHECKING(for stpcpy) + AC_CACHE_VAL(kde_cv_func_stpcpy, + [ + kde_safe_cxxflags=$CXXFLAGS + CXXFLAGS="-Werror" + AC_LANG_SAVE + AC_LANG_CPLUSPLUS + AC_TRY_COMPILE([ + #include + ], + [ + char buffer[200]; + stpcpy(buffer, buffer); + ], + kde_cv_func_stpcpy=yes, + kde_cv_func_stpcpy=no) + AC_LANG_RESTORE + CXXFLAGS=$kde_safe_cxxflags + ]) + AC_MSG_RESULT($kde_cv_func_stpcpy) + if eval "test \"`echo $kde_cv_func_stpcpy`\" = yes"; then + AC_DEFINE(HAVE_STPCPY, 1, [Define if you have stpcpy]) + fi + + AM_LC_MESSAGES + + if test "x$CATOBJEXT" != "x"; then + if test "x$ALL_LINGUAS" = "x"; then + LINGUAS= + else + AC_MSG_CHECKING(for catalogs to be installed) + NEW_LINGUAS= + for lang in ${LINGUAS=$ALL_LINGUAS}; do + case "$ALL_LINGUAS" in + *$lang*) NEW_LINGUAS="$NEW_LINGUAS $lang" ;; + esac + done + LINGUAS=$NEW_LINGUAS + AC_MSG_RESULT($LINGUAS) + fi + + dnl Construct list of names of catalog files to be constructed. + if test -n "$LINGUAS"; then + for lang in $LINGUAS; do CATALOGS="$CATALOGS $lang$CATOBJEXT"; done + fi + fi + + ]) + +AC_DEFUN([AC_HAVE_XPM], + [AC_REQUIRE_CPP()dnl + AC_REQUIRE([KDE_CHECK_EXTRA_LIBS]) + + test -z "$XPM_LDFLAGS" && XPM_LDFLAGS= + test -z "$XPM_INCLUDE" && XPM_INCLUDE= + + AC_ARG_WITH(xpm,AC_HELP_STRING([--without-xpm],[disable color pixmap XPM tests]), + xpm_test=$withval, xpm_test="yes") + if test "x$xpm_test" = xno; then + ac_cv_have_xpm=no + else + AC_MSG_CHECKING(for XPM) + AC_CACHE_VAL(ac_cv_have_xpm, + [ + ac_save_ldflags="$LDFLAGS" + ac_save_cflags="$CFLAGS" + if test "x$kde_use_qt_emb" != "xyes" && test "x$kde_use_qt_mac" != "xyes"; then + LDFLAGS="$LDFLAGS $X_LDFLAGS $USER_LDFLAGS $LDFLAGS $XPM_LDFLAGS $all_libraries -lXpm -lX11 -lXext $LIBZ $LIBSOCKET" + else + LDFLAGS="$LDFLAGS $X_LDFLAGS $USER_LDFLAGS $LDFLAGS $XPM_LDFLAGS $all_libraries -lXpm $LIBZ $LIBSOCKET" + fi + CFLAGS="$CFLAGS $X_INCLUDES $USER_INCLUDES" + test -n "$XPM_INCLUDE" && CFLAGS="-I$XPM_INCLUDE $CFLAGS" + AC_TRY_LINK([#include ],[], + ac_cv_have_xpm="yes",ac_cv_have_xpm="no") + LDFLAGS="$ac_save_ldflags" + CFLAGS="$ac_save_cflags" + ])dnl + + if test "$ac_cv_have_xpm" = no; then + AC_MSG_RESULT(no) + XPM_LDFLAGS="" + XPMINC="" + $2 + else + AC_DEFINE(HAVE_XPM, 1, [Define if you have XPM support]) + if test "$XPM_LDFLAGS" = ""; then + XPMLIB='-lXpm $(LIB_X11)' + else + XPMLIB="-L$XPM_LDFLAGS -lXpm "'$(LIB_X11)' + fi + if test "$XPM_INCLUDE" = ""; then + XPMINC="" + else + XPMINC="-I$XPM_INCLUDE" + fi + AC_MSG_RESULT(yes) + $1 + fi + fi + AC_SUBST(XPMINC) + AC_SUBST(XPMLIB) +]) + +AC_DEFUN([AC_HAVE_DPMS], + [AC_REQUIRE_CPP()dnl + AC_REQUIRE([KDE_CHECK_EXTRA_LIBS]) + + test -z "$DPMS_LDFLAGS" && DPMS_LDFLAGS= + test -z "$DPMS_INCLUDE" && DPMS_INCLUDE= + DPMS_LIB= + + AC_ARG_WITH(dpms,AC_HELP_STRING([--without-dpms],[disable DPMS power saving]), + dpms_test=$withval, dpms_test="yes") + if test "x$dpms_test" = xno; then + ac_cv_have_dpms=no + else + AC_MSG_CHECKING(for DPMS) + dnl Note: ac_cv_have_dpms can be no, yes, or -lXdpms. + dnl 'yes' means DPMS_LIB="", '-lXdpms' means DPMS_LIB="-lXdpms". + AC_CACHE_VAL(ac_cv_have_dpms, + [ + if test "x$kde_use_qt_emb" = "xyes" || test "x$kde_use_qt_mac" = "xyes"; then + AC_MSG_RESULT(no) + ac_cv_have_dpms="no" + else + ac_save_ldflags="$LDFLAGS" + ac_save_cflags="$CFLAGS" + ac_save_libs="$LIBS" + LDFLAGS="$LDFLAGS $DPMS_LDFLAGS $all_libraries -lX11 -lXext $LIBSOCKET" + CFLAGS="$CFLAGS $X_INCLUDES" + test -n "$DPMS_INCLUDE" && CFLAGS="-I$DPMS_INCLUDE $CFLAGS" + AC_TRY_LINK([ + #include + #include + #include + #include + int foo_test_dpms() + { return DPMSSetTimeouts( 0, 0, 0, 0 ); }],[], + ac_cv_have_dpms="yes", [ + LDFLAGS="$ac_save_ldflags" + CFLAGS="$ac_save_cflags" + LDFLAGS="$LDFLAGS $DPMS_LDFLAGS $all_libraries -lX11 -lXext $LIBSOCKET" + LIBS="$LIBS -lXdpms" + CFLAGS="$CFLAGS $X_INCLUDES" + test -n "$DPMS_INCLUDE" && CFLAGS="-I$DPMS_INCLUDE $CFLAGS" + AC_TRY_LINK([ + #include + #include + #include + #include + int foo_test_dpms() + { return DPMSSetTimeouts( 0, 0, 0, 0 ); }],[], + [ + ac_cv_have_dpms="-lXdpms" + ],ac_cv_have_dpms="no") + ]) + LDFLAGS="$ac_save_ldflags" + CFLAGS="$ac_save_cflags" + LIBS="$ac_save_libs" + fi + ])dnl + + if test "$ac_cv_have_dpms" = no; then + AC_MSG_RESULT(no) + DPMS_LDFLAGS="" + DPMSINC="" + $2 + else + AC_DEFINE(HAVE_DPMS, 1, [Define if you have DPMS support]) + if test "$ac_cv_have_dpms" = "-lXdpms"; then + DPMS_LIB="-lXdpms" + fi + if test "$DPMS_LDFLAGS" = ""; then + DPMSLIB="$DPMS_LIB "'$(LIB_X11)' + else + DPMSLIB="$DPMS_LDFLAGS $DPMS_LIB "'$(LIB_X11)' + fi + if test "$DPMS_INCLUDE" = ""; then + DPMSINC="" + else + DPMSINC="-I$DPMS_INCLUDE" + fi + AC_MSG_RESULT(yes) + $1 + fi + fi + ac_save_cflags="$CFLAGS" + CFLAGS="$CFLAGS $X_INCLUDES" + test -n "$DPMS_INCLUDE" && CFLAGS="-I$DPMS_INCLUDE $CFLAGS" + AH_TEMPLATE(HAVE_DPMSCAPABLE_PROTO, + [Define if you have the DPMSCapable prototype in ]) + AC_CHECK_DECL(DPMSCapable, + AC_DEFINE(HAVE_DPMSCAPABLE_PROTO),, + [#include ]) + AH_TEMPLATE(HAVE_DPMSINFO_PROTO, + [Define if you have the DPMSInfo prototype in ]) + AC_CHECK_DECL(DPMSInfo, + AC_DEFINE(HAVE_DPMSINFO_PROTO),, + [#include ]) + CFLAGS="$ac_save_cflags" + AC_SUBST(DPMSINC) + AC_SUBST(DPMSLIB) +]) + +AC_DEFUN([AC_HAVE_GL], + [AC_REQUIRE_CPP()dnl + AC_REQUIRE([KDE_CHECK_EXTRA_LIBS]) + + test -z "$GL_LDFLAGS" && GL_LDFLAGS= + test -z "$GL_INCLUDE" && GL_INCLUDE= + + AC_ARG_WITH(gl,AC_HELP_STRING([--without-gl],[disable 3D GL modes]), + gl_test=$withval, gl_test="yes") + if test "x$kde_use_qt_emb" = "xyes"; then + # GL and Qt Embedded is a no-go for now. + ac_cv_have_gl=no + elif test "x$gl_test" = xno; then + ac_cv_have_gl=no + else + AC_MSG_CHECKING(for GL) + AC_CACHE_VAL(ac_cv_have_gl, + [ + AC_LANG_SAVE + AC_LANG_CPLUSPLUS + ac_save_ldflags=$LDFLAGS + ac_save_cxxflags=$CXXFLAGS + ac_save_libs=$LIBS + LDFLAGS="$LDFLAGS $GL_LDFLAGS $X_LDFLAGS $all_libraries" + LIBS="$LIBS -lGL -lGLU" + test "x$kde_use_qt_mac" != xyes && test "x$kde_use_qt_emb" != xyes && LIBS="$LIBS -lX11" + LIBS="$LIBS $LIB_XEXT -lm $LIBSOCKET" + CXXFLAGS="$CFLAGS $X_INCLUDES" + test -n "$GL_INCLUDE" && CFLAGS="-I$GL_INCLUDE $CFLAGS" + AC_TRY_LINK([#include +#include +], [], + ac_cv_have_gl="yes", ac_cv_have_gl="no") + AC_LANG_RESTORE + LDFLAGS=$ac_save_ldflags + CXXFLAGS=$ac_save_cxxflags + LIBS=$ac_save_libs + ])dnl + + if test "$ac_cv_have_gl" = "no"; then + AC_MSG_RESULT(no) + GL_LDFLAGS="" + GLINC="" + $2 + else + AC_DEFINE(HAVE_GL, 1, [Defines if you have GL (Mesa, OpenGL, ...)]) + if test "$GL_LDFLAGS" = ""; then + GLLIB='-lGLU -lGL $(LIB_X11)' + else + GLLIB="$GL_LDFLAGS -lGLU -lGL "'$(LIB_X11)' + fi + if test "$GL_INCLUDE" = ""; then + GLINC="" + else + GLINC="-I$GL_INCLUDE" + fi + AC_MSG_RESULT($ac_cv_have_gl) + $1 + fi + fi + AC_SUBST(GLINC) + AC_SUBST(GLLIB) +]) + + + dnl shadow password and PAM magic - maintained by ossi@kde.org + +AC_DEFUN([KDE_PAM], [ + AC_REQUIRE([KDE_CHECK_LIBDL]) + + want_pam= + AC_ARG_WITH(pam, + AC_HELP_STRING([--with-pam[=ARG]],[enable support for PAM: ARG=[yes|no|service name]]), + [ if test "x$withval" = "xyes"; then + want_pam=yes + pam_service=kde + elif test "x$withval" = "xno"; then + want_pam=no + else + want_pam=yes + pam_service=$withval + fi + ], [ pam_service=kde ]) + + use_pam= + PAMLIBS= + if test "x$want_pam" != xno; then + AC_CHECK_LIB(pam, pam_start, [ + AC_CHECK_HEADER(security/pam_appl.h, + [ pam_header=security/pam_appl.h ], + [ AC_CHECK_HEADER(pam/pam_appl.h, + [ pam_header=pam/pam_appl.h ], + [ + AC_MSG_WARN([PAM detected, but no headers found! +Make sure you have the necessary development packages installed.]) + ] + ) + ] + ) + ], , $LIBDL) + if test -z "$pam_header"; then + if test "x$want_pam" = xyes; then + AC_MSG_ERROR([--with-pam was specified, but cannot compile with PAM!]) + fi + else + AC_DEFINE(HAVE_PAM, 1, [Defines if you have PAM (Pluggable Authentication Modules)]) + PAMLIBS="$PAM_MISC_LIB -lpam $LIBDL" + use_pam=yes + + dnl darwin claims to be something special + if test "$pam_header" = "pam/pam_appl.h"; then + AC_DEFINE(HAVE_PAM_PAM_APPL_H, 1, [Define if your PAM headers are in pam/ instead of security/]) + fi + + dnl test whether struct pam_message is const (Linux) or not (Sun) + AC_MSG_CHECKING(for const pam_message) + AC_EGREP_HEADER([struct pam_message], $pam_header, + [ AC_EGREP_HEADER([const struct pam_message], $pam_header, + [AC_MSG_RESULT([const: Linux-type PAM])], + [AC_MSG_RESULT([nonconst: Sun-type PAM]) + AC_DEFINE(PAM_MESSAGE_NONCONST, 1, [Define if your PAM support takes non-const arguments (Solaris)])] + )], + [AC_MSG_RESULT([not found - assume const, Linux-type PAM])]) + fi + fi + + AC_SUBST(PAMLIBS) +]) + +dnl DEF_PAM_SERVICE(arg name, full name, define name) +AC_DEFUN([DEF_PAM_SERVICE], [ + AC_ARG_WITH($1-pam, + AC_HELP_STRING([--with-$1-pam=[val]],[override PAM service from --with-pam for $2]), + [ if test "x$use_pam" = xyes; then + $3_PAM_SERVICE=$withval + else + AC_MSG_ERROR([Cannot use use --with-$1-pam, as no PAM was detected. +You may want to enforce it by using --with-pam.]) + fi + ], + [ if test "x$use_pam" = xyes; then + $3_PAM_SERVICE="$pam_service" + fi + ]) + if test -n "$$3_PAM_SERVICE"; then + AC_MSG_RESULT([The PAM service used by $2 will be $$3_PAM_SERVICE]) + AC_DEFINE_UNQUOTED($3_PAM_SERVICE, "$$3_PAM_SERVICE", [The PAM service to be used by $2]) + fi + AC_SUBST($3_PAM_SERVICE) +]) + +AC_DEFUN([KDE_SHADOWPASSWD], [ + AC_REQUIRE([KDE_PAM]) + + AC_CHECK_LIB(shadow, getspent, + [ LIBSHADOW="-lshadow" + ac_use_shadow=yes + ], + [ dnl for UnixWare + AC_CHECK_LIB(gen, getspent, + [ LIBGEN="-lgen" + ac_use_shadow=yes + ], + [ AC_CHECK_FUNC(getspent, + [ ac_use_shadow=yes ], + [ ac_use_shadow=no ]) + ]) + ]) + AC_SUBST(LIBSHADOW) + AC_SUBST(LIBGEN) + + AC_MSG_CHECKING([for shadow passwords]) + + AC_ARG_WITH(shadow, + AC_HELP_STRING([--with-shadow],[If you want shadow password support]), + [ if test "x$withval" != "xno"; then + use_shadow=yes + else + use_shadow=no + fi + ], [ + use_shadow="$ac_use_shadow" + ]) + + if test "x$use_shadow" = xyes; then + AC_MSG_RESULT(yes) + AC_DEFINE(HAVE_SHADOW, 1, [Define if you use shadow passwords]) + else + AC_MSG_RESULT(no) + LIBSHADOW= + LIBGEN= + fi + + dnl finally make the relevant binaries setuid root, if we have shadow passwds. + dnl this still applies, if we could use it indirectly through pam. + if test "x$use_shadow" = xyes || + ( test "x$use_pam" = xyes && test "x$ac_use_shadow" = xyes ); then + case $host in + *-*-freebsd* | *-*-netbsd* | *-*-openbsd*) + SETUIDFLAGS="-m 4755 -o root";; + *) + SETUIDFLAGS="-m 4755";; + esac + fi + AC_SUBST(SETUIDFLAGS) + +]) + +AC_DEFUN([KDE_PASSWDLIBS], [ + AC_REQUIRE([KDE_MISC_TESTS]) dnl for LIBCRYPT + AC_REQUIRE([KDE_PAM]) + AC_REQUIRE([KDE_SHADOWPASSWD]) + + if test "x$use_pam" = "xyes"; then + PASSWDLIBS="$PAMLIBS" + else + PASSWDLIBS="$LIBCRYPT $LIBSHADOW $LIBGEN" + fi + + dnl FreeBSD uses a shadow-like setup, where /etc/passwd holds the users, but + dnl /etc/master.passwd holds the actual passwords. /etc/master.passwd requires + dnl root to read, so kcheckpass needs to be root (even when using pam, since pam + dnl may need to read /etc/master.passwd). + case $host in + *-*-freebsd*) + SETUIDFLAGS="-m 4755 -o root" + ;; + *) + ;; + esac + + AC_SUBST(PASSWDLIBS) +]) + +AC_DEFUN([KDE_CHECK_LIBDL], +[ +AC_CHECK_LIB(dl, dlopen, [ +LIBDL="-ldl" +ac_cv_have_dlfcn=yes +]) + +AC_CHECK_LIB(dld, shl_unload, [ +LIBDL="-ldld" +ac_cv_have_shload=yes +]) + +AC_SUBST(LIBDL) +]) + +AC_DEFUN([KDE_CHECK_DLOPEN], +[ +KDE_CHECK_LIBDL +AC_CHECK_HEADERS(dlfcn.h dl.h) +if test "$ac_cv_header_dlfcn_h" = "no"; then + ac_cv_have_dlfcn=no +fi + +if test "$ac_cv_header_dl_h" = "no"; then + ac_cv_have_shload=no +fi + +dnl XXX why change enable_dlopen? its already set by autoconf's AC_ARG_ENABLE +dnl (MM) +AC_ARG_ENABLE(dlopen, +AC_HELP_STRING([--disable-dlopen],[link statically [default=no]]), +enable_dlopen=$enableval, +enable_dlopen=yes) + +# override the user's opinion, if we know it better ;) +if test "$ac_cv_have_dlfcn" = "no" && test "$ac_cv_have_shload" = "no"; then + enable_dlopen=no +fi + +if test "$ac_cv_have_dlfcn" = "yes"; then + AC_DEFINE_UNQUOTED(HAVE_DLFCN, 1, [Define if you have dlfcn]) +fi + +if test "$ac_cv_have_shload" = "yes"; then + AC_DEFINE_UNQUOTED(HAVE_SHLOAD, 1, [Define if you have shload]) +fi + +if test "$enable_dlopen" = no ; then + test -n "$1" && eval $1 +else + test -n "$2" && eval $2 +fi + +]) + +AC_DEFUN([KDE_CHECK_DYNAMIC_LOADING], +[ +KDE_CHECK_DLOPEN(libtool_enable_shared=yes, libtool_enable_static=no) +KDE_PROG_LIBTOOL +AC_MSG_CHECKING([dynamic loading]) +eval "`egrep '^build_libtool_libs=' libtool`" +if test "$build_libtool_libs" = "yes" && test "$enable_dlopen" = "yes"; then + dynamic_loading=yes + AC_DEFINE_UNQUOTED(HAVE_DYNAMIC_LOADING) +else + dynamic_loading=no +fi +AC_MSG_RESULT($dynamic_loading) +if test "$dynamic_loading" = "yes"; then + $1 +else + $2 +fi +]) + +AC_DEFUN([KDE_ADD_INCLUDES], +[ +if test -z "$1"; then + test_include="Pix.h" +else + test_include="$1" +fi + +AC_MSG_CHECKING([for libg++ ($test_include)]) + +AC_CACHE_VAL(kde_cv_libgpp_includes, +[ +kde_cv_libgpp_includes=no + + for ac_dir in \ + \ + /usr/include/g++ \ + /usr/include \ + /usr/unsupported/include \ + /opt/include \ + $extra_include \ + ; \ + do + if test -r "$ac_dir/$test_include"; then + kde_cv_libgpp_includes=$ac_dir + break + fi + done +]) + +AC_MSG_RESULT($kde_cv_libgpp_includes) +if test "$kde_cv_libgpp_includes" != "no"; then + all_includes="-I$kde_cv_libgpp_includes $all_includes $USER_INCLUDES" +fi +]) +]) + +AC_DEFUN([KDE_CHECK_LIBPTHREAD], +[ + dnl This code is here specifically to handle the + dnl various flavors of threading library on FreeBSD + dnl 4-, 5-, and 6-, and the (weird) rules around it. + dnl There may be an environment PTHREAD_LIBS that + dnl specifies what to use; otherwise, search for it. + dnl -pthread is special cased and unsets LIBPTHREAD + dnl below if found. + LIBPTHREAD="" + + if test -n "$PTHREAD_LIBS"; then + if test "x$PTHREAD_LIBS" = "x-pthread" ; then + LIBPTHREAD="PTHREAD" + else + PTHREAD_LIBS_save="$PTHREAD_LIBS" + PTHREAD_LIBS=`echo "$PTHREAD_LIBS_save" | sed -e 's,^-l,,g'` + AC_MSG_CHECKING([for pthread_create in $PTHREAD_LIBS]) + KDE_CHECK_LIB($PTHREAD_LIBS, pthread_create, [ + LIBPTHREAD="$PTHREAD_LIBS_save"]) + PTHREAD_LIBS="$PTHREAD_LIBS_save" + fi + fi + + dnl Is this test really needed, in the face of the Tru64 test below? + if test -z "$LIBPTHREAD"; then + AC_CHECK_LIB(pthread, pthread_create, [LIBPTHREAD="-lpthread"]) + fi + + dnl This is a special Tru64 check, see BR 76171 issue #18. + if test -z "$LIBPTHREAD" ; then + AC_MSG_CHECKING([for pthread_create in -lpthread]) + kde_safe_libs=$LIBS + LIBS="$LIBS -lpthread" + AC_TRY_LINK([#include ],[(void)pthread_create(0,0,0,0);],[ + AC_MSG_RESULT(yes) + LIBPTHREAD="-lpthread"],[ + AC_MSG_RESULT(no)]) + LIBS=$kde_safe_libs + fi + + dnl Un-special-case for FreeBSD. + if test "x$LIBPTHREAD" = "xPTHREAD" ; then + LIBPTHREAD="" + fi + + AC_SUBST(LIBPTHREAD) +]) + +AC_DEFUN([KDE_CHECK_PTHREAD_OPTION], +[ + USE_THREADS="" + if test -z "$LIBPTHREAD"; then + KDE_CHECK_COMPILER_FLAG(pthread, [USE_THREADS="-D_THREAD_SAFE -pthread"]) + fi + + AH_VERBATIM(__svr_define, [ +#if defined(__SVR4) && !defined(__svr4__) +#define __svr4__ 1 +#endif +]) + case $host_os in + solaris*) + KDE_CHECK_COMPILER_FLAG(mt, [USE_THREADS="-mt"]) + CPPFLAGS="$CPPFLAGS -D_REENTRANT -D_POSIX_PTHREAD_SEMANTICS -DUSE_SOLARIS -DSVR4" + ;; + freebsd*) + CPPFLAGS="$CPPFLAGS -D_THREAD_SAFE $PTHREAD_CFLAGS" + ;; + aix*) + CPPFLAGS="$CPPFLAGS -D_THREAD_SAFE" + LIBPTHREAD="$LIBPTHREAD -lc_r" + ;; + linux*) CPPFLAGS="$CPPFLAGS -D_REENTRANT" + if test "$CXX" = "KCC"; then + CXXFLAGS="$CXXFLAGS --thread_safe" + NOOPT_CXXFLAGS="$NOOPT_CXXFLAGS --thread_safe" + fi + ;; + *) + ;; + esac + AC_SUBST(USE_THREADS) + AC_SUBST(LIBPTHREAD) +]) + +AC_DEFUN([KDE_CHECK_THREADING], +[ + AC_REQUIRE([KDE_CHECK_LIBPTHREAD]) + AC_REQUIRE([KDE_CHECK_PTHREAD_OPTION]) + dnl default is yes if libpthread is found and no if no libpthread is available + if test -z "$LIBPTHREAD"; then + if test -z "$USE_THREADS"; then + kde_check_threading_default=no + else + kde_check_threading_default=yes + fi + else + kde_check_threading_default=yes + fi + AC_ARG_ENABLE(threading,AC_HELP_STRING([--disable-threading],[disables threading even if libpthread found]), + kde_use_threading=$enableval, kde_use_threading=$kde_check_threading_default) + if test "x$kde_use_threading" = "xyes"; then + AC_DEFINE(HAVE_LIBPTHREAD, 1, [Define if you have a working libpthread (will enable threaded code)]) + fi +]) + +AC_DEFUN([KDE_TRY_LINK_PYTHON], +[ +if test "$kde_python_link_found" = no; then + +if test "$1" = normal; then + AC_MSG_CHECKING(if a Python application links) +else + AC_MSG_CHECKING(if Python depends on $2) +fi + +AC_CACHE_VAL(kde_cv_try_link_python_$1, +[ +kde_save_cflags="$CFLAGS" +CFLAGS="$CFLAGS $PYTHONINC" +kde_save_libs="$LIBS" +LIBS="$LIBS $LIBPYTHON $2 $LIBDL $LIBSOCKET" +kde_save_ldflags="$LDFLAGS" +LDFLAGS="$LDFLAGS $PYTHONLIB" + +AC_TRY_LINK( +[ +#include +],[ + PySys_SetArgv(1, 0); +], + [kde_cv_try_link_python_$1=yes], + [kde_cv_try_link_python_$1=no] +) +CFLAGS="$kde_save_cflags" +LIBS="$kde_save_libs" +LDFLAGS="$kde_save_ldflags" +]) + +if test "$kde_cv_try_link_python_$1" = "yes"; then + AC_MSG_RESULT(yes) + kde_python_link_found=yes + if test ! "$1" = normal; then + LIBPYTHON="$LIBPYTHON $2" + fi + $3 +else + AC_MSG_RESULT(no) + $4 +fi + +fi + +]) + +AC_DEFUN([KDE_CHECK_PYTHON_DIR], +[ +AC_MSG_CHECKING([for Python directory]) + +AC_CACHE_VAL(kde_cv_pythondir, +[ + if test -z "$PYTHONDIR"; then + kde_cv_pythondir=/usr/local + else + kde_cv_pythondir="$PYTHONDIR" + fi +]) + +AC_ARG_WITH(pythondir, +AC_HELP_STRING([--with-pythondir=pythondir],[use python installed in pythondir]), +[ + ac_python_dir=$withval +], ac_python_dir=$kde_cv_pythondir +) + +AC_MSG_RESULT($ac_python_dir) +]) + +AC_DEFUN([KDE_CHECK_PYTHON_INTERN], +[ +AC_REQUIRE([KDE_CHECK_LIBDL]) +AC_REQUIRE([KDE_CHECK_LIBPTHREAD]) +AC_REQUIRE([KDE_CHECK_PYTHON_DIR]) + +if test -z "$1"; then + version="1.5" +else + version="$1" +fi + +AC_MSG_CHECKING([for Python$version]) + +python_incdirs="$ac_python_dir/include /usr/include /usr/local/include/ $kde_extra_includes" +AC_FIND_FILE(Python.h, $python_incdirs, python_incdir) +if test ! -r $python_incdir/Python.h; then + AC_FIND_FILE(python$version/Python.h, $python_incdirs, python_incdir) + python_incdir=$python_incdir/python$version + if test ! -r $python_incdir/Python.h; then + python_incdir=no + fi +fi + +PYTHONINC=-I$python_incdir + +python_libdirs="$ac_python_dir/lib$kdelibsuff /usr/lib$kdelibsuff /usr/local /usr/lib$kdelibsuff $kde_extra_libs" +AC_FIND_FILE(libpython$version.so, $python_libdirs, python_libdir) +if test ! -r $python_libdir/libpython$version.so; then + AC_FIND_FILE(libpython$version.a, $python_libdirs, python_libdir) + if test ! -r $python_libdir/libpython$version.a; then + AC_FIND_FILE(python$version/config/libpython$version.a, $python_libdirs, python_libdir) + python_libdir=$python_libdir/python$version/config + if test ! -r $python_libdir/libpython$version.a; then + python_libdir=no + fi + fi +fi + +PYTHONLIB=-L$python_libdir +kde_orig_LIBPYTHON=$LIBPYTHON +if test -z "$LIBPYTHON"; then + LIBPYTHON=-lpython$version +fi + +AC_FIND_FILE(python$version/copy.py, $python_libdirs, python_moddir) +python_moddir=$python_moddir/python$version +if test ! -r $python_moddir/copy.py; then + python_moddir=no +fi + +PYTHONMODDIR=$python_moddir + +AC_MSG_RESULT(header $python_incdir library $python_libdir modules $python_moddir) + +if test x$python_incdir = xno || test x$python_libdir = xno || test x$python_moddir = xno; then + LIBPYTHON=$kde_orig_LIBPYTHON + test "x$PYTHONLIB" = "x-Lno" && PYTHONLIB="" + test "x$PYTHONINC" = "x-Ino" && PYTHONINC="" + $2 +else + dnl Note: this test is very weak + kde_python_link_found=no + KDE_TRY_LINK_PYTHON(normal) + KDE_TRY_LINK_PYTHON(m, -lm) + KDE_TRY_LINK_PYTHON(pthread, $LIBPTHREAD) + KDE_TRY_LINK_PYTHON(tcl, -ltcl) + KDE_TRY_LINK_PYTHON(db2, -ldb2) + KDE_TRY_LINK_PYTHON(m_and_thread, [$LIBPTHREAD -lm]) + KDE_TRY_LINK_PYTHON(m_and_thread_and_util, [$LIBPTHREAD -lm -lutil]) + KDE_TRY_LINK_PYTHON(m_and_thread_and_db3, [$LIBPTHREAD -lm -ldb-3 -lutil]) + KDE_TRY_LINK_PYTHON(pthread_and_db3, [$LIBPTHREAD -ldb-3]) + KDE_TRY_LINK_PYTHON(m_and_thread_and_db, [$LIBPTHREAD -lm -ldb -ltermcap -lutil]) + KDE_TRY_LINK_PYTHON(pthread_and_dl, [$LIBPTHREAD $LIBDL -lutil -lreadline -lncurses -lm]) + KDE_TRY_LINK_PYTHON(pthread_and_panel_curses, [$LIBPTHREAD $LIBDL -lm -lpanel -lcurses]) + KDE_TRY_LINK_PYTHON(m_and_thread_and_db_special, [$LIBPTHREAD -lm -ldb -lutil], [], + [AC_MSG_WARN([it seems, Python depends on another library. + Please set LIBPYTHON to '-lpython$version -lotherlib' before calling configure to fix this + and contact the authors to let them know about this problem]) + ]) + + LIBPYTHON="$LIBPYTHON $LIBDL $LIBSOCKET" + AC_SUBST(PYTHONINC) + AC_SUBST(PYTHONLIB) + AC_SUBST(LIBPYTHON) + AC_SUBST(PYTHONMODDIR) + AC_DEFINE(HAVE_PYTHON, 1, [Define if you have the development files for python]) +fi + +]) + + +AC_DEFUN([KDE_CHECK_PYTHON], +[ + KDE_CHECK_PYTHON_INTERN("2.4", + [KDE_CHECK_PYTHON_INTERN("2.3", + [KDE_CHECK_PYTHON_INTERN("2.2", + [KDE_CHECK_PYTHON_INTERN("2.1", + [KDE_CHECK_PYTHON_INTERN("2.0", + [KDE_CHECK_PYTHON_INTERN($1, $2) ]) + ]) + ]) + ]) + ]) +]) + +AC_DEFUN([KDE_CHECK_STL], +[ + AC_LANG_SAVE + AC_LANG_CPLUSPLUS + ac_save_CXXFLAGS="$CXXFLAGS" + CXXFLAGS="`echo $CXXFLAGS | sed s/-fno-exceptions//`" + + AC_MSG_CHECKING([if C++ programs can be compiled]) + AC_CACHE_VAL(kde_cv_stl_works, + [ + AC_TRY_COMPILE([ +#include +using namespace std; +],[ + string astring="Hallo Welt."; + astring.erase(0, 6); // now astring is "Welt" + return 0; +], kde_cv_stl_works=yes, + kde_cv_stl_works=no) +]) + + AC_MSG_RESULT($kde_cv_stl_works) + + if test "$kde_cv_stl_works" = "yes"; then + # back compatible + AC_DEFINE_UNQUOTED(HAVE_SGI_STL, 1, [Define if you have a STL implementation by SGI]) + else + AC_MSG_ERROR([Your Installation isn't able to compile simple C++ programs. +Check config.log for details - if you're using a Linux distribution you might miss +a package named similar to libstdc++-dev.]) + fi + + CXXFLAGS="$ac_save_CXXFLAGS" + AC_LANG_RESTORE +]) + +AC_DEFUN([AC_FIND_QIMGIO], + [AC_REQUIRE([AC_FIND_JPEG]) +AC_REQUIRE([KDE_CHECK_EXTRA_LIBS]) +AC_MSG_CHECKING([for qimgio]) +AC_CACHE_VAL(ac_cv_lib_qimgio, +[ +AC_LANG_SAVE +AC_LANG_CPLUSPLUS +ac_save_LIBS="$LIBS" +ac_save_CXXFLAGS="$CXXFLAGS" +LIBS="$all_libraries -lqimgio -lpng -lz $LIBJPEG $LIBQT" +CXXFLAGS="$CXXFLAGS -I$qt_incdir $all_includes" +AC_TRY_RUN(dnl +[ +#include +#include +int main() { + QString t = "hallo"; + t.fill('t'); + qInitImageIO(); +} +], + ac_cv_lib_qimgio=yes, + ac_cv_lib_qimgio=no, + ac_cv_lib_qimgio=no) +LIBS="$ac_save_LIBS" +CXXFLAGS="$ac_save_CXXFLAGS" +AC_LANG_RESTORE +])dnl +if eval "test \"`echo $ac_cv_lib_qimgio`\" = yes"; then + LIBQIMGIO="-lqimgio -lpng -lz $LIBJPEG" + AC_MSG_RESULT(yes) + AC_DEFINE_UNQUOTED(HAVE_QIMGIO, 1, [Define if you have the Qt extension qimgio available]) + AC_SUBST(LIBQIMGIO) +else + AC_MSG_RESULT(not found) +fi +]) + +AC_DEFUN([AM_DISABLE_LIBRARIES], +[ + AC_PROVIDE([AM_ENABLE_STATIC]) + AC_PROVIDE([AM_ENABLE_SHARED]) + enable_static=no + enable_shared=yes +]) + + +AC_DEFUN([AC_CHECK_UTMP_FILE], +[ + AC_MSG_CHECKING([for utmp file]) + + AC_CACHE_VAL(kde_cv_utmp_file, + [ + kde_cv_utmp_file=no + + for ac_file in \ + \ + /var/run/utmp \ + /var/adm/utmp \ + /etc/utmp \ + ; \ + do + if test -r "$ac_file"; then + kde_cv_utmp_file=$ac_file + break + fi + done + ]) + + if test "$kde_cv_utmp_file" != "no"; then + AC_DEFINE_UNQUOTED(UTMP, "$kde_cv_utmp_file", [Define the file for utmp entries]) + $1 + AC_MSG_RESULT($kde_cv_utmp_file) + else + $2 + AC_MSG_RESULT([non found]) + fi +]) + + +AC_DEFUN([KDE_CREATE_SUBDIRSLIST], +[ + +DO_NOT_COMPILE="$DO_NOT_COMPILE CVS debian bsd-port admin" +TOPSUBDIRS="" + +if test ! -s $srcdir/subdirs; then + dnl Note: Makefile.common creates subdirs, so this is just a fallback + files=`cd $srcdir && ls -1` + dirs=`for i in $files; do if test -d $i; then echo $i; fi; done` + for i in $dirs; do + echo $i >> $srcdir/subdirs + done +fi + +ac_topsubdirs= +if test -s $srcdir/inst-apps; then + ac_topsubdirs="`cat $srcdir/inst-apps`" +elif test -s $srcdir/subdirs; then + ac_topsubdirs="`cat $srcdir/subdirs`" +fi + +for i in $ac_topsubdirs; do + AC_MSG_CHECKING([if $i should be compiled]) + if test -d $srcdir/$i; then + install_it="yes" + for j in $DO_NOT_COMPILE; do + if test $i = $j; then + install_it="no" + fi + done + else + install_it="no" + fi + AC_MSG_RESULT($install_it) + vari=`echo $i | sed -e 's,[[-+.@]],_,g'` + if test $install_it = "yes"; then + TOPSUBDIRS="$TOPSUBDIRS $i" + eval "$vari""_SUBDIR_included=yes" + else + eval "$vari""_SUBDIR_included=no" + fi +done + +AC_SUBST(TOPSUBDIRS) +]) + +AC_DEFUN([KDE_CHECK_NAMESPACES], +[ +AC_MSG_CHECKING(whether C++ compiler supports namespaces) +AC_LANG_SAVE +AC_LANG_CPLUSPLUS +AC_TRY_COMPILE([ +], +[ +namespace Foo { + extern int i; + namespace Bar { + extern int i; + } +} + +int Foo::i = 0; +int Foo::Bar::i = 1; +],[ + AC_MSG_RESULT(yes) + AC_DEFINE(HAVE_NAMESPACES) +], [ +AC_MSG_RESULT(no) +]) +AC_LANG_RESTORE +]) + +dnl ------------------------------------------------------------------------ +dnl Check for S_ISSOCK macro. Doesn't exist on Unix SCO. faure@kde.org +dnl ------------------------------------------------------------------------ +dnl +AC_DEFUN([AC_CHECK_S_ISSOCK], +[ +AC_MSG_CHECKING(for S_ISSOCK) +AC_CACHE_VAL(ac_cv_have_s_issock, +[ +AC_TRY_LINK( +[ +#include +], +[ +struct stat buff; +int b = S_ISSOCK( buff.st_mode ); +], +ac_cv_have_s_issock=yes, +ac_cv_have_s_issock=no) +]) +AC_MSG_RESULT($ac_cv_have_s_issock) +if test "$ac_cv_have_s_issock" = "yes"; then + AC_DEFINE_UNQUOTED(HAVE_S_ISSOCK, 1, [Define if sys/stat.h declares S_ISSOCK.]) +fi + +AH_VERBATIM(_ISSOCK, +[ +#ifndef HAVE_S_ISSOCK +#define HAVE_S_ISSOCK +#define S_ISSOCK(mode) (1==0) +#endif +]) + +]) + +dnl ------------------------------------------------------------------------ +dnl Check for MAXPATHLEN macro, defines KDEMAXPATHLEN. faure@kde.org +dnl ------------------------------------------------------------------------ +dnl +AC_DEFUN([AC_CHECK_KDEMAXPATHLEN], +[ +AC_MSG_CHECKING(for MAXPATHLEN) +AC_CACHE_VAL(ac_cv_maxpathlen, +[ +cat > conftest.$ac_ext < +#endif +#include +#include +#ifndef MAXPATHLEN +#define MAXPATHLEN 1024 +#endif + +KDE_HELLO MAXPATHLEN + +EOF + +ac_try="$ac_cpp conftest.$ac_ext 2>/dev/null | grep '^KDE_HELLO' >conftest.out" + +if AC_TRY_EVAL(ac_try) && test -s conftest.out; then + ac_cv_maxpathlen=`sed 's#KDE_HELLO ##' conftest.out` +else + ac_cv_maxpathlen=1024 +fi + +rm conftest.* + +]) +AC_MSG_RESULT($ac_cv_maxpathlen) +AC_DEFINE_UNQUOTED(KDEMAXPATHLEN,$ac_cv_maxpathlen, [Define a safe value for MAXPATHLEN] ) +]) + +AC_DEFUN([KDE_CHECK_HEADER], +[ + kde_safe_cppflags=$CPPFLAGS + CPPFLAGS="$CPPFLAGS $all_includes" + AC_LANG_SAVE + AC_LANG_CPLUSPLUS + AC_CHECK_HEADER([$1], [$2], [$3], [$4]) + AC_LANG_RESTORE + CPPFLAGS=$kde_safe_cppflags +]) + +AC_DEFUN([KDE_CHECK_HEADERS], +[ + AH_CHECK_HEADERS([$1]) + AC_LANG_SAVE + kde_safe_cppflags=$CPPFLAGS + CPPFLAGS="$CPPFLAGS $all_includes" + AC_LANG_CPLUSPLUS + AC_CHECK_HEADERS([$1], [$2], [$3], [$4]) + CPPFLAGS=$kde_safe_cppflags + AC_LANG_RESTORE +]) + +AC_DEFUN([KDE_FAST_CONFIGURE], +[ + dnl makes configure fast (needs perl) + AC_ARG_ENABLE(fast-perl, AC_HELP_STRING([--disable-fast-perl],[disable fast Makefile generation (needs perl)]), + with_fast_perl=$enableval, with_fast_perl=yes) +]) + +AC_DEFUN([KDE_CONF_FILES], +[ + val= + if test -f $srcdir/configure.files ; then + val=`sed -e 's%^%\$(top_srcdir)/%' $srcdir/configure.files` + fi + CONF_FILES= + if test -n "$val" ; then + for i in $val ; do + CONF_FILES="$CONF_FILES $i" + done + fi + AC_SUBST(CONF_FILES) +])dnl + +dnl This sets the prefix, for arts and kdelibs +dnl Do NOT use in any other module. +dnl It only looks at --prefix, KDEDIR and falls back to /usr/local/kde +AC_DEFUN([KDE_SET_PREFIX_CORE], +[ + unset CDPATH + dnl make $KDEDIR the default for the installation + AC_PREFIX_DEFAULT(${KDEDIR:-/usr/local/kde}) + + if test "x$prefix" = "xNONE"; then + prefix=$ac_default_prefix + ac_configure_args="$ac_configure_args --prefix=$prefix" + fi + # And delete superfluous '/' to make compares easier + prefix=`echo "$prefix" | sed 's,//*,/,g' | sed -e 's,/$,,'` + exec_prefix=`echo "$exec_prefix" | sed 's,//*,/,g' | sed -e 's,/$,,'` + + kde_libs_prefix='$(prefix)' + kde_libs_htmldir='$(kde_htmldir)' + AC_SUBST(kde_libs_prefix) + AC_SUBST(kde_libs_htmldir) + KDE_FAST_CONFIGURE + KDE_CONF_FILES +]) + + +AC_DEFUN([KDE_SET_PREFIX], +[ + unset CDPATH + dnl We can't give real code to that macro, only a value. + dnl It only matters for --help, since we set the prefix in this function anyway. + AC_PREFIX_DEFAULT(${KDEDIR:-the kde prefix}) + + KDE_SET_DEFAULT_BINDIRS + if test "x$prefix" = "xNONE"; then + dnl no prefix given: look for kde-config in the PATH and deduce the prefix from it + KDE_FIND_PATH(kde-config, KDECONFIG, [$kde_default_bindirs], [KDE_MISSING_PROG_ERROR(kde-config)], [], prepend) + else + dnl prefix given: look for kde-config, preferrably in prefix, otherwise in PATH + kde_save_PATH="$PATH" + PATH="$exec_prefix/bin:$prefix/bin:$PATH" + KDE_FIND_PATH(kde-config, KDECONFIG, [$kde_default_bindirs], [KDE_MISSING_PROG_ERROR(kde-config)], [], prepend) + PATH="$kde_save_PATH" + fi + + kde_libs_prefix=`$KDECONFIG --prefix` + if test -z "$kde_libs_prefix" || test ! -x "$kde_libs_prefix"; then + AC_MSG_ERROR([$KDECONFIG --prefix outputed the non existant prefix '$kde_libs_prefix' for kdelibs. + This means it has been moved since you installed it. + This won't work. Please recompile kdelibs for the new prefix. + ]) + fi + kde_libs_htmldir=`$KDECONFIG --install html --expandvars` + kde_libs_suffix=`$KDECONFIG --libsuffix` + + AC_MSG_CHECKING([where to install]) + if test "x$prefix" = "xNONE"; then + prefix=$kde_libs_prefix + AC_MSG_RESULT([$prefix (as returned by kde-config)]) + else + dnl --prefix was given. Compare prefixes and warn (in configure.in.bot.end) if different + given_prefix=$prefix + AC_MSG_RESULT([$prefix (as requested)]) + fi + + # And delete superfluous '/' to make compares easier + prefix=`echo "$prefix" | sed 's,//*,/,g' | sed -e 's,/$,,'` + exec_prefix=`echo "$exec_prefix" | sed 's,//*,/,g' | sed -e 's,/$,,'` + given_prefix=`echo "$given_prefix" | sed 's,//*,/,g' | sed -e 's,/$,,'` + + AC_SUBST(KDECONFIG) + AC_SUBST(kde_libs_prefix) + AC_SUBST(kde_libs_htmldir) + + KDE_FAST_CONFIGURE + KDE_CONF_FILES +]) + +pushdef([AC_PROG_INSTALL], +[ + dnl our own version, testing for a -p flag + popdef([AC_PROG_INSTALL]) + dnl as AC_PROG_INSTALL works as it works we first have + dnl to save if the user didn't specify INSTALL, as the + dnl autoconf one overwrites INSTALL and we have no chance to find + dnl out afterwards + test -n "$INSTALL" && kde_save_INSTALL_given=$INSTALL + test -n "$INSTALL_PROGRAM" && kde_save_INSTALL_PROGRAM_given=$INSTALL_PROGRAM + test -n "$INSTALL_SCRIPT" && kde_save_INSTALL_SCRIPT_given=$INSTALL_SCRIPT + AC_PROG_INSTALL + + if test -z "$kde_save_INSTALL_given" ; then + # OK, user hasn't given any INSTALL, autoconf found one for us + # now we test, if it supports the -p flag + AC_MSG_CHECKING(for -p flag to install) + rm -f confinst.$$.* > /dev/null 2>&1 + echo "Testtest" > confinst.$$.orig + ac_res=no + if ${INSTALL} -p confinst.$$.orig confinst.$$.new > /dev/null 2>&1 ; then + if test -f confinst.$$.new ; then + # OK, -p seems to do no harm to install + INSTALL="${INSTALL} -p" + ac_res=yes + fi + fi + rm -f confinst.$$.* + AC_MSG_RESULT($ac_res) + fi + dnl the following tries to resolve some signs and wonders coming up + dnl with different autoconf/automake versions + dnl e.g.: + dnl *automake 1.4 install-strip sets A_M_INSTALL_PROGRAM_FLAGS to -s + dnl and has INSTALL_PROGRAM = @INSTALL_PROGRAM@ $(A_M_INSTALL_PROGRAM_FLAGS) + dnl it header-vars.am, so there the actual INSTALL_PROGRAM gets the -s + dnl *automake 1.4a (and above) use INSTALL_STRIP_FLAG and only has + dnl INSTALL_PROGRAM = @INSTALL_PROGRAM@ there, but changes the + dnl install-@DIR@PROGRAMS targets to explicitly use that flag + dnl *autoconf 2.13 is dumb, and thinks it can use INSTALL_PROGRAM as + dnl INSTALL_SCRIPT, which breaks with automake <= 1.4 + dnl *autoconf >2.13 (since 10.Apr 1999) has not that failure + dnl *sometimes KDE does not use the install-@DIR@PROGRAM targets from + dnl automake (due to broken Makefile.am or whatever) to install programs, + dnl and so does not see the -s flag in automake > 1.4 + dnl to clean up that mess we: + dnl +set INSTALL_PROGRAM to use INSTALL_STRIP_FLAG + dnl which cleans KDE's program with automake > 1.4; + dnl +set INSTALL_SCRIPT to only use INSTALL, to clean up autoconf's problems + dnl with automake<=1.4 + dnl note that dues to this sometimes two '-s' flags are used (if KDE + dnl properly uses install-@DIR@PROGRAMS, but I don't care + dnl + dnl And to all this comes, that I even can't write in comments variable + dnl names used by automake, because it is so stupid to think I wanted to + dnl _use_ them, therefor I have written A_M_... instead of AM_ + dnl hmm, I wanted to say something ... ahh yes: Arghhh. + + if test -z "$kde_save_INSTALL_PROGRAM_given" ; then + INSTALL_PROGRAM='${INSTALL} $(INSTALL_STRIP_FLAG)' + fi + if test -z "$kde_save_INSTALL_SCRIPT_given" ; then + INSTALL_SCRIPT='${INSTALL}' + fi +])dnl + +AC_DEFUN([KDE_LANG_CPLUSPLUS], +[AC_LANG_CPLUSPLUS +ac_link='rm -rf SunWS_cache; ${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&AC_FD_CC' +pushdef([AC_LANG_CPLUSPLUS], [popdef([AC_LANG_CPLUSPLUS]) KDE_LANG_CPLUSPLUS]) +]) + +pushdef([AC_LANG_CPLUSPLUS], +[popdef([AC_LANG_CPLUSPLUS]) +KDE_LANG_CPLUSPLUS +]) + +AC_DEFUN([KDE_CHECK_LONG_LONG], +[ +AC_MSG_CHECKING(for long long) +AC_CACHE_VAL(kde_cv_c_long_long, +[ + AC_LANG_SAVE + AC_LANG_CPLUSPLUS + AC_TRY_LINK([], [ + long long foo = 0; + foo = foo+1; + ], + kde_cv_c_long_long=yes, kde_cv_c_long_long=no) + AC_LANG_RESTORE +]) +AC_MSG_RESULT($kde_cv_c_long_long) +if test "$kde_cv_c_long_long" = yes; then + AC_DEFINE(HAVE_LONG_LONG, 1, [Define if you have long long as datatype]) +fi +]) + +AC_DEFUN([KDE_CHECK_LIB], +[ + kde_save_LDFLAGS="$LDFLAGS" + dnl AC_CHECK_LIB modifies LIBS, so save it here + kde_save_LIBS="$LIBS" + LDFLAGS="$LDFLAGS $all_libraries" + case $host_os in + aix*) LDFLAGS="-brtl $LDFLAGS" + test "$GCC" = yes && LDFLAGS="-Wl,$LDFLAGS" + ;; + esac + AC_CHECK_LIB($1, $2, $3, $4, $5) + LDFLAGS="$kde_save_LDFLAGS" + LIBS="$kde_save_LIBS" +]) + +AC_DEFUN([KDE_JAVA_PREFIX], +[ + dir=`dirname "$1"` + base=`basename "$1"` + list=`ls -1 $dir 2> /dev/null` + for entry in $list; do + if test -d $dir/$entry/bin; then + case $entry in + $base) + javadirs="$javadirs $dir/$entry/bin" + ;; + esac + elif test -d $dir/$entry/jre/bin; then + case $entry in + $base) + javadirs="$javadirs $dir/$entry/jre/bin" + ;; + esac + fi + done +]) + +dnl KDE_CHEC_JAVA_DIR(onlyjre) +AC_DEFUN([KDE_CHECK_JAVA_DIR], +[ + +AC_ARG_WITH(java, +AC_HELP_STRING([--with-java=javadir],[use java installed in javadir, --without-java disables]), +[ ac_java_dir=$withval +], ac_java_dir="" +) + +AC_MSG_CHECKING([for Java]) + +dnl at this point ac_java_dir is either a dir, 'no' to disable, or '' to say look in $PATH +if test "x$ac_java_dir" = "xno"; then + kde_java_bindir=no + kde_java_includedir=no + kde_java_libjvmdir=no + kde_java_libgcjdir=no + kde_java_libhpidir=no +else + if test "x$ac_java_dir" = "x"; then + + + dnl No option set -> collect list of candidate paths + if test -n "$JAVA_HOME"; then + KDE_JAVA_PREFIX($JAVA_HOME) + fi + KDE_JAVA_PREFIX(/usr/j2se) + KDE_JAVA_PREFIX(/usr/lib/j2se) + KDE_JAVA_PREFIX(/usr/j*dk*) + KDE_JAVA_PREFIX(/usr/lib/j*dk*) + KDE_JAVA_PREFIX(/opt/j*sdk*) + KDE_JAVA_PREFIX(/usr/lib/java*) + KDE_JAVA_PREFIX(/usr/java*) + KDE_JAVA_PREFIX(/usr/java/j*dk*) + KDE_JAVA_PREFIX(/usr/java/j*re*) + KDE_JAVA_PREFIX(/usr/lib/SunJava2*) + KDE_JAVA_PREFIX(/usr/lib/SunJava*) + KDE_JAVA_PREFIX(/usr/lib/IBMJava2*) + KDE_JAVA_PREFIX(/usr/lib/IBMJava*) + KDE_JAVA_PREFIX(/opt/java*) + + kde_cv_path="NONE" + kde_save_IFS=$IFS + IFS=':' + for dir in $PATH; do + if test -d "$dir"; then + javadirs="$javadirs $dir" + fi + done + IFS=$kde_save_IFS + jredirs= + + dnl Now javadirs contains a list of paths that exist, all ending with bin/ + for dir in $javadirs; do + dnl Check for the java executable + if test -x "$dir/java"; then + dnl And also check for a libjvm.so somewhere under there + dnl Since we have to go to the parent dir, /usr/bin is excluded, /usr is too big. + if test "$dir" != "/usr/bin"; then + libjvmdir=`find $dir/.. -name libjvm.so | sed 's,libjvm.so,,'|head -n 1` + if test ! -f $libjvmdir/libjvm.so; then continue; fi + jredirs="$jredirs $dir" + fi + fi + done + + dnl Now jredirs contains a reduced list, of paths where both java and ../**/libjvm.so was found + JAVAC= + JAVA= + kde_java_bindir=no + for dir in $jredirs; do + JAVA="$dir/java" + kde_java_bindir=$dir + if test -x "$dir/javac"; then + JAVAC="$dir/javac" + break + fi + done + + if test -n "$JAVAC"; then + dnl this substitution might not work - well, we test for jni.h below + kde_java_includedir=`echo $JAVAC | sed -e 's,bin/javac$,include/,'` + else + kde_java_includedir=no + fi + else + dnl config option set + kde_java_bindir=$ac_java_dir/bin + if test -x $ac_java_dir/bin/java && test ! -x $ac_java_dir/bin/javac; then + kde_java_includedir=no + else + kde_java_includedir=$ac_java_dir/include + fi + fi +fi + +dnl At this point kde_java_bindir and kde_java_includedir are either set or "no" +if test "x$kde_java_bindir" != "xno"; then + + dnl Look for libjvm.so + kde_java_libjvmdir=`find $kde_java_bindir/.. -name libjvm.so | sed 's,libjvm.so,,'|head -n 1` + dnl Look for libgcj.so + kde_java_libgcjdir=`find $kde_java_bindir/.. -name libgcj.so | sed 's,libgcj.so,,'|head -n 1` + dnl Look for libhpi.so and avoid green threads + kde_java_libhpidir=`find $kde_java_bindir/.. -name libhpi.so | grep -v green | sed 's,libhpi.so,,' | head -n 1` + + dnl Now check everything's fine under there + dnl the include dir is our flag for having the JDK + if test -d "$kde_java_includedir"; then + if test ! -x "$kde_java_bindir/javac"; then + AC_MSG_ERROR([javac not found under $kde_java_bindir - it seems you passed a wrong --with-java.]) + fi + if test ! -x "$kde_java_bindir/javah"; then + AC_MSG_ERROR([javah not found under $kde_java_bindir. javac was found though! Use --with-java or --without-java.]) + fi + if test ! -x "$kde_java_bindir/jar"; then + AC_MSG_ERROR([jar not found under $kde_java_bindir. javac was found though! Use --with-java or --without-java.]) + fi + if test ! -r "$kde_java_includedir/jni.h"; then + AC_MSG_ERROR([jni.h not found under $kde_java_includedir. Use --with-java or --without-java.]) + fi + + jni_includes="-I$kde_java_includedir" + dnl Strange thing, jni.h requires jni_md.h which is under genunix here.. + dnl and under linux here.. + + dnl not needed for gcj + + if test "x$kde_java_libgcjdir" = "x"; then + test -d "$kde_java_includedir/linux" && jni_includes="$jni_includes -I$kde_java_includedir/linux" + test -d "$kde_java_includedir/solaris" && jni_includes="$jni_includes -I$kde_java_includedir/solaris" + test -d "$kde_java_includedir/genunix" && jni_includes="$jni_includes -I$kde_java_includedir/genunix" + fi + + else + JAVAC= + jni_includes= + fi + + if test "x$kde_java_libgcjdir" = "x"; then + if test ! -r "$kde_java_libjvmdir/libjvm.so"; then + AC_MSG_ERROR([libjvm.so not found under $kde_java_libjvmdir. Use --without-java.]) + fi + else + if test ! -r "$kde_java_libgcjdir/libgcj.so"; then + AC_MSG_ERROR([libgcj.so not found under $kde_java_libgcjdir. Use --without-java.]) + fi + fi + + if test ! -x "$kde_java_bindir/java"; then + AC_MSG_ERROR([java not found under $kde_java_bindir. javac was found though! Use --with-java or --without-java.]) + fi + + dnl not needed for gcj compile + + if test "x$kde_java_libgcjdir" = "x"; then + if test ! -r "$kde_java_libhpidir/libhpi.so"; then + AC_MSG_ERROR([libhpi.so not found under $kde_java_libhpidir. Use --without-java.]) + fi + fi + + if test -n "$jni_includes"; then + dnl Check for JNI version + AC_LANG_SAVE + AC_LANG_CPLUSPLUS + ac_cxxflags_safe="$CXXFLAGS" + CXXFLAGS="$CXXFLAGS $all_includes $jni_includes" + + AC_TRY_COMPILE([ + #include + ], + [ + #ifndef JNI_VERSION_1_2 + Syntax Error + #endif + ],[ kde_jni_works=yes ], + [ kde_jni_works=no ]) + + if test $kde_jni_works = no; then + AC_MSG_ERROR([Incorrect version of $kde_java_includedir/jni.h. + You need to have Java Development Kit (JDK) version 1.2. + + Use --with-java to specify another location. + Use --without-java to configure without java support. + Or download a newer JDK and try again. + See e.g. http://java.sun.com/products/jdk/1.2 ]) + fi + + CXXFLAGS="$ac_cxxflags_safe" + AC_LANG_RESTORE + + dnl All tests ok, inform and subst the variables + + JAVAC=$kde_java_bindir/javac + JAVAH=$kde_java_bindir/javah + JAR=$kde_java_bindir/jar + AC_DEFINE_UNQUOTED(PATH_JAVA, "$kde_java_bindir/java", [Define where your java executable is]) + if test "x$kde_java_libgcjdir" = "x"; then + JVMLIBS="-L$kde_java_libjvmdir -ljvm -L$kde_java_libhpidir -lhpi" + else + JVMLIBS="-L$kde_java_libgcjdir -lgcj" + fi + AC_MSG_RESULT([java JDK in $kde_java_bindir]) + + else + AC_DEFINE_UNQUOTED(PATH_JAVA, "$kde_java_bindir/java", [Define where your java executable is]) + AC_MSG_RESULT([java JRE in $kde_java_bindir]) + fi +elif test -d "/Library/Java/Home"; then + kde_java_bindir="/Library/Java/Home/bin" + jni_includes="-I/Library/Java/Home/include" + + JAVAC=$kde_java_bindir/javac + JAVAH=$kde_java_bindir/javah + JAR=$kde_java_bindir/jar + JVMLIBS="-Xlinker -framework -Xlinker JavaVM" + + AC_DEFINE_UNQUOTED(PATH_JAVA, "$kde_java_bindir/java", [Define where your java executable is]) + AC_MSG_RESULT([Apple Java Framework]) +else + AC_MSG_RESULT([none found]) +fi + +AC_SUBST(JAVAC) +AC_SUBST(JAVAH) +AC_SUBST(JAR) +AC_SUBST(JVMLIBS) +AC_SUBST(jni_includes) + +# for backward compat +kde_cv_java_includedir=$kde_java_includedir +kde_cv_java_bindir=$kde_java_bindir +]) + +dnl this is a redefinition of autoconf 2.5x's AC_FOREACH. +dnl When the argument list becomes big, as in KDE for AC_OUTPUT in +dnl big packages, m4_foreach is dog-slow. So use our own version of +dnl it. (matz@kde.org) +m4_define([mm_foreach], +[m4_pushdef([$1])_mm_foreach($@)m4_popdef([$1])]) +m4_define([mm_car], [[$1]]) +m4_define([mm_car2], [[$@]]) +m4_define([_mm_foreach], +[m4_if(m4_quote($2), [], [], + [m4_define([$1], mm_car($2))$3[]_mm_foreach([$1], + mm_car2(m4_shift($2)), + [$3])])]) +m4_define([AC_FOREACH], +[mm_foreach([$1], m4_split(m4_normalize([$2])), [$3])]) + +AC_DEFUN([KDE_NEED_FLEX], +[ +kde_libs_safe=$LIBS +LIBS="$LIBS $USER_LDFLAGS" +AM_PROG_LEX +LIBS=$kde_libs_safe +if test -z "$LEXLIB"; then + AC_MSG_ERROR([You need to have flex installed.]) +fi +AC_SUBST(LEXLIB) +]) + +AC_DEFUN([AC_PATH_QTOPIA], +[ + dnl TODO: use AC_CACHE_VAL + + if test -z "$1"; then + qtopia_minver_maj=1 + qtopia_minver_min=5 + qtopia_minver_pat=0 + else + qtopia_minver_maj=`echo "$1" | sed -e "s/^\(.*\)\..*\..*$/\1/"` + qtopia_minver_min=`echo "$1" | sed -e "s/^.*\.\(.*\)\..*$/\1/"` + qtopia_minver_pat=`echo "$1" | sed -e "s/^.*\..*\.\(.*\)$/\1/"` + fi + + qtopia_minver="$qtopia_minver_maj$qtopia_minver_min$qtopia_minver_pat" + qtopia_minverstr="$qtopia_minver_maj.$qtopia_minver_min.$qtopia_minver_pat" + + AC_REQUIRE([AC_PATH_QT]) + + AC_MSG_CHECKING([for Qtopia]) + + LIB_QTOPIA="-lqpe" + AC_SUBST(LIB_QTOPIA) + + kde_qtopia_dirs="$QPEDIR /opt/Qtopia" + + ac_qtopia_incdir=NO + + AC_ARG_WITH(qtopia-dir, + AC_HELP_STRING([--with-qtopia-dir=DIR],[where the root of Qtopia is installed]), + [ ac_qtopia_incdir="$withval"/include] ) + + qtopia_incdirs="" + for dir in $kde_qtopia_dirs; do + qtopia_incdirs="$qtopia_incdirs $dir/include" + done + + if test ! "$ac_qtopia_incdir" = "NO"; then + qtopia_incdirs="$ac_qtopia_incdir $qtopia_incdirs" + fi + + qtopia_incdir="" + AC_FIND_FILE(qpe/qpeapplication.h, $qtopia_incdirs, qtopia_incdir) + ac_qtopia_incdir="$qtopia_incdir" + + if test -z "$qtopia_incdir"; then + AC_MSG_ERROR([Cannot find Qtopia headers. Please check your installation.]) + fi + + qtopia_ver_maj=`cat $qtopia_incdir/qpe/version.h | sed -n -e 's,.*QPE_VERSION "\(.*\)\..*\..*".*,\1,p'`; + qtopia_ver_min=`cat $qtopia_incdir/qpe/version.h | sed -n -e 's,.*QPE_VERSION ".*\.\(.*\)\..*".*,\1,p'`; + qtopia_ver_pat=`cat $qtopia_incdir/qpe/version.h | sed -n -e 's,.*QPE_VERSION ".*\..*\.\(.*\)".*,\1,p'`; + + qtopia_ver="$qtopia_ver_maj$qtopia_ver_min$qtopia_ver_pat" + qtopia_verstr="$qtopia_ver_maj.$qtopia_ver_min.$qtopia_ver_pat" + if test "$qtopia_ver" -lt "$qtopia_minver"; then + AC_MSG_ERROR([found Qtopia version $qtopia_verstr but version $qtopia_minverstr +is required.]) + fi + + AC_LANG_SAVE + AC_LANG_CPLUSPLUS + + ac_cxxflags_safe="$CXXFLAGS" + ac_ldflags_safe="$LDFLAGS" + ac_libs_safe="$LIBS" + + CXXFLAGS="$CXXFLAGS -I$qtopia_incdir $all_includes" + LDFLAGS="$LDFLAGS $QT_LDFLAGS $all_libraries $USER_LDFLAGS $KDE_MT_LDFLAGS" + LIBS="$LIBS $LIB_QTOPIA $LIBQT" + + cat > conftest.$ac_ext < +#include + +int main( int argc, char **argv ) +{ + QPEApplication app( argc, argv ); + return 0; +} +EOF + + if AC_TRY_EVAL(ac_link) && test -s conftest; then + rm -f conftest* + else + rm -f conftest* + AC_MSG_ERROR([Cannot link small Qtopia Application. For more details look at +the end of config.log]) + fi + + CXXFLAGS="$ac_cxxflags_safe" + LDFLAGS="$ac_ldflags_safe" + LIBS="$ac_libs_safe" + + AC_LANG_RESTORE + + QTOPIA_INCLUDES="-I$qtopia_incdir" + AC_SUBST(QTOPIA_INCLUDES) + + AC_MSG_RESULT([found version $qtopia_verstr with headers at $qtopia_incdir]) +]) + + +AC_DEFUN([KDE_INIT_DOXYGEN], +[ +AC_MSG_CHECKING([for Qt docs]) +kde_qtdir= +if test "${with_qt_dir+set}" = set; then + kde_qtdir="$with_qt_dir" +fi + +AC_FIND_FILE(qsql.html, [ $kde_qtdir/doc/html $QTDIR/doc/html /usr/share/doc/packages/qt3/html /usr/lib/qt/doc /usr/lib/qt3/doc /usr/lib/qt3/doc/html /usr/doc/qt3/html /usr/doc/qt3 /usr/share/doc/qt3-doc /usr/share/qt3/doc/html /usr/X11R6/share/doc/qt/html ], QTDOCDIR) +AC_MSG_RESULT($QTDOCDIR) + +AC_SUBST(QTDOCDIR) + +KDE_FIND_PATH(dot, DOT, [], []) +if test -n "$DOT"; then + KDE_HAVE_DOT="YES" +else + KDE_HAVE_DOT="NO" +fi +AC_SUBST(KDE_HAVE_DOT) +KDE_FIND_PATH(doxygen, DOXYGEN, [], []) +AC_SUBST(DOXYGEN) + +DOXYGEN_PROJECT_NAME="$1" +DOXYGEN_PROJECT_NUMBER="$2" +AC_SUBST(DOXYGEN_PROJECT_NAME) +AC_SUBST(DOXYGEN_PROJECT_NUMBER) + +KDE_HAS_DOXYGEN=no +if test -n "$DOXYGEN" && test -x "$DOXYGEN" && test -f $QTDOCDIR/qsql.html; then + KDE_HAS_DOXYGEN=yes +fi +AC_SUBST(KDE_HAS_DOXYGEN) + +]) + + +AC_DEFUN([AC_FIND_BZIP2], +[ +AC_MSG_CHECKING([for bzDecompress in libbz2]) +AC_CACHE_VAL(ac_cv_lib_bzip2, +[ +AC_LANG_SAVE +AC_LANG_CPLUSPLUS +kde_save_LIBS="$LIBS" +LIBS="$all_libraries $USER_LDFLAGS -lbz2 $LIBSOCKET" +kde_save_CXXFLAGS="$CXXFLAGS" +CXXFLAGS="$CXXFLAGS $all_includes $USER_INCLUDES" +AC_TRY_LINK(dnl +[ +#define BZ_NO_STDIO +#include +], + [ bz_stream s; (void) bzDecompress(&s); ], + eval "ac_cv_lib_bzip2='-lbz2'", + eval "ac_cv_lib_bzip2=no") +LIBS="$kde_save_LIBS" +CXXFLAGS="$kde_save_CXXFLAGS" +AC_LANG_RESTORE +])dnl +AC_MSG_RESULT($ac_cv_lib_bzip2) + +if test ! "$ac_cv_lib_bzip2" = no; then + BZIP2DIR=bzip2 + + LIBBZ2="$ac_cv_lib_bzip2" + AC_SUBST(LIBBZ2) + +else + + cxx_shared_flag= + ld_shared_flag= + KDE_CHECK_COMPILER_FLAG(shared, [ + ld_shared_flag="-shared" + ]) + KDE_CHECK_COMPILER_FLAG(fPIC, [ + cxx_shared_flag="-fPIC" + ]) + + AC_MSG_CHECKING([for BZ2_bzDecompress in (shared) libbz2]) + AC_CACHE_VAL(ac_cv_lib_bzip2_prefix, + [ + AC_LANG_SAVE + AC_LANG_CPLUSPLUS + kde_save_LIBS="$LIBS" + LIBS="$all_libraries $USER_LDFLAGS $ld_shared_flag -lbz2 $LIBSOCKET" + kde_save_CXXFLAGS="$CXXFLAGS" + CXXFLAGS="$CFLAGS $cxx_shared_flag $all_includes $USER_INCLUDES" + + AC_TRY_LINK(dnl + [ + #define BZ_NO_STDIO + #include + ], + [ bz_stream s; (void) BZ2_bzDecompress(&s); ], + eval "ac_cv_lib_bzip2_prefix='-lbz2'", + eval "ac_cv_lib_bzip2_prefix=no") + LIBS="$kde_save_LIBS" + CXXFLAGS="$kde_save_CXXFLAGS" + AC_LANG_RESTORE + ])dnl + + AC_MSG_RESULT($ac_cv_lib_bzip2_prefix) + + if test ! "$ac_cv_lib_bzip2_prefix" = no; then + BZIP2DIR=bzip2 + + LIBBZ2="$ac_cv_lib_bzip2_prefix" + AC_SUBST(LIBBZ2) + + AC_DEFINE(NEED_BZ2_PREFIX, 1, [Define if the libbz2 functions need the BZ2_ prefix]) + dnl else, we just ignore this + fi + +fi +AM_CONDITIONAL(include_BZIP2, test -n "$BZIP2DIR") +]) + +dnl ------------------------------------------------------------------------ +dnl Try to find the SSL headers and libraries. +dnl $(SSL_LDFLAGS) will be -Lsslliblocation (if needed) +dnl and $(SSL_INCLUDES) will be -Isslhdrlocation (if needed) +dnl ------------------------------------------------------------------------ +dnl +AC_DEFUN([KDE_CHECK_SSL], +[ +LIBSSL="-lssl -lcrypto" +AC_REQUIRE([KDE_CHECK_LIB64]) + +ac_ssl_includes=NO ac_ssl_libraries=NO +ssl_libraries="" +ssl_includes="" +AC_ARG_WITH(ssl-dir, + AC_HELP_STRING([--with-ssl-dir=DIR],[where the root of OpenSSL is installed]), + [ ac_ssl_includes="$withval"/include + ac_ssl_libraries="$withval"/lib$kdelibsuff + ]) + +want_ssl=yes +AC_ARG_WITH(ssl, + AC_HELP_STRING([--without-ssl],[disable SSL checks]), + [want_ssl=$withval]) + +if test $want_ssl = yes; then + +AC_MSG_CHECKING(for OpenSSL) + +AC_CACHE_VAL(ac_cv_have_ssl, +[#try to guess OpenSSL locations + + ssl_incdirs="/usr/include /usr/local/include /usr/ssl/include /usr/local/ssl/include $prefix/include $kde_extra_includes" + ssl_incdirs="$ac_ssl_includes $ssl_incdirs" + AC_FIND_FILE(openssl/ssl.h, $ssl_incdirs, ssl_incdir) + ac_ssl_includes="$ssl_incdir" + + ssl_libdirs="/usr/lib$kdelibsuff /usr/local/lib$kdelibsuff /usr/ssl/lib$kdelibsuff /usr/local/ssl/lib$kdelibsuff $libdir $prefix/lib$kdelibsuff $exec_prefix/lib$kdelibsuff $kde_extra_libs" + if test ! "$ac_ssl_libraries" = "NO"; then + ssl_libdirs="$ac_ssl_libraries $ssl_libdirs" + fi + + test=NONE + ssl_libdir=NONE + for dir in $ssl_libdirs; do + try="ls -1 $dir/libssl*" + if test=`eval $try 2> /dev/null`; then ssl_libdir=$dir; break; else echo "tried $dir" >&AC_FD_CC ; fi + done + + ac_ssl_libraries="$ssl_libdir" + + ac_ldflags_safe="$LDFLAGS" + ac_libs_safe="$LIBS" + + LDFLAGS="$LDFLAGS -L$ssl_libdir $all_libraries" + LIBS="$LIBS $LIBSSL -lRSAglue -lrsaref" + + AC_TRY_LINK(,void RSAPrivateEncrypt(void);RSAPrivateEncrypt();, + ac_ssl_rsaref="yes" + , + ac_ssl_rsaref="no" + ) + + LDFLAGS="$ac_ldflags_safe" + LIBS="$ac_libs_safe" + + if test "$ac_ssl_includes" = NO || test "$ac_ssl_libraries" = NO; then + have_ssl=no + else + have_ssl=yes; + fi + + ]) + + eval "$ac_cv_have_ssl" + + AC_MSG_RESULT([libraries $ac_ssl_libraries, headers $ac_ssl_includes]) + + AC_MSG_CHECKING([whether OpenSSL uses rsaref]) + AC_MSG_RESULT($ac_ssl_rsaref) + + AC_MSG_CHECKING([for easter eggs]) + AC_MSG_RESULT([none found]) + +else + have_ssl=no +fi + +if test "$have_ssl" = yes; then + AC_MSG_CHECKING(for OpenSSL version) + dnl Check for SSL version + AC_CACHE_VAL(ac_cv_ssl_version, + [ + + cat >conftest.$ac_ext < +#include + int main() { + +#ifndef OPENSSL_VERSION_NUMBER + printf("ssl_version=\\"error\\"\n"); +#else + if (OPENSSL_VERSION_NUMBER < 0x00906000) + printf("ssl_version=\\"old\\"\n"); + else + printf("ssl_version=\\"ok\\"\n"); +#endif + return (0); + } +EOF + + ac_save_CPPFLAGS=$CPPFLAGS + if test "$ac_ssl_includes" != "/usr/include"; then + CPPFLAGS="$CPPFLAGS -I$ac_ssl_includes" + fi + + if AC_TRY_EVAL(ac_link); then + + if eval `./conftest 2>&5`; then + if test $ssl_version = error; then + AC_MSG_ERROR([$ssl_incdir/openssl/opensslv.h doesn't define OPENSSL_VERSION_NUMBER !]) + else + if test $ssl_version = old; then + AC_MSG_WARN([OpenSSL version too old. Upgrade to 0.9.6 at least, see http://www.openssl.org. SSL support disabled.]) + have_ssl=no + fi + fi + ac_cv_ssl_version="ssl_version=$ssl_version" + else + AC_MSG_ERROR([Your system couldn't run a small SSL test program. + Check config.log, and if you can't figure it out, send a mail to + David Faure , attaching your config.log]) + fi + + else + AC_MSG_ERROR([Your system couldn't link a small SSL test program. + Check config.log, and if you can't figure it out, send a mail to + David Faure , attaching your config.log]) + fi + CPPFLAGS=$ac_save_CPPFLAGS + + ]) + + eval "$ac_cv_ssl_version" + AC_MSG_RESULT($ssl_version) +fi + +if test "$have_ssl" != yes; then + LIBSSL=""; +else + AC_DEFINE(HAVE_SSL, 1, [If we are going to use OpenSSL]) + ac_cv_have_ssl="have_ssl=yes \ + ac_ssl_includes=$ac_ssl_includes ac_ssl_libraries=$ac_ssl_libraries ac_ssl_rsaref=$ac_ssl_rsaref" + + + ssl_libraries="$ac_ssl_libraries" + ssl_includes="$ac_ssl_includes" + + if test "$ac_ssl_rsaref" = yes; then + LIBSSL="-lssl -lcrypto -lRSAglue -lrsaref" + fi + + if test $ssl_version = "old"; then + AC_DEFINE(HAVE_OLD_SSL_API, 1, [Define if you have OpenSSL < 0.9.6]) + fi +fi + +SSL_INCLUDES= + +if test "$ssl_includes" = "/usr/include"; then + if test -f /usr/kerberos/include/krb5.h; then + SSL_INCLUDES="-I/usr/kerberos/include" + fi +elif test "$ssl_includes" != "/usr/local/include" && test -n "$ssl_includes"; then + SSL_INCLUDES="-I$ssl_includes" +fi + +if test "$ssl_libraries" = "/usr/lib" || test "$ssl_libraries" = "/usr/local/lib" || test -z "$ssl_libraries" || test "$ssl_libraries" = "NONE"; then + SSL_LDFLAGS="" +else + SSL_LDFLAGS="-L$ssl_libraries -R$ssl_libraries" +fi + +AC_SUBST(SSL_INCLUDES) +AC_SUBST(SSL_LDFLAGS) +AC_SUBST(LIBSSL) +]) + +AC_DEFUN([KDE_CHECK_STRLCPY], +[ + AC_REQUIRE([AC_CHECK_STRLCAT]) + AC_REQUIRE([AC_CHECK_STRLCPY]) + AC_CHECK_SIZEOF(size_t) + AC_CHECK_SIZEOF(unsigned long) + + AC_MSG_CHECKING([sizeof size_t == sizeof unsigned long]) + AC_TRY_COMPILE(,[ + #if SIZEOF_SIZE_T != SIZEOF_UNSIGNED_LONG + choke me + #endif + ],AC_MSG_RESULT([yes]),[ + AC_MSG_RESULT(no) + AC_MSG_ERROR([ + Apparently on your system our assumption sizeof size_t == sizeof unsigned long + does not apply. Please mail kde-devel@kde.org with a description of your system! + ]) + ]) +]) + +AC_DEFUN([KDE_CHECK_BINUTILS], +[ + AC_MSG_CHECKING([if ld supports unversioned version maps]) + + kde_save_LDFLAGS="$LDFLAGS" + LDFLAGS="$LDFLAGS -Wl,--version-script=conftest.map" + echo "{ local: extern \"C++\" { foo }; };" > conftest.map + AC_TRY_LINK([int foo;], +[ +#ifdef __INTEL_COMPILER +icc apparently does not support libtools version-info and version-script +at the same time. Dunno where the bug is, but until somebody figured out, +better disable the optional version scripts. +#endif + + foo = 42; +], kde_supports_versionmaps=yes, kde_supports_versionmaps=no) + LDFLAGS="$kde_save_LDFLAGS" + rm -f conftest.map + AM_CONDITIONAL(include_VERSION_SCRIPT, + [test "$kde_supports_versionmaps" = "yes" && test "$kde_use_debug_code" = "no"]) + + AC_MSG_RESULT($kde_supports_versionmaps) +]) + +AC_DEFUN([AM_PROG_OBJC],[ +AC_CHECK_PROGS(OBJC, gcc, gcc) +test -z "$OBJC" && AC_MSG_ERROR([no acceptable objective-c gcc found in \$PATH]) +if test "x${OBJCFLAGS-unset}" = xunset; then + OBJCFLAGS="-g -O2" +fi +AC_SUBST(OBJCFLAGS) +_AM_IF_OPTION([no-dependencies],, [_AM_DEPENDENCIES(OBJC)]) +]) + +AC_DEFUN([KDE_CHECK_PERL], +[ + KDE_FIND_PATH(perl, PERL, [$bindir $exec_prefix/bin $prefix/bin], [ + AC_MSG_ERROR([No Perl found in your $PATH. +We need perl to generate some code.]) + ]) + AC_SUBST(PERL) +]) + +AC_DEFUN([KDE_CHECK_LARGEFILE], +[ +AC_SYS_LARGEFILE +if test "$ac_cv_sys_file_offset_bits" != no; then + CPPFLAGS="$CPPFLAGS -D_FILE_OFFSET_BITS=$ac_cv_sys_file_offset_bits" +fi + +if test "x$ac_cv_sys_large_files" != "xno"; then + CPPFLAGS="$CPPFLAGS -D_LARGE_FILES=1" +fi + +]) + +dnl A small extension to PKG_CHECK_MODULES (defined in pkg.m4.in) +dnl which allows to search for libs that get installed into the KDE prefix. +dnl +dnl Syntax: KDE_PKG_CHECK_MODULES(KSTUFF, libkexif >= 0.2 glib = 1.3.4, action-if, action-not) +dnl defines KSTUFF_LIBS, KSTUFF_CFLAGS, see pkg-config man page +dnl also defines KSTUFF_PKG_ERRORS on error +AC_DEFUN([KDE_PKG_CHECK_MODULES], [ + + PKG_CONFIG_PATH="$prefix/lib/pkgconfig:$PKG_CONFIG_PATH" + if test "$prefix" != "$kde_libs_prefix"; then + PKG_CONFIG_PATH="$kde_libs_prefix/lib/pkgconfig:$PKG_CONFIG_PATH" + fi + export PKG_CONFIG_PATH + PKG_CHECK_MODULES($1,$2,$3,$4) +]) + +# libtool.m4 - Configure libtool for the host system. -*-Autoconf-*- +## Copyright 1996, 1997, 1998, 1999, 2000, 2001 +## Free Software Foundation, Inc. +## Originally by Gordon Matzigkeit , 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, 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. + +# serial 47 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 --silent' +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 s/^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 M$VC, +# 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 "$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_deplibs' +old_postinstall_cmds='chmod 644 $oldlib' +old_postuninstall_cmds= + +if test -n "$RANLIB"; then + case $host_os in + openbsd*) + old_postinstall_cmds="\$RANLIB -t \$oldlib~$old_postinstall_cmds" + ;; + *) + old_postinstall_cmds="\$RANLIB \$oldlib~$old_postinstall_cmds" + ;; + esac + old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib" +fi + +# 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"} + +# Allow CC to be a program name with arguments. +compiler=$CC +])# _LT_AC_SYS_COMPILER + + +# _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_LINK_IFELSE(AC_LANG_PROGRAM,[ +aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'` +# 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 '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'`; 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 </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-*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*) + LINUX_64_MODE="32" + case $host in + x86_64-*linux*) + LD="${LD-ld} -m elf_i386" + ;; + ppc64-*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*) + LINUX_64_MODE="64" + case $host in + 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 + ;; +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]) + printf "$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}? :&$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 + if test ! -s conftest.err; 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_CACHE_CHECK([$1], [$2], + [$2=no + save_LDFLAGS="$LDFLAGS" + LDFLAGS="$LDFLAGS $3" + printf "$lt_simple_link_test_code" > conftest.$ac_ext + if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then + # The compiler 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 + 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 + testring="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; + ;; + + *) + # 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"`$CONFIG_SHELL [$]0 --fallback-echo "X$testring" 2>/dev/null` \ + = "XX$testring") >/dev/null 2>&1 && + new_result=`expr "X$testring" : ".*" 2>&1` && + lt_cv_sys_max_cmd_len=$new_result && + test $i != 17 # 1/2 MB should be enough + do + i=`expr $i + 1` + testring=$testring$testring + done + testring= + # 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` + ;; + 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 < +#endif + +#include + +#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); */ + } + + exit (status); +}] +EOF + if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext} 2>/dev/null; then + (./conftest; exit; ) 2>/dev/null + lt_status=$? + case x$lt_status in + x$lt_dlno_uscore) $1 ;; + x$lt_dlneed_uscore) $2 ;; + x$lt_unknown|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" + 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 + LDFLAGS="$LDFLAGS $link_static_flag" + 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_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 + printf "$lt_simple_compile_test_code" > conftest.$ac_ext + + # According to Tom Tromey, Ian Lance Taylor reported there are C compilers + # that will create temporary files in the current directory regardless of + # the output directory. Thus, making CWD read-only will cause this test + # to fail, enabling locking or at least warning the user not to do parallel + # builds. + chmod -w . + + 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}? :&$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 + if test ! -s out/conftest.err; then + _LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes + fi + fi + chmod u+w . + $rm conftest* 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" + 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_MSG_CHECKING([dynamic linker characteristics]) +library_names_spec= +libname_spec='lib$name' +soname_spec= +shrext=".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" +sys_lib_search_path_spec="/lib /usr/lib /usr/local/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.so + # instead of lib.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 + ;; + +bsdi4*) + 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=".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' + 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='$(test .$module = .yes && echo .so || echo .dylib)' + # Apple's gcc prints 'gcc -print-search-dirs' doesn't operate the same. + if test "$GCC" = yes; then + sys_lib_search_path_spec=`$CC -print-search-dirs | tr "\n" "$PATH_SEPARATOR" | sed -e 's/libraries:/@libraries:/' | tr "@" "\n" | grep "^libraries:" | sed -e "s/^libraries://" -e "s,=/,/,g" -e "s,$PATH_SEPARATOR, ,g" -e "s,.*,& /lib /usr/lib /usr/local/lib,g"` + else + sys_lib_search_path_spec='/lib /usr/lib /usr/local/lib' + fi + 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*-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='GNU ld.so' + ;; + +freebsd*) + objformat=`test -x /usr/bin/objformat && /usr/bin/objformat || echo aout` + 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 + ;; + *) # from 3.2 on + shlibpath_overrides_runpath=no + 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='.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='.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='.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' + ;; + +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*) + 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' + libsuff= + if test "x$LINUX_64_MODE" = x64; then + # Some platforms are per default 64-bit, so there's no /lib64 + if test -d /lib64; then + libsuff=64 + fi + fi + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + sys_lib_dlsearch_path_spec="/lib${libsuff} /usr/lib${libsuff}" + sys_lib_search_path_spec="/lib${libsuff} /usr/lib${libsuff} /usr/local/lib${libsuff}" + # 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 + + # 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}${release}${shared_ext} ${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 + need_lib_prefix=no + need_version=no + 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=".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" + ;; + +sco3.2v5*) + version_type=osf + 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 + ;; + +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.2uw2* | sysv4.3* | sysv5*) + 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 + ;; + +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 +])# AC_LIBTOOL_SYS_DYNAMIC_LINKER + + +# _LT_AC_TAGCONFIG +# ---------------- +AC_DEFUN([_LT_AC_TAGCONFIG], +[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 + + # 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"; 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 dll's +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 recognise 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 <&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 recognise 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 GNU ld's only accept -v. + # Break only if it was the GNU/non-GNU ld that we prefer. + case `"$lt_cv_path_LD" -v 2>&1 &1 /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)/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 + ;; + +irix5* | irix6* | nonstopux*) + case $host_os in + irix5* | nonstopux*) + # this will be overridden with pass_all, but let us keep it just in case + lt_cv_deplibs_check_method="file_magic ELF 32-bit MSB dynamic lib MIPS - version 1" + ;; + *) + case $LD in + *-32|*"-32 ") libmagic=32-bit;; + *-n32|*"-n32 ") libmagic=N32;; + *-64|*"-64 ") libmagic=64-bit;; + *) libmagic=never-match;; + esac + # this will be overridden with pass_all, but let us keep it just in case + lt_cv_deplibs_check_method="file_magic ELF ${libmagic} MSB mips-[[1234]] dynamic lib MIPS - version 1" + ;; + esac + lt_cv_file_magic_test_file=`echo /lib${libsuff}/libc.so*` + lt_cv_deplibs_check_method=pass_all + ;; + +# This must be Linux ELF. +linux*) + case $host_cpu in + alpha* | hppa* | i*86 | ia64* | m68* | mips* | powerpc* | sparc* | s390* | sh* | x86_64* ) + lt_cv_deplibs_check_method=pass_all ;; + # the debian people say, arm and glibc 2.3.1 works for them with pass_all + arm* ) + lt_cv_deplibs_check_method=pass_all ;; + *) + # glibc up to 2.1.1 does not perform some relocations on ARM + lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB (shared object|dynamic lib )' ;; + esac + lt_cv_file_magic_test_file=`echo /lib/libc.so* /lib/libc-*.so` + ;; + +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*) + lt_cv_file_magic_cmd=/usr/bin/file + lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB shared object' + else + lt_cv_deplibs_check_method='file_magic OpenBSD.* shared library' + fi + ;; + +osf3* | osf4* | osf5*) + # this will be overridden with pass_all, but let us keep it just in case + lt_cv_deplibs_check_method='file_magic COFF format alpha shared library' + lt_cv_file_magic_test_file=/shlib/libc.so + lt_cv_deplibs_check_method=pass_all + ;; + +sco3.2v5*) + lt_cv_deplibs_check_method=pass_all + ;; + +solaris*) + lt_cv_deplibs_check_method=pass_all + lt_cv_file_magic_test_file=/lib/libc.so + ;; + +sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) + 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 + ;; + esac + ;; + +sysv5OpenUNIX8* | sysv5UnixWare7* | sysv5uw[[78]]* | unixware7* | 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_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + for ac_dir in $PATH /usr/ccs/bin /usr/ucb /bin; do + IFS="$lt_save_ifs" + test -z "$ac_dir" && ac_dir=. + tmp_nm="$ac_dir/${ac_tool_prefix}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" + 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 LIBLTDL +# and LTDLINCL are not AC_SUBSTed, nor is AC_CONFIG_SUBDIRS called. 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 LIBLTDL +# and LTDLINCL are not AC_SUBSTed, nor is AC_CONFIG_SUBDIRS called. 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 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. +# 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([AC_PROG_CXXCPP]) +_LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}CXX]) +])# _LT_AC_LANG_CXX + + +# 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;\n" + +# Code to be used in simple link tests +lt_simple_link_test_code='int main(){return(0);}\n' + +_LT_AC_SYS_COMPILER + +# +# Check for any special shared library compilation flags. +# +_LT_AC_TAGVAR(lt_prog_cc_shlib, $1)= +if test "$GCC" = no; then + case $host_os in + sco3.2v5*) + _LT_AC_TAGVAR(lt_prog_cc_shlib, $1)='-belf' + ;; + esac +fi +if test -n "$_LT_AC_TAGVAR(lt_prog_cc_shlib, $1)"; then + AC_MSG_WARN([`$CC' requires `$_LT_AC_TAGVAR(lt_prog_cc_shlib, $1)' to build shared libraries]) + if echo "$old_CC $old_CFLAGS " | grep "[[ ]]$]_LT_AC_TAGVAR(lt_prog_cc_shlib, $1)[[[ ]]" >/dev/null; then : + else + AC_MSG_WARN([add `$_LT_AC_TAGVAR(lt_prog_cc_shlib, $1)' to the CC or CFLAGS env variable and reconfigure]) + _LT_AC_TAGVAR(lt_cv_prog_cc_can_build_shared, $1)=no + fi +fi + + +# +# Check to make sure the static flag actually works. +# +AC_LIBTOOL_LINKER_OPTION([if $compiler static flag $_LT_AC_TAGVAR(lt_prog_compiler_static, $1) works], + _LT_AC_TAGVAR(lt_prog_compiler_static_works, $1), + $_LT_AC_TAGVAR(lt_prog_compiler_static, $1), + [], + [_LT_AC_TAGVAR(lt_prog_compiler_static, $1)=]) + + +## 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... +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($1) + +# Report which librarie types wil 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*) + if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then + test "$enable_shared" = yes && enable_static=no + fi + ;; + darwin* | rhapsody*) + if test "$GCC" = yes; then + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no + 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 + output_verbose_link_cmd='echo' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -dynamiclib $allow_undefined_flag -o $lib $compiler_flags $libobjs $deplibs -install_name $rpath/$soname $verstring' + _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $compiler_flags $libobjs $deplibs' + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin ld's + _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 $compiler_flags $libobjs $deplibs -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 $compiler_flags $libobjs $deplibs~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + _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)='-all_load $convenience' + _LT_AC_TAGVAR(link_all_deplibs, $1)=yes + else + _LT_AC_TAGVAR(ld_shlibs, $1)=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([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_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=cc + +# 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;\n" + +# Code to be used in simple link tests +lt_simple_link_test_code='int main(int, char *[]) { return(0); }\n' + +# ltmain only uses $CC for tagged configurations so make sure $CC is set. +_LT_AC_SYS_COMPILER + +# 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 + 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 + unset lt_cv_path_LD +fi +test -z "${LDCXX+set}" || LD=$LDCXX +CC=${CXX-"c++"} +compiler=$CC +_LT_AC_TAGVAR(compiler, $1)=$CC +cc_basename=`$echo X"$compiler" | $Xsed -e 's%^.*/%%'` + +# 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 $compiler_flags $predep_objects $libobjs $deplibs $postdep_objects ${wl}-soname $wl$soname -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared -nostdlib $compiler_flags $predep_objects $libobjs $deplibs $postdep_objects ${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 $compiler_flags $predep_objects $libobjs $deplibs $postdep_objects -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 + # KDE requires run time linking. Make it the default. + aix_use_runtimelinking=yes + 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 + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + 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' + 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='-qmkshrobj ${wl}-G' + else + shared_flag='-qmkshrobj' + fi + fi + fi + + # Let the compiler handle the export list. + _LT_AC_TAGVAR(always_export_symbols, $1)=no + 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_cmds, $1)="\$CC"' -o $output_objdir/$soname $compiler_flags $libobjs $deplibs `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '" $shared_flag" + _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC"' -o $output_objdir/$soname $compiler_flags $libobjs $deplibs `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 $compiler_flags $libobjs $deplibs ${wl}${allow_undefined_flag} '"\${wl}$no_entry_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' + # -bexpall does not export symbols beginning with underscore (_) + _LT_AC_TAGVAR(always_export_symbols, $1)=yes + # Exported symbols can be pulled into shared objects from archives + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)=' ' + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes + # This is similar to how AIX traditionally builds it's shared libraries. + _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $compiler_flags $libobjs $deplibs ${wl}-bE:$export_symbols ${wl}-bnoentry${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 + _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)=no + _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 $compiler_flags $predep_objects $libobjs $deplibs $postdep_objects -o $output_objdir/$soname ${wl}--image-base=0x10000000 ${wl}--out-implib,$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 $compiler_flags $predep_objects $libobjs $deplibs $postdep_objects -o $output_objdir/$soname ${wl}--image-base=0x10000000 ${wl}--out-implib,$lib' + else + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + + darwin* | rhapsody*) + if test "$GXX" = yes; then + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no + 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_int_apple_cc_single_mod=no + output_verbose_link_cmd='echo' + if $CC -dumpspecs 2>&1 | grep '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 $compiler_flags $libobjs $deplibs -install_name $rpath/$soname $verstring' + else + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -r ${wl}-bind_at_load -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $compiler_flags $deplibs -install_name $rpath/$soname $verstring' + fi + _LT_AC_TAGVAR(module_cmds, $1)='$CC ${wl}-bind_at_load $allow_undefined_flag -o $lib -bundle $compiler_flags $libobjs $deplibs' + + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin ld's + 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 $compiler_flags $libobjs $deplibs -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 ${wl}-bind_at_load -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $compiler_flags $deplibs -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 $compiler_flags $libobjs $deplibs~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + _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)='-all_load $convenience' + _LT_AC_TAGVAR(link_all_deplibs, $1)=yes + else + _LT_AC_TAGVAR(ld_shlibs, $1)=no + 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*) + # 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 $compiler_flags $predep_objects $libobjs $deplibs $postdep_objects~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 $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 $compiler_flags $predep_objects $libobjs $deplibs $postdep_objects~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 + case "$host_cpu" in + hppa*64*) + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='+b $libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + ;; + ia64*) + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + ;; + *) + _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' + ;; + esac + fi + case "$host_cpu" in + hppa*64*) + _LT_AC_TAGVAR(hardcode_direct, $1)=no + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + ia64*) + _LT_AC_TAGVAR(hardcode_direct, $1)=no + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH, + # but as the default + # location of the library. + ;; + *) + _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*|ia64*) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -b +h $soname -o $lib $linker_flags $libobjs $deplibs' + ;; + *) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $compiler_flags $predep_objects $libobjs $deplibs $postdep_objects' + ;; + 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 + ia64*|hppa*64*) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -b +h $soname -o $lib $linker_flags $libobjs $deplibs' + ;; + *) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $compiler_flags $predep_objects $libobjs $deplibs $postdep_objects' + ;; + esac + fi + else + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + esac + ;; + irix5* | irix6*) + case $cc_basename in + CC) + # SGI C++ + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -all -multigot $compiler_flags $predep_objects $libobjs $deplibs $postdep_objects -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${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 $compiler_flags $predep_objects $libobjs $deplibs $postdep_objects ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${objdir}/so_locations -o $lib' + else + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $compiler_flags $predep_objects $libobjs $deplibs $postdep_objects ${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*) + 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 $compiler_flags $predep_objects $libobjs $deplibs $postdep_objects --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 $compiler_flags $predep_objects $libobjs $deplibs $postdep_objects --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 + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $compiler_flags $predep_objects $libobjs $deplibs $postdep_objects ${wl}-soname $wl$soname -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $compiler_flags $predep_objects $libobjs $deplibs $postdep_objects ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + _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' + ;; + cxx) + # Compaq C++ + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $compiler_flags $predep_objects $libobjs $deplibs $postdep_objects ${wl}-soname $wl$soname -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $compiler_flags $predep_objects $libobjs $deplibs $postdep_objects ${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' + ;; + 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::"' + ;; + 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 $compiler_flags $predep_objects $libobjs $deplibs $postdep_objects --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} $compiler_flags $predep_objects $libobjs $deplibs $postdep_objects ${wl}-soname $soname `test -n "$verstring" && echo ${wl}-set_version $verstring` -update_registry ${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} $compiler_flags $predep_objects $libobjs $deplibs $postdep_objects ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${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 $compiler_flags $predep_objects $libobjs $deplibs $postdep_objects --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} $compiler_flags $predep_objects $libobjs $deplibs $postdep_objects -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${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 $compiler_flags $predep_objects $libobjs $deplibs $postdep_objects -msym -soname $soname -Wl,-input -Wl,$lib.exp `test -n "$verstring" && echo -set_version $verstring` -update_registry $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} $compiler_flags $predep_objects $libobjs $deplibs $postdep_objects ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${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 + ;; + sco*) + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no + case $cc_basename in + CC) + # 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 + ;; + 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(no_undefined_flag, $1)=' -zdefs' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -nolib -h$soname -o $lib $compiler_flags $predep_objects $libobjs $deplibs $postdep_objects' + _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} -nolib ${wl}-M ${wl}$lib.exp -h$soname -o $lib $compiler_flags $predep_objects $libobjs $deplibs $postdep_objects~$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 C++ compiler is used as linker so we must use $wl + # flag to pass the commands to the underlying system + # linker. + # Supported since Solaris 2.6 (maybe 2.5.1?) + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' + ;; + esac + _LT_AC_TAGVAR(link_all_deplibs, $1)=yes + + # 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 -G $CFLAGS -v conftest.$objext 2>&1 | grep "\-[[LR]]"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + + # 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 $compiler_flags $predep_objects $libobjs $deplibs $postdep_objects ${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 $compiler_flags $predep_objects $libobjs $deplibs $postdep_objects ${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 $compiler_flags $predep_objects $libobjs $deplibs $postdep_objects~$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 $compiler_flags $predep_objects $libobjs $deplibs $postdep_objects ${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 $compiler_flags $predep_objects $libobjs $deplibs $postdep_objects~$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' + fi + ;; + esac + ;; + sysv5OpenUNIX8* | sysv5UnixWare7* | sysv5uw[[78]]* | unixware7*) + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no + ;; + 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" + +## 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... +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_SYS_LIB_STRIP +AC_LIBTOOL_DLOPEN_SELF($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 < conftest.$ac_ext < conftest.$ac_ext < conftest.$ac_ext <> "$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 +# Free Software Foundation, Inc. +# +# This file is part of GNU Libtool: +# Originally by Gordon Matzigkeit , 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, 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 s/^X//" + +# The HP-UX ksh and POSIX shell print the target directory to stdout +# if CDPATH is set. +if test "X\${CDPATH+set}" = Xset; then CDPATH=:; export CDPATH; fi + +# 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 + +# 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 + +# 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=$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='$shrext' + +# 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_AC_TAGVAR(fix_srcfile_path, $1)" + +# 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. + test -f Makefile && make "$ltmain" +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([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 the above into a raw symbol and a C symbol. +symxfrm='\1 \2\3 \3' + +# 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'" + ;; +irix* | nonstopux*) + symcode='[[BCDEGRST]]' + ;; +osf*) + symcode='[[BCDEGQRST]]' + ;; +solaris* | sysv5*) + symcode='[[BDT]]' + ;; +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='[[ABCDGISTW]]' ;; +esac + +# Try without a prefix undercore, then with it. +for ac_symprfx in "" "_"; do + + # 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 < $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 < 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 <> 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* | cygwin* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) + # PIC is the default for these OSes. + ;; + mingw* | 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). + _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)= + ;; + 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 + ;; + 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*) + # 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)="${ac_cv_prog_cc_wl}-a ${ac_cv_prog_cc_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)="${ac_cv_prog_cc_wl}-a ${ac_cv_prog_cc_wl}archive" + case "$host_cpu" in + hppa*64*|ia64*) + # +Z the default + ;; + *) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='+Z' + ;; + esac + ;; + *) + ;; + esac + ;; + 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*) + 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) + # 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' + ;; + 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' + ;; + *) + ;; + 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*) + ;; + sco*) + case $cc_basename in + CC) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + ;; + *) + ;; + esac + ;; + 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 + ;; + unixware*) + ;; + 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* | cygwin* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) + # PIC is the default for these OSes. + ;; + + mingw* | 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' + ;; + + 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' + ;; + + 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 + ;; + + mingw* | 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*) + case $CC 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' + ;; + 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' + ;; + 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' + ;; + + sco3.2v5*) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-Kpic' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-dn' + ;; + + solaris*) + _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' + ;; + + 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* | sysv5*) + _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 + ;; + + 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 +]) + + +# AC_LIBTOOL_PROG_LD_SHLIBS([TAGNAME]) +# ------------------------------------ +# See if the linker supports building shared libraries. +AC_DEFUN([AC_LIBTOOL_PROG_LD_SHLIBS], +[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 '\''/^[[BCDGS]] /s/.* \([[^ ]]*\)/\1 DATA/'\'' | $SED -e '\''/^[[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= + + 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 + ;; + 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}' + + # 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 <&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 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 says some releases of gcc + # support --undefined. This deserves some investigation. FIXME + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -nostart $compiler_flags $libobjs $deplibs ${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)=no + _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 '\''/^[[BCDGS]] /s/.* \([[^ ]]*\)/\1 DATA/'\'' | $SED -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 $compiler_flags $libobjs $deplibs -o $output_objdir/$soname ${wl}--image-base=0x10000000 ${wl}--out-implib,$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 $compiler_flags $libobjs $deplibs -o $output_objdir/$soname ${wl}--image-base=0x10000000 ${wl}--out-implib,$lib' + else + ld_shlibs=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 $compiler_flags $libobjs $deplibs ${wl}-soname $wl$soname -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $compiler_flags $libobjs $deplibs ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + fi + ;; + + solaris* | sysv5*) + if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then + _LT_AC_TAGVAR(ld_shlibs, $1)=no + cat <&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 $compiler_flags $libobjs $deplibs ${wl}-soname $wl$soname -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $compiler_flags $libobjs $deplibs ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + else + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + + 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 $compiler_flags $libobjs $deplibs ${wl}-soname $wl$soname -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $compiler_flags $libobjs $deplibs ${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)" = yes; then + 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 + 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 "$link_static_flag"; 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 + + # KDE requires run time linking. Make it the default. + aix_use_runtimelinking=yes + 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 + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + 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' + 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='-qmkshrobj ${wl}-G' + else + shared_flag='-qmkshrobj' + fi + fi + fi + + # Let the compiler handle the export list. + _LT_AC_TAGVAR(always_export_symbols, $1)=no + 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_cmds, $1)="\$CC"' -o $output_objdir/$soname $compiler_flags $libobjs $deplibs `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '" $shared_flag" + _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC"' -o $output_objdir/$soname $compiler_flags $libobjs $deplibs `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 $compiler_flags $libobjs $deplibs ${wl}${allow_undefined_flag} '"\${wl}$no_entry_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' + # -bexpall does not export symbols beginning with underscore (_) + _LT_AC_TAGVAR(always_export_symbols, $1)=yes + # Exported symbols can be pulled into shared objects from archives + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)=' ' + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes + # This is similar to how AIX traditionally builds it's shared libraries. + _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $compiler_flags $libobjs $deplibs ${wl}-bE:$export_symbols ${wl}-bnoentry${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 + ;; + + bsdi4*) + _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)=no + # Tell ltmain to make .lib files, not .a files. + libext=lib + # Tell ltmain to make .dll files, not .so files. + shrext=".dll" + # FIXME: Setting linknames here is a bad hack. + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -o $lib $compiler_flags $libobjs `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' + fix_srcfile_path='`cygpath -w "$srcfile"`' + _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=yes + ;; + + darwin* | rhapsody*) + if test "$GXX" = yes ; then + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no + 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_int_apple_cc_single_mod=no + output_verbose_link_cmd='echo' + if $CC -dumpspecs 2>&1 | grep '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 $compiler_flags $libobjs $deplibs -install_name $rpath/$soname $verstring' + else + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -r ${wl}-bind_at_load -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $compiler_flags $deplibs -install_name $rpath/$soname $verstring' + fi + _LT_AC_TAGVAR(module_cmds, $1)='$CC ${wl}-bind_at_load $allow_undefined_flag -o $lib -bundle $compiler_flags $libobjs $deplibs' + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin ld's + 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 $compiler_flags $libobjs $deplibs -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 ${wl}-bind_at_load -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $compiler_flags $deplibs -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 $compiler_flags $libobjs $deplibs~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + _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)='-all_load $convenience' + _LT_AC_TAGVAR(link_all_deplibs, $1)=yes + else + _LT_AC_TAGVAR(ld_shlibs, $1)=no + 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*) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -o $lib $compiler_flags $libobjs $deplibs' + _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 $compiler_flags $libobjs $deplibs~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* | hpux11*) + if test "$GCC" = yes -a "$with_gnu_ld" = no; then + case "$host_cpu" in + hppa*64*|ia64*) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname -o $lib $compiler_flags $libobjs $deplibs' + ;; + *) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $compiler_flags $libobjs $deplibs' + ;; + esac + else + case "$host_cpu" in + hppa*64*|ia64*) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -b +h $soname -o $lib $libobjs $deplibs $linker_flags' + ;; + *) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' + ;; + esac + fi + if test "$with_gnu_ld" = no; then + case "$host_cpu" in + hppa*64*) + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='+b $libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + _LT_AC_TAGVAR(hardcode_direct, $1)=no + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + ia64*) + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_AC_TAGVAR(hardcode_direct, $1)=no + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + + # 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(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 + ;; + esac + fi + ;; + + irix5* | irix6* | nonstopux*) + if test "$GCC" = yes; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $compiler_flags $libobjs $deplibs ${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*) + _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 $compiler_flags $libobjs $deplibs' + _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 $compiler_flags $libobjs $deplibs' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' + ;; + esac + 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 $compiler_flags $libobjs $deplibs$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} $compiler_flags $libobjs $deplibs ${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} $compiler_flags $libobjs $deplibs ${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 ${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)=: + ;; + + sco3.2v5*) + _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)='${wl}-Bexport' + runpath_var=LD_RUN_PATH + hardcode_runpath_var=yes + ;; + + solaris*) + _LT_AC_TAGVAR(no_undefined_flag, $1)=' -z text' + if test "$GCC" = yes; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h ${wl}$soname -o $lib $compiler_flags $libobjs $deplibs' + _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 $compiler_flags $libobjs $deplibs~$rm $lib.exp' + else + _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]].*) ;; + *) # 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 + ;; + + 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 $compiler_flags $libobjs $deplibs' + 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.2uw2*) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_minus_L, $1)=no + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + hardcode_runpath_var=yes + runpath_var=LD_RUN_PATH + ;; + + sysv5OpenUNIX8* | sysv5UnixWare7* | sysv5uw[[78]]* | unixware7*) + _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z ${wl}text' + if test "$GCC" = yes; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h ${wl}$soname -o $lib $compiler_flags $libobjs $deplibs' + else + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h ${wl}$soname -o $lib $compiler_flags $libobjs $deplibs' + fi + runpath_var='LD_RUN_PATH' + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + sysv5*) + _LT_AC_TAGVAR(no_undefined_flag, $1)=' -z text' + # $CC -shared without GNU ld will not create a library from C++ + # object files and a static libstdc++, better avoid it by now + _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' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)= + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + runpath_var='LD_RUN_PATH' + ;; + + 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 + +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 + +# +# 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* + printf "$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) + 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 +# #undef WIN32_LEAN_AND_MEAN +# #include +# +# #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 +# 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) +]) + +############################################################ +# 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 +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 && break + 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_MSG_RESULT([$SED]) +]) +## -*- autoconf -*- +dnl This file was created by Joachim Ansorg +dnl It provides macord for the autoconf package to find the Sword library on your system. + +dnl ---------------------------------------------------------------------- +dnl Check wheter to use static linking +dnl first parameter is the required version +dnl second is whether to use static sword library +dnl ---------------------------------------------------------------------- +AC_DEFUN(AC_CHECK_SWORD, +[ +dnl AC_MSG_CHECKING([for a Sword installation]) + +dnl The option for the configure script +AC_ARG_WITH(sword-dir, +[ --with-sword-dir=DIR Path where Sword is being installed (default=/usr) ], +[ + ac_sword_dir=$withval +],ac_sword_dir=/usr +) + +AC_ARG_ENABLE(static-sword, +[ --enable-static-sword Link to the static Sword library], + ac_static_sword="YES", + [ ac_static_sword="$2" ] +) + +dnl try to find Sword library files +AC_MSG_CHECKING([for Sword library files]) +AC_REQUIRE([AC_FIND_ZLIB]) +ac_sword_library_dirs="$ac_sword_dir/lib $exec_prefix/lib $prefix/lib /usr/lib /usr/lib64 /usr/lib/sword /usr/local/lib /usr/local/lib/sword /usr/local/sword/lib" + +if test "x$ac_static_sword" = "xYES"; then + SEARCH_LIBS="libsword.a"; +else + SEARCH_LIBS="libsword.so libsword.so.3 libsword.so.4 libsword.a"; +fi + + +AC_CACHE_VAL(ac_cv_sword_libdir, AC_FIND_FILE($SEARCH_LIBS, $ac_sword_library_dirs, ac_cv_sword_libdir)) + +if test "x$ac_cv_sword_libdir" = "xNO"; then + AC_MSG_ERROR(SWORD library not found. Try to use configure with --with-sword-dir=/your/SWORD/path!); +fi + +if test "x$ac_static_sword" = "xYES"; then + LIB_SWORD="$ac_cv_sword_libdir/libsword.a"; +else + LIB_SWORD="-lsword"; +fi + +AC_SUBST(SWORD_LIBRARY_PATH) +AC_SUBST(LIB_SWORD) +all_libraries="$all_libraries -L$ac_cv_sword_libdir" + +if test "x$ac_static_sword" = "xYES"; then + MESSAGE="static library $ac_cv_sword_libdir/libsword.a"; +else + MESSAGE="$ac_cv_sword_libdir"; +fi +AC_MSG_RESULT([$MESSAGE]) + +dnl -- try to find Swords include files -- +AC_MSG_CHECKING([for Sword include files]) +ac_sword_include_dirs="$ac_sword_dir/include/sword $ac_sword_dir/include $exec_prefix/include $prefix/include /usr/include/sword /usr/include /usr/local/include/sword /usr/local/include /usr/local/sword/include /usr/local/sword/include/sword" + +AC_CACHE_VAL(ac_cv_sword_incdir, AC_FIND_FILE(swmgr.h, $ac_sword_include_dirs, ac_cv_sword_incdir)) + +if test "x$ac_cv_sword_incdir" = "xNO"; then + AC_MSG_ERROR([The Sword include file files were not found. +Please try to use configure with --with-sword-dir=/your/SWORD/path ! +]) +fi + +SWORD_INCLUDES="-I$ac_cv_sword_incdir" +AC_SUBST(SWORD_INCLUDES) +all_includes="$all_includes -I$ac_cv_sword_incdir" + +AC_MSG_RESULT([$ac_cv_sword_incdir]) + + + +dnl -- Sword version tests -- +dnl First test for installed Sword version +dnl Then check if it's recent enough + +AC_MSG_CHECKING([for installed Sword version]) + +AC_CACHE_VAL(ac_cv_installed_sword_version, +[ +AC_LANG_SAVE +AC_LANG_CPLUSPLUS +ac_LD_LIBRARY_PATH_safe=$LD_LIBRARY_PATH +ac_LIBRARY_PATH="$LIBRARY_PATH" +ac_cxxflags_safe="$CXXFLAGS" +ac_ldflags_safe="$LDFLAGS" +ac_libs_safe="$LIBS" + +CXXFLAGS="$CXXFLAGS -I$" +LDFLAGS="$LDFLAGS -L$ac_cv_sword_libdir" +LIBS="$LIB_SWORD -lz" +LD_LIBRARY_PATH="$ac_cv_sword_libdir" +export LD_LIBRARY_PATH +LIBRARY_PATH= +export LIBRARY_PATH + +cat > conftest.$ac_ext < +#include + +#ifdef SWORD_NAMESPACE_START +using namespace sword; +#endif + +int main(int argc, char** argv) { + std::cout << SWVersion::currentVersion << std::endl; + return 0; +} +EOF + + +ac_link='$LIBTOOL_SHELL --silent --mode=link ${CXX-g++} -o conftest $CXXFLAGS $all_includes $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5' +if AC_TRY_EVAL(ac_link) && test -s conftest; then + if test -x conftest; then + eval ac_cv_installed_sword_version=`./conftest 2>&5` + fi +else + echo "configure: failed program was:" >&AC_FD_CC + AC_MSG_ERROR([Failed to compile the test program to check the Sword version! Please have a look at config.log! Report this to the BibleTime developers!]); + cat conftest.$ac_ext >&AC_FD_CC +fi + +rm -f conftest* +CXXFLAGS="$ac_cxxflags_safe" +LDFLAGS="$ac_ldflags_safe" +LIBS="$ac_libs_safe" + +LD_LIBRARY_PATH="$ac_LD_LIBRARY_PATH_safe" +export LD_LIBRARY_PATH +LIBRARY_PATH="$ac_LIBRARY_PATH" +export LIBRARY_PATH +AC_LANG_RESTORE +]) +AC_MSG_RESULT([$ac_cv_installed_sword_version]) + + + + +dnl *** Now check if the installed version is recent enough +AC_MSG_CHECKING([whether your Sword installation is recent enough]) + +AC_CACHE_VAL(ac_cv_sword_recent_version, +[ +AC_LANG_SAVE +AC_LANG_CPLUSPLUS +ac_LD_LIBRARY_PATH_safe=$LD_LIBRARY_PATH +ac_LIBRARY_PATH="$LIBRARY_PATH" +ac_cxxflags_safe="$CXXFLAGS" +ac_ldflags_safe="$LDFLAGS" +ac_libs_safe="$LIBS" + +CXXFLAGS="$CXXFLAGS -I$" +LDFLAGS="$LDFLAGS -L$ac_cv_sword_libdir" +LIBS="$LIB_SWORD -lz" +LD_LIBRARY_PATH="$ac_cv_sword_libdir" +export LD_LIBRARY_PATH +LIBRARY_PATH= +export LIBRARY_PATH + +cat > conftest.$ac_ext < +#include + +#ifdef SWORD_NAMESPACE_START +using namespace sword; +#endif + + +int main(int argc, char** argv) { + if (argc == 2) { //compare required with installed Sword version + const char* requiredVersion( argv[[1]] ); + if ( (SWVersion( requiredVersion ) < SWVersion::currentVersion) || (SWVersion( requiredVersion ) == SWVersion::currentVersion) ) { + std::cout << "ok"; + return -1; + } + else { + std::cout << "not-ok"; + return -2; //version not recent enough + } + } + return 0; +} +EOF + +ac_link='$LIBTOOL_SHELL --silent --mode=link ${CXX-g++} -o conftest $CXXFLAGS $all_includes $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5' +if AC_TRY_EVAL(ac_link) && test -s conftest; then + if test -x conftest; then + eval ac_cv_sword_recent_version=`./conftest $1 2>&5` + fi +else + echo "configure: failed program was:" >&AC_FD_CC + AC_MSG_ERROR([Failed to compile the test program to check the Sword version! Please have a look at config.log! Report this to the BibleTime developers!]); + cat conftest.$ac_ext >&AC_FD_CC +fi; + +rm -f conftest* +CXXFLAGS="$ac_cxxflags_safe" +LDFLAGS="$ac_ldflags_safe" +LIBS="$ac_libs_safe" + +LD_LIBRARY_PATH="$ac_LD_LIBRARY_PATH_safe" +export LD_LIBRARY_PATH +LIBRARY_PATH="$ac_LIBRARY_PATH" +export LIBRARY_PATH +AC_LANG_RESTORE +]) + +if test "x$ac_cv_sword_recent_version" = "xok"; then + AC_MSG_RESULT([yes]); +elif test "x$ac_cv_sword_recent_version" = "xnot-ok"; then + AC_MSG_RESULT([no]); + AC_MSG_ERROR([Your Sword installation is not recent enought! Please upgrade to version $1! Get the Sword library at www.crosswire.org.]); +else + AC_MSG_ERROR([Invalid return code of the internal Sword version test program. Please submit a bugreport!]); +fi; + +]) +## -*- autoconf -*- + +dnl ------------------------------------------------------------------------------- +dnl Check wheter to use static linking, first parameter is the result (YES/NO) +dnl ------------------------------------------------------------------------------- +AC_DEFUN(AC_CHECK_STATIC_LINKING, +[ +$1="NO" + +AC_MSG_CHECKING(whether to use static linking) +AC_ARG_ENABLE(static-linking, + [ --enable-static-linking use static linking], + USE_STATIC_LINKING=$enableval, USE_STATIC_LINKING="no") + +if test "$USE_STATIC_LINKING" = "yes"; then + BT_LDFLAGS="-all-static -Wl,-Bstatic"; + AC_SUBST(BT_LDFLAGS) + CPPFLAGS="-DSTATIC_BUILD $CPPFLAGS"; + $1="YES"; +else + $1="NO"; +fi + +AC_MSG_RESULT($USE_STATIC_LINKING) +]) + +dnl ------------------------------------------------------------------------------- +dnl Checks the type of the distribution +dnl Possible names for the distributions are SuSE, RedHat, Mandrake +dnl ------------------------------------------------------------------------------- +AC_DEFUN(AC_CHECK_DISTRIBUTION, +[ +AC_MSG_CHECKING([for the used Linux distribution]) + +AC_ARG_WITH(distribution, +[ --with-distribution=TYPE The name of your *NIX distribution, e.g. SuSE [auto] ], +[ + ac_distribution=$withval +],ac_distribution=auto +) + +AC_ARG_WITH(distribution-version, +[ --with-distribution-version=VERSION Version of your *NIX distribution, e.g. 7.2 [auto] ], +[ + ac_distribution_version=$withval +],ac_distribution_version=auto +) + +AC_ARG_WITH(rpm-prefix, +[ --with-rpm-prefix=DIR The directory which should be used as PREFIX + in the RPM spec file [auto] ], +[ + ac_rpm_prefix=$withval +],ac_rpm_prefix=auto +) + +AC_ARG_WITH(rpm-group, +[ --with-rpm-group=DIR The group which will be used for the RPM system [auto] ], +[ + ac_rpm_group=$withval +],ac_rpm_group=auto +) + +if test "$ac_distribution" != "auto"; then + DISTRIBUTION=[$ac_distribution] +fi + +if test "$ac_distribution" = "auto"; then +AC_CACHE_VAL(DISTRIBUTION, [ +if test -f "/etc/SuSE-release"; then + DISTRIBUTION="SuSE" +elif test -f "/etc/mandrake-release"; then + DISTRIBUTION="Mandrake" +elif test -f "/etc/redhat-release"; then + DISTRIBUTION="Red Hat" +elif test -f "/etc/debian_version"; then + DISTRIBUTION="Debian" +fi +]) +fi + +if test "$ac_distribution_version" != "auto"; then + DISTRIBUTION_VERSION=[$ac_distribution_version] +fi +if test "$ac_distribution_version" = "auto"; then +AC_CACHE_VAL(DISTRIBUTION_VERSION, [ +if test -f "/etc/SuSE-release" && test "$DISTRIBUTION" = "SuSE"; then + DISTRIBUTION_VERSION=[`grep "VERSION =" /etc/SuSE-release | sed 's/VERSION = //'`]; +elif test -f "/etc/mandrake-release" && test "$DISTRIBUTION" = "Mandrake"; then + DISTRIBUTION_VERSION=[`grep "Mandrake" /etc/mandrake-release | sed 's/[a-zA-Z()]*//g' | awk '{print $1}'`] +elif test -f "/etc/redhat-release" && test "$DISTRIBUTION" = "Red Hat"; then + DISTRIBUTION_VERSION=[`grep "Red Hat" /etc/redhat-release | sed 's/[a-zA-Z()]*//g' | awk '{print $1}'`] +elif test -f "/etc/debian_version" && test "$DISTRIBUTION" = "Debian"; then + DISTRIBUTION_VERSION=[`cat /etc/debian_version`] +fi +]) +fi + + +if test "$ac_rpm_prefix" != "auto"; then + RPM_PREFIX=[$ac_rpm_prefix] +fi +if test "$ac_rpm_prefix" = "auto"; then +AC_CACHE_VAL(RPM_PREFIX, [ +if test "$DISTRIBUTION" = "SuSE"; then + RPM_PREFIX="/opt/kde3" +elif test "$DISTRIBUTION" = "Mandrake"; then + RPM_PREFIX="/usr" +elif test "$DISTRIBUTION" = "Red Hat"; then + RPM_PREFIX="/usr" +elif test "$DISTRIBUTION" = "Debian"; then + RPM_PREFIX="/usr" +fi +]) +fi + +if test "$ac_rpm_group" != "auto"; then + RPM_GROUP=[$ac_rpm_group] +fi +if test "$ac_rpm_prefix" = "auto"; then +AC_CACHE_VAL(RPM_GROUP, +[ +if test "$DISTRIBUTION" = "SuSE"; then + RPM_GROUP="X11/KDE/Applications" +elif test "$DISTRIBUTION" = "Mandrake"; then + RPM_GROUP="Graphical desktop/KDE" +elif test "$DISTRIBUTION" = "Red Hat"; then + RPM_GROUP="Graphical desktop/KDE" +elif test "$DISTRIBUTION" = "Debian"; then + RPM_GROUP="Graphical desktop/KDE" +fi +]) +fi + +if test -n "$DISTRIBUTION" && test "$DISTRIBUTION" != "unknown"; then + AC_DEFINE_UNQUOTED(DISTRIBUTION, ${DISTRIBUTION}, [The type of your distribution]) +fi + +if test -n "$DISTRIBUTION_VERSION" && test "$DISTRIBUTION_VERSION" != "unknown"; then + AC_DEFINE_UNQUOTED(DISTRIBUTION_VERSION, ${DISTRIBUTION_VERSION}, [The version of your distribution]) +fi + +AC_SUBST(DISTRIBUTION) +AC_SUBST(DISTRIBUTION_VERSION) +AC_SUBST(RPM_PREFIX) +AC_SUBST(RPM_GROUP) + +AC_MSG_RESULT([$DISTRIBUTION $DISTRIBUTION_VERSION]) + +AC_MSG_CHECKING([for RPM installation prefix]) +AC_MSG_RESULT([$RPM_PREFIX]) + +AC_MSG_CHECKING([for the correct RPM group]) +AC_MSG_RESULT([$RPM_GROUP]) +]) + + + + +dnl MY_CURL +dnl ------- +dnl set my_cv_curl_vers to the version of libcurl or NONE +dnl if libcurl is not found or is too old +dnl This function comes from cURL's webpage + +AC_DEFUN(AC_CHECK_CURL,[ + AC_CACHE_VAL(my_cv_curl_vers,[ + my_cv_curl_vers=NONE + dnl check is the plain-text version of the required version + check="7.9" + dnl check_hex must be UPPERCASE if any hex letters are present + check_hex="070900" + + AC_MSG_CHECKING([for curl >= $check]) + + if eval curl-config --version 2>/dev/null >/dev/null; then + ver=`curl-config --version | sed -e "s/libcurl //g"` + hex_ver=`curl-config --vernum | tr 'a-f' 'A-F'` + ok=`echo "ibase=16; if($hex_ver>=$check_hex) $hex_ver else 0" | bc` + + if test x$ok != x0; then + my_cv_curl_vers="$ver" + AC_MSG_RESULT([$my_cv_curl_vers]) + else + AC_MSG_RESULT(FAILED) + AC_MSG_ERROR([$ver is too old. Please install libcurl version $check or higher.]); + fi + else + AC_MSG_RESULT(FAILED) + AC_MSG_ERROR([curl-config was not found. Please install libcurl version $check or higher.]) + fi + ]) +]) +## -*- autoconf -*- +dnl This file was created by Lee Carpenter +dnl Later modified by Martin Gruner +dnl It provides macros for the autoconf package to find the CLucene library on your system. + +dnl ---------------------------------------------------------------------- +dnl Check for clucene installation +dnl First argument specifies whether or not to link +dnl CLucene statically +dnl ---------------------------------------------------------------------- +AC_DEFUN(AC_CHECK_CLUCENE, +[ +dnl AC_MSG_CHECKING([for a clucene installation]) + +dnl The option for the configure script +AC_ARG_WITH(clucene-dir, +[ --with-clucene-dir=DIR Path where CLucene is installed (default=/usr) ], +[ + ac_clucene_dir=$withval +],ac_clucene_dir=/usr +) + +AC_ARG_ENABLE(static-clucene, +[ --enable-static-clucene Link to the static CLucene library], + ac_static_clucene="YES", + [ ac_static_clucene="$1" ] +) + +dnl try to find CLucene library files +AC_MSG_CHECKING([for CLucene library files]) +ac_clucene_library_dirs="$ac_clucene_dir/lib $exec_prefix/lib $prefix/lib /usr/lib /usr/lib64 /usr/local/lib" + +if test "x$ac_static_clucene" = "xYES"; then + SEARCH_LIBS="libclucene.a"; +else + SEARCH_LIBS="libclucene.so libclucene.so.0 libclucene.so.0.0.0 libcluene.a"; +fi + + +AC_CACHE_VAL(ac_cv_clucene_libdir, AC_FIND_FILE($SEARCH_LIBS, $ac_clucene_library_dirs, ac_cv_clucene_libdir)) + +if test "x$ac_cv_clucene_libdir" = "xNO"; then + AC_MSG_ERROR(CLucene library not found. Try to use configure with --with-clucene-dir=/path/to/clucene); +fi + +if test "x$ac_static_clucene" = "xYES"; then + LIB_CLUCENE="$ac_cv_clucene_libdir/libclucene.a"; +else + LIB_CLUCENE="-lclucene"; +fi + +AC_SUBST(CLUCENE_LIBRARY_PATH) +AC_SUBST(LIB_CLUCENE) +all_libraries="$all_libraries -L$ac_cv_clucene_libdir" + +if test "x$ac_static_clucene" = "xYES"; then + MESSAGE="static library $ac_cv_clucene_libdir/libclucene.a"; +else + MESSAGE="$ac_cv_clucene_libdir"; +fi +AC_MSG_RESULT([$MESSAGE]) + +dnl -- try to find CLucene include files -- +AC_MSG_CHECKING([for Clucene include files]) +ac_clucene_include_dirs="$ac_clucene_dir/include $exec_prefix/include $prefix/include /usr/include /usr/local/include" + +AC_CACHE_VAL(ac_cv_clucene_incdir, AC_FIND_FILE(CLucene.h, $ac_clucene_include_dirs, ac_cv_clucene_incdir)) + +if test "x$ac_cv_clucene_incdir" = "xNO"; then + AC_MSG_ERROR([The CLucene include file files were not found. +Please try to use configure with --with-clucene-dir=/path/to/clucene +]) +fi + +CLUCENE_INCLUDES="-I$ac_cv_clucene_incdir" +AC_SUBST(CLUCENE_INCLUDES) +all_includes="$all_includes -I$ac_cv_clucene_incdir -I$ac_cv_clucene_libdir -I$ac_cv_sword_incdir" #$ac_cv_clucene_libdir needed for Clucene/clucene-config.h + +AC_MSG_RESULT([$ac_cv_clucene_incdir]) + + + +dnl -- CLucene installed test -- + +AC_MSG_CHECKING([for CLucene version]) + +AC_CACHE_VAL(ac_cv_installed_clucene_version, +[ +AC_LANG_SAVE +AC_LANG_CPLUSPLUS +ac_LD_LIBRARY_PATH_safe=$LD_LIBRARY_PATH +ac_LIBRARY_PATH="$LIBRARY_PATH" +ac_cxxflags_safe="$CXXFLAGS" +ac_ldflags_safe="$LDFLAGS" +ac_libs_safe="$LIBS" + +CXXFLAGS="$CXXFLAGS -I$" +LDFLAGS="$LDFLAGS -L$ac_cv_clucene_libdir -L$ac_cv_sword_libdir" +LIBS="$LIB_CLUCENE -lz -lsword" +LD_LIBRARY_PATH="$ac_cv_clucene_libdir" +export LD_LIBRARY_PATH +LIBRARY_PATH= +export LIBRARY_PATH + +cat > conftest.$ac_ext < +#include +#include + +int main(int argc, char* argv[[]]) { + if ( sword::SWVersion( _CL_VERSION ) >= sword::SWVersion( "0.9.16" ) ){ + std::cout << "ok"; + } + else{ + std::cout << "not-ok"; + } + return 0; +} +EOF + + +ac_link='$LIBTOOL_SHELL --silent --mode=link ${CXX-g++} -o conftest $CXXFLAGS $all_includes $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5' +if AC_TRY_EVAL(ac_link) && test -s conftest; then + if test -x conftest; then + eval ac_cv_installed_clucene_version=`./conftest 2>&5` + fi +else + echo "configure: failed program was:" >&AC_FD_CC + AC_MSG_ERROR([Failed to compile the test program to check the CLucene version! Please have a look at config.log! Report this to the BibleTime developers!]); + cat conftest.$ac_ext >&AC_FD_CC +fi + +rm -f conftest* +CXXFLAGS="$ac_cxxflags_safe" +LDFLAGS="$ac_ldflags_safe" +LIBS="$ac_libs_safe" + +LD_LIBRARY_PATH="$ac_LD_LIBRARY_PATH_safe" +export LD_LIBRARY_PATH +LIBRARY_PATH="$ac_LIBRARY_PATH" +export LIBRARY_PATH +AC_LANG_RESTORE +]) + +if test "x$ac_cv_installed_clucene_version" = "xok"; then + AC_MSG_RESULT([ok, version is recent enough]); +elif test "x$ac_cv_installed_clucene_version" = "xnot-ok"; then + AC_MSG_RESULT([installed]); + AC_MSG_ERROR([Your CLucene version is not recent enough! Please upgrade to version >= 0.9.16!]); +fi; + +]) + diff --git a/aclocal.m4 b/aclocal.m4 new file mode 100644 index 0000000..2f1ca33 --- /dev/null +++ b/aclocal.m4 @@ -0,0 +1,910 @@ +# generated automatically by aclocal 1.10.1 -*- Autoconf -*- + +# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, +# 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. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +m4_ifndef([AC_AUTOCONF_VERSION], + [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl +m4_if(AC_AUTOCONF_VERSION, [2.61],, +[m4_warning([this file was generated for autoconf 2.61. +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'.])]) + +# Copyright (C) 2002, 2003, 2005, 2006, 2007 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# AM_AUTOMAKE_VERSION(VERSION) +# ---------------------------- +# Automake X.Y traces this macro to ensure aclocal.m4 has been +# generated from the m4 files accompanying Automake X.Y. +# (This private macro should not be called outside this file.) +AC_DEFUN([AM_AUTOMAKE_VERSION], +[am__api_version='1.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.1], [], + [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl +]) + +# _AM_AUTOCONF_VERSION(VERSION) +# ----------------------------- +# aclocal traces this macro to find the Autoconf version. +# This is a private macro too. Using m4_define simplifies +# the logic in aclocal, which can simply ignore this definition. +m4_define([_AM_AUTOCONF_VERSION], []) + +# AM_SET_CURRENT_AUTOMAKE_VERSION +# ------------------------------- +# Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced. +# This function is AC_REQUIREd by AC_INIT_AUTOMAKE. +AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION], +[AM_AUTOMAKE_VERSION([1.10.1])dnl +m4_ifndef([AC_AUTOCONF_VERSION], + [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl +_AM_AUTOCONF_VERSION(AC_AUTOCONF_VERSION)]) + +# AM_AUX_DIR_EXPAND -*- Autoconf -*- + +# Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets +# $ac_aux_dir to `$srcdir/foo'. In other projects, it is set to +# `$srcdir', `$srcdir/..', or `$srcdir/../..'. +# +# Of course, Automake must honor this variable whenever it calls a +# tool from the auxiliary directory. The problem is that $srcdir (and +# therefore $ac_aux_dir as well) can be either absolute or relative, +# depending on how configure is run. This is pretty annoying, since +# it makes $ac_aux_dir quite unusable in subdirectories: in the top +# source directory, any form will work fine, but in subdirectories a +# relative path needs to be adjusted first. +# +# $ac_aux_dir/missing +# fails when called from a subdirectory if $ac_aux_dir is relative +# $top_srcdir/$ac_aux_dir/missing +# fails if $ac_aux_dir is absolute, +# fails when called from a subdirectory in a VPATH build with +# a relative $ac_aux_dir +# +# The reason of the latter failure is that $top_srcdir and $ac_aux_dir +# are both prefixed by $srcdir. In an in-source build this is usually +# harmless because $srcdir is `.', but things will broke when you +# start a VPATH build or use an absolute $srcdir. +# +# So we could use something similar to $top_srcdir/$ac_aux_dir/missing, +# iff we strip the leading $srcdir from $ac_aux_dir. That would be: +# am_aux_dir='\$(top_srcdir)/'`expr "$ac_aux_dir" : "$srcdir//*\(.*\)"` +# and then we would define $MISSING as +# MISSING="\${SHELL} $am_aux_dir/missing" +# This will work as long as MISSING is not called from configure, because +# unfortunately $(top_srcdir) has no meaning in configure. +# However there are other variables, like CC, which are often used in +# configure, and could therefore not use this "fixed" $ac_aux_dir. +# +# Another solution, used here, is to always expand $ac_aux_dir to an +# absolute PATH. The drawback is that using absolute paths prevent a +# configured tree to be moved without reconfiguration. + +AC_DEFUN([AM_AUX_DIR_EXPAND], +[dnl Rely on autoconf to set up CDPATH properly. +AC_PREREQ([2.50])dnl +# expand $ac_aux_dir to an absolute path +am_aux_dir=`cd $ac_aux_dir && pwd` +]) + +# AM_CONDITIONAL -*- Autoconf -*- + +# Copyright (C) 1997, 2000, 2001, 2003, 2004, 2005, 2006 +# 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 8 + +# AM_CONDITIONAL(NAME, SHELL-CONDITION) +# ------------------------------------- +# Define a conditional. +AC_DEFUN([AM_CONDITIONAL], +[AC_PREREQ(2.52)dnl + ifelse([$1], [TRUE], [AC_FATAL([$0: invalid condition: $1])], + [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl +AC_SUBST([$1_TRUE])dnl +AC_SUBST([$1_FALSE])dnl +_AM_SUBST_NOTMAKE([$1_TRUE])dnl +_AM_SUBST_NOTMAKE([$1_FALSE])dnl +if $2; then + $1_TRUE= + $1_FALSE='#' +else + $1_TRUE='#' + $1_FALSE= +fi +AC_CONFIG_COMMANDS_PRE( +[if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then + AC_MSG_ERROR([[conditional "$1" was never defined. +Usually this means the macro was only invoked conditionally.]]) +fi])]) + +# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 +# Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# serial 9 + +# There are a few dirty hacks below to avoid letting `AC_PROG_CC' be +# written in clear, in which case automake, when reading aclocal.m4, +# will think it sees a *use*, and therefore will trigger all it's +# C support machinery. Also note that it means that autoscan, seeing +# CC etc. in the Makefile, will ask for an AC_PROG_CC use... + + +# _AM_DEPENDENCIES(NAME) +# ---------------------- +# See how the compiler implements dependency checking. +# NAME is "CC", "CXX", "GCJ", or "OBJC". +# We try a few techniques and use that to set a single cache variable. +# +# We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was +# modified to invoke _AM_DEPENDENCIES(CC); we would have a circular +# dependency, and given that the user is not expected to run this macro, +# just rely on AC_PROG_CC. +AC_DEFUN([_AM_DEPENDENCIES], +[AC_REQUIRE([AM_SET_DEPDIR])dnl +AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl +AC_REQUIRE([AM_MAKE_INCLUDE])dnl +AC_REQUIRE([AM_DEP_TRACK])dnl + +ifelse([$1], CC, [depcc="$CC" am_compiler_list=], + [$1], CXX, [depcc="$CXX" am_compiler_list=], + [$1], OBJC, [depcc="$OBJC" am_compiler_list='gcc3 gcc'], + [$1], UPC, [depcc="$UPC" am_compiler_list=], + [$1], GCJ, [depcc="$GCJ" am_compiler_list='gcc3 gcc'], + [depcc="$$1" am_compiler_list=]) + +AC_CACHE_CHECK([dependency style of $depcc], + [am_cv_$1_dependencies_compiler_type], +[if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then + # We make a subdir and do the tests there. Otherwise we can end up + # making bogus files that we don't know about and never remove. For + # instance it was reported that on HP-UX the gcc test will end up + # making a dummy file named `D' -- because `-MD' means `put the output + # in D'. + mkdir conftest.dir + # Copy depcomp to subdir because otherwise we won't find it if we're + # using a relative directory. + cp "$am_depcomp" conftest.dir + cd conftest.dir + # We will build objects and dependencies in a subdirectory because + # it helps to detect inapplicable dependency modes. For instance + # both Tru64's cc and ICC support -MD to output dependencies as a + # side effect of compilation, but ICC will put the dependencies in + # the current directory while Tru64 will put them in the object + # directory. + mkdir sub + + am_cv_$1_dependencies_compiler_type=none + if test "$am_compiler_list" = ""; then + am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp` + fi + 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_$1_dependencies_compiler_type=$depmode + break + fi + fi + done + + cd .. + rm -rf conftest.dir +else + am_cv_$1_dependencies_compiler_type=none +fi +]) +AC_SUBST([$1DEPMODE], [depmode=$am_cv_$1_dependencies_compiler_type]) +AM_CONDITIONAL([am__fastdep$1], [ + test "x$enable_dependency_tracking" != xno \ + && test "$am_cv_$1_dependencies_compiler_type" = gcc3]) +]) + + +# AM_SET_DEPDIR +# ------------- +# Choose a directory name for dependency files. +# This macro is AC_REQUIREd in _AM_DEPENDENCIES +AC_DEFUN([AM_SET_DEPDIR], +[AC_REQUIRE([AM_SET_LEADING_DOT])dnl +AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl +]) + + +# AM_DEP_TRACK +# ------------ +AC_DEFUN([AM_DEP_TRACK], +[AC_ARG_ENABLE(dependency-tracking, +[ --disable-dependency-tracking speeds up one-time build + --enable-dependency-tracking do not reject slow dependency extractors]) +if test "x$enable_dependency_tracking" != xno; then + am_depcomp="$ac_aux_dir/depcomp" + AMDEPBACKSLASH='\' +fi +AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno]) +AC_SUBST([AMDEPBACKSLASH])dnl +_AM_SUBST_NOTMAKE([AMDEPBACKSLASH])dnl +]) + +# Generate code to set up dependency tracking. -*- Autoconf -*- + +# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005 +# 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 + +# _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 -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then + dirpart=`AS_DIRNAME("$mf")` + else + continue + fi + # Extract the definition of DEPDIR, am__include, and am__quote + # from the Makefile without running `make'. + DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` + test -z "$DEPDIR" && continue + am__include=`sed -n 's/^am__include = //p' < "$mf"` + test -z "am__include" && continue + am__quote=`sed -n 's/^am__quote = //p' < "$mf"` + # When using ansi2knr, U may be empty or an underscore; expand it + U=`sed -n 's/^U = //p' < "$mf"` + # Find all dependency output files, they are included files with + # $(DEPDIR) in their names. We invoke sed twice because it is the + # simplest approach to changing $(DEPDIR) to its actual value in the + # expansion. + for file in `sed -n " + s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \ + sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do + # Make sure the directory exists. + test -f "$dirpart/$file" && continue + fdir=`AS_DIRNAME(["$file"])` + AS_MKDIR_P([$dirpart/$fdir]) + # echo "creating $dirpart/$file" + echo '# dummy' > "$dirpart/$file" + done +done +])# _AM_OUTPUT_DEPENDENCY_COMMANDS + + +# AM_OUTPUT_DEPENDENCY_COMMANDS +# ----------------------------- +# This macro should only be invoked once -- use via AC_REQUIRE. +# +# This code is only required when automatic dependency tracking +# is enabled. FIXME. This creates each `.P' file that we will +# need in order to bootstrap the dependency handling code. +AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS], +[AC_CONFIG_COMMANDS([depfiles], + [test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS], + [AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"]) +]) + +# Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005 +# Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# serial 8 + +# AM_CONFIG_HEADER is obsolete. It has been replaced by AC_CONFIG_HEADERS. +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, 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 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. + +# AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE]) +# AM_INIT_AUTOMAKE([OPTIONS]) +# ----------------------------------------------- +# The call with PACKAGE and VERSION arguments is the old style +# call (pre autoconf-2.50), which is being phased out. PACKAGE +# and VERSION should now be passed to AC_INIT and removed from +# the call to AM_INIT_AUTOMAKE. +# We support both call styles for the transition. After +# the next Automake release, Autoconf can make the AC_INIT +# arguments mandatory, and then we can depend on a new Autoconf +# release and drop the old call support. +AC_DEFUN([AM_INIT_AUTOMAKE], +[AC_PREREQ([2.60])dnl +dnl Autoconf wants to disallow AM_ names. We explicitly allow +dnl the ones we care about. +m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl +AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl +AC_REQUIRE([AC_PROG_INSTALL])dnl +if test "`cd $srcdir && pwd`" != "`pwd`"; then + # Use -I$(srcdir) only when $(srcdir) != ., so that make's output + # is not polluted with repeated "-I." + AC_SUBST([am__isrc], [' -I$(srcdir)'])_AM_SUBST_NOTMAKE([am__isrc])dnl + # test to see if srcdir already configured + if test -f $srcdir/config.status; then + AC_MSG_ERROR([source directory already configured; run "make distclean" there first]) + fi +fi + +# test whether we have cygpath +if test -z "$CYGPATH_W"; then + if (cygpath --version) >/dev/null 2>/dev/null; then + CYGPATH_W='cygpath -w' + else + CYGPATH_W=echo + fi +fi +AC_SUBST([CYGPATH_W]) + +# Define the identity of the package. +dnl Distinguish between old-style and new-style calls. +m4_ifval([$2], +[m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl + AC_SUBST([PACKAGE], [$1])dnl + AC_SUBST([VERSION], [$2])], +[_AM_SET_OPTIONS([$1])dnl +dnl Diagnose old-style AC_INIT with new-style AM_AUTOMAKE_INIT. +m4_if(m4_ifdef([AC_PACKAGE_NAME], 1)m4_ifdef([AC_PACKAGE_VERSION], 1), 11,, + [m4_fatal([AC_INIT should be called with package and version arguments])])dnl + AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl + AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl + +_AM_IF_OPTION([no-define],, +[AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package]) + AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package])])dnl + +# Some tools Automake needs. +AC_REQUIRE([AM_SANITY_CHECK])dnl +AC_REQUIRE([AC_ARG_PROGRAM])dnl +AM_MISSING_PROG(ACLOCAL, aclocal-${am__api_version}) +AM_MISSING_PROG(AUTOCONF, autoconf) +AM_MISSING_PROG(AUTOMAKE, automake-${am__api_version}) +AM_MISSING_PROG(AUTOHEADER, autoheader) +AM_MISSING_PROG(MAKEINFO, makeinfo) +AM_PROG_INSTALL_SH +AM_PROG_INSTALL_STRIP +AC_REQUIRE([AM_PROG_MKDIR_P])dnl +# We need awk for the "check" target. The system "awk" is bad on +# some platforms. +AC_REQUIRE([AC_PROG_AWK])dnl +AC_REQUIRE([AC_PROG_MAKE_SET])dnl +AC_REQUIRE([AM_SET_LEADING_DOT])dnl +_AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])], + [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])], + [_AM_PROG_TAR([v7])])]) +_AM_IF_OPTION([no-dependencies],, +[AC_PROVIDE_IFELSE([AC_PROG_CC], + [_AM_DEPENDENCIES(CC)], + [define([AC_PROG_CC], + defn([AC_PROG_CC])[_AM_DEPENDENCIES(CC)])])dnl +AC_PROVIDE_IFELSE([AC_PROG_CXX], + [_AM_DEPENDENCIES(CXX)], + [define([AC_PROG_CXX], + defn([AC_PROG_CXX])[_AM_DEPENDENCIES(CXX)])])dnl +AC_PROVIDE_IFELSE([AC_PROG_OBJC], + [_AM_DEPENDENCIES(OBJC)], + [define([AC_PROG_OBJC], + defn([AC_PROG_OBJC])[_AM_DEPENDENCIES(OBJC)])])dnl +]) +]) + + +# When config.status generates a header, we must update the stamp-h file. +# This file resides in the same directory as the config header +# that is generated. The stamp files are numbered to have different names. + +# Autoconf calls _AC_AM_CONFIG_HEADER_HOOK (when defined) in the +# loop where config.status creates the headers, so we can generate +# our stamp files there. +AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK], +[# Compute $1's index in $config_headers. +_am_arg=$1 +_am_stamp_count=1 +for _am_header in $config_headers :; do + case $_am_header in + $_am_arg | $_am_arg:* ) + break ;; + * ) + _am_stamp_count=`expr $_am_stamp_count + 1` ;; + esac +done +echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count]) + +# Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# AM_PROG_INSTALL_SH +# ------------------ +# Define $install_sh. +AC_DEFUN([AM_PROG_INSTALL_SH], +[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl +install_sh=${install_sh-"\$(SHELL) $am_aux_dir/install-sh"} +AC_SUBST(install_sh)]) + +# Copyright (C) 2003, 2005 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# serial 2 + +# Check whether the underlying file-system supports filenames +# with a leading dot. For instance MS-DOS doesn't. +AC_DEFUN([AM_SET_LEADING_DOT], +[rm -rf .tst 2>/dev/null +mkdir .tst 2>/dev/null +if test -d .tst; then + am__leading_dot=. +else + am__leading_dot=_ +fi +rmdir .tst 2>/dev/null +AC_SUBST([am__leading_dot])]) + +# Add --enable-maintainer-mode option to configure. -*- Autoconf -*- +# From Jim Meyering + +# Copyright (C) 1996, 1998, 2000, 2001, 2002, 2003, 2004, 2005 +# Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# serial 4 + +AC_DEFUN([AM_MAINTAINER_MODE], +[AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles]) + dnl maintainer-mode is disabled by default + AC_ARG_ENABLE(maintainer-mode, +[ --enable-maintainer-mode enable make rules and dependencies not useful + (and sometimes confusing) to the casual installer], + USE_MAINTAINER_MODE=$enableval, + USE_MAINTAINER_MODE=no) + AC_MSG_RESULT([$USE_MAINTAINER_MODE]) + AM_CONDITIONAL(MAINTAINER_MODE, [test $USE_MAINTAINER_MODE = yes]) + MAINT=$MAINTAINER_MODE_TRUE + AC_SUBST(MAINT)dnl +] +) + +AU_DEFUN([jm_MAINTAINER_MODE], [AM_MAINTAINER_MODE]) + +# Check to see how 'make' treats includes. -*- Autoconf -*- + +# Copyright (C) 2001, 2002, 2003, 2005 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# serial 3 + +# AM_MAKE_INCLUDE() +# ----------------- +# Check to see how make treats includes. +AC_DEFUN([AM_MAKE_INCLUDE], +[am_make=${MAKE-make} +cat > confinc << 'END' +am__doit: + @echo done +.PHONY: am__doit +END +# If we don't find an include directive, just comment out the code. +AC_MSG_CHECKING([for style of include used by $am_make]) +am__include="#" +am__quote= +_am_result=none +# First try GNU make style include. +echo "include confinc" > confmf +# We grep out `Entering directory' and `Leaving directory' +# messages which can occur if `w' ends up in MAKEFLAGS. +# In particular we don't look at `^make:' because GNU make might +# be invoked under some other name (usually "gmake"), in which +# case it prints its new name instead of `make'. +if test "`$am_make -s -f confmf 2> /dev/null | grep -v 'ing directory'`" = "done"; then + am__include=include + am__quote= + _am_result=GNU +fi +# Now try BSD make style include. +if test "$am__include" = "#"; then + echo '.include "confinc"' > confmf + if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then + am__include=.include + am__quote="\"" + _am_result=BSD + fi +fi +AC_SUBST([am__include]) +AC_SUBST([am__quote]) +AC_MSG_RESULT([$_am_result]) +rm -f confinc confmf +]) + +# Fake the existence of programs that GNU maintainers use. -*- Autoconf -*- + +# Copyright (C) 1997, 1999, 2000, 2001, 2003, 2004, 2005 +# Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# serial 5 + +# AM_MISSING_PROG(NAME, PROGRAM) +# ------------------------------ +AC_DEFUN([AM_MISSING_PROG], +[AC_REQUIRE([AM_MISSING_HAS_RUN]) +$1=${$1-"${am_missing_run}$2"} +AC_SUBST($1)]) + + +# AM_MISSING_HAS_RUN +# ------------------ +# Define MISSING if not defined so far and test if it supports --run. +# If it does, set am_missing_run to use it, otherwise, to nothing. +AC_DEFUN([AM_MISSING_HAS_RUN], +[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl +AC_REQUIRE_AUX_FILE([missing])dnl +test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing" +# Use eval to expand $SHELL +if eval "$MISSING --run true"; then + am_missing_run="$MISSING --run " +else + am_missing_run= + AC_MSG_WARN([`missing' script is too old or missing]) +fi +]) + +# Copyright (C) 2003, 2004, 2005, 2006 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# AM_PROG_MKDIR_P +# --------------- +# Check for `mkdir -p'. +AC_DEFUN([AM_PROG_MKDIR_P], +[AC_PREREQ([2.60])dnl +AC_REQUIRE([AC_PROG_MKDIR_P])dnl +dnl Automake 1.8 to 1.9.6 used to define mkdir_p. We now use MKDIR_P, +dnl while keeping a definition of mkdir_p for backward compatibility. +dnl @MKDIR_P@ is magic: AC_OUTPUT adjusts its value for each Makefile. +dnl However we cannot define mkdir_p as $(MKDIR_P) for the sake of +dnl Makefile.ins that do not define MKDIR_P, so we do our own +dnl adjustment using top_builddir (which is defined more often than +dnl MKDIR_P). +AC_SUBST([mkdir_p], ["$MKDIR_P"])dnl +case $mkdir_p in + [[\\/$]]* | ?:[[\\/]]*) ;; + */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;; +esac +]) + +# Helper functions for option handling. -*- Autoconf -*- + +# Copyright (C) 2001, 2002, 2003, 2005 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 + +# _AM_MANGLE_OPTION(NAME) +# ----------------------- +AC_DEFUN([_AM_MANGLE_OPTION], +[[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])]) + +# _AM_SET_OPTION(NAME) +# ------------------------------ +# Set option NAME. Presently that only means defining a flag for this option. +AC_DEFUN([_AM_SET_OPTION], +[m4_define(_AM_MANGLE_OPTION([$1]), 1)]) + +# _AM_SET_OPTIONS(OPTIONS) +# ---------------------------------- +# OPTIONS is a space-separated list of Automake options. +AC_DEFUN([_AM_SET_OPTIONS], +[AC_FOREACH([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])]) + +# _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET]) +# ------------------------------------------- +# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise. +AC_DEFUN([_AM_IF_OPTION], +[m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])]) + +# Check to make sure that the build environment is sane. -*- Autoconf -*- + +# Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005 +# Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# serial 4 + +# AM_SANITY_CHECK +# --------------- +AC_DEFUN([AM_SANITY_CHECK], +[AC_MSG_CHECKING([whether build environment is sane]) +# Just in case +sleep 1 +echo timestamp > conftest.file +# Do `set' in a subshell so we don't clobber the current shell's +# arguments. Must try -L first in case configure is actually a +# symlink; some systems play weird games with the mod time of symlinks +# (eg FreeBSD returns the mod time of the symlink's containing +# directory). +if ( + set X `ls -Lt $srcdir/configure conftest.file 2> /dev/null` + if test "$[*]" = "X"; then + # -L didn't work. + set X `ls -t $srcdir/configure conftest.file` + fi + rm -f conftest.file + if test "$[*]" != "X $srcdir/configure conftest.file" \ + && test "$[*]" != "X conftest.file $srcdir/configure"; then + + # If neither matched, then we have a broken ls. This can happen + # if, for instance, CONFIG_SHELL is bash and it inherits a + # broken ls alias from the environment. This has actually + # happened. Such a system could not be considered "sane". + AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken +alias in your environment]) + fi + + test "$[2]" = conftest.file + ) +then + # Ok. + : +else + AC_MSG_ERROR([newly created file is older than distributed files! +Check your system clock]) +fi +AC_MSG_RESULT(yes)]) + +# Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# AM_PROG_INSTALL_STRIP +# --------------------- +# One issue with vendor `install' (even GNU) is that you can't +# specify the program used to strip binaries. This is especially +# annoying in cross-compiling environments, where the build's strip +# is unlikely to handle the host's binaries. +# Fortunately install-sh will honor a STRIPPROG variable, so we +# always use install-sh in `make install-strip', and initialize +# STRIPPROG with the value of the STRIP variable (set by the user). +AC_DEFUN([AM_PROG_INSTALL_STRIP], +[AC_REQUIRE([AM_PROG_INSTALL_SH])dnl +# Installed binaries are usually stripped using `strip' when the user +# run `make install-strip'. However `strip' might not be the right +# tool to use in cross-compilation environments, therefore Automake +# will honor the `STRIP' environment variable to overrule this program. +dnl Don't test for $cross_compiling = yes, because it might be `maybe'. +if test "$cross_compiling" != no; then + AC_CHECK_TOOL([STRIP], [strip], :) +fi +INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" +AC_SUBST([INSTALL_STRIP_PROGRAM])]) + +# Copyright (C) 2006 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# _AM_SUBST_NOTMAKE(VARIABLE) +# --------------------------- +# Prevent Automake from outputting VARIABLE = @VARIABLE@ in Makefile.in. +# This macro is traced by Automake. +AC_DEFUN([_AM_SUBST_NOTMAKE]) + +# Check how to create a tarball. -*- Autoconf -*- + +# Copyright (C) 2004, 2005 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# serial 2 + +# _AM_PROG_TAR(FORMAT) +# -------------------- +# Check how to create a tarball in format FORMAT. +# FORMAT should be one of `v7', `ustar', or `pax'. +# +# Substitute a variable $(am__tar) that is a command +# writing to stdout a FORMAT-tarball containing the directory +# $tardir. +# tardir=directory && $(am__tar) > result.tar +# +# Substitute a variable $(am__untar) that extract such +# a tarball read from stdin. +# $(am__untar) < result.tar +AC_DEFUN([_AM_PROG_TAR], +[# Always define AMTAR for backward compatibility. +AM_MISSING_PROG([AMTAR], [tar]) +m4_if([$1], [v7], + [am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -'], + [m4_case([$1], [ustar],, [pax],, + [m4_fatal([Unknown tar format])]) +AC_MSG_CHECKING([how to create a $1 tar archive]) +# Loop over all known methods to create a tar archive until one works. +_am_tools='gnutar m4_if([$1], [ustar], [plaintar]) pax cpio none' +_am_tools=${am_cv_prog_tar_$1-$_am_tools} +# Do not fold the above two line into one, because Tru64 sh and +# Solaris sh will not grok spaces in the rhs of `-'. +for _am_tool in $_am_tools +do + case $_am_tool in + gnutar) + for _am_tar in tar gnutar gtar; + do + AM_RUN_LOG([$_am_tar --version]) && break + done + am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"' + am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"' + am__untar="$_am_tar -xf -" + ;; + plaintar) + # Must skip GNU tar: if it does not support --format= it doesn't create + # ustar tarball either. + (tar --version) >/dev/null 2>&1 && continue + am__tar='tar chf - "$$tardir"' + am__tar_='tar chf - "$tardir"' + am__untar='tar xf -' + ;; + pax) + am__tar='pax -L -x $1 -w "$$tardir"' + am__tar_='pax -L -x $1 -w "$tardir"' + am__untar='pax -r' + ;; + cpio) + am__tar='find "$$tardir" -print | cpio -o -H $1 -L' + am__tar_='find "$tardir" -print | cpio -o -H $1 -L' + am__untar='cpio -i -H $1 -d' + ;; + none) + am__tar=false + am__tar_=false + am__untar=false + ;; + esac + + # If the value was cached, stop now. We just wanted to have am__tar + # and am__untar set. + test -n "${am_cv_prog_tar_$1}" && break + + # tar/untar a dummy directory, and stop if the command works + rm -rf conftest.dir + mkdir conftest.dir + echo GrepMe > conftest.dir/file + AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar]) + rm -rf conftest.dir + if test -s conftest.tar; then + AM_RUN_LOG([$am__untar /dev/null 2>&1 && break + fi +done +rm -rf conftest.dir + +AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool]) +AC_MSG_RESULT([$am_cv_prog_tar_$1])]) +AC_SUBST([am__tar]) +AC_SUBST([am__untar]) +]) # _AM_PROG_TAR + +m4_include([acinclude.m4]) diff --git a/admin/Makefile.common b/admin/Makefile.common new file mode 100644 index 0000000..46280ea --- /dev/null +++ b/admin/Makefile.common @@ -0,0 +1,35 @@ +### Makefile.common +### +### Copyright (C) 2002 by the KDE developers + +### All the real work is done by the shellscript cvs.sh + +SHELL=/bin/sh + +cvs dist cvs-clean configure configure.in configure.files subdirs package-messages package-merge Makefile.am acinclude.m4 extract-messages: + @admindir=$(admindir); \ + if test "x$$admindir" = x; then \ + admindir=.; until test -f $$admindir/admin/cvs.sh; do \ + admindir=$$admindir/..; \ + if test `cd $$admindir && pwd` = / ; then break; fi; \ + done; \ + admindir=$$admindir/admin; \ + if test -f $$admindir/cvs.sh; then :; else \ + echo "Can't find the admin/ directory in any parent of the"; \ + echo "current directory. Please set it with admindir=..."; \ + exit 1; \ + fi; \ + fi; \ + if test "$@" = "package-merge"; then \ + MAKE="$(MAKE)" POFILES="$(POFILES)" PACKAGE="$(PACKAGE)" \ + $(SHELL) $$admindir/cvs.sh package-merge ;\ + else \ + MAKE="$(MAKE)" $(SHELL) $$admindir/cvs.sh $@ ;\ + fi + +configure.in: configure.files subdirs +configure.files: subdirs + +.SILENT: + +.PHONY: cvs dist cvs-clean package-merge package-messages diff --git a/admin/acinclude.m4.in b/admin/acinclude.m4.in new file mode 100644 index 0000000..6675281 --- /dev/null +++ b/admin/acinclude.m4.in @@ -0,0 +1,5710 @@ +## -*- autoconf -*- + +dnl This file is part of the KDE libraries/packages +dnl Copyright (C) 1997 Janos Farkas (chexum@shadow.banki.hu) +dnl (C) 1997,98,99 Stephan Kulow (coolo@kde.org) + +dnl This file is free software; you can redistribute it and/or +dnl modify it under the terms of the GNU Library General Public +dnl License as published by the Free Software Foundation; either +dnl version 2 of the License, or (at your option) any later version. + +dnl This library is distributed in the hope that it will be useful, +dnl but WITHOUT ANY WARRANTY; without even the implied warranty of +dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +dnl Library General Public License for more details. + +dnl You should have received a copy of the GNU Library General Public License +dnl along with this library; see the file COPYING.LIB. If not, write to +dnl the Free Software Foundation, Inc., 59 Temple Place - Suite 330, +dnl Boston, MA 02111-1307, USA. + +dnl IMPORTANT NOTE: +dnl Please do not modify this file unless you expect your modifications to be +dnl carried into every other module in the repository. +dnl +dnl Single-module modifications are best placed in configure.in for kdelibs +dnl and kdebase or configure.in.in if present. + +# KDE_PATH_X_DIRECT +dnl Internal subroutine of AC_PATH_X. +dnl Set ac_x_includes and/or ac_x_libraries. +AC_DEFUN([KDE_PATH_X_DIRECT], +[ +AC_REQUIRE([KDE_CHECK_LIB64]) + +if test "$ac_x_includes" = NO; then + # Guess where to find include files, by looking for this one X11 .h file. + test -z "$x_direct_test_include" && x_direct_test_include=X11/Intrinsic.h + + # First, try using that file with no special directory specified. +AC_TRY_CPP([#include <$x_direct_test_include>], +[# We can compile using X headers with no special include directory. +ac_x_includes=], +[# Look for the header file in a standard set of common directories. +# Check X11 before X11Rn because it is often a symlink to the current release. + for ac_dir in \ + /usr/X11/include \ + /usr/X11R6/include \ + /usr/X11R5/include \ + /usr/X11R4/include \ + \ + /usr/include/X11 \ + /usr/include/X11R6 \ + /usr/include/X11R5 \ + /usr/include/X11R4 \ + \ + /usr/local/X11/include \ + /usr/local/X11R6/include \ + /usr/local/X11R5/include \ + /usr/local/X11R4/include \ + \ + /usr/local/include/X11 \ + /usr/local/include/X11R6 \ + /usr/local/include/X11R5 \ + /usr/local/include/X11R4 \ + \ + /usr/X386/include \ + /usr/x386/include \ + /usr/XFree86/include/X11 \ + \ + /usr/include \ + /usr/local/include \ + /usr/unsupported/include \ + /usr/athena/include \ + /usr/local/x11r5/include \ + /usr/lpp/Xamples/include \ + \ + /usr/openwin/include \ + /usr/openwin/share/include \ + ; \ + do + if test -r "$ac_dir/$x_direct_test_include"; then + ac_x_includes=$ac_dir + break + fi + done]) +fi # $ac_x_includes = NO + +if test "$ac_x_libraries" = NO; then + # Check for the libraries. + + test -z "$x_direct_test_library" && x_direct_test_library=Xt + test -z "$x_direct_test_function" && x_direct_test_function=XtMalloc + + # See if we find them without any special options. + # Don't add to $LIBS permanently. + ac_save_LIBS="$LIBS" + LIBS="-l$x_direct_test_library $LIBS" +AC_TRY_LINK([#include ], [${x_direct_test_function}(1)], +[LIBS="$ac_save_LIBS" +# We can link X programs with no special library path. +ac_x_libraries=], +[LIBS="$ac_save_LIBS" +# First see if replacing the include by lib works. +# Check X11 before X11Rn because it is often a symlink to the current release. +for ac_dir in `echo "$ac_x_includes" | sed s/include/lib${kdelibsuff}/` \ + /usr/X11/lib${kdelibsuff} \ + /usr/X11R6/lib${kdelibsuff} \ + /usr/X11R5/lib${kdelibsuff} \ + /usr/X11R4/lib${kdelibsuff} \ + \ + /usr/lib${kdelibsuff}/X11 \ + /usr/lib${kdelibsuff}/X11R6 \ + /usr/lib${kdelibsuff}/X11R5 \ + /usr/lib${kdelibsuff}/X11R4 \ + \ + /usr/local/X11/lib${kdelibsuff} \ + /usr/local/X11R6/lib${kdelibsuff} \ + /usr/local/X11R5/lib${kdelibsuff} \ + /usr/local/X11R4/lib${kdelibsuff} \ + \ + /usr/local/lib${kdelibsuff}/X11 \ + /usr/local/lib${kdelibsuff}/X11R6 \ + /usr/local/lib${kdelibsuff}/X11R5 \ + /usr/local/lib${kdelibsuff}/X11R4 \ + \ + /usr/X386/lib${kdelibsuff} \ + /usr/x386/lib${kdelibsuff} \ + /usr/XFree86/lib${kdelibsuff}/X11 \ + \ + /usr/lib${kdelibsuff} \ + /usr/local/lib${kdelibsuff} \ + /usr/unsupported/lib${kdelibsuff} \ + /usr/athena/lib${kdelibsuff} \ + /usr/local/x11r5/lib${kdelibsuff} \ + /usr/lpp/Xamples/lib${kdelibsuff} \ + /lib/usr/lib${kdelibsuff}/X11 \ + \ + /usr/openwin/lib${kdelibsuff} \ + /usr/openwin/share/lib${kdelibsuff} \ + ; \ +do +dnl Don't even attempt the hair of trying to link an X program! + for ac_extension in a so sl; do + if test -r $ac_dir/lib${x_direct_test_library}.$ac_extension; then + ac_x_libraries=$ac_dir + break 2 + fi + done +done]) +fi # $ac_x_libraries = NO +]) + + +dnl ------------------------------------------------------------------------ +dnl Find a file (or one of more files in a list of dirs) +dnl ------------------------------------------------------------------------ +dnl +AC_DEFUN([AC_FIND_FILE], +[ +$3=NO +for i in $2; +do + for j in $1; + do + echo "configure: __oline__: $i/$j" >&AC_FD_CC + if test -r "$i/$j"; then + echo "taking that" >&AC_FD_CC + $3=$i + break 2 + fi + done +done +]) + +dnl KDE_FIND_PATH(program-name, variable-name, list-of-dirs, +dnl if-not-found, test-parameter, prepend-path) +dnl +dnl Look for program-name in list-of-dirs+$PATH. +dnl If prepend-path is set, look in $PATH+list-of-dirs instead. +dnl If found, $variable-name is set. If not, if-not-found is evaluated. +dnl test-parameter: if set, the program is executed with this arg, +dnl and only a successful exit code is required. +AC_DEFUN([KDE_FIND_PATH], +[ + AC_MSG_CHECKING([for $1]) + if test -n "$$2"; then + kde_cv_path="$$2"; + else + kde_cache=`echo $1 | sed 'y%./+-%__p_%'` + + AC_CACHE_VAL(kde_cv_path_$kde_cache, + [ + kde_cv_path="NONE" + kde_save_IFS=$IFS + IFS=':' + dirs="" + for dir in $PATH; do + dirs="$dirs $dir" + done + if test -z "$6"; then dnl Append dirs in PATH (default) + dirs="$3 $dirs" + else dnl Prepend dirs in PATH (if 6th arg is set) + dirs="$dirs $3" + fi + IFS=$kde_save_IFS + + for dir in $dirs; do + if test -x "$dir/$1"; then + if test -n "$5" + then + evalstr="$dir/$1 $5 2>&1 " + if eval $evalstr; then + kde_cv_path="$dir/$1" + break + fi + else + kde_cv_path="$dir/$1" + break + fi + fi + done + + eval "kde_cv_path_$kde_cache=$kde_cv_path" + + ]) + + eval "kde_cv_path=\"`echo '$kde_cv_path_'$kde_cache`\"" + + fi + + if test -z "$kde_cv_path" || test "$kde_cv_path" = NONE; then + AC_MSG_RESULT(not found) + $4 + else + AC_MSG_RESULT($kde_cv_path) + $2=$kde_cv_path + + fi +]) + +AC_DEFUN([KDE_MOC_ERROR_MESSAGE], +[ + AC_MSG_ERROR([No Qt meta object compiler (moc) found! +Please check whether you installed Qt correctly. +You need to have a running moc binary. +configure tried to run $ac_cv_path_moc and the test didn't +succeed. If configure shouldn't have tried this one, set +the environment variable MOC to the right one before running +configure. +]) +]) + +AC_DEFUN([KDE_UIC_ERROR_MESSAGE], +[ + AC_MSG_WARN([No Qt ui compiler (uic) found! +Please check whether you installed Qt correctly. +You need to have a running uic binary. +configure tried to run $ac_cv_path_uic and the test didn't +succeed. If configure shouldn't have tried this one, set +the environment variable UIC to the right one before running +configure. +]) +]) + + +AC_DEFUN([KDE_CHECK_UIC_FLAG], +[ + AC_MSG_CHECKING([whether uic supports -$1 ]) + kde_cache=`echo $1 | sed 'y% .=/+-%____p_%'` + AC_CACHE_VAL(kde_cv_prog_uic_$kde_cache, + [ + cat >conftest.ui < +EOT + ac_uic_testrun="$UIC_PATH -$1 $2 conftest.ui >/dev/null" + if AC_TRY_EVAL(ac_uic_testrun); then + eval "kde_cv_prog_uic_$kde_cache=yes" + else + eval "kde_cv_prog_uic_$kde_cache=no" + fi + rm -f conftest* + ]) + + if eval "test \"`echo '$kde_cv_prog_uic_'$kde_cache`\" = yes"; then + AC_MSG_RESULT([yes]) + : + $3 + else + AC_MSG_RESULT([no]) + : + $4 + fi +]) + + +dnl ------------------------------------------------------------------------ +dnl Find the meta object compiler and the ui compiler in the PATH, +dnl in $QTDIR/bin, and some more usual places +dnl ------------------------------------------------------------------------ +dnl +AC_DEFUN([AC_PATH_QT_MOC_UIC], +[ + AC_REQUIRE([KDE_CHECK_PERL]) + qt_bindirs="" + for dir in $kde_qt_dirs; do + qt_bindirs="$qt_bindirs $dir/bin $dir/src/moc" + done + qt_bindirs="$qt_bindirs /usr/bin /usr/X11R6/bin /usr/local/qt/bin" + if test ! "$ac_qt_bindir" = "NO"; then + qt_bindirs="$ac_qt_bindir $qt_bindirs" + fi + + KDE_FIND_PATH(moc, MOC, [$qt_bindirs], [KDE_MOC_ERROR_MESSAGE]) + if test -z "$UIC_NOT_NEEDED"; then + KDE_FIND_PATH(uic, UIC_PATH, [$qt_bindirs], [UIC_PATH=""]) + if test -z "$UIC_PATH" ; then + KDE_UIC_ERROR_MESSAGE + exit 1 + else + UIC=$UIC_PATH + + if test $kde_qtver = 3; then + KDE_CHECK_UIC_FLAG(L,[/nonexistent],ac_uic_supports_libpath=yes,ac_uic_supports_libpath=no) + KDE_CHECK_UIC_FLAG(nounload,,ac_uic_supports_nounload=yes,ac_uic_supports_nounload=no) + + if test x$ac_uic_supports_libpath = xyes; then + UIC="$UIC -L \$(kde_widgetdir)" + fi + if test x$ac_uic_supports_nounload = xyes; then + UIC="$UIC -nounload" + fi + fi + fi + else + UIC="echo uic not available: " + fi + + AC_SUBST(MOC) + AC_SUBST(UIC) + + UIC_TR="i18n" + if test $kde_qtver = 3; then + UIC_TR="tr2i18n" + fi + + AC_SUBST(UIC_TR) +]) + +AC_DEFUN([KDE_1_CHECK_PATHS], +[ + KDE_1_CHECK_PATH_HEADERS + + KDE_TEST_RPATH= + + if test -n "$USE_RPATH"; then + + if test -n "$kde_libraries"; then + KDE_TEST_RPATH="-R $kde_libraries" + fi + + if test -n "$qt_libraries"; then + KDE_TEST_RPATH="$KDE_TEST_RPATH -R $qt_libraries" + fi + + if test -n "$x_libraries"; then + KDE_TEST_RPATH="$KDE_TEST_RPATH -R $x_libraries" + fi + + KDE_TEST_RPATH="$KDE_TEST_RPATH $KDE_EXTRA_RPATH" + fi + +AC_MSG_CHECKING([for KDE libraries installed]) +ac_link='$LIBTOOL_SHELL --silent --mode=link ${CXX-g++} -o conftest $CXXFLAGS $all_includes $CPPFLAGS $LDFLAGS $all_libraries conftest.$ac_ext $LIBS -lkdecore $LIBQT $KDE_TEST_RPATH 1>&5' + +if AC_TRY_EVAL(ac_link) && test -s conftest; then + AC_MSG_RESULT(yes) +else + AC_MSG_ERROR([your system fails at linking a small KDE application! +Check, if your compiler is installed correctly and if you have used the +same compiler to compile Qt and kdelibs as you did use now. +For more details about this problem, look at the end of config.log.]) +fi + +if eval `KDEDIR= ./conftest 2>&5`; then + kde_result=done +else + kde_result=problems +fi + +KDEDIR= ./conftest 2> /dev/null >&5 # make an echo for config.log +kde_have_all_paths=yes + +KDE_SET_PATHS($kde_result) + +]) + +AC_DEFUN([KDE_SET_PATHS], +[ + kde_cv_all_paths="kde_have_all_paths=\"yes\" \ + kde_htmldir=\"$kde_htmldir\" \ + kde_appsdir=\"$kde_appsdir\" \ + kde_icondir=\"$kde_icondir\" \ + kde_sounddir=\"$kde_sounddir\" \ + kde_datadir=\"$kde_datadir\" \ + kde_locale=\"$kde_locale\" \ + kde_cgidir=\"$kde_cgidir\" \ + kde_confdir=\"$kde_confdir\" \ + kde_kcfgdir=\"$kde_kcfgdir\" \ + kde_mimedir=\"$kde_mimedir\" \ + kde_toolbardir=\"$kde_toolbardir\" \ + kde_wallpaperdir=\"$kde_wallpaperdir\" \ + kde_templatesdir=\"$kde_templatesdir\" \ + kde_bindir=\"$kde_bindir\" \ + kde_servicesdir=\"$kde_servicesdir\" \ + kde_servicetypesdir=\"$kde_servicetypesdir\" \ + kde_moduledir=\"$kde_moduledir\" \ + kde_styledir=\"$kde_styledir\" \ + kde_widgetdir=\"$kde_widgetdir\" \ + xdg_appsdir=\"$xdg_appsdir\" \ + xdg_menudir=\"$xdg_menudir\" \ + xdg_directorydir=\"$xdg_directorydir\" \ + kde_result=$1" +]) + +AC_DEFUN([KDE_SET_DEFAULT_PATHS], +[ +if test "$1" = "default"; then + + if test -z "$kde_htmldir"; then + kde_htmldir='\${datadir}/doc/HTML' + fi + if test -z "$kde_appsdir"; then + kde_appsdir='\${datadir}/applnk' + fi + if test -z "$kde_icondir"; then + kde_icondir='\${datadir}/icons' + fi + if test -z "$kde_sounddir"; then + kde_sounddir='\${datadir}/sounds' + fi + if test -z "$kde_datadir"; then + kde_datadir='\${datadir}/apps' + fi + if test -z "$kde_locale"; then + kde_locale='\${datadir}/locale' + fi + if test -z "$kde_cgidir"; then + kde_cgidir='\${exec_prefix}/cgi-bin' + fi + if test -z "$kde_confdir"; then + kde_confdir='\${datadir}/config' + fi + if test -z "$kde_kcfgdir"; then + kde_kcfgdir='\${datadir}/config.kcfg' + fi + if test -z "$kde_mimedir"; then + kde_mimedir='\${datadir}/mimelnk' + fi + if test -z "$kde_toolbardir"; then + kde_toolbardir='\${datadir}/toolbar' + fi + if test -z "$kde_wallpaperdir"; then + kde_wallpaperdir='\${datadir}/wallpapers' + fi + if test -z "$kde_templatesdir"; then + kde_templatesdir='\${datadir}/templates' + fi + if test -z "$kde_bindir"; then + kde_bindir='\${exec_prefix}/bin' + fi + if test -z "$kde_servicesdir"; then + kde_servicesdir='\${datadir}/services' + fi + if test -z "$kde_servicetypesdir"; then + kde_servicetypesdir='\${datadir}/servicetypes' + fi + if test -z "$kde_moduledir"; then + if test "$kde_qtver" = "2"; then + kde_moduledir='\${libdir}/kde2' + else + kde_moduledir='\${libdir}/kde3' + fi + fi + if test -z "$kde_styledir"; then + kde_styledir='\${libdir}/kde3/plugins/styles' + fi + if test -z "$kde_widgetdir"; then + kde_widgetdir='\${libdir}/kde3/plugins/designer' + fi + if test -z "$xdg_appsdir"; then + xdg_appsdir='\${datadir}/applications/kde' + fi + if test -z "$xdg_menudir"; then + xdg_menudir='\${sysconfdir}/xdg/menus' + fi + if test -z "$xdg_directorydir"; then + xdg_directorydir='\${datadir}/desktop-directories' + fi + + KDE_SET_PATHS(defaults) + +else + + if test $kde_qtver = 1; then + AC_MSG_RESULT([compiling]) + KDE_1_CHECK_PATHS + else + AC_MSG_ERROR([path checking not yet supported for KDE 2]) + fi + +fi +]) + +AC_DEFUN([KDE_CHECK_PATHS_FOR_COMPLETENESS], +[ if test -z "$kde_htmldir" || test -z "$kde_appsdir" || + test -z "$kde_icondir" || test -z "$kde_sounddir" || + test -z "$kde_datadir" || test -z "$kde_locale" || + test -z "$kde_cgidir" || test -z "$kde_confdir" || + test -z "$kde_kcfgdir" || + test -z "$kde_mimedir" || test -z "$kde_toolbardir" || + test -z "$kde_wallpaperdir" || test -z "$kde_templatesdir" || + test -z "$kde_bindir" || test -z "$kde_servicesdir" || + test -z "$kde_servicetypesdir" || test -z "$kde_moduledir" || + test -z "$kde_styledir" || test -z "kde_widgetdir" || + test -z "$xdg_appsdir" || test -z "$xdg_menudir" || test -z "$xdg_directorydir" || + test "x$kde_have_all_paths" != "xyes"; then + kde_have_all_paths=no + fi +]) + +AC_DEFUN([KDE_MISSING_PROG_ERROR], +[ + AC_MSG_ERROR([The important program $1 was not found! +Please check whether you installed KDE correctly. +]) +]) + +AC_DEFUN([KDE_MISSING_ARTS_ERROR], +[ + AC_MSG_ERROR([The important program $1 was not found! +Please check whether you installed aRts correctly or use +--without-arts to compile without aRts support (this will remove functionality). +]) +]) + +AC_DEFUN([KDE_SET_DEFAULT_BINDIRS], +[ + kde_default_bindirs="/usr/bin /usr/local/bin /opt/local/bin /usr/X11R6/bin /opt/kde/bin /opt/kde3/bin /usr/kde/bin /usr/local/kde/bin" + test -n "$KDEDIR" && kde_default_bindirs="$KDEDIR/bin $kde_default_bindirs" + if test -n "$KDEDIRS"; then + kde_save_IFS=$IFS + IFS=: + for dir in $KDEDIRS; do + kde_default_bindirs="$dir/bin $kde_default_bindirs " + done + IFS=$kde_save_IFS + fi +]) + +AC_DEFUN([KDE_SUBST_PROGRAMS], +[ + AC_ARG_WITH(arts, + AC_HELP_STRING([--without-arts],[build without aRts [default=no]]), + [build_arts=$withval], + [build_arts=yes] + ) + AM_CONDITIONAL(include_ARTS, test "$build_arts" '!=' "no") + if test "$build_arts" = "no"; then + AC_DEFINE(WITHOUT_ARTS, 1, [Defined if compiling without arts]) + fi + + KDE_SET_DEFAULT_BINDIRS + kde_default_bindirs="$exec_prefix/bin $prefix/bin $kde_libs_prefix/bin $kde_default_bindirs" + KDE_FIND_PATH(dcopidl, DCOPIDL, [$kde_default_bindirs], [KDE_MISSING_PROG_ERROR(dcopidl)]) + KDE_FIND_PATH(dcopidl2cpp, DCOPIDL2CPP, [$kde_default_bindirs], [KDE_MISSING_PROG_ERROR(dcopidl2cpp)]) + if test "$build_arts" '!=' "no"; then + KDE_FIND_PATH(mcopidl, MCOPIDL, [$kde_default_bindirs], [KDE_MISSING_ARTS_ERROR(mcopidl)]) + KDE_FIND_PATH(artsc-config, ARTSCCONFIG, [$kde_default_bindirs], [KDE_MISSING_ARTS_ERROR(artsc-config)]) + fi + KDE_FIND_PATH(meinproc, MEINPROC, [$kde_default_bindirs]) + + kde32ornewer=1 + kde33ornewer=1 + if test -n "$kde_qtver" && test "$kde_qtver" -lt 3; then + kde32ornewer= + kde33ornewer= + else + if test "$kde_qtver" = "3"; then + if test "$kde_qtsubver" -le 1; then + kde32ornewer= + fi + if test "$kde_qtsubver" -le 2; then + kde33ornewer= + fi + fi + fi + + if test -n "$kde32ornewer"; then + KDE_FIND_PATH(kconfig_compiler, KCONFIG_COMPILER, [$kde_default_bindirs], [KDE_MISSING_PROG_ERROR(kconfig_compiler)]) + KDE_FIND_PATH(dcopidlng, DCOPIDLNG, [$kde_default_bindirs], [KDE_MISSING_PROG_ERROR(dcopidlng)]) + fi + if test -n "$kde33ornewer"; then + KDE_FIND_PATH(makekdewidgets, MAKEKDEWIDGETS, [$kde_default_bindirs], [KDE_MISSING_PROG_ERROR(makekdewidgets)]) + AC_SUBST(MAKEKDEWIDGETS) + fi + KDE_FIND_PATH(xmllint, XMLLINT, [${prefix}/bin ${exec_prefix}/bin], [XMLLINT=""]) + + if test -n "$MEINPROC" && test ! "$MEINPROC" = "compiled"; then + kde_sharedirs="/usr/share/kde /usr/local/share /usr/share /opt/kde3/share /opt/kde/share $prefix/share" + test -n "$KDEDIR" && kde_sharedirs="$KDEDIR/share $kde_sharedirs" + AC_FIND_FILE(apps/ksgmltools2/customization/kde-chunk.xsl, $kde_sharedirs, KDE_XSL_STYLESHEET) + if test "$KDE_XSL_STYLESHEET" = "NO"; then + KDE_XSL_STYLESHEET="" + else + KDE_XSL_STYLESHEET="$KDE_XSL_STYLESHEET/apps/ksgmltools2/customization/kde-chunk.xsl" + fi + fi + + DCOP_DEPENDENCIES='$(DCOPIDL)' + if test -n "$kde32ornewer"; then + KCFG_DEPENDENCIES='$(KCONFIG_COMPILER)' + DCOP_DEPENDENCIES='$(DCOPIDL) $(DCOPIDLNG)' + AC_SUBST(KCONFIG_COMPILER) + AC_SUBST(KCFG_DEPENDENCIES) + AC_SUBST(DCOPIDLNG) + fi + AC_SUBST(DCOPIDL) + AC_SUBST(DCOPIDL2CPP) + AC_SUBST(DCOP_DEPENDENCIES) + AC_SUBST(MCOPIDL) + AC_SUBST(ARTSCCONFIG) + AC_SUBST(MEINPROC) + AC_SUBST(KDE_XSL_STYLESHEET) + AC_SUBST(XMLLINT) +])dnl + +AC_DEFUN([AC_CREATE_KFSSTND], +[ +AC_REQUIRE([AC_CHECK_RPATH]) + +AC_MSG_CHECKING([for KDE paths]) +kde_result="" +kde_cached_paths=yes +AC_CACHE_VAL(kde_cv_all_paths, +[ + KDE_SET_DEFAULT_PATHS($1) + kde_cached_paths=no +]) +eval "$kde_cv_all_paths" +KDE_CHECK_PATHS_FOR_COMPLETENESS +if test "$kde_have_all_paths" = "no" && test "$kde_cached_paths" = "yes"; then + # wrong values were cached, may be, we can set better ones + kde_result= + kde_htmldir= kde_appsdir= kde_icondir= kde_sounddir= + kde_datadir= kde_locale= kde_cgidir= kde_confdir= kde_kcfgdir= + kde_mimedir= kde_toolbardir= kde_wallpaperdir= kde_templatesdir= + kde_bindir= kde_servicesdir= kde_servicetypesdir= kde_moduledir= + kde_have_all_paths= + kde_styledir= + kde_widgetdir= + xdg_appsdir = xdg_menudir= xdg_directorydir= + KDE_SET_DEFAULT_PATHS($1) + eval "$kde_cv_all_paths" + KDE_CHECK_PATHS_FOR_COMPLETENESS + kde_result="$kde_result (cache overridden)" +fi +if test "$kde_have_all_paths" = "no"; then + AC_MSG_ERROR([configure could not run a little KDE program to test the environment. +Since it had compiled and linked before, it must be a strange problem on your system. +Look at config.log for details. If you are not able to fix this, look at +http://www.kde.org/faq/installation.html or any www.kde.org mirror. +(If you're using an egcs version on Linux, you may update binutils!) +]) +else + rm -f conftest* + AC_MSG_RESULT($kde_result) +fi + +bindir=$kde_bindir + +KDE_SUBST_PROGRAMS + +]) + +AC_DEFUN([AC_SUBST_KFSSTND], +[ +AC_SUBST(kde_htmldir) +AC_SUBST(kde_appsdir) +AC_SUBST(kde_icondir) +AC_SUBST(kde_sounddir) +AC_SUBST(kde_datadir) +AC_SUBST(kde_locale) +AC_SUBST(kde_confdir) +AC_SUBST(kde_kcfgdir) +AC_SUBST(kde_mimedir) +AC_SUBST(kde_wallpaperdir) +AC_SUBST(kde_bindir) +dnl X Desktop Group standards +AC_SUBST(xdg_appsdir) +AC_SUBST(xdg_menudir) +AC_SUBST(xdg_directorydir) +dnl for KDE 2 +AC_SUBST(kde_templatesdir) +AC_SUBST(kde_servicesdir) +AC_SUBST(kde_servicetypesdir) +AC_SUBST(kde_moduledir) +AC_SUBST(kdeinitdir, '$(kde_moduledir)') +AC_SUBST(kde_styledir) +AC_SUBST(kde_widgetdir) +if test "$kde_qtver" = 1; then + kde_minidir="$kde_icondir/mini" +else +# for KDE 1 - this breaks KDE2 apps using minidir, but +# that's the plan ;-/ + kde_minidir="/dev/null" +fi +dnl AC_SUBST(kde_minidir) +dnl AC_SUBST(kde_cgidir) +dnl AC_SUBST(kde_toolbardir) +]) + +AC_DEFUN([KDE_MISC_TESTS], +[ + dnl Checks for libraries. + AC_CHECK_LIB(util, main, [LIBUTIL="-lutil"]) dnl for *BSD + AC_SUBST(LIBUTIL) + AC_CHECK_LIB(compat, main, [LIBCOMPAT="-lcompat"]) dnl for *BSD + AC_SUBST(LIBCOMPAT) + kde_have_crypt= + AC_CHECK_LIB(crypt, crypt, [LIBCRYPT="-lcrypt"; kde_have_crypt=yes], + AC_CHECK_LIB(c, crypt, [kde_have_crypt=yes], [ + AC_MSG_WARN([you have no crypt in either libcrypt or libc. +You should install libcrypt from another source or configure with PAM +support]) + kde_have_crypt=no + ])) + AC_SUBST(LIBCRYPT) + if test $kde_have_crypt = yes; then + AC_DEFINE_UNQUOTED(HAVE_CRYPT, 1, [Defines if your system has the crypt function]) + fi + AC_CHECK_SOCKLEN_T + AC_CHECK_LIB(dnet, dnet_ntoa, [X_EXTRA_LIBS="$X_EXTRA_LIBS -ldnet"]) + if test $ac_cv_lib_dnet_dnet_ntoa = no; then + AC_CHECK_LIB(dnet_stub, dnet_ntoa, + [X_EXTRA_LIBS="$X_EXTRA_LIBS -ldnet_stub"]) + fi + AC_CHECK_FUNC(inet_ntoa) + if test $ac_cv_func_inet_ntoa = no; then + AC_CHECK_LIB(nsl, inet_ntoa, X_EXTRA_LIBS="$X_EXTRA_LIBS -lnsl") + fi + AC_CHECK_FUNC(connect) + if test $ac_cv_func_connect = no; then + AC_CHECK_LIB(socket, connect, X_EXTRA_LIBS="-lsocket $X_EXTRA_LIBS", , + $X_EXTRA_LIBS) + fi + + AC_CHECK_FUNC(remove) + if test $ac_cv_func_remove = no; then + AC_CHECK_LIB(posix, remove, X_EXTRA_LIBS="$X_EXTRA_LIBS -lposix") + fi + + # BSDI BSD/OS 2.1 needs -lipc for XOpenDisplay. + AC_CHECK_FUNC(shmat, , + AC_CHECK_LIB(ipc, shmat, X_EXTRA_LIBS="$X_EXTRA_LIBS -lipc")) + + # more headers that need to be explicitly included on darwin + AC_CHECK_HEADERS(sys/types.h stdint.h) + + # sys/bitypes.h is needed for uint32_t and friends on Tru64 + AC_CHECK_HEADERS(sys/bitypes.h) + + # darwin requires a poll emulation library + AC_CHECK_LIB(poll, poll, LIB_POLL="-lpoll") + + # for some image handling on Mac OS X + AC_CHECK_HEADERS(Carbon/Carbon.h) + + # CoreAudio framework + AC_CHECK_HEADER(CoreAudio/CoreAudio.h, [ + AC_DEFINE(HAVE_COREAUDIO, 1, [Define if you have the CoreAudio API]) + FRAMEWORK_COREAUDIO="-Xlinker -framework -Xlinker CoreAudio" + ]) + + AC_CHECK_RES_INIT + AC_SUBST(LIB_POLL) + AC_SUBST(FRAMEWORK_COREAUDIO) + LIBSOCKET="$X_EXTRA_LIBS" + AC_SUBST(LIBSOCKET) + AC_SUBST(X_EXTRA_LIBS) + AC_CHECK_LIB(ucb, killpg, [LIBUCB="-lucb"]) dnl for Solaris2.4 + AC_SUBST(LIBUCB) + + case $host in dnl this *is* LynxOS specific + *-*-lynxos* ) + AC_MSG_CHECKING([LynxOS header file wrappers]) + [CFLAGS="$CFLAGS -D__NO_INCLUDE_WARN__"] + AC_MSG_RESULT(disabled) + AC_CHECK_LIB(bsd, gethostbyname, [LIBSOCKET="-lbsd"]) dnl for LynxOS + ;; + esac + + KDE_CHECK_TYPES + KDE_CHECK_LIBDL + KDE_CHECK_STRLCPY + +# darwin needs this to initialize the environment +AC_CHECK_HEADERS(crt_externs.h) +AC_CHECK_FUNC(_NSGetEnviron, [AC_DEFINE(HAVE_NSGETENVIRON, 1, [Define if your system needs _NSGetEnviron to set up the environment])]) + +AH_VERBATIM(_DARWIN_ENVIRON, +[ +#if defined(HAVE_NSGETENVIRON) && defined(HAVE_CRT_EXTERNS_H) +# include +# include +# define environ (*_NSGetEnviron()) +#endif +]) + +AH_VERBATIM(_AIX_STRINGS_H_BZERO, +[ +/* + * AIX defines FD_SET in terms of bzero, but fails to include + * that defines bzero. + */ + +#if defined(_AIX) +#include +#endif +]) + +AC_CHECK_FUNCS([vsnprintf snprintf]) + +AH_VERBATIM(_TRU64,[ +/* + * On HP-UX, the declaration of vsnprintf() is needed every time ! + */ + +#if !defined(HAVE_VSNPRINTF) || defined(hpux) +#if __STDC__ +#include +#include +#else +#include +#endif +#ifdef __cplusplus +extern "C" +#endif +int vsnprintf(char *str, size_t n, char const *fmt, va_list ap); +#ifdef __cplusplus +extern "C" +#endif +int snprintf(char *str, size_t n, char const *fmt, ...); +#endif +]) + +]) + +dnl ------------------------------------------------------------------------ +dnl Find the header files and libraries for X-Windows. Extended the +dnl macro AC_PATH_X +dnl ------------------------------------------------------------------------ +dnl +AC_DEFUN([K_PATH_X], +[ +AC_REQUIRE([KDE_MISC_TESTS])dnl +AC_REQUIRE([KDE_CHECK_LIB64]) + +AC_ARG_ENABLE( + embedded, + AC_HELP_STRING([--enable-embedded],[link to Qt-embedded, don't use X]), + kde_use_qt_emb=$enableval, + kde_use_qt_emb=no +) + +AC_ARG_ENABLE( + qtopia, + AC_HELP_STRING([--enable-qtopia],[link to Qt-embedded, link to the Qtopia Environment]), + kde_use_qt_emb_palm=$enableval, + kde_use_qt_emb_palm=no +) + +AC_ARG_ENABLE( + mac, + AC_HELP_STRING([--enable-mac],[link to Qt/Mac (don't use X)]), + kde_use_qt_mac=$enableval, + kde_use_qt_mac=no +) + +# used to disable x11-specific stuff on special platforms +AM_CONDITIONAL(include_x11, test "$kde_use_qt_emb" = "no" && test "$kde_use_qt_mac" = "no") + +if test "$kde_use_qt_emb" = "no" && test "$kde_use_qt_mac" = "no"; then + +AC_MSG_CHECKING(for X) + +AC_CACHE_VAL(kde_cv_have_x, +[# One or both of the vars are not set, and there is no cached value. +if test "{$x_includes+set}" = set || test "$x_includes" = NONE; then + kde_x_includes=NO +else + kde_x_includes=$x_includes +fi +if test "{$x_libraries+set}" = set || test "$x_libraries" = NONE; then + kde_x_libraries=NO +else + kde_x_libraries=$x_libraries +fi + +# below we use the standard autoconf calls +ac_x_libraries=$kde_x_libraries +ac_x_includes=$kde_x_includes + +KDE_PATH_X_DIRECT +dnl AC_PATH_X_XMKMF picks /usr/lib as the path for the X libraries. +dnl Unfortunately, if compiling with the N32 ABI, this is not the correct +dnl location. The correct location is /usr/lib32 or an undefined value +dnl (the linker is smart enough to pick the correct default library). +dnl Things work just fine if you use just AC_PATH_X_DIRECT. +dnl Solaris has a similar problem. AC_PATH_X_XMKMF forces x_includes to +dnl /usr/openwin/include, which doesn't work. /usr/include does work, so +dnl x_includes should be left alone. +case "$host" in +mips-sgi-irix6*) + ;; +*-*-solaris*) + ;; +*) + _AC_PATH_X_XMKMF + if test -z "$ac_x_includes"; then + ac_x_includes="." + fi + if test -z "$ac_x_libraries"; then + ac_x_libraries="/usr/lib${kdelibsuff}" + fi +esac +#from now on we use our own again + +# when the user already gave --x-includes, we ignore +# what the standard autoconf macros told us. +if test "$kde_x_includes" = NO; then + kde_x_includes=$ac_x_includes +fi + +# for --x-libraries too +if test "$kde_x_libraries" = NO; then + kde_x_libraries=$ac_x_libraries +fi + +if test "$kde_x_includes" = NO; then + AC_MSG_ERROR([Can't find X includes. Please check your installation and add the correct paths!]) +fi + +if test "$kde_x_libraries" = NO; then + AC_MSG_ERROR([Can't find X libraries. Please check your installation and add the correct paths!]) +fi + +# Record where we found X for the cache. +kde_cv_have_x="have_x=yes \ + kde_x_includes=$kde_x_includes kde_x_libraries=$kde_x_libraries" +])dnl + +eval "$kde_cv_have_x" + +if test "$have_x" != yes; then + AC_MSG_RESULT($have_x) + no_x=yes +else + AC_MSG_RESULT([libraries $kde_x_libraries, headers $kde_x_includes]) +fi + +if test -z "$kde_x_includes" || test "x$kde_x_includes" = xNONE; then + X_INCLUDES="" + x_includes="."; dnl better than nothing :- + else + x_includes=$kde_x_includes + X_INCLUDES="-I$x_includes" +fi + +if test -z "$kde_x_libraries" || test "x$kde_x_libraries" = xNONE; then + X_LDFLAGS="" + x_libraries="/usr/lib"; dnl better than nothing :- + else + x_libraries=$kde_x_libraries + X_LDFLAGS="-L$x_libraries" +fi +all_includes="$X_INCLUDES" +all_libraries="$X_LDFLAGS $LDFLAGS_AS_NEEDED $LDFLAGS_NEW_DTAGS" + +# Check for libraries that X11R6 Xt/Xaw programs need. +ac_save_LDFLAGS="$LDFLAGS" +LDFLAGS="$LDFLAGS $X_LDFLAGS" +# SM needs ICE to (dynamically) link under SunOS 4.x (so we have to +# check for ICE first), but we must link in the order -lSM -lICE or +# we get undefined symbols. So assume we have SM if we have ICE. +# These have to be linked with before -lX11, unlike the other +# libraries we check for below, so use a different variable. +# --interran@uluru.Stanford.EDU, kb@cs.umb.edu. +AC_CHECK_LIB(ICE, IceConnectionNumber, + [LIBSM="-lSM -lICE"], , $X_EXTRA_LIBS) +LDFLAGS="$ac_save_LDFLAGS" + +LIB_X11='-lX11 $(LIBSOCKET)' + +AC_MSG_CHECKING(for libXext) +AC_CACHE_VAL(kde_cv_have_libXext, +[ +kde_ldflags_safe="$LDFLAGS" +kde_libs_safe="$LIBS" + +LDFLAGS="$LDFLAGS $X_LDFLAGS $USER_LDFLAGS" +LIBS="-lXext -lX11 $LIBSOCKET" + +AC_TRY_LINK([ +#include +#ifdef STDC_HEADERS +# include +#endif +], +[ +printf("hello Xext\n"); +], +kde_cv_have_libXext=yes, +kde_cv_have_libXext=no +) + +LDFLAGS=$kde_ldflags_safe +LIBS=$kde_libs_safe +]) + +AC_MSG_RESULT($kde_cv_have_libXext) + +if test "$kde_cv_have_libXext" = "no"; then + AC_MSG_ERROR([We need a working libXext to proceed. Since configure +can't find it itself, we stop here assuming that make wouldn't find +them either.]) +fi + +LIB_XEXT="-lXext" +QTE_NORTTI="" + +elif test "$kde_use_qt_emb" = "yes"; then + dnl We're using QT Embedded + CPPFLAGS=-DQWS + CXXFLAGS="$CXXFLAGS -fno-rtti" + QTE_NORTTI="-fno-rtti -DQWS" + X_PRE_LIBS="" + LIB_X11="" + LIB_XEXT="" + LIB_XRENDER="" + LIBSM="" + X_INCLUDES="" + X_LDFLAGS="" + x_includes="" + x_libraries="" +elif test "$kde_use_qt_mac" = "yes"; then + dnl We're using QT/Mac (I use QT_MAC so that qglobal.h doesn't *have* to + dnl be included to get the information) --Sam + CXXFLAGS="$CXXFLAGS -DQT_MAC -no-cpp-precomp" + CFLAGS="$CFLAGS -DQT_MAC -no-cpp-precomp" + X_PRE_LIBS="" + LIB_X11="" + LIB_XEXT="" + LIB_XRENDER="" + LIBSM="" + X_INCLUDES="" + X_LDFLAGS="" + x_includes="" + x_libraries="" +fi +AC_SUBST(X_PRE_LIBS) +AC_SUBST(LIB_X11) +AC_SUBST(LIB_XRENDER) +AC_SUBST(LIBSM) +AC_SUBST(X_INCLUDES) +AC_SUBST(X_LDFLAGS) +AC_SUBST(x_includes) +AC_SUBST(x_libraries) +AC_SUBST(QTE_NORTTI) +AC_SUBST(LIB_XEXT) + +]) + +AC_DEFUN([KDE_PRINT_QT_PROGRAM], +[ +AC_REQUIRE([KDE_USE_QT]) +cat > conftest.$ac_ext < +#include +EOF +if test "$kde_qtver" = "2"; then +cat >> conftest.$ac_ext < +#include +#include +EOF + +if test $kde_qtsubver -gt 0; then +cat >> conftest.$ac_ext <> conftest.$ac_ext < +#include +#include +EOF +fi + +echo "#if ! ($kde_qt_verstring)" >> conftest.$ac_ext +cat >> conftest.$ac_ext <> conftest.$ac_ext <> conftest.$ac_ext <> conftest.$ac_ext <> conftest.$ac_ext <&AC_FD_CC + cat conftest.$ac_ext >&AC_FD_CC +fi + +rm -f conftest* +CXXFLAGS="$ac_cxxflags_safe" +LDFLAGS="$ac_ldflags_safe" +LIBS="$ac_libs_safe" + +LD_LIBRARY_PATH="$ac_LD_LIBRARY_PATH_safe" +export LD_LIBRARY_PATH +LIBRARY_PATH="$ac_LIBRARY_PATH" +export LIBRARY_PATH +AC_LANG_RESTORE +]) + +if test "$kde_cv_qt_direct" = "yes"; then + AC_MSG_RESULT(yes) + $1 +else + AC_MSG_RESULT(no) + $2 +fi +]) + +dnl ------------------------------------------------------------------------ +dnl Try to find the Qt headers and libraries. +dnl $(QT_LDFLAGS) will be -Lqtliblocation (if needed) +dnl and $(QT_INCLUDES) will be -Iqthdrlocation (if needed) +dnl ------------------------------------------------------------------------ +dnl +AC_DEFUN([AC_PATH_QT_1_3], +[ +AC_REQUIRE([K_PATH_X]) +AC_REQUIRE([KDE_USE_QT]) +AC_REQUIRE([KDE_CHECK_LIB64]) + +dnl ------------------------------------------------------------------------ +dnl Add configure flag to enable linking to MT version of Qt library. +dnl ------------------------------------------------------------------------ + +AC_ARG_ENABLE( + mt, + AC_HELP_STRING([--disable-mt],[link to non-threaded Qt (deprecated)]), + kde_use_qt_mt=$enableval, + [ + if test $kde_qtver = 3; then + kde_use_qt_mt=yes + else + kde_use_qt_mt=no + fi + ] +) + +USING_QT_MT="" + +dnl ------------------------------------------------------------------------ +dnl If we not get --disable-qt-mt then adjust some vars for the host. +dnl ------------------------------------------------------------------------ + +KDE_MT_LDFLAGS= +KDE_MT_LIBS= +if test "x$kde_use_qt_mt" = "xyes"; then + KDE_CHECK_THREADING + if test "x$kde_use_threading" = "xyes"; then + CPPFLAGS="$USE_THREADS -DQT_THREAD_SUPPORT $CPPFLAGS" + KDE_MT_LDFLAGS="$USE_THREADS" + KDE_MT_LIBS="$LIBPTHREAD" + else + kde_use_qt_mt=no + fi +fi +AC_SUBST(KDE_MT_LDFLAGS) +AC_SUBST(KDE_MT_LIBS) + +kde_qt_was_given=yes + +dnl ------------------------------------------------------------------------ +dnl If we haven't been told how to link to Qt, we work it out for ourselves. +dnl ------------------------------------------------------------------------ +if test -z "$LIBQT_GLOB"; then + if test "x$kde_use_qt_emb" = "xyes"; then + LIBQT_GLOB="libqte.*" + else + LIBQT_GLOB="libqt.*" + fi +fi + +if test -z "$LIBQT"; then +dnl ------------------------------------------------------------ +dnl If we got --enable-embedded then adjust the Qt library name. +dnl ------------------------------------------------------------ + if test "x$kde_use_qt_emb" = "xyes"; then + qtlib="qte" + else + qtlib="qt" + fi + + kde_int_qt="-l$qtlib" +else + kde_int_qt="$LIBQT" + kde_lib_qt_set=yes +fi + +if test -z "$LIBQPE"; then +dnl ------------------------------------------------------------ +dnl If we got --enable-palmtop then add -lqpe to the link line +dnl ------------------------------------------------------------ + if test "x$kde_use_qt_emb" = "xyes"; then + if test "x$kde_use_qt_emb_palm" = "xyes"; then + LIB_QPE="-lqpe" + else + LIB_QPE="" + fi + else + LIB_QPE="" + fi +fi + +dnl ------------------------------------------------------------------------ +dnl If we got --enable-qt-mt then adjust the Qt library name for the host. +dnl ------------------------------------------------------------------------ + +if test "x$kde_use_qt_mt" = "xyes"; then + if test -z "$LIBQT"; then + LIBQT="-l$qtlib-mt" + kde_int_qt="-l$qtlib-mt" + else + LIBQT="$qtlib-mt" + kde_int_qt="$qtlib-mt" + fi + LIBQT_GLOB="lib$qtlib-mt.*" + USING_QT_MT="using -mt" +else + LIBQT="-l$qtlib" +fi + +if test $kde_qtver != 1; then + + AC_REQUIRE([AC_FIND_PNG]) + AC_REQUIRE([AC_FIND_JPEG]) + LIBQT="$LIBQT $LIBPNG $LIBJPEG" +fi + +if test $kde_qtver = 3; then + AC_REQUIRE([KDE_CHECK_LIBDL]) + LIBQT="$LIBQT $LIBDL" +fi + +AC_MSG_CHECKING([for Qt]) + +if test "x$kde_use_qt_emb" != "xyes" && test "x$kde_use_qt_mac" != "xyes"; then +LIBQT="$LIBQT $X_PRE_LIBS -lXext -lX11 $LIBSM $LIBSOCKET" +fi +ac_qt_includes=NO ac_qt_libraries=NO ac_qt_bindir=NO +qt_libraries="" +qt_includes="" +AC_ARG_WITH(qt-dir, + AC_HELP_STRING([--with-qt-dir=DIR],[where the root of Qt is installed ]), + [ ac_qt_includes="$withval"/include + ac_qt_libraries="$withval"/lib${kdelibsuff} + ac_qt_bindir="$withval"/bin + ]) + +AC_ARG_WITH(qt-includes, + AC_HELP_STRING([--with-qt-includes=DIR],[where the Qt includes are. ]), + [ + ac_qt_includes="$withval" + ]) + +kde_qt_libs_given=no + +AC_ARG_WITH(qt-libraries, + AC_HELP_STRING([--with-qt-libraries=DIR],[where the Qt library is installed.]), + [ ac_qt_libraries="$withval" + kde_qt_libs_given=yes + ]) + +AC_CACHE_VAL(ac_cv_have_qt, +[#try to guess Qt locations + +qt_incdirs="" +for dir in $kde_qt_dirs; do + qt_incdirs="$qt_incdirs $dir/include $dir" +done +qt_incdirs="$QTINC $qt_incdirs /usr/local/qt/include /usr/include/qt /usr/include /usr/X11R6/include/X11/qt /usr/X11R6/include/qt /usr/X11R6/include/qt2 /usr/include/qt3 $x_includes" +if test ! "$ac_qt_includes" = "NO"; then + qt_incdirs="$ac_qt_includes $qt_incdirs" +fi + +if test "$kde_qtver" != "1"; then + kde_qt_header=qstyle.h +else + kde_qt_header=qglobal.h +fi + +AC_FIND_FILE($kde_qt_header, $qt_incdirs, qt_incdir) +ac_qt_includes="$qt_incdir" + +qt_libdirs="" +for dir in $kde_qt_dirs; do + qt_libdirs="$qt_libdirs $dir/lib${kdelibsuff} $dir" +done +qt_libdirs="$QTLIB $qt_libdirs /usr/X11R6/lib /usr/lib /usr/local/qt/lib $x_libraries" +if test ! "$ac_qt_libraries" = "NO"; then + qt_libdir=$ac_qt_libraries +else + qt_libdirs="$ac_qt_libraries $qt_libdirs" + # if the Qt was given, the chance is too big that libqt.* doesn't exist + qt_libdir=NONE + for dir in $qt_libdirs; do + try="ls -1 $dir/${LIBQT_GLOB}" + if test -n "`$try 2> /dev/null`"; then qt_libdir=$dir; break; else echo "tried $dir" >&AC_FD_CC ; fi + done +fi +for a in $qt_libdir/lib`echo ${kde_int_qt} | sed 's,^-l,,'`_incremental.*; do + if test -e "$a"; then + LIBQT="$LIBQT ${kde_int_qt}_incremental" + break + fi +done + +ac_qt_libraries="$qt_libdir" + +AC_LANG_SAVE +AC_LANG_CPLUSPLUS + +ac_cxxflags_safe="$CXXFLAGS" +ac_ldflags_safe="$LDFLAGS" +ac_libs_safe="$LIBS" + +CXXFLAGS="$CXXFLAGS -I$qt_incdir $all_includes" +LDFLAGS="$LDFLAGS -L$qt_libdir $all_libraries $USER_LDFLAGS $KDE_MT_LDFLAGS" +LIBS="$LIBS $LIBQT $KDE_MT_LIBS" + +KDE_PRINT_QT_PROGRAM + +if AC_TRY_EVAL(ac_link) && test -s conftest; then + rm -f conftest* +else + echo "configure: failed program was:" >&AC_FD_CC + cat conftest.$ac_ext >&AC_FD_CC + ac_qt_libraries="NO" +fi +rm -f conftest* +CXXFLAGS="$ac_cxxflags_safe" +LDFLAGS="$ac_ldflags_safe" +LIBS="$ac_libs_safe" + +AC_LANG_RESTORE +if test "$ac_qt_includes" = NO || test "$ac_qt_libraries" = NO; then + ac_cv_have_qt="have_qt=no" + ac_qt_notfound="" + missing_qt_mt="" + if test "$ac_qt_includes" = NO; then + if test "$ac_qt_libraries" = NO; then + ac_qt_notfound="(headers and libraries)"; + else + ac_qt_notfound="(headers)"; + fi + else + if test "x$kde_use_qt_mt" = "xyes"; then + missing_qt_mt=" +Make sure that you have compiled Qt with thread support!" + ac_qt_notfound="(library $qtlib-mt)"; + else + ac_qt_notfound="(library $qtlib)"; + fi + fi + + AC_MSG_ERROR([Qt ($kde_qt_minversion) $ac_qt_notfound not found. Please check your installation! +For more details about this problem, look at the end of config.log.$missing_qt_mt]) +else + have_qt="yes" +fi +]) + +eval "$ac_cv_have_qt" + +if test "$have_qt" != yes; then + AC_MSG_RESULT([$have_qt]); +else + ac_cv_have_qt="have_qt=yes \ + ac_qt_includes=$ac_qt_includes ac_qt_libraries=$ac_qt_libraries" + AC_MSG_RESULT([libraries $ac_qt_libraries, headers $ac_qt_includes $USING_QT_MT]) + + qt_libraries="$ac_qt_libraries" + qt_includes="$ac_qt_includes" +fi + +if test ! "$kde_qt_libs_given" = "yes" && test ! "$kde_qtver" = 3; then + KDE_CHECK_QT_DIRECT(qt_libraries= ,[]) +fi + +AC_SUBST(qt_libraries) +AC_SUBST(qt_includes) + +if test "$qt_includes" = "$x_includes" || test -z "$qt_includes"; then + QT_INCLUDES="" +else + QT_INCLUDES="-I$qt_includes" + all_includes="$QT_INCLUDES $all_includes" +fi + +if test "$qt_libraries" = "$x_libraries" || test -z "$qt_libraries"; then + QT_LDFLAGS="" +else + QT_LDFLAGS="-L$qt_libraries" + all_libraries="$QT_LDFLAGS $all_libraries" +fi +test -z "$KDE_MT_LDFLAGS" || all_libraries="$all_libraries $KDE_MT_LDFLAGS" + +AC_SUBST(QT_INCLUDES) +AC_SUBST(QT_LDFLAGS) +AC_PATH_QT_MOC_UIC + +KDE_CHECK_QT_JPEG + +if test "x$kde_use_qt_emb" != "xyes" && test "x$kde_use_qt_mac" != "xyes"; then +LIB_QT="$kde_int_qt $LIBJPEG_QT "'$(LIBZ) $(LIBPNG) -lXext $(LIB_X11) $(LIBSM)' +else +LIB_QT="$kde_int_qt $LIBJPEG_QT "'$(LIBZ) $(LIBPNG)' +fi +test -z "$KDE_MT_LIBS" || LIB_QT="$LIB_QT $KDE_MT_LIBS" +for a in $qt_libdir/lib`echo ${kde_int_qt} | sed 's,^-l,,'`_incremental.*; do + if test -e "$a"; then + LIB_QT="$LIB_QT ${kde_int_qt}_incremental" + break + fi +done + +AC_SUBST(LIB_QT) +AC_SUBST(LIB_QPE) + +AC_SUBST(kde_qtver) +]) + +AC_DEFUN([AC_PATH_QT], +[ +AC_PATH_QT_1_3 +]) + +AC_DEFUN([KDE_CHECK_UIC_PLUGINS], +[ +AC_REQUIRE([AC_PATH_QT_MOC_UIC]) + +if test x$ac_uic_supports_libpath = xyes; then + +AC_MSG_CHECKING([if UIC has KDE plugins available]) +AC_CACHE_VAL(kde_cv_uic_plugins, +[ +cat > actest.ui << EOF + +NewConnectionDialog + + + + testInput + + + + +EOF + + + +kde_cv_uic_plugins=no +kde_line="$UIC_PATH -L $kde_widgetdir" +if test x$ac_uic_supports_nounload = xyes; then + kde_line="$kde_line -nounload" +fi +kde_line="$kde_line -impl actest.h actest.ui > actest.cpp" +if AC_TRY_EVAL(kde_line); then + # if you're trying to debug this check and think it's incorrect, + # better check your installation. The check _is_ correct - your + # installation is not. + if test -f actest.cpp && grep klineedit actest.cpp > /dev/null; then + kde_cv_uic_plugins=yes + fi +fi +rm -f actest.ui actest.cpp +]) + +AC_MSG_RESULT([$kde_cv_uic_plugins]) +if test "$kde_cv_uic_plugins" != yes; then + AC_MSG_ERROR([ +you need to install kdelibs first. + +If you did install kdelibs, then the Qt version that is picked up by +this configure is not the same version you used to compile kdelibs. +The Qt Plugin installed by kdelibs is *ONLY* loadable if its the +same Qt version, compiled with the same compiler and the same Qt +configuration settings. +]) +fi +fi +]) + +AC_DEFUN([KDE_CHECK_FINAL], +[ + AC_ARG_ENABLE(final, + AC_HELP_STRING([--enable-final], + [build size optimized apps (experimental - needs lots of memory)]), + kde_use_final=$enableval, kde_use_final=no) + + if test "x$kde_use_final" = "xyes"; then + KDE_USE_FINAL_TRUE="" + KDE_USE_FINAL_FALSE="#" + else + KDE_USE_FINAL_TRUE="#" + KDE_USE_FINAL_FALSE="" + fi + AC_SUBST(KDE_USE_FINAL_TRUE) + AC_SUBST(KDE_USE_FINAL_FALSE) +]) + +AC_DEFUN([KDE_CHECK_CLOSURE], +[ + AC_ARG_ENABLE(closure, + AC_HELP_STRING([--enable-closure],[delay template instantiation]), + kde_use_closure=$enableval, kde_use_closure=no) + + KDE_NO_UNDEFINED="" + if test "x$kde_use_closure" = "xyes"; then + KDE_USE_CLOSURE_TRUE="" + KDE_USE_CLOSURE_FALSE="#" +# CXXFLAGS="$CXXFLAGS $REPO" + else + KDE_USE_CLOSURE_TRUE="#" + KDE_USE_CLOSURE_FALSE="" + KDE_NO_UNDEFINED="" + case $host in + *-*-linux-gnu) + KDE_CHECK_COMPILER_FLAG([Wl,--no-undefined], + [KDE_CHECK_COMPILER_FLAG([Wl,--allow-shlib-undefined], + [KDE_NO_UNDEFINED="-Wl,--no-undefined -Wl,--allow-shlib-undefined"], + [KDE_NO_UNDEFINED=""])], + [KDE_NO_UNDEFINED=""]) + ;; + esac + fi + AC_SUBST(KDE_USE_CLOSURE_TRUE) + AC_SUBST(KDE_USE_CLOSURE_FALSE) + AC_SUBST(KDE_NO_UNDEFINED) +]) + +dnl Check if the linker supports --enable-new-dtags and --as-needed +AC_DEFUN([KDE_CHECK_NEW_LDFLAGS], +[ + AC_ARG_ENABLE(new_ldflags, + AC_HELP_STRING([--enable-new-ldflags], + [enable the new linker flags]), + kde_use_new_ldflags=$enableval, + kde_use_new_ldflags=no) + + LDFLAGS_AS_NEEDED="" + LDFLAGS_NEW_DTAGS="" + if test "x$kde_use_new_ldflags" = "xyes"; then + LDFLAGS_NEW_DTAGS="" + KDE_CHECK_COMPILER_FLAG([Wl,--enable-new-dtags], + [LDFLAGS_NEW_DTAGS="-Wl,--enable-new-dtags"],) + + KDE_CHECK_COMPILER_FLAG([Wl,--as-needed], + [LDFLAGS_AS_NEEDED="-Wl,--as-needed"],) + fi + AC_SUBST(LDFLAGS_AS_NEEDED) + AC_SUBST(LDFLAGS_NEW_DTAGS) +]) + +AC_DEFUN([KDE_CHECK_NMCHECK], +[ + AC_ARG_ENABLE(nmcheck,AC_HELP_STRING([--enable-nmcheck],[enable automatic namespace cleanness check]), + kde_use_nmcheck=$enableval, kde_use_nmcheck=no) + + if test "$kde_use_nmcheck" = "yes"; then + KDE_USE_NMCHECK_TRUE="" + KDE_USE_NMCHECK_FALSE="#" + else + KDE_USE_NMCHECK_TRUE="#" + KDE_USE_NMCHECK_FALSE="" + fi + AC_SUBST(KDE_USE_NMCHECK_TRUE) + AC_SUBST(KDE_USE_NMCHECK_FALSE) +]) + +AC_DEFUN([KDE_EXPAND_MAKEVAR], [ +savex=$exec_prefix +test "x$exec_prefix" = xNONE && exec_prefix=$prefix +tmp=$$2 +while $1=`eval echo "$tmp"`; test "x$$1" != "x$tmp"; do tmp=$$1; done +exec_prefix=$savex +]) + +dnl ------------------------------------------------------------------------ +dnl Now, the same with KDE +dnl $(KDE_LDFLAGS) will be the kdeliblocation (if needed) +dnl and $(kde_includes) will be the kdehdrlocation (if needed) +dnl ------------------------------------------------------------------------ +dnl +AC_DEFUN([AC_BASE_PATH_KDE], +[ +AC_REQUIRE([KDE_CHECK_STL]) +AC_REQUIRE([AC_PATH_QT])dnl +AC_REQUIRE([KDE_CHECK_LIB64]) + +AC_CHECK_RPATH +AC_MSG_CHECKING([for KDE]) + +if test "${prefix}" != NONE; then + kde_includes=${includedir} + KDE_EXPAND_MAKEVAR(ac_kde_includes, includedir) + + kde_libraries=${libdir} + KDE_EXPAND_MAKEVAR(ac_kde_libraries, libdir) + +else + ac_kde_includes= + ac_kde_libraries= + kde_libraries="" + kde_includes="" +fi + +AC_CACHE_VAL(ac_cv_have_kde, +[#try to guess kde locations + +if test "$kde_qtver" = 1; then + kde_check_header="ksock.h" + kde_check_lib="libkdecore.la" +else + kde_check_header="ksharedptr.h" + kde_check_lib="libkio.la" +fi + +if test -z "$1"; then + +kde_incdirs="$kde_libs_prefix/include /usr/lib/kde/include /usr/local/kde/include /usr/local/include /usr/kde/include /usr/include/kde /usr/include /opt/kde3/include /opt/kde/include $x_includes $qt_includes" +test -n "$KDEDIR" && kde_incdirs="$KDEDIR/include $KDEDIR/include/kde $KDEDIR $kde_incdirs" +kde_incdirs="$ac_kde_includes $kde_incdirs" +AC_FIND_FILE($kde_check_header, $kde_incdirs, kde_incdir) +ac_kde_includes="$kde_incdir" + +if test -n "$ac_kde_includes" && test ! -r "$ac_kde_includes/$kde_check_header"; then + AC_MSG_ERROR([ +in the prefix, you've chosen, are no KDE headers installed. This will fail. +So, check this please and use another prefix!]) +fi + +kde_libdirs="$kde_libs_prefix/lib${kdelibsuff} /usr/lib/kde/lib${kdelibsuff} /usr/local/kde/lib${kdelibsuff} /usr/kde/lib${kdelibsuff} /usr/lib${kdelibsuff}/kde /usr/lib${kdelibsuff}/kde3 /usr/lib${kdelibsuff} /usr/X11R6/lib${kdelibsuff} /usr/local/lib${kdelibsuff} /opt/kde3/lib${kdelibsuff} /opt/kde/lib${kdelibsuff} /usr/X11R6/kde/lib${kdelibsuff}" +test -n "$KDEDIR" && kde_libdirs="$KDEDIR/lib${kdelibsuff} $KDEDIR $kde_libdirs" +kde_libdirs="$ac_kde_libraries $libdir $kde_libdirs" +AC_FIND_FILE($kde_check_lib, $kde_libdirs, kde_libdir) +ac_kde_libraries="$kde_libdir" + +kde_widgetdir=NO +dnl this might be somewhere else +AC_FIND_FILE("kde3/plugins/designer/kdewidgets.la", $kde_libdirs, kde_widgetdir) + +if test -n "$ac_kde_libraries" && test ! -r "$ac_kde_libraries/$kde_check_lib"; then +AC_MSG_ERROR([ +in the prefix, you've chosen, are no KDE libraries installed. This will fail. +So, check this please and use another prefix!]) +fi + +if test -n "$kde_widgetdir" && test ! -r "$kde_widgetdir/kde3/plugins/designer/kdewidgets.la"; then +AC_MSG_ERROR([ +I can't find the designer plugins. These are required and should have been installed +by kdelibs]) +fi + +if test -n "$kde_widgetdir"; then + kde_widgetdir="$kde_widgetdir/kde3/plugins/designer" +fi + + +if test "$ac_kde_includes" = NO || test "$ac_kde_libraries" = NO || test "$kde_widgetdir" = NO; then + ac_cv_have_kde="have_kde=no" +else + ac_cv_have_kde="have_kde=yes \ + ac_kde_includes=$ac_kde_includes ac_kde_libraries=$ac_kde_libraries" +fi + +else dnl test -z $1, e.g. from kdelibs + + ac_cv_have_kde="have_kde=no" + +fi +])dnl + +eval "$ac_cv_have_kde" + +if test "$have_kde" != "yes"; then + if test "${prefix}" = NONE; then + ac_kde_prefix="$ac_default_prefix" + else + ac_kde_prefix="$prefix" + fi + if test "$exec_prefix" = NONE; then + ac_kde_exec_prefix="$ac_kde_prefix" + AC_MSG_RESULT([will be installed in $ac_kde_prefix]) + else + ac_kde_exec_prefix="$exec_prefix" + AC_MSG_RESULT([will be installed in $ac_kde_prefix and $ac_kde_exec_prefix]) + fi + + kde_libraries="${libdir}" + kde_includes="${includedir}" + +else + ac_cv_have_kde="have_kde=yes \ + ac_kde_includes=$ac_kde_includes ac_kde_libraries=$ac_kde_libraries" + AC_MSG_RESULT([libraries $ac_kde_libraries, headers $ac_kde_includes]) + + kde_libraries="$ac_kde_libraries" + kde_includes="$ac_kde_includes" +fi +AC_SUBST(kde_libraries) +AC_SUBST(kde_includes) + +if test "$kde_includes" = "$x_includes" || test "$kde_includes" = "$qt_includes" || test "$kde_includes" = "/usr/include"; then + KDE_INCLUDES="" +else + KDE_INCLUDES="-I$kde_includes" + all_includes="$KDE_INCLUDES $all_includes" +fi + +KDE_DEFAULT_CXXFLAGS="-DQT_CLEAN_NAMESPACE -DQT_NO_ASCII_CAST -DQT_NO_STL -DQT_NO_COMPAT -DQT_NO_TRANSLATION" + +KDE_LDFLAGS="-L$kde_libraries" +if test ! "$kde_libraries" = "$x_libraries" && test ! "$kde_libraries" = "$qt_libraries" ; then + all_libraries="$KDE_LDFLAGS $all_libraries" +fi + +AC_SUBST(KDE_LDFLAGS) +AC_SUBST(KDE_INCLUDES) + +AC_REQUIRE([KDE_CHECK_EXTRA_LIBS]) + +all_libraries="$all_libraries $USER_LDFLAGS" +all_includes="$all_includes $USER_INCLUDES" +AC_SUBST(all_includes) +AC_SUBST(all_libraries) + +if test -z "$1"; then +KDE_CHECK_UIC_PLUGINS +fi + +ac_kde_libraries="$kde_libdir" + +AC_SUBST(AUTODIRS) + + +]) + +AC_DEFUN([KDE_CHECK_EXTRA_LIBS], +[ +AC_MSG_CHECKING(for extra includes) +AC_ARG_WITH(extra-includes,AC_HELP_STRING([--with-extra-includes=DIR],[adds non standard include paths]), + kde_use_extra_includes="$withval", + kde_use_extra_includes=NONE +) +kde_extra_includes= +if test -n "$kde_use_extra_includes" && \ + test "$kde_use_extra_includes" != "NONE"; then + + ac_save_ifs=$IFS + IFS=':' + for dir in $kde_use_extra_includes; do + kde_extra_includes="$kde_extra_includes $dir" + USER_INCLUDES="$USER_INCLUDES -I$dir" + done + IFS=$ac_save_ifs + kde_use_extra_includes="added" +else + kde_use_extra_includes="no" +fi +AC_SUBST(USER_INCLUDES) + +AC_MSG_RESULT($kde_use_extra_includes) + +kde_extra_libs= +AC_MSG_CHECKING(for extra libs) +AC_ARG_WITH(extra-libs,AC_HELP_STRING([--with-extra-libs=DIR],[adds non standard library paths]), + kde_use_extra_libs=$withval, + kde_use_extra_libs=NONE +) +if test -n "$kde_use_extra_libs" && \ + test "$kde_use_extra_libs" != "NONE"; then + + ac_save_ifs=$IFS + IFS=':' + for dir in $kde_use_extra_libs; do + kde_extra_libs="$kde_extra_libs $dir" + KDE_EXTRA_RPATH="$KDE_EXTRA_RPATH -R $dir" + USER_LDFLAGS="$USER_LDFLAGS -L$dir" + done + IFS=$ac_save_ifs + kde_use_extra_libs="added" +else + kde_use_extra_libs="no" +fi + +AC_SUBST(USER_LDFLAGS) + +AC_MSG_RESULT($kde_use_extra_libs) + +]) + +AC_DEFUN([KDE_1_CHECK_PATH_HEADERS], +[ + AC_MSG_CHECKING([for KDE headers installed]) + AC_LANG_SAVE + AC_LANG_CPLUSPLUS +cat > conftest.$ac_ext < +#endif +#include +#include "confdefs.h" +#include + +int main() { + printf("kde_htmldir=\\"%s\\"\n", KApplication::kde_htmldir().data()); + printf("kde_appsdir=\\"%s\\"\n", KApplication::kde_appsdir().data()); + printf("kde_icondir=\\"%s\\"\n", KApplication::kde_icondir().data()); + printf("kde_sounddir=\\"%s\\"\n", KApplication::kde_sounddir().data()); + printf("kde_datadir=\\"%s\\"\n", KApplication::kde_datadir().data()); + printf("kde_locale=\\"%s\\"\n", KApplication::kde_localedir().data()); + printf("kde_cgidir=\\"%s\\"\n", KApplication::kde_cgidir().data()); + printf("kde_confdir=\\"%s\\"\n", KApplication::kde_configdir().data()); + printf("kde_mimedir=\\"%s\\"\n", KApplication::kde_mimedir().data()); + printf("kde_toolbardir=\\"%s\\"\n", KApplication::kde_toolbardir().data()); + printf("kde_wallpaperdir=\\"%s\\"\n", + KApplication::kde_wallpaperdir().data()); + printf("kde_bindir=\\"%s\\"\n", KApplication::kde_bindir().data()); + printf("kde_partsdir=\\"%s\\"\n", KApplication::kde_partsdir().data()); + printf("kde_servicesdir=\\"/tmp/dummy\\"\n"); + printf("kde_servicetypesdir=\\"/tmp/dummy\\"\n"); + printf("kde_moduledir=\\"/tmp/dummy\\"\n"); + printf("kde_styledir=\\"/tmp/dummy\\"\n"); + printf("kde_widgetdir=\\"/tmp/dummy\\"\n"); + printf("xdg_appsdir=\\"/tmp/dummy\\"\n"); + printf("xdg_menudir=\\"/tmp/dummy\\"\n"); + printf("xdg_directorydir=\\"/tmp/dummy\\"\n"); + printf("kde_kcfgdir=\\"/tmp/dummy\\"\n"); + return 0; + } +EOF + + ac_save_CPPFLAGS=$CPPFLAGS + CPPFLAGS="$all_includes $CPPFLAGS" + if AC_TRY_EVAL(ac_compile); then + AC_MSG_RESULT(yes) + else + AC_MSG_ERROR([your system is not able to compile a small KDE application! +Check, if you installed the KDE header files correctly. +For more details about this problem, look at the end of config.log.]) + fi + CPPFLAGS=$ac_save_CPPFLAGS + + AC_LANG_RESTORE +]) + +AC_DEFUN([KDE_CHECK_KDEQTADDON], +[ +AC_MSG_CHECKING(for kde-qt-addon) +AC_CACHE_VAL(kde_cv_have_kdeqtaddon, +[ + kde_ldflags_safe="$LDFLAGS" + kde_libs_safe="$LIBS" + kde_cxxflags_safe="$CXXFLAGS" + + LIBS="-lkde-qt-addon $LIBQT $LIBS" + CXXFLAGS="$CXXFLAGS -I$prefix/include -I$prefix/include/kde $all_includes" + LDFLAGS="$LDFLAGS $all_libraries $USER_LDFLAGS" + + AC_TRY_LINK([ + #include + ], + [ + QDomDocument doc; + ], + kde_cv_have_kdeqtaddon=yes, + kde_cv_have_kdeqtaddon=no + ) + + LDFLAGS=$kde_ldflags_safe + LIBS=$kde_libs_safe + CXXFLAGS=$kde_cxxflags_safe +]) + +AC_MSG_RESULT($kde_cv_have_kdeqtaddon) + +if test "$kde_cv_have_kdeqtaddon" = "no"; then + AC_MSG_ERROR([Can't find libkde-qt-addon. You need to install it first. +It is a separate package (and CVS module) named kde-qt-addon.]) +fi +]) + +AC_DEFUN([KDE_CREATE_LIBS_ALIASES], +[ + AC_REQUIRE([KDE_MISC_TESTS]) + AC_REQUIRE([KDE_CHECK_LIBDL]) + AC_REQUIRE([K_PATH_X]) + +if test $kde_qtver = 3; then + AC_SUBST(LIB_KDECORE, "-lkdecore") + AC_SUBST(LIB_KDEUI, "-lkdeui") + AC_SUBST(LIB_KIO, "-lkio") + AC_SUBST(LIB_KJS, "-lkjs") + AC_SUBST(LIB_SMB, "-lsmb") + AC_SUBST(LIB_KAB, "-lkab") + AC_SUBST(LIB_KABC, "-lkabc") + AC_SUBST(LIB_KHTML, "-lkhtml") + AC_SUBST(LIB_KSPELL, "-lkspell") + AC_SUBST(LIB_KPARTS, "-lkparts") + AC_SUBST(LIB_KDEPRINT, "-lkdeprint") + AC_SUBST(LIB_KUTILS, "-lkutils") + AC_SUBST(LIB_KDEPIM, "-lkdepim") + AC_SUBST(LIB_KIMPROXY, "-lkimproxy") + AC_SUBST(LIB_KNEWSTUFF, "-lknewstuff") + AC_SUBST(LIB_KDNSSD, "-lkdnssd") +# these are for backward compatibility + AC_SUBST(LIB_KSYCOCA, "-lkio") + AC_SUBST(LIB_KFILE, "-lkio") +elif test $kde_qtver = 2; then + AC_SUBST(LIB_KDECORE, "-lkdecore") + AC_SUBST(LIB_KDEUI, "-lkdeui") + AC_SUBST(LIB_KIO, "-lkio") + AC_SUBST(LIB_KSYCOCA, "-lksycoca") + AC_SUBST(LIB_SMB, "-lsmb") + AC_SUBST(LIB_KFILE, "-lkfile") + AC_SUBST(LIB_KAB, "-lkab") + AC_SUBST(LIB_KHTML, "-lkhtml") + AC_SUBST(LIB_KSPELL, "-lkspell") + AC_SUBST(LIB_KPARTS, "-lkparts") + AC_SUBST(LIB_KDEPRINT, "-lkdeprint") +else + AC_SUBST(LIB_KDECORE, "-lkdecore -lXext $(LIB_QT)") + AC_SUBST(LIB_KDEUI, "-lkdeui $(LIB_KDECORE)") + AC_SUBST(LIB_KFM, "-lkfm $(LIB_KDECORE)") + AC_SUBST(LIB_KFILE, "-lkfile $(LIB_KFM) $(LIB_KDEUI)") + AC_SUBST(LIB_KAB, "-lkab $(LIB_KIMGIO) $(LIB_KDECORE)") +fi +]) + +AC_DEFUN([AC_PATH_KDE], +[ + AC_BASE_PATH_KDE + AC_ARG_ENABLE(path-check,AC_HELP_STRING([--disable-path-check],[don't try to find out, where to install]), + [ + if test "$enableval" = "no"; + then ac_use_path_checking="default" + else ac_use_path_checking="" + fi + ], + [ + if test "$kde_qtver" = 1; + then ac_use_path_checking="" + else ac_use_path_checking="default" + fi + ] + ) + + AC_CREATE_KFSSTND($ac_use_path_checking) + + AC_SUBST_KFSSTND + KDE_CREATE_LIBS_ALIASES +]) + +dnl KDE_CHECK_FUNC_EXT(, [headers], [sample-use], [C prototype], [autoheader define], [call if found]) +AC_DEFUN([KDE_CHECK_FUNC_EXT], +[ +AC_MSG_CHECKING(for $1) +AC_CACHE_VAL(kde_cv_func_$1, +[ +AC_LANG_SAVE +AC_LANG_CPLUSPLUS +save_CXXFLAGS="$CXXFLAGS" +kde_safe_LIBS="$LIBS" +LIBS="$LIBS $X_EXTRA_LIBS" +if test "$GXX" = "yes"; then +CXXFLAGS="$CXXFLAGS -pedantic-errors" +fi +AC_TRY_COMPILE([ +$2 +], +[ +$3 +], +kde_cv_func_$1=yes, +kde_cv_func_$1=no) +CXXFLAGS="$save_CXXFLAGS" +LIBS="$kde_safe_LIBS" +AC_LANG_RESTORE +]) + +AC_MSG_RESULT($kde_cv_func_$1) + +AC_MSG_CHECKING([if $1 needs custom prototype]) +AC_CACHE_VAL(kde_cv_proto_$1, +[ +if test "x$kde_cv_func_$1" = xyes; then + kde_cv_proto_$1=no +else + case "$1" in + setenv|unsetenv|usleep|random|srandom|seteuid|mkstemps|mkstemp|revoke|vsnprintf|strlcpy|strlcat) + kde_cv_proto_$1="yes - in libkdefakes" + ;; + *) + kde_cv_proto_$1=unknown + ;; + esac +fi + +if test "x$kde_cv_proto_$1" = xunknown; then + +AC_LANG_SAVE +AC_LANG_CPLUSPLUS + kde_safe_libs=$LIBS + LIBS="$LIBS $X_EXTRA_LIBS" + AC_TRY_LINK([ +$2 + +extern "C" $4; +], +[ +$3 +], +[ kde_cv_func_$1=yes + kde_cv_proto_$1=yes ], + [kde_cv_proto_$1="$1 unavailable"] +) +LIBS=$kde_safe_libs +AC_LANG_RESTORE +fi +]) +AC_MSG_RESULT($kde_cv_proto_$1) + +if test "x$kde_cv_func_$1" = xyes; then + AC_DEFINE(HAVE_$5, 1, [Define if you have $1]) + $6 +fi +if test "x$kde_cv_proto_$1" = xno; then + AC_DEFINE(HAVE_$5_PROTO, 1, + [Define if you have the $1 prototype]) +fi + +AH_VERBATIM([_HAVE_$5_PROTO], +[ +#if !defined(HAVE_$5_PROTO) +#ifdef __cplusplus +extern "C" { +#endif +$4; +#ifdef __cplusplus +} +#endif +#endif +]) +]) + +AC_DEFUN([AC_CHECK_SETENV], +[ + KDE_CHECK_FUNC_EXT(setenv, [ +#include +], + [setenv("VAR", "VALUE", 1);], + [int setenv (const char *, const char *, int)], + [SETENV]) +]) + +AC_DEFUN([AC_CHECK_UNSETENV], +[ + KDE_CHECK_FUNC_EXT(unsetenv, [ +#include +], + [unsetenv("VAR");], + [void unsetenv (const char *)], + [UNSETENV]) +]) + +AC_DEFUN([AC_CHECK_GETDOMAINNAME], +[ + KDE_CHECK_FUNC_EXT(getdomainname, [ +#include +#include +#include +], + [ +char buffer[200]; +getdomainname(buffer, 200); +], + [#include + int getdomainname (char *, size_t)], + [GETDOMAINNAME]) +]) + +AC_DEFUN([AC_CHECK_GETHOSTNAME], +[ + KDE_CHECK_FUNC_EXT(gethostname, [ +#include +#include +], + [ +char buffer[200]; +gethostname(buffer, 200); +], + [int gethostname (char *, unsigned int)], + [GETHOSTNAME]) +]) + +AC_DEFUN([AC_CHECK_USLEEP], +[ + KDE_CHECK_FUNC_EXT(usleep, [ +#include +], + [ +usleep(200); +], + [int usleep (unsigned int)], + [USLEEP]) +]) + + +AC_DEFUN([AC_CHECK_RANDOM], +[ + KDE_CHECK_FUNC_EXT(random, [ +#include +], + [ +random(); +], + [long int random(void)], + [RANDOM]) + + KDE_CHECK_FUNC_EXT(srandom, [ +#include +], + [ +srandom(27); +], + [void srandom(unsigned int)], + [SRANDOM]) + +]) + +AC_DEFUN([AC_CHECK_INITGROUPS], +[ + KDE_CHECK_FUNC_EXT(initgroups, [ +#include +#include +#include +], + [ +char buffer[200]; +initgroups(buffer, 27); +], + [int initgroups(const char *, gid_t)], + [INITGROUPS]) +]) + +AC_DEFUN([AC_CHECK_MKSTEMPS], +[ + KDE_CHECK_FUNC_EXT(mkstemps, [ +#include +#include +], + [ +mkstemps("/tmp/aaaXXXXXX", 6); +], + [int mkstemps(char *, int)], + [MKSTEMPS]) +]) + +AC_DEFUN([AC_CHECK_MKSTEMP], +[ + KDE_CHECK_FUNC_EXT(mkstemp, [ +#include +#include +], + [ +mkstemp("/tmp/aaaXXXXXX"); +], + [int mkstemp(char *)], + [MKSTEMP]) +]) + +AC_DEFUN([AC_CHECK_MKDTEMP], +[ + KDE_CHECK_FUNC_EXT(mkdtemp, [ +#include +#include +], + [ +mkdtemp("/tmp/aaaXXXXXX"); +], + [char *mkdtemp(char *)], + [MKDTEMP]) +]) + + +AC_DEFUN([AC_CHECK_RES_INIT], +[ + AC_MSG_CHECKING([if res_init needs -lresolv]) + kde_libs_safe="$LIBS" + LIBS="$LIBS $X_EXTRA_LIBS -lresolv" + AC_TRY_LINK( + [ +#include +#include +#include +#include + ], + [ + res_init(); + ], + [ + LIBRESOLV="-lresolv" + AC_MSG_RESULT(yes) + AC_DEFINE(HAVE_RES_INIT, 1, [Define if you have the res_init function]) + ], + [ AC_MSG_RESULT(no) ] + ) + LIBS=$kde_libs_safe + AC_SUBST(LIBRESOLV) + + KDE_CHECK_FUNC_EXT(res_init, + [ +#include +#include +#include +#include + ], + [res_init()], + [int res_init(void)], + [RES_INIT]) +]) + +AC_DEFUN([AC_CHECK_STRLCPY], +[ + KDE_CHECK_FUNC_EXT(strlcpy, [ +#include +], +[ char buf[20]; + strlcpy(buf, "KDE function test", sizeof(buf)); +], + [unsigned long strlcpy(char*, const char*, unsigned long)], + [STRLCPY]) +]) + +AC_DEFUN([AC_CHECK_STRLCAT], +[ + KDE_CHECK_FUNC_EXT(strlcat, [ +#include +], +[ char buf[20]; + buf[0]='\0'; + strlcat(buf, "KDE function test", sizeof(buf)); +], + [unsigned long strlcat(char*, const char*, unsigned long)], + [STRLCAT]) +]) + +AC_DEFUN([AC_CHECK_RES_QUERY], +[ + KDE_CHECK_FUNC_EXT(res_query, [ +#include +#include +#include +#include +#include +], +[ +res_query(NULL, 0, 0, NULL, 0); +], + [int res_query(const char *, int, int, unsigned char *, int)], + [RES_QUERY]) +]) + +AC_DEFUN([AC_CHECK_DN_SKIPNAME], +[ + KDE_CHECK_FUNC_EXT(dn_skipname, [ +#include +#include +#include +#include +], +[ +dn_skipname (NULL, NULL); +], + [int dn_skipname (unsigned char *, unsigned char *)], + [DN_SKIPNAME]) +]) + + +AC_DEFUN([AC_FIND_GIF], + [AC_MSG_CHECKING([for giflib]) +AC_CACHE_VAL(ac_cv_lib_gif, +[ac_save_LIBS="$LIBS" +if test "x$kde_use_qt_emb" != "xyes" && test "x$kde_use_qt_mac" != "xyes"; then +LIBS="$all_libraries -lgif -lX11 $LIBSOCKET" +else +LIBS="$all_libraries -lgif" +fi +AC_TRY_LINK(dnl +[ +#ifdef __cplusplus +extern "C" { +#endif +int GifLastError(void); +#ifdef __cplusplus +} +#endif +/* We use char because int might match the return type of a gcc2 + builtin and then its argument prototype would still apply. */ +], + [return GifLastError();], + eval "ac_cv_lib_gif=yes", + eval "ac_cv_lib_gif=no") +LIBS="$ac_save_LIBS" +])dnl +if eval "test \"`echo $ac_cv_lib_gif`\" = yes"; then + AC_MSG_RESULT(yes) + AC_DEFINE_UNQUOTED(HAVE_LIBGIF, 1, [Define if you have libgif]) +else + AC_MSG_ERROR(You need giflib30. Please install the kdesupport package) +fi +]) + +AC_DEFUN([KDE_FIND_JPEG_HELPER], +[ +AC_MSG_CHECKING([for libjpeg$2]) +AC_CACHE_VAL(ac_cv_lib_jpeg_$1, +[ +ac_save_LIBS="$LIBS" +LIBS="$all_libraries $USER_LDFLAGS -ljpeg$2 -lm" +ac_save_CFLAGS="$CFLAGS" +CFLAGS="$CFLAGS $all_includes $USER_INCLUDES" +AC_TRY_LINK( +[/* Override any gcc2 internal prototype to avoid an error. */ +struct jpeg_decompress_struct; +typedef struct jpeg_decompress_struct * j_decompress_ptr; +typedef int size_t; +#ifdef __cplusplus +extern "C" { +#endif + void jpeg_CreateDecompress(j_decompress_ptr cinfo, + int version, size_t structsize); +#ifdef __cplusplus +} +#endif +/* We use char because int might match the return type of a gcc2 + builtin and then its argument prototype would still apply. */ +], + [jpeg_CreateDecompress(0L, 0, 0);], + eval "ac_cv_lib_jpeg_$1=-ljpeg$2", + eval "ac_cv_lib_jpeg_$1=no") +LIBS="$ac_save_LIBS" +CFLAGS="$ac_save_CFLAGS" +]) + +if eval "test ! \"`echo $ac_cv_lib_jpeg_$1`\" = no"; then + LIBJPEG="$ac_cv_lib_jpeg_$1" + AC_MSG_RESULT($ac_cv_lib_jpeg_$1) +else + AC_MSG_RESULT(no) + $3 +fi + +]) + +AC_DEFUN([AC_FIND_JPEG], +[ +dnl first look for libraries +KDE_FIND_JPEG_HELPER(6b, 6b, + KDE_FIND_JPEG_HELPER(normal, [], + [ + LIBJPEG= + ] + ) +) + +dnl then search the headers (can't use simply AC_TRY_xxx, as jpeglib.h +dnl requires system dependent includes loaded before it) +jpeg_incdirs="$includedir /usr/include /usr/local/include $kde_extra_includes" +AC_FIND_FILE(jpeglib.h, $jpeg_incdirs, jpeg_incdir) +test "x$jpeg_incdir" = xNO && jpeg_incdir= + +dnl if headers _and_ libraries are missing, this is no error, and we +dnl continue with a warning (the user will get no jpeg support in khtml) +dnl if only one is missing, it means a configuration error, but we still +dnl only warn +if test -n "$jpeg_incdir" && test -n "$LIBJPEG" ; then + AC_DEFINE_UNQUOTED(HAVE_LIBJPEG, 1, [Define if you have libjpeg]) +else + if test -n "$jpeg_incdir" || test -n "$LIBJPEG" ; then + AC_MSG_WARN([ +There is an installation error in jpeg support. You seem to have only one +of either the headers _or_ the libraries installed. You may need to either +provide correct --with-extra-... options, or the development package of +libjpeg6b. You can get a source package of libjpeg from http://www.ijg.org/ +Disabling JPEG support. +]) + else + AC_MSG_WARN([libjpeg not found. disable JPEG support.]) + fi + jpeg_incdir= + LIBJPEG= +fi + +AC_SUBST(LIBJPEG) +AH_VERBATIM(_AC_CHECK_JPEG, +[/* + * jpeg.h needs HAVE_BOOLEAN, when the system uses boolean in system + * headers and I'm too lazy to write a configure test as long as only + * unixware is related + */ +#ifdef _UNIXWARE +#define HAVE_BOOLEAN +#endif +]) +]) + +AC_DEFUN([KDE_CHECK_QT_JPEG], +[ +if test -n "$LIBJPEG"; then +AC_MSG_CHECKING([if Qt needs $LIBJPEG]) +AC_CACHE_VAL(kde_cv_qt_jpeg, +[ +AC_LANG_SAVE +AC_LANG_CPLUSPLUS +ac_save_LIBS="$LIBS" +LIBS="$all_libraries $USER_LDFLAGS $LIBQT" +LIBS=`echo $LIBS | sed "s/$LIBJPEG//"` +ac_save_CXXFLAGS="$CXXFLAGS" +CXXFLAGS="$CXXFLAGS $all_includes $USER_INCLUDES" +AC_TRY_LINK( +[#include ], + [ + int argc; + char** argv; + QApplication app(argc, argv);], + eval "kde_cv_qt_jpeg=no", + eval "kde_cv_qt_jpeg=yes") +LIBS="$ac_save_LIBS" +CXXFLAGS="$ac_save_CXXFLAGS" +AC_LANG_RESTORE +fi +]) + +if eval "test ! \"`echo $kde_cv_qt_jpeg`\" = no"; then + AC_MSG_RESULT(yes) + LIBJPEG_QT='$(LIBJPEG)' +else + AC_MSG_RESULT(no) + LIBJPEG_QT= +fi + +]) + +AC_DEFUN([AC_FIND_ZLIB], +[ +AC_REQUIRE([KDE_CHECK_EXTRA_LIBS]) +AC_MSG_CHECKING([for libz]) +AC_CACHE_VAL(ac_cv_lib_z, +[ +kde_save_LIBS="$LIBS" +LIBS="$all_libraries $USER_LDFLAGS -lz $LIBSOCKET" +kde_save_CFLAGS="$CFLAGS" +CFLAGS="$CFLAGS $all_includes $USER_INCLUDES" +AC_TRY_LINK(dnl +[ +#include +], +[ + char buf[42]; + gzFile f = (gzFile) 0; + /* this would segfault.. but we only link, don't run */ + (void) gzgets(f, buf, sizeof(buf)); + + return (zlibVersion() == ZLIB_VERSION); +], + eval "ac_cv_lib_z='-lz'", + eval "ac_cv_lib_z=no") +LIBS="$kde_save_LIBS" +CFLAGS="$kde_save_CFLAGS" +])dnl +if test ! "$ac_cv_lib_z" = no; then + AC_DEFINE_UNQUOTED(HAVE_LIBZ, 1, [Define if you have libz]) + LIBZ="$ac_cv_lib_z" + AC_MSG_RESULT($ac_cv_lib_z) +else + AC_MSG_ERROR(not found. + Possibly configure picks up an outdated version + installed by XFree86. Remove it from your system. + + Check your installation and look into config.log) + LIBZ="" +fi +AC_SUBST(LIBZ) +]) + +AC_DEFUN([KDE_TRY_TIFFLIB], +[ +AC_MSG_CHECKING([for libtiff $1]) + +AC_CACHE_VAL(kde_cv_libtiff_$1, +[ +AC_LANG_SAVE +AC_LANG_CPLUSPLUS +kde_save_LIBS="$LIBS" +if test "x$kde_use_qt_emb" != "xyes" && test "x$kde_use_qt_mac" != "xyes"; then +LIBS="$all_libraries $USER_LDFLAGS -l$1 $LIBJPEG $LIBZ -lX11 $LIBSOCKET -lm" +else +LIBS="$all_libraries $USER_LDFLAGS -l$1 $LIBJPEG $LIBZ -lm" +fi +kde_save_CXXFLAGS="$CXXFLAGS" +CXXFLAGS="$CXXFLAGS $all_includes $USER_INCLUDES" + +AC_TRY_LINK(dnl +[ +#include +], + [return (TIFFOpen( "", "r") == 0); ], +[ + kde_cv_libtiff_$1="-l$1 $LIBJPEG $LIBZ" +], [ + kde_cv_libtiff_$1=no +]) + +LIBS="$kde_save_LIBS" +CXXFLAGS="$kde_save_CXXFLAGS" +AC_LANG_RESTORE +]) + +if test "$kde_cv_libtiff_$1" = "no"; then + AC_MSG_RESULT(no) + LIBTIFF="" + $3 +else + LIBTIFF="$kde_cv_libtiff_$1" + AC_MSG_RESULT(yes) + AC_DEFINE_UNQUOTED(HAVE_LIBTIFF, 1, [Define if you have libtiff]) + $2 +fi + +]) + +AC_DEFUN([AC_FIND_TIFF], +[ +AC_REQUIRE([K_PATH_X]) +AC_REQUIRE([AC_FIND_ZLIB]) +AC_REQUIRE([AC_FIND_JPEG]) +AC_REQUIRE([KDE_CHECK_EXTRA_LIBS]) + +KDE_TRY_TIFFLIB(tiff, [], + KDE_TRY_TIFFLIB(tiff34)) + +AC_SUBST(LIBTIFF) +]) + + +AC_DEFUN([AC_FIND_PNG], +[ +AC_REQUIRE([KDE_CHECK_EXTRA_LIBS]) +AC_REQUIRE([AC_FIND_ZLIB]) +AC_MSG_CHECKING([for libpng]) +AC_CACHE_VAL(ac_cv_lib_png, +[ +kde_save_LIBS="$LIBS" +if test "x$kde_use_qt_emb" != "xyes" && test "x$kde_use_qt_mac" != "xyes"; then +LIBS="$LIBS $all_libraries $USER_LDFLAGS -lpng $LIBZ -lm -lX11 $LIBSOCKET" +else +LIBS="$LIBS $all_libraries $USER_LDFLAGS -lpng $LIBZ -lm" +fi +kde_save_CFLAGS="$CFLAGS" +CFLAGS="$CFLAGS $all_includes $USER_INCLUDES" + +AC_TRY_LINK(dnl + [ + #include + ], + [ + png_structp png_ptr = png_create_read_struct( /* image ptr */ + PNG_LIBPNG_VER_STRING, 0, 0, 0 ); + return( png_ptr != 0 ); + ], + eval "ac_cv_lib_png='-lpng $LIBZ -lm'", + eval "ac_cv_lib_png=no" +) +LIBS="$kde_save_LIBS" +CFLAGS="$kde_save_CFLAGS" +])dnl +if eval "test ! \"`echo $ac_cv_lib_png`\" = no"; then + AC_DEFINE_UNQUOTED(HAVE_LIBPNG, 1, [Define if you have libpng]) + LIBPNG="$ac_cv_lib_png" + AC_SUBST(LIBPNG) + AC_MSG_RESULT($ac_cv_lib_png) +else + AC_MSG_RESULT(no) + LIBPNG="" + AC_SUBST(LIBPNG) +fi +]) + + +AC_DEFUN([AC_FIND_JASPER], +[ +AC_REQUIRE([KDE_CHECK_EXTRA_LIBS]) +AC_REQUIRE([AC_FIND_JPEG]) +AC_MSG_CHECKING([for jasper]) +AC_CACHE_VAL(ac_cv_jasper, +[ +kde_save_LIBS="$LIBS" +LIBS="$LIBS $all_libraries $USER_LDFLAGS -ljasper $LIBJPEG -lm" +kde_save_CFLAGS="$CFLAGS" +CFLAGS="$CFLAGS $all_includes $USER_INCLUDES" + +AC_TRY_LINK(dnl + [ + #include + ], + [ + return( jas_init() ); + ], + eval "ac_cv_jasper='-ljasper $LIBJPEG -lm'", + eval "ac_cv_jasper=no" +) +LIBS="$kde_save_LIBS" +CFLAGS="$kde_save_CFLAGS" +])dnl +if eval "test ! \"`echo $ac_cv_jasper`\" = no"; then + AC_DEFINE_UNQUOTED(HAVE_JASPER, 1, [Define if you have jasper]) + LIB_JASPER="$ac_cv_jasper" + AC_MSG_RESULT($ac_cv_jasper) +else + AC_MSG_RESULT(no) + LIB_JASPER="" +fi +AC_SUBST(LIB_JASPER) +]) + +AC_DEFUN([AC_CHECK_BOOL], +[ + AC_DEFINE_UNQUOTED(HAVE_BOOL, 1, [You _must_ have bool]) +]) + +AC_DEFUN([AC_CHECK_GNU_EXTENSIONS], +[ +AC_MSG_CHECKING(if you need GNU extensions) +AC_CACHE_VAL(ac_cv_gnu_extensions, +[ +cat > conftest.c << EOF +#include + +#ifdef __GNU_LIBRARY__ +yes +#endif +EOF + +if (eval "$ac_cpp conftest.c") 2>&5 | + egrep "yes" >/dev/null 2>&1; then + rm -rf conftest* + ac_cv_gnu_extensions=yes +else + ac_cv_gnu_extensions=no +fi +]) + +AC_MSG_RESULT($ac_cv_gnu_extensions) +if test "$ac_cv_gnu_extensions" = "yes"; then + AC_DEFINE_UNQUOTED(_GNU_SOURCE, 1, [Define if you need to use the GNU extensions]) +fi +]) + +AC_DEFUN([KDE_CHECK_COMPILER_FLAG], +[ +AC_MSG_CHECKING([whether $CXX supports -$1]) +kde_cache=`echo $1 | sed 'y% .=/+-,%____p__%'` +AC_CACHE_VAL(kde_cv_prog_cxx_$kde_cache, +[ + AC_LANG_SAVE + AC_LANG_CPLUSPLUS + save_CXXFLAGS="$CXXFLAGS" + CXXFLAGS="$CXXFLAGS -$1" + AC_TRY_LINK([],[ return 0; ], [eval "kde_cv_prog_cxx_$kde_cache=yes"], []) + CXXFLAGS="$save_CXXFLAGS" + AC_LANG_RESTORE +]) +if eval "test \"`echo '$kde_cv_prog_cxx_'$kde_cache`\" = yes"; then + AC_MSG_RESULT(yes) + : + $2 +else + AC_MSG_RESULT(no) + : + $3 +fi +]) + +AC_DEFUN([KDE_CHECK_C_COMPILER_FLAG], +[ +AC_MSG_CHECKING([whether $CC supports -$1]) +kde_cache=`echo $1 | sed 'y% .=/+-,%____p__%'` +AC_CACHE_VAL(kde_cv_prog_cc_$kde_cache, +[ + AC_LANG_SAVE + AC_LANG_C + save_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS -$1" + AC_TRY_LINK([],[ return 0; ], [eval "kde_cv_prog_cc_$kde_cache=yes"], []) + CFLAGS="$save_CFLAGS" + AC_LANG_RESTORE +]) +if eval "test \"`echo '$kde_cv_prog_cc_'$kde_cache`\" = yes"; then + AC_MSG_RESULT(yes) + : + $2 +else + AC_MSG_RESULT(no) + : + $3 +fi +]) + + +dnl AC_REMOVE_FORBIDDEN removes forbidden arguments from variables +dnl use: AC_REMOVE_FORBIDDEN(CC, [-forbid -bad-option whatever]) +dnl it's all white-space separated +AC_DEFUN([AC_REMOVE_FORBIDDEN], +[ __val=$$1 + __forbid=" $2 " + if test -n "$__val"; then + __new="" + ac_save_IFS=$IFS + IFS=" " + for i in $__val; do + case "$__forbid" in + *" $i "*) AC_MSG_WARN([found forbidden $i in $1, removing it]) ;; + *) # Careful to not add spaces, where there were none, because otherwise + # libtool gets confused, if we change e.g. CXX + if test -z "$__new" ; then __new=$i ; else __new="$__new $i" ; fi ;; + esac + done + IFS=$ac_save_IFS + $1=$__new + fi +]) + +dnl AC_VALIDIFY_CXXFLAGS checks for forbidden flags the user may have given +AC_DEFUN([AC_VALIDIFY_CXXFLAGS], +[dnl +if test "x$kde_use_qt_emb" != "xyes"; then + AC_REMOVE_FORBIDDEN(CXX, [-fno-rtti -rpath]) + AC_REMOVE_FORBIDDEN(CXXFLAGS, [-fno-rtti -rpath]) +else + AC_REMOVE_FORBIDDEN(CXX, [-rpath]) + AC_REMOVE_FORBIDDEN(CXXFLAGS, [-rpath]) +fi +]) + +AC_DEFUN([AC_CHECK_COMPILERS], +[ + AC_ARG_ENABLE(debug, + AC_HELP_STRING([--enable-debug=ARG],[enables debug symbols (yes|no|full) [default=no]]), + [ + case $enableval in + yes) + kde_use_debug_code="yes" + kde_use_debug_define=no + ;; + full) + kde_use_debug_code="full" + kde_use_debug_define=no + ;; + *) + kde_use_debug_code="no" + kde_use_debug_define=yes + ;; + esac + ], + [kde_use_debug_code="no" + kde_use_debug_define=no + ]) + + dnl Just for configure --help + AC_ARG_ENABLE(dummyoption, + AC_HELP_STRING([--disable-debug], + [disables debug output and debug symbols [default=no]]), + [],[]) + + AC_ARG_ENABLE(strict, + AC_HELP_STRING([--enable-strict], + [compiles with strict compiler options (may not work!)]), + [ + if test $enableval = "no"; then + kde_use_strict_options="no" + else + kde_use_strict_options="yes" + fi + ], [kde_use_strict_options="no"]) + + AC_ARG_ENABLE(warnings,AC_HELP_STRING([--disable-warnings],[disables compilation with -Wall and similar]), + [ + if test $enableval = "no"; then + kde_use_warnings="no" + else + kde_use_warnings="yes" + fi + ], [kde_use_warnings="yes"]) + + dnl enable warnings for debug build + if test "$kde_use_debug_code" != "no"; then + kde_use_warnings=yes + fi + + AC_ARG_ENABLE(profile,AC_HELP_STRING([--enable-profile],[creates profiling infos [default=no]]), + [kde_use_profiling=$enableval], + [kde_use_profiling="no"] + ) + + dnl this prevents stupid AC_PROG_CC to add "-g" to the default CFLAGS + CFLAGS=" $CFLAGS" + + AC_PROG_CC + + AC_PROG_CPP + + if test "$GCC" = "yes"; then + if test "$kde_use_debug_code" != "no"; then + if test $kde_use_debug_code = "full"; then + CFLAGS="-g3 -fno-inline $CFLAGS" + else + CFLAGS="-g -O2 $CFLAGS" + fi + else + CFLAGS="-O2 $CFLAGS" + fi + fi + + if test "$kde_use_debug_define" = "yes"; then + CFLAGS="-DNDEBUG $CFLAGS" + fi + + + case "$host" in + *-*-sysv4.2uw*) CFLAGS="-D_UNIXWARE $CFLAGS";; + *-*-sysv5uw7*) CFLAGS="-D_UNIXWARE7 $CFLAGS";; + esac + + if test -z "$LDFLAGS" && test "$kde_use_debug_code" = "no" && test "$GCC" = "yes"; then + LDFLAGS="" + fi + + CXXFLAGS=" $CXXFLAGS" + + AC_PROG_CXX + + if test "$GXX" = "yes" || test "$CXX" = "KCC"; then + if test "$kde_use_debug_code" != "no"; then + if test "$CXX" = "KCC"; then + CXXFLAGS="+K0 -Wall -pedantic -W -Wpointer-arith -Wwrite-strings $CXXFLAGS" + else + if test "$kde_use_debug_code" = "full"; then + CXXFLAGS="-g3 -fno-inline $CXXFLAGS" + else + CXXFLAGS="-g -O2 $CXXFLAGS" + fi + fi + KDE_CHECK_COMPILER_FLAG(fno-builtin,[CXXFLAGS="-fno-builtin $CXXFLAGS"]) + + dnl convenience compiler flags + KDE_CHECK_COMPILER_FLAG(Woverloaded-virtual, [WOVERLOADED_VIRTUAL="-Woverloaded-virtual"], [WOVERLOADED_VRITUAL=""]) + AC_SUBST(WOVERLOADED_VIRTUAL) + else + if test "$CXX" = "KCC"; then + CXXFLAGS="+K3 $CXXFLAGS" + else + CXXFLAGS="-O2 $CXXFLAGS" + fi + fi + fi + + if test "$kde_use_debug_define" = "yes"; then + CXXFLAGS="-DNDEBUG -DNO_DEBUG $CXXFLAGS" + fi + + if test "$kde_use_profiling" = "yes"; then + KDE_CHECK_COMPILER_FLAG(pg, + [ + CFLAGS="-pg $CFLAGS" + CXXFLAGS="-pg $CXXFLAGS" + ]) + fi + + if test "$kde_use_warnings" = "yes"; then + if test "$GCC" = "yes"; then + CXXFLAGS="-Wall -W -Wpointer-arith -Wwrite-strings $CXXFLAGS" + case $host in + *-*-linux-gnu) + CFLAGS="-std=iso9899:1990 -W -Wall -Wchar-subscripts -Wshadow -Wpointer-arith -Wmissing-prototypes -Wwrite-strings -D_XOPEN_SOURCE=500 -D_BSD_SOURCE $CFLAGS" + CXXFLAGS="-ansi -D_XOPEN_SOURCE=500 -D_BSD_SOURCE -Wcast-align -Wconversion -Wchar-subscripts $CXXFLAGS" + KDE_CHECK_COMPILER_FLAG(Wmissing-format-attribute, [CXXFLAGS="$CXXFLAGS -Wformat-security -Wmissing-format-attribute"]) + KDE_CHECK_C_COMPILER_FLAG(Wmissing-format-attribute, [CFLAGS="$CFLAGS -Wformat-security -Wmissing-format-attribute"]) + ;; + esac + KDE_CHECK_COMPILER_FLAG(Wundef,[CXXFLAGS="-Wundef $CXXFLAGS"]) + KDE_CHECK_COMPILER_FLAG(Wno-long-long,[CXXFLAGS="-Wno-long-long $CXXFLAGS"]) + KDE_CHECK_COMPILER_FLAG(Wnon-virtual-dtor,[CXXFLAGS="-Wnon-virtual-dtor $CXXFLAGS"]) + fi + fi + + if test "$GXX" = "yes" && test "$kde_use_strict_options" = "yes"; then + CXXFLAGS="-Wcast-qual -Wshadow -Wcast-align $CXXFLAGS" + fi + + AC_ARG_ENABLE(pch, + AC_HELP_STRING([--enable-pch], + [enables precompiled header support (currently only KCC or gcc >=3.4+unsermake) [default=no]]), + [ kde_use_pch=$enableval ],[ kde_use_pch=no ]) + + HAVE_GCC_VISIBILITY=0 + AC_SUBST([HAVE_GCC_VISIBILITY]) + + if test "$GXX" = "yes"; then + KDE_CHECK_COMPILER_FLAG(fno-exceptions,[CXXFLAGS="$CXXFLAGS -fno-exceptions"]) + KDE_CHECK_COMPILER_FLAG(fno-check-new, [CXXFLAGS="$CXXFLAGS -fno-check-new"]) + KDE_CHECK_COMPILER_FLAG(fno-common, [CXXFLAGS="$CXXFLAGS -fno-common"]) + KDE_CHECK_COMPILER_FLAG(fexceptions, [USE_EXCEPTIONS="-fexceptions"], USE_EXCEPTIONS= ) + ENABLE_PERMISSIVE_FLAG="-fpermissive" + + if test "$kde_use_pch" = "yes"; then + AC_MSG_CHECKING(whether gcc supports precompiling c header files) + echo >conftest.h + if $CC -x c-header conftest.h >/dev/null 2>/dev/null; then + kde_gcc_supports_pch=yes + AC_MSG_RESULT(yes) + else + kde_gcc_supports_pch=no + AC_MSG_RESULT(no) + fi + if test "$kde_gcc_supports_pch" = "yes"; then + AC_MSG_CHECKING(whether gcc supports precompiling c++ header files) + if $CXX -x c++-header conftest.h >/dev/null 2>/dev/null; then + kde_gcc_supports_pch=yes + AC_MSG_RESULT(yes) + else + kde_gcc_supports_pch=no + AC_MSG_RESULT(no) + fi + fi + rm -f conftest.h conftest.h.gch + fi + fi + AM_CONDITIONAL(unsermake_enable_pch, test "$kde_use_pch" = "yes" && test "$kde_gcc_supports_pch" = "yes") + if test "$CXX" = "KCC"; then + dnl unfortunately we currently cannot disable exception support in KCC + dnl because doing so is binary incompatible and Qt by default links with exceptions :-( + dnl KDE_CHECK_COMPILER_FLAG(-no_exceptions,[CXXFLAGS="$CXXFLAGS --no_exceptions"]) + dnl KDE_CHECK_COMPILER_FLAG(-exceptions, [USE_EXCEPTIONS="--exceptions"], USE_EXCEPTIONS= ) + + if test "$kde_use_pch" = "yes"; then + dnl TODO: support --pch-dir! + KDE_CHECK_COMPILER_FLAG(-pch,[CXXFLAGS="$CXXFLAGS --pch"]) + dnl the below works (but the dir must exist), but it's + dnl useless for a whole package. + dnl The are precompiled headers for each source file, so when compiling + dnl from scratch, it doesn't make a difference, and they take up + dnl around ~5Mb _per_ sourcefile. + dnl KDE_CHECK_COMPILER_FLAG(-pch_dir /tmp, + dnl [CXXFLAGS="$CXXFLAGS --pch_dir `pwd`/pcheaders"]) + fi + dnl this flag controls inlining. by default KCC inlines in optimisation mode + dnl all implementations that are defined inside the class {} declaration. + dnl because of templates-compatibility with broken gcc compilers, this + dnl can cause excessive inlining. This flag limits it to a sane level + KDE_CHECK_COMPILER_FLAG(-inline_keyword_space_time=6,[CXXFLAGS="$CXXFLAGS --inline_keyword_space_time=6"]) + KDE_CHECK_COMPILER_FLAG(-inline_auto_space_time=2,[CXXFLAGS="$CXXFLAGS --inline_auto_space_time=2"]) + KDE_CHECK_COMPILER_FLAG(-inline_implicit_space_time=2.0,[CXXFLAGS="$CXXFLAGS --inline_implicit_space_time=2.0"]) + KDE_CHECK_COMPILER_FLAG(-inline_generated_space_time=2.0,[CXXFLAGS="$CXXFLAGS --inline_generated_space_time=2.0"]) + dnl Some source files are shared between multiple executables + dnl (or libraries) and some of those need template instantiations. + dnl In that case KCC needs to compile those sources with + dnl --one_instantiation_per_object. To make it easy for us we compile + dnl _all_ objects with that flag (--one_per is a shorthand). + KDE_CHECK_COMPILER_FLAG(-one_per, [CXXFLAGS="$CXXFLAGS --one_per"]) + fi + AC_SUBST(USE_EXCEPTIONS) + dnl obsolete macro - provided to keep things going + USE_RTTI= + AC_SUBST(USE_RTTI) + + case "$host" in + *-*-irix*) test "$GXX" = yes && CXXFLAGS="-D_LANGUAGE_C_PLUS_PLUS -D__LANGUAGE_C_PLUS_PLUS $CXXFLAGS" ;; + *-*-sysv4.2uw*) CXXFLAGS="-D_UNIXWARE $CXXFLAGS";; + *-*-sysv5uw7*) CXXFLAGS="-D_UNIXWARE7 $CXXFLAGS";; + *-*-solaris*) + if test "$GXX" = yes; then + libstdcpp=`$CXX -print-file-name=libstdc++.so` + if test ! -f $libstdcpp; then + AC_MSG_ERROR([You've compiled gcc without --enable-shared. This doesn't work with KDE. Please recompile gcc with --enable-shared to receive a libstdc++.so]) + fi + fi + ;; + esac + + AC_VALIDIFY_CXXFLAGS + + AC_PROG_CXXCPP + + if test "$GCC" = yes; then + NOOPT_CFLAGS=-O0 + fi + KDE_CHECK_COMPILER_FLAG(O0,[NOOPT_CXXFLAGS=-O0]) + + AC_ARG_ENABLE(coverage, + AC_HELP_STRING([--enable-coverage],[use gcc coverage testing]), [ + if test "$am_cv_CC_dependencies_compiler_type" = "gcc3"; then + ac_coverage_compiler="-fprofile-arcs -ftest-coverage" + ac_coverage_linker="-lgcc" + elif test "$am_cv_CC_dependencies_compiler_type" = "gcc"; then + ac_coverage_compiler="-fprofile-arcs -ftest-coverage" + ac_coverage_linker="" + else + AC_MSG_ERROR([coverage with your compiler is not supported]) + fi + CFLAGS="$CFLAGS $ac_coverage_compiler" + CXXFLAGS="$CXXFLAGS $ac_coverage_compiler" + LDFLAGS="$LDFLAGS $ac_coverage_linker" + ]) + + AC_SUBST(NOOPT_CXXFLAGS) + AC_SUBST(NOOPT_CFLAGS) + AC_SUBST(ENABLE_PERMISSIVE_FLAG) + + KDE_CHECK_NEW_LDFLAGS + KDE_CHECK_FINAL + KDE_CHECK_CLOSURE + KDE_CHECK_NMCHECK + + ifdef([AM_DEPENDENCIES], AC_REQUIRE([KDE_ADD_DEPENDENCIES]), []) +]) + +AC_DEFUN([KDE_CHECK_VISIBILITY_GCC_BUG], + [ + AC_CACHE_CHECK([for gcc -fvisibility-inlines-hidden bug], kde_cv_val_gcc_visibility_bug, + [ + AC_LANG_SAVE + AC_LANG_CPLUSPLUS + + safe_CXXFLAGS=$CXXFLAGS + safe_LDFLAGS=$LDFLAGS + CXXFLAGS="$CXXFLAGS -fPIC -fvisibility-inlines-hidden -O0" + LDFLAGS="$LDFLAGS -shared -fPIC" + + AC_TRY_LINK( + [ + /* http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19664 */ + #include + int some_function( void ) __attribute__ ((visibility("default"))); + int some_function( void ) + { + std::string s("blafasel"); + return 0; + } + ], [/* elvis is alive */], + kde_cv_val_gcc_visibility_bug=no, kde_cv_val_gcc_visibility_bug=yes) + + CXXFLAGS=$safe_CXXFLAGS + LDFLAGS=$safe_LDFLAGS + AC_LANG_RESTORE + ] + ) + + if test x$kde_cv_val_gcc_visibility_bug = xno; then + CXXFLAGS="$CXXFLAGS -fvisibility-inlines-hidden" + fi + ] +) + +AC_DEFUN([KDE_CHECK_AND_ADD_HIDDEN_VISIBILITY], +[ + if test "$GXX" = "yes"; then + KDE_CHECK_COMPILER_FLAG(fvisibility=hidden, + [ + CXXFLAGS="$CXXFLAGS -fvisibility=hidden" + KDE_CHECK_VISIBILITY_GCC_BUG + + HAVE_GCC_VISIBILITY=1 + AC_DEFINE_UNQUOTED(__KDE_HAVE_GCC_VISIBILITY, "$HAVE_GCC_VISIBILITY", [define to 1 if -fvisibility is supported]) + ]) + fi +]) + +AC_DEFUN([KDE_ENABLE_HIDDEN_VISIBILITY], +[ + AC_REQUIRE([KDE_CHECK_AND_ADD_HIDDEN_VISIBILITY]) +]) + +AC_DEFUN([KDE_ADD_DEPENDENCIES], +[ + [A]M_DEPENDENCIES(CC) + [A]M_DEPENDENCIES(CXX) +]) + +dnl just a wrapper to clean up configure.in +AC_DEFUN([KDE_PROG_LIBTOOL], +[ +AC_REQUIRE([AC_CHECK_COMPILERS]) +AC_REQUIRE([AC_ENABLE_SHARED]) +AC_REQUIRE([AC_ENABLE_STATIC]) + +AC_REQUIRE([AC_LIBTOOL_DLOPEN]) +AC_REQUIRE([KDE_CHECK_LIB64]) + +AC_OBJEXT +AC_EXEEXT + +AM_PROG_LIBTOOL +AC_LIBTOOL_CXX + +LIBTOOL_SHELL="/bin/sh ./libtool" +# LIBTOOL="$LIBTOOL --silent" +KDE_PLUGIN="-avoid-version -module -no-undefined \$(KDE_NO_UNDEFINED) \$(KDE_RPATH) \$(KDE_MT_LDFLAGS)" +AC_SUBST(KDE_PLUGIN) + +# we patch configure quite some so we better keep that consistent for incremental runs +AC_SUBST(AUTOCONF,'$(SHELL) $(top_srcdir)/admin/cvs.sh configure || touch configure') +]) + +AC_DEFUN([KDE_CHECK_LIB64], +[ + kdelibsuff="$kde_libs_suffix" + if test -z "$kdelibsuff"; then + kdelibsuff=no + fi + AC_ARG_ENABLE(libsuffix, + AC_HELP_STRING([--enable-libsuffix], + [/lib directory suffix (64,32,none[=default])]), + kdelibsuff=$enableval) + # TODO: add an auto case that compiles a little C app to check + # where the glibc is + if test "$kdelibsuff" = "no"; then + kdelibsuff= + fi + if test -z "$kdelibsuff"; then + AC_MSG_RESULT([not using lib directory suffix]) + AC_DEFINE(KDELIBSUFF, [""], Suffix for lib directories) + else + if test "$libdir" = '${exec_prefix}/lib'; then + libdir="$libdir${kdelibsuff}" + AC_SUBST([libdir], ["$libdir"]) dnl ugly hack for lib64 platforms + fi + AC_DEFINE_UNQUOTED(KDELIBSUFF, ["${kdelibsuff}"], Suffix for lib directories) + AC_MSG_RESULT([using lib directory suffix $kdelibsuff]) + fi +]) + +AC_DEFUN([KDE_CHECK_TYPES], +[ AC_CHECK_SIZEOF(int, 4)dnl + AC_CHECK_SIZEOF(short)dnl + AC_CHECK_SIZEOF(long, 4)dnl + AC_CHECK_SIZEOF(char *, 4)dnl +])dnl + +dnl Not used - kept for compat only? +AC_DEFUN([KDE_DO_IT_ALL], +[ +AC_CANONICAL_SYSTEM +AC_ARG_PROGRAM +AM_INIT_AUTOMAKE($1, $2) +AM_DISABLE_LIBRARIES +AC_PREFIX_DEFAULT(${KDEDIR:-/usr/local/kde}) +AC_CHECK_COMPILERS +KDE_PROG_LIBTOOL +AM_KDE_WITH_NLS +AC_PATH_KDE +]) + +AC_DEFUN([AC_CHECK_RPATH], +[ +AC_MSG_CHECKING(for rpath) +AC_ARG_ENABLE(rpath, + AC_HELP_STRING([--disable-rpath],[do not use the rpath feature of ld]), + USE_RPATH=$enableval, USE_RPATH=yes) + +if test -z "$KDE_RPATH" && test "$USE_RPATH" = "yes"; then + + KDE_RPATH="-R \$(libdir)" + + if test "$kde_libraries" != "$libdir"; then + KDE_RPATH="$KDE_RPATH -R \$(kde_libraries)" + fi + + if test -n "$qt_libraries"; then + KDE_RPATH="$KDE_RPATH -R \$(qt_libraries)" + fi + dnl $x_libraries is set to /usr/lib in case + if test -n "$X_LDFLAGS"; then + X_RPATH="-R \$(x_libraries)" + KDE_RPATH="$KDE_RPATH $X_RPATH" + fi + if test -n "$KDE_EXTRA_RPATH"; then + KDE_RPATH="$KDE_RPATH \$(KDE_EXTRA_RPATH)" + fi +fi +AC_SUBST(KDE_EXTRA_RPATH) +AC_SUBST(KDE_RPATH) +AC_SUBST(X_RPATH) +AC_MSG_RESULT($USE_RPATH) +]) + +dnl Check for the type of the third argument of getsockname +AC_DEFUN([AC_CHECK_SOCKLEN_T], +[ + AC_MSG_CHECKING(for socklen_t) + AC_CACHE_VAL(kde_cv_socklen_t, + [ + AC_LANG_PUSH(C++) + kde_cv_socklen_t=no + AC_TRY_COMPILE([ + #include + #include + ], + [ + socklen_t len; + getpeername(0,0,&len); + ], + [ + kde_cv_socklen_t=yes + kde_cv_socklen_t_equiv=socklen_t + ]) + AC_LANG_POP(C++) + ]) + AC_MSG_RESULT($kde_cv_socklen_t) + if test $kde_cv_socklen_t = no; then + AC_MSG_CHECKING([for socklen_t equivalent for socket functions]) + AC_CACHE_VAL(kde_cv_socklen_t_equiv, + [ + kde_cv_socklen_t_equiv=int + AC_LANG_PUSH(C++) + for t in int size_t unsigned long "unsigned long"; do + AC_TRY_COMPILE([ + #include + #include + ], + [ + $t len; + getpeername(0,0,&len); + ], + [ + kde_cv_socklen_t_equiv="$t" + break + ]) + done + AC_LANG_POP(C++) + ]) + AC_MSG_RESULT($kde_cv_socklen_t_equiv) + fi + AC_DEFINE_UNQUOTED(kde_socklen_t, $kde_cv_socklen_t_equiv, + [type to use in place of socklen_t if not defined]) + AC_DEFINE_UNQUOTED(ksize_t, $kde_cv_socklen_t_equiv, + [type to use in place of socklen_t if not defined (deprecated, use kde_socklen_t)]) +]) + +dnl This is a merge of some macros out of the gettext aclocal.m4 +dnl since we don't need anything, I took the things we need +dnl the copyright for them is: +dnl > +dnl Copyright (C) 1994, 1995, 1996, 1997, 1998 Free Software Foundation, Inc. +dnl This Makefile.in is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +dnl This program is distributed in the hope that it will be useful, +dnl but WITHOUT ANY WARRANTY, to the extent permitted by law; without +dnl even the implied warranty of MERCHANTABILITY or FITNESS FOR A +dnl PARTICULAR PURPOSE. +dnl > +dnl for this file it is relicensed under LGPL + +AC_DEFUN([AM_KDE_WITH_NLS], + [ + dnl If we use NLS figure out what method + + AM_PATH_PROG_WITH_TEST_KDE(MSGFMT, msgfmt, + [test -n "`$ac_dir/$ac_word --version 2>&1 | grep 'GNU gettext'`"], msgfmt) + AC_PATH_PROG(GMSGFMT, gmsgfmt, $MSGFMT) + + if test -z "`$GMSGFMT --version 2>&1 | grep 'GNU gettext'`"; then + AC_MSG_RESULT([found msgfmt program is not GNU msgfmt; ignore it]) + GMSGFMT=":" + fi + MSGFMT=$GMSGFMT + AC_SUBST(GMSGFMT) + AC_SUBST(MSGFMT) + + AM_PATH_PROG_WITH_TEST_KDE(XGETTEXT, xgettext, + [test -z "`$ac_dir/$ac_word -h 2>&1 | grep '(HELP)'`"], :) + + dnl Test whether we really found GNU xgettext. + if test "$XGETTEXT" != ":"; then + dnl If it is no GNU xgettext we define it as : so that the + dnl Makefiles still can work. + if $XGETTEXT --omit-header /dev/null 2> /dev/null; then + : ; + else + AC_MSG_RESULT( + [found xgettext programs is not GNU xgettext; ignore it]) + XGETTEXT=":" + fi + fi + AC_SUBST(XGETTEXT) + + ]) + +# Search path for a program which passes the given test. +# Ulrich Drepper , 1996. + +# serial 1 +# Stephan Kulow: I appended a _KDE against name conflicts + +dnl AM_PATH_PROG_WITH_TEST_KDE(VARIABLE, PROG-TO-CHECK-FOR, +dnl TEST-PERFORMED-ON-FOUND_PROGRAM [, VALUE-IF-NOT-FOUND [, PATH]]) +AC_DEFUN([AM_PATH_PROG_WITH_TEST_KDE], +[# Extract the first word of "$2", so it can be a program name with args. +set dummy $2; ac_word=[$]2 +AC_MSG_CHECKING([for $ac_word]) +AC_CACHE_VAL(ac_cv_path_$1, +[case "[$]$1" in + /*) + ac_cv_path_$1="[$]$1" # Let the user override the test with a path. + ;; + *) + IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:" + for ac_dir in ifelse([$5], , $PATH, [$5]); do + test -z "$ac_dir" && ac_dir=. + if test -f $ac_dir/$ac_word; then + if [$3]; then + ac_cv_path_$1="$ac_dir/$ac_word" + break + fi + fi + done + IFS="$ac_save_ifs" +dnl If no 4th arg is given, leave the cache variable unset, +dnl so AC_PATH_PROGS will keep looking. +ifelse([$4], , , [ test -z "[$]ac_cv_path_$1" && ac_cv_path_$1="$4" +])dnl + ;; +esac])dnl +$1="$ac_cv_path_$1" +if test -n "[$]$1"; then + AC_MSG_RESULT([$]$1) +else + AC_MSG_RESULT(no) +fi +AC_SUBST($1)dnl +]) + + +# Check whether LC_MESSAGES is available in . +# Ulrich Drepper , 1995. + +# serial 1 + +AC_DEFUN([AM_LC_MESSAGES], + [if test $ac_cv_header_locale_h = yes; then + AC_CACHE_CHECK([for LC_MESSAGES], am_cv_val_LC_MESSAGES, + [AC_TRY_LINK([#include ], [return LC_MESSAGES], + am_cv_val_LC_MESSAGES=yes, am_cv_val_LC_MESSAGES=no)]) + if test $am_cv_val_LC_MESSAGES = yes; then + AC_DEFINE(HAVE_LC_MESSAGES, 1, [Define if your locale.h file contains LC_MESSAGES]) + fi + fi]) + +dnl From Jim Meyering. +dnl FIXME: migrate into libit. + +AC_DEFUN([AM_FUNC_OBSTACK], +[AC_CACHE_CHECK([for obstacks], am_cv_func_obstack, + [AC_TRY_LINK([#include "obstack.h"], + [struct obstack *mem;obstack_free(mem,(char *) 0)], + am_cv_func_obstack=yes, + am_cv_func_obstack=no)]) + if test $am_cv_func_obstack = yes; then + AC_DEFINE(HAVE_OBSTACK) + else + LIBOBJS="$LIBOBJS obstack.o" + fi +]) + +dnl From Jim Meyering. Use this if you use the GNU error.[ch]. +dnl FIXME: Migrate into libit + +AC_DEFUN([AM_FUNC_ERROR_AT_LINE], +[AC_CACHE_CHECK([for error_at_line], am_cv_lib_error_at_line, + [AC_TRY_LINK([],[error_at_line(0, 0, "", 0, "");], + am_cv_lib_error_at_line=yes, + am_cv_lib_error_at_line=no)]) + if test $am_cv_lib_error_at_line = no; then + LIBOBJS="$LIBOBJS error.o" + fi + AC_SUBST(LIBOBJS)dnl +]) + +# Macro to add for using GNU gettext. +# Ulrich Drepper , 1995. + +# serial 1 +# Stephan Kulow: I put a KDE in it to avoid name conflicts + +AC_DEFUN([AM_KDE_GNU_GETTEXT], + [AC_REQUIRE([AC_PROG_MAKE_SET])dnl + AC_REQUIRE([AC_PROG_RANLIB])dnl + AC_REQUIRE([AC_HEADER_STDC])dnl + AC_REQUIRE([AC_TYPE_OFF_T])dnl + AC_REQUIRE([AC_TYPE_SIZE_T])dnl + AC_REQUIRE([AC_FUNC_ALLOCA])dnl + AC_REQUIRE([AC_FUNC_MMAP])dnl + AC_REQUIRE([AM_KDE_WITH_NLS])dnl + AC_CHECK_HEADERS([limits.h locale.h nl_types.h string.h values.h alloca.h]) + AC_CHECK_FUNCS([getcwd munmap putenv setlocale strchr strcasecmp \ +__argz_count __argz_stringify __argz_next]) + + AC_MSG_CHECKING(for stpcpy) + AC_CACHE_VAL(kde_cv_func_stpcpy, + [ + kde_safe_cxxflags=$CXXFLAGS + CXXFLAGS="-Werror" + AC_LANG_SAVE + AC_LANG_CPLUSPLUS + AC_TRY_COMPILE([ + #include + ], + [ + char buffer[200]; + stpcpy(buffer, buffer); + ], + kde_cv_func_stpcpy=yes, + kde_cv_func_stpcpy=no) + AC_LANG_RESTORE + CXXFLAGS=$kde_safe_cxxflags + ]) + AC_MSG_RESULT($kde_cv_func_stpcpy) + if eval "test \"`echo $kde_cv_func_stpcpy`\" = yes"; then + AC_DEFINE(HAVE_STPCPY, 1, [Define if you have stpcpy]) + fi + + AM_LC_MESSAGES + + if test "x$CATOBJEXT" != "x"; then + if test "x$ALL_LINGUAS" = "x"; then + LINGUAS= + else + AC_MSG_CHECKING(for catalogs to be installed) + NEW_LINGUAS= + for lang in ${LINGUAS=$ALL_LINGUAS}; do + case "$ALL_LINGUAS" in + *$lang*) NEW_LINGUAS="$NEW_LINGUAS $lang" ;; + esac + done + LINGUAS=$NEW_LINGUAS + AC_MSG_RESULT($LINGUAS) + fi + + dnl Construct list of names of catalog files to be constructed. + if test -n "$LINGUAS"; then + for lang in $LINGUAS; do CATALOGS="$CATALOGS $lang$CATOBJEXT"; done + fi + fi + + ]) + +AC_DEFUN([AC_HAVE_XPM], + [AC_REQUIRE_CPP()dnl + AC_REQUIRE([KDE_CHECK_EXTRA_LIBS]) + + test -z "$XPM_LDFLAGS" && XPM_LDFLAGS= + test -z "$XPM_INCLUDE" && XPM_INCLUDE= + + AC_ARG_WITH(xpm,AC_HELP_STRING([--without-xpm],[disable color pixmap XPM tests]), + xpm_test=$withval, xpm_test="yes") + if test "x$xpm_test" = xno; then + ac_cv_have_xpm=no + else + AC_MSG_CHECKING(for XPM) + AC_CACHE_VAL(ac_cv_have_xpm, + [ + ac_save_ldflags="$LDFLAGS" + ac_save_cflags="$CFLAGS" + if test "x$kde_use_qt_emb" != "xyes" && test "x$kde_use_qt_mac" != "xyes"; then + LDFLAGS="$LDFLAGS $X_LDFLAGS $USER_LDFLAGS $LDFLAGS $XPM_LDFLAGS $all_libraries -lXpm -lX11 -lXext $LIBZ $LIBSOCKET" + else + LDFLAGS="$LDFLAGS $X_LDFLAGS $USER_LDFLAGS $LDFLAGS $XPM_LDFLAGS $all_libraries -lXpm $LIBZ $LIBSOCKET" + fi + CFLAGS="$CFLAGS $X_INCLUDES $USER_INCLUDES" + test -n "$XPM_INCLUDE" && CFLAGS="-I$XPM_INCLUDE $CFLAGS" + AC_TRY_LINK([#include ],[], + ac_cv_have_xpm="yes",ac_cv_have_xpm="no") + LDFLAGS="$ac_save_ldflags" + CFLAGS="$ac_save_cflags" + ])dnl + + if test "$ac_cv_have_xpm" = no; then + AC_MSG_RESULT(no) + XPM_LDFLAGS="" + XPMINC="" + $2 + else + AC_DEFINE(HAVE_XPM, 1, [Define if you have XPM support]) + if test "$XPM_LDFLAGS" = ""; then + XPMLIB='-lXpm $(LIB_X11)' + else + XPMLIB="-L$XPM_LDFLAGS -lXpm "'$(LIB_X11)' + fi + if test "$XPM_INCLUDE" = ""; then + XPMINC="" + else + XPMINC="-I$XPM_INCLUDE" + fi + AC_MSG_RESULT(yes) + $1 + fi + fi + AC_SUBST(XPMINC) + AC_SUBST(XPMLIB) +]) + +AC_DEFUN([AC_HAVE_DPMS], + [AC_REQUIRE_CPP()dnl + AC_REQUIRE([KDE_CHECK_EXTRA_LIBS]) + + test -z "$DPMS_LDFLAGS" && DPMS_LDFLAGS= + test -z "$DPMS_INCLUDE" && DPMS_INCLUDE= + DPMS_LIB= + + AC_ARG_WITH(dpms,AC_HELP_STRING([--without-dpms],[disable DPMS power saving]), + dpms_test=$withval, dpms_test="yes") + if test "x$dpms_test" = xno; then + ac_cv_have_dpms=no + else + AC_MSG_CHECKING(for DPMS) + dnl Note: ac_cv_have_dpms can be no, yes, or -lXdpms. + dnl 'yes' means DPMS_LIB="", '-lXdpms' means DPMS_LIB="-lXdpms". + AC_CACHE_VAL(ac_cv_have_dpms, + [ + if test "x$kde_use_qt_emb" = "xyes" || test "x$kde_use_qt_mac" = "xyes"; then + AC_MSG_RESULT(no) + ac_cv_have_dpms="no" + else + ac_save_ldflags="$LDFLAGS" + ac_save_cflags="$CFLAGS" + ac_save_libs="$LIBS" + LDFLAGS="$LDFLAGS $DPMS_LDFLAGS $all_libraries -lX11 -lXext $LIBSOCKET" + CFLAGS="$CFLAGS $X_INCLUDES" + test -n "$DPMS_INCLUDE" && CFLAGS="-I$DPMS_INCLUDE $CFLAGS" + AC_TRY_LINK([ + #include + #include + #include + #include + int foo_test_dpms() + { return DPMSSetTimeouts( 0, 0, 0, 0 ); }],[], + ac_cv_have_dpms="yes", [ + LDFLAGS="$ac_save_ldflags" + CFLAGS="$ac_save_cflags" + LDFLAGS="$LDFLAGS $DPMS_LDFLAGS $all_libraries -lX11 -lXext $LIBSOCKET" + LIBS="$LIBS -lXdpms" + CFLAGS="$CFLAGS $X_INCLUDES" + test -n "$DPMS_INCLUDE" && CFLAGS="-I$DPMS_INCLUDE $CFLAGS" + AC_TRY_LINK([ + #include + #include + #include + #include + int foo_test_dpms() + { return DPMSSetTimeouts( 0, 0, 0, 0 ); }],[], + [ + ac_cv_have_dpms="-lXdpms" + ],ac_cv_have_dpms="no") + ]) + LDFLAGS="$ac_save_ldflags" + CFLAGS="$ac_save_cflags" + LIBS="$ac_save_libs" + fi + ])dnl + + if test "$ac_cv_have_dpms" = no; then + AC_MSG_RESULT(no) + DPMS_LDFLAGS="" + DPMSINC="" + $2 + else + AC_DEFINE(HAVE_DPMS, 1, [Define if you have DPMS support]) + if test "$ac_cv_have_dpms" = "-lXdpms"; then + DPMS_LIB="-lXdpms" + fi + if test "$DPMS_LDFLAGS" = ""; then + DPMSLIB="$DPMS_LIB "'$(LIB_X11)' + else + DPMSLIB="$DPMS_LDFLAGS $DPMS_LIB "'$(LIB_X11)' + fi + if test "$DPMS_INCLUDE" = ""; then + DPMSINC="" + else + DPMSINC="-I$DPMS_INCLUDE" + fi + AC_MSG_RESULT(yes) + $1 + fi + fi + ac_save_cflags="$CFLAGS" + CFLAGS="$CFLAGS $X_INCLUDES" + test -n "$DPMS_INCLUDE" && CFLAGS="-I$DPMS_INCLUDE $CFLAGS" + AH_TEMPLATE(HAVE_DPMSCAPABLE_PROTO, + [Define if you have the DPMSCapable prototype in ]) + AC_CHECK_DECL(DPMSCapable, + AC_DEFINE(HAVE_DPMSCAPABLE_PROTO),, + [#include ]) + AH_TEMPLATE(HAVE_DPMSINFO_PROTO, + [Define if you have the DPMSInfo prototype in ]) + AC_CHECK_DECL(DPMSInfo, + AC_DEFINE(HAVE_DPMSINFO_PROTO),, + [#include ]) + CFLAGS="$ac_save_cflags" + AC_SUBST(DPMSINC) + AC_SUBST(DPMSLIB) +]) + +AC_DEFUN([AC_HAVE_GL], + [AC_REQUIRE_CPP()dnl + AC_REQUIRE([KDE_CHECK_EXTRA_LIBS]) + + test -z "$GL_LDFLAGS" && GL_LDFLAGS= + test -z "$GL_INCLUDE" && GL_INCLUDE= + + AC_ARG_WITH(gl,AC_HELP_STRING([--without-gl],[disable 3D GL modes]), + gl_test=$withval, gl_test="yes") + if test "x$kde_use_qt_emb" = "xyes"; then + # GL and Qt Embedded is a no-go for now. + ac_cv_have_gl=no + elif test "x$gl_test" = xno; then + ac_cv_have_gl=no + else + AC_MSG_CHECKING(for GL) + AC_CACHE_VAL(ac_cv_have_gl, + [ + AC_LANG_SAVE + AC_LANG_CPLUSPLUS + ac_save_ldflags=$LDFLAGS + ac_save_cxxflags=$CXXFLAGS + ac_save_libs=$LIBS + LDFLAGS="$LDFLAGS $GL_LDFLAGS $X_LDFLAGS $all_libraries" + LIBS="$LIBS -lGL -lGLU" + test "x$kde_use_qt_mac" != xyes && test "x$kde_use_qt_emb" != xyes && LIBS="$LIBS -lX11" + LIBS="$LIBS $LIB_XEXT -lm $LIBSOCKET" + CXXFLAGS="$CFLAGS $X_INCLUDES" + test -n "$GL_INCLUDE" && CFLAGS="-I$GL_INCLUDE $CFLAGS" + AC_TRY_LINK([#include +#include +], [], + ac_cv_have_gl="yes", ac_cv_have_gl="no") + AC_LANG_RESTORE + LDFLAGS=$ac_save_ldflags + CXXFLAGS=$ac_save_cxxflags + LIBS=$ac_save_libs + ])dnl + + if test "$ac_cv_have_gl" = "no"; then + AC_MSG_RESULT(no) + GL_LDFLAGS="" + GLINC="" + $2 + else + AC_DEFINE(HAVE_GL, 1, [Defines if you have GL (Mesa, OpenGL, ...)]) + if test "$GL_LDFLAGS" = ""; then + GLLIB='-lGLU -lGL $(LIB_X11)' + else + GLLIB="$GL_LDFLAGS -lGLU -lGL "'$(LIB_X11)' + fi + if test "$GL_INCLUDE" = ""; then + GLINC="" + else + GLINC="-I$GL_INCLUDE" + fi + AC_MSG_RESULT($ac_cv_have_gl) + $1 + fi + fi + AC_SUBST(GLINC) + AC_SUBST(GLLIB) +]) + + + dnl shadow password and PAM magic - maintained by ossi@kde.org + +AC_DEFUN([KDE_PAM], [ + AC_REQUIRE([KDE_CHECK_LIBDL]) + + want_pam= + AC_ARG_WITH(pam, + AC_HELP_STRING([--with-pam[=ARG]],[enable support for PAM: ARG=[yes|no|service name]]), + [ if test "x$withval" = "xyes"; then + want_pam=yes + pam_service=kde + elif test "x$withval" = "xno"; then + want_pam=no + else + want_pam=yes + pam_service=$withval + fi + ], [ pam_service=kde ]) + + use_pam= + PAMLIBS= + if test "x$want_pam" != xno; then + AC_CHECK_LIB(pam, pam_start, [ + AC_CHECK_HEADER(security/pam_appl.h, + [ pam_header=security/pam_appl.h ], + [ AC_CHECK_HEADER(pam/pam_appl.h, + [ pam_header=pam/pam_appl.h ], + [ + AC_MSG_WARN([PAM detected, but no headers found! +Make sure you have the necessary development packages installed.]) + ] + ) + ] + ) + ], , $LIBDL) + if test -z "$pam_header"; then + if test "x$want_pam" = xyes; then + AC_MSG_ERROR([--with-pam was specified, but cannot compile with PAM!]) + fi + else + AC_DEFINE(HAVE_PAM, 1, [Defines if you have PAM (Pluggable Authentication Modules)]) + PAMLIBS="$PAM_MISC_LIB -lpam $LIBDL" + use_pam=yes + + dnl darwin claims to be something special + if test "$pam_header" = "pam/pam_appl.h"; then + AC_DEFINE(HAVE_PAM_PAM_APPL_H, 1, [Define if your PAM headers are in pam/ instead of security/]) + fi + + dnl test whether struct pam_message is const (Linux) or not (Sun) + AC_MSG_CHECKING(for const pam_message) + AC_EGREP_HEADER([struct pam_message], $pam_header, + [ AC_EGREP_HEADER([const struct pam_message], $pam_header, + [AC_MSG_RESULT([const: Linux-type PAM])], + [AC_MSG_RESULT([nonconst: Sun-type PAM]) + AC_DEFINE(PAM_MESSAGE_NONCONST, 1, [Define if your PAM support takes non-const arguments (Solaris)])] + )], + [AC_MSG_RESULT([not found - assume const, Linux-type PAM])]) + fi + fi + + AC_SUBST(PAMLIBS) +]) + +dnl DEF_PAM_SERVICE(arg name, full name, define name) +AC_DEFUN([DEF_PAM_SERVICE], [ + AC_ARG_WITH($1-pam, + AC_HELP_STRING([--with-$1-pam=[val]],[override PAM service from --with-pam for $2]), + [ if test "x$use_pam" = xyes; then + $3_PAM_SERVICE=$withval + else + AC_MSG_ERROR([Cannot use use --with-$1-pam, as no PAM was detected. +You may want to enforce it by using --with-pam.]) + fi + ], + [ if test "x$use_pam" = xyes; then + $3_PAM_SERVICE="$pam_service" + fi + ]) + if test -n "$$3_PAM_SERVICE"; then + AC_MSG_RESULT([The PAM service used by $2 will be $$3_PAM_SERVICE]) + AC_DEFINE_UNQUOTED($3_PAM_SERVICE, "$$3_PAM_SERVICE", [The PAM service to be used by $2]) + fi + AC_SUBST($3_PAM_SERVICE) +]) + +AC_DEFUN([KDE_SHADOWPASSWD], [ + AC_REQUIRE([KDE_PAM]) + + AC_CHECK_LIB(shadow, getspent, + [ LIBSHADOW="-lshadow" + ac_use_shadow=yes + ], + [ dnl for UnixWare + AC_CHECK_LIB(gen, getspent, + [ LIBGEN="-lgen" + ac_use_shadow=yes + ], + [ AC_CHECK_FUNC(getspent, + [ ac_use_shadow=yes ], + [ ac_use_shadow=no ]) + ]) + ]) + AC_SUBST(LIBSHADOW) + AC_SUBST(LIBGEN) + + AC_MSG_CHECKING([for shadow passwords]) + + AC_ARG_WITH(shadow, + AC_HELP_STRING([--with-shadow],[If you want shadow password support]), + [ if test "x$withval" != "xno"; then + use_shadow=yes + else + use_shadow=no + fi + ], [ + use_shadow="$ac_use_shadow" + ]) + + if test "x$use_shadow" = xyes; then + AC_MSG_RESULT(yes) + AC_DEFINE(HAVE_SHADOW, 1, [Define if you use shadow passwords]) + else + AC_MSG_RESULT(no) + LIBSHADOW= + LIBGEN= + fi + + dnl finally make the relevant binaries setuid root, if we have shadow passwds. + dnl this still applies, if we could use it indirectly through pam. + if test "x$use_shadow" = xyes || + ( test "x$use_pam" = xyes && test "x$ac_use_shadow" = xyes ); then + case $host in + *-*-freebsd* | *-*-netbsd* | *-*-openbsd*) + SETUIDFLAGS="-m 4755 -o root";; + *) + SETUIDFLAGS="-m 4755";; + esac + fi + AC_SUBST(SETUIDFLAGS) + +]) + +AC_DEFUN([KDE_PASSWDLIBS], [ + AC_REQUIRE([KDE_MISC_TESTS]) dnl for LIBCRYPT + AC_REQUIRE([KDE_PAM]) + AC_REQUIRE([KDE_SHADOWPASSWD]) + + if test "x$use_pam" = "xyes"; then + PASSWDLIBS="$PAMLIBS" + else + PASSWDLIBS="$LIBCRYPT $LIBSHADOW $LIBGEN" + fi + + dnl FreeBSD uses a shadow-like setup, where /etc/passwd holds the users, but + dnl /etc/master.passwd holds the actual passwords. /etc/master.passwd requires + dnl root to read, so kcheckpass needs to be root (even when using pam, since pam + dnl may need to read /etc/master.passwd). + case $host in + *-*-freebsd*) + SETUIDFLAGS="-m 4755 -o root" + ;; + *) + ;; + esac + + AC_SUBST(PASSWDLIBS) +]) + +AC_DEFUN([KDE_CHECK_LIBDL], +[ +AC_CHECK_LIB(dl, dlopen, [ +LIBDL="-ldl" +ac_cv_have_dlfcn=yes +]) + +AC_CHECK_LIB(dld, shl_unload, [ +LIBDL="-ldld" +ac_cv_have_shload=yes +]) + +AC_SUBST(LIBDL) +]) + +AC_DEFUN([KDE_CHECK_DLOPEN], +[ +KDE_CHECK_LIBDL +AC_CHECK_HEADERS(dlfcn.h dl.h) +if test "$ac_cv_header_dlfcn_h" = "no"; then + ac_cv_have_dlfcn=no +fi + +if test "$ac_cv_header_dl_h" = "no"; then + ac_cv_have_shload=no +fi + +dnl XXX why change enable_dlopen? its already set by autoconf's AC_ARG_ENABLE +dnl (MM) +AC_ARG_ENABLE(dlopen, +AC_HELP_STRING([--disable-dlopen],[link statically [default=no]]), +enable_dlopen=$enableval, +enable_dlopen=yes) + +# override the user's opinion, if we know it better ;) +if test "$ac_cv_have_dlfcn" = "no" && test "$ac_cv_have_shload" = "no"; then + enable_dlopen=no +fi + +if test "$ac_cv_have_dlfcn" = "yes"; then + AC_DEFINE_UNQUOTED(HAVE_DLFCN, 1, [Define if you have dlfcn]) +fi + +if test "$ac_cv_have_shload" = "yes"; then + AC_DEFINE_UNQUOTED(HAVE_SHLOAD, 1, [Define if you have shload]) +fi + +if test "$enable_dlopen" = no ; then + test -n "$1" && eval $1 +else + test -n "$2" && eval $2 +fi + +]) + +AC_DEFUN([KDE_CHECK_DYNAMIC_LOADING], +[ +KDE_CHECK_DLOPEN(libtool_enable_shared=yes, libtool_enable_static=no) +KDE_PROG_LIBTOOL +AC_MSG_CHECKING([dynamic loading]) +eval "`egrep '^build_libtool_libs=' libtool`" +if test "$build_libtool_libs" = "yes" && test "$enable_dlopen" = "yes"; then + dynamic_loading=yes + AC_DEFINE_UNQUOTED(HAVE_DYNAMIC_LOADING) +else + dynamic_loading=no +fi +AC_MSG_RESULT($dynamic_loading) +if test "$dynamic_loading" = "yes"; then + $1 +else + $2 +fi +]) + +AC_DEFUN([KDE_ADD_INCLUDES], +[ +if test -z "$1"; then + test_include="Pix.h" +else + test_include="$1" +fi + +AC_MSG_CHECKING([for libg++ ($test_include)]) + +AC_CACHE_VAL(kde_cv_libgpp_includes, +[ +kde_cv_libgpp_includes=no + + for ac_dir in \ + \ + /usr/include/g++ \ + /usr/include \ + /usr/unsupported/include \ + /opt/include \ + $extra_include \ + ; \ + do + if test -r "$ac_dir/$test_include"; then + kde_cv_libgpp_includes=$ac_dir + break + fi + done +]) + +AC_MSG_RESULT($kde_cv_libgpp_includes) +if test "$kde_cv_libgpp_includes" != "no"; then + all_includes="-I$kde_cv_libgpp_includes $all_includes $USER_INCLUDES" +fi +]) +]) + +AC_DEFUN([KDE_CHECK_LIBPTHREAD], +[ + dnl This code is here specifically to handle the + dnl various flavors of threading library on FreeBSD + dnl 4-, 5-, and 6-, and the (weird) rules around it. + dnl There may be an environment PTHREAD_LIBS that + dnl specifies what to use; otherwise, search for it. + dnl -pthread is special cased and unsets LIBPTHREAD + dnl below if found. + LIBPTHREAD="" + + if test -n "$PTHREAD_LIBS"; then + if test "x$PTHREAD_LIBS" = "x-pthread" ; then + LIBPTHREAD="PTHREAD" + else + PTHREAD_LIBS_save="$PTHREAD_LIBS" + PTHREAD_LIBS=`echo "$PTHREAD_LIBS_save" | sed -e 's,^-l,,g'` + AC_MSG_CHECKING([for pthread_create in $PTHREAD_LIBS]) + KDE_CHECK_LIB($PTHREAD_LIBS, pthread_create, [ + LIBPTHREAD="$PTHREAD_LIBS_save"]) + PTHREAD_LIBS="$PTHREAD_LIBS_save" + fi + fi + + dnl Is this test really needed, in the face of the Tru64 test below? + if test -z "$LIBPTHREAD"; then + AC_CHECK_LIB(pthread, pthread_create, [LIBPTHREAD="-lpthread"]) + fi + + dnl This is a special Tru64 check, see BR 76171 issue #18. + if test -z "$LIBPTHREAD" ; then + AC_MSG_CHECKING([for pthread_create in -lpthread]) + kde_safe_libs=$LIBS + LIBS="$LIBS -lpthread" + AC_TRY_LINK([#include ],[(void)pthread_create(0,0,0,0);],[ + AC_MSG_RESULT(yes) + LIBPTHREAD="-lpthread"],[ + AC_MSG_RESULT(no)]) + LIBS=$kde_safe_libs + fi + + dnl Un-special-case for FreeBSD. + if test "x$LIBPTHREAD" = "xPTHREAD" ; then + LIBPTHREAD="" + fi + + AC_SUBST(LIBPTHREAD) +]) + +AC_DEFUN([KDE_CHECK_PTHREAD_OPTION], +[ + USE_THREADS="" + if test -z "$LIBPTHREAD"; then + KDE_CHECK_COMPILER_FLAG(pthread, [USE_THREADS="-D_THREAD_SAFE -pthread"]) + fi + + AH_VERBATIM(__svr_define, [ +#if defined(__SVR4) && !defined(__svr4__) +#define __svr4__ 1 +#endif +]) + case $host_os in + solaris*) + KDE_CHECK_COMPILER_FLAG(mt, [USE_THREADS="-mt"]) + CPPFLAGS="$CPPFLAGS -D_REENTRANT -D_POSIX_PTHREAD_SEMANTICS -DUSE_SOLARIS -DSVR4" + ;; + freebsd*) + CPPFLAGS="$CPPFLAGS -D_THREAD_SAFE $PTHREAD_CFLAGS" + ;; + aix*) + CPPFLAGS="$CPPFLAGS -D_THREAD_SAFE" + LIBPTHREAD="$LIBPTHREAD -lc_r" + ;; + linux*) CPPFLAGS="$CPPFLAGS -D_REENTRANT" + if test "$CXX" = "KCC"; then + CXXFLAGS="$CXXFLAGS --thread_safe" + NOOPT_CXXFLAGS="$NOOPT_CXXFLAGS --thread_safe" + fi + ;; + *) + ;; + esac + AC_SUBST(USE_THREADS) + AC_SUBST(LIBPTHREAD) +]) + +AC_DEFUN([KDE_CHECK_THREADING], +[ + AC_REQUIRE([KDE_CHECK_LIBPTHREAD]) + AC_REQUIRE([KDE_CHECK_PTHREAD_OPTION]) + dnl default is yes if libpthread is found and no if no libpthread is available + if test -z "$LIBPTHREAD"; then + if test -z "$USE_THREADS"; then + kde_check_threading_default=no + else + kde_check_threading_default=yes + fi + else + kde_check_threading_default=yes + fi + AC_ARG_ENABLE(threading,AC_HELP_STRING([--disable-threading],[disables threading even if libpthread found]), + kde_use_threading=$enableval, kde_use_threading=$kde_check_threading_default) + if test "x$kde_use_threading" = "xyes"; then + AC_DEFINE(HAVE_LIBPTHREAD, 1, [Define if you have a working libpthread (will enable threaded code)]) + fi +]) + +AC_DEFUN([KDE_TRY_LINK_PYTHON], +[ +if test "$kde_python_link_found" = no; then + +if test "$1" = normal; then + AC_MSG_CHECKING(if a Python application links) +else + AC_MSG_CHECKING(if Python depends on $2) +fi + +AC_CACHE_VAL(kde_cv_try_link_python_$1, +[ +kde_save_cflags="$CFLAGS" +CFLAGS="$CFLAGS $PYTHONINC" +kde_save_libs="$LIBS" +LIBS="$LIBS $LIBPYTHON $2 $LIBDL $LIBSOCKET" +kde_save_ldflags="$LDFLAGS" +LDFLAGS="$LDFLAGS $PYTHONLIB" + +AC_TRY_LINK( +[ +#include +],[ + PySys_SetArgv(1, 0); +], + [kde_cv_try_link_python_$1=yes], + [kde_cv_try_link_python_$1=no] +) +CFLAGS="$kde_save_cflags" +LIBS="$kde_save_libs" +LDFLAGS="$kde_save_ldflags" +]) + +if test "$kde_cv_try_link_python_$1" = "yes"; then + AC_MSG_RESULT(yes) + kde_python_link_found=yes + if test ! "$1" = normal; then + LIBPYTHON="$LIBPYTHON $2" + fi + $3 +else + AC_MSG_RESULT(no) + $4 +fi + +fi + +]) + +AC_DEFUN([KDE_CHECK_PYTHON_DIR], +[ +AC_MSG_CHECKING([for Python directory]) + +AC_CACHE_VAL(kde_cv_pythondir, +[ + if test -z "$PYTHONDIR"; then + kde_cv_pythondir=/usr/local + else + kde_cv_pythondir="$PYTHONDIR" + fi +]) + +AC_ARG_WITH(pythondir, +AC_HELP_STRING([--with-pythondir=pythondir],[use python installed in pythondir]), +[ + ac_python_dir=$withval +], ac_python_dir=$kde_cv_pythondir +) + +AC_MSG_RESULT($ac_python_dir) +]) + +AC_DEFUN([KDE_CHECK_PYTHON_INTERN], +[ +AC_REQUIRE([KDE_CHECK_LIBDL]) +AC_REQUIRE([KDE_CHECK_LIBPTHREAD]) +AC_REQUIRE([KDE_CHECK_PYTHON_DIR]) + +if test -z "$1"; then + version="1.5" +else + version="$1" +fi + +AC_MSG_CHECKING([for Python$version]) + +python_incdirs="$ac_python_dir/include /usr/include /usr/local/include/ $kde_extra_includes" +AC_FIND_FILE(Python.h, $python_incdirs, python_incdir) +if test ! -r $python_incdir/Python.h; then + AC_FIND_FILE(python$version/Python.h, $python_incdirs, python_incdir) + python_incdir=$python_incdir/python$version + if test ! -r $python_incdir/Python.h; then + python_incdir=no + fi +fi + +PYTHONINC=-I$python_incdir + +python_libdirs="$ac_python_dir/lib$kdelibsuff /usr/lib$kdelibsuff /usr/local /usr/lib$kdelibsuff $kde_extra_libs" +AC_FIND_FILE(libpython$version.so, $python_libdirs, python_libdir) +if test ! -r $python_libdir/libpython$version.so; then + AC_FIND_FILE(libpython$version.a, $python_libdirs, python_libdir) + if test ! -r $python_libdir/libpython$version.a; then + AC_FIND_FILE(python$version/config/libpython$version.a, $python_libdirs, python_libdir) + python_libdir=$python_libdir/python$version/config + if test ! -r $python_libdir/libpython$version.a; then + python_libdir=no + fi + fi +fi + +PYTHONLIB=-L$python_libdir +kde_orig_LIBPYTHON=$LIBPYTHON +if test -z "$LIBPYTHON"; then + LIBPYTHON=-lpython$version +fi + +AC_FIND_FILE(python$version/copy.py, $python_libdirs, python_moddir) +python_moddir=$python_moddir/python$version +if test ! -r $python_moddir/copy.py; then + python_moddir=no +fi + +PYTHONMODDIR=$python_moddir + +AC_MSG_RESULT(header $python_incdir library $python_libdir modules $python_moddir) + +if test x$python_incdir = xno || test x$python_libdir = xno || test x$python_moddir = xno; then + LIBPYTHON=$kde_orig_LIBPYTHON + test "x$PYTHONLIB" = "x-Lno" && PYTHONLIB="" + test "x$PYTHONINC" = "x-Ino" && PYTHONINC="" + $2 +else + dnl Note: this test is very weak + kde_python_link_found=no + KDE_TRY_LINK_PYTHON(normal) + KDE_TRY_LINK_PYTHON(m, -lm) + KDE_TRY_LINK_PYTHON(pthread, $LIBPTHREAD) + KDE_TRY_LINK_PYTHON(tcl, -ltcl) + KDE_TRY_LINK_PYTHON(db2, -ldb2) + KDE_TRY_LINK_PYTHON(m_and_thread, [$LIBPTHREAD -lm]) + KDE_TRY_LINK_PYTHON(m_and_thread_and_util, [$LIBPTHREAD -lm -lutil]) + KDE_TRY_LINK_PYTHON(m_and_thread_and_db3, [$LIBPTHREAD -lm -ldb-3 -lutil]) + KDE_TRY_LINK_PYTHON(pthread_and_db3, [$LIBPTHREAD -ldb-3]) + KDE_TRY_LINK_PYTHON(m_and_thread_and_db, [$LIBPTHREAD -lm -ldb -ltermcap -lutil]) + KDE_TRY_LINK_PYTHON(pthread_and_dl, [$LIBPTHREAD $LIBDL -lutil -lreadline -lncurses -lm]) + KDE_TRY_LINK_PYTHON(pthread_and_panel_curses, [$LIBPTHREAD $LIBDL -lm -lpanel -lcurses]) + KDE_TRY_LINK_PYTHON(m_and_thread_and_db_special, [$LIBPTHREAD -lm -ldb -lutil], [], + [AC_MSG_WARN([it seems, Python depends on another library. + Please set LIBPYTHON to '-lpython$version -lotherlib' before calling configure to fix this + and contact the authors to let them know about this problem]) + ]) + + LIBPYTHON="$LIBPYTHON $LIBDL $LIBSOCKET" + AC_SUBST(PYTHONINC) + AC_SUBST(PYTHONLIB) + AC_SUBST(LIBPYTHON) + AC_SUBST(PYTHONMODDIR) + AC_DEFINE(HAVE_PYTHON, 1, [Define if you have the development files for python]) +fi + +]) + + +AC_DEFUN([KDE_CHECK_PYTHON], +[ + KDE_CHECK_PYTHON_INTERN("2.4", + [KDE_CHECK_PYTHON_INTERN("2.3", + [KDE_CHECK_PYTHON_INTERN("2.2", + [KDE_CHECK_PYTHON_INTERN("2.1", + [KDE_CHECK_PYTHON_INTERN("2.0", + [KDE_CHECK_PYTHON_INTERN($1, $2) ]) + ]) + ]) + ]) + ]) +]) + +AC_DEFUN([KDE_CHECK_STL], +[ + AC_LANG_SAVE + AC_LANG_CPLUSPLUS + ac_save_CXXFLAGS="$CXXFLAGS" + CXXFLAGS="`echo $CXXFLAGS | sed s/-fno-exceptions//`" + + AC_MSG_CHECKING([if C++ programs can be compiled]) + AC_CACHE_VAL(kde_cv_stl_works, + [ + AC_TRY_COMPILE([ +#include +using namespace std; +],[ + string astring="Hallo Welt."; + astring.erase(0, 6); // now astring is "Welt" + return 0; +], kde_cv_stl_works=yes, + kde_cv_stl_works=no) +]) + + AC_MSG_RESULT($kde_cv_stl_works) + + if test "$kde_cv_stl_works" = "yes"; then + # back compatible + AC_DEFINE_UNQUOTED(HAVE_SGI_STL, 1, [Define if you have a STL implementation by SGI]) + else + AC_MSG_ERROR([Your Installation isn't able to compile simple C++ programs. +Check config.log for details - if you're using a Linux distribution you might miss +a package named similar to libstdc++-dev.]) + fi + + CXXFLAGS="$ac_save_CXXFLAGS" + AC_LANG_RESTORE +]) + +AC_DEFUN([AC_FIND_QIMGIO], + [AC_REQUIRE([AC_FIND_JPEG]) +AC_REQUIRE([KDE_CHECK_EXTRA_LIBS]) +AC_MSG_CHECKING([for qimgio]) +AC_CACHE_VAL(ac_cv_lib_qimgio, +[ +AC_LANG_SAVE +AC_LANG_CPLUSPLUS +ac_save_LIBS="$LIBS" +ac_save_CXXFLAGS="$CXXFLAGS" +LIBS="$all_libraries -lqimgio -lpng -lz $LIBJPEG $LIBQT" +CXXFLAGS="$CXXFLAGS -I$qt_incdir $all_includes" +AC_TRY_RUN(dnl +[ +#include +#include +int main() { + QString t = "hallo"; + t.fill('t'); + qInitImageIO(); +} +], + ac_cv_lib_qimgio=yes, + ac_cv_lib_qimgio=no, + ac_cv_lib_qimgio=no) +LIBS="$ac_save_LIBS" +CXXFLAGS="$ac_save_CXXFLAGS" +AC_LANG_RESTORE +])dnl +if eval "test \"`echo $ac_cv_lib_qimgio`\" = yes"; then + LIBQIMGIO="-lqimgio -lpng -lz $LIBJPEG" + AC_MSG_RESULT(yes) + AC_DEFINE_UNQUOTED(HAVE_QIMGIO, 1, [Define if you have the Qt extension qimgio available]) + AC_SUBST(LIBQIMGIO) +else + AC_MSG_RESULT(not found) +fi +]) + +AC_DEFUN([AM_DISABLE_LIBRARIES], +[ + AC_PROVIDE([AM_ENABLE_STATIC]) + AC_PROVIDE([AM_ENABLE_SHARED]) + enable_static=no + enable_shared=yes +]) + + +AC_DEFUN([AC_CHECK_UTMP_FILE], +[ + AC_MSG_CHECKING([for utmp file]) + + AC_CACHE_VAL(kde_cv_utmp_file, + [ + kde_cv_utmp_file=no + + for ac_file in \ + \ + /var/run/utmp \ + /var/adm/utmp \ + /etc/utmp \ + ; \ + do + if test -r "$ac_file"; then + kde_cv_utmp_file=$ac_file + break + fi + done + ]) + + if test "$kde_cv_utmp_file" != "no"; then + AC_DEFINE_UNQUOTED(UTMP, "$kde_cv_utmp_file", [Define the file for utmp entries]) + $1 + AC_MSG_RESULT($kde_cv_utmp_file) + else + $2 + AC_MSG_RESULT([non found]) + fi +]) + + +AC_DEFUN([KDE_CREATE_SUBDIRSLIST], +[ + +DO_NOT_COMPILE="$DO_NOT_COMPILE CVS debian bsd-port admin" +TOPSUBDIRS="" + +if test ! -s $srcdir/subdirs; then + dnl Note: Makefile.common creates subdirs, so this is just a fallback + files=`cd $srcdir && ls -1` + dirs=`for i in $files; do if test -d $i; then echo $i; fi; done` + for i in $dirs; do + echo $i >> $srcdir/subdirs + done +fi + +ac_topsubdirs= +if test -s $srcdir/inst-apps; then + ac_topsubdirs="`cat $srcdir/inst-apps`" +elif test -s $srcdir/subdirs; then + ac_topsubdirs="`cat $srcdir/subdirs`" +fi + +for i in $ac_topsubdirs; do + AC_MSG_CHECKING([if $i should be compiled]) + if test -d $srcdir/$i; then + install_it="yes" + for j in $DO_NOT_COMPILE; do + if test $i = $j; then + install_it="no" + fi + done + else + install_it="no" + fi + AC_MSG_RESULT($install_it) + vari=`echo $i | sed -e 's,[[-+.@]],_,g'` + if test $install_it = "yes"; then + TOPSUBDIRS="$TOPSUBDIRS $i" + eval "$vari""_SUBDIR_included=yes" + else + eval "$vari""_SUBDIR_included=no" + fi +done + +AC_SUBST(TOPSUBDIRS) +]) + +AC_DEFUN([KDE_CHECK_NAMESPACES], +[ +AC_MSG_CHECKING(whether C++ compiler supports namespaces) +AC_LANG_SAVE +AC_LANG_CPLUSPLUS +AC_TRY_COMPILE([ +], +[ +namespace Foo { + extern int i; + namespace Bar { + extern int i; + } +} + +int Foo::i = 0; +int Foo::Bar::i = 1; +],[ + AC_MSG_RESULT(yes) + AC_DEFINE(HAVE_NAMESPACES) +], [ +AC_MSG_RESULT(no) +]) +AC_LANG_RESTORE +]) + +dnl ------------------------------------------------------------------------ +dnl Check for S_ISSOCK macro. Doesn't exist on Unix SCO. faure@kde.org +dnl ------------------------------------------------------------------------ +dnl +AC_DEFUN([AC_CHECK_S_ISSOCK], +[ +AC_MSG_CHECKING(for S_ISSOCK) +AC_CACHE_VAL(ac_cv_have_s_issock, +[ +AC_TRY_LINK( +[ +#include +], +[ +struct stat buff; +int b = S_ISSOCK( buff.st_mode ); +], +ac_cv_have_s_issock=yes, +ac_cv_have_s_issock=no) +]) +AC_MSG_RESULT($ac_cv_have_s_issock) +if test "$ac_cv_have_s_issock" = "yes"; then + AC_DEFINE_UNQUOTED(HAVE_S_ISSOCK, 1, [Define if sys/stat.h declares S_ISSOCK.]) +fi + +AH_VERBATIM(_ISSOCK, +[ +#ifndef HAVE_S_ISSOCK +#define HAVE_S_ISSOCK +#define S_ISSOCK(mode) (1==0) +#endif +]) + +]) + +dnl ------------------------------------------------------------------------ +dnl Check for MAXPATHLEN macro, defines KDEMAXPATHLEN. faure@kde.org +dnl ------------------------------------------------------------------------ +dnl +AC_DEFUN([AC_CHECK_KDEMAXPATHLEN], +[ +AC_MSG_CHECKING(for MAXPATHLEN) +AC_CACHE_VAL(ac_cv_maxpathlen, +[ +cat > conftest.$ac_ext < +#endif +#include +#include +#ifndef MAXPATHLEN +#define MAXPATHLEN 1024 +#endif + +KDE_HELLO MAXPATHLEN + +EOF + +ac_try="$ac_cpp conftest.$ac_ext 2>/dev/null | grep '^KDE_HELLO' >conftest.out" + +if AC_TRY_EVAL(ac_try) && test -s conftest.out; then + ac_cv_maxpathlen=`sed 's#KDE_HELLO ##' conftest.out` +else + ac_cv_maxpathlen=1024 +fi + +rm conftest.* + +]) +AC_MSG_RESULT($ac_cv_maxpathlen) +AC_DEFINE_UNQUOTED(KDEMAXPATHLEN,$ac_cv_maxpathlen, [Define a safe value for MAXPATHLEN] ) +]) + +AC_DEFUN([KDE_CHECK_HEADER], +[ + kde_safe_cppflags=$CPPFLAGS + CPPFLAGS="$CPPFLAGS $all_includes" + AC_LANG_SAVE + AC_LANG_CPLUSPLUS + AC_CHECK_HEADER([$1], [$2], [$3], [$4]) + AC_LANG_RESTORE + CPPFLAGS=$kde_safe_cppflags +]) + +AC_DEFUN([KDE_CHECK_HEADERS], +[ + AH_CHECK_HEADERS([$1]) + AC_LANG_SAVE + kde_safe_cppflags=$CPPFLAGS + CPPFLAGS="$CPPFLAGS $all_includes" + AC_LANG_CPLUSPLUS + AC_CHECK_HEADERS([$1], [$2], [$3], [$4]) + CPPFLAGS=$kde_safe_cppflags + AC_LANG_RESTORE +]) + +AC_DEFUN([KDE_FAST_CONFIGURE], +[ + dnl makes configure fast (needs perl) + AC_ARG_ENABLE(fast-perl, AC_HELP_STRING([--disable-fast-perl],[disable fast Makefile generation (needs perl)]), + with_fast_perl=$enableval, with_fast_perl=yes) +]) + +AC_DEFUN([KDE_CONF_FILES], +[ + val= + if test -f $srcdir/configure.files ; then + val=`sed -e 's%^%\$(top_srcdir)/%' $srcdir/configure.files` + fi + CONF_FILES= + if test -n "$val" ; then + for i in $val ; do + CONF_FILES="$CONF_FILES $i" + done + fi + AC_SUBST(CONF_FILES) +])dnl + +dnl This sets the prefix, for arts and kdelibs +dnl Do NOT use in any other module. +dnl It only looks at --prefix, KDEDIR and falls back to /usr/local/kde +AC_DEFUN([KDE_SET_PREFIX_CORE], +[ + unset CDPATH + dnl make $KDEDIR the default for the installation + AC_PREFIX_DEFAULT(${KDEDIR:-/usr/local/kde}) + + if test "x$prefix" = "xNONE"; then + prefix=$ac_default_prefix + ac_configure_args="$ac_configure_args --prefix=$prefix" + fi + # And delete superfluous '/' to make compares easier + prefix=`echo "$prefix" | sed 's,//*,/,g' | sed -e 's,/$,,'` + exec_prefix=`echo "$exec_prefix" | sed 's,//*,/,g' | sed -e 's,/$,,'` + + kde_libs_prefix='$(prefix)' + kde_libs_htmldir='$(kde_htmldir)' + AC_SUBST(kde_libs_prefix) + AC_SUBST(kde_libs_htmldir) + KDE_FAST_CONFIGURE + KDE_CONF_FILES +]) + + +AC_DEFUN([KDE_SET_PREFIX], +[ + unset CDPATH + dnl We can't give real code to that macro, only a value. + dnl It only matters for --help, since we set the prefix in this function anyway. + AC_PREFIX_DEFAULT(${KDEDIR:-the kde prefix}) + + KDE_SET_DEFAULT_BINDIRS + if test "x$prefix" = "xNONE"; then + dnl no prefix given: look for kde-config in the PATH and deduce the prefix from it + KDE_FIND_PATH(kde-config, KDECONFIG, [$kde_default_bindirs], [KDE_MISSING_PROG_ERROR(kde-config)], [], prepend) + else + dnl prefix given: look for kde-config, preferrably in prefix, otherwise in PATH + kde_save_PATH="$PATH" + PATH="$exec_prefix/bin:$prefix/bin:$PATH" + KDE_FIND_PATH(kde-config, KDECONFIG, [$kde_default_bindirs], [KDE_MISSING_PROG_ERROR(kde-config)], [], prepend) + PATH="$kde_save_PATH" + fi + + kde_libs_prefix=`$KDECONFIG --prefix` + if test -z "$kde_libs_prefix" || test ! -x "$kde_libs_prefix"; then + AC_MSG_ERROR([$KDECONFIG --prefix outputed the non existant prefix '$kde_libs_prefix' for kdelibs. + This means it has been moved since you installed it. + This won't work. Please recompile kdelibs for the new prefix. + ]) + fi + kde_libs_htmldir=`$KDECONFIG --install html --expandvars` + kde_libs_suffix=`$KDECONFIG --libsuffix` + + AC_MSG_CHECKING([where to install]) + if test "x$prefix" = "xNONE"; then + prefix=$kde_libs_prefix + AC_MSG_RESULT([$prefix (as returned by kde-config)]) + else + dnl --prefix was given. Compare prefixes and warn (in configure.in.bot.end) if different + given_prefix=$prefix + AC_MSG_RESULT([$prefix (as requested)]) + fi + + # And delete superfluous '/' to make compares easier + prefix=`echo "$prefix" | sed 's,//*,/,g' | sed -e 's,/$,,'` + exec_prefix=`echo "$exec_prefix" | sed 's,//*,/,g' | sed -e 's,/$,,'` + given_prefix=`echo "$given_prefix" | sed 's,//*,/,g' | sed -e 's,/$,,'` + + AC_SUBST(KDECONFIG) + AC_SUBST(kde_libs_prefix) + AC_SUBST(kde_libs_htmldir) + + KDE_FAST_CONFIGURE + KDE_CONF_FILES +]) + +pushdef([AC_PROG_INSTALL], +[ + dnl our own version, testing for a -p flag + popdef([AC_PROG_INSTALL]) + dnl as AC_PROG_INSTALL works as it works we first have + dnl to save if the user didn't specify INSTALL, as the + dnl autoconf one overwrites INSTALL and we have no chance to find + dnl out afterwards + test -n "$INSTALL" && kde_save_INSTALL_given=$INSTALL + test -n "$INSTALL_PROGRAM" && kde_save_INSTALL_PROGRAM_given=$INSTALL_PROGRAM + test -n "$INSTALL_SCRIPT" && kde_save_INSTALL_SCRIPT_given=$INSTALL_SCRIPT + AC_PROG_INSTALL + + if test -z "$kde_save_INSTALL_given" ; then + # OK, user hasn't given any INSTALL, autoconf found one for us + # now we test, if it supports the -p flag + AC_MSG_CHECKING(for -p flag to install) + rm -f confinst.$$.* > /dev/null 2>&1 + echo "Testtest" > confinst.$$.orig + ac_res=no + if ${INSTALL} -p confinst.$$.orig confinst.$$.new > /dev/null 2>&1 ; then + if test -f confinst.$$.new ; then + # OK, -p seems to do no harm to install + INSTALL="${INSTALL} -p" + ac_res=yes + fi + fi + rm -f confinst.$$.* + AC_MSG_RESULT($ac_res) + fi + dnl the following tries to resolve some signs and wonders coming up + dnl with different autoconf/automake versions + dnl e.g.: + dnl *automake 1.4 install-strip sets A_M_INSTALL_PROGRAM_FLAGS to -s + dnl and has INSTALL_PROGRAM = @INSTALL_PROGRAM@ $(A_M_INSTALL_PROGRAM_FLAGS) + dnl it header-vars.am, so there the actual INSTALL_PROGRAM gets the -s + dnl *automake 1.4a (and above) use INSTALL_STRIP_FLAG and only has + dnl INSTALL_PROGRAM = @INSTALL_PROGRAM@ there, but changes the + dnl install-@DIR@PROGRAMS targets to explicitly use that flag + dnl *autoconf 2.13 is dumb, and thinks it can use INSTALL_PROGRAM as + dnl INSTALL_SCRIPT, which breaks with automake <= 1.4 + dnl *autoconf >2.13 (since 10.Apr 1999) has not that failure + dnl *sometimes KDE does not use the install-@DIR@PROGRAM targets from + dnl automake (due to broken Makefile.am or whatever) to install programs, + dnl and so does not see the -s flag in automake > 1.4 + dnl to clean up that mess we: + dnl +set INSTALL_PROGRAM to use INSTALL_STRIP_FLAG + dnl which cleans KDE's program with automake > 1.4; + dnl +set INSTALL_SCRIPT to only use INSTALL, to clean up autoconf's problems + dnl with automake<=1.4 + dnl note that dues to this sometimes two '-s' flags are used (if KDE + dnl properly uses install-@DIR@PROGRAMS, but I don't care + dnl + dnl And to all this comes, that I even can't write in comments variable + dnl names used by automake, because it is so stupid to think I wanted to + dnl _use_ them, therefor I have written A_M_... instead of AM_ + dnl hmm, I wanted to say something ... ahh yes: Arghhh. + + if test -z "$kde_save_INSTALL_PROGRAM_given" ; then + INSTALL_PROGRAM='${INSTALL} $(INSTALL_STRIP_FLAG)' + fi + if test -z "$kde_save_INSTALL_SCRIPT_given" ; then + INSTALL_SCRIPT='${INSTALL}' + fi +])dnl + +AC_DEFUN([KDE_LANG_CPLUSPLUS], +[AC_LANG_CPLUSPLUS +ac_link='rm -rf SunWS_cache; ${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&AC_FD_CC' +pushdef([AC_LANG_CPLUSPLUS], [popdef([AC_LANG_CPLUSPLUS]) KDE_LANG_CPLUSPLUS]) +]) + +pushdef([AC_LANG_CPLUSPLUS], +[popdef([AC_LANG_CPLUSPLUS]) +KDE_LANG_CPLUSPLUS +]) + +AC_DEFUN([KDE_CHECK_LONG_LONG], +[ +AC_MSG_CHECKING(for long long) +AC_CACHE_VAL(kde_cv_c_long_long, +[ + AC_LANG_SAVE + AC_LANG_CPLUSPLUS + AC_TRY_LINK([], [ + long long foo = 0; + foo = foo+1; + ], + kde_cv_c_long_long=yes, kde_cv_c_long_long=no) + AC_LANG_RESTORE +]) +AC_MSG_RESULT($kde_cv_c_long_long) +if test "$kde_cv_c_long_long" = yes; then + AC_DEFINE(HAVE_LONG_LONG, 1, [Define if you have long long as datatype]) +fi +]) + +AC_DEFUN([KDE_CHECK_LIB], +[ + kde_save_LDFLAGS="$LDFLAGS" + dnl AC_CHECK_LIB modifies LIBS, so save it here + kde_save_LIBS="$LIBS" + LDFLAGS="$LDFLAGS $all_libraries" + case $host_os in + aix*) LDFLAGS="-brtl $LDFLAGS" + test "$GCC" = yes && LDFLAGS="-Wl,$LDFLAGS" + ;; + esac + AC_CHECK_LIB($1, $2, $3, $4, $5) + LDFLAGS="$kde_save_LDFLAGS" + LIBS="$kde_save_LIBS" +]) + +AC_DEFUN([KDE_JAVA_PREFIX], +[ + dir=`dirname "$1"` + base=`basename "$1"` + list=`ls -1 $dir 2> /dev/null` + for entry in $list; do + if test -d $dir/$entry/bin; then + case $entry in + $base) + javadirs="$javadirs $dir/$entry/bin" + ;; + esac + elif test -d $dir/$entry/jre/bin; then + case $entry in + $base) + javadirs="$javadirs $dir/$entry/jre/bin" + ;; + esac + fi + done +]) + +dnl KDE_CHEC_JAVA_DIR(onlyjre) +AC_DEFUN([KDE_CHECK_JAVA_DIR], +[ + +AC_ARG_WITH(java, +AC_HELP_STRING([--with-java=javadir],[use java installed in javadir, --without-java disables]), +[ ac_java_dir=$withval +], ac_java_dir="" +) + +AC_MSG_CHECKING([for Java]) + +dnl at this point ac_java_dir is either a dir, 'no' to disable, or '' to say look in $PATH +if test "x$ac_java_dir" = "xno"; then + kde_java_bindir=no + kde_java_includedir=no + kde_java_libjvmdir=no + kde_java_libgcjdir=no + kde_java_libhpidir=no +else + if test "x$ac_java_dir" = "x"; then + + + dnl No option set -> collect list of candidate paths + if test -n "$JAVA_HOME"; then + KDE_JAVA_PREFIX($JAVA_HOME) + fi + KDE_JAVA_PREFIX(/usr/j2se) + KDE_JAVA_PREFIX(/usr/lib/j2se) + KDE_JAVA_PREFIX(/usr/j*dk*) + KDE_JAVA_PREFIX(/usr/lib/j*dk*) + KDE_JAVA_PREFIX(/opt/j*sdk*) + KDE_JAVA_PREFIX(/usr/lib/java*) + KDE_JAVA_PREFIX(/usr/java*) + KDE_JAVA_PREFIX(/usr/java/j*dk*) + KDE_JAVA_PREFIX(/usr/java/j*re*) + KDE_JAVA_PREFIX(/usr/lib/SunJava2*) + KDE_JAVA_PREFIX(/usr/lib/SunJava*) + KDE_JAVA_PREFIX(/usr/lib/IBMJava2*) + KDE_JAVA_PREFIX(/usr/lib/IBMJava*) + KDE_JAVA_PREFIX(/opt/java*) + + kde_cv_path="NONE" + kde_save_IFS=$IFS + IFS=':' + for dir in $PATH; do + if test -d "$dir"; then + javadirs="$javadirs $dir" + fi + done + IFS=$kde_save_IFS + jredirs= + + dnl Now javadirs contains a list of paths that exist, all ending with bin/ + for dir in $javadirs; do + dnl Check for the java executable + if test -x "$dir/java"; then + dnl And also check for a libjvm.so somewhere under there + dnl Since we have to go to the parent dir, /usr/bin is excluded, /usr is too big. + if test "$dir" != "/usr/bin"; then + libjvmdir=`find $dir/.. -name libjvm.so | sed 's,libjvm.so,,'|head -n 1` + if test ! -f $libjvmdir/libjvm.so; then continue; fi + jredirs="$jredirs $dir" + fi + fi + done + + dnl Now jredirs contains a reduced list, of paths where both java and ../**/libjvm.so was found + JAVAC= + JAVA= + kde_java_bindir=no + for dir in $jredirs; do + JAVA="$dir/java" + kde_java_bindir=$dir + if test -x "$dir/javac"; then + JAVAC="$dir/javac" + break + fi + done + + if test -n "$JAVAC"; then + dnl this substitution might not work - well, we test for jni.h below + kde_java_includedir=`echo $JAVAC | sed -e 's,bin/javac$,include/,'` + else + kde_java_includedir=no + fi + else + dnl config option set + kde_java_bindir=$ac_java_dir/bin + if test -x $ac_java_dir/bin/java && test ! -x $ac_java_dir/bin/javac; then + kde_java_includedir=no + else + kde_java_includedir=$ac_java_dir/include + fi + fi +fi + +dnl At this point kde_java_bindir and kde_java_includedir are either set or "no" +if test "x$kde_java_bindir" != "xno"; then + + dnl Look for libjvm.so + kde_java_libjvmdir=`find $kde_java_bindir/.. -name libjvm.so | sed 's,libjvm.so,,'|head -n 1` + dnl Look for libgcj.so + kde_java_libgcjdir=`find $kde_java_bindir/.. -name libgcj.so | sed 's,libgcj.so,,'|head -n 1` + dnl Look for libhpi.so and avoid green threads + kde_java_libhpidir=`find $kde_java_bindir/.. -name libhpi.so | grep -v green | sed 's,libhpi.so,,' | head -n 1` + + dnl Now check everything's fine under there + dnl the include dir is our flag for having the JDK + if test -d "$kde_java_includedir"; then + if test ! -x "$kde_java_bindir/javac"; then + AC_MSG_ERROR([javac not found under $kde_java_bindir - it seems you passed a wrong --with-java.]) + fi + if test ! -x "$kde_java_bindir/javah"; then + AC_MSG_ERROR([javah not found under $kde_java_bindir. javac was found though! Use --with-java or --without-java.]) + fi + if test ! -x "$kde_java_bindir/jar"; then + AC_MSG_ERROR([jar not found under $kde_java_bindir. javac was found though! Use --with-java or --without-java.]) + fi + if test ! -r "$kde_java_includedir/jni.h"; then + AC_MSG_ERROR([jni.h not found under $kde_java_includedir. Use --with-java or --without-java.]) + fi + + jni_includes="-I$kde_java_includedir" + dnl Strange thing, jni.h requires jni_md.h which is under genunix here.. + dnl and under linux here.. + + dnl not needed for gcj + + if test "x$kde_java_libgcjdir" = "x"; then + test -d "$kde_java_includedir/linux" && jni_includes="$jni_includes -I$kde_java_includedir/linux" + test -d "$kde_java_includedir/solaris" && jni_includes="$jni_includes -I$kde_java_includedir/solaris" + test -d "$kde_java_includedir/genunix" && jni_includes="$jni_includes -I$kde_java_includedir/genunix" + fi + + else + JAVAC= + jni_includes= + fi + + if test "x$kde_java_libgcjdir" = "x"; then + if test ! -r "$kde_java_libjvmdir/libjvm.so"; then + AC_MSG_ERROR([libjvm.so not found under $kde_java_libjvmdir. Use --without-java.]) + fi + else + if test ! -r "$kde_java_libgcjdir/libgcj.so"; then + AC_MSG_ERROR([libgcj.so not found under $kde_java_libgcjdir. Use --without-java.]) + fi + fi + + if test ! -x "$kde_java_bindir/java"; then + AC_MSG_ERROR([java not found under $kde_java_bindir. javac was found though! Use --with-java or --without-java.]) + fi + + dnl not needed for gcj compile + + if test "x$kde_java_libgcjdir" = "x"; then + if test ! -r "$kde_java_libhpidir/libhpi.so"; then + AC_MSG_ERROR([libhpi.so not found under $kde_java_libhpidir. Use --without-java.]) + fi + fi + + if test -n "$jni_includes"; then + dnl Check for JNI version + AC_LANG_SAVE + AC_LANG_CPLUSPLUS + ac_cxxflags_safe="$CXXFLAGS" + CXXFLAGS="$CXXFLAGS $all_includes $jni_includes" + + AC_TRY_COMPILE([ + #include + ], + [ + #ifndef JNI_VERSION_1_2 + Syntax Error + #endif + ],[ kde_jni_works=yes ], + [ kde_jni_works=no ]) + + if test $kde_jni_works = no; then + AC_MSG_ERROR([Incorrect version of $kde_java_includedir/jni.h. + You need to have Java Development Kit (JDK) version 1.2. + + Use --with-java to specify another location. + Use --without-java to configure without java support. + Or download a newer JDK and try again. + See e.g. http://java.sun.com/products/jdk/1.2 ]) + fi + + CXXFLAGS="$ac_cxxflags_safe" + AC_LANG_RESTORE + + dnl All tests ok, inform and subst the variables + + JAVAC=$kde_java_bindir/javac + JAVAH=$kde_java_bindir/javah + JAR=$kde_java_bindir/jar + AC_DEFINE_UNQUOTED(PATH_JAVA, "$kde_java_bindir/java", [Define where your java executable is]) + if test "x$kde_java_libgcjdir" = "x"; then + JVMLIBS="-L$kde_java_libjvmdir -ljvm -L$kde_java_libhpidir -lhpi" + else + JVMLIBS="-L$kde_java_libgcjdir -lgcj" + fi + AC_MSG_RESULT([java JDK in $kde_java_bindir]) + + else + AC_DEFINE_UNQUOTED(PATH_JAVA, "$kde_java_bindir/java", [Define where your java executable is]) + AC_MSG_RESULT([java JRE in $kde_java_bindir]) + fi +elif test -d "/Library/Java/Home"; then + kde_java_bindir="/Library/Java/Home/bin" + jni_includes="-I/Library/Java/Home/include" + + JAVAC=$kde_java_bindir/javac + JAVAH=$kde_java_bindir/javah + JAR=$kde_java_bindir/jar + JVMLIBS="-Xlinker -framework -Xlinker JavaVM" + + AC_DEFINE_UNQUOTED(PATH_JAVA, "$kde_java_bindir/java", [Define where your java executable is]) + AC_MSG_RESULT([Apple Java Framework]) +else + AC_MSG_RESULT([none found]) +fi + +AC_SUBST(JAVAC) +AC_SUBST(JAVAH) +AC_SUBST(JAR) +AC_SUBST(JVMLIBS) +AC_SUBST(jni_includes) + +# for backward compat +kde_cv_java_includedir=$kde_java_includedir +kde_cv_java_bindir=$kde_java_bindir +]) + +dnl this is a redefinition of autoconf 2.5x's AC_FOREACH. +dnl When the argument list becomes big, as in KDE for AC_OUTPUT in +dnl big packages, m4_foreach is dog-slow. So use our own version of +dnl it. (matz@kde.org) +m4_define([mm_foreach], +[m4_pushdef([$1])_mm_foreach($@)m4_popdef([$1])]) +m4_define([mm_car], [[$1]]) +m4_define([mm_car2], [[$@]]) +m4_define([_mm_foreach], +[m4_if(m4_quote($2), [], [], + [m4_define([$1], mm_car($2))$3[]_mm_foreach([$1], + mm_car2(m4_shift($2)), + [$3])])]) +m4_define([AC_FOREACH], +[mm_foreach([$1], m4_split(m4_normalize([$2])), [$3])]) + +AC_DEFUN([KDE_NEED_FLEX], +[ +kde_libs_safe=$LIBS +LIBS="$LIBS $USER_LDFLAGS" +AM_PROG_LEX +LIBS=$kde_libs_safe +if test -z "$LEXLIB"; then + AC_MSG_ERROR([You need to have flex installed.]) +fi +AC_SUBST(LEXLIB) +]) + +AC_DEFUN([AC_PATH_QTOPIA], +[ + dnl TODO: use AC_CACHE_VAL + + if test -z "$1"; then + qtopia_minver_maj=1 + qtopia_minver_min=5 + qtopia_minver_pat=0 + else + qtopia_minver_maj=`echo "$1" | sed -e "s/^\(.*\)\..*\..*$/\1/"` + qtopia_minver_min=`echo "$1" | sed -e "s/^.*\.\(.*\)\..*$/\1/"` + qtopia_minver_pat=`echo "$1" | sed -e "s/^.*\..*\.\(.*\)$/\1/"` + fi + + qtopia_minver="$qtopia_minver_maj$qtopia_minver_min$qtopia_minver_pat" + qtopia_minverstr="$qtopia_minver_maj.$qtopia_minver_min.$qtopia_minver_pat" + + AC_REQUIRE([AC_PATH_QT]) + + AC_MSG_CHECKING([for Qtopia]) + + LIB_QTOPIA="-lqpe" + AC_SUBST(LIB_QTOPIA) + + kde_qtopia_dirs="$QPEDIR /opt/Qtopia" + + ac_qtopia_incdir=NO + + AC_ARG_WITH(qtopia-dir, + AC_HELP_STRING([--with-qtopia-dir=DIR],[where the root of Qtopia is installed]), + [ ac_qtopia_incdir="$withval"/include] ) + + qtopia_incdirs="" + for dir in $kde_qtopia_dirs; do + qtopia_incdirs="$qtopia_incdirs $dir/include" + done + + if test ! "$ac_qtopia_incdir" = "NO"; then + qtopia_incdirs="$ac_qtopia_incdir $qtopia_incdirs" + fi + + qtopia_incdir="" + AC_FIND_FILE(qpe/qpeapplication.h, $qtopia_incdirs, qtopia_incdir) + ac_qtopia_incdir="$qtopia_incdir" + + if test -z "$qtopia_incdir"; then + AC_MSG_ERROR([Cannot find Qtopia headers. Please check your installation.]) + fi + + qtopia_ver_maj=`cat $qtopia_incdir/qpe/version.h | sed -n -e 's,.*QPE_VERSION "\(.*\)\..*\..*".*,\1,p'`; + qtopia_ver_min=`cat $qtopia_incdir/qpe/version.h | sed -n -e 's,.*QPE_VERSION ".*\.\(.*\)\..*".*,\1,p'`; + qtopia_ver_pat=`cat $qtopia_incdir/qpe/version.h | sed -n -e 's,.*QPE_VERSION ".*\..*\.\(.*\)".*,\1,p'`; + + qtopia_ver="$qtopia_ver_maj$qtopia_ver_min$qtopia_ver_pat" + qtopia_verstr="$qtopia_ver_maj.$qtopia_ver_min.$qtopia_ver_pat" + if test "$qtopia_ver" -lt "$qtopia_minver"; then + AC_MSG_ERROR([found Qtopia version $qtopia_verstr but version $qtopia_minverstr +is required.]) + fi + + AC_LANG_SAVE + AC_LANG_CPLUSPLUS + + ac_cxxflags_safe="$CXXFLAGS" + ac_ldflags_safe="$LDFLAGS" + ac_libs_safe="$LIBS" + + CXXFLAGS="$CXXFLAGS -I$qtopia_incdir $all_includes" + LDFLAGS="$LDFLAGS $QT_LDFLAGS $all_libraries $USER_LDFLAGS $KDE_MT_LDFLAGS" + LIBS="$LIBS $LIB_QTOPIA $LIBQT" + + cat > conftest.$ac_ext < +#include + +int main( int argc, char **argv ) +{ + QPEApplication app( argc, argv ); + return 0; +} +EOF + + if AC_TRY_EVAL(ac_link) && test -s conftest; then + rm -f conftest* + else + rm -f conftest* + AC_MSG_ERROR([Cannot link small Qtopia Application. For more details look at +the end of config.log]) + fi + + CXXFLAGS="$ac_cxxflags_safe" + LDFLAGS="$ac_ldflags_safe" + LIBS="$ac_libs_safe" + + AC_LANG_RESTORE + + QTOPIA_INCLUDES="-I$qtopia_incdir" + AC_SUBST(QTOPIA_INCLUDES) + + AC_MSG_RESULT([found version $qtopia_verstr with headers at $qtopia_incdir]) +]) + + +AC_DEFUN([KDE_INIT_DOXYGEN], +[ +AC_MSG_CHECKING([for Qt docs]) +kde_qtdir= +if test "${with_qt_dir+set}" = set; then + kde_qtdir="$with_qt_dir" +fi + +AC_FIND_FILE(qsql.html, [ $kde_qtdir/doc/html $QTDIR/doc/html /usr/share/doc/packages/qt3/html /usr/lib/qt/doc /usr/lib/qt3/doc /usr/lib/qt3/doc/html /usr/doc/qt3/html /usr/doc/qt3 /usr/share/doc/qt3-doc /usr/share/qt3/doc/html /usr/X11R6/share/doc/qt/html ], QTDOCDIR) +AC_MSG_RESULT($QTDOCDIR) + +AC_SUBST(QTDOCDIR) + +KDE_FIND_PATH(dot, DOT, [], []) +if test -n "$DOT"; then + KDE_HAVE_DOT="YES" +else + KDE_HAVE_DOT="NO" +fi +AC_SUBST(KDE_HAVE_DOT) +KDE_FIND_PATH(doxygen, DOXYGEN, [], []) +AC_SUBST(DOXYGEN) + +DOXYGEN_PROJECT_NAME="$1" +DOXYGEN_PROJECT_NUMBER="$2" +AC_SUBST(DOXYGEN_PROJECT_NAME) +AC_SUBST(DOXYGEN_PROJECT_NUMBER) + +KDE_HAS_DOXYGEN=no +if test -n "$DOXYGEN" && test -x "$DOXYGEN" && test -f $QTDOCDIR/qsql.html; then + KDE_HAS_DOXYGEN=yes +fi +AC_SUBST(KDE_HAS_DOXYGEN) + +]) + + +AC_DEFUN([AC_FIND_BZIP2], +[ +AC_MSG_CHECKING([for bzDecompress in libbz2]) +AC_CACHE_VAL(ac_cv_lib_bzip2, +[ +AC_LANG_SAVE +AC_LANG_CPLUSPLUS +kde_save_LIBS="$LIBS" +LIBS="$all_libraries $USER_LDFLAGS -lbz2 $LIBSOCKET" +kde_save_CXXFLAGS="$CXXFLAGS" +CXXFLAGS="$CXXFLAGS $all_includes $USER_INCLUDES" +AC_TRY_LINK(dnl +[ +#define BZ_NO_STDIO +#include +], + [ bz_stream s; (void) bzDecompress(&s); ], + eval "ac_cv_lib_bzip2='-lbz2'", + eval "ac_cv_lib_bzip2=no") +LIBS="$kde_save_LIBS" +CXXFLAGS="$kde_save_CXXFLAGS" +AC_LANG_RESTORE +])dnl +AC_MSG_RESULT($ac_cv_lib_bzip2) + +if test ! "$ac_cv_lib_bzip2" = no; then + BZIP2DIR=bzip2 + + LIBBZ2="$ac_cv_lib_bzip2" + AC_SUBST(LIBBZ2) + +else + + cxx_shared_flag= + ld_shared_flag= + KDE_CHECK_COMPILER_FLAG(shared, [ + ld_shared_flag="-shared" + ]) + KDE_CHECK_COMPILER_FLAG(fPIC, [ + cxx_shared_flag="-fPIC" + ]) + + AC_MSG_CHECKING([for BZ2_bzDecompress in (shared) libbz2]) + AC_CACHE_VAL(ac_cv_lib_bzip2_prefix, + [ + AC_LANG_SAVE + AC_LANG_CPLUSPLUS + kde_save_LIBS="$LIBS" + LIBS="$all_libraries $USER_LDFLAGS $ld_shared_flag -lbz2 $LIBSOCKET" + kde_save_CXXFLAGS="$CXXFLAGS" + CXXFLAGS="$CFLAGS $cxx_shared_flag $all_includes $USER_INCLUDES" + + AC_TRY_LINK(dnl + [ + #define BZ_NO_STDIO + #include + ], + [ bz_stream s; (void) BZ2_bzDecompress(&s); ], + eval "ac_cv_lib_bzip2_prefix='-lbz2'", + eval "ac_cv_lib_bzip2_prefix=no") + LIBS="$kde_save_LIBS" + CXXFLAGS="$kde_save_CXXFLAGS" + AC_LANG_RESTORE + ])dnl + + AC_MSG_RESULT($ac_cv_lib_bzip2_prefix) + + if test ! "$ac_cv_lib_bzip2_prefix" = no; then + BZIP2DIR=bzip2 + + LIBBZ2="$ac_cv_lib_bzip2_prefix" + AC_SUBST(LIBBZ2) + + AC_DEFINE(NEED_BZ2_PREFIX, 1, [Define if the libbz2 functions need the BZ2_ prefix]) + dnl else, we just ignore this + fi + +fi +AM_CONDITIONAL(include_BZIP2, test -n "$BZIP2DIR") +]) + +dnl ------------------------------------------------------------------------ +dnl Try to find the SSL headers and libraries. +dnl $(SSL_LDFLAGS) will be -Lsslliblocation (if needed) +dnl and $(SSL_INCLUDES) will be -Isslhdrlocation (if needed) +dnl ------------------------------------------------------------------------ +dnl +AC_DEFUN([KDE_CHECK_SSL], +[ +LIBSSL="-lssl -lcrypto" +AC_REQUIRE([KDE_CHECK_LIB64]) + +ac_ssl_includes=NO ac_ssl_libraries=NO +ssl_libraries="" +ssl_includes="" +AC_ARG_WITH(ssl-dir, + AC_HELP_STRING([--with-ssl-dir=DIR],[where the root of OpenSSL is installed]), + [ ac_ssl_includes="$withval"/include + ac_ssl_libraries="$withval"/lib$kdelibsuff + ]) + +want_ssl=yes +AC_ARG_WITH(ssl, + AC_HELP_STRING([--without-ssl],[disable SSL checks]), + [want_ssl=$withval]) + +if test $want_ssl = yes; then + +AC_MSG_CHECKING(for OpenSSL) + +AC_CACHE_VAL(ac_cv_have_ssl, +[#try to guess OpenSSL locations + + ssl_incdirs="/usr/include /usr/local/include /usr/ssl/include /usr/local/ssl/include $prefix/include $kde_extra_includes" + ssl_incdirs="$ac_ssl_includes $ssl_incdirs" + AC_FIND_FILE(openssl/ssl.h, $ssl_incdirs, ssl_incdir) + ac_ssl_includes="$ssl_incdir" + + ssl_libdirs="/usr/lib$kdelibsuff /usr/local/lib$kdelibsuff /usr/ssl/lib$kdelibsuff /usr/local/ssl/lib$kdelibsuff $libdir $prefix/lib$kdelibsuff $exec_prefix/lib$kdelibsuff $kde_extra_libs" + if test ! "$ac_ssl_libraries" = "NO"; then + ssl_libdirs="$ac_ssl_libraries $ssl_libdirs" + fi + + test=NONE + ssl_libdir=NONE + for dir in $ssl_libdirs; do + try="ls -1 $dir/libssl*" + if test=`eval $try 2> /dev/null`; then ssl_libdir=$dir; break; else echo "tried $dir" >&AC_FD_CC ; fi + done + + ac_ssl_libraries="$ssl_libdir" + + ac_ldflags_safe="$LDFLAGS" + ac_libs_safe="$LIBS" + + LDFLAGS="$LDFLAGS -L$ssl_libdir $all_libraries" + LIBS="$LIBS $LIBSSL -lRSAglue -lrsaref" + + AC_TRY_LINK(,void RSAPrivateEncrypt(void);RSAPrivateEncrypt();, + ac_ssl_rsaref="yes" + , + ac_ssl_rsaref="no" + ) + + LDFLAGS="$ac_ldflags_safe" + LIBS="$ac_libs_safe" + + if test "$ac_ssl_includes" = NO || test "$ac_ssl_libraries" = NO; then + have_ssl=no + else + have_ssl=yes; + fi + + ]) + + eval "$ac_cv_have_ssl" + + AC_MSG_RESULT([libraries $ac_ssl_libraries, headers $ac_ssl_includes]) + + AC_MSG_CHECKING([whether OpenSSL uses rsaref]) + AC_MSG_RESULT($ac_ssl_rsaref) + + AC_MSG_CHECKING([for easter eggs]) + AC_MSG_RESULT([none found]) + +else + have_ssl=no +fi + +if test "$have_ssl" = yes; then + AC_MSG_CHECKING(for OpenSSL version) + dnl Check for SSL version + AC_CACHE_VAL(ac_cv_ssl_version, + [ + + cat >conftest.$ac_ext < +#include + int main() { + +#ifndef OPENSSL_VERSION_NUMBER + printf("ssl_version=\\"error\\"\n"); +#else + if (OPENSSL_VERSION_NUMBER < 0x00906000) + printf("ssl_version=\\"old\\"\n"); + else + printf("ssl_version=\\"ok\\"\n"); +#endif + return (0); + } +EOF + + ac_save_CPPFLAGS=$CPPFLAGS + if test "$ac_ssl_includes" != "/usr/include"; then + CPPFLAGS="$CPPFLAGS -I$ac_ssl_includes" + fi + + if AC_TRY_EVAL(ac_link); then + + if eval `./conftest 2>&5`; then + if test $ssl_version = error; then + AC_MSG_ERROR([$ssl_incdir/openssl/opensslv.h doesn't define OPENSSL_VERSION_NUMBER !]) + else + if test $ssl_version = old; then + AC_MSG_WARN([OpenSSL version too old. Upgrade to 0.9.6 at least, see http://www.openssl.org. SSL support disabled.]) + have_ssl=no + fi + fi + ac_cv_ssl_version="ssl_version=$ssl_version" + else + AC_MSG_ERROR([Your system couldn't run a small SSL test program. + Check config.log, and if you can't figure it out, send a mail to + David Faure , attaching your config.log]) + fi + + else + AC_MSG_ERROR([Your system couldn't link a small SSL test program. + Check config.log, and if you can't figure it out, send a mail to + David Faure , attaching your config.log]) + fi + CPPFLAGS=$ac_save_CPPFLAGS + + ]) + + eval "$ac_cv_ssl_version" + AC_MSG_RESULT($ssl_version) +fi + +if test "$have_ssl" != yes; then + LIBSSL=""; +else + AC_DEFINE(HAVE_SSL, 1, [If we are going to use OpenSSL]) + ac_cv_have_ssl="have_ssl=yes \ + ac_ssl_includes=$ac_ssl_includes ac_ssl_libraries=$ac_ssl_libraries ac_ssl_rsaref=$ac_ssl_rsaref" + + + ssl_libraries="$ac_ssl_libraries" + ssl_includes="$ac_ssl_includes" + + if test "$ac_ssl_rsaref" = yes; then + LIBSSL="-lssl -lcrypto -lRSAglue -lrsaref" + fi + + if test $ssl_version = "old"; then + AC_DEFINE(HAVE_OLD_SSL_API, 1, [Define if you have OpenSSL < 0.9.6]) + fi +fi + +SSL_INCLUDES= + +if test "$ssl_includes" = "/usr/include"; then + if test -f /usr/kerberos/include/krb5.h; then + SSL_INCLUDES="-I/usr/kerberos/include" + fi +elif test "$ssl_includes" != "/usr/local/include" && test -n "$ssl_includes"; then + SSL_INCLUDES="-I$ssl_includes" +fi + +if test "$ssl_libraries" = "/usr/lib" || test "$ssl_libraries" = "/usr/local/lib" || test -z "$ssl_libraries" || test "$ssl_libraries" = "NONE"; then + SSL_LDFLAGS="" +else + SSL_LDFLAGS="-L$ssl_libraries -R$ssl_libraries" +fi + +AC_SUBST(SSL_INCLUDES) +AC_SUBST(SSL_LDFLAGS) +AC_SUBST(LIBSSL) +]) + +AC_DEFUN([KDE_CHECK_STRLCPY], +[ + AC_REQUIRE([AC_CHECK_STRLCAT]) + AC_REQUIRE([AC_CHECK_STRLCPY]) + AC_CHECK_SIZEOF(size_t) + AC_CHECK_SIZEOF(unsigned long) + + AC_MSG_CHECKING([sizeof size_t == sizeof unsigned long]) + AC_TRY_COMPILE(,[ + #if SIZEOF_SIZE_T != SIZEOF_UNSIGNED_LONG + choke me + #endif + ],AC_MSG_RESULT([yes]),[ + AC_MSG_RESULT(no) + AC_MSG_ERROR([ + Apparently on your system our assumption sizeof size_t == sizeof unsigned long + does not apply. Please mail kde-devel@kde.org with a description of your system! + ]) + ]) +]) + +AC_DEFUN([KDE_CHECK_BINUTILS], +[ + AC_MSG_CHECKING([if ld supports unversioned version maps]) + + kde_save_LDFLAGS="$LDFLAGS" + LDFLAGS="$LDFLAGS -Wl,--version-script=conftest.map" + echo "{ local: extern \"C++\" { foo }; };" > conftest.map + AC_TRY_LINK([int foo;], +[ +#ifdef __INTEL_COMPILER +icc apparently does not support libtools version-info and version-script +at the same time. Dunno where the bug is, but until somebody figured out, +better disable the optional version scripts. +#endif + + foo = 42; +], kde_supports_versionmaps=yes, kde_supports_versionmaps=no) + LDFLAGS="$kde_save_LDFLAGS" + rm -f conftest.map + AM_CONDITIONAL(include_VERSION_SCRIPT, + [test "$kde_supports_versionmaps" = "yes" && test "$kde_use_debug_code" = "no"]) + + AC_MSG_RESULT($kde_supports_versionmaps) +]) + +AC_DEFUN([AM_PROG_OBJC],[ +AC_CHECK_PROGS(OBJC, gcc, gcc) +test -z "$OBJC" && AC_MSG_ERROR([no acceptable objective-c gcc found in \$PATH]) +if test "x${OBJCFLAGS-unset}" = xunset; then + OBJCFLAGS="-g -O2" +fi +AC_SUBST(OBJCFLAGS) +_AM_IF_OPTION([no-dependencies],, [_AM_DEPENDENCIES(OBJC)]) +]) + +AC_DEFUN([KDE_CHECK_PERL], +[ + KDE_FIND_PATH(perl, PERL, [$bindir $exec_prefix/bin $prefix/bin], [ + AC_MSG_ERROR([No Perl found in your $PATH. +We need perl to generate some code.]) + ]) + AC_SUBST(PERL) +]) + +AC_DEFUN([KDE_CHECK_LARGEFILE], +[ +AC_SYS_LARGEFILE +if test "$ac_cv_sys_file_offset_bits" != no; then + CPPFLAGS="$CPPFLAGS -D_FILE_OFFSET_BITS=$ac_cv_sys_file_offset_bits" +fi + +if test "x$ac_cv_sys_large_files" != "xno"; then + CPPFLAGS="$CPPFLAGS -D_LARGE_FILES=1" +fi + +]) + +dnl A small extension to PKG_CHECK_MODULES (defined in pkg.m4.in) +dnl which allows to search for libs that get installed into the KDE prefix. +dnl +dnl Syntax: KDE_PKG_CHECK_MODULES(KSTUFF, libkexif >= 0.2 glib = 1.3.4, action-if, action-not) +dnl defines KSTUFF_LIBS, KSTUFF_CFLAGS, see pkg-config man page +dnl also defines KSTUFF_PKG_ERRORS on error +AC_DEFUN([KDE_PKG_CHECK_MODULES], [ + + PKG_CONFIG_PATH="$prefix/lib/pkgconfig:$PKG_CONFIG_PATH" + if test "$prefix" != "$kde_libs_prefix"; then + PKG_CONFIG_PATH="$kde_libs_prefix/lib/pkgconfig:$PKG_CONFIG_PATH" + fi + export PKG_CONFIG_PATH + PKG_CHECK_MODULES($1,$2,$3,$4) +]) + diff --git a/admin/am_edit b/admin/am_edit new file mode 100644 index 0000000..8b081a0 --- /dev/null +++ b/admin/am_edit @@ -0,0 +1,2448 @@ +#!/usr/bin/perl -w + +# Expands the specialised KDE tags in Makefile.in to (hopefully) valid +# make syntax. +# When called without file parameters, we work recursively on all Makefile.in +# in and below the current subdirectory. When called with file parameters, +# only those Makefile.in are changed. +# The currently supported tags are +# +# {program}_METASOURCES +# where you have a choice of two styles +# {program}_METASOURCES = name1.moc name2.moc ... [\] +# {program}_METASOURCES = AUTO +# The second style requires other tags as well. +# +# To install icons : +# KDE_ICON = iconname iconname2 ... +# KDE_ICON = AUTO +# +# For documentation : +# http://developer.kde.org/documentation/other/developer-faq.html +# +# and more new tags TBD! +# +# The concept (and base code) for this program came from automoc, +# supplied by the following +# +# Matthias Ettrich (The originator) +# Kalle Dalheimer (The original implementator) +# Harri Porten +# Alex Zepeda +# David Faure +# Stephan Kulow +# Dirk Mueller + +use Cwd; +use File::Find; +use File::Basename; + +# Prototype the functions +sub initialise (); +sub processMakefile ($); +sub updateMakefile (); +sub restoreMakefile (); + +sub removeLine ($$); +sub appendLines ($); +sub substituteLine ($$); + +sub findMocCandidates (); +sub pruneMocCandidates ($); +sub checkMocCandidates (); +sub addMocRules (); +sub findKcfgFile($); + +sub tag_AUTOMAKE (); +sub tag_META_INCLUDES (); +sub tag_METASOURCES (); +sub tag_POFILES (); +sub tag_DOCFILES (); +sub tag_LOCALINSTALL(); +sub tag_IDLFILES(); +sub tag_UIFILES(); +sub tag_KCFGFILES(); +sub tag_SUBDIRS(); +sub tag_ICON(); +sub tag_CLOSURE(); +sub tag_NO_UNDEFINED(); +sub tag_NMCHECK(); +sub tag_DIST(); +sub tag_KDEINIT(); + +# Some global globals... +$verbose = 0; # a debug flag +$thisProg = "$0"; # This programs name +$topdir = cwd(); # The current directory +@makefiles = (); # Contains all the files we'll process +@foreignfiles = (); +$start = (times)[0]; # some stats for testing - comment out for release +$version = "v0.2"; +$errorflag = 0; +$cppExt = "(cpp|cc|cxx|C|c\\+\\+)"; +$hExt = "(h|H|hh|hxx|hpp|h\\+\\+)"; +$progId = "KDE tags expanded automatically by " . basename($thisProg); +$automkCall = "\n"; +$printname = ""; # used to display the directory the Makefile is in +$use_final = 1; # create code for --enable-final +$cleantarget = "clean"; +$dryrun = 0; +$pathoption = 0; +$foreign_libtool = 0; + +while (defined ($ARGV[0])) +{ + $_ = shift; + if (/^--version$/) + { + print STDOUT "\n"; + print STDOUT basename($thisProg), " $version\n", + "This is really free software, unencumbered by the GPL.\n", + "You can do anything you like with it except sueing me.\n", + "Copyright 1998 Kalle Dalheimer \n", + "Concept, design and unnecessary questions about perl\n", + " by Matthias Ettrich \n\n", + "Making it useful by Stephan Kulow and\n", + "Harri Porten \n", + "Updated (Feb-1999), John Birch \n", + "Fixes and Improvements by Dirk Mueller \n", + "Current Maintainer Stephan Kulow\n\n"; + exit 0; + } + elsif (/^--verbose$|^-v$/) + { + $verbose = 1; # Oh is there a problem...? + } + elsif (/^(?:-p|--path=)(.+)$/) + { + my $p = $1; + $thisProg = $p . "/". basename($thisProg); + warn ("$thisProg doesn't exist\n") if (!(-f $thisProg)); + $thisProg .= " -p".$p; + $pathoption=1; + } + elsif (/^--help$|^-h$/) + { + print STDOUT "Usage $thisProg [OPTION] ... [dir/Makefile.in]...\n", + "\n", + "Patches dir/Makefile.in generated by automake\n", + "(where dir can be an absolute or relative directory name)\n", + "\n", + " -v, --verbose verbosely list files processed\n", + " -h, --help print this help, then exit\n", + " --version print version number, then exit\n", + " -p, --path= use the path to am_edit if the path\n", + " called from is not the one to be used\n", + " --no-final don't patch for --enable-final\n"; + + exit 0; + } + elsif (/^--no-final$/) + { + $use_final = 0; + $thisProg .= " --no-final"; + } + elsif (/^--foreign-libtool$/) + { + $foreign_libtool = 1; + $thisProg .= " --foreign-libtool"; + } + elsif (/^-n$/) + { + $dryrun = 1; + } + else + { + # user selects what input files to check + # add full path if relative path is given + $_ = cwd()."/".$_ if (! /^\//); + print "User wants $_\n" if ($verbose); + push (@makefiles, $_); + } +} + +if ($thisProg =~ /^\// && !$pathoption ) +{ + print STDERR "Illegal full pathname call performed...\n", + "The call to \"$thisProg\"\nwould be inserted in some Makefile.in.\n", + "Please use option --path.\n"; + exit 1; +} + +# Only scan for files when the user hasn't entered data +if (!@makefiles) +{ + print STDOUT "Scanning for Makefile.in\n" if ($verbose); + find (\&add_makefile, cwd()); + #chdir('$topdir'); +} else { + print STDOUT "Using input files specified by user\n" if ($verbose); +} + +foreach $makefile (sort(@makefiles)) +{ + processMakefile ($makefile); + last if ($errorflag); +} + +# Just some debug statistics - comment out for release as it uses printf. +printf STDOUT "Time %.2f CPU sec\n", (times)[0] - $start if ($verbose); + +exit $errorflag; # causes make to fail if erroflag is set + +#----------------------------------------------------------------------------- + +# In conjunction with the "find" call, this builds the list of input files +sub add_makefile () +{ + push (@makefiles, $File::Find::name) if (/Makefile.in$/); +} + +#----------------------------------------------------------------------------- + +# Processes a single make file +# The parameter contains the full path name of the Makefile.in to use +sub processMakefile ($) +{ + # some useful globals for the subroutines called here + local ($makefile) = @_; + local @headerdirs = ('.'); + local $haveAutomocTag = 0; + local $MakefileData = ""; + + local $cxxsuffix = "KKK"; + + local @programs = (); # lists the names of programs and libraries + local $program = ""; + + local @kdeinits = (); # lists the kdeinit targets + + local %realObjs = (); # lists the objects compiled into $program + local %sources = (); # lists the sources used for $program + local %finalObjs = (); # lists the objects compiled when final + local %realname = (); # the binary name of program variable + local %idlfiles = (); # lists the idl files used for $program + local %globalmocs = ();# list of all mocfiles (in %mocFiles format) + local %important = (); # list of files to be generated asap + local %uiFiles = (); + local %kcfgFiles = (); + + local $allidls = ""; + local $idl_output = "";# lists all idl generated files for cleantarget + local $ui_output = "";# lists all uic generated files for cleantarget + local $kcfg_output = "";# lists all kcfg generated files for cleantarget + + local %dependmocs = (); + + local $metasourceTags = 0; + local $dep_files = ""; + local $dep_finals = ""; + local %target_adds = (); # the targets to add + local %rule_adds = (); + local $kdelang = ""; + local @cleanfiles = (); + local $cleanMoc = ""; + local $closure_output = ""; + + local %varcontent = (); + + $makefileDir = dirname($makefile); + chdir ($makefileDir); + $printname = $makefile; + $printname =~ s/^\Q$topdir\E\///; + $makefile = basename($makefile); + + print STDOUT "Processing makefile $printname\n" if ($verbose); + + # Setup and see if we need to do this. + return if (!initialise()); + + tag_AUTOMAKE (); # Allows a "make" to redo the Makefile.in + tag_META_INCLUDES (); # Supplies directories for src locations + + foreach $program (@programs) { + $sources_changed{$program} = 0; + $dependmocs{$program} = ""; + $important{$program} = ""; + tag_IDLFILES(); # Sorts out idl rules + tag_NO_UNDEFINED(); + tag_CLOSURE(); + tag_NMCHECK(); + tag_UIFILES(); # Sorts out ui rules + tag_KCFGFILES(); # Sorts out kcfg rules + tag_METASOURCES (); # Sorts out the moc rules + if ($sources_changed{$program}) { + my $lookup = $program . '_SOURCES\s*=[ \t]*(.*)'; + + if($program =~ /libkdeinit_(.*)/) { + my $prog = $1; + substituteLine($prog . '_SOURCES\s*=[ \t]*(.*)', + "${prog}_SOURCES = ${prog}_dummy.$cxxsuffix\n" . + "libkdeinit_${prog}_SOURCES = " . $sources{$program}); + $sources{$prog} = "${prog}_dummy.$cxxsuffix"; + } + else { + substituteLine($lookup, "$program\_SOURCES=" . $sources{$program}); + } + } + if ($important{$program}) { + local %source_dict = (); + for $source (split(/[\034\s]+/, $sources{$program})) { + $source_dict{$source} = 1; + } + for $source (@cleanfiles) { + $source_dict{$source} = 0; + } + for $source (keys %source_dict) { + next if (!$source); + if ($source_dict{$source}) { + # sanity check + if (! -f $source) { + print STDERR "Error: $source is listed in a _SOURCE line in $printname, but doesn't exist yet. Put it in DISTCLEANFILES!\n"; + } else { + $target_adds{"\$(srcdir)/$source"} .= $important{$program}; + } + } + } + } + } + if ($cleanMoc) { + # Always add dist clean tag + # Add extra *.moc.cpp files created for USE_AUTOMOC because they + # aren't included in the normal *.moc clean rules. + appendLines ("$cleantarget-metasources:\n\t-rm -f $cleanMoc\n"); + $target_adds{"$cleantarget-am"} .= "$cleantarget-metasources "; + } + + tag_DIST() unless ($kdeopts{"noautodist"}); + + if ($idl_output) { + appendLines ("$cleantarget-idl:\n\t-rm -f $idl_output\n"); + $target_adds{"$cleantarget-am"} .= "$cleantarget-idl "; + } + + if ($ui_output) { + appendLines ("$cleantarget-ui:\n\t-rm -f $ui_output\n"); + $target_adds{"$cleantarget-am"} .= "$cleantarget-ui "; + } + + if ($kcfg_output) { + appendLines ("$cleantarget-kcfg:\n\t-rm -f $kcfg_output\n"); + $target_adds{"$cleantarget-am"} .= "$cleantarget-kcfg "; + } + + if ($closure_output) { + appendLines ("$cleantarget-closures:\n\t-rm -f $closure_output\n"); + $target_adds{"$cleantarget-am"} .= "$cleantarget-closures "; + } + + if ($MakefileData =~ /\nKDE_LANG\s*=\s*(\S*)\s*\n/) { + $kdelang = '$(KDE_LANG)' + } else { + $kdelang = ''; + } + + tag_POFILES (); # language rules for po directory + tag_DOCFILES (); # language rules for doc directories + tag_LOCALINSTALL(); # add $(DESTDIR) before all kde_ dirs + tag_ICON(); + tag_SUBDIRS(); + + my $tmp = "force-reedit:\n"; + $tmp .= "\t$automkCall\n\tcd \$(top_srcdir) && perl $thisProg $printname\n\n"; + appendLines($tmp); + + make_bcheck_target(); + make_meta_classes(); + tag_COMPILE_FIRST(); + tag_FINAL() if (!$kdeopts{"nofinal"}); + + my $final_lines = "final:\n\t\$(MAKE) "; + my $final_install_lines = "final-install:\n\t\$(MAKE) "; + my $nofinal_lines = "no-final:\n\t\$(MAKE) "; + my $nofinal_install_lines = "no-final-install:\n\t\$(MAKE) "; + + foreach $program (@programs) { + my $lookup = $program . '_OBJECTS\s*=[ \t]*.*'; + my $new = ""; + my @list = split(/[\034\s]+/, $realObjs{$program}); + if (!$kdeopts{"nofinal"} && @list > 1 && $finalObjs{$program}) { + $new .= "$program\_final\_OBJECTS = " . $finalObjs{$program}; + $new .= "\n$program\_nofinal\_OBJECTS = " . $realObjs{$program}; + $new .= "\n\@KDE_USE_FINAL_FALSE\@$program\_OBJECTS = \$($program\_nofinal\_OBJECTS)"; + $new .= "\n\@KDE_USE_FINAL_TRUE\@$program\_OBJECTS = \$($program\_final\_OBJECTS)"; + + $final_lines .= "$program\_OBJECTS=\"\$($program\_final_OBJECTS)\" "; + $final_install_lines .= "$program\_OBJECTS=\"\$($program\_final_OBJECTS)\" "; + $nofinal_lines .= "$program\_OBJECTS=\"\$($program\_nofinal\_OBJECTS)\" "; + $nofinal_install_lines .= "$program\_OBJECTS=\"\$($program\_nofinal_OBJECTS)\" "; + } else { + $new = "$program\_OBJECTS = " . $realObjs{$program}; + } + if($MakefileData =~ m/\n$lookup/) { + substituteLine ($lookup, $new); + } + else { + appendLines("$new\n"); + } + } + appendLines($final_lines . "all-am\n"); + appendLines($final_install_lines . "install-am\n"); + appendLines($nofinal_lines . "all-am\n"); + appendLines($nofinal_install_lines . "install-am\n"); + + my $lookup = '(\@\S+\@)?DEP_FILES\s*=[ \t]*(.*)'; + if ($MakefileData =~ /\n$lookup/) { + my $condition = $1; + my $depfiles = $2; + my $workfiles; + + if ($dep_finals) { + # Add the conditions on every line, since + # there may be line continuations in the list. + $workfiles = "$dep_files $dep_finals $depfiles"; + $workfiles =~ s/\034/\034$condition\@KDE_USE_FINAL_TRUE\@\t/g; + $lines = "$condition\@KDE_USE_FINAL_TRUE\@DEP_FILES = $workfiles\n"; + $workfiles = "$dep_files $depfiles"; + $workfiles =~ s/\034/\034$condition\@KDE_USE_FINAL_FALSE\@\t/g; + $lines .= "$condition\@KDE_USE_FINAL_FALSE\@DEP_FILES = $workfiles"; + } else { + $workfiles = "$dep_files $depfiles"; + $workfiles =~ s/\034/\034$condition\t/g; + $lines = $condition . "DEP_FILES = $workfiles"; + } + substituteLine($lookup, $lines); + } + + # new recursive targets + $target_adds{ "nmcheck" } .= ""; # always create nmcheck target + $target_adds{ "nmcheck-am" } .= "nmcheck"; + $lookup = 'RECURSIVE_TARGETS\s*=[ \t]*(.*)'; + if ($MakefileData =~ /\n$lookup/) { + substituteLine($lookup, "RECURSIVE_TARGETS = $1 nmcheck-recursive bcheck-recursive"); + } + + my $cvs_lines = "cvs-clean:\n"; + $cvs_lines .= "\t\$(MAKE) admindir=\$(top_srcdir)/admin -f \$(top_srcdir)/admin/Makefile.common cvs-clean\n"; + appendLines($cvs_lines); + + $cvs_lines = "kde-rpo-clean:\n"; + $cvs_lines .= "\t-rm -f *.rpo\n"; + appendLines($cvs_lines); + $target_adds{"clean"} .= "kde-rpo-clean "; + + my %target_dels = ("install-data-am" => ""); + + # some strange people like to do a install-exec, and expect that also + # all modules are installed. automake doesn't know this, so we need to move + # this here from install-data to install-exec. + if ($MakefileData =~ m/\nkde_module_LTLIBRARIES\s*=/) { +# $target_adds{"install-exec-am"} .= "install-kde_moduleLTLIBRARIES "; +# don't use $target_adds here because we need to append the dependency, not +# prepend it. Fixes #44342 , when a module depends on a lib in the same dir +# and libtool needs it during relinking upon install (Simon) + my $lookup = "install-exec-am:([^\n]*)"; + if($MakefileData =~ /\n$lookup\n/) { + substituteLine("$lookup", "install-exec-am: $1 install-kde_moduleLTLIBRARIES"); + } + $target_dels{"install-data-am"} .= "install-kde_moduleLTLIBRARIES "; + $target_adds{"install-data-am"} .= " "; + } + + my $lines = ""; + + foreach $add (keys %target_adds) { + my $lookup = quotemeta($add) . ':([^\n]*)'; + if ($MakefileData =~ /\n$lookup\n/) { + my $newlines = $1; + my $oldlines = $lookup; + if (defined $target_dels{$add}) { + foreach $del (split(' ', $target_dels{$add})) { + $newlines =~ s/\s*$del\s*/ /g; + } + } + substituteLine($oldlines, "$add: " . $target_adds{$add} . $newlines); + } else { + $lines .= "$add: " . $target_adds{$add} . "\n"; + } + } + + appendLines($lines) if ($lines); + + $lines = join("\n", values %rule_adds); + appendLines($lines) if ($lines); + + my $found = 1; + + while ($found) { + if ($MakefileData =~ m/\n(.*)\$\(CXXFLAGS\)(.*)\n/) { + my $stuff_before = $1; + my $stuff_after = $2; + my $lookup = quotemeta("$1\$(CXXFLAGS)$2"); + my $replacement = "$1\$(KCXXFLAGS)$2"; + $MakefileData =~ s/$lookup/$replacement/; + $lookup =~ s/\\\$\\\(CXXFLAGS\\\)/\\\$\\\(KCXXFLAGS\\\)/; + $replacement = "$stuff_before\$(KCXXFLAGS) \$(KDE_CXXFLAGS)$stuff_after"; + next if ($stuff_before =~ /\$\(KDE_CXXFLAGS\)/ or $stuff_after =~ /\$\(KDE_CXXFLAGS\)/); + substituteLine($lookup, $replacement); + } else { + $found = 0; + } + } + + if($foreign_libtool == 0) { + $lookup = '(\n[^#].*\$\(LIBTOOL\) --mode=link) (\$\(CXXLD\).*\$\(KCXXFLAGS\))'; + + if ($MakefileData =~ m/$lookup/ ) { + $MakefileData =~ s/$lookup/$1 --tag=CXX $2/; + } + + $lookup = '(\n[^#].*\$\(LIBTOOL\) --mode=compile)\s+(\$\(CXX\)\s+)'; + if ($MakefileData =~ m/$lookup/ ) { + $MakefileData =~ s/$lookup/$1 --tag=CXX $2/; + } + } + + $MakefileData =~ s/\$\(KCXXFLAGS\)/\$\(CXXFLAGS\)/g; + + $lookup = '(.*)cp -pr \$\$/\$\$file \$\(distdir\)/\$\$file(.*)'; + if ($MakefileData =~ m/\n$lookup\n/) { + substituteLine($lookup, "$1cp -pr \$\$d/\$\$file \$(distdir)/\$\$file$2"); + } + + # Always update the Makefile.in + updateMakefile (); + return; +} + +#----------------------------------------------------------------------------- + +# Beware: This procedure is not complete. E.g. it also parses lines +# containing a '=' in rules (for instance setting shell vars). For our +# usage this us enough, though. +sub read_variables () +{ + while ($MakefileData =~ /\n\s*(\S+)\s*=([^\n]*)/g) { + $varcontent{$1} = $2; + } +} + +# Check to see whether we should process this make file. +# This is where we look for tags that we need to process. +# A small amount of initialising on the tags is also done here. +# And of course we open and/or create the needed make files. +sub initialise () +{ + if (! -r "Makefile.am") { + print STDOUT "found Makefile.in without Makefile.am\n" if ($verbose); + return 0; + } + + # Checking for files to process... + + open (FILEIN, $makefile) || die "Can't open $makefileDir/$makefile: $!\n"; + # perl bug in 5.8.0: in utf8 mode it badly screws up + binmode(FILEIN, ":bytes") if ($] >= 5.008); + # Read the file + # stat(FILEIN)[7] might look more elegant, but is slower as it + # requires stat'ing the file + seek(FILEIN, 0, 2); + my $fsize = tell(FILEIN); + seek(FILEIN, 0, 0); + read FILEIN, $MakefileData, $fsize; + close FILEIN; + print "DOS CRLF within $makefileDir/$makefile!\n" if($MakefileData =~ y/\r//d); + + # Remove the line continuations, but keep them marked + # Note: we lose the trailing spaces but that's ok. + # Don't mangle line-leading spaces (usually tabs) + # since they're important. + $MakefileData =~ s/\\\s*\n/\034/g; + + # If we've processed the file before... + restoreMakefile () if ($MakefileData =~ /$progId/); + + foreach $dir (@foreignfiles) { + if (substr($makefileDir,0,length($dir)) eq $dir) { + return 0; + } + } + + %kdeopts = (); + $kdeopts{"foreign"} = 0; + $kdeopts{"qtonly"} = 0; + $kdeopts{"noautodist"} = 0; + $kdeopts{"foreign-libtool"} = $foreign_libtool; + $kdeopts{"nofinal"} = !$use_final; # default + + read_variables(); + + if ($MakefileData =~ /\nKDE_OPTIONS\s*=[ \t]*([^\n]*)\n/) { + my $kde_options_str = $1; + local @kde_options = split(/[\034\s]+/, $kde_options_str); + if (grep(/^foreign$/, @kde_options)) { + push(@foreignfiles, $makefileDir . "/"); + return 0; # don't touch me + } + for $opt (@kde_options) { + if (!defined $kdeopts{$opt}) { + print STDERR "Warning: unknown option $opt in $printname\n"; + } else { + $kdeopts{$opt} = 1; + } + } + } + + # Look for the tags that mean we should process this file. + $metasourceTags = 0; + $metasourceTags++ while ($MakefileData =~ /\n[^=\#]*METASOURCES\s*=/g); + + my $pofileTag = 0; + $pofileTag++ while ($MakefileData =~ /\nPOFILES\s*=/g); + if ($pofileTag > 1) + { + print STDERR "Error: Only one POFILES tag allowed\n"; + $errorflag = 1; + } + + while ($MakefileData =~ /\n\.SUFFIXES:([^\n]+)\n/g) { + my $suffixes_str = $1; + my @list=split(' ', $suffixes_str); + foreach $ext (@list) { + if ($ext =~ /^\.$cppExt$/) { + $cxxsuffix = $ext; + $cxxsuffix =~ s/\.//g; + print STDOUT "will use suffix $cxxsuffix\n" if ($verbose); + last; + } + } + } + + tag_KDEINIT(); + + while ($MakefileData =~ /\n(\S*)_OBJECTS\s*=[\034 \t]*([^\n]*)\n/g) { + + my $program = $1; + my $objs = $2; # safe them + + my $ocv = 0; + + my @objlist = split(/[\034\s]+/, $objs); + foreach $obj (@objlist) { + if ($obj =~ /(\S*)\$\((\S+)\)/ ) { + my $pre = $1; + my $variable = $2; + if ($pre eq '' && exists($varcontent{$variable})) { + my @addlist = split(/[\034\s]+/, $varcontent{$variable}); + push(@objlist, @addlist); + } elsif ($variable !~ 'OBJEXT' && $variable !~ /am__objects_\d+/ ) { + $ocv = 1; + } + } + } + + next if ($ocv); + next if ($program =~ /^am_libkdeinit_/); + + $program =~ s/^am_// if ($program =~ /^am_/); + + my $sourceprogram = $program; + $sourceprogram =~ s/\@am_/\@/ if($sourceprogram =~ /^.*\@am_.+/); + + print STDOUT "found program $program\n" if ($verbose); + push(@programs, $program); + + $realObjs{$program} = $objs; + + if ($MakefileData =~ /\n$sourceprogram\_SOURCES\s*=[ \t]*(.*)\n/) { + $sources{$program} = $1; + } + else { + $sources{$program} = ""; + print STDERR "found program with no _SOURCES: $program\n"; + } + + my $realprogram = $program; + $realprogram =~ s/_/./g; # unmask to regexp + if ($MakefileData =~ /\n($realprogram)(\$\(EXEEXT\)?)?:.*\$\($program\_OBJECTS\)/) { + $realname{$program} = $1; + } else { + # not standard Makefile - nothing to worry about + $realname{$program} = ""; + } + } + + my $lookup = 'DEPDIR\s*=.*'; + if ($MakefileData !~ /\n$lookup/) { + $lookup = 'bindir\s*=[ \t]*.*'; + substituteLine($lookup, "DEPDIR = .deps\n$1") if ($MakefileData =~ /\n($lookup)/); + } + + my @marks = ('MAINTAINERCLEANFILES', 'CLEANFILES', 'DISTCLEANFILES'); + foreach $mark (@marks) { + while ($MakefileData =~ /\n($mark)\s*=[ \t]*([^\n]*)/g) { + my $clean_str = $2; + foreach $file (split('[\034\s]+', $clean_str)) { + $file =~ s/\.\///; + push(@cleanfiles, $file); + } + } + } + + my $localTag = 0; + $localTag++ if ($MakefileData =~ /\ninstall-\S+-local:/); + + return (!$errorflag); +} + +#----------------------------------------------------------------------------- + +# Gets the list of user defined directories - relative to $srcdir - where +# header files could be located. +sub tag_META_INCLUDES () +{ + my $lookup = '[^=\n]*META_INCLUDES\s*=[ \t]*(.*)'; + return 1 if ($MakefileData !~ /($lookup)\n/); + print STDOUT "META_INCLUDE processing <$1>\n" if ($verbose); + + my $headerStr = $2; + removeLine ($lookup, $1); + + my @headerlist = split(/[\034\s]+/, $headerStr); + + foreach $dir (@headerlist) + { + $dir =~ s#\$\(srcdir\)#.#; + if (! -d $dir) + { + print STDERR "Warning: $dir can't be found. ", + "Must be a relative path to \$(srcdir)\n"; + } + else + { + push (@headerdirs, $dir); + } + } + + return 0; +} + +#----------------------------------------------------------------------------- + +sub tag_FINAL() +{ + my @final_names = (); + + foreach $program (@programs) { + + if ($sources{$program} =~ /\(/) { + print STDOUT "found ( in $program\_SOURCES. skipping\n" if ($verbose); + next; + } + + my $mocs = ""; # Moc files (in this program) + my $moc_cpp_added = 0; # If we added some .moc.cpp files, due to + # no other .cpp file including the .moc one. + + my @progsources = split(/[\034\s]+/, $sources{$program}); + my %shash = (); + @shash{@progsources} = 1; # we are only interested in the existence + my %sourcelist = (); + my %extradeps = (); + + foreach $source (@progsources) { + my $suffix = $source; + $suffix =~ s/^.*\.([^\.]+)$/$1/; + + $sourcelist{$suffix} .= "$source "; + } + foreach my $mocFile (keys (%globalmocs)) + { + my ($dir, $hFile, $cppFile) = split ("\035", $globalmocs{$mocFile}, 3); + if (defined ($cppFile)) { + $mocs .= " $mocFile.moc" if exists $shash{$cppFile}; + } else { + $sourcelist{$cxxsuffix} .= "$mocFile.moc.$cxxsuffix "; + $moc_cpp_added = 1; + } + } + + # scan for extra given dependencies and add them to our target + while ($MakefileData =~ /\n\s*(\S+)\.(?:lo|o)\s*:([^\n]*)/g) { + $extradeps{$1} = $2; + } + + foreach $suffix (keys %sourcelist) { + # See if this file contains c++ code. (i.e., just check the file's suffix against c++ extensions) + my $suffix_is_cxx = 0; + if($suffix =~ /($cppExt)$/) { + $cxxsuffix = $1; + $suffix_is_cxx = 1; + } + + my $mocfiles_in = ($suffix eq $cxxsuffix) && $moc_cpp_added; + + my @sourcelist = split(/[\034\s]+/, $sourcelist{$suffix}); + + if ((@sourcelist == 1 && !$mocfiles_in) || $suffix_is_cxx != 1 ) { + + # we support IDL on our own + if ($suffix eq "skel" || $suffix =~ /^stub/ + || $suffix =~ /^signals/ # obsolete, remove in KDE-4 + || $suffix eq "h" || $suffix eq "ui" + || $suffix eq "kcfgc" ) { + next; + } + + foreach $file (@sourcelist) { + $file =~ s/\Q$suffix\E$//; + + $finalObjs{$program} .= $file; + if ($program =~ /_la$/) { + $finalObjs{$program} .= "lo "; + } else { + $finalObjs{$program} .= "o "; + } + } + next; # suffix + } + + my $source_deps = ""; + foreach $source (@sourcelist) { + if (-f $source) { + $source_deps .= " \$(srcdir)/$source"; + } else { + $source_deps .= " $source"; + } + my $plainsource = $source; + $plainsource =~ s/\.$cppExt$//; + $source_deps .= " " . $extradeps{$plainsource} if (exists($extradeps{$plainsource})); + } + + $handling = "$program.all_$suffix.$suffix: \$(srcdir)/Makefile.in" . $source_deps . " " . join(' ', $mocs) . "\n"; + $handling .= "\t\@echo 'creating $program.all_$suffix.$suffix ...'; \\\n"; + $handling .= "\trm -f $program.all_$suffix.files $program.all_$suffix.final; \\\n"; + $handling .= "\techo \"#define KDE_USE_FINAL 1\" >> $program.all_$suffix.final; \\\n"; + $handling .= "\tfor file in " . $sourcelist{$suffix} . "; do \\\n"; + $handling .= "\t echo \"#include \\\"\$\$file\\\"\" >> $program.all_$suffix.files; \\\n"; + $handling .= "\t test ! -f \$\(srcdir\)/\$\$file || egrep '^#pragma +implementation' \$\(srcdir\)/\$\$file >> $program.all_$suffix.final; \\\n"; + $handling .= "\tdone; \\\n"; + $handling .= "\tcat $program.all_$suffix.final $program.all_$suffix.files > $program.all_$suffix.$suffix; \\\n"; + $handling .= "\trm -f $program.all_$suffix.final $program.all_$suffix.files\n"; + + appendLines($handling); + + push(@final_names, "$program.all_$suffix.$suffix"); + my $finalObj = "$program.all_$suffix."; + if ($program =~ /_la$/) { + $finalObj .= "lo"; + } else { + $finalObj .= "o"; + } + $finalObjs{$program} .= $finalObj . " "; + } + } + + if (!$kdeopts{"nofinal"} && @final_names >= 1) { + # add clean-final target + my $lines = "$cleantarget-final:\n"; + $lines .= "\t-rm -f " . join(' ', @final_names) . "\n" if (@final_names); + appendLines($lines); + $target_adds{"$cleantarget-am"} .= "$cleantarget-final "; + + foreach $finalfile (@final_names) { + $finalfile =~ s/\.[^.]*$/.P/; + $dep_finals .= " \$(DEPDIR)/$finalfile"; + } + } +} + +sub tag_KDEINIT() +{ + my @progs = (); + my $ltlibs = ""; + my $lookup = 'kdeinit_LTLIBRARIES\s*=[ \t]*(.*)'; + + if ($MakefileData =~ m/\n$lookup/) { + @kdeinits = split(/[\034\s]+/, $1); + my $lines = ""; + foreach my $kdeinit (@kdeinits) { + if ($kdeinit =~ m/\.la$/) { + $kdeinit =~ s/\.la$//; + push(@progs, $kdeinit); + + $lines .= "\n${kdeinit}.la.$cxxsuffix:\n"; + $lines .= "\techo 'extern \"C\" int kdemain(int argc, char* argv[]);' > ${kdeinit}.la.$cxxsuffix; \\\n"; + $lines .= "\techo 'int main(int argc, char* argv[]) { return kdemain(argc,argv); }' >> ${kdeinit}.la.$cxxsuffix\n"; + + $lines .= "\n${kdeinit}_dummy.$cxxsuffix:\n"; + $lines .= "\techo 'extern \"C\" int kdemain(int argc, char* argv[]);' > ${kdeinit}_dummy.$cxxsuffix; \\\n"; + $lines .= "\techo 'extern \"C\" int kdeinitmain(int argc, char* argv[]) { return kdemain(argc,argv); }' >> ${kdeinit}_dummy.$cxxsuffix\n"; + + push(@cleanfiles, "${kdeinit}.la.$cxxsuffix"); + push(@cleanfiles, "${kdeinit}_dummy.$cxxsuffix"); + + # add dependency + $dep_files .= " \$(DEPDIR)/${kdeinit}.la.Po" if($dep_files !~/${kdeinit}.la.Po/ ); + $dep_files .= " \$(DEPDIR)/${kdeinit}_dummy.Plo" if($dep_files !~/${kdeinit}_dummy.Plo/ ); + + # make library + $lookup = $kdeinit . '_la_LIBADD\s*=[ \t]*(.*)'; + if($MakefileData =~ m/\n$lookup/) { + my $libadd = $1; + substituteLine($lookup, "${kdeinit}_la_LIBADD = libkdeinit_${kdeinit}.la"); + appendLines("libkdeinit_${kdeinit}_la_LIBADD = $libadd\n"); + } + appendLines("libkdeinit_${kdeinit}_la_LDFLAGS = -no-undefined -avoid-version \$(all_libraries)\n"); + + # add library dependencies + $lookup = $kdeinit . '_la_DEPENDENCIES\s*=[ \t]*(.*)'; + if($MakefileData =~ m/\n$lookup/) { + my $libdeps = $1; + substituteLine($lookup, "${kdeinit}_la_DEPENDENCIES = libkdeinit_${kdeinit}.la"); + appendLines("libkdeinit_${kdeinit}_la_DEPENDENCIES = $libdeps\n"); + } + + # make library objects + $lookup = "am_${kdeinit}_la_OBJECTS" . '\s*=[ \t]*(.*)'; + if($MakefileData =~ m/\n$lookup/) { + my $libobjects = $1; + substituteLine($lookup, "am_${kdeinit}_la_OBJECTS = ${kdeinit}_dummy.lo"); + appendLines("am_libkdeinit_${kdeinit}_la_OBJECTS = $libobjects\n"); + my $prog = "libkdeinit_${kdeinit}_la"; + push(@programs, $prog); + $realObjs{$prog} = $libobjects; + $realname{$prog} = "libkdeinit_${kdeinit}.la"; + } + $target_adds{"libkdeinit_${kdeinit}.la"} = "\$(libkdeinit_${kdeinit}_la_OBJECTS) \$(libkdeinit_${kdeinit}_la_DEPENDENCIES)\n" . + "\t\$(CXXLINK) -rpath \$(libdir) \$(libkdeinit_${kdeinit}_la_LDFLAGS) ". + "\$(libkdeinit_${kdeinit}_la_OBJECTS) " . + "\$(libkdeinit_${kdeinit}_la_LIBADD) " . + "\$(LIBS)\n"; + + # make libkdeinit sources + $lookup = $kdeinit . '_la_SOURCES\s*=[ \t]*(.*)'; + if($MakefileData =~ m/\n$lookup/) { + my $srces = $1; + $sources_changed{"libkdeinit_${kdeinit}_la"} = 1; + $sources{"libkdeinit_${kdeinit}_la"} = $srces; + } + + # make libkdeinit metasources + $lookup = $kdeinit . '_la_METASOURCES\s*=[ \t]*(.*)'; + substituteLine($lookup, "libkdeinit_${kdeinit}_la_METASOURCES = $1") + if($MakefileData =~ m/\n$lookup/); + +=cut + # make binary sources + $lookup = $kdeinit. '_SOURCES\s*=[ \t]*(.*)'; + if($MakefileData =~ m/\n$lookup/) { + substituteLine($lookup, "${kdeinit}_SOURCES = ${kdeinit}.la.$cxxsuffix"); + $lookup = 'SOURCES\s*=[ \t]*(.*)'; + if($MakefileData =~ m/\n$lookup/) { + my $srces = $1; + $srces =~ s/\b$kdeinit\.c\b/\$(${kdeinit}_SOURCES)/; + $srces =~ s/\$\(${kdeinit}_la_SOURCES\)/\$(libkdeinit_${kdeinit}_la_SOURCES)/; + substituteLine($lookup, "SOURCES = $srces"); + } + $lookup = 'DIST_SOURCES\s*=[ \t](.*)'; + if($MakefileData =~ m/\n$lookup/) { + my $srces = $1; + $srces =~ s/\b$kdeinit\.c\b/\$(${kdeinit}_SOURCES)/; + $srces =~ s/\$\(${kdeinit}_la_SOURCES\)/\$(libkdeinit_${kdeinit}_la_SOURCES)/; + substituteLine($lookup, "DIST_SOURCES = $srces"); + } + } + + # make binary objects / libs + $lookup = $kdeinit . '_OBJECTS\s*=[ \t]*.*'; + if($MakefileData =~ m/\n$lookup/) { + $realObjs{$kdeinit} = "${kdeinit}.la.\$(OBJEXT)"; + substituteLine("${kdeinit}_LDFLAGS\\s*=.*", "${kdeinit}_LDFLAGS = \$(all_libraries)"); + substituteLine("${kdeinit}_LDADD\\s*=.*", "${kdeinit}_LDADD = libkdeinit_${kdeinit}.la"); + substituteLine("${kdeinit}_DEPENDENCIES\\s*=.*", "${kdeinit}_DEPENDENCIES = libkdeinit_${kdeinit}.la"); + } +=cut + # add binary + push(@programs, $kdeinit); + $realObjs{$kdeinit} = "${kdeinit}.la.\$(OBJEXT)"; + $realname{$kdeinit} = $kdeinit; + $sources{$kdeinit} = "${kdeinit}.la.$cxxsuffix"; + + $lines .= "${kdeinit}_LDFLAGS = \$(KDE_RPATH) -no-undefined \$(all_libraries)\n"; + $lines .= "${kdeinit}_LDADD = libkdeinit_${kdeinit}.la\n"; + $lines .= "${kdeinit}_DEPENDENCIES = libkdeinit_${kdeinit}.la\n"; + + $target_adds{"${kdeinit}\$(EXEEXT)"} = + "\$(${kdeinit}_OBJECTS) \$(${kdeinit}_DEPENDENCIES)\n" . + "\t\@rm -f ${kdeinit}\$(EXEEXT)\n" . + "\t\$(CXXLINK) \$(${kdeinit}_LDFLAGS) \$(${kdeinit}_OBJECTS) \$(${kdeinit}_LDADD) \$(LIBS)\n"; + + $ltlibs .= " libkdeinit_${kdeinit}.la"; + } + } + appendLines($lines); + + # add libkdeinit target + $lookup = 'lib_LTLIBRARIES\s*=[ \t]*(.*)'; + if($MakefileData =~ m/\n$lookup/) { + substituteLine($lookup, "lib_LTLIBRARIES = $1 $ltlibs"); + } + else { + print STDERR + "Error: lib_LTLIBRARIES missing in $printname (required for kdeinit_LTLIBRARIES).\n"; + $errorflag = 1; + } + } + + if($#progs >= 0) { + if($MakefileData !~ m/\nbin_PROGRAMS\s*=/) { + print STDERR "Error: bin_PROGRAMS missing in $printname (required for kdeinit_LTLIBRARIES).\n"; + $errorflag = 1; + } + else { + # add our new progs to SOURCES, DIST_SOURCES and bin_PROGRAMS + my $progsources = ""; + my $progexes = ""; + foreach my $p (@progs) { + $progsources .= "\$(${p}_SOURCES) "; + $progexes .= "${p}\$(EXEEXT) "; + } + $lookup = 'SOURCES\s*=[ \t]*(.*)'; + if($MakefileData =~ /\n$lookup/) { + substituteLine($lookup, "SOURCES = $1 $progsources"); + } + $lookup = 'DIST_SOURCES\s*=[ \t]*(.*)'; + if($MakefileData =~ /\n$lookup/) { + substituteLine($lookup, "DIST_SOURCES = $1 $progsources"); + } + # bin_PROGRAMS is complicated, as it exists twice, so we do a little + # magic trick here + $lookup = 'PROGRAMS\s*=[ \t]*(.*)'; + if ($MakefileData =~ /\n$lookup/) { + substituteLine($lookup, "bin_PROGRAMS += $progexes\nPROGRAMS = $1"); + } + } + } +} + +#----------------------------------------------------------------------------- + +sub tag_COMPILE_FIRST() +{ + foreach $program (@programs) { + my $lookup = "$program" . '_COMPILE_FIRST\s*=[ \t]*(.*)'; + if ($MakefileData =~ m/\n$lookup\n/) { + my $compilefirst_str = $1; + my @compilefirst = split(/[\034\s]+/, $compilefirst_str); + my @progsources = split(/[\034\s]+/, $sources{$program}); + my %donesources = (); + foreach $source (@progsources) { + my @deps = (); + my $sdeps = ""; + if (-f $source) { + $sdeps = "\$(srcdir)/$source"; + } else { + $sdeps = "$source"; + } + foreach $depend (@compilefirst) { + next if ($source eq $depend); + # avoid cyclic dependencies + next if defined($donesources{$depend}); + push @deps, $depend; + } + $target_adds{$sdeps} .= join(' ', @deps) . ' ' if (@deps); + $donesources{$source} = 1; + } + } + } +} + +#----------------------------------------------------------------------------- + + +# Organises the list of headers that we'll use to produce moc files +# from. +sub tag_METASOURCES () +{ + local @newObs = (); # here we add to create object files + local @depend = (); # here we add to create moc files + local $mocExt = ".moc"; + local %mocFiles = (); + + my $line = ""; + my $postEqual = ""; + + my $lookup; + my $found = ""; + if ($metasourceTags > 1) { + $lookup = $program . '_METASOURCES\s*=\s*(.*)'; + return 1 if ($MakefileData !~ /\n($lookup)\n/); + $found = $1; + } else { + $lookup = $program . '_METASOURCES\s*=\s*(.*)'; + if ($MakefileData !~ /\n($lookup)\n/) { + $lookup = 'METASOURCES\s*=\s*(.*)'; + return 1 if ($MakefileData !~ /\n($lookup)\n/); + $found = $1; + $metasourceTags = 0; # we can use the general target only once + } else { + $found = $1; + } + } + print STDOUT "METASOURCE processing <$found>)\n" if ($verbose); + + $postEqual = $found; + $postEqual =~ s/[^=]*=//; + + removeLine ($lookup, $found); + + # Always find the header files that could be used to "moc" + return 1 if (findMocCandidates ()); + + if ($postEqual =~ /AUTO\s*(\S*)|USE_AUTOMOC\s*(\S*)/) + { + print STDERR "$printname: the argument for AUTO|USE_AUTOMOC is obsolete" if ($+); + $mocExt = ".moc.$cxxsuffix"; + $haveAutomocTag = 1; + } + else + { + # Not automoc so read the list of files supplied which + # should be .moc files. + + $postEqual =~ tr/\034/ /; + + # prune out extra headers - This also checks to make sure that + # the list is valid. + pruneMocCandidates ($postEqual); + } + + checkMocCandidates (); + + if (@newObs) { + my $ext = ($program =~ /_la$/) ? ".moc.lo " : ".moc.o "; + $realObjs{$program} .= "\034" . join ($ext, @newObs) . $ext; + $dependmocs{$program} = join (".moc.$cxxsuffix " , @newObs) . ".moc.$cxxsuffix"; + foreach $file (@newObs) { + $dep_files .= " \$(DEPDIR)/$file.moc.P" if($dep_files !~/$file.moc.P/); + } + } + if (@depend) { + $dependmocs{$program} .= " "; + $dependmocs{$program} .= join('.moc ', @depend) . ".moc"; + $dependmocs{$program} .= " "; + } + addMocRules (); + @globalmocs{keys %mocFiles}=values %mocFiles; +} + +#----------------------------------------------------------------------------- + +# Returns 0 if the line was processed - 1 otherwise. +# Errors are logged in the global $errorflags +sub tag_AUTOMAKE () +{ + my $lookup = '.*cd \$\(top_srcdir\)\s+&&[\034\s]+\$\(AUTOMAKE\)(.*)'; + return 1 if ($MakefileData !~ /\n($lookup)\n/); + print STDOUT "AUTOMAKE processing <$1>\n" if ($verbose); + + my $newLine = $1."\n\tcd \$(top_srcdir) && perl $thisProg $printname"; + + # automake 1.8.x adds another automake call. *sigh* + $newLine =~ s/;([\034\s]+cd\s+\$\(srcdir\)\s+&&[\034\s]+\$\(AUTOMAKE\).*)[\034\s]+\&\&[\034\s]+exit[\034\s]+0;([\034\s]+exit\s+1)/; \034 ( $1 ) || exit 1; echo \' cd \$(top_srcdir) && perl $thisProg \'; cd \$(top_srcdir) && perl $thisProg && exit 0; $2/; + substituteLine ($lookup, $newLine); + $automkCall = $1; + + $lookup = '.*cd \$\(srcdir\)\s+&&[\034\s]+\$\(AUTOCONF\)(.*)'; + if ($MakefileData =~ /\n($lookup)\n/) { + $newLine = "\tcd \$(srcdir) && rm -f configure\n"; + $newLine .= "\tcd \$(top_srcdir) && \$(MAKE) -f admin/Makefile.common configure"; + substituteLine ($lookup, $newLine); + } + + return 0; +} + +#----------------------------------------------------------------------------- + +sub handle_TOPLEVEL() +{ + my $pofiles = ""; + my @restfiles = (); + opendir (THISDIR, "."); + foreach $entry (readdir(THISDIR)) { + next if (-d $entry); + + next if ($entry eq "CVS" || $entry =~ /^\./ || $entry =~ /^Makefile/ || $entry =~ /~$/ || $entry =~ /^\#.*\#$/ || $entry =~ /.gmo$/); + + if ($entry =~ /\.po$/) { + next; + } + push(@restfiles, $entry); + } + closedir (THISDIR); + + if (@restfiles) { + $target_adds{"install-data-am"} .= "install-nls-files "; + $lines = "install-nls-files:\n"; + $lines .= "\t\$(mkinstalldirs) \$(DESTDIR)\$(kde_locale)/$kdelang\n"; + for $file (@restfiles) { + $lines .= "\t\$(INSTALL_DATA) \$\(srcdir\)/$file \$(DESTDIR)\$(kde_locale)/$kdelang/$file\n"; + } + $target_adds{"uninstall"} .= "uninstall-nls-files "; + $lines .= "uninstall-nls-files:\n"; + for $file (@restfiles) { + $lines .= "\t-rm -f \$(DESTDIR)\$(kde_locale)/$kdelang/$file\n"; + } + appendLines($lines); + } + + return 0; +} + +#----------------------------------------------------------------------------- + +sub tag_SUBDIRS () +{ + if ($MakefileData !~ /\nSUBDIRS\s*=\s*\$\(AUTODIRS\)\s*\n/) { + return 1; + } + + my $subdirs = "."; + + opendir (THISDIR, "."); + foreach $entry (readdir(THISDIR)) { + next if ($entry eq "CVS" || $entry =~ /^\./); + if (-d $entry && -f $entry . "/Makefile.am") { + $subdirs .= " $entry"; + next; + } + } + closedir (THISDIR); + + substituteLine('SUBDIRS\s*=.*', "SUBDIRS =$subdirs"); + return 0; +} + +sub tag_IDLFILES () +{ + my @psources = split(/[\034\s]+/, $sources{$program}); + my $dep_lines = ""; + my @cppFiles = (); + + foreach $source (@psources) { + my $skel = ($source =~ m/\.skel$/); + my $stub = ($source =~ m/\.stub$/); + my $signals = ($source =~ m/\.signals$/); # obsolete, remove in KDE-4 + + if ($stub || $skel || $signals) { + + my $qs = quotemeta($source); + $sources{$program} =~ s/$qs//; + $sources_changed{$program} = 1; + + $source =~ s/\.(stub|skel|signals)$//; + my $sourcename; + + if ($skel) { + $sourcename = "$source\_skel"; + } elsif ($stub) { + $sourcename = "$source\_stub"; + } else { + $sourcename = "$source\_signals"; + } + + my $sourcedir = ''; + if (-f "$makefileDir/$source.h") { + $sourcedir = '$(srcdir)/'; + } else { + if ($MakefileData =~ /\n$source\_DIR\s*=\s*(\S+)\n/) { + $sourcedir = $1; + $sourcedir .= "/" if ($sourcedir !~ /\/$/); + } + } + + if ($allidls !~ /$source\_kidl/) { + + $use_ng = ($MakefileData =~ /\n$source\_DCOPIDLNG\s*=\s*(\S+)\n/); + $dcopidl = $use_ng ? "KDECONFIG=\"\$(KDECONFIG)\" \$(DCOPIDLNG)" : "\$(DCOPIDL)"; + + $dep_lines .= "$source.kidl: $sourcedir$source.h \$(DCOP_DEPENDENCIES)\n"; + $dep_lines .= "\t$dcopidl $sourcedir$source.h > $source.kidl || ( rm -f $source.kidl ; false )\n"; + + $allidls .= $source . "_kidl "; + } + + if ($allidls !~ /$sourcename/) { + + $dep_lines_tmp = ""; + + if ($skel) { + $dep_lines .= "$sourcename.$cxxsuffix: $source.kidl\n"; + $dep_lines .= "\t\$(DCOPIDL2CPP) --c++-suffix $cxxsuffix --no-signals --no-stub $source.kidl\n"; + } elsif ($stub) { + $dep_lines_tmp = "\t\$(DCOPIDL2CPP) --c++-suffix $cxxsuffix --no-signals --no-skel $source.kidl\n"; + } else { # signals - obsolete, remove in KDE 4 + $dep_lines_tmp = "\t\$(DCOPIDL2CPP) --c++-suffix $cxxsuffix --no-stub --no-skel $source.kidl\n"; + } + + if ($stub || $signals) { + $target_adds{"$sourcename.$cxxsuffix"} .= "$sourcename.h "; + $dep_lines .= "$sourcename.h: $source.kidl\n"; + $dep_lines .= $dep_lines_tmp; + } + + $allidls .= $sourcename . " "; + } + + $idlfiles{$program} .= $sourcename . " "; + + if ($program =~ /_la$/) { + $realObjs{$program} .= " $sourcename.lo"; + } else { + $realObjs{$program} .= " $sourcename.\$(OBJEXT)"; + } + $sources{$program} .= " $sourcename.$cxxsuffix"; + $sources_changed{$program} = 1; + $important{$program} .= "$sourcename.h " if (!$skel); + $idl_output .= "\\\n\t$sourcename.$cxxsuffix $sourcename.h $source.kidl "; + push(@cleanfiles, "$sourcename.$cxxsuffix"); + push(@cleanfiles, "$sourcename.h"); + push(@cleanfiles, "$sourcename.kidl"); + $dep_files .= " \$(DEPDIR)/$sourcename.P" if ($dep_files !~/$sourcename.P/); + } + } + if ($dep_lines) { + appendLines($dep_lines); + } + + if (0) { + my $lookup = "($program)"; + $lookup .= '(|\$\(EXEEXT\))'; + $lookup =~ s/\_/./g; + $lookup .= ":(.*..$program\_OBJECTS..*)"; + # $lookup = quotemeta($lookup); + if ($MakefileData =~ /\n$lookup\n/) { + + my $line = "$1$2: "; + foreach $file (split(' ', $idlfiles{$program})) { + $line .= "$file.$cxxsuffix "; + } + $line .= $3; + substituteLine($lookup, $line); + } else { + print STDERR "no built dependency found $lookup\n"; + } + } +} + +sub tag_UIFILES () +{ + my @psources = split(/[\034\s]+/, $sources{$program}); + my @depFiles = (); + + foreach $source (@psources) { + + if ($source =~ m/\.ui$/) { + + print STDERR "adding UI file $source\n" if ($verbose); + + my $qs = quotemeta($source); + $sources{$program} =~ s/$qs//; + $sources_changed{$program} = 1; + + $source =~ s/\.ui$//; + + my $sourcedir = ''; + if (-f "$makefileDir/$source.ui") { + $sourcedir = '$(srcdir)/'; + } + + if (!$uiFiles{$source}) { + + my $dep_lines = "$source.$cxxsuffix: $sourcedir$source.ui $source.h $source.moc\n"; + $dep_lines .= "\trm -f $source.$cxxsuffix\n"; + if (!$kdeopts{"qtonly"}) { + $dep_lines .= "\techo '#include ' > $source.$cxxsuffix\n"; + $dep_lines .= "\techo '#include ' >> $source.$cxxsuffix\n"; + my ($mangled_source) = $source; + $mangled_source =~ s/[^A-Za-z0-9]/_/g; # get rid of garbage + $dep_lines .= "\t\$(UIC) -tr \${UIC_TR} -i $source.h $sourcedir$source.ui > $source.$cxxsuffix.temp ; ret=\$\$?; \\\n"; + $dep_lines .= "\t\$(PERL) -pe \"s,\${UIC_TR}( \\\"\\\" ),QString::null,g\" $source.$cxxsuffix.temp | \$(PERL) -pe \"s,\${UIC_TR}( \\\"\\\"\\, \\\"\\\" ),QString::null,g\" | \$(PERL) -pe \"s,image([0-9][0-9]*)_data,img\\\$\$1_" . $mangled_source . ",g\" | \$(PERL) -pe \"s,: QWizard\\(,: KWizard(,g\" >> $source.$cxxsuffix ;\\\n"; + $dep_lines .= "\trm -f $source.$cxxsuffix.temp ;\\\n"; + } else { + $dep_lines .= "\t\$(UIC) -i $source.h $sourcedir$source.ui > $source.$cxxsuffix; ret=\$\$?; \\\n"; + } + $dep_lines .= "\tif test \"\$\$ret\" = 0; then echo '#include \"$source.moc\"' >> $source.$cxxsuffix; else rm -f $source.$cxxsuffix ; exit \$\$ret ; fi\n\n"; + $dep_lines .= "$source.h: $sourcedir$source.ui\n"; + $dep_lines .= "\trm -rf $source.h;\n"; + if (!$kdeopts{"qtonly"}) { + $dep_lines .= "\t\$(UIC) $sourcedir$source.ui | \$(PERL) -pi -e \"s,public QWizard,public KWizard,g; s,#include ,#include ,g\" >> $source.h ;\n"; + } else { + $dep_lines .= "\t\$(UIC) -o $source.h $sourcedir$source.ui\n"; + } + $dep_lines .= "$source.moc: $source.h\n"; + $dep_lines .= "\t\$(MOC) $source.h -o $source.moc\n"; + + $rule_adds{"$source.$cxxsuffix"} = $dep_lines; + + $uiFiles{$source} = 1; + $dependmocs{$program} .= " $source.moc"; + $globalmocs{$source} = "\035$source.h\035$source.cpp"; + } + + if ($program =~ /_la$/) { + $realObjs{$program} .= " $source.lo"; + } else { + $realObjs{$program} .= " $source.\$(OBJEXT)"; + } + $sources{$program} .= " $source.$cxxsuffix"; + $sources_changed{$program} = 1; + $important{$program} .= "$source.h "; + $ui_output .= "\\\n\t$source.$cxxsuffix $source.h $source.moc "; + push(@cleanfiles, "$source.$cxxsuffix"); + push(@cleanfiles, "$source.h"); + push(@cleanfiles, "$source.moc"); + $dep_files .= " \$(DEPDIR)/$source.P" if($dep_files !~/$source.P/ ); + } + } +} + +sub tag_KCFGFILES () +{ + my @psources = split(/[\034\s]+/, $sources{$program}); + my @depFiles = (); + + foreach $source (@psources) { + + if ($source =~ m/\.kcfgc$/) { + + print STDERR "adding KCFG file $source\n" if ($verbose); + + my $qs = quotemeta($source); + $sources{$program} =~ s/$qs//; + $sources_changed{$program} = 1; + + $source =~ s/\.kcfgc$//; + + my $sourcedir = ''; + if (-f "$makefileDir/$source.kcfgc") { + $sourcedir = '$(srcdir)/'; + } + + if (!$kcfgFiles{$source}) { + $kcfg = "$program.kcfg"; + findKcfgFile("$source.kcfgc"); + + my $fixsuffix = ""; + $fixsuffix = "else mv $source.cpp $source.$cxxsuffix ; " + unless "cpp" eq $cxxsuffix; + + my $dep_lines = "$source.$cxxsuffix: $source.h\n"; + $dep_lines .= "$source.h: $sourcedir$kcfg $sourcedir$source.kcfgc \$(KCFG_DEPENDENCIES)\n"; + $dep_lines .= "\t\$(KCONFIG_COMPILER) $sourcedir$kcfg $sourcedir$source.kcfgc; ret=\$\$?; \\\n"; + $dep_lines .= "\tif test \"\$\$ret\" != 0; then rm -f $source.h ; exit \$\$ret ; $fixsuffix fi\n\n"; + + $rule_adds{"$source.$cxxsuffix"} = $dep_lines; + + $kcfgFiles{$source} = 1; + } + + if ($program =~ /_la$/) { + $realObjs{$program} .= " $source.lo"; + } else { + $realObjs{$program} .= " $source.\$(OBJEXT)"; + } + $sources{$program} .= " $source.$cxxsuffix"; + $sources_changed{$program} = 1; + $important{$program} .= "$source.h "; + $kcfg_output .= "\\\n\t$source.$cxxsuffix $source.h "; + push(@cleanfiles, "$source.$cxxsuffix"); + push(@cleanfiles, "$source.h"); + $dep_files .= " \$(DEPDIR)/$source.P" if($dep_files !~/$source.P/ ); + } + } +} + +sub tag_ICON() +{ + my $lookup = '([^\s]*)_ICON\s*=[ \t]*(.*)'; + my $install = ""; + my $uninstall = ""; + + while ($MakefileData =~ /\n$lookup/g) { + my $destdir; + if ($1 eq "KDE") { + $destdir = "kde_icondir"; + } else { + $destdir = $1 . "dir"; + } + my $iconauto = ($2 =~ /AUTO\s*$/); + my @appnames = (); + if ( ! $iconauto ) { + my $appicon_str = $2; + my @_appnames = split(" ", $appicon_str); + print STDOUT "KDE_ICON processing <@_appnames>\n" if ($verbose); + foreach $appname (@_appnames) { + push(@appnames, quotemeta($appname)); + } + } else { + print STDOUT "KDE_ICON processing \n" if ($verbose); + } + + my @files = (); + opendir (THISDIR, "."); + foreach $entry (readdir(THISDIR)) { + next if ($entry eq "CVS" || $entry =~ /^\./ || $entry =~ /^Makefile/ || $entry =~ /~$/ || $entry =~ /^\#.*\#$/); + next if (! -f $entry); + if ( $iconauto ) + { + push(@files, $entry) + if ($entry =~ /\.xpm/ || $entry =~ /\.png/ || $entry =~ /\.mng/ || $entry =~ /\.svg/); + } else { + foreach $appname (@appnames) { + push(@files, $entry) + if ($entry =~ /-$appname\.xpm/ || $entry =~ /-$appname\.png/ || $entry =~ /-$appname\.mng/ || $entry =~ /-$appname\.svg/); + } + } + } + closedir (THISDIR); + + my %directories = (); + + foreach $file (@files) { + my $newfile = $file; + my $prefix = $file; + $prefix =~ s/\.(png|xpm|mng|svg|svgz)$//; + my $appname = $prefix; + $appname =~ s/^[^-]+-// if ($appname =~ /-/) ; + $appname =~ s/^[^-]+-// if ($appname =~ /-/) ; + $appname = quotemeta($appname); + $prefix =~ s/$appname$//; + $prefix =~ s/-$//; + + $prefix = 'lo16-app' if ($prefix eq 'mini'); + $prefix = 'lo32-app' if ($prefix eq 'lo'); + $prefix = 'hi48-app' if ($prefix eq 'large'); + $prefix .= '-app' if ($prefix =~ m/^...$/); + + my $type = $prefix; + $type =~ s/^.*-([^-]+)$/$1/; + $prefix =~ s/^(.*)-[^-]+$/$1/; + + my %type_hash = + ( + 'action' => 'actions', + 'app' => 'apps', + 'device' => 'devices', + 'filesys' => 'filesystems', + 'mime' => 'mimetypes' + ); + + if (! defined $type_hash{$type} ) { + print STDERR "unknown icon type $type in $printname ($file)\n"; + next; + } + + my %dir_hash = + ( + 'los' => 'locolor/16x16', + 'lom' => 'locolor/32x32', + 'him' => 'hicolor/32x32', + 'hil' => 'hicolor/48x48', + 'lo16' => 'locolor/16x16', + 'lo22' => 'locolor/22x22', + 'lo32' => 'locolor/32x32', + 'hi16' => 'hicolor/16x16', + 'hi22' => 'hicolor/22x22', + 'hi32' => 'hicolor/32x32', + 'hi48' => 'hicolor/48x48', + 'hi64' => 'hicolor/64x64', + 'hi128' => 'hicolor/128x128', + 'hisc' => 'hicolor/scalable', + 'cr16' => 'crystalsvg/16x16', + 'cr22' => 'crystalsvg/22x22', + 'cr32' => 'crystalsvg/32x32', + 'cr48' => 'crystalsvg/48x48', + 'cr64' => 'crystalsvg/64x64', + 'cr128' => 'crystalsvg/128x128', + 'crsc' => 'crystalsvg/scalable' + ); + + $newfile =~ s@.*-($appname\.(png|xpm|mng|svgz|svg?))@$1@; + + if (! defined $dir_hash{$prefix}) { + print STDERR "unknown icon prefix $prefix in $printname\n"; + next; + } + + my $dir = $dir_hash{$prefix} . "/" . $type_hash{$type}; + if ($newfile =~ /-[^\.]/) { + my $tmp = $newfile; + $tmp =~ s/^([^-]+)-.*$/$1/; + $dir = $dir . "/" . $tmp; + $newfile =~ s/^[^-]+-//; + } + + if (!defined $directories{$dir}) { + $install .= "\t\$(mkinstalldirs) \$(DESTDIR)\$($destdir)/$dir\n"; + $directories{$dir} = 1; + } + + $install .= "\t\$(INSTALL_DATA) \$(srcdir)/$file \$(DESTDIR)\$($destdir)/$dir/$newfile\n"; + $uninstall .= "\t-rm -f \$(DESTDIR)\$($destdir)/$dir/$newfile\n"; + + } + } + + if (length($install)) { + $target_adds{"install-data-am"} .= "install-kde-icons "; + $target_adds{"uninstall-am"} .= "uninstall-kde-icons "; + appendLines("install-kde-icons:\n" . $install . "\nuninstall-kde-icons:\n" . $uninstall); + } +} + +sub handle_POFILES($$) +{ + my @pofiles = split(" ", $_[0]); + my $lang = $_[1]; + + # Build rules for creating the gmo files + my $tmp = ""; + my $allgmofiles = ""; + my $pofileLine = "POFILES ="; + foreach $pofile (@pofiles) + { + $pofile =~ /(.*)\.[^\.]*$/; # Find name minus extension + $tmp .= "$1.gmo: $pofile\n"; + $tmp .= "\trm -f $1.gmo; \$(GMSGFMT) -o $1.gmo \$(srcdir)/$pofile\n"; + $tmp .= "\ttest ! -f $1.gmo || touch $1.gmo\n"; + $allgmofiles .= " $1.gmo"; + $pofileLine .= " $1.po"; + } + appendLines ($tmp); + my $lookup = 'POFILES\s*=([^\n]*)'; + if ($MakefileData !~ /\n$lookup/) { + appendLines("$pofileLine\nGMOFILES =$allgmofiles"); + } else { + substituteLine ($lookup, "$pofileLine\nGMOFILES =$allgmofiles"); + } + + if ($allgmofiles) { + + # Add the "clean" rule so that the maintainer-clean does something + appendLines ("clean-nls:\n\t-rm -f $allgmofiles\n"); + + $target_adds{"maintainer-clean"} .= "clean-nls "; + + $lookup = 'DISTFILES\s*=[ \t]*(.*)'; + if ($MakefileData =~ /\n$lookup/) { + $tmp = "DISTFILES = \$(GMOFILES) \$(POFILES) $1"; + substituteLine ($lookup, $tmp); + } + } + + $target_adds{"install-data-am"} .= "install-nls "; + + $tmp = "install-nls:\n"; + if ($lang) { + $tmp .= "\t\$(mkinstalldirs) \$(DESTDIR)\$(kde_locale)/$lang/LC_MESSAGES\n"; + } + $tmp .= "\t\@for base in "; + foreach $pofile (@pofiles) + { + $pofile =~ /(.*)\.[^\.]*$/; # Find name minus extension + $tmp .= "$1 "; + } + + $tmp .= "; do \\\n"; + if ($lang) { + $tmp .= "\t echo \$(INSTALL_DATA) \$\$base.gmo \$(DESTDIR)\$(kde_locale)/$lang/LC_MESSAGES/\$\$base.mo ;\\\n"; + $tmp .= "\t if test -f \$\$base.gmo; then \$(INSTALL_DATA) \$\$base.gmo \$(DESTDIR)\$(kde_locale)/$lang/LC_MESSAGES/\$\$base.mo ;\\\n"; + $tmp .= "\t elif test -f \$(srcdir)/\$\$base.gmo; then \$(INSTALL_DATA) \$(srcdir)/\$\$base.gmo \$(DESTDIR)\$(kde_locale)/$lang/LC_MESSAGES/\$\$base.mo ;\\\n"; + $tmp .= "\t fi ;\\\n"; + } else { + $tmp .= "\t echo \$(INSTALL_DATA) \$\$base.gmo \$(DESTDIR)\$(kde_locale)/\$\$base/LC_MESSAGES/\$(PACKAGE).mo ;\\\n"; + $tmp .= "\t \$(mkinstalldirs) \$(DESTDIR)\$(kde_locale)/\$\$base/LC_MESSAGES ; \\\n"; + $tmp .= "\t if test -f \$\$base.gmo; then \$(INSTALL_DATA) \$\$base.gmo \$(DESTDIR)\$(kde_locale)/\$\$base/LC_MESSAGES/\$(PACKAGE).mo ;\\\n"; + $tmp .= "\t elif test -f \$(srcdir)/\$\$base.gmo; then \$(INSTALL_DATA) \$(srcdir)/\$\$base.gmo \$(DESTDIR)\$(kde_locale)/\$\$base/LC_MESSAGES/\$(PACKAGE).mo ;\\\n"; + $tmp .= "\t fi ;\\\n"; + } + $tmp .= "\tdone\n\n"; + appendLines ($tmp); + + $target_adds{"uninstall"} .= "uninstall-nls "; + + $tmp = "uninstall-nls:\n"; + foreach $pofile (@pofiles) + { + $pofile =~ /(.*)\.[^\.]*$/; # Find name minus extension + if ($lang) { + $tmp .= "\trm -f \$(DESTDIR)\$(kde_locale)/$lang/LC_MESSAGES/$1.mo\n"; + } else { + $tmp .= "\trm -f \$(DESTDIR)\$(kde_locale)/$1/LC_MESSAGES/\$(PACKAGE).mo\n"; + } + } + appendLines($tmp); + + $target_adds{"all"} .= "all-nls "; + + $tmp = "all-nls: \$(GMOFILES)\n"; + + appendLines($tmp); + + $target_adds{"distdir"} .= "distdir-nls "; + + $tmp = "distdir-nls:\$(GMOFILES)\n"; + $tmp .= "\tfor file in \$(POFILES); do \\\n"; + $tmp .= "\t cp \$(srcdir)/\$\$file \$(distdir); \\\n"; + $tmp .= "\tdone\n"; + $tmp .= "\tfor file in \$(GMOFILES); do \\\n"; + $tmp .= "\t cp \$(srcdir)/\$\$file \$(distdir); \\\n"; + $tmp .= "\tdone\n"; + + appendLines ($tmp); + + if (!$lang) { + appendLines("merge:\n\t\$(MAKE) -f \$(top_srcdir)/admin/Makefile.common package-merge POFILES=\"\${POFILES}\" PACKAGE=\${PACKAGE}\n\n"); + } + +} + +#----------------------------------------------------------------------------- + +# Returns 0 if the line was processed - 1 otherwise. +# Errors are logged in the global $errorflags +sub tag_POFILES () +{ + my $lookup = 'POFILES\s*=([^\n]*)'; + return 1 if ($MakefileData !~ /\n$lookup/); + print STDOUT "POFILES processing <$1>\n" if ($verbose); + + my $tmp = $1; + + # make sure these are all gone. + if ($MakefileData =~ /\n\.po\.gmo:\n/) + { + print STDERR "Warning: Found old .po.gmo rules in $printname. New po rules not added\n"; + return 1; + } + + # Either find the pofiles in the directory (AUTO) or use + # only the specified po files. + my $pofiles = ""; + if ($tmp =~ /^\s*AUTO\s*$/) + { + opendir (THISDIR, "."); + $pofiles = join(" ", grep(/\.po$/, readdir(THISDIR))); + closedir (THISDIR); + print STDOUT "pofiles found = $pofiles\n" if ($verbose); + if (-f "charset" && -f "kdelibs/kdelibs.po") { + handle_TOPLEVEL(); + } + } + else + { + $tmp =~ s/\034/ /g; + $pofiles = $tmp; + } + return 1 if (!$pofiles); # Nothing to do + + handle_POFILES($pofiles, $kdelang); + + return 0; +} + +sub helper_LOCALINSTALL($) +{ + my $lookup = "\035" . $_[0] . " *:[^\035]*\035\t"; + my $copy = $MakefileData; + $copy =~ s/\n/\035/g; + if ($copy =~ /($lookup.*)$/) { + + $install = $1; + $install =~ s/\035$_[0] *:[^\035]*\035//; + my $emptyline = 0; + while (! $emptyline ) { + if ($install =~ /([^\035]*)\035(.*)/) { + local $line = $1; + $install = $2; + if ($line !~ /^\s*$/ && $line !~ /^(\@.*\@)*\t/) { + $emptyline = 1; + } else { + replaceDestDir($line); + } + } else { + $emptyline = 1; + } + } + } + +} + +sub tag_LOCALINSTALL () +{ + helper_LOCALINSTALL('install-exec-local'); + helper_LOCALINSTALL('install-data-local'); + helper_LOCALINSTALL('uninstall-local'); + + return 0; +} + +sub replaceDestDir($) { + local $line = $_[0]; + + if ( $line =~ /^\s*(\@.*\@)*\s*\$\(mkinstalldirs\)/ + || $line =~ /^\s*(\@.*\@)*\s*\$\(INSTALL\S*\)/ + || $line =~ /^\s*(\@.*\@)*\s*(-?rm.*) \S*$/) + { + $line =~ s/^(.*) ([^\s]+)\s*$/$1 \$(DESTDIR)$2/ if ($line !~ /\$\(DESTDIR\)/); + } + + if ($line ne $_[0]) { + $_[0] = quotemeta $_[0]; + substituteLine($_[0], $line); + } +} + +#--------------------------------------------------------------------------- +# libtool is very hard to persuade it could use -Wl,--no-undefined for making +# -no-undefined actually work +# append $(KDE_NO_UNFINED) after every -no-undefined in LDFLAGS +# this may go away if libtool ever does this on its own +sub tag_NO_UNDEFINED () { + return if ($program !~ /_la$/); + + my $lookup = quotemeta($realname{$program}) . ":.*?\n\t.*?\\((.*?)\\) .*\n"; + $MakefileData =~ m/$lookup/; + return if (!defined($1)); + return if ($1 !~ /CXXLINK/); + + if ($MakefileData !~ /\n$program\_LDFLAGS\s*=.*-no-undefined/ ) { + return; + } + + $lookup = $program . '\_LDFLAGS(\s*)=(.*)-no-undefined(.*)'; + if ($MakefileData =~ /\n$lookup\n/) { + my $replace = $program . "\_LDFLAGS$1=$2-no-undefined \$(KDE_NO_UNDEFINED)$3"; + substituteLine($lookup, $replace); + } +} + +sub tag_CLOSURE () { + return if ($program !~ /_la$/); + + my $lookup = quotemeta($realname{$program}) . ":.*?\n\t.*?\\((.*?)\\) .*\n"; + $MakefileData =~ m/$lookup/; + return if (!defined($1)); + return if ($1 !~ /CXXLINK/); + + if ($MakefileData !~ /\n$program\_LDFLAGS\s*=.*-no-undefined/ && + $MakefileData !~ /\n$program\_LDFLAGS\s*=.*KDE_PLUGIN/ ) { + print STDERR "Report: $program contains undefined in $printname\n" if ($program =~ /^lib/ && $dryrun); + return; + } + + my $closure = $realname{$program} . ".closure"; + my $lines = "$closure: \$($program\_OBJECTS) \$($program\_DEPENDENCIES)\n"; + $lines .= "\t\@echo \"int main() {return 0;}\" > $program\_closure.$cxxsuffix\n"; + $lines .= "\t\@\$\(LTCXXCOMPILE\) -c $program\_closure.$cxxsuffix\n"; + $lines .= "\t\$\(CXXLINK\) $program\_closure.lo \$($program\_LDFLAGS) \$($program\_OBJECTS) \$($program\_LIBADD) \$(LIBS)\n"; + $lines .= "\t\@rm -f $program\_closure.* $closure\n"; + $lines .= "\t\@echo \"timestamp\" > $closure\n"; + $lines .= "\n"; + appendLines($lines); + $lookup = $realname{$program} . ": (.*)"; + if ($MakefileData =~ /\n$lookup\n/) { + $lines = "\@KDE_USE_CLOSURE_TRUE@". $realname{$program} . ": $closure $1"; + $lines .= "\n\@KDE_USE_CLOSURE_FALSE@" . $realname{$program} . ": $1"; + substituteLine($lookup, $lines); + } + $closure_output .= " $closure"; +} + +sub tag_NMCHECK () { + return if ($program !~ /_la$/); + my $lookup = quotemeta($realname{$program}) . ":.*?\n\t.*?\\((.*?)\\) .*\n"; + $MakefileData =~ m/$lookup/; + my $linkcmd = $1; + return if (!defined($1)); + return if ($linkcmd !~ /CXXLINK/ && $linkcmd !~ /LINK/); + + $lookup = $program . '_NMCHECK\s*=([^\n]*)'; + if( $MakefileData !~ m/\n$lookup\n/ ) { + return; + } + my $allowed = $1; + $allowed =~ s/^ *//; + $lookup = $program . '_NMCHECKWEAK\s*=([^\n]*)'; + my $weak = ""; + my $is_weak = 0; + if( $MakefileData =~ m/\n$lookup\n/ ) { + $weak = $1; + $is_weak = 1; + } + $weak =~ s/^ *//; + + if( $is_weak ) + { + $weak = '--allowweak=\'' . $weak . '\' '; + } + my $nmline = "\@KDE_USE_NMCHECK_TRUE@\t\@\$(MAKE) \$(AM_MAKEFLAGS) nmcheck_$realname{$program} || ( rm -f $realname{$program}; exit 1 )"; + $lookup = '(\t\$\(CXXLINK\)[^\n]*' . $program . '_OBJECTS[^\n]*)'; + if( $MakefileData =~ /\n$lookup\n/ ) { + my $oldstuff = $1; + substituteLine( $lookup, $oldstuff . "\n" . $nmline ); + } + $lookup = '(\t\$\(LINK\)[^\n]*' . $program . '_OBJECTS[^\n]*)'; + if( $MakefileData =~ /\n$lookup\n/ ) { + my $oldstuff = $1; + substituteLine( $lookup, $oldstuff . "\n" . $nmline ); + } + $nmline = "\@\$(top_srcdir)/admin/nmcheck $realname{$program} \'$allowed\' $weak"; + appendLines( "\nnmcheck_$realname{$program}: $realname{$program} \n\t$nmline\n" ); + $target_adds{ "nmcheck" } .= "nmcheck_$realname{$program} "; +} + +sub tag_DIST () { + my %foundfiles = (); + opendir (THISDIR, "."); + foreach $entry (readdir(THISDIR)) { + next if ($entry eq "CVS" || $entry =~ /^\./ || $entry eq "Makefile" || $entry =~ /~$/ || $entry =~ /^\#.*\#$/); + next if (! -f $entry); + next if ($entry =~ /\.moc/ || $entry =~ /\.moc.$cppExt$/ || $entry =~ /\.lo$/ || $entry =~ /\.la$/ || $entry =~ /\.o/); + next if ($entry =~ /\.all_$cppExt\.$cppExt$/); + $foundfiles{$entry} = 1; + } + closedir (THISDIR); + + # doing this for MAINTAINERCLEANFILES would be wrong + my @marks = ("EXTRA_DIST", "DIST_COMMON", '\S*_SOURCES', '\S*_HEADERS', 'CLEANFILES', 'DISTCLEANFILES', '\S*_OBJECTS'); + foreach $mark (@marks) { + while ($MakefileData =~ /\n($mark)\s*=[ \t]*([^\n]*)/g) { + my $cleanfiles_str = $2; + foreach $file (split('[\034\s]+', $cleanfiles_str)) { + $file =~ s/\.\///; + $foundfiles{$file} = 0 if (defined $foundfiles{$file}); + } + } + } + my @files = ("Makefile", "config.cache", "config.log", "stamp-h", + "stamp-h1", "stamp-h1", "config.h", "Makefile", + "config.status", "config.h", "libtool", "core" ); + foreach $file (@files) { + $foundfiles{$file} = 0 if (defined $foundfiles{$file}); + } + + my $KDE_DIST = ""; + foreach $file (keys %foundfiles) { + if ($foundfiles{$file} == 1) { + $KDE_DIST .= "$file "; + } + } + if ($KDE_DIST) { + print "KDE_DIST $printname $KDE_DIST\n" if ($verbose); + + my $lookup = 'DISTFILES\s*=[ \t]*(.*)'; + if ($MakefileData =~ /\n$lookup/) { + substituteLine($lookup, "DISTFILES = $1 \$(KDE_DIST)"); + appendLines("KDE_DIST=$KDE_DIST\n"); + } + } +} + +#----------------------------------------------------------------------------- +# Returns 0 if the line was processed - 1 otherwise. +# Errors are logged in the global $errorflags +sub tag_DOCFILES () +{ + $target_adds{"all"} .= "docs-am "; + + my $lookup = 'KDE_DOCS\s*=[ \t]*([^\n]*)'; + goto nodocs if ($MakefileData !~ /\n$lookup/); + print STDOUT "KDE_DOCS processing <$1>\n" if ($verbose); + + my $tmp = $1; + + # Either find the files in the directory (AUTO) or use + # only the specified po files. + my $files = ""; + my $appname = $tmp; + $appname =~ s/^(\S*)\s*.*$/$1/; + if ($appname =~ /AUTO/) { + $appname = basename($makefileDir); + if ("$appname" eq "en") { + print STDERR "Error: KDE_DOCS = AUTO relies on the directory name. Yours is 'en' - you most likely want something else, e.g. KDE_DOCS = myapp\n"; + exit(1); + } + } + + if ($tmp !~ / - /) + { + opendir (THISDIR, "."); + foreach $entry (readdir(THISDIR)) { + next if ($entry eq "CVS" || $entry =~ /^\./ || $entry =~ /^Makefile/ || $entry =~ /~$/ || $entry =~ /^\#.*\#$/ || $entry eq "core" || $entry eq "index.cache.bz2"); + next if (! -f $entry); + $files .= "$entry "; + } + closedir (THISDIR); + print STDOUT "docfiles found = $files\n" if ($verbose); + } + else + { + $tmp =~ s/\034/ /g; + $tmp =~ s/^\S*\s*-\s*//; + $files = $tmp; + } + goto nodocs if (!$files); # Nothing to do + + if ($files =~ /(^| )index\.docbook($| )/) { + + my $lines = ""; + my $lookup = 'MEINPROC\s*='; + if ($MakefileData !~ /\n($lookup)/) { + $lines = "MEINPROC=/\$(kde_bindir)/meinproc\n"; + } + $lookup = 'KDE_XSL_STYLESHEET\s*='; + if ($MakefileData !~ /\n($lookup)/) { + $lines .= "KDE_XSL_STYLESHEET=/\$(kde_datadir)/ksgmltools2/customization/kde-chunk.xsl\n"; + } + $lookup = '\nindex.cache.bz2:'; + if ($MakefileData !~ /\n($lookup)/) { + $lines .= "index.cache.bz2: \$(srcdir)/index.docbook \$(KDE_XSL_STYLESHEET) $files\n"; + $lines .= "\t\@if test -n \"\$(MEINPROC)\"; then echo \$(MEINPROC) --check --cache index.cache.bz2 \$(srcdir)/index.docbook; \$(MEINPROC) --check --cache index.cache.bz2 \$(srcdir)/index.docbook; fi\n"; + $lines .= "\n"; + } + + $lines .= "docs-am: index.cache.bz2\n"; + $lines .= "\n"; + $lines .= "install-docs: docs-am install-nls\n"; + $lines .= "\t\$(mkinstalldirs) \$(DESTDIR)\$(kde_htmldir)/$kdelang/$appname\n"; + $lines .= "\t\@if test -f index.cache.bz2; then \\\n"; + $lines .= "\techo \$(INSTALL_DATA) index.cache.bz2 \$(DESTDIR)\$(kde_htmldir)/$kdelang/$appname/; \\\n"; + $lines .= "\t\$(INSTALL_DATA) index.cache.bz2 \$(DESTDIR)\$(kde_htmldir)/$kdelang/$appname/; \\\n"; + $lines .= "\telif test -f \$(srcdir)/index.cache.bz2; then \\\n"; + $lines .= "\techo \$(INSTALL_DATA) \$(srcdir)/index.cache.bz2 \$(DESTDIR)\$(kde_htmldir)/$kdelang/$appname/; \\\n"; + $lines .= "\t\$(INSTALL_DATA) \$(srcdir)/index.cache.bz2 \$(DESTDIR)\$(kde_htmldir)/$kdelang/$appname/; \\\n"; + $lines .= "\tfi\n"; + $lines .= "\t-rm -f \$(DESTDIR)\$(kde_htmldir)/$kdelang/$appname/common\n"; + $lines .= "\t\$(LN_S) \$(kde_libs_htmldir)/$kdelang/common \$(DESTDIR)\$(kde_htmldir)/$kdelang/$appname/common\n"; + + $lines .= "\n"; + $lines .= "uninstall-docs:\n"; + $lines .= "\t-rm -rf \$(kde_htmldir)/$kdelang/$appname\n"; + $lines .= "\n"; + $lines .= "clean-docs:\n"; + $lines .= "\t-rm -f index.cache.bz2\n"; + $lines .= "\n"; + $target_adds{"install-data-am"} .= "install-docs "; + $target_adds{"uninstall"} .= "uninstall-docs "; + $target_adds{"clean-am"} .= "clean-docs "; + appendLines ($lines); + } else { + appendLines("docs-am: $files\n"); + } + + $target_adds{"install-data-am"} .= "install-nls "; + $target_adds{"uninstall"} .= "uninstall-nls "; + + $tmp = "install-nls:\n"; + $tmp .= "\t\$(mkinstalldirs) \$(DESTDIR)\$(kde_htmldir)/$kdelang/$appname\n"; + $tmp .= "\t\@for base in $files; do \\\n"; + $tmp .= "\t echo \$(INSTALL_DATA) \$\$base \$(DESTDIR)\$(kde_htmldir)/$kdelang/$appname/\$\$base ;\\\n"; + $tmp .= "\t \$(INSTALL_DATA) \$(srcdir)/\$\$base \$(DESTDIR)\$(kde_htmldir)/$kdelang/$appname/\$\$base ;\\\n"; + $tmp .= "\tdone\n"; + if ($appname eq 'common') { + $tmp .= "\t\@echo \"merging common and language specific dir\" ;\\\n"; + $tmp .= "\tif test ! -f \$(kde_htmldir)/en/common/kde-common.css; then echo 'no english docs found in \$(kde_htmldir)/en/common/'; exit 1; fi \n"; + $tmp .= "\t\@com_files=`cd \$(kde_htmldir)/en/common && echo *` ;\\\n"; + $tmp .= "\tcd \$(DESTDIR)\$(kde_htmldir)/$kdelang/common ;\\\n"; + $tmp .= "\tif test -n \"\$\$com_files\"; then for p in \$\$com_files ; do \\\n"; + $tmp .= "\t case \" $files \" in \\\n"; + $tmp .= "\t *\" \$\$p \"*) ;; \\\n"; + $tmp .= "\t *) test ! -f \$\$p && echo \$(LN_S) ../../en/common/\$\$p \$(DESTDIR)\$(kde_htmldir)/$kdelang/common/\$\$p && \$(LN_S) ../../en/common/\$\$p \$\$p ;; \\\n"; + $tmp .= "\t esac ; \\\n"; + $tmp .= "\tdone ; fi ; true\n"; + } + $tmp .= "\n"; + $tmp .= "uninstall-nls:\n"; + $tmp .= "\tfor base in $files; do \\\n"; + $tmp .= "\t rm -f \$(DESTDIR)\$(kde_htmldir)/$kdelang/$appname/\$\$base ;\\\n"; + $tmp .= "\tdone\n\n"; + appendLines ($tmp); + + $target_adds{"distdir"} .= "distdir-nls "; + + $tmp = "distdir-nls:\n"; + $tmp .= "\tfor file in $files; do \\\n"; + $tmp .= "\t cp \$(srcdir)/\$\$file \$(distdir); \\\n"; + $tmp .= "\tdone\n"; + + appendLines ($tmp); + + return 0; + + nodocs: + appendLines("docs-am:\n"); + return 1; +} + +#----------------------------------------------------------------------------- +# Find headers in any of the source directories specified previously, that +# are candidates for "moc-ing". +sub findMocCandidates () +{ + foreach $dir (@headerdirs) + { + my @list = (); + opendir (SRCDIR, "$dir"); + @hFiles = grep { /.+\.$hExt$/o && !/^\./ } readdir(SRCDIR); + closedir SRCDIR; + foreach $hf (@hFiles) + { + next if ($hf =~ /^\.\#/); + $hf =~ /(.*)\.[^\.]*$/; # Find name minus extension + next if ($uiFiles{$1}); + open (HFIN, "$dir/$hf") || die "Could not open $dir/$hf: $!\n"; + my $hfsize = 0; + seek(HFIN, 0, 2); + $hfsize = tell(HFIN); + seek(HFIN, 0, 0); + read HFIN, $hfData, $hfsize; + close HFIN; + # push (@list, $hf) if(index($hfData, "Q_OBJECT") >= 0); ### fast but doesn't handle //Q_OBJECT + # handle " { friend class blah; Q_OBJECT ", but don't match antlarr_Q_OBJECT (\b). + if ( $hfData =~ /{([^}]*)\bQ_OBJECT/s ) { + push (@list, $hf) unless $1 =~ m://[^\n]*Q_OBJECT[^\n]*$:s; ## reject "// Q_OBJECT" + } + } + # The assoc array of root of headerfile and header filename + foreach $hFile (@list) + { + $hFile =~ /(.*)\.[^\.]*$/; # Find name minus extension + if ($mocFiles{$1}) + { + print STDERR "Warning: Multiple header files found for $1\n"; + next; # Use the first one + } + $mocFiles{$1} = "$dir\035$hFile"; # Add relative dir + } + } + + return 0; +} + +#----------------------------------------------------------------------------- + +# The programmer has specified a moc list. Prune out the moc candidates +# list that we found based on looking at the header files. This generates +# a warning if the programmer gets the list wrong, but this doesn't have +# to be fatal here. +sub pruneMocCandidates ($) +{ + my %prunedMoc = (); + local @mocList = split(' ', $_[0]); + + foreach $mocname (@mocList) + { + $mocname =~ s/\.moc$//; + if ($mocFiles{$mocname}) + { + $prunedMoc{$mocname} = $mocFiles{$mocname}; + } + else + { + my $print = $makefileDir; + $print =~ s/^\Q$topdir\E\\//; + # They specified a moc file but we can't find a header that + # will generate this moc file. That's possible fatal! + print STDERR "Warning: No moc-able header file for $print/$mocname\n"; + } + } + + undef %mocFiles; + %mocFiles = %prunedMoc; +} + +#----------------------------------------------------------------------------- + +# Finds the cpp files (If they exist). +# The cpp files get appended to the header file separated by \035 +sub checkMocCandidates () +{ + my @cppFiles; + my $cpp2moc; # which c++ file includes which .moc files + my $moc2cpp; # which moc file is included by which c++ files + + return unless (keys %mocFiles); + opendir(THISDIR, ".") || return; + @cppFiles = grep { /.+\.$cppExt$/o && !/.+\.moc\.$cppExt$/o + && !/.+\.all_$cppExt\.$cppExt$/o + && !/^\./ } readdir(THISDIR); + closedir THISDIR; + return unless (@cppFiles); + my $files = join (" ", @cppFiles); + $cpp2moc = {}; + $moc2cpp = {}; + foreach $cxxf (@cppFiles) + { + open (CXXFIN, $cxxf) || die "Could not open $cxxf: $!\n"; + seek(CXXFIN, 0, 2); + my $cxxfsize = tell(CXXFIN); + seek(CXXFIN, 0, 0); + read CXXFIN, $cxxfData, $cxxfsize; + close CXXFIN; + while(($cxxfData =~ m/^[ \t]*\#include\s*[<\"](.*\.moc)[>\"]/gm)) { + $cpp2moc->{$cxxf}->{$1} = 1; + $moc2cpp->{$1}->{$cxxf} = 1; + } + } + foreach my $mocFile (keys (%mocFiles)) + { + @cppFiles = keys %{$moc2cpp->{"$mocFile.moc"}}; + if (@cppFiles == 1) { + $mocFiles{$mocFile} .= "\035" . $cppFiles[0]; + push(@depend, $mocFile); + } elsif (@cppFiles == 0) { + push (@newObs, $mocFile); # Produce new object file + next if ($haveAutomocTag); # This is expected... + # But this is an error we can deal with - let them know + print STDERR + "Warning: No c++ file that includes $mocFile.moc\n"; + } else { + # We can't decide which file to use, so it's fatal. Although as a + # guess we could use the mocFile.cpp file if it's in the list??? + print STDERR + "Error: Multiple c++ files that include $mocFile.moc\n"; + print STDERR "\t",join ("\t", @cppFiles),"\n"; + $errorflag = 1; + delete $mocFiles{$mocFile}; + # Let's continue and see what happens - They have been told! + } + } +} + +#----------------------------------------------------------------------------- + +# Add the rules for generating moc source from header files +# For Automoc output *.moc.cpp but normally we'll output *.moc +# (We must compile *.moc.cpp separately. *.moc files are included +# in the appropriate *.cpp file by the programmer) +sub addMocRules () +{ + my $cppFile; + my $hFile; + + foreach $mocFile (keys (%mocFiles)) + { + undef $cppFile; + ($dir, $hFile, $cppFile) = split ("\035", $mocFiles{$mocFile}, 3); + $dir =~ s#^\.#\$(srcdir)#; + if (defined ($cppFile)) + { + $cppFile =~ s,\.[^.]*$,,; + $target_adds{"$cppFile.o"} .= "$mocFile.moc "; + $target_adds{"$cppFile.lo"} .= "$mocFile.moc "; + appendLines ("$mocFile.moc: $dir/$hFile\n\t\$(MOC) $dir/$hFile -o $mocFile.moc\n"); + $cleanMoc .= " $mocFile.moc"; + appendLines ("mocs: $mocFile.moc\n"); + } + else + { + appendLines ("$mocFile$mocExt: $dir/$hFile\n\t\$(MOC) $dir/$hFile -o $mocFile$mocExt\n"); + $cleanMoc .= " $mocFile$mocExt"; + appendLines ("mocs: $mocFile$mocExt\n"); + } + } +} + +sub make_bcheck_target() +{ + my $lookup = 'RECURSIVE_TARGETS\s*=[ \t]*(.*)'; + my $bcheckdep = "bcheck-am"; + $bcheckdep = "bcheck-recursive" if ($MakefileData =~ /\n$lookup/); + + my $headers= ""; + $headers = $1 if($MakefileData =~ /\nHEADERS\s*=[ \t]*(.+)/); + $headers =~ s/\$\((?:noinst|EXTRA)_HEADERS\)//g; + + $target_adds{"clean-am"} .= "clean-bcheck "; + + my $t = "clean-bcheck: \n" . + "\trm -f *.bchecktest.cc *.bchecktest.cc.class a.out\n\n" . + "bcheck: $bcheckdep\n\n" . + "bcheck-am:\n" . + "\t\@for i in $headers; do \\\n" . + "\t if test \$(srcdir)/\$\$i -nt \$\$i.bchecktest.cc; then \\\n" . + "\t echo \"int main() {return 0;}\" > \$\$i.bchecktest.cc ; \\\n" . + "\t echo \"#include \\\"\$\$i\\\"\" >> \$\$i.bchecktest.cc ; \\\n" . + "\t echo \"\$\$i\"; \\\n" . + "\t if ! "; + $t .= $cxxsuffix eq "KKK" ? + "\$(CXX) \$(DEFS) -I. -I\$(srcdir) -I\$(top_builddir) \$(INCLUDES) \$(AM_CPPFLAGS) \$(CPPFLAGS) \$(CXXFLAGS) \$(KDE_CXXFLAGS) " : + "\$(CXXCOMPILE) "; + $t .= " --dump-class-hierarchy -c \$\$i.bchecktest.cc; then \\\n" . + "\t rm -f \$\$i.bchecktest.cc; exit 1; \\\n" . + "\t fi ; \\\n" . + "\t echo \"\" >> \$\$i.bchecktest.cc.class; \\\n" . + "\t perl \$(top_srcdir)/admin/bcheck.pl \$\$i.bchecktest.cc.class || { rm -f \$\$i.bchecktest.cc; exit 1; }; \\\n" . + "\t rm -f a.out; \\\n" . + "\t fi ; \\\n" . + "\tdone\n"; + appendLines("$t\n"); +} + +sub make_meta_classes () +{ + return if ($kdeopts{"qtonly"}); + + my $cppFile; + my $hFile; + my $moc_class_headers = ""; + foreach $program (@programs) { + my $mocs = ""; + my @progsources = split(/[\034\s]+/, $sources{$program}); + my @depmocs = split(' ', $dependmocs{$program}); + my %shash = (), %mhash = (); + @shash{@progsources} = 1; # we are only interested in the existence + @mhash{@depmocs} = 1; + + print STDOUT "program=$program\n" if ($verbose); + print STDOUT "psources=[".join(' ', keys %shash)."]\n" if ($verbose); + print STDOUT "depmocs=[".join(' ', keys %mhash)."]\n" if ($verbose); + print STDOUT "globalmocs=[".join(' ', keys(%globalmocs))."]\n" if ($verbose); + foreach my $mocFile (keys (%globalmocs)) + { + my ($dir, $hFile, $cppFile) = split ("\035", $globalmocs{$mocFile}, 3); + if (defined ($cppFile)) + { + $mocs .= " $mocFile.moc" if exists $shash{$cppFile}; + } + else + { + # Bah. This is the case, if no C++ file includes the .moc + # file. We make a .moc.cpp file for that. Unfortunately this + # is not included in the %sources hash, but rather is mentioned + # in %dependmocs. If the user wants to use AUTO he can't just + # use an unspecific METAINCLUDES. Instead he must use + # program_METAINCLUDES. Anyway, it's not working real nicely. + # E.g. Its not clear what happens if user specifies two + # METAINCLUDES=AUTO in the same Makefile.am. + $mocs .= " $mocFile.moc.$cxxsuffix" + if exists $mhash{$mocFile.".moc.$cxxsuffix"}; + } + } + if ($mocs) { + print STDOUT "==> mocs=[".$mocs."]\n" if ($verbose); + } + print STDOUT "\n" if $verbose; + } + if ($moc_class_headers) { + appendLines ("$cleantarget-moc-classes:\n\t-rm -f $moc_class_headers\n"); + $target_adds{"$cleantarget-am"} .= "$cleantarget-moc-classes "; + } +} + +#----------------------------------------------------------------------------- + +sub updateMakefile () +{ + return if ($dryrun); + + open (FILEOUT, "> $makefile") + || die "Could not create $makefile: $!\n"; + + $MakefileData =~ s/\034/\\\n/g; # Restore continuation lines + # Append our $progId line, _below_ the "generated by automake" line + # because automake-1.6 relies on the first line to be his own. + my $progIdLine = "\# $progId - " . '$Revision: 1.31 $ '."\n"; + if ( !( $MakefileData =~ s/^(.*generated .*by automake.*\n)/$1$progIdLine/ ) ) { + warn "automake line not found in $makefile\n"; + # Fallback: first line + print FILEOUT $progIdLine; + }; + print FILEOUT $MakefileData; + close FILEOUT; +} + +#----------------------------------------------------------------------------- + +# The given line needs to be removed from the makefile +# Do this by adding the special "removed line" comment at the line start. +sub removeLine ($$) +{ + my ($lookup, $old) = @_; + + $old =~ s/\034/\\\n#>- /g; # Fix continuation lines + $MakefileData =~ s/\n$lookup/\n#>\- $old/; +} + +#----------------------------------------------------------------------------- + +# Replaces the old line with the new line +# old line(s) are retained but tagged as removed. The new line(s) have the +# "added" tag placed before it. +sub substituteLine ($$) +{ + my ($lookup, $new) = @_; + + if ($MakefileData =~ /\n($lookup)/) { + $old = $1; + $old =~ s/\034/\\\n#>\- /g; # Fix continuation lines + my $newCount = ($new =~ tr/\034//) + ($new =~ tr/\n//) + 1; + $new =~ s/\\\n/\034/g; + $MakefileData =~ s/\n$lookup/\n#>- $old\n#>\+ $newCount\n$new/; + } else { + warn "Warning: substitution of \"$lookup\" in $printname failed\n"; + } +} + +#----------------------------------------------------------------------------- + +# Slap new lines on the back of the file. +sub appendLines ($) +{ + my ($new) = @_; + my $copynew = $new; + my $newCount = ($new =~ tr/\034//) + ($new =~ tr/\n//) + 1; + $new =~ s/\\\n/\034/g; # Fix continuation lines + $MakefileData .= "\n#>\+ $newCount\n$new"; +} + +#----------------------------------------------------------------------------- + +# Restore the Makefile.in to the state it was before we fiddled with it +sub restoreMakefile () +{ + $MakefileData =~ s/# $progId[^\n\034]*[\n\034]*//g; + # Restore removed lines + $MakefileData =~ s/([\n\034])#>\- /$1/g; + # Remove added lines + while ($MakefileData =~ /[\n\034]#>\+ ([^\n\034]*)/) + { + my $newCount = $1; + my $removeLines = ""; + while ($newCount--) { + $removeLines .= "[^\n\034]*([\n\034]|)"; + } + $MakefileData =~ s/[\n\034]#>\+.*[\n\034]$removeLines/\n/; + } +} + +#----------------------------------------------------------------------------- + +# find the .kcfg file listed in the .kcfgc file +sub findKcfgFile($) +{ + my ($kcfgf) = @_; + open (KCFGFIN, $kcfgf) || die "Could not open $kcfgf: $!\n"; + seek(KCFGFIN, 0, 2); + my $kcfgfsize = tell(KCFGFIN); + seek(KCFGFIN, 0, 0); + read KCFGFIN, $kcfgfData, $kcfgfsize; + close KCFGFIN; + if(($kcfgfData =~ m/^File=(.*\.kcfg)/gm)) { + $kcfg = $1; + } +} diff --git a/admin/compile b/admin/compile new file mode 100755 index 0000000..9bb997a --- /dev/null +++ b/admin/compile @@ -0,0 +1,99 @@ +#! /bin/sh + +# Wrapper for compilers which do not understand `-c -o'. + +# Copyright 1999, 2000 Free Software Foundation, Inc. +# Written by Tom Tromey . +# +# This program is free software; 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. + +# 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. + +# Usage: +# compile PROGRAM [ARGS]... +# `-o FOO.o' is removed from the args passed to the actual compile. + +prog=$1 +shift + +ofile= +cfile= +args= +while test $# -gt 0; do + case "$1" in + -o) + # configure might choose to run compile as `compile cc -o foo foo.c'. + # So we do something ugly here. + ofile=$2 + shift + case "$ofile" in + *.o | *.obj) + ;; + *) + args="$args -o $ofile" + ofile= + ;; + esac + ;; + *.c) + cfile=$1 + args="$args $1" + ;; + *) + args="$args $1" + ;; + esac + shift +done + +if test -z "$ofile" || test -z "$cfile"; then + # If no `-o' option was seen then we might have been invoked from a + # pattern rule where we don't need one. That is ok -- this is a + # normal compilation that the losing compiler can handle. If no + # `.c' file was seen then we are probably linking. That is also + # ok. + exec "$prog" $args +fi + +# Name of file we expect compiler to create. +cofile=`echo $cfile | sed -e 's|^.*/||' -e 's/\.c$/.o/'` + +# Create the lock directory. +# Note: use `[/.-]' here to ensure that we don't use the same name +# that we are using for the .o file. Also, base the name on the expected +# object file name, since that is what matters with a parallel build. +lockdir=`echo $cofile | sed -e 's|[/.-]|_|g'`.d +while true; do + if mkdir $lockdir > /dev/null 2>&1; then + break + fi + sleep 1 +done +# FIXME: race condition here if user kills between mkdir and trap. +trap "rmdir $lockdir; exit 1" 1 2 15 + +# Run the compile. +"$prog" $args +status=$? + +if test -f "$cofile"; then + mv "$cofile" "$ofile" +fi + +rmdir $lockdir +exit $status diff --git a/admin/conf.change.pl b/admin/conf.change.pl new file mode 100644 index 0000000..853d2a7 --- /dev/null +++ b/admin/conf.change.pl @@ -0,0 +1,191 @@ +#!/usr/bin/env perl + +# this script patches a config.status file, to use our own perl script +# in the main loop +# we do it this way to circumvent hacking (and thereby including) +# autoconf function (which are GPL) into our LGPL acinclude.m4.in +# written by Michael Matz +# adapted by Dirk Mueller +# +# This file is free software; you can redistribute it and/or +# modify it under the terms of the GNU Library General Public +# License as published by the Free Software Foundation; either +# version 2 of the License, or (at your option) any later version. + +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Library General Public License for more details. + +# You should have received a copy of the GNU Library General Public License +# along with this library; see the file COPYING.LIB. If not, write to +# the Free Software Foundation, Inc., 59 Temple Place - Suite 330, +# Boston, MA 02111-1307, USA. + +# we have to change two places +# 1. the splitting of the substitutions into chunks of 90 (or even 48 in +# later autoconf's +# 2. the big main loop which patches all Makefile.in's + +use strict; +use File::Basename; + +my $ac_aux_dir = dirname($0); +my ($flag); +my $ac_version = 0; +my $vpath_seen = 0; +$flag = 0; + +while (<>) { +# usage of $flag: 0 -- we have seen nothing yet +# 1 -- we are in (1) +# 2 -- we have ended (1) +# 3 -- we are in (2) +# 4 -- we ended (2) + + if ($flag == 4) { + print; + } elsif ($flag == 0) { +# 1. begins with (including): "ac_max_sed_\S+\s*=\s*[0-9]+..." +# ends with (excluding) "CONFIG_FILE=..." +# in later autoconf (2.14.1) there is no CONFIG_FILES= line, +# but instead the (2) directly follow (1) + if (/^\s*ac_max_sed_([a-z]+).*=\s*([0-9]+)/ ) { + $flag = 1; + if ($1 eq 'lines') { + # lets hope its different with 2141, + # wasn't able to verify that + if ($2 eq '48') { + $ac_version = 250; + } + else { + $ac_version = 2141; + } + } elsif ($1 eq 'cmds') { + $ac_version = 213; + } + # hmm, we don't know the autoconf version, but we try anyway + } else { + print; + } + } elsif ($flag == 1) { + if (/^\s*CONFIG_FILES=/ && ($ac_version != 250)) { + print; + $flag = 2; + } elsif (/^\s*for\s+ac_file\s+in\s+.*CONFIG_FILES/ ) { + $flag = 3; + } + } elsif ($flag == 2) { +# 2. begins with: "for ac_file in.*CONFIG_FILES" (the next 'for' after (1)) +# end with: "rm -f conftest.s\*" +# on autoconf 250, it ends with '# CONFIG_HEADER section' +# +# gg: if a post-processing commands section is found first, +# stop there and insert a new loop to honor the case/esac. +# (pattern: /^\s+#\sRun the commands associated with the file./) + + if (/^\s*for\s+ac_file\s+in\s+.*CONFIG_FILES/ ) { + $flag = 3; + } else { + print; + } + } elsif ($flag == 3) { + if (/^\s*rm\s+-f\s+conftest/ ) { + $flag = 4; + &insert_main_loop(); + } elsif (/^\s*rm\s+-f\s+.*ac_cs_root/ ) { + $flag = 4; + &insert_main_loop(); + #die "hhhhhhh"; + if ($ac_version != 2141) { + print STDERR "hmm, don't know autoconf version\n"; + } + } elsif (/^\#\s*CONFIG_(HEADER|COMMANDS) section.*|^\s+#\s(Run) the commands associated/) { + $flag = 4; + my $commands = defined $2; + &insert_main_loop(); + $commands && insert_command_loop(); + if($ac_version != 250) { + print STDERR "hmm, something went wrong :-(\n"; + } + } elsif (/VPATH/ ) { + $vpath_seen = 1; + } + } +} + +die "wrong input (flag != 4)" unless $flag == 4; +print STDERR "hmm, don't know autoconf version\n" unless $ac_version; + +sub insert_main_loop { + + if ($ac_version == 250) { + &insert_main_loop_250(); + } + else { + &insert_main_loop_213(); + } +} + +sub insert_main_loop_250 { + + print <>\$tmp/subs.sed +EOF + } + print <> \$tmp/subs.files + fi + done + if test -f \$tmp/subs.files ; then + perl $ac_aux_dir/config.pl "\$tmp/subs.sed" "\$tmp/subs.files" "\$srcdir" "\$INSTALL" + fi + rm -f \$tmp/subs.files + +fi +EOF + return; +} + +sub insert_main_loop_213 { + print <> \$ac_cs_root.subs +EOF + } + print <> \$ac_cs_root.sacfiles + fi +done +if test -f \$ac_cs_root.sacfiles ; then + perl $ac_aux_dir/config.pl "\$ac_cs_root.subs" "\$ac_cs_root.sacfiles" "\$ac_given_srcdir" "\$ac_given_INSTALL" +fi +rm -f \$ac_cs_root.s* + +EOF + return; +} + +sub insert_command_loop { + print <. +# Please send patches to . Submit a context +# diff and a properly formatted ChangeLog entry. +# +# This script attempts to guess a canonical system name similar to +# config.sub. If it succeeds, it prints the system name on stdout, and +# exits with 0. Otherwise, it exits with 1. +# +# The plan is that this can be called by configure scripts if you +# don't specify an explicit build system type. + +me=`echo "$0" | sed -e 's,.*/,,'` + +usage="\ +Usage: $0 [OPTION] + +Output the configuration name of the system \`$me' is run on. + +Operation modes: + -h, --help print this help, then exit + -t, --time-stamp print date of last modification, then exit + -v, --version print version number, then exit + +Report bugs and patches to ." + +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 +Free Software Foundation, Inc. + +This is free software; see the source for copying conditions. There is NO +warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." + +help=" +Try \`$me --help' for more information." + +# Parse command line +while test $# -gt 0 ; do + case $1 in + --time-stamp | --time* | -t ) + echo "$timestamp" ; exit 0 ;; + --version | -v ) + echo "$version" ; exit 0 ;; + --help | --h* | -h ) + echo "$usage"; exit 0 ;; + -- ) # Stop option processing + shift; break ;; + - ) # Use stdin as input. + break ;; + -* ) + echo "$me: invalid option $1$help" >&2 + exit 1 ;; + * ) + break ;; + esac +done + +if test $# != 0; then + echo "$me: too many arguments$help" >&2 + exit 1 +fi + +trap 'exit 1' 1 2 15 + +# CC_FOR_BUILD -- compiler used by this script. Note that the use of a +# compiler to aid in system detection is discouraged as it requires +# temporary files to be created and, as you can see below, it is a +# headache to deal with in a portable fashion. + +# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still +# use `HOST_CC' if defined, but it is deprecated. + +# Portable tmp directory creation inspired by the Autoconf team. + +set_cc_for_build=' +trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ; +trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ; +: ${TMPDIR=/tmp} ; + { tmp=`(umask 077 && mktemp -d -q "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } || + { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } || + { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } || + { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ; +dummy=$tmp/dummy ; +tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ; +case $CC_FOR_BUILD,$HOST_CC,$CC in + ,,) echo "int x;" > $dummy.c ; + for c in cc gcc c89 c99 ; do + if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then + CC_FOR_BUILD="$c"; break ; + fi ; + done ; + if test x"$CC_FOR_BUILD" = x ; then + CC_FOR_BUILD=no_compiler_found ; + fi + ;; + ,,*) CC_FOR_BUILD=$CC ;; + ,*,*) CC_FOR_BUILD=$HOST_CC ;; +esac ;' + +# This is needed to find uname on a Pyramid OSx when run in the BSD universe. +# (ghazi@noc.rutgers.edu 1994-08-24) +if (test -f /.attbin/uname) >/dev/null 2>&1 ; then + PATH=$PATH:/.attbin ; export PATH +fi + +UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown +UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown +UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown +UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown + +# Note: order is significant - the case branches are not exclusive. + +case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in + *:NetBSD:*:*) + # NetBSD (nbsd) targets should (where applicable) match one or + # more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*, + # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently + # switched to ELF, *-*-netbsd* would select the old + # object file format. This provides both forward + # compatibility and a consistent mechanism for selecting the + # object file format. + # + # Note: NetBSD doesn't particularly care about the vendor + # portion of the name. We always set it to "unknown". + sysctl="sysctl -n hw.machine_arch" + UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \ + /usr/sbin/$sysctl 2>/dev/null || echo unknown)` + case "${UNAME_MACHINE_ARCH}" in + armeb) machine=armeb-unknown ;; + arm*) machine=arm-unknown ;; + sh3el) machine=shl-unknown ;; + sh3eb) machine=sh-unknown ;; + *) machine=${UNAME_MACHINE_ARCH}-unknown ;; + esac + # The Operating System including object format, if it has switched + # to ELF recently, or will in the future. + case "${UNAME_MACHINE_ARCH}" in + arm*|i386|m68k|ns32k|sh3*|sparc|vax) + eval $set_cc_for_build + if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \ + | grep __ELF__ >/dev/null + then + # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout). + # Return netbsd for either. FIX? + os=netbsd + else + os=netbsdelf + fi + ;; + *) + os=netbsd + ;; + esac + # The OS release + # Debian GNU/NetBSD machines have a different userland, and + # thus, need a distinct triplet. However, they do not need + # kernel version information, so it can be replaced with a + # suitable tag, in the style of linux-gnu. + case "${UNAME_VERSION}" in + Debian*) + release='-gnu' + ;; + *) + release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'` + ;; + esac + # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM: + # contains redundant information, the shorter form: + # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used. + echo "${machine}-${os}${release}" + exit 0 ;; + amd64:OpenBSD:*:*) + echo x86_64-unknown-openbsd${UNAME_RELEASE} + exit 0 ;; + amiga:OpenBSD:*:*) + echo m68k-unknown-openbsd${UNAME_RELEASE} + exit 0 ;; + arc:OpenBSD:*:*) + echo mipsel-unknown-openbsd${UNAME_RELEASE} + exit 0 ;; + cats:OpenBSD:*:*) + echo arm-unknown-openbsd${UNAME_RELEASE} + exit 0 ;; + hp300:OpenBSD:*:*) + echo m68k-unknown-openbsd${UNAME_RELEASE} + exit 0 ;; + luna88k:OpenBSD:*:*) + echo m88k-unknown-openbsd${UNAME_RELEASE} + exit 0 ;; + mac68k:OpenBSD:*:*) + echo m68k-unknown-openbsd${UNAME_RELEASE} + exit 0 ;; + macppc:OpenBSD:*:*) + echo powerpc-unknown-openbsd${UNAME_RELEASE} + exit 0 ;; + mvme68k:OpenBSD:*:*) + echo m68k-unknown-openbsd${UNAME_RELEASE} + exit 0 ;; + mvme88k:OpenBSD:*:*) + echo m88k-unknown-openbsd${UNAME_RELEASE} + exit 0 ;; + mvmeppc:OpenBSD:*:*) + echo powerpc-unknown-openbsd${UNAME_RELEASE} + exit 0 ;; + pmax:OpenBSD:*:*) + echo mipsel-unknown-openbsd${UNAME_RELEASE} + exit 0 ;; + sgi:OpenBSD:*:*) + echo mipseb-unknown-openbsd${UNAME_RELEASE} + exit 0 ;; + sun3:OpenBSD:*:*) + echo m68k-unknown-openbsd${UNAME_RELEASE} + exit 0 ;; + wgrisc:OpenBSD:*:*) + echo mipsel-unknown-openbsd${UNAME_RELEASE} + exit 0 ;; + *:OpenBSD:*:*) + echo ${UNAME_MACHINE}-unknown-openbsd${UNAME_RELEASE} + exit 0 ;; + *:ekkoBSD:*:*) + echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE} + exit 0 ;; + macppc:MirBSD:*:*) + echo powerppc-unknown-mirbsd${UNAME_RELEASE} + exit 0 ;; + *:MirBSD:*:*) + echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE} + exit 0 ;; + alpha:OSF1:*:*) + case $UNAME_RELEASE in + *4.0) + UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'` + ;; + *5.*) + UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'` + ;; + esac + # According to Compaq, /usr/sbin/psrinfo has been available on + # OSF/1 and Tru64 systems produced since 1995. I hope that + # covers most systems running today. This code pipes the CPU + # types through head -n 1, so we only detect the type of CPU 0. + ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1` + case "$ALPHA_CPU_TYPE" in + "EV4 (21064)") + UNAME_MACHINE="alpha" ;; + "EV4.5 (21064)") + UNAME_MACHINE="alpha" ;; + "LCA4 (21066/21068)") + UNAME_MACHINE="alpha" ;; + "EV5 (21164)") + UNAME_MACHINE="alphaev5" ;; + "EV5.6 (21164A)") + UNAME_MACHINE="alphaev56" ;; + "EV5.6 (21164PC)") + UNAME_MACHINE="alphapca56" ;; + "EV5.7 (21164PC)") + UNAME_MACHINE="alphapca57" ;; + "EV6 (21264)") + UNAME_MACHINE="alphaev6" ;; + "EV6.7 (21264A)") + UNAME_MACHINE="alphaev67" ;; + "EV6.8CB (21264C)") + UNAME_MACHINE="alphaev68" ;; + "EV6.8AL (21264B)") + UNAME_MACHINE="alphaev68" ;; + "EV6.8CX (21264D)") + UNAME_MACHINE="alphaev68" ;; + "EV6.9A (21264/EV69A)") + UNAME_MACHINE="alphaev69" ;; + "EV7 (21364)") + UNAME_MACHINE="alphaev7" ;; + "EV7.9 (21364A)") + UNAME_MACHINE="alphaev79" ;; + esac + # A Pn.n version is a patched version. + # A Vn.n version is a released version. + # A Tn.n version is a released field test version. + # A Xn.n version is an unreleased experimental baselevel. + # 1.2 uses "1.2" for uname -r. + echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` + exit 0 ;; + Alpha\ *:Windows_NT*:*) + # How do we know it's Interix rather than the generic POSIX subsystem? + # Should we change UNAME_MACHINE based on the output of uname instead + # of the specific Alpha model? + echo alpha-pc-interix + exit 0 ;; + 21064:Windows_NT:50:3) + echo alpha-dec-winnt3.5 + exit 0 ;; + Amiga*:UNIX_System_V:4.0:*) + echo m68k-unknown-sysv4 + exit 0;; + *:[Aa]miga[Oo][Ss]:*:*) + echo ${UNAME_MACHINE}-unknown-amigaos + exit 0 ;; + *:[Mm]orph[Oo][Ss]:*:*) + echo ${UNAME_MACHINE}-unknown-morphos + exit 0 ;; + *:OS/390:*:*) + echo i370-ibm-openedition + exit 0 ;; + *:OS400:*:*) + echo powerpc-ibm-os400 + exit 0 ;; + arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*) + echo arm-acorn-riscix${UNAME_RELEASE} + exit 0;; + SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*) + echo hppa1.1-hitachi-hiuxmpp + exit 0;; + Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*) + # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE. + if test "`(/bin/universe) 2>/dev/null`" = att ; then + echo pyramid-pyramid-sysv3 + else + echo pyramid-pyramid-bsd + fi + exit 0 ;; + NILE*:*:*:dcosx) + echo pyramid-pyramid-svr4 + exit 0 ;; + DRS?6000:unix:4.0:6*) + echo sparc-icl-nx6 + exit 0 ;; + DRS?6000:UNIX_SV:4.2*:7*) + case `/usr/bin/uname -p` in + sparc) echo sparc-icl-nx7 && exit 0 ;; + esac ;; + sun4H:SunOS:5.*:*) + echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + exit 0 ;; + sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*) + echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + exit 0 ;; + i86pc:SunOS:5.*:*) + echo i386-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + exit 0 ;; + sun4*:SunOS:6*:*) + # According to config.sub, this is the proper way to canonicalize + # SunOS6. Hard to guess exactly what SunOS6 will be like, but + # it's likely to be more like Solaris than SunOS4. + echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + exit 0 ;; + sun4*:SunOS:*:*) + case "`/usr/bin/arch -k`" in + Series*|S4*) + UNAME_RELEASE=`uname -v` + ;; + esac + # Japanese Language versions have a version number like `4.1.3-JL'. + echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'` + exit 0 ;; + sun3*:SunOS:*:*) + echo m68k-sun-sunos${UNAME_RELEASE} + exit 0 ;; + sun*:*:4.2BSD:*) + UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null` + test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3 + case "`/bin/arch`" in + sun3) + echo m68k-sun-sunos${UNAME_RELEASE} + ;; + sun4) + echo sparc-sun-sunos${UNAME_RELEASE} + ;; + esac + exit 0 ;; + aushp:SunOS:*:*) + echo sparc-auspex-sunos${UNAME_RELEASE} + exit 0 ;; + # The situation for MiNT is a little confusing. The machine name + # can be virtually everything (everything which is not + # "atarist" or "atariste" at least should have a processor + # > m68000). The system name ranges from "MiNT" over "FreeMiNT" + # to the lowercase version "mint" (or "freemint"). Finally + # the system name "TOS" denotes a system which is actually not + # MiNT. But MiNT is downward compatible to TOS, so this should + # be no problem. + atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*) + echo m68k-atari-mint${UNAME_RELEASE} + exit 0 ;; + atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*) + echo m68k-atari-mint${UNAME_RELEASE} + exit 0 ;; + *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*) + echo m68k-atari-mint${UNAME_RELEASE} + exit 0 ;; + milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*) + echo m68k-milan-mint${UNAME_RELEASE} + exit 0 ;; + hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*) + echo m68k-hades-mint${UNAME_RELEASE} + exit 0 ;; + *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*) + echo m68k-unknown-mint${UNAME_RELEASE} + exit 0 ;; + m68k:machten:*:*) + echo m68k-apple-machten${UNAME_RELEASE} + exit 0 ;; + powerpc:machten:*:*) + echo powerpc-apple-machten${UNAME_RELEASE} + exit 0 ;; + RISC*:Mach:*:*) + echo mips-dec-mach_bsd4.3 + exit 0 ;; + RISC*:ULTRIX:*:*) + echo mips-dec-ultrix${UNAME_RELEASE} + exit 0 ;; + VAX*:ULTRIX*:*:*) + echo vax-dec-ultrix${UNAME_RELEASE} + exit 0 ;; + 2020:CLIX:*:* | 2430:CLIX:*:*) + echo clipper-intergraph-clix${UNAME_RELEASE} + exit 0 ;; + mips:*:*:UMIPS | mips:*:*:RISCos) + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c +#ifdef __cplusplus +#include /* for printf() prototype */ + int main (int argc, char *argv[]) { +#else + int main (argc, argv) int argc; char *argv[]; { +#endif + #if defined (host_mips) && defined (MIPSEB) + #if defined (SYSTYPE_SYSV) + printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0); + #endif + #if defined (SYSTYPE_SVR4) + printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0); + #endif + #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD) + printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0); + #endif + #endif + exit (-1); + } +EOF + $CC_FOR_BUILD -o $dummy $dummy.c \ + && $dummy `echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` \ + && exit 0 + echo mips-mips-riscos${UNAME_RELEASE} + exit 0 ;; + Motorola:PowerMAX_OS:*:*) + echo powerpc-motorola-powermax + exit 0 ;; + Motorola:*:4.3:PL8-*) + echo powerpc-harris-powermax + exit 0 ;; + Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*) + echo powerpc-harris-powermax + exit 0 ;; + Night_Hawk:Power_UNIX:*:*) + echo powerpc-harris-powerunix + exit 0 ;; + m88k:CX/UX:7*:*) + echo m88k-harris-cxux7 + exit 0 ;; + m88k:*:4*:R4*) + echo m88k-motorola-sysv4 + exit 0 ;; + m88k:*:3*:R3*) + echo m88k-motorola-sysv3 + exit 0 ;; + AViiON:dgux:*:*) + # DG/UX returns AViiON for all architectures + UNAME_PROCESSOR=`/usr/bin/uname -p` + if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ] + then + if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \ + [ ${TARGET_BINARY_INTERFACE}x = x ] + then + echo m88k-dg-dgux${UNAME_RELEASE} + else + echo m88k-dg-dguxbcs${UNAME_RELEASE} + fi + else + echo i586-dg-dgux${UNAME_RELEASE} + fi + exit 0 ;; + M88*:DolphinOS:*:*) # DolphinOS (SVR3) + echo m88k-dolphin-sysv3 + exit 0 ;; + M88*:*:R3*:*) + # Delta 88k system running SVR3 + echo m88k-motorola-sysv3 + exit 0 ;; + XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3) + echo m88k-tektronix-sysv3 + exit 0 ;; + Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD) + echo m68k-tektronix-bsd + exit 0 ;; + *:IRIX*:*:*) + echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'` + exit 0 ;; + ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX. + echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id + exit 0 ;; # Note that: echo "'`uname -s`'" gives 'AIX ' + i*86:AIX:*:*) + echo i386-ibm-aix + exit 0 ;; + ia64:AIX:*:*) + if [ -x /usr/bin/oslevel ] ; then + IBM_REV=`/usr/bin/oslevel` + else + IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} + fi + echo ${UNAME_MACHINE}-ibm-aix${IBM_REV} + exit 0 ;; + *:AIX:2:3) + if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c + #include + + main() + { + if (!__power_pc()) + exit(1); + puts("powerpc-ibm-aix3.2.5"); + exit(0); + } +EOF + $CC_FOR_BUILD -o $dummy $dummy.c && $dummy && exit 0 + echo rs6000-ibm-aix3.2.5 + elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then + echo rs6000-ibm-aix3.2.4 + else + echo rs6000-ibm-aix3.2 + fi + exit 0 ;; + *:AIX:*:[45]) + IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'` + if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then + IBM_ARCH=rs6000 + else + IBM_ARCH=powerpc + fi + if [ -x /usr/bin/oslevel ] ; then + IBM_REV=`/usr/bin/oslevel` + else + IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} + fi + echo ${IBM_ARCH}-ibm-aix${IBM_REV} + exit 0 ;; + *:AIX:*:*) + echo rs6000-ibm-aix + exit 0 ;; + ibmrt:4.4BSD:*|romp-ibm:BSD:*) + echo romp-ibm-bsd4.4 + exit 0 ;; + ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and + echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to + exit 0 ;; # report: romp-ibm BSD 4.3 + *:BOSX:*:*) + echo rs6000-bull-bosx + exit 0 ;; + DPX/2?00:B.O.S.:*:*) + echo m68k-bull-sysv3 + exit 0 ;; + 9000/[34]??:4.3bsd:1.*:*) + echo m68k-hp-bsd + exit 0 ;; + hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*) + echo m68k-hp-bsd4.4 + exit 0 ;; + 9000/[34678]??:HP-UX:*:*) + HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` + case "${UNAME_MACHINE}" in + 9000/31? ) HP_ARCH=m68000 ;; + 9000/[34]?? ) HP_ARCH=m68k ;; + 9000/[678][0-9][0-9]) + if [ -x /usr/bin/getconf ]; then + sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null` + sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null` + case "${sc_cpu_version}" in + 523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0 + 528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1 + 532) # CPU_PA_RISC2_0 + case "${sc_kernel_bits}" in + 32) HP_ARCH="hppa2.0n" ;; + 64) HP_ARCH="hppa2.0w" ;; + '') HP_ARCH="hppa2.0" ;; # HP-UX 10.20 + esac ;; + esac + fi + if [ "${HP_ARCH}" = "" ]; then + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c + + #define _HPUX_SOURCE + #include + #include + + int main () + { + #if defined(_SC_KERNEL_BITS) + long bits = sysconf(_SC_KERNEL_BITS); + #endif + long cpu = sysconf (_SC_CPU_VERSION); + + switch (cpu) + { + case CPU_PA_RISC1_0: puts ("hppa1.0"); break; + case CPU_PA_RISC1_1: puts ("hppa1.1"); break; + case CPU_PA_RISC2_0: + #if defined(_SC_KERNEL_BITS) + switch (bits) + { + case 64: puts ("hppa2.0w"); break; + case 32: puts ("hppa2.0n"); break; + default: puts ("hppa2.0"); break; + } break; + #else /* !defined(_SC_KERNEL_BITS) */ + puts ("hppa2.0"); break; + #endif + default: puts ("hppa1.0"); break; + } + exit (0); + } +EOF + (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy` + test -z "$HP_ARCH" && HP_ARCH=hppa + fi ;; + esac + if [ ${HP_ARCH} = "hppa2.0w" ] + then + # avoid double evaluation of $set_cc_for_build + test -n "$CC_FOR_BUILD" || eval $set_cc_for_build + if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E -) | grep __LP64__ >/dev/null + then + HP_ARCH="hppa2.0w" + else + HP_ARCH="hppa64" + fi + fi + echo ${HP_ARCH}-hp-hpux${HPUX_REV} + exit 0 ;; + ia64:HP-UX:*:*) + HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` + echo ia64-hp-hpux${HPUX_REV} + exit 0 ;; + 3050*:HI-UX:*:*) + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c + #include + int + main () + { + long cpu = sysconf (_SC_CPU_VERSION); + /* The order matters, because CPU_IS_HP_MC68K erroneously returns + true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct + results, however. */ + if (CPU_IS_PA_RISC (cpu)) + { + switch (cpu) + { + case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break; + case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break; + case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break; + default: puts ("hppa-hitachi-hiuxwe2"); break; + } + } + else if (CPU_IS_HP_MC68K (cpu)) + puts ("m68k-hitachi-hiuxwe2"); + else puts ("unknown-hitachi-hiuxwe2"); + exit (0); + } +EOF + $CC_FOR_BUILD -o $dummy $dummy.c && $dummy && exit 0 + echo unknown-hitachi-hiuxwe2 + exit 0 ;; + 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* ) + echo hppa1.1-hp-bsd + exit 0 ;; + 9000/8??:4.3bsd:*:*) + echo hppa1.0-hp-bsd + exit 0 ;; + *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*) + echo hppa1.0-hp-mpeix + exit 0 ;; + hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* ) + echo hppa1.1-hp-osf + exit 0 ;; + hp8??:OSF1:*:*) + echo hppa1.0-hp-osf + exit 0 ;; + i*86:OSF1:*:*) + if [ -x /usr/sbin/sysversion ] ; then + echo ${UNAME_MACHINE}-unknown-osf1mk + else + echo ${UNAME_MACHINE}-unknown-osf1 + fi + exit 0 ;; + parisc*:Lites*:*:*) + echo hppa1.1-hp-lites + exit 0 ;; + C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*) + echo c1-convex-bsd + exit 0 ;; + C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*) + if getsysinfo -f scalar_acc + then echo c32-convex-bsd + else echo c2-convex-bsd + fi + exit 0 ;; + C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*) + echo c34-convex-bsd + exit 0 ;; + C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*) + echo c38-convex-bsd + exit 0 ;; + C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*) + echo c4-convex-bsd + exit 0 ;; + CRAY*Y-MP:*:*:*) + echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' + exit 0 ;; + CRAY*[A-Z]90:*:*:*) + echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \ + | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \ + -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \ + -e 's/\.[^.]*$/.X/' + exit 0 ;; + CRAY*TS:*:*:*) + echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' + exit 0 ;; + CRAY*T3E:*:*:*) + echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' + exit 0 ;; + CRAY*SV1:*:*:*) + echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' + exit 0 ;; + *:UNICOS/mp:*:*) + echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' + exit 0 ;; + F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*) + FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` + FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` + FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'` + echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" + exit 0 ;; + 5000:UNIX_System_V:4.*:*) + FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` + FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'` + echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" + exit 0 ;; + i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*) + echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE} + exit 0 ;; + sparc*:BSD/OS:*:*) + echo sparc-unknown-bsdi${UNAME_RELEASE} + exit 0 ;; + *:BSD/OS:*:*) + echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE} + exit 0 ;; + *:FreeBSD:*:*) + echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` + exit 0 ;; + i*:CYGWIN*:*) + echo ${UNAME_MACHINE}-pc-cygwin + exit 0 ;; + i*:MINGW*:*) + echo ${UNAME_MACHINE}-pc-mingw32 + exit 0 ;; + i*:PW*:*) + echo ${UNAME_MACHINE}-pc-pw32 + exit 0 ;; + x86:Interix*:[34]*) + echo i586-pc-interix${UNAME_RELEASE}|sed -e 's/\..*//' + exit 0 ;; + [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*) + echo i${UNAME_MACHINE}-pc-mks + exit 0 ;; + i*:Windows_NT*:* | Pentium*:Windows_NT*:*) + # How do we know it's Interix rather than the generic POSIX subsystem? + # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we + # UNAME_MACHINE based on the output of uname instead of i386? + echo i586-pc-interix + exit 0 ;; + i*:UWIN*:*) + echo ${UNAME_MACHINE}-pc-uwin + exit 0 ;; + p*:CYGWIN*:*) + echo powerpcle-unknown-cygwin + exit 0 ;; + prep*:SunOS:5.*:*) + echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + exit 0 ;; + *:GNU:*:*) + # the GNU system + echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'` + exit 0 ;; + *:GNU/*:*:*) + # other systems with GNU libc and userland + echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-gnu + exit 0 ;; + i*86:Minix:*:*) + echo ${UNAME_MACHINE}-pc-minix + exit 0 ;; + arm*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit 0 ;; + cris:Linux:*:*) + echo cris-axis-linux-gnu + exit 0 ;; + ia64:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit 0 ;; + m32r*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit 0 ;; + m68*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit 0 ;; + mips:Linux:*:*) + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c + #undef CPU + #undef mips + #undef mipsel + #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) + CPU=mipsel + #else + #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) + CPU=mips + #else + CPU= + #endif + #endif +EOF + eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^CPU=` + test x"${CPU}" != x && echo "${CPU}-unknown-linux-gnu" && exit 0 + ;; + mips64:Linux:*:*) + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c + #undef CPU + #undef mips64 + #undef mips64el + #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) + CPU=mips64el + #else + #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) + CPU=mips64 + #else + CPU= + #endif + #endif +EOF + eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^CPU=` + test x"${CPU}" != x && echo "${CPU}-unknown-linux-gnu" && exit 0 + ;; + ppc:Linux:*:*) + echo powerpc-unknown-linux-gnu + exit 0 ;; + ppc64:Linux:*:*) + echo powerpc64-unknown-linux-gnu + exit 0 ;; + alpha:Linux:*:*) + case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in + EV5) UNAME_MACHINE=alphaev5 ;; + EV56) UNAME_MACHINE=alphaev56 ;; + PCA56) UNAME_MACHINE=alphapca56 ;; + PCA57) UNAME_MACHINE=alphapca56 ;; + EV6) UNAME_MACHINE=alphaev6 ;; + EV67) UNAME_MACHINE=alphaev67 ;; + EV68*) UNAME_MACHINE=alphaev68 ;; + esac + objdump --private-headers /bin/sh | grep ld.so.1 >/dev/null + if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi + echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC} + exit 0 ;; + parisc:Linux:*:* | hppa:Linux:*:*) + # Look for CPU level + case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in + PA7*) echo hppa1.1-unknown-linux-gnu ;; + PA8*) echo hppa2.0-unknown-linux-gnu ;; + *) echo hppa-unknown-linux-gnu ;; + esac + exit 0 ;; + parisc64:Linux:*:* | hppa64:Linux:*:*) + echo hppa64-unknown-linux-gnu + exit 0 ;; + s390:Linux:*:* | s390x:Linux:*:*) + echo ${UNAME_MACHINE}-ibm-linux + exit 0 ;; + sh64*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit 0 ;; + sh*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit 0 ;; + sparc:Linux:*:* | sparc64:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit 0 ;; + x86_64:Linux:*:*) + echo x86_64-unknown-linux-gnu + exit 0 ;; + i*86:Linux:*:*) + # The BFD linker knows what the default object file format is, so + # first see if it will tell us. cd to the root directory to prevent + # problems with other programs or directories called `ld' in the path. + # Set LC_ALL=C to ensure ld outputs messages in English. + ld_supported_targets=`cd /; LC_ALL=C ld --help 2>&1 \ + | sed -ne '/supported targets:/!d + s/[ ][ ]*/ /g + s/.*supported targets: *// + s/ .*// + p'` + case "$ld_supported_targets" in + elf32-i386) + TENTATIVE="${UNAME_MACHINE}-pc-linux-gnu" + ;; + a.out-i386-linux) + echo "${UNAME_MACHINE}-pc-linux-gnuaout" + exit 0 ;; + coff-i386) + echo "${UNAME_MACHINE}-pc-linux-gnucoff" + exit 0 ;; + "") + # Either a pre-BFD a.out linker (linux-gnuoldld) or + # one that does not give us useful --help. + echo "${UNAME_MACHINE}-pc-linux-gnuoldld" + exit 0 ;; + esac + # Determine whether the default compiler is a.out or elf + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c + #include + #ifdef __ELF__ + # ifdef __GLIBC__ + # if __GLIBC__ >= 2 + LIBC=gnu + # else + LIBC=gnulibc1 + # endif + # else + LIBC=gnulibc1 + # endif + #else + #ifdef __INTEL_COMPILER + LIBC=gnu + #else + LIBC=gnuaout + #endif + #endif + #ifdef __dietlibc__ + LIBC=dietlibc + #endif +EOF + eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^LIBC=` + test x"${LIBC}" != x && echo "${UNAME_MACHINE}-pc-linux-${LIBC}" && exit 0 + test x"${TENTATIVE}" != x && echo "${TENTATIVE}" && exit 0 + ;; + i*86:DYNIX/ptx:4*:*) + # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. + # earlier versions are messed up and put the nodename in both + # sysname and nodename. + echo i386-sequent-sysv4 + exit 0 ;; + i*86:UNIX_SV:4.2MP:2.*) + # Unixware is an offshoot of SVR4, but it has its own version + # number series starting with 2... + # I am not positive that other SVR4 systems won't match this, + # I just have to hope. -- rms. + # Use sysv4.2uw... so that sysv4* matches it. + echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION} + exit 0 ;; + i*86:OS/2:*:*) + # If we were able to find `uname', then EMX Unix compatibility + # is probably installed. + echo ${UNAME_MACHINE}-pc-os2-emx + exit 0 ;; + i*86:XTS-300:*:STOP) + echo ${UNAME_MACHINE}-unknown-stop + exit 0 ;; + i*86:atheos:*:*) + echo ${UNAME_MACHINE}-unknown-atheos + exit 0 ;; + i*86:syllable:*:*) + echo ${UNAME_MACHINE}-pc-syllable + exit 0 ;; + i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*) + echo i386-unknown-lynxos${UNAME_RELEASE} + exit 0 ;; + i*86:*DOS:*:*) + echo ${UNAME_MACHINE}-pc-msdosdjgpp + exit 0 ;; + i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*) + UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'` + if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then + echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL} + else + echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL} + fi + exit 0 ;; + i*86:*:5:[78]*) + case `/bin/uname -X | grep "^Machine"` in + *486*) UNAME_MACHINE=i486 ;; + *Pentium) UNAME_MACHINE=i586 ;; + *Pent*|*Celeron) UNAME_MACHINE=i686 ;; + esac + echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION} + exit 0 ;; + i*86:*:3.2:*) + if test -f /usr/options/cb.name; then + UNAME_REL=`sed -n 's/.*Version //p' /dev/null >/dev/null ; then + UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')` + (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486 + (/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \ + && UNAME_MACHINE=i586 + (/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \ + && UNAME_MACHINE=i686 + (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \ + && UNAME_MACHINE=i686 + echo ${UNAME_MACHINE}-pc-sco$UNAME_REL + else + echo ${UNAME_MACHINE}-pc-sysv32 + fi + exit 0 ;; + pc:*:*:*) + # Left here for compatibility: + # uname -m prints for DJGPP always 'pc', but it prints nothing about + # the processor, so we play safe by assuming i386. + echo i386-pc-msdosdjgpp + exit 0 ;; + Intel:Mach:3*:*) + echo i386-pc-mach3 + exit 0 ;; + paragon:*:*:*) + echo i860-intel-osf1 + exit 0 ;; + i860:*:4.*:*) # i860-SVR4 + if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then + echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4 + else # Add other i860-SVR4 vendors below as they are discovered. + echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4 + fi + exit 0 ;; + mini*:CTIX:SYS*5:*) + # "miniframe" + echo m68010-convergent-sysv + exit 0 ;; + mc68k:UNIX:SYSTEM5:3.51m) + echo m68k-convergent-sysv + exit 0 ;; + M680?0:D-NIX:5.3:*) + echo m68k-diab-dnix + exit 0 ;; + M68*:*:R3V[5678]*:*) + test -r /sysV68 && echo 'm68k-motorola-sysv' && exit 0 ;; + 3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0) + OS_REL='' + test -r /etc/.relid \ + && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` + /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ + && echo i486-ncr-sysv4.3${OS_REL} && exit 0 + /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ + && echo i586-ncr-sysv4.3${OS_REL} && exit 0 ;; + 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*) + /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ + && echo i486-ncr-sysv4 && exit 0 ;; + m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*) + echo m68k-unknown-lynxos${UNAME_RELEASE} + exit 0 ;; + mc68030:UNIX_System_V:4.*:*) + echo m68k-atari-sysv4 + exit 0 ;; + TSUNAMI:LynxOS:2.*:*) + echo sparc-unknown-lynxos${UNAME_RELEASE} + exit 0 ;; + rs6000:LynxOS:2.*:*) + echo rs6000-unknown-lynxos${UNAME_RELEASE} + exit 0 ;; + PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.0*:*) + echo powerpc-unknown-lynxos${UNAME_RELEASE} + exit 0 ;; + SM[BE]S:UNIX_SV:*:*) + echo mips-dde-sysv${UNAME_RELEASE} + exit 0 ;; + RM*:ReliantUNIX-*:*:*) + echo mips-sni-sysv4 + exit 0 ;; + RM*:SINIX-*:*:*) + echo mips-sni-sysv4 + exit 0 ;; + *:SINIX-*:*:*) + if uname -p 2>/dev/null >/dev/null ; then + UNAME_MACHINE=`(uname -p) 2>/dev/null` + echo ${UNAME_MACHINE}-sni-sysv4 + else + echo ns32k-sni-sysv + fi + exit 0 ;; + PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort + # says + echo i586-unisys-sysv4 + exit 0 ;; + *:UNIX_System_V:4*:FTX*) + # From Gerald Hewes . + # How about differentiating between stratus architectures? -djm + echo hppa1.1-stratus-sysv4 + exit 0 ;; + *:*:*:FTX*) + # From seanf@swdc.stratus.com. + echo i860-stratus-sysv4 + exit 0 ;; + *:VOS:*:*) + # From Paul.Green@stratus.com. + echo hppa1.1-stratus-vos + exit 0 ;; + mc68*:A/UX:*:*) + echo m68k-apple-aux${UNAME_RELEASE} + exit 0 ;; + news*:NEWS-OS:6*:*) + echo mips-sony-newsos6 + exit 0 ;; + R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*) + if [ -d /usr/nec ]; then + echo mips-nec-sysv${UNAME_RELEASE} + else + echo mips-unknown-sysv${UNAME_RELEASE} + fi + exit 0 ;; + BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only. + echo powerpc-be-beos + exit 0 ;; + BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only. + echo powerpc-apple-beos + exit 0 ;; + BePC:BeOS:*:*) # BeOS running on Intel PC compatible. + echo i586-pc-beos + exit 0 ;; + SX-4:SUPER-UX:*:*) + echo sx4-nec-superux${UNAME_RELEASE} + exit 0 ;; + SX-5:SUPER-UX:*:*) + echo sx5-nec-superux${UNAME_RELEASE} + exit 0 ;; + SX-6:SUPER-UX:*:*) + echo sx6-nec-superux${UNAME_RELEASE} + exit 0 ;; + Power*:Rhapsody:*:*) + echo powerpc-apple-rhapsody${UNAME_RELEASE} + exit 0 ;; + *:Rhapsody:*:*) + echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE} + exit 0 ;; + *:Darwin:*:*) + case `uname -p` in + *86) UNAME_PROCESSOR=i686 ;; + powerpc) UNAME_PROCESSOR=powerpc ;; + esac + echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE} + exit 0 ;; + *:procnto*:*:* | *:QNX:[0123456789]*:*) + UNAME_PROCESSOR=`uname -p` + if test "$UNAME_PROCESSOR" = "x86"; then + UNAME_PROCESSOR=i386 + UNAME_MACHINE=pc + fi + echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE} + exit 0 ;; + *:QNX:*:4*) + echo i386-pc-qnx + exit 0 ;; + NSR-?:NONSTOP_KERNEL:*:*) + echo nsr-tandem-nsk${UNAME_RELEASE} + exit 0 ;; + *:NonStop-UX:*:*) + echo mips-compaq-nonstopux + exit 0 ;; + BS2000:POSIX*:*:*) + echo bs2000-siemens-sysv + exit 0 ;; + DS/*:UNIX_System_V:*:*) + echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE} + exit 0 ;; + *:Plan9:*:*) + # "uname -m" is not consistent, so use $cputype instead. 386 + # is converted to i386 for consistency with other x86 + # operating systems. + if test "$cputype" = "386"; then + UNAME_MACHINE=i386 + else + UNAME_MACHINE="$cputype" + fi + echo ${UNAME_MACHINE}-unknown-plan9 + exit 0 ;; + *:TOPS-10:*:*) + echo pdp10-unknown-tops10 + exit 0 ;; + *:TENEX:*:*) + echo pdp10-unknown-tenex + exit 0 ;; + KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*) + echo pdp10-dec-tops20 + exit 0 ;; + XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*) + echo pdp10-xkl-tops20 + exit 0 ;; + *:TOPS-20:*:*) + echo pdp10-unknown-tops20 + exit 0 ;; + *:ITS:*:*) + echo pdp10-unknown-its + exit 0 ;; + SEI:*:*:SEIUX) + echo mips-sei-seiux${UNAME_RELEASE} + exit 0 ;; + *:DragonFly:*:*) + echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` + exit 0 ;; + *:*VMS:*:*) + UNAME_MACHINE=`(uname -p) 2>/dev/null` + case "${UNAME_MACHINE}" in + A*) echo alpha-dec-vms && exit 0 ;; + I*) echo ia64-dec-vms && exit 0 ;; + V*) echo vax-dec-vms && exit 0 ;; + esac +esac + +#echo '(No uname command or uname output not recognized.)' 1>&2 +#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2 + +eval $set_cc_for_build +cat >$dummy.c < +# include +#endif +main () +{ +#if defined (sony) +#if defined (MIPSEB) + /* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed, + I don't know.... */ + printf ("mips-sony-bsd\n"); exit (0); +#else +#include + printf ("m68k-sony-newsos%s\n", +#ifdef NEWSOS4 + "4" +#else + "" +#endif + ); exit (0); +#endif +#endif + +#if defined (__arm) && defined (__acorn) && defined (__unix) + printf ("arm-acorn-riscix"); exit (0); +#endif + +#if defined (hp300) && !defined (hpux) + printf ("m68k-hp-bsd\n"); exit (0); +#endif + +#if defined (NeXT) +#if !defined (__ARCHITECTURE__) +#define __ARCHITECTURE__ "m68k" +#endif + int version; + version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`; + if (version < 4) + printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version); + else + printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version); + exit (0); +#endif + +#if defined (MULTIMAX) || defined (n16) +#if defined (UMAXV) + printf ("ns32k-encore-sysv\n"); exit (0); +#else +#if defined (CMU) + printf ("ns32k-encore-mach\n"); exit (0); +#else + printf ("ns32k-encore-bsd\n"); exit (0); +#endif +#endif +#endif + +#if defined (__386BSD__) + printf ("i386-pc-bsd\n"); exit (0); +#endif + +#if defined (sequent) +#if defined (i386) + printf ("i386-sequent-dynix\n"); exit (0); +#endif +#if defined (ns32000) + printf ("ns32k-sequent-dynix\n"); exit (0); +#endif +#endif + +#if defined (_SEQUENT_) + struct utsname un; + + uname(&un); + + if (strncmp(un.version, "V2", 2) == 0) { + printf ("i386-sequent-ptx2\n"); exit (0); + } + if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */ + printf ("i386-sequent-ptx1\n"); exit (0); + } + printf ("i386-sequent-ptx\n"); exit (0); + +#endif + +#if defined (vax) +# if !defined (ultrix) +# include +# if defined (BSD) +# if BSD == 43 + printf ("vax-dec-bsd4.3\n"); exit (0); +# else +# if BSD == 199006 + printf ("vax-dec-bsd4.3reno\n"); exit (0); +# else + printf ("vax-dec-bsd\n"); exit (0); +# endif +# endif +# else + printf ("vax-dec-bsd\n"); exit (0); +# endif +# else + printf ("vax-dec-ultrix\n"); exit (0); +# endif +#endif + +#if defined (alliant) && defined (i860) + printf ("i860-alliant-bsd\n"); exit (0); +#endif + + exit (1); +} +EOF + +$CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && $dummy && exit 0 + +# Apollos put the system type in the environment. + +test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit 0; } + +# Convex versions that predate uname can use getsysinfo(1) + +if [ -x /usr/convex/getsysinfo ] +then + case `getsysinfo -f cpu_type` in + c1*) + echo c1-convex-bsd + exit 0 ;; + c2*) + if getsysinfo -f scalar_acc + then echo c32-convex-bsd + else echo c2-convex-bsd + fi + exit 0 ;; + c34*) + echo c34-convex-bsd + exit 0 ;; + c38*) + echo c38-convex-bsd + exit 0 ;; + c4*) + echo c4-convex-bsd + exit 0 ;; + esac +fi + +cat >&2 < in order to provide the needed +information to handle your system. + +config.guess timestamp = $timestamp + +uname -m = `(uname -m) 2>/dev/null || echo unknown` +uname -r = `(uname -r) 2>/dev/null || echo unknown` +uname -s = `(uname -s) 2>/dev/null || echo unknown` +uname -v = `(uname -v) 2>/dev/null || echo unknown` + +/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null` +/bin/uname -X = `(/bin/uname -X) 2>/dev/null` + +hostinfo = `(hostinfo) 2>/dev/null` +/bin/universe = `(/bin/universe) 2>/dev/null` +/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null` +/bin/arch = `(/bin/arch) 2>/dev/null` +/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null` +/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null` + +UNAME_MACHINE = ${UNAME_MACHINE} +UNAME_RELEASE = ${UNAME_RELEASE} +UNAME_SYSTEM = ${UNAME_SYSTEM} +UNAME_VERSION = ${UNAME_VERSION} +EOF + +exit 1 + +# Local variables: +# eval: (add-hook 'write-file-hooks 'time-stamp) +# time-stamp-start: "timestamp='" +# time-stamp-format: "%:y-%02m-%02d" +# time-stamp-end: "'" +# End: diff --git a/admin/config.pl b/admin/config.pl new file mode 100644 index 0000000..034042e --- /dev/null +++ b/admin/config.pl @@ -0,0 +1,236 @@ +#!/usr/bin/env perl +# a script for use by autoconf to make the Makefiles +# from the Makefile.in's +# +# the original autoconf mechanism first splits all substitutions into groups +# of ca. 90, and than invokes sed for _every_ Makefile.in and every group +# (so around 2-3 times per Makefile.in). So this takes forever, as sed +# has to recompile the regexps every time. +# +# this script does better. It changes all Makefile.ins in one process. +# in kdelibs the time for building Makefile went down from 2:59 min to 13 sec! +# +# written by Michael Matz +# adapted by Dirk Mueller + +# This file is free software; you can redistribute it and/or +# modify it under the terms of the GNU Library General Public +# License as published by the Free Software Foundation; either +# version 2 of the License, or (at your option) any later version. + +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Library General Public License for more details. + +# You should have received a copy of the GNU Library General Public License +# along with this library; see the file COPYING.LIB. If not, write to +# the Free Software Foundation, Inc., 59 Temple Place - Suite 330, +# Boston, MA 02111-1307, USA. + +use strict; + +use File::Path; + +my $ac_subs=$ARGV[0]; +my $ac_sacfiles = $ARGV[1]; +my $ac_given_srcdir=$ARGV[2]; +my $ac_given_INSTALL=$ARGV[3]; + +my @comp_match; +my @comp_subs; + +#print "ac_subs=$ac_subs\n"; +#print "ac_sacfiles=$ac_sacfiles\n"; +#print "ac_given_srcdir=$ac_given_srcdir\n"; +#print "ac_given_INSTALL=$ac_given_INSTALL\n"; + +my $configure_input; +my ($srcdir, $top_srcdir); +my $INSTALL; +my $bad_perl = ($] < 5.005); +my $created_file_count = 0; + +open(CF, "< $ac_subs") || die "can't open $ac_subs: $!"; +my @subs = ; +close(CF); +chomp @subs; +@comp_match=(); +@comp_subs=(); + +if ($bad_perl) { + print "Using perl older than version 5.005\n"; + foreach my $pat (@subs) { + if ( ($pat =~ m/s%([^%]*)%([^%]*)%g/ ) + || ($pat =~ m/s%([^%]*)%([^%]*)%;t/ ) + || ($pat =~ m/s,([^,]*),(.*),;t/) + || ($pat =~ m%s/([^/]*)/([^/]*)/g% ) + || ($pat =~ m%s/([^/]*)/([^/]*)/;t% ) + ) { + # form : s%bla%blubb%g + # or s%bla%blubb%;t t (autoconf > 2.13 and < 2.52 ?) + # or s,bla,blubb,;t t (autoconf 2.52) + my $srch = $1; + my $repl = $2; + $repl =~ s/\\(.)/$1/g; + push @comp_subs, make_closure($srch, $repl); + + } elsif ( ($pat =~ /%([^%]*)%d/ ) + || ($pat =~ m%/([^/]*)/d% ) + ) { + push @comp_subs, make_closure($1, ""); + } else { + die "Uhh. Malformed pattern in $ac_subs ($pat)" + unless ( $pat =~ /^\s*$/ ); # ignore white lines + } + } +} else { + foreach my $pat (@subs) { + if ( ($pat =~ /s%([^%]*)%([^%]*)%g/ ) || + ($pat =~ /s%([^%]*)%([^%]*)%;t/ ) || + ($pat =~ /s,([^,]*),(.*),;t/) ) { + # form : s%bla%blubb%g + # or s%bla%blubb%;t t (autoconf > 2.13 and < 2.52 ?) + # or s,bla,blubb,;t t (autoconf 2.52) + my $srch = $1; + my $repl = $2; + push @comp_match, eval "qr/\Q$srch\E/"; # compile match pattern + $repl =~ s/\\(.)/$1/g; + push @comp_subs, $repl; + } elsif ( ($pat =~ /%([^%]*)%d/ ) + || ($pat =~ m%/([^/]*)/d% ) + ) { + push @comp_match, eval "qr/\Q$1\E/"; + push @comp_subs, ""; + } else { + die "Uhh. Malformed pattern in $ac_subs ($pat)" + unless ( $pat =~ /^\s*$/ ); # ignore white lines + } + } +} +undef @subs; + +# read the list of files to be patched, form: +# ./Makefile arts/Makefile arts/examples/Makefile arts/flow/Makefile + +open(CF, "< $ac_sacfiles") || die "can't open $ac_sacfiles: $!"; +my @ac_files = ; +close(CF); +chomp @ac_files; + + +my $ac_file; +foreach $ac_file (@ac_files) { + next if $ac_file =~ /\.\./; + next if $ac_file =~ /^\s*$/; + my $ac_file_in; + my ($ac_dir, $ac_dots, $ac_dir_suffix); + + if ($ac_file =~ /.*:.*/ ) { + ($ac_file_in = $ac_file) =~ s%[^:]*:%%; + $ac_file =~ s%:.*%%; + } else { + $ac_file_in = $ac_file.".in"; + } + +# Adjust a relative srcdir, top_srcdir, and INSTALL for subdirectories. + +# Remove last slash and all that follows it. Not all systems have dirname. + ($ac_dir = $ac_file) =~ s%/[^/][^/]*$%%; + if ( ($ac_dir ne $ac_file) && ($ac_dir ne ".")) { +# The file is in a subdirectory. + if (! -d "$ac_dir") { mkpath "$ac_dir", 0, 0777; } + ($ac_dir_suffix = $ac_dir) =~ s%^./%%; + $ac_dir_suffix="/".$ac_dir_suffix; +# A "../" for each directory in $ac_dir_suffix. + ($ac_dots = $ac_dir_suffix) =~ s%/[^/]*%../%g; + } else { + $ac_dir_suffix=""; + $ac_dots=""; + } + + if ($ac_given_srcdir eq ".") { + $srcdir="."; + if ($ac_dots) { + ( $top_srcdir = $ac_dots) =~ s%/$%%; + } else { $top_srcdir="."; } + } elsif ($ac_given_srcdir =~ m%^/%) { + $srcdir=$ac_given_srcdir.$ac_dir_suffix; + $top_srcdir = $ac_given_srcdir; + } else { + $srcdir = $ac_dots.$ac_given_srcdir.$ac_dir_suffix; + $top_srcdir = $ac_dots.$ac_given_srcdir; + } + + if ($ac_given_INSTALL) { + if ($ac_given_INSTALL =~ m%^/% ) { + $INSTALL = $ac_given_INSTALL; + } else { + $INSTALL = $ac_dots.$ac_given_INSTALL; + } + } + + print "fast creating $ac_file\n"; + unlink $ac_file; + my $ac_comsub=""; + my $fname=$ac_file_in; + $fname =~ s%.*/%%; + $configure_input="$ac_file. Generated from $fname by config.pl."; + + my $ac_file_inputs; + ($ac_file_inputs = $ac_file_in) =~ s%^%$ac_given_srcdir/%; + $ac_file_inputs =~ s%:% $ac_given_srcdir/%g; + + patch_file($ac_file, $ac_file_inputs); + ++$created_file_count; +} + +print "config.pl: fast created $created_file_count file(s).\n"; + +sub patch_file { + my ($outf, $infiles) = @_; + my $filedata; + my @infiles=split(' ', $infiles); + my $i=0; + + foreach my $name (@infiles) { + if (open(CF, "< $name")) { + while () { + $filedata .= $_; + } + close(CF); + } else { + print STDERR "can't open $name: $!"."\n"; + } + } + + $filedata =~ s%\@configure_input\@%$configure_input%g; + $filedata =~ s%\@srcdir\@%$srcdir%g; + $filedata =~ s%\@top_srcdir\@%$top_srcdir%g; + $filedata =~ s%\@INSTALL\@%$INSTALL%g; + + if ($bad_perl) { + while ($i <= $#comp_subs) { + my $ref = $comp_subs[$i]; + &$ref(\$filedata); + $i++; + } + } else { + while ($i <= $#comp_match) { + $filedata =~ s/$comp_match[$i]/$comp_subs[$i]/g; + $i++; + } + } + open(CF, "> $outf") || die "can't create $outf: $!"; + print CF $filedata; + close(CF); +} + +sub make_closure { + my ($pat, $sub) = @_; + my $ret = eval "return sub { my \$ref=shift; \$\$ref =~ s%\Q$pat\E%\Q$sub\E%g; }"; + if ($@) { + print "can't create CODE: $@\n"; + } + return $ret; +} diff --git a/admin/config.sub b/admin/config.sub new file mode 100755 index 0000000..ac6de98 --- /dev/null +++ b/admin/config.sub @@ -0,0 +1,1552 @@ +#! /bin/sh +# Configuration validation subroutine script. +# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, +# 2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc. + +timestamp='2004-06-24' + +# This file is (in principle) common to ALL GNU software. +# The presence of a machine in this file suggests that SOME GNU software +# can handle that machine. It does not imply ALL GNU software can. +# +# This file is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 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. + +# 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. + +# Please send patches to . Submit a context +# diff and a properly formatted ChangeLog entry. +# +# Configuration subroutine to validate and canonicalize a configuration type. +# Supply the specified configuration type as an argument. +# If it is invalid, we print an error message on stderr and exit with code 1. +# Otherwise, we print the canonical config type on stdout and succeed. + +# This file is supposed to be the same for all GNU packages +# and recognize all the CPU types, system types and aliases +# that are meaningful with *any* GNU software. +# Each package is responsible for reporting which valid configurations +# it does not support. The user should be able to distinguish +# a failure to support a valid configuration from a meaningless +# configuration. + +# The goal of this file is to map all the various variations of a given +# machine specification into a single specification in the form: +# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM +# or in some cases, the newer four-part form: +# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM +# It is wrong to echo any other type of specification. + +me=`echo "$0" | sed -e 's,.*/,,'` + +usage="\ +Usage: $0 [OPTION] CPU-MFR-OPSYS + $0 [OPTION] ALIAS + +Canonicalize a configuration name. + +Operation modes: + -h, --help print this help, then exit + -t, --time-stamp print date of last modification, then exit + -v, --version print version number, then exit + +Report bugs and patches to ." + +version="\ +GNU config.sub ($timestamp) + +Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004 +Free Software Foundation, Inc. + +This is free software; see the source for copying conditions. There is NO +warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." + +help=" +Try \`$me --help' for more information." + +# Parse command line +while test $# -gt 0 ; do + case $1 in + --time-stamp | --time* | -t ) + echo "$timestamp" ; exit 0 ;; + --version | -v ) + echo "$version" ; exit 0 ;; + --help | --h* | -h ) + echo "$usage"; exit 0 ;; + -- ) # Stop option processing + shift; break ;; + - ) # Use stdin as input. + break ;; + -* ) + echo "$me: invalid option $1$help" + exit 1 ;; + + *local*) + # First pass through any local machine types. + echo $1 + exit 0;; + + * ) + break ;; + esac +done + +case $# in + 0) echo "$me: missing argument$help" >&2 + exit 1;; + 1) ;; + *) echo "$me: too many arguments$help" >&2 + exit 1;; +esac + +# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any). +# Here we must recognize all the valid KERNEL-OS combinations. +maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'` +case $maybe_os in + nto-qnx* | linux-gnu* | linux-dietlibc | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | \ + kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* | storm-chaos* | os2-emx* | rtmk-nova*) + os=-$maybe_os + basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'` + ;; + *) + basic_machine=`echo $1 | sed 's/-[^-]*$//'` + if [ $basic_machine != $1 ] + then os=`echo $1 | sed 's/.*-/-/'` + else os=; fi + ;; +esac + +### Let's recognize common machines as not being operating systems so +### that things like config.sub decstation-3100 work. We also +### recognize some manufacturers as not being operating systems, so we +### can provide default operating systems below. +case $os in + -sun*os*) + # Prevent following clause from handling this invalid input. + ;; + -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \ + -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \ + -unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \ + -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\ + -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \ + -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \ + -apple | -axis | -knuth | -cray) + os= + basic_machine=$1 + ;; + -sim | -cisco | -oki | -wec | -winbond) + os= + basic_machine=$1 + ;; + -scout) + ;; + -wrs) + os=-vxworks + basic_machine=$1 + ;; + -chorusos*) + os=-chorusos + basic_machine=$1 + ;; + -chorusrdb) + os=-chorusrdb + basic_machine=$1 + ;; + -hiux*) + os=-hiuxwe2 + ;; + -sco5) + os=-sco3.2v5 + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -sco4) + os=-sco3.2v4 + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -sco3.2.[4-9]*) + os=`echo $os | sed -e 's/sco3.2./sco3.2v/'` + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -sco3.2v[4-9]*) + # Don't forget version if it is 3.2v4 or newer. + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -sco*) + os=-sco3.2v2 + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -udk*) + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -isc) + os=-isc2.2 + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -clix*) + basic_machine=clipper-intergraph + ;; + -isc*) + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -lynx*) + os=-lynxos + ;; + -ptx*) + basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'` + ;; + -windowsnt*) + os=`echo $os | sed -e 's/windowsnt/winnt/'` + ;; + -psos*) + os=-psos + ;; + -mint | -mint[0-9]*) + basic_machine=m68k-atari + os=-mint + ;; +esac + +# Decode aliases for certain CPU-COMPANY combinations. +case $basic_machine in + # Recognize the basic CPU types without company name. + # Some are omitted here because they have special meanings below. + 1750a | 580 \ + | a29k \ + | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \ + | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \ + | am33_2.0 \ + | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr \ + | c4x | clipper \ + | d10v | d30v | dlx | dsp16xx \ + | fr30 | frv \ + | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ + | i370 | i860 | i960 | ia64 \ + | ip2k | iq2000 \ + | m32r | m32rle | m68000 | m68k | m88k | mcore \ + | mips | mipsbe | mipseb | mipsel | mipsle \ + | mips16 \ + | mips64 | mips64el \ + | mips64vr | mips64vrel \ + | mips64orion | mips64orionel \ + | mips64vr4100 | mips64vr4100el \ + | mips64vr4300 | mips64vr4300el \ + | mips64vr5000 | mips64vr5000el \ + | mipsisa32 | mipsisa32el \ + | mipsisa32r2 | mipsisa32r2el \ + | mipsisa64 | mipsisa64el \ + | mipsisa64r2 | mipsisa64r2el \ + | mipsisa64sb1 | mipsisa64sb1el \ + | mipsisa64sr71k | mipsisa64sr71kel \ + | mipstx39 | mipstx39el \ + | mn10200 | mn10300 \ + | msp430 \ + | ns16k | ns32k \ + | openrisc | or32 \ + | pdp10 | pdp11 | pj | pjl \ + | powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \ + | pyramid \ + | sh | sh[1234] | sh[23]e | sh[34]eb | shbe | shle | sh[1234]le | sh3ele \ + | sh64 | sh64le \ + | sparc | sparc64 | sparc86x | sparclet | sparclite | sparcv8 | sparcv9 | sparcv9b \ + | strongarm \ + | tahoe | thumb | tic4x | tic80 | tron \ + | v850 | v850e \ + | we32k \ + | x86 | xscale | xstormy16 | xtensa \ + | z8k) + basic_machine=$basic_machine-unknown + ;; + m6811 | m68hc11 | m6812 | m68hc12) + # Motorola 68HC11/12. + basic_machine=$basic_machine-unknown + os=-none + ;; + m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k) + ;; + + # We use `pc' rather than `unknown' + # because (1) that's what they normally are, and + # (2) the word "unknown" tends to confuse beginning users. + i*86 | x86_64) + basic_machine=$basic_machine-pc + ;; + # Object if more than one company name word. + *-*-*) + echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 + exit 1 + ;; + # Recognize the basic CPU types with company name. + 580-* \ + | a29k-* \ + | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \ + | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \ + | alphapca5[67]-* | alpha64pca5[67]-* | arc-* \ + | arm-* | armbe-* | armle-* | armeb-* | armv*-* \ + | avr-* \ + | bs2000-* \ + | c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* | c55x-* | c6x-* \ + | clipper-* | craynv-* | cydra-* \ + | d10v-* | d30v-* | dlx-* \ + | elxsi-* \ + | f30[01]-* | f700-* | fr30-* | frv-* | fx80-* \ + | h8300-* | h8500-* \ + | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \ + | i*86-* | i860-* | i960-* | ia64-* \ + | ip2k-* | iq2000-* \ + | m32r-* | m32rle-* \ + | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \ + | m88110-* | m88k-* | mcore-* \ + | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \ + | mips16-* \ + | mips64-* | mips64el-* \ + | mips64vr-* | mips64vrel-* \ + | mips64orion-* | mips64orionel-* \ + | mips64vr4100-* | mips64vr4100el-* \ + | mips64vr4300-* | mips64vr4300el-* \ + | mips64vr5000-* | mips64vr5000el-* \ + | mipsisa32-* | mipsisa32el-* \ + | mipsisa32r2-* | mipsisa32r2el-* \ + | mipsisa64-* | mipsisa64el-* \ + | mipsisa64r2-* | mipsisa64r2el-* \ + | mipsisa64sb1-* | mipsisa64sb1el-* \ + | mipsisa64sr71k-* | mipsisa64sr71kel-* \ + | mipstx39-* | mipstx39el-* \ + | mmix-* \ + | msp430-* \ + | none-* | np1-* | ns16k-* | ns32k-* \ + | orion-* \ + | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ + | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \ + | pyramid-* \ + | romp-* | rs6000-* \ + | sh-* | sh[1234]-* | sh[23]e-* | sh[34]eb-* | shbe-* \ + | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \ + | sparc-* | sparc64-* | sparc86x-* | sparclet-* | sparclite-* \ + | sparcv8-* | sparcv9-* | sparcv9b-* | strongarm-* | sv1-* | sx?-* \ + | tahoe-* | thumb-* \ + | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \ + | tron-* \ + | v850-* | v850e-* | vax-* \ + | we32k-* \ + | x86-* | x86_64-* | xps100-* | xscale-* | xstormy16-* \ + | xtensa-* \ + | ymp-* \ + | z8k-*) + ;; + # Recognize the various machine names and aliases which stand + # for a CPU type and a company and sometimes even an OS. + 386bsd) + basic_machine=i386-unknown + os=-bsd + ;; + 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc) + basic_machine=m68000-att + ;; + 3b*) + basic_machine=we32k-att + ;; + a29khif) + basic_machine=a29k-amd + os=-udi + ;; + abacus) + basic_machine=abacus-unknown + ;; + adobe68k) + basic_machine=m68010-adobe + os=-scout + ;; + alliant | fx80) + basic_machine=fx80-alliant + ;; + altos | altos3068) + basic_machine=m68k-altos + ;; + am29k) + basic_machine=a29k-none + os=-bsd + ;; + amd64) + basic_machine=x86_64-pc + ;; + amd64-*) + basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + amdahl) + basic_machine=580-amdahl + os=-sysv + ;; + amiga | amiga-*) + basic_machine=m68k-unknown + ;; + amigaos | amigados) + basic_machine=m68k-unknown + os=-amigaos + ;; + amigaunix | amix) + basic_machine=m68k-unknown + os=-sysv4 + ;; + apollo68) + basic_machine=m68k-apollo + os=-sysv + ;; + apollo68bsd) + basic_machine=m68k-apollo + os=-bsd + ;; + aux) + basic_machine=m68k-apple + os=-aux + ;; + balance) + basic_machine=ns32k-sequent + os=-dynix + ;; + c90) + basic_machine=c90-cray + os=-unicos + ;; + convex-c1) + basic_machine=c1-convex + os=-bsd + ;; + convex-c2) + basic_machine=c2-convex + os=-bsd + ;; + convex-c32) + basic_machine=c32-convex + os=-bsd + ;; + convex-c34) + basic_machine=c34-convex + os=-bsd + ;; + convex-c38) + basic_machine=c38-convex + os=-bsd + ;; + cray | j90) + basic_machine=j90-cray + os=-unicos + ;; + craynv) + basic_machine=craynv-cray + os=-unicosmp + ;; + cr16c) + basic_machine=cr16c-unknown + os=-elf + ;; + crds | unos) + basic_machine=m68k-crds + ;; + cris | cris-* | etrax*) + basic_machine=cris-axis + ;; + crx) + basic_machine=crx-unknown + os=-elf + ;; + da30 | da30-*) + basic_machine=m68k-da30 + ;; + decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn) + basic_machine=mips-dec + ;; + decsystem10* | dec10*) + basic_machine=pdp10-dec + os=-tops10 + ;; + decsystem20* | dec20*) + basic_machine=pdp10-dec + os=-tops20 + ;; + delta | 3300 | motorola-3300 | motorola-delta \ + | 3300-motorola | delta-motorola) + basic_machine=m68k-motorola + ;; + delta88) + basic_machine=m88k-motorola + os=-sysv3 + ;; + dpx20 | dpx20-*) + basic_machine=rs6000-bull + os=-bosx + ;; + dpx2* | dpx2*-bull) + basic_machine=m68k-bull + os=-sysv3 + ;; + ebmon29k) + basic_machine=a29k-amd + os=-ebmon + ;; + elxsi) + basic_machine=elxsi-elxsi + os=-bsd + ;; + encore | umax | mmax) + basic_machine=ns32k-encore + ;; + es1800 | OSE68k | ose68k | ose | OSE) + basic_machine=m68k-ericsson + os=-ose + ;; + fx2800) + basic_machine=i860-alliant + ;; + genix) + basic_machine=ns32k-ns + ;; + gmicro) + basic_machine=tron-gmicro + os=-sysv + ;; + go32) + basic_machine=i386-pc + os=-go32 + ;; + h3050r* | hiux*) + basic_machine=hppa1.1-hitachi + os=-hiuxwe2 + ;; + h8300hms) + basic_machine=h8300-hitachi + os=-hms + ;; + h8300xray) + basic_machine=h8300-hitachi + os=-xray + ;; + h8500hms) + basic_machine=h8500-hitachi + os=-hms + ;; + harris) + basic_machine=m88k-harris + os=-sysv3 + ;; + hp300-*) + basic_machine=m68k-hp + ;; + hp300bsd) + basic_machine=m68k-hp + os=-bsd + ;; + hp300hpux) + basic_machine=m68k-hp + os=-hpux + ;; + hp3k9[0-9][0-9] | hp9[0-9][0-9]) + basic_machine=hppa1.0-hp + ;; + hp9k2[0-9][0-9] | hp9k31[0-9]) + basic_machine=m68000-hp + ;; + hp9k3[2-9][0-9]) + basic_machine=m68k-hp + ;; + hp9k6[0-9][0-9] | hp6[0-9][0-9]) + basic_machine=hppa1.0-hp + ;; + hp9k7[0-79][0-9] | hp7[0-79][0-9]) + basic_machine=hppa1.1-hp + ;; + hp9k78[0-9] | hp78[0-9]) + # FIXME: really hppa2.0-hp + basic_machine=hppa1.1-hp + ;; + hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893) + # FIXME: really hppa2.0-hp + basic_machine=hppa1.1-hp + ;; + hp9k8[0-9][13679] | hp8[0-9][13679]) + basic_machine=hppa1.1-hp + ;; + hp9k8[0-9][0-9] | hp8[0-9][0-9]) + basic_machine=hppa1.0-hp + ;; + hppa-next) + os=-nextstep3 + ;; + hppaosf) + basic_machine=hppa1.1-hp + os=-osf + ;; + hppro) + basic_machine=hppa1.1-hp + os=-proelf + ;; + i370-ibm* | ibm*) + basic_machine=i370-ibm + ;; +# I'm not sure what "Sysv32" means. Should this be sysv3.2? + i*86v32) + basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` + os=-sysv32 + ;; + i*86v4*) + basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` + os=-sysv4 + ;; + i*86v) + basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` + os=-sysv + ;; + i*86sol2) + basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` + os=-solaris2 + ;; + i386mach) + basic_machine=i386-mach + os=-mach + ;; + i386-vsta | vsta) + basic_machine=i386-unknown + os=-vsta + ;; + iris | iris4d) + basic_machine=mips-sgi + case $os in + -irix*) + ;; + *) + os=-irix4 + ;; + esac + ;; + isi68 | isi) + basic_machine=m68k-isi + os=-sysv + ;; + m88k-omron*) + basic_machine=m88k-omron + ;; + magnum | m3230) + basic_machine=mips-mips + os=-sysv + ;; + merlin) + basic_machine=ns32k-utek + os=-sysv + ;; + mingw32) + basic_machine=i386-pc + os=-mingw32 + ;; + miniframe) + basic_machine=m68000-convergent + ;; + *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*) + basic_machine=m68k-atari + os=-mint + ;; + mips3*-*) + basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'` + ;; + mips3*) + basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown + ;; + monitor) + basic_machine=m68k-rom68k + os=-coff + ;; + morphos) + basic_machine=powerpc-unknown + os=-morphos + ;; + msdos) + basic_machine=i386-pc + os=-msdos + ;; + mvs) + basic_machine=i370-ibm + os=-mvs + ;; + ncr3000) + basic_machine=i486-ncr + os=-sysv4 + ;; + netbsd386) + basic_machine=i386-unknown + os=-netbsd + ;; + netwinder) + basic_machine=armv4l-rebel + os=-linux + ;; + news | news700 | news800 | news900) + basic_machine=m68k-sony + os=-newsos + ;; + news1000) + basic_machine=m68030-sony + os=-newsos + ;; + news-3600 | risc-news) + basic_machine=mips-sony + os=-newsos + ;; + necv70) + basic_machine=v70-nec + os=-sysv + ;; + next | m*-next ) + basic_machine=m68k-next + case $os in + -nextstep* ) + ;; + -ns2*) + os=-nextstep2 + ;; + *) + os=-nextstep3 + ;; + esac + ;; + nh3000) + basic_machine=m68k-harris + os=-cxux + ;; + nh[45]000) + basic_machine=m88k-harris + os=-cxux + ;; + nindy960) + basic_machine=i960-intel + os=-nindy + ;; + mon960) + basic_machine=i960-intel + os=-mon960 + ;; + nonstopux) + basic_machine=mips-compaq + os=-nonstopux + ;; + np1) + basic_machine=np1-gould + ;; + nsr-tandem) + basic_machine=nsr-tandem + ;; + op50n-* | op60c-*) + basic_machine=hppa1.1-oki + os=-proelf + ;; + or32 | or32-*) + basic_machine=or32-unknown + os=-coff + ;; + os400) + basic_machine=powerpc-ibm + os=-os400 + ;; + OSE68000 | ose68000) + basic_machine=m68000-ericsson + os=-ose + ;; + os68k) + basic_machine=m68k-none + os=-os68k + ;; + pa-hitachi) + basic_machine=hppa1.1-hitachi + os=-hiuxwe2 + ;; + paragon) + basic_machine=i860-intel + os=-osf + ;; + pbd) + basic_machine=sparc-tti + ;; + pbb) + basic_machine=m68k-tti + ;; + pc532 | pc532-*) + basic_machine=ns32k-pc532 + ;; + pentium | p5 | k5 | k6 | nexgen | viac3) + basic_machine=i586-pc + ;; + pentiumpro | p6 | 6x86 | athlon | athlon_*) + basic_machine=i686-pc + ;; + pentiumii | pentium2 | pentiumiii | pentium3) + basic_machine=i686-pc + ;; + pentium4) + basic_machine=i786-pc + ;; + pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*) + basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + pentiumpro-* | p6-* | 6x86-* | athlon-*) + basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*) + basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + pentium4-*) + basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + pn) + basic_machine=pn-gould + ;; + power) basic_machine=power-ibm + ;; + ppc) basic_machine=powerpc-unknown + ;; + ppc-*) basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + ppcle | powerpclittle | ppc-le | powerpc-little) + basic_machine=powerpcle-unknown + ;; + ppcle-* | powerpclittle-*) + basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + ppc64) basic_machine=powerpc64-unknown + ;; + ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + ppc64le | powerpc64little | ppc64-le | powerpc64-little) + basic_machine=powerpc64le-unknown + ;; + ppc64le-* | powerpc64little-*) + basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + ps2) + basic_machine=i386-ibm + ;; + pw32) + basic_machine=i586-unknown + os=-pw32 + ;; + rom68k) + basic_machine=m68k-rom68k + os=-coff + ;; + rm[46]00) + basic_machine=mips-siemens + ;; + rtpc | rtpc-*) + basic_machine=romp-ibm + ;; + s390 | s390-*) + basic_machine=s390-ibm + ;; + s390x | s390x-*) + basic_machine=s390x-ibm + ;; + sa29200) + basic_machine=a29k-amd + os=-udi + ;; + sb1) + basic_machine=mipsisa64sb1-unknown + ;; + sb1el) + basic_machine=mipsisa64sb1el-unknown + ;; + sei) + basic_machine=mips-sei + os=-seiux + ;; + sequent) + basic_machine=i386-sequent + ;; + sh) + basic_machine=sh-hitachi + os=-hms + ;; + sh64) + basic_machine=sh64-unknown + ;; + sparclite-wrs | simso-wrs) + basic_machine=sparclite-wrs + os=-vxworks + ;; + sps7) + basic_machine=m68k-bull + os=-sysv2 + ;; + spur) + basic_machine=spur-unknown + ;; + st2000) + basic_machine=m68k-tandem + ;; + stratus) + basic_machine=i860-stratus + os=-sysv4 + ;; + sun2) + basic_machine=m68000-sun + ;; + sun2os3) + basic_machine=m68000-sun + os=-sunos3 + ;; + sun2os4) + basic_machine=m68000-sun + os=-sunos4 + ;; + sun3os3) + basic_machine=m68k-sun + os=-sunos3 + ;; + sun3os4) + basic_machine=m68k-sun + os=-sunos4 + ;; + sun4os3) + basic_machine=sparc-sun + os=-sunos3 + ;; + sun4os4) + basic_machine=sparc-sun + os=-sunos4 + ;; + sun4sol2) + basic_machine=sparc-sun + os=-solaris2 + ;; + sun3 | sun3-*) + basic_machine=m68k-sun + ;; + sun4) + basic_machine=sparc-sun + ;; + sun386 | sun386i | roadrunner) + basic_machine=i386-sun + ;; + sv1) + basic_machine=sv1-cray + os=-unicos + ;; + symmetry) + basic_machine=i386-sequent + os=-dynix + ;; + t3e) + basic_machine=alphaev5-cray + os=-unicos + ;; + t90) + basic_machine=t90-cray + os=-unicos + ;; + tic54x | c54x*) + basic_machine=tic54x-unknown + os=-coff + ;; + tic55x | c55x*) + basic_machine=tic55x-unknown + os=-coff + ;; + tic6x | c6x*) + basic_machine=tic6x-unknown + os=-coff + ;; + tx39) + basic_machine=mipstx39-unknown + ;; + tx39el) + basic_machine=mipstx39el-unknown + ;; + toad1) + basic_machine=pdp10-xkl + os=-tops20 + ;; + tower | tower-32) + basic_machine=m68k-ncr + ;; + tpf) + basic_machine=s390x-ibm + os=-tpf + ;; + udi29k) + basic_machine=a29k-amd + os=-udi + ;; + ultra3) + basic_machine=a29k-nyu + os=-sym1 + ;; + v810 | necv810) + basic_machine=v810-nec + os=-none + ;; + vaxv) + basic_machine=vax-dec + os=-sysv + ;; + vms) + basic_machine=vax-dec + os=-vms + ;; + vpp*|vx|vx-*) + basic_machine=f301-fujitsu + ;; + vxworks960) + basic_machine=i960-wrs + os=-vxworks + ;; + vxworks68) + basic_machine=m68k-wrs + os=-vxworks + ;; + vxworks29k) + basic_machine=a29k-wrs + os=-vxworks + ;; + w65*) + basic_machine=w65-wdc + os=-none + ;; + w89k-*) + basic_machine=hppa1.1-winbond + os=-proelf + ;; + xps | xps100) + basic_machine=xps100-honeywell + ;; + ymp) + basic_machine=ymp-cray + os=-unicos + ;; + z8k-*-coff) + basic_machine=z8k-unknown + os=-sim + ;; + none) + basic_machine=none-none + os=-none + ;; + +# Here we handle the default manufacturer of certain CPU types. It is in +# some cases the only manufacturer, in others, it is the most popular. + w89k) + basic_machine=hppa1.1-winbond + ;; + op50n) + basic_machine=hppa1.1-oki + ;; + op60c) + basic_machine=hppa1.1-oki + ;; + romp) + basic_machine=romp-ibm + ;; + mmix) + basic_machine=mmix-knuth + ;; + rs6000) + basic_machine=rs6000-ibm + ;; + vax) + basic_machine=vax-dec + ;; + pdp10) + # there are many clones, so DEC is not a safe bet + basic_machine=pdp10-unknown + ;; + pdp11) + basic_machine=pdp11-dec + ;; + we32k) + basic_machine=we32k-att + ;; + sh3 | sh4 | sh[34]eb | sh[1234]le | sh[23]ele) + basic_machine=sh-unknown + ;; + sh64) + basic_machine=sh64-unknown + ;; + sparc | sparcv8 | sparcv9 | sparcv9b) + basic_machine=sparc-sun + ;; + cydra) + basic_machine=cydra-cydrome + ;; + orion) + basic_machine=orion-highlevel + ;; + orion105) + basic_machine=clipper-highlevel + ;; + mac | mpw | mac-mpw) + basic_machine=m68k-apple + ;; + pmac | pmac-mpw) + basic_machine=powerpc-apple + ;; + *-unknown) + # Make sure to match an already-canonicalized machine name. + ;; + *) + echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 + exit 1 + ;; +esac + +# Here we canonicalize certain aliases for manufacturers. +case $basic_machine in + *-digital*) + basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'` + ;; + *-commodore*) + basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'` + ;; + *) + ;; +esac + +# Decode manufacturer-specific aliases for certain operating systems. + +if [ x"$os" != x"" ] +then +case $os in + # First match some system type aliases + # that might get confused with valid system types. + # -solaris* is a basic system type, with this one exception. + -solaris1 | -solaris1.*) + os=`echo $os | sed -e 's|solaris1|sunos4|'` + ;; + -solaris) + os=-solaris2 + ;; + -svr4*) + os=-sysv4 + ;; + -unixware*) + os=-sysv4.2uw + ;; + -gnu/linux*) + os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'` + ;; + # First accept the basic system types. + # The portable systems comes first. + # Each alternative MUST END IN A *, to match a version number. + # -sysv* is not here because it comes later, after sysvr4. + -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \ + | -*vms* | -sco* | -esix* | -isc* | -aix* | -sunos | -sunos[34]*\ + | -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \ + | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \ + | -aos* \ + | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ + | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \ + | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* | -openbsd* \ + | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \ + | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \ + | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ + | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ + | -chorusos* | -chorusrdb* \ + | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ + | -mingw32* | -linux-gnu* | -linux-uclibc* | -uxpv* | -beos* | -mpeix* | -udk* \ + | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \ + | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \ + | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \ + | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \ + | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \ + | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly*) + # Remember, each alternative MUST END IN *, to match a version number. + ;; + -qnx*) + case $basic_machine in + x86-* | i*86-*) + ;; + *) + os=-nto$os + ;; + esac + ;; + -nto-qnx*) + ;; + -nto*) + os=`echo $os | sed -e 's|nto|nto-qnx|'` + ;; + -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \ + | -windows* | -osx | -abug | -netware* | -os9* | -beos* \ + | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*) + ;; + -mac*) + os=`echo $os | sed -e 's|mac|macos|'` + ;; + -linux-dietlibc) + os=-linux-dietlibc + ;; + -linux*) + os=`echo $os | sed -e 's|linux|linux-gnu|'` + ;; + -sunos5*) + os=`echo $os | sed -e 's|sunos5|solaris2|'` + ;; + -sunos6*) + os=`echo $os | sed -e 's|sunos6|solaris3|'` + ;; + -opened*) + os=-openedition + ;; + -os400*) + os=-os400 + ;; + -wince*) + os=-wince + ;; + -osfrose*) + os=-osfrose + ;; + -osf*) + os=-osf + ;; + -utek*) + os=-bsd + ;; + -dynix*) + os=-bsd + ;; + -acis*) + os=-aos + ;; + -atheos*) + os=-atheos + ;; + -syllable*) + os=-syllable + ;; + -386bsd) + os=-bsd + ;; + -ctix* | -uts*) + os=-sysv + ;; + -nova*) + os=-rtmk-nova + ;; + -ns2 ) + os=-nextstep2 + ;; + -nsk*) + os=-nsk + ;; + # Preserve the version number of sinix5. + -sinix5.*) + os=`echo $os | sed -e 's|sinix|sysv|'` + ;; + -sinix*) + os=-sysv4 + ;; + -tpf*) + os=-tpf + ;; + -triton*) + os=-sysv3 + ;; + -oss*) + os=-sysv3 + ;; + -svr4) + os=-sysv4 + ;; + -svr3) + os=-sysv3 + ;; + -sysvr4) + os=-sysv4 + ;; + # This must come after -sysvr4. + -sysv*) + ;; + -ose*) + os=-ose + ;; + -es1800*) + os=-ose + ;; + -xenix) + os=-xenix + ;; + -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) + os=-mint + ;; + -aros*) + os=-aros + ;; + -kaos*) + os=-kaos + ;; + -none) + ;; + *) + # Get rid of the `-' at the beginning of $os. + os=`echo $os | sed 's/[^-]*-//'` + echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2 + exit 1 + ;; +esac +else + +# Here we handle the default operating systems that come with various machines. +# The value should be what the vendor currently ships out the door with their +# machine or put another way, the most popular os provided with the machine. + +# Note that if you're going to try to match "-MANUFACTURER" here (say, +# "-sun"), then you have to tell the case statement up towards the top +# that MANUFACTURER isn't an operating system. Otherwise, code above +# will signal an error saying that MANUFACTURER isn't an operating +# system, and we'll never get to this point. + +case $basic_machine in + *-acorn) + os=-riscix1.2 + ;; + arm*-rebel) + os=-linux + ;; + arm*-semi) + os=-aout + ;; + c4x-* | tic4x-*) + os=-coff + ;; + # This must come before the *-dec entry. + pdp10-*) + os=-tops20 + ;; + pdp11-*) + os=-none + ;; + *-dec | vax-*) + os=-ultrix4.2 + ;; + m68*-apollo) + os=-domain + ;; + i386-sun) + os=-sunos4.0.2 + ;; + m68000-sun) + os=-sunos3 + # This also exists in the configure program, but was not the + # default. + # os=-sunos4 + ;; + m68*-cisco) + os=-aout + ;; + mips*-cisco) + os=-elf + ;; + mips*-*) + os=-elf + ;; + or32-*) + os=-coff + ;; + *-tti) # must be before sparc entry or we get the wrong os. + os=-sysv3 + ;; + sparc-* | *-sun) + os=-sunos4.1.1 + ;; + *-be) + os=-beos + ;; + *-ibm) + os=-aix + ;; + *-knuth) + os=-mmixware + ;; + *-wec) + os=-proelf + ;; + *-winbond) + os=-proelf + ;; + *-oki) + os=-proelf + ;; + *-hp) + os=-hpux + ;; + *-hitachi) + os=-hiux + ;; + i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent) + os=-sysv + ;; + *-cbm) + os=-amigaos + ;; + *-dg) + os=-dgux + ;; + *-dolphin) + os=-sysv3 + ;; + m68k-ccur) + os=-rtu + ;; + m88k-omron*) + os=-luna + ;; + *-next ) + os=-nextstep + ;; + *-sequent) + os=-ptx + ;; + *-crds) + os=-unos + ;; + *-ns) + os=-genix + ;; + i370-*) + os=-mvs + ;; + *-next) + os=-nextstep3 + ;; + *-gould) + os=-sysv + ;; + *-highlevel) + os=-bsd + ;; + *-encore) + os=-bsd + ;; + *-sgi) + os=-irix + ;; + *-siemens) + os=-sysv4 + ;; + *-masscomp) + os=-rtu + ;; + f30[01]-fujitsu | f700-fujitsu) + os=-uxpv + ;; + *-rom68k) + os=-coff + ;; + *-*bug) + os=-coff + ;; + *-apple) + os=-macos + ;; + *-atari*) + os=-mint + ;; + *) + os=-none + ;; +esac +fi + +# Here we handle the case where we know the os, and the CPU type, but not the +# manufacturer. We pick the logical manufacturer. +vendor=unknown +case $basic_machine in + *-unknown) + case $os in + -riscix*) + vendor=acorn + ;; + -sunos*) + vendor=sun + ;; + -aix*) + vendor=ibm + ;; + -beos*) + vendor=be + ;; + -hpux*) + vendor=hp + ;; + -mpeix*) + vendor=hp + ;; + -hiux*) + vendor=hitachi + ;; + -unos*) + vendor=crds + ;; + -dgux*) + vendor=dg + ;; + -luna*) + vendor=omron + ;; + -genix*) + vendor=ns + ;; + -mvs* | -opened*) + vendor=ibm + ;; + -os400*) + vendor=ibm + ;; + -ptx*) + vendor=sequent + ;; + -tpf*) + vendor=ibm + ;; + -vxsim* | -vxworks* | -windiss*) + vendor=wrs + ;; + -aux*) + vendor=apple + ;; + -hms*) + vendor=hitachi + ;; + -mpw* | -macos*) + vendor=apple + ;; + -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) + vendor=atari + ;; + -vos*) + vendor=stratus + ;; + esac + basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"` + ;; +esac + +echo $basic_machine$os +exit 0 + +# Local variables: +# eval: (add-hook 'write-file-hooks 'time-stamp) +# time-stamp-start: "timestamp='" +# time-stamp-format: "%:y-%02m-%02d" +# time-stamp-end: "'" +# End: diff --git a/admin/configure.in.bot.end b/admin/configure.in.bot.end new file mode 100644 index 0000000..14da279 --- /dev/null +++ b/admin/configure.in.bot.end @@ -0,0 +1,30 @@ +# Check if KDE_SET_PREFIX was called, and --prefix was passed to configure +if test -n "$kde_libs_prefix" -a -n "$given_prefix"; then + # And if so, warn when they don't match + if test "$kde_libs_prefix" != "$given_prefix"; then + # And if kde doesn't know about the prefix yet + echo ":"`kde-config --path exe`":" | grep ":$given_prefix/bin/:" 2>&1 >/dev/null + if test $? -ne 0; then + echo "" + echo "Warning: you chose to install this package in $given_prefix," + echo "but KDE was found in $kde_libs_prefix." + echo "For this to work, you will need to tell KDE about the new prefix, by ensuring" + echo "that KDEDIRS contains it, e.g. export KDEDIRS=$given_prefix:$kde_libs_prefix" + echo "Then restart KDE." + echo "" + fi + fi +fi + +if test "$all_tests" = "bad"; then + if test ! "$cache_file" = "/dev/null"; then + echo "" + echo "Please remove the file $cache_file after changing your setup" + echo "so that configure will find the changes next time." + echo "" + fi +else + echo "" + echo "Good - your configure finished. Start make now" + echo "" +fi diff --git a/admin/configure.in.min b/admin/configure.in.min new file mode 100644 index 0000000..7c7e25a --- /dev/null +++ b/admin/configure.in.min @@ -0,0 +1,57 @@ +dnl This file is part of the KDE libraries/packages +dnl Copyright (C) 2001 Stephan Kulow (coolo@kde.org) + +dnl This file is free software; you can redistribute it and/or +dnl modify it under the terms of the GNU Library General Public +dnl License as published by the Free Software Foundation; either +dnl version 2 of the License, or (at your option) any later version. + +dnl This library is distributed in the hope that it will be useful, +dnl but WITHOUT ANY WARRANTY; without even the implied warranty of +dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +dnl Library General Public License for more details. + +dnl You should have received a copy of the GNU Library General Public License +dnl along with this library; see the file COPYING.LIB. If not, write to +dnl the Free Software Foundation, Inc., 59 Temple Place - Suite 330, +dnl Boston, MA 02111-1307, USA. + +# Original Author was Kalle@kde.org +# I lifted it in some mater. (Stephan Kulow) +# I used much code from Janos Farkas + +dnl Process this file with autoconf to produce a configure script. + +AC_INIT(acinclude.m4) dnl a source file from your sub dir + +dnl This is so we can use kde-common +AC_CONFIG_AUX_DIR(admin) + +dnl This ksh/zsh feature conflicts with `cd blah ; pwd` +unset CDPATH + +dnl Checking host/target/build systems, for make, install etc. +AC_CANONICAL_SYSTEM +dnl Perform program name transformation +AC_ARG_PROGRAM + +dnl Automake doc recommends to do this only here. (Janos) +AM_INIT_AUTOMAKE(@MODULENAME@, @VERSION@) dnl searches for some needed programs + +KDE_SET_PREFIX + +dnl generate the config header +AM_CONFIG_HEADER(config.h) dnl at the distribution this done + +dnl Checks for programs. +AC_CHECK_COMPILERS +AC_ENABLE_SHARED(yes) +AC_ENABLE_STATIC(no) +KDE_PROG_LIBTOOL + +dnl for NLS support. Call them in this order! +dnl WITH_NLS is for the po files +AM_KDE_WITH_NLS + +dnl KDE_USE_QT +AC_PATH_KDE diff --git a/admin/cvs-clean.pl b/admin/cvs-clean.pl new file mode 100644 index 0000000..35d48e9 --- /dev/null +++ b/admin/cvs-clean.pl @@ -0,0 +1,87 @@ +#! /usr/bin/perl + +# +# This script recursively (beginning with the current directory) +# wipes out everything not registered in CVS. +# +# written by Oswald Buddenhagen +# inspired by the "old" cvs-clean target from Makefile.common +# +# This file is free software in terms of the BSD license. That means +# that you can do anything with it except removing this license or +# the above copyright notice. There is NO WARRANTY of any kind. +# + +sub rmrf() +{ + my $fn = shift; + lstat ($fn); + if (-d _) { + if (opendir (DIR, $fn)) { + for my $efn (grep (!/^\.\.?$/, readdir (DIR))) { + &rmrf ($fn."/".$efn); + } + closedir (DIR); + rmdir ($fn); + } + } else { + unlink ($fn); + } +} + +sub newfiles() +{ + my ($indir, $incvs) = @_; + for my $n (keys (%$incvs)) { delete $$indir{$n} } + return sort (keys (%$indir)); +} + +sub cvsclean() +{ + my $dir = shift; + my (%dirsdir, %filesdir, %dirscvs, %filescvs); + my $dnam = $dir ? $dir : "."; + if (!opendir (DIR, $dnam)) { + print STDERR "Cannot enter \"".$dnam."\".\n"; + return; + } + for my $fn (grep (!/^\.\.?$/, readdir (DIR))) { + if (-d $dir.$fn) { + $fn eq "CVS" or $dirsdir{$fn} = 1; + } else { + $filesdir{$fn} = 1; + } + } + closedir (DIR); + if (!open (FILE, "<".$dir."CVS/Entries")) { + print STDERR "No CVS information in \"".$dnam."\".\n"; + return; + } + while () { + m%^D/([^/]+)/.*$% and $dirscvs{$1} = 1; + m%^/([^/]+)/.*$% and $filescvs{$1} = 1; + } + close (FILE); + if (open (FILE, "<".$dir."CVS/Entries.Log")) { + while () { + m%^A D/([^/]+)/.*$% and $dirscvs{$1} = 1; + m%^A /([^/]+)/.*$% and $filescvs{$1} = 1; + m%^R D/([^/]+)/.*$% and delete $dirscvs{$1}; + m%^R /([^/]+)/.*$% and delete $filescvs{$1}; + } + close (FILE); + } + for my $fn (&newfiles (\%filesdir, \%filescvs)) { + print ("F ".$dir.$fn."\n"); + &rmrf ($dir.$fn); + } + for my $fn (&newfiles (\%dirsdir, \%dirscvs)) { + print ("D ".$dir.$fn."\n"); + &rmrf ($dir.$fn); + } + for my $fn (sort (keys (%dirscvs))) { + &cvsclean ($dir.$fn."/"); + } +} + +&cvsclean (""); diff --git a/admin/cvs.sh b/admin/cvs.sh new file mode 100644 index 0000000..03eab28 --- /dev/null +++ b/admin/cvs.sh @@ -0,0 +1,662 @@ +#! /bin/sh +# +# cvs.sh +# +# This file contains support code from Makefile.common +# It defines a shell function for each known target +# and then does a case to call the correct function. + +unset MAKEFLAGS + +call_and_fix_autoconf() +{ + $AUTOCONF || exit 1 + if test -r configure.in.in ; then + perl -pi -e "print \"if test \\\"x\\\$with_fast_perl\\\" = \\\"xyes\\\"; then\ + \\n perl -i.bak \\\$ac_aux_dir/conf.change.pl \\\$CONFIG_STATUS\ + \\\\\\n || mv \\\$CONFIG_STATUS.bak \\\$CONFIG_STATUS\ + \\n rm -f \\\$CONFIG_STATUS.bak\\nfi\ + \\n\" if /^\\s*chmod\\s+.*\\+x\\s+.*CONFIG_STATUS/; s,^#line.*LINENO.*\$,/* \$& */, ;" configure + fi +} + +strip_makefile() +{ + if test ! -f $makefile_wo; then + perl -e '$in=0; while ( <> ) { $in = 1 if ($_ =~ m/^if / ); print $_ unless ($in || $_ =~ m/^include /); $in = 0 if ($_ =~ m/^endif/); }' < $makefile_am > $makefile_wo + fi +} + +check_autotool_versions() +{ +required_autoconf_version="2.53 or newer" +AUTOCONF_VERSION=`$AUTOCONF --version | head -n 1` +case $AUTOCONF_VERSION in + Autoconf*2.5* | autoconf*2.5* | autoconf*2.6* ) : ;; + "" ) + echo "*** AUTOCONF NOT FOUND!." + echo "*** KDE requires autoconf $required_autoconf_version" + exit 1 + ;; + * ) + echo "*** YOU'RE USING $AUTOCONF_VERSION." + echo "*** KDE requires autoconf $required_autoconf_version" + exit 1 + ;; +esac + +AUTOHEADER_VERSION=`$AUTOHEADER --version | head -n 1` +case $AUTOHEADER_VERSION in + Autoconf*2.5* | autoheader*2.5* | autoheader*2.6* ) : ;; + "" ) + echo "*** AUTOHEADER NOT FOUND!." + echo "*** KDE requires autoheader $required_autoconf_version" + exit 1 + ;; + * ) + echo "*** YOU'RE USING $AUTOHEADER_VERSION." + echo "*** KDE requires autoheader $required_autoconf_version" + exit 1 + ;; +esac + +unset UNSERMAKE || : + +AUTOMAKE_STRING=`$AUTOMAKE --version | head -n 1` +required_automake_version="1.6.1 or newer" +case $AUTOMAKE_STRING in + automake*1.5d* | automake*1.5* | automake*1.5-* ) + echo "*** YOU'RE USING $AUTOMAKE_STRING." + echo "*** KDE requires automake $required_automake_version" + exit 1 + ;; + automake*1.6.* | automake*1.7* | automake*1.8* | automake*1.9* | automake*1.10*) : ;; + "" ) + echo "*** AUTOMAKE NOT FOUND!." + echo "*** KDE requires automake $required_automake_version" + exit 1 + ;; + *unsermake* ) : + echo "*** YOU'RE USING UNSERMAKE." + echo "*** GOOD LUCK!! :)" + UNSERMAKE=unsermake + ;; + * ) + echo "*** YOU'RE USING $AUTOMAKE_STRING." + echo "*** KDE requires automake $required_automake_version" + exit 1 + ;; +esac +unset required_automake_version +} + +cvs() +{ +check_autotool_versions +acinclude_m4 + +### Make new subdirs and configure.in. +### The make calls could be optimized away here, +### with a little thought. +if test -r configure.in.in; then + rm -f configure.in + echo "*** Creating list of subdirectories" + create_subdirs + + if test -r Makefile.am.in; then + echo "*** Creating Makefile.am" + if grep '\$(top_srcdir)/Makefile.am:' $makefile_am >/dev/null; then + strip_makefile + $MAKE -f $makefile_wo top_srcdir=. ./Makefile.am || exit 1 + else + Makefile_am + fi + fi + configure_files + echo "*** Creating configure.in" + if grep '\$(top_srcdir)/configure.in:' $makefile_am >/dev/null; then + strip_makefile + $MAKE -f $makefile_wo top_srcdir=. ./configure.in || exit 1 + else + configure_in + fi +fi + +echo "*** Creating aclocal.m4" +$ACLOCAL $ACLOCALFLAGS || exit 1 +echo "*** Creating configure" +call_and_fix_autoconf + +if egrep "^AM_CONFIG_HEADER" configure.in >/dev/null 2>&1; then + echo "*** Creating config.h template" + $AUTOHEADER || exit 1 +fi + +echo "*** Creating Makefile templates" +$AUTOMAKE || exit 1 + +if test -z "$UNSERMAKE"; then + echo "*** Postprocessing Makefile templates" + perl -w admin/am_edit || exit 1 +fi + +if egrep "^cvs-local:" $makefile_am >/dev/null; then \ + strip_makefile + $MAKE -f $makefile_wo cvs-local top_srcdir=. || exit 1 +fi + +echo "*** Creating date/time stamp" +touch stamp-h.in + +echo "*** Finished" +echo " Don't forget to run ./configure" +echo " If you haven't done so in a while, run ./configure --help" +} + +dist() +{ +check_autotool_versions + +### +### First build all of the files necessary to do just "make" +### +acinclude_m4 +if test -r configure.in.in; then + rm -f configure.in + create_subdirs + + if test -r Makefile.am.in; then + if grep '\$(top_srcdir)/Makefile.am:' $makefile_am >/dev/null; then + strip_makefile + $MAKE -f $makefile_wo top_srcdir=. ./Makefile.am || exit 1 + else + Makefile_am + fi + fi + configure_files + if grep '\$(top_srcdir)/configure.in:' $makefile_am >/dev/null; then + strip_makefile + $MAKE -f $makefile_wo top_srcdir=. ./configure.in || exit 1 + else + configure_in + fi +fi +$ACLOCAL $ACLOCALFLAGS +if egrep "^AM_CONFIG_HEADER" configure.in >/dev/null 2>&1; then + echo "*** Creating config.h template" + $AUTOHEADER || exit 1 +fi +$AUTOMAKE --foreign +if test -z "$UNSERMAKE"; then + echo "*** Postprocessing Makefile templates" + perl -w admin/am_edit || exit 1 +fi +call_and_fix_autoconf +touch stamp-h.in +if grep "^cvs-local:" $makefile_am >/dev/null; then + strip_makefile + $MAKE -f $makefile_wo cvs-local top_srcdir=. +fi + +### +### Then make messages +### +if test -d po; then + LIST=`find ./po -name "*.po"` + for i in $LIST; do + file2=`echo $i | sed -e "s#\.po#\.gmo#"` + msgfmt -o $file2 $i || touch $file2 + done +fi +if grep "^cvs-dist-local:" $makefile_am >/dev/null; then + strip_makefile + $MAKE -f $makefile_wo cvs-dist-local top_srcdir=. +fi +} + +subdir_dist() +{ +$ACLOCAL $ACLOCALFLAGS +$AUTOHEADER +$AUTOMAKE +AUTOMAKE_STRING=`$AUTOMAKE --version | head -n 1` +case $AUTOMAKE_STRING in + *unsermake* ) : + ;; + *) + perl -w ../admin/am_edit --path=../admin +esac +call_and_fix_autoconf +touch stamp-h.in +} + +configure_in() +{ +rm -f configure.in configure.in.new +kde_use_qt_param= +test -f configure.files || { echo "need configure.files for configure.in"; exit 1; } +list=`fgrep -v "configure.in.bot" < configure.files | fgrep -v "configure.in.mid"` +: > configure.in.new +for file in $list; do + echo "dnl =======================================================" >> configure.in.new + echo "dnl FILE: $file" >> configure.in.new + echo "dnl =======================================================" >> configure.in.new + echo "" >> configure.in.new + cat $file >> configure.in.new +done +echo "KDE_CREATE_SUBDIRSLIST" >> configure.in.new +if test -f Makefile.am.in; then + subdirs=`cat subdirs` + for dir in $subdirs; do + vdir=`echo $dir | sed -e 's,[-+.@],_,g'` + echo "AM_CONDITIONAL($vdir""_SUBDIR_included, test \"x\$$vdir""_SUBDIR_included\" = xyes)" >> configure.in.new + if test -f "$dir/configure.in"; then + echo "if test \"x\$$vdir""_SUBDIR_included\" = xyes; then " >> configure.in.new + echo " AC_CONFIG_SUBDIRS($dir)" >> configure.in.new + echo "fi" >> configure.in.new + fi + done +fi + +echo "AC_CONFIG_FILES([ Makefile ])" >> configure.in.new + +if test -f inst-apps; then + topleveldirs=`cat inst-apps` +else + topleveldirs= + for dir in `ls -1d * | sort`; do + if test "$dir" != "debian" && test -d $dir; then + topleveldirs="$topleveldirs $dir" + fi + done +fi + +for topleveldir in $topleveldirs; do + if test -f $topleveldir/configure.in; then + continue + fi + if test -f $topleveldir/Makefile.am; then :; else + continue + fi + + mfs=`find $topleveldir -follow -name Makefile.am -print | fgrep -v "/." | \ + sed -e 's#\./##; s#/Makefile.am$##' | sort | sed -e 's#$#/Makefile#'` + for i in $mfs; do + echo "AC_CONFIG_FILES([ $i ])" >> configure.in.new + done +done + +files=`cat configure.files` +list=`egrep '^dnl AC_OUTPUT\(.*\)' $files | sed -e "s#^.*dnl AC_OUTPUT(\(.*\))#\1#"` +for file in $list; do + echo "AC_CONFIG_FILES([ $file ])" >> configure.in.new +done + +midfiles=`cat configure.files | fgrep "configure.in.mid"` +test -n "$midfiles" && cat $midfiles >> configure.in.new + +echo "AC_OUTPUT" >> configure.in.new +modulename= +if test -f configure.in.in; then + if head -n 2 configure.in.in | egrep "^#MIN_CONFIG\(.*\)$" > /dev/null; then + kde_use_qt_param=`cat configure.in.in | sed -n -e "s/#MIN_CONFIG(\(.*\))/\1/p"` + fi + if head -n 2 configure.in.in | egrep "^#MIN_CONFIG" > /dev/null; then + line=`grep "^AM_INIT_AUTOMAKE(" configure.in.in` + if test -n "$line"; then + modulename=`echo $line | sed -e "s#AM_INIT_AUTOMAKE(\([^,]*\),.*#\1#"` + VERSION=`echo $line | sed -e "s#AM_INIT_AUTOMAKE([^,]*, *\([^)]*\)).*#\1#"` + fi + sed -e "s#AM_INIT_AUTOMAKE([^@].*#dnl PACKAGE set before#" \ + configure.in.new > configure.in && mv configure.in configure.in.new + fi +fi +if test -z "$VERSION" || test "$VERSION" = "@VERSION@"; then + VERSION="\"3.4.0\"" +fi +if test -z "$modulename" || test "$modulename" = "@MODULENAME@"; then + modulename=`pwd`; + modulename=`basename $modulename` + esc_VERSION=`echo $VERSION | sed -e "s#[^.0-9a-zA-Z]##g"` + modulename=`echo $modulename | sed -e "s#-$esc_VERSION##"` + +fi +if test -n "$kde_use_qt_param"; then + sed -e "s#^dnl KDE_USE_QT#KDE_USE_QT($kde_use_qt_param)#" \ + configure.in.new > configure.in && mv configure.in configure.in.new +fi +sed -e "s#@MODULENAME@#$modulename#" configure.in.new | + sed -e "s#@VERSION@#$VERSION#" > configure.in +botfiles=`cat configure.files | egrep "configure.in.bot"` +test -n "$botfiles" && cat $botfiles >> configure.in +cat $admindir/configure.in.bot.end >> configure.in +rm -f configure.in.new +} + +configure_files() +{ +echo "*** Creating configure.files" +admindir=NO +for i in . .. ../.. ../../..; do + if test -x $i/admin; then admindir=$i/admin; break; fi +done +rm -f configure.files +touch configure.files +if test -f configure.in.in && head -n 2 configure.in.in | grep "^#MIN_CONFIG" > /dev/null; then + echo $admindir/configure.in.min >> configure.files +fi +test -f configure.in.in && echo configure.in.in >> configure.files +# we collect files in the subdirs and do some sorting tricks, so subsubdirs come after subdirs +if test -f inst-apps; then + inst=`cat inst-apps` + list="" + for i in $inst; do + list="$list `find $i/ -follow -name "configure.in.in" -o -name "configure.in.bot" -o -name "configure.in.mid" | \ + sed -e "s,/configure,/aaaconfigure," | sort | sed -e "s,/aaaconfigure,/configure,"`" + done +else + list=`find . -follow -name "configure.in.in" -o -name "configure.in.bot" -o -name "configure.in.mid" | \ + sed -e "s,/configure,/aaaconfigure," | sort | sed -e "s,/aaaconfigure,/configure,"` +fi +for i in $list; do if test -f $i && test `dirname $i` != "." ; then + echo $i >> configure.files +fi; done +test -f configure.in.mid && echo configure.in.mid >> configure.files +test -f configure.in.bot && echo configure.in.bot >> configure.files +if test ! -s configure.files; then + echo "There are no files to build a configure. Please check your checkout." + exit 1 +fi +} + +create_subdirs() +{ +if grep '\$(top_srcdir)/subdirs:' $makefile_am >/dev/null; then + # as many modules contain rules to create subdirs without any + # dependencies make won't create it unless there is no file. + # so we check if that's a dummy rule or one that works + rm -f subdirs.cvs.sh.$$ + if test -f subdirs; then + mv subdirs subdirs.cvs.sh.$$ + fi + strip_makefile + $MAKE -f $makefile_wo top_srcdir=. ./subdirs || exit 1 + if test -f subdirs.cvs.sh.$$; then + if test -s subdirs; then + rm subdirs.cvs.sh.$$ + else + mv subdirs.cvs.sh.$$ subdirs + fi + fi +else + subdirs +fi +} + +subdirs() +{ +dirs= +idirs= +if test -f inst-apps; then + idirs=`cat inst-apps` +else + idirs=`ls -1 | sort` +fi + +compilefirst=`sed -ne 's#^COMPILE_FIRST[ ]*=[ ]*##p' $makefile_am | head -n 1` +compilelast=`sed -ne 's#^COMPILE_LAST[ ]*=[ ]*##p' $makefile_am | head -n 1` +for i in $idirs; do + if test -f $i/Makefile.am; then + case " $compilefirst $compilelast " in + *" $i "*) ;; + *) dirs="$dirs $i" + esac + fi +done + +: > ./_SUBDIRS + +for d in $compilefirst; do + echo $d >> ./_SUBDIRS +done + +(for d in $dirs; do + list=`sed -ne "s#^COMPILE_BEFORE_$d""[ ]*=[ ]*##p" $makefile_am | head -n 1` + for s in $list; do + echo $s $d + done + list=`sed -ne "s#^COMPILE_AFTER_$d""[ ]*=[ ]*##p" $makefile_am | head -n 1` + for s in $list; do + echo $d $s + done + echo $d $d +done ) | tsort >> ./_SUBDIRS + +for d in $compilelast; do + echo $d >> ./_SUBDIRS +done + +if test -r subdirs && cmp -s subdirs _SUBDIRS; then + rm -f _SUBDIRS +fi +test -r _SUBDIRS && mv _SUBDIRS subdirs || true +} + +Makefile_am() +{ +if test -f Makefile.am.in; then + compilefirst=`sed -ne 's#^COMPILE_FIRST[ ]*=[ ]*##p' $makefile_am | head -n 1` + compilelast=`sed -ne 's#^COMPILE_LAST[ ]*=[ ]*##p' $makefile_am | head -n 1` + + idirs= + dirs= + if test -f inst-apps; then + idirs=`cat inst-apps` + else + idirs=`cat subdirs` + fi + for i in $idirs; do + case " $compilefirst $compilelast " in + *" $i "*) ;; + *) dirs="$dirs $i" + esac + done + + adds=`fgrep '$(top_srcdir)/acinclude.m4:' Makefile.am.in | sed -e 's,^[^:]*: *,,; s,\$(top_srcdir)/,,g'` + if echo "$adds" | fgrep "*" >/dev/null ; then + adds=`ls -d -1 $adds 2>/dev/null` + fgrep -v '$(top_srcdir)/acinclude.m4:' Makefile.am.in > Makefile.am.in.adds + str='$(top_srcdir)/acinclude.m4:' + for add in $adds; do + str="$str \$(top_srcdir)/$add" + done + echo $str >> Makefile.am.in.adds + else + cat Makefile.am.in > Makefile.am.in.adds + fi + + cat Makefile.am.in.adds | \ + sed -e 's,^\s*\(COMPILE_BEFORE.*\),# \1,' | \ + sed -e 's,^\s*\(COMPILE_AFTER.*\),# \1,' > Makefile.am + echo "SUBDIRS="'$(TOPSUBDIRS)' >> Makefile.am + rm Makefile.am.in.adds +fi +} + +acinclude_m4() +{ + echo "*** Creating acinclude.m4" + adds= + if grep '\$(top_srcdir)/acinclude.m4:' $makefile_am >/dev/null; then + strip_makefile + rm -f acinclude.m4 + adds=`grep '\$(top_srcdir)/acinclude.m4:' $makefile_wo | sed -e 's,^[^:]*: *,,; s,\$(top_srcdir),.,g'` + if echo $adds | fgrep "*" >/dev/null ; then + adds=`ls -d -1 $adds 2>/dev/null` + else + $MAKE -f $makefile_wo top_srcdir=. ./acinclude.m4 || exit 1 + fi + else + rm -f acinclude.m4 + fi + # if it wasn't created up to now, then we do it better + if test ! -f acinclude.m4; then + cat admin/acinclude.m4.in admin/libtool.m4.in admin/pkg.m4.in $adds > acinclude.m4 + fi +} + +cvs_clean() +{ +if test -d CVS; then :; else + echo "You don't have a toplevel CVS directory." + echo "You most certainly didn't use cvs to get these sources." + echo "But this function depends on cvs's information." + exit 1 +fi +perl $admindir/cvs-clean.pl +} + +package_merge() +{ +catalogs=$POFILES +for cat in $catalogs; do + msgmerge -o $cat.new $cat $PACKAGE.pot + if test -s $cat.new; then + grep -v "\"POT-Creation" $cat.new > $cat.new.2 + grep -v "\"POT-Creation" $cat >> $cat.new.1 + if diff $cat.new.1 $cat.new.2; then + rm $cat.new + else + mv $cat.new $cat + fi + rm -f $cat.new.1 $cat.new.2 + fi +done +} + +extract_messages() +{ +podir=${podir:-$PWD/po} +files=`find . -name Makefile.am | xargs egrep -l '^messages:' ` +dirs=`for i in $files; do echo \`dirname $i\`; done` +tmpname="$PWD/messages.log" +if test -z "$EXTRACTRC"; then EXTRACTRC=extractrc ; fi +if test -z "$PREPARETIPS"; then PREPARETIPS=preparetips ; fi +export EXTRACTRC PREPARETIPS + +for subdir in $dirs; do + test -z "$VERBOSE" || echo "Making messages in $subdir" + (cd $subdir + if test -n "`grep -e '^messages:.*rc.cpp' Makefile.am`"; then + $EXTRACTRC *.rc *.ui *.kcfg > rc.cpp + else + candidates=`ls -1 *.rc *.ui *.kcfg 2>/dev/null` + if test -n "$candidates"; then + echo "$subdir has *.rc, *.ui or *.kcfg files, but not correct messages line" + fi + fi + if find . -name \*.c\* -o -name \*.h\* | xargs fgrep -s -q KAboutData ; then + echo -e 'i18n("_: NAME OF TRANSLATORS\\n"\n"Your names")\ni18n("_: EMAIL OF TRANSLATORS\\n"\n"Your emails")' > _translatorinfo.cpp + else echo " " > _translatorinfo.cpp + fi + perl -e '$mes=0; while () { next if (/^(if\s|else\s|endif)/); if (/^messages:/) { $mes=1; print $_; next; } if ($mes) { if (/$\\(XGETTEXT\)/ && / -o/) { s/ -o \$\(podir\)/ _translatorinfo.cpp -o \$\(podir\)/ } print $_; } else { print $_; } }' < Makefile.am | egrep -v '^include ' > _transMakefile + + kdepotpath=${includedir:-`kde-config --expandvars --install include`}/kde.pot + + $MAKE -s -f _transMakefile podir=$podir EXTRACTRC="$EXTRACTRC" PREPARETIPS="$PREPARETIPS" srcdir=. \ + XGETTEXT="${XGETTEXT:-xgettext} --foreign-user -C -ci18n -ki18n -ktr2i18n -kI18N_NOOP -kI18N_NOOP2 -kaliasLocale -x $kdepotpath" messages + exit_code=$? + if test "$exit_code" != 0; then + echo "make exit code: $exit_code" + fi + ) 2>&1 | grep -v '^make\[1\]' > $tmpname + test -s $tmpname && { echo $subdir ; cat "$tmpname"; } + test -f $subdir/rc.cpp && rm -f $subdir/rc.cpp + rm -f $subdir/_translatorinfo.cpp + rm -f $subdir/_transMakefile +done +rm -f $tmpname +} + +package_messages() +{ +rm -rf po.backup +mkdir po.backup + +for i in `ls -1 po/*.pot 2>/dev/null | sed -e "s#po/##"`; do + egrep -v '^#([^:]|$)' po/$i | egrep '^.*[^ ]+.*$' | grep -v "\"POT-Creation" > po.backup/$i + cat po/$i > po.backup/backup_$i + touch -r po/$i po.backup/backup_$i + rm po/$i +done + +extract_messages + +for i in `ls -1 po.backup/*.pot 2>/dev/null | sed -e "s#po.backup/##" | egrep -v '^backup_'`; do + test -f po/$i || echo "disappeared: $i" +done +for i in `ls -1 po/*.pot 2>/dev/null | sed -e "s#po/##"`; do + sed -e 's,^"Content-Type: text/plain; charset=CHARSET\\n"$,"Content-Type: text/plain; charset=UTF-8\\n",' po/$i > po/$i.new && mv po/$i.new po/$i + #msgmerge -q -o po/$i po/$i po/$i + egrep -v '^#([^:]|$)' po/$i | egrep '^.*[^ ]+.*$' | grep -v "\"POT-Creation" > temp.pot + if test -f po.backup/$i && ! cmp -s temp.pot po.backup/$i; then + echo "will update $i" + else + if test -f po.backup/backup_$i; then + test -z "$VERBOSE" || echo "I'm restoring $i" + mv po.backup/backup_$i po/$i + rm po.backup/$i + else + echo "will add $i" + fi + fi +done +rm -f temp.pot +rm -rf po.backup +} + +unset LC_ALL || : +unset LANG || : +unset LC_CTYPE || : +unset LANGUAGE || : + +unset CDPATH || : +admindir=`echo "$0" | sed 's%[\\/][^\\/][^\\/]*$%%'` +test "x$admindir" = "x$0" && admindir=. + +test "x$MAKE" = x && MAKE=make +makefile_am=Makefile.am +makefile_wo=Makefile.am.wo +if test -f Makefile.am.in; then + makefile_am=Makefile.am.in + makefile_wo=Makefile.am.in.wo + rm -f $makefile_wo +fi + +# Suck in the AUTOCONF detection code +. $admindir/detect-autoconf.sh + +### +### Main +### + +arg=`echo $1 | tr .- __` +case $arg in + cvs | dist | subdir_dist | configure_in | configure_files | subdirs | \ + cvs_clean | package_merge | package_messages | Makefile_am | acinclude_m4 | extract_messages ) $arg ;; + configure ) call_and_fix_autoconf ;; + * ) echo "Usage: cvs.sh " + echo "Target can be one of:" + echo " cvs cvs-clean dist" + echo " configure.in configure.files" + echo " package-merge package-messages" + echo "" + echo "Usage: anything but $1" + exit 1 ;; +esac + +if test -f $makefile_wo; then + rm $makefile_wo +fi + +exit 0 diff --git a/admin/debianrules b/admin/debianrules new file mode 100755 index 0000000..25897f2 --- /dev/null +++ b/admin/debianrules @@ -0,0 +1,43 @@ +#!/usr/bin/perl -w + +use Shell qw(mv cp mkdir rm) ; +use File::Find; +use Cwd; + +$origPwd = `pwd`; +chomp $origPwd; + +$kde_prefix = "/usr"; +$sysconfdir = "/etc"; +$kde_includedir = "$kde_prefix/include/kde"; +$infodir = "$kde_prefix/share/info"; +$mandir = "$kde_prefix/share/man"; +$qtdir = "/usr/share/qt3"; + +$kde_cgidir = "$kde_prefix/lib/cgi-bin"; +$kde_confdir = "$sysconfdir/kde3"; +$kde_htmldir = "$kde_prefix/share/doc/kde/HTML"; + +if (defined $ENV{DEB_BUILD_OPTIONS} && + $ENV{DEB_BUILD_OPTIONS} =~ /\bnostrip\b/) { + $enable_debug="--enable-debug=full"; +} else { + $enable_debug="--disable-debug"; +} + +if (@ARGV && $ARGV[0] eq 'echodirs') { + print STDOUT "export kde_prefix=$kde_prefix\n"; + print STDOUT "export sysconfdir=$sysconfdir\n"; + print STDOUT "export kde_includedir=$kde_includedir\n"; + print STDOUT "export infodir=$infodir\n"; + print STDOUT "export mandir=$mandir\n"; + print STDOUT "export qtdir=$qtdir\n"; + + print STDOUT "export kde_cgidir=$kde_cgidir\n"; + print STDOUT "export kde_confdir=$kde_confdir\n"; + print STDOUT "export kde_htmldir=$kde_htmldir\n"; + + print STDOUT "configkde=$enable_debug --disable-rpath --prefix=\$(kde_prefix) --sysconfdir=\$(sysconfdir) --includedir=\$(kde_includedir) --infodir=\$(infodir) --mandir=\$(mandir) --with-qt-dir=\$(qtdir)\n"; + + exit +} diff --git a/admin/depcomp b/admin/depcomp new file mode 100755 index 0000000..4c20c6c --- /dev/null +++ b/admin/depcomp @@ -0,0 +1,441 @@ +#! /bin/sh + +# depcomp - compile a program generating dependencies as side-effects +# Copyright 1999, 2000 Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that program. + +# Originally written by Alexandre Oliva . + +if test -z "$depmode" || test -z "$source" || test -z "$object"; then + echo "depcomp: Variables source, object and depmode must be set" 1>&2 + exit 1 +fi +# `libtool' can also be set to `yes' or `no'. + +depfile=${depfile-`echo "$object" | sed 's,\([^/]*\)$,.deps/\1,;s/\.\([^.]*\)$/.P\1/'`} +tmpdepfile=${tmpdepfile-`echo "$depfile" | sed 's/\.\([^.]*\)$/.T\1/'`} + +rm -f "$tmpdepfile" + +# Some modes work just like other modes, but use different flags. We +# parameterize here, but still list the modes in the big case below, +# to make depend.m4 easier to write. Note that we *cannot* use a case +# here, because this file can only contain one case statement. +if test "$depmode" = hp; then + # HP compiler uses -M and no extra arg. + gccflag=-M + depmode=gcc +fi + +if test "$depmode" = dashXmstdout; then + # This is just like dashmstdout with a different argument. + dashmflag=-xM + depmode=dashmstdout +fi + +case "$depmode" in +gcc3) +## gcc 3 implements dependency tracking that does exactly what +## we want. Yay! Note: for some reason libtool 1.4 doesn't like +## it if -MD -MP comes after the -MF stuff. Hmm. + "$@" -MT "$object" -MD -MP -MF "$tmpdepfile" + stat=$? + if test $stat -eq 0; then : + else + rm -f "$tmpdepfile" + exit $stat + fi + mv "$tmpdepfile" "$depfile" + ;; + +gcc) +## There are various ways to get dependency output from gcc. Here's +## why we pick this rather obscure method: +## - Don't want to use -MD because we'd like the dependencies to end +## up in a subdir. Having to rename by hand is ugly. +## (We might end up doing this anyway to support other compilers.) +## - The DEPENDENCIES_OUTPUT environment variable makes gcc act like +## -MM, not -M (despite what the docs say). +## - Using -M directly means running the compiler twice (even worse +## than renaming). + if test -z "$gccflag"; then + gccflag=-MD, + fi + "$@" -Wp,"$gccflag$tmpdepfile" + stat=$? + if test $stat -eq 0; then : + else + rm -f "$tmpdepfile" + exit $stat + fi + rm -f "$depfile" + echo "$object : \\" > "$depfile" + alpha=ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz +## The second -e expression handles DOS-style file names with drive letters. + sed -e 's/^[^:]*: / /' \ + -e 's/^['$alpha']:\/[^:]*: / /' < "$tmpdepfile" >> "$depfile" +## This next piece of magic avoids the `deleted header file' problem. +## The problem is that when a header file which appears in a .P file +## is deleted, the dependency causes make to die (because there is +## typically no way to rebuild the header). We avoid this by adding +## dummy dependencies for each header file. Too bad gcc doesn't do +## this for us directly. + tr ' ' ' +' < "$tmpdepfile" | +## Some versions of gcc put a space before the `:'. On the theory +## that the space means something, we add a space to the output as +## well. +## Some versions of the HPUX 10.20 sed can't process this invocation +## correctly. Breaking it into two sed invocations is a workaround. + sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile" + rm -f "$tmpdepfile" + ;; + +hp) + # This case exists only to let depend.m4 do its work. It works by + # looking at the text of this script. This case will never be run, + # since it is checked for above. + exit 1 + ;; + +sgi) + if test "$libtool" = yes; then + "$@" "-Wp,-MDupdate,$tmpdepfile" + else + "$@" -MDupdate "$tmpdepfile" + fi + stat=$? + if test $stat -eq 0; then : + else + rm -f "$tmpdepfile" + exit $stat + fi + rm -f "$depfile" + + if test -f "$tmpdepfile"; then # yes, the sourcefile depend on other files + echo "$object : \\" > "$depfile" + + # Clip off the initial element (the dependent). Don't try to be + # clever and replace this with sed code, as IRIX sed won't handle + # lines with more than a fixed number of characters (4096 in + # IRIX 6.2 sed, 8192 in IRIX 6.5). We also remove comment lines; + # the IRIX cc adds comments like `#:fec' to the end of the + # dependency line. + tr ' ' ' +' < "$tmpdepfile" \ + | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' | \ + tr ' +' ' ' >> $depfile + echo >> $depfile + + # The second pass generates a dummy entry for each header file. + tr ' ' ' +' < "$tmpdepfile" \ + | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \ + >> $depfile + else + # The sourcefile does not contain any dependencies, so just + # store a dummy comment line, to avoid errors with the Makefile + # "include basename.Plo" scheme. + echo "#dummy" > "$depfile" + fi + rm -f "$tmpdepfile" + ;; + +aix) + # The C for AIX Compiler uses -M and outputs the dependencies + # in a .u file. This file always lives in the current directory. + # Also, the AIX compiler puts `$object:' at the start of each line; + # $object doesn't have directory information. + stripped=`echo "$object" | sed -e 's,^.*/,,' -e 's/\(.*\)\..*$/\1/'` + tmpdepfile="$stripped.u" + outname="$stripped.o" + if test "$libtool" = yes; then + "$@" -Wc,-M + else + "$@" -M + fi + + stat=$? + if test $stat -eq 0; then : + else + rm -f "$tmpdepfile" + exit $stat + fi + + if test -f "$tmpdepfile"; then + # Each line is of the form `foo.o: dependent.h'. + # Do two passes, one to just change these to + # `$object: dependent.h' and one to simply `dependent.h:'. + sed -e "s,^$outname:,$object :," < "$tmpdepfile" > "$depfile" + sed -e "s,^$outname: \(.*\)$,\1:," < "$tmpdepfile" >> "$depfile" + else + # The sourcefile does not contain any dependencies, so just + # store a dummy comment line, to avoid errors with the Makefile + # "include basename.Plo" scheme. + echo "#dummy" > "$depfile" + fi + rm -f "$tmpdepfile" + ;; + +icc) + # Must come before tru64. + + # Intel's C compiler understands `-MD -MF file'. However + # icc -MD -MF foo.d -c -o sub/foo.o sub/foo.c + # will fill foo.d with something like + # foo.o: sub/foo.c + # foo.o: sub/foo.h + # which is wrong. We want: + # sub/foo.o: sub/foo.c + # sub/foo.o: sub/foo.h + # sub/foo.c: + # sub/foo.h: + + "$@" -MD -MF "$tmpdepfile" + stat=$? + if test $stat -eq 0; then : + else + rm -f "$tmpdepfile" + exit $stat + fi + rm -f "$depfile" + # Each line is of the form `foo.o: dependent.h'. + # Do two passes, one to just change these to + # `$object: dependent.h' and one to simply `dependent.h:'. + sed -e "s,^[^:]*:,$object :," < "$tmpdepfile" > "$depfile" + sed -e "s,^[^:]*: \(.*\)$,\1:," < "$tmpdepfile" >> "$depfile" + rm -f "$tmpdepfile" + ;; + +tru64) + # The Tru64 AIX compiler uses -MD to generate dependencies as a side + # effect. `cc -MD -o foo.o ...' puts the dependencies into `foo.o.d'. + # At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put + # dependencies in `foo.d' instead, so we check for that too. + # Subdirectories are respected. + + tmpdepfile1="$object.d" + tmpdepfile2=`echo "$object" | sed -e 's/.o$/.d/'` + if test "$libtool" = yes; then + "$@" -Wc,-MD + else + "$@" -MD + fi + + stat=$? + if test $stat -eq 0; then : + else + rm -f "$tmpdepfile1" "$tmpdepfile2" + exit $stat + fi + + if test -f "$tmpdepfile1"; then + tmpdepfile="$tmpdepfile1" + else + tmpdepfile="$tmpdepfile2" + fi + if test -f "$tmpdepfile"; then + sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile" + # That's a space and a tab in the []. + sed -e 's,^.*\.[a-z]*:[ ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile" + else + echo "#dummy" > "$depfile" + fi + rm -f "$tmpdepfile" + ;; + +#nosideeffect) + # This comment above is used by automake to tell side-effect + # dependency tracking mechanisms from slower ones. + +dashmstdout) + # Important note: in order to support this mode, a compiler *must* + # always write the proprocessed file to stdout, regardless of -o, + # because we must use -o when running libtool. + test -z "$dashmflag" && dashmflag=-M + ( IFS=" " + case " $* " in + *" --mode=compile "*) # this is libtool, let us make it quiet + for arg + do # cycle over the arguments + case "$arg" in + "--mode=compile") + # insert --quiet before "--mode=compile" + set fnord "$@" --quiet + shift # fnord + ;; + esac + set fnord "$@" "$arg" + shift # fnord + shift # "$arg" + done + ;; + esac + "$@" $dashmflag | sed 's:^[^:]*\:[ ]*:'"$object"'\: :' > "$tmpdepfile" + ) & + proc=$! + "$@" + stat=$? + wait "$proc" + if test "$stat" != 0; then exit $stat; fi + rm -f "$depfile" + cat < "$tmpdepfile" > "$depfile" + tr ' ' ' +' < "$tmpdepfile" | \ +## Some versions of the HPUX 10.20 sed can't process this invocation +## correctly. Breaking it into two sed invocations is a workaround. + sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile" + rm -f "$tmpdepfile" + ;; + +dashXmstdout) + # This case only exists to satisfy depend.m4. It is never actually + # run, as this mode is specially recognized in the preamble. + exit 1 + ;; + +makedepend) + # X makedepend + ( + shift + cleared=no + for arg in "$@"; do + case $cleared in no) + set ""; shift + cleared=yes + esac + case "$arg" in + -D*|-I*) + set fnord "$@" "$arg"; shift;; + -*) + ;; + *) + set fnord "$@" "$arg"; shift;; + esac + done + obj_suffix="`echo $object | sed 's/^.*\././'`" + touch "$tmpdepfile" + ${MAKEDEPEND-makedepend} 2>/dev/null -o"$obj_suffix" -f"$tmpdepfile" "$@" + ) & + proc=$! + "$@" + stat=$? + wait "$proc" + if test "$stat" != 0; then exit $stat; fi + rm -f "$depfile" + cat < "$tmpdepfile" > "$depfile" + tail +3 "$tmpdepfile" | tr ' ' ' +' | \ +## Some versions of the HPUX 10.20 sed can't process this invocation +## correctly. Breaking it into two sed invocations is a workaround. + sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile" + rm -f "$tmpdepfile" "$tmpdepfile".bak + ;; + +cpp) + # Important note: in order to support this mode, a compiler *must* + # always write the proprocessed file to stdout, regardless of -o, + # because we must use -o when running libtool. + ( IFS=" " + case " $* " in + *" --mode=compile "*) + for arg + do # cycle over the arguments + case $arg in + "--mode=compile") + # insert --quiet before "--mode=compile" + set fnord "$@" --quiet + shift # fnord + ;; + esac + set fnord "$@" "$arg" + shift # fnord + shift # "$arg" + done + ;; + esac + "$@" -E | + sed -n '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' | + sed '$ s: \\$::' > "$tmpdepfile" + ) & + proc=$! + "$@" + stat=$? + wait "$proc" + if test "$stat" != 0; then exit $stat; fi + rm -f "$depfile" + echo "$object : \\" > "$depfile" + cat < "$tmpdepfile" >> "$depfile" + sed < "$tmpdepfile" '/^$/d;s/^ //;s/ \\$//;s/$/ :/' >> "$depfile" + rm -f "$tmpdepfile" + ;; + +msvisualcpp) + # Important note: in order to support this mode, a compiler *must* + # always write the proprocessed file to stdout, regardless of -o, + # because we must use -o when running libtool. + ( IFS=" " + case " $* " in + *" --mode=compile "*) + for arg + do # cycle over the arguments + case $arg in + "--mode=compile") + # insert --quiet before "--mode=compile" + set fnord "$@" --quiet + shift # fnord + ;; + esac + set fnord "$@" "$arg" + shift # fnord + shift # "$arg" + done + ;; + esac + "$@" -E | + sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::echo "`cygpath -u \\"\1\\"`":p' | sort | uniq > "$tmpdepfile" + ) & + proc=$! + "$@" + stat=$? + wait "$proc" + if test "$stat" != 0; then exit $stat; fi + rm -f "$depfile" + echo "$object : \\" > "$depfile" + . "$tmpdepfile" | sed 's% %\\ %g' | sed -n '/^\(.*\)$/ s:: \1 \\:p' >> "$depfile" + echo " " >> "$depfile" + . "$tmpdepfile" | sed 's% %\\ %g' | sed -n '/^\(.*\)$/ s::\1\::p' >> "$depfile" + rm -f "$tmpdepfile" + ;; + +none) + exec "$@" + ;; + +*) + echo "Unknown depmode $depmode" 1>&2 + exit 1 + ;; +esac + +exit 0 diff --git a/admin/detect-autoconf.sh b/admin/detect-autoconf.sh new file mode 100644 index 0000000..94f91e9 --- /dev/null +++ b/admin/detect-autoconf.sh @@ -0,0 +1,59 @@ +#! /bin/sh + +# Global variables... +AUTOCONF="autoconf" +AUTOHEADER="autoheader" +AUTOM4TE="autom4te" +AUTOMAKE="automake" +ACLOCAL="aclocal" + +# Please add higher versions first. The last version number is the minimum +# needed to compile KDE. Do not forget to include the name/version # +# separator if one is present, e.g. -1.2 where - is the separator. +KDE_AUTOCONF_VERS="-2.58 -2.57 257 -2.54 -2.53a -2.53 -2.52 -2.5x" +KDE_AUTOMAKE_VERS="-1.7 17 -1.6" + +# We don't use variable here for remembering the type ... strings. Local +# variables are not that portable, but we fear namespace issues with our +# includer. +checkAutoconf() +{ + for kde_autoconf_version in $KDE_AUTOCONF_VERS; do + if test -x "`$WHICH $AUTOCONF$kde_autoconf_version 2>/dev/null`"; then + AUTOCONF="`$WHICH $AUTOCONF$kde_autoconf_version`" + AUTOHEADER="`$WHICH $AUTOHEADER$kde_autoconf_version`" + AUTOM4TE="`$WHICH $AUTOM4TE$kde_autoconf_version`" + break + fi + done +} + +checkAutomake () +{ + for kde_automake_version in $KDE_AUTOMAKE_VERS; do + if test -x "`$WHICH $AUTOMAKE$kde_automake_version 2>/dev/null`"; then + AUTOMAKE="`$WHICH $AUTOMAKE$kde_automake_version`" + ACLOCAL="`$WHICH $ACLOCAL$kde_automake_version`" + break + fi + done + + if test "$UNSERMAKE" != no && test -x "`$WHICH unsermake 2>/dev/null`"; then + AUTOMAKE="`$WHICH unsermake` -c" + fi +} + +checkWhich () +{ + WHICH="" + for i in "type -p" "which" "type" ; do + T=`$i sh 2> /dev/null` + test -x "$T" && WHICH="$i" && break + done +} + +checkWhich +checkAutoconf +checkAutomake + +export WHICH AUTOHEADER AUTOCONF AUTOM4TE AUTOMAKE ACLOCAL diff --git a/admin/install-sh b/admin/install-sh new file mode 100755 index 0000000..36f96f3 --- /dev/null +++ b/admin/install-sh @@ -0,0 +1,276 @@ +#!/bin/sh +# +# install - install a program, script, or datafile +# This comes from X11R5 (mit/util/scripts/install.sh). +# +# Copyright 1991 by the Massachusetts Institute of Technology +# +# Permission to use, copy, modify, distribute, and sell this software and its +# documentation for any purpose is hereby granted without fee, provided that +# the above copyright notice appear in all copies and that both that +# copyright notice and this permission notice appear in supporting +# documentation, and that the name of M.I.T. not be used in advertising or +# publicity pertaining to distribution of the software without specific, +# written prior permission. M.I.T. makes no representations about the +# suitability of this software for any purpose. It is provided "as is" +# without express or implied warranty. +# +# Calling this script install-sh is preferred over install.sh, to prevent +# `make' implicit rules from creating a file called install from it +# when there is no Makefile. +# +# This script is compatible with the BSD install script, but was written +# from scratch. It can only install one file at a time, a restriction +# shared with many OS's install programs. + + +# set DOITPROG to echo to test this script + +# Don't use :- since 4.3BSD and earlier shells don't like it. +doit="${DOITPROG-}" + + +# put in absolute paths if you don't have them in your path; or use env. vars. + +mvprog="${MVPROG-mv}" +cpprog="${CPPROG-cp}" +chmodprog="${CHMODPROG-chmod}" +chownprog="${CHOWNPROG-chown}" +chgrpprog="${CHGRPPROG-chgrp}" +stripprog="${STRIPPROG-strip}" +rmprog="${RMPROG-rm}" +mkdirprog="${MKDIRPROG-mkdir}" + +transformbasename="" +transform_arg="" +instcmd="$mvprog" +chmodcmd="$chmodprog 0755" +chowncmd="" +chgrpcmd="" +stripcmd="" +rmcmd="$rmprog -f" +mvcmd="$mvprog" +src="" +dst="" +dir_arg="" + +while [ x"$1" != x ]; do + case $1 in + -c) instcmd=$cpprog + shift + continue;; + + -d) dir_arg=true + shift + continue;; + + -m) chmodcmd="$chmodprog $2" + shift + shift + continue;; + + -o) chowncmd="$chownprog $2" + shift + shift + continue;; + + -g) chgrpcmd="$chgrpprog $2" + shift + shift + continue;; + + -s) stripcmd=$stripprog + shift + continue;; + + -t=*) transformarg=`echo $1 | sed 's/-t=//'` + shift + continue;; + + -b=*) transformbasename=`echo $1 | sed 's/-b=//'` + shift + continue;; + + *) if [ x"$src" = x ] + then + src=$1 + else + # this colon is to work around a 386BSD /bin/sh bug + : + dst=$1 + fi + shift + continue;; + esac +done + +if [ x"$src" = x ] +then + echo "$0: no input file specified" >&2 + exit 1 +else + : +fi + +if [ x"$dir_arg" != x ]; then + dst=$src + src="" + + if [ -d "$dst" ]; then + instcmd=: + chmodcmd="" + else + instcmd=$mkdirprog + fi +else + +# Waiting for this to be detected by the "$instcmd $src $dsttmp" command +# might cause directories to be created, which would be especially bad +# if $src (and thus $dsttmp) contains '*'. + + if [ -f "$src" ] || [ -d "$src" ] + then + : + else + echo "$0: $src does not exist" >&2 + exit 1 + fi + + if [ x"$dst" = x ] + then + echo "$0: no destination specified" >&2 + exit 1 + else + : + fi + +# If destination is a directory, append the input filename; if your system +# does not like double slashes in filenames, you may need to add some logic + + if [ -d "$dst" ] + then + dst=$dst/`basename "$src"` + else + : + fi +fi + +## this sed command emulates the dirname command +dstdir=`echo "$dst" | sed -e 's,[^/]*$,,;s,/$,,;s,^$,.,'` + +# Make sure that the destination directory exists. +# this part is taken from Noah Friedman's mkinstalldirs script + +# Skip lots of stat calls in the usual case. +if [ ! -d "$dstdir" ]; then +defaultIFS=' + ' +IFS="${IFS-$defaultIFS}" + +oIFS=$IFS +# Some sh's can't handle IFS=/ for some reason. +IFS='%' +set - `echo "$dstdir" | sed -e 's@/@%@g' -e 's@^%@/@'` +IFS=$oIFS + +pathcomp='' + +while [ $# -ne 0 ] ; do + pathcomp=$pathcomp$1 + shift + + if [ ! -d "$pathcomp" ] ; + then + $mkdirprog "$pathcomp" + else + : + fi + + pathcomp=$pathcomp/ +done +fi + +if [ x"$dir_arg" != x ] +then + $doit $instcmd "$dst" && + + if [ x"$chowncmd" != x ]; then $doit $chowncmd "$dst"; else : ; fi && + if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd "$dst"; else : ; fi && + if [ x"$stripcmd" != x ]; then $doit $stripcmd "$dst"; else : ; fi && + if [ x"$chmodcmd" != x ]; then $doit $chmodcmd "$dst"; else : ; fi +else + +# If we're going to rename the final executable, determine the name now. + + if [ x"$transformarg" = x ] + then + dstfile=`basename "$dst"` + else + dstfile=`basename "$dst" $transformbasename | + sed $transformarg`$transformbasename + fi + +# don't allow the sed command to completely eliminate the filename + + if [ x"$dstfile" = x ] + then + dstfile=`basename "$dst"` + else + : + fi + +# Make a couple of temp file names in the proper directory. + + dsttmp=$dstdir/#inst.$$# + rmtmp=$dstdir/#rm.$$# + +# Trap to clean up temp files at exit. + + trap 'status=$?; rm -f "$dsttmp" "$rmtmp" && exit $status' 0 + trap '(exit $?); exit' 1 2 13 15 + +# Move or copy the file name to the temp name + + $doit $instcmd "$src" "$dsttmp" && + +# and set any options; do chmod last to preserve setuid bits + +# If any of these fail, we abort the whole thing. If we want to +# ignore errors from any of these, just make sure not to ignore +# errors from the above "$doit $instcmd $src $dsttmp" command. + + if [ x"$chowncmd" != x ]; then $doit $chowncmd "$dsttmp"; else :;fi && + if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd "$dsttmp"; else :;fi && + if [ x"$stripcmd" != x ]; then $doit $stripcmd "$dsttmp"; else :;fi && + if [ x"$chmodcmd" != x ]; then $doit $chmodcmd "$dsttmp"; else :;fi && + +# 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 [ -f "$dstdir/$dstfile" ] + then + $doit $rmcmd -f "$dstdir/$dstfile" 2>/dev/null || + $doit $mvcmd -f "$dstdir/$dstfile" "$rmtmp" 2>/dev/null || + { + echo "$0: cannot unlink or rename $dstdir/$dstfile" >&2 + (exit 1); exit + } + else + : + fi +} && + +# Now rename the file to the real destination. + + $doit $mvcmd "$dsttmp" "$dstdir/$dstfile" + +fi && + +# The final little trick to "correctly" pass the exit status to the exit trap. + +{ + (exit 0); exit +} diff --git a/admin/libtool.m4.in b/admin/libtool.m4.in new file mode 100644 index 0000000..b6804ae --- /dev/null +++ b/admin/libtool.m4.in @@ -0,0 +1,5891 @@ +# libtool.m4 - Configure libtool for the host system. -*-Autoconf-*- +## Copyright 1996, 1997, 1998, 1999, 2000, 2001 +## Free Software Foundation, Inc. +## Originally by Gordon Matzigkeit , 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, 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. + +# serial 47 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 --silent' +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 s/^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 M$VC, +# 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 "$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_deplibs' +old_postinstall_cmds='chmod 644 $oldlib' +old_postuninstall_cmds= + +if test -n "$RANLIB"; then + case $host_os in + openbsd*) + old_postinstall_cmds="\$RANLIB -t \$oldlib~$old_postinstall_cmds" + ;; + *) + old_postinstall_cmds="\$RANLIB \$oldlib~$old_postinstall_cmds" + ;; + esac + old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib" +fi + +# 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"} + +# Allow CC to be a program name with arguments. +compiler=$CC +])# _LT_AC_SYS_COMPILER + + +# _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_LINK_IFELSE(AC_LANG_PROGRAM,[ +aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'` +# 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 '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'`; 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 </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-*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*) + LINUX_64_MODE="32" + case $host in + x86_64-*linux*) + LD="${LD-ld} -m elf_i386" + ;; + ppc64-*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*) + LINUX_64_MODE="64" + case $host in + 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 + ;; +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]) + printf "$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}? :&$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 + if test ! -s conftest.err; 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_CACHE_CHECK([$1], [$2], + [$2=no + save_LDFLAGS="$LDFLAGS" + LDFLAGS="$LDFLAGS $3" + printf "$lt_simple_link_test_code" > conftest.$ac_ext + if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then + # The compiler 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 + 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 + testring="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; + ;; + + *) + # 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"`$CONFIG_SHELL [$]0 --fallback-echo "X$testring" 2>/dev/null` \ + = "XX$testring") >/dev/null 2>&1 && + new_result=`expr "X$testring" : ".*" 2>&1` && + lt_cv_sys_max_cmd_len=$new_result && + test $i != 17 # 1/2 MB should be enough + do + i=`expr $i + 1` + testring=$testring$testring + done + testring= + # 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` + ;; + 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 < +#endif + +#include + +#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); */ + } + + exit (status); +}] +EOF + if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext} 2>/dev/null; then + (./conftest; exit; ) 2>/dev/null + lt_status=$? + case x$lt_status in + x$lt_dlno_uscore) $1 ;; + x$lt_dlneed_uscore) $2 ;; + x$lt_unknown|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" + 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 + LDFLAGS="$LDFLAGS $link_static_flag" + 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_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 + printf "$lt_simple_compile_test_code" > conftest.$ac_ext + + # According to Tom Tromey, Ian Lance Taylor reported there are C compilers + # that will create temporary files in the current directory regardless of + # the output directory. Thus, making CWD read-only will cause this test + # to fail, enabling locking or at least warning the user not to do parallel + # builds. + chmod -w . + + 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}? :&$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 + if test ! -s out/conftest.err; then + _LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes + fi + fi + chmod u+w . + $rm conftest* 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" + 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_MSG_CHECKING([dynamic linker characteristics]) +library_names_spec= +libname_spec='lib$name' +soname_spec= +shrext=".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" +sys_lib_search_path_spec="/lib /usr/lib /usr/local/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.so + # instead of lib.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 + ;; + +bsdi4*) + 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=".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' + 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='$(test .$module = .yes && echo .so || echo .dylib)' + # Apple's gcc prints 'gcc -print-search-dirs' doesn't operate the same. + if test "$GCC" = yes; then + sys_lib_search_path_spec=`$CC -print-search-dirs | tr "\n" "$PATH_SEPARATOR" | sed -e 's/libraries:/@libraries:/' | tr "@" "\n" | grep "^libraries:" | sed -e "s/^libraries://" -e "s,=/,/,g" -e "s,$PATH_SEPARATOR, ,g" -e "s,.*,& /lib /usr/lib /usr/local/lib,g"` + else + sys_lib_search_path_spec='/lib /usr/lib /usr/local/lib' + fi + 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*-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='GNU ld.so' + ;; + +freebsd*) + objformat=`test -x /usr/bin/objformat && /usr/bin/objformat || echo aout` + 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 + ;; + *) # from 3.2 on + shlibpath_overrides_runpath=no + 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='.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='.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='.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' + ;; + +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*) + 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' + libsuff= + if test "x$LINUX_64_MODE" = x64; then + # Some platforms are per default 64-bit, so there's no /lib64 + if test -d /lib64; then + libsuff=64 + fi + fi + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + sys_lib_dlsearch_path_spec="/lib${libsuff} /usr/lib${libsuff}" + sys_lib_search_path_spec="/lib${libsuff} /usr/lib${libsuff} /usr/local/lib${libsuff}" + # 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 + + # 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}${release}${shared_ext} ${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 + need_lib_prefix=no + need_version=no + 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=".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" + ;; + +sco3.2v5*) + version_type=osf + 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 + ;; + +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.2uw2* | sysv4.3* | sysv5*) + 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 + ;; + +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 +])# AC_LIBTOOL_SYS_DYNAMIC_LINKER + + +# _LT_AC_TAGCONFIG +# ---------------- +AC_DEFUN([_LT_AC_TAGCONFIG], +[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 + + # 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"; 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 dll's +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 recognise 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 <&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 recognise 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 GNU ld's only accept -v. + # Break only if it was the GNU/non-GNU ld that we prefer. + case `"$lt_cv_path_LD" -v 2>&1 &1 /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)/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 + ;; + +irix5* | irix6* | nonstopux*) + case $host_os in + irix5* | nonstopux*) + # this will be overridden with pass_all, but let us keep it just in case + lt_cv_deplibs_check_method="file_magic ELF 32-bit MSB dynamic lib MIPS - version 1" + ;; + *) + case $LD in + *-32|*"-32 ") libmagic=32-bit;; + *-n32|*"-n32 ") libmagic=N32;; + *-64|*"-64 ") libmagic=64-bit;; + *) libmagic=never-match;; + esac + # this will be overridden with pass_all, but let us keep it just in case + lt_cv_deplibs_check_method="file_magic ELF ${libmagic} MSB mips-[[1234]] dynamic lib MIPS - version 1" + ;; + esac + lt_cv_file_magic_test_file=`echo /lib${libsuff}/libc.so*` + lt_cv_deplibs_check_method=pass_all + ;; + +# This must be Linux ELF. +linux*) + case $host_cpu in + alpha* | hppa* | i*86 | ia64* | m68* | mips* | powerpc* | sparc* | s390* | sh* | x86_64* ) + lt_cv_deplibs_check_method=pass_all ;; + # the debian people say, arm and glibc 2.3.1 works for them with pass_all + arm* ) + lt_cv_deplibs_check_method=pass_all ;; + *) + # glibc up to 2.1.1 does not perform some relocations on ARM + lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB (shared object|dynamic lib )' ;; + esac + lt_cv_file_magic_test_file=`echo /lib/libc.so* /lib/libc-*.so` + ;; + +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*) + lt_cv_file_magic_cmd=/usr/bin/file + lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB shared object' + else + lt_cv_deplibs_check_method='file_magic OpenBSD.* shared library' + fi + ;; + +osf3* | osf4* | osf5*) + # this will be overridden with pass_all, but let us keep it just in case + lt_cv_deplibs_check_method='file_magic COFF format alpha shared library' + lt_cv_file_magic_test_file=/shlib/libc.so + lt_cv_deplibs_check_method=pass_all + ;; + +sco3.2v5*) + lt_cv_deplibs_check_method=pass_all + ;; + +solaris*) + lt_cv_deplibs_check_method=pass_all + lt_cv_file_magic_test_file=/lib/libc.so + ;; + +sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) + 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 + ;; + esac + ;; + +sysv5OpenUNIX8* | sysv5UnixWare7* | sysv5uw[[78]]* | unixware7* | 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_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + for ac_dir in $PATH /usr/ccs/bin /usr/ucb /bin; do + IFS="$lt_save_ifs" + test -z "$ac_dir" && ac_dir=. + tmp_nm="$ac_dir/${ac_tool_prefix}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" + 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 LIBLTDL +# and LTDLINCL are not AC_SUBSTed, nor is AC_CONFIG_SUBDIRS called. 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 LIBLTDL +# and LTDLINCL are not AC_SUBSTed, nor is AC_CONFIG_SUBDIRS called. 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 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. +# 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([AC_PROG_CXXCPP]) +_LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}CXX]) +])# _LT_AC_LANG_CXX + + +# 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;\n" + +# Code to be used in simple link tests +lt_simple_link_test_code='int main(){return(0);}\n' + +_LT_AC_SYS_COMPILER + +# +# Check for any special shared library compilation flags. +# +_LT_AC_TAGVAR(lt_prog_cc_shlib, $1)= +if test "$GCC" = no; then + case $host_os in + sco3.2v5*) + _LT_AC_TAGVAR(lt_prog_cc_shlib, $1)='-belf' + ;; + esac +fi +if test -n "$_LT_AC_TAGVAR(lt_prog_cc_shlib, $1)"; then + AC_MSG_WARN([`$CC' requires `$_LT_AC_TAGVAR(lt_prog_cc_shlib, $1)' to build shared libraries]) + if echo "$old_CC $old_CFLAGS " | grep "[[ ]]$]_LT_AC_TAGVAR(lt_prog_cc_shlib, $1)[[[ ]]" >/dev/null; then : + else + AC_MSG_WARN([add `$_LT_AC_TAGVAR(lt_prog_cc_shlib, $1)' to the CC or CFLAGS env variable and reconfigure]) + _LT_AC_TAGVAR(lt_cv_prog_cc_can_build_shared, $1)=no + fi +fi + + +# +# Check to make sure the static flag actually works. +# +AC_LIBTOOL_LINKER_OPTION([if $compiler static flag $_LT_AC_TAGVAR(lt_prog_compiler_static, $1) works], + _LT_AC_TAGVAR(lt_prog_compiler_static_works, $1), + $_LT_AC_TAGVAR(lt_prog_compiler_static, $1), + [], + [_LT_AC_TAGVAR(lt_prog_compiler_static, $1)=]) + + +## 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... +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($1) + +# Report which librarie types wil 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*) + if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then + test "$enable_shared" = yes && enable_static=no + fi + ;; + darwin* | rhapsody*) + if test "$GCC" = yes; then + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no + 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 + output_verbose_link_cmd='echo' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -dynamiclib $allow_undefined_flag -o $lib $compiler_flags $libobjs $deplibs -install_name $rpath/$soname $verstring' + _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $compiler_flags $libobjs $deplibs' + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin ld's + _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 $compiler_flags $libobjs $deplibs -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 $compiler_flags $libobjs $deplibs~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + _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)='-all_load $convenience' + _LT_AC_TAGVAR(link_all_deplibs, $1)=yes + else + _LT_AC_TAGVAR(ld_shlibs, $1)=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([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_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=cc + +# 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;\n" + +# Code to be used in simple link tests +lt_simple_link_test_code='int main(int, char *[]) { return(0); }\n' + +# ltmain only uses $CC for tagged configurations so make sure $CC is set. +_LT_AC_SYS_COMPILER + +# 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 + 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 + unset lt_cv_path_LD +fi +test -z "${LDCXX+set}" || LD=$LDCXX +CC=${CXX-"c++"} +compiler=$CC +_LT_AC_TAGVAR(compiler, $1)=$CC +cc_basename=`$echo X"$compiler" | $Xsed -e 's%^.*/%%'` + +# 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 $compiler_flags $predep_objects $libobjs $deplibs $postdep_objects ${wl}-soname $wl$soname -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared -nostdlib $compiler_flags $predep_objects $libobjs $deplibs $postdep_objects ${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 $compiler_flags $predep_objects $libobjs $deplibs $postdep_objects -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 + # KDE requires run time linking. Make it the default. + aix_use_runtimelinking=yes + 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 + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + 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' + 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='-qmkshrobj ${wl}-G' + else + shared_flag='-qmkshrobj' + fi + fi + fi + + # Let the compiler handle the export list. + _LT_AC_TAGVAR(always_export_symbols, $1)=no + 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_cmds, $1)="\$CC"' -o $output_objdir/$soname $compiler_flags $libobjs $deplibs `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '" $shared_flag" + _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC"' -o $output_objdir/$soname $compiler_flags $libobjs $deplibs `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 $compiler_flags $libobjs $deplibs ${wl}${allow_undefined_flag} '"\${wl}$no_entry_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' + # -bexpall does not export symbols beginning with underscore (_) + _LT_AC_TAGVAR(always_export_symbols, $1)=yes + # Exported symbols can be pulled into shared objects from archives + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)=' ' + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes + # This is similar to how AIX traditionally builds it's shared libraries. + _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $compiler_flags $libobjs $deplibs ${wl}-bE:$export_symbols ${wl}-bnoentry${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 + _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)=no + _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 $compiler_flags $predep_objects $libobjs $deplibs $postdep_objects -o $output_objdir/$soname ${wl}--image-base=0x10000000 ${wl}--out-implib,$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 $compiler_flags $predep_objects $libobjs $deplibs $postdep_objects -o $output_objdir/$soname ${wl}--image-base=0x10000000 ${wl}--out-implib,$lib' + else + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + + darwin* | rhapsody*) + if test "$GXX" = yes; then + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no + 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_int_apple_cc_single_mod=no + output_verbose_link_cmd='echo' + if $CC -dumpspecs 2>&1 | grep '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 $compiler_flags $libobjs $deplibs -install_name $rpath/$soname $verstring' + else + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -r ${wl}-bind_at_load -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $compiler_flags $deplibs -install_name $rpath/$soname $verstring' + fi + _LT_AC_TAGVAR(module_cmds, $1)='$CC ${wl}-bind_at_load $allow_undefined_flag -o $lib -bundle $compiler_flags $libobjs $deplibs' + + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin ld's + 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 $compiler_flags $libobjs $deplibs -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 ${wl}-bind_at_load -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $compiler_flags $deplibs -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 $compiler_flags $libobjs $deplibs~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + _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)='-all_load $convenience' + _LT_AC_TAGVAR(link_all_deplibs, $1)=yes + else + _LT_AC_TAGVAR(ld_shlibs, $1)=no + 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*) + # 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 $compiler_flags $predep_objects $libobjs $deplibs $postdep_objects~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 $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 $compiler_flags $predep_objects $libobjs $deplibs $postdep_objects~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 + case "$host_cpu" in + hppa*64*) + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='+b $libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + ;; + ia64*) + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + ;; + *) + _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' + ;; + esac + fi + case "$host_cpu" in + hppa*64*) + _LT_AC_TAGVAR(hardcode_direct, $1)=no + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + ia64*) + _LT_AC_TAGVAR(hardcode_direct, $1)=no + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH, + # but as the default + # location of the library. + ;; + *) + _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*|ia64*) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -b +h $soname -o $lib $linker_flags $libobjs $deplibs' + ;; + *) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $compiler_flags $predep_objects $libobjs $deplibs $postdep_objects' + ;; + 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 + ia64*|hppa*64*) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -b +h $soname -o $lib $linker_flags $libobjs $deplibs' + ;; + *) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $compiler_flags $predep_objects $libobjs $deplibs $postdep_objects' + ;; + esac + fi + else + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + esac + ;; + irix5* | irix6*) + case $cc_basename in + CC) + # SGI C++ + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -all -multigot $compiler_flags $predep_objects $libobjs $deplibs $postdep_objects -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${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 $compiler_flags $predep_objects $libobjs $deplibs $postdep_objects ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${objdir}/so_locations -o $lib' + else + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $compiler_flags $predep_objects $libobjs $deplibs $postdep_objects ${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*) + 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 $compiler_flags $predep_objects $libobjs $deplibs $postdep_objects --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 $compiler_flags $predep_objects $libobjs $deplibs $postdep_objects --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 + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $compiler_flags $predep_objects $libobjs $deplibs $postdep_objects ${wl}-soname $wl$soname -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $compiler_flags $predep_objects $libobjs $deplibs $postdep_objects ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + _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' + ;; + cxx) + # Compaq C++ + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $compiler_flags $predep_objects $libobjs $deplibs $postdep_objects ${wl}-soname $wl$soname -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $compiler_flags $predep_objects $libobjs $deplibs $postdep_objects ${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' + ;; + 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::"' + ;; + 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 $compiler_flags $predep_objects $libobjs $deplibs $postdep_objects --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} $compiler_flags $predep_objects $libobjs $deplibs $postdep_objects ${wl}-soname $soname `test -n "$verstring" && echo ${wl}-set_version $verstring` -update_registry ${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} $compiler_flags $predep_objects $libobjs $deplibs $postdep_objects ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${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 $compiler_flags $predep_objects $libobjs $deplibs $postdep_objects --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} $compiler_flags $predep_objects $libobjs $deplibs $postdep_objects -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${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 $compiler_flags $predep_objects $libobjs $deplibs $postdep_objects -msym -soname $soname -Wl,-input -Wl,$lib.exp `test -n "$verstring" && echo -set_version $verstring` -update_registry $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} $compiler_flags $predep_objects $libobjs $deplibs $postdep_objects ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${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 + ;; + sco*) + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no + case $cc_basename in + CC) + # 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 + ;; + 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(no_undefined_flag, $1)=' -zdefs' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -nolib -h$soname -o $lib $compiler_flags $predep_objects $libobjs $deplibs $postdep_objects' + _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} -nolib ${wl}-M ${wl}$lib.exp -h$soname -o $lib $compiler_flags $predep_objects $libobjs $deplibs $postdep_objects~$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 C++ compiler is used as linker so we must use $wl + # flag to pass the commands to the underlying system + # linker. + # Supported since Solaris 2.6 (maybe 2.5.1?) + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' + ;; + esac + _LT_AC_TAGVAR(link_all_deplibs, $1)=yes + + # 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 -G $CFLAGS -v conftest.$objext 2>&1 | grep "\-[[LR]]"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + + # 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 $compiler_flags $predep_objects $libobjs $deplibs $postdep_objects ${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 $compiler_flags $predep_objects $libobjs $deplibs $postdep_objects ${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 $compiler_flags $predep_objects $libobjs $deplibs $postdep_objects~$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 $compiler_flags $predep_objects $libobjs $deplibs $postdep_objects ${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 $compiler_flags $predep_objects $libobjs $deplibs $postdep_objects~$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' + fi + ;; + esac + ;; + sysv5OpenUNIX8* | sysv5UnixWare7* | sysv5uw[[78]]* | unixware7*) + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no + ;; + 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" + +## 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... +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_SYS_LIB_STRIP +AC_LIBTOOL_DLOPEN_SELF($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 < conftest.$ac_ext < conftest.$ac_ext < conftest.$ac_ext <> "$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 +# Free Software Foundation, Inc. +# +# This file is part of GNU Libtool: +# Originally by Gordon Matzigkeit , 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, 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 s/^X//" + +# The HP-UX ksh and POSIX shell print the target directory to stdout +# if CDPATH is set. +if test "X\${CDPATH+set}" = Xset; then CDPATH=:; export CDPATH; fi + +# 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 + +# 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 + +# 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=$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='$shrext' + +# 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_AC_TAGVAR(fix_srcfile_path, $1)" + +# 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. + test -f Makefile && make "$ltmain" +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([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 the above into a raw symbol and a C symbol. +symxfrm='\1 \2\3 \3' + +# 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'" + ;; +irix* | nonstopux*) + symcode='[[BCDEGRST]]' + ;; +osf*) + symcode='[[BCDEGQRST]]' + ;; +solaris* | sysv5*) + symcode='[[BDT]]' + ;; +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='[[ABCDGISTW]]' ;; +esac + +# Try without a prefix undercore, then with it. +for ac_symprfx in "" "_"; do + + # 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 < $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 < 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 <> 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* | cygwin* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) + # PIC is the default for these OSes. + ;; + mingw* | 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). + _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)= + ;; + 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 + ;; + 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*) + # 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)="${ac_cv_prog_cc_wl}-a ${ac_cv_prog_cc_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)="${ac_cv_prog_cc_wl}-a ${ac_cv_prog_cc_wl}archive" + case "$host_cpu" in + hppa*64*|ia64*) + # +Z the default + ;; + *) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='+Z' + ;; + esac + ;; + *) + ;; + esac + ;; + 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*) + 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) + # 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' + ;; + 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' + ;; + *) + ;; + 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*) + ;; + sco*) + case $cc_basename in + CC) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + ;; + *) + ;; + esac + ;; + 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 + ;; + unixware*) + ;; + 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* | cygwin* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) + # PIC is the default for these OSes. + ;; + + mingw* | 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' + ;; + + 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' + ;; + + 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 + ;; + + mingw* | 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*) + case $CC 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' + ;; + 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' + ;; + 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' + ;; + + sco3.2v5*) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-Kpic' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-dn' + ;; + + solaris*) + _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' + ;; + + 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* | sysv5*) + _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 + ;; + + 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 +]) + + +# AC_LIBTOOL_PROG_LD_SHLIBS([TAGNAME]) +# ------------------------------------ +# See if the linker supports building shared libraries. +AC_DEFUN([AC_LIBTOOL_PROG_LD_SHLIBS], +[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 '\''/^[[BCDGS]] /s/.* \([[^ ]]*\)/\1 DATA/'\'' | $SED -e '\''/^[[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= + + 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 + ;; + 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}' + + # 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 <&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 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 says some releases of gcc + # support --undefined. This deserves some investigation. FIXME + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -nostart $compiler_flags $libobjs $deplibs ${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)=no + _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 '\''/^[[BCDGS]] /s/.* \([[^ ]]*\)/\1 DATA/'\'' | $SED -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 $compiler_flags $libobjs $deplibs -o $output_objdir/$soname ${wl}--image-base=0x10000000 ${wl}--out-implib,$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 $compiler_flags $libobjs $deplibs -o $output_objdir/$soname ${wl}--image-base=0x10000000 ${wl}--out-implib,$lib' + else + ld_shlibs=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 $compiler_flags $libobjs $deplibs ${wl}-soname $wl$soname -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $compiler_flags $libobjs $deplibs ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + fi + ;; + + solaris* | sysv5*) + if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then + _LT_AC_TAGVAR(ld_shlibs, $1)=no + cat <&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 $compiler_flags $libobjs $deplibs ${wl}-soname $wl$soname -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $compiler_flags $libobjs $deplibs ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + else + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + + 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 $compiler_flags $libobjs $deplibs ${wl}-soname $wl$soname -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $compiler_flags $libobjs $deplibs ${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)" = yes; then + 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 + 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 "$link_static_flag"; 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 + + # KDE requires run time linking. Make it the default. + aix_use_runtimelinking=yes + 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 + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + 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' + 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='-qmkshrobj ${wl}-G' + else + shared_flag='-qmkshrobj' + fi + fi + fi + + # Let the compiler handle the export list. + _LT_AC_TAGVAR(always_export_symbols, $1)=no + 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_cmds, $1)="\$CC"' -o $output_objdir/$soname $compiler_flags $libobjs $deplibs `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '" $shared_flag" + _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC"' -o $output_objdir/$soname $compiler_flags $libobjs $deplibs `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 $compiler_flags $libobjs $deplibs ${wl}${allow_undefined_flag} '"\${wl}$no_entry_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' + # -bexpall does not export symbols beginning with underscore (_) + _LT_AC_TAGVAR(always_export_symbols, $1)=yes + # Exported symbols can be pulled into shared objects from archives + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)=' ' + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes + # This is similar to how AIX traditionally builds it's shared libraries. + _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $compiler_flags $libobjs $deplibs ${wl}-bE:$export_symbols ${wl}-bnoentry${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 + ;; + + bsdi4*) + _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)=no + # Tell ltmain to make .lib files, not .a files. + libext=lib + # Tell ltmain to make .dll files, not .so files. + shrext=".dll" + # FIXME: Setting linknames here is a bad hack. + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -o $lib $compiler_flags $libobjs `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' + fix_srcfile_path='`cygpath -w "$srcfile"`' + _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=yes + ;; + + darwin* | rhapsody*) + if test "$GXX" = yes ; then + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no + 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_int_apple_cc_single_mod=no + output_verbose_link_cmd='echo' + if $CC -dumpspecs 2>&1 | grep '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 $compiler_flags $libobjs $deplibs -install_name $rpath/$soname $verstring' + else + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -r ${wl}-bind_at_load -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $compiler_flags $deplibs -install_name $rpath/$soname $verstring' + fi + _LT_AC_TAGVAR(module_cmds, $1)='$CC ${wl}-bind_at_load $allow_undefined_flag -o $lib -bundle $compiler_flags $libobjs $deplibs' + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin ld's + 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 $compiler_flags $libobjs $deplibs -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 ${wl}-bind_at_load -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $compiler_flags $deplibs -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 $compiler_flags $libobjs $deplibs~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + _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)='-all_load $convenience' + _LT_AC_TAGVAR(link_all_deplibs, $1)=yes + else + _LT_AC_TAGVAR(ld_shlibs, $1)=no + 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*) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -o $lib $compiler_flags $libobjs $deplibs' + _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 $compiler_flags $libobjs $deplibs~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* | hpux11*) + if test "$GCC" = yes -a "$with_gnu_ld" = no; then + case "$host_cpu" in + hppa*64*|ia64*) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname -o $lib $compiler_flags $libobjs $deplibs' + ;; + *) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $compiler_flags $libobjs $deplibs' + ;; + esac + else + case "$host_cpu" in + hppa*64*|ia64*) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -b +h $soname -o $lib $libobjs $deplibs $linker_flags' + ;; + *) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' + ;; + esac + fi + if test "$with_gnu_ld" = no; then + case "$host_cpu" in + hppa*64*) + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='+b $libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + _LT_AC_TAGVAR(hardcode_direct, $1)=no + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + ia64*) + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_AC_TAGVAR(hardcode_direct, $1)=no + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + + # 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(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 + ;; + esac + fi + ;; + + irix5* | irix6* | nonstopux*) + if test "$GCC" = yes; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $compiler_flags $libobjs $deplibs ${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*) + _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 $compiler_flags $libobjs $deplibs' + _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 $compiler_flags $libobjs $deplibs' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' + ;; + esac + 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 $compiler_flags $libobjs $deplibs$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} $compiler_flags $libobjs $deplibs ${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} $compiler_flags $libobjs $deplibs ${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 ${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)=: + ;; + + sco3.2v5*) + _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)='${wl}-Bexport' + runpath_var=LD_RUN_PATH + hardcode_runpath_var=yes + ;; + + solaris*) + _LT_AC_TAGVAR(no_undefined_flag, $1)=' -z text' + if test "$GCC" = yes; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h ${wl}$soname -o $lib $compiler_flags $libobjs $deplibs' + _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 $compiler_flags $libobjs $deplibs~$rm $lib.exp' + else + _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]].*) ;; + *) # 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 + ;; + + 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 $compiler_flags $libobjs $deplibs' + 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.2uw2*) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_minus_L, $1)=no + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + hardcode_runpath_var=yes + runpath_var=LD_RUN_PATH + ;; + + sysv5OpenUNIX8* | sysv5UnixWare7* | sysv5uw[[78]]* | unixware7*) + _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z ${wl}text' + if test "$GCC" = yes; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h ${wl}$soname -o $lib $compiler_flags $libobjs $deplibs' + else + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h ${wl}$soname -o $lib $compiler_flags $libobjs $deplibs' + fi + runpath_var='LD_RUN_PATH' + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + sysv5*) + _LT_AC_TAGVAR(no_undefined_flag, $1)=' -z text' + # $CC -shared without GNU ld will not create a library from C++ + # object files and a static libstdc++, better avoid it by now + _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' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)= + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + runpath_var='LD_RUN_PATH' + ;; + + 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 + +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 + +# +# 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* + printf "$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) + 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 +# #undef WIN32_LEAN_AND_MEAN +# #include +# +# #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 +# 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) +]) + +############################################################ +# 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 +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 && break + 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_MSG_RESULT([$SED]) +]) diff --git a/admin/ltmain.sh b/admin/ltmain.sh new file mode 100644 index 0000000..845846a --- /dev/null +++ b/admin/ltmain.sh @@ -0,0 +1,6401 @@ +# 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 +# Free Software Foundation, Inc. +# Originally by Gordon Matzigkeit , 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, 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. + +# 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 "$0" --no-reexec ${1+"$@"} +fi + +if test "X$1" = X--fallback-echo; then + # used as fallback echo + shift + cat <&2 + $echo "Fatal configuration error. See the $PACKAGE docs for more information." 1>&2 + exit 1 +fi + +# Global variables. +mode=$default_mode +nonopt= +prev= +prevopt= +run= +show="$echo" +show_help= +execute_dlfiles= +lo2o="s/\\.lo\$/.${objext}/" +o2lo="s/\\.${objext}\$/.lo/" + +##################################### +# Shell function definitions: +# This seems to be the best place for them + +# 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. +win32_libid () { + 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 | \ + grep -E 'file format pe-i386(.*architecture: i386)?' >/dev/null ; then + win32_nmres=`eval $NM -f posix -A $1 | \ + sed -n -e '1,100{/ I /{x;/import/!{s/^/import/;h;p;};x;};}'` + if test "X$win32_nmres" = "Ximport" ; then + win32_libid_type="x86 archive import" + else + win32_libid_type="x86 archive static" + fi + 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 +} + +# End of Shell function definitions +##################################### + +# Parse our command line options once, thoroughly. +while test "$#" -gt 0 +do + arg="$1" + shift + + case $arg in + -*=*) optarg=`$echo "X$arg" | $Xsed -e 's/[-_a-zA-Z0-9]*=//'` ;; + *) optarg= ;; + esac + + # 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" + + # Check whether tagname contains only valid characters + case $tagname in + *[!-_A-Za-z0-9,/]*) + $echo "$progname: invalid tag name: $tagname" 1>&2 + exit 1 + ;; + esac + + 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$" < "$0" > /dev/null; then + taglist="$taglist $tagname" + # Evaluate the configuration. + eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$tagname'$/,/^# ### END LIBTOOL TAG CONFIG: '$tagname'$/p' < $0`" + else + $echo "$progname: ignoring unknown tag $tagname" 1>&2 + fi + ;; + esac + ;; + *) + eval "$prev=\$arg" + ;; + esac + + prev= + prevopt= + continue + fi + + # Have we seen a non-optional argument yet? + case $arg in + --help) + show_help=yes + ;; + + --version) + $echo "$PROGRAM (GNU $PACKAGE) $VERSION$TIMESTAMP" + $echo + $echo "Copyright (C) 2003 Free Software Foundation, Inc." + $echo "This is free software; see the source for copying conditions. There is NO" + $echo "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." + exit 0 + ;; + + --config) + ${SED} -e '1,/^# ### BEGIN LIBTOOL CONFIG/d' -e '/^# ### END LIBTOOL CONFIG/,$d' $0 + # 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" < "$0" + done + exit 0 + ;; + + --debug) + $echo "$progname: enabling shell trace mode" + set -x + ;; + + --dry-run | -n) + run=: + ;; + + --features) + $echo "host: $host" + if test "$build_libtool_libs" = yes; then + $echo "enable shared libraries" + else + $echo "disable shared libraries" + fi + if test "$build_old_libs" = yes; then + $echo "enable static libraries" + else + $echo "disable static libraries" + fi + exit 0 + ;; + + --finish) mode="finish" ;; + + --mode) prevopt="--mode" prev=mode ;; + --mode=*) mode="$optarg" ;; + + --preserve-dup-deps) duplicate_deps="yes" ;; + + --quiet | --silent) + show=: + ;; + + --tag) prevopt="--tag" prev=tag ;; + --tag=*) + set tag "$optarg" ${1+"$@"} + shift + prev=tag + ;; + + -dlopen) + prevopt="-dlopen" + prev=execute_dlfiles + ;; + + -*) + $echo "$modename: unrecognized option \`$arg'" 1>&2 + $echo "$help" 1>&2 + exit 1 + ;; + + *) + nonopt="$arg" + break + ;; + esac +done + +if test -n "$prevopt"; then + $echo "$modename: option \`$prevopt' requires an argument" 1>&2 + $echo "$help" 1>&2 + exit 1 +fi + +# 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= + +if test -z "$show_help"; then + + # 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 + ;; + *) + # If we have no mode, but dlfiles were specified, then do execute mode. + test -n "$execute_dlfiles" && mode=execute + + # 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 + fi + ;; + esac + fi + + # 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 + exit 1 + fi + + # Change the help message to a mode-specific one. + generic_help="$help" + help="Try \`$modename --help --mode=$mode' for more information." + + # These modes are in order of execution frequency so that they run quickly. + case $mode in + # libtool compile mode + compile) + modename="$modename: compile" + # Get the compilation command and the source file. + base_compile= + srcfile="$nonopt" # always keep a non-empty value in "srcfile" + suppress_output= + arg_mode=normal + libobj= + + for arg + do + case "$arg_mode" in + arg ) + # do not "continue". Instead, add this to base_compile + lastarg="$arg" + arg_mode=normal + ;; + + target ) + libobj="$arg" + arg_mode=normal + continue + ;; + + normal ) + # Accept any command-line options. + case $arg in + -o) + if test -n "$libobj" ; then + $echo "$modename: you cannot specify \`-o' more than once" 1>&2 + exit 1 + fi + arg_mode=target + continue + ;; + + -static) + build_old_libs=yes + continue + ;; + + -prefer-pic) + pic_mode=yes + continue + ;; + + -prefer-non-pic) + pic_mode=no + continue + ;; + + -Xcompiler) + arg_mode=arg # the next one goes into the "base_compile" arg list + continue # The current "srcfile" will either be retained or + ;; # replaced later. I would guess that would be a bug. + + -Wc,*) + args=`$echo "X$arg" | $Xsed -e "s/^-Wc,//"` + lastarg= + save_ifs="$IFS"; IFS=',' + 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" + done + IFS="$save_ifs" + lastarg=`$echo "X$lastarg" | $Xsed -e "s/^ //"` + + # Add the arguments to base_compile. + base_compile="$base_compile $lastarg" + continue + ;; + + * ) + # Accept the current argument as the source file. + # The previous "srcfile" becomes the current argument. + # + lastarg="$srcfile" + srcfile="$arg" + ;; + esac # case $arg + ;; + esac # case $arg_mode + + # Aesthetically quote the previous argument. + 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, so we specify it separately. + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + lastarg="\"$lastarg\"" + ;; + esac + + base_compile="$base_compile $lastarg" + done # for arg + + case $arg_mode in + arg) + $echo "$modename: you must specify an argument for -Xcompile" + exit 1 + ;; + target) + $echo "$modename: you must specify a target with \`-o'" 1>&2 + exit 1 + ;; + *) + # Get the name of the library object. + [ -z "$libobj" ] && libobj=`$echo "X$srcfile" | $Xsed -e 's%^.*/%%'` + ;; + 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 ;; + *.f90) xform=f90 ;; + *.for) xform=for ;; + *.java) xform=java ;; + esac + + libobj=`$echo "X$libobj" | $Xsed -e "s/\.$xform$/.lo/"` + + case $libobj in + *.lo) obj=`$echo "X$libobj" | $Xsed -e "$lo2o"` ;; + *) + $echo "$modename: cannot determine name of library object from \`$libobj'" 1>&2 + exit 1 + ;; + esac + + # 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. + if test -n "$available_tags" && test -z "$tagname"; then + case $base_compile 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` "*) ;; + # 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$" < "$0" > /dev/null; then + # Evaluate the configuration. + eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$z'$/,/^# ### END LIBTOOL TAG CONFIG: '$z'$/p' < $0`" + case "$base_compile " in + "$CC "* | " $CC "* | "`$echo $CC` "* | " `$echo $CC` "*) + # 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 1 +# else +# $echo "$modename: using $tagname tagged configuration" + fi + ;; + esac + fi + + 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 + 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 1 + fi + + # Delete any leftover library objects. + if test "$build_old_libs" = yes; then + removelist="$obj $lobj $libobj ${libobj}T" + else + removelist="$lobj $libobj ${libobj}T" + fi + + $run $rm $removelist + trap "$run $rm $removelist; exit 1" 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*) + pic_mode=default + ;; + esac + if test "$pic_mode" = no && test "$deplibs_check_method" != pass_all; then + # non-PIC code in shared libraries is not supported + pic_mode=default + fi + + # Calculate the filename of the output object if compiler does + # not support -o with -c + if test "$compiler_c_o" = no; then + output_obj=`$echo "X$srcfile" | $Xsed -e 's%^.*/%%' -e 's%\.[^.]*$%%'`.${objext} + lockfile="$output_obj.lock" + removelist="$removelist $output_obj $lockfile" + trap "$run $rm $removelist; exit 1" 1 2 15 + else + output_obj= + need_locks=no + lockfile= + fi + + # Lock this critical section if it is needed + # We use this script file to make the link, it avoids creating a new file + if test "$need_locks" = yes; then + until $run ln "$0" "$lockfile" 2>/dev/null; do + $show "Waiting for $lockfile to be removed" + sleep 2 + done + elif test "$need_locks" = warn; then + if test -f "$lockfile"; then + $echo "\ +*** ERROR, $lockfile exists and contains: +`cat $lockfile 2>/dev/null` + +This indicates that another process is trying to use the same +temporary object file, and libtool could not work around it because +your compiler does not support \`-c' and \`-o' together. If you +repeat this compilation, it may succeed, by chance, but you had better +avoid parallel builds (make -j) in this platform, or get a better +compiler." + + $run $rm $removelist + exit 1 + fi + $echo $srcfile > "$lockfile" + fi + + if test -n "$fix_srcfile_path"; then + eval srcfile=\"$fix_srcfile_path\" + fi + + $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 </dev/null`" != "X$srcfile"; then + $echo "\ +*** ERROR, $lockfile contains: +`cat $lockfile 2>/dev/null` + +but it should contain: +$srcfile + +This indicates that another process is trying to use the same +temporary object file, and libtool could not work around it because +your compiler does not support \`-c' and \`-o' together. If you +repeat this compilation, it may succeed, by chance, but you had better +avoid parallel builds (make -j) in this platform, or get a better +compiler." + + $run $rm $removelist + exit 1 + 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 + fi + + # Append the name of the PIC object to the libtool object file. + test -z "$run" && cat >> ${libobj}T <> ${libobj}T </dev/null`" != "X$srcfile"; then + $echo "\ +*** ERROR, $lockfile contains: +`cat $lockfile 2>/dev/null` + +but it should contain: +$srcfile + +This indicates that another process is trying to use the same +temporary object file, and libtool could not work around it because +your compiler does not support \`-c' and \`-o' together. If you +repeat this compilation, it may succeed, by chance, but you had better +avoid parallel builds (make -j) in this platform, or get a better +compiler." + + $run $rm $removelist + exit 1 + 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 : + else + error=$? + $run $rm $removelist + exit $error + fi + fi + + # 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 <> ${libobj}T <&2 + fi + if test -n "$link_static_flag"; then + dlopen_self=$dlopen_self_static + fi + else + if test -z "$pic_flag" && test -n "$link_static_flag"; then + dlopen_self=$dlopen_self_static + fi + fi + build_libtool_libs=no + build_old_libs=yes + prefer_static_libs=yes + break + ;; + esac + done + + # See if our shared archives depend on static archives. + test -n "$old_archive_from_new_cmds" && build_old_libs=yes + + # Go through the arguments, transforming them on the way. + while test "$#" -gt 0; do + arg="$1" + base_compile="$base_compile $arg" + 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" + + # 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@" + ;; + esac + + case $prev in + 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@" + preload=yes + fi + case $arg in + *.la | *.lo) ;; # We handle these cases below. + force) + if test "$dlself" = no; then + dlself=needless + export_dynamic=yes + fi + prev= + continue + ;; + self) + if test "$prev" = dlprefiles; then + dlself=yes + elif test "$prev" = dlfiles && test "$dlopen_self" != yes; then + dlself=yes + else + dlself=needless + export_dynamic=yes + fi + prev= + continue + ;; + *) + if test "$prev" = dlfiles; then + dlfiles="$dlfiles $arg" + else + dlprefiles="$dlprefiles $arg" + fi + prev= + continue + ;; + esac + ;; + expsyms) + export_symbols="$arg" + if test ! -f "$arg"; then + $echo "$modename: symbol file \`$arg' does not exist" + exit 1 + fi + prev= + continue + ;; + expsyms_regex) + export_symbols_regex="$arg" + prev= + continue + ;; + inst_prefix) + inst_prefix_dir="$arg" + prev= + continue + ;; + release) + release="-$arg" + prev= + continue + ;; + objectlist) + if test -f "$arg"; then + save_arg=$arg + moreargs= + for fil in `cat $save_arg` + do +# moreargs="$moreargs $fil" + arg=$fil + # A libtool-controlled object. + + # Check to see that this really is a libtool object. + if (${SED} -e '2q' $arg | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; 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 + + if test -z "$pic_object" || \ + test -z "$non_pic_object" || + test "$pic_object" = none && \ + test "$non_pic_object" = none; then + $echo "$modename: cannot find name of object for \`$arg'" 1>&2 + exit 1 + 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 + + if test "$pic_object" != none; then + # Prepend the subdirectory the object is found in. + pic_object="$xdir$pic_object" + + if test "$prev" = dlfiles; then + if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then + dlfiles="$dlfiles $pic_object" + prev= + continue + else + # If libtool objects are unsupported, then we need to preload. + prev=dlprefiles + fi + fi + + # CHECK ME: I think I busted this. -Ossama + if test "$prev" = dlprefiles; then + # Preload the old-style object. + dlprefiles="$dlprefiles $pic_object" + prev= + fi + + # A PIC object. + libobjs="$libobjs $pic_object" + arg="$pic_object" + fi + + # Non-PIC object. + if test "$non_pic_object" != none; then + # Prepend the subdirectory the object is found in. + non_pic_object="$xdir$non_pic_object" + + # A standard non-PIC object + non_pic_objects="$non_pic_objects $non_pic_object" + if test -z "$pic_object" || test "$pic_object" = none ; then + arg="$non_pic_object" + fi + 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 1 + else + # Dry-run case. + + # 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" + fi + fi + done + else + $echo "$modename: link input file \`$save_arg' does not exist" + exit 1 + fi + arg=$save_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 1 + ;; + esac + if test "$prev" = rpath; then + case "$rpath " in + *" $arg "*) ;; + *) rpath="$rpath $arg" ;; + esac + else + case "$xrpath " in + *" $arg "*) ;; + *) xrpath="$xrpath $arg" ;; + esac + fi + prev= + continue + ;; + xcompiler) + compiler_flags="$compiler_flags $qarg" + prev= + compile_command="$compile_command $qarg" + finalize_command="$finalize_command $qarg" + continue + ;; + xlinker) + linker_flags="$linker_flags $qarg" + compiler_flags="$compiler_flags $wl$qarg" + 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" + continue + ;; + framework) + case $host in + *-*-darwin*) + case "$deplibs " in + *" $qarg.ltframework "*) ;; + *) deplibs="$deplibs $qarg.ltframework" # this is fixed later + ;; + esac + ;; + esac + prev= + continue + ;; + *) + eval "$prev=\"\$arg\"" + prev= + continue + ;; + esac + fi # test -n "$prev" + + prevarg="$arg" + + case $arg in + -all-static) + if test -n "$link_static_flag"; then + compile_command="$compile_command $link_static_flag" + finalize_command="$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 + ;; + + -avoid-version) + avoid_version=yes + continue + ;; + + -dlopen) + prev=dlfiles + continue + ;; + + -dlpreopen) + prev=dlprefiles + continue + ;; + + -export-dynamic) + export_dynamic=yes + continue + ;; + + -export-symbols | -export-symbols-regex) + if test -n "$export_symbols" || test -n "$export_symbols_regex"; then + $echo "$modename: more than one -exported-symbols argument is not allowed" + exit 1 + fi + if test "X$arg" = "X-export-symbols"; then + prev=expsyms + else + prev=expsyms_regex + fi + continue + ;; + + -inst-prefix-dir) + prev=inst_prefix + continue + ;; + + # The native IRIX linker understands -LANG:*, -LIST:* and -LNO:* + # so, if we see these flags be careful not to treat them like -L + -L[A-Z][A-Z]*:*) + case $with_gcc/$host in + no/*-*-irix* | /*-*-irix*) + compile_command="$compile_command $arg" + finalize_command="$finalize_command $arg" + ;; + esac + continue + ;; + + -L*) + dir=`$echo "X$arg" | $Xsed -e 's/^-L//'` + # 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 + exit 1 + fi + dir="$absdir" + ;; + esac + case "$deplibs " in + *" -L$dir "*) ;; + *) + deplibs="$deplibs -L$dir" + lib_search_path="$lib_search_path $dir" + ;; + esac + case $host in + *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*) + case :$dllsearchpath: in + *":$dir:"*) ;; + *) dllsearchpath="$dllsearchpath:$dir";; + esac + ;; + esac + continue + ;; + + -l*) + if test "X$arg" = "X-lc" || test "X$arg" = "X-lm"; then + case $host in + *-*-cygwin* | *-*-pw32* | *-*-beos*) + # These systems don't actually have a C or math library (as such) + continue + ;; + *-*-freebsd*-gnu*) + # prevent being parsed by the freebsd regexp below + ;; + *-*-mingw* | *-*-os2*) + # These systems don't actually have a C library (as such) + test "X$arg" = "X-lc" && continue + ;; + *-*-openbsd* | *-*-freebsd*) + # Do not include libc due to us having libc/libc_r. + test "X$arg" = "X-lc" && continue + ;; + *-*-rhapsody* | *-*-darwin1.[012]) + # Rhapsody C and math libraries are in the System framework + deplibs="$deplibs System.ltframework" + continue + esac + elif test "X$arg" = "X-lc_r"; then + case $host in + *-*-freebsd*-gnu*) + # prevent being parsed by the freebsd regexp below + ;; + *-*-openbsd*) + # Do not include libc_r directly, use -pthread flag. + continue + ;; + esac + fi + deplibs="$deplibs $arg" + continue + ;; + + -module) + module=yes + continue + ;; + + # gcc -m* arguments should be passed to the linker via $compiler_flags + # in order to pass architecture information to the linker + # (e.g. 32 vs 64-bit). This may also be accomplished via -Wl,-mfoo + # but this is not reliable with gcc because gcc may use -mfoo to + # select a different linker, different libraries, etc, while + # -Wl,-mfoo simply passes -mfoo to the linker. + -m*) + # 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" + if test "$with_gcc" = "yes" ; then + compiler_flags="$compiler_flags $arg" + fi + continue + ;; + + -shrext) + prev=shrext + continue + ;; + + -no-fast-install) + fast_install=no + continue + ;; + + -no-install) + case $host in + *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*) + # The PATH hackery in wrapper scripts is required on Windows + # 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 + fast_install=no + ;; + *) no_install=yes ;; + esac + continue + ;; + + -no-undefined) + allow_undefined=no + continue + ;; + + -objectlist) + prev=objectlist + continue + ;; + + -o) prev=output ;; + + -release) + prev=release + continue + ;; + + -rpath) + prev=rpath + continue + ;; + + -R) + prev=xrpath + continue + ;; + + -R*) + dir=`$echo "X$arg" | $Xsed -e 's/^-R//'` + # We need an absolute path. + case $dir in + [\\/]* | [A-Za-z]:[\\/]*) ;; + *) + $echo "$modename: only absolute run-paths are allowed" 1>&2 + exit 1 + ;; + esac + case "$xrpath " in + *" $dir "*) ;; + *) xrpath="$xrpath $dir" ;; + esac + continue + ;; + + -static) + # The effects of -static are defined in a previous loop. + # We used to do the same as -all-static on platforms that + # didn't have a PIC flag, but the assumption that the effects + # would be equivalent was wrong. It would break on at least + # Digital Unix and AIX. + continue + ;; + + -thread-safe) + thread_safe=yes + continue + ;; + + -version-info) + prev=vinfo + continue + ;; + -version-number) + prev=vinfo + vinfo_number=yes + continue + ;; + + -Wc,*) + args=`$echo "X$arg" | $Xsed -e "$sed_quote_subst" -e 's/^-Wc,//'` + 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" + done + IFS="$save_ifs" + arg=`$echo "X$arg" | $Xsed -e "s/^ //"` + ;; + + -Wl,*) + args=`$echo "X$arg" | $Xsed -e "$sed_quote_subst" -e 's/^-Wl,//'` + 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" + done + IFS="$save_ifs" + arg=`$echo "X$arg" | $Xsed -e "s/^ //"` + ;; + + -Xcompiler) + prev=xcompiler + continue + ;; + + -Xlinker) + prev=xlinker + continue + ;; + + -XCClinker) + prev=xcclinker + continue + ;; + + -framework) + prev=framework + 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 + add_flags="$add_flags $arg" + ;; + + *.$objext) + # A standard object. + objs="$objs $arg" + ;; + + *.lo) + # 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 + pic_object= + non_pic_object= + + # Read the .lo file + # If there is no directory component, then add one. + case $arg in + */* | *\\*) . $arg ;; + *) . ./$arg ;; + esac + + if test -z "$pic_object" || \ + test -z "$non_pic_object" || + test "$pic_object" = none && \ + test "$non_pic_object" = none; then + $echo "$modename: cannot find name of object for \`$arg'" 1>&2 + exit 1 + 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 + + if test "$pic_object" != none; then + # Prepend the subdirectory the object is found in. + pic_object="$xdir$pic_object" + + if test "$prev" = dlfiles; then + if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then + dlfiles="$dlfiles $pic_object" + prev= + continue + else + # If libtool objects are unsupported, then we need to preload. + prev=dlprefiles + fi + fi + + # CHECK ME: I think I busted this. -Ossama + if test "$prev" = dlprefiles; then + # Preload the old-style object. + dlprefiles="$dlprefiles $pic_object" + prev= + fi + + # A PIC object. + libobjs="$libobjs $pic_object" + arg="$pic_object" + fi + + # Non-PIC object. + if test "$non_pic_object" != none; then + # Prepend the subdirectory the object is found in. + non_pic_object="$xdir$non_pic_object" + + # A standard non-PIC object + non_pic_objects="$non_pic_objects $non_pic_object" + if test -z "$pic_object" || test "$pic_object" = none ; then + arg="$non_pic_object" + fi + 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 1 + else + # Dry-run case. + + # 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" + fi + fi + ;; + + *.$libext) + # An archive. + deplibs="$deplibs $arg" + old_deplibs="$old_deplibs $arg" + continue + ;; + + *.la) + # A libtool-controlled library. + + if test "$prev" = dlfiles; then + # This library was specified with -dlopen. + dlfiles="$dlfiles $arg" + prev= + elif test "$prev" = dlprefiles; then + # The library was specified with -dlpreopen. + dlprefiles="$dlprefiles $arg" + prev= + else + deplibs="$deplibs $arg" + fi + continue + ;; + + # Some other compiler argument. + *) + # Unknown arguments in both finalize_command and compile_command need + # to be aesthetically quoted because they are evaled later. + arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"` + case $arg in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + arg="\"$arg\"" + ;; + esac + add_flags="$add_flags $arg" + ;; + 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" + 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 1 + fi + + # 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 link + # command doesn't match the default compiler. + if test -n "$available_tags" && test -z "$tagname"; then + case $base_compile 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` "*) ;; + # 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$" < "$0" > /dev/null; then + # Evaluate the configuration. + eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$z'$/,/^# ### END LIBTOOL TAG CONFIG: '$z'$/p' < $0`" + case $base_compile in + "$CC "* | " $CC "* | "`$echo $CC` "* | " `$echo $CC` "*) + # The compiler in $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 1 +# else +# $echo "$modename: using $tagname tagged configuration" + fi + ;; + esac + fi + + 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" + fi + + oldlibs= + # calculate the name of the file, without its directory + outputname=`$echo "X$output" | $Xsed -e 's%^.*/%%'` + libobjs_save="$libobjs" + + if test -n "$shlibpath_var"; then + # get the directories listed in $shlibpath_var + eval shlib_search_path=\`\$echo \"X\${$shlibpath_var}\" \| \$Xsed -e \'s/:/ /g\'\` + else + shlib_search_path= + fi + eval sys_lib_search_path=\"$sys_lib_search_path_spec\" + eval sys_lib_dlsearch_path=\"$sys_lib_dlsearch_path_spec\" + + 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 + # Create the object directory. + if test ! -d "$output_objdir"; then + $show "$mkdir $output_objdir" + $run $mkdir $output_objdir + status=$? + if test "$status" -ne 0 && test ! -d "$output_objdir"; then + exit $status + fi + fi + + # Determine the type of output + case $output in + "") + $echo "$modename: you must specify an output file" 1>&2 + $echo "$help" 1>&2 + exit 1 + ;; + *.$libext) linkmode=oldlib ;; + *.lo | *.$objext) linkmode=obj ;; + *.la) linkmode=lib ;; + *) linkmode=prog ;; # Anything else should be a program. + esac + + case $host in + *cygwin* | *mingw* | *pw32*) + # don't eliminate duplcations 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 + case "$libs " in + *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; + esac + fi + libs="$libs $deplib" + done + + if test "$linkmode" = lib; then + libs="$predeps $libs $compiler_lib_search_path $postdeps" + + # Compute libraries that are listed more than once in $predeps + # $postdeps and mark them as special (i.e., whose duplicates are + # not to be eliminated). + pre_post_deps= + if test "X$duplicate_compiler_generated_deps" = "Xyes" ; then + for pre_post_dep in $predeps $postdeps; do + case "$pre_post_deps " in + *" $pre_post_dep "*) specialdeplibs="$specialdeplibs $pre_post_deps" ;; + esac + pre_post_deps="$pre_post_deps $pre_post_dep" + done + fi + pre_post_deps= + fi + + deplibs= + newdependency_libs= + newlib_search_path= + need_relink=no # whether we're linking any uninstalled libtool libraries + notinst_deplibs= # not-installed libtool libraries + notinst_path= # paths that contain not-installed libtool libraries + case $linkmode in + lib) + passes="conv link" + for file in $dlfiles $dlprefiles; do + case $file in + *.la) ;; + *) + $echo "$modename: libraries can \`-dlopen' only libtool libraries: $file" 1>&2 + exit 1 + ;; + esac + done + ;; + prog) + compile_deplibs= + finalize_deplibs= + alldeplibs=no + newdlfiles= + newdlprefiles= + passes="conv scan dlopen dlpreopen link" + ;; + *) passes="conv" + ;; + esac + for pass in $passes; do + if test "$linkmode,$pass" = "lib,link" || + test "$linkmode,$pass" = "prog,scan"; then + libs="$deplibs" + deplibs= + fi + if test "$linkmode" = prog; then + case $pass in + dlopen) libs="$dlfiles" ;; + dlpreopen) libs="$dlprefiles" ;; + link) libs="$deplibs %DEPLIBS% $dependency_libs" ;; + esac + fi + if test "$pass" = dlopen; then + # Collect dlpreopened libraries + save_deplibs="$deplibs" + deplibs= + fi + for deplib in $libs; do + lib= + found=no + case $deplib in + -l*) + if test "$linkmode" != lib && test "$linkmode" != prog; then + $echo "$modename: warning: \`-l' is ignored for archives/objects" 1>&2 + continue + fi + if test "$pass" = conv && test "$allow_undefined" = yes; then + deplibs="$deplib $deplibs" + 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 + for search_ext in .la $shrext .so .a; do + # Search the libtool library + lib="$searchdir/lib${name}${search_ext}" + if test -f "$lib"; then + if test "$search_ext" = ".la"; then + found=yes + else + found=no + fi + break 2 + fi + done + done + if test "$found" != yes; then + # deplib doesn't seem to be a libtool library + if test "$linkmode,$pass" = "prog,link"; then + compile_deplibs="$deplib $compile_deplibs" + finalize_deplibs="$deplib $finalize_deplibs" + else + deplibs="$deplib $deplibs" + test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs" + fi + continue + else # deplib is a libtool library + # If $allow_libtool_libs_with_static_runtimes && $deplib is a stdlib, + # We need to do some special things here, and not later. + if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then + case " $predeps $postdeps " in + *" $deplib "*) + if (${SED} -e '2q' $lib | + grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then + library_names= + old_library= + case $lib in + */* | *\\*) . $lib ;; + *) . ./$lib ;; + esac + 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="." + lib=$ladir/$old_library + if test "$linkmode,$pass" = "prog,link"; then + compile_deplibs="$deplib $compile_deplibs" + finalize_deplibs="$deplib $finalize_deplibs" + else + deplibs="$deplib $deplibs" + test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs" + fi + continue + fi + fi + ;; + *) ;; + esac + fi + fi + ;; # -l + *.ltframework) + if test "$linkmode,$pass" = "prog,link"; then + compile_deplibs="$deplib $compile_deplibs" + finalize_deplibs="$deplib $finalize_deplibs" + else + deplibs="$deplib $deplibs" + if test "$linkmode" = lib ; then + newdependency_libs="$deplib $newdependency_libs" + 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//'` + ;; + prog) + if test "$pass" = conv; then + deplibs="$deplib $deplibs" + continue + fi + if test "$pass" = scan; then + deplibs="$deplib $deplibs" + newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'` + else + compile_deplibs="$deplib $compile_deplibs" + finalize_deplibs="$deplib $finalize_deplibs" + fi + ;; + *) + $echo "$modename: warning: \`-L' is ignored for archives/objects" 1>&2 + ;; + esac # linkmode + continue + ;; # -L + -R*) + if test "$pass" = link; then + dir=`$echo "X$deplib" | $Xsed -e 's/^-R//'` + # Make sure the xrpath contains only unique directories. + case "$xrpath " in + *" $dir "*) ;; + *) xrpath="$xrpath $dir" ;; + esac + fi + deplibs="$deplib $deplibs" + continue + ;; + *.la) lib="$deplib" ;; + *.$libext) + if test "$pass" = conv; then + deplibs="$deplib $deplibs" + continue + fi + case $linkmode in + lib) + if test "$deplibs_check_method" != pass_all; 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 + continue + ;; + prog) + if test "$pass" != link; then + deplibs="$deplib $deplibs" + else + compile_deplibs="$deplib $compile_deplibs" + finalize_deplibs="$deplib $finalize_deplibs" + fi + continue + ;; + esac # linkmode + ;; # *.$libext + *.lo | *.$objext) + if test "$pass" = conv; then + deplibs="$deplib $deplibs" + elif test "$linkmode" = prog; then + if test "$pass" = dlpreopen || test "$dlopen_support" != yes || test "$build_libtool_libs" = no; then + # If there is no dlopen support or we're linking statically, + # we need to preload. + newdlprefiles="$newdlprefiles $deplib" + compile_deplibs="$deplib $compile_deplibs" + finalize_deplibs="$deplib $finalize_deplibs" + else + newdlfiles="$newdlfiles $deplib" + fi + fi + continue + ;; + %DEPLIBS%) + alldeplibs=yes + continue + ;; + esac # case $deplib + if test "$found" = yes || test -f "$lib"; then : + else + $echo "$modename: cannot find the library \`$lib'" 1>&2 + exit 1 + 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 1 + fi + + ladir=`$echo "X$lib" | $Xsed -e 's%/[^/]*$%%'` + test "X$ladir" = "X$lib" && ladir="." + + dlname= + dlopen= + dlpreopen= + libdir= + library_names= + old_library= + # If the library was installed with an old release of libtool, + # it will not redefine variables installed, or shouldnotlink + installed=yes + shouldnotlink=no + + # Read the .la file + case $lib in + */* | *\\*) . $lib ;; + *) . ./$lib ;; + esac + + case $host in + *-*-darwin*) + # Convert "-framework foo" to "foo.ltframework" in dependency_libs + test -n "$dependency_libs" && dependency_libs=`$echo "X$dependency_libs" | $Xsed -e 's/-framework \([^ $]*\)/\1.ltframework/g'` + ;; + esac + + if test "$linkmode,$pass" = "lib,link" || + test "$linkmode,$pass" = "prog,scan" || + { test "$linkmode" != prog && test "$linkmode" != lib; }; then + test -n "$dlopen" && dlfiles="$dlfiles $dlopen" + test -n "$dlpreopen" && dlprefiles="$dlprefiles $dlpreopen" + fi + + if test "$pass" = conv; then + # Only check for convenience libraries + deplibs="$lib $deplibs" + tmp_libs= + for deplib in $dependency_libs; do + #echo "Adding $deplib to \$deplibs" + 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 + if test -z "$libdir"; then + if test -z "$old_library"; then + $echo "$modename: cannot find name of link library for \`$lib'" 1>&2 + exit 1 + fi + # It is a libtool convenience library, so add in its objects. + convenience="$convenience $ladir/$objdir/$old_library" + old_convenience="$old_convenience $ladir/$objdir/$old_library" + elif test "$linkmode" != prog && test "$linkmode" != lib; then + $echo "$modename: \`$lib' is not a convenience library" 1>&2 + exit 1 + fi + continue + fi # $pass = conv + + + # Get the name of the library we link against. + linklib= + for l in $old_library $library_names; do + linklib="$l" + done + if test -z "$linklib"; then + $echo "$modename: cannot find name of link library for \`$lib'" 1>&2 + exit 1 + 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 1 + fi + if test -z "$dlname" || test "$dlopen_support" != yes || test "$build_libtool_libs" = no; then + # If there is no dlname, no dlopen support or we're linking + # statically, we need to preload. We also need to preload any + # dependent libraries so libltdl's deplib preloader doesn't + # bomb out in the load deplibs phase. + dlprefiles="$dlprefiles $lib $dependency_libs" + else + newdlfiles="$newdlfiles $lib" + fi + continue + fi # $pass = dlopen + + # We need an absolute path. + case $ladir in + [\\/]* | [A-Za-z]:[\\/]*) abs_ladir="$ladir" ;; + *) + abs_ladir=`cd "$ladir" && pwd` + if test -z "$abs_ladir"; then + $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 + abs_ladir="$ladir" + fi + ;; + esac + laname=`$echo "X$lib" | $Xsed -e 's%^.*/%%'` + + # 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 + dir="$ladir" + absdir="$abs_ladir" + libdir="$abs_ladir" + else + dir="$libdir" + absdir="$libdir" + fi + else + dir="$ladir/$objdir" + absdir="$abs_ladir/$objdir" + # Remove this search path later + notinst_path="$notinst_path $abs_ladir" + fi # $installed = yes + name=`$echo "X$laname" | $Xsed -e 's/\.la$//' -e 's/^lib//'` + + # 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 1 + 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" + # Otherwise, use the dlname, so that lt_dlopen finds it. + elif test -n "$dlname"; then + newdlprefiles="$newdlprefiles $dir/$dlname" + else + newdlprefiles="$newdlprefiles $dir/$linklib" + fi + fi # $pass = dlpreopen + + if test -z "$libdir"; then + # Link the convenience library + if test "$linkmode" = lib; then + deplibs="$dir/$old_library $deplibs" + elif test "$linkmode,$pass" = "prog,link"; then + compile_deplibs="$dir/$old_library $compile_deplibs" + finalize_deplibs="$dir/$old_library $finalize_deplibs" + else + deplibs="$lib $deplibs" # used for prog,scan pass + fi + continue + fi + + + if test "$linkmode" = prog && test "$pass" != link; then + newlib_search_path="$newlib_search_path $ladir" + deplibs="$lib $deplibs" + + linkalldeplibs=no + if test "$link_all_deplibs" != no || test -z "$library_names" || + test "$build_libtool_libs" = no; then + linkalldeplibs=yes + fi + + tmp_libs= + for deplib in $dependency_libs; do + case $deplib in + -L*) newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'`;; ### testsuite: skip nested quoting test + esac + # Need to link against all dependency_libs? + if test "$linkalldeplibs" = yes; then + deplibs="$deplib $deplibs" + else + # Need to hardcode shared library paths + # or/and link against static libraries + newdependency_libs="$deplib $newdependency_libs" + fi + if test "X$duplicate_deps" = "Xyes" ; then + case "$tmp_libs " in + *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; + esac + fi + tmp_libs="$tmp_libs $deplib" + done # for deplib + continue + fi # $linkmode = prog... + + if test "$linkmode,$pass" = "prog,link"; then + if test -n "$library_names" && + { test "$prefer_static_libs" = no || test -z "$old_library"; }; then + # We need to hardcode the library path + if test -n "$shlibpath_var"; then + # Make sure the rpath contains only unique directories. + case "$temp_rpath " in + *" $dir "*) ;; + *" $absdir "*) ;; + *) temp_rpath="$temp_rpath $dir" ;; + esac + fi + + # Hardcode the library path. + # Skip directories that are in the system default run-time + # search path. + case " $sys_lib_dlsearch_path " in + *" $absdir "*) ;; + *) + case "$compile_rpath " in + *" $absdir "*) ;; + *) compile_rpath="$compile_rpath $absdir" + esac + ;; + esac + case " $sys_lib_dlsearch_path " in + *" $libdir "*) ;; + *) + case "$finalize_rpath " in + *" $libdir "*) ;; + *) finalize_rpath="$finalize_rpath $libdir" + esac + ;; + esac + fi # $linkmode,$pass = prog,link... + + if test "$alldeplibs" = yes && + { test "$deplibs_check_method" = pass_all || + { test "$build_libtool_libs" = yes && + test -n "$library_names"; }; }; then + # We only need to search for static libraries + continue + fi + fi + + link_static=no # Whether the deplib will be linked statically + if test -n "$library_names" && + { test "$prefer_static_libs" = no || test -z "$old_library"; }; then + if test "$installed" = no; then + notinst_deplibs="$notinst_deplibs $lib" + need_relink=yes + fi + # 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 + if test "$linkmode" = prog; then + $echo "*** Warning: Linking the executable $output against the loadable module" + else + $echo "*** Warning: Linking the shared library $output against the loadable module" + fi + $echo "*** $linklib is not portable!" + fi + if test "$linkmode" = lib && + test "$hardcode_into_libs" = yes; then + # Hardcode the library path. + # Skip directories that are in the system default run-time + # search path. + case " $sys_lib_dlsearch_path " in + *" $absdir "*) ;; + *) + case "$compile_rpath " in + *" $absdir "*) ;; + *) compile_rpath="$compile_rpath $absdir" + esac + ;; + esac + case " $sys_lib_dlsearch_path " in + *" $libdir "*) ;; + *) + case "$finalize_rpath " in + *" $libdir "*) ;; + *) finalize_rpath="$finalize_rpath $libdir" + esac + ;; + esac + fi + + if test -n "$old_archive_from_expsyms_cmds"; then + # figure out the soname + set dummy $library_names + realname="$2" + shift; 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` + versuffix="-$major" + ;; + esac + eval soname=\"$soname_spec\" + else + soname="$realname" + fi + + # 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" + + # 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='~' + eval cmds=\"$extract_expsyms_cmds\" + for cmd in $cmds; do + IFS="$save_ifs" + $show "$cmd" + $run eval "$cmd" || exit $? + done + IFS="$save_ifs" + fi + + # Create $newlib + if test -f "$output_objdir/$newlib"; then :; else + $show "generating import library for \`$soname'" + save_ifs="$IFS"; IFS='~' + eval cmds=\"$old_archive_from_expsyms_cmds\" + for cmd in $cmds; do + IFS="$save_ifs" + $show "$cmd" + $run eval "$cmd" || exit $? + done + IFS="$save_ifs" + fi + # make sure the library variables are pointing to the new library + dir=$output_objdir + linklib=$newlib + fi # test -n "$old_archive_from_expsyms_cmds" + + if test "$linkmode" = prog || test "$mode" != relink; then + add_shlibpath= + add_dir= + add= + lib_linked=yes + case $hardcode_action in + immediate | unsupported) + if test "$hardcode_direct" = no; then + add="$dir/$linklib" + case $host in + *-*-sco3.2v5* ) 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 /usr/bin/file -L $add 2> /dev/null | grep "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" + fi + fi + esac + elif test "$hardcode_minus_L" = no; then + case $host in + *-*-sunos*) add_shlibpath="$dir" ;; + esac + add_dir="-L$dir" + add="-l$name" + elif test "$hardcode_shlibpath_var" = no; then + add_shlibpath="$dir" + add="-l$name" + else + lib_linked=no + fi + ;; + relink) + if test "$hardcode_direct" = yes; then + add="$dir/$linklib" + elif test "$hardcode_minus_L" = yes; then + add_dir="-L$dir" + # Try looking first in the location we're being installed to. + if test -n "$inst_prefix_dir"; then + case "$libdir" in + [\\/]*) + add_dir="-L$inst_prefix_dir$libdir $add_dir" + ;; + esac + fi + add="-l$name" + elif test "$hardcode_shlibpath_var" = yes; then + add_shlibpath="$dir" + add="-l$name" + else + lib_linked=no + fi + ;; + *) lib_linked=no ;; + esac + + if test "$lib_linked" != yes; then + $echo "$modename: configuration error: unsupported hardcode properties" + exit 1 + fi + + if test -n "$add_shlibpath"; then + case :$compile_shlibpath: in + *":$add_shlibpath:"*) ;; + *) compile_shlibpath="$compile_shlibpath$add_shlibpath:" ;; + esac + fi + if test "$linkmode" = prog; then + test -n "$add_dir" && compile_deplibs="$add_dir $compile_deplibs" + test -n "$add" && compile_deplibs="$add $compile_deplibs" + else + test -n "$add_dir" && deplibs="$add_dir $deplibs" + test -n "$add" && deplibs="$add $deplibs" + if test "$hardcode_direct" != yes && \ + test "$hardcode_minus_L" != yes && \ + test "$hardcode_shlibpath_var" = yes; then + case :$finalize_shlibpath: in + *":$libdir:"*) ;; + *) finalize_shlibpath="$finalize_shlibpath$libdir:" ;; + esac + fi + fi + fi + + if test "$linkmode" = prog || test "$mode" = relink; then + add_shlibpath= + add_dir= + add= + # Finalize command for both is simple: just hardcode it. + if test "$hardcode_direct" = yes; then + add="$libdir/$linklib" + elif test "$hardcode_minus_L" = yes; then + add_dir="-L$libdir" + add="-l$name" + elif test "$hardcode_shlibpath_var" = yes; then + case :$finalize_shlibpath: in + *":$libdir:"*) ;; + *) finalize_shlibpath="$finalize_shlibpath$libdir:" ;; + esac + add="-l$name" + elif test "$hardcode_automatic" = yes; then + if test -n "$inst_prefix_dir" && test -f "$inst_prefix_dir$libdir/$linklib" ; then + add="$inst_prefix_dir$libdir/$linklib" + else + add="$libdir/$linklib" + fi + else + # We cannot seem to hardcode it, guess we'll fake it. + add_dir="-L$libdir" + # Try looking first in the location we're being installed to. + if test -n "$inst_prefix_dir"; then + case "$libdir" in + [\\/]*) + add_dir="-L$inst_prefix_dir$libdir $add_dir" + ;; + esac + fi + add="-l$name" + fi + + if test "$linkmode" = prog; then + test -n "$add_dir" && finalize_deplibs="$add_dir $finalize_deplibs" + test -n "$add" && finalize_deplibs="$add $finalize_deplibs" + else + test -n "$add_dir" && deplibs="$add_dir $deplibs" + test -n "$add" && deplibs="$add $deplibs" + fi + fi + elif test "$linkmode" = prog; then + # Here we assume that one of hardcode_direct or hardcode_minus_L + # is not unsupported. This is valid on all known static and + # shared platforms. + if test "$hardcode_direct" != unsupported; then + test -n "$old_library" && linklib="$old_library" + compile_deplibs="$dir/$linklib $compile_deplibs" + finalize_deplibs="$dir/$linklib $finalize_deplibs" + else + compile_deplibs="-l$name -L$dir $compile_deplibs" + finalize_deplibs="-l$name -L$dir $finalize_deplibs" + fi + elif test "$build_libtool_libs" = yes; then + # Not a shared library + if test "$deplibs_check_method" != pass_all; then + # We're trying link a shared library against a static one + # but the system doesn't support it. + + # Just print a warning and add the library to dependency_libs so + # that the program can be linked against the static library. + $echo + $echo "*** Warning: This system can not link to static lib archive $lib." + $echo "*** I have the capability to make that library automatically link in when" + $echo "*** you link to this library. But I can only do this if you have a" + $echo "*** shared version of the library, which you do not appear to have." + if test "$module" = yes; then + $echo "*** But as you try to build a module library, libtool will still create " + $echo "*** a static module, that should work as long as the dlopening application" + $echo "*** is linked with the -dlopen flag to resolve symbols at runtime." + if test -z "$global_symbol_pipe"; then + $echo + $echo "*** However, this would only work if libtool was able to extract symbol" + $echo "*** lists from a program, using \`nm' or equivalent, but libtool could" + $echo "*** not find such a program. So, this module is probably useless." + $echo "*** \`nm' from GNU binutils and a full rebuild may help." + fi + if test "$build_old_libs" = no; then + build_libtool_libs=module + build_old_libs=yes + else + build_libtool_libs=no + fi + fi + else + convenience="$convenience $dir/$old_library" + old_convenience="$old_convenience $dir/$old_library" + deplibs="$dir/$old_library $deplibs" + link_static=yes + fi + fi # link shared/static library? + + if test "$linkmode" = lib; then + #if test -n "$dependency_libs" && + # { test "$hardcode_into_libs" != yes || test "$build_old_libs" = yes || + # test "$link_static" = yes; }; then + # Extract -R from dependency_libs + temp_deplibs= + for libdir in $dependency_libs; do + case $libdir in + -R*) temp_xrpath=`$echo "X$libdir" | $Xsed -e 's/^-R//'` + case " $xrpath " in + *" $temp_xrpath "*) ;; + *) xrpath="$xrpath $temp_xrpath";; + esac;; + *) temp_deplibs="$temp_deplibs $libdir";; + esac + done + dependency_libs="$temp_deplibs" + #fi + + newlib_search_path="$newlib_search_path $absdir" + # Link against this library + test "$link_static" = no && newdependency_libs="$abs_ladir/$laname $newdependency_libs" + # ... and its dependency_libs + tmp_libs= + for deplib in $dependency_libs; do + newdependency_libs="$deplib $newdependency_libs" + if test "X$duplicate_deps" = "Xyes" ; then + case "$tmp_libs " in + *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; + esac + fi + tmp_libs="$tmp_libs $deplib" + done + + if test "$link_all_deplibs" != no; then + # Add the search paths of all dependency libraries + for deplib in $dependency_libs; do + case $deplib in + -L*) path="$deplib" ;; + *.la) + dir=`$echo "X$deplib" | $Xsed -e 's%/[^/]*$%%'` + test "X$dir" = "X$deplib" && dir="." + # 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 + 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 1 + fi + if test "$absdir" != "$libdir"; then + # Sure, some shells/systems don't implement the -ef. + # Those will have to live with the warning. + test "$absdir" -ef "$libdir" > /dev/null 2>&1 || + $echo "$modename: warning: \`$deplib' seems to be moved" 1>&2 + fi + path="$absdir" + fi + depdepl= + case $host in + *-*-darwin*) + # we do not want to link against static libs, but need to link against shared + 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" + fi + # do not add paths which are already there + case " $newlib_search_path " in + *" $path "*) ;; + *) newlib_search_path="$newlib_search_path $path";; + esac + path="" + fi + ;; + *) + 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="" + ;; + *) continue ;; + esac + ;; + + *.ltframework) + case $host in + *-*-darwin*) + depdepl="$deplib" + ;; + esac + ;; + + *) continue ;; + esac + case " $deplibs " in + *" $depdepl "*) ;; + *) deplibs="$deplibs $depdepl" ;; + esac + case " $deplibs " in + *" $path "*) ;; + *) deplibs="$deplibs $path" ;; + esac + done + fi # link_all_deplibs != no + fi # linkmode = lib + done # for deplib in $libs + dependency_libs="$newdependency_libs" + if test "$pass" = dlpreopen; then + # Link the dlpreopened libraries before other libraries + for deplib in $save_deplibs; do + deplibs="$deplib $deplibs" + done + fi + if test "$pass" != dlopen; then + if test "$pass" != conv; then + # Make sure lib_search_path contains only unique directories. + lib_search_path= + for dir in $newlib_search_path; do + case "$lib_search_path " in + *" $dir "*) ;; + *) lib_search_path="$lib_search_path $dir" ;; + esac + done + newlib_search_path= + fi + + if test "$linkmode,$pass" != "prog,link"; then + vars="deplibs" + else + vars="compile_deplibs finalize_deplibs" + fi + for var in $vars dependency_libs; do + # Add libraries to $var in reverse order + eval tmp_libs=\"\$$var\" + new_libs= + for deplib in $tmp_libs; do + # FIXME: Pedantically, this is the right thing to do, so + # that some nasty dependency loop isn't accidentally + # broken: + #new_libs="$deplib $new_libs" + # Pragmatically, this seems to cause very few problems in + # practice: + case $deplib in + -L*) new_libs="$deplib $new_libs" ;; + -R*) ;; + *) + # And here is the reason: when a library appears more + # than once as an explicit dependence of a library, or + # is implicitly linked in more than once by the + # compiler, it is considered special, and multiple + # occurrences thereof are not removed. Compare this + # with having the same library being listed as a + # dependency of multiple other libraries: in this case, + # we know (pedantically, we assume) the library does not + # need to be listed more than once, so we keep only the + # last copy. This is not always right, but it is rare + # enough that we require users that really mean to play + # such unportable linking tricks to link the library + # using -Wl,-lname, so that libtool does not consider it + # for duplicate removal. + case " $specialdeplibs " in + *" $deplib "*) new_libs="$deplib $new_libs" ;; + *) + case " $new_libs " in + *" $deplib "*) ;; + *) new_libs="$deplib $new_libs" ;; + esac + ;; + esac + ;; + esac + done + tmp_libs= + for deplib in $new_libs; do + case $deplib in + -L*) + case " $tmp_libs " in + *" $deplib "*) ;; + *) tmp_libs="$tmp_libs $deplib" ;; + esac + ;; + *) tmp_libs="$tmp_libs $deplib" ;; + esac + done + eval $var=\"$tmp_libs\" + done # for var + fi + # Last step: remove runtime libs from dependency_libs (they stay in deplibs) + tmp_libs= + for i in $dependency_libs ; do + case " $predeps $postdeps $compiler_lib_search_path " in + *" $i "*) + i="" + ;; + esac + if test -n "$i" ; then + tmp_libs="$tmp_libs $i" + fi + done + dependency_libs=$tmp_libs + done # for pass + if test "$linkmode" = prog; then + dlfiles="$newdlfiles" + 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 + fi + + if test -n "$rpath"; then + $echo "$modename: warning: \`-rpath' is ignored for archives" 1>&2 + fi + + if test -n "$xrpath"; then + $echo "$modename: warning: \`-R' is ignored for archives" 1>&2 + fi + + if test -n "$vinfo"; then + $echo "$modename: warning: \`-version-info/-version-number' is ignored for archives" 1>&2 + fi + + if test -n "$release"; then + $echo "$modename: warning: \`-release' is ignored for archives" 1>&2 + fi + + if test -n "$export_symbols" || test -n "$export_symbols_regex"; then + $echo "$modename: warning: \`-export-symbols' is ignored for archives" 1>&2 + fi + + # Now set the variables for building old libraries. + build_libtool_libs=no + oldlibs="$output" + objs="$objs$old_deplibs" + ;; + + lib) + # Make sure we only generate libraries of the form `libNAME.la'. + case $outputname in + lib*) + name=`$echo "X$outputname" | $Xsed -e 's/\.la$//' -e 's/^lib//'` + eval shared_ext=\"$shrext\" + 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 1 + fi + if test "$need_lib_prefix" != no; then + # Add the "lib" prefix for modules if required + name=`$echo "X$outputname" | $Xsed -e 's/\.la$//'` + eval shared_ext=\"$shrext\" + eval libname=\"$libname_spec\" + else + libname=`$echo "X$outputname" | $Xsed -e 's/\.la$//'` + 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 1 + else + $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 + + 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" + + oldlibs= + if test -z "$rpath"; then + if test "$build_libtool_libs" = yes; then + # Building a libtool convenience library. + # Some compilers have problems with a `.al' extension so + # convenience libraries should have the same extension an + # archive normally would. + oldlibs="$output_objdir/$libname.$libext $oldlibs" + build_libtool_libs=convenience + build_old_libs=yes + fi + + if test -n "$vinfo"; then + $echo "$modename: warning: \`-version-info/-version-number' is ignored for convenience libraries" 1>&2 + fi + + if test -n "$release"; then + $echo "$modename: warning: \`-release' is ignored for convenience libraries" 1>&2 + fi + else + + # Parse the version information argument. + save_ifs="$IFS"; IFS=':' + set dummy $vinfo 0 0 0 + IFS="$save_ifs" + + if test -n "$8"; then + $echo "$modename: too many parameters to \`-version-info'" 1>&2 + $echo "$help" 1>&2 + exit 1 + fi + + # convert absolute version numbers to libtool ages + # this retains compatibility with .la files and attempts + # to make the code below a bit more comprehensible + + case $vinfo_number in + yes) + number_major="$2" + number_minor="$3" + number_revision="$4" + # + # There are really only two kinds -- those that + # use the current revision as the major version + # and those that subtract age and use age as + # a minor version. But, then there is irix + # which has an extra 1 added just for fun + # + case $version_type in + darwin|linux|osf|windows) + current=`expr $number_major + $number_minor` + age="$number_minor" + revision="$number_revision" + ;; + freebsd-aout|freebsd-elf|sunos) + current="$number_major" + revision="$number_minor" + age="0" + ;; + irix|nonstopux) + current=`expr $number_major + $number_minor - 1` + age="$number_minor" + revision="$number_minor" + ;; + esac + ;; + no) + current="$2" + revision="$3" + age="$4" + ;; + esac + + # Check that each of the things are valid numbers. + case $current in + 0 | [1-9] | [1-9][0-9] | [1-9][0-9][0-9]) ;; + *) + $echo "$modename: CURRENT \`$current' is not a nonnegative integer" 1>&2 + $echo "$modename: \`$vinfo' is not valid version information" 1>&2 + exit 1 + ;; + esac + + case $revision in + 0 | [1-9] | [1-9][0-9] | [1-9][0-9][0-9]) ;; + *) + $echo "$modename: REVISION \`$revision' is not a nonnegative integer" 1>&2 + $echo "$modename: \`$vinfo' is not valid version information" 1>&2 + exit 1 + ;; + esac + + case $age in + 0 | [1-9] | [1-9][0-9] | [1-9][0-9][0-9]) ;; + *) + $echo "$modename: AGE \`$age' is not a nonnegative integer" 1>&2 + $echo "$modename: \`$vinfo' is not valid version information" 1>&2 + exit 1 + ;; + 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 1 + fi + + # Calculate the version variables. + major= + versuffix= + verstring= + case $version_type in + none) ;; + + darwin) + # Like Linux, but with the current version available in + # verstring for coding it into the library header + major=.`expr $current - $age` + versuffix="$major.$age.$revision" + # Darwin ld doesn't like 0 for these options... + minor_current=`expr $current + 1` + verstring="-compatibility_version $minor_current -current_version $minor_current.$revision" + ;; + + freebsd-aout) + major=".$current" + versuffix=".$current.$revision"; + ;; + + freebsd-elf) + major=".$current" + versuffix=".$current"; + ;; + + irix | nonstopux) + major=`expr $current - $age + 1` + + case $version_type in + nonstopux) verstring_prefix=nonstopux ;; + *) verstring_prefix=sgi ;; + esac + verstring="$verstring_prefix$major.$revision" + + # Add in all the interfaces that we are compatible with. + loop=$revision + while test "$loop" -ne 0; do + iface=`expr $revision - $loop` + loop=`expr $loop - 1` + verstring="$verstring_prefix$major.$iface:$verstring" + done + + # Before this point, $major must not contain `.'. + major=.$major + versuffix="$major.$revision" + ;; + + linux) + major=.`expr $current - $age` + versuffix="$major.$age.$revision" + ;; + + osf) + major=.`expr $current - $age` + 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` + verstring="$verstring:${iface}.0" + done + + # Make executables depend on our current version. + verstring="$verstring:${current}.0" + ;; + + sunos) + major=".$current" + versuffix=".$current.$revision" + ;; + + windows) + # Use '-' rather than '.', since we only want one + # extension on DOS 8.3 filesystems. + major=`expr $current - $age` + 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 1 + ;; + esac + + # Clear the version info if we defaulted, and they specified a release. + if test -z "$vinfo" && test -n "$release"; then + major= + case $version_type in + darwin) + # we can't check for "0.0" in archive_cmds due to quoting + # problems, so we reset it completely + verstring= + ;; + *) + verstring="0.0" + ;; + esac + if test "$need_version" = no; then + versuffix= + else + versuffix=".0.0" + fi + fi + + # Remove version info from name if versioning should be avoided + if test "$avoid_version" = yes && test "$need_version" = no; then + major= + versuffix= + verstring="" + fi + + # Check to see if the archive will have undefined symbols. + if test "$allow_undefined" = yes; then + if test "$allow_undefined_flag" = unsupported; then + $echo "$modename: warning: undefined symbols not allowed in $host shared libraries" 1>&2 + build_libtool_libs=no + build_old_libs=yes + fi + else + # Don't allow undefined symbols. + allow_undefined_flag="$no_undefined_flag" + fi + fi + + if test "$mode" != relink; then + # Remove our outputs, but don't remove object files since they + # may have been created when compiling PIC objects. + removelist= + tempremovelist=`$echo "$output_objdir/*"` + for p in $tempremovelist; do + case $p in + *.$objext) + ;; + $output_objdir/$outputname | $output_objdir/$libname.* | $output_objdir/${libname}${release}.*) + removelist="$removelist $p" + ;; + *) ;; + esac + done + if test -n "$removelist"; then + $show "${rm}r $removelist" + $run ${rm}r $removelist + fi + fi + + # Now set the variables for building old libraries. + if test "$build_old_libs" = yes && test "$build_libtool_libs" != convenience ; then + oldlibs="$oldlibs $output_objdir/$libname.$libext" + + # Transform .lo files to .o files. + oldobjs="$objs "`$echo "X$libobjs" | $SP2NL | $Xsed -e '/\.'${libext}'$/d' -e "$lo2o" | $NL2SP` + fi + + # Eliminate all temporary directories. + for path in $notinst_path; do + lib_search_path=`$echo "$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'` + done + + if test -n "$xrpath"; then + # If the user specified any rpath flags, then add them. + temp_xrpath= + for libdir in $xrpath; do + temp_xrpath="$temp_xrpath -R$libdir" + case "$finalize_rpath " in + *" $libdir "*) ;; + *) finalize_rpath="$finalize_rpath $libdir" ;; + esac + done + if true || test "$hardcode_into_libs" != yes || test "$build_old_libs" = yes; then + dependency_libs="$temp_xrpath $dependency_libs" + fi + fi + + # Make sure dlfiles contains only unique files that won't be dlpreopened + old_dlfiles="$dlfiles" + dlfiles= + for lib in $old_dlfiles; do + case " $dlprefiles $dlfiles " in + *" $lib "*) ;; + *) dlfiles="$dlfiles $lib" ;; + esac + done + + # Make sure dlprefiles contains only unique files + old_dlprefiles="$dlprefiles" + dlprefiles= + for lib in $old_dlprefiles; do + case "$dlprefiles " in + *" $lib "*) ;; + *) dlprefiles="$dlprefiles $lib" ;; + esac + done + + if test "$build_libtool_libs" = yes; then + if test -n "$rpath"; then + case $host in + *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-beos*) + # these systems don't actually have a c library (as such)! + ;; + *-*-rhapsody* | *-*-darwin1.[012]) + # Rhapsody C library is in the System framework + deplibs="$deplibs System.ltframework" + ;; + *-*-netbsd*) + # Don't link with libc until the a.out ld.so is fixed. + ;; + *-*-freebsd*-gnu*) + # Prevent $arg from being parsed by the freebsd regexp below. + if test "$build_libtool_need_lc" = "yes"; then + deplibs="$deplibs -lc" + fi + ;; + *-*-openbsd* | *-*-freebsd*) + # Do not include libc due to us having libc/libc_r. + test "X$arg" = "X-lc" && continue + ;; + *) + # Add libc to deplibs on all other systems if necessary. + if test "$build_libtool_need_lc" = "yes"; then + deplibs="$deplibs -lc" + fi + ;; + esac + fi + + # Transform deplibs into only deplibs that can be linked in shared. + name_save=$name + libname_save=$libname + release_save=$release + versuffix_save=$versuffix + major_save=$major + # I'm not sure if I'm treating the release correctly. I think + # release should show up in the -l (ie -lgmp5) so we don't want to + # add it in twice. Is that correct? + release="" + versuffix="" + major="" + newdeplibs= + droppeddeps=no + case $deplibs_check_method in + pass_all) + # Don't check for shared/static. Everything works. + # This might be a little naive. We might want to check + # whether the library exists or not. But this is on + # osf3 & osf4 and I'm not really sure... Just + # implementing what was already the behavior. + newdeplibs=$deplibs + ;; + test_compile) + # This code stresses the "libraries are programs" paradigm to its + # limits. Maybe even breaks it. We compile a program, linking it + # against the deplibs as a proxy for the library. Then we can check + # whether they linked in statically or dynamically with ldd. + $rm conftest.c + cat > conftest.c </dev/null` + for potent_lib in $potential_libs; do + # Follow soft links. + if ls -lLd "$potent_lib" 2>/dev/null \ + | grep " -> " >/dev/null; then + continue + fi + # The statement above tries to avoid entering an + # endless loop below, in case of cyclic links. + # We might still enter an endless loop, since a link + # loop can be closed while we follow links, + # but so what? + potlib="$potent_lib" + while test -h "$potlib" 2>/dev/null; do + potliblink=`ls -ld $potlib | ${SED} 's/.* -> //'` + case $potliblink in + [\\/]* | [A-Za-z]:[\\/]*) potlib="$potliblink";; + *) potlib=`$echo "X$potlib" | $Xsed -e 's,[^/]*$,,'`"$potliblink";; + esac + done + if eval $file_magic_cmd \"\$potlib\" 2>/dev/null \ + | ${SED} 10q \ + | $EGREP "$file_magic_regex" > /dev/null; then + newdeplibs="$newdeplibs $a_deplib" + a_deplib="" + break 2 + fi + done + done + fi + if test -n "$a_deplib" ; then + droppeddeps=yes + $echo + $echo "*** Warning: linker path does not have real file for library $a_deplib." + $echo "*** I have the capability to make that library automatically link in when" + $echo "*** you link to this library. But I can only do this if you have a" + $echo "*** shared version of the library, which you do not appear to have" + $echo "*** because I did check the linker path looking for a file starting" + if test -z "$potlib" ; then + $echo "*** with $libname but no candidates were found. (...for file magic test)" + else + $echo "*** with $libname and none of the candidates passed a file format test" + $echo "*** using a file magic. Last file checked: $potlib" + fi + fi + else + # Add a -L argument. + newdeplibs="$newdeplibs $a_deplib" + fi + done # Gone through all deplibs. + ;; + match_pattern*) + set dummy $deplibs_check_method + match_pattern_regex=`expr "$deplibs_check_method" : "$2 \(.*\)"` + 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 + if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then + case " $predeps $postdeps " in + *" $a_deplib "*) + newdeplibs="$newdeplibs $a_deplib" + a_deplib="" + ;; + esac + fi + if test -n "$a_deplib" ; then + libname=`eval \\$echo \"$libname_spec\"` + for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do + potential_libs=`ls $i/$libname[.-]* 2>/dev/null` + for potent_lib in $potential_libs; do + potlib="$potent_lib" # see symlink-check above in file_magic test + if eval $echo \"$potent_lib\" 2>/dev/null \ + | ${SED} 10q \ + | $EGREP "$match_pattern_regex" > /dev/null; then + newdeplibs="$newdeplibs $a_deplib" + a_deplib="" + break 2 + fi + done + done + fi + if test -n "$a_deplib" ; then + droppeddeps=yes + $echo + $echo "*** Warning: linker path does not have real file for library $a_deplib." + $echo "*** I have the capability to make that library automatically link in when" + $echo "*** you link to this library. But I can only do this if you have a" + $echo "*** shared version of the library, which you do not appear to have" + $echo "*** because I did check the linker path looking for a file starting" + if test -z "$potlib" ; then + $echo "*** with $libname but no candidates were found. (...for regex pattern test)" + else + $echo "*** with $libname and none of the candidates passed a file format test" + $echo "*** using a regex pattern. Last file checked: $potlib" + fi + fi + else + # Add a -L argument. + newdeplibs="$newdeplibs $a_deplib" + fi + done # Gone through all deplibs. + ;; + none | unknown | *) + newdeplibs="" + tmp_deplibs=`$echo "X $deplibs" | $Xsed -e 's/ -lc$//' \ + -e 's/ -[LR][^ ]*//g'` + if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then + for i in $predeps $postdeps ; do + # can't use Xsed below, because $i might contain '/' + tmp_deplibs=`$echo "X $tmp_deplibs" | ${SED} -e "1s,^X,," -e "s,$i,,"` + done + fi + if $echo "X $tmp_deplibs" | $Xsed -e 's/[ ]//g' \ + | grep . >/dev/null; then + $echo + if test "X$deplibs_check_method" = "Xnone"; then + $echo "*** Warning: inter-library dependencies are not supported in this platform." + else + $echo "*** Warning: inter-library dependencies are not known to be supported." + fi + $echo "*** All declared inter-library dependencies are being dropped." + droppeddeps=yes + fi + ;; + esac + versuffix=$versuffix_save + major=$major_save + release=$release_save + libname=$libname_save + name=$name_save + + case $host in + *-*-rhapsody* | *-*-darwin1.[012]) + # On Rhapsody replace the C library is the System framework + newdeplibs=`$echo "X $newdeplibs" | $Xsed -e 's/ -lc / System.ltframework /'` + ;; + esac + + if test "$droppeddeps" = yes; then + if test "$module" = yes; then + $echo + $echo "*** Warning: libtool could not satisfy all declared inter-library" + $echo "*** dependencies of module $libname. Therefore, libtool will create" + $echo "*** a static module, that should work as long as the dlopening" + $echo "*** application is linked with the -dlopen flag." + if test -z "$global_symbol_pipe"; then + $echo + $echo "*** However, this would only work if libtool was able to extract symbol" + $echo "*** lists from a program, using \`nm' or equivalent, but libtool could" + $echo "*** not find such a program. So, this module is probably useless." + $echo "*** \`nm' from GNU binutils and a full rebuild may help." + fi + if test "$build_old_libs" = no; then + oldlibs="$output_objdir/$libname.$libext" + build_libtool_libs=module + build_old_libs=yes + else + build_libtool_libs=no + fi + else + $echo "*** The inter-library dependencies that have been dropped here will be" + $echo "*** automatically added whenever a program is linked with this library" + $echo "*** or is declared to -dlopen it." + + if test "$allow_undefined" = no; then + $echo + $echo "*** Since this library must not contain undefined symbols," + $echo "*** because either the platform does not support them or" + $echo "*** it was explicitly requested with -no-undefined," + $echo "*** libtool will only create a static version of it." + if test "$build_old_libs" = no; then + oldlibs="$output_objdir/$libname.$libext" + build_libtool_libs=module + build_old_libs=yes + else + build_libtool_libs=no + fi + fi + fi + fi + # 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'` + dependency_libs=`$echo "X $dependency_libs" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'` + ;; + esac + # Done checking deplibs! + deplibs=$newdeplibs + fi + + # All the library-specific variables (install_libdir is set above). + library_names= + old_library= + dlname= + + # Test again, we may have decided not to build it any more + if test "$build_libtool_libs" = yes; then + if test "$hardcode_into_libs" = yes; then + # Hardcode the library paths + hardcode_libdirs= + dep_rpath= + rpath="$finalize_rpath" + test "$mode" != relink && test "$fast_install" = no && rpath="$compile_rpath$rpath" + for libdir in $rpath; do + if test -n "$hardcode_libdir_flag_spec"; then + if test -n "$hardcode_libdir_separator"; then + if test -z "$hardcode_libdirs"; then + hardcode_libdirs="$libdir" + else + # Just accumulate the unique libdirs. + case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in + *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) + ;; + *) + hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir" + ;; + esac + fi + else + eval flag=\"$hardcode_libdir_flag_spec\" + dep_rpath="$dep_rpath $flag" + fi + elif test -n "$runpath_var"; then + case "$perm_rpath " in + *" $libdir "*) ;; + *) perm_rpath="$perm_rpath $libdir" ;; + esac + fi + done + # Substitute the hardcoded libdirs into the rpath. + if test -n "$hardcode_libdir_separator" && + test -n "$hardcode_libdirs"; then + libdir="$hardcode_libdirs" + if test -n "$hardcode_libdir_flag_spec_ld"; then + eval dep_rpath=\"$hardcode_libdir_flag_spec_ld\" + else + eval dep_rpath=\"$hardcode_libdir_flag_spec\" + fi + fi + if test -n "$runpath_var" && test -n "$perm_rpath"; then + # We should set the runpath_var. + rpath= + for dir in $perm_rpath; do + rpath="$rpath$dir:" + done + eval "$runpath_var='$rpath\$$runpath_var'; export $runpath_var" + fi + test -n "$dep_rpath" && deplibs="$dep_rpath $deplibs" + fi + + shlibpath="$finalize_shlibpath" + test "$mode" != relink && shlibpath="$compile_shlibpath$shlibpath" + if test -n "$shlibpath"; then + eval "$shlibpath_var='$shlibpath\$$shlibpath_var'; export $shlibpath_var" + fi + + # Get the real and link names of the library. + eval shared_ext=\"$shrext\" + eval library_names=\"$library_names_spec\" + set dummy $library_names + realname="$2" + shift; shift + + if test -n "$soname_spec"; then + eval soname=\"$soname_spec\" + else + soname="$realname" + fi + if test -z "$dlname"; then + dlname=$soname + fi + + lib="$output_objdir/$realname" + for link + do + linknames="$linknames $link" + done + + # Use standard objects if they are pic + test -z "$pic_flag" && libobjs=`$echo "X$libobjs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP` + + # 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'" + export_symbols="$output_objdir/$libname.exp" + $run $rm $export_symbols + eval cmds=\"$export_symbols_cmds\" + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" + 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 + else + # The command line is too long to execute in one step. + $show "using reloadable object file for export list..." + skipped_export=: + 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"' + fi + fi + fi + + if test -n "$export_symbols" && test -n "$include_expsyms"; then + $run eval '$echo "X$include_expsyms" | $SP2NL >> "$export_symbols"' + fi + + tmp_deplibs= + for test_deplib in $deplibs; do + case " $convenience " in + *" $test_deplib "*) ;; + *) + tmp_deplibs="$tmp_deplibs $test_deplib" + ;; + esac + done + deplibs="$tmp_deplibs" + + if test -n "$convenience"; then + if test -n "$whole_archive_flag_spec"; then + save_libobjs=$libobjs + eval libobjs=\"\$libobjs $whole_archive_flag_spec\" + else + gentop="$output_objdir/${outputname}x" + $show "${rm}r $gentop" + $run ${rm}r "$gentop" + $show "$mkdir $gentop" + $run $mkdir "$gentop" + status=$? + if test "$status" -ne 0 && test ! -d "$gentop"; then + exit $status + fi + generated="$generated $gentop" + + for xlib in $convenience; do + # Extract the objects. + case $xlib in + [\\/]* | [A-Za-z]:[\\/]*) xabs="$xlib" ;; + *) xabs=`pwd`"/$xlib" ;; + esac + xlib=`$echo "X$xlib" | $Xsed -e 's%^.*/%%'` + xdir="$gentop/$xlib" + + $show "${rm}r $xdir" + $run ${rm}r "$xdir" + $show "$mkdir $xdir" + $run $mkdir "$xdir" + status=$? + if test "$status" -ne 0 && test ! -d "$xdir"; then + exit $status + fi + # We will extract separately just the conflicting names and we will no + # longer touch any unique names. It is faster to leave these extract + # automatically by $AR in one run. + $show "(cd $xdir && $AR x $xabs)" + $run eval "(cd \$xdir && $AR x \$xabs)" || exit $? + if ($AR t "$xabs" | sort | sort -uc >/dev/null 2>&1); then + : + else + $echo "$modename: warning: object name conflicts; renaming object files" 1>&2 + $echo "$modename: warning: to ensure that they will not overwrite" 1>&2 + $AR t "$xabs" | sort | uniq -cd | while read -r count name + do + i=1 + while test "$i" -le "$count" + do + # Put our $i before any first dot (extension) + # Never overwrite any file + name_to="$name" + while test "X$name_to" = "X$name" || test -f "$xdir/$name_to" + do + name_to=`$echo "X$name_to" | $Xsed -e "s/\([^.]*\)/\1-$i/"` + done + $show "(cd $xdir && $AR xN $i $xabs '$name' && $mv '$name' '$name_to')" + $run eval "(cd \$xdir && $AR xN $i \$xabs '$name' && $mv '$name' '$name_to')" || exit $? + i=`expr $i + 1` + done + done + fi + + libobjs="$libobjs "`find $xdir -name \*.$objext -print -o -name \*.lo -print | $NL2SP` + done + fi + fi + + if test "$thread_safe" = yes && test -n "$thread_safe_flag_spec"; then + eval flag=\"$thread_safe_flag_spec\" + linker_flags="$linker_flags $flag" + fi + + # Make a backup of the uninstalled library when relinking + if test "$mode" = relink; then + $run eval '(cd $output_objdir && $rm ${realname}U && $mv $realname ${realname}U)' || exit $? + fi + + # Add all flags from the command line. We here create a library, + # but those flags were only added to compile_command and + # finalize_command, which are only used when creating executables. + # So do it by hand here. + compiler_flags="$compiler_flags $add_flags" + # Only add it to commands which use CC, instead of LD, i.e. + # only to $compiler_flags + #linker_flags="$linker_flags $add_flags" + + # Do each of the archive commands. + if test "$module" = yes && test -n "$module_cmds" ; then + if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then + eval cmds=\"$module_expsym_cmds\" + else + eval cmds=\"$module_cmds\" + fi + else + if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then + eval cmds=\"$archive_expsym_cmds\" + else + eval cmds=\"$archive_cmds\" + fi + fi + + if test "X$skipped_export" != "X:" && len=`expr "X$cmds" : ".*"` && + test "$len" -le "$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..." + + # Save the value of $output and $libobjs because we want to + # use them later. If we have whole_archive_flag_spec, we + # want to use save_libobjs as it was before + # whole_archive_flag_spec was expanded, because we can't + # assume the linker understands whole_archive_flag_spec. + # This may have to be revisited, in case too many + # convenience libraries get linked in and end up exceeding + # the spec. + if test -z "$convenience" || test -z "$whole_archive_flag_spec"; then + save_libobjs=$libobjs + fi + save_output=$output + + # 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/$save_output-${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" : ".*"` && + test "$len" -le "$max_cmd_len"; }; then + objlist="$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\" + fi + last_robj=$output_objdir/$save_output-${k}.$objext + k=`expr $k + 1` + output=$output_objdir/$save_output-${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 reloadale object files + # after they are used. + i=0 + while test "$i" -lt "$k" + do + i=`expr $i + 1` + delfiles="$delfiles $output_objdir/$save_output-${i}.$objext" + done + + $echo "creating a temporary reloadable object file: $output" + + # Loop through the commands generated above and execute them. + save_ifs="$IFS"; IFS='~' + for cmd in $concat_cmds; do + IFS="$save_ifs" + $show "$cmd" + $run eval "$cmd" || exit $? + done + IFS="$save_ifs" + + libobjs=$output + # Restore the value of output. + output=$save_output + + if test -n "$convenience" && test -n "$whole_archive_flag_spec"; then + eval libobjs=\"\$libobjs $whole_archive_flag_spec\" + fi + # Expand the library linking commands again to reset the + # value of $libobjs for piecewise linking. + + # Do each of the archive commands. + if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then + eval cmds=\"$archive_expsym_cmds\" + else + eval cmds=\"$archive_cmds\" + fi + + # Append the command to remove the reloadable object files + # to the just-reset $cmds. + eval cmds=\"\$cmds~$rm $delfiles\" + fi + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" + $show "$cmd" + $run eval "$cmd" || exit $? + done + IFS="$save_ifs" + + # 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 $? + exit 0 + fi + + # 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 $? + fi + done + + # If -module or -export-dynamic was specified, set the dlname. + if test "$module" = yes || test "$export_dynamic" = yes; then + # On all known operating systems, these are identical. + dlname="$soname" + fi + fi + ;; + + obj) + if test -n "$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 + fi + + if test -n "$rpath"; then + $echo "$modename: warning: \`-rpath' is ignored for objects" 1>&2 + fi + + if test -n "$xrpath"; then + $echo "$modename: warning: \`-R' is ignored for objects" 1>&2 + fi + + if test -n "$vinfo"; then + $echo "$modename: warning: \`-version-info' is ignored for objects" 1>&2 + fi + + if test -n "$release"; then + $echo "$modename: warning: \`-release' is ignored for objects" 1>&2 + fi + + 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 1 + fi + libobj="$output" + obj=`$echo "X$output" | $Xsed -e "$lo2o"` + ;; + *) + libobj= + obj="$output" + ;; + esac + + # Delete the old objects. + $run $rm $obj $libobj + + # Objects from convenience libraries. This assumes + # single-version convenience libraries. Whenever we create + # different ones for PIC/non-PIC, this we'll have to duplicate + # the extraction. + reload_conv_objs= + gentop= + # reload_cmds runs $LD directly, so let us get rid of + # -Wl from whole_archive_flag_spec + wl= + + if test -n "$convenience"; then + if test -n "$whole_archive_flag_spec"; then + eval reload_conv_objs=\"\$reload_objs $whole_archive_flag_spec\" + else + gentop="$output_objdir/${obj}x" + $show "${rm}r $gentop" + $run ${rm}r "$gentop" + $show "$mkdir $gentop" + $run $mkdir "$gentop" + status=$? + if test "$status" -ne 0 && test ! -d "$gentop"; then + exit $status + fi + generated="$generated $gentop" + + for xlib in $convenience; do + # Extract the objects. + case $xlib in + [\\/]* | [A-Za-z]:[\\/]*) xabs="$xlib" ;; + *) xabs=`pwd`"/$xlib" ;; + esac + xlib=`$echo "X$xlib" | $Xsed -e 's%^.*/%%'` + xdir="$gentop/$xlib" + + $show "${rm}r $xdir" + $run ${rm}r "$xdir" + $show "$mkdir $xdir" + $run $mkdir "$xdir" + status=$? + if test "$status" -ne 0 && test ! -d "$xdir"; then + exit $status + fi + # We will extract separately just the conflicting names and we will no + # longer touch any unique names. It is faster to leave these extract + # automatically by $AR in one run. + $show "(cd $xdir && $AR x $xabs)" + $run eval "(cd \$xdir && $AR x \$xabs)" || exit $? + if ($AR t "$xabs" | sort | sort -uc >/dev/null 2>&1); then + : + else + $echo "$modename: warning: object name conflicts; renaming object files" 1>&2 + $echo "$modename: warning: to ensure that they will not overwrite" 1>&2 + $AR t "$xabs" | sort | uniq -cd | while read -r count name + do + i=1 + while test "$i" -le "$count" + do + # Put our $i before any first dot (extension) + # Never overwrite any file + name_to="$name" + while test "X$name_to" = "X$name" || test -f "$xdir/$name_to" + do + name_to=`$echo "X$name_to" | $Xsed -e "s/\([^.]*\)/\1-$i/"` + done + $show "(cd $xdir && $AR xN $i $xabs '$name' && $mv '$name' '$name_to')" + $run eval "(cd \$xdir && $AR xN $i \$xabs '$name' && $mv '$name' '$name_to')" || exit $? + i=`expr $i + 1` + done + done + fi + + reload_conv_objs="$reload_objs "`find $xdir -name \*.$objext -print -o -name \*.lo -print | $NL2SP` + done + fi + fi + + # Create the old-style object. + reload_objs="$objs$old_deplibs "`$echo "X$libobjs" | $SP2NL | $Xsed -e '/\.'${libext}$'/d' -e '/\.lib$/d' -e "$lo2o" | $NL2SP`" $reload_conv_objs" ### testsuite: skip nested quoting test + + output="$obj" + eval cmds=\"$reload_cmds\" + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" + $show "$cmd" + $run eval "$cmd" || exit $? + done + IFS="$save_ifs" + + # 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 + fi + + exit 0 + fi + + if test "$build_libtool_libs" != yes; then + if test -n "$gentop"; then + $show "${rm}r $gentop" + $run ${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 $? + exit 0 + fi + + if test -n "$pic_flag" || test "$pic_mode" != default; then + # Only do commands if we really have different PIC objects. + reload_objs="$libobjs $reload_conv_objs" + output="$libobj" + eval cmds=\"$reload_cmds\" + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" + $show "$cmd" + $run eval "$cmd" || exit $? + done + IFS="$save_ifs" + fi + + if test -n "$gentop"; then + $show "${rm}r $gentop" + $run ${rm}r $gentop + fi + + exit 0 + ;; + + prog) + case $host in + *cygwin*) output=`$echo $output | ${SED} -e 's,.exe$,,;s,$,.exe,'` ;; + esac + if test -n "$vinfo"; then + $echo "$modename: warning: \`-version-info' is ignored for programs" 1>&2 + fi + + if test -n "$release"; then + $echo "$modename: warning: \`-release' is ignored for programs" 1>&2 + fi + + 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 + + case $host in + *-*-rhapsody* | *-*-darwin1.[012]) + # On Rhapsody replace the C library is the System framework + compile_deplibs=`$echo "X $compile_deplibs" | $Xsed -e 's/ -lc / System.ltframework /'` + finalize_deplibs=`$echo "X $finalize_deplibs" | $Xsed -e 's/ -lc / System.ltframework /'` + ;; + esac + + case $host in + *-*-darwin*) + # Don't allow lazy linking, it breaks C++ global constructors + if test "$tagname" = CXX ; then + compile_command="$compile_command ${wl}-bind_at_load" + finalize_command="$finalize_command ${wl}-bind_at_load" + 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 + + compile_command="$compile_command $compile_deplibs" + finalize_command="$finalize_command $finalize_deplibs" + + if test -n "$rpath$xrpath"; then + # If the user specified any rpath flags, then add them. + for libdir in $rpath $xrpath; do + # This is the magic to use -rpath. + case "$finalize_rpath " in + *" $libdir "*) ;; + *) finalize_rpath="$finalize_rpath $libdir" ;; + esac + done + fi + + # Now hardcode the library paths + rpath= + hardcode_libdirs= + for libdir in $compile_rpath $finalize_rpath; do + if test -n "$hardcode_libdir_flag_spec"; then + if test -n "$hardcode_libdir_separator"; then + if test -z "$hardcode_libdirs"; then + hardcode_libdirs="$libdir" + else + # Just accumulate the unique libdirs. + case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in + *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) + ;; + *) + hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir" + ;; + esac + fi + else + eval flag=\"$hardcode_libdir_flag_spec\" + rpath="$rpath $flag" + fi + elif test -n "$runpath_var"; then + case "$perm_rpath " in + *" $libdir "*) ;; + *) perm_rpath="$perm_rpath $libdir" ;; + esac + fi + case $host in + *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*) + case :$dllsearchpath: in + *":$libdir:"*) ;; + *) dllsearchpath="$dllsearchpath:$libdir";; + esac + ;; + esac + done + # Substitute the hardcoded libdirs into the rpath. + if test -n "$hardcode_libdir_separator" && + test -n "$hardcode_libdirs"; then + libdir="$hardcode_libdirs" + eval rpath=\" $hardcode_libdir_flag_spec\" + fi + compile_rpath="$rpath" + + rpath= + hardcode_libdirs= + for libdir in $finalize_rpath; do + if test -n "$hardcode_libdir_flag_spec"; then + if test -n "$hardcode_libdir_separator"; then + if test -z "$hardcode_libdirs"; then + hardcode_libdirs="$libdir" + else + # Just accumulate the unique libdirs. + case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in + *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) + ;; + *) + hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir" + ;; + esac + fi + else + eval flag=\"$hardcode_libdir_flag_spec\" + rpath="$rpath $flag" + fi + elif test -n "$runpath_var"; then + case "$finalize_perm_rpath " in + *" $libdir "*) ;; + *) finalize_perm_rpath="$finalize_perm_rpath $libdir" ;; + esac + fi + done + # Substitute the hardcoded libdirs into the rpath. + if test -n "$hardcode_libdir_separator" && + test -n "$hardcode_libdirs"; then + libdir="$hardcode_libdirs" + eval rpath=\" $hardcode_libdir_flag_spec\" + fi + finalize_rpath="$rpath" + + if test -n "$libobjs" && test "$build_old_libs" = yes; then + # Transform all the library objects into standard objects. + compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP` + finalize_command=`$echo "X$finalize_command" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP` + fi + + 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 + + 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/$output.exp" + $run $rm $export_symbols + $run eval "${SED} -n -e '/^: @PROGRAM@$/d' -e 's/^.* \(.*\)$/\1/p' "'< "$nlist" > "$export_symbols"' + else + $run eval "${SED} -e 's/\([][.*^$]\)/\\\1/g' -e 's/^/ /' -e 's/$/$/'"' < "$export_symbols" > "$output_objdir/$output.exp"' + $run eval 'grep -f "$output_objdir/$output.exp" < "$nlist" > "$nlist"T' + $run eval 'mv "$nlist"T "$nlist"' + 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 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. */ +const struct { + 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 -c$no_builtin_flag$pic_flag_for_symtable \"$dlsyms\")" + $run eval '(cd $output_objdir && $LTCC -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. + compile_command=`$echo "X$compile_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%"` + finalize_command=`$echo "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%"` + ;; + *) + $echo "$modename: unknown suffix for \`$dlsyms'" 1>&2 + exit 1 + ;; + 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 + + # AIX runtime linking requires linking programs with -Wl,-brtl and libs with -Wl,-G + # Also add -bnolibpath to the beginning of the link line, to clear the hardcoded runpath. + # Otherwise, things like the -L path to libgcc.a are accidentally hardcoded by ld. + # This does not apply on AIX for ia64, which uses a SysV linker. + case "$host" in + ia64-*-aix5*) ;; + *-*-aix4* | *-*-aix5*) + compile_command=`$echo "X$compile_command $wl-brtl" | $Xsed -e "s/\$CC/\$CC $wl-bnolibpath/1"` + finalize_command=`$echo "X$finalize_command $wl-brtl" | $Xsed -e "s/\$CC/\$CC $wl-bnolibpath/1"` ;; + esac + + if test "$need_relink" = no || test "$build_libtool_libs" != yes; then + # Replace the output file specification. + compile_command=`$echo "X$compile_command" | $Xsed -e 's%@OUTPUT@%'"$output"'%g'` + link_command="$compile_command$compile_rpath" + + # We have no uninstalled library dependencies, so finalize right now. + $show "$link_command" + $run eval "$link_command" + status=$? + + # Delete the generated files. + if test -n "$dlsyms"; then + $show "$rm $output_objdir/${outputname}S.${objext}" + $run $rm "$output_objdir/${outputname}S.${objext}" + fi + + 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 + if test -n "$finalize_shlibpath"; then + finalize_command="$shlibpath_var=\"$finalize_shlibpath\$$shlibpath_var\" $finalize_command" + fi + + compile_var= + finalize_var= + if test -n "$runpath_var"; then + if test -n "$perm_rpath"; then + # We should set the runpath_var. + rpath= + for dir in $perm_rpath; do + rpath="$rpath$dir:" + done + compile_var="$runpath_var=\"$rpath\$$runpath_var\" " + fi + if test -n "$finalize_perm_rpath"; then + # We should set the runpath_var. + rpath= + for dir in $finalize_perm_rpath; do + rpath="$rpath$dir:" + done + finalize_var="$runpath_var=\"$rpath\$$runpath_var\" " + fi + fi + + if test "$no_install" = yes; then + # We don't need to create a wrapper script. + link_command="$compile_var$compile_command$compile_rpath" + # Replace the output file specification. + link_command=`$echo "X$link_command" | $Xsed -e 's%@OUTPUT@%'"$output"'%g'` + # Delete the old output file. + $run $rm $output + # Link the executable and exit + $show "$link_command" + $run eval "$link_command" || exit $? + exit 0 + fi + + if test "$hardcode_action" = relink; then + # Fast installation is not supported + link_command="$compile_var$compile_command$compile_rpath" + relink_command="$finalize_var$finalize_command$finalize_rpath" + + $echo "$modename: warning: this platform does not like uninstalled shared libraries" 1>&2 + $echo "$modename: \`$output' will be relinked during installation" 1>&2 + else + if test "$fast_install" != no; then + link_command="$finalize_var$compile_command$finalize_rpath" + if test "$fast_install" = yes; then + relink_command=`$echo "X$compile_var$compile_command$compile_rpath" | $Xsed -e 's%@OUTPUT@%\$progdir/\$file%g'` + else + # fast_install is set to needless + relink_command= + fi + else + link_command="$compile_var$compile_command$compile_rpath" + relink_command="$finalize_var$finalize_command$finalize_rpath" + fi + fi + + # Replace the output file specification. + link_command=`$echo "X$link_command" | $Xsed -e 's%@OUTPUT@%'"$output_objdir/$outputname"'%g'` + + # Delete the old output files. + $run $rm $output $output_objdir/$outputname $output_objdir/lt-$outputname + + $show "$link_command" + $run eval "$link_command" || exit $? + + # Now create the wrapper script. + $show "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" + 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" + fi + done + relink_command="(cd `pwd`; $relink_command)" + relink_command=`$echo "X$relink_command" | $Xsed -e "$sed_quote_subst"` + fi + + # Quote $echo for shipping. + if test "X$echo" = "X$SHELL $0 --fallback-echo"; then + case $0 in + [\\/]* | [A-Za-z]:[\\/]*) qecho="$SHELL $0 --fallback-echo";; + *) qecho="$SHELL `pwd`/$0 --fallback-echo";; + esac + qecho=`$echo "X$qecho" | $Xsed -e "$sed_quote_subst"` + else + qecho=`$echo "X$echo" | $Xsed -e "$sed_quote_subst"` + fi + + # Only actually do things if our run command is non-null. + if test -z "$run"; then + # 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$,,'` ;; + esac + # test for cygwin because mv fails w/o .exe extensions + case $host in + *cygwin*) + exeext=.exe + outputname=`$echo $outputname|${SED} 's,.exe$,,'` ;; + *) exeext= ;; + esac + case $host in + *cygwin* | *mingw* ) + cwrappersource=`$echo ${objdir}/lt-${output}.c` + cwrapper=`$echo ${output}.exe` + $rm $cwrappersource $cwrapper + trap "$rm $cwrappersource $cwrapper; exit 1" 1 2 15 + + cat > $cwrappersource <> $cwrappersource<<"EOF" +#include +#include +#include +#include +#include +#include + +#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 '/' +#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 +#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 */ + +#define XMALLOC(type, num) ((type *) xmalloc ((num) * sizeof(type))) +#define XFREE(stale) do { \ + if (stale) { free ((void *) stale); stale = 0; } \ +} while (0) + +const char *program_name = NULL; + +void * xmalloc (size_t num); +char * xstrdup (const char *string); +char * basename (const char *name); +char * fnqualify(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 ((char *) basename (argv[0])); + newargz = XMALLOC(char *, argc+2); +EOF + + cat >> $cwrappersource <> $cwrappersource <<"EOF" + newargz[1] = fnqualify(argv[0]); + /* 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; +EOF + + cat >> $cwrappersource <> $cwrappersource <<"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 +; +} + +char * +basename (const char *name) +{ + const char *base; + +#if defined (HAVE_DOS_BASED_FILE_SYSTEM) + /* Skip over the disk name in MSDOS pathnames. */ + if (isalpha (name[0]) && name[1] == ':') + name += 2; +#endif + + for (base = name; *name; name++) + if (IS_DIR_SEPARATOR (*name)) + base = name + 1; + return (char *) base; +} + +char * +fnqualify(const char *path) +{ + size_t size; + char *p; + char tmp[LT_PATHMAX + 1]; + + assert(path != NULL); + + /* Is it qualified already? */ +#if defined (HAVE_DOS_BASED_FILE_SYSTEM) + if (isalpha (path[0]) && path[1] == ':') + return xstrdup (path); +#endif + if (IS_DIR_SEPARATOR (path[0])) + return xstrdup (path); + + /* prepend the current directory */ + /* doesn't handle '~' */ + if (getcwd (tmp, LT_PATHMAX) == NULL) + lt_fatal ("getcwd failed"); + size = strlen(tmp) + 1 + strlen(path) + 1; /* +2 for '/' and '\0' */ + p = XMALLOC(char, size); + sprintf(p, "%s%c%s", tmp, DIR_SEPARATOR, path); + return p; +} + +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 -s -o $cwrapper $cwrappersource + ;; + esac + $rm $output + trap "$rm $output; exit 1" 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' + +# The HP-UX ksh and POSIX shell print the target directory to stdout +# if CDPATH is set. +if test \"\${CDPATH+set}\" = set; then CDPATH=:; export CDPATH; fi + +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 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 >> $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 + + $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+\"\$@\"} +" + ;; + + *) + # Need to set LD_LIBRARY_PATH, to the value already + # computed within libtool. + $echo >> $output "\ + LD_LIBRARY_PATH=\"$rpath\" exec \$progdir/\$program \${1+\"\$@\"} +" + ;; + esac + $echo >> $output "\ + \$echo \"\$0: cannot exec \$program \${1+\"\$@\"}\" + 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\ +" + chmod +x $output + fi + exit 0 + ;; + esac + + # See if we need to build an old-fashioned archive. + for oldlib in $oldlibs; do + + if test "$build_libtool_libs" = convenience; then + oldobjs="$libobjs_save" + addlibs="$convenience" + build_libtool_libs=no + else + if test "$build_libtool_libs" = module; then + oldobjs="$libobjs_save" + build_libtool_libs=no + else + oldobjs="$old_deplibs $non_pic_objects" + fi + addlibs="$old_convenience" + fi + + if test -n "$addlibs"; then + gentop="$output_objdir/${outputname}x" + $show "${rm}r $gentop" + $run ${rm}r "$gentop" + $show "$mkdir $gentop" + $run $mkdir "$gentop" + status=$? + if test "$status" -ne 0 && test ! -d "$gentop"; then + exit $status + fi + generated="$generated $gentop" + + # Add in members from convenience archives. + for xlib in $addlibs; do + # Extract the objects. + case $xlib in + [\\/]* | [A-Za-z]:[\\/]*) xabs="$xlib" ;; + *) xabs=`pwd`"/$xlib" ;; + esac + xlib=`$echo "X$xlib" | $Xsed -e 's%^.*/%%'` + xdir="$gentop/$xlib" + + $show "${rm}r $xdir" + $run ${rm}r "$xdir" + $show "$mkdir $xdir" + $run $mkdir "$xdir" + status=$? + if test "$status" -ne 0 && test ! -d "$xdir"; then + exit $status + fi + # We will extract separately just the conflicting names and we will no + # longer touch any unique names. It is faster to leave these extract + # automatically by $AR in one run. + $show "(cd $xdir && $AR x $xabs)" + $run eval "(cd \$xdir && $AR x \$xabs)" || exit $? + if ($AR t "$xabs" | sort | sort -uc >/dev/null 2>&1); then + : + else + $echo "$modename: warning: object name conflicts; renaming object files" 1>&2 + $echo "$modename: warning: to ensure that they will not overwrite" 1>&2 + $AR t "$xabs" | sort | uniq -cd | while read -r count name + do + i=1 + while test "$i" -le "$count" + do + # Put our $i before any first dot (extension) + # Never overwrite any file + name_to="$name" + while test "X$name_to" = "X$name" || test -f "$xdir/$name_to" + do + name_to=`$echo "X$name_to" | $Xsed -e "s/\([^.]*\)/\1-$i/"` + done + $show "(cd $xdir && $AR xN $i $xabs '$name' && $mv '$name' '$name_to')" + $run eval "(cd \$xdir && $AR xN $i \$xabs '$name' && $mv '$name' '$name_to')" || exit $? + i=`expr $i + 1` + done + done + fi + + oldobjs="$oldobjs "`find $xdir -name \*.${objext} -print -o -name \*.lo -print | $NL2SP` + done + fi + + compiler_flags="$compiler_flags $add_flags" + + # Do each command in the archive commands. + if test -n "$old_archive_from_new_cmds" && test "$build_libtool_libs" = yes; then + eval cmds=\"$old_archive_from_new_cmds\" + else + eval cmds=\"$old_archive_cmds\" + + if len=`expr "X$cmds" : ".*"` && + test "$len" -le "$max_cmd_len" || test "$max_cmd_len" -le -1; then + : + else + # the command line is too long to link in one step, link in parts + $echo "using piecewise archive linking..." + save_RANLIB=$RANLIB + RANLIB=: + objlist= + concat_cmds= + save_oldobjs=$oldobjs + # GNU ar 2.10+ was changed to match POSIX; thus no paths are + # encoded into archives. This makes 'ar r' malfunction in + # this piecewise linking case whenever conflicting object + # names appear in distinct ar calls; check, warn and compensate. + if (for obj in $save_oldobjs + do + $echo "X$obj" | $Xsed -e 's%^.*/%%' + done | sort | sort -uc >/dev/null 2>&1); then + : + else + $echo "$modename: warning: object name conflicts; overriding AR_FLAGS to 'cq'" 1>&2 + $echo "$modename: warning: to ensure that POSIX-compatible ar will work" 1>&2 + AR_FLAGS=cq + fi + # Is there a better way of finding the last object in the list? + for obj in $save_oldobjs + do + last_oldobj=$obj + done + for obj in $save_oldobjs + do + oldobjs="$objlist $obj" + objlist="$objlist $obj" + eval test_cmds=\"$old_archive_cmds\" + if len=`expr "X$test_cmds" : ".*"` && + test "$len" -le "$max_cmd_len"; then + : + else + # the above command should be used before it gets too long + oldobjs=$objlist + if test "$obj" = "$last_oldobj" ; then + RANLIB=$save_RANLIB + fi + test -z "$concat_cmds" || concat_cmds=$concat_cmds~ + eval concat_cmds=\"\${concat_cmds}$old_archive_cmds\" + objlist= + fi + done + RANLIB=$save_RANLIB + oldobjs=$objlist + if test "X$oldobjs" = "X" ; then + eval cmds=\"\$concat_cmds\" + else + eval cmds=\"\$concat_cmds~$old_archive_cmds\" + fi + fi + fi + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" + $show "$cmd" + $run eval "$cmd" || exit $? + done + IFS="$save_ifs" + done + + if test -n "$generated"; then + $show "${rm}r$generated" + $run ${rm}r$generated + fi + + # Now create the libtool archive. + case $output in + *.la) + old_library= + test "$build_old_libs" = yes && old_library="$libname.$libext" + $show "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" + 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" + fi + done + # Quote the link command for shipping. + relink_command="(cd `pwd`; $SHELL $0 --mode=relink $libtool_args @inst_prefix_dir@)" + relink_command=`$echo "X$relink_command" | $Xsed -e "$sed_quote_subst"` + if test "$hardcode_automatic" = yes ; then + relink_command= + fi + # Only create the output if not a dry run. + if test -z "$run"; then + for installed in no yes; do + if test "$installed" = yes; then + if test -z "$install_libdir"; then + break + fi + output="$output_objdir/$outputname"i + # Replace all uninstalled libtool libraries with the installed ones + newdependency_libs= + for deplib in $dependency_libs; do + case $deplib in + *.la) + name=`$echo "X$deplib" | $Xsed -e 's%^.*/%%'` + 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 1 + fi + newdependency_libs="$newdependency_libs $libdir/$name" + ;; + *) newdependency_libs="$newdependency_libs $deplib" ;; + esac + 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 1 + fi + newdlfiles="$newdlfiles $libdir/$name" + 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 1 + fi + newdlprefiles="$newdlprefiles $libdir/$name" + done + dlprefiles="$newdlprefiles" + fi + $rm $output + # place dlname in correct position for cygwin + tdlname=$dlname + case $host,$output,$installed,$module,$dlname in + *cygwin*,*lai,yes,no,*.dll | *mingw*,*lai,yes,no,*.dll) tdlname=../bin/$dlname ;; + esac + $echo > $output "\ +# $outputname - a libtool library file +# Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP +# +# Please DO NOT delete this file! +# It is necessary for linking the library. + +# The name that we can dlopen(3). +dlname='$tdlname' + +# Names of this library. +library_names='$library_names' + +# The name of the static archive. +old_library='$old_library' + +# Libraries that this one depends upon. +dependency_libs='$dependency_libs' + +# Version information for $libname. +current=$current +age=$age +revision=$revision + +# Is this an already installed library? +installed=$installed + +# Should we warn about portability when linking against -modules? +shouldnotlink=$module + +# Files to dlopen/dlpreopen +dlopen='$dlfiles' +dlpreopen='$dlprefiles' + +# Directory that this library needs to be installed in: +libdir='$install_libdir'" + if test "$installed" = no && test "$need_relink" = yes && test "$fast_install" = no; then + $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 $? + ;; + esac + exit 0 + ;; + + # 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" | $Xsed | 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) prev="-f" ;; + -g) prev="-g" ;; + -m) prev="-m" ;; + -o) prev="-o" ;; + -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 1 + fi + + if test -n "$prev"; then + $echo "$modename: the \`$prev' option requires an argument" 1>&2 + $echo "$help" 1>&2 + exit 1 + 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 1 + 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 1 + 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 1 + ;; + 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 1 + 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 1 + fi + + if test -n "$inst_prefix_dir"; then + # Stick the inst_prefix_dir data into the link command. + relink_command=`$echo "$relink_command" | $SED "s%@inst_prefix_dir@%-inst-prefix-dir $inst_prefix_dir%"` + else + relink_command=`$echo "$relink_command" | $SED "s%@inst_prefix_dir@%%"` + 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 1 + 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. + for linkname + do + if test "$linkname" != "$realname"; then + $show "(cd $destdir && $rm $linkname && $LN_S $realname $linkname)" + $run eval "(cd $destdir && $rm $linkname && $LN_S $realname $linkname)" + fi + done + fi + + # Do each command in the postinstall commands. + lib="$destdir/$realname" + eval cmds=\"$postinstall_cmds\" + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" + $show "$cmd" + $run eval "$cmd" || 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 1 + ;; + 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 0 + ;; + + *) + # 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= + + # To insure that "foo" is sourced, and not "foo.exe", + # finese the cygwin/MSYS system by explicitly sourcing "foo." + # which disallows the automatic-append-.exe behavior. + case $build in + *cygwin* | *mingw*) wrapperdot=${wrapper}. ;; + *) wrapperdot=${wrapper} ;; + esac + # If there is no directory component, then add one. + case $file in + */* | *\\*) . ${wrapperdot} ;; + *) . ./${wrapperdot} ;; + 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 1 + 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= + # To insure that "foo" is sourced, and not "foo.exe", + # finese the cygwin/MSYS system by explicitly sourcing "foo." + # which disallows the automatic-append-.exe behavior. + case $build in + *cygwin* | *mingw*) wrapperdot=${wrapper}. ;; + *) wrapperdot=${wrapper} ;; + esac + # If there is no directory component, then add one. + case $file in + */* | *\\*) . ${wrapperdot} ;; + *) . ./${wrapperdot} ;; + esac + + outputname= + if test "$fast_install" = no && test -n "$relink_command"; then + if test "$finalize" = yes && test -z "$run"; then + tmpdir="/tmp" + test -n "$TMPDIR" && tmpdir="$TMPDIR" + tmpdir="$tmpdir/libtool-$$" + if $mkdir "$tmpdir" && chmod 700 "$tmpdir"; then : + else + $echo "$modename: error: cannot create temporary directory \`$tmpdir'" 1>&2 + continue + fi + file=`$echo "X$file$stripped_ext" | $Xsed -e 's%^.*/%%'` + outputname="$tmpdir/$file" + # Replace the output file specification. + relink_command=`$echo "X$relink_command" | $Xsed -e 's%@OUTPUT@%'"$outputname"'%g'` + + $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 anyways + 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 "$striplib"; then + $show "$old_striplib $oldlib" + $run eval "$old_striplib $oldlib" || exit $? + fi + + # Do each command in the postinstall commands. + eval cmds=\"$old_postinstall_cmds\" + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" + $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 $0 --finish$current_libdirs' + else + exit 0 + 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. + eval cmds=\"$finish_cmds\" + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" + $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. + exit 0 + + $echo "----------------------------------------------------------------------" + $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 "----------------------------------------------------------------------" + exit 0 + ;; + + # 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 1 + 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 1 + 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 1 + 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 + $echo "$modename: cannot find \`$dlname' in \`$dir' or \`$dir/$objdir'" 1>&2 + exit 1 + 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 + + # Restore saved environment variables + if test "${save_LC_ALL+set}" = set; then + LC_ALL="$save_LC_ALL"; export LC_ALL + fi + if test "${save_LANG+set}" = set; then + LANG="$save_LANG"; export LANG + fi + + # 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 0 + fi + ;; + + # libtool clean and uninstall mode + clean | uninstall) + modename="$modename: $mode" + rm="$nonopt" + files= + rmforce= + exit_status=0 + + # This variable tells wrapper scripts just to set variables rather + # than running their programs. + libtool_install_magic="$magic" + + for arg + do + case $arg in + -f) rm="$rm $arg"; rmforce=yes ;; + -*) rm="$rm $arg" ;; + *) files="$files $arg" ;; + esac + done + + if test -z "$rm"; then + $echo "$modename: you must specify an RM program" 1>&2 + $echo "$help" 1>&2 + exit 1 + fi + + rmdirs= + + origobjdir="$objdir" + for file in $files; do + dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'` + if test "X$dir" = "X$file"; then + dir=. + objdir="$origobjdir" + else + objdir="$dir/$origobjdir" + fi + name=`$echo "X$file" | $Xsed -e 's%^.*/%%'` + test "$mode" = uninstall && objdir="$dir" + + # Remember objdir for removal later, being careful to avoid duplicates + if test "$mode" = clean; then + case " $rmdirs " in + *" $objdir "*) ;; + *) rmdirs="$rmdirs $objdir" ;; + esac + fi + + # Don't error if the file doesn't exist and rm -f was used. + if (test -L "$file") >/dev/null 2>&1 \ + || (test -h "$file") >/dev/null 2>&1 \ + || test -f "$file"; then + : + elif test -d "$file"; then + exit_status=1 + continue + elif test "$rmforce" = yes; then + continue + fi + + rmfiles="$file" + + case $name in + *.la) + # Possibly a libtool archive, so verify it. + if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then + . $dir/$name + + # Delete the libtool libraries and symlinks. + for n in $library_names; do + rmfiles="$rmfiles $objdir/$n" + done + test -n "$old_library" && rmfiles="$rmfiles $objdir/$old_library" + test "$mode" = clean && rmfiles="$rmfiles $objdir/$name $objdir/${name}i" + + if test "$mode" = uninstall; then + if test -n "$library_names"; then + # Do each command in the postuninstall commands. + eval cmds=\"$postuninstall_cmds\" + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" + $show "$cmd" + $run eval "$cmd" + if test "$?" -ne 0 && test "$rmforce" != yes; then + exit_status=1 + fi + done + IFS="$save_ifs" + fi + + if test -n "$old_library"; then + # Do each command in the old_postuninstall commands. + eval cmds=\"$old_postuninstall_cmds\" + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" + $show "$cmd" + $run eval "$cmd" + if test "$?" -ne 0 && test "$rmforce" != yes; then + exit_status=1 + fi + done + IFS="$save_ifs" + fi + # FIXME: should reinstall the best remaining shared library. + fi + fi + ;; + + *.lo) + # Possibly a libtool object, so verify it. + if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then + + # Read the .lo file + . $dir/$name + + # Add PIC object to the list of files to remove. + if test -n "$pic_object" \ + && test "$pic_object" != none; then + rmfiles="$rmfiles $dir/$pic_object" + fi + + # Add non-PIC object to the list of files to remove. + if test -n "$non_pic_object" \ + && test "$non_pic_object" != none; then + rmfiles="$rmfiles $dir/$non_pic_object" + fi + fi + ;; + + *) + if test "$mode" = clean ; then + noexename=$name + case $file in + *.exe) + file=`$echo $file|${SED} 's,.exe$,,'` + noexename=`$echo $name|${SED} 's,.exe$,,'` + # $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 + + # note $name still contains .exe if it was in $file originally + # as does the version of $file that was added into $rmfiles + rmfiles="$rmfiles $objdir/$name $objdir/${name}S.${objext}" + if test "$fast_install" = yes && test -n "$relink_command"; then + rmfiles="$rmfiles $objdir/lt-$name" + fi + if test "X$noexename" != "X$name" ; then + rmfiles="$rmfiles $objdir/lt-${noexename}.c" + fi + fi + fi + ;; + esac + $show "$rm $rmfiles" + $run $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 + fi + done + + exit $exit_status + ;; + + "") + $echo "$modename: you must specify a MODE" 1>&2 + $echo "$generic_help" 1>&2 + exit 1 + ;; + esac + + if test -z "$exec_cmd"; then + $echo "$modename: invalid operation mode \`$mode'" 1>&2 + $echo "$generic_help" 1>&2 + exit 1 + fi +fi # test -z "$show_help" + +if test -n "$exec_cmd"; then + eval exec $exec_cmd + exit 1 +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 ." + exit 0 + ;; + +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." + ;; + +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 + -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 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 1 + ;; +esac + +$echo +$echo "Try \`$modename --help' for more information about other modes." + +exit 0 + +# The TAGs below are defined such that we never get into a situation +# in which we disable both kinds of libraries. Given conflicting +# choices, we go for a static library, that is the most portable, +# since we can't tell whether shared libraries were disabled because +# the user asked for that or because the platform doesn't support +# them. This is particularly important on AIX, because we don't +# support having both static and shared libraries enabled at the same +# time on that platform, so we default to a shared-only configuration. +# If a disable-shared tag is given, we'll fallback to a static-only +# configuration. But we'll never go from static-only to shared-only. + +# ### BEGIN LIBTOOL TAG CONFIG: disable-shared +build_libtool_libs=no +build_old_libs=yes +# ### END LIBTOOL TAG CONFIG: disable-shared + +# ### BEGIN LIBTOOL TAG CONFIG: disable-static +build_old_libs=`case $build_libtool_libs in yes) $echo no;; *) $echo yes;; esac` +# ### END LIBTOOL TAG CONFIG: disable-static + +# Local Variables: +# mode:shell-script +# sh-indentation:2 +# End: diff --git a/admin/missing b/admin/missing new file mode 100755 index 0000000..6a37006 --- /dev/null +++ b/admin/missing @@ -0,0 +1,336 @@ +#! /bin/sh +# Common stub for a few missing GNU programs while installing. +# Copyright (C) 1996, 1997, 1999, 2000, 2002 Free Software Foundation, Inc. +# Originally by Fran,cois Pinard , 1996. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that program. + +if test $# -eq 0; then + echo 1>&2 "Try \`$0 --help' for more information" + exit 1 +fi + +run=: + +# In the cases where this matters, `missing' is being run in the +# srcdir already. +if test -f configure.ac; then + configure_ac=configure.ac +else + configure_ac=configure.in +fi + +case "$1" in +--run) + # Try to run requested program, and just exit if it succeeds. + run= + shift + "$@" && exit 0 + ;; +esac + +# If it does not exist, or fails to run (possibly an outdated version), +# try to emulate it. +case "$1" in + + -h|--h|--he|--hel|--help) + echo "\ +$0 [OPTION]... PROGRAM [ARGUMENT]... + +Handle \`PROGRAM [ARGUMENT]...' for when PROGRAM is missing, or return an +error status if there is no known handling for PROGRAM. + +Options: + -h, --help display this help and exit + -v, --version output version information and exit + --run try to run the given command, and emulate it if it fails + +Supported PROGRAM values: + aclocal touch file \`aclocal.m4' + autoconf touch file \`configure' + autoheader touch file \`config.h.in' + automake touch all \`Makefile.in' files + bison create \`y.tab.[ch]', if possible, from existing .[ch] + flex create \`lex.yy.c', if possible, from existing .c + help2man touch the output file + lex create \`lex.yy.c', if possible, from existing .c + makeinfo touch the output file + tar try tar, gnutar, gtar, then tar without non-portable flags + yacc create \`y.tab.[ch]', if possible, from existing .[ch]" + ;; + + -v|--v|--ve|--ver|--vers|--versi|--versio|--version) + echo "missing 0.4 - GNU automake" + ;; + + -*) + echo 1>&2 "$0: Unknown \`$1' option" + echo 1>&2 "Try \`$0 --help' for more information" + exit 1 + ;; + + aclocal*) + if test -z "$run" && ($1 --version) > /dev/null 2>&1; then + # We have it, but it failed. + exit 1 + fi + + echo 1>&2 "\ +WARNING: \`$1' is missing on your system. You should only need it if + you modified \`acinclude.m4' or \`${configure_ac}'. You might want + to install the \`Automake' and \`Perl' packages. Grab them from + any GNU archive site." + touch aclocal.m4 + ;; + + autoconf) + if test -z "$run" && ($1 --version) > /dev/null 2>&1; then + # We have it, but it failed. + exit 1 + fi + + echo 1>&2 "\ +WARNING: \`$1' is missing on your system. You should only need it if + you modified \`${configure_ac}'. You might want to install the + \`Autoconf' and \`GNU m4' packages. Grab them from any GNU + archive site." + touch configure + ;; + + autoheader) + if test -z "$run" && ($1 --version) > /dev/null 2>&1; then + # We have it, but it failed. + exit 1 + fi + + echo 1>&2 "\ +WARNING: \`$1' is missing on your system. You should only need it if + you modified \`acconfig.h' or \`${configure_ac}'. You might want + to install the \`Autoconf' and \`GNU m4' packages. Grab them + from any GNU archive site." + files=`sed -n 's/^[ ]*A[CM]_CONFIG_HEADER(\([^)]*\)).*/\1/p' ${configure_ac}` + test -z "$files" && files="config.h" + touch_files= + for f in $files; do + case "$f" in + *:*) touch_files="$touch_files "`echo "$f" | + sed -e 's/^[^:]*://' -e 's/:.*//'`;; + *) touch_files="$touch_files $f.in";; + esac + done + touch $touch_files + ;; + + automake*) + if test -z "$run" && ($1 --version) > /dev/null 2>&1; then + # We have it, but it failed. + exit 1 + fi + + echo 1>&2 "\ +WARNING: \`$1' is missing on your system. You should only need it if + you modified \`Makefile.am', \`acinclude.m4' or \`${configure_ac}'. + You might want to install the \`Automake' and \`Perl' packages. + Grab them from any GNU archive site." + find . -type f -name Makefile.am -print | + sed 's/\.am$/.in/' | + while read f; do touch "$f"; done + ;; + + autom4te) + if test -z "$run" && ($1 --version) > /dev/null 2>&1; then + # We have it, but it failed. + exit 1 + fi + + echo 1>&2 "\ +WARNING: \`$1' is needed, and you do not seem to have it handy on your + system. You might have modified some files without having the + proper tools for further handling them. + You can get \`$1Help2man' as part of \`Autoconf' from any GNU + archive site." + + file=`echo "$*" | sed -n 's/.*--output[ =]*\([^ ]*\).*/\1/p'` + test -z "$file" && file=`echo "$*" | sed -n 's/.*-o[ ]*\([^ ]*\).*/\1/p'` + if test -f "$file"; then + touch $file + else + test -z "$file" || exec >$file + echo "#! /bin/sh" + echo "# Created by GNU Automake missing as a replacement of" + echo "# $ $@" + echo "exit 0" + chmod +x $file + exit 1 + fi + ;; + + bison|yacc) + echo 1>&2 "\ +WARNING: \`$1' is missing on your system. You should only need it if + you modified a \`.y' file. You may need the \`Bison' package + in order for those modifications to take effect. You can get + \`Bison' from any GNU archive site." + rm -f y.tab.c y.tab.h + if [ $# -ne 1 ]; then + eval LASTARG="\${$#}" + case "$LASTARG" in + *.y) + SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'` + if [ -f "$SRCFILE" ]; then + cp "$SRCFILE" y.tab.c + fi + SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'` + if [ -f "$SRCFILE" ]; then + cp "$SRCFILE" y.tab.h + fi + ;; + esac + fi + if [ ! -f y.tab.h ]; then + echo >y.tab.h + fi + if [ ! -f y.tab.c ]; then + echo 'main() { return 0; }' >y.tab.c + fi + ;; + + lex|flex) + echo 1>&2 "\ +WARNING: \`$1' is missing on your system. You should only need it if + you modified a \`.l' file. You may need the \`Flex' package + in order for those modifications to take effect. You can get + \`Flex' from any GNU archive site." + rm -f lex.yy.c + if [ $# -ne 1 ]; then + eval LASTARG="\${$#}" + case "$LASTARG" in + *.l) + SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'` + if [ -f "$SRCFILE" ]; then + cp "$SRCFILE" lex.yy.c + fi + ;; + esac + fi + if [ ! -f lex.yy.c ]; then + echo 'main() { return 0; }' >lex.yy.c + fi + ;; + + help2man) + if test -z "$run" && ($1 --version) > /dev/null 2>&1; then + # We have it, but it failed. + exit 1 + fi + + echo 1>&2 "\ +WARNING: \`$1' is missing on your system. You should only need it if + you modified a dependency of a manual page. You may need the + \`Help2man' package in order for those modifications to take + effect. You can get \`Help2man' from any GNU archive site." + + file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'` + if test -z "$file"; then + file=`echo "$*" | sed -n 's/.*--output=\([^ ]*\).*/\1/p'` + fi + if [ -f "$file" ]; then + touch $file + else + test -z "$file" || exec >$file + echo ".ab help2man is required to generate this page" + exit 1 + fi + ;; + + makeinfo) + if test -z "$run" && (makeinfo --version) > /dev/null 2>&1; then + # We have makeinfo, but it failed. + exit 1 + fi + + echo 1>&2 "\ +WARNING: \`$1' is missing on your system. You should only need it if + you modified a \`.texi' or \`.texinfo' file, or any other file + indirectly affecting the aspect of the manual. The spurious + call might also be the consequence of using a buggy \`make' (AIX, + DU, IRIX). You might want to install the \`Texinfo' package or + the \`GNU make' package. Grab either from any GNU archive site." + file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'` + if test -z "$file"; then + file=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'` + file=`sed -n '/^@setfilename/ { s/.* \([^ ]*\) *$/\1/; p; q; }' $file` + fi + touch $file + ;; + + tar) + shift + if test -n "$run"; then + echo 1>&2 "ERROR: \`tar' requires --run" + exit 1 + fi + + # We have already tried tar in the generic part. + # Look for gnutar/gtar before invocation to avoid ugly error + # messages. + if (gnutar --version > /dev/null 2>&1); then + gnutar "$@" && exit 0 + fi + if (gtar --version > /dev/null 2>&1); then + gtar "$@" && exit 0 + fi + firstarg="$1" + if shift; then + case "$firstarg" in + *o*) + firstarg=`echo "$firstarg" | sed s/o//` + tar "$firstarg" "$@" && exit 0 + ;; + esac + case "$firstarg" in + *h*) + firstarg=`echo "$firstarg" | sed s/h//` + tar "$firstarg" "$@" && exit 0 + ;; + esac + fi + + echo 1>&2 "\ +WARNING: I can't seem to be able to run \`tar' with the given arguments. + You may want to install GNU tar or Free paxutils, or check the + command line arguments." + exit 1 + ;; + + *) + echo 1>&2 "\ +WARNING: \`$1' is needed, and you do not seem to have it handy on your + system. You might have modified some files without having the + proper tools for further handling them. Check the \`README' file, + it often tells you about the needed prerequirements for installing + this package. You may also peek at any GNU archive site, in case + some other package would contain this missing \`$1' program." + exit 1 + ;; +esac + +exit 0 diff --git a/admin/mkinstalldirs b/admin/mkinstalldirs new file mode 100755 index 0000000..d2d5f21 --- /dev/null +++ b/admin/mkinstalldirs @@ -0,0 +1,111 @@ +#! /bin/sh +# mkinstalldirs --- make directory hierarchy +# Author: Noah Friedman +# Created: 1993-05-16 +# Public domain + +errstatus=0 +dirmode="" + +usage="\ +Usage: mkinstalldirs [-h] [--help] [-m mode] dir ..." + +# process command line arguments +while test $# -gt 0 ; do + case $1 in + -h | --help | --h*) # -h for help + echo "$usage" 1>&2 + exit 0 + ;; + -m) # -m PERM arg + shift + test $# -eq 0 && { echo "$usage" 1>&2; exit 1; } + dirmode=$1 + shift + ;; + --) # stop option processing + shift + break + ;; + -*) # unknown option + echo "$usage" 1>&2 + exit 1 + ;; + *) # first non-opt arg + break + ;; + esac +done + +for file +do + if test -d "$file"; then + shift + else + break + fi +done + +case $# in + 0) exit 0 ;; +esac + +case $dirmode in + '') + if mkdir -p -- . 2>/dev/null; then + echo "mkdir -p -- $*" + exec mkdir -p -- "$@" + fi + ;; + *) + if mkdir -m "$dirmode" -p -- . 2>/dev/null; then + echo "mkdir -m $dirmode -p -- $*" + exec mkdir -m "$dirmode" -p -- "$@" + fi + ;; +esac + +for file +do + set fnord `echo ":$file" | sed -ne 's/^:\//#/;s/^://;s/\// /g;s/^#/\//;p'` + shift + + pathcomp= + for d + do + pathcomp="$pathcomp$d" + case $pathcomp in + -*) pathcomp=./$pathcomp ;; + esac + + if test ! -d "$pathcomp"; then + echo "mkdir $pathcomp" + + mkdir "$pathcomp" || lasterr=$? + + if test ! -d "$pathcomp"; then + errstatus=$lasterr + else + if test ! -z "$dirmode"; then + echo "chmod $dirmode $pathcomp" + lasterr="" + chmod "$dirmode" "$pathcomp" || lasterr=$? + + if test ! -z "$lasterr"; then + errstatus=$lasterr + fi + fi + fi + fi + + pathcomp="$pathcomp/" + done +done + +exit $errstatus + +# Local Variables: +# mode: shell-script +# sh-indentation: 2 +# End: +# mkinstalldirs ends here diff --git a/admin/nmcheck b/admin/nmcheck new file mode 100755 index 0000000..1544713 --- /dev/null +++ b/admin/nmcheck @@ -0,0 +1,371 @@ +#!/usr/bin/perl -w + +# Check namespace cleanness of a library. +# Allowed symbols are passed as arguments. +# They may have trailing * = wildcard. +# Wildcards may be also specified as *::* (e.g. K*::* for all KDE classes) +# Symbols are listed as full function unmangled names without arguments, +# e.g. 'foo bar* nspace::*' allows foo(), foo(int), bar(), barbar() +# and all symbols in namespace/class nspace. +# If an argument has comma in it, it's a filename of a file containing +# allowed symbols, one per line. + + +$thisProg = "$0"; # This programs name + +$library = ""; +$allowed_symbols = ""; +$debug = 0; +$allowed_weak = ""; +$weak_specified = 0; + +while( defined( $ARGV[ 0 ] )) +{ + $_ = shift; + if( /^--verbose$|^-v$/ ) + { + $debug = 1; + } + elsif( /^--help$|^-h$/ ) + { + print STDOUT "Usage $thisProg [OPTION] ... library [allowed symbols] ...\n", + "\n", + "Check if the given library has only allowed public symbols.\n", + "\n", + " --allowweak=[symbol] allow only these weak symbols\n", + " -v, --verbose verbosely list files processed\n", + " -h, --help print this help, then exit\n"; + exit 0; + } + elsif( /^--allowweak=(.*)$/ ) + { + $allowed_weak .= " " . $1; + $weak_specified = 1; + } + elsif( /^--allowweak$/ ) # simply list all weak + { + $allowed_weak .= " "; + $weak_specified = 1; + } + elsif( /^--*/ ) + { + die "Invalid argument!\n"; + } + else + { + if( ! $library ) + { + $library = $_; + } + else + { + $allowed_symbols .= " " . $_; + } + } +} + +if( ! $weak_specified ) +{ + $allowed_weak = "*"; + # allow all weak symbols by default + # instances of templates and similar stuff - unfortunately includes also things from other libraries, + # so it cannot be on by default +} + +print STDERR "library:" . $library . "\n" if $debug; +print STDERR "allowed_symbols:" . $allowed_symbols . "\n" if $debug; +print STDERR "allowed_weak:" . $allowed_weak . "\n" if $debug; + +$default_symbols = "_fini _init"; # system symbols +# on my system, every .so has : +# A _DYNAMIC +# A _GLOBAL_OFFSET_TABLE_ +# A __bss_start +# A _edata +# A _end +# T _fini +# T _init +# no need to list A symbols in $default_symbols + +print STDERR "default_symbols: " . $default_symbols . "\n" if $debug; + +print STDOUT "Namespace cleanness check for " . $library . " :\n"; + +$lib_file = ""; +if( $library =~ /\.la$/ ) +{ + # get the real library file from .la + open( FILEIN, $library ) || die "Couldn't open $! !\n"; + while( $line = ) + { + if( $line =~ /library_names=\'([^ ]*).*/o ) + { + $lib_file = $1; + } + } + close( FILEIN ); + if( ! $lib_file ) + { + print STDERR "Library file not found in .la file!\n"; + exit 1; + } + my $libpath = $library; + $libpath =~ s%[^/]*$%%; + if( -e $libpath . ".libs/" . $lib_file ) + { + $lib_file = $libpath . ".libs/" . $lib_file; + } + else + { + $lib_file = $libpath . $lib_file; + } +} +else +{ + $lib_file = $library; +} + +print STDERR "libfile: ". $lib_file . "\n" if $debug; + +$allowed_symbols .= " " . $default_symbols; + +sub process_symbols($\@\%\@); + +@wildcards = (); +%exacts = (); +@regwildcards = (); +process_symbols( $allowed_symbols, @wildcards, %exacts, @regwildcards ); +@weak_wildcards = (); +%weak_exacts = (); +@weak_regwildcards = (); +process_symbols( $allowed_weak, @weak_wildcards, %weak_exacts, @weak_regwildcards ); + +# grep is for stripping not exported symbols, which don't have address (=first column) +$nm_command = "nm -BDCg " . $lib_file . " | grep -v '^ ' |"; + +# TODO how portable is this nmcheck stuff? + +print STDERR "nm command:" . $nm_command . "\n" if $debug; + +open( FILEIN, $nm_command ) || die "nm command failed\n"; + +my $exit_code = 0; + +while( $line = ) +{ + my $type; + my $symbol; + if( $line =~ /^[^ ]* (.) (.*)$/o ) + { + $type = $1; + $symbol = $2; + } + else + { + die "Invalid line: " . $line . "\n"; + } + + print STDERR "Type: " . $type . " , symbol: " . $symbol . "\n" if $debug; + if( $type eq "A" ) + { # these should be system symbols, so ignore them + next; + } + + my $orig_symbol = $symbol; + + if( $symbol =~ /\(anonymous namespace\)/o ) + { # TODO tell to prefer named namespaces? (shorter symbols) + next; + } + + # strip prefixes + # the :: appending is to make "CLASS::*" work also for "vtable for CLASS" + $symbol =~ s/^typeinfo for (.*)$/$1::/o; + $symbol =~ s/^typeinfo fn for (.*)$/$1::/o; + $symbol =~ s/^typeinfo name for (.*)$/$1::/o; + $symbol =~ s/^vtable for (.*)$/$1::/o; + $symbol =~ s/^guard variable for (.*)$/$1::/o; + $symbol =~ s/^reference temporary for (.*)$/$1::/o; + $symbol =~ s/^VTT for (.*)$/$1::/o; + $symbol =~ s/^virtual thunk \[[^\]]*\] to (.*)$/$1::/o; + $symbol =~ s/^non-virtual thunk \[[^\]]*\] to (.*)$/$1::/o; + $symbol =~ s/^covariant return thunk \[[^\]]*\] to (.*)$/$1::/o; + $symbol =~ s/^construction vtable thunk for (.*)$/$1::/o; + $symbol =~ s/^construction vtable for .*-in-(.*) [0-9]*$/$1::/o; + + # templates seem to have also return types mangled in their name, and nm prints it too + # they have also template arguments in the symbol + # get rid of both of those + while( $symbol =~ /<.*>/o ) + { + $symbol =~ s/<[^<>]*>//o; # strip innermost <> + } + if( $symbol !~ /operator\(\)/o ) + { + $symbol =~ s/ ?\(.*\).*$//o; # strip () and all after it + } + else + { + $symbol =~ s/(^|:| )operator\(\) ?\(.*\).*$//o; # strip () and all after it + } + $symbol =~ s/\[.*\] *$//o; # strip [in-charge] etc. + if( $symbol =~ /(^|:| )operator /o ) + { + $symbol =~ s/.* ([^\s]*)operator /$1/o; # strip everything before 'X::operator blah' + } + else + { + $symbol =~ s/.* ([^\s]+) *$/$1/o; # get last word (strip return type) + } + + # print STDERR "Processed symbol: " . $symbol . "\n" if $debug; + + my $found = 0; + if( $exacts{ $symbol } ) + { + $found = 1; + } + if( ! $found ) + { + for my $wild ( @wildcards ) + { + if( index( $symbol, $wild ) == 0 ) + { + $found = 1; + last; + } + } + } + if( ! $found ) + { + for my $wild ( @regwildcards ) + { + if( $symbol =~ /^$wild$/ ) + { + $found = 1; + last; + } + } + } + if( ( ! $found ) && ( $type eq "W" || $type eq "V" )) + { + if( $weak_exacts{ $symbol } ) + { + $found = 1; + } + if( ! $found ) + { + for my $wild ( @weak_wildcards ) + { + if( index( $symbol, $wild ) == 0 ) + { + $found = 1; + last; + } + } + } + if( ! $found ) + { + for my $wild ( @weak_regwildcards ) + { + if( $symbol =~ /^$wild$/ ) + { + $found = 1; + last; + } + } + } + } + + if( ! $found ) + { + print STDERR "Public symbol " . $orig_symbol . " is not allowed!\n"; + $exit_code = 1; + } +} + +close( FILEIN ); + +print STDOUT $exit_code == 0 ? "OK\n" : "FAILED\n"; + +exit $exit_code; + +sub process_symbols($\@\%\@) +{ + my $allowed_symbols = $_[ 0 ]; + my $wildcards_ref = $_[ 1 ]; + my $exacts_ref = $_[ 2 ]; + my $regwildcards_ref = $_[ 3 ]; + + $allowed_symbols =~ s/^ *//o; # strip whitespace + $allowed_symbols =~ s/ *$//o; + + if( $allowed_symbols eq "NONE" ) + { + $allowed_symbols = ""; + } + + my @symbols1 = split( ' ', $allowed_symbols ); + my $i = 0; + my @symbols2 = (); + while( defined( $symbols1[ $i ] )) + { + my $symbol = $symbols1[ $i ]; + if( $symbol =~ /\./ ) # dot in name -> file + { + open( SYMIN, $symbol ) || die ( "Cannot open file " . $symbol . "!" ); + while( $line = ) + { + $line =~ s/^\s*//o; # strip whitespace + $line =~ s/\s*$//o; + if( $line !~ /^$/o # empty line + && $line !~ /^\s*#/ ) # comment line starting with # + { + $symbols2[ $#symbols2 + 1 ] = $line; + } + } + close( SYMIN ); + } + else + { + $symbols2[ $#symbols2 + 1 ] = $symbol; + } + $i++; + } + $i = 0; + while( defined( $symbols2[ $i ] )) + { + my $symbol = $symbols2[ $i ]; + if( $symbol =~ /__/ + || $symbol =~ /^_[A-Z]/ ) + { # ISO C++ 2.10.2 + die "Symbols containing a double underscore or beginning with an underscore and an upper-case letter are reserved!\n"; + } + elsif( $symbol eq "main" + || $symbol eq "main*" ) + { + die "Symbol main is not allowed!\n"; + } + if( $symbol =~ /^([^\*]*)\*$/o # trailing * without any * before it + && $symbol !~ /operator\*$/o ) + { + print STDERR "wildcard:" . $symbol . "\n" if $debug; + $wildcards_ref->[ $#{$wildcards_ref} + 1 ] = $1; + } + elsif( $symbol =~ /\*$/o + && ( $symbol =~ /\*::/o || $symbol =~ /::\*/o ) + && $symbol !~ /^\*/o + && $symbol !~ /operator\*$/o ) + { + print STDERR "regwildcard:" . $symbol . "\n" if $debug; + $symbol =~ s/\*/\.\*/go; # change * to .* (regexp) + $regwildcards_ref->[ $#{$regwildcards_ref} + 1 ] = $symbol; + } + else + { + print STDERR "exact:" . $symbol . "\n" if $debug; + $exacts_ref->{ $symbol } = 1; + } + $i++; + } +} diff --git a/admin/ylwrap b/admin/ylwrap new file mode 100755 index 0000000..5ea68e4 --- /dev/null +++ b/admin/ylwrap @@ -0,0 +1,143 @@ +#! /bin/sh +# ylwrap - wrapper for lex/yacc invocations. +# Copyright 1996, 1997, 1998, 1999 Free Software Foundation, Inc. +# Written by Tom Tromey . +# +# This program is free software; 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. + +# 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. + +# Usage: +# ylwrap INPUT [OUTPUT DESIRED]... -- PROGRAM [ARGS]... +# * INPUT is the input file +# * OUTPUT is file PROG generates +# * DESIRED is file we actually want +# * PROGRAM is program to run +# * ARGS are passed to PROG +# Any number of OUTPUT,DESIRED pairs may be used. + +# The input. +input="$1" +shift +case "$input" in + [\\/]* | ?:[\\/]*) + # Absolute path; do nothing. + ;; + *) + # Relative path. Make it absolute. + input="`pwd`/$input" + ;; +esac + +# The directory holding the input. +input_dir=`echo "$input" | sed -e 's,\([\\/]\)[^\\/]*$,\1,'` +# Quote $INPUT_DIR so we can use it in a regexp. +# FIXME: really we should care about more than `.' and `\'. +input_rx=`echo "$input_dir" | sed -e 's,\\\\,\\\\\\\\,g' -e 's,\\.,\\\\.,g'` + +echo "got $input_rx" + +pairlist= +while test "$#" -ne 0; do + if test "$1" = "--"; then + shift + break + fi + pairlist="$pairlist $1" + shift +done + +# The program to run. +prog="$1" +shift +# Make any relative path in $prog absolute. +case "$prog" in + [\\/]* | ?:[\\/]*) ;; + *[\\/]*) prog="`pwd`/$prog" ;; +esac + +# FIXME: add hostname here for parallel makes that run commands on +# other machines. But that might take us over the 14-char limit. +dirname=ylwrap$$ +trap "cd `pwd`; rm -rf $dirname > /dev/null 2>&1" 1 2 3 15 +mkdir $dirname || exit 1 + +cd $dirname + +$prog ${1+"$@"} "$input" +status=$? + +if test $status -eq 0; then + set X $pairlist + shift + first=yes + # Since DOS filename conventions don't allow two dots, + # the DOS version of Bison writes out y_tab.c instead of y.tab.c + # and y_tab.h instead of y.tab.h. Test to see if this is the case. + y_tab_nodot="no" + if test -f y_tab.c || test -f y_tab.h; then + y_tab_nodot="yes" + fi + + while test "$#" -ne 0; do + from="$1" + # Handle y_tab.c and y_tab.h output by DOS + if test $y_tab_nodot = "yes"; then + if test $from = "y.tab.c"; then + from="y_tab.c" + else + if test $from = "y.tab.h"; then + from="y_tab.h" + fi + fi + fi + if test -f "$from"; then + # If $2 is an absolute path name, then just use that, + # otherwise prepend `../'. + case "$2" in + [\\/]* | ?:[\\/]*) target="$2";; + *) target="../$2";; + esac + + # Edit out `#line' or `#' directives. We don't want the + # resulting debug information to point at an absolute srcdir; + # it is better for it to just mention the .y file with no + # path. + sed -e "/^#/ s,$input_rx,," "$from" > "$target" || status=$? + else + # A missing file is only an error for the first file. This + # is a blatant hack to let us support using "yacc -d". If -d + # is not specified, we don't want an error when the header + # file is "missing". + if test $first = yes; then + status=1 + fi + fi + shift + shift + first=no + done +else + status=$? +fi + +# Remove the directory. +cd .. +rm -rf $dirname + +exit $status diff --git a/autogen.sh b/autogen.sh new file mode 100755 index 0000000..61b1206 --- /dev/null +++ b/autogen.sh @@ -0,0 +1,2 @@ +#!/bin/sh +UNSERMAKE="no" make -f Makefile.cvs diff --git a/bibletime-1.6.4.dfsg.tar.bz2 b/bibletime-1.6.4.dfsg.tar.bz2 deleted file mode 100644 index 6d27c7cf4a1e0ed9af04067b979fd322bf4289c7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1245094 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%0DNTRF(NGK=~MTCeTe`tYGKv80X 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�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í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 vo_-U%oi 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
!O>D@&`Ca?Ki_g7hY&v3`~$F!}mUCb7l}ZqL4i> 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

mt)cGA9KxqK<#GLysu)oOsKcSk?zm9$ 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